/* ============================================================
   Her Glow Era — Homepage v2 (editorial redesign)
   Self-contained stylesheet. Does not touch styles.css, so the
   other pages are unaffected while this direction is reviewed.
   ============================================================ */

:root{
  --forest:#1b2415;      /* near-black green: drama, footer, scrims */
  --forest-2:#2b3a22;
  --olive:#7a8152;       /* brand green */
  --olive-deep:#5a6135;
  --cream:#f8f2e7;       /* primary neutral / page */
  --cream-2:#fffdf8;
  --blush:#e8c9d2;       /* brand blush: accent only */
  --rose:#9c536b;        /* accessible warm CTA */
  --rose-deep:#854a63;
  --ink:#211c15;
  --ink-soft:#5f564a;
  --gold:#b8935a;        /* hairline / detail only */
  --line:rgba(33,28,21,0.14);
  --display:'Fraunces',Georgia,'Times New Roman',serif;
  --body:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --wrap:1240px;
  --gutter:clamp(1.25rem,5vw,4rem);
  --section:clamp(3.25rem,7vw,6rem);
  --section-tight:clamp(2.5rem,5vw,4.25rem);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:var(--body);font-size:clamp(1.02rem,1.05vw,1.14rem);
  line-height:1.65;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;line-height:1.02;letter-spacing:-0.015em}
p{margin:0}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.eyebrow{
  font-family:var(--body);font-size:.74rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--olive);
}
.eyebrow.on-dark{color:var(--blush)}

/* ---- Skip link ---- */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--forest);color:#fff;padding:.7rem 1rem;z-index:200}
.skip-link:focus{left:1rem;top:1rem}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--body);font-weight:600;font-size:.98rem;letter-spacing:.01em;
  padding:1rem 1.9rem;border-radius:2px;border:1.5px solid transparent;
  cursor:pointer;transition:background-color .25s ease,color .25s ease,transform .25s ease,border-color .25s ease;
  min-height:52px;
}
.btn-solid{background:var(--forest);color:#f4efe3}
.btn-solid:hover{background:var(--olive-deep);transform:translateY(-2px)}
.btn-rose{background:var(--rose);color:#fff}
.btn-rose:hover{background:var(--rose-deep);transform:translateY(-2px)}
.btn-line{background:transparent;color:currentColor;border-color:currentColor}
.btn-line:hover{background:currentColor;transform:translateY(-2px)}
.btn-line:hover span{color:var(--forest)}
.btn-line.on-cream:hover span{color:var(--cream)}
.btn:focus-visible{outline:3px solid var(--rose);outline-offset:3px}

/* ---------- Header ---------- */
.site-header{position:absolute;top:0;left:0;right:0;z-index:100}
.nav{display:flex;align-items:center;justify-content:space-between;padding-block:1.5rem}
.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--display);font-size:1.55rem;letter-spacing:-.02em;color:#fff}
.site-header .brand{margin-left:-0.85rem}
.brand .mark{width:40px;height:auto}
.brand .glow{font-style:italic}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none;margin:0;padding:0}
.nav-links a{font-family:var(--body);font-size:.94rem;font-weight:500;color:rgba(255,255,255,.92);letter-spacing:.01em;padding:.3rem 0;position:relative}
.nav-links a:not(.nav-cta):hover{color:#fff}
.nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--blush);transition:right .3s ease}
.nav-links a:not(.nav-cta):hover::after{right:0}
.nav-cta{border:1.5px solid rgba(255,255,255,.6);border-radius:2px;padding:.6rem 1.2rem !important}
.nav-cta:hover{background:#fff;color:var(--forest) !important}
.nav-toggle{display:none;background:none;border:0;color:#fff;width:48px;height:48px;cursor:pointer}
.nav-toggle svg{width:26px;height:26px}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:88svh;display:flex;align-items:flex-end;color:#fff;isolation:isolate}
@media (max-width:700px){.hero{min-height:92svh}}
.hero-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(27,36,21,.5) 0%,rgba(27,36,21,.15) 32%,rgba(27,36,21,.45) 66%,rgba(27,36,21,.9) 100%);}
.hero-inner{padding-bottom:clamp(3rem,7vw,6rem);padding-top:8rem;max-width:900px}
.hero h1{font-size:clamp(3.2rem,9vw,7rem);letter-spacing:-.03em;text-wrap:balance}
.hero h1 em{font-style:italic;color:var(--blush)}
.hero-sub{margin-top:1.5rem;max-width:44ch;font-size:clamp(1.12rem,1.7vw,1.4rem);line-height:1.5;color:rgba(255,255,255,.94)}
.hero-actions{margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:.9rem}
.hero-tickets{margin-top:1.1rem;font-size:.98rem;color:rgba(255,255,255,.9)}
.hero-tickets a{color:#fff;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:1px}
.hero-tickets a:hover{border-color:#fff}
.hero-date{margin-top:2rem;font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.hero-date b{font-weight:600;color:#fff}
.scroll-cue{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);z-index:1;color:rgba(255,255,255,.7);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.scroll-cue span:last-child{width:1px;height:34px;background:rgba(255,255,255,.5);animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.4}50%{transform:scaleY(1);opacity:1}}
@media (prefers-reduced-motion:reduce){.scroll-cue span:last-child{animation:none}}

/* ---------- Section shells ---------- */
.band{padding-block:var(--section)}
.band-cream{background:var(--cream)}
.band-blush{background:linear-gradient(180deg,#f3dde3 0%,#efd2da 100%)}
.band-forest{background:var(--forest);color:#f1ece0}
.band-forest .eyebrow{color:var(--blush)}
.lede{font-size:clamp(1.5rem,3.4vw,2.5rem);font-family:var(--display);line-height:1.28;letter-spacing:-.01em;text-wrap:balance}
.measure{max-width:56ch}
.center{text-align:center;margin-inline:auto}
.mt-s{margin-top:1rem}.mt-m{margin-top:1.6rem}.mt-l{margin-top:2.6rem}

/* ---------- Manifesto ---------- */
.manifesto .eyebrow{display:block;margin-bottom:1.6rem}
.manifesto h2{font-size:clamp(2rem,5vw,3.6rem);max-width:18ch}
.manifesto h2 em{font-style:italic;color:var(--rose)}
.manifesto .body{margin-top:1.8rem;max-width:52ch;color:var(--ink-soft);font-size:1.14rem}
.rule{width:64px;height:2px;background:var(--gold);border:0;margin:2.2rem 0}

/* ---------- Mission (two-column, fills the width) ---------- */
.mission-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:end}
.mission-grid .mission-head h2{font-family:var(--display);font-weight:400;font-size:clamp(2rem,4.6vw,3.5rem);line-height:1.12;letter-spacing:-.01em;color:var(--forest);margin:1rem 0 0;max-width:16ch}
.mission-grid .mission-head h2 em{font-style:italic;color:var(--rose)}
.mission-grid .mission-body .rule{margin:0 0 1.3rem}
.mission-grid .mission-body p{color:var(--ink-soft);font-size:1.12rem;max-width:46ch}
@media (max-width:820px){.mission-grid{grid-template-columns:1fr;gap:1.4rem;align-items:start}}

/* ---------- Proof: compact horizontal testimonial band ---------- */
.proof{position:relative;min-height:0;padding-block:clamp(2.75rem,6vw,4.5rem);display:flex;align-items:center;color:#fff;isolation:isolate}
.proof-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 32%}
.proof::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(27,36,21,.86) 0%,rgba(27,36,21,.6) 60%,rgba(27,36,21,.35) 100%)}
.proof blockquote{margin:0;max-width:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem 1.4rem}
.proof .q{font-family:var(--display);font-size:clamp(1.5rem,3.2vw,2.5rem);line-height:1.18;letter-spacing:-.01em;text-wrap:balance;flex:1 1 22ch}
.proof .attr{font-family:var(--body);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blush);white-space:nowrap}
@media (max-width:640px){.proof .q{flex-basis:100%}}

/* ---------- Proof stats strip ---------- */
.proofbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.proofbar .grid{display:grid;grid-template-columns:1.1fr 1.4fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.stat .n{font-family:var(--display);font-size:clamp(3rem,7vw,5rem);line-height:.9;color:var(--forest)}
.stat .l{margin-top:.8rem;color:var(--ink-soft);max-width:26ch}
.voices .eyebrow{display:block;margin-bottom:1.2rem}
.voice-q{font-family:var(--display);font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.32;letter-spacing:-.01em}
.voice-a{margin-top:1rem;font-size:.86rem;letter-spacing:.13em;text-transform:uppercase;color:var(--olive-deep)}
.panel-list{margin-top:2.4rem;border-top:1px solid var(--line);padding-top:1.6rem}
.panel-list .lbl{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1rem}
.panel-list ul{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.panel-list li{display:flex;flex-wrap:wrap;gap:.1rem .8rem;align-items:baseline;padding-bottom:.9rem;border-bottom:1px solid var(--line)}
.panel-list li:last-child{border-bottom:0;padding-bottom:0}
.panel-list .nm{font-family:var(--display);font-size:1.25rem;color:var(--forest)}
.panel-list .rl{color:var(--ink-soft);font-size:.94rem}
/* proof strip v2 — number woven into a headline so it isn't isolated */
.proofbar .proof-facts{font-family:var(--display);font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.22;letter-spacing:-.01em;color:var(--forest);max-width:26ch;margin:0 0 clamp(1.8rem,3.5vw,2.6rem)}
.proofbar .proof-facts .n{color:var(--rose)}
.proofbar .proof-cols{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(1.8rem,4vw,3.5rem);align-items:start}
.proofbar .proof-cols .panel-list{margin-top:0;border-top:0;padding-top:0}
@media (max-width:820px){.proofbar .proof-cols{grid-template-columns:1fr;gap:1.8rem}}

/* ---------- Pillars: editorial numbered ---------- */
.pillars .head{max-width:22ch;margin-bottom:clamp(2.5rem,6vw,4.5rem)}
.pillars .head h2{font-size:clamp(2rem,5vw,3.6rem)}
.pillar{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.2rem,4vw,3.5rem);align-items:baseline;
  padding-block:clamp(1.8rem,4vw,2.8rem);border-top:1px solid var(--line)}
.pillar:last-child{border-bottom:1px solid var(--line)}
.pillar .num{font-family:var(--display);font-size:clamp(1.4rem,3vw,2.2rem);color:var(--gold);font-feature-settings:"tnum"}
.pillar .body h3{font-size:clamp(1.7rem,3.6vw,2.6rem);color:var(--forest)}
.pillar .body p{margin-top:.7rem;max-width:52ch;color:var(--ink-soft)}
.pillar:hover .body h3{color:var(--olive-deep)}

/* ---------- Pillars, horizontal row ---------- */
.pillars-h{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(1.1rem,2.2vw,2rem)}
.pillars-h .p{border-top:2px solid var(--gold);padding-top:1.1rem}
.pillars-h .num{font-family:var(--display);font-size:1.3rem;color:var(--gold);line-height:1}
.pillars-h h3{font-family:var(--display);font-weight:400;font-size:clamp(1.2rem,1.5vw,1.5rem);color:var(--forest);margin:.5rem 0 0;line-height:1.12}
.pillars-h p{margin:.55rem 0 0;color:var(--ink-soft);font-size:.92rem;line-height:1.5}
@media (max-width:900px){.pillars-h{grid-template-columns:1fr 1fr;gap:1.6rem}}
@media (max-width:520px){.pillars-h{grid-template-columns:1fr}}

/* ---------- Split feature (Experiences / Orgs / Founder) ---------- */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.feature.flip .feature-media{order:2}
.feature-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px}
.feature-body h2{font-size:clamp(1.9rem,4.4vw,3rem);color:var(--forest)}
.band-forest .feature-body h2{color:#fff}
.feature-body .lead{margin-top:1.2rem;font-size:1.14rem;color:var(--ink-soft);max-width:46ch}
.band-forest .feature-body .lead{color:rgba(241,236,224,.85)}
.tags{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem}
.tags span{position:relative;padding-left:1rem;color:var(--ink-soft);font-size:.98rem}
.band-forest .tags span{color:rgba(241,236,224,.85)}
.tags span::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--gold)}

/* ---------- Founder quote ---------- */
.founder-q{max-width:none}
.founder-q .q{font-family:var(--display);font-style:italic;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.2;color:var(--forest)}
.founder-q .a{margin-top:1.4rem;font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;color:var(--olive-deep)}

/* ---------- Join / signup ---------- */
.join{text-align:center}
.join h2{font-size:clamp(2.2rem,5.5vw,4rem);color:#fff;max-width:16ch;margin-inline:auto}
.join p{margin-top:1.2rem;color:rgba(241,236,224,.8);max-width:44ch;margin-inline:auto}
.join .form-wrap{margin-top:2.4rem;max-width:520px;margin-inline:auto}
.join-embed :is(.formkit-input){font-family:var(--body) !important;font-size:1rem !important;border-radius:2px !important;padding:1rem 1.2rem !important;min-height:52px !important;border:1px solid rgba(255,255,255,.5) !important;background:rgba(255,255,255,.06) !important;color:#fff !important}
.join-embed :is(.formkit-submit){background:var(--blush) !important;color:var(--forest) !important;border-radius:2px !important;font-family:var(--body) !important;font-weight:600 !important;min-height:52px !important;padding:1rem 1.7rem !important}
.join .fallback{margin-top:1rem}

/* ---------- Footer ---------- */
.site-footer{background:var(--forest);color:rgba(241,236,224,.72);padding-block:clamp(3rem,6vw,4.5rem);border-top:1px solid rgba(255,255,255,.08)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2.5rem}
.foot-grid .brand{color:#fff;font-size:1.4rem}
.foot-grid p{margin-top:1rem;max-width:34ch;font-size:.96rem}
.foot-col h4{font-family:var(--body);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--blush);margin:0 0 1rem}
.foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.foot-col a:hover{color:#fff}
.foot-bottom{margin-top:3rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.85rem}
.foot-bottom a{text-decoration:underline;text-underline-offset:3px}

/* ---------- Two audience pathways ---------- */
.pathways{padding-block:var(--section-tight)}
.pathways-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,1.6rem)}
.pway{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:clamp(360px,46vw,520px);color:#fff;padding:clamp(1.6rem,3vw,2.6rem);border-radius:2px;overflow:hidden}
.pway-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
.pway:hover .pway-img{transform:scale(1.04)}
.pway::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(27,36,21,.15) 0%,rgba(27,36,21,.45) 55%,rgba(27,36,21,.88) 100%)}
.pway .eyebrow{color:var(--blush)}
.pway h3{margin-top:.7rem;font-size:clamp(1.7rem,2.8vw,2.4rem);max-width:18ch}
.pway p{margin-top:.8rem;max-width:40ch;color:rgba(255,255,255,.92);font-size:1.02rem}
.pway-actions{margin-top:1.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.95rem}
.pway-actions .btn{min-width:15.5rem}
.pway .sub-link{font-size:.92rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:1px}
.pway .sub-link:hover{border-color:#fff}
@media (max-width:820px){.pathways-grid{grid-template-columns:1fr}.pway{min-height:400px}}

/* ---------- Compact preview (alternating) ---------- */
.preview{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,5vw,4rem);align-items:center}
.preview.flip .preview-media{order:2}
.preview-media img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:2px}
.preview-body h2{font-size:clamp(1.8rem,4vw,2.7rem);color:var(--forest)}
.band-forest .preview-body h2{color:#fff}
.preview-body .lead{margin-top:1rem;font-size:1.1rem;color:var(--ink-soft);max-width:44ch}
.band-forest .preview-body .lead{color:rgba(241,236,224,.85)}
.preview-body .tags{margin-top:1.3rem}
@media (max-width:820px){.preview{grid-template-columns:1fr}.preview.flip .preview-media{order:0}.preview-media img{aspect-ratio:16/10}}

/* reduced newsletter height */
.band.join{padding-block:clamp(2.6rem,5vw,4.25rem)}

/* ---------- Intro (compact) ---------- */
.intro h2{font-size:clamp(1.9rem,4.6vw,3.2rem);max-width:20ch}
.intro h2 em{font-style:italic;color:var(--rose)}
.intro .sub{margin-top:1.4rem;max-width:52ch;color:var(--ink-soft);font-size:1.12rem}
.intro .proofline{margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .8rem}
.intro .proofline .n{font-family:var(--display);font-size:1.7rem;color:var(--forest)}
.intro .proofline .t{color:var(--ink-soft)}

/* ---------- Routes (the front-door gateway) ---------- */
.routes .head{max-width:26ch;margin-bottom:clamp(2rem,5vw,3.5rem)}
.routes .head h2{font-size:clamp(1.9rem,4.6vw,3.2rem)}
.routes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.2vw,1.6rem)}
.route{display:flex;flex-direction:column;color:var(--ink)}
.route .thumb{overflow:hidden;border-radius:2px}
.route .thumb img{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.route:hover .thumb img{transform:scale(1.05)}
.route h3{margin-top:1.1rem;font-size:1.5rem;color:var(--forest)}
.route p{margin-top:.5rem;color:var(--ink-soft);font-size:.98rem;max-width:30ch}
.route .go{margin-top:.9rem;font-family:var(--body);font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--olive-deep);display:inline-flex;align-items:center;gap:.5rem}
.route .go::after{content:"\2192";transition:transform .3s ease}
.route:hover .go::after{transform:translateX(5px)}
.route:hover h3{color:var(--olive-deep)}

@media (max-width:900px){.routes-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.routes-grid{grid-template-columns:1fr}.route .thumb img{aspect-ratio:16/10}}

/* ---------- Inner-page hero (shorter than homepage) ---------- */
.page-hero{position:relative;min-height:56svh;display:flex;align-items:flex-end;color:#fff;isolation:isolate}
.page-hero .ph-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(27,36,21,.55) 0%,rgba(27,36,21,.35) 40%,rgba(27,36,21,.85) 100%)}
.page-hero .inner{padding-top:7.5rem;padding-bottom:clamp(2.5rem,5vw,4rem);max-width:800px}
.page-hero .eyebrow{color:var(--blush)}
.page-hero h1{margin-top:.9rem;font-size:clamp(2.4rem,6vw,4.6rem);letter-spacing:-.02em;text-wrap:balance}
.page-hero .sub{margin-top:1.3rem;font-size:clamp(1.06rem,1.6vw,1.32rem);color:rgba(255,255,255,.94);max-width:50ch;line-height:1.5}

/* ---------- Editorial blocks (audiences, formats) ---------- */
.section-head{max-width:24ch;margin-bottom:clamp(2rem,5vw,3.5rem)}
.section-head.center{margin-inline:auto;text-align:center;max-width:none}
.section-head h2{font-size:clamp(1.9rem,4.4vw,3rem);color:var(--forest)}
.band-forest .section-head h2{color:#fff}
.blocks{display:grid;gap:clamp(1.4rem,3vw,2.6rem)}
.blocks.cols-2{grid-template-columns:1fr 1fr}
.blocks.cols-3{grid-template-columns:repeat(3,1fr)}
.block{border-top:1px solid var(--line);padding-top:1.2rem}
.block h3{font-family:var(--display);font-size:clamp(1.35rem,2.4vw,1.8rem);color:var(--forest);line-height:1.1}
.block p{margin-top:.6rem;color:var(--ink-soft)}
.band-forest .block{border-color:rgba(255,255,255,.16)}
.band-forest .block h3{color:#fff}
.band-forest .block p{color:rgba(241,236,224,.82)}
@media (max-width:820px){.blocks.cols-2,.blocks.cols-3{grid-template-columns:1fr}}

/* ---------- Checklist ---------- */
.checklist{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:.85rem;max-width:60ch}
.checklist li{position:relative;padding-left:1.6rem;color:var(--ink-soft)}
.band-forest .checklist li{color:rgba(241,236,224,.85)}
.checklist li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.fineprint{margin-top:1.6rem;font-size:.92rem;color:var(--ink-soft);max-width:52ch}

/* ---------- Contact form ---------- */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;gap:2.5rem}}
.intent-list{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:1.2rem}
.intent-list li{border-top:1px solid var(--line);padding-top:1rem}
.intent-list .t{display:block;font-family:var(--display);font-size:1.2rem;color:var(--forest)}
.intent-list .d{display:block;margin-top:.35rem;color:var(--ink-soft);font-size:.96rem}
.form{display:grid;gap:1.2rem;max-width:560px}
.field label{display:block;font-size:.9rem;font-weight:600;color:var(--forest);margin-bottom:.5rem}
.field .req{color:var(--rose)}
.field input,.field select,.field textarea{width:100%;font-family:var(--body);font-size:1rem;color:var(--ink);background:#fffdfa;border:1px solid rgba(33,28,21,.22);border-radius:2px;padding:.9rem 1.1rem;min-height:52px}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--olive);outline-offset:2px;border-color:var(--olive-deep)}
.form .form-note{font-size:.9rem;color:var(--ink-soft)}
/* Honeypot: reachable for bots, off-screen for people (not display:none, which bots skip) */
.hp-field{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;opacity:0 !important;pointer-events:none !important}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .nav-links{position:fixed;inset:0 0 0 auto;width:min(78vw,340px);background:var(--forest);flex-direction:column;align-items:flex-start;justify-content:center;gap:1.6rem;padding:2rem;transform:translateX(100%);transition:transform .35s ease;z-index:150}
  .nav-links.open{transform:none}
  .nav-links a{font-size:1.25rem;color:#fff}
  .nav-toggle{display:inline-flex;position:relative;z-index:160}
  .proofbar .grid,.feature{grid-template-columns:1fr}
  .feature.flip .feature-media{order:0}
  .feature-media img{aspect-ratio:16/10}
  .foot-grid{grid-template-columns:1fr}
  .proof::after{background:linear-gradient(180deg,rgba(27,36,21,.35) 0%,rgba(27,36,21,.85) 100%)}
  .pillar{grid-template-columns:1fr;gap:.4rem}
}
