@font-face{font-family:Beaufort;src:url('../fonts/Fontspring-BeauReg_-iF66728d559407c.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Beaufort;src:url('../fonts/Fontspring-BeauRegI-iF66728d558d06e.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Beaufort;src:url('../fonts/Fontspring-BeauMed_-iF66728d559ef57.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Supply;src:url('../fonts/Supply-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Supply;src:url('../fonts/Supply-Medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap}

:root{--sand:#ece8d8;--paper:#f4f0e5;--green:#10342c;--red:#4a1613;--yellow:#f3c646;--black:#0c0c0c;--white:#fff;--header-h:76px;--edge:clamp(22px,4.15vw,80px);--ease:cubic-bezier(.2,.72,.18,1);--beaufort:Beaufort,"Bodoni 72",Didot,Georgia,serif;--supply:Supply,"SFMono-Regular",Consolas,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);background:var(--black);overflow-x:clip}
body{width:100%;max-width:100%;margin:0;background:var(--black);color:var(--sand);font-family:var(--supply);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip;--scroll-progress:0}
body::after{content:"";position:fixed;z-index:300;left:0;right:0;top:0;height:2px;background:var(--yellow);transform:scaleX(var(--scroll-progress));transform-origin:left;pointer-events:none}
body.is-locked{overflow:hidden}
img,video{display:block;width:100%;max-width:100%}
button,a{color:inherit;font:inherit}
a{text-decoration:none}
button{border:0}
button:focus-visible,a:focus-visible{outline:2px solid var(--yellow);outline-offset:5px}
.skip-link{position:fixed;z-index:999;left:16px;top:-80px;background:var(--sand);color:var(--green);padding:12px 16px;transition:top .2s}
.skip-link:focus{top:16px}

.journey-rail{position:fixed;z-index:80;right:18px;top:50%;width:20px;height:min(42vh,360px);display:grid;grid-template-rows:auto 1fr auto;justify-items:center;gap:12px;transform:translateY(-50%);pointer-events:none;color:rgba(236,232,216,.58);mix-blend-mode:difference}
.journey-rail span{font:500 7px/1 var(--supply);letter-spacing:.08em;writing-mode:vertical-rl}
.journey-rail i{position:relative;width:1px;height:100%;overflow:hidden;background:rgba(236,232,216,.2)}
.journey-rail b{position:absolute;inset:0;background:var(--sand);transform:scaleY(var(--scroll-progress));transform-origin:top;will-change:transform}

.site-header{position:fixed;z-index:90;top:0;left:0;right:0;height:var(--header-h);padding:0 var(--edge);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:var(--sand);transition:background .45s var(--ease),transform .45s var(--ease),border-color .45s}
.site-header::after{content:"";position:absolute;left:var(--edge);right:var(--edge);bottom:0;height:1px;background:rgba(236,232,216,.28);transform-origin:left;transition:transform .5s var(--ease)}
.site-header.is-scrolled{background:rgba(12,12,12,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.site-header.is-scrolled::after{transform:scaleX(.32)}
.menu-trigger{justify-self:start;display:flex;align-items:center;gap:13px;padding:12px 0;background:transparent;color:inherit;font:500 11px/1 var(--supply);letter-spacing:.15em;text-transform:uppercase;cursor:pointer}
.menu-icon{width:28px;height:14px;display:grid;align-content:space-between}
.menu-icon i{display:block;height:1px;background:currentColor;transition:transform .25s var(--ease),width .25s var(--ease)}
.menu-icon i:last-child{width:18px}
.menu-trigger:hover .menu-icon i:first-child{width:18px}.menu-trigger:hover .menu-icon i:last-child{width:28px}
.wordmark{display:block;width:clamp(118px,9.6vw,184px)}
.wordmark img{height:auto}
.header-contact{justify-self:end;font:500 11px/1 var(--supply);letter-spacing:.12em;text-transform:uppercase;display:flex;gap:12px;align-items:center}
.header-contact span{transition:transform .3s var(--ease)}.header-contact:hover span{transform:translate(3px,-3px)}

.media-panel{position:relative;min-height:max(720px,100svh);overflow:hidden;isolation:isolate;background:var(--black)}
.panel-media{position:absolute;inset:-3%;width:106%;height:106%;max-width:none;object-fit:cover;transition:transform 1.4s var(--ease)}
.media-panel:hover>.panel-media{transform:scale(1.012)}
.panel-scrim{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(12,12,12,.08) 30%,rgba(12,12,12,.76) 100%),linear-gradient(90deg,rgba(12,12,12,.34),transparent 60%)}
.scrim-left{background:linear-gradient(90deg,rgba(12,12,12,.65),rgba(12,12,12,.05) 70%),linear-gradient(180deg,transparent 40%,rgba(12,12,12,.58))}
.panel-copy{position:absolute;z-index:3;left:var(--edge);right:var(--edge);bottom:clamp(58px,8vh,96px);max-width:1120px}
.hero-copy{bottom:clamp(82px,12vh,130px)}
.eyebrow{margin:0 0 19px;font:500 11px/1.35 var(--supply);letter-spacing:.15em;text-transform:uppercase}
.accent{color:var(--yellow)}
.display{max-width:100%;margin:0;font:400 clamp(4rem,7.1vw,8.25rem)/.82 var(--beaufort);letter-spacing:-.045em;text-wrap:balance;text-transform:uppercase}
.display em{font-style:normal}
.display-hero{font-size:clamp(5.4rem,10vw,12rem);line-height:.77}
.intro{max-width:720px;margin:25px 0 0;font:400 clamp(1.35rem,1.65vw,1.9rem)/1.25 var(--beaufort);letter-spacing:-.018em}
.panel-copy>.intro{color:rgba(255,255,255,.9)}
.hero .panel-scrim{background:linear-gradient(180deg,rgba(5,11,10,.02),rgba(5,11,10,.72)),linear-gradient(90deg,rgba(4,14,12,.34),transparent 70%)}
.checker-field{position:absolute;z-index:2;inset:0;opacity:.085;pointer-events:none;background-image:linear-gradient(90deg,transparent 50%,var(--sand) 50%),linear-gradient(transparent 50%,rgba(236,232,216,.45) 50%);background-size:12.5vw 100%,100% 18vh;mix-blend-mode:screen;mask-image:linear-gradient(90deg,#000,transparent 68%)}
.scroll-cue{position:absolute;z-index:4;right:var(--edge);bottom:clamp(58px,8vh,96px);display:flex;align-items:center;gap:16px;font:500 10px/1 var(--supply);letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl}
.scroll-cue i{display:block;width:1px;height:66px;background:rgba(236,232,216,.5);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;left:0;top:-100%;width:1px;height:100%;background:var(--yellow);animation:scrollLine 2.2s ease-in-out infinite}
@keyframes scrollLine{0%{transform:translateY(0)}60%,100%{transform:translateY(200%)}}

.vessel-bar{min-height:84px;padding:17px var(--edge);display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:20px;align-items:center;background:var(--green);color:var(--sand);border-top:1px solid rgba(236,232,216,.16);border-bottom:1px solid rgba(236,232,216,.16)}
.vessel-bar div{display:flex;flex-direction:column;gap:5px;min-width:0}
.vessel-bar small{font:400 9px/1 var(--supply);letter-spacing:.13em;text-transform:uppercase;color:rgba(236,232,216,.56)}
.vessel-bar strong{font:400 12px/1.2 var(--supply);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.sand-section,.paper-section{background:var(--sand);color:var(--green)}
.paper-section{background:var(--paper)}
.green-section{background:var(--green);color:var(--sand)}
.black-section{background:var(--black);color:var(--sand)}
.manifesto{min-height:72vh;padding:clamp(90px,12vw,190px) var(--edge);display:grid;grid-template-columns:.35fr 1.1fr .75fr;gap:clamp(30px,5vw,100px);align-items:start}
.section-index{font:500 10px/1 var(--supply);letter-spacing:.15em;opacity:.58}
.manifesto .display{font-size:clamp(4rem,7.4vw,8.4rem)}
.manifesto-copy{padding-top:44px}.manifesto-copy p:not(.intro){max-width:540px;margin:24px 0 0;font-size:.92rem;line-height:1.75}

.story-link{margin-top:34px;padding:10px 0 12px;display:inline-grid;grid-template-columns:auto minmax(46px,180px) auto;gap:14px;align-items:center;background:transparent;color:inherit;cursor:pointer;font:500 11px/1 var(--supply);letter-spacing:.14em;text-transform:uppercase}
.link-line{height:10px;display:block;min-width:46px}.link-line svg{width:100%;height:10px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1}
.line-straight,.line-wave{transition:opacity 300ms var(--ease),stroke-dashoffset 300ms var(--ease),transform 300ms var(--ease);transform-origin:right center}
.line-wave{opacity:0;stroke-dasharray:190;stroke-dashoffset:190;stroke-linejoin:miter;stroke-linecap:square}
.story-link:hover .line-straight{opacity:0;transform:scaleX(.98)}.story-link:hover .line-wave{opacity:1;stroke-dashoffset:0}
.story-link>span:last-child{transition:transform .3s var(--ease)}.story-link:hover>span:last-child{transform:translate(3px,-3px)}
.dark{color:var(--green)}

.route-interlude{position:relative;min-height:980px;padding:clamp(110px,12vw,180px) var(--edge);display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:6vw;background:var(--red);color:var(--sand);overflow:hidden;isolation:isolate}
.route-copy{position:relative;z-index:2}.route-copy .display{font-size:clamp(3.8rem,5.9vw,7rem)}
.route-graphic{position:relative;z-index:1;margin:0;min-height:660px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.route-graphic::before{content:"PASSAGE / 04 DAYS";position:absolute;left:0;top:0;font:500 9px/1 var(--supply);letter-spacing:.15em;color:rgba(236,232,216,.5)}
.route-graphic img{width:min(760px,100%);height:auto;will-change:transform;transform:translate3d(0,var(--drift,0px),0) scale(1.04)}
.svg-reveal{clip-path:none;opacity:1;transform:none}
.svg-reveal.is-visible{animation:svgEntrance .85s var(--ease) both}
@keyframes svgEntrance{from{opacity:.38;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.compass{position:absolute;z-index:2;right:var(--edge);bottom:48px;width:112px;height:112px;border:1px solid rgba(236,232,216,.22);border-radius:50%;transform:rotate(var(--compass-turn,0deg));transition:transform .12s linear}
.compass::before,.compass::after{content:"";position:absolute;inset:9px;border:1px solid rgba(236,232,216,.12);border-radius:50%}.compass::after{inset:50% -12px auto;height:1px;border:0;background:linear-gradient(90deg,transparent,rgba(236,232,216,.5),transparent)}
.compass i{position:absolute;left:50%;top:17px;width:1px;height:78px;background:linear-gradient(var(--yellow) 0 50%,rgba(236,232,216,.35) 50%);transform:translateX(-50%)}
.compass span{position:absolute;font:500 8px/1 var(--supply);letter-spacing:.08em}.compass .north{top:-20px;left:50%;transform:translateX(-50%)}.compass .east{right:-18px;top:50%;transform:translateY(-50%)}.compass .south{bottom:-19px;left:50%;transform:translateX(-50%)}.compass .west{left:-19px;top:50%;transform:translateY(-50%)}

.editorial-split{min-height:900px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.editorial-split.reverse{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.editorial-copy{padding:clamp(90px,10vw,160px) var(--edge);align-self:center}
.editorial-copy .section-index{margin-bottom:clamp(60px,8vw,130px)}
.editorial-copy .display{font-size:clamp(3.8rem,5.9vw,7rem)}
.editorial-copy>p:not(.eyebrow,.intro){max-width:590px;margin:22px 0 0;font-size:.92rem;line-height:1.75}
.editorial-media{position:relative;min-height:740px;margin:0;overflow:hidden;background:#111}
.editorial-media img,.editorial-media video{width:100%;height:100%;object-fit:cover}
figcaption{position:absolute;z-index:2;left:18px;bottom:16px;padding:7px 9px;background:var(--black);color:var(--sand);font:500 9px/1 var(--supply);letter-spacing:.12em}

.interior{padding:clamp(100px,11vw,170px) var(--edge)}
.interior-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);align-items:end;gap:8vw;margin-bottom:70px}
.interior-head .display{font-size:clamp(4rem,6.5vw,7.6rem)}
.interior-grid{display:grid;grid-template-columns:1.22fr .78fr;grid-template-rows:1fr 1fr;gap:12px;min-height:820px}
.interior-grid figure{position:relative;margin:0;overflow:hidden;min-height:300px}
.interior-grid .interior-main{grid-row:1/3}
.interior-grid img{height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.interior-grid figure:hover img{transform:scale(1.018)}

.toys{padding:clamp(100px,10vw,170px) var(--edge)}
.toys-head{max-width:1240px;margin-bottom:68px}.toys-head .display{font-size:clamp(3.8rem,6.2vw,7.4rem)}
.toy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(236,232,216,.16)}
.toy-grid article{position:relative;min-height:720px;overflow:hidden;background:#111}
.toy-grid article::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(12,12,12,.82))}
.toy-grid article>img,.toy-grid article>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.toy-grid article:hover>img,.toy-grid article:hover>video{transform:scale(1.025)}
.toy-grid article>div{position:absolute;z-index:2;left:30px;right:30px;bottom:32px}
.toy-grid h3{font:400 clamp(2.4rem,3.2vw,4rem)/.92 var(--beaufort);letter-spacing:-.025em;margin:0;text-transform:uppercase}

.atelier{position:relative;min-height:960px;padding:120px var(--edge);display:flex;align-items:center;overflow:hidden}
.atelier-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.atelier-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,12,.94),rgba(12,12,12,.64) 48%,rgba(12,12,12,.08) 82%)}
.atelier-copy{position:relative;z-index:2;max-width:930px}
.atelier-steps{list-style:none;margin:50px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(236,232,216,.32);border-bottom:1px solid rgba(236,232,216,.32)}
.atelier-steps li{min-height:112px;padding:18px 13px;border-right:1px solid rgba(236,232,216,.22);font:400 12px/1.2 var(--supply);letter-spacing:.1em;text-transform:uppercase}
.atelier-steps li:last-child{border-right:0}.atelier-steps span{display:block;margin-bottom:29px;color:var(--yellow)}

.closing{min-height:78svh}
.contact{position:relative;min-height:92svh;padding:120px var(--edge);display:flex;align-items:center;background:var(--sand);color:var(--green);overflow:hidden;isolation:isolate}
.contact-mark{position:absolute;right:-4vw;top:50%;width:min(45vw,620px);transform:translateY(-50%);opacity:.1}.contact-mark img{height:auto}
.contact-copy{position:relative;z-index:3;max-width:1040px}.contact-copy .display{font-size:clamp(5rem,10vw,12rem)}
.checker-contact{z-index:1;opacity:.08;mix-blend-mode:multiply;background-image:linear-gradient(90deg,transparent 50%,var(--green) 50%),linear-gradient(transparent 50%,rgba(16,52,44,.6) 50%);mask-image:linear-gradient(90deg,transparent,#000)}
.contact-button{display:inline-flex;align-items:center;gap:30px;margin-top:46px;padding:20px 24px;background:var(--green);color:var(--sand);font:500 11px/1 var(--supply);letter-spacing:.14em;text-transform:uppercase;transition:background .3s,color .3s,transform .3s}
.contact-button:hover{background:var(--red);transform:translateY(-2px)}
.contact-button span{font-size:16px}

.footer{padding:64px var(--edge);display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr;gap:40px;background:var(--black);color:rgba(236,232,216,.64);font-size:.78rem;line-height:1.75;border-top:1px solid rgba(236,232,216,.16)}
.footer p{margin:0 0 13px}.footer p:first-child{color:var(--sand);font:500 10px/1 var(--supply);letter-spacing:.14em;text-transform:uppercase}.footer a:hover{color:var(--yellow)}
.footer-logo{width:min(250px,75%)}.footer-logo img{height:auto}.footer-meta{text-align:right}

.site-menu,.story-layer,.geek-layer{position:fixed;z-index:150;inset:0;visibility:hidden;pointer-events:none}
.site-menu{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--black);opacity:0;transition:opacity .55s var(--ease),visibility 0s .55s}
.site-menu.is-open{visibility:visible;pointer-events:auto;opacity:1;transition-delay:0s}
.menu-preview{position:relative;overflow:hidden;transform:translateX(-6%);transition:transform .8s var(--ease)}
.site-menu.is-open .menu-preview{transform:none}
.menu-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,12,.18),rgba(12,12,12,.72))}
.menu-preview img{height:100%;object-fit:cover;transition:opacity .3s var(--ease),transform 1s var(--ease)}
.menu-panel{position:relative;padding:clamp(90px,10vh,130px) clamp(32px,7vw,110px) 42px;background:var(--green);display:flex;flex-direction:column;transform:translateX(8%);transition:transform .8s var(--ease)}
.site-menu.is-open .menu-panel{transform:none}
.overlay-close{position:fixed;z-index:30;right:var(--edge);top:20px;width:48px;height:48px;padding:0;background:transparent;color:var(--sand);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.overlay-close span{position:absolute;left:10px;top:21px;width:25px;height:1px;background:currentColor;transition:transform .3s var(--ease)}
.overlay-close span:first-child{transform:rotate(45deg)}.overlay-close span:last-child{transform:rotate(-45deg)}
.overlay-close:hover span:first-child{transform:rotate(135deg)}.overlay-close:hover span:last-child{transform:rotate(45deg)}
.dark-close{color:var(--green)}
.menu-nav{display:flex;flex-direction:column;margin-top:10px}
.menu-nav a{position:relative;display:grid;grid-template-columns:42px 1fr;align-items:baseline;padding:8px 0;color:var(--sand);font:400 clamp(2.25rem,3.55vw,4.4rem)/.98 var(--beaufort);letter-spacing:-.03em;transition:color .25s,transform .35s var(--ease)}
.menu-nav a span{font:500 9px/1 var(--supply);letter-spacing:.12em;color:var(--yellow)}
.menu-nav a:hover{color:var(--yellow);transform:translateX(10px)}
.menu-foot{margin-top:auto;padding-top:24px;border-top:1px solid rgba(236,232,216,.22);display:flex;justify-content:space-between;font:400 9px/1 var(--supply);letter-spacing:.12em;color:rgba(236,232,216,.58)}

.story-layer{z-index:160;display:grid;grid-template-columns:.92fr 1.08fr;background:rgba(12,12,12,.65);opacity:0;transition:opacity .45s var(--ease),visibility 0s .75s}
.story-layer.is-open{visibility:visible;pointer-events:auto;opacity:1;transition-delay:0s}
.story-visual{overflow:hidden;transform:translateX(-18%);transition:transform .85s var(--ease)}
.story-layer.is-open .story-visual{transform:none}
.story-visual img{width:100%;height:100%;object-fit:cover;opacity:.88;transform:scale(1.08);transition:transform 1.2s var(--ease)}
.story-layer.is-open .story-visual img{transform:scale(1)}
.story-panel{position:relative;overflow-y:auto;padding:clamp(100px,10vw,150px) clamp(32px,7vw,120px) 90px;background:var(--paper);color:var(--green);transform:translateX(100%);transition:transform .85s var(--ease)}
.story-layer.is-open .story-panel{transform:none}
.story-panel>.display{font-size:clamp(4rem,6vw,7.4rem);margin-bottom:42px}
.story-body{max-width:750px}.story-body .lead{font:400 clamp(1.35rem,1.7vw,1.9rem)/1.28 var(--beaufort);letter-spacing:-.018em}.story-body p{font-size:.92rem;line-height:1.75}.story-body h3{margin:50px 0 13px;font:400 2.25rem/.98 var(--beaufort);letter-spacing:-.02em;text-transform:uppercase}.story-rule{height:1px;background:rgba(16,52,44,.22);margin:42px 0}
.geek-entry{margin-top:64px;padding:30px 0;border-top:1px solid rgba(16,52,44,.24);border-bottom:1px solid rgba(16,52,44,.24)}
.geek-entry h3{font:400 2.2rem/1 var(--beaufort);margin:0 0 10px;text-transform:uppercase}.geek-entry p{margin:0}
.geek-button{margin-top:25px;padding:15px 18px;background:var(--green);color:var(--sand);cursor:pointer;font:500 10px/1 var(--supply);letter-spacing:.14em;text-transform:uppercase;transition:background .25s,transform .25s}.geek-button:hover{background:var(--red);transform:translateY(-2px)}

.materials{position:relative;min-height:128svh;padding:clamp(110px,11vw,180px) var(--edge) clamp(120px,13vw,210px);overflow:hidden}
.materials::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.11;background-image:linear-gradient(90deg,rgba(16,52,44,.24) 1px,transparent 1px),linear-gradient(rgba(16,52,44,.2) 1px,transparent 1px);background-size:12.5vw 100%,100% 25%;mask-image:linear-gradient(180deg,#000,transparent 88%)}
.materials-head{position:relative;z-index:3;width:100%;max-width:1720px;margin-inline:auto;padding-top:clamp(35px,4.5vw,82px);text-align:center}
.materials-head>.eyebrow{margin-bottom:clamp(26px,2.6vw,46px);font-size:clamp(.72rem,.72vw,.9rem);letter-spacing:.2em;color:var(--green)}
.materials-head .display{font-size:clamp(5.4rem,9.2vw,11rem);line-height:.78;letter-spacing:-.05em;color:var(--black);text-wrap:balance}
.materials-statement{margin:clamp(30px,3vw,54px) 0 0;font:500 clamp(.72rem,.82vw,1rem)/1.3 var(--supply);letter-spacing:.19em;color:var(--red);text-align:center}
.materials-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,150px);margin-top:clamp(-74px,-4vw,-42px)}
.material-card{position:relative;min-width:0}
.material-object{height:clamp(330px,34vw,530px);display:flex;align-items:center;justify-content:center}
.material-object img{width:min(72%,480px);height:auto;filter:drop-shadow(0 35px 35px rgba(21,12,20,.18));transform:translate3d(0,var(--material-y,0),0) rotate(var(--material-turn,0deg));will-change:transform;transition:filter .5s var(--ease)}
.material-card:hover .material-object img{filter:drop-shadow(0 45px 48px rgba(21,12,20,.25))}
.material-aluminium .material-object img{width:min(70%,465px)}
.material-copy{display:grid;grid-template-columns:.22fr 1fr;column-gap:25px;padding-top:28px;border-top:1px solid rgba(16,52,44,.28)}
.material-copy .eyebrow{grid-row:1/3;margin:5px 0 0;color:var(--red)}
.material-copy h3{margin:0;font:400 clamp(2.7rem,4.2vw,5.2rem)/.88 var(--beaufort);letter-spacing:-.04em;text-transform:uppercase}
.material-copy>p:last-child{max-width:570px;margin:22px 0 0;font-size:.9rem;line-height:1.75}

.geek-layer{z-index:170;background:var(--black);color:var(--sand);overflow-y:auto;transform:translateY(100%);transition:transform .8s var(--ease),visibility 0s .8s}
.geek-layer.is-open{visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
.geek-shell{width:min(1240px,100%);margin:auto;padding:clamp(110px,12vw,180px) var(--edge) 100px}
.geek-head{display:grid;grid-template-columns:.3fr 1fr;gap:50px;align-items:start}.geek-head .display{font-size:clamp(4rem,7vw,8rem)}
.geek-body{margin:80px 0 0}.geek-body>.lead{max-width:780px;font:400 clamp(1.5rem,2.2vw,2.6rem)/1.12 var(--beaufort)}
.tech-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:55px;background:rgba(236,232,216,.2);border:1px solid rgba(236,232,216,.2)}
.tech-grid section{min-height:170px;padding:25px;background:var(--black)}
.tech-grid small{display:block;margin-bottom:34px;color:var(--yellow);font:500 9px/1 var(--supply);letter-spacing:.15em}.tech-grid h3{font:400 2.1rem/1 var(--beaufort);margin:0 0 10px;text-transform:uppercase}.tech-grid p{max-width:500px;margin:0;color:rgba(236,232,216,.66);font-size:.84rem;line-height:1.6}
.geek-art-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:70px;background:rgba(236,232,216,.18);border:1px solid rgba(236,232,216,.18)}
.geek-art{position:relative;min-height:540px;margin:0;padding:28px;background:var(--black);display:flex;align-items:center;justify-content:center;overflow:hidden}
.geek-art:only-child{grid-column:1/3}.geek-art img{width:100%;height:100%;max-height:650px;object-fit:contain;transition:transform 1s var(--ease)}
.geek-art:hover img{transform:scale(1.018)}
.geek-art figcaption{left:20px;bottom:20px;color:var(--yellow);background:var(--black)}
.back-story{margin-top:50px;padding:10px 0;border-bottom:1px solid currentColor;background:transparent;color:var(--sand);cursor:pointer;font:500 10px/1 var(--supply);letter-spacing:.14em;text-transform:uppercase}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}

@media(max-width:1100px){
  .manifesto{grid-template-columns:.2fr 1fr}.manifesto-copy{grid-column:2}.vessel-bar{grid-template-columns:1.4fr repeat(3,1fr)}.vessel-bar div:last-child{display:none}
  .editorial-split,.editorial-split.reverse{grid-template-columns:1fr}.editorial-split.reverse .editorial-media{order:2}.editorial-media{min-height:68svh}.editorial-copy .section-index{margin-bottom:70px}
  .toy-grid{grid-template-columns:1fr 1fr}.toy-grid article:last-child{grid-column:1/3;min-height:580px}.toy-grid article{min-height:620px}
}

@media(min-width:761px) and (prefers-reduced-motion:no-preference){
  html{scroll-snap-type:y proximity}
  main>section{scroll-snap-align:start;scroll-snap-stop:normal}
}

@media(max-width:760px){
  :root{--header-h:68px;--edge:22px}
  body{font-size:15px}.journey-rail{display:none}.site-header{grid-template-columns:1fr auto 1fr}.site-header::after{left:22px;right:22px}.header-contact{font-size:0}.header-contact span{font-size:16px}.wordmark{width:110px}.menu-trigger{font-size:9px}
  main,section,footer{max-width:100%}.media-panel{min-height:max(650px,100svh)}.panel-media{inset:0;width:100%;height:100%}.panel-copy{right:22px;bottom:55px;min-width:0}.hero-copy{bottom:90px}.display{font-size:clamp(2.85rem,12vw,4.6rem);line-height:.86;letter-spacing:-.04em}.display-hero{font-size:clamp(3.4rem,14vw,5.4rem);line-height:.8}.intro{font-size:1.35rem;line-height:1.25;margin-top:20px}.eyebrow{font-size:9px;margin-bottom:14px}
  .scroll-cue{right:22px;bottom:48px}.scroll-cue span{display:none}.scroll-cue i{height:48px}
  .checker-field{background-size:25vw 100%,100% 16vh;opacity:.065}
  .vessel-bar{grid-template-columns:1fr 1fr;gap:14px;padding-top:14px;padding-bottom:14px}.vessel-bar div:nth-child(n+3){display:none}.vessel-bar strong{font-size:10px}
  .manifesto{min-height:auto;padding:90px 22px;grid-template-columns:1fr;gap:42px}.manifesto-copy{grid-column:auto;padding:0}.manifesto .display{font-size:clamp(2.85rem,12vw,4.6rem)}.section-index{margin-bottom:15px}
  .route-interlude{min-height:900px;padding:90px 22px 120px;grid-template-columns:1fr;gap:35px}.route-copy{min-width:0}.route-copy .display{font-size:clamp(2.75rem,11.6vw,4.4rem)}.route-graphic{width:100%;min-height:440px}.compass{width:82px;height:82px;right:35px;bottom:45px}.compass i{top:12px;height:56px}.compass span{display:none}
  .story-link{width:100%;grid-template-columns:auto 1fr auto;gap:12px;text-align:left;font-size:9px}.link-line{min-width:30px}
  .editorial-copy{min-width:0;padding:88px 22px}.editorial-copy .section-index{margin-bottom:55px}.editorial-copy .display{font-size:clamp(2.85rem,12vw,4.6rem)}.editorial-media{min-height:58svh}
  .interior{padding:90px 22px}.interior-head{grid-template-columns:1fr;gap:35px;margin-bottom:45px}.interior-head>div{min-width:0}.interior-head .display{font-size:clamp(2.8rem,11.8vw,4.5rem)}.interior-grid{display:flex;width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;min-height:62svh;gap:8px;padding-bottom:8px}.interior-grid figure,.interior-grid .interior-main{flex:0 0 min(86vw,100%);min-height:62svh;scroll-snap-align:start}.interior-grid img{height:62svh}
  .toys{padding:90px 0}.toys-head{padding:0 22px}.toys-head .display{font-size:clamp(2.75rem,11.5vw,4.4rem)}.toy-grid{display:flex;width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;gap:2px}.toy-grid article,.toy-grid article:last-child{flex:0 0 min(88vw,100%);min-height:68svh;grid-column:auto;scroll-snap-align:start}
  .materials{min-height:auto;padding:92px 22px 110px}.materials::before{background-size:25vw 100%,100% 18%;opacity:.08}.materials-head{padding-top:18px}.materials-head>.eyebrow{margin-bottom:24px;font-size:9px;line-height:1.45}.materials-head .display{font-size:clamp(2.75rem,11.5vw,4.4rem);line-height:.81}.materials-statement{max-width:280px;margin:25px auto 0;font-size:9px;line-height:1.55}.materials-grid{grid-template-columns:1fr;gap:78px;margin-top:-12px}.material-object{height:min(88vw,390px)}.material-object img,.material-aluminium .material-object img{width:min(72%,320px)}.material-copy{grid-template-columns:1fr;padding-top:22px}.material-copy .eyebrow{grid-row:auto;margin-bottom:15px}.material-copy h3{font-size:clamp(2.6rem,12vw,4.2rem)}.material-copy>p:last-child{margin-top:18px}
  .atelier{min-height:900px;padding:90px 22px;align-items:flex-end}.atelier-scrim{background:linear-gradient(180deg,rgba(12,12,12,.08),rgba(12,12,12,.9) 56%)}.atelier-steps{grid-template-columns:1fr;gap:0}.atelier-steps li{min-height:auto;padding:12px 0;display:grid;grid-template-columns:50px 1fr;border-right:0;border-bottom:1px solid rgba(236,232,216,.18)}.atelier-steps span{margin:0}.atelier-steps li:last-child{border:0}
  .contact{min-height:760px;padding:90px 22px}.contact-copy{min-width:0}.contact-copy .display{font-size:clamp(3.4rem,14vw,5.4rem)}.contact-mark{width:70vw;right:-25vw}.contact-button{max-width:100%;gap:16px;padding:18px 16px;font-size:9px}
  .footer{grid-template-columns:1fr 1fr;padding:55px 22px}.footer-logo{grid-column:1/3;width:180px}.footer-meta{text-align:left}
  .site-menu{grid-template-columns:1fr}.menu-preview{display:none}.menu-panel{padding:90px 22px 28px}.menu-nav a{grid-template-columns:34px 1fr;padding:7px 0;font-size:clamp(2.15rem,10vw,3.4rem)}.menu-foot{font-size:8px;gap:15px}
  .story-layer{display:block;background:var(--paper);overflow:hidden}.story-visual{position:absolute;inset:0 0 auto;height:34svh;transform:translateY(-100%)}.story-layer.is-open .story-visual{transform:none}.story-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(244,240,229,.96))}.story-panel{position:absolute;inset:27svh 0 0;padding:72px 22px 70px;transform:translateY(100%);border-radius:22px 22px 0 0}.story-layer.is-open .story-panel{transform:none}.story-panel>.display{font-size:clamp(2.85rem,12vw,4.6rem);margin-bottom:32px}.story-layer>.overlay-close{top:16px;color:var(--sand)}
  .geek-shell{padding:105px 22px 75px}.geek-head{grid-template-columns:1fr;gap:20px}.geek-head .display{font-size:clamp(2.85rem,12vw,4.6rem)}.geek-body{margin-top:55px}.tech-grid{grid-template-columns:1fr}.tech-grid section{min-height:auto}.geek-art-grid{grid-template-columns:1fr}.geek-art,.geek-art:only-child{grid-column:auto;min-height:390px;padding:12px}.overlay-close{right:12px;top:10px}
}

@media(hover:none){.media-panel:hover>.panel-media,.toy-grid article:hover>img,.toy-grid article:hover>video,.interior-grid figure:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.svg-reveal{clip-path:none;opacity:1;transform:none}.panel-media,.route-graphic img,.material-object img{transform:none!important}}
