@font-face{font-family:Space;src:url('./space-grotesk-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--orange:#ff5918;--black:#111;--paper:#fff;--pad:20px;--font:Space,Arial,sans-serif;--ease:cubic-bezier(.76,0,.24,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:#fff;color:#000;font-family:var(--font);font-weight:400;overflow-x:clip}body.locked{overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--orange);outline-offset:5px}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p,figure{margin:0;font-weight:400}img{max-width:100%;display:block}svg{display:block}.icon{width:28px;height:28px;flex:none}button{border:0;background:none}address{font-style:normal}dialog{border:0}.skip{position:fixed;top:8px;left:8px;background:#000;color:#fff;padding:12px;z-index:10000;transform:translateY(-200%)}.skip:focus{transform:none}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:16px;line-height:1.5;color:#777;transition:color .24s}.text-link:hover{color:#000}.text-link .icon{width:20px;height:20px}.section-label{font-size:clamp(13px,.9259vw,18px);letter-spacing:.005em;color:#777}.site-header{position:fixed;top:0;left:0;right:0;height:68px;z-index:99;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:10px var(--pad);color:#fff;mix-blend-mode:difference;transition:transform .24s ease}.site-header.hidden{transform:translateY(-100%)}.header-emblem{width:32px;height:32px;display:block}.header-emblem svg{width:100%;height:100%}.header-wordmark{font-size:40px;line-height:1;letter-spacing:-.075em;justify-self:center}.desktop-nav{display:flex;gap:clamp(30px,5.61vw,120px);justify-content:flex-end}.desktop-nav a{color:#fff;font-size:16px;gap:0}.desktop-nav a .icon{display:none}.desktop-nav a:before{content:'';background:var(--orange);width:5px;height:5px;border-radius:50%;margin-right:5px;opacity:0}.desktop-nav a:hover:before{opacity:1}.menu-toggle{display:none}.mobile-menu{padding:0;margin:0;max-width:none;max-height:none;position:fixed;inset:0;width:100%;height:100dvh;background:#000;color:#fff;z-index:101;clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%)}.mobile-menu::backdrop{background:transparent}.menu-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;height:68px}.menu-top>span{font-size:32px;letter-spacing:-.07em}.menu-close{padding:8px}.mobile-menu nav{display:flex;flex-direction:column;gap:clamp(35px,3.47vw,65px);padding:70px 10vw}.mobile-menu nav a{font-size:48px;color:#eee;display:flex;justify-content:space-between}.menu-social{display:flex;gap:35px;padding:20px 10vw}.menu-social a{color:#eee}
.hero{min-height:calc(100dvh - 88px);padding:88px var(--pad) 20px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.outline-title{font-size:clamp(48px,10.4167vw,300px);line-height:.96;color:transparent;-webkit-text-stroke:clamp(.5px,.0868vw,2px) #000;opacity:.9;white-space:nowrap;will-change:transform}.hero-row{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch;margin-top:12px}.hero-media{position:relative;aspect-ratio:1.45;border-radius:6px;overflow:hidden}.hero-photo{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:0;transition:opacity .65s ease}.hero-photo.active{opacity:1}.hero-copy{display:flex;flex-direction:column;justify-content:space-between}.hero-phrase{font-size:clamp(48px,10.4167vw,230px);line-height:.9;letter-spacing:-.055em;min-height:1.8em;overflow-wrap:normal}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end}.hero-down{display:flex;height:100%;align-items:flex-end}.hero-down .icon{width:clamp(48px,10.5vw,190px);height:clamp(48px,10.5vw,190px);transform:rotate(90deg);transition:transform .24s}.hero-down:hover .icon{transform:rotate(90deg) translateX(10px)}.clock-block{display:flex;gap:13px;align-items:center;font-size:14px}.analog-clock{width:31px;height:31px;border:1px solid #000;border-radius:50%;position:relative}.analog-clock i{position:absolute;left:50%;top:50%;width:1px;transform-origin:bottom center;bottom:50%;height:10px;top:auto;background:#000}.analog-clock .clock-hour{height:7px}.analog-clock .clock-second{background:#aaa;height:12px}.studio{position:relative;display:grid;grid-template-columns:1fr 2fr 1fr;gap:0;padding:clamp(65px,9vw,180px) var(--pad) 0}.studio>.section-label{position:absolute;left:var(--pad);top:clamp(65px,9vw,180px)}.studio>div{grid-column:2}.studio .word-reveal{font-size:clamp(20px,2.199vw,42px);line-height:1.28;letter-spacing:-.035em}.studio .text-link{margin-top:32px}.word-reveal .word{color:inherit;opacity:.25;transition:opacity .14s linear}.word-reveal .word.unmasked{opacity:1}.asymmetric-gallery{padding:clamp(56px,4.22vw,100px) var(--pad) 0;display:grid;grid-template-columns:3fr 6fr 3fr;gap:30px;align-items:end;transition:background-color 1.6s ease}.asymmetric-gallery figure{border-radius:6px;overflow:hidden}.asymmetric-gallery img{width:100%;height:100%;object-fit:cover}.gallery-small-a{aspect-ratio:.9}.gallery-wide{aspect-ratio:1.05}.gallery-small-b{aspect-ratio:.87}.motif-band{padding:clamp(70px,9vw,190px) var(--pad);display:flex;justify-content:space-between;transition:background-color 1.6s,color 1.6s}.pointer-motif{width:clamp(45px,6vw,115px);height:clamp(45px,6vw,115px)}.pointer-motif svg{width:100%;height:100%}
.works{background:#fff;padding-top:40px;transition:background-color 1.6s ease}.works-intro{display:grid;grid-template-columns:1fr 3fr;gap:0;padding:0 var(--pad)}.works-intro .works-description{font-size:clamp(16px,2.199vw,9999px);line-height:clamp(18px,2.199vw,9999px);max-width:clamp(500px,28.9352vw,9999px);color:#fff}.works-intro .section-label{color:#777}.project-slider{position:relative;margin-top:clamp(100px,21.9329vw,500px);height:100dvh;overflow:hidden}.project-slides{height:100%;position:relative}.project-slide{display:block;position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .4s ease,transform .24s ease}.project-slide.active{opacity:1;visibility:visible;z-index:1}.project-slide img{width:100%;height:100%;object-fit:cover;border-radius:6px}.project-slide-info{position:absolute;top:20px;left:20px;right:20px;display:grid;grid-template-columns:1fr 1fr;font-size:16px;color:#fff;text-shadow:0 1px 10px #0008}.project-slide h2{position:absolute;bottom:0;left:20px;color:#fff;font-size:clamp(48px,9.9537vw,210px);line-height:1.1;letter-spacing:-.05em;text-shadow:0 1px 20px #0006}.project-prev,.project-next{position:absolute;z-index:3;bottom:20px;right:20px;width:200px;height:132px;border:5px solid #fffc;border-radius:6px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px;background:#0002;backdrop-filter:blur(2px);transition:background .24s,transform .24s}.project-prev{left:20px;right:auto;bottom:165px}.project-prev .icon{transform:rotate(180deg)}.project-next:hover,.project-prev:hover{background:#0006}.project-slider.next-hover .project-slide.active{transform:translateX(-5%)}.slider-counter{position:absolute;right:24px;top:20px;z-index:3;color:#fff;text-shadow:0 1px 8px #0008;font-size:14px}.cursor-label{position:fixed;top:0;left:0;z-index:70;pointer-events:none;padding:14px 25px;background:#fff;color:#000;border-radius:100px;transform:translate(-50%,-50%) scale(0);font-size:14px;transition:scale .2s ease;white-space:nowrap}.cursor-label.visible{scale:1}.palette-black .asymmetric-gallery,.palette-black .motif-band,.palette-black .works{background:#111}.palette-black .motif-band{color:#fff}.palette-orange .motif-band,.palette-orange .works,.palette-orange .services,.palette-orange .statement{background:var(--orange)}.palette-orange .motif-band{color:#000}.services{padding:clamp(85px,12vw,260px) var(--pad) 0;background:#fff;transition:background-color 1.6s ease}.service-row{display:grid;grid-template-columns:1fr 4fr 6fr 1fr;gap:20px;align-items:start;padding:30px 0;border-top:1px solid #0003}.service-row:first-child{margin-top:55px}.service-row:last-child{border-bottom:1px solid #0003}.service-row h2{font-size:clamp(25px,3.94vw,80px);letter-spacing:-.05em;line-height:1}.service-row p{font-size:16px;line-height:1.5;max-width:500px}.service-index{font-size:16px}.service-row .icon{justify-self:end}.statement{padding:clamp(80px,10vw,240px) var(--pad) clamp(100px,14vw,280px);background:#fff;transition:background-color 1.6s}.statement>h2{font-size:clamp(52px,8vw,180px);line-height:1;letter-spacing:-.055em;max-width:92%;position:relative;z-index:2}.statement-collage{position:relative;margin:70px auto 0;width:60%;}.statement-collage figure{aspect-ratio:1.45;overflow:hidden;border-radius:6px;position:relative;z-index:2}.statement-collage img{width:100%;height:100%;object-fit:cover}.statement-shape{position:absolute;left:-35%;right:-35%;top:-45%;bottom:-45%;opacity:.7;z-index:1}.statement-shape svg{width:100%;height:100%}.statement-caption{margin-top:25px;font-size:14px;text-align:center}.meeting{padding:clamp(60px,8vw,160px) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:30px;background:#fff;color:#000}.meeting h2{font-size:clamp(38px,4vw,80px);letter-spacing:-.055em;line-height:1.1}.meeting p:not(.section-label){font-size:16px;line-height:1.6;max-width:500px;margin:25px 0}.meeting-link{display:inline-flex;gap:15px;align-items:center;border:1px solid #000;padding:15px 22px;border-radius:100px;transition:background .24s,color .24s;font-size:16px}.meeting-link:hover{background:#000;color:#fff}.meeting-link .icon{width:22px;height:22px}footer{background:#fff;color:#000;padding:40px var(--pad) 15px;border-top:1px solid #ddd}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;padding-bottom:70px;font-size:16px;line-height:1.5}.footer-grid address{color:#777;margin-top:15px}.footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-note{text-align:right;color:#777}.footer-wordmark{display:block;font-size:20vw;letter-spacing:-.075em;line-height:.95;text-align:center;width:100%;overflow:hidden}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;font-size:12px;color:#888}.motion-toggle{font-size:12px;color:#555;padding:0;text-decoration:underline}.page-cover{position:fixed;inset:0;display:flex;z-index:5002;pointer-events:none;visibility:hidden}.page-cover>div{flex:1;min-width:0;height:100%;background:#000;transform:scaleX(0);transform-origin:left;position:relative;overflow:hidden;display:flex;justify-content:center;align-items:flex-end}.page-cover span{color:transparent;-webkit-text-stroke:1px #fff;font-size:21vw;line-height:.85;transform:translateY(9%)}.page-cover.visible{visibility:visible}.page-cover.orange>div{background:var(--orange)}
.internal-heading{padding:150px var(--pad) 0}.internal-heading h1{margin-top:30px;font-size:clamp(55px,8vw,175px);line-height:1;letter-spacing:-.055em}.project-index{padding:60px var(--pad) 150px}.project-index-row{display:grid;grid-template-columns:5fr 3fr 3fr 1fr;align-items:center;gap:30px;border-top:1px solid #0003;padding:20px 0;position:relative;isolation:isolate;transition:color .24s}.project-index-row:last-of-type{border-bottom:1px solid #0003}.project-index-row:before{content:'';position:absolute;inset:0;background:#000;z-index:-1;transform:scaleY(0);transform-origin:top;transition:transform .24s}.project-index-row.from-bottom:before{transform-origin:bottom}.project-index-row:hover{color:#fff}.project-index-row:hover:before{transform:scaleY(1)}.project-index-name{font-size:clamp(22px,3.7vw,70px);letter-spacing:-.05em}.project-index-ambient{font-size:16px}.project-index-row figure{justify-self:end;width:160px;aspect-ratio:1.5;overflow:hidden;border-radius:6px}.project-index-row img{width:100%;height:100%;object-fit:cover}.project-index-row .icon{justify-self:end}.small-note{font-size:14px;line-height:1.5;color:#777;margin-top:25px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;padding:60px var(--pad) 100px;gap:25px}.contact-links>p{max-width:650px;font-size:22px;line-height:1.5}.contact-links .text-link{font-size:clamp(30px,4vw,75px);color:#000;border-bottom:1px solid #000}.contact-links .text-link .icon{width:40px;height:40px}.location{display:grid;grid-template-columns:1fr 1fr;gap:30px;background:#d9d9d9;padding:80px var(--pad)}.location h2{font-size:clamp(25px,3vw,55px);line-height:1.2;letter-spacing:-.04em}.location .map-link{display:inline-flex;margin-top:30px;align-items:center;gap:20px;font-size:20px}.location>div>p{font-size:14px;line-height:1.6;color:#555;margin-top:30px}.project-detail{padding:50px var(--pad) 140px}.project-detail-info{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:30px 0 80px}.project-detail-info>p{font-size:clamp(20px,2.3vw,40px);line-height:1.4}.project-detail-info>div{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:16px}.project-detail-info span{color:#888}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px}.gallery-lightbox{padding:0;width:100%;overflow:hidden;border-radius:6px}.gallery-lightbox.wide{grid-column:1/-1}.gallery-lightbox img{width:100%;height:auto;transition:transform .6s ease}.gallery-lightbox:hover img{transform:scale(1.05)}.project-detail>.text-link{margin-top:60px}.photo-dialog{padding:45px 0 0;margin:auto;max-width:95vw;max-height:95dvh;background:transparent;overflow:visible}.photo-dialog::backdrop{background:#000e}.photo-dialog img{max-height:85dvh;object-fit:contain}.photo-close{position:absolute;right:0;top:0;color:#fff;padding:8px}.photo-dialog .icon{width:24px;height:24px}
html.js [data-image-reveal]{clip-path:polygon(0% 0%,0% 50%,0% 100%,0% 100%,0% 50%,0% 0%);transition:clip-path 1.5s var(--ease)}html.js [data-image-reveal].revealed{clip-path:polygon(100% 0%,100% 50%,100% 100%,0% 100%,0% 50%,0% 0%)}html.js [data-image-reveal] img{transform:scale(1.2);transition:transform 1.5s var(--ease)}html.js [data-image-reveal].revealed img{transform:scale(1)}html.js [data-enter]{opacity:0;transform:translateY(50px);transition:opacity .8s ease-in-out,transform 1s ease-in-out}html.js [data-enter].entered{opacity:1;transform:none}
@media(min-width:1921px){.hero{min-height:calc(100dvh - 110px)}.hero-media{aspect-ratio:1.8}.header-wordmark{font-size:52px}.site-header{height:88px}.studio .word-reveal{max-width:950px}}
@media(max-width:1200px){:root{--pad:20px}.site-header{grid-template-columns:1fr 1fr 1fr}.desktop-nav{display:none}.menu-toggle{display:block;justify-self:end;padding:8px}.header-wordmark{font-size:32px}.hero{padding-top:100px;min-height:calc(100dvh - 20px)}.hero-row{display:flex;flex-direction:column;gap:12px}.hero-media{order:1;aspect-ratio:1.55}.hero-copy{flex-direction:row;gap:20px;align-items:flex-end}.phrase-wrap{width:80%}.hero-phrase{font-size:clamp(48px,10.4167vw,125px);line-height:1;min-height:1em;letter-spacing:-.05em}.hero-bottom{width:20%;justify-content:flex-end}.hero-down{display:none}.clock-block{font-size:11px;gap:10px}.analog-clock{width:25px;height:25px}.outline-title{font-size:clamp(48px,10.4167vw,125px)}.studio{grid-template-columns:1fr;gap:32px;padding-top:70px}.studio .word-reveal{font-size:clamp(22px,2.199vw,32px);max-width:95%}.asymmetric-gallery{gap:10px;padding-left:15px;padding-right:15px;grid-template-columns:1fr 1fr}.gallery-wide{grid-column:1/-1;grid-row:1;aspect-ratio:1.3}.gallery-small-a,.gallery-small-b{aspect-ratio:1.1}.motif-band{padding:70px 20px}.works-intro{grid-template-columns:1fr 2fr;gap:0}.works-intro .works-description{font-size:clamp(16px,2.199vw,9999px)}.project-slider{height:clamp(500px,54.9769vw,950px);margin-top:90px;touch-action:pan-y}.project-slide img{object-position:left}.project-prev,.project-next{display:none}.project-slide h2{font-size:clamp(48px,9.9537vw,115px)}.cursor-label{display:none}.services{padding-top:100px}.service-row{grid-template-columns:30px 3fr 5fr 25px;gap:15px}.service-row h2{font-size:clamp(24px,3.94vw,46px)}.service-row p{font-size:14px}.statement{padding-top:100px;padding-bottom:150px}.statement>h2{font-size:clamp(50px,8vw,95px);max-width:100%}.statement-collage{width:80%;margin-top:70px}.meeting{grid-template-columns:1fr;gap:30px}.footer-grid{grid-template-columns:1fr 1fr}.footer-note{display:none}.footer-bottom{flex-wrap:wrap}.location{grid-template-columns:1fr;gap:30px}.project-index-row{grid-template-columns:1fr 150px 24px;gap:20px}.project-index-ambient{display:none}.project-index-row figure{width:150px}.project-index-name{font-size:clamp(22px,3.7vw,40px)}.project-detail-info{gap:30px}.detail-gallery{gap:10px}.internal-heading{padding-top:130px}.internal-heading h1{font-size:clamp(50px,8vw,100px)}}
@media(max-width:576px){:root{--pad:15px}.hero{padding-top:100px;min-height:calc(100dvh - 20px)}.hero-media{aspect-ratio:1.55}.hero-phrase{font-size:48px}.hero-copy{gap:10px}.phrase-wrap{width:75%}.hero-bottom{width:25%}.clock-block{gap:7px;font-size:10px}.analog-clock{width:24px;height:24px}.outline-title{font-size:13.5vw}.studio{padding-top:80px}.studio .word-reveal{font-size:22px}.asymmetric-gallery{padding-top:56px}.motif-band{padding:60px 15px}.pointer-motif{width:44px;height:44px}.works-intro .works-description{font-size:16px}.project-slider{margin-top:90px;height:500px}.project-slide h2{font-size:48px;left:15px;bottom:10px}.project-slide-info{left:15px;right:15px;font-size:12px}.slider-counter{right:15px;top:45px;font-size:12px}.service-row{grid-template-columns:25px 1fr 24px;gap:10px;padding:25px 0}.service-row p{grid-column:2;grid-row:2}.service-row .icon{grid-column:3;grid-row:1}.service-row h2{font-size:29px}.statement>h2{font-size:46px}.statement-collage{width:85%;margin-top:70px}.statement-collage figure{aspect-ratio:1.1}.statement-shape{left:-12%;right:-12%;top:-30%;bottom:-30%}.meeting h2{font-size:40px}.meeting-link{font-size:14px;padding:14px 18px}.footer-grid{grid-template-columns:1fr;gap:40px;padding-bottom:55px}.footer-wordmark{font-size:19.5vw}.footer-bottom{font-size:10px}.project-index{padding-top:50px;padding-bottom:80px}.project-index-row{grid-template-columns:1fr 112px 20px;gap:10px}.project-index-name{font-size:22px}.project-index-row figure{width:112px}.project-detail-info{grid-template-columns:1fr;padding-bottom:50px}.project-detail-info>p{font-size:23px}.project-detail-info>div{font-size:14px}.internal-heading h1{font-size:52px}.detail-gallery{gap:8px}.contact-links{padding-top:50px;padding-bottom:70px}.contact-links>p{font-size:20px}.contact-links .text-link{font-size:28px}.contact-links .text-link .icon{width:28px;height:28px}.menu-social{gap:25px}.mobile-menu nav{padding-top:55px}.mobile-menu nav a{font-size:44px}.location{padding:60px 15px}.location h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}html.js [data-enter]{opacity:1;transform:none}html.js [data-image-reveal]{clip-path:none}html.js [data-image-reveal] img{transform:none}.word-reveal .word{opacity:1}.outline-title{transform:none!important}.cursor-label{display:none}.page-cover{display:none!important}}
body.motion-paused .word-reveal .word{opacity:1}body.motion-paused .outline-title{transform:none!important}body.motion-paused [data-image-reveal]{clip-path:none!important}body.motion-paused [data-image-reveal] img{transform:none!important}body.motion-paused .pointer-motif svg{transform:none!important}
/* Source-specific spatial contracts: quarter-position identity, 20x25 slash field,
   inline photographic statement, and fixed footer reveal. */
main{position:relative;z-index:1;background:#fff;margin-bottom:var(--footer-height,90vh)}
.site-header{grid-template-columns:1fr 1fr 2fr}.header-wordmark{justify-self:start}.desktop-nav{justify-content:space-between;padding-right:5vw}.studio .word-reveal{text-transform:uppercase}
.motif-band{padding:clamp(20px,2.199vw,60px) var(--pad) clamp(20px,1.736vw,45px);display:block;overflow:hidden}.motif-grid{display:flex;flex-direction:column;gap:42px;width:75%;margin-left:auto;overflow:hidden}.motif-row{display:flex;gap:42px;justify-content:flex-end;flex:none}.pointer-motif{width:10px;height:15px;flex:0 0 10px}.pointer-motif svg{width:10px;height:15px}.word-reveal .word{opacity:1;transition:none}.word-reveal .line{position:relative;display:block;width:fit-content;max-width:100%}.line-mask{position:absolute;top:0;right:0;width:100%;height:100%;background:#fff;opacity:.75;pointer-events:none;z-index:2}.works .line-mask{background:#111}.palette-orange .works .line-mask{background:var(--orange)}
.statement{background:#111;color:#fff;padding:clamp(40px,5.96vw,120px) var(--pad) 13px;overflow:hidden}.palette-orange .statement{background:var(--orange)}.statement-composition{display:flex;flex-wrap:wrap;align-items:center;column-gap:clamp(20px,3.47vw,80px);font-size:clamp(48px,8.68vw,200px);line-height:1.16;letter-spacing:0;-webkit-text-stroke:clamp(.5px,.0868vw,2px) #fff}.statement-composition .stroke{color:transparent}.architecture-drawing{width:auto;height:clamp(42px,7.23vw,150px);flex:none}.architecture-drawing path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 4s linear}.statement.entered .architecture-drawing path{stroke-dashoffset:0}.statement-photo{width:clamp(61px,9.722vw,200px);height:clamp(61px,9.722vw,200px);overflow:hidden;border-radius:6px;position:relative;z-index:2;cursor:pointer}.statement-photo img{width:100%;height:100%;object-fit:cover}.statement-moving{display:inline-flex;width:clamp(32px,4.34vw,90px);height:clamp(42px,7vw,130px);align-items:center;justify-content:center}.statement-moving svg{width:30%;height:60%;animation:slash-swing 2s ease-in-out infinite alternate}.statement-hover-image{position:fixed;inset:0;background:#111;z-index:100;pointer-events:none;opacity:0;transition:opacity .24s}.statement-hover-image img{width:100%;height:100%;object-fit:contain}.statement.photo-hover .statement-hover-image{opacity:1}.statement-composition>span,.statement-composition>svg{transition:transform .24s,opacity .24s}.statement.photo-hover .statement-composition>span{transform:translateY(50%) skewY(4deg);opacity:0}.details{padding:clamp(70px,8vw,170px) var(--pad);background:#fff}.details-grid{margin-top:50px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.details-grid a{position:relative;border-top:1px solid #ddd;padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center}.details-grid figure{width:100%;aspect-ratio:1.4;overflow:hidden;border-radius:6px}.details-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.details-grid a:hover img{transform:scale(1.05)}.details-grid span{font-size:20px}.details-grid .icon{width:20px;height:20px}
footer{position:fixed;left:0;bottom:0;width:100%;z-index:0;border:0;padding-top:clamp(150px,16.146vw,350px)}
@keyframes slash-swing{from{transform:rotate(-30deg)}to{transform:rotate(30deg)}}
@media(max-width:1200px){.site-header{grid-template-columns:1fr 1fr 1fr}.header-wordmark{justify-self:center}.motif-grid{width:66.6667%;gap:30px}.motif-row{gap:30px}.motif-row:nth-child(n+6){display:none}.pointer-motif{width:10px;height:15px}.statement-composition{font-size:clamp(48px,8.68vw,105px);line-height:1.16}.statement{padding-top:40px;padding-bottom:13px}.details-grid{grid-template-columns:repeat(2,1fr);gap:20px}.details-grid a:last-child{grid-column:1/-1;width:calc(50% - 10px)}.footer-wordmark{font-size:23vw}footer{padding-top:150px}}
@media(max-width:576px){.motif-band{padding:20px 15px}.pointer-motif{width:10px;height:15px}.statement-composition{font-size:48px}.architecture-drawing{height:42px}.statement-photo{width:61px;height:61px}.details{padding-top:80px;padding-bottom:80px}.details-grid{gap:12px;margin-top:40px}.details-grid a:last-child{width:calc(50% - 6px)}.details-grid span{font-size:14px}.details-grid a{gap:10px}.details-grid .icon{width:16px;height:16px}}
@media(prefers-reduced-motion:reduce){.line-mask{display:none}.architecture-drawing path{stroke-dashoffset:0}.statement-moving svg{animation:none}.statement-hover-image{display:none}}
body.motion-paused .line-mask{display:none}body.motion-paused .statement-moving svg{animation:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.project-index{padding-top:clamp(133px,24.2477vw,700px)}.project-index-grid{display:grid;grid-template-columns:1fr 1fr;gap:31px 30px}.project-index-box{padding-top:31px;border-top:1px solid #0003}.project-index-info{display:flex;justify-content:space-between;gap:30px;font-size:16px}.project-index-box figure{margin-top:31px;overflow:hidden;border-radius:6px}.project-index-box img{width:100%;height:auto;transition:transform .6s ease}.project-index-box:hover img{transform:scale(1.05)!important}
body[data-page-kind=studio] main{background:#111;color:#fff}.about-intro{position:relative;background:#111;padding:clamp(120px,10.4167vw,260px) var(--pad) 0}.about-intro>.section-label{position:absolute;top:100px;left:20px;color:#777}.about-center{width:50%;margin:auto}.about-center h1{font-size:clamp(22px,3.9352vw,85px);line-height:1.15;letter-spacing:-.04em}.about-center h1>span{color:var(--orange);margin-right:24px}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:81px;font-size:16px;line-height:1.5;color:#fffc}.about-image{padding-top:clamp(100px,15.2778vw,360px);position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}.about-outline{color:transparent;-webkit-text-stroke:1px #fff;font-size:23vw;letter-spacing:-.08em;line-height:1;width:100%;display:block;text-align:center}.about-image figure{position:absolute;width:44%;border-radius:6px;overflow:hidden;aspect-ratio:1.6}.about-image img{width:100%;height:100%;object-fit:cover}.about-services{padding:clamp(100px,18.17vw,400px) var(--pad) 0;background:#111}.about-services>div{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}.about-services article{border-top:1px solid #fff3;padding:25px 0}.about-services h2{font-size:clamp(24px,3vw,60px);letter-spacing:-.04em}.about-services p{font-size:16px;line-height:1.6;margin-top:25px;color:#fffc}.about-services svg{height:100px;max-width:100%;margin-top:40px;color:var(--orange)}.about-services svg path{stroke-dashoffset:0}.about-photo-grid,.contact-photo-grid{padding:clamp(100px,13.14vw,300px) var(--pad) 0;display:grid;grid-template-columns:2fr 1fr;gap:10px}.about-photo-grid .wide,.contact-photo-grid .wide{grid-row:span 2}.about-photo-grid figure,.contact-photo-grid figure{overflow:hidden;border-radius:6px}.about-photo-grid img,.contact-photo-grid img{width:100%;height:100%;object-fit:cover}.about-method{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:140px var(--pad);background:#111}.about-method h2{font-size:clamp(24px,2.7778vw,60px);line-height:1.5;letter-spacing:-.035em}.about-method p:not(.section-label){font-size:16px;line-height:1.5;max-width:550px;margin-top:40px}.about-method .section-label{color:#777}body[data-page-kind=studio] .details{background:#111;color:#fff}body[data-page-kind=studio] .details-grid a{border-color:#fff3}
body[data-page-kind=contact] main{background:#d9d9d9}.contact-intro{padding:clamp(120px,10.4167vw,250px) var(--pad) 0;display:grid;grid-template-columns:1fr 3fr;gap:30px}.contact-intro h1{font-size:clamp(28px,3.9352vw,90px);line-height:1.2;letter-spacing:-.035em;max-width:80%}.contact-channel{display:inline-flex;align-items:center;gap:20px;font-size:clamp(26px,3.9352vw,80px);color:#0007;margin-top:60px}.contact-channel:hover{color:var(--orange)}.contact-channel .icon{width:40px;height:40px}.contact-intro .clock-block{margin-top:90px}.contact-photo-grid{padding-top:150px}.contact-direct{padding:140px var(--pad);display:grid;grid-template-columns:1fr 3fr;gap:30px}.contact-direct>div{max-width:70%;display:flex;flex-direction:column;align-items:flex-start;gap:25px}.contact-direct>div>p{font-size:clamp(24px,2.7778vw,55px);line-height:1.5}.contact-direct .text-link{color:#000;font-size:20px}
@media(max-width:1200px){.project-index{padding-top:133px}.project-index-grid{gap:25px 20px}.project-index-box{padding-top:25px}.project-index-box figure{margin-top:25px}.project-index-info{font-size:14px;gap:15px}.about-intro{padding-top:120px}.about-intro>.section-label{position:static}.about-center{width:80%;margin-top:39px}.about-center h1{font-size:clamp(35px,3.9352vw,55px)}.about-columns{margin-top:40px}.about-image{padding-top:150px}.about-image figure{position:relative;width:65%;margin-top:60px}.about-outline{position:absolute;top:70px}.about-services{padding-top:100px}.about-services>div{gap:20px}.about-services p{font-size:14px}.about-method{grid-template-columns:1fr;gap:40px;padding-top:100px;padding-bottom:100px}.contact-intro,.contact-direct{grid-template-columns:1fr;gap:40px;padding-top:100px}.contact-intro h1{max-width:85%;font-size:clamp(30px,4.2vw,60px)}.contact-intro .clock-block{margin-top:70px}.contact-channel{font-size:clamp(26px,4vw,55px);margin-top:40px}.contact-direct>div{max-width:100%}.contact-direct>div>p{font-size:clamp(24px,3vw,35px)}}
@media(max-width:576px){.project-index-grid{grid-template-columns:1fr}.project-index-info{font-size:16px}.about-center{width:100%}.about-center h1{font-size:30px}.about-columns{grid-template-columns:1fr;gap:20px;font-size:14px}.about-image{padding-top:100px;display:block}.about-outline{font-size:23vw;top:50px}.about-image figure{width:100%;margin-top:0;aspect-ratio:1.3}.about-services>div{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px}.about-services article{flex:0 0 80%;scroll-snap-align:start}.about-services h2{font-size:35px}.about-photo-grid,.contact-photo-grid{padding-top:100px;grid-template-columns:1fr 1fr;gap:10px}.about-photo-grid .wide,.contact-photo-grid .wide{grid-row:auto;grid-column:1/-1;aspect-ratio:1.4}.about-photo-grid figure:not(.wide),.contact-photo-grid figure:not(.wide){aspect-ratio:1.2}.about-method{padding-top:80px;padding-bottom:80px}.about-method h2{font-size:26px}.contact-intro{padding-top:120px}.contact-intro h1{font-size:30px;max-width:100%}.contact-channel{font-size:27px}.contact-channel .icon{width:27px;height:27px}.contact-intro .clock-block{margin-top:60px}.contact-direct{padding-top:80px;padding-bottom:80px}}
.detail-heading{padding:clamp(115px,10.127vw,250px) var(--pad) 0}.detail-heading h1{font-size:clamp(22px,3.9352vw,85px);letter-spacing:-.035em;line-height:1.1}.project-detail{padding-top:clamp(50px,6.4815vw,140px)}.project-detail-info>p{font-size:16px;line-height:1.5;max-width:600px}.project-detail-info{padding-top:0;padding-bottom:clamp(80px,9.32vw,180px);gap:30px}.contact-intro h1 a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.contact-intro h1 a:hover{color:var(--orange)}
body[data-page-kind=studio] footer{background:#111;color:#fff}body[data-page-kind=studio] .footer-grid address,body[data-page-kind=studio] .footer-grid .text-link{color:#aaa}
@media(max-width:576px){.detail-heading{padding-top:115px}.detail-heading h1{font-size:28px}.project-detail{padding-top:50px}.project-detail-info{padding-bottom:80px}.project-detail-info>div{grid-template-columns:1fr 1fr}.project-detail-info>p{font-size:14px}}
.services{display:grid;grid-template-columns:1fr 3fr;gap:30px;background:#111;color:#fff;padding-top:clamp(50px,6.9444vw,160px);padding-bottom:clamp(100px,17.3611vw,370px)}.services .section-label{color:#fff6}.service-lists{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.service-lists ul{padding:0;margin:0;list-style:none;display:flex;flex-direction:column;gap:10px}.service-lists li{font-size:clamp(11px,.9259vw,18px);line-height:1.25;color:#fffc;display:flex;align-items:baseline;gap:10px}.service-lists li:before{content:'';display:inline-block;flex:none;width:4px;height:4px;border-radius:50%;background:currentColor;transform:scale(0);transition:transform .24s ease .5s}.service-lists li.entered:before{transform:scale(1)}html.js [data-image-reveal] img{transform:scale(2)}html.js [data-image-reveal].revealed img{transform:scale(1)}
.hero-phrase{white-space:pre-line}
@media(max-width:1200px){.services{grid-template-columns:1fr 2fr;gap:10px}.service-lists{display:flex;flex-direction:column;gap:10px}.service-lists li{font-size:clamp(11px,.9259vw,16px)}}
@media(prefers-reduced-motion:reduce){html.js [data-image-reveal] img{transform:none}.service-lists li:before{transform:scale(1)}}

.project-prev,.project-next{overflow:hidden;background:#000;border:5px solid #fffc}.ambient-preview{position:absolute;inset:0;z-index:-1;opacity:.65}.ambient-preview img{width:100%;height:100%;object-fit:cover}.project-prev>.icon,.project-next>.icon,.project-prev>span:not(.ambient-preview),.project-next>span:not(.ambient-preview){position:relative;z-index:1;text-shadow:0 1px 8px #000}.footer-wordmark{width:75%;margin-left:auto;font-size:21.5vw}
@media(max-width:1200px){footer{display:flex;flex-direction:column}.footer-wordmark{order:-1;width:100%;margin:0 0 40px;font-size:23vw}.footer-grid{width:100%}}

@media(max-width:1200px){.studio>.section-label{position:static}.studio>div{grid-column:auto}}

/* Reference-led illustrations keep their identity visible; real project pages
   use only verified Zaffira media. These are template adaptation contracts. */
.hero-study-credit{position:absolute;bottom:0;left:0;right:0;padding:10px 14px;background:linear-gradient(transparent,#0009);color:#fff;z-index:2}.study-credit{font-size:11px;line-height:1.4}.study-credit a{text-decoration:underline}.gallery-study-credit{grid-column:1/-1;color:#777;margin-top:-14px}.palette-black .gallery-study-credit{color:#aaa}
.project-detail-info{grid-template-columns:1fr 1fr 2fr;padding-bottom:clamp(170px,28vw,550px);align-items:start;gap:30px}.project-detail-info>.detail-facts{display:block}.detail-facts>p:not(.section-label){margin-top:25px;line-height:1.4}.detail-facts>.text-link{margin-top:20px;font-size:12px}.detail-scope ul{list-style:none;padding:0;margin:25px 0 0}.detail-scope li{display:flex;align-items:center;gap:8px;line-height:1.6}.detail-scope .icon{width:13px;height:13px}.detail-description{max-width:360px;font-size:14px;line-height:1.45}.detail-description p+p{margin-top:28px}.project-detail-info .section-label{font-size:12px}.detail-gallery .gallery-lightbox figure{height:100%}.detail-gallery .gallery-lightbox:not(.wide) img{height:100%;object-fit:cover}
.proposal-booking-page{padding:140px var(--pad) 100px;max-width:1200px;margin:auto}.proposal-booking-page h1{font-size:clamp(42px,5vw,80px);line-height:1.05;letter-spacing:-.05em;margin:28px 0}.booking-introduction{max-width:600px;font-size:16px;line-height:1.5;color:#777;margin-bottom:40px}.booking-fallback{margin:30px 30px 0 0}.proposal-booking-page>.text-link:last-child{margin-top:30px}
@media(max-width:1200px){.project-detail-info{grid-template-columns:1fr 1fr 2fr;gap:20px;padding-bottom:200px}.detail-description{font-size:12px}.detail-facts>p:not(.section-label),.detail-scope li{font-size:12px}}
@media(max-width:576px){.hero-study-credit{padding:8px 10px}.study-credit{font-size:9px}.gallery-study-credit{margin-top:0}.project-detail-info{grid-template-columns:1fr 1fr;gap:32px 16px;padding-bottom:80px}.detail-description{grid-column:1/-1;max-width:none;font-size:14px}.project-detail-info .section-label{font-size:11px}.detail-facts>p:not(.section-label){margin-top:20px}.detail-scope ul{margin-top:20px}.proposal-booking-page{padding-top:110px;padding-bottom:70px}.proposal-booking-page h1{font-size:42px}.booking-introduction{font-size:14px}}

.project-detail-info>.detail-scope,.project-detail-info>.detail-description{display:block}

@media(max-width:576px){.project-detail-info{grid-template-columns:1fr}.detail-description{grid-column:auto}}

/* Content stability and containment are part of the template, not screenshot fixes. */
body{overflow-x:visible}
body.font-fallback{--font:Arial,sans-serif}
html.js [data-image-reveal] img{transform:scale(2)}
html.js [data-image-reveal].revealed img{transform:scale(1)}
.hero-study-credit{top:0;bottom:auto}
footer{padding-bottom:88px}
main,section,.hero-row,.hero-copy,.about-center,.project-detail-info>*,.project-index-grid>*{min-width:0}
main{width:100%}
.phrase-wrap{position:relative;display:grid;min-width:0}
.phrase-wrap .hero-phrase{grid-area:1/1;overflow-wrap:anywhere}
.phrase-wrap .hero-phrase[data-phrases]{position:absolute;inset:0}
.phrase-reserve{visibility:hidden;pointer-events:none;user-select:none}
.hero-media{flex-shrink:0;width:100%}
.project-index-box{text-align:left;color:inherit;min-width:0;display:block}
.project-index-info>span:first-child{min-width:0;overflow-wrap:anywhere}
.project-index-info>span:last-child{flex:none}
.project-index-box .study-credit{margin-top:12px;line-height:1.5}
.detail-heading h1{overflow-wrap:anywhere}
.detail-facts,.detail-description,.detail-scope{overflow-wrap:anywhere}
.detail-gallery button{min-width:0}
.detail-facts .text-link:hover,.detail-facts .text-link:focus-visible{color:var(--orange)}
.site-header .desktop-nav a:hover,.site-header .desktop-nav a:focus-visible{color:#fff}
.desktop-nav a:before{transition:opacity .24s,transform .24s;transform:scale(0)}
.desktop-nav a:hover:before,.desktop-nav a:focus-visible:before{transform:scale(1);opacity:1}
body[data-page-kind=studio] .text-link:hover,body[data-page-kind=studio] .text-link:focus-visible{color:var(--orange)}
footer .text-link:hover,footer .text-link:focus-visible{color:var(--orange)}
.shuffle-label{position:relative;display:inline-grid;vertical-align:baseline}
.shuffle-label>span{grid-area:1/1}
.shuffle-label .shuffle-reserve{visibility:hidden}
.shuffle-label .shuffle-live{position:absolute;inset:0;overflow:hidden}
.asymmetric-gallery{padding-inline:var(--pad)}
body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after{animation:none!important;transition:none!important}
.site-header{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr);padding-inline:max(var(--pad),env(safe-area-inset-left)) max(var(--pad),env(safe-area-inset-right))}
.site-header>a,.site-header>nav{min-width:0}
.proposal-booking-page{width:100%;min-width:0;padding-inline:max(24px,env(safe-area-inset-left)) max(24px,env(safe-area-inset-right))}
.proposal-booking-page h1{overflow-wrap:anywhere}
.booking-fallback{flex-wrap:wrap}
.about-outline{font-size:19.5vw}
.about-services>div{grid-template-columns:repeat(3,minmax(0,1fr))}
.about-services article{min-width:0}
.demo-newsletter{font-size:14px;display:grid;gap:16px;min-width:0}
.demo-newsletter>div{display:flex;border-bottom:1px solid #000;gap:16px}
.demo-newsletter input{min-width:0;flex:1;border:0;background:none;padding:12px 0;font-size:16px;color:inherit}
.demo-newsletter button{flex:none;min-width:44px;min-height:44px}
.demo-newsletter [role=status],.contact-demo [role=status]{font-size:14px;line-height:1.5}
.contact-demo{padding:80px var(--pad) 140px;display:grid;grid-template-columns:1fr 3fr;gap:30px;background:#d9d9d9}
.contact-demo h2{font-size:clamp(32px,3.9vw,75px);letter-spacing:-.035em;margin-bottom:48px}
.demo-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.demo-fields label{display:grid;gap:8px;font-size:13px;color:#555}
.demo-fields :is(input,textarea){border:0;border-bottom:1px solid #0004;background:none;color:#111;font-size:16px;width:100%;padding:14px 0;border-radius:0;min-width:0}
.demo-fields .demo-wide{grid-column:1/-1}
.contact-demo fieldset{border:0;margin:32px 0;padding:0;display:flex;gap:16px;flex-wrap:wrap}
.contact-demo legend{margin-bottom:16px;font-size:13px;color:#555}
.contact-demo fieldset label{display:inline-flex;align-items:center;gap:8px;font-size:14px}
.contact-demo input:is([type=radio],[type=checkbox]){accent-color:#111;width:18px;height:18px}
.contact-demo .study-credit{margin:24px 0}.contact-demo button{min-height:44px;color:#111}
@media(max-width:1200px){
 .site-header{grid-template-columns:44px minmax(0,1fr) 44px}
 .hero-media{order:1}
 .header-wordmark{font-size:clamp(24px,8vw,32px);white-space:nowrap}
}
@media(max-width:576px){
 :root{--pad:16px}
 .hero-copy{align-items:flex-start}.hero-phrase{font-size:clamp(36px,12.3vw,48px)}
 .hero-bottom{padding-top:6px}.phrase-wrap{width:75%}
 .project-index-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .project-index-info{font-size:14px;gap:16px}
 .project-index-box figure{margin-top:16px}
 .project-slide h2{font-size:clamp(28px,8vw,40px);max-width:calc(100% - 32px);overflow-wrap:anywhere}
 .project-slide-info{left:16px;right:16px;gap:12px}
 .about-intro>.section-label{left:16px}.about-center{width:100%}
 .about-center h1{font-size:28px}.about-columns{grid-template-columns:1fr;gap:24px;margin-top:40px}
 .about-services>div,.about-method{grid-template-columns:1fr}
 .about-services>div{display:grid;overflow:visible;scroll-snap-type:none;grid-template-columns:minmax(0,1fr)}
 .about-services article{min-width:0;scroll-snap-align:none}
 .asymmetric-gallery{padding-inline:var(--pad)}
 .project-slide h2{left:16px}
 .contact-intro,.contact-direct{grid-template-columns:1fr;gap:32px}
 .contact-intro h1,.contact-direct>div{max-width:100%}
 .details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.details-grid span{overflow-wrap:anywhere;min-width:0}
 .proposal-booking-page{padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}
 .proposal-booking-page h1{font-size:clamp(32px,10.7vw,42px)}
 .contact-demo{grid-template-columns:1fr;padding-bottom:80px}.demo-fields{grid-template-columns:1fr}
}

/* Menu labels keep contrast on the difference header and black dialog. */
.site-header .desktop-nav a:is(:hover,:focus-visible,:active){color:#fff}
.mobile-menu nav .text-link:is(:hover,:focus-visible,:active),.mobile-menu .menu-social .text-link:is(:hover,:focus-visible,:active){color:#fff}
.site-header .shuffle-live,.mobile-menu .text-link .icon{color:inherit}
