@import url("https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400&family=Montserrat:wght@600;700;800&display=swap");

/* Lisa'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 and her own rules: clean white, deep navy, teal buttons
   with white text, apple red for small labels, soft gold only as a shape
   (rules, the highlighter, the bump border, the step bars), never as lettering.
   The engine colours a few labels with brand.highlight (apple red here) or gold;
   on navy those become light teal so nothing reads as gold or low-contrast text.
   Montserrat for headings, Atkinson Hyperlegible for body. */

:root {
  --accent: #12807E;
  --ink: #1E2B3C;
  --muted: #4F5D70;
  --bg: #FFFFFF;
  --panel: #FFFFFF;
  --line: #DCE6EA;
  --radius: 12px;
  --font: "Atkinson Hyperlegible", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  --head: "Montserrat", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  --night: #0B2545;
  --night-2: #13315C;
  --night-line: #2A5288;
  --accent-hover: #0E6A68;
  --accent-ink: #0E6A68;
  --accent-soft: #E7F3F2;
  --accent-ring: #A9D9D5;
  --apple: #C8102E;
  --hl: #E3B54F;
  --hl-soft: #F6E7BF;
  --tint: #F4F9F9;
  --mist: #D5E1EC;
  --body: #2C3A4D;
}

/* every page */
html { overflow-x: clip; }
body {
  background: var(--tint);
  color: var(--ink);
  font-family: var(--font);
  font-size: 17.5px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3 {
  font-family: var(--head);
  font-weight: 800;
  letter-spacing: -0.012em;
  color: #0B2545;
  text-wrap: balance;
}
h1 { font-size: 31px; line-height: 1.15; }
h2 { font-size: 22px; line-height: 1.22; font-weight: 700; }
h3 { font-size: 18px; font-weight: 700; }
a { color: var(--accent-ink); }
::selection { background: var(--hl-soft); color: #0B2545; }

.site-head {
  background: var(--night);
  border-bottom: 3px solid var(--hl);
  padding: 12px 16px;
  text-align: center;
}
.site-head .wordmark {
  font-family: var(--head);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #FFFFFF;
}

/* the plain pages (thank-you, legal, 404, the plain offer page) sit in one white card with a navy, teal and gold top rule */
main:not(.co):not(.op):not(.dp) {
  position: relative;
  overflow: hidden;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 12px 32px rgba(11, 37, 69, 0.08);
  margin: 26px auto 34px;
  padding: 14px 22px 40px;
}
main:not(.co):not(.op):not(.dp)::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 6px;
  background: linear-gradient(90deg, #0B2545, #12807E 55%, #E3B54F);
}
@media (max-width: 430px) {
  main:not(.co):not(.op):not(.dp) { margin: 16px 10px 26px; width: auto; padding: 10px 16px 32px; }
}
.lede { color: var(--body); }
.warn { color: var(--muted); }
.announce {
  background: var(--night);
  color: #FFFFFF;
  font-family: var(--head);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-bottom: 3px solid var(--hl);
}
.price .now { color: var(--accent-ink); font-family: var(--head); font-weight: 800; }
.card { background: var(--tint); border-color: var(--line); border-radius: 14px; }
blockquote { background: var(--accent-soft); border-left-color: var(--accent); }
.when {
  background: var(--accent-soft);
  border: 1px solid #C4E2DF;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 15.5px;
}
.when strong { color: #0B2545; }
.item-access { border-top-color: var(--line); }
.offer-image, .media-frame { border-radius: 16px; }
.tap { color: var(--accent-ink); font-weight: 700; }

.btn {
  background: var(--accent);
  color: #FFFFFF;
  font-family: var(--head);
  font-weight: 800;
  font-size: 19px;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(18, 128, 126, 0.28), inset 0 -3px 0 rgba(0, 0, 0, 0.2);
  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: #C9D6DC; border-radius: 10px; }
.field:focus { outline: none; border-color: #12807E; box-shadow: 0 0 0 3px var(--accent-ring); }
.bump { border-color: var(--hl); background: #FCF6E6; }
.total { color: #0B2545; }

.site-foot {
  background: #081B33;
  border-top: 3px solid var(--hl);
  color: #A9BCD0;
}
.site-foot a { color: var(--mist); }
.site-foot .foot-biz { color: #A9BCD0; }

/* the checkout, in the Sell While You Sleep 2.0 layout the engine draws */
main.co {
  --co-accent: #12807E;
  --co-accent-hover: #0E6A68;
  --co-deep: #0B2545;
  --co-gold: #E3B54F;
  --co-gold-ink: #0E6A68;
  --co-tint: #E7F3F2;
  --co-ring: #A9D9D5;
  --co-cream: #F4F9F9;
  --co-ink: #1E2B3C;
  --co-text: #2C3A4D;
  --co-muted: #4F5D70;
  --co-line: #DCE6EA;
  --co-card-line: #C9D6DC;
  --co-head: "Montserrat", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  --co-body: "Atkinson Hyperlegible", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  background: var(--tint);
}
.co-strip { color: var(--mist); }
.co-strip b { color: #7FD6CF; }
.co-eyebrow { background: var(--night); color: #FFFFFF; letter-spacing: 0.14em; }
.co-head .when { background: var(--accent-soft); }
.co-bump { border-color: var(--co-gold); background: #FCF6E6; }
.co-bump:has(input:checked) { border-color: #12807E; background: var(--co-tint); }
.co-bump-price { font-family: var(--head); font-weight: 800; color: #fff; }
.co-recap { border-color: var(--night); }
.co-includes svg { color: #12807E; }
.co-trust span { background: var(--accent-soft); }
.co-gtee { background: var(--night); }
.co-gtee .t { color: #FFFFFF; }
#payBtn {
  background: var(--co-accent);
  color: #FFFFFF;
  font-family: var(--head);
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(18, 128, 126, 0.3), inset 0 -3px 0 rgba(0, 0, 0, 0.2);
  border-radius: 14px;
}
@media (hover: hover) {
  #payBtn:hover { background: var(--co-accent-hover); }
}

/* the designed one-click offer pages */
.op {
  --op-accent: #12807E;
  --op-accent-hover: #0E6A68;
  --op-deep: #13315C;
  --op-deepest: #0B2545;
  --op-gold: #E3B54F;
  --op-cream: #F4F9F9;
  --op-ink: #1E2B3C;
  --op-text: #2C3A4D;
  --op-muted: #4F5D70;
  --op-line: #DCE6EA;
  --op-card-line: #C9D6DC;
  --op-head: "Montserrat", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, 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(--apple); letter-spacing: 0.14em; }
.op .op-card::before { background: linear-gradient(90deg, #0B2545, #12807E 55%, #E3B54F); }
.op .op-check { color: #12807E; }
.op .op-bonus-badge { color: #7FD6CF; }
.op .op-step-note { color: #7FD6CF; }
.op .op-pricebox { border-width: 2px; border-color: var(--op-deepest); box-shadow: 7px 7px 0 var(--op-gold); background: #FFFFFF; }
.op .op-guarantee { background: var(--hl-soft); border-color: var(--hl); }
.op .op-btn {
  font-family: var(--op-head);
  font-weight: 800;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(18, 128, 126, 0.3), inset 0 -3px 0 rgba(0, 0, 0, 0.2);
}
.op .op-dealline .op-fill { color: #7FD6CF; }
@media (max-width: 480px) {
  .op .op-pricebox { box-shadow: 5px 5px 0 var(--op-gold); }
}
