@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,700;12..96,800&family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400;1,700&display=swap");

/* Karan's look on the engine's own pages: the checkout, the one-click offer page,
   the thank-you page, the legal pages and the 404. Linked after the engine's
   brand.css through brand.stylesheet, so these rules win. Fonts and colours
   match the sales page: his f30s.com palette. Near-black, a calm grey page,
   his blue for every button with white text, an amber highlighter. */

:root {
  --accent: #1D4ED8;
  --ink: #1F1F25;
  --muted: #5F5F68;
  --bg: #F5F5F7;
  --panel: #FFFFFF;
  --line: #E2E2E8;
  --radius: 12px;
  --font: "Atkinson Hyperlegible", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  --head: "Bricolage Grotesque", "Arial Black", "Helvetica Neue", Arial, sans-serif;
  --night: #0A0A0E;
  --night-2: #1A1A1E;
  --night-line: #34343C;
  --accent-hover: #1E40AF;
  --accent-soft: #DBEAFE;
  --accent-ring: #BFDBFE;
  --hl: #FCD34D;
  --hl-soft: #FEF3C7;
  --hl-ink: #92400E;
  --sand: #EDEDF1;
  --body: #3A3A42;
}

/* every page */
html { overflow-x: clip; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3 {
  font-family: var(--head);
  font-weight: 800;
  letter-spacing: -0.015em;
  color: var(--night);
  text-wrap: balance;
}
h1 { font-size: 32px; line-height: 1.1; }
h2 { font-size: 23px; line-height: 1.2; }
h3 { font-size: 18px; }
a { color: var(--accent); }
::selection { background: var(--hl); color: var(--night); }

.site-head {
  background: var(--night);
  padding: 12px 16px;
  text-align: center;
}
.site-head .wordmark {
  font-family: var(--head);
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hl);
}

/* the plain pages (thank-you, legal, 404, the plain offer page) sit in one white card */
main:not(.co):not(.op):not(.dp) {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(10, 10, 14, 0.07);
  margin: 26px auto 34px;
  padding: 8px 20px 40px;
}
@media (max-width: 430px) {
  main:not(.co):not(.op):not(.dp) { margin: 16px 10px 26px; width: auto; padding: 4px 16px 32px; }
}
.lede { color: var(--body); }
.warn { color: var(--muted); }
.announce {
  background: var(--night);
  color: var(--hl);
  font-family: var(--head);
  font-weight: 800;
  letter-spacing: 0.04em;
}
.price .now { color: var(--accent); font-family: var(--head); font-weight: 800; }
.card { background: var(--bg); border-color: var(--line); border-radius: 14px; }
blockquote { background: var(--bg); border-left-color: var(--hl); }
.when {
  background: var(--hl-soft);
  border: 1px solid #FDE68A;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 15.5px;
}
.when strong { color: var(--night); }
.item-access { border-top-color: var(--line); }
.offer-image, .media-frame { border-radius: 14px; }
.tap { color: var(--accent); font-weight: 700; }

.btn {
  background: var(--accent);
  color: #FFFFFF;
  font-family: var(--head);
  font-weight: 800;
  font-size: 19px;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(29, 78, 216, 0.26), inset 0 -3px 0 rgba(0, 0, 0, 0.16);
  letter-spacing: -0.005em;
  line-height: 1.25;
  padding: 15px 18px;
}
main p .tap { min-height: 0; line-height: inherit; padding: 0 2px; }
@media (hover: hover) {
  .btn:hover { background: var(--accent-hover); }
}
.btn:focus-visible { outline: 3px solid var(--hl); outline-offset: 3px; }

.field { border-color: #CFCFD7; border-radius: 10px; }
.field:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring); }
.bump { border-color: var(--accent); background: var(--accent-soft); }
.total { color: var(--night); }

.site-foot {
  background: var(--night);
  border-top: 0;
  color: #9A9AA4;
}
.site-foot a { color: #D4D4DC; }
.site-foot .foot-biz { color: #9A9AA4; }

/* the checkout, in the Sell While You Sleep 2.0 layout the engine draws */
main.co {
  --co-accent: #1D4ED8;
  --co-accent-hover: #1E40AF;
  --co-deep: #0A0A0E;
  --co-gold: #FCD34D;
  --co-gold-ink: #92400E;
  --co-tint: #DBEAFE;
  --co-ring: #BFDBFE;
  --co-cream: #F5F5F7;
  --co-ink: #1F1F25;
  --co-text: #3A3A42;
  --co-muted: #5F5F68;
  --co-line: #E2E2E8;
  --co-card-line: #CFCFD7;
  --co-head: "Bricolage Grotesque", "Arial Black", "Helvetica Neue", Arial, sans-serif;
  --co-body: "Atkinson Hyperlegible", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  background: var(--bg);
}
.co-strip { color: #E4E4EA; }
.co-eyebrow { background: var(--night); color: var(--hl); }
.co-head .when { background: var(--hl-soft); }
.co-bump { border-color: var(--co-gold); background: #FFFBEB; }
.co-bump:has(input:checked) { border-color: var(--co-accent); background: var(--co-tint); }
.co-bump-price { font-family: var(--head); color: #fff; }
.co-recap { border-color: var(--night); }
.co-includes svg { color: var(--accent); }
.co-trust span { background: var(--sand); }
.co-gtee { background: var(--night); }
.co-gtee .t { color: var(--hl); }
#payBtn {
  background: var(--co-accent);
  color: #FFFFFF;
  box-shadow: 0 10px 24px rgba(29, 78, 216, 0.3), inset 0 -3px 0 rgba(0, 0, 0, 0.16);
  border-radius: 12px;
}
@media (hover: hover) {
  #payBtn:hover { background: var(--co-accent-hover); }
}

/* the designed one-click offer pages */
.op {
  --op-accent: #1D4ED8;
  --op-accent-hover: #1E40AF;
  --op-deep: #0A0A0E;
  --op-deepest: #050507;
  --op-gold: #FCD34D;
  --op-cream: #F5F5F7;
  --op-ink: #1F1F25;
  --op-text: #3A3A42;
  --op-muted: #5F5F68;
  --op-line: #E2E2E8;
  --op-card-line: #CFCFD7;
  --op-head: "Bricolage Grotesque", "Arial Black", "Helvetica Neue", Arial, sans-serif;
  --op-body: "Atkinson Hyperlegible", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
}
.op .op-kicker, .op .op-eyebrow, .op .op-exit-kicker { color: var(--accent); }
.op .op-card::before { background: var(--hl); }
.op .op-check { color: var(--accent); }
.op .op-bonus-badge { color: var(--hl); }
.op .op-pricebox { border-width: 2px; border-color: var(--op-ink); box-shadow: 7px 7px 0 var(--op-deep); background: #FFFFFF; }
.op .op-guarantee { background: var(--hl-soft); border-color: #FDE68A; }
.op .op-btn {
  font-family: var(--op-head);
  font-weight: 800;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(29, 78, 216, 0.3), inset 0 -3px 0 rgba(0, 0, 0, 0.16);
}
.op .op-dealline .op-fill { color: var(--hl); }
@media (max-width: 480px) {
  .op .op-pricebox { box-shadow: 5px 5px 0 var(--op-deep); }
}
