/* kaisho · case study + projects pages. Theme vars are driven by case.js per section. */
:root{--fg-rgb:244,241,234;--bg-rgb:12,11,10;--acc:#ffb687;--acc-rgb:255,182,135;--sb-thumb:rgba(244,241,234,.34);--sb-track:#0c0b0a;--pad:clamp(16px,4vw,48px)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:rgb(var(--bg-rgb));color:rgb(var(--fg-rgb));font-family:'Manrope',system-ui,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--acc);color:#0b0b0b}
@media (pointer:fine){body,body a,body button{cursor:none}}

/* scrollbar: follows the palette of whatever is on screen */
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:var(--sb-track)}
::-webkit-scrollbar-thumb{background:var(--sb-thumb);border-radius:999px;border:3px solid var(--sb-track);min-height:48px}
::-webkit-scrollbar-thumb:hover{background:var(--acc)}
::-webkit-scrollbar-corner{background:var(--sb-track)}
@supports (-moz-appearance:none){html{scrollbar-color:var(--sb-thumb) var(--sb-track);scrollbar-width:thin}}

@keyframes shimmer-slide{to{transform:translate(calc(100cqw - 100%),0)}}
@keyframes spin-around{0%{transform:translateZ(0) rotate(0)}15%,35%{transform:translateZ(0) rotate(90deg)}65%,85%{transform:translateZ(0) rotate(270deg)}100%{transform:translateZ(0) rotate(360deg)}}

.cursor-ring,.cursor-dot{position:fixed;top:0;left:0;border-radius:999px;mix-blend-mode:difference;pointer-events:none;opacity:0;will-change:transform}
.cursor-ring{width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid #fff;z-index:999;transition:width .3s ease,height .3s ease,margin .3s ease,background .3s ease}
.cursor-ring.is-link{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(255,255,255,.08)}
.cursor-dot{width:7px;height:7px;margin:-3.5px 0 0 -3.5px;background:#fff;z-index:1000}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;background:radial-gradient(120% 80% at 50% 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,.35) 100%);transition:opacity .6s ease}
.is-light .vignette{opacity:0}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none}
.page{position:relative;z-index:2}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:clamp(14px,1.8vh,22px) var(--pad);border-bottom:1px solid transparent;transition:background .45s ease,backdrop-filter .45s ease,border-color .45s ease}
.nav.is-stuck{background:rgba(var(--bg-rgb),.62);backdrop-filter:blur(26px) saturate(1.4);-webkit-backdrop-filter:blur(26px) saturate(1.4);border-color:rgba(var(--fg-rgb),.08)}
.logo{display:inline-flex;align-items:center;gap:.4em;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:600;font-size:clamp(19px,1.7vw,25px);letter-spacing:-.03em;line-height:1}
.logo svg{height:1.05em;width:auto;flex:none}
.nav-links{display:flex;gap:clamp(10px,2.4vw,34px);align-items:center;padding:12px clamp(16px,2.4vw,34px);border-radius:999px;background:rgba(var(--fg-rgb),.06);border:1px solid rgba(var(--fg-rgb),.1);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-family:'Geist',system-ui,sans-serif;font-size:13px}
.nav-links a{opacity:.75;transition:opacity .25s ease,color .25s ease}
.nav-links a:hover,.nav-links a[aria-current]{opacity:1;color:var(--acc)}
.chat{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;border-radius:999px;background:rgb(var(--fg-rgb));color:rgb(var(--bg-rgb));font-family:'Geist',system-ui,sans-serif;font-size:13px;white-space:nowrap;transition:opacity .3s ease}
.chat:hover{opacity:.85}
@media (max-width:820px){.nav-links{display:none}}

/* shared type */
.pill{display:inline-flex;align-items:center;gap:9px;padding:9px 18px;border-radius:999px;background:linear-gradient(135deg,rgba(var(--fg-rgb),.18),rgba(var(--fg-rgb),.04));border:1px solid rgba(var(--fg-rgb),.16);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 rgba(var(--fg-rgb),.2);font-family:'Geist',system-ui,sans-serif;font-size:13px}
.pill::before{content:"";width:6px;height:6px;border-radius:999px;background:rgba(var(--fg-rgb),.8)}
.serif{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;letter-spacing:-.02em}
.h2{margin:0;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:500;font-size:clamp(34px,5.4vw,68px);line-height:1.02;letter-spacing:-.035em}
.eyebrow{font-family:'Geist',system-ui,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.55}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-family:'Geist',system-ui,sans-serif;font-size:13px;white-space:nowrap;border:1px solid rgba(var(--fg-rgb),.2);transition:background .3s ease,color .3s ease,border-color .3s ease}
.btn:hover{background:rgb(var(--fg-rgb));color:rgb(var(--bg-rgb));border-color:transparent}
.btn.solid{background:rgb(var(--fg-rgb));color:rgb(var(--bg-rgb));border-color:transparent}
.btn.solid:hover{background:var(--acc);color:#0b0b0b}
.back{display:inline-flex;align-items:center;gap:10px;font-family:'Geist',system-ui,sans-serif;font-size:13px;opacity:.7;transition:opacity .25s ease,color .25s ease,gap .3s ease}
.back:hover{opacity:1;color:var(--acc);gap:14px}

/* case hero */
.case-hero{padding:clamp(120px,18vh,190px) var(--pad) clamp(40px,6vw,72px)}
.case-hero .row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-bottom:clamp(26px,4vw,44px)}
.case-title{margin:0;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:500;font-size:clamp(64px,13vw,200px);line-height:.9;letter-spacing:-.05em}
.case-title .serif{padding-right:.04em}
.case-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(28px,6vw,96px);margin-top:clamp(32px,5vw,64px);align-items:end}
.case-intro p{margin:0;font-size:clamp(17px,1.5vw,20px);line-height:1.6;opacity:.8;max-width:58ch}
.meta{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;border-top:1px solid rgba(var(--fg-rgb),.16);padding-top:22px}
.meta dt{font-family:'Geist',system-ui,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.5;margin-bottom:7px}
.meta dd{margin:0;font-size:15px}
.meta .actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
@media (max-width:820px){.case-intro{grid-template-columns:1fr}}

.cover{padding:0 var(--pad)}
.cover-frame{position:relative;border-radius:clamp(18px,2.4vw,30px);overflow:hidden;border:1px solid rgba(var(--fg-rgb),.1);aspect-ratio:16/10;background:rgba(var(--fg-rgb),.05)}
.cover-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 0%;will-change:transform}

/* sections */
.case-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(28px,5vw,80px);padding:clamp(80px,10vw,140px) var(--pad)}
.index{position:sticky;top:110px;align-self:start;display:flex;flex-direction:column;gap:4px}
.index .eyebrow{margin-bottom:14px}
.index a{display:flex;gap:12px;align-items:baseline;padding:7px 0;font-size:14px;opacity:.45;transition:opacity .3s ease,color .3s ease,transform .3s ease}
.index a span{font-family:'Geist',system-ui,sans-serif;font-size:11px;letter-spacing:.08em;opacity:.7;width:20px}
.index a:hover{opacity:.8}
.index a.is-active{opacity:1;transform:translateX(6px)}
.index a.is-active span{color:var(--acc);opacity:1}
.shots{display:flex;flex-direction:column;gap:clamp(56px,8vw,110px);min-width:0}
.shot{scroll-margin-top:100px}
.shot-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(var(--fg-rgb),.14)}
.shot-head h3{margin:0;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:500;font-size:clamp(22px,2.4vw,32px);letter-spacing:-.025em}
.shot-head .eyebrow{white-space:nowrap}
.browser{border-radius:clamp(14px,1.6vw,20px);overflow:hidden;background:rgba(var(--fg-rgb),.06);border:1px solid rgba(var(--fg-rgb),.12);box-shadow:0 30px 80px -40px rgba(0,0,0,.45)}
.browser-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid rgba(var(--fg-rgb),.1)}
.browser-bar i{width:9px;height:9px;border-radius:999px;background:rgba(var(--fg-rgb),.22)}
.browser-bar b{margin-left:12px;font-family:'Geist',system-ui,sans-serif;font-weight:400;font-size:11px;letter-spacing:.04em;opacity:.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.browser img{width:100%;height:auto}
@media (max-width:900px){.case-body{grid-template-columns:1fr}.index{display:none}}

/* next project */
.next{padding:clamp(40px,6vw,80px) var(--pad) 0}
.next-card{position:relative;display:block;border-radius:clamp(22px,3vw,36px);overflow:hidden;min-height:clamp(340px,44vw,560px);border:1px solid rgba(var(--fg-rgb),.1);color:#f4f1ea}
.next-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%;transform:scale(1.04);transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .8s ease;filter:brightness(.62)}
.next-card:hover img{transform:scale(1);filter:brightness(.5)}
.next-card .in{position:absolute;inset:auto clamp(22px,3vw,44px) clamp(22px,3vw,40px);display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.next-card .eyebrow{opacity:.75;margin-bottom:12px}
.next-card .name{font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:500;font-size:clamp(48px,9vw,130px);line-height:.9;letter-spacing:-.05em}
.next-card .go{display:inline-flex;align-items:center;justify-content:center;width:clamp(58px,6vw,78px);height:clamp(58px,6vw,78px);border-radius:999px;background:#f4f1ea;color:#111;font-size:22px;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.next-card:hover .go{transform:rotate(-45deg) scale(1.06)}

/* projects index */
.list-hero{padding:clamp(130px,20vh,210px) var(--pad) clamp(36px,5vw,64px)}
.list-hero .top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px}
.list-hero h1{margin:22px 0 0;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:500;font-size:clamp(52px,10vw,150px);line-height:.92;letter-spacing:-.05em}
.list-hero p{margin:0;max-width:360px;font-size:15px;line-height:1.6;opacity:.68}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(32px,5vw,56px)}
.chip{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid rgba(var(--fg-rgb),.18);background:transparent;color:inherit;font-family:'Geist',system-ui,sans-serif;font-size:13px;transition:background .3s ease,color .3s ease,border-color .3s ease}
.chip sup{font-size:10px;opacity:.55;letter-spacing:.06em}
.chip:hover{border-color:rgba(var(--fg-rgb),.5)}
.chip[aria-pressed="true"]{background:rgb(var(--fg-rgb));color:rgb(var(--bg-rgb));border-color:transparent}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr));gap:clamp(36px,4vw,56px) clamp(14px,1.6vw,24px);padding:clamp(48px,6vw,90px) var(--pad) clamp(80px,10vw,140px)}
.card{display:block}
.card[hidden]{display:none}
.card-media{position:relative;aspect-ratio:16/10;border-radius:clamp(16px,1.8vw,22px);overflow:hidden;background:rgba(var(--fg-rgb),.06);border:1px solid rgba(var(--fg-rgb),.1)}
.card-media img{width:100%;height:100%;object-fit:cover;object-position:50% 0%;transform:scale(1.02);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.card:hover .card-media img{transform:scale(1.07)}
.card-media .go{position:absolute;right:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:#fff;color:#111;font-family:'Geist',system-ui,sans-serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.card:hover .card-media .go,.card:focus-visible .card-media .go{opacity:1;transform:none}
.card-info{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:18px}
.card-info h2{margin:0;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:500;font-size:clamp(24px,2.4vw,32px);letter-spacing:-.03em;transition:color .3s ease}
.card:hover .card-info h2{color:var(--acc)}
.card-info .eyebrow{white-space:nowrap}
.card p{margin:10px 0 0;max-width:52ch;font-size:15px;line-height:1.6;opacity:.66}
@media (hover:none){.card-media .go{opacity:1;transform:none}}

/* CTA + footer (always dark) */
.cta{padding:clamp(80px,10vw,140px) var(--pad)}
.cta-box{position:relative;border-radius:clamp(24px,3vw,38px);overflow:hidden;min-height:clamp(440px,58vw,620px);display:flex;align-items:center;justify-content:center;border:1px solid rgba(var(--fg-rgb),.1)}
.cta-box picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.cta-box .shade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 70% at 50% 50%,rgba(10,9,8,.62) 0%,rgba(10,9,8,.3) 100%)}
.cta-box .g{position:absolute;inset:0;pointer-events:none}
.cta-in{position:relative;text-align:center;padding:clamp(36px,6vw,80px);max-width:760px;color:#f4f1ea}
.cta-in .pill{background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.04));border-color:rgba(255,255,255,.18);color:#f4f1ea;margin-bottom:26px}
.cta-in .pill::before{background:rgba(255,255,255,.85)}
.cta-in h2{margin:0 0 18px;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:500;font-size:clamp(28px,4.6vw,58px);line-height:1.06;letter-spacing:-.035em}
.cta-in p{margin:0 auto 30px;max-width:460px;font-size:15px;line-height:1.6;opacity:.72}
.shimmer{position:relative;z-index:0;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;padding:16px 30px;border:1px solid rgba(255,255,255,.1);border-radius:100px;background:#0b0a09;color:#f4f1ea;font-family:'Geist',system-ui,sans-serif;font-size:14px;transform:translateZ(0);transition:transform .3s ease}
.shimmer:hover{transform:translateY(-2px)}
.shimmer .sp{position:absolute;inset:0;z-index:-30;filter:blur(2px);overflow:visible;container-type:size}
.shimmer .sl{position:absolute;inset:0;height:100cqh;aspect-ratio:1;animation:shimmer-slide 3s ease-in-out infinite alternate}
.shimmer .sr{position:absolute;inset:-100%;width:auto;animation:spin-around 6s infinite linear;background:conic-gradient(from calc(270deg - 45deg),transparent 0,#fff 90deg,transparent 90deg)}
.shimmer .lb{position:relative;z-index:1}
.shimmer .sh{position:absolute;inset:0;pointer-events:none;border-radius:100px;box-shadow:inset 0 -8px 10px rgba(255,255,255,.12);transition:box-shadow .3s ease}
.shimmer:hover .sh{box-shadow:inset 0 -6px 10px rgba(255,255,255,.25)}
.shimmer .bk{position:absolute;inset:1px;z-index:-20;border-radius:100px;background:#0b0a09}
.socials{display:flex;gap:22px;justify-content:center;margin-top:32px;font-family:'Geist',system-ui,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.socials a:hover{opacity:.55}

.footer{position:relative;background:#0a0a09;color:#f2f0ea;padding:clamp(48px,5vw,76px) var(--pad) 0}
.footer a{color:#f2f0ea}
.f-top{display:flex;flex-wrap:wrap;gap:clamp(40px,6vw,80px)}
.f-lead{flex:0 1 420px;min-width:min(100%,280px);display:flex;flex-direction:column;gap:20px}
.f-lead p{margin:0;font-family:'Hanken Grotesk',system-ui,sans-serif;font-size:clamp(17px,1.5vw,19px);line-height:1.45;letter-spacing:-.01em;max-width:30ch}
.f-mail{display:flex;height:48px;border-bottom:.8px solid rgba(242,240,234,.3)}
.f-mail span{flex:1 1 0;min-width:0;display:flex;align-items:center;font-family:'Geist',system-ui,sans-serif;font-size:15px;opacity:.6}
.f-mail a{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 26px;background:#f2f0ea;color:#0a0a09;font-family:'Geist',system-ui,sans-serif;font-size:13px;font-weight:500;letter-spacing:.02em;white-space:nowrap}
.f-mail a:hover{opacity:.85}
.f-cols{flex:1 1 360px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px 24px}
.f-col{display:flex;flex-direction:column;gap:14px;min-width:0;font-family:'Geist',system-ui,sans-serif}
.f-col p{font-size:12px;letter-spacing:.01em;line-height:1.1;opacity:.5;margin:0}
.f-col a,.f-col span{font-size:15px;line-height:1.4;opacity:.78;transition:opacity .2s ease}
.f-col a:hover{opacity:1}
.f-mark{display:block;margin-top:clamp(48px,5.5vw,72px);overflow:hidden}
.f-mark svg{display:block;width:100%;height:auto;overflow:visible}
.f-bar{position:relative;margin:clamp(40px,5vw,72px) calc(-1 * var(--pad)) 0;padding:24px var(--pad) 28px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;font-family:'Geist',system-ui,sans-serif;font-size:13px;border-top:1px solid rgba(242,240,234,.1)}
.f-bar span{opacity:.5}
.f-bar div{display:flex;gap:22px;align-items:center}
.f-bar a{opacity:.78}
.f-bar a:hover{opacity:1}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Mobile menu (under 820px): the page dims, a rounded panel unclips from the top, each link rises out of its own mask. */
.km-right{display:flex;align-items:center;gap:8px}
.km-burger{display:none;position:relative;flex:none;width:44px;height:44px;padding:0;border-radius:50%;background:rgba(var(--fg-rgb),.06);border:1px solid rgba(var(--fg-rgb),.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:inherit;cursor:pointer}
.km-burger i{position:absolute;left:12px;right:12px;height:1.5px;background:rgb(var(--fg-rgb));transition:transform .45s cubic-bezier(.7,0,.2,1)}
.km-burger i:first-child{top:18px}.km-burger i:last-child{top:24px}
.km-open .km-burger i:first-child{transform:translateY(3px) rotate(45deg)}
.km-open .km-burger i:last-child{transform:translateY(-3px) rotate(-45deg)}
@media (max-width:820px){.km-burger{display:block}}
.km-open .km-nav{--fg-rgb:244,241,234;--bg-rgb:12,11,10;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-color:transparent!important;box-shadow:none!important}
.km-chat{transition:opacity .35s ease,visibility 0s}
.km-open .km-chat{opacity:0!important;visibility:hidden;transition:opacity .25s ease,visibility 0s .25s}
.km-menu{position:fixed;inset:0;z-index:39;visibility:hidden;opacity:0;pointer-events:none;color:#f4f1ea;font-family:'Hanken Grotesk',system-ui,sans-serif;transition:opacity .4s cubic-bezier(.215,.61,.355,1),visibility 0s linear .4s}
.km-open .km-menu{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .4s cubic-bezier(.215,.61,.355,1)}
.km-dim{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.km-panel{position:absolute;inset:10px;display:flex;flex-direction:column;padding:86px 18px 18px;overflow:auto;overscroll-behavior:contain;border-radius:22px;background:#141210;border:1px solid rgba(244,241,234,.08);clip-path:inset(0 0 100% 0 round 22px);transition:clip-path 0s .4s}
.km-open .km-panel{clip-path:inset(0 0 0% 0 round 22px);transition:clip-path .6s cubic-bezier(.645,.045,.355,1)}
.km-eyebrow{margin-bottom:18px;font:10px/1 'Geist',system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,241,234,.45)}
.km-links{list-style:none;margin:0;padding:0}
.km-links li{overflow:hidden;border-top:1px solid rgba(244,241,234,.1)}
.km-links li:last-child{border-bottom:1px solid rgba(244,241,234,.1)}
.km-links a{display:flex;align-items:baseline;gap:14px;padding:14px 0 12px;color:#f4f1ea;font:500 clamp(40px,12.5vw,64px)/1 'Hanken Grotesk',system-ui,sans-serif;letter-spacing:-.045em;transform:translateY(100%);transition:transform 0s .4s,color .3s}
.km-links a small{font:10px/1 'Geist',system-ui,sans-serif;letter-spacing:.14em;color:#ffb687;transform:translateY(-1.6em)}
.km-links a em{font:italic 400 1.04em/1 'Instrument Serif',serif;letter-spacing:-.02em}
.km-links a:hover,.km-links a:focus-visible{color:#ffb687}
.km-open .km-links a{transform:none;transition:transform .7s cubic-bezier(.215,.61,.355,1) .2s,color .3s}
.km-open .km-links li:nth-child(2) a{transition-delay:.25s,0s}
.km-open .km-links li:nth-child(3) a{transition-delay:.3s,0s}
.km-open .km-links li:nth-child(4) a{transition-delay:.35s,0s}
.km-foot{margin-top:auto;padding-top:28px;display:grid;gap:18px}
.km-foot,.km-eyebrow{opacity:0;transition:opacity 0s .4s}
.km-open .km-foot,.km-open .km-eyebrow{opacity:1;transition:opacity .6s .45s}
.km-cta{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-radius:999px;background:#ffb687;color:#14100d!important;font:500 15px/1 'Geist',system-ui,sans-serif}
.km-meta{display:flex;justify-content:space-between;gap:12px;font:11px/1.4 'Geist',system-ui,sans-serif;letter-spacing:.06em;color:rgba(244,241,234,.55)}
.km-meta a{color:inherit}.km-meta a:hover{color:#ffb687}
.km-meta span{display:flex;gap:14px}
@media (min-width:821px){.km-menu{display:none}}
@media (prefers-reduced-motion:reduce){.km-menu,.km-menu *,.km-burger i{transition-duration:0s!important;transition-delay:0s!important}}

/* Legal page */
.legal{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(40px,6vw,96px);padding:clamp(24px,4vw,56px) var(--pad) clamp(80px,10vw,140px);border-top:1px solid rgba(var(--fg-rgb),.1)}
.legal-body{max-width:640px;padding-top:clamp(28px,4vw,48px)}
.legal-body h2{margin:36px 0 10px;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:500;font-size:clamp(20px,2vw,24px);letter-spacing:-.02em}
.legal-body .eyebrow + h2{margin-top:22px}
.legal-body p{margin:0 0 12px;font-size:15px;line-height:1.7;opacity:.72}
.legal-body a{color:var(--acc);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
