.philosophy{position:relative;z-index:1;background:var(--bg)}.project{background:#1c1e1a;color:var(--paper)}.project .section-label,.project .text-link,.gallery-head{border-color:var(--line)}.project figcaption,.gallery-status{color:#b4b6a9}.gallery-filters button{color:#9a9e90}.gallery-filters button[aria-pressed=true]{color:var(--paper);border-color:var(--paper)}.image-button{perspective:1000px}.project-cover img,.landscape-break>img{will-change:transform}.project-cover,.landscape-break{overflow:hidden}.drawings{background:#151614}.drawings-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px}.drawings-heading h2{font-size:clamp(48px,7vw,100px);line-height:1;letter-spacing:-.06em}.drawings-heading p{color:#b5b9ab;font-size:16px;max-width:340px}.drawing-tabs{display:flex;flex-wrap:wrap;gap:10px 26px;border-top:1px solid var(--line);padding:18px 0 24px}.drawing-tabs button{font-size:12px;color:#909688;padding:10px 0;border-bottom:1px solid transparent}.drawing-tabs button[aria-pressed=true]{color:var(--paper);border-color:var(--paper)}.drawing-main{display:block;position:relative;width:100%;padding:25px;min-height:400px;height:70vh;max-height:800px;background:#1a1b19}.drawing-main img{height:100%;object-fit:contain;transition:opacity .2s}.drawing-caption{display:flex;justify-content:space-between;padding-top:18px;gap:20px;font-size:11px;color:#afb3a4}.practice-editorial{min-height:660px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate}.practice-image{position:absolute;width:36%;top:0;bottom:0;left:32%;z-index:-1;overflow:hidden}.practice-image img{height:100%;filter:brightness(.42);transition:opacity .3s,transform 1s;transform:scale(1.04)}.practice-editorial>h2.eyebrow{font-size:10px;letter-spacing:.1em;position:absolute;top:0;left:0;line-height:1.4}.practice-editorial nav{display:flex;flex-direction:column;align-items:center;width:100%}.practice-editorial nav a{display:flex;align-items:baseline;gap:16px;padding:5px 0;color:#d4d7c67d;transition:color .3s}.practice-editorial nav a:hover,.practice-editorial nav a:focus-visible{color:var(--paper)}.practice-editorial nav a:nth-child(2n){transform:translateX(3vw)}.practice-editorial nav a small{font-size:12px}.practice-editorial nav a span{font-size:clamp(29px,4.8vw,78px);letter-spacing:-.065em;line-height:1.08}.practice-caption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:end}.practice-caption p{font-size:12px;line-height:1.3;color:#aeb2a2}.practice-caption .text-link{font-size:11px;min-width:160px}.desktop-nav{gap:24px}.site-header{gap:20px}.drawing-main:hover .image-open{background:#e8e7df;color:#151614}
@media(max-width:1100px){.desktop-nav{gap:16px;font-size:11px}.header-contact{gap:15px}.brand-primary{font-size:24px}.brand-secondary{font-size:8px}.brand-symbol{width:29px}.practice-editorial{min-height:530px}}
@media(max-width:760px){.hero-scroll{height:950svh}.hero-stage{min-height:560px}.hero-project{margin-right:0}.journey-position{bottom:20px;font-size:9px}.hero-bottom{bottom:46px}.skip-journey{top:153px;font-size:10px}.journey-menu{inset:22% 0 23%}.journey-chapters{gap:8px}.journey-chapters button{gap:8px;padding:5px 8px}.journey-chapters button>span{font-size:clamp(24px,7.3vw,52px)}.journey-chapters button small{font-size:9px}.journey-menu-label{top:-40px;font-size:8px}.journey-note{bottom:70px;max-width:230px}.journey-note p{font-size:12px}.menu-preview{width:65vw}.journey-world img[data-world="4"],.journey-world img[data-world="5"]{padding:0}.drawings-heading{display:block;margin-bottom:35px}.drawings-heading h2{font-size:56px}.drawings-heading p{margin-top:25px;font-size:14px}.drawing-main{height:58vh;min-height:320px;padding:10px}.drawing-tabs{gap:5px 20px}.drawing-tabs button{font-size:10px}.drawing-caption{font-size:9px}.drawing-caption span:last-child{max-width:130px;text-align:right}.practice-editorial{min-height:490px}.practice-image{width:70%;left:15%}.practice-editorial nav a{gap:9px;padding:8px 0}.practice-editorial nav a span{font-size:clamp(24px,6.3vw,44px)}.practice-editorial nav a small{font-size:9px}.practice-caption p{font-size:10px;max-width:125px}.practice-caption .text-link{min-width:120px;font-size:10px}.practice-editorial>h2.eyebrow{font-size:9px}.practice-editorial nav a:nth-child(2n){transform:translateX(1vw)}}

/* The opening is exclusively video; project chapters live below the philosophy. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hero-scroll{height:350svh;background:#151614}.hero-stage{height:100svh;min-height:0}.hero-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hero-image-wrap{background:#151614}.hero-progress{bottom:0}
.video-enable{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid #fff8;background:#151614e8;padding:15px 22px;font-size:13px;z-index:8}
.project-journey{height:360svh;margin:0 calc(-1 * var(--pad));position:relative;background:#151614}.project-stage{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden;isolation:isolate}.journey-world{position:absolute;inset:0;pointer-events:none}.journey-world img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1);transition:opacity .85s,transform 2s;filter:brightness(.53)}.journey-world img.is-active{opacity:1;transform:scale(1.045)}.journey-world img[data-world="4"],.journey-world img[data-world="5"]{object-fit:contain;padding:6vh 9vw;filter:brightness(.7)}.project-shade{position:absolute;inset:0;background:linear-gradient(0deg,#151614c9,transparent 35%,#15161455)}
.journey-menu{position:absolute;inset:12% 0 20%;display:flex;flex-direction:column;justify-content:center;align-items:center}.journey-menu-label{position:absolute;top:0;font-size:10px;letter-spacing:.13em;color:#c4c6bb}.journey-chapters{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px}.journey-chapters button{display:flex;align-items:baseline;gap:15px;padding:3px 12px;color:#e8e7df75;transition:color .4s;text-shadow:0 2px 25px #0009}.journey-chapters button small{font-size:12px}.journey-chapters button>span{font-size:clamp(29px,4.9vw,82px);font-weight:400;line-height:1.06;letter-spacing:-.065em}.journey-chapters button:nth-child(2n){transform:translateX(3.5vw)}.journey-chapters button:nth-child(3n){transform:translateX(-2vw)}.journey-chapters button[aria-pressed=true],.journey-chapters button:hover,.journey-chapters button:focus-visible{color:#f5f4ed}.journey-note{position:absolute;bottom:45px;left:var(--pad);width:290px;pointer-events:none}.journey-note .eyebrow{font-size:10px}.journey-note p{font-size:14px;line-height:1.35;max-width:240px;margin-top:10px;color:#c8cabf}.chapter-explore{position:absolute;bottom:48px;right:var(--pad);font-size:11px;border-bottom:1px solid #fff6;padding-bottom:8px}.drawing-main{background:transparent}
@media(max-width:760px){.hero-scroll{height:300svh}.project-journey{height:330svh}.project-stage{min-height:550px}.journey-menu{inset:15% 0 24%}.journey-menu-label{font-size:8px}.journey-chapters{gap:10px}.journey-chapters button{gap:8px;padding:5px 8px}.journey-chapters button>span{font-size:clamp(24px,7.3vw,52px)}.journey-chapters button small{font-size:9px}.journey-note{bottom:65px;width:230px}.journey-note p{font-size:12px}.chapter-explore{bottom:25px;font-size:10px}.journey-world img[data-world="4"],.journey-world img[data-world="5"]{padding:0}}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:100svh}.hero-stage{height:100svh;min-height:0}.project-journey{height:auto}.project-stage{position:relative;height:90svh}.journey-world img{transition:none;transform:none!important}.hero-progress{display:none}}

/* Longer shot dwell; a quiet editorial process canvas. */
.hero-scroll{height:620svh}
.process-atlas{background:#10110f;padding-top:55px;padding-bottom:55px;scroll-margin-top:0}.process-canvas{position:relative;min-height:max(510px,calc(100svh - 190px));display:grid;grid-template-columns:42% 58%;grid-template-rows:1fr auto;isolation:isolate;gap:80px 0}.process-intro{grid-column:1;position:relative;z-index:2;padding-top:14px}.process-intro h2{font-size:clamp(34px,3.3vw,58px);line-height:1.04;letter-spacing:-.055em;font-weight:400}.process-intro h2 span{color:#85897e}.process-intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:380px;margin-top:30px}.process-intro-columns p{font-size:12px;line-height:1.45;color:#a2a597}.process-visual{position:absolute;left:38%;right:-2%;top:0;bottom:130px;z-index:-1}.process-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:grayscale(1) brightness(.72);opacity:0;transform:translateY(18px) scale(.97);transition:opacity .8s,transform 1.2s}.process-visual img.is-active{opacity:1;transform:none}.process-detail{grid-column:1;grid-row:2;padding:0 40px 15px 0;max-width:330px}.process-detail .eyebrow{font-size:9px;letter-spacing:.1em;color:#a2a597}.process-detail p{font-size:13px;line-height:1.5;margin-top:18px;color:#b6b8ae}.process-selector{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(4,1fr);align-self:end;border-top:1px solid #ffffff25}.process-selector button{text-align:left;padding:25px 18px 22px;color:#73796b;transition:color .3s,background .3s;min-height:130px}.process-selector button>span{display:block;font-size:clamp(36px,4vw,68px);line-height:1;font-weight:400;letter-spacing:-.07em}.process-selector button small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-top:17px}.process-selector button[aria-pressed=true]{background:var(--paper);color:#181b15}.process-selector button:hover:not([aria-pressed=true]){background:#ffffff08;color:var(--paper)}
@media(max-width:760px){.hero-scroll{height:550svh}.process-canvas{min-height:0;display:flex;flex-direction:column;gap:0}.process-intro{padding-top:0}.process-intro h2{font-size:36px}.process-intro-columns{gap:20px;margin-top:22px}.process-intro-columns p{font-size:11px}.process-visual{position:relative;inset:auto;height:340px;width:100%;margin:25px 0 15px}.process-detail{order:4;padding:26px 0 0;max-width:100%;min-height:130px}.process-selector{order:3;width:100%}.process-selector button{min-height:100px;padding:20px 10px}.process-selector button>span{font-size:38px}.process-selector button small{font-size:8px;letter-spacing:.03em;margin-top:12px}.process-detail p{max-width:310px}.process-atlas .section-label span:last-child{max-width:150px;text-align:right}}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:100svh}.process-visual img{transition:none;transform:none}}

/* Native plan background is RGB 14/14/14; preserve drawing colours. */
.process-atlas,.process-canvas,.process-visual{background:#0e0e0e}.process-visual img{filter:none;padding-bottom:24px;transform:translateY(8px);transition:opacity .65s,transform .8s}.process-visual img.is-active{transform:none}.process-plan-label{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#a2a597}.process-visual{bottom:145px}
@media(max-width:760px){.process-visual{bottom:auto;height:410px}}
@media(prefers-reduced-motion:reduce){.process-visual img{transition:none;transform:none}}

.journey-world img[data-world="5"]{object-fit:cover;padding:0;filter:brightness(.53)}.video-loading{position:absolute;bottom:32px;left:var(--pad);font-size:10px;letter-spacing:.08em;color:var(--paper)}
.journal{background:#d8d9d0;color:#20251d;overflow:hidden}.journal .section-label{border-color:#20251d30}.journal-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}.journal-heading h2{font-size:clamp(48px,6vw,88px);line-height:.98;letter-spacing:-.065em;font-weight:400}.journal-heading h2 span{color:#777e6d}.journal-heading p{font-size:13px;line-height:1.5;max-width:300px}.journal-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 0 20px;scrollbar-width:thin;scrollbar-color:#7b8271 transparent}.journal-card{flex:0 0 320px;min-height:530px;scroll-snap-align:start;display:flex;flex-direction:column;background:#11130f;color:#e8e7df;padding:24px;position:relative;transition:background .3s}.journal-card:hover{background:#1c2119}.post-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#a7ad9b}.journal-card h3{font-size:35px;line-height:1.02;letter-spacing:-.055em;font-weight:400;margin:20px 0}.journal-card p{font-size:11px;line-height:1.45;color:#aeb3a3}.journal-card img{width:100%;height:220px;object-fit:cover;margin-top:28px}.post-foot{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:24px;border-bottom:1px solid #ffffff28;padding-bottom:12px;font-size:8px;color:#aeb3a3;text-transform:uppercase;letter-spacing:.03em}.post-project img{height:285px;margin:5px 0 18px}.post-project h3{font-size:44px}.post-origin img{height:180px;margin-top:auto}.post-plan{background:#0e0e0e}.post-plan:hover{background:#0e0e0e}.post-plan img{height:200px;object-fit:contain;margin:12px 0}.post-stages{display:flex;justify-content:space-between;align-items:center;font-size:24px;color:#707568}.post-stages b{background:#e8e7df;color:#171b14;font-weight:400;padding:6px 12px}.post-interior img{height:240px;margin:6px 0 22px}.post-conversation h3{font-size:43px}.post-brand{display:flex;gap:14px;align-items:center;margin:65px 0 25px}.post-brand svg{width:34px;height:43px}.post-brand>span{font-size:28px;letter-spacing:.08em;line-height:1.1}.post-brand small{display:block;font-size:9px;letter-spacing:.45em;margin-top:7px}.post-invitation{margin-bottom:25px}.journal-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:20px}.journal-bottom .text-link{font-size:12px;border-color:#20251d60}.journal-controls{display:flex;gap:10px}.journal-controls button{border:1px solid #20251d50;border-radius:50%;width:46px;height:46px;font-size:20px}.journal-controls button:disabled{opacity:.25;cursor:default}.journal-controls button:not(:disabled):hover{background:#20251d;color:#e8e7df}
@media(max-width:760px){.journal-heading{display:block}.journal-heading p{margin-top:25px}.journal-card{flex-basis:280px;min-height:500px;padding:22px}.journal-card h3{font-size:32px}.post-project h3,.post-conversation h3{font-size:40px}.journal-track{gap:24px}.post-brand>span{font-size:25px}}

/* Stable viewport travel avoids jumps as mobile browser chrome opens/closes. */
.hero-stage{height:100svh;min-height:0}.hero-video{backface-visibility:hidden}.video-motion{position:absolute;bottom:75px;left:var(--pad);border:1px solid #ffffff80;background:#151614da;color:var(--paper);padding:12px 18px;font-size:12px;z-index:8}
@supports not(height:100svh){.hero-stage{height:100vh}.hero-scroll{height:620vh}}
@media(prefers-reduced-motion:reduce){.hero-scroll.motion-opt-in{height:620svh}.hero-scroll.motion-opt-in .hero-progress{display:block}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.hero-scroll.motion-opt-in{height:550svh}}
/* Fixed navigation and a short, non-blocking brand entrance. */
.site-header{position:fixed;z-index:50;background:#10110fed;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.mobile-nav{z-index:49;top:94px}.brand{position:relative;transform-origin:center;z-index:2}
.brand-curtain{position:fixed;inset:0;background:#000;z-index:45;pointer-events:none;animation:curtain-fallback 0s 3s forwards}
@keyframes curtain-fallback{to{visibility:hidden}}
.brand-entering .site-header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:transparent}
.brand-entering .site-header>:not(.brand){opacity:0;pointer-events:none}
.site-header>:not(.brand){transition:opacity .4s}
.hero-stills{display:none;position:absolute;inset:0;background:#10110f;overflow:hidden}
.hero-stills img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;will-change:opacity,transform}
.image-hero .hero-stills{display:block}
.image-hero .hero-image-wrap,.image-hero .video-loading,.image-hero .video-enable,.image-hero .video-motion{display:none!important}
.image-hero{height:650svh}
.image-hero .hero-stills{top:94px;bottom:24px}
@media(max-width:760px){.mobile-nav{top:82px}.image-hero .hero-stills{top:82px}.site-header{height:82px}}
@media(prefers-reduced-motion:reduce){.brand-curtain{display:none}.image-hero{height:650svh}.hero-stills img{transform:none!important}}

.hero-video{object-fit:contain}.hero-image-wrap{top:94px;height:calc(100% - 118px);background:#10110f}

@media(min-width:761px) and (max-width:1100px){.desktop-nav,.header-contact{display:none}.menu-toggle{display:flex;gap:20px;font-size:12px;align-items:center}.menu-toggle span{font-size:23px}}

/* Compact translucent navigation; the full name belongs to the entrance only. */
:root{--header-height:64px;scroll-padding-top:calc(var(--header-height) + 20px)}
.site-header{height:var(--header-height);background:rgba(16,17,15,.62);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:#ffffff20}
.site-header .brand{width:44px;height:44px;flex:0 0 44px;display:flex;align-items:center;transform-origin:0 0}
.site-header .brand-lockup{gap:0;width:44px;height:44px}
.site-header .brand-symbol{width:28px;height:36px}
.site-header .brand-name{display:none;position:absolute;left:42px;top:50%;transform:translateY(-50%);white-space:nowrap}
.brand-entering .site-header .brand-name{display:flex}
.site-header .header-contact{padding:8px 14px;font-size:12px}
.mobile-nav{top:var(--header-height)}
.image-hero .hero-stills{top:var(--header-height)}
.hero-image-wrap{top:var(--header-height);height:calc(100% - var(--header-height) - 24px)}
@media(max-width:760px){:root{--header-height:56px}.site-header .brand-symbol{width:26px;height:34px}.mobile-nav{top:var(--header-height)}}

/* An architectural film within the landscape, with a soft scroll-led handover. */
.hero-stage{background:var(--bg);isolation:isolate}
.hero-backdrop{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-backdrop img{width:100%;height:100%;object-fit:cover;transform:scale(var(--backdrop-scale,1.08));will-change:transform}
.hero-backdrop:after{content:"";position:absolute;inset:0;background:var(--bg);opacity:var(--backdrop-shade,.38)}
.hero-image-wrap{inset:auto;left:50%;top:calc(50% + var(--header-height)/2);width:min(88vw,calc((100svh - var(--header-height) - 112px)*1.777778));height:auto;aspect-ratio:16/9;transform:translate(-50%,calc(-50% + var(--frame-lift,0px))) scale(var(--frame-scale,.94));opacity:var(--frame-opacity,1);background:#10110f;box-shadow:0 24px 90px #0007;outline:1px solid #ffffff20;will-change:transform,opacity;overflow:hidden}
.hero-video{object-fit:contain;width:100%;height:100%}
.video-loading{bottom:32px;text-shadow:0 1px 10px #000}
.editorial-reveal{opacity:0;transform:translateY(32px);transition:opacity .9s ease,transform 1.15s cubic-bezier(.2,.65,.2,1)}
.editorial-reveal.is-revealed{opacity:1;transform:none}
@media(max-width:760px){.hero-image-wrap{width:min(92vw,calc((100svh - var(--header-height) - 64px)*1.777778))}.hero-backdrop img{object-position:58% center}}
@media(prefers-reduced-motion:reduce){.hero-backdrop img,.hero-image-wrap{will-change:auto}.editorial-reveal{opacity:1;transform:none;transition:none}}

/* Scroll-scrubbed typography; no time-driven reveal or one-shot animation. */
.scroll-copy-track{position:relative}.scroll-copy{will-change:transform,opacity;transition:none!important}
.philosophy-sequence{position:relative;height:240svh;margin-top:-30px}
.philosophy-sticky{position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height));display:flex;align-items:center}
.philosophy-sticky h2{position:relative;width:100%;height:2.4em;max-width:none;font-size:clamp(42px,7.5vw,114px);line-height:1.06}
.philosophy-sticky [data-story-line]{position:absolute;inset:0;display:flex;align-items:center;color:var(--paper);will-change:transform,opacity}
.philosophy-sticky [data-story-line="1"]{color:var(--muted)}
.philosophy-bottom{margin-top:0}
@media(max-width:760px){.philosophy-sequence{height:220svh}.philosophy-sticky h2{font-size:clamp(38px,9vw,65px)}}
@media(prefers-reduced-motion:reduce){.scroll-copy{opacity:1!important;transform:none!important;will-change:auto}.philosophy-sequence{height:auto;margin:0}.philosophy-sticky{position:relative;top:auto;height:auto;display:block}.philosophy-sticky h2{height:auto;font-size:clamp(34px,4.8vw,80px)}.philosophy-sticky [data-story-line]{position:static;display:block;opacity:1!important;transform:none!important;will-change:auto}.philosophy-bottom{margin-top:64px}}

/* Persistent typography: all phrases remain legible throughout their sequence. */
.reading-copy{opacity:1;transform:none}.reading-word{opacity:.48;transition:none}
.philosophy-sticky h2{height:auto;display:flex;flex-direction:column;gap:.35em;font-size:clamp(34px,5.2vw,80px)}
.philosophy-sticky [data-story-line]{position:relative;inset:auto;display:block;color:var(--paper);opacity:.5;will-change:transform,opacity}
.philosophy-sticky [data-story-line="1"]{color:var(--paper)}
.philosophy-sequence{height:200svh}
.practice-editorial nav a{color:var(--paper);opacity:var(--reading-emphasis,.5)}
.practice-editorial nav a:hover,.practice-editorial nav a:focus-visible{opacity:1}
.journey-chapters button{color:#e8e7df99}.journey-chapters button[aria-pressed=true]{color:#f5f4ed}
@media(max-width:760px){.philosophy-sticky h2{font-size:clamp(30px,8vw,46px);gap:.55em}.philosophy-sequence{height:190svh}}
@media(prefers-reduced-motion:reduce){.reading-word,.reading-copy,.practice-editorial nav a{opacity:1!important}.philosophy-sequence{height:auto}.philosophy-sticky [data-story-line]{opacity:1!important;transform:none!important}}
.reading-copy .reading-word{color:inherit}

/* Editorial proportions and reversible lateral arrivals. */
.journey-chapters button{translate:var(--chapter-shift,0px) 0;opacity:var(--chapter-opacity,1);color:var(--paper);transition:none}
.journey-chapters button[aria-pressed=true],.journey-chapters button:hover,.journey-chapters button:focus-visible{opacity:1;color:var(--paper)}
.practice-editorial nav a{translate:var(--practice-shift,0px) 0;transition:none}
.practice-editorial nav a:hover,.practice-editorial nav a:focus-visible{translate:0 0}
@media(max-width:1100px){
 :root{--pad:clamp(24px,4.2vw,40px)}
 .section-pad{padding:64px var(--pad)}.section-label{margin-bottom:40px;font-size:10px;gap:20px}
 .hero-image-wrap{width:min(76vw,calc((100svh - var(--header-height) - 96px)*1.777778))}
 .philosophy-sticky h2{font-size:clamp(28px,4.8vw,46px);line-height:1.18;letter-spacing:-.035em}
 .philosophy-bottom{gap:28px;font-size:15px}
 .project-heading h2{font-size:clamp(42px,7vw,68px)}
 .project-story{gap:28px;padding:56px 0}.project-story h3{font-size:clamp(30px,4.6vw,46px);line-height:1.12}
 .project-story p{font-size:15px}
 .gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px;padding:2px 0 20px}
 .gallery-grid figure{flex:0 0 min(72vw,520px);scroll-snap-align:center}
 .gallery-grid .image-button{aspect-ratio:1.5}.gallery-grid .image-button img{object-fit:contain;background:var(--bg)}
 .gallery-grid figcaption{display:flex;font-size:11px}
 .gallery-grid figcaption span:last-child{display:block}
 .gallery-head{align-items:start;gap:20px}.gallery-filters{gap:16px}
 .project-stage{min-height:0}.journey-world img,.journey-world img.is-active,.journey-world img[data-world="4"],.journey-world img[data-world="5"]{inset:auto;top:50%;left:50%;width:76%;height:auto;max-height:62svh;object-fit:contain;padding:0;transform:translate(-50%,-50%);filter:brightness(.5)}
 .journey-chapters button>span{font-size:clamp(24px,4.2vw,40px)}
 .journey-chapters button{gap:8px}.journey-chapters{gap:12px}
 .drawings-heading h2,.studio-copy h2,.journal-heading h2,.contact-title h2{font-size:clamp(36px,5.6vw,56px);line-height:1.08}
 .drawing-main{height:clamp(260px,48vw,460px);min-height:0;padding:16px}
 .practice-editorial{min-height:520px}.practice-editorial nav a span{font-size:clamp(22px,4vw,38px)}
 .practice-image{width:64%;left:18%;top:70px;bottom:65px}.practice-image img{object-fit:contain}
 .landscape-break{height:clamp(340px,57vw,500px);min-height:0;max-height:none;margin:0 var(--pad)}
 .landscape-break p{font-size:clamp(36px,5.5vw,60px)}.landscape-break>div{top:36px;left:24px}
 .portrait-panel{width:min(76vw,440px);margin-inline:auto;height:auto;aspect-ratio:4/5}
 .portrait-panel img{object-fit:contain;height:100%}
 .studio-copy h2{margin:24px 0}.studio-lead{font-size:22px}
 .process-intro h2{font-size:clamp(30px,4.3vw,46px)}
 .process-visual{max-height:420px}.process-selector button>span{font-size:38px}
 .journal-heading p{font-size:14px}.journal-card{flex-basis:min(72vw,320px)}
}
@media(max-width:760px){
 .section-pad{padding-top:52px;padding-bottom:52px}
 .hero-image-wrap{width:78vw}
 .project-story{grid-template-columns:1fr}.gallery-head{display:block}.gallery-filters{margin-top:18px}
 .gallery-bottom{gap:16px;align-items:start;flex-direction:column}
 .journey-menu-label{font-size:8px}.journey-menu{inset:18% 0 24%}
 .journey-chapters button>span{font-size:clamp(22px,5.8vw,30px)}
 .practice-editorial nav a span{font-size:clamp(21px,5.6vw,30px)}
 .practice-editorial{min-height:450px}.practice-caption p{font-size:10px}
 .studio-layout{gap:32px}.portrait-panel{width:76%;max-height:390px}
 .journal-heading{margin-bottom:32px}.process-visual{height:310px}
 .contact-title{gap:12px}.contact-title h2{font-size:clamp(36px,8vw,48px)}
}
@media(prefers-reduced-motion:reduce){.journey-chapters button,.practice-editorial nav a{translate:none!important;opacity:1!important}}
@media(max-width:1100px){.gallery-grid{scrollbar-width:thin;scrollbar-color:#747969 #1c1e1a}.gallery-grid::-webkit-scrollbar{height:3px}.gallery-grid::-webkit-scrollbar-thumb{background:#747969}.gallery-grid::-webkit-scrollbar-track{background:#1c1e1a}}
/* Unified editorial rhythm — version 16. */
.hero-scroll{height:440svh}.hero-stage{min-height:0;background:var(--bg)}
.hero-image-wrap{box-shadow:none;outline:none;transform:translate(-50%,calc(-50% + var(--frame-lift,0px)));background:transparent}
.project-journey{height:320svh}.philosophy-sequence{height:170svh}
.journey-world img,.journey-world img.is-active{transition:none;transform:none}
.journey-chapters button{position:relative}
.journey-chapters button:after,.section-label:after,.gallery-head:after,.drawing-tabs:after,.practice-editorial nav a:after,.process-selector button:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.4;transform:scaleX(var(--rule-progress,0));transform-origin:left;pointer-events:none}
.section-label,.gallery-head,.drawing-tabs,.practice-editorial nav a,.process-selector button{position:relative}
.practice-editorial nav{align-items:stretch;max-width:1000px}.practice-editorial nav a{padding:14px 0}
.practice-editorial nav a:nth-child(2n){transform:none}
.process-sequence{height:240svh}.process-canvas{position:sticky;top:80px;min-height:0;height:calc(100svh - 120px);max-height:780px;gap:32px 0}
.process-selector button{transition:none}
.process-visual img{transform:none;transition:opacity .2s ease}
@media(max-width:1100px){
 .hero-scroll{height:320svh}.project-journey{height:280svh}.philosophy-sequence{height:150svh}
 .journey-world img,.journey-world img.is-active{transform:translate(-50%,-50%)}
 .process-sequence{height:auto}.process-canvas{position:relative;top:auto;height:auto;max-height:none;min-height:510px}
}
@media(max-width:760px){.process-canvas{min-height:0}.hero-image-wrap{width:78vw}.practice-editorial nav a{padding:12px 0}.hero-scroll{height:300svh}}
@media(max-height:650px){.process-sequence{height:auto}.process-canvas{position:relative;top:auto;height:auto;min-height:510px}.project-stage{min-height:550px}}
@media(prefers-reduced-motion:reduce){
 .hero-scroll{height:100svh}.hero-scroll.motion-opt-in{height:320svh}
 .philosophy-sequence,.project-journey,.process-sequence{height:auto}
 .process-canvas{position:relative;top:auto;height:auto;min-height:510px}
 .process-visual img{transition:none}main h2,main h3,.journey-menu-label,.landscape-break p{translate:none!important;opacity:1!important}
 .journey-chapters button:after,.section-label:after,.gallery-head:after,.drawing-tabs:after,.practice-editorial nav a:after{transform:scaleX(1)}
}
