@font-face{font-family:Archivo;src:url(archivo.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Bodoni;src:url(bodoni.woff2) format('woff2');font-weight:500;font-display:swap}
:root{--paper:#f5f1e9;--ink:#182e54;--accent:#dce76b;--muted:#536079;--rule:#b6bdc7;--rail:112px;--gutter:clamp(24px,4.8vw,84px);--display:Bodoni,Georgia,serif;--ease:cubic-bezier(.22,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 Archivo,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:450}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}p+p{margin-top:1.3em}::selection{background:var(--accent);color:var(--ink)}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:6px}.serif{font-family:var(--display);font-weight:500;letter-spacing:-.055em}.eyebrow,figcaption,.colophon{font:400 .75rem/1.5 Archivo,sans-serif;letter-spacing:.075em;text-transform:uppercase}.skip{position:fixed;top:-100px;left:20px;background:var(--accent);color:var(--ink);padding:15px;z-index:30}.skip:focus{top:15px}.page{margin-left:var(--rail)}
/* The contents rail stays useful; the stepped mark connects two equal squares. */
.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);border-right:1px solid var(--rule);padding:28px 18px;display:flex;flex-direction:column;z-index:5;background:var(--paper)}.brand{display:flex;align-items:center;gap:8px;min-height:44px;font-size:18px;font-weight:650;letter-spacing:-.04em}.brand svg{width:26px;height:26px;fill:var(--ink)}.rail nav{margin-top:clamp(80px,18vh,180px);display:flex;flex-direction:column;gap:8px}.rail nav a{position:relative;min-height:56px;display:flex;flex-direction:column;justify-content:center;font-size:14px;line-height:1.5;padding-left:2px}.rail nav a span{font-size:11px;color:var(--muted)}.rail nav a:before{content:'';position:absolute;width:5px;height:5px;left:-12px;top:32px;background:var(--ink);transform:scale(0);transition:transform .18s var(--ease)}.rail nav a:hover:before,.rail nav a[aria-current]:before{transform:scale(1)}.rail nav a[aria-current]{font-weight:600}.rail-bottom{font-size:12px;margin-top:auto;padding:12px 0}.cover{padding:28px var(--gutter) 22px;position:relative}.cover-meta{display:flex;justify-content:space-between;gap:30px}.cover-meta span:last-child{max-width:360px;text-align:right}.cover h1{font:500 clamp(75px,10.4vw,190px)/1.05 var(--display);letter-spacing:-.063em;margin:48px 0 0;white-space:nowrap}.name-stop{color:var(--ink);position:relative}.cross-rule{height:50px;position:relative;margin-top:5px;border-top:1px solid var(--ink);margin-right:23%}.cross-rule:after{content:'';position:absolute;right:0;top:-1px;height:50px;border-right:1px solid var(--ink)}.cross-rule span{position:absolute;right:-29.9%;bottom:0;width:29.9%;border-bottom:1px solid var(--ink)}.cross-rule span:after{content:'';width:9px;height:9px;background:var(--ink);position:absolute;right:0;top:-4px}.cover-body{display:grid;grid-template-columns:1fr 1.25fr;gap:10%;padding:20px 0 70px}.identity{padding-top:26px}.portrait{width:clamp(155px,15vw,230px);margin-left:14%}.portrait-frame{aspect-ratio:4/5;overflow:hidden;background:#c6cbd0}.portrait img{height:100%;width:100%;object-fit:cover;object-position:52% 35%}.portrait figcaption{display:flex;justify-content:space-between;margin-top:10px;font-size:11px;letter-spacing:.06em}.identity>p{font-size:14px;line-height:1.8;margin:35px 0 0 14%;color:var(--muted)}.cover-thought>.eyebrow{display:block;margin-bottom:20px}.cover-thought>p{font-size:clamp(42px,4.6vw,82px);line-height:1.06;letter-spacing:-.045em}.cover-thought>p .serif{font-size:1.3em;line-height:1.06}.small-stop{color:inherit}.cover-foot{margin-top:32px;max-width:365px}.cover-foot>p{font-size:16px;line-height:1.65}.line-link{display:flex;justify-content:space-between;gap:20px;min-height:48px;align-items:center;border-bottom:1px solid;margin-top:18px;font-size:14px}.line-link span{transition:transform .2s var(--ease)}.line-link:hover span{transform:translateY(4px)}.cover-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--rule);padding-top:15px;color:var(--muted)}
/* The project index is an offset spread rather than identical cards. */
.projects{background:var(--ink);color:var(--paper);padding:70px var(--gutter) 25px}.work-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:end;margin-bottom:75px}.work-intro .eyebrow{color:var(--accent)}.work-intro h2{font-size:clamp(48px,5.1vw,86px);line-height:.98;letter-spacing:-.05em;margin-top:25px}.work-intro h2 .serif{font-size:1.2em}.work-intro>p{font-size:16px;line-height:1.9;max-width:340px;padding-bottom:8px}.connections{display:grid;grid-template-columns:1.15fr 1fr;gap:0 8%;position:relative}.entry{display:block;position:relative;min-width:0;padding:23px 0 35px;border-top:1px solid #f4f5ef80}.entry-top{display:flex;justify-content:space-between;gap:20px;align-items:start;font-size:12px;color:var(--accent)}.entry h3{font-size:clamp(38px,4.2vw,68px);line-height:1.06;letter-spacing:-.045em;transition:transform .3s var(--ease)}.entry h3 .serif{font-size:1.12em}.entry p{font-size:16px;line-height:1.7;max-width:330px}.entry .open-label{font-size:12px;white-space:nowrap}.entry .open-label span{display:inline-block;transition:transform .2s var(--ease)}.entry:hover .open-label span{transform:translate(3px,-3px)}.entry:hover h3{transform:translateX(5px)}.entry:after{content:'';position:absolute;top:-2px;left:0;height:3px;width:35px;background:var(--accent);transition:width .3s var(--ease)}.entry:hover:after,.entry:focus-visible:after{width:100%}.entry:focus-visible{outline-color:var(--accent)}.entry-industrial{padding-top:23px;align-self:start}.entry-industrial h3{margin:47px 0 30px;font-size:clamp(54px,6vw,97px)}.entry-industrial .serif{font-size:1em}.entry-bottom{display:flex;justify-content:space-between;gap:25px;align-items:end}.entry-note{max-width:100px;text-align:right;font-size:11px;opacity:.7}.entry-showroom{margin-top:160px;border-left:1px solid #f4f5ef80;padding-left:30px}.entry-showroom:before{content:'';position:absolute;left:-19%;top:-161px;width:19%;height:160px;border-top:1px solid var(--accent);border-right:1px solid var(--accent)}.aperture{position:relative;width:130px;aspect-ratio:1;margin:35px 0 30px;border:1px solid #f4f5ef70;border-radius:50%;display:grid;place-items:center}.aperture span{font-size:28px;letter-spacing:-.04em}.aperture:before{content:'';position:absolute;inset:12px;border-top:1px solid var(--accent);border-right:1px solid var(--accent);border-radius:50%;transform:rotate(-45deg);transition:transform .5s var(--ease)}.entry-showroom:hover .aperture:before{transform:rotate(45deg)}.aperture i{position:absolute;width:6px;height:6px;background:var(--accent);right:-3px;top:50%}.entry-showroom h3{font-size:clamp(30px,3.1vw,51px);margin-bottom:24px}.entry-showroom>.open-label{display:block;margin-top:24px}.entry-quads{grid-column:1/-1;margin-top:60px;padding-bottom:60px;display:grid;grid-template-columns:1.2fr 1fr;column-gap:15%}.entry-quads .entry-top{grid-column:1/-1;margin-bottom:35px}.entry-quads h3{font-size:clamp(58px,6.6vw,108px)}.entry-quads .entry-bottom{display:block;align-self:center}.entry-quads .entry-bottom>.open-label{display:block;margin-top:28px}.route-line{grid-column:1/-1;height:55px;margin-top:38px;border-bottom:1px solid var(--accent);width:68%;position:relative}.route-line:after{content:'';position:absolute;height:55px;right:0;bottom:-1px;border-right:1px solid var(--accent)}.route-line span{position:absolute;bottom:54px;right:-47%;width:47%;border-bottom:1px solid var(--accent)}.entry-ai{grid-column:2;margin-top:15px;padding-bottom:70px}.entry-ai h3{font-size:clamp(34px,3.6vw,58px);margin:35px 0 24px}.entry-ai>.open-label{display:block;margin-top:30px}.work-end{display:flex;justify-content:space-between;gap:25px;padding-top:20px;border-top:1px solid #f4f5ef50;font-size:11px;color:#bdc8da}.background{padding:75px var(--gutter) 100px}.background>.eyebrow{color:var(--muted)}.background-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;margin-top:65px}.background h2{font-size:clamp(44px,4.8vw,78px);line-height:1.05;letter-spacing:-.05em}.background h2 .serif{font-size:1.14em}.margin-label{margin-top:75px;padding-left:25px;border-left:1px solid;position:relative;color:var(--muted)}.margin-label:before{content:'';width:7px;height:7px;background:var(--ink);position:absolute;left:-4px;top:6px}.background-copy{max-width:470px;font-size:16px;line-height:1.8}.lead{font-size:23px;line-height:1.5;letter-spacing:-.02em}.background details{margin-top:35px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:65px;font-size:15px}summary::-webkit-details-marker{display:none}summary span{font-size:25px;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details>div{padding:5px 0 24px;font-size:15px}.press-note{margin:0 var(--gutter);padding:35px 0 45px;border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 2fr;gap:20px 12%}.press-note>a{font-size:clamp(30px,3.4vw,55px);line-height:1.15;letter-spacing:-.035em;position:relative;padding-right:50px}.press-arrow{position:absolute;right:0;top:0;transition:transform .2s}.press-note>a:hover .press-arrow{transform:translate(4px,-4px)}.press-note>p{grid-column:2;font-size:14px;line-height:1.8;color:var(--muted)}.contact{padding:50px var(--gutter) 25px;background:#e6eacd;border-top:1px solid var(--rule)}.contact .eyebrow{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:15%;margin-top:35px}.contact h2{font-size:clamp(31px,3.3vw,54px);line-height:1.2;letter-spacing:-.04em}.contact h2 .serif{font-size:1.2em}.socials{display:flex;flex-direction:column}.socials a{display:flex;justify-content:space-between;gap:20px;min-height:50px;align-items:center;border-bottom:1px solid var(--rule);font-size:16px}.socials a span{transition:transform .2s}.socials a:hover span{transform:translate(3px,-3px)}.colophon{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:50px;border-top:1px solid var(--rule);padding-top:18px;font-size:11px;text-transform:none;letter-spacing:0}.colophon a{min-height:44px;display:flex;align-items:center}
@view-transition{navigation:auto}::view-transition-old(root){animation:exit .12s ease both}::view-transition-new(root){animation:enter .2s ease both}@keyframes exit{to{opacity:0}}@keyframes enter{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(min-width:1700px){.cover h1{font-size:10.7vw}.cover-body{padding-bottom:100px}}
@media(max-width:1000px){:root{--rail:90px;--gutter:30px}.rail{padding:20px 12px}.rail nav a:before{left:-7px}.brand{gap:4px}.brand svg{width:22px}.cover-meta{font-size:11px}.cover h1{font-size:10vw}.cover-body{gap:8%;grid-template-columns:1fr 1.4fr}.portrait{margin-left:0;width:165px}.identity>p{margin-left:0;font-size:13px}.entry-top{flex-wrap:wrap;font-size:11px}.entry-industrial .open-label{display:none}.connections{gap:0 6%}.entry-showroom{padding-left:20px}.entry p{font-size:15px}.entry-bottom{display:block}.entry-note{display:block;text-align:left;margin-top:20px}.background-grid{gap:8%}.background h2{font-size:4.9vw}.lead{font-size:21px}.contact-grid{gap:8%}}
@media(max-width:700px){:root{--rail:0px;--gutter:22px}.page{margin:0}.rail{position:relative;inset:auto;width:auto;flex-direction:row;align-items:center;justify-content:space-between;gap:22px;padding:14px 22px;border-right:0;border-bottom:1px solid var(--rule)}.brand{font-size:17px}.brand svg{width:24px}.rail nav{flex-direction:row;margin:0;gap:17px}.rail nav a{min-height:44px;font-size:13px;padding:0}.rail nav a span{font-size:10px}.rail nav a:before{left:0;top:auto;bottom:-7px;width:100%;height:2px}.rail-bottom{display:none}.cover{padding-top:22px}.cover-meta{font-size:10px;gap:15px;line-height:1.6}.cover-meta span:first-child{max-width:95px}.cover-meta span:last-child{max-width:200px}.cover h1{font-size:12.5vw;line-height:1.15;letter-spacing:-.06em;margin-top:35px}.cross-rule{height:30px;margin-right:25%;margin-top:15px}.cross-rule:after{height:30px}.cross-rule span{right:-33.33%;width:33.33%}.cover-body{display:grid;grid-template-columns:105px 1fr;gap:22px;padding-top:18px;padding-bottom:35px;align-items:start}.identity{padding-top:23px}.portrait{width:105px;margin:0}.portrait-frame{aspect-ratio:3/4}.portrait figcaption{font-size:9px;margin-top:8px;letter-spacing:0}.identity>p{font-size:11px;line-height:1.7;margin:20px 0 0}.cover-thought>.eyebrow{font-size:10px;letter-spacing:.055em;margin-bottom:15px}.cover-thought>p{font-size:clamp(26px,6.7vw,45px);line-height:1.13;letter-spacing:-.05em}.cover-thought>p .serif{font-size:1.22em}.cover-foot{margin-top:23px}.cover-foot>p{font-size:14px;line-height:1.65}.line-link{font-size:12px;margin-top:15px;gap:10px}.cover-bottom{font-size:10px;letter-spacing:0;gap:15px}.projects{padding-top:45px}.work-intro{grid-template-columns:1fr;gap:25px;margin-bottom:45px}.work-intro h2{font-size:48px;margin-top:22px}.work-intro>p{font-size:14px;padding:0;margin-left:22%;max-width:250px}.connections{grid-template-columns:1fr;gap:0}.entry{padding:20px 0 30px}.entry-top{font-size:10px;flex-wrap:nowrap}.entry h3{transform:none!important}.entry p{font-size:15px}.entry-industrial h3{font-size:56px;margin:35px 0 22px}.entry-industrial .open-label{display:block;font-size:10px}.entry-industrial .entry-bottom{display:flex;gap:20px}.entry-industrial .entry-note{font-size:9px;max-width:80px;text-align:right;align-self:end}.entry-showroom{grid-column:1;margin:65px 0 0 17%;padding-left:20px}.entry-showroom:before{top:-66px;height:65px;left:-20.5%;width:20.5%}.aperture{width:85px;margin:25px 0}.aperture span{font-size:20px}.entry-showroom h3{font-size:31px}.entry-showroom .open-label{font-size:11px}.entry-quads{display:block;grid-column:1;margin-top:50px;padding-bottom:35px}.entry-quads .entry-top{margin-bottom:25px}.entry-quads h3{font-size:57px}.entry-quads .entry-bottom{margin-top:25px;margin-left:12%}.entry-quads .entry-bottom>.open-label{font-size:11px}.route-line{height:35px;margin-top:30px}.route-line:after{height:35px}.route-line span{bottom:34px}.entry-ai{grid-column:1;margin:30px 0 0 17%;padding-bottom:40px}.entry-ai h3{font-size:33px;margin-top:25px}.entry-ai>.open-label{font-size:11px}.work-end{font-size:9px;letter-spacing:.03em}.work-end span:first-child{max-width:200px}.background{padding-top:45px;padding-bottom:55px}.background>.eyebrow{font-size:10px}.background-grid{grid-template-columns:1fr;gap:35px;margin-top:35px}.background h2{font-size:45px}.margin-label{display:none}.background-copy{margin-left:12%;font-size:15px}.lead{font-size:21px}.background details{margin-top:25px}.press-note{grid-template-columns:1fr;gap:25px;padding-top:30px;padding-bottom:35px}.press-note>.eyebrow{font-size:10px}.press-note>a{font-size:32px;margin-left:12%}.press-note>p{grid-column:1;margin-left:12%;font-size:13px}.contact{padding-top:35px}.contact>.eyebrow{font-size:10px}.contact-grid{grid-template-columns:1fr;gap:25px;margin-top:25px}.contact h2{font-size:32px}.socials{margin-left:12%}.socials a{font-size:15px}.colophon{flex-wrap:wrap;font-size:10px;gap:15px;margin-top:35px}.colophon span:nth-child(2){max-width:165px}.colophon a{width:100%;border-top:1px solid var(--rule)}}
@media(max-width:360px){.rail{padding-left:16px;padding-right:16px;gap:10px}.rail nav{gap:12px}.rail nav a{font-size:12px}:root{--gutter:18px}.cover-body{grid-template-columns:86px 1fr;gap:17px}.portrait{width:86px}.cover-thought>p{font-size:25px}.cover-foot>p{font-size:13px}.identity>p{font-size:10px}.line-link{font-size:11px}.cover-thought>.eyebrow{font-size:9px}.entry-industrial h3{font-size:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
/* Review 02: actual project names, a denser operational inset, stronger cover. */
@media(min-width:1001px){.cover h1{font-size:clamp(100px,12.3vw,230px);margin-top:42px}.cover-body{padding-bottom:55px}}
.practice-list{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 25px;max-width:390px;font-size:13px;color:#d3dced}.practice-list li{padding:8px 0;border-top:1px solid #f4f5ef35}.ai-organiser{display:block;margin-top:30px;font-size:12px;color:#bdc8da}.entry-ai h3{margin-top:15px;font-size:clamp(48px,5.5vw,90px)}.entry-ai h3 .serif{font-size:1.14em}.entry-showroom h3{font-size:clamp(35px,3.5vw,58px);font-weight:450}.entry-showroom .aperture{width:100px}.entry-showroom{margin-top:130px}.entry-showroom:before{top:-131px;height:130px}
@media(max-width:700px){.practice-list{font-size:12px;gap:0 15px;margin-top:25px}.entry-showroom{margin-top:55px}.entry-showroom:before{top:-56px;height:55px}.entry-showroom h3{font-size:33px}.entry-showroom .aperture{width:85px}.entry-ai h3{font-size:52px}.ai-organiser{font-size:11px;margin-top:25px}.cover h1{font-size:13.7vw}.identity>p{font-size:12px}.portrait figcaption{font-size:10px}}
/* Shared feature grammar. Each story uses a different reading rhythm. */
.feature{padding:35px var(--gutter) 75px}.feature-meta{display:flex;justify-content:space-between;gap:25px}.feature-meta a{min-height:44px;display:flex;align-items:flex-start}.feature-meta a:hover{text-decoration:underline;text-underline-offset:5px}.feature-cover{border-bottom:1px solid var(--ink);padding-bottom:55px}.feature-cover h1{font-size:clamp(72px,8vw,145px);letter-spacing:-.055em;line-height:.98;margin:45px 0}.feature-cover h1>.serif{font-size:1.28em}.feature-subtitle{font-size:.5em;letter-spacing:-.04em}.feature-cover-bottom{display:grid;grid-template-columns:1fr 1.6fr;gap:12%;align-items:start}.feature-cover-bottom>p{font-size:clamp(18px,1.6vw,25px);line-height:1.6;max-width:620px}.feature-cover-bottom>.eyebrow{padding-top:6px;color:var(--muted);line-height:1.8}.feature-prose{display:grid;grid-template-columns:1fr 1.6fr;gap:12%;padding:60px 0}.feature h2{font-size:27px;line-height:1.2;letter-spacing:-.03em}.feature-prose>div{max-width:640px}.feature-prose p{font-size:17px;line-height:1.8}.register{margin:25px calc(-1 * var(--gutter)) 0;padding:50px var(--gutter);background:#e4e9ec}.register-head{display:flex;justify-content:space-between;gap:35px;align-items:baseline;padding-bottom:30px}.register-head h2{font-size:36px}.register-head .eyebrow{color:var(--muted)}.register ol,.production ol{list-style:none;counter-reset:items;margin:0;padding:0}.register li{counter-increment:items;display:grid;grid-template-columns:50px 1fr 1.6fr;gap:25px;padding:25px 0;border-top:1px solid var(--rule);align-items:start}.register li:before{content:'0' counter(items);font-size:12px;padding-top:5px;color:var(--muted)}.register li h3{font-size:24px;line-height:1.3;letter-spacing:-.025em}.register li p{font-size:16px;line-height:1.8}.feature-closing{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:70px}.feature-closing h2{font-size:23px;margin-bottom:25px}.feature-closing p{font-size:17px;line-height:1.8}.related{border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 30px;gap:15px;padding:20px 0;margin-top:30px;align-items:center;min-height:90px}.related>.eyebrow{grid-column:1/-1;font-size:11px;color:var(--muted)}.related>span:nth-child(2){font-size:25px;line-height:1.2;letter-spacing:-.025em}.related>span:last-child{font-size:25px;transition:transform .2s}.related:hover>span:last-child{transform:translate(4px,-4px)}.quads-feature .feature-cover h1{font-size:clamp(80px,11vw,190px);font-weight:580;line-height:.9;margin-bottom:35px}.quads-feature .feature-cover h1>.serif{font-size:.76em;font-weight:500;margin-left:16%;line-height:1.15}.quads-connect{width:70%;height:40px;margin:30px 0 45px;border-top:1px solid;position:relative}.quads-connect:after{content:'';position:absolute;right:0;top:-1px;height:40px;border-right:1px solid}.quads-connect span{width:43%;position:absolute;right:-43%;bottom:0;border-bottom:1px solid}.quads-feature .register{background:var(--ink);color:var(--paper)}.quads-feature .register-head .eyebrow,.quads-feature .register li:before{color:var(--accent)}.quads-feature .register li{border-color:#f4f5ef60}.quads-reflection{padding-top:65px;display:grid;grid-template-columns:1fr 1.4fr;gap:15%;align-items:start}.quads-reflection section:first-child{padding-top:65px}.quads-reflection h2{font-size:30px;margin-bottom:25px}.quads-reflection p{font-size:17px;line-height:1.8}.showroom-feature h1{display:flex;gap:8%;align-items:center;margin:45px 0 55px;font-size:clamp(40px,4.6vw,76px)}.showroom-feature h1>.angle-title{font-size:clamp(140px,15vw,250px);line-height:1}.spatial-sequence{display:flex;gap:25px;justify-content:space-between;align-items:center;padding:30px 0;font-size:14px;border-bottom:1px solid var(--rule)}.spatial-sequence span:nth-child(even){font-size:22px;color:var(--muted)}.spatial-story{display:grid;grid-template-columns:1fr 1fr;gap:75px 12%;margin:65px 0}.spatial-story section{position:relative}.spatial-story .eyebrow{color:var(--muted)}.spatial-story h2{font-size:34px;line-height:1.2;margin:20px 0 25px}.spatial-story p{font-size:17px;line-height:1.8}.spatial-story section:nth-child(2){margin-top:100px}.spatial-story section:nth-child(3){margin-left:12%}.spatial-story section:nth-child(4){margin-top:110px}.showroom-feature>.related{margin-left:54%;margin-top:0}.organiser{margin-top:30px}.ai-feature .feature-cover h1{margin-top:25px;font-size:clamp(74px,9vw,160px);line-height:1.05}.ai-feature .feature-cover h1>.serif{font-size:1.3em}.production{padding:45px 0 20px}.production ol{margin-left:18%;border-left:1px solid var(--ink)}.production li{counter-increment:items;padding:0 0 40px 35px;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10%}.production li:before{content:'0' counter(items);position:absolute;left:-18px;top:5px;background:var(--paper);font-size:12px;line-height:35px;width:35px;text-align:center}.production li:last-child{padding-bottom:0}.production h3{font:500 38px/1.1 var(--display);letter-spacing:-.045em}.production p{font-size:16px;line-height:1.8}.ai-feature .feature-closing{border-top:1px solid var(--rule);margin-top:60px;padding-top:45px}.dossier-cover{padding-bottom:45px;border-bottom:1px solid}.dossier-title{display:flex;justify-content:space-between;gap:50px;align-items:center;margin-top:35px}.dossier-title h1{font-size:clamp(65px,8vw,135px);line-height:.98;letter-spacing:-.05em}.dossier-title h1>.serif{font-size:1.2em}.dossier-title figure{width:165px;margin-right:8%}.press-portrait{aspect-ratio:3/4;overflow:hidden}.press-portrait img{width:100%;height:100%;object-fit:cover;object-position:52% 32%}.dossier-title figcaption{font-size:10px;margin-top:12px;letter-spacing:.025em}.dossier-cover>p{margin-top:30px;max-width:550px;font-size:18px;line-height:1.7}.dossier-contents{display:flex;flex-wrap:wrap;gap:15px 30px;margin-top:30px;font-size:14px}.dossier-contents a{min-height:44px;display:flex;align-items:center;border-bottom:1px solid var(--rule)}.bio-section,.press-work,.press-resources,.press-coverage,.press-enquiries{display:grid;grid-template-columns:1fr 1.6fr;gap:12%;padding:50px 0;border-bottom:1px solid var(--rule)}.bio-section h2,.press-resources h2,.press-enquiries h2{margin-top:20px}.bio-section h3{font-size:17px;font-weight:600;margin:35px 0 18px}.bio-section p{font-size:17px;line-height:1.8}.copy-bio{display:inline-flex;gap:20px;align-items:center;background:transparent;border:0;border-bottom:1px solid var(--rule);color:inherit;margin-top:25px;padding:10px 0;cursor:pointer;min-height:44px;font-size:14px}.copy-bio[hidden]{display:none}.copy-status{font-size:12px!important;margin-top:15px;max-width:240px}.press-work article{padding:25px 0;border-bottom:1px solid var(--rule)}.press-work article:first-child{padding-top:0}.press-work article:last-child{border:0;padding-bottom:0}.press-work article>.eyebrow{font-size:11px;color:var(--muted)}.press-work h2{font-size:25px;margin:12px 0 15px}.press-work p{font-size:16px;line-height:1.8}.press-work a{display:inline-flex;min-height:44px;align-items:center;font-size:14px;text-decoration:underline;text-underline-offset:5px;margin-top:10px}.press-resources{background:#e6eacd;margin:0 calc(-1 * var(--gutter));padding:45px var(--gutter)}.press-resources p,.press-coverage p,.press-enquiries p{font-size:17px;line-height:1.8}.download-link{display:flex;justify-content:space-between;align-items:center;min-height:55px;border-bottom:1px solid var(--ink);margin-top:25px;gap:20px}.resource-meta{font-size:11px;display:block;margin-top:12px;color:var(--muted)}.approved-links{display:flex;gap:30px;margin-top:15px;font-size:14px}.approved-links a{display:flex;align-items:center;min-height:44px}.missing{min-height:70vh;padding-top:60px}.missing h1{font-size:clamp(130px,22vw,350px);letter-spacing:-.07em;line-height:1.2}.missing .line-link{max-width:400px}.article-body{max-width:65ch;font-size:18px;line-height:1.8}.article-body p+p{margin-top:1.5em}.article-body h2{font-size:32px;margin:2em 0 .8em}.article-body blockquote{margin:40px 0;font:500 36px/1.25 var(--display);letter-spacing:-.025em;padding-left:25px;border-left:1px solid}.article-body figure{margin:40px 0}.article-body figcaption{margin-top:12px;color:var(--muted)}.article-body a{text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){.feature-cover-bottom,.feature-prose,.bio-section,.press-work,.press-resources,.press-coverage,.press-enquiries{gap:8%;grid-template-columns:1fr 1.8fr}.register li{grid-template-columns:30px 1fr 1.5fr;gap:20px}.register li h3{font-size:21px}.register-head h2{font-size:30px}.feature-closing{gap:8%}.feature-cover h1{font-size:9vw}.showroom-feature h1{font-size:5vw}.showroom-feature h1>.angle-title{font-size:17vw}.production ol{margin-left:10%}.production li{gap:8%;padding-left:25px}.production h3{font-size:30px}.dossier-title figure{margin-right:0;width:140px}.dossier-title h1{font-size:9vw}}
@media(max-width:700px){.feature{padding-top:22px;padding-bottom:45px}.feature-meta{font-size:10px;gap:15px}.feature-meta span{max-width:210px}.feature-cover{padding-bottom:35px}.feature-cover h1{font-size:17vw;margin:30px 0;line-height:1}.feature-subtitle{font-size:.64em}.feature-cover-bottom{grid-template-columns:1fr;gap:20px}.feature-cover-bottom>.eyebrow{font-size:10px;padding:0}.feature-cover-bottom>p{font-size:18px;line-height:1.7;margin-left:12%}.feature-prose{grid-template-columns:1fr;gap:25px;padding:40px 0}.feature h2{font-size:25px}.feature-prose>div{margin-left:12%}.feature-prose p{font-size:16px}.register{padding-top:35px;padding-bottom:35px;margin-top:0}.register-head{display:block;padding-bottom:25px}.register-head .eyebrow{font-size:10px;display:block;margin-bottom:18px}.register-head h2{font-size:31px}.register li{grid-template-columns:25px 1fr;gap:12px 15px;padding:22px 0}.register li h3{font-size:23px}.register li p{grid-column:2;font-size:15px}.register li:before{font-size:11px}.feature-closing{grid-template-columns:1fr;gap:40px;padding-top:40px}.feature-closing h2{font-size:23px;margin-bottom:20px}.feature-closing p{font-size:16px}.feature-closing section:nth-child(2){margin-left:12%}.related>span:nth-child(2){font-size:24px}.quads-feature .feature-cover h1{font-size:22vw}.quads-feature .feature-cover h1>.serif{margin-left:10%;font-size:.77em}.quads-connect{height:30px;margin-bottom:35px}.quads-connect:after{height:30px}.quads-reflection{grid-template-columns:1fr;gap:35px;padding-top:40px}.quads-reflection section:first-child{padding-top:0}.quads-reflection section:last-child{margin-left:12%}.quads-reflection p{font-size:16px}.quads-reflection h2{font-size:25px}.showroom-feature h1{display:block;font-size:13vw;margin:30px 0}.showroom-feature h1>.angle-title{display:block;font-size:38vw;margin-bottom:25px}.spatial-sequence{font-size:12px;gap:12px;flex-wrap:wrap;padding:22px 0;justify-content:start}.spatial-sequence span:nth-child(even){font-size:18px}.spatial-story{display:block;margin:40px 0}.spatial-story section{margin-bottom:40px}.spatial-story section:nth-child(2),.spatial-story section:nth-child(3),.spatial-story section:nth-child(4){margin-top:0;margin-left:12%}.spatial-story h2{font-size:30px;margin:18px 0 20px}.spatial-story p{font-size:16px}.showroom-feature>.related{margin-left:12%}.ai-feature .feature-cover h1{font-size:18vw;margin:25px 0}.organiser{margin-top:20px;font-size:11px}.production{padding:25px 0 0}.production ol{margin-left:15px}.production li{grid-template-columns:1fr;gap:18px;padding:0 0 35px 25px}.production h3{font-size:34px}.production p{font-size:16px}.production li:before{font-size:10px}.ai-feature .feature-closing{margin-top:35px;padding-top:35px}.dossier-title{gap:20px;margin-top:25px}.dossier-title h1{font-size:17vw}.dossier-title figure{width:95px;flex-shrink:0}.dossier-title figcaption{font-size:9px}.dossier-cover>p{font-size:17px;margin-top:25px}.dossier-contents{gap:10px 20px;font-size:13px;margin-top:20px}.bio-section,.press-work,.press-resources,.press-coverage,.press-enquiries{grid-template-columns:1fr;gap:25px;padding-top:35px;padding-bottom:35px}.bio-section>div:last-child,.press-work>div,.press-resources>div:last-child,.press-coverage>div,.press-enquiries>div:last-child{margin-left:12%}.bio-section p,.press-resources p,.press-enquiries p,.press-coverage p{font-size:16px}.press-work h2{font-size:24px}.press-work p{font-size:15px}.copy-bio{margin-top:15px}.resource-meta{font-size:10px}.download-link{font-size:15px}.missing{padding-top:45px}.missing h1{font-size:40vw}.article-body{font-size:17px}.article-body blockquote{font-size:30px}}
/* Review 03: mobile is re-composed, with the biography below the opening. */
.identity>p span{display:block}.cross-rule span:after{width:16px;height:16px;top:-8px;background:var(--accent);border:1px solid var(--ink)}.cross-rule span:before{content:'';position:absolute;right:0;top:0;width:7px;height:7px;background:var(--ink);z-index:1}
@media(max-width:700px){.cover-body{row-gap:30px;padding-bottom:35px}.identity{display:contents}.identity .portrait{grid-column:1;grid-row:1;margin-top:23px}.identity>p{grid-column:1/-1;grid-row:2;margin:0;font-size:13px;line-height:1.8;max-width:340px}.identity>p span{display:inline}.cover-thought{grid-column:2;grid-row:1}.dossier-title h1{min-width:0;font-size:16vw}.dossier-title{gap:18px}.dossier-title figure{width:88px}.dossier-title figcaption{font-size:10px}.spatial-sequence{display:grid;grid-template-columns:1fr;gap:8px;padding-left:12%;font-size:13px}.spatial-sequence span:nth-child(even){line-height:1;transform:rotate(90deg);justify-self:start;margin-left:2px;font-size:18px}.cross-rule span:after{width:13px;height:13px;top:-7px}}
@media(max-width:360px){.dossier-title figure{width:76px}.dossier-title h1{font-size:15.5vw}.dossier-title{gap:14px}.identity>p{font-size:12px}}

/* Crossings V3: warmer paper, a visible project index, one responsive stage. */
html{scroll-padding-top:36px}section[id],footer[id],aside[id]{scroll-margin-top:28px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}[hidden]{display:none!important}
.cover-thought>.eyebrow{color:var(--muted)}.portrait-frame{position:relative}.portrait-frame:after{content:'';position:absolute;inset:auto 0 0 auto;width:10px;height:10px;background:var(--accent);border:1px solid var(--ink)}.portrait figcaption{font-size:10px}.cover-foot .line-link{font-weight:550}.background{background:#e9eae1}.background-grid{margin-top:45px}.press-note{padding-top:40px;padding-bottom:45px}.press-note>a{font-size:clamp(29px,3.2vw,50px)}
.projects{padding-top:65px;padding-bottom:22px}.work-intro{grid-template-columns:1.05fr 1fr;gap:10%;margin-bottom:48px}.work-intro h2{font-size:clamp(52px,4.8vw,80px)}.work-intro>p{max-width:330px;padding-bottom:0;color:#e0e4e9;font-size:16px}.project-explorer{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(0,1.3fr);gap:0 7%;align-items:start}.project-index{border-top:1px solid #f5f1e960;position:relative}.project-choice{display:grid;grid-template-columns:25px minmax(0,1fr) 20px;gap:15px;padding:22px 0 22px 4px;border-bottom:1px solid #f5f1e960;align-items:start;position:relative;min-height:100px;transition:color .16s,background .16s}.choice-number{font-size:11px;line-height:1.6;padding-top:6px;color:var(--accent)}.choice-copy strong{display:block;font-weight:450;font-size:clamp(21px,1.65vw,29px);line-height:1.25;letter-spacing:-.035em}.choice-copy small{display:block;font-size:12px;color:#c1cbda;line-height:1.5;margin-top:7px}.choice-end{font-size:19px;line-height:1.5;color:#c1cbda;transition:transform .18s}.project-choice:before{content:'';position:absolute;top:0;left:0;width:0;height:3px;background:var(--accent);transition:width .24s var(--ease)}.project-choice:hover:before,.project-choice:focus-visible:before,.project-choice[aria-selected=true]:before{width:100%}.project-choice:hover .choice-end{transform:translate(2px,-2px)}.project-choice[aria-selected=true] .choice-end{transform:rotate(45deg);color:var(--accent)}.project-choice[aria-selected=true] .choice-copy strong{color:var(--accent)}.project-choice:focus-visible{outline-color:var(--accent);outline-offset:4px}.project-stage{position:relative;min-width:0}.project-stage:before{content:'';position:absolute;right:100%;top:50px;width:12%;border-top:1px solid var(--accent)}.project-stage:after{content:'';position:absolute;right:calc(100% - 4px);top:46px;width:8px;height:8px;background:var(--accent)}.project-panel{padding:28px 35px 25px;background:var(--paper);color:var(--ink);position:relative;margin-bottom:25px;min-height:580px;display:flex;flex-direction:column;isolation:isolate}.project-panel:focus-visible{outline-color:var(--accent);outline-offset:5px}.project-panel h3{font-size:clamp(46px,4.6vw,76px);line-height:1.03;letter-spacing:-.055em;margin:40px 0 25px}.project-panel h3 .serif{font-size:1.12em}.panel-meta{display:flex;gap:15px;justify-content:space-between;font-size:10px;line-height:1.65}.panel-meta span:last-child{text-align:right}.panel-description{font-size:17px;line-height:1.7;max-width:430px}.panel-areas{padding:0;margin:26px 0 30px;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 25px;font-size:12px;max-width:430px}.panel-areas li{border-top:1px solid var(--rule);padding:10px 0}.project-read{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0 10px;border-top:1px solid;min-height:56px;margin-top:auto;font-size:14px;font-weight:550}.project-read span{font-size:21px;transition:transform .18s}.project-read:hover span{transform:translate(4px,-4px)}.project-read:active span{transform:translate(2px,-2px)}.panel-showroom{background:#e8eacb}.showroom-lockup{padding-top:30px}.panel-aperture{float:right;width:85px;aspect-ratio:1;border:1px solid #182e5480;border-radius:50%;position:relative;display:grid;place-items:center;margin:0 0 10px 20px}.panel-aperture:before{content:'';position:absolute;inset:9px;border:1px solid var(--ink);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-40deg)}.panel-aperture span{font-size:22px}.panel-aperture i{position:absolute;width:6px;height:6px;background:var(--ink);right:-3px;top:50%}.panel-showroom h3{font-size:clamp(45px,4vw,65px);margin-top:18px}.panel-note{display:flex;justify-content:space-between;gap:15px;font-size:13px;border-top:1px solid var(--rule);padding:15px 0;margin:28px 0 38px;max-width:430px}.panel-quads{background:transparent;color:var(--paper);border:1px solid #f5f1e960}.panel-quads .panel-meta{color:var(--accent)}.panel-quads h3{font-size:clamp(52px,4.6vw,76px);margin-top:40px;margin-bottom:20px}.panel-route{width:70%;height:30px;border-top:1px solid var(--accent);position:relative;margin:0 0 42px}.panel-route:after{content:'';position:absolute;right:0;top:-1px;height:30px;border-right:1px solid var(--accent)}.panel-route span{position:absolute;right:-43%;width:43%;bottom:0;border-bottom:1px solid var(--accent)}.panel-quads .panel-description{padding-right:12px;margin-bottom:30px}.panel-quads .project-read{border-color:#f5f1e960}.panel-ai{background:#ebe2d5}.panel-ai .panel-meta{color:#783b2c}.panel-ai h3{font-size:clamp(43px,3.7vw,64px);margin-top:60px}.panel-ai h3 .serif{font-size:1.4em}.panel-ai .panel-note{border-color:#9d887f;color:#783b2c}.explorer-ready .project-panel{margin:0}.explorer-ready .project-panel.revealed{animation:panel-in .2s ease-out both}@keyframes panel-in{from{opacity:.7;transform:translateY(5px)}to{opacity:1;transform:none}}.work-end{margin-top:35px}.work-end>a{min-height:44px;display:flex;align-items:center;gap:15px;font-size:10px}.work-end>a span{transition:transform .18s}.work-end>a:hover span{transform:translateY(3px)}
/* A plain next step is available at the end of every project. */
.project-trail{border-top:1px solid var(--ink);margin-top:65px;padding-top:25px}.trail-heading{display:flex;justify-content:space-between;align-items:center;gap:30px}.trail-heading>.eyebrow{color:var(--muted);font-size:11px}.trail-heading>a{display:flex;gap:18px;align-items:center;min-height:44px;font-size:14px}.trail-links{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:20px}.trail-links>a{display:flex;flex-direction:column;padding:20px 0;border-top:1px solid var(--rule);min-height:100px;gap:12px}.trail-links>a>.eyebrow{font-size:10px;color:var(--muted)}.trail-links strong{font-size:26px;line-height:1.25;letter-spacing:-.035em;font-weight:450;max-width:350px}.trail-links>a:hover strong{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}.socials .copy-link{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:50px;border:0;border-bottom:1px solid var(--rule);background:transparent;color:inherit;font-size:14px;padding:0;cursor:pointer}.copy-link span{font-size:18px}.share-status{font-size:12px;line-height:1.7;margin-top:10px;min-height:21px}.copy-bio:active,.copy-link:active{opacity:.65}.socials a:hover,.copy-link:hover{background:#182e5406}.rail nav a:active{opacity:.6}
@media(max-width:1000px){.project-explorer{grid-template-columns:minmax(220px,.8fr) minmax(0,1.1fr);gap:6%}.project-choice{grid-template-columns:19px minmax(0,1fr) 16px;gap:10px;padding-left:0}.choice-copy strong{font-size:20px}.project-panel{padding:23px;min-height:570px}.project-panel h3{font-size:53px}.panel-showroom h3{font-size:45px}.panel-ai h3{font-size:44px}.panel-aperture{width:65px;margin-left:10px}.panel-aperture span{font-size:18px}.panel-meta{font-size:9px}.panel-description{font-size:16px}.panel-areas{gap:0 12px;font-size:11px}.project-read{font-size:13px}.work-intro>p{font-size:14px}.trail-links strong{font-size:23px}}
@media(max-width:700px){html{scroll-padding-top:90px}.rail{position:sticky;top:0;z-index:10;padding-top:10px;padding-bottom:10px;background:#f5f1e9f5;backdrop-filter:blur(10px)}.rail nav a{min-width:38px}.rail nav a:before{bottom:-11px}.cover{padding-top:22px}.cover-thought>p{font-size:clamp(27px,6.8vw,45px)}.cover-body{padding-bottom:30px}.cover-bottom{font-size:10px}.projects{padding-top:42px}.work-intro{grid-template-columns:1fr;gap:23px;margin-bottom:32px}.work-intro h2{font-size:49px}.work-intro>p{margin-left:12%;font-size:14px}.project-explorer{grid-template-columns:1fr;gap:28px}.project-choice{padding:15px 0;min-height:70px;grid-template-columns:23px minmax(0,1fr) 22px;gap:14px}.choice-copy strong{font-size:20px;line-height:1.25}.choice-copy small{font-size:11px;margin-top:4px}.choice-number{padding-top:4px;font-size:10px}.project-stage:before{width:0;right:50%;top:-28px;height:28px;border-top:0;border-right:1px solid var(--accent)}.project-stage:after{right:calc(50% - 4px);top:-4px}.project-panel{min-height:510px;padding:24px;scroll-margin-top:95px}.panel-meta{font-size:9px;gap:10px;flex-wrap:wrap}.panel-meta span:last-child{font-size:9px}.project-panel h3{font-size:54px;margin-top:35px}.panel-description{font-size:15px;line-height:1.75}.panel-areas{font-size:11px;margin-top:24px;margin-bottom:28px;gap:0 18px}.project-read{font-size:12px;min-height:56px;padding-top:15px;gap:15px}.panel-showroom h3{font-size:43px;margin-top:18px}.panel-aperture{width:66px;margin:0 0 15px 10px}.showroom-lockup{padding-top:20px}.panel-note{font-size:12px;margin-top:25px;margin-bottom:30px}.panel-quads h3{font-size:56px}.panel-route{height:25px;margin-bottom:35px}.panel-route:after{height:25px}.panel-quads .panel-description{padding-right:0;margin-bottom:25px}.panel-ai h3{font-size:41px;margin-top:40px}.work-end{margin-top:20px;align-items:center;font-size:9px;gap:15px}.work-end span:first-child{max-width:120px}.work-end>a{font-size:9px;text-align:right;max-width:155px;line-height:1.7;gap:8px}.background-grid{margin-top:32px}.press-note{padding-top:35px;padding-bottom:38px}.press-note>a{font-size:31px}.project-trail{margin-top:40px;padding-top:20px}.trail-heading{gap:20px}.trail-heading>.eyebrow{font-size:9px;max-width:145px}.trail-heading>a{font-size:12px;gap:8px}.trail-links{gap:22px}.trail-links strong{font-size:20px}.trail-links>a>.eyebrow{font-size:9px;letter-spacing:.015em}.socials .copy-link{font-size:13px}.share-status{font-size:11px}}
@media(max-width:360px){.rail nav{gap:10px}.rail nav a{font-size:11px;min-width:34px}.project-panel{padding:20px;min-height:540px}.project-panel h3{font-size:49px}.panel-ai h3{font-size:36px}.panel-showroom h3{font-size:38px}.panel-aperture{width:55px}.panel-description{font-size:14px}.project-read{font-size:11px}.choice-copy strong{font-size:18px}.panel-meta span:first-child{max-width:165px}.trail-links strong{font-size:18px}.cover-thought>p{font-size:25px}}
@media(prefers-reduced-motion:reduce){.project-panel.revealed{animation:none}.rail{backdrop-filter:none}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Review 02: distinguish hover from selection; connect the selected row. */
.project-choice:hover:before{width:28%}.project-choice[aria-selected=true]:before{width:100%}
@media(min-width:701px){.project-stage:before{top:var(--connection-y,50px);transition:top .2s var(--ease)}.project-stage:after{top:calc(var(--connection-y,50px) - 4px);transition:top .2s var(--ease)}}
.project-contents{display:flex;flex-wrap:wrap;gap:12px 32px;border-bottom:1px solid var(--rule);padding:12px 0;font-size:13px;align-items:center}.project-contents>span{color:var(--muted);font-size:10px;margin-right:15px}.project-contents>a{display:flex;align-items:center;gap:18px;min-height:44px}.project-contents>a:hover{text-decoration:underline;text-underline-offset:5px}.project-contents>a span{color:var(--muted);font-size:11px}
@media(max-width:700px){.project-contents{gap:0 22px;font-size:12px;padding:12px 0}.project-contents>span{width:100%;margin:0 0 3px;font-size:9px}.project-contents>a{gap:8px}.project-contents>a span{font-size:10px}.portrait figcaption{font-size:9px;letter-spacing:0;gap:8px}}

/* Review 03: copy feedback uses a copy mark, then a confirmed check. */
.copy-link span{display:flex;align-items:center}.copy-link:hover svg{transform:translateY(-1px)}.copy-link svg{transition:transform .15s}.project-read:focus-visible{outline-offset:5px}.project-contents a:focus-visible{outline-offset:3px}
/* Review 04: the small showroom stamp must not squeeze the phone headline. */
@media(max-width:700px){.panel-showroom .panel-aperture{float:none;position:absolute;top:25px;right:24px;width:50px;margin:0}.panel-showroom .panel-aperture span{font-size:14px}.panel-showroom .panel-aperture:before{inset:6px}.panel-showroom .panel-meta{padding-right:60px;display:block;min-height:35px}.panel-showroom .panel-meta span{display:block;text-align:left}.panel-showroom .showroom-lockup{padding-top:23px}.panel-showroom h3{font-size:43px;margin-top:12px}}
@media(max-width:360px){.panel-showroom .panel-aperture{right:20px;top:21px;width:45px}.panel-showroom h3{font-size:38px}}

/* A stepped two-part mark, extruded in native CSS rather than a stock 3D asset. */
.cover-thought{position:relative}.depth-mark{position:absolute;right:0;top:22px;width:150px;height:175px;pointer-events:none}.mark-camera{perspective:750px;width:100%;height:100%;position:relative}.mark-orbit{position:absolute;left:10px;top:15px;width:130px;height:130px;transform-style:preserve-3d;transform:rotateX(-17deg) rotateY(-24deg) rotateZ(-7deg)}.mark-block{--unit:58px;position:absolute;width:var(--unit);height:var(--unit);transform-style:preserve-3d}.mark-physical{left:0;top:0}.mark-digital{left:53px;top:53px}.face{position:absolute;width:var(--unit);height:var(--unit);display:block;backface-visibility:hidden;outline:1px solid #182e5430}.face-front{background:#243e67;transform:translateZ(29px)}.face-back{background:#142a4d;transform:rotateY(180deg) translateZ(29px)}.face-right{background:#112441;transform:rotateY(90deg) translateZ(29px)}.face-left{background:#2d4873;transform:rotateY(-90deg) translateZ(29px)}.face-top{background:#415d82;transform:rotateX(90deg) translateZ(29px)}.face-bottom{background:#0d203d;transform:rotateX(-90deg) translateZ(29px)}.mark-digital .face-front{background:#dce76b}.mark-digital .face-back{background:#b6c34c}.mark-digital .face-right{background:#939e3d}.mark-digital .face-left{background:#e8edaa}.mark-digital .face-top{background:#edf1b9}.mark-digital .face-bottom{background:#a6b346}.project-stage{perspective:1100px}.project-panel{transform-origin:50% 15%;backface-visibility:hidden}.portrait-frame img{transform:scale(1.12)}.motion-control{appearance:none;border:0;border-bottom:1px solid var(--rule);padding:8px 0;background:transparent;color:inherit;cursor:pointer;min-height:44px;font-size:11px;display:flex;align-items:center;gap:12px;white-space:nowrap}.motion-control span{font-size:10px;min-width:28px}.motion-control span:before{content:'';display:inline-block;width:4px;height:4px;background:currentColor;margin-right:7px;vertical-align:middle}.motion-control[aria-pressed=false] span:before{background:transparent;border:1px solid currentColor}.motion-control:disabled{cursor:default}.colophon{flex-wrap:wrap}
@keyframes bg-depth-turn{from{transform:rotateX(-17deg) rotateY(-24deg) rotateZ(-7deg) translateY(0)}to{transform:rotateX(17deg) rotateY(35deg) rotateZ(8deg) translateY(-14px)}}
@keyframes bg-physical-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-7px,-7px,10px)}}
@keyframes bg-digital-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(7px,7px,31px)}}
@keyframes portrait-depth{from{transform:scale(1.12) translateY(9px)}to{transform:scale(1.12) translateY(-14px)}}
@keyframes name-depth{from{transform:translateY(0)}to{transform:translateY(18px)}}
@keyframes sheet-arrive{from{transform:rotateX(8deg) rotateY(-7deg) translateY(30px)}to{transform:rotateX(0) rotateY(0) translateY(0)}}
@keyframes type-arrive{from{transform:translateY(22px)}to{transform:translateY(0)}}
@keyframes progress-line{from{transform:scaleX(.05)}to{transform:scaleX(1)}}
/* Unsupported browsers get the complete, static composition. */
@supports (animation-timeline:view()) {
 @media(prefers-reduced-motion:no-preference){
  .cover{view-timeline-name:--cover;view-timeline-axis:block}
  html:not(.motion-off) .mark-orbit{animation:bg-depth-turn 1s linear both;animation-timeline:--cover;animation-range:exit 0% exit 100%}
  html:not(.motion-off) .mark-physical{animation:bg-physical-drift 1s linear both;animation-timeline:--cover;animation-range:exit 0% exit 100%}
  html:not(.motion-off) .mark-digital{animation:bg-digital-drift 1s linear both;animation-timeline:--cover;animation-range:exit 0% exit 100%}
  html:not(.motion-off) .portrait-frame img{animation:portrait-depth 1s linear both;animation-timeline:--cover;animation-range:exit 0% exit 100%}
  html:not(.motion-off) .cover h1{animation:name-depth 1s linear both;animation-timeline:--cover;animation-range:exit 0% exit 100%}
  html:not(.motion-off) .project-panel{animation:sheet-arrive 1s linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  html:not(.motion-off) .scroll-arrive{animation:type-arrive 1s linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  html:not(.motion-off) .project-trail:before{animation:progress-line 1s linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
 }
}
.project-trail{position:relative;border-top:0}.project-trail:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:var(--ink);transform-origin:left center}.motion-off .project-panel.revealed{animation:none}.motion-off .portrait-frame img{transform:scale(1.12)}
@media(min-width:1100px){.cover-thought>p{max-width:430px}}
@media(min-width:701px) and (max-width:1099px){.depth-mark{right:-10px;top:150px;width:100px;height:120px;transform:scale(.7);transform-origin:right top}}
@media(max-width:700px){.depth-mark{right:-5px;top:-62px;width:100px;height:90px;transform:scale(.4);transform-origin:right top}.cover-thought>.eyebrow{position:relative;z-index:1}.project-panel{transform-origin:50% 50%}.motion-control{font-size:10px}.colophon .motion-control{min-width:75px}.colophon .motion-control span{font-size:9px}}
@media(max-width:360px){.depth-mark{right:-6px;top:-55px;transform:scale(.34)}}
@media(prefers-reduced-motion:reduce){.portrait-frame img{transform:scale(1.12)}.mark-orbit{transform:rotateX(-17deg) rotateY(-24deg) rotateZ(-7deg)}}
/* Review 02: contain perspective at the section edge, with quieter phone motion. */
.projects{overflow:clip}.cover{overflow:clip}
@keyframes sheet-arrive-phone{from{transform:rotateX(3deg) rotateY(-2deg) translateY(16px)}to{transform:rotateX(0) rotateY(0) translateY(0)}}
@media(max-width:700px){.depth-mark{right:10px;top:-64px}.home .cross-rule span:after,.home .cross-rule span:before{display:none}}
@media(max-width:360px){.depth-mark{right:12px;top:-55px}}
@supports(animation-timeline:view()){@media(max-width:700px) and (prefers-reduced-motion:no-preference){html:not(.motion-off) .project-panel{animation-name:sheet-arrive-phone}}}
/* Give the mark its own clear space at intermediate widths. */
@media(min-width:701px) and (max-width:1099px){.depth-mark{left:-112px;right:auto;top:150px;transform:scale(.65);transform-origin:left top}}
@media(min-width:1100px) and (max-width:1299px){.depth-mark{transform:scale(.75);transform-origin:right top}}

/* One factual connection, told using the site's existing stepped geometry. */
.connection{background:#e9eddb;color:var(--ink);padding:0 var(--gutter);position:relative;border-bottom:1px solid var(--rule);view-timeline-name:--connection;view-timeline-axis:block;view-timeline-inset:0}
.connection-pin{padding:30px 0 24px;max-width:1380px;margin:auto}
.connection-meta{display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:10px}
.connection-skip{display:flex;gap:15px;align-items:center;min-height:44px;text-transform:none;letter-spacing:0;font-size:12px}
.connection-skip:hover{text-decoration:underline;text-underline-offset:5px}
.connection-spread{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding:34px 0 35px}
.connection-heading h2{font-size:clamp(42px,4.2vw,70px);line-height:1.02;letter-spacing:-.045em}
.connection-heading h2 .serif{font-size:1.2em}
.connection-heading>p{font-size:14px;line-height:1.8;max-width:290px;margin:22px 0 0 15%}
.connection-graphic{height:250px;position:relative;perspective:850px;isolation:isolate;max-width:390px;margin:auto}
.scene-room,.scene-panorama,.scene-browser{position:absolute;left:50%;top:50%;transform-origin:center;backface-visibility:hidden}
.scene-room{width:260px;height:182px;transform:translate(-50%,-50%);opacity:.25}
.scene-room svg{width:100%;height:100%;stroke:var(--ink);stroke-width:1.5}
.room-detail{stroke-width:.8;opacity:.65}
.scene-panorama{width:160px;height:160px;display:grid;place-items:center;transform:translate(-50%,-50%);opacity:.25;color:var(--ink)}
.scene-panorama>span{font-family:var(--display);font-size:48px;letter-spacing:-.06em;line-height:1}
.degree{font-size:.55em;vertical-align:super}
.panorama-ring{position:absolute;inset:0;border:1px solid var(--ink);border-radius:50%}
.ring-two{transform:rotateY(65deg)}
.scan-line{position:absolute;inset:50% -20px auto;height:1px;background:var(--ink);opacity:.4}
.panorama-dot{width:7px;height:7px;background:var(--ink);position:absolute;left:-3px;top:calc(50% - 3px)}
.scene-browser{width:220px;transform:translate(-50%,-50%);background:var(--paper);border:1px solid var(--ink);opacity:1;box-shadow:14px 14px 0 #dce76b}
.browser-top{display:flex;align-items:center;gap:5px;padding:9px;border-bottom:1px solid var(--ink)}
.browser-top>i{width:3px;height:3px;border-radius:50%;background:var(--ink)}
.browser-top>span{margin-left:auto;font-size:8px;letter-spacing:.07em}
.browser-view{height:120px;background:var(--ink);color:var(--paper);display:grid;place-items:center;position:relative;overflow:hidden}
.browser-view>span{font:500 42px/1 var(--display);letter-spacing:-.05em;z-index:1}
.browser-view>i{position:absolute;width:145px;height:145px;left:calc(50% - 72px);top:calc(50% - 72px);border:1px solid #e9eddb70;border-radius:50%;transform:rotateX(58deg)}
.browser-bottom{display:flex;justify-content:space-between;padding:8px 10px;font-size:8px;letter-spacing:.1em}
.graphic-axis{position:absolute;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.12em}
.axis-top{top:-1px}.axis-bottom{bottom:0;color:var(--muted)}
.connection-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 5%}
.connection-steps li{display:flex;gap:15px;border-top:1px solid var(--rule);padding:18px 0 14px;position:relative}
.connection-steps li:before{content:'';position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--ink);transform:scaleX(1);transform-origin:left}
.step-no{font-size:11px;line-height:1.7;color:var(--muted)}
.connection-steps h3{font-size:15px;font-weight:550;line-height:1.5;letter-spacing:-.02em}
.connection-steps p{font-size:12px;color:var(--muted);line-height:1.6;margin-top:5px;max-width:210px}
.connection-end{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--rule);margin-top:14px;padding-top:12px}
.connection-end>.eyebrow{font-size:9px;color:var(--muted)}
.connection-end>a{min-height:44px;display:flex;align-items:center;gap:22px;font-size:13px}
.connection-end>a:hover{text-decoration:underline;text-underline-offset:6px}
#after-connection{scroll-margin-top:0}
.showroom-feature .connection{margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter);margin-top:35px}
@keyframes space-to-image{0%,15%{opacity:1;transform:translate(-50%,-50%) rotateY(-12deg)}32%,100%{opacity:0;transform:translate(-78%,-50%) rotateY(55deg) scale(.7)}}
@keyframes image-to-digital{0%,24%{opacity:0;transform:translate(-50%,-50%) rotateY(-50deg) scale(.65)}35%,60%{opacity:1;transform:translate(-50%,-50%) rotateY(0) scale(1)}72%,100%{opacity:0;transform:translate(-38%,-50%) rotateY(40deg) scale(.8)}}
@keyframes digital-open{0%,68%{opacity:0;transform:translate(-50%,-50%) rotateY(-35deg) rotateX(8deg) scale(.8)}84%,100%{opacity:1;transform:translate(-50%,-50%) rotateY(0) rotateX(0) scale(1)}}
@keyframes step-first{0%,25%{transform:scaleX(1)}40%,100%{transform:scaleX(.08)}}
@keyframes step-second{0%,20%{transform:scaleX(.08)}35%,60%{transform:scaleX(1)}80%,100%{transform:scaleX(.08)}}
@keyframes step-third{0%,55%{transform:scaleX(.08)}78%,100%{transform:scaleX(1)}}
@keyframes panorama-label{0%,62%{opacity:1}66%,100%{opacity:0}}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
 html:not(.motion-off) .connection.story-ready{min-height:calc(100svh + 420px)}
 html:not(.motion-off) .story-ready .connection-pin{position:sticky;top:clamp(75px,calc((100svh - 650px)/2),190px)}
 html:not(.motion-off) .story-ready .scene-room{animation:space-to-image 1s linear both;animation-timeline:--connection;animation-range:contain 0% contain 100%}
 html:not(.motion-off) .story-ready .scene-panorama{animation:image-to-digital 1s linear both;animation-timeline:--connection;animation-range:contain 0% contain 100%}
 html:not(.motion-off) .story-ready .scene-browser{animation:digital-open 1s linear both;animation-timeline:--connection;animation-range:contain 0% contain 100%}
 html:not(.motion-off) .story-ready .scene-panorama>span{animation:panorama-label 1s linear both;animation-timeline:--connection;animation-range:contain 0% contain 100%}
 html:not(.motion-off) .story-ready .connection-steps li:before{animation:step-first 1s linear both;animation-timeline:--connection;animation-range:contain 0% contain 100%}
 html:not(.motion-off) .story-ready .connection-steps .step-image:before{animation-name:step-second}
 html:not(.motion-off) .story-ready .connection-steps .step-digital:before{animation-name:step-third}
}}
@media(max-width:1000px){.connection-spread{gap:7%;padding:28px 0}.connection-heading h2{font-size:43px}.connection-heading>p{margin-left:0;font-size:13px}.connection-graphic{height:220px}.scene-room{width:230px}.connection-steps{gap:3%}.connection-steps li{gap:9px}.connection-steps h3{font-size:13px}.connection-steps p{font-size:11px}}
@media(max-width:700px){.connection-pin{padding:18px 0 16px}.connection-meta{gap:15px;font-size:9px;line-height:1.6}.connection-meta>span{max-width:160px}.connection-skip{max-width:115px;font-size:10px;line-height:1.6;gap:8px}.connection-spread{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:20px 0 22px;align-items:center}.connection-heading h2{font-size:29px;line-height:1.1}.connection-heading>p{font-size:11px;line-height:1.7;margin-top:15px}.connection-graphic{height:180px}.graphic-axis{font-size:7px;letter-spacing:.05em}.axis-bottom{font-size:6px}.scene-room{width:155px;height:110px}.scene-panorama{width:100px;height:100px}.scene-panorama>span{font-size:32px}.scene-browser{width:130px;box-shadow:8px 8px 0 #dce76b}.browser-top{padding:6px;gap:3px}.browser-top>i{width:2px;height:2px}.browser-top>span{font-size:5px}.browser-view{height:85px}.browser-view>span{font-size:32px}.browser-bottom{font-size:6px;padding:6px}.connection-steps{display:block}.connection-steps li{padding:10px 0 9px;gap:16px;align-items:baseline}.connection-steps li>div{display:flex;align-items:baseline;justify-content:space-between;gap:15px;width:100%}.connection-steps h3{font-size:12px;white-space:nowrap}.connection-steps p{font-size:10px;max-width:140px;margin:0;text-align:right}.connection-end{gap:14px;margin-top:9px;padding-top:7px}.connection-end>.eyebrow{font-size:7px;max-width:105px}.connection-end>a{font-size:11px;gap:10px;max-width:195px}
 @supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){html:not(.motion-off) .connection.story-ready{min-height:calc(100svh + 260px)}html:not(.motion-off) .story-ready .connection-pin{top:clamp(90px,calc((100svh - 540px)/2),170px)}}}
}
@media(max-width:360px){.connection-heading h2{font-size:25px}.connection-graphic{height:160px}.scene-room{width:130px}.scene-browser{width:110px}.browser-view{height:72px}.browser-top>span{font-size:4px}.connection-steps li>div{gap:8px}.connection-steps h3{font-size:11px}.connection-steps p{font-size:9px;max-width:120px}}
/* Static modes form one clean diagram and remove the extra scrolling distance. */
.connection:not(.story-ready) .scene-room,.connection:not(.story-ready) .scene-panorama,.motion-off .scene-room,.motion-off .scene-panorama{opacity:0}
@media(prefers-reduced-motion:reduce){.scene-room,.scene-panorama{opacity:0}.scene-browser{opacity:1}}
@media(max-height:680px){.connection.story-ready{min-height:auto!important}.story-ready .connection-pin{position:relative!important;top:0!important}.scene-room,.scene-panorama{opacity:0!important;animation:none!important}.scene-browser{opacity:1!important;animation:none!important;transform:translate(-50%,-50%)!important}.connection-steps li:before{animation:none!important;transform:scaleX(1)!important}}

/* The approved photographic cutout is layered over a small stepped paper plane. */
.portrait-cutout .portrait-frame{background:transparent;overflow:visible;position:relative;isolation:isolate;perspective:700px}
.portrait-cutout .portrait-frame:before{content:'';position:absolute;inset:29% 0 0 0;background:var(--accent);clip-path:polygon(0 0,75% 0,75% 19%,100% 19%,100% 100%,0 100%);transform:rotateY(-12deg) rotateZ(-4deg);transform-origin:50% 100%;z-index:-1}
.portrait-cutout .portrait-frame:after{content:'';position:absolute;left:-12px;right:-20px;bottom:0;height:1px;background:var(--ink)}
.portrait-cutout .portrait-frame img{object-fit:contain;object-position:center bottom;position:relative;transform:none}
.portrait-cutout figcaption{position:relative;z-index:2}
.practice-object{width:130px;height:145px;position:relative;margin:24px 0 0 25px;perspective:700px}
.practice-orbit{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(-12deg) rotateY(-20deg)}
.practice-plane{position:absolute;width:64px;height:82px;border:1px solid var(--ink);backface-visibility:hidden}
.plane-one{left:7px;top:15px;background:var(--paper)}
.plane-two{left:56px;top:59px;background:var(--accent);transform:translateZ(18px)}
.practice-plane:after{content:'';position:absolute;inset:10px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);opacity:.35}
.motion-cover{position:relative;view-timeline-name:--feature-cover;view-timeline-axis:block;view-timeline-inset:0}
.feature-object{position:absolute;right:3%;top:105px;width:180px;height:200px;pointer-events:none}
.object-camera{width:100%;height:100%;perspective:800px}
.object-orbit{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(-10deg) rotateY(-20deg) rotateZ(-5deg)}
.object-sheet{position:absolute;width:94px;height:120px;left:38px;top:32px;border:1px solid var(--ink);backface-visibility:hidden;background:var(--paper)}
.object-sheet:after{content:'';position:absolute;inset:15px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);opacity:.4}
.sheet-back{transform:translate3d(-20px,-20px,-24px)}
.sheet-middle{transform:translate3d(0,0,0);background:#e4e7d8}
.sheet-front{transform:translate3d(20px,20px,24px);background:var(--accent)}
.film-object{right:2%;top:115px}
.film-frame{position:absolute;left:26px;top:36px;width:128px;height:92px;border:1px solid var(--ink);background:var(--paper);backface-visibility:hidden}
.film-frame:before,.film-frame:after{content:'';position:absolute;left:6px;right:6px;height:4px;background:repeating-linear-gradient(90deg,var(--ink) 0 4px,transparent 4px 12px);opacity:.55}
.film-frame:before{top:5px}.film-frame:after{bottom:5px}
.film-back{transform:translate3d(-18px,-23px,-24px)}
.film-middle{transform:translate3d(0,0,0);background:#e4e7d8}
.film-front{transform:translate3d(18px,23px,24px);background:var(--ink)}
.film-front:before,.film-front:after{background:repeating-linear-gradient(90deg,var(--paper) 0 4px,transparent 4px 12px)}
.film-front>span{position:absolute;width:31px;height:31px;left:48px;top:30px;border:1px solid var(--accent)}
.film-front>span:after{content:'';position:absolute;width:15px;height:15px;background:var(--accent);right:-9px;bottom:-9px}
.quads-route{height:110px;margin:15px 0 30px;width:100%;overflow:visible}
.quads-route svg{width:100%;height:100%;overflow:visible}
.route-base,.route-trace,.route-ticks{stroke:var(--ink);stroke-width:1;vector-effect:non-scaling-stroke}
.route-base{opacity:.2}.route-trace{stroke-dasharray:1;stroke-dashoffset:0}.route-runner{fill:var(--ink)}.route-ticks{opacity:.4}
.reading-progress{display:none;position:fixed;left:calc(var(--rail) - 2px);top:0;bottom:0;width:2px;z-index:7;pointer-events:none}
.reading-progress>span{display:block;width:100%;height:100%;background:var(--ink);transform:scaleY(0);transform-origin:top}
.draw-section{position:relative}
.draw-section:after{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:currentColor;opacity:.3;transform-origin:left}
.register.draw-section:after,.production.draw-section:after{top:27px}
.motion-row{transform-origin:50% 20%;backface-visibility:hidden}
.motion-row h3,.press-work h2{position:relative}
.lift-link{transition:background-color .2s,translate .2s var(--ease)}
.lift-link:hover{background:#dce76b25;translate:0 -2px}
.project-panel{rotate:1 -1 0 var(--pointer-tilt,0deg);transition:rotate .18s var(--ease)}
.contact{view-timeline-name:--contact;view-timeline-axis:block;view-timeline-inset:0;overflow:clip}
.contact h2 .serif{display:inline-block;position:relative}
.contact h2 .serif:after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--ink);transform-origin:left}
.background{view-timeline-name:--background;view-timeline-axis:block;view-timeline-inset:0}
@keyframes cutout-drift{from{transform:translate3d(0,0,0) rotateZ(-.5deg)}to{transform:translate3d(5px,-22px,0) rotateZ(1deg)}}
@keyframes cutout-plane{from{transform:rotateY(-12deg) rotateZ(-4deg) translateY(0)}to{transform:rotateY(12deg) rotateZ(4deg) translateY(9px)}}
@keyframes object-turn{from{transform:rotateX(-10deg) rotateY(-20deg) rotateZ(-5deg)}to{transform:rotateX(12deg) rotateY(22deg) rotateZ(7deg)}}
@keyframes sheet-open{from{translate:0 0 0}to{translate:10px 9px 14px}}
@keyframes practice-turn{from{transform:rotateX(-12deg) rotateY(-20deg)}to{transform:rotateX(15deg) rotateY(25deg)}}
@keyframes route-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes route-travel{0%{transform:translate(0,0)}32%{transform:translate(306px,0)}40%{transform:translate(306px,-70px)}100%{transform:translate(894px,-70px)}}
@keyframes row-depth{from{transform:perspective(1200px) rotateX(3deg) translateY(16px)}to{transform:perspective(1200px) rotateX(0) translateY(0)}}
@keyframes type-slide{from{transform:translateX(-8px)}to{transform:translateX(0)}}
@keyframes press-crop{from{clip-path:inset(4% 4% 0 4%);transform:translateY(9px)}to{clip-path:inset(0);transform:translateY(0)}}
@keyframes rail-progress{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes rail-progress-phone{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
 html:not(.motion-off) .portrait-cutout .portrait-frame img{animation:cutout-drift 1s linear both;animation-timeline:--cover;animation-range:exit 0% exit 100%}
 html:not(.motion-off) .portrait-cutout .portrait-frame:before{animation:cutout-plane 1s linear both;animation-timeline:--cover;animation-range:exit 0% exit 100%}
 html:not(.motion-off) .object-orbit{animation:object-turn 1s linear both;animation-timeline:--feature-cover;animation-range:exit 0% exit 100%}
 html:not(.motion-off) .sheet-front,html:not(.motion-off) .film-front{animation:sheet-open 1s linear both;animation-timeline:--feature-cover;animation-range:exit 0% exit 100%}
 html:not(.motion-off) .practice-orbit{animation:practice-turn 1s linear both;animation-timeline:--background;animation-range:entry 0% exit 100%}
 html:not(.motion-off) .route-trace{animation:route-draw 1s linear both;animation-timeline:--feature-cover;animation-range:exit 0% exit 80%}
 html:not(.motion-off) .route-runner{animation:route-travel 1s linear both;animation-timeline:--feature-cover;animation-range:exit 0% exit 80%}
 html:not(.motion-off) .motion-row{animation:row-depth 1s linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
 html:not(.motion-off) .draw-section:after{animation:progress-line 1s linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
 html:not(.motion-off) .motion-cover h1>.serif,html:not(.motion-off) .contact h2 .serif{animation:type-slide 1s linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
 html:not(.motion-off) .press-portrait{animation:press-crop 1s linear both;animation-timeline:--feature-cover;animation-range:exit 0% exit 70%}
 html:not(.motion-off) .contact h2 .serif:after{animation:progress-line 1s linear both;animation-timeline:--contact;animation-range:entry 0% entry 100%}
 html:not(.motion-off) .reading-progress{display:block}
 html:not(.motion-off) .reading-progress>span{animation:rail-progress 1s linear both;animation-timeline:scroll(root block)}
}}
.motion-off .portrait-cutout .portrait-frame img{transform:none}
.motion-off .project-panel{rotate:none;transition:none}
.motion-off .lift-link{translate:none;transition:none}
html.motion-off{scroll-behavior:auto}
.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}
html.motion-off::view-transition-group(*),html.motion-off::view-transition-old(*),html.motion-off::view-transition-new(*){animation:none!important}
@media(prefers-reduced-motion:reduce){.portrait-cutout .portrait-frame img{transform:none}.project-panel{rotate:none}.lift-link{translate:none}}
@media(min-width:1100px){.industrial-feature .feature-cover h1{max-width:80%}.ai-feature .feature-cover h1{max-width:78%}}
@media(min-width:701px) and (max-width:1099px){.feature-object{right:-4px;top:105px;scale:.72;transform-origin:right top}.film-object{top:110px}.industrial-feature .feature-cover h1{max-width:78%}.ai-feature .feature-cover h1{max-width:75%}}
@media(max-width:700px){.practice-object{display:block;width:95px;height:95px;margin:24px 0 0 0;scale:.65;transform-origin:left top}.background-title{position:relative}.practice-object{position:relative;right:auto;bottom:auto;margin:14px 0 0 auto;height:56px;width:130px;scale:.5;transform-origin:right top}.feature-object{right:-6px;top:70px;scale:.42;transform-origin:right top;width:180px;height:200px}.film-object{top:85px;right:-2px}.industrial-feature .feature-cover h1{max-width:76%}.ai-feature .feature-cover h1{max-width:75%}.quads-route{height:65px;margin:5px 0 22px}.reading-progress{left:0;right:0;top:63px;bottom:auto;width:100%;height:2px}.reading-progress>span{transform-origin:left;transform:scaleX(0)}
 @supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){html:not(.motion-off) .reading-progress>span{animation-name:rail-progress-phone}}}
 .portrait-cutout .portrait-frame:after{left:-5px;right:-8px}.portrait-cutout .portrait-frame:before{inset:28% 0 0}.lift-link:hover{translate:none}
}
@media(max-width:360px){.feature-object{right:-4px;scale:.35;top:65px}.film-object{top:80px}.practice-object{scale:.45;right:auto}.quads-route{height:55px}}

/* Put the person and real responsibilities ahead of broad interest lists. */
.work-reality{margin-top:38px}
.work-reality>.eyebrow{display:block;color:var(--muted);font-size:10px;margin-bottom:17px}
.work-reality dl{margin:0}
.reality-row{border-top:1px solid var(--rule);padding:21px 0 24px}
.reality-row dt>span{display:block;font-size:9px;letter-spacing:.07em;color:var(--muted);margin-bottom:9px}
.reality-row dt>a{font-size:23px;letter-spacing:-.035em;line-height:1.2;display:flex;justify-content:space-between;gap:20px;min-height:44px;align-items:center}
.reality-row dt>a>span{font-size:17px;transition:transform .2s var(--ease)}
.reality-row dt>a:hover>span{transform:translate(3px,-3px)}
.reality-row dd{margin:10px 0 0;font-size:15px;line-height:1.8;max-width:410px}
.background-copy details{margin-top:18px}
.background-title{align-self:start}
.background-title .practice-object{margin-top:28px}
.background-copy .lead{max-width:440px}
.tour-text-link{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:12px;border-top:1px solid var(--rule);margin-top:6px;gap:18px}
.tour-text-link:hover,.connection-notes:hover{text-decoration:underline;text-underline-offset:4px}
.browser-view>img{width:100%;height:100%;object-fit:cover}
.connection-end .connection-notes{font-size:12px;color:var(--muted)}
.tour-cover-link{display:flex;justify-content:space-between;align-items:center;gap:24px;max-width:360px;min-height:56px;background:var(--ink);color:var(--paper);padding:12px 20px;margin:25px 0 0 auto;font-size:14px}
.tour-cover-link>span:last-child{font-size:22px;transition:transform .2s var(--ease)}
.tour-cover-link:hover>span:last-child{transform:translate(3px,-3px)}
.live-project{position:relative;margin:70px 0 75px;padding-top:26px}
.live-meta{display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:10px}
.live-spread{display:grid;grid-template-columns:1fr 1.1fr;gap:11%;align-items:start;margin-top:40px}
.live-copy h2{font-size:clamp(38px,4.1vw,66px);line-height:1.07;letter-spacing:-.045em;margin-bottom:25px}
.live-copy h2 .serif{font-size:1.15em}
.live-copy p{font-size:15px;line-height:1.8;max-width:330px}
.live-copy p+p{margin-top:14px}
.live-copy .line-link{font-size:13px;max-width:330px;margin-top:22px}
.live-capture{position:relative;width:min(90%,410px);margin:12px 20px 28px auto}
.live-detail{width:144px;margin:0 0 0 8%;position:relative}
.live-detail img{width:100%;height:auto;border:1px solid var(--ink);padding:4px;background:var(--paper)}
.live-detail figcaption{font-size:7px;letter-spacing:.06em;margin-top:9px;color:var(--muted)}
.capture-mount{position:relative;padding:10px;border:1px solid var(--ink);background:var(--paper)}
.capture-mount:before{content:'';position:absolute;inset:10px -10px -10px 10px;background:var(--accent);z-index:-1}
.capture-mount:after{content:'';position:absolute;left:-20px;top:-20px;width:20px;height:20px;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.capture-mount img{width:100%;height:auto}
.capture-mount a{display:block}
.capture-mount a:hover img{filter:brightness(1.04)}
.live-capture figcaption{display:flex;justify-content:space-between;gap:14px;font-size:8px;margin-top:17px;color:var(--muted);line-height:1.6}
.capture-side{position:absolute;right:-31px;top:10px;writing-mode:vertical-rl;font-size:8px;color:var(--muted)}
.project-contribution{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5%;margin:50px 0 0}
.project-contribution>div{border-top:1px solid var(--rule);padding-top:15px}
.project-contribution dt{font-size:9px;letter-spacing:.05em;color:var(--muted)}
.project-contribution dd{margin:11px 0 0;font-size:13px;line-height:1.8;max-width:230px}
.tour-business-link{display:grid;grid-template-columns:1fr 1.6fr 25px;gap:30px;align-items:center;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:24px 0;margin-top:60px;min-height:100px}
.tour-business-link>.eyebrow{font-size:10px;color:var(--muted)}
.tour-business-link>span:nth-child(2){font-size:25px;line-height:1.3;letter-spacing:-.035em}
.tour-business-link:hover>span:nth-child(2){text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
@media(min-width:1100px){.home .background-grid{grid-template-columns:1fr 1.1fr;gap:14%}.home .background-title{position:sticky;top:65px}}
@media(max-width:1000px){.live-spread{gap:8%;grid-template-columns:1fr 1fr}.live-copy h2{font-size:38px}.live-meta{font-size:9px}.capture-side{right:-20px}.live-capture figcaption{font-size:7px}.project-contribution{gap:4%}.reality-row dt>a{font-size:21px}}
@media(max-width:700px){.background-title .practice-object{margin-top:14px}.background-copy{margin-left:0}.background-copy>.lead,.background-copy>p{margin-left:12%}.work-reality{margin-top:32px}.reality-row{display:grid;grid-template-columns:1fr 1.3fr;gap:20px;padding:19px 0 22px}.reality-row dt>a{font-size:19px;align-items:start;min-height:44px;gap:10px}.reality-row dt>a>span{font-size:14px}.reality-row dt>span{font-size:8px;margin-bottom:9px}.reality-row dd{font-size:12px;line-height:1.85;margin:20px 0 0}.background-copy details{margin:22px 0 0 12%}.background-copy details summary{font-size:13px}.tour-cover-link{max-width:none;width:88%;min-height:50px;font-size:12px;margin-top:22px;padding:10px 16px}.tour-text-link{font-size:11px}.connection-end .connection-notes{font-size:10px}.live-project{margin:40px 0 45px;padding-top:20px}.live-meta{font-size:8px;gap:20px;line-height:1.7}.live-meta>span{max-width:145px}.live-meta>span:last-child{text-align:right}.live-spread{grid-template-columns:1fr;gap:36px;margin-top:26px}.live-copy h2{font-size:39px;margin-bottom:22px}.live-copy>p,.live-copy .line-link{margin-left:12%;font-size:13px}.live-copy .line-link{font-size:12px}.live-capture{width:min(88%,286px);margin:0 15px 12px auto}.capture-mount{padding:6px}.capture-mount:after{width:14px;height:14px;left:-15px;top:-15px}.capture-mount:before{inset:7px -7px -7px 7px}.live-capture figcaption{font-size:7px;gap:15px}.capture-side{font-size:7px;right:-17px}.project-contribution{display:block;margin-top:30px}.project-contribution>div{display:grid;grid-template-columns:1fr 1.25fr;gap:20px;padding:13px 0}.project-contribution dt{font-size:8px;line-height:1.8}.project-contribution dd{font-size:11px;margin:0;line-height:1.8}.tour-business-link{grid-template-columns:1fr 20px;gap:14px;margin-top:38px;padding:18px 0}.tour-business-link>.eyebrow{grid-column:1/-1;font-size:9px}.tour-business-link>span:nth-child(2){font-size:22px}}
@media(max-width:360px){.reality-row{grid-template-columns:1fr 1.2fr;gap:15px}.reality-row dt>a{font-size:17px}.reality-row dd{font-size:11px}.reality-row dt>span{font-size:7px}.live-copy h2{font-size:34px}.live-capture{width:85%}.live-capture figcaption{font-size:6px}.project-contribution{margin-top:24px}.project-contribution>div{gap:15px}.tour-cover-link{font-size:11px}}
@media(max-width:700px){.live-detail{width:108px;margin:18px 0 0 12%}.live-detail figcaption{font-size:6px}.live-visual{min-width:0}}

/* Actual project evidence: a small interface capture within the work sheet. */
.home .project-evidence{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,220px);align-items:start;gap:24px;margin:0 0 20px}
.home .project-evidence .panel-description{margin:0}
.home .work-capture{margin:0;min-width:0;max-width:220px}
.home .work-capture-link{display:block;overflow:hidden;border:1px solid var(--rule);aspect-ratio:880/611}
.home .work-capture img{display:block;width:100%;height:100%;object-fit:cover}
.home .work-capture figcaption{display:flex;justify-content:space-between;gap:8px;margin-top:10px;font-size:9px;line-height:1.5;letter-spacing:.05em}
.home .work-capture-link:hover,.home .work-capture-link:focus-visible{border-color:var(--ink)}
@media(max-width:1100px){.home .project-evidence{grid-template-columns:1fr;gap:20px}.home .work-capture{justify-self:end;max-width:200px;width:100%}}
@media(max-width:700px){.home .work-capture{max-width:220px}.home .project-evidence{gap:18px;margin-bottom:18px}}

/* Different rhythms within Crossings: a working ledger, then a personal closing. */
.home .working-index{background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding-top:38px;padding-bottom:42px}
.home .working-index-head{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.7fr);gap:40px;align-items:start;margin-bottom:28px}
.home .working-index-head h2{font:500 12px/1.6 Archivo,sans-serif;letter-spacing:.075em;margin:0;padding-top:3px}
.home .working-index-head p{max-width:410px;font-size:14px;line-height:1.7;color:var(--muted)}
.home .working-ledger{margin:0}
.home .working-row{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.7fr);gap:40px;border-top:1px solid var(--rule);padding:16px 0 18px}
.home .working-row dt{display:grid;grid-template-columns:32px 1fr;gap:12px;align-content:start;font-size:13px;line-height:1.7;font-weight:500;letter-spacing:.035em}
.home .working-number{font-size:10px;line-height:2.2;color:var(--muted);font-variant-numeric:tabular-nums}
.home .working-row dd{margin:0;max-width:650px;font-size:15px;line-height:1.65}
.home .personal-close{background:#e9eae1;padding-top:58px;padding-bottom:65px}
.home .personal-close .about-statement{max-width:960px;font-size:clamp(42px,5.1vw,78px);line-height:1.12;letter-spacing:-.05em;margin-top:34px}
.home .about-continuation{display:block;margin-left:8%}
.home .about-foot{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);gap:8%;max-width:950px;margin:38px 0 0 8%;align-items:start}
.home .about-foot .practice-object{margin:10px 0 0 0}
.home .about-bio{max-width:470px;justify-self:end;font-size:15px;line-height:1.8}
.home .about-bio .line-link{font-size:13px;margin-top:22px}
@media(max-width:1000px){.home .working-index-head,.home .working-row{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px}.home .working-row dt{font-size:12px;grid-template-columns:22px 1fr;gap:10px}.home .working-row dd{font-size:14px}.home .about-foot{grid-template-columns:130px minmax(0,1fr);gap:8%;margin-left:0}.home .personal-close .about-statement{font-size:clamp(42px,6vw,60px)}}
@media(max-width:700px){.home .working-index{padding-top:28px;padding-bottom:25px}.home .working-index-head{display:block;margin-bottom:25px}.home .working-index-head h2{font-size:11px;padding:0}.home .working-index-head p{font-size:13px;max-width:295px;margin:14px 0 0 32px}.home .working-row{grid-template-columns:1fr;gap:7px;padding:15px 0 17px}.home .working-row dt{font-size:11px;grid-template-columns:22px 1fr;gap:10px;letter-spacing:.04em}.home .working-number{font-size:9px;line-height:2.05}.home .working-row dd{font-size:13px;line-height:1.7;margin-left:32px;max-width:410px}.home .personal-close{padding-top:40px;padding-bottom:45px}.home .personal-close .about-statement{font-size:clamp(34px,9.5vw,52px);line-height:1.15;margin-top:25px}.home .about-continuation{margin-left:8%}.home .about-foot{display:block;position:relative;max-width:none;margin:30px 0 0 8%}.home .about-foot .practice-object{display:none}.home .about-bio{max-width:470px;font-size:14px;line-height:1.8}.home .about-bio .line-link{font-size:12px;margin-top:20px}}

/* Keep the same five navigation items inside every existing phone header. */
@media(max-width:700px){.rail{column-gap:12px}.rail nav{gap:8px}.rail nav a{min-width:0}}
@media(max-width:360px){.rail nav{gap:4px}}

/* Reuse the small work capture; preserve the complete supplied frames. */
.home .work-capture--natural .work-capture-link{aspect-ratio:auto}
.home .work-capture--natural img{height:auto}
.home .panel-quads .work-capture-link{border-color:#f5f1e960}
.home .panel-quads .work-capture-link:hover,.home .panel-quads .work-capture-link:focus-visible{border-color:var(--accent)}
