:root{--bone:#f3f1e9;--olive:#343c0a;--acid:#c4cf91;--ink:#151612;--moss:#8d8a76;--edge:clamp(16px,1.25vw,24px);--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{background:var(--moss);scroll-behavior:smooth}body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--site-font-stack);overflow-x:hidden}body.is-locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img,video{display:block;width:100%}.caps{font:500 10px/1.15 var(--site-font-stack);text-transform:uppercase}.display{font-family:var(--site-font-stack)}.site-stage{position:relative;min-height:100vh;background:var(--bone);transform-origin:center;transition:transform .9s var(--ease),filter .7s,border-radius .7s}.world-open .site-stage{transform:translateX(-27vw) scale(.46);filter:saturate(.7);border-radius:2px}.site-header{position:fixed;z-index:70;inset:0 0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;height:84px;padding:17px var(--edge);pointer-events:none;mix-blend-mode:difference;color:#fff}.site-header>*{pointer-events:auto}.wordmark{width:76px}.header-actions{justify-self:center;display:flex;gap:26px}.header-right{justify-self:end;display:flex;gap:22px;align-items:start}.bare{appearance:none;border:0;background:none;padding:0;font:500 10px/1.2 var(--site-font-stack);text-transform:uppercase}.timebox{display:grid;grid-template-columns:auto auto;gap:5px 14px}.timebox span:first-child{grid-column:1/-1}.orb{width:52px;height:52px;margin-top:-1px;border:1px solid;border-radius:50%;position:relative;background:none;transition:transform .5s var(--ease)}.orb:after{content:"";position:absolute;width:7px;height:7px;border:1px solid;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.orb:hover{transform:rotate(35deg) scale(1.08)}
.home{height:100svh;overflow:hidden;background:var(--moss)}.home .site-stage{height:100svh;overflow:hidden}.home-intro{position:absolute;z-index:2;left:var(--edge);top:118px;width:min(58vw,850px)}.home-intro h1{font:500 clamp(45px,5.8vw,92px)/.9 var(--site-font-stack);margin:0;text-wrap:balance}.home-intro p{font-size:13px;line-height:1.55;width:330px;margin:22px 0 0}.case-rail{position:absolute;left:var(--edge);bottom:16px;display:flex;gap:8px;will-change:transform;cursor:grab;user-select:none;touch-action:pan-y}.case-rail.dragging{cursor:grabbing}.case{position:relative;flex:0 0 clamp(300px,27.4vw,430px);height:clamp(390px,56vh,590px);overflow:hidden;background:var(--olive);color:var(--bone)}.case img,.case video{height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.case:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.72))}.case:hover img,.case:hover video{transform:scale(1.035)}.case-info{position:absolute;z-index:2;left:16px;right:16px;bottom:15px;display:grid;grid-template-columns:1fr auto;align-items:end}.case-title{font:500 clamp(23px,2.4vw,39px)/.94 var(--site-font-stack)}.case-meta{text-align:right;font-size:9px;line-height:1.35;text-transform:uppercase}.rail-hint{position:fixed;z-index:4;left:var(--edge);bottom:calc(clamp(390px,56vh,590px) + 29px);font-size:9px;text-transform:uppercase}.rail-progress{position:fixed;z-index:4;right:var(--edge);bottom:calc(clamp(390px,56vh,590px) + 27px);width:130px;height:1px;background:#15161240}.rail-progress i{display:block;height:1px;width:100%;background:var(--ink);transform:scaleX(.01);transform-origin:left}
.page-hero{min-height:100svh;padding:120px var(--edge) 24px;display:grid;grid-template-columns:57% 43%;align-items:end}.page-hero h1{font:500 clamp(58px,8.7vw,140px)/.82 var(--site-font-stack);margin:0;align-self:start}.page-hero .lead{font-size:clamp(17px,2vw,29px);line-height:1.18;max-width:620px;margin:0 0 8vh}.page-hero-visual{height:64vh;overflow:hidden}.page-hero-visual img{height:100%;object-fit:cover}.scroll-section{min-height:110svh;padding:120px var(--edge);display:grid;grid-template-columns:43% 57%}.sticky-visual{position:sticky;top:90px;height:calc(100svh - 120px);align-self:start;padding-right:8vw}.sticky-visual img{height:100%;object-fit:cover}.essay{padding:10vh 0 18vh}.essay-block{min-height:72vh;display:flex;flex-direction:column;justify-content:center;max-width:720px}.essay-block h2{font:500 clamp(38px,5vw,78px)/.94 var(--site-font-stack);margin:14px 0 28px}.essay-block p{font-size:clamp(16px,1.65vw,24px);line-height:1.38;max-width:650px;margin:0}.number-list{font:500 clamp(22px,2.7vw,42px)/1.22 var(--site-font-stack);margin-top:25px}.number-list div{display:grid;grid-template-columns:52px 1fr}.chapter{padding:140px var(--edge);min-height:100svh}.chapter-head{display:grid;grid-template-columns:1fr 1.2fr;gap:10vw;margin-bottom:100px}.chapter h2{font:500 clamp(52px,7vw,110px)/.86 var(--site-font-stack);margin:12px 0 0}.chapter-copy{font-size:clamp(16px,1.6vw,23px);line-height:1.45;max-width:620px}.gallery-flow{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;align-items:start}.gallery-flow figure{margin:0;overflow:hidden}.gallery-flow img{height:100%;object-fit:cover;transition:transform 1s var(--ease)}.gallery-flow figure:hover img{transform:scale(1.025)}.gallery-flow .wide{grid-column:span 7;aspect-ratio:1.5}.gallery-flow .portrait{grid-column:span 5;aspect-ratio:.78}.gallery-flow .small{grid-column:2/span 4;aspect-ratio:.85;margin-top:10vw}.gallery-flow .land{grid-column:6/span 7;aspect-ratio:1.4;margin-top:4vw}.olive{background:var(--olive);color:var(--bone)}.acid{background:var(--acid)}.menu-sheet{border-top:1px solid}.menu-row{display:grid;grid-template-columns:18% 37% 45%;padding:32px 0;border-bottom:1px solid}.menu-row h3{font:500 clamp(30px,4vw,64px)/.92 var(--site-font-stack);margin:0}.menu-row p{font-size:13px;line-height:1.7;margin:0;max-width:480px}.menu-dishes{display:grid;gap:17px}.menu-dishes span{font-size:13px}.menu-dishes small{display:block;opacity:.62;margin-top:4px}.big-cta{min-height:74svh;padding:90px var(--edge);display:flex;flex-direction:column;justify-content:space-between}.big-cta h2{font:500 clamp(58px,9vw,142px)/.82 var(--site-font-stack);margin:0;max-width:1200px}.underlink{display:inline-flex;align-items:center;gap:22px;border:0;border-bottom:1px solid;background:none;padding:0 0 7px;font:500 10px/1 var(--site-font-stack);text-transform:uppercase}.footer{padding:32px var(--edge);display:grid;grid-template-columns:2fr 1fr 1fr;border-top:1px solid #15161240;background:var(--bone)}.footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer a,.footer button,.footer p{font-size:11px;line-height:1.4}
.world{position:fixed;z-index:80;inset:0;background:#23241e;color:var(--bone);visibility:hidden;opacity:0;transition:opacity .5s}.world-open .world{visibility:visible;opacity:1}.world-head{position:absolute;z-index:2;top:18px;left:var(--edge);right:var(--edge);display:flex;justify-content:space-between}.world-rail{height:100svh;display:flex;align-items:center;gap:5vw;padding:9vh 8vw 7vh 47vw;overflow-x:auto;opacity:0;transform:translateX(10vw);transition:opacity .6s .2s,transform .9s .15s var(--ease)}.world-open .world-rail{opacity:1;transform:none}.world-link{flex:0 0 min(33vw,480px);height:65vh;background:var(--bone);color:var(--ink);padding:12px;display:flex;flex-direction:column;justify-content:space-between}.world-link img{height:77%;object-fit:cover}.world-link h3{font:500 clamp(28px,3.5vw,55px)/.9 var(--site-font-stack);margin:0}.world-link p{font-size:9px;text-transform:uppercase}.contact{position:fixed;z-index:100;inset:0;background:#0f100ccc;visibility:hidden;opacity:0;transition:opacity .5s;overflow:auto}.contact-open .contact{visibility:visible;opacity:1}.contact-room{min-height:100svh;margin-left:auto;width:min(1040px,100%);background:var(--acid);padding:18px var(--edge) 70px;clip-path:inset(0 0 0 100%);transition:clip-path .85s var(--ease)}.contact-open .contact-room{clip-path:inset(0)}.contact-head{display:flex;justify-content:space-between}.form-tabs{display:flex;gap:28px;margin-top:80px}.form-tab{border:0;border-bottom:1px solid transparent;background:none;padding:0 0 5px}.form-tab.active{border-color:currentColor}.contact h2{font:500 clamp(57px,8vw,114px)/.82 var(--site-font-stack);margin:48px 0 75px}.form-pane{display:none}.form-pane.active{display:block}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 50px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font:500 9px/1 var(--site-font-stack);text-transform:uppercase}.field input,.field textarea{border:0;border-bottom:1px solid #15161288;border-radius:0;background:transparent;padding:13px 0;outline:0}.field textarea{min-height:95px;resize:vertical}.options{display:flex;flex-wrap:wrap;gap:7px}.option input{position:absolute;opacity:0}.option span{display:block;border:1px solid #15161288;padding:10px 12px;font-size:11px}.option input:checked+span{background:var(--ink);color:var(--bone)}.send{border:1px solid var(--ink);background:var(--ink);color:var(--bone);padding:16px 25px;margin-top:36px}.timeline{position:fixed;z-index:90;inset:0;background:var(--olive);color:var(--bone);clip-path:circle(0 at calc(100% - 50px) 45px);visibility:hidden;transition:clip-path 1s var(--ease),visibility 0s 1s}.timeline-open .timeline{visibility:visible;clip-path:circle(150% at calc(100% - 50px) 45px);transition:clip-path 1s var(--ease)}.timeline-head{display:flex;justify-content:space-between;padding:18px var(--edge)}.timeline-body{height:calc(100svh - 70px);display:grid;grid-template-columns:30% 70%;padding:5vh var(--edge)}.timeline-year{font:500 clamp(100px,19vw,300px)/.7 var(--site-font-stack);align-self:center}.timeline-events{display:flex;gap:8px;align-items:center;overflow-x:auto}.timeline-event{flex:0 0 330px}.timeline-event img{height:47vh;object-fit:cover}.timeline-event h3{font:500 27px/1 var(--site-font-stack);margin:13px 0 5px}.reveal{opacity:0;transform:translateY(45px);transition:opacity 1s,transform 1.1s var(--ease)}.reveal.seen{opacity:1;transform:none}
@media(max-width:760px){.site-header{height:64px;grid-template-columns:1fr auto auto;gap:15px}.header-actions{display:flex;gap:12px}.timebox{display:none}.orb{width:39px;height:39px}.home{height:auto;overflow:auto}.home .site-stage{height:auto;overflow:visible}.home-intro{position:relative;left:auto;top:auto;padding:120px var(--edge) 45px;width:auto;min-height:62svh;display:flex;flex-direction:column;justify-content:flex-end}.home-intro h1{font-size:clamp(48px,14.2vw,73px)}.home-intro p{width:auto}.case-rail{position:relative;left:auto;bottom:auto;display:grid;padding:0 var(--edge) 8px;transform:none!important}.case{height:72svh;width:100%}.rail-hint,.rail-progress{display:none}.world-open .site-stage{transform:scale(.28) translateX(-90vw)}.world-rail{padding-left:36vw;gap:18px}.world-link{flex-basis:75vw;height:60vh}.page-hero{padding:105px var(--edge) 24px;grid-template-columns:1fr;min-height:95svh}.page-hero h1{font-size:clamp(57px,17vw,88px)}.page-hero .lead{margin:48px 0}.page-hero-visual{height:48vh}.scroll-section{display:block;padding:80px var(--edge)}.sticky-visual{position:relative;top:auto;height:70svh;padding:0}.essay{padding:40px 0}.essay-block{min-height:75svh}.chapter{padding:100px var(--edge)}.chapter-head{grid-template-columns:1fr;gap:35px;margin-bottom:65px}.gallery-flow{grid-template-columns:1fr}.gallery-flow .wide,.gallery-flow .portrait,.gallery-flow .small,.gallery-flow .land{grid-column:auto;margin:0;aspect-ratio:4/5}.menu-row{grid-template-columns:1fr;gap:22px}.footer{grid-template-columns:1fr 1fr;gap:35px}.contact h2{margin-bottom:50px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.timeline-body{grid-template-columns:1fr;padding-top:3vh}.timeline-year{font-size:29vw;align-self:start}.timeline-events{align-items:end}.timeline-event{flex-basis:76vw}.timeline-event img{height:47vh}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

.world-open .site-header{opacity:0;pointer-events:none}.site-header{transition:opacity .35s ease}

/* Refined monochrome direction */
:root{--bone:#999584;--moss:#999584;--acid:#999584}
body,.site-stage,.footer,.olive,.acid{background:var(--bone);color:var(--ink)}
body,.site-stage,.page,.chapter,.big-cta{transition:background-color .9s var(--ease),color .9s var(--ease)}
body.night,body.night .site-stage,body.night .page,body.night .chapter,body.night .big-cta,body.night .footer,body.night .olive,body.night .acid{background:#24241f;color:#f1efe7}
body.night .case{filter:brightness(.72) saturate(.72)}
.contact-room{background:var(--olive);color:#f3f1e9}.contact-room .field input,.contact-room .field textarea{color:#f3f1e9;border-color:#f3f1e999}.contact-room .field input::placeholder{color:#f3f1e988}.contact-room .option span{border-color:#f3f1e999}.contact-room .option input:checked+span,.contact-room .send{background:#f3f1e9;color:var(--olive);border-color:#f3f1e9}.contact-details{display:flex;flex-wrap:wrap;gap:14px 28px;border-top:1px solid #f3f1e955;margin-top:70px;padding-top:18px}.orb i{position:absolute;inset:5px;border-radius:50%;transition:transform .8s var(--ease)}.orb i b{position:absolute;width:7px;height:7px;border:1px solid;border-radius:50%;left:50%;top:-1px;transform:translateX(-50%)}.orb:after{display:none}.seo-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.home .case-rail{top:36.7vh;bottom:16px}.home .case{height:calc(63.3vh - 32px);padding-top:25px;background:transparent;overflow:visible;border:0;text-align:left}.home .case img{height:calc(100% - 25px);object-fit:cover}.home .case:after{top:25px}.case-kicker{position:absolute;top:0;left:0;font-size:10px;text-transform:uppercase;color:currentColor}.home .rail-hint{bottom:auto;top:calc(36.7vh - 24px)}.home .rail-progress{bottom:auto;top:calc(36.7vh - 22px)}.home .case-info{bottom:14px}.home .case{opacity:0;transform:translateY(42px)}.ready.home .case{opacity:1;transform:none;transition:opacity .7s ease,transform .9s var(--ease),filter .9s}.ready.home .case:nth-child(2){transition-delay:.08s}.ready.home .case:nth-child(3){transition-delay:.16s}.ready.home .case:nth-child(4){transition-delay:.24s}.page-hero h1{clip-path:inset(0 0 100% 0);transform:translateY(25px);transition:clip-path 1.2s var(--ease),transform 1.2s var(--ease)}.ready .page-hero h1{clip-path:inset(0);transform:none}.page-hero-visual{clip-path:inset(100% 0 0 0);transition:clip-path 1.2s .16s var(--ease)}.ready .page-hero-visual{clip-path:inset(0)}.world-link{opacity:0;transform:translateX(80px);transition:opacity .7s ease,transform .9s var(--ease)}.world-open .world-link{opacity:1;transform:none}.world-open .world-link:nth-child(2){transition-delay:.08s}.world-open .world-link:nth-child(3){transition-delay:.16s}.world-open .world-link:nth-child(4){transition-delay:.24s}
@media(max-width:760px){.home{height:100svh;overflow:hidden}.home .site-stage{height:100svh;overflow:hidden}.home .case-rail{position:absolute;display:flex;top:32vh;bottom:12px;left:var(--edge);padding:0;gap:8px}.home .case{flex:0 0 76vw;width:76vw;height:calc(68vh - 24px)}.home .case img{height:calc(100% - 25px)}.home .rail-hint{display:block;top:calc(32vh - 23px);bottom:auto}.home .rail-progress{display:block;top:calc(32vh - 20px);bottom:auto;width:90px}.case-title{font-size:24px}.contact-details{display:grid}.wordmark{width:65px}}

.site-header{mix-blend-mode:normal;color:var(--ink)}body.night .site-header{color:#f3f1e9}body.night .wordmark img{filter:brightness(0) invert(1)}

/* Editorial preview: time-led palette and restrained typography */
:root{--canvas:#817763;--canvas-text:#111}
html,body,.site-stage,.footer,.olive,.acid,.page,.chapter,.big-cta{background:var(--canvas)!important;color:var(--canvas-text)!important;transition:background-color .35s linear,color .35s linear}
body,button,input,textarea,.display,.caps,.bare,.case-title,.page-hero h1,.essay-block h2,.chapter h2,.menu-row h3,.big-cta h2,.world-link h3,.contact h2,.timeline-year,.timeline-event h3,.number-list{font-family:var(--site-font-stack);letter-spacing:0}
.caps,.bare{font-size:11px;font-weight:400;text-transform:none}
.site-header{color:var(--canvas-text)}
.wordmark img{filter:none!important}
.orb{touch-action:none;cursor:grab;transition:transform .25s ease}
.orb:active{cursor:grabbing}
.orb:hover{transform:scale(1.05)}
.orb i{transition:none}

.world{background:#2c2922;color:#c3beb1}
.world-rail{align-items:stretch;gap:0;padding:84px 0 0 26vw;overflow:visible;cursor:grab;touch-action:pan-y;will-change:transform;transition:opacity .5s .15s}
.world-rail.dragging{cursor:grabbing}
.world-link{position:relative;flex:0 0 min(38vw,550px);height:calc(100svh - 84px);border:0;border-left:1px solid currentColor;background:#2c2922;color:#c3beb1;padding:18px;align-items:flex-start;text-align:left;overflow:hidden}
.world-link:last-child{border-right:1px solid currentColor}
.world-link h3{font-size:clamp(46px,6vw,92px);font-weight:400;line-height:.9;margin:0;max-width:8ch}
.world-link span{font-size:11px;text-transform:uppercase}
.world-link:after{content:"↗";position:absolute;right:18px;bottom:18px;font-size:24px;transition:transform .45s var(--ease)}
.world-link:hover:after{transform:translate(5px,-5px)}

.contact{padding:12vh 8vw 0;background:#11130fb8}
.contact-room{width:min(1000px,100%);min-height:calc(100svh - 12vh);margin:0 auto;background:#8e9c80;color:#26351f;padding:18px clamp(22px,4vw,56px) 70px;clip-path:inset(0 0 100% 0)}
.contact h2{font-size:clamp(52px,7.5vw,108px);font-weight:400;color:#26351f}
.contact-room .field input,.contact-room .field textarea{color:#26351f;border-color:#26351f88}
.contact-room .field input::placeholder{color:#26351f99}
.contact-room .option span{border-color:#26351f88}
.contact-room .option input:checked+span,.contact-room .send{background:#26351f;color:#a4b098;border-color:#26351f}
.contact-details{border-color:#26351f55}

@media(max-width:760px){
  .world-rail{padding:64px 0 0 18vw}
  .world-link{flex-basis:78vw;height:calc(100svh - 64px)}
  .world-link h3{font-size:14vw}
  .contact{padding:0}
  .contact-room{min-height:100svh;width:100%;padding-top:18px}
  .contact h2{font-size:15vw;margin-top:42px}
}

/* Unified menu motion and colour handoff. These rules intentionally finish the
   navigation cascade so previews, backdrop and destination share one palette. */
:root{--menu-ease:cubic-bezier(.16,1,.3,1)}
body.world-open{background:var(--menu-backdrop,#5f5d50);transition:background-color .9s ease}
.world{background:var(--menu-backdrop,#5f5d50);transition:opacity .7s ease,background-color .9s ease}
.world-rail{transform:translate3d(var(--menu-shift,0px),0,0)!important;will-change:transform}
.world-cover,.world-cover.current-route{
  background:var(--canvas);color:var(--canvas-text);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--canvas-text) 24%,transparent),0 24px 70px #0002;
  transition:transform 1.25s var(--menu-ease),opacity .8s ease,left 1.25s var(--menu-ease),top 1.25s var(--menu-ease),width 1.25s var(--menu-ease),height 1.25s var(--menu-ease),background-color .9s ease,color .9s ease
}
.world-preview{background:var(--canvas);transition:transform 1.25s var(--menu-ease),filter .8s ease,background-color .9s ease}
.world-cover-name{
  left:18px;top:82px;padding:0;background:transparent;color:var(--canvas-text);
  font:400 clamp(32px,4.2vw,58px)/.92 var(--site-font-stack);
  letter-spacing:0;text-transform:lowercase
}
.world-cover.current-route .world-cover-name:after{content:none!important}
.world-cover.current-route{display:none!important}
.world-current-close{position:absolute;z-index:79;left:11vw;top:14.75vh;width:26.5vw;height:70.5svh;border:0;background:transparent;cursor:pointer}
.menu-current-label{
  position:absolute;left:18px;top:82px;display:block;opacity:0;pointer-events:none;
  color:#111;font:400 clamp(32px,4.2vw,58px)/.92 var(--site-font-stack);
  text-transform:lowercase;transition:opacity .45s .45s ease
}
.world-open .menu-current-label{opacity:1}
.world-cover,.world-cover.current-route,.world-cover-name{color:#111!important}
.menu-preview-mode .site-header{color:#111!important}
.menu-preview-mode{--canvas-text:#111!important}
.menu-preview-mode .wordmark img{filter:brightness(0)!important}
.world-cover:not(.current-route){left:calc(44.5vw + var(--visible-menu-index,0) * 32.5vw)}
.world-open .site-stage{opacity:1!important;filter:none!important;box-shadow:0 0 0 1px #1113!important}
.world-open .site-header{opacity:1!important}
.world-open .world-cover:not(.current-route){transform:translate3d(0,0,0) scale(1);opacity:1}
.navigation-arrival .case,.navigation-arrival .mg-hero-images img,
.navigation-arrival .page-hero h1,.navigation-arrival .page-hero-visual{
  animation:none!important;transition:none!important;opacity:1!important;
  transform:none!important;clip-path:none!important
}
.world-closing .world-cover.is-selected{left:0;top:0;width:100vw;height:100svh;transform:none;opacity:1}
.world-closing .world-cover.is-selected .world-preview{transform:scale(1)}
.world-closing .world-cover:not(.is-selected){transform:translate3d(0,28vh,0) scale(.97);opacity:0}
.menu-preview-mode{background:var(--canvas)!important;color:var(--canvas-text)!important}
.menu-preview-mode .site-stage{background:var(--canvas)!important;color:var(--canvas-text)!important}

/* Menus remain a normal vertical page; only each active family scrolls sideways. */
.menu-gallery-page,.menu-gallery-page .site-stage{height:auto;min-height:100%;overflow:visible}
.menu-gallery-page.is-locked{overflow:hidden}
.mg-menus{overflow:clip}
.mg-track{overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x pan-y}
.mg-reveal{opacity:0;transform:translateY(34px);transition:opacity 1s ease,transform 1.2s var(--menu-ease)}
.mg-reveal.seen{opacity:1;transform:none}
.mg-gallery figure:nth-child(2),.mg-slide:nth-child(2){transition-delay:.08s}
.mg-gallery figure:nth-child(3),.mg-slide:nth-child(3){transition-delay:.16s}
.mg-choice{letter-spacing:.08em}

/* Navigation previews follow the reference hierarchy: identity, page title,
   then an image-led composition grounded at the bottom of each page. */
.menu-preview-mode .site-header{height:72px;padding:14px 18px}
.menu-preview-mode .header-actions,.menu-preview-mode .header-right{display:none}
.menu-preview-mode .wordmark{width:70px}
.menu-preview-mode.about-vertical .about-statement{position:relative;min-height:100svh;padding:0 18px 16px}
.menu-preview-mode.about-vertical .about-statement>.caps,
.menu-preview-mode.about-vertical .about-statement>h1{visibility:hidden}
.menu-preview-mode.about-vertical .about-opening-visuals{position:absolute;left:18px;right:18px;bottom:16px;height:47svh}
.menu-preview-mode.menu-gallery-page .mg-hero{position:relative;min-height:100svh;padding:0 18px 16px}
.menu-preview-mode.menu-gallery-page .mg-hero>.caps,
.menu-preview-mode.menu-gallery-page .mg-hero>h1{visibility:hidden}
.menu-preview-mode.menu-gallery-page .mg-hero-images{position:absolute;left:18px;right:18px;bottom:16px;height:47svh}
.menu-preview-mode.home .case-rail{top:auto;bottom:16px;height:49svh}
.menu-preview-mode.home .case{height:49svh}
.menu-preview-mode.home .rail-hint{top:auto;bottom:calc(49svh + 30px)}
.menu-preview-mode.home .rail-progress{top:auto;bottom:calc(49svh + 28px)}

@media(max-width:760px){
  .world-cover-name{left:13px;top:66px;font-size:32px}
  .menu-preview-mode.about-vertical .about-opening-visuals,
  .menu-preview-mode.menu-gallery-page .mg-hero-images{left:13px;right:13px;bottom:13px;height:48svh}
}

@media(prefers-reduced-motion:reduce){.mg-reveal{opacity:1;transform:none}}

/* Sample menus presented as editorial case studies. */
.menus-opening{min-height:100svh;padding:120px var(--edge) 55px;display:grid;grid-template-columns:1fr 1fr;align-content:end;gap:36px}
.menus-opening .caps{grid-column:1/-1;align-self:start}.menus-opening h1{margin:0;font:400 clamp(62px,9vw,138px)/.82 var(--site-font-stack);letter-spacing:0}.menus-opening p{align-self:end;max-width:420px;margin:0 0 8px;font-size:15px;line-height:1.55}
.menu-case{min-height:100svh;padding:10vh var(--edge);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:clamp(38px,6vw,100px);align-items:center;border-top:1px solid color-mix(in srgb,var(--canvas-text) 18%,transparent)}
.menu-case.reverse .menu-case-media{order:2}.menu-case.reverse article{order:1}
.menu-case-media{height:78svh;overflow:hidden}.menu-case-media img{height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.menu-case:hover .menu-case-media img{transform:scale(1.025)}
.menu-case article{max-width:560px}.menu-case h2{margin:20px 0 42px;font:400 clamp(42px,5.5vw,82px)/.9 var(--site-font-stack);letter-spacing:0}
.case-courses{display:grid;border-top:1px solid color-mix(in srgb,var(--canvas-text) 30%,transparent)}.case-courses p{margin:0;padding:14px 0;display:grid;grid-template-columns:minmax(120px,.7fr) 1.3fr;gap:20px;border-bottom:1px solid color-mix(in srgb,var(--canvas-text) 18%,transparent);font-size:12px;line-height:1.45}.case-courses b{font-weight:500}.case-courses span{opacity:.68}.case-courses.compact p{padding:11px 0}
.menu-choice{display:block;margin-top:18px;font-size:10px;text-transform:uppercase;opacity:.58}.menus-close{min-height:70svh;padding:15vh var(--edge);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:34px}.menus-close p{max-width:720px;margin:0;font:400 clamp(36px,5.4vw,78px)/.96 var(--site-font-stack)}

@media(max-width:760px){
  .menus-opening{min-height:88svh;padding:110px var(--edge) 50px;grid-template-columns:1fr;align-content:end}.menus-opening h1{font-size:58px}.menus-opening p{font-size:13px}
  .menu-case{min-height:auto;padding:72px var(--edge);grid-template-columns:1fr;gap:38px}.menu-case.reverse .menu-case-media,.menu-case.reverse article{order:initial}.menu-case-media{height:62svh}.menu-case h2{font-size:45px;margin:16px 0 32px}.case-courses p{grid-template-columns:1fr;gap:4px}.menus-close{min-height:60svh}.menus-close p{font-size:40px}
}

/* The menu cards are real, inert previews of their destination pages. */
.world-cover{padding:0;background:var(--canvas)}
.world-preview{position:absolute;inset:0;width:100vw;height:100svh;border:0;background:var(--canvas);pointer-events:none;transform:scale(.75);transform-origin:left top;transition:transform 1.2s var(--menu-ease),filter .8s ease}
.world-cover:hover .world-preview{filter:brightness(1.04)}
.menu-preview-mode{overflow:hidden}
.menu-preview-mode>.world,.menu-preview-mode>.contact{display:none!important}
.menu-preview-mode .site-header{position:absolute}
.menu-preview-mode .site-stage{height:100svh;overflow:hidden}
.world-closing .world-cover.is-selected{left:0;top:0;width:100vw;height:100svh;box-shadow:none}
.world-closing .world-cover.is-selected .world-preview{transform:scale(1)}

@media(max-width:760px){
  .world-preview{transform:scale(.8)}
  .world-closing .world-cover.is-selected{left:0;top:0;width:100vw;height:100svh}
  .world-closing .world-cover.is-selected .world-preview{transform:scale(1)}
}

/* Final compact menu geometry. Keep this block last. */
.world-open .site-stage{transform:translate3d(11vw,14.75vh,0) scale(.705);clip-path:inset(0 62.4% 0 0);opacity:.12}
.world-open .site-header{transform:translate3d(11vw,14.75vh,0) scale(.705);clip-path:inset(0 62.4% 0 0);opacity:.12}
.world-cover,.world-cover.current-route{display:block;top:14.75vh;left:calc(11vw + var(--menu-index,0) * 30.5vw);width:26.5vw;height:70.5svh;padding:0}
.world-preview{transform:scale(.705)}
.world-cover-name{position:absolute;z-index:3;left:12px;top:12px;padding:5px 7px;background:color-mix(in srgb,var(--canvas) 88%,transparent);color:var(--canvas-text);font:500 10px/1 var(--site-font-stack);text-transform:lowercase;pointer-events:none}
.world-cover.current-route .world-cover-name:after{content:" / current";opacity:.55}
.world-closing .world-cover.is-selected{left:0;top:0;width:100vw;height:100svh;box-shadow:none}
.world-closing .world-cover.is-selected .world-cover-name{opacity:0;transition:opacity .3s}
.world-closing .world-cover.is-selected .world-preview{transform:scale(1)}

@media(max-width:760px){
  .world-open .site-stage,.world-open .site-header{transform:translate3d(7vw,10vh,0) scale(.8);clip-path:inset(0 22.5% 0 0);opacity:.08}
  .world-cover,.world-cover.current-route{display:block;top:10vh;left:calc(7vw + var(--menu-index,0) * 68vw);width:62vw;height:80svh;padding:0}
  .world-preview{transform:scale(.8)}
  .world-cover-name{left:9px;top:9px}
  .world-closing .world-cover.is-selected{left:0;top:0;width:100vw;height:100svh}
}

:root{--site-font-stack:Epilogue,Arial,sans-serif}

:root{--site-font-stack:var(--site-font-stack)}

/* FINAL MOTION OVERRIDES: left/right only. */
body.world-open{background:var(--menu-backdrop,#656354)!important}
.world{background:transparent!important}
.world-cover.current-route{display:none!important}
.world-open .site-stage{opacity:1!important;filter:none!important;box-shadow:0 0 0 1px #1113!important;transform:translate3d(11vw,14.75vh,0) scale(.705)!important;transform-origin:left top!important;clip-path:inset(0 62.4% 0 0)!important;transition:transform 1.35s cubic-bezier(.22,.72,.18,1),clip-path 1.35s cubic-bezier(.22,.72,.18,1)!important}
.world-open .site-header{opacity:1!important;transform:translate3d(11vw,14.75vh,0) scale(.705)!important;transform-origin:left top!important;clip-path:inset(0 62.4% 0 0)!important;transition:transform 1.35s cubic-bezier(.22,.72,.18,1),clip-path 1.35s cubic-bezier(.22,.72,.18,1)!important}
.world-cover:not(.current-route){left:calc(44.5vw + var(--visible-menu-index,0) * 32.5vw)!important;transform:translate3d(105vw,0,0) scale(1)!important;opacity:0!important;transition:transform 1.35s cubic-bezier(.22,.72,.18,1),opacity .75s ease,left 1.35s cubic-bezier(.22,.72,.18,1),top 1.35s cubic-bezier(.22,.72,.18,1),width 1.35s cubic-bezier(.22,.72,.18,1),height 1.35s cubic-bezier(.22,.72,.18,1)!important}
.world-open .world-cover:not(.current-route){transform:translate3d(0,0,0) scale(1)!important;opacity:1!important}
.world-open .world-cover:not(.current-route):nth-child(1){transition-delay:.08s!important}.world-open .world-cover:not(.current-route):nth-child(2){transition-delay:.14s!important}.world-open .world-cover:not(.current-route):nth-child(3){transition-delay:.2s!important}
.world-closing .site-stage,.world-closing .site-header{transform:translate3d(-100vw,14.75vh,0) scale(.705)!important;clip-path:inset(0 62.4% 0 0)!important;opacity:.25!important}
.world-closing .world-cover:not(.current-route):not(.is-selected){transform:translate3d(105vw,0,0) scale(1)!important;opacity:0!important;transition-delay:0s!important}
.world-closing .world-cover.is-selected{left:0!important;top:0!important;width:100vw!important;height:100svh!important;transform:translate3d(0,0,0) scale(1)!important;opacity:1!important;transition-delay:0s!important}
.world-closing .world-cover.is-selected .world-preview{transform:scale(1)!important}
.world-cover-name{left:18px!important;top:82px!important;padding:0!important;background:transparent!important;color:#111!important;font:400 clamp(32px,4.2vw,58px)/.92 var(--site-font-stack)!important;text-transform:lowercase!important}
.world-cover.current-route .world-cover-name:after{content:none!important}
.menu-preview-mode{--canvas-text:#111!important}.menu-preview-mode .wordmark img{filter:brightness(0)!important}

@media(max-width:760px){
  .world-open .site-stage,.world-open .site-header{transform:translate3d(7vw,10vh,0) scale(.8)!important;clip-path:inset(0 72% 0 0)!important}
  .world-cover:not(.current-route){left:calc(40vw + var(--visible-menu-index,0) * 68vw)!important}
  .world-closing .site-stage,.world-closing .site-header{transform:translate3d(-100vw,10vh,0) scale(.8)!important;clip-path:inset(0 72% 0 0)!important}
  .world-cover-name{left:13px!important;top:66px!important;font-size:32px!important}
}

/* Definitive navigation presentation. */
body.world-open{background:var(--menu-backdrop,#656354)!important}
.world{background:var(--menu-backdrop,#656354)!important}
.world-cover-name{
  left:18px!important;top:82px!important;padding:0!important;
  background:transparent!important;color:var(--canvas-text)!important;
  font:400 clamp(32px,4.2vw,58px)/.92 var(--site-font-stack)!important;
  letter-spacing:0!important;text-transform:lowercase!important
}
.menu-preview-mode .site-header{height:72px;padding:14px 18px}
.menu-preview-mode .header-actions,.menu-preview-mode .header-right{display:none}
.menu-preview-mode .wordmark{width:70px}
.menu-preview-mode.about-vertical .about-statement{position:relative;min-height:100svh;padding:0 18px 16px}
.menu-preview-mode.about-vertical .about-statement>.caps,.menu-preview-mode.about-vertical .about-statement>h1{visibility:hidden}
.menu-preview-mode.about-vertical .about-opening-visuals{position:absolute;left:18px;right:18px;bottom:16px;height:47svh}
.menu-preview-mode.menu-gallery-page .mg-hero{position:relative;min-height:100svh;padding:0 18px 16px}
.menu-preview-mode.menu-gallery-page .mg-hero>.caps,.menu-preview-mode.menu-gallery-page .mg-hero>h1{visibility:hidden}
.menu-preview-mode.menu-gallery-page .mg-hero-images{position:absolute;left:18px;right:18px;bottom:16px;height:47svh}
.menu-preview-mode.home .case-rail{top:auto;bottom:16px;height:49svh}
.menu-preview-mode.home .case{height:49svh}
.menu-preview-mode.home .rail-hint{top:auto;bottom:calc(49svh + 30px)}
.menu-preview-mode.home .rail-progress{top:auto;bottom:calc(49svh + 28px)}

@media(max-width:760px){
  .world-cover-name{left:13px!important;top:66px!important;font-size:32px!important}
  .menu-current-label{left:13px;top:66px;font-size:32px}
  .world-cover:not(.current-route){left:calc(40vw + var(--visible-menu-index,0) * 68vw)}
  .world-current-close{left:7vw;top:10vh;width:28vw;height:80svh}
  .menu-preview-mode.about-vertical .about-opening-visuals,.menu-preview-mode.menu-gallery-page .mg-hero-images{left:13px;right:13px;bottom:13px;height:48svh}
}

/* Horizontal-only navigation choreography. The backdrop belongs to the body;
   the transparent menu layer leaves the minimized live page visible. */
body.world-open{background:var(--menu-backdrop,#656354)!important}
.world{background:transparent!important}
.world-open .site-stage{
  transform:translate3d(11vw,14.75vh,0) scale(.705)!important;
  transform-origin:left top!important;clip-path:inset(0 62.4% 0 0)!important;
  transition:transform 1.35s cubic-bezier(.22,.72,.18,1),clip-path 1.35s cubic-bezier(.22,.72,.18,1),filter 1s ease!important
}
.world-open .site-header{
  transform:translate3d(11vw,14.75vh,0) scale(.705)!important;
  transform-origin:left top!important;clip-path:inset(0 62.4% 0 0)!important;
  transition:transform 1.35s cubic-bezier(.22,.72,.18,1),clip-path 1.35s cubic-bezier(.22,.72,.18,1)!important
}
.world-cover:not(.current-route){
  transform:translate3d(105vw,0,0) scale(1)!important;opacity:0!important;
  transition:transform 1.35s cubic-bezier(.22,.72,.18,1),opacity .75s ease,left 1.35s cubic-bezier(.22,.72,.18,1),top 1.35s cubic-bezier(.22,.72,.18,1),width 1.35s cubic-bezier(.22,.72,.18,1),height 1.35s cubic-bezier(.22,.72,.18,1)!important
}
.world-open .world-cover:not(.current-route){transform:translate3d(0,0,0) scale(1)!important;opacity:1!important}
.world-open .world-cover:not(.current-route):nth-child(1){transition-delay:.08s!important}
.world-open .world-cover:not(.current-route):nth-child(2){transition-delay:.14s!important}
.world-open .world-cover:not(.current-route):nth-child(3){transition-delay:.2s!important}
.world-closing .site-stage,.world-closing .site-header{
  transform:translate3d(-100vw,14.75vh,0) scale(.705)!important;
  clip-path:inset(0 62.4% 0 0)!important;opacity:.25!important
}
.world-closing .world-cover:not(.current-route):not(.is-selected){transform:translate3d(105vw,0,0) scale(1)!important;opacity:0!important;transition-delay:0s!important}
.world-closing .world-cover.is-selected{
  left:0!important;top:0!important;width:100vw!important;height:100svh!important;
  transform:translate3d(0,0,0) scale(1)!important;opacity:1!important;transition-delay:0s!important
}
.world-closing .world-cover.is-selected .world-preview{transform:scale(1)!important}

@media(max-width:760px){
  .world-open .site-stage,.world-open .site-header{transform:translate3d(7vw,10vh,0) scale(.8)!important;clip-path:inset(0 72% 0 0)!important}
  .world-closing .site-stage,.world-closing .site-header{transform:translate3d(-100vw,10vh,0) scale(.8)!important;clip-path:inset(0 72% 0 0)!important}
}

/* Menus and gallery: atmospheric, image-led and horizontally browsable. */
.menu-gallery-page{background:#11120f;color:#eee9dd}.menu-gallery-page .site-stage{background:#11120f;color:#eee9dd}.menu-gallery-page .site-header{color:#eee9dd}.menu-gallery-page .wordmark img{filter:brightness(0) invert(1)}
.mg-hero{position:relative;min-height:100svh;padding:102px var(--edge) 24px;display:grid;grid-template-columns:.55fr 1.45fr;grid-template-rows:auto 1fr auto;gap:22px 5vw;overflow:hidden}.mg-hero>.caps{grid-column:1/-1}.mg-hero h1{z-index:2;margin:0;align-self:center;font:400 clamp(58px,8vw,118px)/.82 var(--site-font-stack);letter-spacing:.02em}.mg-hero-images{height:72svh;display:grid;grid-template-columns:1.15fr .65fr .5fr;gap:6px}.mg-hero-images img{height:100%;object-fit:cover;filter:saturate(.8);animation:mg-image-in 1.5s cubic-bezier(.16,1,.3,1) both}.mg-hero-images img:nth-child(2){height:67%;align-self:end;animation-delay:.1s}.mg-hero-images img:nth-child(3){height:45%;align-self:center;animation-delay:.2s}@keyframes mg-image-in{from{clip-path:inset(100% 0 0);transform:translateY(30px)}to{clip-path:inset(0);transform:none}}.mg-hero p{max-width:330px;margin:0;font-size:11px;line-height:1.6;opacity:.65}.mg-hero>a{justify-self:end;align-self:end;font-size:9px;text-transform:uppercase;border-bottom:1px solid;padding-bottom:4px}
.mg-menus{min-height:100svh;padding:100px var(--edge) 28px;border-top:1px solid #eee9dd24}.mg-menus>header{display:grid;grid-template-columns:1fr auto;gap:12px 30px;align-items:end;margin-bottom:35px}.mg-menus>header>.caps{grid-column:1/-1}.mg-menus h2{margin:0;font:400 clamp(40px,5vw,72px)/.9 var(--site-font-stack);letter-spacing:.02em}.mg-menus nav{display:flex;gap:24px}.mg-menus nav button{border:0;border-bottom:1px solid transparent;background:none;color:inherit;padding:0 0 5px;font-size:10px;text-transform:uppercase;opacity:.42;transition:opacity .45s,border-color .45s}.mg-menus nav button.active{border-color:#c8b789;opacity:1}.mg-family{display:none;position:relative}.mg-family.active{display:block;animation:mg-family-in .8s cubic-bezier(.16,1,.3,1) both}@keyframes mg-family-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.mg-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.mg-track::-webkit-scrollbar{display:none}.mg-slide{flex:0 0 min(1040px,82vw);height:64svh;display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(28px,5vw,76px);padding-right:4vw;scroll-snap-align:start}.mg-slide>img{height:100%;object-fit:cover;filter:saturate(.85)}.mg-slide>div{align-self:center}.mg-slide>div>span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#c8b789}.mg-slide h3{margin:14px 0 30px;font:400 clamp(33px,4.2vw,60px)/.94 var(--site-font-stack)}.mg-slide p{display:grid;grid-template-columns:minmax(105px,.55fr) 1.45fr;gap:18px;margin:0;padding:10px 0;border-top:1px solid #eee9dd1f;font-size:10px;line-height:1.45;color:#eee9dd99}.mg-slide p:last-child{border-bottom:1px solid #eee9dd1f}.mg-slide b{font-weight:400;color:#eee9dd}.mg-controls{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding-top:15px}.mg-controls>span{margin-right:12px;font-size:9px;letter-spacing:.12em;color:#c8b789}.mg-controls button{width:34px;height:34px;border:1px solid #eee9dd38;border-radius:50%;background:none;color:inherit;transition:background .35s,color .35s}.mg-controls button:hover{background:#eee9dd;color:#11120f}.mg-choice{position:absolute;right:0;top:-26px;margin:0;font-size:9px;text-transform:uppercase;color:#c8b789}
.mg-gallery{padding:120px var(--edge);border-top:1px solid #eee9dd24}.mg-gallery>header{display:grid;grid-template-columns:.65fr 1.35fr;align-items:end;margin-bottom:70px}.mg-gallery h2{margin:0;font:400 clamp(45px,6.6vw,96px)/.86 var(--site-font-stack)}.mg-gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;align-items:start}.mg-gallery figure{margin:0;grid-column:span 4;overflow:hidden}.mg-gallery figure.tall{grid-column:span 5}.mg-gallery figure.wide{grid-column:span 7}.mg-gallery img{height:52svh;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.mg-gallery .tall img{height:76svh}.mg-gallery .wide img{height:57svh}.mg-gallery figure:hover img{transform:scale(1.025)}.mg-gallery figcaption{padding-top:8px;font-size:8px;text-transform:uppercase;opacity:.56}.mg-instagram{margin-top:90px;padding-top:24px;border-top:1px solid #eee9dd24;display:flex;justify-content:space-between;align-items:center}.mg-instagram p{margin:0;font:400 clamp(25px,3.2vw,44px)/1 var(--site-font-stack)}.mg-instagram a{font-size:10px;text-transform:uppercase;border-bottom:1px solid;padding-bottom:4px}.mg-end{min-height:72svh;padding:100px var(--edge);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;border-top:1px solid #eee9dd24}.mg-end h2{margin:24px 0 50px;font:400 clamp(54px,8vw,118px)/.84 var(--site-font-stack)}.mg-end .underlink{color:inherit;border-color:inherit}
.menu-preview-mode.menu-gallery-page .mg-hero{padding:65px 16px 12px}.menu-preview-mode .mg-hero h1{font-size:54px}.menu-preview-mode .mg-hero-images{height:72svh}.menu-preview-mode .mg-hero p,.menu-preview-mode .mg-hero>a{display:none}

@media(max-width:760px){.mg-hero{padding:82px 14px 18px;grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto}.mg-hero h1{font-size:54px}.mg-hero-images{height:58svh;grid-template-columns:1.2fr .8fr}.mg-hero-images img:nth-child(3){display:none}.mg-hero p{font-size:10px}.mg-menus{padding:82px 14px 22px}.mg-menus>header{grid-template-columns:1fr}.mg-menus h2{font-size:42px}.mg-menus nav{gap:17px;overflow:auto}.mg-slide{flex-basis:88vw;height:auto;min-height:67svh;grid-template-columns:1fr;gap:24px;padding-right:0}.mg-slide>img{height:42svh}.mg-slide h3{font-size:35px;margin-bottom:24px}.mg-slide p{grid-template-columns:1fr;gap:4px}.mg-choice{position:static;margin-bottom:14px}.mg-gallery{padding:90px 14px}.mg-gallery>header{grid-template-columns:1fr;gap:20px}.mg-gallery h2{font-size:48px}.mg-gallery-grid{grid-template-columns:1fr 1fr}.mg-gallery figure,.mg-gallery figure.tall,.mg-gallery figure.wide{grid-column:span 1}.mg-gallery img,.mg-gallery .tall img,.mg-gallery .wide img{height:42svh}.mg-gallery .wide{grid-column:1/-1}.mg-instagram{align-items:flex-start;gap:34px;flex-direction:column}.mg-end{padding:80px 14px}.mg-end h2{font-size:55px}}

/* The navigation room follows time; preview pages keep their own live palette. */
:root{--menu-ease:cubic-bezier(.22,.82,.24,1)}
body.world-open{background:color-mix(in srgb,var(--canvas) 52%,#080907 48%)}
.world{background:color-mix(in srgb,var(--canvas) 52%,#080907 48%);color:var(--canvas-text);transition:background-color 1.1s ease,opacity .65s ease}
.world-cover,.world-cover.current-route{background:var(--canvas);box-shadow:0 0 0 1px color-mix(in srgb,var(--canvas-text) 16%,transparent),0 20px 65px rgba(0,0,0,.16);transition-property:transform,opacity,left,width,height,top,box-shadow;transition-duration:1.55s;transition-timing-function:var(--menu-ease)}
.world-cover-name{background:color-mix(in srgb,var(--canvas) 90%,transparent);color:var(--canvas-text)}
.menu-preview-mode{--canvas:inherit!important;--canvas-text:inherit!important;background:var(--canvas)!important;color:var(--canvas-text)!important}
.menu-preview-mode .site-stage,.menu-preview-mode .page,.menu-preview-mode .chapter,.menu-preview-mode .footer,.menu-preview-mode .olive,.menu-preview-mode .acid,.menu-preview-mode .big-cta{background:var(--canvas)!important;color:var(--canvas-text)!important}
.menu-preview-mode .site-header{color:var(--canvas-text)!important}
.menu-preview-mode .wordmark img{filter:none!important}
.world-open .world-cover:nth-child(1){transition-delay:0s}.world-open .world-cover:nth-child(2){transition-delay:.07s}.world-open .world-cover:nth-child(3){transition-delay:.14s}
.world-closing .world-cover:not(.is-selected){transform:translate3d(0,18vh,0) scale(.985);opacity:0;transition-duration:1.15s;transition-delay:0s}
.world-closing .world-cover.is-selected{transition-duration:1.45s;transition-delay:0s}
.world-closing .site-stage,.world-closing .site-header{transition-duration:1.35s;transition-timing-function:var(--menu-ease)}

/* Image-led opening frames. */
.about-statement{min-height:100svh;padding:105px var(--edge) 22px;display:grid;grid-template-columns:1fr 1.35fr;grid-template-rows:auto 1fr;gap:22px 5vw;align-items:end}
.about-statement>.caps{grid-column:1/-1;align-self:start}.about-statement h1{margin:0;font:400 clamp(55px,7vw,102px)/.9 var(--site-font-stack);letter-spacing:0;align-self:start}
.about-opening-visuals{height:72svh;display:grid;grid-template-columns:1.35fr .65fr;gap:7px;overflow:hidden}.about-opening-visuals img{height:100%;object-fit:cover}.about-opening-visuals img:last-child{height:62%;align-self:end}
.menus-opening{padding-top:100px;grid-template-columns:.65fr 1.35fr;grid-template-rows:auto 1fr auto;align-content:stretch}.menus-opening h1{font-size:clamp(52px,6.4vw,94px);align-self:start}.menus-opening-visuals{height:67svh;display:grid;grid-template-columns:1.3fr .7fr;gap:7px;overflow:hidden}.menus-opening-visuals img{height:100%;object-fit:cover}.menus-opening-visuals img:last-child{height:58%;align-self:end}.menus-opening p{grid-column:1;max-width:300px;font-size:12px}

/* Menu cases use the same quiet, staged reveal language as About. */
.menu-case{min-height:92svh}.menu-case h2{font-size:clamp(34px,4.2vw,58px);margin:18px 0 32px}.menu-case article{max-width:500px}.case-courses p{font-size:11px}.menu-reveal-media{clip-path:inset(0 0 100% 0);transform:translateY(32px);transition:clip-path 1.35s cubic-bezier(.16,1,.3,1),transform 1.35s cubic-bezier(.16,1,.3,1)}.menu-reveal-copy{opacity:0;transform:translateY(42px);transition:opacity 1s .12s ease,transform 1.25s .12s cubic-bezier(.16,1,.3,1)}.menu-reveal-media.seen{clip-path:inset(0);transform:none}.menu-reveal-copy.seen{opacity:1;transform:none}

/* Four cards fit on desktop; mobile shows the next card and a clear drag cue. */
:root{--menu-ease:cubic-bezier(.16,1,.3,1)}
@media(min-width:761px){
  .world-open .site-stage,.world-open .site-header{transform:translate3d(5vw,18vh,0) scale(.64);clip-path:inset(0 68% 0 0);opacity:.08}
  .world-cover,.world-cover.current-route{top:18vh;left:calc(5vw + var(--menu-index,0) * 23.25vw);width:20.5vw;height:64svh}
  .world-preview{transform:scale(.64)}
  .world:after{display:none}
}
.world:after{content:"Scroll or drag";position:absolute;left:50%;bottom:5.5vh;transform:translateX(-50%);font:500 9px/1 var(--site-font-stack);text-transform:uppercase;letter-spacing:.08em;opacity:.58;transition:opacity .5s .8s ease}
.world-closing.world:after{opacity:0;transition-delay:0s}
.world-cover{transition-duration:1.35s;transition-timing-function:var(--menu-ease)}

/* The miniature pages behave like covers: quiet title, imagery first. */
.menu-preview-mode .home-intro p,.menu-preview-mode .about-biography p,.menu-preview-mode .menus-opening p,.menu-preview-mode .portfolio-intro p,.menu-preview-mode .portfolio-intro>span:last-child{display:none}
.menu-preview-mode .home-intro h1{font-size:48px;line-height:.92}.menu-preview-mode .home .case-rail{top:42vh}
.menu-preview-mode .about-statement{padding-top:70px}.menu-preview-mode .about-statement h1{font-size:64px}.menu-preview-mode .about-opening-visuals{height:70svh}
.menu-preview-mode .menus-opening{padding:70px 20px 16px}.menu-preview-mode .menus-opening h1{font-size:54px}.menu-preview-mode .menus-opening-visuals{height:68svh}
.menu-preview-mode .portfolio-intro h1{font-size:58px}.menu-preview-mode .portfolio-intro{padding-top:72px}

@media(max-width:760px){
  .about-statement{padding:92px var(--edge) 16px;grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.about-statement h1{font-size:54px}.about-opening-visuals{height:66svh;grid-template-columns:1fr .55fr}.about-opening-visuals img:last-child{height:50%}
  .menus-opening{padding:92px var(--edge) 20px;grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto}.menus-opening h1{font-size:54px}.menus-opening-visuals{height:58svh;grid-template-columns:1fr .52fr}.menus-opening p{grid-column:auto}
  .menu-case{padding-top:64px;padding-bottom:64px}.menu-case h2{font-size:36px}.menu-case-media{height:56svh}
  .world-cover,.world-cover.current-route{left:calc(6vw + var(--menu-index,0) * 53vw);width:47vw;height:76svh;top:12vh}.world-preview{transform:scale(.76)}
  .world:after{bottom:3vh}
}

/* Combined menus and gallery collection. */
.collection-page,.collection-page .site-stage{height:100svh;overflow:hidden}.collection-shell{position:relative;height:100svh;padding:88px var(--edge) 18px;display:grid;grid-template-rows:auto 1fr}.collection-head{display:grid;grid-template-columns:1fr auto;gap:10px 30px;align-items:end;padding-bottom:14px}.collection-head>.caps{grid-column:1/-1}.collection-head h1{margin:0;font:400 clamp(34px,4.5vw,66px)/.9 var(--site-font-stack);letter-spacing:0}.collection-head nav{display:flex;gap:18px}.collection-head nav button{border:0;border-bottom:1px solid transparent;background:none;padding:0 0 4px;font-size:10px;text-transform:uppercase;opacity:.5}.collection-head nav button.active{border-color:currentColor;opacity:1}.collection-view{display:none;min-height:0}.collection-view.active{display:block;animation:collection-in .8s cubic-bezier(.16,1,.3,1) both}@keyframes collection-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.menu-grid{height:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:7px}.menu-grid-card{position:relative;min-height:0;border:0;background:#181914;color:#f2f0e8;padding:0;overflow:hidden;text-align:left}.menu-grid-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.78))}.menu-grid-card img{height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1),filter .8s}.menu-grid-card:hover img{transform:scale(1.035);filter:saturate(1.08)}.menu-grid-card>span,.menu-grid-card>b{position:absolute;z-index:2;left:12px;right:12px}.menu-grid-card>span{bottom:40px;font-size:8px;text-transform:uppercase}.menu-grid-card>b{bottom:12px;font:400 clamp(15px,1.6vw,24px)/1 var(--site-font-stack)}.collection-gallery{height:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:7px}.collection-gallery figure{position:relative;margin:0;overflow:hidden}.collection-gallery img{height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1)}.collection-gallery figure:hover img{transform:scale(1.03)}.collection-gallery figcaption{position:absolute;left:10px;bottom:9px;padding:4px 6px;background:color-mix(in srgb,var(--canvas) 85%,transparent);font-size:8px;text-transform:uppercase}
.collection-contact{position:fixed;z-index:8;right:var(--edge);bottom:17px;border:0;background:var(--canvas-text);color:var(--canvas);padding:10px 13px;font-size:9px;text-transform:uppercase}.menu-detail{position:fixed;z-index:20;top:0;right:0;width:min(560px,100%);height:100svh;padding:22px clamp(22px,4vw,58px);background:var(--canvas);color:var(--canvas-text);box-shadow:-20px 0 60px #0003;transform:translateX(102%);transition:transform 1s cubic-bezier(.16,1,.3,1);overflow:auto}.menu-detail.open{transform:none}.menu-detail>button{float:right;border:0;background:none;padding:0;font-size:9px;text-transform:uppercase}.menu-detail>.caps{display:block;margin-top:90px}.menu-detail h2{margin:18px 0 16px;font:400 clamp(38px,5vw,67px)/.9 var(--site-font-stack)}.menu-detail>p{max-width:370px;margin:0 0 42px;font-size:12px;line-height:1.5;opacity:.65}.menu-detail [data-menu-detail-lines]{border-top:1px solid color-mix(in srgb,var(--canvas-text) 25%,transparent)}.menu-detail [data-menu-detail-lines] p{display:grid;grid-template-columns:.65fr 1.35fr;gap:22px;margin:0;padding:14px 0;border-bottom:1px solid color-mix(in srgb,var(--canvas-text) 16%,transparent);font-size:11px;line-height:1.4}.menu-detail b{font-weight:500}.menu-detail span{opacity:.67}
.menu-preview-mode.collection-page .collection-shell{padding:66px 16px 12px}.menu-preview-mode .collection-head h1{font-size:45px}.menu-preview-mode .collection-head nav,.menu-preview-mode .collection-contact{display:none}

@media(max-width:760px){.collection-shell{padding:74px 10px 10px}.collection-head{grid-template-columns:1fr}.collection-head h1{font-size:38px}.collection-head nav{justify-self:start}.menu-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,minmax(155px,1fr));overflow:auto}.collection-page,.collection-page .site-stage{height:auto;min-height:100svh;overflow:auto}.collection-shell{height:auto;min-height:100svh}.collection-view.active{min-height:calc(100svh - 150px)}.collection-gallery{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,34svh)}.menu-grid-card>b{font-size:17px}.menu-detail [data-menu-detail-lines] p{grid-template-columns:1fr;gap:5px}.collection-contact{bottom:10px}.menu-preview-mode.collection-page,.menu-preview-mode.collection-page .site-stage{height:100svh;overflow:hidden}.menu-preview-mode.collection-page .collection-shell{height:100svh;min-height:0}.menu-preview-mode .menu-grid{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(4,1fr);overflow:hidden}.menu-preview-mode .menu-grid-card:nth-child(n+5){display:none}}

/* Menu colour room: charcoal surround with warm editorial covers. */
body.world-open{background:color-mix(in srgb,var(--canvas) 42%,#090a08 58%)}
.world{background:color-mix(in srgb,var(--canvas) 42%,#090a08 58%);color:var(--canvas-text)}
.world-cover,.world-cover.current-route{background:var(--canvas);box-shadow:0 0 0 1px color-mix(in srgb,var(--canvas-text) 24%,transparent),0 18px 55px rgba(0,0,0,.14)}
.world-cover-name{background:color-mix(in srgb,var(--canvas) 88%,transparent);color:var(--canvas-text)}
.menu-preview-mode{background:var(--canvas)!important;color:var(--canvas-text)!important}
.menu-preview-mode .site-stage,.menu-preview-mode .page,.menu-preview-mode .chapter,.menu-preview-mode .footer,.menu-preview-mode .olive,.menu-preview-mode .acid,.menu-preview-mode .big-cta{background:var(--canvas)!important;color:var(--canvas-text)!important}
.menu-preview-mode .wordmark img{filter:none!important}
.menu-preview-mode .site-header{color:var(--canvas-text)!important}
.world:after{color:var(--canvas-text)}

/* Compact editorial menu: every card is a labelled live page preview. */
.world-open .site-stage{transform:translate3d(11vw,14.75vh,0) scale(.705);clip-path:inset(0 62.4% 0 0);opacity:.12}
.world-open .site-header{transform:translate3d(11vw,14.75vh,0) scale(.705);clip-path:inset(0 62.4% 0 0);opacity:.12}
.world-cover,.world-cover.current-route{display:block;top:14.75vh;left:calc(11vw + var(--menu-index,0) * 30.5vw);width:26.5vw;height:70.5svh}
.world-preview{transform:scale(.705)}
.world-cover-name{position:absolute;z-index:3;left:12px;top:12px;padding:5px 7px;background:color-mix(in srgb,var(--canvas) 88%,transparent);color:var(--canvas-text);font:500 10px/1 var(--site-font-stack);text-transform:lowercase;pointer-events:none}
.world-cover.current-route .world-cover-name:after{content:" / current";opacity:.55}
.world-closing .world-cover.is-selected{left:0;top:0;width:100vw;height:100svh}
.world-closing .world-cover.is-selected .world-cover-name{opacity:0;transition:opacity .3s}
.world-closing .world-cover.is-selected .world-preview{transform:scale(1)}

@media(max-width:760px){
  .world-open .site-stage,.world-open .site-header{transform:translate3d(7vw,10vh,0) scale(.8);clip-path:inset(0 22.5% 0 0);opacity:.08}
  .world-cover,.world-cover.current-route{top:10vh;left:calc(7vw + var(--menu-index,0) * 68vw);width:62vw;height:80svh}
  .world-preview{transform:scale(.8)}
  .world-cover-name{left:9px;top:9px}
  .world-closing .world-cover.is-selected{left:0;top:0;width:100vw;height:100svh}
}

/* Editorial cover navigation: the live page becomes the first cover. */
.world{z-index:60;background:#2c2922;color:#b9ad67;perspective:1400px}
.world-head{z-index:90;left:auto;width:21vw;color:#b9ad67;padding-right:8px}
.world-open .site-stage{position:relative;z-index:80;transform:translate3d(-10vw,0,0) scale(.79);transform-origin:left center;filter:saturate(.78) brightness(.9);box-shadow:0 0 0 1px color-mix(in srgb,var(--canvas-text) 35%,transparent);pointer-events:none}
.world-rail{position:absolute;z-index:70;inset:0 0 0 77vw;height:100svh;display:flex;align-items:stretch;gap:0;padding:0;overflow:visible;background:#2c2922;opacity:1;cursor:grab;touch-action:pan-y;will-change:transform}
.world-cover{position:relative;display:flex;flex:0 0 18vw;height:100svh;padding:56px 13px 15px;flex-direction:column;justify-content:space-between;background:#2c2922;color:#b9ad67;border-left:1px solid #b9ad6744;overflow:hidden;transform:translate3d(105%,0,0);opacity:1;transition:transform .9s var(--ease),flex-basis .75s var(--ease),background-color .45s,color .45s}
.world-cover.current-route{display:none}
.world-open .world-cover{transform:none}
.world-open .world-cover:nth-child(2){transition-delay:.06s}.world-open .world-cover:nth-child(3){transition-delay:.12s}.world-open .world-cover:nth-child(4){transition-delay:.18s}
.cover-index{font-size:9px}
.cover-label{font-size:clamp(17px,1.7vw,27px);line-height:.95;max-width:7ch}
.world-cover>img{display:none}
.world-cover:after{content:"↗";align-self:flex-end;font-size:16px;font-weight:300;transition:transform .45s var(--ease)}
.world-cover:hover{background:#b9ad67;color:#2c2922}
.world-cover:hover:after{transform:translate(3px,-3px)}
.world-closing .world-cover:not(.is-selected){transform:translate3d(110%,0,0)!important;transition-delay:0s}
.world-closing .world-cover.is-selected{flex-basis:100vw;transform:translate3d(-77vw,0,0);background:var(--canvas);color:var(--canvas-text);transition-delay:0s}
.world-closing .site-stage{transform:translate3d(-100vw,0,0) scale(.79);opacity:.25}

/* The homepage images carry the work; captions stay out of the photography. */
.home .case{color:var(--canvas-text)}
.home .case:after,.home .case-info{display:none}
.case-kicker{font-size:11px;font-weight:400}

/* Clock hand runs from the centre to the chosen hour. */
.timebox{grid-template-columns:auto auto;gap:2px 14px}
.timebox>span:first-child{grid-column:1/-1}
.orb i{inset:0;transform:none!important}
.orb i:after{display:none}
.orb i b{left:50%;top:50%;width:9px;height:9px;transform:translate(calc(-50% + var(--dot-x,0px)),calc(-50% + var(--dot-y,-17px)));transition:transform .14s ease-out}

/* Horizontal about narrative */
.about-page{height:100svh;overflow:hidden}
.about-page .site-stage{height:100svh;overflow:hidden}
.about-rail{position:absolute;inset:84px 0 18px var(--edge);display:flex;gap:8px;cursor:grab;touch-action:pan-y;will-change:transform}
.about-rail.dragging{cursor:grabbing}
.about-panel{position:relative;flex:0 0 min(54vw,760px);height:100%;overflow:hidden;background:var(--canvas);border-top:1px solid var(--canvas-text);padding:18px;display:flex;flex-direction:column;justify-content:space-between}
.about-panel.intro{flex-basis:min(72vw,980px)}
.about-panel h1,.about-panel h2{font:400 clamp(54px,8vw,126px)/.84 var(--site-font-stack);margin:0;letter-spacing:0}
.about-panel p{font-size:clamp(16px,1.6vw,24px);line-height:1.35;max-width:590px;margin:0}
.about-panel img{height:68%;object-fit:cover;margin-top:18px}
.about-panel .panel-meta{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase}
.about-panel.cta{justify-content:flex-end;background:#8e9c80;color:#26351f}
.about-panel.cta button{align-self:flex-start;margin-top:34px}

.portfolio-page{height:100svh;overflow:hidden}
.portfolio-page .site-stage{height:100svh;overflow:hidden}
.portfolio-rail{position:absolute;inset:84px 0 16px var(--edge);display:flex;gap:8px;cursor:grab;touch-action:pan-y;will-change:transform}
.portfolio-rail.dragging{cursor:grabbing}
.portfolio-intro,.portfolio-end{flex:0 0 min(60vw,820px);height:100%;padding:18px;border-top:1px solid var(--canvas-text);display:flex;flex-direction:column;justify-content:space-between}
.portfolio-intro h1,.portfolio-end h2{font:400 clamp(62px,9vw,138px)/.82 var(--site-font-stack);margin:0;letter-spacing:0}
.portfolio-intro p{font-size:clamp(16px,1.6vw,24px);max-width:520px}
.portfolio-card{flex:0 0 min(36vw,520px);height:100%;padding-top:26px;position:relative;display:flex;flex-direction:column}
.portfolio-card>span{position:absolute;top:0;font-size:11px;text-transform:uppercase}
.portfolio-card img{height:calc(100% - 78px);object-fit:cover}
.portfolio-card h2{font:400 clamp(28px,3vw,48px)/.95 var(--site-font-stack);margin:10px 0 0;letter-spacing:0}
.portfolio-end{background:#8e9c80;color:#26351f;justify-content:flex-end}.portfolio-end>span{position:absolute;top:18px}.portfolio-end button{align-self:flex-start;margin-top:34px}

/* Vertical About page: fixed imagery, text moving through it. */
.about-vertical{overflow-x:hidden}
.about-statement{min-height:100svh;padding:110px var(--edge) 12vh;display:flex;align-items:flex-start}
.about-statement h1{font:400 clamp(64px,9.2vw,146px)/.88 var(--site-font-stack);letter-spacing:0;margin:0;max-width:12ch}
.about-flow{position:relative;display:grid;grid-template-columns:42% 58%;padding:8vh var(--edge) 16vh;gap:8vw}
.about-images{position:sticky;top:94px;align-self:start;height:calc(100svh - 118px);overflow:hidden}
.about-images img{position:absolute;width:72%;height:58%;object-fit:cover;transition:transform 1s var(--ease)}
.about-images img:first-child{left:0;top:0}
.about-images img:last-child{right:0;bottom:0;width:58%;height:45%}
.about-copy{padding-top:6vh}
.about-entry{min-height:82svh;display:flex;flex-direction:column;justify-content:flex-start;padding-top:8vh}
.about-entry>span,.about-contact>span{font-size:11px;text-transform:uppercase}
.about-entry h2{font:400 clamp(48px,6vw,96px)/.9 var(--site-font-stack);letter-spacing:0;margin:24px 0 32px}
.about-entry p{font-size:clamp(19px,2vw,30px);line-height:1.2;max-width:650px;margin:0}
.values-intro,.process-intro{min-height:88svh;padding:12vh var(--edge);display:flex;align-items:center}
.values-intro h2,.process-intro h2{font:400 clamp(64px,9vw,142px)/.86 var(--site-font-stack);letter-spacing:0;margin:0;max-width:12ch}
.horizontal-story{height:360svh;position:relative}
.process-story{height:420svh;position:relative}
.horizontal-sticky{position:sticky;top:0;height:100svh;overflow:hidden;padding:84px 0 18px}
.horizontal-track,.process-track{height:100%;display:flex;gap:8px;width:max-content;padding:0 var(--edge);will-change:transform}
.value-slide{position:relative;flex:0 0 min(72vw,920px);height:100%;display:grid;grid-template-columns:58% 42%;grid-template-rows:auto 1fr;padding-top:32px;border-top:1px solid var(--canvas-text)}
.value-slide>span{position:absolute;top:8px;left:0;font-size:11px;text-transform:uppercase}
.value-slide img{width:100%;height:100%;object-fit:cover;grid-row:2}
.value-slide>div{grid-row:2;padding:0 3vw;align-self:end}
.value-slide h3{font:400 clamp(36px,4.5vw,70px)/.92 var(--site-font-stack);letter-spacing:0;margin:0 0 24px}
.value-slide p{font-size:clamp(16px,1.55vw,23px);line-height:1.3;margin:0 0 6px;max-width:480px}
.process-track article{flex:0 0 min(44vw,580px);height:100%;padding:18px;display:flex;flex-direction:column;justify-content:space-between;border-top:1px solid var(--canvas-text);border-right:1px solid color-mix(in srgb,var(--canvas-text) 32%,transparent)}
.process-track strong{font-size:11px;font-weight:400}
.process-track h3{font:400 clamp(54px,7vw,108px)/.88 var(--site-font-stack);letter-spacing:0;margin:auto 0 22px}
.process-track p{font-size:clamp(17px,1.8vw,26px);line-height:1.24;max-width:420px;margin:0}
.about-notes{padding:14vh var(--edge) 18vh;display:grid;grid-template-columns:repeat(3,1fr);gap:7vw}
.about-notes article{border-top:1px solid var(--canvas-text);padding-top:14px}
.about-notes span{font-size:11px;text-transform:uppercase}
.about-notes p,.about-notes li{font-size:clamp(16px,1.6vw,23px);line-height:1.3}
.about-notes ol{list-style:none;padding:0;margin:28px 0 0;counter-reset:service}
.about-notes li{counter-increment:service;display:grid;grid-template-columns:34px 1fr;border-bottom:1px solid color-mix(in srgb,var(--canvas-text) 28%,transparent);padding:9px 0}
.about-notes li:before{content:counter(service,decimal-leading-zero) ".";font-size:10px;padding-top:5px}
.about-contact{min-height:86svh;padding:100px var(--edge);display:flex;flex-direction:column;justify-content:space-between;background:#8e9c80;color:#26351f}
.about-contact h2{font:400 clamp(64px,9vw,142px)/.84 var(--site-font-stack);letter-spacing:0;margin:0}
.about-contact button{align-self:flex-start}

@media(max-width:760px){
  .world-head{width:36vw;top:13px}
  .world-open .site-stage{transform:translate3d(-15vw,0,0) scale(.68)}
  .world-rail{inset:0 0 0 67vw;height:100svh;padding:0}
  .world-cover{height:100svh;flex-basis:32vw;padding:50px 9px 11px}
  .cover-label{font-size:15px}
  .world-closing .world-cover.is-selected{flex-basis:100vw;transform:translate3d(-67vw,0,0)}
  .timebox{display:grid;font-size:8px;gap:0 7px}.timebox .bare{font-size:8px}
  .header-right{gap:8px}.orb{width:38px;height:38px}
  .about-rail{inset:64px 0 10px var(--edge)}
  .about-panel,.about-panel.intro{flex-basis:86vw}
  .about-panel h1,.about-panel h2{font-size:15vw}
  .about-panel img{height:58%}
  .portfolio-rail{inset:64px 0 10px var(--edge)}
  .portfolio-intro,.portfolio-end{flex-basis:88vw}.portfolio-card{flex-basis:80vw}
  .portfolio-intro h1,.portfolio-end h2{font-size:16vw}
  .about-statement{padding-top:100px;min-height:92svh}.about-statement h1{font-size:15vw}
  .about-flow{grid-template-columns:1fr;padding-top:0;gap:38px}
  .about-images{position:relative;top:auto;height:72svh}.about-images img{width:76%;height:58%}.about-images img:last-child{width:60%;height:43%}
  .about-entry{min-height:68svh}.about-entry h2{font-size:14vw}.about-entry p{font-size:19px}
  .values-intro,.process-intro{min-height:76svh;padding:10vh var(--edge)}.values-intro h2,.process-intro h2{font-size:15vw}
  .horizontal-story{height:320svh}.process-story{height:380svh}.horizontal-sticky{padding-top:64px}
  .value-slide{flex-basis:90vw;grid-template-columns:1fr;grid-template-rows:58% 42%;padding-top:30px}.value-slide img{grid-row:1}.value-slide>div{grid-row:2;padding:22px 0 0}.value-slide h3{font-size:12vw;margin-bottom:14px}.value-slide p{font-size:17px}
  .process-track article{flex-basis:82vw}.process-track h3{font-size:16vw}
  .about-notes{grid-template-columns:1fr;gap:14vh;padding-top:12vh}
  .about-contact{min-height:74svh;padding:78px var(--edge)}.about-contact h2{font-size:15vw}
}

/* About page proportions follow the reference's quieter editorial scale. */
.about-statement{min-height:0;padding:94px 16px 138px}
.about-statement h1{max-width:980px;font-size:clamp(56px,7.03125vw,90px);line-height:1;letter-spacing:0}
.about-intro{min-height:175svh;padding:0 16px;display:grid;grid-template-columns:56% 40%;gap:4%;align-items:start}
.about-portrait-stack{position:sticky;top:110px;width:261px;height:328px;overflow:hidden}
.about-portrait-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:about-portrait 12s infinite}
.about-portrait-stack img:nth-child(1){animation-delay:0s}.about-portrait-stack img:nth-child(2){animation-delay:4s}.about-portrait-stack img:nth-child(3){animation-delay:8s}
@keyframes about-portrait{0%,30%{opacity:1;transform:scale(1)}33%,96%{opacity:0;transform:scale(1.025)}100%{opacity:1;transform:scale(1)}}
.about-biography{position:sticky;top:110px;font-size:24px;line-height:1.2;font-weight:300;max-width:502px}
.about-biography>span{display:block;margin-bottom:27px;font-size:24px}
.about-biography p{margin:0 0 30px}
.values-intro,.process-intro{min-height:100svh;padding:12vh 16px;align-items:center}
.values-intro h2,.process-intro h2{font-size:clamp(56px,7.03125vw,90px);line-height:1.02;max-width:710px}
.values-intro h2{margin-left:28vw}
.values-grid{width:84.6vw;padding:0 0 150px 16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.value-card h3{min-height:54px;margin:0;font-size:24px;line-height:1.12;font-weight:300;text-transform:uppercase}
.value-card h3 span{display:block}
.value-card img{width:100%;aspect-ratio:.8;object-fit:cover}
.value-card p{margin:26px 0 0;font-size:20px;line-height:1.25;font-weight:300}
.process-story{height:500svh;position:relative}
.process-sticky{position:sticky;top:0;height:100svh;overflow:hidden;padding-top:42vh}
.process-steps{display:flex;align-items:flex-start;gap:68px;width:max-content;padding-left:57vw;will-change:transform;transition:transform .9s var(--ease)}
.process-steps button{border:0;background:none;padding:0;color:inherit;font-size:24px;line-height:1.1;font-weight:300;text-align:left;text-transform:uppercase;opacity:.28;transition:opacity .5s,color .5s}
.process-steps button span{display:block}
.process-steps button.is-active{opacity:1;color:#d5be51}
.process-copy{width:350px;margin:76px 0 0 57vw;font-size:24px;line-height:1.2;font-weight:300;transition:opacity .22s,transform .45s var(--ease)}
.process-copy.is-changing{opacity:0;transform:translateY(16px)}
.process-copy em{display:block;margin-top:25px;font-style:normal;opacity:.55}

@media(max-width:760px){
  .about-statement{padding:94px var(--edge) 82px}.about-statement h1{font-size:56px;line-height:.98}
  .about-intro{min-height:135svh;padding:0 var(--edge);grid-template-columns:1fr;gap:42px}
  .about-portrait-stack{position:relative;top:auto;width:64vw;height:80vw}
  .about-biography{position:relative;top:auto;font-size:20px;line-height:1.22}.about-biography>span{font-size:20px}
  .values-intro,.process-intro{min-height:78svh;padding:10vh var(--edge)}
  .values-intro h2,.process-intro h2{font-size:56px;line-height:1;margin-left:0}
  .values-grid{width:max-content;padding:0 var(--edge) 110px;display:flex;gap:8px;overflow:visible}
  .value-card{width:76vw}.value-card h3{font-size:21px}.value-card p{font-size:18px}
  .process-steps{gap:42px;padding-left:18vw}.process-steps button{font-size:21px}
  .process-copy{width:70vw;margin-left:18vw;font-size:20px}
}

@media(prefers-reduced-motion:reduce){.about-portrait-stack img{animation:none}.about-portrait-stack img:first-child{opacity:1}}

/* Menu tiles mirror the reference: full landscape pages overlapping in depth. */
.world{z-index:80;background:transparent;color:#d0bb56;overflow:hidden}
body.world-open{background:#2c2922}
.world-head{display:none}
.world-rail{position:absolute;inset:0;width:100vw;height:100svh;display:block;padding:0;background:transparent;transform:none!important;opacity:1;overflow:visible}
.world-open .site-stage{position:relative;z-index:70;width:100vw;height:100svh;min-height:0;overflow:hidden;transform:translate3d(12vw,12.5vh,0) scale(.75);transform-origin:left top;filter:saturate(.8);box-shadow:0 0 0 1px #d0bb5640;pointer-events:none;transition:transform 1s var(--ease),filter .75s ease,opacity .65s ease}
.world-open .site-header{z-index:71;width:100vw;opacity:1;transform:translate3d(12vw,12.5vh,0) scale(.75);transform-origin:left top;pointer-events:none;transition:transform 1s var(--ease),opacity .5s ease}
.world-cover{position:absolute;z-index:72;top:12.5vh;left:calc(38vw + var(--menu-index,0) * 26vw);display:flex;width:100vw;height:100svh;padding:16px;flex-direction:column;justify-content:flex-start;background:var(--canvas);color:#d0bb56;border:0;box-shadow:0 0 0 1px #d0bb5638;overflow:hidden;opacity:1;transform:translate3d(75vw,0,0) scale(.75);transform-origin:left top;transition:transform 1s var(--ease),left .9s var(--ease),opacity .55s ease,filter .55s ease}
.world-cover:nth-child(2){z-index:73}.world-cover:nth-child(3){z-index:74}.world-cover:nth-child(4){z-index:75}
.world-cover.current-route{display:none}
.world-open .world-cover{transform:translate3d(0,0,0) scale(.75)}
.world-open .world-cover:nth-child(2){transition-delay:.05s}.world-open .world-cover:nth-child(3){transition-delay:.1s}.world-open .world-cover:nth-child(4){transition-delay:.15s}
.cover-index{position:absolute;top:17px;right:17px;font-size:11px}
.cover-label{font-size:42px;line-height:1;font-weight:300;text-transform:lowercase;max-width:none}
.world-cover>img{display:block;width:55%;height:50%;margin-top:auto;object-fit:cover;filter:saturate(.72);transition:transform .8s var(--ease),filter .5s}
.world-cover:after{content:"";display:none}
.world-cover:hover{background:var(--canvas);color:#d0bb56}
.world-cover:hover>img{transform:scale(1.02);filter:saturate(1)}
.world-closing .site-stage,.world-closing .site-header{transform:translate3d(-72vw,12.5vh,0) scale(.75);opacity:.35}
.world-closing .world-cover:not(.is-selected){transform:translate3d(80vw,0,0) scale(.75);opacity:.3;transition-delay:0s}
.world-closing .world-cover.is-selected{z-index:90;left:12vw;transform:translate3d(0,0,0) scale(.75);filter:none;transition-delay:0s}

@media(max-width:760px){
  .world-open .site-stage,.world-open .site-header{transform:translate3d(8vw,10vh,0) scale(.72)}
  .world-cover{top:10vh;left:calc(34vw + var(--menu-index,0) * 27vw);padding:12px;transform:translate3d(80vw,0,0) scale(.72)}
  .world-open .world-cover{transform:translate3d(0,0,0) scale(.72)}
  .cover-label{font-size:30px}.cover-index{top:13px;right:13px}
  .world-cover>img{width:62%;height:45%}
  .world-closing .site-stage,.world-closing .site-header{transform:translate3d(-75vw,10vh,0) scale(.72)}
  .world-closing .world-cover.is-selected{left:8vw;transform:translate3d(0,0,0) scale(.72)}
}

/* Final menu geometry: clipped page tiles with clean gaps, as in the reference. */
:root{--menu-ease:cubic-bezier(.87,0,.13,1)}
.world-rail{transform:translate3d(var(--menu-shift,0px),0,0)!important;transition:none}
.world-open .site-stage{z-index:70;height:100svh;transform:translate3d(12vw,12.5vh,0) scale(.75);clip-path:inset(0 62.5% 0 0);filter:saturate(.8);box-shadow:none;transition:transform 1.15s var(--menu-ease),clip-path 1.15s var(--menu-ease),filter .9s ease,opacity .7s ease}
.world-open .site-header{z-index:71;transform:translate3d(12vw,12.5vh,0) scale(.75);clip-path:inset(0 62.5% 0 0);transition:transform 1.15s var(--menu-ease),clip-path 1.15s var(--menu-ease),opacity .7s ease}
.world-cover{top:12.5vh;left:calc(44.5vw + var(--menu-index,0) * 32.5vw);width:28.125vw;height:75svh;padding:12px;background:var(--canvas);box-shadow:0 0 0 1px #d0bb5630;transform:translate3d(0,110vh,0) scale(.96);opacity:0;transition:transform 1.15s var(--menu-ease),opacity .7s ease,left 1.05s var(--menu-ease),width 1.05s var(--menu-ease),height 1.05s var(--menu-ease),top 1.05s var(--menu-ease)}
.world-open .world-cover{transform:translate3d(0,0,0) scale(1);opacity:1}
.world-open .world-cover:nth-child(2){transition-delay:.04s}.world-open .world-cover:nth-child(3){transition-delay:.1s}.world-open .world-cover:nth-child(4){transition-delay:.16s}
.cover-label{font-size:clamp(27px,3.25vw,44px)}
.cover-index{font-size:9px}
.world-cover>img{width:58%;height:49%;margin-top:auto}
.world-closing .site-stage,.world-closing .site-header{transform:translate3d(-24vw,12.5vh,0) scale(.75);opacity:.2}
.world-closing .world-cover:not(.is-selected){transform:translate3d(0,105vh,0) scale(.96);opacity:0;transition-delay:0s}
.world-closing .world-cover.is-selected{left:12vw;width:28.125vw;height:75svh;top:12.5vh;transform:none;opacity:1;transition-delay:0s}

@media(max-width:760px){
  .world-open .site-stage,.world-open .site-header{transform:translate3d(8vw,10vh,0) scale(.8);clip-path:inset(0 65% 0 0)}
  .world-cover{top:10vh;left:calc(40vw + var(--menu-index,0) * 34vw);width:30vw;height:80svh;padding:9px}
  .cover-label{font-size:25px}.world-cover>img{width:68%;height:43%}
  .world-closing .site-stage,.world-closing .site-header{transform:translate3d(-28vw,10vh,0) scale(.8)}
  .world-closing .world-cover.is-selected{left:8vw;top:10vh;width:30vw;height:80svh}
}

/* Live page previews and the final full-page handoff. */
.world-cover{padding:0}
.world-preview{position:absolute;inset:0;width:100vw;height:100svh;border:0;background:var(--canvas);pointer-events:none;transform:scale(.75);transform-origin:left top;transition:transform 1.2s var(--menu-ease),filter .8s ease}
.world-cover:hover .world-preview{filter:brightness(1.04)}
.menu-preview-mode{overflow:hidden}
.menu-preview-mode .site-header{position:absolute}
.menu-preview-mode .site-stage{height:100svh;overflow:hidden}
.world-closing .world-cover.is-selected{left:0;top:0;width:100vw;height:100svh;box-shadow:none}
.world-closing .world-cover.is-selected .world-preview{transform:scale(1)}

@media(max-width:760px){
  .world-preview{transform:scale(.8)}
  .world-closing .world-cover.is-selected{left:0;top:0;width:100vw;height:100svh}
  .world-closing .world-cover.is-selected .world-preview{transform:scale(1)}
}

/* Final compact menu geometry. */
.world-open .site-stage{transform:translate3d(11vw,14.75vh,0) scale(.705);clip-path:inset(0 62.4% 0 0);opacity:.12}
.world-open .site-header{transform:translate3d(11vw,14.75vh,0) scale(.705);clip-path:inset(0 62.4% 0 0);opacity:.12}
.world-cover,.world-cover.current-route{display:block;top:14.75vh;left:calc(11vw + var(--menu-index,0) * 30.5vw);width:26.5vw;height:70.5svh;padding:0}
.world-preview{transform:scale(.705)}
.world-cover-name{position:absolute;z-index:3;left:12px;top:12px;padding:5px 7px;background:color-mix(in srgb,var(--canvas) 88%,transparent);color:var(--canvas-text);font:500 10px/1 var(--site-font-stack);text-transform:lowercase;pointer-events:none}
.world-cover.current-route .world-cover-name:after{content:" / current";opacity:.55}
.world-closing .world-cover.is-selected{left:0;top:0;width:100vw;height:100svh;box-shadow:none}
.world-closing .world-cover.is-selected .world-cover-name{opacity:0;transition:opacity .3s}
.world-closing .world-cover.is-selected .world-preview{transform:scale(1)}

@media(max-width:760px){
  .world-open .site-stage,.world-open .site-header{transform:translate3d(7vw,10vh,0) scale(.8);clip-path:inset(0 22.5% 0 0);opacity:.08}
  .world-cover,.world-cover.current-route{display:block;top:10vh;left:calc(7vw + var(--menu-index,0) * 68vw);width:62vw;height:80svh;padding:0}
  .world-preview{transform:scale(.8)}
  .world-cover-name{left:9px;top:9px}
  .world-closing .world-cover.is-selected{left:0;top:0;width:100vw;height:100svh}
}
