*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:#0a0a0a}
body{overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
ul{list-style:none}
:root{
 --bg:#0a0a0a;--bg2:#111112;--bone:#e8e2d6;--grey:#9a9a98;--dim:#6f6f6d;--ink:#0a0a0a;
 --line:rgba(232,226,214,.14);--line2:rgba(232,226,214,.3);
 --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:40px;--s6:48px;--s8:64px;--s10:80px;--s12:96px;
 --gut:clamp(24px,5vw,80px);--sec:clamp(96px,14vw,208px);
 --serif:'Instrument Serif','Cormorant Garamond',Georgia,serif;
 --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
 --ease:cubic-bezier(.16,1,.3,1);--nav-h:88px;
}
body{font-family:var(--sans);font-size:16px;line-height:1.65;background:var(--bg);color:var(--bone);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.lock{overflow:hidden}
:focus-visible{outline:1px solid var(--bone);outline-offset:4px}
::selection{background:var(--bone);color:var(--ink)}
.cap{font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--grey);line-height:1.5}
.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;line-height:.98}
.serif em{font-style:italic}
.wrap{max-width:1560px;margin:0 auto;padding:0 var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.grain{position:fixed;inset:-50%;z-index:950;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
.btn{--hv:#fff;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 var(--s5);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--bone);position:relative;overflow:hidden;isolation:isolate;transition:color .5s var(--ease),border-color .5s,transform .4s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:var(--hv);transform:translateY(101%);transition:transform .55s var(--ease);z-index:-1}
.btn:hover::before{transform:none}
.btn:active{transform:scale(.98)}
.btn-bone{background:var(--bone);color:var(--ink)}
.btn-line{color:var(--bone)}
.btn-line{--hv:var(--bone)}
.btn-line:hover{color:var(--ink)}
.btn .arr{display:inline-block;transition:transform .4s var(--ease)}
.btn:hover .arr{transform:translateX(6px)}
.nav{position:fixed;top:0;left:0;right:0;z-index:900;height:var(--nav-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--gut);transition:height .5s var(--ease),background .5s,box-shadow .5s}
.nav.scrolled{height:64px;background:rgba(10,10,10,.62);-webkit-backdrop-filter:saturate(1.4) blur(18px);backdrop-filter:saturate(1.4) blur(18px);box-shadow:0 1px 0 var(--line)}
.nav.menu-open{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.logo{font-size:18px;font-weight:600;letter-spacing:.5em;text-transform:uppercase;min-height:44px;display:flex;align-items:center;justify-self:start}
.nav-links{display:flex;gap:var(--s6)}
.nav-links a{position:relative;display:flex;align-items:center;min-height:44px;min-width:44px;font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--grey);transition:color .3s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:9px;height:1px;background:var(--bone);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav-links a:hover{color:var(--bone)}.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-r{display:flex;align-items:center;justify-content:flex-end;gap:var(--s1)}
.bag{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0 var(--s2);font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;border:1px solid var(--line2);border-radius:999px;transition:background .4s,color .4s,border-color .4s}
.bag:hover{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.bag .count{font-size:12px;letter-spacing:0;min-width:16px;text-align:center}
.bag.bump{animation:bump .6s var(--ease)}
@keyframes bump{40%{transform:scale(1.1)}}
.burger{display:none;width:44px;height:44px;position:relative}
.burger i{position:absolute;left:10px;right:10px;height:1px;background:var(--bone);transition:transform .5s var(--ease),top .5s var(--ease)}
.burger i:nth-child(1){top:18px}.burger i:nth-child(2){top:26px}
.burger[aria-expanded=true] i:nth-child(1){top:22px;transform:rotate(45deg)}
.burger[aria-expanded=true] i:nth-child(2){top:22px;transform:rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:890;background:var(--bg);display:flex;flex-direction:column;justify-content:center;padding:var(--s12) var(--gut) var(--s6);visibility:hidden;opacity:0;transition:opacity .5s,visibility .5s}
.menu.open{visibility:visible;opacity:1}
.menu a.m{display:flex;align-items:center;justify-content:space-between;min-height:72px;font-family:var(--serif);font-size:clamp(48px,15vw,84px);line-height:1;border-bottom:1px solid var(--line);transform:translateY(32px);opacity:0;transition:transform .9s var(--ease),opacity .9s;transition-delay:calc(var(--i)*80ms + 150ms)}
.menu a.m small{font-family:var(--sans);font-size:12px;letter-spacing:.22em;color:var(--dim)}
.menu.open a.m{transform:none;opacity:1}
.menu p{margin-top:var(--s4)}
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;overflow:hidden;isolation:isolate;background:var(--bg)}
.reel{position:absolute;inset:0;z-index:-3;overflow:hidden}
.frame{position:absolute;inset:0 -20% 0 20%;opacity:0;animation:fade 18s linear infinite;animation-delay:calc(var(--i)*6s);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
.frame img{width:100%;height:100%;object-fit:cover;filter:brightness(.62) contrast(1.18) saturate(.8);animation:kb 18s ease-in-out infinite;animation-delay:inherit;transform:scale(1.1)}
.frame:nth-child(odd) img{--dx:1}.frame:nth-child(even) img{--dx:-1}
@keyframes fade{0%{opacity:0}7%{opacity:1}33.4%{opacity:1}40%{opacity:0}100%{opacity:0}}
@keyframes kb{0%{transform:scale(1.12) translate3d(calc(var(--dx,1)*2%),1.5%,0)}40%{transform:scale(1.3) translate3d(calc(var(--dx,1)*-2%),-1.5%,0)}100%{transform:scale(1.3) translate3d(calc(var(--dx,1)*-2%),-1.5%,0)}}
.reel-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62) contrast(1.1)}
.reel.has-video .frame{display:none}
.veil{position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(120% 90% at 68% 45%,transparent 25%,rgba(10,10,10,.65) 100%),linear-gradient(0deg,var(--bg) 0,rgba(10,10,10,.55) 22%,transparent 50%),linear-gradient(180deg,rgba(10,10,10,.7) 0,transparent 24%),linear-gradient(90deg,rgba(10,10,10,.85) 0,transparent 55%)}
.hero-in{width:100%;max-width:1560px;margin:0 auto;min-height:100vh;min-height:100svh;padding:calc(var(--nav-h) + var(--s6)) var(--gut) var(--s8);display:flex;flex-direction:column;justify-content:flex-end}
.hero-cap{margin-bottom:var(--s4);display:flex;gap:var(--s3);align-items:center;color:var(--bone)}
.hero-cap::before{content:"";width:48px;height:1px;background:var(--bone);opacity:.6}
.hero-h{font-size:clamp(120px,21vw,360px);line-height:.8;margin-left:-.04em}
.hl{display:block;overflow:hidden;padding:.08em .06em .06em 0;margin:-.08em 0 -.06em}
.hl>span{display:block;animation:up 1.5s var(--ease) both;animation-delay:calc(var(--i)*140ms + 350ms)}
.hl em{padding-right:.05em}
@keyframes up{from{transform:translateY(112%) rotate(2deg)}to{transform:none}}
.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s5);margin-top:var(--s6);flex-wrap:wrap}
.hero-foot p{max-width:42ch;color:var(--grey);font-size:15px}
.hero-cta{display:flex;gap:var(--s2);flex-wrap:wrap}
.rise{animation:rise 1.4s var(--ease) both;animation-delay:calc(var(--i)*120ms + 700ms)}
@keyframes rise{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
.tk{position:absolute;right:var(--gut);top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:right center;display:flex;gap:var(--s3);z-index:2}
.tk span{color:var(--dim);animation:tk 18s linear infinite;animation-delay:calc(var(--i)*6s)}
@keyframes tk{0%,33.3%{color:var(--bone)}33.4%,100%{color:var(--dim)}}
.cue{position:absolute;left:50%;bottom:var(--s3);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;min-width:44px}
.cue b{position:relative;display:block;width:1px;height:56px;background:var(--line2);overflow:hidden}
.cue b::after{content:"";position:absolute;left:0;top:-50%;width:100%;height:50%;background:var(--bone);animation:cue 2.4s var(--ease) infinite}
@keyframes cue{to{top:100%}}
.mq{padding:var(--s8) 0;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:var(--s2);user-select:none}
.mrow{display:flex;width:max-content;will-change:transform}
.mrow span{font-family:var(--serif);font-size:clamp(64px,10vw,168px);line-height:1;white-space:nowrap;padding-right:.5em;display:inline-flex;align-items:center;gap:.5em}
.mrow span::after{content:"";width:.12em;height:.12em;border-radius:50%;background:var(--grey);opacity:.6}
.mrow.o span{color:transparent;-webkit-text-stroke:1px var(--line2);font-style:italic}
.statement{padding:var(--sec) 0 calc(var(--sec)*.6)}
.statement .cap{margin-bottom:var(--s5)}
.statement p.serif{font-size:clamp(40px,6.4vw,112px);max-width:17ch;color:var(--bone)}
.statement p.serif em{color:var(--grey)}
.grid{padding:0 0 var(--sec)}
.g{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--s3);row-gap:var(--s10);align-items:start}
.tile{position:relative;min-width:0}
.tile .px{will-change:transform;transform:translate3d(0,var(--ty,0px),0)}
.crop{position:relative;overflow:hidden;background:#1a1a1a;aspect-ratio:var(--ar,4/5)}
.crop img{position:absolute;left:0;top:-7%;width:100%;height:114%;object-fit:cover;transform:translate3d(0,var(--iy,0px),0) scale(var(--z,1));transform-origin:var(--o,50% 50%);filter:grayscale(.15) contrast(1.05);transition:transform 1.6s var(--ease),filter .8s}
.tile:hover .crop img{filter:none;transform:translate3d(0,var(--iy,0px),0) scale(calc(var(--z,1)*1.06))}
.tile figcaption{display:flex;justify-content:space-between;gap:var(--s2);margin-top:var(--s2)}
.tile figcaption b{font-weight:500;color:var(--bone)}
.t1{grid-column:1/7;grid-row:1/3;--ar:4/5}
.t2{grid-column:9/13;grid-row:1;--ar:3/4;margin-top:clamp(64px,12vw,200px)}
.t3{grid-column:7/10;grid-row:2;--ar:1/1;margin-top:calc(var(--s10)*-1)}
.t4{grid-column:2/8;grid-row:3;--ar:16/9}
.t5{grid-column:9/12;grid-row:3;--ar:4/5;margin-top:var(--s10)}
.note{grid-column:9/13;grid-row:2;align-self:end}
.note p{font-family:var(--serif);font-size:clamp(28px,2.6vw,40px);line-height:1.08;color:var(--bone)}
.note .cap{margin-bottom:var(--s2)}
.hs{position:relative;background:var(--bg2);border-top:1px solid var(--line)}
.hs-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.hs-head{position:absolute;top:calc(var(--nav-h) + var(--s2));left:var(--gut);right:var(--gut);display:flex;justify-content:space-between;z-index:2}
.hs-track{display:flex;gap:var(--s10);padding:0 var(--gut);width:max-content;will-change:transform}
.panel{flex:0 0 auto;width:min(82vw,1120px);display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);align-items:center;height:min(68vh,640px)}
.panel .crop{height:100%;aspect-ratio:auto}
.panel .txt{display:flex;flex-direction:column;gap:var(--s3)}
.panel .num{font-family:var(--serif);font-size:clamp(20px,2vw,28px);color:var(--dim)}
.panel h3{font-size:clamp(48px,6vw,104px)}
.panel p{color:var(--grey);max-width:34ch}
.panel .pr{font-family:var(--serif);font-size:clamp(32px,3vw,48px)}
.big{font-family:var(--serif);font-size:clamp(140px,22vw,360px);line-height:.8;color:transparent;-webkit-text-stroke:1px var(--line2);display:flex;align-items:flex-end;gap:var(--s2);height:100%}
.big small{font-family:var(--sans);-webkit-text-stroke:0;color:var(--grey);font-size:12px;letter-spacing:.22em;margin-bottom:var(--s3)}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s1);height:100%}
.trio .crop{--ar:auto}
.trio figcaption{position:absolute;left:12px;bottom:12px;z-index:2;color:var(--bone)}
.hs-bar{position:absolute;left:var(--gut);right:var(--gut);bottom:var(--s5);height:1px;background:var(--line);z-index:2}
.hs-bar i{position:absolute;left:0;top:0;height:1px;width:100%;background:var(--bone);transform-origin:left;transform:scaleX(var(--p,0))}
.native .hs-pin{position:static;height:auto;padding:var(--sec) 0 var(--s10);overflow:visible}
.native .hs-head{position:static;margin:0 var(--gut) var(--s5)}
.native .hs-track{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gut);gap:var(--s2);scrollbar-width:none;transform:none!important}
.native .hs-track::-webkit-scrollbar{display:none}
.native .hs-bar{display:none}
.native .panel{width:84vw;max-width:420px;grid-template-columns:1fr;height:auto;gap:var(--s3);scroll-snap-align:start;align-items:start}
.native .panel .crop{height:auto;aspect-ratio:4/5}
.native .big{height:auto;aspect-ratio:4/5;align-items:center;font-size:44vw;border:1px solid var(--line);justify-content:center}
.native .trio{height:auto;aspect-ratio:4/5}
