@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");

/* Adam's look on the engine's own pages: the checkout, the one-click offer pages,
   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: near-black, white, teal highlight boxes, electric blue
   buttons and a yellow highlighter. */

:root {
  --accent: #2F5BFF;
  --ink: #12141A;
  --muted: #6A7080;
  --bg: #F4F6FA;
  --panel: #FFFFFF;
  --line: #E4E7EE;
  --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: #0B0D12;
  --char: #171A21;
  --teal: #19E0C8;
  --teal-ink: #087A6E;
  --teal-soft: #E2FBF7;
  --blue-hover: #1D44E0;
  --blue-soft: #EAF0FF;
  --hl: #FFE135;
  --body: #3B404C;
}

/* 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(--ink);
  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(--ink); }

.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(11, 13, 18, 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(--teal); }
.when {
  background: var(--teal-soft);
  border: 1px solid #b9efe6;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 15.5px;
}
.when strong { color: var(--ink); }
.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);
  font-family: var(--head);
  font-weight: 800;
  font-size: 19px;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(47, 91, 255, 0.28), inset 0 -3px 0 rgba(0, 0, 0, 0.18);
  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(--blue-hover); }
}
.btn:focus-visible { outline: 3px solid var(--hl); outline-offset: 3px; }

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

.site-foot {
  background: var(--night);
  border-top: 0;
  color: #868d9b;
}
.site-foot a { color: #c9ced8; }
.site-foot .foot-biz { color: #868d9b; }

/* the checkout, in the Sell While You Sleep 2.0 layout the engine draws */
main.co {
  --co-accent: #2F5BFF;
  --co-accent-hover: #1D44E0;
  --co-deep: #0B0D12;
  --co-gold: #FFE135;
  --co-gold-ink: #087A6E;
  --co-tint: #EAF0FF;
  --co-ring: #C9D6FF;
  --co-cream: #F4F6FA;
  --co-ink: #12141A;
  --co-text: #3B404C;
  --co-muted: #6A7080;
  --co-line: #E4E7EE;
  --co-card-line: #D9DEE8;
  --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: #E6E9EF; }
.co-eyebrow { background: var(--night); color: var(--teal); }
.co-head .when { background: var(--teal-soft); }
.co-bump { border-color: var(--co-gold); background: #FFFBE0; }
.co-bump:has(input:checked) { border-color: var(--co-accent); background: var(--co-tint); }
.co-bump-price { font-family: var(--head); }
.co-recap { border-color: var(--night); }
.co-includes svg { color: var(--teal-ink); }
.co-trust span { background: #EEF1F6; }
.co-gtee { background: var(--night); }
.co-gtee .t { color: var(--hl); }
#payBtn {
  box-shadow: 0 10px 24px rgba(47, 91, 255, 0.3), inset 0 -3px 0 rgba(0, 0, 0, 0.18);
  border-radius: 12px;
}

/* the designed one-click offer pages */
.op {
  --op-accent: #2F5BFF;
  --op-accent-hover: #1D44E0;
  --op-deep: #0B0D12;
  --op-deepest: #06070A;
  --op-gold: #FFE135;
  --op-cream: #F4F6FA;
  --op-ink: #12141A;
  --op-text: #3B404C;
  --op-muted: #6A7080;
  --op-line: #E4E7EE;
  --op-card-line: #D9DEE8;
  --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(--teal-ink); }
.op .op-card::before { background: var(--teal); }
.op .op-check { color: var(--teal-ink); }
.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-ink); background: #FFFFFF; }
.op .op-guarantee { background: var(--teal-soft); border-color: #b9efe6; }
.op .op-btn {
  font-family: var(--op-head);
  font-weight: 800;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(47, 91, 255, 0.3), inset 0 -3px 0 rgba(0, 0, 0, 0.18);
}
.op .op-dealline .op-fill { color: var(--hl); }
@media (max-width: 480px) {
  .op .op-pricebox { box-shadow: 5px 5px 0 var(--op-ink); }
}
