:root{
    --forest:#013e37;
    --forest-800:#013e37;
    --forest-900:#002e29;      /* deepest anchor */
    --amber:#f2dd94;           /* aged brass, calmer than caution-yellow */
    --amber-soft:#f7e6a8;
    --amber-text:#0a463d;      /* amber dark enough for text on light bg (AA) */
    --cream:#eee5cd;           /* base light bg */
    --paper:#f3ebd4;           /* raised light bg */
    --ink:#14201c;             /* headings on light */
    --body:#39463f;            /* body on light */
    --muted:#51605a;
    --line:#ddd7c2;            /* hairline on light, softer */
    --on-dark:#eef0dc;         /* body on forest */
    --on-dark-mut:#9fb0a8;     /* muted on forest */
    --line-dark:rgba(255,239,179,.16);
    --maxw:1140px;
    --gutter:28px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion: reduce){html{scroll-behavior:auto} *{transition:none!important;animation:none!important}}
  body{
    font-family:"Inter",system-ui,sans-serif; color:var(--ink); background:var(--cream);
    -webkit-font-smoothing:antialiased; line-height:1.66; font-size:16.5px;
  }
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter)}
  .display{font-family:"Fraunces"; letter-spacing:-.01em; line-height:1.06}
  h1,h2,h3{font-family:"Fraunces"; letter-spacing:-.008em; line-height:1.14}
  a{color:inherit; text-decoration:none}
  ::selection{background:var(--amber); color:#013e37}
  a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--amber); outline-offset:3px; border-radius:4px}
  .skip{position:absolute; left:-9999px; top:0; background:#fff; color:var(--forest-900); font-family:"Fraunces"; font-weight:600; padding:12px 18px; border-radius:8px; z-index:100}
  .skip:focus{left:16px; top:12px}

  /* recurring signature mark: the short amber rule from the brand cards */
  .rule{display:block; width:38px; height:2px; background:var(--amber); border-radius:2px; margin-bottom:26px}
  .rule.center{margin-left:auto; margin-right:auto}
  .kicker{font-family:"Inter"; font-weight:600; font-size:12.5px; text-transform:uppercase; letter-spacing:.16em; color:var(--amber-text); margin-bottom:20px}

  /* buttons: refined, quiet, editorial */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; font-family:"Fraunces";
    font-weight:600; font-size:15.5px; border-radius:6px; padding:16px 30px; cursor:pointer;
    border:1px solid transparent; transition:background .18s ease, color .18s ease, border-color .18s ease; letter-spacing:-.01em;
  }
  .btn-primary{background:var(--forest-800); color:#fff}
  .btn-primary:hover{background:var(--forest-900)}
  .btn-primary:focus-visible{outline:3px solid rgba(46,90,70,.45); outline-offset:2px}
  .btn-forest{background:var(--forest-800); color:#fff}
  .btn-forest:hover{background:var(--forest-900)}
  .btn-forest:focus-visible{outline:3px solid rgba(46,90,70,.45); outline-offset:2px}
  .btn-line{background:transparent; color:var(--ink); border-color:var(--line)}
  .btn-line:hover{border-color:var(--ink)}
  .btn-line-light{background:transparent; color:#fff; border-color:var(--line-dark)}
  .btn-line-light:hover{border-color:#fff}
  .btn-lg{padding:18px 36px; font-size:16px}
  /* amber accent button, used sparingly for the single hero action */
  .btn-amber{background:var(--amber); color:#231a09}
  .btn-amber:hover{background:var(--amber-soft)}
  .btn-amber:focus-visible{outline:3px solid rgba(184,132,44,.45); outline-offset:2px}
  /* button used on the dark book band: solid cream, reads premium on forest */
  .btn-oncream{background:var(--cream); color:var(--forest-900)}
  .btn-oncream:hover{background:#fff}
  .btn-oncream:focus-visible{outline:3px solid rgba(244,239,227,.5); outline-offset:2px}
  /* butter accent button — deep-green text on soft butter, for actions on the dark bands */
  .btn-butter{background:var(--amber); color:#013e37; font-weight:600}
  .btn-butter:hover{background:var(--amber-soft)}
  .btn-butter:focus-visible{outline:3px solid rgba(255,239,179,.5); outline-offset:2px}



  /* nav */
  nav{position:sticky; top:0; z-index:50; background:rgba(244,239,227,.86); backdrop-filter:saturate(140%) blur(12px); border-bottom:1px solid var(--line)}
  .nav-in{display:flex; align-items:center; justify-content:space-between; height:72px}
  .brand{display:flex; align-items:center; gap:11px}
  .brand .mark{width:34px;height:34px;border:2px solid var(--amber);border-radius:7px;display:flex;align-items:center;justify-content:center;font-family:"Fraunces";font-weight:700;font-size:16px;color:var(--ink);letter-spacing:-.03em}
  .brand .mark span{color:var(--amber)}
  .brand .nm{font-family:"Fraunces";font-weight:700;font-size:21px;letter-spacing:-.02em}
  .nav-links{display:flex; align-items:center; gap:30px}
  .nav-links a.lnk{font-size:15.5px; color:var(--body); font-weight:500; transition:color .15s}
  .nav-links a.lnk:hover{color:var(--ink)}
  .navburger{display:none; background:none; border:0; cursor:pointer; width:44px; height:44px; padding:11px; flex-direction:column; justify-content:center; gap:5px}
  .navburger span{display:block; height:2px; width:100%; background:var(--ink); border-radius:2px}
  @media(max-width:860px){
    .navburger{display:inline-flex}
    .nav-links{position:absolute; top:100%; left:0; right:0; background:var(--paper); border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; gap:0; padding:6px 0 12px; display:none; box-shadow:0 22px 44px -30px rgba(0,0,0,.45)}
    .nav-links.open{display:flex}
    .nav-links a.lnk{display:block; width:100%; padding:14px var(--gutter); font-size:16.5px}
    .nav-links a.lnk.active::after{display:none}
    .nav-links .btn{margin:10px var(--gutter) 4px; text-align:center}
  }

  /* ============ HERO ============ */
  .hero{background:var(--forest-900); color:#fff; position:relative; overflow:hidden}
  .hero-in{display:grid; grid-template-columns:1.08fr .92fr; gap:72px; align-items:center; padding:104px 0 128px}
  .hero h1{font-size:clamp(38px,5.4vw,66px); font-weight:500; color:#fff}
  .hero h1 .amb{color:var(--amber-soft)}
  .hero .lede{font-size:clamp(18px,1.9vw,20px); color:var(--on-dark); max-width:46ch; margin:30px 0 40px; line-height:1.6}
  .hero-cta{display:flex; gap:12px; flex-wrap:wrap}
  .hero-trust{margin-top:40px; padding-top:24px; border-top:1px solid var(--line-dark); display:flex; flex-wrap:wrap; gap:10px 30px}
  .hero-trust span{font-size:14.5px; color:var(--on-dark-mut); display:inline-flex; align-items:center; gap:9px}
  .hero-trust .d{width:5px;height:5px;border-radius:50%;background:var(--amber);flex:none}

  /* hero artifact: the distillation, calmed right down */
  .distill{position:relative; height:420px}
  .distill-cap{position:absolute; font-size:12px; font-weight:500; color:var(--on-dark-mut); letter-spacing:.02em}
  .distill-cap.l{left:2px; top:-4px}
  .distill-cap.r{right:2px; top:-4px; color:var(--amber-soft)}
  .cloud{position:absolute; left:0; top:26px; width:50%; height:calc(100% - 40px)}
  .chip{position:absolute; font-size:12px; color:var(--on-dark-mut); border:1px solid var(--line-dark); border-radius:20px; padding:4px 11px; white-space:nowrap; opacity:0; animation:chipIn .7s ease forwards; background:rgba(244,239,227,.02)}
  @keyframes chipIn{to{opacity:.42}}
  .lens{position:absolute; left:50%; top:26px; bottom:14px; width:1px; background:linear-gradient(to bottom, transparent, var(--amber-soft) 22%, var(--amber-soft) 78%, transparent)}
  .picks{position:absolute; right:0; top:50%; transform:translateY(-50%); width:47%; display:flex; flex-direction:column; gap:14px}
  .pick{border:1px solid var(--line-dark); border-left:2px solid var(--amber); border-radius:8px; padding:14px 16px; background:rgba(244,239,227,.03); opacity:0; transform:translateX(12px); animation:pickIn .6s cubic-bezier(.2,.7,.3,1) forwards}
  .pick .cat{font-size:11px; font-weight:600; color:var(--amber-soft); letter-spacing:.04em}
  .pick .nm{font-family:"Fraunces"; font-weight:600; font-size:15.5px; color:#fff; margin-top:3px}
  .pick .meta{font-size:12.5px; color:var(--on-dark-mut); margin-top:3px}
  @keyframes pickIn{to{opacity:1; transform:none}}

  /* ============ generic section ============ */
  section{padding:112px 0}
  .sec-head{max-width:640px; margin-bottom:56px}
  .sec-head.center{margin-left:auto; margin-right:auto; text-align:center}
  .sec-head h2{font-size:clamp(28px,3.2vw,40px); font-weight:500; color:var(--ink)}
  .sec-head.on-dark h2{color:#fff}
  .sec-head p{font-size:19px; color:var(--body); margin-top:18px; line-height:1.55}
  .sec-head.on-dark p{color:var(--on-dark)}

  /* ============ POV / problem ============ */
  .pov{background:var(--paper); padding-top:128px}
  .pov-statement{max-width:900px}
  .pov-statement .big{font-family:"Fraunces"; font-weight:600; font-size:clamp(24px,3vw,34px); line-height:1.28; letter-spacing:-.02em; color:var(--ink)}
  .pov-statement .big .amb{color:var(--amber-text)}
  .pov-statement p{font-size:18px; color:var(--body); margin-top:26px; max-width:64ch}

  /* ============ HOW: editorial numbered ============ */
  .steps{border-top:1px solid var(--line)}
  .step{display:grid; grid-template-columns:96px 1fr; gap:28px; padding:34px 0; border-bottom:1px solid var(--line); align-items:baseline}
  .step .num{font-family:"Fraunces"; font-weight:500; font-size:40px; color:var(--amber-text); letter-spacing:-.03em; line-height:1}
  .step h3{font-size:21px; font-weight:600; color:var(--ink); margin-bottom:8px}
  .step p{font-size:16.5px; color:var(--body); max-width:60ch}
  .step .when{font-family:"Fraunces"; font-weight:600; font-size:13.5px; color:var(--muted); margin-top:10px}
  @media(max-width:600px){.step{grid-template-columns:1fr; gap:8px} .step .num{font-size:34px}}

  /* ============ DELIVERABLES ============ */
  .deliver{display:grid; grid-template-columns:1fr .82fr; gap:64px; align-items:start}
  .dlist{list-style:none}
  .dlist li{padding:22px 0; border-bottom:1px solid var(--line)}
  .dlist li:first-child{padding-top:0}
  .dlist li:last-child{border-bottom:none}
  .dlist b{font-family:"Fraunces"; font-weight:600; font-size:18px; color:var(--ink); display:block; margin-bottom:5px}
  .dlist span{font-size:16px; color:var(--body)}
  /* report artifact */
  .report{border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#fff; position:sticky; top:96px}
  .report-top{background:var(--forest-900); color:#fff; padding:26px 26px 24px}
  .report-top .re{font-size:12px; color:var(--on-dark-mut); letter-spacing:.02em; margin-bottom:10px}
  .report-top .rh{font-family:"Fraunces"; font-weight:700; font-size:20px; line-height:1.15}
  .report-top .rh .amb{color:var(--amber-soft)}
  .report-body{padding:24px 26px 28px}
  .rrow{height:9px; border-radius:5px; background:var(--line); margin-bottom:11px}
  .rrow.a{width:90%}.rrow.b{width:70%}.rrow.c{width:82%}
  .rpick{border:1px solid var(--line); border-left:3px solid var(--forest); border-radius:8px; padding:13px 15px; margin-top:16px; display:flex; justify-content:space-between; align-items:center; gap:14px}
  .rpick .rl{font-family:"Fraunces"; font-weight:600; font-size:14.5px; color:var(--ink)}
  .rpick .rt{font-size:10px; font-weight:700; letter-spacing:.04em; color:#fff; background:var(--forest); padding:4px 9px; border-radius:20px; white-space:nowrap}
  .rpick .rt.skip{background:#9d5638}
  .rpick .rt.amb{background:var(--amber-text)}
  @media(max-width:900px){.deliver{grid-template-columns:1fr; gap:44px} .report{position:static; max-width:440px}}

  /* ============ INDEPENDENCE band ============ */
  .indep{background:var(--forest-900); color:#fff}
  .indep .lead{font-family:"Fraunces"; font-weight:600; font-size:clamp(24px,3vw,34px); line-height:1.26; letter-spacing:-.02em; max-width:20ch; color:#fff}
  .indep .lead .amb{color:var(--amber-soft)}
  .indep-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:start}
  .indep p{font-size:17.5px; color:var(--on-dark); max-width:56ch}
  .contrast{display:flex; flex-direction:column; gap:0}
  .crow{padding:22px 0; border-bottom:1px solid var(--line-dark)}
  .crow:first-child{padding-top:0}
  .crow:last-child{border-bottom:none}
  .crow .rt{font-size:13px; color:var(--on-dark-mut); font-weight:600; margin-bottom:6px}
  .crow .rv{font-size:16.5px; color:var(--on-dark)}
  .crow.us .rt{color:var(--amber-soft)}
  .crow.us .rv{color:#fff; font-family:"Fraunces"; font-weight:500}

  /* ============ PRICING ============ */
  .tiers{display:grid; grid-template-columns:repeat(3,1fr)}
  .tier{padding:36px 30px; border:1px solid var(--line); border-right:none; display:flex; flex-direction:column}
  .tier:first-child{border-radius:14px 0 0 14px}
  .tier:last-child{border-right:1px solid var(--line); border-radius:0 14px 14px 0}
  .tier.mid{background:var(--forest-900); color:#fff; border-color:var(--forest-900); margin:-14px 0; border-radius:14px; padding:50px 30px; position:relative; z-index:2; box-shadow:0 30px 60px -30px rgba(26,58,43,.5)}
  .tier .tn{font-family:"Fraunces"; font-weight:600; font-size:17px; color:var(--muted)}
  .tier.mid .tn{color:var(--amber-soft)}
  .tier .tp{font-family:"Fraunces"; font-weight:500; font-size:38px; letter-spacing:-.03em; line-height:1; margin:14px 0 4px; color:var(--ink)}
  .tier.mid .tp{color:#fff}
  .tier .tp .fr{display:block; font-family:"Inter"; font-weight:500; font-size:12px; color:var(--muted); margin-bottom:7px; letter-spacing:.02em}
  .tier.mid .tp .fr{color:var(--on-dark-mut)}
  .tier .tw{font-size:14.5px; color:var(--body); margin:14px 0 22px; min-height:44px}
  .tier.mid .tw{color:var(--on-dark)}
  .tier ul{list-style:none; margin-bottom:28px; flex:1}
  .tier li{font-size:15px; color:var(--body); padding:8px 0 8px 24px; position:relative}
  .tier.mid li{color:var(--on-dark)}
  .tier li::before{content:"\2713"; position:absolute; left:0; color:var(--forest); font-weight:700}
  .tier.mid li::before{color:var(--amber-soft)}
  .tier .btn{width:100%}
  .pricing-note{max-width:680px; margin:36px auto 0; text-align:center; font-size:15px; color:var(--body)}
  .pricing-note .amb{color:var(--amber-text); font-weight:600}
  @media(max-width:820px){
    .tiers{grid-template-columns:1fr; gap:0}
    .tier{border-right:1px solid var(--line); border-bottom:none}
    .tier:first-child{border-radius:14px 14px 0 0}
    .tier:last-child{border-radius:0 0 14px 14px; border-bottom:1px solid var(--line)}
    .tier.mid{margin:0; border-radius:0}
  }

  /* ============ FAQ ============ */
  .faq{max-width:820px; margin:0 auto; border-top:1px solid var(--line)}
  details{border-bottom:1px solid var(--line)}
  summary{list-style:none; cursor:pointer; font-family:"Fraunces"; font-weight:600; font-size:19px; color:var(--ink); padding:26px 44px 26px 0; position:relative}
  summary::-webkit-details-marker{display:none}
  summary::after{content:""; position:absolute; right:6px; top:32px; width:11px; height:11px; border-right:2px solid var(--amber-text); border-bottom:2px solid var(--amber-text); transform:rotate(45deg); transition:transform .2s}
  details[open] summary::after{transform:rotate(-135deg); top:36px}
  details p{padding:0 44px 28px 0; color:var(--body); font-size:16.5px; line-height:1.66}
  details p a{color:var(--forest); font-weight:600; text-decoration:underline; text-underline-offset:2px}

  /* ============ BOOK band ============ */
  .book{background:var(--forest-900); color:#fff}
  .book-in{max-width:720px}
  .book h2{font-size:clamp(28px,3.2vw,40px); font-weight:500; color:#fff}
  .book p{font-size:19px; color:var(--on-dark); margin:22px 0 34px; max-width:58ch; line-height:1.55}
  .book .sub{font-size:14.5px; color:var(--on-dark-mut); margin-top:20px}
  .book .sub a{color:#fff; text-decoration:underline; text-underline-offset:2px}

  /* ============ FOOTER ============ */
  footer{background:var(--forest-900); color:var(--on-dark); border-top:1px solid var(--line-dark); padding:56px 0 48px}
  .foot-in{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:28px}
  .foot-in .brand .mark{color:#fff}
  .foot-in .brand .nm{color:#fff}
  .foot-note{font-size:13.5px; color:var(--on-dark-mut); max-width:52ch; line-height:1.6}
  .foot-note a{color:#fff; text-decoration:underline; text-underline-offset:2px}
  .foot-r{text-align:right}
  .foot-links{margin-top:16px; display:flex; gap:8px 18px; flex-wrap:wrap; justify-content:flex-end}
  .foot-links a{color:#fff; text-decoration:underline; text-underline-offset:2px; font-size:13.5px}
  @media(max-width:600px){.foot-r{text-align:left} .foot-links{justify-content:flex-start}}

  @media(max-width:900px){
    section{padding:76px 0}
    .hero-in{grid-template-columns:1fr; gap:48px; padding:80px 0 96px}
    .distill{height:360px; max-width:460px}
    .indep-grid{grid-template-columns:1fr; gap:40px}
  }


/* ============================================================
   MULTI-PAGE ADDITIONS
   ============================================================ */

/* main landmark just groups content; no visual change */
main{display:block}

/* interior page header (compact hero for sub-pages) */
.pagehead{background:var(--paper); border-bottom:1px solid var(--line); padding:66px 0 58px}
.pagehead .rule{margin-bottom:22px}
.pagehead h1{font-size:clamp(32px,4.6vw,54px); font-weight:500; color:var(--ink); max-width:20ch}
.pagehead .lede{font-size:19px; color:var(--body); margin-top:20px; max-width:62ch; line-height:1.55}

/* active nav item */
.nav-links a.lnk.active{color:var(--ink)}
.nav-links a.lnk.active::after{content:""; display:block; height:2px; width:100%; background:var(--amber); border-radius:2px; margin-top:5px}

/* inline "read more" text link (no arrow, per brand) */
.tlink{display:inline-block; font-family:"Fraunces"; font-weight:600; font-size:16px; color:var(--forest); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1.5px}
.tlink:hover{color:var(--amber-text)}
.tlink.light{color:#fff}
.tlink.light:hover{color:var(--amber-soft)}
.section-cta{margin-top:44px}

/* home: compact three-step teaser */
.mini{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:8px}
.mini .m{padding:28px 26px; border:1px solid var(--line); border-radius:12px; background:var(--paper)}
.mini .mn{font-family:"Fraunces"; font-weight:500; font-size:30px; color:var(--amber-text); line-height:1; letter-spacing:-.03em}
.mini .mt{font-family:"Fraunces"; font-weight:600; font-size:18px; color:var(--ink); margin:16px 0 7px}
.mini .mp{font-size:15.5px; color:var(--body); line-height:1.55}
@media(max-width:760px){.mini{grid-template-columns:1fr; gap:14px}}

/* home: pricing teaser figure */
.ptease{display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-top:4px}
.ptease .pf{font-family:"Fraunces"; font-weight:500; font-size:clamp(34px,4vw,44px); color:var(--ink); letter-spacing:-.03em; line-height:1}
.ptease .pl{font-size:16.5px; color:var(--body)}

/* why-aptly: trust points row */
.trust3{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:8px}
.trust3 .t{padding-top:22px; border-top:2px solid var(--amber)}
.trust3 .th{font-family:"Fraunces"; font-weight:600; font-size:18px; color:var(--ink); margin-bottom:7px}
.trust3 .tp{font-size:15.5px; color:var(--body); line-height:1.55}
@media(max-width:760px){.trust3{grid-template-columns:1fr; gap:18px}}

/* contact details block */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start}
.cblock h3{font-size:20px; font-weight:600; color:var(--ink); margin-bottom:10px}
.cblock p{font-size:16.5px; color:var(--body); line-height:1.6; max-width:52ch}
.cblock a.inl{color:var(--forest); text-decoration:underline; text-underline-offset:2px; font-weight:500}
.cdetails{font-size:15px; color:var(--body); line-height:1.7; margin-top:6px}
.cdetails strong{font-family:"Fraunces"; color:var(--ink)}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr; gap:36px}}

/* ============================================================
   MORE-COLOR PASS (how-it-works + contact)
   ============================================================ */

/* forest header variant for interior pages */
.pagehead.forest{
  position:relative; overflow:hidden; padding:78px 0 68px;
  background:
    radial-gradient(80% 120% at 84% -15%, rgba(242,221,148,.14), transparent 60%),
    linear-gradient(158deg, #06463d 0%, #013e37 46%, #002e29 100%);
  border-bottom:1px solid rgba(255,239,179,.14);
}
.pagehead.forest > .wrap{position:relative; z-index:2}
.pagehead.forest::before,
.pagehead.forest::after{content:""; position:absolute; border-radius:50%; pointer-events:none; z-index:1}
.pagehead.forest::after{width:300px; height:300px; right:-40px; top:-96px; border:1px solid rgba(242,221,148,.20)}
.pagehead.forest::before{width:560px; height:560px; right:-170px; top:-236px; border:1px solid rgba(242,221,148,.10)}
.pagehead.forest h1{color:#fff}
.pagehead.forest .lede{color:var(--on-dark)}

/* how it works: amber step badges instead of bare numerals */
.step .num{font-size:22px; font-weight:600; color:var(--forest); background:var(--amber);
  width:54px; height:54px; border-radius:13px; display:flex; align-items:center; justify-content:center; line-height:1}
@media(max-width:600px){.step .num{width:48px; height:48px; font-size:20px}}

/* contact: full forest panel with amber accents */
.contact-band{
  position:relative; overflow:hidden;
  background:
    radial-gradient(60% 120% at 90% -15%, rgba(242,221,148,.12), transparent 60%),
    linear-gradient(158deg, #06463d 0%, #013e37 46%, #002e29 100%);
  color:#fff;
}
.contact-band > .wrap{position:relative; z-index:2}
.contact-band::before,
.contact-band::after{content:""; position:absolute; border-radius:50%; pointer-events:none; z-index:1}
.contact-band::after{width:320px; height:320px; right:-70px; top:-90px; border:1px solid rgba(242,221,148,.16)}
.contact-band::before{width:580px; height:580px; right:-200px; top:-210px; border:1px solid rgba(242,221,148,.08)}
.contact-band h3{color:#fff}
.contact-band p{color:var(--on-dark)}
.contact-band a.inl{color:var(--amber-soft)}
.contact-band .cdetails{color:var(--on-dark)}
.contact-band .cdetails strong{color:#fff}

/* ============================================================
   SCROLL-LINKED REVEAL (motion tracks scroll; off for reduced-motion / no-JS)
   ============================================================ */
html.reveal-on :is(.pov-statement,.sec-head,.mini>.m,.steps,.deliver>*,.indep-grid>*,.tiers>.tier,.pricing-note,.faq>details,.trust3>.t,.book-in,.contact-grid>*,.ptease,.section-cta){ opacity:0; transform:translateY(58px) scale(.98); will-change:opacity, transform; }
html.reveal-on :is(.pov-statement,.sec-head,.mini>.m,.steps,.deliver>*,.indep-grid>*,.tiers>.tier,.pricing-note,.faq>details,.trust3>.t,.book-in,.contact-grid>*,.ptease,.section-cta).in{ opacity:1; transform:none; }


/* ============================================================
   CEREBRIUM-INSPIRED (own palette): rotator, tabs, header drift
   ============================================================ */

/* rotating hero word */
.rotator{display:inline-block; position:relative}
.rot-word{display:inline-block; will-change:opacity, transform;
  transition:opacity .45s ease, transform .45s cubic-bezier(.2,.7,.3,1)}
.rot-word.leave{opacity:0; transform:translateY(-.42em)}
.rot-word.enter{opacity:0; transform:translateY(.42em)}

/* tabbed feature section */
.tablist{display:flex; flex-wrap:wrap; gap:0 26px; border-bottom:1px solid var(--line); margin-bottom:38px}
.tab{appearance:none; background:none; border:0; cursor:pointer; font-family:"Fraunces"; font-weight:600;
  font-size:16.5px; color:var(--muted); padding:12px 2px; position:relative; letter-spacing:-.01em}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"]{color:var(--ink)}
.tab[aria-selected="true"]::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px;
  background:var(--amber); border-radius:2px}
.tabpanel{display:block}
html.js .tabpanel{display:none}
html.js .tabpanel.show{display:block; animation:tabIn .5s cubic-bezier(.2,.7,.3,1)}
@keyframes tabIn{from{opacity:0; transform:translateY(12px)} to{opacity:1; transform:none}}
@media (prefers-reduced-motion: reduce){html.js .tabpanel.show{animation:none}}
.tp-grid{display:grid; grid-template-columns:1fr .9fr; gap:52px; align-items:center}
.tp-copy h3{font-size:24px; font-weight:600; color:var(--ink); margin-bottom:12px; line-height:1.2}
.tp-copy p{font-size:17px; color:var(--body); margin-bottom:18px; max-width:48ch}
.tp-copy ul{list-style:none; display:flex; flex-direction:column; gap:11px}
.tp-copy li{position:relative; padding-left:24px; color:var(--body); font-size:15.5px}
.tp-copy li::before{content:"✓"; position:absolute; left:0; color:var(--amber-text); font-weight:700}
.tp-visual{border:1px solid var(--line); border-radius:14px; background:var(--paper); padding:22px;
  box-shadow:0 34px 60px -42px rgba(1,62,55,.4)}
.vhead{font-family:"Fraunces"; font-weight:600; font-size:12.5px; color:var(--amber-text);
  letter-spacing:.03em; margin-bottom:14px}
.vrow{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 14px;
  border:1px solid var(--line); border-radius:9px; margin-bottom:10px; background:#fff; font-size:14.5px; color:var(--ink)}
.vrow:last-child{margin-bottom:0}
.vok{font-size:11px; font-weight:700; letter-spacing:.03em; color:#fff; background:var(--forest);
  padding:4px 9px; border-radius:20px; white-space:nowrap}
@media(max-width:820px){.tp-grid{grid-template-columns:1fr; gap:28px}}

/* header lens drift (parallax) — pseudo rings read the --px the script sets */
.pagehead.forest::after, .contact-band::after{ transform:translateY(var(--px, 0px)); }
.pagehead.forest::before, .contact-band::before{ transform:translateY(calc(var(--px, 0px) * -0.55)); }


/* ============================================================
   INTERACTIVE SAMPLE ASSESSMENT + bolder hero
   ============================================================ */
.hero{min-height:calc(100svh - 72px); display:flex; align-items:center}
.hero-in{width:100%; padding:92px 0 108px}
.hero h1{font-size:clamp(42px,6vw,74px)}

.assess-panel{border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--paper);
  box-shadow:0 44px 84px -54px rgba(1,62,55,.5)}
.assess-switch{display:flex; flex-wrap:wrap; gap:8px; padding:16px; border-bottom:1px solid var(--line)}
.asw{appearance:none; cursor:pointer; font-family:"Fraunces"; font-weight:600; font-size:14.5px;
  padding:9px 16px; border-radius:999px; border:1px solid var(--line); background:#fff; color:var(--body)}
.asw:hover{border-color:var(--forest); color:var(--ink)}
.asw[aria-selected="true"]{background:var(--forest); color:#fff; border-color:var(--forest)}
.arep-head{background:var(--forest-900); color:#fff; padding:22px 26px}
.arep-head .re{font-size:12px; color:var(--on-dark-mut); letter-spacing:.02em; margin-bottom:8px}
.arep-head .rh{font-family:"Fraunces"; font-weight:700; font-size:22px}
.arep-head .rh .amb{color:var(--amber-soft)}
.arows{padding:6px 26px}
.arow{display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding:18px 0; border-bottom:1px solid var(--line)}
.arow:last-child{border-bottom:none}
.acat{font-size:12px; font-weight:600; letter-spacing:.02em; color:var(--muted); margin-bottom:4px}
.anm{font-family:"Fraunces"; font-weight:600; font-size:17px; color:var(--ink)}
.anote{font-size:14.5px; color:var(--body); margin-top:3px; max-width:46ch}
.aside{display:flex; flex-direction:column; align-items:flex-end; gap:8px; flex:none; text-align:right}
.acost{font-size:13.5px; color:var(--muted); font-variant-numeric:tabular-nums}
.atag{font-size:11px; font-weight:700; letter-spacing:.04em; color:#fff; padding:5px 11px; border-radius:20px; white-space:nowrap}
.atag.rec{background:var(--forest)}
.atag.alt{background:var(--amber-text)}
.atag.skip{background:#9d5638}
.aroll{background:#fff; border-top:1px solid var(--line); padding:22px 26px 26px}
.arh{font-family:"Fraunces"; font-weight:600; font-size:13px; letter-spacing:.02em; color:var(--amber-text); margin-bottom:14px}
.asteps{list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:0}
.asteps li{position:relative; padding-top:14px; border-top:2px solid var(--amber); font-size:14.5px; color:var(--body)}
.aw{display:block; font-family:"Fraunces"; font-weight:600; color:var(--ink); margin-bottom:4px}
@media(max-width:700px){
  .asteps{grid-template-columns:1fr; gap:12px}
  .arow{flex-direction:column; gap:10px}
  .aside{flex-direction:row-reverse; justify-content:flex-end; align-items:center; text-align:left; width:100%}
}


/* ============================================================
   GREEN SECTION HEADINGS, lighter supporting copy
   ============================================================ */
.sec-head h2{color:var(--forest-800)}            /* section subheads in forest green (light bgs) */
.sec-head.on-dark h2{color:#fff}                  /* keep white on dark bands */
.sec-head p{color:var(--muted)}                   /* supporting line sits back, lighter */


/* deepen section subheads (darker, still green) */
.sec-head h2{color:#01271f}
.sec-head.on-dark h2{color:#fff}


/* ============================================================
   SECTION EYEBROW CHIP (green box) + strong dark headings
   ============================================================ */
.eyebrow{display:inline-block; background:var(--forest); color:var(--cream);
  font-family:"Fraunces"; font-weight:600; font-size:12.5px; letter-spacing:.01em;
  padding:6px 14px; border-radius:999px; margin-bottom:20px; line-height:1}
.sec-head.on-dark .eyebrow{background:var(--amber); color:var(--forest-900)}
.sec-head h2{color:var(--ink)}            /* strong, dark heading; green lives in the chip */
.sec-head.on-dark h2{color:#fff}

/* offset anchored sections below the sticky nav */
section{scroll-margin-top:88px}


/* ============================================================
   GREENER BALANCE — deeper cream, more forest surface
   ============================================================ */
:root{
  --cream:#e7ddc3;   /* deeper, warmer cream so light areas don't read as white */
  --paper:#efe7d2;
}

/* any section can become a full forest band */
.forest-sec{
  position:relative; color:var(--on-dark);
  background:
    radial-gradient(70% 120% at 88% -15%, rgba(242,221,148,.10), transparent 60%),
    linear-gradient(168deg, #06463d 0%, #013e37 48%, #002e29 100%);
  border-top:1px solid rgba(255,239,179,.13);
}
.forest-sec .sec-head h2{color:#fff}
.forest-sec .sec-head p{color:var(--on-dark-mut)}
.forest-sec .eyebrow{background:var(--amber); color:var(--forest-900)}
.forest-sec p{color:var(--on-dark)}
/* steps on forest */
.forest-sec .step{border-color:rgba(255,255,255,.12)}
.forest-sec .step h3{color:#fff}
.forest-sec .step .when{color:var(--on-dark-mut)}
/* tabs on forest */
.forest-sec .tablist{border-color:rgba(255,255,255,.16)}
.forest-sec .tab{color:var(--on-dark-mut)}
.forest-sec .tab:hover{color:#fff}
.forest-sec .tab[aria-selected="true"]{color:#fff}
.forest-sec .tp-copy h3{color:#fff}
.forest-sec .tp-copy li{color:var(--on-dark)}
.forest-sec .tp-visual{background:#fbf7ee; border-color:rgba(255,255,255,.18)}
/* faq on forest */
.forest-sec details{border-color:rgba(255,255,255,.14)}
.forest-sec summary{color:#fff}
.forest-sec summary::after{border-color:var(--amber-soft)}

/* subtle seams so adjacent forest bands stay distinct */
.indep, .book{border-top:1px solid rgba(255,239,179,.12)}
