
  :root{
    --ink:#F1F4EA;
    --panel:#FFFFFF;
    --panel-2:#E7ECDD;
    --gold:#A8752E;
    --gold-soft:#8A5F22;
    --rust:#A8432E;
    --ivory:#1E2F22;
    --sage:#52684E;
    --line: rgba(30,47,34,0.13);
    --radius: 2px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; background:var(--ink); color:var(--ivory);
    font-family:'Karla',"Karla Fallback", sans-serif; font-size:16px; line-height:1.6;
    -webkit-font-smoothing:antialiased; padding-bottom:64px;
  }
  h1,h2,h3{ font-family:'Fraunces', serif; font-weight:560; letter-spacing:-0.01em; margin:0; color:var(--ivory); }
  .eyebrow{ font-family:'Space Mono', monospace; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); }
  a{color:inherit;}
  .wrap{max-width:1080px; margin:0 auto; padding:0 28px;}
  @media(max-width:640px){ .wrap{padding:0 20px;} }
  @media (prefers-reduced-motion: reduce){ *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;} }

  /* ---------- announcement bar ---------- */
  .announce{
    background:var(--panel-2); text-align:center; padding:10px 16px;
    font-family:'Space Mono', monospace; font-size:12.5px; color:var(--gold-soft);
    border-bottom:1px solid var(--line);
  }

  /* ---------- header ---------- */
  header{ position:sticky; top:0; z-index:40; background:rgba(241,244,234,0.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--line); }
  .nav{ display:flex; align-items:center; justify-content:space-between; padding:14px 0; }
  .brand{ display:flex; align-items:center; gap:10px; font-family:'Fraunces', serif; font-size:18px; font-weight:560; }
  .brand .mark{ width:24px; height:24px; flex:none; }
  .brand small{ display:block; font-family:'Space Mono', monospace; font-size:10px; letter-spacing:0.1em; color:var(--sage); font-weight:400; margin-top:2px; }
  .nav-links{ display:flex; gap:26px; font-size:14px; }
  .nav-links a{ text-decoration:none; color:var(--sage); transition:color .2s; }
  .nav-links a:hover, .nav-links a:focus-visible{ color:var(--gold-soft); }
  .nav-cta{ display:inline-block; padding:10px 18px; border:1px solid var(--gold); color:var(--gold-soft); text-decoration:none; font-size:13px; font-family:'Space Mono', monospace; letter-spacing:0.04em; border-radius:var(--radius); transition:background .2s, color .2s; }
  .nav-cta:hover, .nav-cta:focus-visible{ background:var(--gold); color:#FBF7EC; }
  @media(max-width:760px){ .nav-links{ display:none; } }

  /* ---------- hero ---------- */
  .hero{ position:relative; padding:64px 0 60px; overflow:hidden; background:radial-gradient(ellipse at 82% -10%, rgba(200,155,74,0.16), transparent 55%), var(--ink); text-align:center; }
  .badges-row{ display:flex; justify-content:center; gap:22px; flex-wrap:wrap; margin-bottom:22px; }
  .badge{ font-family:'Space Mono', monospace; font-size:12px; color:var(--sage); display:flex; align-items:center; gap:6px; }
  .badge b{ color:var(--gold-soft); font-weight:600; }
  .hero h1{ font-size:clamp(30px, 5vw, 50px); line-height:1.1; max-width:900px; margin:0 auto; }
  .hero h1 em{ color:var(--gold-soft); font-style:normal; }
  .hero p.lede{ margin:22px auto 0; max-width:58ch; color:var(--sage); font-size:17px; }
  .video-frame{
    max-width:640px; margin:38px auto 0; aspect-ratio:16/9; background:var(--panel);
    border:1px solid var(--line); border-radius:var(--radius); display:flex; flex-direction:column;
    align-items:center; justify-content:center; gap:10px; position:relative; overflow:hidden;
  }
  .video-frame::before{ content:''; position:absolute; inset:0; background:linear-gradient(160deg, rgba(200,155,74,0.08), transparent 60%); }
  .play-ic{ width:56px; height:56px; border-radius:50%; border:1.5px solid var(--gold); display:flex; align-items:center; justify-content:center; }
  .video-frame .cap{ font-family:'Space Mono', monospace; font-size:12px; color:var(--sage); max-width:70%; text-align:center; }
  .hero-ctas{ display:flex; justify-content:center; gap:14px; margin-top:34px; flex-wrap:wrap; }
  .btn{ display:inline-flex; align-items:center; gap:8px; padding:15px 28px; font-size:14px; font-family:'Space Mono', monospace; letter-spacing:0.03em; text-decoration:none; border-radius:var(--radius); cursor:pointer; border:1px solid transparent; transition:transform .15s ease, background .2s; }
  .btn:focus-visible{ outline:2px solid var(--gold-soft); outline-offset:3px; }
  .btn-primary{ background:var(--rust); color:#FBF7EC; }
  .btn-primary:hover{ transform:translateY(-1px); background:#c65f45; }
  .btn-ghost{ border-color:var(--line); color:var(--ivory); }
  .btn-ghost:hover{ border-color:var(--gold); color:var(--gold-soft); }
  .fee-note{ margin-top:14px; font-family:'Space Mono', monospace; font-size:12.5px; color:var(--sage); }
  .fee-note b{ color:var(--gold-soft); font-size:15px; }

  /* ---------- section shell ---------- */
  section{ padding:70px 0; border-top:1px solid var(--line); }
  .section-head{ max-width:660px; margin:0 auto 44px; text-align:center; }
  .section-head.left{ text-align:left; margin-left:0; }
  .section-head h2{ font-size:clamp(26px,3.4vw,36px); margin-top:12px; }
  .section-head p{ color:var(--sage); margin-top:14px; font-size:15.5px; }

  /* ---------- authority strip ---------- */
  .authority{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
  @media(max-width:760px){ .authority{ grid-template-columns:repeat(2,1fr); } }
  .a-item{ background:var(--panel); padding:28px 22px; text-align:center; }
  .a-item .num{ font-family:'Fraunces', serif; font-size:32px; color:var(--gold-soft); }
  .a-item .lab{ font-size:12px; color:var(--sage); margin-top:6px; font-family:'Space Mono', monospace; letter-spacing:0.04em; }

  /* ---------- checklist / agitation ---------- */
  .checklist{ display:flex; flex-direction:column; max-width:760px; margin:0 auto; }
  .check-row{ display:flex; gap:20px; padding:26px 0; border-top:1px solid var(--line); }
  .check-row:first-child{ border-top:none; }
  .check-row .idx{ font-family:'Fraunces', serif; font-size:26px; color:var(--gold); opacity:0.75; flex:none; width:44px; }
  .check-row h4{ font-family:'Fraunces', serif; font-size:18px; font-weight:560; }
  .check-row p{ margin:8px 0 0; color:var(--sage); font-size:14.5px; }
  .checklist-cta{ text-align:center; margin-top:44px; }
  .checklist-cta .lead{ font-family:'Fraunces', serif; font-size:20px; margin-bottom:18px; }

  /* ---------- root causes ---------- */
  .causes{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
  @media(max-width:760px){ .causes{ grid-template-columns:1fr; } }
  .cause{ background:var(--panel); padding:30px 26px; }
  .cause .tag-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
  .cause .cnum{ font-family:'Space Mono', monospace; font-size:11px; color:var(--gold); }
  .cause .clabel{ font-size:11px; color:var(--sage); font-family:'Space Mono', monospace; }
  .cause h4{ font-family:'Fraunces', serif; font-size:19px; }
  .cause p{ color:var(--sage); font-size:14px; margin-top:10px; }
  .cause blockquote{ margin:16px 0 0; padding-left:14px; border-left:2px solid var(--gold); font-size:13.5px; color:var(--ivory); font-style:normal; }

  /* ---------- process ---------- */
  .steps-v{ max-width:760px; margin:0 auto; }
  .step-v{ display:grid; grid-template-columns:120px 1fr; gap:24px; padding:26px 0; border-top:1px solid var(--line); }
  .step-v:first-child{ border-top:none; }
  @media(max-width:560px){ .step-v{ grid-template-columns:1fr; gap:8px; } }
  .step-v .time{ font-family:'Space Mono', monospace; font-size:12px; color:var(--gold); }
  .step-v h4{ font-family:'Fraunces', serif; font-size:19px; margin-top:6px; }
  .step-v p{ color:var(--sage); font-size:14.5px; margin-top:8px; }
  .step-v .out{ margin-top:10px; font-size:13px; color:var(--gold-soft); }

  /* ---------- pricing / offer ---------- */
  .offer{ background:var(--panel-2); }
  .offer-card{ max-width:560px; margin:0 auto; background:var(--panel); border:1px solid var(--gold); border-radius:var(--radius); padding:36px; text-align:center; box-shadow:0 6px 24px rgba(30,47,34,0.08); }
  .offer-card h3{ font-size:22px; }
  .offer-card .price-row{ margin:22px 0; }
  .offer-card .price{ font-family:'Fraunces', serif; font-size:52px; color:var(--gold-soft); }
  .offer-card .price-sub{ font-size:13px; color:var(--sage); margin-top:4px; }
  .offer-list{ text-align:left; margin:26px 0; display:flex; flex-direction:column; gap:12px; }
  .offer-list li{ list-style:none; display:flex; gap:10px; font-size:14px; color:var(--ivory); }
  .offer-list li svg{ flex:none; margin-top:3px; }
  .offer-card .btn{ width:100%; justify-content:center; }
  .pay-row{ display:flex; gap:12px; margin-top:14px; }
  .pay-row .btn{ flex:1; justify-content:center; font-size:12.5px; padding:13px 14px; }
  .offer-note{ margin-top:16px; font-size:12px; color:var(--sage); }
  .placeholder-note{ margin-top:10px; font-size:11.5px; color:var(--gold); border:1px dashed var(--gold); padding:8px 10px; border-radius:var(--radius); text-align:left; }

  /* ---------- reviews ---------- */
  .rating-summary{ display:flex; align-items:center; justify-content:center; gap:18px; margin-bottom:40px; flex-wrap:wrap; border:1px solid var(--line); padding:18px 22px; border-radius:var(--radius); background:var(--panel); max-width:520px; margin-left:auto; margin-right:auto; }
  .rating-summary .big{ font-family:'Fraunces', serif; font-size:40px; color:var(--gold-soft); line-height:1; }
  .stars{ color:var(--gold); font-size:15px; letter-spacing:2px; }
  .rating-summary .meta{ font-size:12.5px; color:var(--sage); }
  .testimonials{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  @media(max-width:860px){ .testimonials{ grid-template-columns:1fr; } }
  .t-card{ background:var(--panel); border:1px solid var(--line); padding:24px; border-radius:var(--radius); box-shadow:0 2px 10px rgba(30,47,34,0.05); }
  .t-card .head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
  .t-card .name{ font-family:'Space Mono', monospace; font-size:12.5px; color:var(--gold-soft); }
  .t-card p{ font-size:14px; color:var(--ivory); }
  .t-card .loc{ margin-top:12px; font-size:11.5px; color:var(--sage); }

  /* ---------- doctor / about ---------- */
  .doctor-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-bottom:44px; }
  @media(max-width:640px){ .doctor-stats{ grid-template-columns:repeat(2,1fr); } }
  .ds-item{ background:var(--panel); padding:22px; text-align:center; }
  .ds-item .num{ font-family:'Fraunces', serif; font-size:26px; color:var(--gold-soft); }
  .ds-item .lab{ font-size:11px; color:var(--sage); font-family:'Space Mono', monospace; margin-top:4px; }
  .doctor{ display:grid; grid-template-columns:220px 1fr; gap:40px; align-items:start; }
  @media(max-width:640px){ .doctor{ grid-template-columns:1fr; } }
  .doctor-photo{ width:100%; aspect-ratio:3/4; background:linear-gradient(160deg,var(--panel-2),var(--panel)); border:1px solid var(--line); border-radius:var(--radius); display:flex; align-items:center; justify-content:center; }
  .doctor h3{ font-size:24px; }
  .doctor .role{ color:var(--gold-soft); font-family:'Space Mono', monospace; font-size:12.5px; margin-top:6px; display:block; }
  .doctor p{ color:var(--sage); margin-top:16px; max-width:60ch; font-size:14.5px; }
  .doctor .tags{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
  .tag{ border:1px solid var(--line); padding:6px 12px; font-size:11.5px; font-family:'Space Mono', monospace; color:var(--sage); border-radius:var(--radius); }
  .doctor blockquote{ margin-top:18px; padding-left:14px; border-left:2px solid var(--gold); font-size:14px; color:var(--ivory); }

  /* ---------- faq ---------- */
  .faq{ max-width:760px; margin:0 auto; }
  .faq-item{ border-top:1px solid var(--line); }
  .faq-item:last-child{ border-bottom:1px solid var(--line); }
  .faq-q{ width:100%; text-align:left; background:none; border:none; color:var(--ivory); padding:20px 4px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-family:'Fraunces', serif; font-size:16.5px; }
  .faq-q .plus{ font-family:'Space Mono', monospace; color:var(--gold); font-size:18px; transition:transform .2s; flex:none; margin-left:16px; }
  .faq-item.open .faq-q .plus{ transform:rotate(45deg); }
  .faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
  .faq-item.open .faq-a{ max-height:400px; }
  .faq-a p{ padding:0 4px 20px; color:var(--sage); font-size:14.5px; }

  /* ---------- final cta ---------- */
  .final-cta{ text-align:center; background:radial-gradient(ellipse at 50% 0%, rgba(200,155,74,0.14), transparent 60%), var(--panel-2); }
  .final-cta h2{ font-size:clamp(26px,4vw,38px); max-width:700px; margin:0 auto; }
  .final-cta p{ color:var(--sage); margin-top:16px; max-width:56ch; margin-left:auto; margin-right:auto; }
  .final-badges{ display:flex; justify-content:center; gap:20px; flex-wrap:wrap; margin-top:28px; font-family:'Space Mono', monospace; font-size:12px; color:var(--sage); }

  /* ---------- sticky mobile cta ---------- */
  .sticky-cta{ position:fixed; bottom:0; left:0; right:0; z-index:50; background:var(--panel); border-top:1px solid var(--gold); padding:12px 16px; display:none; align-items:center; justify-content:space-between; gap:14px; }
  .sticky-cta .price{ font-family:'Fraunces', serif; color:var(--gold-soft); font-size:16px; }
  @media(max-width:760px){ .sticky-cta{ display:flex; } body{ padding-bottom:78px; } }

  /* ---------- footer ---------- */
  footer{ border-top:1px solid var(--line); padding:40px 0 30px; }
  .foot-grid{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px; align-items:center; }
  .foot-note{ font-size:12px; color:var(--sage); max-width:680px; }
  .foot-brand{ font-family:'Fraunces', serif; font-size:16px; }

  .fade-in{ opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease; }
  .fade-in.show{ opacity:1; transform:none; }
