/* The Keshri Group — quiet editorial system (Aesop-inspired restraint, Keshri violet + Sora/DM Sans) */
:root{
  --paper:#F7F5FA; --paper-2:#EFEBF5; --white:#FFFFFF;
  --ink:#221C33; --ink-2:#4A4458; --muted:#6E6880; --line:#DDD7E6;
  --violet:#4B2FA8; --violet-hi:#3A2390; --night:#16045E; --lilac:#AE92FF; --mint:#1F9E6E;
  --display:'Sora','Helvetica Neue',Arial,sans-serif;
  --body:'DM Sans','Helvetica Neue',Arial,sans-serif;
  --r:6px;
  --gutter:clamp(20px,5vw,56px);
  --space:clamp(64px,9vw,128px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@media (min-width:900px){body{font-size:18px}}
img,video{max-width:100%;display:block}
a{color:var(--violet);text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{color:var(--violet-hi)}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
h1,h2,h3{font-family:var(--display);margin:0;color:var(--ink);text-wrap:balance}
h1{font-weight:300;font-size:clamp(32px,4.4vw,56px);line-height:1.14;letter-spacing:-.025em}
h2{font-weight:300;font-size:clamp(26px,2.8vw,38px);line-height:1.2;letter-spacing:-.02em}
h3{font-weight:500;font-size:19px;line-height:1.35;letter-spacing:-.005em}
p{margin:0}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}
.narrow{max-width:720px}
.narrow-l{max-width:880px;margin-left:0}
.muted{color:var(--muted)}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:12px}
.photo{width:100%;height:auto;object-fit:cover;border-radius:var(--r)}
.r45{aspect-ratio:4/5;object-fit:cover;width:100%;border-radius:var(--r)}
.r43{aspect-ratio:4/3;object-fit:cover;width:100%}
.tile-img .photo,.mosaic .photo{height:100%}

/* buttons + links */
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--body);font-weight:500;font-size:16px;letter-spacing:.01em;text-decoration:none;padding:14px 26px;border-radius:var(--r);border:1px solid transparent;cursor:pointer;min-height:50px;transition:background .2s,color .2s,border-color .2s;white-space:nowrap}
.btn-mint,.btn-purple{background:var(--violet);color:#fff !important}
.btn-mint:hover,.btn-purple:hover{background:var(--violet-hi)}
.link,.link-light{font-family:var(--body);font-weight:500;font-size:16px;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-decoration-thickness:1px;text-underline-offset:6px}
.link:hover,.link-light:hover{color:var(--violet);text-decoration-color:var(--violet)}

/* nav */
.nav{position:sticky;top:0;z-index:30;background:rgba(247,245,250,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px}
.brand img{height:40px;width:auto}
.nav-links{display:flex;align-items:center;gap:32px;font-size:15px}
.nav-links a:not(.btn){color:var(--ink);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent}
.nav-links a:not(.btn):hover,.nav-links a[aria-current]{border-bottom-color:var(--ink)}
.nav-cta{min-height:42px;padding:9px 18px;font-size:15px;background:transparent !important;color:var(--violet) !important;border-color:var(--violet) !important}
.nav-cta:hover{background:var(--violet) !important;color:#fff !important}
.menu{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative;margin-right:-10px}
.menu span{position:absolute;left:12px;right:12px;height:1.5px;background:var(--ink);transition:transform .25s,top .25s}
.menu span:first-child{top:18px}.menu span:last-child{top:25px}
.menu[aria-expanded="true"] span:first-child{top:21.5px;transform:rotate(45deg)}
.menu[aria-expanded="true"] span:last-child{top:21.5px;transform:rotate(-45deg)}

/* home hero */
.hero{background:var(--paper)}
.hero-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center;padding-block:clamp(48px,7vw,104px) clamp(40px,5vw,64px)}
.kicker{font-size:14px;letter-spacing:.02em;color:var(--violet);margin-bottom:20px}
.hero h1{max-width:14em}
.sub{font-size:clamp(17px,1.4vw,19px);line-height:1.7;color:var(--ink-2);max-width:32em;margin-top:24px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;margin-top:36px}
.hero-media{margin:0}
.hero-video{position:relative;border-radius:var(--r);overflow:hidden;background:var(--night) url(/assets/video/hero-poster.jpg) center/cover;aspect-ratio:4/3}
.hero-video video{width:100%;height:100%;object-fit:cover}
.hero-media figcaption{font-size:13px;color:var(--muted);margin-top:12px;line-height:1.5}
.video-toggle{position:absolute;right:14px;bottom:14px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.88);cursor:pointer;display:flex;align-items:center;justify-content:center}
.video-toggle span{width:9px;height:11px;border-left:2.5px solid var(--ink);border-right:2.5px solid var(--ink)}
.video-toggle.paused span{width:0;height:0;border:0;border-left:10px solid var(--ink);border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}
.trust{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 36px;padding-block:28px 36px;border-top:1px solid var(--line);font-size:15px}
.trust span{color:var(--muted)}
.trust b{font-weight:500;color:var(--ink-2)}

/* letter */
.letter{background:var(--white);border-top:1px solid var(--line)}
.letter .wrap{padding-block:var(--space);color:var(--ink-2)}
.letter p{margin:0 0 1.35em}
.letter h2{color:var(--ink);margin:2.4em 0 .7em}
.byline{display:flex;align-items:center;gap:16px;margin-bottom:48px;font-size:15px;line-height:1.45;color:var(--muted)}
.byline b{color:var(--ink);font-weight:500}
.byline-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:top;filter:grayscale(1)}
.salute{font-family:var(--display);font-weight:300;font-size:24px;color:var(--ink) !important}
.letter mark{background:none;color:var(--ink);font-weight:500;box-shadow:inset 0 -.38em 0 #E9E2FA}
.letter strong{color:var(--ink);font-weight:500}
.letter-fig{margin:3em 0}
.letter-fig .photo{aspect-ratio:3/2}
.letter-fig figcaption{font-size:13px;color:var(--muted);margin-top:12px}
.letter-paths{margin:2em 0 1em;border-top:1px solid var(--line)}
.lp{padding:24px 0;border-bottom:1px solid var(--line)}
.lp h3{font-size:20px;font-weight:400;margin-bottom:6px}
.lp h3 a{color:var(--ink);text-decoration:none}
.lp h3 a:hover{color:var(--violet)}
.lp p{margin:0;font-size:16px;line-height:1.7}
.lp p a{font-weight:500;font-size:15px;white-space:nowrap}
.letter-cta{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:3em 0;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.letter-cta span{font-size:14px;color:var(--muted);line-height:1.5}
.proof-list{list-style:none;padding:0;margin:0 0 2em}
.proof-list li{padding:14px 0;border-bottom:1px solid var(--line)}
.proof-list li:first-child{border-top:1px solid var(--line)}
.proof-list b{color:var(--ink);font-weight:500}
blockquote{margin:0}
.letter blockquote{margin:0 0 1.6em;padding:0 0 0 22px;border-left:1px solid var(--violet);font-family:var(--display);font-weight:300;font-size:20px;line-height:1.55;color:var(--ink)}
.letter blockquote cite{display:block;margin-top:10px;font-style:normal;font-family:var(--body);font-size:14px;color:var(--muted)}
.small-link a{font-weight:500;font-size:16px}
.checks,.ticks{list-style:none;padding:0;margin:0 0 1.5em}
.checks li,.ticks li{position:relative;padding:14px 0 14px 30px;border-bottom:1px solid var(--line)}
.checks li:first-child,.ticks li:first-child{border-top:1px solid var(--line)}
.checks li::before,.ticks li::before{content:"";position:absolute;left:2px;top:1.35em;width:12px;height:7px;border-left:1.5px solid var(--violet);border-bottom:1.5px solid var(--violet);transform:rotate(-45deg)}
.checks b,.ticks b{color:var(--ink);font-weight:500}
.sign{margin-top:3em}
.sign p{margin:0 0 4px}
.sig{font-family:var(--display);font-weight:200;font-size:40px;letter-spacing:-.03em;color:var(--violet);line-height:1.2}
.ps{margin-top:3em !important;padding-top:28px;border-top:1px solid var(--line)}

/* inner page hero */
.page-hero{background:var(--paper);border-bottom:1px solid var(--line)}
.page-hero .wrap{padding-block:clamp(56px,8vw,112px) clamp(48px,6vw,80px)}
.page-hero h1{max-width:16em}
.crumb{display:inline-block;font-size:14px;color:var(--muted);text-decoration:none;margin-bottom:20px}
.crumb::before{content:"← "}
.crumb:hover{color:var(--violet)}
.page-hero .kicker{margin-bottom:12px}
.split-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}
.split-img{margin:0}
.split-img .photo{aspect-ratio:4/5}
.split-img.wide .photo{aspect-ratio:4/3}
.jump{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:32px;font-size:15px}
.jump a{color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:6px}
.jump a:hover{color:var(--violet);text-decoration-color:var(--violet)}

/* generic blocks */
.block{padding-block:var(--space)}
.block.tint{background:var(--paper-2)}
.sec-h{margin-bottom:32px}
.row-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;margin-bottom:32px}
.row-head .sec-h{margin:0}
.two-col{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(32px,6vw,96px);align-items:start}
.lead-p{font-family:var(--display);font-weight:300;font-size:clamp(20px,1.9vw,24px);line-height:1.5;color:var(--ink)}
.note{font-size:14px;color:var(--muted);margin-top:24px}
.pills{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:15px;color:var(--ink-2)}
.included{list-style:none;padding:0;margin:0}
.included li{display:grid;grid-template-columns:minmax(150px,.7fr) 1.3fr;gap:6px 28px;padding:22px 0;border-top:1px solid var(--line)}
.included li:last-child{border-bottom:1px solid var(--line)}
.included b{font-family:var(--display);font-weight:400;font-size:18px}
.included span{color:var(--ink-2)}
.timeline{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;counter-reset:step}
.timeline li{counter-increment:step;padding-top:20px;border-top:1px solid var(--ink)}
.timeline li::before{content:counter(step,decimal-leading-zero);display:block;font-family:var(--display);font-weight:300;font-size:14px;color:var(--muted);margin-bottom:14px}
.when{display:block;font-size:14px;color:var(--violet);margin-bottom:4px}
.timeline h3{font-size:21px;font-weight:400;margin-bottom:8px}
.timeline p{color:var(--ink-2)}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:48px 28px}
.tile{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink)}
.tile-img{overflow:hidden;border-radius:var(--r);aspect-ratio:4/3;margin-bottom:14px;background:var(--paper-2)}
.tile-img .photo,.tile-img>div{border-radius:0}
.tile strong{font-family:var(--display);font-weight:400;font-size:18px;line-height:1.35}
.tile:hover strong{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.tile span{font-size:15px;color:var(--muted)}
.group{margin-bottom:88px}
.group:last-child{margin-bottom:0}
.group-h{padding-bottom:16px;margin-bottom:32px;border-bottom:1px solid var(--line)}

/* services page */
.svc-list-wrap{padding-block:clamp(24px,4vw,48px) var(--space)}
.svc-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center;padding-block:clamp(48px,6vw,88px)}
.svc-row + .svc-row{border-top:1px solid var(--line)}
.svc-row.flip .svc-media{order:2}
.svc-media .photo{aspect-ratio:4/5}
.svc-copy h2{margin-bottom:16px}
.svc-lead{color:var(--ink-2);margin-bottom:28px}
.svc-proof{display:flex;flex-direction:column;gap:2px;margin-top:4px;padding:16px 0;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}
.svc-proof b{font-weight:500;font-size:16px}
.svc-proof span{font-size:14px;color:var(--muted)}
.svc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:32px}

/* team page */
.founder-wrap{padding-block:var(--space);background:var(--white)}
.founder2{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,96px);align-items:center}
.founder-photo{margin:0}
.founder-photo .photo{aspect-ratio:4/5;filter:grayscale(1)}
.founder-copy p{color:var(--ink-2);margin-bottom:1.2em}
.founder-copy h2{margin-bottom:4px}
.role{font-size:15px;color:var(--violet) !important;margin-bottom:22px}
.pull{margin:28px 0 0;padding-left:22px;border-left:1px solid var(--violet);font-family:var(--display);font-weight:300;font-size:clamp(20px,2vw,26px);line-height:1.5;color:var(--ink)}
.pull cite{display:block;margin-top:12px;font-style:normal;font-family:var(--body);font-size:14px;color:var(--muted)}
.members-wrap{padding-block:var(--space)}
.members{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 28px}
.member .r45,.member .photo{aspect-ratio:4/5;filter:grayscale(1)}
.member h3{margin-top:18px;font-weight:400}
.member .role{margin:2px 0 8px}
.member p:last-child{font-size:15px;color:var(--ink-2)}
.studio-wrap{padding-block:var(--space);background:var(--white)}
.studio-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 40px;margin-bottom:32px}
.studio-head .sec-h{margin:0}
.studio-head p{color:var(--muted);max-width:28em}
.mosaic{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:240px 240px;gap:14px}
.mosaic .m-a{grid-row:1/3}
.values-wrap{padding-block:clamp(56px,7vw,96px);border-top:1px solid var(--line)}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.values h3{font-family:var(--display);font-weight:200;font-size:clamp(34px,3.6vw,48px);letter-spacing:-.03em;color:var(--violet);margin-bottom:6px}
.values p{color:var(--ink-2)}

/* case page */
.results-band{background:var(--white);border-bottom:1px solid var(--line)}
.results2{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:28px 40px;padding-block:48px}
.results2 div{display:flex;flex-direction:column;gap:6px}
.big{font-family:var(--display);font-weight:200;font-size:clamp(38px,4.2vw,56px);line-height:1;letter-spacing:-.035em;color:var(--violet)}
.results2 span:not(.big){font-size:15px;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.gallery .photo{aspect-ratio:4/3}

/* closing CTA */
.closer{background:var(--paper-2);border-top:1px solid var(--line)}
.closer-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px 48px;padding-block:clamp(56px,7vw,96px)}
.closer h2{max-width:18em}
.closer p{color:var(--ink-2);margin-top:12px;max-width:32em}

/* footer */
.foot{background:var(--night);color:#D2C9F0;font-size:15px}
.foot-in{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;padding-block:64px 40px}
.foot-brand img{height:44px;width:auto;margin-bottom:18px}
.foot-brand p{max-width:24em;color:#A99DD6}
.foot-col{display:flex;flex-direction:column;gap:10px}
.foot-col b{font-family:var(--display);font-weight:400;color:#fff;margin-bottom:4px}
.foot-col a,.foot-base a{color:#D2C9F0;text-decoration:none}
.foot-col a:hover,.foot-base a:hover{color:#fff;text-decoration:underline}
.foot-base{display:flex;justify-content:space-between;gap:16px;padding-block:22px 32px;border-top:1px solid rgba(255,255,255,.1);font-size:14px;color:#8F84C2}

/* booking */
dialog.book{border:0;border-radius:var(--r);padding:0;width:min(720px,94vw);max-height:92vh;background:#fff;box-shadow:0 30px 80px -30px rgba(22,4,94,.45)}
dialog.book::backdrop{background:rgba(34,28,51,.45)}
.book-head{display:flex;justify-content:space-between;align-items:center;padding:14px 14px 14px 24px;border-bottom:1px solid var(--line);font-family:var(--display);font-weight:400}
.book-close{background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:var(--ink);width:44px;height:44px}
.chooser{padding:28px 24px 30px;display:flex;flex-direction:column;gap:18px}
.chooser[hidden],.book-frame[hidden]{display:none}
.chooser-q{font-family:var(--display);font-weight:300;font-size:24px;letter-spacing:-.02em;color:var(--ink)}
.svc-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.svc{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;font-family:var(--body);font-size:17px;color:var(--ink);background:none;border:0;border-bottom:1px solid var(--line);padding:18px 4px;cursor:pointer;min-height:58px}
.svc::after{content:"";width:8px;height:8px;border-right:1.5px solid var(--ink);border-top:1.5px solid var(--ink);transform:rotate(45deg)}
.svc:hover{color:var(--violet)}
.svc:hover::after{border-color:var(--violet)}
.picked{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 18px 8px 24px;border-bottom:1px solid var(--line);font-size:15px;color:var(--muted)}
.picked b{color:var(--ink);font-weight:500}
.change{background:none;border:0;color:var(--violet);font-family:var(--body);font-weight:500;font-size:15px;cursor:pointer;min-height:44px}
.book-frame iframe{width:100%;height:min(680px,70vh);border:0;display:block}
.book-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}

/* prose */
.prose h1{margin-bottom:24px}
.prose h2{font-size:24px;margin:36px 0 10px}
.prose p{margin-bottom:14px;color:var(--ink-2)}

/* ---------- responsive (mobile first reading) ---------- */
@media (max-width:900px){
  .hero-in,.split-in,.founder2,.svc-row,.two-col{grid-template-columns:1fr}
  .svc-row.flip .svc-media{order:0}
  .hero-video{aspect-ratio:4/3}
  .split-img .photo,.svc-media .photo,.founder-photo .photo{aspect-ratio:4/3}
  .members{grid-template-columns:repeat(2,1fr)}
  .foot-in{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
  .timeline{grid-template-columns:1fr;gap:28px}
  .values{grid-template-columns:1fr;gap:24px}
}
@media (max-width:820px){
  .menu{display:block}
  .nav-links{position:fixed;top:68px;left:0;right:0;bottom:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:12px var(--gutter) 32px;
    opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;overflow-y:auto}
  .nav.open .nav-links{opacity:1;visibility:visible}
  .nav-links a:not(.btn){font-family:var(--display);font-weight:300;font-size:26px;letter-spacing:-.01em;padding:18px 0;border-bottom:1px solid var(--line)}
  .nav-links a:not(.btn):hover,.nav-links a[aria-current]{border-bottom-color:var(--line);color:var(--violet)}
  .nav-cta{margin-top:28px;min-height:52px;font-size:16px;background:var(--violet) !important;color:#fff !important}
  .brand img{height:34px}
  .included li{grid-template-columns:1fr}
  .mosaic{grid-template-columns:1fr 1fr;grid-template-rows:200px 150px}
  .mosaic .m-a{grid-row:auto;grid-column:1/-1}
}
@media (max-width:560px){
  .hero-in{padding-top:36px}
  .hero-actions{flex-direction:column;align-items:stretch;gap:18px}
  .hero-actions .link{text-align:center}
  .btn{width:100%}
  .nav-cta{width:auto}
  .trust{gap:6px 22px;font-size:14px}
  .members{gap:28px 14px}
  .member p:last-child{font-size:14px}
  .foot-in{grid-template-columns:1fr}
  .closer-in .btn{width:100%}
  .book-frame iframe{height:72vh}
  dialog.book{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0;margin:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;scroll-behavior:auto !important}.hero-video video{display:none}.video-toggle{display:none}}
.founder-photo .photo,.split-img .photo,.member .photo,.member .r45{object-position:center 18%}
@media (max-width:820px){.nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--paper)}.nav-links{height:calc(100dvh - 68px);bottom:auto}}

/* image-led home sections */
.letter .wrap{padding-block:clamp(56px,8vw,104px)}
.paths-wrap{padding-block:clamp(56px,8vw,104px);border-top:1px solid var(--line)}
.path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.pg{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink)}
.pg .photo{aspect-ratio:4/5;margin-bottom:14px}
.pg-t{font-family:var(--display);font-weight:400;font-size:19px;line-height:1.3}
.pg-s{font-size:15px;color:var(--muted)}
.pg:hover .pg-t{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.story-wrap{background:var(--white);border-top:1px solid var(--line);padding-block:clamp(56px,8vw,104px)}
.story2{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,96px);align-items:center}
.story2 figure{margin:0}
.story2 .photo{aspect-ratio:3/2}
.story2 h2{margin-bottom:28px}
.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px;padding-top:24px;border-top:1px solid var(--line)}
.nums div{display:flex;flex-direction:column;gap:6px}
.nums span:not(.big){font-size:14px;color:var(--muted);line-height:1.4}
.quote-wrap{padding-block:clamp(64px,9vw,120px);border-top:1px solid var(--line)}
.big-quote{font-family:var(--display);font-weight:300;font-size:clamp(22px,2.6vw,32px);line-height:1.45;letter-spacing:-.015em;color:var(--ink);margin:0}
.big-quote cite{display:block;margin-top:20px;font-style:normal;font-family:var(--body);font-size:15px;color:var(--muted)}
.center-link{margin-top:32px}
.offer{border-top:1px solid var(--line)}
.offer h2{margin:0 0 .6em}
.offer .letter-cta{border:0;padding:8px 0;margin:1.6em 0 2em}
.offer .sig{margin:0}
.offer .ps{margin-top:2em !important}
@media (max-width:900px){
  .path-grid{grid-template-columns:repeat(2,1fr);gap:28px 16px}
  .story2{grid-template-columns:1fr}
  .pg-t{font-size:17px}
  .pg-s{font-size:14px}
}

/* ---------- full-bleed video hero (Aesop-style) ---------- */
.logo-w{display:none}
.nav-overlay{position:fixed;left:0;right:0;top:0;background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .3s,border-color .3s}
.nav-overlay .logo-d{display:none}
.nav-overlay .logo-w{display:block}
.nav-overlay .nav-links a:not(.btn){color:#fff}
.nav-overlay .nav-links a:not(.btn):hover{border-bottom-color:#fff}
.nav-overlay .nav-cta{color:#fff !important;border-color:rgba(255,255,255,.8) !important}
.nav-overlay .nav-cta:hover{background:#fff !important;color:var(--ink) !important}
.nav-overlay .menu span{background:#fff}
.nav-overlay.scrolled,.nav-overlay.open{background:var(--paper);border-bottom-color:var(--line)}
.nav-overlay.scrolled .logo-d,.nav-overlay.open .logo-d{display:block}
.nav-overlay.scrolled .logo-w,.nav-overlay.open .logo-w{display:none}
.nav-overlay.scrolled .nav-links a:not(.btn),.nav-overlay.open .nav-links a:not(.btn){color:var(--ink)}
.nav-overlay.scrolled .nav-cta{color:var(--violet) !important;border-color:var(--violet) !important}
.nav-overlay.scrolled .menu span,.nav-overlay.open .menu span{background:var(--ink)}
.nav-overlay.open .nav-cta{color:#fff !important}

.hero-full{position:relative;isolation:isolate;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;color:#fff;background:var(--night) url(/assets/video/hero-poster.jpg) center/cover;overflow:hidden}
.hf-media{position:absolute;inset:0;z-index:-1}
.hf-media video{width:100%;height:100%;object-fit:cover}
.hf-media::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(14,6,40,.45) 0%,rgba(14,6,40,0) 22%,rgba(14,6,40,0) 45%,rgba(14,6,40,.72) 78%,rgba(14,6,40,.88) 100%)}
.hf-copy{width:100%;padding-bottom:clamp(56px,9vh,104px);padding-top:120px}
.hf-copy > *{max-width:640px}
.hf-kicker{font-size:15px;font-weight:500;margin-bottom:14px;color:#fff}
.hero-full h1{color:#fff;font-weight:300;font-size:clamp(36px,5vw,64px);line-height:1.08}
.hf-sub{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:rgba(255,255,255,.88);margin:18px 0 32px;max-width:30em}
.btn-ghost{background:transparent;color:#fff !important;border:1px solid rgba(255,255,255,.85);gap:14px;padding-inline:28px}
.btn-ghost:hover{background:#fff;color:var(--ink) !important}
.hero-full .video-toggle{position:absolute;left:auto;right:max(var(--gutter),env(safe-area-inset-right));bottom:clamp(56px,9vh,104px);background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(6px)}
.hero-full .video-toggle span{border-color:#fff}
.hero-full .video-toggle.paused span{border-left-color:#fff;border-top-color:transparent;border-bottom-color:transparent}
.trust-band{background:var(--paper)}
.trust-band .trust{border-top:0;padding-block:24px}
@media (max-width:820px){
  .nav-overlay.open{background:var(--paper)}
  .hf-copy{padding-bottom:40px}
  .hero-full .btn-ghost{width:100%;justify-content:space-between}
  .hero-full .video-toggle{top:84px;bottom:auto}
}
@media (prefers-reduced-motion:reduce){.hf-media video{display:none}}

/* polished top-right video control */
.hf-media video::-webkit-media-controls,.hf-media video::-webkit-media-controls-start-playback-button,.hf-media video::-webkit-media-controls-overlay-play-button{display:none !important;-webkit-appearance:none}
.vt{position:absolute;top:calc(68px + 20px);right:max(var(--gutter),env(safe-area-inset-right));z-index:3;width:46px;height:46px;padding:0;border:0;border-radius:50%;cursor:pointer;color:#fff;
  background:rgba(14,6,40,.28);backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(10px) saturate(1.3);transition:background .2s,transform .2s}
.vt:hover{background:rgba(14,6,40,.5)}
.vt:active{transform:scale(.95)}
.vt svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}
.vt-track{fill:none;stroke:rgba(255,255,255,.28);stroke-width:1.5}
.vt-prog{fill:none;stroke:#fff;stroke-width:1.5;stroke-linecap:round}
.vt-pause,.vt-play{fill:#fff;transform-origin:24px 24px;transform:rotate(90deg)}
.vt-play{display:none}
.vt.is-paused .vt-pause{display:none}
.vt.is-paused .vt-play{display:block}
.vt:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.vt{display:none}}
.vt{right:max(var(--gutter),env(safe-area-inset-right),calc((100vw - 1200px)/2 + var(--gutter)))}

/* ---------- split photo hero (fits one screen on every device) ---------- */
.hero-split{display:grid;grid-template-columns:38fr 62fr;height:calc(100vh - 68px);height:calc(100svh - 68px);min-height:520px;max-height:960px;background:var(--night);color:#fff}
.hs-img{margin:0;order:2;position:relative;overflow:hidden;min-height:0}
.hs-img img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.hs-copy{order:1;display:flex;flex-direction:column;justify-content:center;padding:48px max(var(--gutter),calc((100vw - 1200px)/2 + var(--gutter))) 48px max(var(--gutter),calc((100vw - 1200px)/2 + var(--gutter)));padding-right:clamp(32px,4vw,64px);
  background:linear-gradient(160deg,#1C0A6E 0%,var(--night) 70%)}
.hero-split h1{color:#fff;font-weight:300;font-size:clamp(34px,3.6vw,56px);line-height:1.08;letter-spacing:-.03em}
.hero-split .hf-sub{margin:18px 0 32px}
.hero-split .btn-ghost{align-self:flex-start}
.hs-cap{margin-top:auto;padding-top:28px;font-size:13px;color:rgba(255,255,255,.6)}
@media (max-width:820px){
  .hero-split{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;min-height:0;max-height:none}
  .hs-img{order:1}
  .hs-img img{object-position:52% 30%}
  .hs-copy{order:2;padding:28px var(--gutter) 28px;justify-content:flex-start}
  .hero-split h1{font-size:clamp(30px,8.4vw,38px)}
  .hero-split .hf-sub{font-size:16px;margin:12px 0 22px}
  .hero-split .btn-ghost{align-self:stretch;justify-content:space-between}
  .hs-cap{display:none}
}
@media (max-width:820px) and (max-height:700px){.hero-split .hf-sub{display:none}.hero-split h1{margin-bottom:18px}}
@media (max-width:820px){
  .hero-split{display:flex;flex-direction:column}
  .hs-img{flex:0 0 auto;height:min(calc(100vw / 1.12), calc(100svh - 68px - 300px))}
  .hs-img img{object-position:46% 30%}
  .hs-copy{flex:1 1 auto;justify-content:center}
}
