:root{
  --primary:#5F8792;
  --primary-deep:#47707B;
  --sage:#7F8560;
  --cream:#F6F2E6;
  --oat:#EDE7D6;
  --taupe:#8C8064;
  --ink:#2E312C;
  --rule:#D8D1BE;
  --shell:1240px;
  --gutter:22px;
}

*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}
img,svg,video,iframe{max-width:100%;height:auto;display:block}
a{color:var(--primary-deep);text-decoration:none}
p{margin:0 0 1.1em}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--primary-deep);outline-offset:2px}

.shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 var(--gutter)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.display{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.04em;
  line-height:1.06;
  margin:0;
}
.h2{font-size:clamp(1.7rem,3.4vw,2.9rem)}
.tone-taupe{color:var(--taupe)}
.tone-slate{color:var(--primary-deep)}
.label{
  font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;
  color:var(--taupe);
}
.label--dark{color:var(--primary-deep);display:block;margin:.9rem 0 .7rem}
.label--light{color:#E7EFEE;display:block;margin:0 0 14px}

/* buttons */
.btn{
  display:inline-block;padding:15px 30px;border-radius:999px;
  font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
  border:1px solid transparent;text-align:center;
}
.btn--primary{background:var(--primary);color:#fff;box-shadow:0 12px 26px -18px rgba(46,49,44,.85)}
.btn--primary:hover{background:var(--primary-deep);transform:translateY(-1px)}
.btn--sage{background:var(--sage);color:#fff}
.btn--sage:hover{background:#6d7351}
.btn--cream{background:var(--cream);color:var(--primary-deep)}
.btn--cream:hover{background:#fff}
.btn--sm{padding:11px 18px;font-size:11px}
.btn--full{display:block;width:100%}

/* top strip */
.topstrip{
  background:var(--primary-deep);color:#fff;
  display:flex;align-items:center;justify-content:center;gap:14px;
  padding:9px 44px 9px 18px;position:relative;text-align:center;
}
.topstrip p{margin:0;font-size:12px;letter-spacing:.07em;text-transform:uppercase}
.topstrip a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.topstrip__x{position:absolute;right:6px;top:50%;transform:translateY(-50%);
  background:none;border:0;color:#fff;font-size:20px;line-height:1;padding:8px 12px}
.topstrip.is-hidden{display:none}

/* header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(246,242,230,.9);backdrop-filter:blur(9px);border-bottom:1px solid transparent;transition:box-shadow .25s ease,border-color .25s ease}
.site-header.is-stuck{border-bottom-color:var(--rule);box-shadow:0 12px 30px -28px rgba(46,49,44,.9)}
.header__inner{display:flex;align-items:center;gap:16px;min-height:72px}
.wordmark{
  font-family:"Cormorant Garamond",serif;font-size:19px;line-height:1.02;
  text-transform:uppercase;letter-spacing:.15em;color:var(--ink);
  display:flex;flex-direction:column;flex:none;
}
.nav{margin-left:auto;display:flex;align-items:center;gap:18px;min-width:0}
.nav__list{display:flex;align-items:center;gap:18px}
.nav__list a,.nav__toggle{
  font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink);
  background:none;border:0;padding:6px 0;position:relative;display:inline-block;white-space:nowrap;
}
.nav__list a::after,.nav__toggle::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:var(--primary-deep);transform:scaleX(0);transform-origin:left;
  transition:transform .2s ease;
}
.nav__list a:hover::after,.nav__toggle:hover::after,.nav__list a[aria-current]::after{transform:scaleX(1)}
.nav__has-sub{position:relative}
.caret{font-size:9px;margin-left:3px}
.nav__sub{
  position:absolute;top:calc(100% + 10px);left:-14px;min-width:270px;
  background:var(--cream);border:1px solid var(--rule);padding:8px 0;
  display:none;box-shadow:0 18px 40px rgba(46,49,44,.14);
}
.nav__sub li a{display:block;padding:10px 16px;letter-spacing:.08em;white-space:normal}
.nav__sub li a::after{display:none}
.nav__sub li a:hover{background:var(--oat)}
.nav__has-sub.is-open .nav__sub{display:block}
.burger{display:none;background:none;border:1px solid var(--rule);border-radius:4px;padding:11px;flex:none}
.burger span{display:block;width:20px;height:1.5px;background:var(--ink);margin:4px 0}

@media (max-width:1120px){
  .nav{gap:14px}
  .nav__list{gap:14px}
  .nav__list a,.nav__toggle{font-size:11px;letter-spacing:.08em}
  .nav__cta{padding:10px 14px;font-size:10px}
}
@media (max-width:930px){
  .burger{display:block;margin-left:auto}
  .nav{
    position:fixed;inset:0;top:0;background:var(--cream);
    flex-direction:column;align-items:flex-start;justify-content:flex-start;
    gap:6px;padding:88px 24px 48px;margin:0;overflow-y:auto;
    transform:translateX(100%);transition:transform .3s ease;z-index:70;
  }
  .nav.is-open{transform:none}
  .nav__list{flex-direction:column;align-items:flex-start;gap:0;width:100%}
  .nav__list > li{width:100%;border-bottom:1px solid var(--rule)}
  .nav__list a,.nav__toggle{display:block;width:100%;padding:17px 0;font-size:14px;text-align:left}
  .nav__sub{position:static;border:0;box-shadow:none;background:transparent;padding:0 0 12px 14px;min-width:0}
  .nav__sub li a{padding:12px 0}
  .nav__cta{display:block;margin-top:26px;width:100%;padding:16px;font-size:12px}
  body.nav-open{overflow:hidden}
}

/* ---------- HERO ---------- */
.hero{
  position:relative;background:var(--cream);
  display:grid;grid-template-columns:1fr;
}
.hero__copy{padding:38px var(--gutter) 46px;max-width:660px;order:2}
.hero__panel{
  position:relative;margin:0;order:1;overflow:hidden;background:var(--oat);
}
.hero__portrait{
  width:100%;height:100%;object-fit:cover;object-position:58% 12%;
  aspect-ratio:4/3.4;
}
.hero__drop{
  position:absolute;left:-14%;top:-6%;width:70%;max-width:none;opacity:.5;
  pointer-events:none;animation:drift 16s ease-in-out infinite alternate;
}
@keyframes drift{from{transform:translateY(0)}to{transform:translateY(18px)}}

.hero__title{font-size:clamp(2.5rem,6vw,5.1rem)}
.hero__lede{margin-top:24px;max-width:50ch;font-size:1.03rem}
.hero__act{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:26px}
.hero__act .btn{flex:0 0 auto}
.hero__act-note{margin:0;flex:1 1 240px;min-width:0;max-width:34ch;font-size:13px;line-height:1.55;color:var(--taupe);border-left:1px solid var(--rule);padding-left:16px}

@media (min-width:900px){
  .hero{
    grid-template-columns:minmax(0,1fr) 45%;
    padding-left:max(var(--gutter), calc((100% - var(--shell))/2));
    align-items:center;
  }
  .hero__copy{order:1;padding:clamp(60px,7vw,110px) clamp(32px,4vw,72px) clamp(60px,7vw,110px) 0}
  .hero__panel{order:2;align-self:stretch;min-height:min(88vh,780px)}
  .hero__portrait{height:100%;aspect-ratio:auto;object-position:56% 14%}
  .hero__drop{left:-22%;top:2%;width:62%;opacity:.45}
}

/* stat strip */
.statstrip{background:var(--cream);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.statstrip__inner{display:grid;gap:0}
@media (min-width:760px){
  .statstrip__inner{grid-template-columns:1fr 1fr;gap:0 40px}
  .stat + .stat{border-top:0;border-left:1px solid var(--rule);padding-left:40px}
}
.stat{margin:0;min-width:0;font-size:13px;color:var(--ink);padding:16px 0;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.stat + .stat{border-top:1px solid var(--rule)}
.stat__n{font-family:"Cormorant Garamond",serif;font-size:24px;letter-spacing:.03em;color:var(--primary-deep)}
.stat__l{text-transform:uppercase;letter-spacing:.09em;font-size:11.5px;color:var(--taupe)}

/* bands */
.band{position:relative;padding:clamp(62px,9vw,148px) 0}
.band--cream{background:var(--cream)}
.band--oat{background:var(--oat)}
.band--sage{background:var(--sage);color:var(--cream);overflow:hidden}
.band--texture{background:var(--cream);overflow:hidden}
.band__texture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;z-index:0;pointer-events:none}
.band--texture .shell{position:relative;z-index:1}

/* method statement + trust card */
.methodstatement{padding-top:clamp(52px,6.5vw,96px);padding-bottom:clamp(52px,6.5vw,96px)}
.pullblock{
  margin:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:34px 0;max-width:64ch;
}
.pullblock p{
  margin:0;font-family:"Cormorant Garamond",serif;
  font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.38;color:var(--taupe);
}
.pullblock strong{color:var(--primary-deep);font-weight:600}
.trustcard{
  border:1px solid var(--rule);background:var(--oat);padding:26px 24px;align-self:center;
}
.trustcard p{margin:0}
.trustcard__name{
  font-family:"Cormorant Garamond",serif;font-size:1.5rem;line-height:1.2;
  text-transform:uppercase;letter-spacing:.05em;color:var(--primary-deep);margin-top:12px;
}
.trustcard__meta{margin-top:10px;font-size:13px;letter-spacing:.06em;color:var(--taupe)}

/* grids */
.grid-7-5,.grid-5-7{display:grid;gap:clamp(32px,5vw,68px);align-items:start}
@media (min-width:900px){
  .grid-7-5{grid-template-columns:7fr 5fr}
  .grid-5-7{grid-template-columns:5fr 7fr}
}
.col{min-width:0}

.staccato{margin-top:26px;max-width:58ch}
.staccato p{margin:0 0 .85em}
.staccato__punch{font-weight:700;color:var(--primary-deep)}

.figure{margin:0;overflow:hidden}
.figure img{width:100%}
.figure--tall img{aspect-ratio:4/3;object-fit:cover}
.figure--offset{position:relative;border:1px solid var(--rule);padding:12px;background:var(--cream)}
.figure--offset::before{
  content:"";position:absolute;left:-16px;top:26px;bottom:26px;width:70%;
  background:var(--oat);z-index:-1;
}
.figure--offset img{aspect-ratio:4/5;object-fit:cover;object-position:50% 22%}
#amber .col:first-child{position:relative;z-index:1}

.given{margin-top:28px;border-top:1px solid var(--rule);padding-top:20px}
.given__intro{margin:12px 0 8px;color:var(--taupe)}
.given__list li{border-bottom:1px solid var(--rule);padding:9px 0;font-size:15px}
.given__list li::before{content:"— ";color:var(--taupe)}
.given__punch{margin-top:14px;font-weight:700;color:var(--primary-deep)}

#amber p{max-width:60ch}
.lead-quote{
  font-family:"Cormorant Garamond",serif;font-size:clamp(1.15rem,2vw,1.5rem);
  line-height:1.45;color:var(--primary-deep);border-left:1px solid var(--rule);padding-left:20px;
}
#amber .h2{margin-bottom:22px}
.creds{margin-top:34px;border-top:1px solid var(--rule)}
.creds__row{display:grid;gap:4px 24px;padding:16px 0;border-bottom:1px solid var(--rule)}
@media (min-width:700px){.creds__row{grid-template-columns:130px 1fr}}
.creds__row p{margin:0;font-size:15px}

/* steps */
.steps{margin-top:clamp(28px,5vw,56px);border-top:1px solid var(--rule)}
.step{display:grid;gap:2px 30px;align-items:start;padding:30px 0;border-bottom:1px solid var(--rule)}
@media (min-width:760px){.step{grid-template-columns:150px 1fr}}
.step__n{
  font-family:"Cormorant Garamond",serif;font-size:clamp(3.2rem,7vw,6.4rem);
  line-height:.8;color:var(--primary-deep);opacity:.2;display:block;margin-top:.04em;
}
.step__body{min-width:0;max-width:62ch}
.step h3{
  font-family:"Cormorant Garamond",serif;font-weight:600;text-transform:uppercase;
  letter-spacing:.07em;font-size:1.3rem;margin:0 0 10px;color:var(--taupe);
}
.step p{margin:0}
.result{margin-top:38px;display:grid;gap:24px;align-items:center}
@media (min-width:860px){.result{grid-template-columns:1fr auto}}
.result p{margin:0;max-width:62ch}
.result strong{color:var(--primary-deep)}

/* testimonials */
.voices__head{display:flex;flex-wrap:wrap;gap:16px;align-items:end;justify-content:space-between;margin-bottom:32px}
.band--sage .h2{color:var(--cream);max-width:16ch}
.rail__ctrls{display:flex;gap:10px}
.rail__btn{
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(246,242,230,.6);
  background:transparent;color:var(--cream);font-size:16px;line-height:1;
  transition:background .2s ease;
}
.rail__btn:hover{background:rgba(246,242,230,.18)}
.railwrap{width:100%;overflow:hidden}
.rail{
  display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:4px max(var(--gutter), calc((100% - var(--shell))/2)) 26px;
  scrollbar-width:thin;-webkit-overflow-scrolling:touch;
}
.tcard{
  flex:0 0 min(84%,352px);scroll-snap-align:start;min-width:0;
  background:var(--cream);color:var(--ink);border:1px solid rgba(46,49,44,.08);
  padding:30px 26px;display:flex;flex-direction:column;justify-content:space-between;
  min-height:340px;box-shadow:0 22px 44px -34px rgba(23,26,20,.9);
}
.tcard blockquote{margin:0}
.tcard blockquote p{margin:0;font-size:15.5px;line-height:1.6}
.tcard footer{margin-top:22px;border-top:1px solid var(--rule);padding-top:14px}
.tcard__name{display:block;font-family:"Cormorant Garamond",serif;font-size:1.35rem;color:var(--primary-deep)}
.tcard__age{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe)}

/* blueprint */
.blueprint{position:relative;isolation:isolate;padding:clamp(74px,10vw,150px) 0;color:#fff;overflow:hidden}
.blueprint__media{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--primary-deep)}
.blueprint__media img{width:100%;height:100%;object-fit:cover;object-position:72% 32%;mix-blend-mode:luminosity;opacity:.7}
.blueprint__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,79,89,.96) 0%,rgba(60,99,110,.9) 42%,rgba(71,112,123,.4) 100%)}
.blueprint__inner{max-width:620px}
.blueprint .h2{color:#fff}
.blueprint__sub{margin:20px 0 30px;font-size:1.02rem;font-weight:500;color:#fff;max-width:46ch}

/* three ways */
.sec-head{max-width:70ch;margin-bottom:clamp(34px,5vw,60px)}
.sec-head__sub{margin-top:18px;color:var(--taupe)}
.ways{display:grid;gap:26px}
@media (min-width:880px){.ways{grid-template-columns:repeat(3,1fr)}}
.way{
  min-width:0;background:var(--oat);border:1px solid var(--rule);
  display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease;
}
.way:hover{transform:translateY(-3px);box-shadow:0 26px 50px -38px rgba(46,49,44,.95)}
.way__img{margin:0;overflow:hidden}
.way__img img{width:100%;aspect-ratio:16/10;object-fit:cover}
.way__body{padding:26px 24px 28px;display:flex;flex-direction:column;flex:1}
.way h3{
  font-family:"Cormorant Garamond",serif;font-weight:600;text-transform:uppercase;
  letter-spacing:.05em;font-size:1.35rem;margin:0 0 14px;color:var(--primary-deep);
}
.way__for{font-size:14.5px;color:var(--ink);border-top:1px solid var(--rule);padding-top:14px}
.way__for .label{display:block;margin-bottom:2px}
.way__detail{font-size:14.5px;margin-top:6px}
.way__note{font-size:14px;color:var(--taupe)}
.way__list{margin-bottom:12px}
.way__list li{border-top:1px solid var(--rule);padding:9px 0;font-size:14.5px}
.way__cta{margin-top:auto}

/* network */
.net__top{display:grid;gap:32px;align-items:start;margin-bottom:clamp(34px,5vw,64px)}
@media (min-width:900px){.net__top{grid-template-columns:1.35fr .8fr}}
.net__sub{margin-top:16px;text-transform:uppercase;letter-spacing:.07em;font-size:12.5px;color:var(--taupe)}
.why{background:rgba(246,242,230,.94);border:1px solid var(--rule);padding:26px 24px}
.why p{font-size:15px}
.net__grid{display:grid;gap:30px;align-items:center}
@media (min-width:900px){.net__grid{grid-template-columns:280px 1fr}}
.seal{display:flex;justify-content:center}
.seal__mark{
  width:min(240px,66vw);aspect-ratio:1;border-radius:50%;
  border:1px solid var(--primary);position:relative;display:grid;place-items:center;opacity:.55;
}
.seal__mark::before{content:"";position:absolute;inset:14px;border:1px dashed var(--primary);border-radius:50%}
.seal__ring{
  position:absolute;top:22px;left:0;right:0;text-align:center;
  font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--primary);
}
.seal__core{
  font-family:"Cormorant Garamond",serif;font-size:clamp(1.3rem,4vw,1.85rem);
  text-transform:uppercase;letter-spacing:.08em;color:var(--primary);text-align:center;position:relative;line-height:1.15;
}
.diffs{border-top:1px solid var(--rule);min-width:0}
.diffs li{
  border-bottom:1px solid var(--rule);padding:18px 0;
  display:grid;gap:4px 24px;font-size:15px;color:var(--taupe);
}
@media (min-width:820px){
  .diffs li{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:baseline}
}
.diffs strong{color:var(--primary-deep);font-weight:700}
.diffs__k span[aria-hidden]{color:var(--primary);margin-left:4px}
.diffs__v{min-width:0}

/* footer */
.site-footer{background:var(--primary);color:#fff;padding:clamp(56px,8vw,100px) 0 32px}
.footer__top{display:grid;gap:46px}
@media (min-width:960px){.footer__top{grid-template-columns:1.15fr 1fr}}
.monogram{
  font-family:"Cormorant Garamond",serif;font-size:52px;line-height:1;letter-spacing:.02em;
  color:#fff;display:inline-block;margin-bottom:28px;
}
.footer__h{font-size:clamp(1.45rem,3vw,2.2rem)}
.footer__h-a{color:#F2F7F6;text-transform:none;font-size:.7em;letter-spacing:.02em}
.footer__h-b{color:#fff}
.footer__sub{margin-top:14px;color:#F2F7F6;font-size:15px}
.news{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;max-width:520px}
.news input{
  flex:1 1 220px;min-width:0;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.7);
  color:#fff;padding:14px 18px;border-radius:999px;font:inherit;font-size:15px;
}
.news input::placeholder{color:#EDF4F3}
.news__msg{flex:1 0 100%;margin:0;font-size:14px;color:#fff;min-height:1px}
.footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:28px}
.fcol h3{
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;
  margin:0 0 14px;font-weight:700;
}
.fcol li{margin-bottom:10px}
.fcol a{color:#F7FAFA;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.fcol a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer__legal{
  margin-top:50px;border-top:1px solid rgba(255,255,255,.38);padding-top:20px;
  display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:space-between;align-items:center;
}
.footer__legal p{margin:0;font-size:13px;color:#F7FAFA}
.footer__legal ul{display:flex;flex-wrap:wrap;gap:8px 20px}
.footer__legal a{color:#F7FAFA;font-size:13px}
.footer__legal a:hover{text-decoration:underline;text-underline-offset:3px}

/* reveals */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  .hero__drop{animation:none}
  .way:hover{transform:none}
}

/* small screens */
@media (max-width:700px){
  body{font-size:16px}
  :root{--gutter:20px}
  .hero__portrait{aspect-ratio:4/3.6;object-position:60% 10%}
  .hero__drop{width:86%;left:-24%;top:auto;bottom:-8%}
  .hero__copy{padding-top:34px;padding-bottom:40px}
  .hero__act{gap:16px}
  .hero__act .btn{width:100%}
  .hero__act-note{border-left:0;padding-left:0;max-width:none}
  .voices__head{align-items:flex-start}
  .band--sage .h2{max-width:none}
  .tcard{flex-basis:82%;min-height:0;padding:26px 22px}
  .trustcard{padding:22px 20px}
  .footer__legal{gap:14px}
}