@font-face{font-family:Haas;src:url('/assets/haas.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Hoves;src:url('/assets/hoves.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Baskerville;src:url('/assets/baskerville.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap}
:root{--ink:#00060a;--terra:#c18157;--paper:#f9f9f9;--sand:#ead8cd;--line:rgba(0,6,10,.2);--gutter:clamp(24px,4.8vw,96px);--space:clamp(80px,10vw,180px)}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Hoves,Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Haas,Arial,sans-serif;font-weight:400;line-height:1.06;letter-spacing:-.035em}h1{font-size:clamp(56px,7.7vw,136px)}h2{font-size:clamp(40px,4.8vw,82px)}h3{font-size:clamp(26px,2.4vw,40px)}em{font-family:Baskerville,Georgia,serif;font-weight:400;letter-spacing:-.035em}p{max-width:64ch}a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:7px}main:focus{outline:none}a{touch-action:manipulation}::selection{background:var(--terra);color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:20px;top:10px;z-index:100;padding:14px 24px;background:var(--ink);color:var(--paper);transform:translateY(-160%)}.skip:focus{transform:translateY(0)}
.site-header{position:relative;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:36px;min-height:132px;padding:30px var(--gutter);background:var(--paper)}.brand{width:250px;min-width:250px;display:block}.site-header nav{display:flex;align-items:center;gap:clamp(20px,2.1vw,42px)}.site-header nav>a{font-size:14px;min-height:44px;display:flex;align-items:center;position:relative}.site-header nav>a:not(.nav-contact):after{content:'';height:1px;position:absolute;bottom:6px;left:0;right:0;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav>a:hover:after,.site-header nav>a[aria-current]:after{transform:scaleX(1)}.nav-contact{gap:18px;border-bottom:1px solid var(--ink);margin-left:16px}.nav-contact span{font-size:21px}.menu-button{display:none}.eyebrow{font-size:14px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;font-size:16px;line-height:1.4;border-bottom:1px solid currentColor;padding:14px 0;min-height:48px;width:fit-content}.text-link>span[aria-hidden]{font-size:23px;transition:transform .25s}.text-link:hover>span[aria-hidden]{transform:translate(3px,-3px)}.section-pad{padding:var(--space) var(--gutter)}.period{color:var(--terra)}
.intro{display:grid;grid-template-columns:38% 62%;gap:0}.intro>div{max-width:850px}.intro h2{margin-bottom:40px}.body-large{font-size:clamp(20px,1.65vw,28px);line-height:1.55;max-width:48ch}.intro .text-link{margin-top:28px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:70px}.home-projects{padding-top:30px}.project-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:8vw}.project-card:nth-child(2){margin-top:26%}.project-link{display:block}.project-link>img{width:100%;height:auto;transition:filter .4s}.project-link:hover>img{filter:brightness(.94)}.project-caption{display:flex;align-items:center;justify-content:space-between;padding-top:22px;gap:20px}.project-caption h2{font-size:clamp(28px,2.7vw,46px)}.project-caption>span{font-size:32px;transition:transform .3s}.project-link:hover .project-caption>span{transform:translate(4px,-4px)}.practice{display:grid;grid-template-columns:38% 62%;background:var(--sand)}.practice h2{margin-bottom:50px}.practice-list{margin-bottom:36px}.practice-list>a{display:flex;align-items:center;border-top:1px solid var(--line);padding:28px 0;gap:30px}.practice-list>a:last-child{border-bottom:1px solid var(--line)}.practice-list h3{flex:1}.practice-list>a>span:last-child{font-size:26px}.number{font-size:14px;letter-spacing:.04em}.practice>div>p{max-width:50ch}.contact-band{padding:var(--space) var(--gutter);background:var(--terra);position:relative}.contact-band .eyebrow{margin-bottom:40px}.contact-band h2{max-width:1100px;margin-bottom:34px;font-size:clamp(42px,5.7vw,98px)}.contact-band .text-link{min-width:250px}
.page-intro{padding-bottom:70px}.page-intro .eyebrow{margin-bottom:48px}.page-intro h1{max-width:1500px}.intro-note{margin-top:45px;margin-left:38%;max-width:45ch;font-size:clamp(20px,1.7vw,28px)}.gallery{padding-top:20px}.gallery .project-grid{gap:11vw}.gallery .project-card:nth-child(2){margin-top:34%}.about-story{display:grid;grid-template-columns:45% 1fr;gap:12%;padding-top:40px}.editorial img{width:100%;aspect-ratio:4/5;object-fit:cover}.editorial figcaption{font-size:13px;margin-top:14px;color:#4a4d50}.story-copy{padding-top:50px}.story-copy .eyebrow{margin-bottom:34px}.story-copy h2{margin-bottom:40px}.story-copy p+p{margin-top:22px}.values{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:30% 70%}.values-list article{display:grid;grid-template-columns:40px 1fr 1.15fr;gap:26px;padding:36px 0;border-top:1px solid #414649}.values-list article:last-child{border-bottom:1px solid #414649}.values-list h2{font-size:clamp(26px,2.4vw,40px);max-width:12ch;line-height:1.12}.values-list p{color:var(--sand);max-width:38ch}.values .eyebrow{color:var(--terra)}
.service-intro{background:var(--sand)}.service-areas{display:grid;grid-template-columns:30% 70%}.service-areas article{display:flex;gap:40px;padding:40px 0;border-top:1px solid var(--line);scroll-margin-top:30px}.service-areas article:last-child{border-bottom:1px solid var(--line)}.service-areas h2{font-size:clamp(34px,3.5vw,60px);margin-bottom:20px}.service-areas p{max-width:52ch}.service-detail{display:grid;grid-template-columns:45% 55%;background:var(--terra);gap:0}.service-detail h2{margin:32px 0}.service-detail>div>p:not(.eyebrow){max-width:32ch}.service-mark{width:110px;height:125px;object-fit:contain;margin-top:60px}.deliverables article{padding:30px 0;border-top:1px solid rgba(0,6,10,.3)}.deliverables h3{font-size:clamp(28px,2.4vw,40px);margin-bottom:14px}.deliverables p{max-width:52ch}.process{display:grid;grid-template-columns:30% 70%}.process-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:50px}.process-columns h3{font-size:28px;margin-bottom:20px}
.contact-page{background:var(--terra);display:grid;grid-template-columns:58% 42%;gap:0;min-height:740px}.contact-page .eyebrow{margin-bottom:45px}.contact-page h1{font-size:clamp(56px,7.6vw,130px)}.contact-button{display:inline-flex;justify-content:space-between;align-items:center;gap:46px;background:var(--ink);color:var(--paper);padding:20px 26px;margin-top:52px;min-height:64px}.contact-button>span[aria-hidden]{font-size:25px}.contact-button:hover{background:#20262a}.phone{margin-top:18px}.contact-aside{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding-left:30px}.contact-aside>img{width:clamp(130px,16vw,280px);height:auto}.coverage{width:100%;max-width:380px;margin-top:65px}.coverage>div{border-top:1px solid rgba(0,6,10,.35);padding-top:25px;margin-top:30px}.coverage h2{font-size:24px;margin-bottom:16px;letter-spacing:-.02em}.project-intro{padding-bottom:60px;display:flex;flex-direction:column;gap:70px}.project-intro h1{font-size:clamp(68px,10vw,170px)}.project-next{display:flex;align-items:center;justify-content:space-between;gap:50px}.project-next>a:last-child{display:flex;flex-direction:column;gap:20px}.next-title{font-family:Haas,Arial,sans-serif;font-size:clamp(40px,5vw,88px);line-height:1.1;letter-spacing:-.04em}.next-title>span{display:inline-block;margin-left:40px}.not-found{min-height:70svh;background:var(--sand)}.not-found .eyebrow{margin-bottom:40px}.not-found h1{font-size:clamp(50px,7vw,120px)}.not-found p:not(.eyebrow){margin:35px 0 15px}
.site-footer{background:var(--ink);color:var(--paper);padding:80px var(--gutter) 32px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:60px;padding-bottom:70px}.footer-brand{display:block;width:280px;min-width:250px}.footer-top>p{font-size:20px;color:var(--sand)}.footer-top .text-link{white-space:nowrap}.footer-bottom{border-top:1px solid #414649;padding-top:28px;display:flex;justify-content:space-between;gap:30px;align-items:start;font-size:13px;color:var(--sand)}.footer-bottom nav{display:flex;gap:24px;flex-wrap:wrap}.footer-bottom nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.footer-bottom>span{padding-top:12px}.footer-bottom nav a:hover{text-decoration:underline}.reveal-ready{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1)}.is-visible{opacity:1;transform:none}
@media(min-width:1700px){}
@media(max-width:1150px){.site-header{gap:20px;padding-left:30px;padding-right:30px}.site-header nav{gap:22px}.nav-contact{display:none!important}.footer-top{gap:30px}.footer-top>p{font-size:17px}.footer-top .text-link{font-size:14px;gap:20px}.values{grid-template-columns:24% 76%}.values-list article{gap:20px;grid-template-columns:28px 1fr 1fr}}
@media(max-width:960px){.site-header{min-height:112px;padding:25px var(--gutter)}.menu-button{display:flex;align-items:center;gap:16px;border:0;background:none;padding:12px 0 12px 16px;min-height:48px}.menu-lines{display:block;position:relative;width:23px;height:14px;border-top:1px solid;border-bottom:1px solid;transition:transform .25s}.menu-open .menu-lines{transform:rotate(-45deg)}.site-header nav{display:none;position:absolute;left:0;top:100%;right:0;padding:20px var(--gutter) 36px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.menu-open .site-header nav{display:flex}.site-header nav>a{font-size:24px;padding:14px 0}.site-header nav>a:after{display:none}.site-header nav>a[aria-current]{text-decoration:underline;text-underline-offset:6px}.site-header nav .nav-contact{display:flex!important;font-size:16px;margin:20px 0 0;width:fit-content}.intro,.practice{grid-template-columns:30% 70%;gap:0}.intro>.eyebrow,.practice>.eyebrow{max-width:20ch;padding-right:25px}.values,.service-areas,.process{display:block}.values>.eyebrow,.service-areas>.eyebrow,.process>.eyebrow{margin-bottom:45px}.footer-top{display:grid;grid-template-columns:1fr 1fr}.footer-top .text-link{grid-column:2}.footer-bottom{flex-wrap:wrap}.footer-bottom>span{width:100%}.contact-page{grid-template-columns:60% 40%}.contact-aside{padding-left:10px}.contact-aside>img{width:130px}}
@media(max-width:700px){:root{--gutter:24px;--space:80px}.site-header{min-height:106px;gap:12px;padding:26px 20px}.brand{width:250px;min-width:0;flex-shrink:1}.brand img{width:250px}.menu-button{gap:10px;padding-left:6px;font-size:14px}.menu-lines{width:20px}.intro,.practice{display:block}.intro>.eyebrow,.practice>.eyebrow{max-width:none;margin-bottom:35px}.intro h2{margin-bottom:28px}.intro h2,.practice h2{font-size:clamp(38px,8.6vw,60px)}.body-large{font-size:20px}.home-projects{padding-top:0}.section-heading{display:block;margin-bottom:40px}.section-heading h2{font-size:clamp(38px,8.8vw,58px)}.section-heading .text-link{margin-top:20px}.project-grid{display:block}.project-card:nth-child(2){margin-top:60px}.project-card.project-cbc{max-width:88%}.project-card.project-casa-ql{margin-left:8%}.project-caption{padding-top:16px}.project-caption h2{font-size:30px}.practice-list>a{gap:20px;padding:24px 0}.practice-list h3{font-size:clamp(24px,6.2vw,36px)}.practice-list .number{font-size:13px}.contact-band .eyebrow{margin-bottom:30px}.contact-band h2{font-size:clamp(39px,8.9vw,62px);line-height:1.1}.contact-band h2 br{display:none}.page-intro{padding-top:60px;padding-bottom:45px}.page-intro .eyebrow{margin-bottom:30px}.page-intro h1{font-size:clamp(50px,10.5vw,74px)}.intro-note{margin:32px 0 0;font-size:20px}.gallery{padding-top:0}.gallery .project-card:nth-child(2){margin-top:60px}.about-story{display:flex;flex-direction:column-reverse;gap:42px;padding-top:20px}.story-copy{padding:0}.story-copy h2{font-size:46px}.editorial{width:85%}.values-list article{grid-template-columns:28px 1fr;gap:18px;padding:30px 0}.values-list h2{font-size:30px;max-width:none}.values-list p{grid-column:2}.service-areas article{gap:25px;padding:30px 0}.service-areas h2{font-size:32px}.service-detail{display:block}.service-detail h2{font-size:46px}.service-mark{display:none}.deliverables{margin-top:45px}.deliverables h3{font-size:30px}.process-columns{display:block;margin-top:35px}.process-columns>div+div{margin-top:35px}.contact-page{display:block;padding-top:60px}.contact-page h1{font-size:clamp(58px,12vw,84px)}.contact-button{margin-top:35px;gap:22px;width:100%;max-width:340px;font-size:15px;padding:18px 22px}.contact-aside{padding:0;align-items:flex-start;margin-top:50px}.contact-aside>img{display:none}.coverage{margin:0;max-width:none}.coverage>div{padding-top:24px;margin-top:25px}.coverage h2{font-size:24px}.project-intro{padding-top:40px;gap:45px;padding-bottom:35px}.project-intro h1{font-size:clamp(60px,14vw,98px)}.project-next{align-items:flex-start;flex-direction:column-reverse;gap:35px}.next-title{font-size:48px}.next-title>span{margin-left:20px}.project-next .eyebrow{font-size:13px}.not-found{padding-top:60px}.not-found h1{font-size:48px}.footer-top{display:flex;flex-direction:column;align-items:flex-start;gap:36px;padding-bottom:45px}.footer-brand{width:250px;min-width:250px}.footer-top>p{font-size:20px}.footer-top .text-link{font-size:16px;gap:30px}.footer-bottom{display:block}.footer-bottom nav{gap:20px;margin:20px 0}.footer-bottom>span{display:block}.site-footer{padding-top:65px}}
@media(max-width:370px){:root{--gutter:20px}.site-header{padding-left:16px;padding-right:16px;gap:8px;flex-wrap:wrap}.brand{flex-basis:250px;flex-grow:0}.menu-button{margin-left:auto}.practice-list h3{font-size:23px}.contact-band h2{font-size:38px}.project-caption h2{font-size:28px}}
@media(prefers-reduced-motion:no-preference){main{animation:fade-in .45s ease both}@keyframes brand-drift{0%{transform:translateX(-12px);opacity:0}100%{transform:translateX(0);opacity:.85}}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}}

/* Shared letter composition: inline spans preserve natural word spacing. */
.mixed-type{font-family:Haas,Arial,sans-serif;font-style:normal}
.serif-letter{font-family:Baskerville,Georgia,serif;font-style:italic;font-weight:400}
/* Uppercase is presentation only; source text and accessible names stay intact. */
h1,h2,h3,em,.mixed-type,.serif-letter,.next-title{text-transform:uppercase}
.site-header nav>a,.menu-button,.text-link,.contact-button,.footer-bottom nav a,.footer-top>p,.eyebrow{font-family:Haas,Arial,sans-serif;text-transform:uppercase}
/* Home: one uninterrupted, full-viewport architectural image. */
.home .site-header{position:absolute;inset:0 0 auto;background:transparent;color:var(--paper)}
.home .brand img{filter:brightness(0) invert(1)}
.home .nav-contact{border-color:currentColor}
.home .menu-button{color:inherit}
.home main{animation:none}
.hero{position:relative;isolation:isolate;height:100vh;height:100svh;min-height:620px;color:var(--paper);background:var(--ink)}
.hero-image{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,6,10,.83) 0%,rgba(0,6,10,.65) 35%,rgba(0,6,10,.22) 72%,rgba(0,6,10,.05) 100%)}
.hero-copy{height:100%;padding:clamp(165px,22svh,260px) var(--gutter) 48px;display:flex;flex-direction:column;align-items:flex-start}
.hero h1{font-size:clamp(60px,7vw,126px);line-height:1.04;letter-spacing:-.035em;margin:28px 0 32px;max-width:12ch}
.hero-bottom{margin-top:auto;display:flex;align-items:center;gap:46px}
.hero-mark{width:66px;height:72px;object-fit:contain}
.hero-bottom .text-link{font-size:16px;gap:38px}
.whatsapp-float{position:fixed;z-index:40;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--paper);box-shadow:0 2px 12px #0003;transition:transform .2s,box-shadow .2s}
.whatsapp-float img{width:34px;height:34px;object-fit:contain}
.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 4px 16px #0004}
.whatsapp-float:focus-visible{outline:3px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 7px var(--paper)}
.site-footer{padding-bottom:100px}
a,button{scroll-margin-bottom:100px}
@media(max-width:960px){
 .home .site-header nav{color:var(--ink);max-height:calc(100svh - 120px);overflow-y:auto;padding-right:90px}
 .hero{min-height:650px}
 .hero-copy{padding-top:180px}
 .hero h1{font-size:clamp(60px,8.5vw,82px)}
 .hero-image img{object-position:51% 58%}
}
@media(max-width:700px){
 .home .site-header{min-height:92px;padding:20px}
 .home .brand,.home .brand img{width:215px}
 .home .brand{flex-basis:auto;flex-grow:0}
 .home .site-header{flex-wrap:nowrap}
 .hero{min-height:600px}
 .hero-copy{padding:145px var(--gutter) 38px}
 .hero h1{font-size:clamp(40px,10.1vw,68px);line-height:1.12;max-width:none;margin:24px 0}
 .hero-copy .eyebrow{font-size:12px}
 .hero-image img{object-position:50% 62%}
 .hero:after{background:linear-gradient(90deg,rgba(0,6,10,.8),rgba(0,6,10,.5) 48%,rgba(0,6,10,.12))}
 .hero-bottom{gap:22px;padding-right:48px;flex-wrap:wrap}
 .hero-mark{width:36px;height:42px}
 .hero-bottom .text-link{font-size:14px;gap:18px}
 .whatsapp-float{width:52px;height:52px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
 .whatsapp-float img{width:32px;height:32px}
 .not-found h1{font-size:clamp(36px,9vw,48px)}
}
@media(max-width:370px){.home .brand,.home .brand img{width:195px}.hero h1{font-size:37px}.hero-bottom{gap:16px;padding-right:36px}.hero-bottom .text-link{gap:12px}}
@media(max-width:700px){.contact-page h1{font-size:clamp(38px,10.1vw,68px)}.story-copy h2{font-size:clamp(36px,9vw,46px)}}
@media(max-height:600px) and (min-width:701px){.hero{min-height:100svh}.hero-copy{padding-top:125px;padding-bottom:24px}.hero h1{font-size:48px;margin:16px 0}.hero-mark{width:36px;height:40px}.hero-bottom{gap:24px}.home .site-header{min-height:100px;padding-top:20px;padding-bottom:20px}}
@media(prefers-reduced-motion:no-preference){.hero-mark{animation:brand-drift 2s ease both}}

/* Portfolio extension: retain the approved rhythm across complete galleries. */
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.hero-slide.is-active{opacity:1}
.hero:after{background:linear-gradient(180deg,rgba(0,6,10,.65),transparent 32%),linear-gradient(90deg,rgba(0,6,10,.83),rgba(0,6,10,.65) 35%,rgba(0,6,10,.22) 72%,rgba(0,6,10,.05))}





.project-category{font-size:13px;line-height:1.5;letter-spacing:.02em;margin-top:12px}
.project-caption{align-items:flex-start}
.project-caption h2{font-size:clamp(24px,2.35vw,40px);line-height:1.15;overflow-wrap:normal}
.project-grid{row-gap:100px}
.project-card:nth-child(even){margin-top:26%}
.gallery .project-card:nth-child(even){margin-top:26%}
.gallery .project-card:last-child:nth-child(odd){grid-column:1/-1;width:55%;margin:40px auto 0}
.project-intro h1{font-size:clamp(44px,6.5vw,112px);max-width:18ch;line-height:1.08}
.project-intro .project-category{margin-top:25px;font-size:16px}






.project-next{display:grid;grid-template-columns:1fr auto 1fr;gap:45px}
.project-next .project-direction{display:flex;flex-direction:column;gap:18px;max-width:100%}
.project-next .project-direction:last-child{text-align:right;align-items:flex-end}
.project-next .next-title{font-size:clamp(24px,2.6vw,42px);line-height:1.15;overflow-wrap:normal}
.project-next .project-direction>span[aria-hidden]{font-size:28px}
@media(max-width:960px){.hero-bottom{gap:22px}.hero-bottom .text-link{font-size:14px;gap:20px}.project-next{gap:24px}.project-next>.text-link{font-size:12px}.project-intro h1{font-size:clamp(42px,6.4vw,72px)}}
@media(max-width:700px){
 .hero-copy{padding-bottom:38px}
 
 
 .project-card,.project-card.project-cbc{max-width:none}
 .project-card:nth-child(even),.gallery .project-card:nth-child(even),.project-card:nth-child(2){margin-top:64px}
 .project-card+.project-card{margin-top:64px}
 .project-card.project-casa-ql{margin-left:0}
 .gallery .project-card:last-child:nth-child(odd){width:85%;margin:64px 0 0 auto}
 .project-caption h2{font-size:clamp(23px,6vw,36px)}
 .project-category{font-size:12px;max-width:28ch}
 .project-intro h1{font-size:clamp(34px,8.7vw,56px)}
 .project-intro .project-category{font-size:13px}
 .project-next{grid-template-columns:1fr 1fr;gap:36px 24px}
 .project-next>.text-link{grid-column:1/-1;grid-row:2;margin-top:5px;font-size:14px}
 .project-next .next-title{font-size:clamp(18px,4.8vw,28px)}
 .project-next .eyebrow{font-size:11px}
}
@media(max-height:600px) and (min-width:701px){.hero-bottom{max-width:44%}.hero h1{font-size:44px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Shared typography contract: words stay intact, all spacing inherits. */
:root{--type-tracking:.03em;--type-word-space:.30em}
.mixed-type,.eyebrow,.text-link,.nav-contact,.contact-button,.next-title{letter-spacing:var(--type-tracking)!important;word-spacing:var(--type-word-space);line-height:1.2}
.type-word{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;letter-spacing:inherit;word-spacing:normal}
.serif-letter{letter-spacing:inherit;vertical-align:baseline;font-size:inherit!important}
.type-word{font-size:inherit!important}
.type-line{display:block;white-space:nowrap}
.fixed-lines{font-size:clamp(28px,3.1vw,54px)!important;line-height:1.22}
.footer-space{flex:1;min-height:62px}
.hero h1{max-width:none;margin-top:28px;font-size:clamp(52px,6.2vw,112px)}
.site-header nav{gap:clamp(16px,1.7vw,32px)}
.site-header nav>a{font-size:12px}
.text-link>.mixed-type{font-size:inherit;transform:none!important}
.next-title>.type-word{display:inline;margin:0}
.project-next .project-direction{min-width:0}
.project-next .next-title{font-size:clamp(20px,2.1vw,34px)}
.footer-top{display:grid;grid-template-columns:280px 1fr auto}
@media(max-width:960px){.site-header nav>a{font-size:24px}.site-header nav .nav-contact{font-size:14px}.footer-top{grid-template-columns:1fr 1fr}.footer-space{min-height:62px}.hero h1{font-size:7.2vw}.story-copy h2{font-size:3.6vw}.project-next .next-title{font-size:22px}}
@media(max-width:700px){
 :root{--type-tracking:.025em;--type-word-space:.30em}
 .hero h1{font-size:8.1vw}.hero-bottom .text-link{font-size:12px;gap:14px}
 .contact-page h1,.page-intro h1{font-size:9vw}.not-found h1{font-size:7.2vw}
 .story-copy h2{font-size:8.2vw}.service-areas h2{font-size:7vw}
 .deliverables h3,.process-columns h3{font-size:6.2vw}
 .project-intro h1{font-size:7.3vw}.project-next .next-title{font-size:5.4vw}
 .project-next{grid-template-columns:1fr}.project-next .project-direction:last-child{align-items:flex-start;text-align:left}
 .project-next>.text-link{grid-row:3;grid-column:1}
 .footer-top{display:flex}.footer-space{flex:none;min-height:62px;width:100%}
 .contact-button{font-size:12px;gap:14px;padding:18px}.project-category{font-size:11px}
}

/* Individual galleries: a single bounded, uncropped Prisma composition. */
.project-images{--gallery-gap:clamp(24px,5vw,80px);--gallery-space:clamp(35px,5.56vw,80px);padding:0 var(--gutter);max-width:1800px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--gallery-space)}
.gallery-row{--gallery-height:min(86svh,1000px,var(--gallery-native-height));width:min(100%,1600px,calc(var(--gallery-height) * var(--gallery-ratio)));margin-inline:auto}
.gallery-row figure{min-width:0;margin:0}
.gallery-row img{display:block;width:100%;height:auto;object-fit:contain;object-position:50% 50%}
.gallery-pair{--gallery-height:min(70svh,720px,var(--gallery-native-height));width:min(100%,1600px,calc(var(--gallery-height) * var(--gallery-ratio) + var(--gallery-gap)));display:grid;grid-template-columns:var(--gallery-columns);align-items:center;gap:var(--gallery-gap)}
@media(max-width:700px){
 .project-images{padding:0 16px;gap:35px}
 .gallery-row{--gallery-height:min(78svh,680px,var(--gallery-native-height))}
 .gallery-pair{display:flex;flex-direction:column;gap:35px;width:100%}
 .gallery-pair figure{width:min(100%,calc(min(78svh,680px,var(--image-height)) * var(--image-ratio)))}

}
.hero-slide[data-project="casa-ql"] img{object-position:50% 58%}@media(max-width:960px){.hero-slide[data-project="casa-ql"] img{object-position:50% 58%}}@media(max-width:700px){.hero-slide[data-project="casa-ql"] img{object-position:50% 62%}}
.hero-slide[data-project="centro-de-eventos-farol-shopping"] img{object-position:50% 50%}@media(max-width:960px){.hero-slide[data-project="centro-de-eventos-farol-shopping"] img{object-position:64% 50%}}@media(max-width:700px){.hero-slide[data-project="centro-de-eventos-farol-shopping"] img{object-position:68% 50%}}
.hero-slide[data-project="nextgen-solutions"] img{object-position:50% 50%}@media(max-width:960px){.hero-slide[data-project="nextgen-solutions"] img{object-position:58% 50%}}@media(max-width:700px){.hero-slide[data-project="nextgen-solutions"] img{object-position:58% 50%}}
.hero-slide[data-project="residencia-prisma"] img{object-position:50% 55%}@media(max-width:960px){.hero-slide[data-project="residencia-prisma"] img{object-position:50% 55%}}@media(max-width:700px){.hero-slide[data-project="residencia-prisma"] img{object-position:55% 55%}}
.hero-slide[data-project="skylight-farol-shopping"] img{object-position:50% 45%}@media(max-width:960px){.hero-slide[data-project="skylight-farol-shopping"] img{object-position:50% 45%}}@media(max-width:700px){.hero-slide[data-project="skylight-farol-shopping"] img{object-position:52% 45%}}