/* ============================================================
   HairGain 90 — Aston Sequoia
   Botanical-clinical design system
   ============================================================ */

:root{
  --forest:#123227;
  --forest-2:#1b4735;
  --moss:#3f7d5f;
  --moss-soft:#e4efe7;
  --cream:#faf7ef;
  --sand:#f0e9da;
  --sand-2:#e7dcc7;
  --ink:#182019;
  --ink-soft:#41504a;
  --line:#e2dccd;
  --gold:#c19758;
  --gold-2:#a97f3e;
  --white:#ffffff;

  --radius:18px;
  --radius-sm:12px;
  --shadow-sm:0 2px 10px rgba(18,50,39,.06);
  --shadow:0 18px 50px rgba(18,50,39,.12);
  --shadow-lg:0 30px 80px rgba(18,50,39,.20);

  --serif:"Fraunces", Georgia, serif;
  --sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --wrap:1140px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

.container{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px;}
.container.narrow{max-width:820px;}

h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.12;letter-spacing:-.01em;color:var(--forest);}
h1{font-size:clamp(2.3rem,5vw,4rem);font-weight:500;}
h1 em{font-style:italic;color:var(--gold-2);}
h2{font-size:clamp(1.8rem,3.4vw,2.7rem);}
h3{font-size:1.3rem;}

.kicker{
  font-family:var(--sans);font-weight:600;font-size:.74rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold-2);margin-bottom:14px;
}
.kicker.light{color:var(--gold);}
.eyebrow{
  display:inline-block;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--moss);font-weight:600;margin-bottom:20px;
  padding:7px 14px;border:1px solid var(--line);border-radius:100px;background:var(--white);
}
.lead{font-size:1.12rem;color:var(--ink-soft);}
p{color:var(--ink-soft);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--sans);font-weight:600;font-size:.98rem;
  padding:15px 26px;border-radius:100px;border:1px solid transparent;
  cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--forest);color:var(--cream);box-shadow:0 10px 24px rgba(18,50,39,.22);}
.btn-primary:hover{background:var(--forest-2);transform:translateY(-2px);box-shadow:0 16px 34px rgba(18,50,39,.28);}
.btn-ghost{background:transparent;color:var(--forest);border-color:var(--line);}
.btn-ghost:hover{background:var(--white);border-color:var(--moss);}
.btn-sm{padding:11px 20px;font-size:.9rem;}
.btn-lg{padding:18px 36px;font-size:1.05rem;}
.btn-block{width:100%;}

/* ---------- Announce ---------- */
.announce{
  background:var(--forest);color:#d7e6db;text-align:center;
  font-size:.78rem;letter-spacing:.03em;padding:9px 16px;
}
.announce span{opacity:.9;}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:60;background:rgba(250,247,239,.82);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;gap:24px;height:70px;}
.brand{display:flex;align-items:center;gap:10px;color:var(--forest);}
.brand-mark{color:var(--moss);display:flex;}
.brand-text{font-family:var(--serif);font-weight:600;font-size:1.35rem;letter-spacing:-.02em;}
.brand-90{color:var(--gold-2);}
.main-nav{display:flex;gap:28px;margin-left:auto;}
.main-nav a{font-size:.92rem;font-weight:500;color:var(--ink-soft);transition:color .15s;}
.main-nav a:hover{color:var(--forest);}
.nav-cta{margin-left:8px;}
.nav-toggle{display:none;background:none;border:0;flex-direction:column;gap:5px;cursor:pointer;padding:8px;}
.nav-toggle span{width:22px;height:2px;background:var(--forest);border-radius:2px;transition:.2s;}

/* ---------- Hero ---------- */
.hero{position:relative;padding:74px 0 90px;overflow:hidden;
  background:
    radial-gradient(1100px 500px at 85% -10%, var(--moss-soft), transparent 60%),
    linear-gradient(180deg,var(--cream),var(--cream));
}
.hero-glow{position:absolute;top:-120px;right:-120px;width:520px;height:520px;
  background:radial-gradient(circle,rgba(63,125,95,.16),transparent 68%);filter:blur(10px);z-index:0;}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
.hero-copy h1{margin-bottom:22px;}
.hero-sub{font-size:1.14rem;color:var(--ink-soft);max-width:36em;margin-bottom:30px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:30px;}
.hero-trust{list-style:none;display:flex;flex-direction:column;gap:11px;}
.hero-trust li{display:flex;align-items:center;gap:10px;font-size:.95rem;color:var(--ink);font-weight:500;}
.tick{width:20px;height:20px;flex:none;fill:none;stroke:var(--moss);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}

/* Pledge card */
.hero-card{display:flex;flex-direction:column;align-items:center;}
.pledge-card{
  width:100%;max-width:400px;background:var(--white);border:1px solid var(--line);
  border-radius:24px;box-shadow:var(--shadow);padding:28px;position:relative;
}
.pledge-top{display:flex;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line);}
.pledge-days{font-family:var(--serif);font-size:3.4rem;font-weight:600;color:var(--forest);line-height:1;}
.pledge-label{font-weight:600;color:var(--forest);font-size:1.05rem;}
.pledge-note{font-size:.85rem;color:var(--ink-soft);}
.pledge-rows{padding:18px 0;display:flex;flex-direction:column;gap:14px;}
.pledge-row{display:flex;justify-content:space-between;gap:14px;align-items:baseline;font-size:.9rem;}
.pledge-row span{color:var(--ink-soft);}
.pledge-row strong{color:var(--forest);text-align:right;font-weight:600;}
.pledge-price{display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-top:1px solid var(--line);padding-top:18px;}
.price-amt{font-family:var(--serif);font-size:1.9rem;font-weight:600;color:var(--forest);display:block;}
.price-unit{font-size:.78rem;color:var(--ink-soft);}

/* ---------- Strip ---------- */
.strip{background:var(--forest);color:var(--cream);}
.strip-inner{display:grid;grid-template-columns:repeat(4,1fr);}
.strip-item{padding:26px 20px;text-align:center;border-right:1px solid rgba(255,255,255,.08);}
.strip-item:last-child{border-right:0;}
.strip-item strong{display:block;font-family:var(--serif);font-size:1.15rem;color:var(--white);margin-bottom:3px;}
.strip-item span{font-size:.82rem;color:#a9c4b4;}

/* ---------- Sections ---------- */
.section{padding:90px 0;}
.section-head{max-width:680px;margin:0 auto 54px;text-align:center;}
.section-intro{margin-top:16px;font-size:1.08rem;color:var(--ink-soft);}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.grid-2.align-top{align-items:start;}
.section-tint{background:linear-gradient(180deg,var(--sand),var(--cream));}

/* dark */
.section-dark{background:var(--forest);color:#cfe0d6;}
.section-dark h2{color:var(--white);}
.section-dark .section-intro{color:#a9c4b4;}
.section-dark p{color:#b6ccc0;}

/* Phase cards */
.phase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:40px;}
.phase-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius);padding:30px 26px;transition:.25s;}
.phase-card:hover{background:rgba(255,255,255,.08);transform:translateY(-4px);}
.phase-no{font-family:var(--serif);font-size:1.6rem;color:var(--gold);margin-bottom:14px;}
.phase-card h3{color:var(--white);margin-bottom:10px;font-size:1.18rem;}
.science-foot{text-align:center;max-width:720px;margin:0 auto;font-size:1.12rem;color:#cfe0d6;}
.science-foot strong{color:var(--gold);}

/* ---------- Timeline ---------- */
.timeline{max-width:860px;margin:0 auto;position:relative;}
.timeline::before{content:"";position:absolute;left:39px;top:20px;bottom:20px;width:2px;background:var(--sand-2);}
.tl-item{display:grid;grid-template-columns:80px 1fr;gap:26px;position:relative;padding:14px 0;}
.tl-marker{width:80px;height:80px;border-radius:50%;background:var(--white);border:2px solid var(--moss);
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;
  color:var(--forest);font-size:1.05rem;z-index:1;box-shadow:var(--shadow-sm);}
.tl-body{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px 28px;box-shadow:var(--shadow-sm);flex:1;}
.tl-tag{font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);margin-bottom:8px;}
.tl-body h3{margin-bottom:8px;}

/* ---------- Feature list / inside ---------- */
.dose-callout{margin-top:26px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 26px;box-shadow:var(--shadow-sm);}
.dose-big{font-family:var(--serif);font-size:2.2rem;color:var(--forest);font-weight:600;}
.dose-txt{font-size:.95rem;color:var(--ink-soft);}
.feature-list{list-style:none;display:flex;flex-direction:column;gap:16px;}
.feature-list li{display:flex;gap:16px;background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius-sm);padding:20px 22px;box-shadow:var(--shadow-sm);}
.fl-icon{width:42px;height:42px;flex:none;border-radius:50%;background:var(--moss-soft);color:var(--forest-2);
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;font-size:1.1rem;}
.feature-list strong{color:var(--forest);display:block;margin-bottom:2px;}
.feature-list p{font-size:.92rem;}

/* ---------- Include grid ---------- */
.include-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.include-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px 26px;box-shadow:var(--shadow-sm);transition:.22s;}
.include-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.inc-ic{color:var(--gold-2);font-size:1.1rem;margin-bottom:12px;}
.include-card h4{font-size:1.1rem;margin-bottom:8px;}
.include-card p{font-size:.92rem;}

/* ---------- Eligibility ---------- */
.elig-grid{gap:26px;}
.elig-card{border-radius:var(--radius);padding:32px;box-shadow:var(--shadow-sm);}
.elig-card h3{margin-bottom:18px;font-size:1.25rem;}
.elig-card ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.elig-card li{position:relative;padding-left:30px;font-size:.96rem;color:var(--ink);}
.elig-card li::before{position:absolute;left:0;top:1px;font-weight:700;font-size:1rem;}
.elig-card.yes{background:var(--white);border:1px solid var(--moss);}
.elig-card.yes li::before{content:"✓";color:var(--moss);}
.elig-card.no{background:var(--white);border:1px solid var(--sand-2);}
.elig-card.no li::before{content:"✕";color:#b98a5a;}
.elig-note{text-align:center;max-width:680px;margin:30px auto 0;font-size:.92rem;color:var(--ink-soft);}

/* ---------- Order ---------- */
.order-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:0;background:var(--forest);
  border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);}
.order-left{padding:52px 48px;color:#cfe0d6;}
.order-left h2{color:var(--white);margin-bottom:14px;}
.order-left p{color:#b6ccc0;margin-bottom:24px;}
.order-includes{list-style:none;display:flex;flex-direction:column;gap:12px;}
.order-includes li{display:flex;align-items:center;gap:10px;color:#e2eee7;font-size:.96rem;}
.order-includes .tick{stroke:var(--gold);}
.order-card{background:var(--cream);padding:44px 40px;display:flex;flex-direction:column;justify-content:center;}
.oc-badge{align-self:flex-start;background:var(--moss-soft);color:var(--forest-2);font-size:.72rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:100px;margin-bottom:20px;}
.oc-price{display:flex;align-items:baseline;gap:10px;}
.oc-amt{font-family:var(--serif);font-size:3rem;font-weight:600;color:var(--forest);line-height:1;}
.oc-was{color:var(--ink-soft);font-size:.95rem;}
.oc-mrp{color:var(--ink-soft);font-size:1.1rem;text-decoration:line-through;text-decoration-color:#b98a5a;}
.oc-sub{color:var(--ink-soft);font-size:.92rem;margin:8px 0 12px;}
.oc-perday{font-size:.95rem;color:var(--forest);margin:0 0 20px;font-weight:500;}
.oc-perday strong{color:var(--gold-2);font-weight:700;}
.oc-secure{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:16px;
  font-size:.82rem;color:var(--ink-soft);}
.oc-secure svg{color:var(--moss);}

/* ---------- FAQ ---------- */
.faq{display:flex;flex-direction:column;gap:12px;}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:4px 24px;box-shadow:var(--shadow-sm);}
.faq summary{list-style:none;cursor:pointer;padding:20px 34px 20px 0;font-family:var(--serif);
  font-size:1.1rem;color:var(--forest);font-weight:600;position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq-x{position:absolute;right:0;top:50%;width:16px;height:16px;transform:translateY(-50%);}
.faq-x::before,.faq-x::after{content:"";position:absolute;background:var(--moss);border-radius:2px;
  top:50%;left:50%;transition:.2s;}
.faq-x::before{width:16px;height:2px;transform:translate(-50%,-50%);}
.faq-x::after{width:2px;height:16px;transform:translate(-50%,-50%);}
.faq details[open] .faq-x::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0;}
.faq details p{padding:0 0 22px;font-size:.98rem;}

/* ---------- Group trust strip ---------- */
.group-band{padding:46px 0;background:var(--sand);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.group-label{text-align:center;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:26px;}
.group-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:40px 52px;}
.group-logos img{height:44px;width:auto;max-width:160px;object-fit:contain;filter:grayscale(1);opacity:.55;transition:filter .25s ease, opacity .25s ease;}
.group-logos img:hover{filter:grayscale(0);opacity:1;}
@media (max-width:560px){ .group-logos{gap:28px 34px;} .group-logos img{height:34px;} }

/* ---------- Final CTA ---------- */
.final-cta{background:
    radial-gradient(700px 300px at 50% 0%, var(--moss-soft), transparent 70%),
    var(--cream);
  padding:90px 0;text-align:center;border-top:1px solid var(--line);}
.final-inner{max-width:720px;margin:0 auto;}
.final-cta h2{margin-bottom:28px;font-size:clamp(1.9rem,3.6vw,2.9rem);}
.final-note{margin-top:18px;font-size:.9rem;color:var(--ink-soft);letter-spacing:.02em;}

/* ---------- Footer ---------- */
.site-footer{background:var(--forest);color:#a9c4b4;padding:60px 0 30px;}
.footer-inner{display:grid;grid-template-columns:1.3fr 1.7fr;gap:48px;padding-bottom:40px;
  border-bottom:1px solid rgba(255,255,255,.1);}
.footer-brand .brand-text{color:var(--white);font-size:1.4rem;}
.footer-brand p{color:#a9c4b4;margin-top:14px;font-size:.92rem;max-width:32em;}
.footer-brand strong{color:#e2eee7;}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.footer-col h4{color:var(--white);font-family:var(--sans);font-size:.78rem;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:14px;}
.footer-col a{display:block;color:#a9c4b4;font-size:.9rem;padding:5px 0;transition:color .15s;}
.footer-col a:hover{color:var(--white);}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding-top:24px;font-size:.8rem;color:#8fae9d;}
.footer-fine{max-width:44em;}

/* ---------- Modal ---------- */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px;}
.modal.open{display:flex;}
.modal-backdrop{position:absolute;inset:0;background:rgba(18,32,25,.55);backdrop-filter:blur(4px);}
.modal-card{position:relative;background:var(--cream);border-radius:22px;max-width:480px;width:100%;
  padding:36px;box-shadow:var(--shadow-lg);max-height:92vh;overflow:auto;animation:pop .28s ease;}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.98);}to{opacity:1;transform:none;}}
.modal-close{position:absolute;top:16px;right:18px;background:none;border:0;font-size:1.8rem;
  line-height:1;color:var(--ink-soft);cursor:pointer;}
.modal-head{margin-bottom:22px;}
.modal-head h3{margin:4px 0 8px;}
.modal-head p{font-size:.9rem;}
.order-form{display:flex;flex-direction:column;gap:14px;}
.fld{display:flex;flex-direction:column;gap:6px;}
.fld label{font-size:.82rem;font-weight:600;color:var(--forest);}
.fld .opt{color:var(--ink-soft);font-weight:400;}
.fld input,.fld textarea{font-family:var(--sans);font-size:.95rem;padding:12px 14px;
  border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);resize:vertical;}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--moss);box-shadow:0 0 0 3px var(--moss-soft);}
.form-fine{font-size:.78rem;color:var(--ink-soft);text-align:center;}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1;transform:none;}

/* ---------- Brand logo (header) ---------- */
.brand-logo{height:26px;width:auto;display:block;}
.brand-90-badge{font-family:var(--serif);font-weight:700;font-size:.85rem;color:var(--gold-2);
  background:var(--sand);border:1px solid var(--sand-2);border-radius:7px;padding:0 7px;line-height:1.5;}

/* ---------- Hero product visual ---------- */
.product-shot{width:100%;max-width:400px;background:linear-gradient(180deg,#fff,var(--sand));border:1px solid var(--line);
  border-radius:18px;padding:22px 22px 14px;box-shadow:var(--shadow-sm);margin-bottom:-30px;position:relative;z-index:2;}
.product-shot img.ps-box{width:100%;height:auto;display:block;border-radius:8px;}
.product-shot .ps-tablets{position:absolute;right:14px;bottom:-26px;width:120px;height:auto;
  filter:drop-shadow(0 10px 16px rgba(18,50,39,.28));}
.pledge-card{padding-top:44px;}

/* ---------- Cycle figure (science) ---------- */
.cycle-figure{max-width:760px;margin:0 auto 38px;background:var(--white);border-radius:var(--radius);
  padding:20px;box-shadow:var(--shadow);}
.cycle-figure img{width:100%;height:auto;border-radius:10px;display:block;}
.cycle-figure figcaption{margin-top:14px;text-align:center;font-size:.88rem;color:var(--ink-soft);}

/* ---------- Inside / ingredients ---------- */
.inside-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center;}
.inside-visual{position:relative;background:radial-gradient(circle at 50% 40%, var(--white), var(--moss-soft));
  border:1px solid var(--line);border-radius:22px;padding:40px 30px;text-align:center;box-shadow:var(--shadow-sm);}
.inside-visual .tablets-img{width:78%;max-width:280px;height:auto;margin:0 auto;
  filter:drop-shadow(0 16px 26px rgba(18,50,39,.22));}
.dose-badge{display:inline-flex;flex-direction:column;margin-top:22px;background:var(--forest);color:var(--cream);
  border-radius:14px;padding:12px 24px;}
.dose-badge strong{font-family:var(--serif);font-size:1.25rem;}
.dose-badge span{font-size:.8rem;color:#a9c4b4;}
.ingredient-grid{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ingredient-grid li{background:var(--white);border:1px solid var(--line);border-radius:12px;
  padding:16px 18px;box-shadow:var(--shadow-sm);}
.ig-amt{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--gold-2);
  background:var(--sand);border-radius:100px;padding:2px 10px;margin-bottom:8px;}
.ingredient-grid strong{display:block;color:var(--forest);font-size:1rem;margin-bottom:3px;}
.ingredient-grid p{font-size:.85rem;line-height:1.5;}
.inside-foot{text-align:center;max-width:680px;margin:34px auto 0;font-size:.92rem;color:var(--ink-soft);}

/* ---------- Results ---------- */
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:940px;margin:0 auto;}
.result-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);
  padding:34px 26px;text-align:center;}
.rc-num{font-family:var(--serif);font-size:3rem;font-weight:600;color:var(--gold);line-height:1;margin-bottom:10px;}
.rc-lbl{color:var(--white);font-weight:600;font-size:1.05rem;margin-bottom:4px;}
.rc-sub{color:#a9c4b4;font-size:.85rem;}
.results-refs{max-width:900px;margin:28px auto 0;text-align:center;font-size:.78rem;line-height:1.65;color:#8fae9d;}
.results-refs em{color:#c8dcd0;font-style:italic;}

/* ---------- Order card product thumb ---------- */
.oc-thumb{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);
  background:linear-gradient(180deg,#fff,var(--sand));padding:10px;margin-bottom:20px;box-shadow:var(--shadow-sm);}

@media (max-width:960px){
  .inside-layout{grid-template-columns:1fr;gap:28px;}
  .ingredient-grid{grid-template-columns:1fr 1fr;}
  .results-grid{grid-template-columns:1fr;max-width:420px;}
  .product-shot .ps-tablets{width:96px;}
}
@media (max-width:560px){
  .ingredient-grid{grid-template-columns:1fr;}
}

/* ---------- Legal pages ---------- */
.legal-hero{background:linear-gradient(180deg,var(--sand),var(--cream));padding:60px 0 40px;border-bottom:1px solid var(--line);}
.legal-hero h1{font-size:clamp(2rem,4vw,3rem);}
.legal-hero .crumb{font-size:.85rem;color:var(--ink-soft);margin-bottom:14px;}
.legal-hero .crumb a{color:var(--moss);}
.legal-body{padding:56px 0 80px;}
.legal-body h2{font-size:1.4rem;margin:34px 0 12px;}
.legal-body h2:first-child{margin-top:0;}
.legal-body p,.legal-body li{color:var(--ink-soft);font-size:1rem;margin-bottom:12px;}
.legal-body ul{padding-left:22px;margin-bottom:16px;}
.legal-body a{color:var(--gold-2);text-decoration:underline;}
.legal-body .updated{font-size:.85rem;color:var(--ink-soft);margin-bottom:30px;}
.legal-body strong{color:var(--forest);}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .hero-inner{grid-template-columns:1fr;gap:40px;}
  .hero-card{justify-content:flex-start;}
  .grid-2{grid-template-columns:1fr;gap:30px;}
  .phase-grid{grid-template-columns:1fr;}
  .include-grid{grid-template-columns:1fr 1fr;}
  .order-wrap{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;gap:32px;}
}
@media (max-width:720px){
  .main-nav,.nav-cta{display:none;}
  .nav-toggle{display:flex;margin-left:auto;}
  .main-nav.open{display:flex;position:absolute;top:70px;left:0;right:0;flex-direction:column;
    background:var(--cream);border-bottom:1px solid var(--line);padding:16px 24px;gap:6px;}
  .main-nav.open a{padding:10px 0;}
  .section{padding:64px 0;}
  .strip-inner{grid-template-columns:1fr 1fr;}
  .strip-item:nth-child(2){border-right:0;}
  .strip-item{border-bottom:1px solid rgba(255,255,255,.08);}
  .include-grid{grid-template-columns:1fr;}
  .order-left,.order-card{padding:36px 28px;}
  .timeline::before{left:27px;}
  .tl-item{grid-template-columns:56px 1fr;gap:16px;}
  .tl-marker{width:56px;height:56px;font-size:.85rem;}
  .footer-cols{grid-template-columns:1fr 1fr;}
  .footer-bottom{flex-direction:column;gap:10px;}
}
