/* CrisisReady — design system
   Editorial: white paper, near-black ink, one red accent, hairline rules.
   Instrument Sans for reading, IBM Plex Mono for labels and numbers. */

@font-face{ font-family:"Instrument Sans"; font-style:normal; font-weight:400 700; font-display:swap; src:url("fonts/instrument-sans.woff2") format("woff2") }
@font-face{ font-family:"IBM Plex Mono"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/plex-mono-400.woff2") format("woff2") }
@font-face{ font-family:"IBM Plex Mono"; font-style:normal; font-weight:500; font-display:swap; src:url("fonts/plex-mono-500.woff2") format("woff2") }

:root{
  color-scheme: light;

  --paper:      #FFFFFF;
  --paper-2:    #FAFAFA;   /* raised surfaces */
  --card:       #F3F3F3;
  --line:       #E4E4E4;   /* hairline rules */
  --line-soft:  #EDEDED;

  --ink:        #111111;   /* 18.9:1 on white */
  --ink-2:      #3D3D3D;   /* 10.8:1 */
  --muted:      #767676;   /* 4.5:1 — labels and fine print only */
  --brick:      #C6361F;   /* the one accent: 5.0:1 on white */
  --brick-dk:   #A32A16;
  --green:      #111111;

  --radius:     2px;
  --radius-lg:  3px;
  --shadow:     none;
  --shadow-lg:  0 1px 2px rgba(0,0,0,.04), 0 24px 48px -16px rgba(0,0,0,.18);

  --wrap:       64rem;
  --measure:    36rem;

  --sans: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --serif: var(--sans);
  --mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  --tick: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l4 4 8-9' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --cross: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 5l10 10M15 5L5 15' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E");
}

*,*::before,*::after{ box-sizing:border-box }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto }
  *,*::before,*::after{ animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important }
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:1.125rem;          /* 18px */
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
@media (min-width:48em){ body{ font-size:1.1875rem } }  /* 19px */

img,svg{ max-width:100%; height:auto; display:block }

h1,h2,h3,h4{ font-family:var(--serif); font-weight:700; line-height:1.15; margin:0 0 .5em; letter-spacing:-.01em; text-wrap:balance }
h1{ font-size:clamp(2rem, 1.35rem + 3vw, 3.35rem) }
h2{ font-size:clamp(1.55rem, 1.2rem + 1.6vw, 2.35rem) }
h3{ font-size:clamp(1.2rem, 1.08rem + .5vw, 1.4rem) }
p{ margin:0 0 1em }
p,li{ text-wrap:pretty }

a{ color:var(--brick); text-underline-offset:.18em; text-decoration-thickness:.08em }
a:hover{ color:var(--brick-dk) }

:focus-visible{ outline:3px solid var(--brick); outline-offset:3px; border-radius:4px }

.skiplink{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--ink); color:#fff; padding:.85rem 1.25rem; font-weight:700; text-decoration:none;
}
.skiplink:focus{ left:.5rem; top:.5rem }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:1.25rem }
@media (min-width:48em){ .wrap{ padding-inline:2rem } }

.measure{ max-width:var(--measure) }
.center{ text-align:center }
.center .measure{ margin-inline:auto }

/* ---------- header ---------- */
.site-header{
  position:sticky; top:0; z-index:60;
  background:rgba(244,237,226,.94);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{ display:flex; align-items:center; gap:1rem; min-height:64px }
.brand{ display:flex; align-items:center; gap:.55rem; color:var(--ink); text-decoration:none; font-weight:700; flex:0 0 auto }
.brand-mark{ color:var(--brick); flex:0 0 auto }
.brand-name{ font-family:var(--serif); font-size:1.15rem; letter-spacing:-.01em; white-space:nowrap }
.site-nav{ margin-left:auto; display:none }
@media (min-width:60em){ .site-nav{ display:block } }
.site-nav ul{ display:flex; gap:.35rem; list-style:none; margin:0; padding:0 }
.site-nav a{
  display:block; padding:.6rem .85rem; border-radius:var(--radius);
  color:var(--ink); text-decoration:none; font-weight:600; font-size:1.0625rem;
}
.site-nav a:hover{ background:var(--card) }
.site-nav a[aria-current="page"]{ color:var(--brick); box-shadow:inset 0 -3px 0 var(--brick) }
.header-cta{ margin-left:auto }
@media (min-width:60em){ .header-cta{ margin-left:1rem } }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.15rem; text-align:center; text-decoration:none; font-weight:700;
  border-radius:var(--radius); border:2px solid transparent; cursor:pointer;
  transition:background-color .15s ease, border-color .15s ease, transform .1s ease;
}
.btn:active{ transform:translateY(1px) }
.btn-lg{ min-height:60px; padding:.9rem 1.9rem; font-size:1.15rem; width:100% }
@media (min-width:36em){ .btn-lg{ width:auto; flex:0 0 auto } }
.btn-md{ min-height:54px; padding:.8rem 1.5rem; font-size:1.05rem }
.btn-sm{ min-height:46px; padding:.55rem 1.1rem; font-size:1rem; flex-direction:row }

.btn-buy{ background:var(--brick); color:#fff }
.btn-buy:hover{ background:var(--brick-dk); color:#fff }
.btn-sub{ font-size:.8125rem; font-weight:600; opacity:.88; letter-spacing:.01em; white-space:nowrap }
.btn-sm .btn-sub{ display:none }

.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--ink); white-space:nowrap }
.btn-ghost:hover{ background:var(--ink); color:var(--paper) }

.cta-group{ display:flex; flex-direction:column; gap:.85rem; margin:1.75rem 0 1.1rem }
@media (min-width:36em){ .cta-group{ flex-direction:row; align-items:stretch } }
.center .cta-group{ justify-content:center }

.trustrow{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.4rem 1.15rem; font-size:.98rem; color:var(--ink-2); font-weight:600 }
.center .trustrow{ justify-content:center }
.trustrow li{ display:flex; align-items:center; gap:.4rem }
.trustrow li::before{
  content:""; flex:0 0 auto; width:1.05em; height:1.05em; background:var(--green);
  -webkit-mask:var(--tick) center/contain no-repeat; mask:var(--tick) center/contain no-repeat;
}

/* ---------- sections ---------- */
section{ padding-block:clamp(3rem, 2rem + 4vw, 5.5rem) }
.sec-alt{ background:var(--paper-2); border-block:1px solid var(--line-soft) }
.sec-ink{ background:var(--ink); color:var(--paper) }
.sec-ink h2{ color:var(--paper) }
.sec-ink a{ color:#F0B9A6 }
.eyebrow{
  font-family:var(--sans); font-size:.8125rem; font-weight:800; letter-spacing:.11em;
  text-transform:uppercase; color:var(--brick); margin:0 0 .75rem;
}
.sec-ink .eyebrow{ color:#E9A48F }
.lead{ font-size:1.1875rem; color:var(--ink-2); max-width:var(--measure) }
@media (min-width:48em){ .lead{ font-size:1.3125rem } }
.center .lead{ margin-inline:auto }
.sec-ink .lead{ color:#C9D3CC }

/* ---------- hero ---------- */
.hero{ padding-block:clamp(2.25rem, 1.5rem + 4vw, 4.5rem) }
.hero-grid{ display:grid; gap:2.5rem }
@media (min-width:62em){ .hero-grid{ grid-template-columns:1.05fr .95fr; gap:4rem; align-items:center } }
.hero h1{ margin-bottom:.4em }
.hero .lead{ font-size:1.1875rem }
@media (min-width:48em){ .hero .lead{ font-size:1.375rem } }
.hero-fig{ position:relative; margin:0 }
.hero-fig img{
  width:100%; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
  border:1px solid var(--line); background:#fff;
}
.pricetag{
  display:inline-flex; align-items:baseline; gap:.6rem; margin:.4rem 0 0;
  font-family:var(--serif); font-weight:700;
}
.pricetag b{ font-size:2.35rem; color:var(--brick); line-height:1 }
.pricetag span{ font-family:var(--sans); font-size:1rem; font-weight:600; color:var(--ink-2) }

/* ---------- stats ---------- */
.stats{ display:grid; grid-template-columns:repeat(2,1fr); gap:.9rem; list-style:none; margin:0; padding:0 }
@media (min-width:48em){ .stats{ grid-template-columns:repeat(5,1fr) } }
.stats li{ background:var(--card); border-radius:var(--radius); padding:1.15rem 1rem }
.stats b{ display:block; font-family:var(--serif); font-size:2.1rem; line-height:1; color:var(--brick) }
.stats span{ display:block; margin-top:.35rem; font-size:.8125rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--ink-2) }

/* ---------- generic card grid ---------- */
.grid{ display:grid; gap:1.25rem; margin-top:2.5rem }
.grid-2{ grid-template-columns:1fr }
.grid-3{ grid-template-columns:1fr }
@media (min-width:44em){ .grid-2{ grid-template-columns:repeat(2,1fr) } }
@media (min-width:56em){ .grid-3{ grid-template-columns:repeat(3,1fr) } }

.card{
  background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:1.6rem 1.5rem; box-shadow:var(--shadow);
}
.sec-alt .card{ background:var(--paper) }
.card h3{ margin-bottom:.4em }
.card p:last-child{ margin-bottom:0 }
.card .num{
  font-family:var(--serif); font-size:1rem; font-weight:700; color:#fff; background:var(--brick);
  width:2.1rem; height:2.1rem; border-radius:50%; display:grid; place-items:center; margin-bottom:.9rem;
}

/* ---------- method steps ---------- */
.steps{ list-style:none; margin:2.5rem 0 0; padding:0; display:grid; gap:1rem }
@media (min-width:56em){ .steps{ grid-template-columns:repeat(5,1fr) } }
.steps li{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius-lg); padding:1.4rem 1.25rem }
.sec-alt .steps li{ background:var(--paper) }
.steps .rn{ font-family:var(--serif); font-weight:700; color:var(--brick); font-size:1.05rem; letter-spacing:.04em }
.steps h3{ margin:.35rem 0 .35rem; font-size:1.25rem }
.steps p{ margin:0; font-size:1rem; color:var(--ink-2) }

/* ---------- previews ---------- */
.previews{ display:grid; gap:1.5rem; margin-top:2.5rem; grid-template-columns:1fr }
@media (min-width:40em){ .previews{ grid-template-columns:repeat(2,1fr) } }
@media (min-width:60em){ .previews{ grid-template-columns:repeat(3,1fr) } }
.previews figure{ margin:0 }
.previews img{
  width:100%; border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow); background:#fff;
}
.previews figcaption{ margin-top:.7rem; font-size:1rem; font-weight:600; color:var(--ink-2) }

/* ---------- sample action ---------- */
.sample{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow); overflow:hidden; margin-top:2.5rem }
.sample-hd{ background:var(--ink); color:var(--paper); padding:1.15rem 1.5rem; display:flex; flex-wrap:wrap; gap:.35rem 1rem; align-items:baseline }
.sample-hd .tag{ font-size:.75rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; color:#E9A48F }
.sample-hd h3{ margin:0; color:var(--paper); font-size:1.35rem; width:100% }
.sample-bd{ padding:1.5rem; display:grid; gap:1.35rem }
@media (min-width:52em){ .sample-bd{ grid-template-columns:repeat(2,1fr); padding:2rem } }
.sample-bd .full{ grid-column:1/-1 }
.sample dt{ font-size:.75rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; color:var(--brick); margin-bottom:.4rem }
.sample dd{ margin:0; font-size:1.0625rem }
.sample ol{ margin:0; padding-left:1.25rem }
.sample li{ margin-bottom:.35rem }
.sample .evidence{ background:var(--card); border-radius:var(--radius); padding:1rem 1.15rem; font-size:1rem }

/* ---------- checklists ---------- */
.checklist{ list-style:none; margin:1.5rem 0 0; padding:0; display:grid; gap:.7rem }
@media (min-width:44em){ .checklist.two{ grid-template-columns:repeat(2,1fr); column-gap:2rem } }
.checklist li{ display:flex; gap:.7rem; align-items:flex-start; font-size:1.0625rem }
.checklist li::before{
  content:""; flex:0 0 auto; margin-top:.32em; width:1.05em; height:1.05em; background:var(--green);
  -webkit-mask:var(--tick) center/contain no-repeat; mask:var(--tick) center/contain no-repeat;
}
.checklist.no li::before{ background:var(--brick); -webkit-mask-image:var(--cross); mask-image:var(--cross) }

/* index of all 47 actions */
.actionlist{ list-style:none; margin:1.5rem 0 0; padding:0; display:grid; gap:.1rem; counter-reset:a }
@media (min-width:44em){ .actionlist{ grid-template-columns:repeat(2,1fr); column-gap:2.5rem } }
.actionlist li{ display:flex; gap:.85rem; padding:.55rem 0; border-bottom:1px solid var(--line-soft); font-size:1.0625rem }
.actionlist li::before{ counter-increment:a; content:counter(a,decimal-leading-zero); font-family:var(--serif); font-weight:700; color:var(--brick); flex:0 0 2ch }

/* ---------- sources ---------- */
.sources{ list-style:none; margin:2rem 0 0; padding:0; display:flex; flex-wrap:wrap; gap:.7rem }
.sources li{
  background:var(--card); border-radius:999px; padding:.5rem 1.05rem;
  font-size:.95rem; font-weight:700; color:var(--ink);
}
.sec-ink .sources li{ background:#2C3A33; color:var(--paper) }

/* ---------- FAQ ---------- */
.faq{ margin-top:2.25rem; border-top:1px solid var(--line) }
.faq details{ border-bottom:1px solid var(--line) }
.faq summary{
  cursor:pointer; list-style:none; padding:1.2rem .5rem 1.2rem 0; min-height:60px;
  font-family:var(--serif); font-weight:700; font-size:1.15rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.faq summary::-webkit-details-marker{ display:none }
.faq summary::after{
  content:""; flex:0 0 auto; width:1.15rem; height:1.15rem;
  border-right:3px solid var(--brick); border-bottom:3px solid var(--brick);
  transform:rotate(45deg) translate(-25%,-25%); transition:transform .2s ease; margin-right:.4rem;
}
.faq details[open] summary::after{ transform:rotate(225deg) translate(-25%,-25%) }
.faq .answer{ padding:0 0 1.35rem; max-width:var(--measure) }
.faq .answer p:last-child{ margin-bottom:0 }

/* ---------- forms ---------- */
.form{ max-width:34rem; margin-top:2rem }
.field{ margin-bottom:1.35rem }
.field label{ display:block; font-weight:700; margin-bottom:.4rem }
.field .hint{ font-size:.95rem; color:var(--ink-2); margin:.3rem 0 0 }
.field input,.field textarea,.field select{
  width:100%; font:inherit; color:var(--ink); background:var(--paper-2);
  border:2px solid var(--line); border-radius:var(--radius); padding:.85rem 1rem; min-height:56px;
}
.field textarea{ min-height:11rem; resize:vertical }
.field input:focus,.field textarea:focus,.field select:focus{ border-color:var(--brick); outline:none; box-shadow:0 0 0 3px rgba(167,70,49,.2) }
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{ border-color:var(--brick) }
.field .err{ color:var(--brick); font-weight:700; font-size:.98rem; margin:.35rem 0 0 }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden }
.formnote{ font-size:1rem; color:var(--ink-2) }
.status{ margin-top:1.25rem; padding:1.1rem 1.25rem; border-radius:var(--radius); font-weight:600 }
.status.ok{ background:#E3EFE6; border:1px solid #B6D4BF; color:#204731 }
.status.bad{ background:#F6E2DC; border:1px solid #E0B6A9; color:#7A2E1D }

/* ---------- guarantee panel ---------- */
.panel{
  background:var(--card); border-radius:var(--radius-lg); padding:1.75rem 1.6rem;
  display:grid; gap:1rem; align-items:start; margin-top:2.5rem;
}
@media (min-width:44em){ .panel{ grid-template-columns:auto 1fr; gap:1.5rem; padding:2rem } }
.panel .seal{ width:3.5rem; height:3.5rem; color:var(--brick) }
.panel h3{ margin-bottom:.35em }
.panel p:last-child{ margin-bottom:0 }

/* ---------- buy box ---------- */
.buybox{
  background:var(--paper-2); border:2px solid var(--ink); border-radius:var(--radius-lg);
  padding:1.75rem 1.5rem; box-shadow:var(--shadow-lg);
}
@media (min-width:44em){ .buybox{ padding:2.25rem 2rem } }
.buybox h2{ margin-bottom:.25em }
.buybox .price{ display:flex; align-items:baseline; gap:.7rem; margin:.75rem 0 1.25rem }
.buybox .price b{ font-family:var(--serif); font-size:3rem; line-height:1; color:var(--brick) }
.buybox .price span{ font-weight:600; color:var(--ink-2) }
.buybox .checklist{ margin-top:0 }

/* ---------- prose (legal + long copy) ---------- */
.prose{ max-width:42rem }
.prose h2{ margin-top:2.25em; font-size:clamp(1.35rem,1.15rem + .8vw,1.7rem) }
.prose h3{ margin-top:1.75em }
.prose ul,.prose ol{ padding-left:1.35rem; margin:0 0 1.15em }
.prose li{ margin-bottom:.5em }
.prose .updated{ color:var(--ink-2); font-size:1rem; font-weight:600 }
.prose table{ width:100%; border-collapse:collapse; margin:0 0 1.5em; font-size:1rem }
.prose th,.prose td{ text-align:left; padding:.7rem .6rem; border-bottom:1px solid var(--line) }
.prose th{ font-weight:800; font-size:.8125rem; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-2) }
.tablescroll{ overflow-x:auto; -webkit-overflow-scrolling:touch }

/* ---------- footer ---------- */
.site-footer{ background:var(--ink); color:#C9D3CC; padding-block:3rem 2.25rem }
.site-footer a{ color:#F0B9A6 }
.foot-grid{ display:grid; gap:2rem; margin-bottom:2.25rem }
@media (min-width:48em){ .foot-grid{ grid-template-columns:2fr 1fr 1fr } }
.site-footer .brand-name{ color:var(--paper); display:block; margin-bottom:.6rem; font-size:1.2rem }
.foot-brand p{ max-width:26rem; font-size:1rem; margin:0 }
.site-footer h2{ font-family:var(--sans); font-size:.8125rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; color:var(--paper); margin:0 0 .8rem }
.site-footer ul{ list-style:none; margin:0; padding:0; display:grid; gap:.15rem }
.site-footer li a{ display:block; padding:.4rem 0; font-size:1.0625rem }
.foot-note{ border-top:1px solid #33413A; padding-top:1.5rem; font-size:.95rem; max-width:52rem; color:#AFBBB3 }
.foot-note strong{ color:var(--paper) }
.foot-legal{ font-size:.95rem; margin:0; color:#95A29A }

/* ---------- sticky mobile buy bar ---------- */
.stickybuy{
  position:fixed; left:0; right:0; bottom:0; z-index:70;
  background:var(--paper-2); border-top:1px solid var(--line);
  box-shadow:0 -6px 24px rgba(30,43,37,.12);
  padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));
}
@media (min-width:60em){ .stickybuy{ display:none } }
.stickybuy-in{ display:flex; align-items:center; gap:1rem; max-width:var(--wrap); margin-inline:auto }
.stickybuy-txt{ display:flex; flex-direction:column; line-height:1.25; min-width:0 }
.stickybuy-txt strong{ font-size:.95rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.stickybuy-txt span{ font-size:.9rem; color:var(--ink-2); font-weight:600 }
.stickybuy .btn{ margin-left:auto; flex:0 0 auto }
@media (max-width:59.99em){ body.has-stickybuy .site-footer{ padding-bottom:5.5rem } }

@media print{
  .site-header,.stickybuy,.site-footer,.cta-group{ display:none }
  body{ background:#fff; font-size:11pt }
}

/* ---------- utilities ----------
   The site ships a strict Content-Security-Policy with no 'unsafe-inline',
   so every one-off adjustment lives here as a class rather than a style
   attribute. Keep this list short and boring. */
.band{ padding-block:2.5rem }
.eyebrow.tight{ margin:.15rem 0 .7rem }
.eyebrow.snug{ margin-bottom:.35rem }
.pricetag.center{ justify-content:center }
.panel-wrap{ max-width:44rem; margin-inline:auto; text-align:left }
.wide-table{ max-width:none }
.opt{ font-weight:400 }
.mt-1{ margin-top:1rem }
.mt-2{ margin-top:2rem }
.mt-3{ margin-top:2.5rem }
.m-0{ margin:0 }
.show{ display:block }

/* Conversion and reading comfort: shared, responsive, no JS required. */
:root{ --wrap:76rem; --white:#fff; --stage:#E4E8DD; --stage-line:#CBD3C1 }
html{ scroll-padding-top:7rem; scroll-padding-bottom:8rem }
body{ overflow-wrap:break-word }
.site-header{ background:var(--paper-2); backdrop-filter:none }
.header-inner{ min-height:78px; flex-wrap:wrap }
.btn{ max-width:100%; white-space:normal }
.btn-sub{ font-size:.9rem; opacity:1; white-space:normal }
.cta-group{ flex-wrap:wrap }
.btn-lg{ flex-shrink:1 }
.pricetag{ flex-wrap:wrap }
.hero-grid>*{ min-width:0 }
.eyebrow{ font-size:.875rem; letter-spacing:.085em }
.hero h1{ font-size:clamp(2.25rem, 1.45rem + 2.4vw, 3.65rem); line-height:1.08; letter-spacing:-.035em }
.hero h1 em{ color:var(--green); font-weight:400 }
.hero .lead{ font-size:1.25rem; line-height:1.65 }
.hero-benefits{ margin:1.3rem 0 1.75rem; gap:.45rem }
.hero-benefits li{ font-size:1.0625rem }
.home-hero .cta-group{ margin:1.3rem 0 .8rem; align-items:center; gap:.75rem 1.5rem }
.sample-link{ display:inline-flex; gap:.7rem; align-items:center; min-height:48px; font-size:1.0625rem; font-weight:700 }
.checkout-note{ color:var(--ink-2); font-size:1rem; line-height:1.55; margin:0 }
.product-stage{ margin:0; padding:1.5rem 2rem; background:var(--stage); border:1px solid var(--stage-line); border-radius:var(--radius-lg); text-align:center }
.edition-label{ font-size:.8rem; letter-spacing:.12em; font-weight:700; margin-bottom:1.5rem }
.product-stage img{ width:72%; max-width:310px; margin:auto; border-radius:2px 7px 7px 2px; box-shadow:var(--shadow-lg); border:1px solid var(--line) }
.product-stage figcaption{ margin:1.5rem 0 0 }
.product-stage figcaption strong{ display:block; font-family:var(--serif); font-size:1.5rem }
.product-stage figcaption span{ display:block; margin-top:.3rem; color:var(--ink-2); font-size:1rem }
.proof-strip{ border-block:1px solid var(--line); background:var(--paper-2) }
.proof-strip .wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; padding-block:1.4rem; font-size:1rem }
.proof-strip span{ text-align:center; border-right:1px solid var(--line) }
.proof-strip span:last-child{ border:0 }
.proof-strip strong{ display:block; font-size:1.125rem }
.section-heading{ display:grid; grid-template-columns:1.3fr 1fr; align-items:end; gap:3rem; margin-bottom:2rem }
.section-heading p:last-child{ color:var(--ink-2); margin-bottom:0; max-width:34rem }
.section-heading h2{ margin-bottom:0 }
.outcomes{ display:grid; grid-template-columns:repeat(3,1fr); gap:2.5rem; margin-top:3rem }
.outcomes article{ border-top:2px solid var(--line); padding-top:1.4rem }
.outcome-number{ color:var(--brick); font-family:var(--serif); font-size:1.8rem; display:block; margin-bottom:.75rem }
.outcome-detail{ font-size:1rem; color:var(--green); font-weight:600 }
.sample-layout{ display:grid; grid-template-columns:.8fr 1.2fr; gap:3.5rem; align-items:start }
.sample-layout .sample{ margin-top:0 }
.sample-layout .sample-bd{ grid-template-columns:1fr; padding:1.5rem }
.sample-intro{ font-size:1.4rem; font-family:var(--serif); line-height:1.5 }
.sample-tip{ margin-top:2rem; padding:1.2rem; background:var(--card); border-radius:var(--radius) }
.sample-tip p{ font-size:1rem; margin:.4rem 0 0 }
.sample dt,.sample-hd .tag{ font-size:.875rem }
.included-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem 3rem; margin-top:2.5rem }
.source-note{ padding-top:1.5rem; margin:1rem 0 0; border-top:1px solid var(--line); color:var(--ink-2); font-size:1rem }
.previews a{ display:block; border-radius:var(--radius); color:var(--ink) }
.previews figcaption{ font-size:1rem }
.purchase-steps{ padding:0; margin:2.5rem 0; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem }
.purchase-steps li{ display:flex; gap:1rem }
.purchase-steps li>span{ width:2.5rem; height:2.5rem; flex:0 0 auto; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font-weight:700; color:var(--green) }
.purchase-steps h3{ font-size:1.3rem; margin-top:.35rem }
.purchase-steps p{ font-size:1.0625rem }
.help-line{ border-top:1px solid var(--line); padding-top:1.5rem; margin-bottom:0 }
.faq-wrap{ max-width:56rem }
.purchase-panel{ display:grid; grid-template-columns:1.15fr 1fr; gap:4rem; align-items:center }
.purchase-summary{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius-lg); padding:2rem }
.purchase-summary .btn{ width:100% }
.purchase-summary>p{ font-size:1rem }
.purchase-summary hr{ border:0; border-top:1px solid var(--line); margin:1.5rem 0 }
.mobile-menu{ display:none }
.site-footer li a{ min-height:48px }
.stickybuy-txt strong{ white-space:normal; font-size:1rem }
.stickybuy-in{ gap:.65rem }
@media (min-width:62em){ .hero-grid{ grid-template-columns:1.2fr 1fr; gap:3rem } }
@media (max-width:61.99em){
  .product-stage{ max-width:32rem; width:100%; margin-inline:auto }
  .sample-layout{ grid-template-columns:1fr; gap:2rem }
  .purchase-steps{ grid-template-columns:1fr; gap:1rem }
  .purchase-steps p{ max-width:40rem }
}
.stickybuy[hidden]{ display:none }
@media (max-width:59.99em){
  .mobile-menu{ display:block; margin-left:auto; position:relative }
  .mobile-menu summary{ min-height:48px; padding:.6rem .75rem; cursor:pointer; font-weight:700; font-size:1rem }
  .mobile-menu nav{ position:absolute; right:0; top:100%; width:13rem; padding:.5rem; background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-lg) }
  .mobile-menu ul{ list-style:none; padding:0; margin:0 }
  .mobile-menu a{ display:block; padding:.75rem; color:var(--ink); min-height:48px }
  .header-cta{ display:none }
  .purchase-panel{ gap:2rem }
}
@media (max-width:47.99em){
  .header-inner{ min-height:68px; gap:.4rem }
  .brand-name{ font-size:1.05rem }
  .brand-mark{ width:26px }
  .home-hero .cta-group{ align-items:stretch }
  .home-hero .sample-link{ justify-content:center }
  .hero .lead{ font-size:1.125rem }
  .product-stage{ padding:1.4rem }
  .product-stage img{ width:62% }
  .proof-strip .wrap{ grid-template-columns:repeat(2,1fr) }
  .proof-strip span:nth-child(2){ border:0 }
  .section-heading,.outcomes,.included-grid,.purchase-panel{ grid-template-columns:1fr; gap:1.5rem }
  .outcomes{ margin-top:2rem }
  .purchase-summary{ padding:1.4rem }
  .stickybuy-txt span{ font-size:.8rem }
  body.has-stickybuy .site-footer{ padding-bottom:8rem }
  html{ scroll-padding-top:5.5rem }
}
@media (max-width:23em){ .stickybuy-txt span{ max-width:9rem }.stickybuy .btn{ padding:.6rem .75rem }.wrap{ padding-inline:1rem } }
@media (max-height:30em){ .stickybuy{ position:static }.site-header{ position:static } }
@media print{ .mobile-menu,.proof-strip{ display:none }.sample-layout{ display:block } }

/* Illustrated edition: show the product and the household work it supports. */
.wealth-page{--brick:#785618;--brick-dk:#594013;--green:#213f59;--stage:#e8e6df}
.wealth-hero,.wealth-final{background:#0c2033;color:#f9f3e7}
.wealth-hero .eyebrow,.wealth-final .eyebrow{color:#e8c57f}
.wealth-hero h1 em{color:#e8c57f}
.wealth-hero .lead,.wealth-hero .checkout-note,.wealth-hero .pricetag span,.wealth-final .checkout-note{color:#e0e4e9}
.wealth-hero .pricetag b{color:#f0cf8e}
.wealth-hero .sample-link{color:#f0cf8e}
.wealth-hero .btn,.wealth-final .btn{background:#e8c57f;color:#0c2033;border-color:#e8c57f}
.wealth-hero .btn:hover,.wealth-final .btn:hover{background:#f1dba9}
.wealth-hero .checklist li::before{background-color:#e8c57f}
.wealth-cover{margin:0;padding:1rem 2rem;text-align:center}
.wealth-cover img{width:100%;max-width:350px;margin:auto;border:1px solid #a7864e;box-shadow:0 15px 35px #0005}
.wealth-cover figcaption{color:#e0e4e9;font-size:1rem;margin:1.5rem auto 0;max-width:28rem}
.wealth-callout{padding:2rem;background:#eee8da;border:1px solid #d2c7af;border-radius:var(--radius-lg)}
.wealth-disclosure{font-size:1rem;color:#e0e4e9;margin:1.5rem auto 0;max-width:48rem}
.wealth-feature{display:grid;grid-template-columns:180px 1fr;gap:2.5rem;align-items:center}
.wealth-feature img{max-height:250px;margin:auto}
@media(max-width:47.99em){.wealth-cover{padding:1rem}.wealth-callout{padding:1.4rem}.wealth-feature{grid-template-columns:1fr;gap:1.5rem}.wealth-feature img{max-height:210px}}
.home-hero{ padding-block:3.5rem }
.book-display{ position:relative; min-height:385px; display:flex; align-items:center; padding:0 0 1rem }
.product-stage .book-cover{ position:relative; z-index:2; width:66%; margin:0; transform:rotate(-5deg) }
.product-stage .book-worksheet{ position:absolute; right:0; top:12%; width:51%; transform:rotate(7deg); border-radius:2px; box-shadow:var(--shadow-lg) }
.product-stage .book-cover:only-child{ margin-inline:auto; width:75%; transform:rotate(-3deg) }
.product-stage{ padding:2rem; overflow:hidden }
.product-stage figcaption{ position:relative; margin-top:1rem }
.recognition-grid{ display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center }
.recognition-grid h2{ max-width:20ch }
.household-questions{ padding:2rem; border:1px solid var(--stage-line); background:var(--stage); border-radius:var(--radius-lg) }
.household-questions ul{ list-style:none; padding:0; margin:1.5rem 0 }
.household-questions li{ display:flex; align-items:baseline; gap:1rem; padding:1rem 0; border-top:1px solid var(--stage-line) }
.household-questions li span{ color:var(--green); font-size:.95rem; font-weight:700; flex:0 0 auto }
.household-questions p:last-of-type{ font-size:1.0625rem }
.value-note{ display:grid; grid-template-columns:1.25fr 1fr; gap:2.5rem; align-items:center; border-block:1px solid var(--line); padding:2rem 0; margin-top:2rem }
.value-note p{ margin-bottom:0 }
.value-note .checkout-note{ margin-top:.75rem }
.previews a{ cursor:zoom-in; transition:box-shadow .15s ease }
.previews a:hover{ box-shadow:var(--shadow-lg) }
.previews img{ background:white }
@media(min-width:62em){ .home-hero .hero-grid{ grid-template-columns:1.15fr 1fr }.product-stage{ align-self:center } }
@media(max-width:61.99em){ .book-display{ min-height:0; padding-bottom:1.5rem }.recognition-grid{ gap:2rem } }
@media(max-width:47.99em){
 .home-hero{ padding-block:2rem }.recognition-grid,.value-note{ grid-template-columns:1fr; gap:1.5rem }
 .household-questions{ padding:1.4rem }.product-stage{ padding:1.5rem }.product-stage .book-cover{ width:65% }
 .value-note .btn{ width:100% }.recognition-grid h2{ max-width:none }
}


/* Compact storefront: real product evidence and a consistent purchase action. */
.conversion-home section{ padding-block:clamp(2.5rem,4vw,3.5rem) }
.conversion-home .home-hero{ padding-bottom:0 }
.conversion-home .hero-grid{ gap:2rem; align-items:center }
.conversion-home .hero h1{ max-width:18ch }
.conversion-home .problem-line{ font-size:1rem; color:var(--ink-2); margin-bottom:.8rem }
.conversion-home .hero .lead{ max-width:32rem; font-size:1.125rem; margin-block:1.2rem }
.conversion-home .hero-price{ font-size:1rem; color:var(--ink-2); margin:1.25rem 0 1rem }
.conversion-home .hero-price strong{ font-family:var(--serif); font-size:2rem; color:var(--ink); margin-right:.3rem }
.conversion-home .btn-lg{ min-height:56px; font-size:1.125rem; padding:.85rem 1.6rem }
.conversion-home .checkout-note{ margin-top:.75rem; font-size:.9375rem }
.conversion-home .sample-link{ margin-top:.4rem; font-size:1rem }
.conversion-home .product-stage{ padding:1.75rem; border:0; border-radius:4px }
.conversion-home .product-stage .book-cover{ width:65%; max-width:235px; margin:auto; transform:none }
.conversion-home .product-stage figcaption{ font-size:.875rem; color:var(--ink-2); margin-top:1rem }
.format-strip{ display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem 2rem; list-style:none; margin-block:2rem 0; padding-block:1rem; border-bottom:1px solid var(--line); font-size:1rem; color:var(--green); font-weight:600 }
.included-heading{ display:flex; flex-wrap:wrap; gap:.5rem 2rem; align-items:baseline }
.included-heading h2,.included-heading p{ margin:0 }
.included-heading p{ font-size:1rem; color:var(--ink-2) }
.guide-facts{ list-style:none; padding:1.5rem 0; margin:0 0 1.5rem; display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line) }
.guide-facts li{ display:flex; flex-direction:column; gap:.2rem }
.guide-facts strong{ font-family:var(--serif); font-size:1.75rem; color:var(--green) }
.guide-facts span{ font-size:1rem; color:var(--ink-2) }
.preview-benefits{ display:grid; grid-template-columns:1.1fr 1fr; gap:3rem; align-items:center }
.real-previews{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; max-width:30rem }
.real-previews figure{ margin:0; min-width:0 }
.real-previews a{ display:block; cursor:zoom-in; border:1px solid var(--line); box-shadow:var(--shadow) }
.real-previews img{ width:100%; height:auto }
.real-previews figcaption{ font-size:.875rem; margin-top:.6rem; color:var(--ink-2) }
.real-previews>p{ grid-column:1/-1; margin:0; font-size:.875rem; color:var(--ink-2) }
.guide-benefits .checklist{ margin:1rem 0 1.5rem }
.guide-benefits .checklist li{ font-size:1.125rem }
.conversion-home .faq-wrap{ max-width:50rem }
.conversion-home .faq{ margin-top:1.25rem }
.conversion-home .faq summary{ padding-block:1rem; min-height:56px }
.conversion-home .faq .answer{ font-size:1.0625rem; max-width:none }
.conversion-home .home-help{ margin:1rem 0 0; font-size:1rem }
.guide-final{ text-align:center }
.guide-final h2{ margin-bottom:1rem }
.refund-brief{ font-size:.875rem; color:var(--ink-2); margin:1rem 0 0 }
.secondary-ebook{ border-top:1px solid var(--line); padding-top:1.25rem; margin-top:2rem; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.25rem 1.5rem; font-size:1rem; color:var(--ink-2) }
.secondary-ebook a{ display:inline-block; padding-block:.5rem }
@media(min-width:48em) and (max-width:61.99em){
 .conversion-home .hero-grid{ grid-template-columns:1.2fr .8fr }
 .conversion-home .product-stage{ padding:1.25rem }
 .conversion-home .product-stage .book-cover{ width:85% }
}
@media(max-width:47.99em){
 .conversion-home .home-hero{ padding-top:1.75rem }
 .conversion-home .hero h1{ font-size:clamp(2.25rem,8vw,3rem) }
 .conversion-home .hero-grid{ gap:1.5rem }
 .conversion-home .hero .lead{ margin-block:1rem }
 .conversion-home .product-stage{ width:100%; max-width:26rem; padding:1.25rem }
 .conversion-home .product-stage .book-cover{ width:auto; height:210px; max-width:100% }
 .format-strip{ margin-top:1.5rem; gap:.4rem 1rem; font-size:.875rem }
 .guide-facts{ gap:.65rem; padding-block:1.25rem }
 .guide-facts strong{ font-size:1.5rem }
 .guide-facts span{ font-size:.875rem }
 .preview-benefits{ grid-template-columns:1fr; gap:1.75rem }
 .real-previews{ width:100%; margin:auto; gap:.75rem }
 .guide-benefits h2{ font-size:1.75rem }
 .guide-benefits h2 br{ display:none }
 .guide-benefits h2 br::after{ content:" " }
 .guide-benefits .checklist{ gap:.45rem }
 .has-stickybuy .stickybuy-in{ justify-content:center }
 .has-stickybuy .stickybuy-txt{ display:none }
 .has-stickybuy .stickybuy .btn{ width:100%; margin:0; min-height:50px; font-size:1.125rem }
 .secondary-ebook{ display:block }
 .secondary-ebook>a{ display:block }
}

/* Secondary ebook: visible in the main page, with a compact purchase path. */
.wealth-listing{ border-top:1px solid var(--line) }
.wealth-listing-inner{ display:grid; grid-template-columns:150px minmax(0,1fr); gap:2.5rem; align-items:center; max-width:62rem }
.wealth-listing img{ width:150px; box-shadow:var(--shadow) }
.wealth-listing h2{ font-size:clamp(1.5rem,2.5vw,2rem) }
.wealth-listing p{ margin-bottom:.7rem }
.wealth-listing-price{ color:var(--ink-2); font-size:1rem }
.wealth-listing .cta-group{ margin:1rem 0 .5rem; align-items:center }
.wealth-listing .sample-link{ margin:0 }
@media(max-width:47.99em){
 .wealth-listing-inner{ grid-template-columns:1fr; gap:1.25rem }
 .wealth-listing img{ width:105px }
 .wealth-listing .cta-group{ align-items:stretch }
 .wealth-listing .sample-link{ justify-content:center }
}


/* Wealth Defense: one light editorial surface and one navy purchase style. */
body:has(.wealth-compact){ --brick:#213F59; --brick-dk:#142B3E; --green:#213F59 }
.wealth-compact{ --blueprint-muted:#52616B }
.wealth-compact section{ padding-block:clamp(3rem,5vw,4.5rem) }
.wealth-compact .wrap{ max-width:68rem }
.wealth-compact .blueprint-hero{ padding-bottom:0 }
.wealth-compact .hero-grid{ grid-template-columns:1.15fr 1fr; gap:4rem; align-items:center }
.wealth-compact .hero h1{ font-size:clamp(2.3rem,4.2vw,3.5rem); max-width:18ch; line-height:1.12 }
.wealth-compact .hero h1 em{ color:var(--green) }
.wealth-compact .hero .lead{ max-width:29rem; margin:1.3rem 0 1.5rem; color:var(--blueprint-muted); font-size:1.1875rem }
.wealth-compact .eyebrow{ font-size:.75rem; letter-spacing:.1em }
.wealth-compact .pricetag b{ color:var(--ink); font-size:2rem }
.wealth-compact .pricetag span{ font-size:.9375rem; font-weight:400 }
.wealth-compact .cta-group{ margin:1.25rem 0 .75rem }
.wealth-compact .btn-lg{ font-size:1.0625rem; min-height:56px; padding:.85rem 1.5rem; border-radius:6px }
.wealth-compact .checkout-note{ font-size:.875rem; color:var(--blueprint-muted) }
.wealth-compact .sample-link{ font-size:.9375rem; font-weight:500; margin-top:.4rem }
.wealth-compact .wealth-cover{ padding:2.5rem 2rem; background:var(--paper-2); border:1px solid var(--line-soft); border-radius:4px }
.wealth-compact .wealth-cover img{ width:100%; max-width:230px; border:0; box-shadow:var(--shadow-lg) }
.wealth-compact .wealth-cover figcaption{ color:var(--blueprint-muted); font-size:.875rem; margin:1.25rem 0 0 }
.wealth-compact .format-strip{ margin-top:2.5rem; padding-block:1.25rem; color:var(--blueprint-muted); font-weight:500; font-size:.9375rem; border-color:var(--line) }
.wealth-compact .outcomes{ margin-top:2rem; gap:2rem }
.wealth-compact .outcomes article{ border:0; padding:0 }
.wealth-compact .outcomes h3{ font-size:1.25rem }
.wealth-compact .outcomes p{ color:var(--blueprint-muted); font-size:1rem; margin:0 }
.wealth-included{ display:flex; gap:1.5rem; align-items:center; justify-content:space-between; border-top:1px solid var(--line); margin-top:2rem; padding-top:1.5rem }
.wealth-included p{ margin:0; font-size:1rem; color:var(--blueprint-muted) }
.wealth-included strong{ color:var(--ink) }
.wealth-compact .faq-wrap{ max-width:48rem }
.wealth-compact .faq{ margin-top:1.25rem }
.wealth-compact .faq summary{ font-family:var(--sans); font-weight:600; font-size:1.0625rem; padding-block:1.15rem }
.wealth-compact .faq .answer{ font-size:1rem; max-width:none }
.wealth-compact .home-help{ margin:1rem 0 0; font-size:.9375rem }
.wealth-compact .wealth-disclosure{ color:var(--blueprint-muted); margin-top:1.25rem; font-size:.875rem }
@media(max-width:47.99em){
 .wealth-compact section{ padding-block:2.5rem }
 .wealth-compact .hero-grid{ grid-template-columns:1fr; gap:2rem }
 .wealth-compact .hero h1{ font-size:clamp(2.25rem,8vw,3rem) }
 .wealth-compact .wealth-cover{ padding:1.5rem; width:100%; max-width:26rem; margin:auto }
 .wealth-compact .wealth-cover img{ max-width:160px }
 .wealth-compact .format-strip{ gap:.4rem 1.25rem; font-size:.875rem; margin-top:1.5rem }
 .wealth-included{ flex-direction:column; align-items:stretch }
 .wealth-compact .outcomes{ gap:1.5rem }
 .wealth-compact .outcomes article+article{ padding-top:1.25rem; border-top:1px solid var(--line-soft) }
}

/* Let the actual book artwork fill the product column without an inset frame. */
.hero .product-stage,
.conversion-home .product-stage,
.wealth-compact .wealth-cover{
 padding:0; background:transparent; border:0; border-radius:0;
 width:100%; max-width:none; margin:0; overflow:visible;
}
.hero .product-stage img,
.conversion-home .product-stage .book-cover,
.wealth-compact .wealth-cover img{
 display:block; width:100%; max-width:none; height:auto; margin:0;
 transform:none; border:0; border-radius:4px; box-shadow:var(--shadow-lg);
}
.hero .product-stage figcaption,
.conversion-home .product-stage figcaption,
.wealth-compact .wealth-cover figcaption{ margin:1rem 0 0; text-align:center }

/* ---------- Conversion Architecture Upgrades ---------- */

/* Pricing & Discount Strikethrough Anchors */
.hero-pricing,
.final-pricing{
  display:flex;
  align-items:center;
  gap:.75rem;
  margin:.75rem 0 1.15rem;
  flex-wrap:wrap;
}
.center .final-pricing{
  justify-content:center;
}
.price-original del{
  font-family:var(--sans);
  font-size:1.35rem;
  font-weight:600;
  color:var(--ink-2);
  opacity:.65;
}
.price-current{
  font-family:var(--serif);
  font-weight:700;
  font-size:2.2rem;
  color:var(--brick);
  line-height:1;
}
.price-current strong{
  font-size:2.5rem;
}
.price-badge{
  background:rgba(167,70,49,.14);
  color:var(--brick);
  border:1px solid rgba(167,70,49,.28);
  font-family:var(--sans);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.08em;
  padding:.22rem .65rem;
  border-radius:999px;
  text-transform:uppercase;
}

/* Button enhancements */
.btn-main{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}
.btn-discount-tag{
  background:rgba(255,255,255,.2);
  color:#fff;
  border-radius:4px;
  padding:.1rem .4rem;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

/* Social Proof Stars & Guarantee Micro-Bar */
.hero-social-proof{
  display:flex;
  align-items:center;
  gap:.55rem;
  margin-top:.85rem;
  font-size:.92rem;
  color:var(--ink);
}
.stars,
.testimonial-stars{
  color:#D97706;
  letter-spacing:.12em;
  font-size:1rem;
  line-height:1;
}
.rating-text strong{
  font-weight:700;
  color:var(--ink);
}
.hero-guarantee{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin-top:.55rem;
  font-size:.85rem;
  color:var(--ink-2);
  font-weight:500;
}
.guarantee-icon{
  color:var(--green);
  flex-shrink:0;
}

/* 4 Pillars Section */
.pillars-grid{
  display:grid;
  gap:1.25rem;
  margin:2.5rem 0 3rem;
  grid-template-columns:1fr;
}
@media(min-width:44em){
  .pillars-grid{ grid-template-columns:repeat(2,1fr) }
}
@media(min-width:62em){
  .pillars-grid{ grid-template-columns:repeat(4,1fr) }
}
.pillar-card{
  background:var(--paper-2);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:1.4rem 1.25rem;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  position:relative;
  transition:transform .15s ease, box-shadow .15s ease;
}
.pillar-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-lg);
}
.pillar-num{
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--brick);
  margin-bottom:.35rem;
}
.pillar-card h3{
  font-size:1.3rem;
  margin:0 0 .25rem;
  color:var(--ink);
}
.pillar-range{
  font-size:.82rem;
  font-weight:600;
  color:var(--green);
  margin:0 0 .75rem;
}
.pillar-card p:last-child{
  font-size:.95rem;
  color:var(--ink-2);
  line-height:1.55;
  margin:0;
}

/* Testimonials / Reviews Section */
.reviews-section{
  padding-block:clamp(3.5rem, 5vw, 5.5rem);
}
.testimonials-grid{
  display:grid;
  gap:1.5rem;
  margin-top:2.5rem;
  grid-template-columns:1fr;
}
@media(min-width:56em){
  .testimonials-grid{ grid-template-columns:repeat(3,1fr) }
}
.testimonial-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:1.65rem 1.5rem;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.testimonial-stars{
  margin-bottom:.85rem;
}
.testimonial-quote{
  font-size:1.02rem;
  line-height:1.6;
  color:var(--ink);
  margin:0 0 1.25rem;
  font-style:normal;
  flex:1;
}
.testimonial-author{
  display:flex;
  flex-direction:column;
  gap:.15rem;
  border-top:1px solid var(--line-soft);
  padding-top:.85rem;
}
.testimonial-author strong{
  font-size:.98rem;
  color:var(--ink);
}
.testimonial-author span{
  font-size:.82rem;
  color:var(--ink-2);
}
.verified-tag{
  color:var(--green);
  font-weight:700;
}

/* Guarantee Box before Final CTA */
.guarantee-box{
  max-width:44rem;
  margin:0 auto 2.75rem;
  background:var(--paper-2);
  border:1.5px solid var(--green);
  border-radius:var(--radius-lg);
  padding:1.5rem 1.75rem;
  display:flex;
  gap:1.25rem;
  align-items:flex-start;
  text-align:left;
  box-shadow:var(--shadow);
}
.guarantee-badge{
  color:var(--green);
  flex-shrink:0;
  margin-top:.2rem;
}
.guarantee-text h3{
  font-size:1.18rem;
  margin:0 0 .4rem;
  color:var(--ink);
}
.guarantee-text p{
  font-size:.95rem;
  line-height:1.55;
  color:var(--ink-2);
  margin:0;
}

/* Sticky Buy Bar Anchors */
.sticky-del{
  opacity:.6;
  font-weight:500;
  margin-right:.25rem;
}
.sticky-save{
  display:inline-block;
  background:var(--brick);
  color:#fff;
  font-size:.7rem;
  padding:.08rem .35rem;
  border-radius:3px;
  margin-left:.35rem;
  vertical-align:1px;
}

/* Wealth Defense Specific Theme Overrides */
.wealth-compact .price-badge{
  background:rgba(33,63,89,.14);
  border-color:rgba(33,63,89,.28);
  color:var(--brick);
}
.wealth-compact .guarantee-box{
  border-color:var(--brick);
}
.wealth-compact .guarantee-badge,
.wealth-compact .guarantee-icon,
.wealth-compact .verified-tag,
.wealth-compact .pillar-range{
  color:var(--brick);
}

/* ---------- Interactive 60-Second Readiness Audit ---------- */
.audit-section{
  padding-block:clamp(3.5rem, 5vw, 5.5rem);
}
.audit-wrap{
  max-width:54rem;
}
.audit-card{
  background:var(--paper);
  border:1.5px solid var(--line);
  border-radius:var(--radius-lg);
  padding:clamp(1.5rem, 3vw, 2.5rem);
  box-shadow:var(--shadow-lg);
  margin-top:2.5rem;
}
.audit-questions{
  display:flex;
  flex-direction:column;
  gap:1.75rem;
}
.audit-q{
  border-bottom:1px solid var(--line-soft);
  padding-bottom:1.5rem;
}
.audit-q:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.q-title{
  font-size:1.05rem;
  line-height:1.45;
  color:var(--ink);
  margin-bottom:.85rem;
}
.q-title strong{
  font-family:var(--serif);
  font-size:1.15rem;
  color:var(--brick);
  display:block;
  margin-bottom:.15rem;
}
.q-options{
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.q-opt{
  display:flex;
  align-items:center;
  gap:.65rem;
  background:var(--paper-2);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:.65rem .95rem;
  font-size:.95rem;
  cursor:pointer;
  transition:border-color .15s ease, background-color .15s ease;
}
.q-opt:hover{
  background:#fff;
  border-color:var(--brick);
}
.q-opt:has(input:checked){
  background:#fff;
  border-color:var(--brick);
  box-shadow:0 2px 6px rgba(167,70,49,.1);
}
.q-opt input[type="radio"]{
  accent-color:var(--brick);
  width:1.1rem;
  height:1.1rem;
  margin:0;
  flex-shrink:0;
}

/* Audit Results Display */
.audit-results{
  margin-top:2.25rem;
  background:var(--paper-2);
  border:1.5px solid var(--line);
  border-radius:var(--radius-lg);
  padding:1.5rem 1.75rem;
}
.audit-meter-wrap{
  margin-bottom:1.1rem;
}
.audit-meter-header{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:.5rem;
}
.audit-meter-title{
  font-family:var(--sans);
  font-weight:700;
  font-size:1.05rem;
  color:var(--ink);
}
.audit-meter-number{
  font-family:var(--serif);
  font-size:2rem;
  font-weight:700;
  color:var(--brick);
  line-height:1;
}
.audit-meter-track{
  height:12px;
  background:var(--line);
  border-radius:999px;
  overflow:hidden;
  margin-bottom:.65rem;
}
.audit-meter-fill{
  height:100%;
  border-radius:999px;
  transition:width .4s ease, background-color .4s ease;
}
.audit-status{
  font-size:.9rem;
  font-weight:700;
  margin:0;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.audit-feedback{
  font-size:1rem;
  line-height:1.55;
  color:var(--ink-2);
  margin:0 0 1.25rem;
}
.audit-cta .btn{
  width:100%;
}
@media(min-width:36em){
  .audit-cta .btn{ width:auto }
}

/* ---------- Lead Magnet Inline Section ---------- */
.lead-magnet-sec{
  padding-block:clamp(3rem, 4.5vw, 4.5rem);
}
.lead-magnet-card{
  background:var(--ink);
  color:var(--paper);
  border-radius:var(--radius-lg);
  padding:clamp(2rem, 4vw, 3.25rem);
  display:grid;
  gap:2.5rem;
  align-items:center;
  box-shadow:var(--shadow-lg);
}
@media(min-width:54em){
  .lead-magnet-card{
    grid-template-columns:1.4fr .8fr;
  }
}
.lead-magnet-content .eyebrow{
  color:#E9A48F;
}
.lead-magnet-content h2{
  color:var(--paper);
  margin-bottom:.65rem;
}
.lead-magnet-content p{
  color:#D0DDD4;
  font-size:1.05rem;
  margin-bottom:1.5rem;
}
.lead-inputs{
  display:flex;
  gap:.65rem;
  flex-direction:column;
}
@media(min-width:34em){
  .lead-inputs{
    flex-direction:row;
  }
}
.lead-inputs input[type="email"]{
  flex:1;
  min-height:50px;
  padding:.75rem 1rem;
  border-radius:var(--radius);
  border:1px solid #3A4C42;
  background:#141F1A;
  color:#fff;
  font-size:1rem;
}
.lead-inputs input[type="email"]:focus{
  outline:2px solid #E9A48F;
}
.lead-inputs .btn{
  min-height:50px;
  padding-inline:1.5rem;
  white-space:nowrap;
}
.lead-status{
  font-size:.9rem;
  font-weight:600;
  margin:.75rem 0 0;
}
.lead-note{
  font-size:.82rem !important;
  color:#9CAE9C !important;
  margin-top:.6rem !important;
  margin-bottom:0 !important;
}
.lead-magnet-visual{
  display:flex;
  justify-content:center;
}
.checklist-preview-badge{
  background:rgba(255,255,255,.07);
  border:1.5px solid rgba(255,255,255,.15);
  border-radius:var(--radius-lg);
  padding:2rem 1.75rem;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.5rem;
  width:100%;
  max-width:18rem;
}
.checklist-preview-badge svg{
  color:#E9A48F;
}
.checklist-preview-badge strong{
  font-size:1.1rem;
  color:#fff;
}
.checklist-preview-badge span{
  font-size:.85rem;
  color:#C9D6CE;
}

/* ---------- Exit-Intent Modal ---------- */
.lead-modal{
  position:fixed;
  inset:0;
  z-index:999;
  display:none;
  place-items:center;
  padding:1rem;
}
.lead-modal.is-open{
  display:grid;
}
.lead-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(18,27,22,.75);
  backdrop-filter:blur(6px);
}
.lead-modal-box{
  position:relative;
  z-index:1;
  background:var(--paper-2);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:clamp(1.75rem, 4vw, 2.5rem);
  max-width:32rem;
  width:100%;
  box-shadow:var(--shadow-lg);
  animation:modal-pop .2s ease-out;
}
@keyframes modal-pop{
  from{ opacity:0; transform:scale(.96) translateY(8px) }
  to{ opacity:1; transform:scale(1) translateY(0) }
}
.lead-modal-close{
  position:absolute;
  top:.85rem;
  right:.85rem;
  background:transparent;
  border:0;
  font-size:1.6rem;
  line-height:1;
  color:var(--ink-2);
  cursor:pointer;
  padding:.35rem;
  border-radius:4px;
}
.lead-modal-close:hover{
  color:var(--ink);
  background:var(--card);
}
.lead-modal-box h3{
  font-size:1.45rem;
  margin-bottom:.5rem;
}
.lead-modal-box p{
  font-size:1rem;
  color:var(--ink-2);
  line-height:1.5;
  margin-bottom:1.25rem;
}
.lead-modal-box .lead-inputs input[type="email"]{
  background:#fff;
  border-color:var(--line);
  color:var(--ink);
}

/* ---------- Page Preview Lightbox Modal ---------- */
.preview-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  place-items:center;
  padding:clamp(1rem, 3vw, 2rem);
}
.preview-modal.is-open{
  display:grid;
}
.preview-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(18,27,22,.85);
  backdrop-filter:blur(8px);
  cursor:pointer;
}
.preview-modal-box{
  position:relative;
  z-index:1;
  max-width:44rem;
  max-height:92vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  animation:modal-pop .2s ease-out;
}
.preview-modal-img-wrap{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
  overflow:auto;
  max-height:calc(92vh - 3.5rem);
  border:1px solid var(--line);
}
.preview-modal-img{
  display:block;
  width:100%;
  height:auto;
  max-height:82vh;
  object-fit:contain;
}
.preview-modal-caption{
  margin:.75rem 0 0;
  color:#fff;
  font-size:1rem;
  font-weight:600;
  text-align:center;
  text-shadow:0 1px 3px rgba(0,0,0,.6);
}
.preview-modal-close{
  position:absolute;
  top:-2.25rem;
  right:0;
  background:rgba(255,255,255,.2);
  border:1px solid rgba(255,255,255,.3);
  color:#fff;
  font-size:1.6rem;
  line-height:1;
  width:2.25rem;
  height:2.25rem;
  border-radius:50%;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:background .15s ease;
}
.preview-modal-close:hover{
  background:rgba(255,255,255,.4);
}

/* ---------- Resource Guides (SEO Pages) ---------- */
.resource-guide{
  padding-block:clamp(3rem, 5vw, 5rem);
}
.resource-cta-box{
  margin-top:3.5rem;
  background:var(--paper-2);
  border:1.5px solid var(--green);
  border-radius:var(--radius-lg);
  padding:clamp(1.75rem, 3.5vw, 2.5rem);
  box-shadow:var(--shadow);
  text-align:center;
}
.resource-cta-box h3{
  font-size:1.55rem;
  margin-bottom:.5rem;
}
.resource-cta-box p{
  max-width:32rem;
  margin-inline:auto;
  margin-bottom:1.25rem;
}
.pricing-snippet{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  margin-bottom:1.25rem;
}
.pricing-snippet del{
  font-size:1.15rem;
  color:var(--ink-2);
  opacity:.65;
}
.pricing-snippet strong{
  font-family:var(--serif);
  font-size:1.85rem;
  color:var(--brick);
}
.hero-sublinks{
  display:flex;
  align-items:center;
  gap:.65rem;
  margin-top:1.15rem;
  font-size:.95rem;
}
.sublink-sep{
  color:var(--ink-2);
  opacity:.5;
}

/* ---------- Customer Reviews & Video Testimonials ---------- */
.reviews-section{
  padding-block:clamp(3.5rem, 5vw, 5.5rem);
  background:var(--paper);
}
.video-testimonial-wrap{
  margin-block:2.5rem 3rem;
  max-width:54rem;
  margin-inline:auto;
}
.video-vouch-card{
  background:var(--paper-2);
  border:1.5px solid var(--line);
  border-radius:var(--radius-lg);
  padding:clamp(1.5rem, 3.5vw, 2.5rem);
  box-shadow:var(--shadow-lg);
  display:grid;
  gap:2rem;
  align-items:center;
}
@media(min-width:48em){
  .video-vouch-card{
    grid-template-columns:250px 1fr;
    gap:2.75rem;
  }
}
.video-player-container{
  position:relative;
  width:100%;
  max-width:260px;
  margin-inline:auto;
  aspect-ratio:9/16;
  border-radius:var(--radius);
  overflow:hidden;
  background:#0B100D;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  border:2px solid rgba(167,70,49,.3);
}
.vouch-video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  cursor:pointer;
  background:#0B100D;
}
.video-play-btn{
  position:absolute;
  inset:0;
  margin:auto;
  width:4.25rem;
  height:4.25rem;
  border-radius:50%;
  background:rgba(18,27,22,.8);
  backdrop-filter:blur(6px);
  border:2px solid #E9A48F;
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .2s ease, background-color .2s ease;
  box-shadow:0 6px 20px rgba(0,0,0,.45);
  z-index:2;
}
.video-play-btn svg{
  margin-left:3px;
  fill:#fff;
}
.video-play-btn:hover{
  transform:scale(1.08);
  background:rgba(167,70,49,.95);
}
.video-badge{
  position:absolute;
  top:.75rem;
  left:.75rem;
  background:rgba(18,27,22,.85);
  backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,.2);
  color:#E9A48F;
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  padding:.3rem .65rem;
  border-radius:999px;
  pointer-events:none;
  z-index:2;
}
.video-vouch-meta{
  display:flex;
  flex-direction:column;
  gap:.85rem;
}
.video-vouch-meta .testimonial-stars{
  color:#D97706;
  font-size:1.25rem;
  letter-spacing:.15em;
}
.video-vouch-meta .testimonial-quote{
  font-size:1.2rem;
  line-height:1.55;
  color:var(--ink);
  font-style:italic;
  margin:0;
  font-family:var(--serif);
}
.video-callout-note{
  font-size:.88rem;
  color:var(--ink-2);
  margin:0;
  line-height:1.45;
}
.testimonials-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  margin-top:2rem;
}
@media(min-width:54em){
  .testimonials-grid{
    grid-template-columns:repeat(3, 1fr);
  }
}
.testimonial-card{
  background:var(--paper-2);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.5rem 1.65rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:1.15rem;
  box-shadow:var(--shadow);
}
.testimonial-stars{
  color:#D97706;
  font-size:1.1rem;
  letter-spacing:.12em;
}
.testimonial-quote{
  font-size:1rem;
  line-height:1.55;
  color:var(--ink);
  font-style:italic;
  margin:0;
}
.testimonial-author strong{
  display:block;
  font-size:.95rem;
  color:var(--ink);
}
.testimonial-author span{
  font-size:.85rem;
  color:var(--ink-2);
}
.verified-tag{
  color:var(--green);
  font-weight:600;
}




/* =====================================================================
   Editorial layer — the clean white system. Loaded last so it settles
   the older storefront rules above without rewriting every page.
   ===================================================================== */

body{ font-size:1.0625rem; line-height:1.6; color:var(--ink); background:var(--paper) }
@media (min-width:48em){ body{ font-size:1.0625rem } }
h1,h2,h3,h4{ font-family:var(--sans); font-weight:500; letter-spacing:-.025em; line-height:1.08 }
h2{ font-size:clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem) }
h3{ font-size:clamp(1.25rem, 1.1rem + .6vw, 1.6rem) }
.eyebrow{ font-family:var(--mono); font-size:.72rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--muted) }
a{ color:var(--ink); text-decoration-color:var(--line); text-decoration-thickness:1px }
a:hover{ color:var(--brick); text-decoration-color:currentColor }
:focus-visible{ outline:2px solid var(--brick); outline-offset:3px; border-radius:1px }
section{ padding-block:clamp(3.5rem, 2.5rem + 4vw, 6rem) }
.sec-alt{ background:var(--paper); border-block:0; border-top:1px solid var(--line) }

/* header */
.site-header{ background:rgba(255,255,255,.92); backdrop-filter:saturate(180%) blur(12px); border-bottom:1px solid var(--line) }
.header-inner{ min-height:60px; gap:1.25rem }
.brand{ gap:.7rem; align-items:baseline; font-weight:500 }
.brand-name{ font-family:var(--sans); font-size:1rem; font-weight:600; letter-spacing:-.01em; color:var(--ink) }
.brand-tag{ font-family:var(--mono); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); white-space:nowrap }
@media (max-width:30em){ .brand-tag{ display:none } }
.site-nav a{ padding:.5rem .7rem; font-size:.9rem; font-weight:500; color:var(--ink-2); border-radius:0 }
.site-nav a:hover{ background:none; color:var(--ink) }
.site-nav a[aria-current="page"]{ color:var(--ink); box-shadow:inset 0 -1px 0 var(--brick) }
.mobile-menu summary{ font-family:var(--mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase }

/* buttons: black, square, quiet; red only on hover */
.btn{ border-radius:var(--radius); font-weight:500; border-width:1px; letter-spacing:-.005em }
.btn-buy{ background:var(--ink); color:#fff; border-color:var(--ink) }
.btn-buy:hover{ background:var(--brick); border-color:var(--brick); color:#fff }
.btn-lg{ min-height:52px; padding:.8rem 1.6rem; font-size:1rem }
.btn-sm{ min-height:40px; padding:.45rem 1rem; font-size:.875rem; gap:.5rem }
.btn-sub{ font-weight:400; opacity:.7; font-size:.75rem }
.btn-price{ opacity:.65 }
.btn-ghost{ border-color:var(--line); color:var(--ink) }
.btn-ghost:hover{ background:var(--ink); border-color:var(--ink); color:#fff }
.btn-discount-tag{ background:none!important; color:inherit!important; opacity:.65; font-weight:500 }

/* FAQ: hairlines and a plus */
.faq{ margin-top:0; border-top:1px solid var(--ink) }
.faq details{ border-bottom:1px solid var(--line) }
.faq summary{ font-family:var(--sans); font-weight:500; font-size:1.0625rem; letter-spacing:-.01em; padding:1.25rem 0; min-height:0 }
.faq summary::after{ content:"+"; width:auto; height:auto; border:0; transform:none; margin:0; font-family:var(--mono); font-size:1.1rem; font-weight:400; color:var(--brick); transition:transform .2s ease }
.faq details[open] summary::after{ transform:rotate(45deg) }
.faq .answer{ color:var(--ink-2); font-size:.98rem; padding-bottom:1.4rem }

/* footer: white, one rule */
.site-footer{ background:var(--paper); color:var(--ink-2); border-top:1px solid var(--line); padding-block:3rem 2rem; font-size:.9rem }
.site-footer a{ color:var(--ink-2); text-decoration:none }
.site-footer a:hover{ color:var(--brick) }
.site-footer .brand-name{ color:var(--ink); font-size:1rem; margin-bottom:.35rem }
.foot-brand p{ font-size:.9rem; color:var(--muted) }
.site-footer h2{ font-family:var(--mono); font-size:.68rem; font-weight:500; letter-spacing:.12em; color:var(--muted); margin-bottom:.6rem }
@media (min-width:48em){ .foot-grid{ grid-template-columns:2fr 1fr 1fr 1fr } }
.site-footer li a{ padding:.25rem 0; font-size:.9rem }
.foot-note{ border-top:1px solid var(--line); color:var(--muted); font-size:.82rem; line-height:1.55 }
.foot-note strong{ color:var(--ink-2); font-weight:600 }
.foot-legal{ color:var(--muted); font-size:.8rem; font-family:var(--mono); letter-spacing:.02em }

/* sticky bar */
.stickybuy{ background:rgba(255,255,255,.96); backdrop-filter:blur(10px); border-top:1px solid var(--line); box-shadow:none }
.stickybuy-txt strong{ font-weight:600 }
.stickybuy-txt span{ font-family:var(--mono); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:400 }

/* ---------- homepage ---------- */
.ed .ed-sec{ padding-block:clamp(4rem, 3rem + 4vw, 7rem) }
.ed .ed-sec + .ed-sec{ border-top:1px solid var(--line) }
.ed h2{ max-width:22ch }

.ed-kicker{ font-family:var(--mono); font-size:.72rem; font-weight:400; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); margin:0 0 1.5rem }
.ed-kicker-sm{ font-size:.66rem; color:var(--muted); margin:0 }
.ed-label{ font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); margin:0 0 1rem; display:flex; gap:.9rem }
.ed-label-n{ color:var(--brick) }
.ed-label-n:empty{ display:none }
.ed-rule{ display:block; width:4rem; height:1px; background:var(--ink); margin:2rem 0 }

/* hero */
.ed .ed-hero{ padding-block:clamp(2.75rem, 2rem + 4vw, 6rem) clamp(3rem, 2rem + 3vw, 5rem); border-bottom:1px solid var(--line) }
.ed-hero-grid{ display:grid; gap:3rem; align-items:center }
@media (min-width:56em){ .ed-hero-grid{ grid-template-columns:1.25fr .9fr; gap:4.5rem } }
.ed .ed-hero h1{ font-size:clamp(2.6rem, 1.4rem + 5.2vw, 5rem); font-weight:500; letter-spacing:-.04em; line-height:1; margin:0; max-width:11ch }
.ed-lead{ font-size:clamp(1.05rem, .98rem + .35vw, 1.2rem); line-height:1.6; color:var(--ink-2); max-width:34rem; margin:0 0 2rem }
.ed-cta-row{ display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.75rem; margin:0 0 1.5rem }
.ed-btn{ flex-direction:row; min-height:48px; padding:.75rem 1.5rem; font-size:.95rem }
.ed-btn .btn-main{ display:inline-flex; align-items:center; gap:.55rem }
.ed-btn-sep{ opacity:.45 }
.ed-btn-price{ opacity:.8 }
.ed-btn-block{ width:100% }
.ed-textlink{ font-size:.95rem; color:var(--ink); text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:.35em }
.ed-textlink:hover{ text-decoration-color:var(--brick) }
.ed-accentlink{ display:inline-block; margin-top:1.1rem; font-size:.9rem; color:var(--brick); text-decoration:underline; text-decoration-color:rgba(198,54,31,.35); text-underline-offset:.35em }
.ed-accentlink:hover{ color:var(--brick-dk); text-decoration-color:currentColor }

.ed-book{ margin:0; justify-self:center; width:min(100%, 21rem) }
.ed-book img{ width:100%; border-radius:1px 3px 3px 1px;
  box-shadow:inset 3px 0 0 rgba(255,255,255,.08), 8px 8px 0 -1px #fff, 8px 8px 0 0 var(--line), 16px 16px 0 -1px #fff, 16px 16px 0 0 var(--line), 0 28px 50px -18px rgba(0,0,0,.35) }
.ed-book figcaption{ margin-top:1.75rem; max-width:18rem; line-height:1.6 }
@media (max-width:55.99em){ .ed-book{ width:min(62%, 15rem) } .ed-book figcaption{ display:none } }

.ed-stats{ list-style:none; margin:clamp(3rem, 2rem + 3vw, 5rem) 0 0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--ink) }
@media (min-width:48em){ .ed-stats{ grid-template-columns:repeat(4,1fr) } }
.ed-stats li{ padding:1.25rem 1rem 1.25rem 0; border-bottom:1px solid var(--line); display:flex; flex-direction:column }
@media (min-width:48em){ .ed-stats li{ border-bottom:0; padding-left:1.25rem; border-left:1px solid var(--line) } .ed-stats li:first-child{ padding-left:0; border-left:0 } }
.ed-stats strong{ font-size:clamp(1.9rem, 1.5rem + 1.4vw, 2.5rem); font-weight:500; letter-spacing:-.04em; line-height:1.1 }
.ed-stats span{ font-size:.9rem; font-weight:500; margin-top:.35rem }
.ed-stats small{ font-size:.78rem; color:var(--muted); margin-top:.15rem }

/* intro split */
.ed-split{ display:grid; gap:1.75rem }
@media (min-width:56em){ .ed-split{ grid-template-columns:1.2fr 1fr; gap:5rem; align-items:start } }
.ed-split h2{ font-size:clamp(1.75rem, 1.3rem + 1.8vw, 2.5rem); margin:0 }
.ed-prose p{ color:var(--ink-2); font-size:.98rem; line-height:1.7 }

/* section heads */
.ed-head{ margin-bottom:clamp(2rem, 1.5rem + 2vw, 3rem) }
.ed-head h2{ margin:0 }
.ed-sublead{ margin:1.25rem 0 0; max-width:38rem; font-size:1.05rem; color:var(--ink-2) }

/* four parts */
.ed-parts{ border-top:1px solid var(--ink) }
.ed-part{ display:grid; gap:1.25rem; padding:2.25rem 0; border-bottom:1px solid var(--line) }
@media (min-width:56em){ .ed-part{ grid-template-columns:11rem 1fr 15rem; gap:2.5rem; padding:2.75rem 0 } }
.ed-part-n{ font-family:var(--mono); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--brick); margin:0 0 .65rem }
.ed-part h3{ font-size:1.9rem; letter-spacing:-.03em; margin:0 0 .5rem }
.ed-part-range{ font-family:var(--mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-2); margin:0 }
.ed-part-head{ font-weight:500; color:var(--ink); margin:0 0 .6rem; font-size:1.02rem }
.ed-part-body p:last-child{ color:var(--ink-2); font-size:.95rem; margin:0 }
.ed-part-points{ list-style:none; margin:0; padding:0 }
.ed-part-points li{ position:relative; padding:.6rem 0 .6rem 1.4rem; font-size:.86rem; line-height:1.45; color:var(--ink-2); border-bottom:1px solid var(--line-soft) }
.ed-part-points li:last-child{ border-bottom:0 }
.ed-part-points li::before{ content:""; position:absolute; left:0; top:1.3em; width:.65rem; height:1px; background:var(--brick) }

.ed-pages{ display:grid; grid-template-columns:repeat(2, minmax(0, 13rem)); gap:1.5rem; margin-top:3rem; align-items:start }
.ed-pages figure{ margin:0 }
.ed-pages img{ width:100%; border:1px solid var(--line) }
.ed-pages figcaption{ font-family:var(--mono); font-size:.64rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:.7rem }
.ed-pages p{ grid-column:1/-1 }

/* signal table */
.ed-table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch }
.ed-table{ width:100%; border-collapse:collapse; font-size:.92rem; min-width:34rem }
.ed-table thead th{ font-family:var(--mono); font-size:.66rem; font-weight:400; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2); text-align:left; padding:.9rem 1rem .9rem 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink) }
.ed-table td,.ed-table tbody th{ text-align:left; padding:1.05rem 1rem 1.05rem 0; border-bottom:1px solid var(--line); vertical-align:top }
.ed-table tbody th{ font-weight:500; color:var(--ink); white-space:nowrap }
.ed-table td{ color:var(--ink-2) }
.ed-table .ed-n,.ed-included .ed-n{ font-family:var(--mono); font-size:.75rem; color:var(--brick); width:3rem }
.ed-table .ed-src{ font-family:var(--mono); font-size:.72rem; color:var(--muted); text-align:right; padding-right:0 }
.ed-table thead th:last-child{ text-align:right; padding-right:0 }

/* for / not for */
.ed-fit{ display:grid; gap:3rem }
@media (min-width:52em){ .ed-fit{ grid-template-columns:1fr 1fr; gap:4rem } }
.ed-list{ list-style:none; margin:0; padding:0; border-top:1px solid var(--ink) }
.ed-list li{ padding:1.05rem 0 1.05rem 1.75rem; border-bottom:1px solid var(--line); position:relative; font-size:1rem; line-height:1.5 }
.ed-list li::before{ position:absolute; left:0; top:1.05rem; font-family:var(--mono); font-size:.9rem }
.ed-list-yes li::before{ content:"+"; color:var(--brick) }
.ed-list-no li{ color:var(--ink-2) }
.ed-list-no li::before{ content:"–"; color:var(--muted) }

/* offer */
.ed-offer{ display:grid; gap:2.5rem; border:1px solid var(--ink); padding:clamp(1.5rem, 1rem + 3vw, 3.5rem) }
@media (min-width:56em){ .ed-offer{ grid-template-columns:1fr 1fr; gap:4rem } }
.ed-offer h2{ font-size:clamp(1.9rem, 1.3rem + 2.4vw, 3rem); margin:0 0 1.25rem }
.ed-offer h2 em{ font-style:normal; color:var(--muted) }
.ed-offer-copy p:last-child{ color:var(--ink-2); max-width:30rem; margin:0 }
.ed-included{ list-style:none; margin:0 0 1.75rem; padding:0; border-top:1px solid var(--line) }
.ed-included li{ display:flex; gap:1rem; padding:.85rem 0; border-bottom:1px solid var(--line) }
.ed-included .ed-n{ width:auto; flex:0 0 1.75rem; padding-top:.15rem }
.ed-included strong{ display:block; font-weight:500; font-size:.95rem }
.ed-included small{ display:block; font-size:.8rem; color:var(--muted) }
.ed-offer-price{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:1.25rem }
.ed-offer-price strong{ font-size:3rem; font-weight:500; letter-spacing:-.05em; line-height:1 }
.ed-fine{ font-size:.82rem; color:var(--muted); line-height:1.55; margin:1.1rem 0 0 }
.ed-fine a{ color:var(--ink-2); text-decoration:underline; text-decoration-color:var(--line) }
.ed-offer .ed-accentlink{ font-size:.85rem }
.ed-disclaimer{ font-size:.78rem; color:var(--muted); max-width:46rem; margin:1.5rem 0 0; line-height:1.55 }

/* also from */
.ed-also{ display:grid; gap:2rem; align-items:center }
@media (min-width:48em){ .ed-also{ grid-template-columns:11rem 1fr; gap:3.5rem } }
.ed-also-img{ display:block; max-width:11rem }
.ed-also-img img{ width:100%; border:1px solid var(--line) }
.ed-also h2{ font-size:clamp(1.5rem, 1.2rem + 1.2vw, 2rem); margin:0 0 .75rem }
.ed-also p:not(.ed-label):not(.ed-fine){ color:var(--ink-2); max-width:36rem; font-size:.98rem }

/* questions */
.ed-faq{ display:grid; gap:1rem }
@media (min-width:56em){ .ed-faq{ grid-template-columns:1fr 1.6fr; gap:4rem } }
