@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 600;font-stretch:100%;font-display:optional;src:url("assets/fonts/instrument-sans-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ice:#f2f4f3;--paper:#f7f7f5;--ink:#121111;--muted:#121111;--blood:#660000;--line:rgba(18,17,17,.15);--page:clamp(20px,4vw,68px);--gap:clamp(8px,.8vw,14px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body{margin:0;background:var(--ice);color:var(--ink);font-family:"Instrument Sans","Avenir Next","Helvetica Neue",Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
body.intro-running{overflow-x:hidden;overflow-y:auto}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}img{display:block;width:100%}button{font:inherit}
a:focus-visible,button:focus-visible{outline:1px solid currentColor;outline-offset:5px}
.site-header a:focus-visible,.site-header button:focus-visible{outline:none;box-shadow:none}
.skip-link{position:fixed;z-index:1000;top:10px;left:10px;padding:10px 14px;background:var(--ice);color:var(--ink);font-size:10px;letter-spacing:.14em;text-transform:uppercase;transform:translateY(-150%)}.skip-link:focus{transform:none}

.site-header{position:fixed;z-index:100;top:0;right:0;left:0;display:grid;grid-template-columns:1fr auto;align-items:center;min-height:76px;padding:0 var(--page);background:linear-gradient(180deg,rgba(18,12,11,.48),rgba(18,12,11,0));color:#fff;transition:background .45s ease,color .35s ease,min-height .35s ease,box-shadow .35s ease}
.site-header.is-solid{min-height:66px;background:rgba(242,244,243,.96);color:var(--ink);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(14px)}
.listing-page .site-header.is-solid{background:var(--ice);box-shadow:none;backdrop-filter:none}
.standard-page:not(.contact-page) .site-header.is-solid{box-shadow:none}
.office-page{background:var(--paper)}.office-page .site-header.is-solid{border:0;background:var(--paper);box-shadow:none!important;backdrop-filter:none}
.brand{position:relative;display:block;justify-self:start;width:clamp(115px,11vw,150px);height:44px}
.brand-logo{position:absolute;inset:0;height:100%;object-fit:contain;object-position:left center;transition:opacity .35s ease}.brand-logo-dark{opacity:0}.is-solid .brand-logo-light{opacity:0}.is-solid .brand-logo-dark{opacity:1}.contact-page .is-solid .brand-logo-light{opacity:1}.contact-page .is-solid .brand-logo-dark{opacity:0}.site-header.menu-active .brand-logo-light{opacity:0}.site-header.menu-active .brand-logo-dark{opacity:1}
.site-nav{display:flex;align-items:center;justify-self:end;gap:clamp(30px,4vw,62px);font-size:10px;font-weight:500;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap}
.site-nav a{position:relative;padding:29px 0 24px;transition:color .3s ease}.site-nav a:after{content:"";position:absolute;right:0;bottom:19px;left:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform .32s ease}.site-nav a.is-active:after,.site-nav a:hover:after{transform:scaleX(1)}.site-nav:has(a:hover) a.is-active:not(:hover):after{transform:scaleX(0)}
.listing-page .site-nav,.office-page .site-nav{color:#b77a70}.listing-page .site-nav a:hover,.office-page .site-nav a:hover{color:#8f2d2d}
.menu-toggle{display:none}

.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;background:#241a17;color:#fff}
.hero-image{height:100%;object-fit:cover;object-position:center 49%;transform:scale(1.015);animation:hero-settle 1.6s cubic-bezier(.2,.7,.2,1) both}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,10,9,.28),rgba(15,10,9,.02) 42%,rgba(15,10,9,.28))}
.scroll-indicator{position:absolute;z-index:3;right:var(--page);bottom:24px;display:flex;align-items:center;gap:13px;font-size:8px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.scroll-indicator i{position:relative;width:1px;height:42px;overflow:hidden;background:rgba(255,255,255,.25)}.scroll-indicator i:after{content:"";position:absolute;top:-13px;left:0;width:1px;height:13px;background:#fff;animation:scroll-cue 2.25s cubic-bezier(.45,0,.35,1) infinite}

.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{margin:0;opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 1.1s ease}.hero-slide.is-active{opacity:1;visibility:visible}.hero-slide img{height:100%;object-fit:cover;object-position:center;transform:scale(1.045);transition:transform 4.6s cubic-bezier(.2,.7,.2,1)}.hero-slide.is-active img{transform:scale(1)}
.home-page.intro-running .site-header{opacity:0}.home-page .site-header{transition:background .45s ease,color .35s ease,min-height .35s ease,box-shadow .35s ease,opacity .7s ease}.home-page.intro-running .hero-slide.is-active img{animation:intro-hero-reveal 1.05s 2.45s cubic-bezier(.4,0,.2,1) forwards}
.home-hero .hero-shade{background:linear-gradient(180deg,rgba(15,10,9,.32),rgba(15,10,9,.01) 45%,rgba(15,10,9,.18))}
.slider-controls{position:absolute;z-index:4;bottom:27px;left:var(--page);display:flex;gap:18px}.slider-controls button{position:relative;padding:8px 0;border:0;background:transparent;color:rgba(255,255,255,.56);font-size:8px;font-weight:500;letter-spacing:.17em;cursor:pointer;transition:color .3s ease}.slider-controls button:after{content:"";position:absolute;right:0;bottom:3px;left:0;height:1px;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .45s ease}.slider-controls button.is-active{color:#fff}.slider-controls button.is-active:after{transform:scaleX(1)}

.brand-intro{position:fixed;z-index:1000;inset:0;background:var(--blood);pointer-events:none;animation:intro-overlay-fade .38s 1.18s cubic-bezier(.4,0,.2,1) forwards}.brand-intro-panel{display:none}
.brand-intro-mark{position:absolute;z-index:2;top:50%;left:50%;width:clamp(220px,32vw,430px);aspect-ratio:487.5/60;transform:translate(-50%,-50%)}.brand-intro-wordmark,.brand-intro-parts{position:absolute;inset:0;width:100%;height:100%}.brand-intro-wordmark{object-fit:contain;animation:intro-wordmark-swap .01s .62s steps(1,end) forwards}.brand-intro-parts{overflow:visible;visibility:hidden;animation:intro-parts-reveal .01s .62s steps(1,end) forwards,intro-parts-exit .22s 1.12s ease forwards}.brand-intro-stage,.brand-intro-c,.brand-intro-tail{transform-box:view-box}.brand-intro-tail{animation:intro-tail-contract .48s .62s cubic-bezier(.76,0,.24,1) forwards}.brand-intro-tail-castello{transform-origin:29px 30px}.brand-intro-tail-cambraia{transform-origin:274px 30px}.brand-intro-c-first{transform-origin:0 0;animation:intro-c-first-meet .48s .62s cubic-bezier(.76,0,.24,1) forwards}

.listing-main,.standard-main{padding-top:66px}.projects{padding:var(--gap) var(--page) clamp(100px,10vw,156px)}.projects-page{padding-top:clamp(38px,5vw,72px)}
.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:32px;width:min(1600px,100%);margin:0 auto clamp(34px,4vw,58px);padding-bottom:14px;border-bottom:1px solid var(--line)}.filter-options{display:flex;gap:clamp(20px,3vw,46px)}.filter-bar button{position:relative;padding:6px 0;border:0;background:transparent;color:#b77a70;font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:color .3s ease}.filter-options button:after{content:"";position:absolute;right:0;bottom:1px;left:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform .32s ease}.filter-options button.is-active:after,.filter-options button:hover:after{transform:scaleX(1)}.filter-options:has(button:hover) button.is-active:not(:hover):after{transform:scaleX(0)}.filter-bar button:hover{color:#8f2d2d}.favorites-filter{display:flex;gap:9px}.favorites-filter span{min-width:18px;text-align:right}
.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:clamp(255px,24vw,400px);gap:clamp(48px,5.3vw,84px) var(--gap);width:min(1600px,100%);margin:auto}
.project-card{position:relative;min-width:0;height:100%}.project-card.is-wide{grid-column:span 2}.project-link{display:block;height:100%}
.project-card figure{position:relative;height:100%;margin:0;overflow:hidden;background:#d9d8d5}
.project-card img{height:100%;object-fit:cover;filter:saturate(.9);transform:scale(1.012);transition:filter .55s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.project-hover{position:absolute;z-index:2;top:50%;left:50%;display:grid;width:min(66%,220px);aspect-ratio:1;place-items:center;padding:24px;background:#efe7e0;color:#660000;text-align:center;opacity:0;transform:translate(-50%,-46%) scale(.97);transition:opacity .38s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.is-wide .project-hover{width:min(38%,220px)}
.project-hover{display:flex;flex-direction:column;justify-content:center;align-items:center}.project-hover strong{font-size:clamp(15px,1.25vw,20px);font-weight:400;line-height:1.25;letter-spacing:.075em;text-transform:uppercase}.project-hover i{display:block;width:42px;height:1px;margin:clamp(14px,1.3vw,20px) 0;background:rgba(102,0,0,.34)}.project-hover small{font-size:8px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:#660000}
.project-info{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:baseline;padding-top:14px;transition:opacity .3s ease,transform .35s ease}.project-info>strong{color:#660000;font-size:10px;font-weight:400;letter-spacing:.08em;text-transform:uppercase}.project-info small{justify-self:end;color:#660000;font-size:10px;font-weight:500;letter-spacing:.13em;text-align:right;text-transform:uppercase}
.favorite-button{position:absolute;z-index:5;top:13px;right:13px;display:grid;width:30px;height:30px;place-items:center;padding:0;border:0;background:transparent;color:#fff;line-height:1;cursor:pointer;text-shadow:0 1px 12px rgba(0,0,0,.48);transition:color .3s ease,transform .3s ease}.favorite-button span{display:block;font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:400;line-height:1;transform:scaleX(1.12) scaleY(.96)}.favorite-button:hover{transform:scale(1.08)}.favorite-button[aria-pressed="true"]{color:var(--blood);text-shadow:0 1px 10px rgba(255,255,255,.75)}.empty-filter{width:min(1600px,100%);min-height:42svh;margin:0 auto;padding:80px 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
@media(hover:hover){.project-card:hover img,.project-card:focus-visible img{filter:grayscale(1) contrast(.94);transform:scale(1.035)}.project-card:hover .project-hover,.project-card:focus-visible .project-hover{opacity:1;transform:translate(-50%,-50%) scale(1)}.project-card:hover .project-info,.project-card:focus-visible .project-info{opacity:0;transform:translateY(-4px)}}

.studio{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);min-height:760px;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.studio-image{position:relative;min-height:680px;overflow:hidden;background:#d9d8d5}.studio-image img{height:100%;object-fit:cover;object-position:center 56%;filter:grayscale(1) contrast(.9) brightness(1.05);transition:filter .7s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}.studio-image:hover img{filter:grayscale(.1);transform:scale(1.015)}.studio-image span{position:absolute;right:28px;bottom:24px;color:rgba(255,255,255,.85);font-size:8px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.studio-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(68px,8vw,130px) clamp(38px,7vw,118px)}
.eyebrow{margin:5px 0 0;color:var(--blood);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase}.studio-copy .eyebrow{margin-bottom:clamp(32px,4vw,56px)}
.studio-copy h1,.studio-copy h2,.contact h1,.contact h2{margin:0;font-size:clamp(33px,3.75vw,58px);font-weight:300;line-height:1.06;letter-spacing:.048em;text-transform:uppercase}.office-page .studio-copy h1{color:#660000}.fine-line{width:54px;height:1px;margin:clamp(30px,4vw,50px) 0;background:rgba(41,37,36,.36)}.studio-copy>p:not(.eyebrow){max-width:560px;margin:0 0 18px;color:var(--muted);font-size:clamp(13px,1vw,15px);line-height:1.8;letter-spacing:.018em}
.studio-standalone{min-height:calc(100svh - 66px);border-top:0}.office-page .studio-standalone{border-bottom:0}.office-page .page-footer{border-top:0!important}
@media(min-width:761px){body.office-page{height:100svh;overflow-x:hidden;overflow-y:scroll}.office-page .standard-main{height:calc(100svh - 68px);padding-top:66px;overflow:hidden}.office-page .studio-standalone{grid-template-columns:38% 62%;height:100%;min-height:0;overflow:hidden;border-bottom:0}.office-page .studio-image{min-height:0}.office-page .studio-copy{padding-top:clamp(36px,4vw,64px);padding-bottom:clamp(36px,4vw,64px)}.office-page .page-footer{height:68px;padding-top:0;padding-bottom:0;align-items:center;border-top:0!important}}

.contact{padding:clamp(92px,11vw,170px) var(--page) 38px;background:var(--blood);color:var(--ice)}.contact .eyebrow{color:rgba(255,255,255,.68)}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(54px,9vw,150px);align-items:end;width:min(1500px,100%);margin:clamp(40px,5vw,70px) auto clamp(100px,12vw,180px)}.contact h1,.contact h2{font-size:clamp(38px,5vw,78px)}.contact-links{display:grid;border-top:1px solid rgba(255,255,255,.28)}.contact-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.28);font-size:11px;font-weight:400;letter-spacing:.13em;text-transform:uppercase;transition:padding-left .3s ease}.contact-links a:hover{padding-left:10px}.contact-links span{font-size:14px}.contact-meta{display:flex;justify-content:flex-end;padding-top:24px;border-top:1px solid rgba(255,255,255,.28);font-size:8px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.contact-page{background:var(--blood)}.contact-standalone{display:flex;min-height:calc(100svh - 66px);flex-direction:column;justify-content:center}.contact-standalone .contact-grid{margin-bottom:0}.contact-page .site-header,.contact-page .site-header.is-solid{border:0!important;border-bottom:0!important;background:rgba(102,0,0,.98);color:#fff;box-shadow:none!important;backdrop-filter:none}.contact-page .site-header.is-solid .brand{color:#fff}.contact-page .site-header.is-solid .site-nav{color:#fff}.contact-main{background:var(--blood)}
.contact-list{display:grid;width:min(900px,100%);margin:auto}.contact-list a{display:grid;grid-template-columns:110px minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:center;padding:clamp(11px,1.5vh,16px) 0;transition:padding-left .3s ease,color .3s ease}.contact-list a:hover{padding-left:7px;color:#d9c7c7}.contact-list span{font-size:10px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.82)}.contact-list strong{font-size:clamp(13px,1vw,15px);font-weight:400;line-height:1.4;letter-spacing:.035em}.contact-list i{display:none}
.footer,.page-footer,.project-footer{display:flex;justify-content:space-between;gap:24px;padding:28px var(--page) 31px;background:inherit;color:rgba(255,255,255,.66);font-size:8px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.listing-page .page-footer,.standard-page:not(.contact-page) .page-footer{background:inherit;color:var(--muted);border-top:1px solid var(--line)}.project-page .project-footer{background:var(--ice);color:var(--muted)}

.project-page .site-header,.project-page .site-header.is-solid{background:transparent;color:#fff;box-shadow:none;backdrop-filter:none}.project-page .site-header.is-solid .brand-logo-light{opacity:1}.project-page .site-header.is-solid .brand-logo-dark{opacity:0}.project-page .site-header.is-solid .site-nav{color:#fff}
.project-detail-pending .project-hero .hero-image{opacity:0;transform:scale(1.012)}.project-hero .hero-image{filter:grayscale(1) saturate(0) contrast(.92);object-position:center 42%;opacity:1;transform:scale(1);transition:opacity .7s ease,transform 1.15s var(--ease-editorial)}.project-hero .hero-shade{background:linear-gradient(180deg,rgba(15,10,9,.3),rgba(15,10,9,.12) 50%,rgba(15,10,9,.42))}
.project-hero-copy{position:absolute;z-index:3;top:50%;left:50%;width:min(1200px,calc(100% - (2 * var(--page))));text-align:center;text-shadow:0 2px 28px rgba(0,0,0,.34);transform:translate(-50%,-50%)}.project-hero-copy h1{margin:0;font-size:clamp(34px,5vw,78px);font-weight:300;line-height:1;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:#f4efe9}.project-hero-copy p{display:flex;justify-content:center;gap:22px;margin:25px 0 0;font-size:11px;font-weight:500;letter-spacing:.21em;text-transform:uppercase;color:rgba(255,255,255,.8)}.project-hero-copy p span+span:before{content:"·";margin-right:22px}
.project-back{position:fixed;z-index:95;top:92px;left:var(--page);font-size:9px;font-weight:500;letter-spacing:.17em;text-transform:uppercase;color:#f4efe9;mix-blend-mode:difference;transition:opacity .3s ease,visibility .3s ease}.project-back:hover{opacity:.65}.project-back.is-hidden{visibility:hidden;opacity:0;pointer-events:none}
.project-favorite-detail{position:fixed;z-index:95;top:87px;right:var(--page);display:flex;align-items:center;gap:8px;padding:4px 0;border:0;background:transparent;color:#f4efe9;font-size:8px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;mix-blend-mode:difference;cursor:pointer;transition:opacity .3s ease}.project-favorite-detail:hover{opacity:.65}.project-favorite-detail span{display:block;font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:400;line-height:1;transform:scaleX(1.08) scaleY(.97)}.project-favorite-detail small{font:inherit}.project-favorite-detail[aria-pressed="true"] span{color:#b77a70}
.project-gallery{padding:var(--gap);background:var(--ice)}.project-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(280px,31vw,520px);gap:var(--gap);width:min(1800px,100%);margin:auto}.project-gallery figure{height:100%;min-width:0;margin:0;overflow:hidden;background:#d9d8d5}.project-gallery figure.span-2{grid-column:span 2}.project-gallery img{height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.project-gallery figure:hover img{transform:scale(1.018)}
.project-gallery--single .project-gallery-grid{display:block;width:min(1800px,100%)}.project-gallery--single figure{height:auto;margin:0 0 var(--gap)}.project-gallery--single figure:last-child{margin-bottom:0}.project-gallery--single img{height:auto;aspect-ratio:16/9;object-fit:cover}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .82s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}
@keyframes hero-settle{from{opacity:.55;transform:scale(1.055)}to{opacity:1;transform:scale(1.015)}}
@keyframes scroll-cue{0%{transform:translateY(0);opacity:0}20%{opacity:1}70%{opacity:1}100%{transform:translateY(55px);opacity:0}}
@keyframes intro-wordmark-swap{to{visibility:hidden}}
@keyframes intro-parts-reveal{to{visibility:visible}}
@keyframes intro-tail-contract{to{opacity:0;transform:scaleX(0)}}
@keyframes intro-c-first-meet{from{transform:translateX(0)}to{transform:translateX(44%)}}
@keyframes intro-parts-exit{to{opacity:0;transform:scale(.92)}}
@keyframes intro-overlay-fade{to{opacity:0;visibility:hidden}}
@keyframes intro-hero-reveal{from{transform:scale(1.045)}to{transform:scale(1)}}

@media(max-width:1050px){
  .site-nav{position:fixed;z-index:-1;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;padding:110px var(--page) 60px;background:var(--ice);color:var(--ink);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}.site-nav.is-open{opacity:1;visibility:visible}.site-nav a{width:100%;padding:13px 0;border:0;font-size:clamp(27px,6vw,44px);font-weight:400;letter-spacing:.05em}.site-nav a:after{display:none}.listing-page .site-nav,.office-page .site-nav{color:var(--ink)}.menu-toggle{display:flex;align-items:center;gap:13px;padding:12px 0;border:0;background:transparent;color:inherit;font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.menu-toggle-lines{position:relative;width:19px;height:12px}.menu-toggle-lines i{position:absolute;right:0;width:19px;height:1px;background:currentColor;transition:top .3s ease,transform .3s ease}.menu-toggle-lines i:first-child{top:3px}.menu-toggle-lines i:last-child{top:9px}.menu-toggle[aria-expanded="true"]{color:var(--ink)}.menu-toggle[aria-expanded="true"] .menu-toggle-lines i:first-child{top:6px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-toggle-lines i:last-child{top:6px;transform:rotate(-45deg)}.site-header.menu-active{color:var(--ink)}.site-header.menu-active .brand{color:var(--blood);text-shadow:none}
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(280px,45vw,460px)}.studio{grid-template-columns:1fr 1fr}.project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(280px,48vw,500px)}.project-gallery figure.span-2{grid-column:span 2}
}
@media(max-width:760px){
  :root{--page:19px;--gap:7px}.site-header{min-height:66px}.brand{width:120px;height:40px}.brand-intro-mark{width:60vw}.menu-toggle-label{display:none}.hero{min-height:580px}.hero-image{object-position:62% center}.home-hero .hero-slide img{object-position:58% center}.home-hero .hero-slide:nth-child(2) img{object-position:63% center}.home-hero .hero-slide:nth-child(3) img{object-position:58% center}.scroll-indicator{right:auto;left:var(--page);bottom:18px;flex-direction:row-reverse}.slider-controls{bottom:20px}.project-back{top:80px}
  .projects{padding-right:var(--gap);padding-left:var(--gap);padding-bottom:84px}.projects-page{padding-top:34px}.filter-bar{align-items:flex-start;gap:20px;margin-bottom:38px;padding:0 12px 14px}.filter-options{display:grid;gap:8px}.filter-bar button{font-size:8px}.project-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:47px}.project-card.is-wide{grid-column:auto}.project-link{height:auto}.project-card figure{height:auto;aspect-ratio:1.08/1}.project-info{padding:12px 12px 0}.project-info>strong,.project-info small{font-size:10px}.project-hover{display:none}.favorite-button{top:12px;right:12px}
  .studio{grid-template-columns:1fr;min-height:0}.studio-image{min-height:0;aspect-ratio:1.12/1}.studio-copy{padding:68px 19px 78px}.studio-copy .eyebrow{margin-bottom:30px}.studio-copy h1,.studio-copy h2{font-size:35px}.contact{padding-top:76px}.contact-grid{grid-template-columns:1fr;margin-top:32px;margin-bottom:100px}.contact h1,.contact h2{font-size:38px}.contact-links{margin-top:6px}.contact-links a{font-size:9px}.footer,.page-footer,.project-footer{display:grid;line-height:1.7}.contact-standalone{min-height:calc(100svh - 66px);padding-bottom:72px}.contact-standalone .contact-grid{margin-bottom:0}
  .contact-list a{grid-template-columns:1fr;gap:4px;padding:11px 0}.contact-list span{font-size:9px}.contact-list strong{font-size:14px;overflow-wrap:anywhere}
  .project-hero .hero-image{object-position:57% center}.project-hero-copy h1{font-size:clamp(24px,7.5vw,38px);line-height:1.05}.project-hero-copy p{gap:13px;margin-top:18px}.project-hero-copy p span+span:before{margin-right:13px}.project-gallery{padding:var(--gap)}.project-gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto}.project-gallery figure,.project-gallery figure.span-2{grid-column:auto;height:auto;aspect-ratio:1.08/1}
}


/* Architectural 404 — a drafting gesture rather than a generic error screen. */
.error-page{background:var(--paper);color:var(--ink)}
.error-main{position:relative;display:flex;min-height:100svh;align-items:center;justify-content:center;overflow:hidden;padding:140px var(--page) 80px}
.error-copy{position:relative;z-index:2;width:min(850px,100%);margin-top:-9svh;text-align:center}
.error-copy>p{margin:0 0 32px;color:var(--blood);font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.error-copy h1{margin:0;font-size:clamp(43px,6vw,92px);font-weight:400;line-height:.98;letter-spacing:-.052em;text-wrap:balance}
.error-copy>a{display:inline-flex;align-items:center;margin-top:42px;padding-bottom:9px;border-bottom:1px solid rgba(102,0,0,.45);color:var(--blood);font-size:13px;font-weight:600}.error-copy>a i{margin-left:13px}
.error-drawing{position:absolute;right:0;bottom:0;left:0;height:34svh;min-height:260px;pointer-events:none}
.error-number{position:absolute;right:var(--page);bottom:-.18em;color:transparent;font-size:clamp(180px,28vw,490px);font-weight:600;line-height:.75;letter-spacing:-.09em;-webkit-text-stroke:1px rgba(102,0,0,.14)}
.error-rule{position:absolute;right:var(--page);bottom:19%;left:var(--page);height:1px;background:rgba(18,17,17,.18);transform-origin:left;animation:error-rule-draw 1.25s var(--ease-editorial) .2s both}
.error-pencil{position:absolute;z-index:2;bottom:calc(19% - 8px);left:12%;width:57vw;max-width:900px;height:17px;border-radius:2px 9px 9px 2px;background:var(--blood);box-shadow:inset 0 -4px rgba(18,17,17,.16);transform:rotate(-3deg);animation:error-pencil-arrive 1.25s var(--ease-editorial) .35s both}
.error-pencil:before{content:"";position:absolute;right:100%;top:0;border-top:8.5px solid transparent;border-right:34px solid #d9b99b;border-bottom:8.5px solid transparent}
.error-pencil:after{content:"";position:absolute;right:calc(100% + 28px);top:5px;border-top:3.5px solid transparent;border-right:12px solid #292625;border-bottom:3.5px solid transparent}
.error-pencil i{position:absolute;right:10%;top:3px;width:1px;height:11px;background:rgba(255,255,255,.38)}
@keyframes error-rule-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes error-pencil-arrive{from{opacity:0;transform:translateX(26vw) rotate(-3deg)}to{opacity:1;transform:translateX(0) rotate(-3deg)}}
@media(max-width:760px){.error-main{padding:120px 19px 70px}.error-copy{margin-top:-16svh;text-align:left}.error-copy h1{font-size:47px}.error-drawing{height:30svh}.error-number{right:19px;font-size:52vw}.error-rule{right:19px;left:19px}.error-pencil{left:21%;width:74vw;height:13px}.error-pencil:before{border-top-width:6.5px;border-right-width:26px;border-bottom-width:6.5px}.error-pencil:after{right:calc(100% + 21px);top:4px}}

/* Preserve the hero's centering while its copy enters. */
.project-detail-ready .project-hero-copy{animation:project-hero-copy-arrive .82s var(--ease-editorial) .92s both}
@keyframes project-hero-copy-arrive{from{opacity:0;transform:translate(-50%,calc(-50% + 14px))}to{opacity:1;transform:translate(-50%,-50%)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.brand-intro{display:none}.home-page.intro-running .site-header{opacity:1}}

/* 2026 editorial evolution — previous typography preserved in archive/ */
:root{--ease-editorial:cubic-bezier(.22,.72,.18,1);--ease-precise:cubic-bezier(.76,0,.24,1);--motion-fast:380ms;--motion-main:760ms}
.site-nav,.filter-bar button,.eyebrow,.section-index{font-weight:500}.project-info>strong{font-size:9px;font-weight:500;letter-spacing:.055em}.project-info small{font-size:9px;letter-spacing:.095em}.project-hover strong{letter-spacing:.045em}.project-hero-copy h1{letter-spacing:.025em;text-transform:none}.project-hero-copy p{letter-spacing:.16em}.reveal{transition-duration:var(--motion-main);transition-timing-function:var(--ease-editorial)}
.hero-slide{transition-duration:1.25s}.hero-slide:nth-child(even) img{transform:scale(1.045) translateX(-.5%)}.hero-slide:nth-child(odd) img{transform:scale(1.045) translateX(.5%)}.hero-slide.is-active img{transform:scale(1) translateX(0)}

/* Personal curation */
body.curation-open{overflow:hidden}.curation-scrim{position:fixed;z-index:299;inset:0;background:rgba(25,13,12,.28);opacity:0;backdrop-filter:blur(2px);transition:opacity .45s ease}.curation-scrim.is-open{opacity:1}.curation-panel{position:fixed;z-index:300;top:0;right:0;display:flex;width:min(520px,100%);height:100svh;flex-direction:column;padding:clamp(28px,4vw,56px);background:var(--ice);color:var(--ink);box-shadow:-24px 0 80px rgba(58,25,24,.12);visibility:hidden;transform:translateX(102%);transition:transform .62s var(--ease-editorial),visibility .62s}.curation-panel.is-open{visibility:visible;transform:none}.curation-header{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding-bottom:26px;border-bottom:1px solid var(--line)}.curation-header .eyebrow{margin:0 0 12px;font-size:9px}.curation-header h2{margin:0;font-size:clamp(27px,3vw,42px);font-weight:300;line-height:1.05;letter-spacing:.015em}.curation-close{padding:5px 0;border:0;background:transparent;color:var(--ink);font-size:9px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}.curation-intro{max-width:390px;margin:25px 0 32px;font-size:13px;line-height:1.65}.curation-list{display:grid;gap:1px;overflow-y:auto;border-top:1px solid var(--line)}.curation-item{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.curation-item>a{display:grid;grid-template-columns:76px 1fr;gap:16px;align-items:center}.curation-item img{height:60px;object-fit:cover;filter:grayscale(1)}.curation-item span{display:grid;gap:5px}.curation-item strong{font-size:11px;font-weight:500;letter-spacing:.035em}.curation-item small{font-size:8px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.curation-order{display:flex;gap:7px}.curation-order button{width:25px;height:30px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer}.curation-order button:disabled{opacity:.2}.curation-order [data-remove]{margin-left:4px;font-size:18px;font-weight:300}.curation-empty{margin:auto 0;color:rgba(18,17,17,.55);font-size:12px;line-height:1.6}.curation-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:auto;padding-top:28px}.curation-actions button,.curation-actions a{display:grid;min-height:54px;place-items:center;padding:10px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:8px;font-weight:500;letter-spacing:.11em;text-align:center;text-transform:uppercase;cursor:pointer;transition:background .3s ease,color .3s ease}.curation-actions button:hover,.curation-actions a:hover{background:var(--blood);color:var(--ice)}.interface-toast{position:fixed;z-index:400;right:30px;bottom:28px;margin:0;padding:12px 17px;background:var(--blood);color:var(--ice);font-size:9px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .3s ease,transform .3s ease}.interface-toast.is-visible{opacity:1;transform:none}

.curation-action-area{margin-top:auto;padding-top:28px}.curation-actions{grid-template-columns:repeat(2,1fr);margin-top:0;padding-top:0}.curation-actions button:disabled{cursor:wait;opacity:.55}.share-options{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:1px}.share-options[hidden],.email-share[hidden]{display:none!important}.share-options button,.share-options a{display:grid;min-height:46px;place-items:center;padding:9px;border:1px solid var(--line);background:#ebeceb;color:var(--ink);font-size:8px;font-weight:500;letter-spacing:.1em;text-align:center;text-transform:uppercase;cursor:pointer}.share-options button:hover,.share-options a:hover{background:#efe7e0}.email-share{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,70px);background:rgba(242,244,243,.98)}.email-share label{max-width:360px;margin-bottom:34px;font-size:clamp(23px,3vw,38px);font-weight:300;line-height:1.18}.email-share input{width:100%;padding:15px 0;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:15px;outline:0}.email-share>div{display:flex;gap:28px;margin-top:30px}.email-share button{padding:7px 0;border:0;background:transparent;color:var(--ink);font-size:9px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}

/* Editorial project 03 */
.project-special{background:var(--ice);color:var(--ink)}.editorial-intro{display:grid;grid-template-columns:.55fr 1.5fr 1fr;gap:clamp(35px,6vw,110px);padding:clamp(100px,12vw,190px) var(--page)}.section-index{margin:0;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.editorial-lead>span{display:block;margin-bottom:25px;color:rgba(102,0,0,.28);font-size:clamp(70px,10vw,160px);font-weight:300;line-height:.65}.editorial-lead h2,.material-story h2{max-width:650px;margin:0;font-size:clamp(40px,5.7vw,86px);font-weight:300;line-height:.98;letter-spacing:-.015em}.editorial-copy>p{margin:0 0 60px;font-size:clamp(15px,1.4vw,20px);line-height:1.72}.editorial-copy dl,.technical-note dl{margin:0}.editorial-copy dl>div,.technical-note dl>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid var(--line);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.editorial-copy dt,.technical-note dt{font-weight:500}.editorial-copy dd,.technical-note dd{margin:0}.editorial-image{position:relative;margin:0}.editorial-image img{height:100%;object-fit:cover}.editorial-image-wide{height:min(82svh,880px)}.editorial-image figcaption{position:absolute;right:var(--page);bottom:22px;color:#fff;font-size:8px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}.editorial-chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,5vw,90px);padding:clamp(90px,11vw,170px) var(--page)}.editorial-chapters article{padding-top:18px;border-top:1px solid var(--line)}.editorial-chapters span,.immersive-text>span{font-size:9px;font-weight:500;letter-spacing:.16em}.editorial-chapters h3{margin:60px 0 20px;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.editorial-chapters p{max-width:330px;margin:0;font-size:14px;line-height:1.72}.editorial-duo{display:grid;grid-template-columns:1.25fr .75fr;align-items:stretch}.editorial-duo figure{height:75svh;margin:0}.editorial-duo img{height:100%;object-fit:cover}.editorial-duo blockquote{display:flex;align-items:center;margin:0;padding:clamp(50px,8vw,130px);background:#efe7e0;color:var(--blood);font-size:clamp(25px,3.5vw,52px);font-weight:300;line-height:1.25}.material-story{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:clamp(100px,12vw,190px) var(--page)}.material-story .section-index{margin-bottom:45px}.material-swatches{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 15px}.material-swatches span{display:flex;min-height:135px;align-items:flex-end;padding:14px;background:var(--swatch);color:#fff;font-size:8px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.2)}

/* Technical project 04 */
.technical-project{padding:clamp(100px,12vw,180px) var(--page)}.technical-head{display:grid;grid-template-columns:.6fr 1.4fr;gap:60px;margin-bottom:clamp(70px,9vw,130px)}.technical-head>div{display:grid;grid-template-columns:1fr .7fr;gap:60px;align-items:end}.technical-head h2{margin:0;font-size:clamp(42px,5.5vw,82px);font-weight:300;line-height:1}.technical-head>div>p{margin:0;font-size:14px;line-height:1.75}.technical-workbench{border-top:1px solid var(--line)}.technical-toolbar{display:flex;gap:clamp(20px,4vw,60px);padding:20px 0}.technical-toolbar button{position:relative;padding:5px 0;border:0;background:transparent;color:rgba(18,17,17,.5);font-size:9px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;cursor:pointer}.technical-toolbar button:after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:currentColor;transform:scaleX(0);transition:transform .3s}.technical-toolbar button.is-active{color:var(--blood)}.technical-toolbar button.is-active:after,.technical-toolbar button:hover:after{transform:scaleX(1)}.technical-stage{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);min-height:70svh;background:#e9e9e7}.technical-visual{position:relative;min-height:560px;overflow:hidden}.technical-visual img{height:100%;object-fit:cover;transition:filter .7s ease,transform .7s ease,opacity .5s ease}.plan-overlay{position:absolute;inset:8%;opacity:0;transition:opacity .5s ease}.plan-overlay:before,.plan-overlay:after,.plan-overlay i{content:"";position:absolute;border:1px solid rgba(18,17,17,.8)}.plan-overlay:before{inset:0}.plan-overlay:after{inset:12% 48% 12% 12%}.plan-overlay i:nth-child(1){inset:12% 12% 52% 54%}.plan-overlay i:nth-child(2){inset:55% 12% 12% 54%}.plan-overlay i:nth-child(3){top:35%;right:48%;bottom:12%;left:12%;border-left:0}.plan-overlay i:nth-child(4){top:12%;right:12%;bottom:12%;left:80%;border-top:0;border-bottom:0}.plan-overlay span{position:absolute;font-size:9px;font-weight:500}.plan-overlay span:nth-of-type(1){top:16%;left:16%}.plan-overlay span:nth-of-type(2){right:16%;bottom:16%}.technical-scale{position:absolute;bottom:20px;left:20px;color:#fff;font-size:8px;letter-spacing:.15em;text-shadow:0 1px 8px #000}.technical-note{display:flex;flex-direction:column;justify-content:center;padding:clamp(35px,5vw,80px);background:#efe7e0}.technical-note>span{font-size:9px;font-weight:500;letter-spacing:.14em}.technical-note h3{margin:clamp(50px,7vw,100px) 0 20px;font-size:clamp(27px,3vw,46px);font-weight:300}.technical-note>p{margin:0 0 60px;font-size:13px;line-height:1.7}.technical-materials{display:grid;grid-template-columns:repeat(4,1fr);height:0;overflow:hidden;transition:height .6s var(--ease-editorial)}.technical-materials span{display:flex;min-height:180px;align-items:flex-end;padding:14px;background:var(--material);color:#fff;font-size:8px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}.technical-workbench[data-technical-mode="planta"] .technical-visual img{filter:grayscale(1) brightness(1.55) contrast(.25);transform:scale(1.02)}.technical-workbench[data-technical-mode="planta"] .plan-overlay{opacity:1}.technical-workbench[data-technical-mode="croqui"] .technical-visual img{filter:grayscale(1) contrast(2.2) brightness(1.2);opacity:.55}.technical-workbench[data-technical-mode="croqui"] .plan-overlay{opacity:.55}.technical-workbench[data-technical-mode="materiais"] .technical-visual img{filter:saturate(.55) sepia(.12)}.technical-workbench[data-technical-mode="materiais"] .technical-materials{height:180px}

.technical-project{padding:clamp(28px,4vw,54px) var(--page) clamp(80px,10vw,150px)}.technical-stage{display:block;grid-template-columns:none}.technical-visual{height:min(82svh,880px)}

/* Immersive project 05 */
.immersive-project{padding:clamp(100px,12vw,180px) 0}.immersive-opening{display:grid;grid-template-columns:.55fr 1.45fr;gap:60px;padding:0 var(--page) clamp(100px,12vw,180px)}.immersive-opening h2{max-width:980px;margin:0;font-size:clamp(45px,7vw,106px);font-weight:300;line-height:.95;letter-spacing:-.02em}.immersive-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(70px,10vw,160px) var(--gap)}.immersive-gallery figure{margin:0}.immersive-gallery img{height:100%;object-fit:cover}.immersive-gallery figcaption{display:flex;gap:18px;margin-top:13px;font-size:9px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}.immersive-landscape{grid-column:1/13;height:84svh}.immersive-portrait{grid-column:2/7;height:85svh}.immersive-text{grid-column:8/12;align-self:center}.immersive-text p{margin:55px 0 0;font-size:clamp(23px,3vw,42px);font-weight:300;line-height:1.35}.immersive-offset{grid-column:6/13;height:72svh}.immersive-full{grid-column:1/13;height:90svh}

/* Office editorial — restrained scale */
.office-page{background:var(--paper)}body.office-page{height:auto;overflow-x:hidden;overflow-y:auto}.office-page .standard-main{height:auto;min-height:0;padding-top:66px;overflow:visible}.office-hero{display:grid;grid-template-columns:2fr 1fr;min-height:calc(100svh - 133px)}.office-hero-image{position:relative;overflow:hidden}.office-hero-image img{height:100%;object-fit:cover;object-position:center 43%;filter:saturate(.92) contrast(.98);transition:filter .8s ease,transform 1.2s var(--ease-editorial)}.office-hero-image:hover img{filter:saturate(1) contrast(1);transform:scale(1.008)}.office-hero-image>span{position:absolute;right:25px;bottom:24px;color:#fff;font-size:8px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 12px rgba(0,0,0,.35)}.office-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,4.1vw,68px)}.office-hero-copy .eyebrow{margin:0 0 clamp(24px,3vw,40px)}.office-hero-copy h1{max-width:470px;margin:0;color:var(--blood);font-size:clamp(25px,2.15vw,34px);font-weight:300;line-height:1.18;letter-spacing:.01em}.office-hero-copy>p:not(.eyebrow){max-width:470px;margin:26px 0 0;font-size:clamp(13px,.9vw,14px);font-weight:400;line-height:1.68}.office-hero-copy>p:not(.eyebrow)+p{margin-top:14px}.office-page .page-footer{height:67px;padding-top:0;padding-bottom:0;align-items:center;border-top:0!important}

/* Contact precision */
.contact-list{position:relative}.contact-availability{display:flex;align-items:center;gap:10px;margin:0 0 52px;font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.68)}.contact-availability span{width:5px;height:5px;border-radius:50%;background:#c7a6a0;box-shadow:0 0 0 5px rgba(199,166,160,.08)}.contact-list a{transition:color .35s ease,transform .5s var(--ease-editorial)}.contact-list a:hover{padding-left:0;transform:translateX(7px)}

@media(max-width:900px){.editorial-intro,.office-manifesto{grid-template-columns:1fr 1.6fr}.editorial-intro>.section-index,.office-manifesto>.section-index{grid-column:1/-1}.editorial-copy{grid-column:2}.technical-head,.immersive-opening{grid-template-columns:1fr}.technical-head>div{grid-template-columns:1fr 1fr}.technical-stage{grid-template-columns:1fr}.technical-note{min-height:400px}.office-hero{grid-template-columns:1fr 1.15fr}.office-manifesto .office-body{grid-column:2}.office-process-head{grid-template-columns:1fr}.office-people{grid-template-columns:1fr 1fr}.curation-panel{width:min(500px,100%)}}
@media(max-width:760px){.project-hero-copy h1{text-transform:none;letter-spacing:.01em}.project-favorite-detail{top:82px;right:19px}.project-favorite-detail small{display:none}.editorial-intro,.editorial-chapters,.material-story,.technical-head>div,.office-manifesto,.office-principles,.process-track,.office-people{grid-template-columns:1fr}.editorial-intro,.technical-project,.immersive-opening,.office-manifesto,.office-process,.office-people{padding-right:19px;padding-left:19px}.editorial-copy{grid-column:auto}.editorial-image-wide{height:68svh}.editorial-chapters{padding:90px 19px}.editorial-chapters h3{margin-top:35px}.editorial-duo{grid-template-columns:1fr}.editorial-duo figure{height:58svh}.editorial-duo blockquote{min-height:420px}.material-swatches{margin-top:20px}.technical-toolbar{overflow-x:auto}.technical-stage{display:block}.technical-visual{min-height:62svh}.technical-note{min-height:430px}.technical-materials{grid-template-columns:repeat(2,1fr)}.technical-workbench[data-technical-mode="materiais"] .technical-materials{height:360px}.immersive-gallery{row-gap:80px}.immersive-landscape,.immersive-full{height:66svh}.immersive-portrait{grid-column:1/10;height:65svh}.immersive-text{grid-column:3/12;padding:40px 0}.immersive-offset{grid-column:3/13;height:58svh}.office-hero{grid-template-columns:1fr;min-height:0}.office-hero-image{height:58svh}.office-hero-copy{padding:62px 19px 76px}.office-hero-copy h1{font-size:30px}.office-manifesto .office-body{grid-column:auto}.office-principles{display:block}.office-principles article{min-height:310px;border-bottom:1px solid var(--line)}.office-principles h3{margin-top:100px}.process-track{background:transparent}.process-track li{min-height:220px;border-top:1px solid rgba(255,255,255,.25)}.office-people figure img{height:65svh}.curation-panel{padding:27px 19px}.curation-intro{margin:20px 0}.curation-actions{grid-template-columns:1fr}.curation-actions button,.curation-actions a{min-height:43px}.curation-item>a{grid-template-columns:58px 1fr}.curation-item img{height:52px}.curation-order{gap:1px}.interface-toast{right:15px;bottom:15px;left:15px;text-align:center}.contact-availability{margin-bottom:40px}}
@media print{body.printing-curation>*:not(.curation-panel){display:none!important}body.printing-curation .curation-panel{position:static;display:block;width:100%;height:auto;padding:30px;box-shadow:none;visibility:visible;transform:none}body.printing-curation .curation-close,body.printing-curation .curation-actions,body.printing-curation .curation-order{display:none!important}body.printing-curation .curation-list{overflow:visible}body.printing-curation .curation-item img{filter:none}}
@media(max-width:480px){.share-options{grid-template-columns:1fr}.share-options button,.share-options a{min-height:40px}}

/* Office portrait scale */
@media(min-width:901px){.office-hero{align-items:center;gap:clamp(44px,5vw,82px);padding:clamp(34px,4vw,64px) var(--page)}.office-hero-image{width:auto;max-width:100%;height:min(68svh,720px);aspect-ratio:2/3;align-self:center;justify-self:center}.office-hero-copy{padding:0}}
@media(min-width:761px) and (max-width:900px){.office-hero{grid-template-columns:1.3fr 1fr;align-items:center;gap:38px;padding:42px var(--page)}.office-hero-image{width:auto;max-width:100%;height:min(62svh,640px);aspect-ratio:2/3;justify-self:center}.office-hero-copy{padding:0}}
@media(max-width:760px){.office-hero{padding-top:38px}.office-hero-image{width:min(76%,420px);height:auto;aspect-ratio:2/3;justify-self:center}.office-hero-copy{padding-top:56px}}

/* Home horizontal journey */
.home-journey{--home-progress:0;height:200svh;background:var(--ice)}.home-journey-sticky{position:sticky;top:0;height:100svh;overflow:hidden}.home-journey-track{display:flex;width:200vw;height:100%;transform:translate3d(calc(var(--home-progress) * -100vw),0,0);will-change:transform}.home-journey-track>section{flex:0 0 100vw}.home-horizontal-cue{position:absolute;z-index:4;right:var(--page);bottom:28px;display:flex;align-items:center;gap:14px;margin:0;color:rgba(255,255,255,.78);font-size:8px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.home-horizontal-cue i{position:relative;width:52px;height:1px;overflow:hidden;background:rgba(255,255,255,.28)}.home-horizontal-cue i:after{content:"";position:absolute;top:0;left:-18px;width:18px;height:1px;background:#fff;animation:horizontal-cue 2.2s ease-in-out infinite}.home-office-panel{display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:clamp(55px,7vw,115px);height:100svh;padding:clamp(70px,8vw,130px) var(--page);background:var(--ice);color:var(--ink)}.home-office-image{width:auto;height:min(72svh,760px);aspect-ratio:2/3;justify-self:center;margin:0;overflow:hidden}.home-office-image img{height:100%;object-fit:cover;object-position:center 43%;filter:saturate(.88) contrast(.98);transition:filter .7s ease,transform 1.1s var(--ease-editorial)}.home-office-image:hover img{filter:saturate(1);transform:scale(1.008)}.home-office-copy{max-width:520px}.home-office-copy .eyebrow{margin-bottom:clamp(30px,4vw,55px)}.home-office-copy h2{margin:0;color:var(--blood);font-size:clamp(30px,3.4vw,50px);font-weight:300;line-height:1.1}.home-office-copy>p:not(.eyebrow){margin:32px 0 0;font-size:14px;font-weight:400;line-height:1.75}.home-office-copy>a{display:flex;justify-content:space-between;margin-top:48px;padding:15px 0;border-top:1px solid var(--line);font-size:9px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
@keyframes horizontal-cue{0%{transform:translateX(0);opacity:0}20%{opacity:1}75%{opacity:1}100%{transform:translateX(70px);opacity:0}}

/* Project 06 — narrative and project/reality comparison */
.project-case-study{background:var(--ice);color:var(--ink)}.case-intro{display:grid;grid-template-columns:.45fr 1.15fr .5fr;gap:clamp(40px,6vw,105px);padding:clamp(95px,11vw,165px) var(--page)}.case-intro>div h2{max-width:650px;margin:0;color:var(--blood);font-size:clamp(30px,3.8vw,52px);font-weight:300;line-height:1.12}.case-intro>div p{max-width:650px;margin:38px 0 0;font-size:14px;font-weight:400;line-height:1.8}.case-intro dl{align-self:end;margin:0}.case-intro dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid var(--line);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.case-intro dt{font-weight:500}.case-intro dd{margin:0}.case-comparison{padding:0 var(--page) clamp(120px,12vw,185px)}.case-comparison>header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 0;border-top:1px solid var(--line)}.case-state-switch{display:flex;gap:30px}.case-state-switch button,.case-project-options button{position:relative;padding:5px 0;border:0;background:transparent;color:rgba(18,17,17,.48);font-size:9px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:color .3s ease}.case-state-switch button:after,.case-project-options button:after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:currentColor;transform:scaleX(0);transition:transform .3s ease}.case-state-switch button.is-active,.case-project-options button.is-active{color:var(--blood)}.case-state-switch button.is-active:after,.case-project-options button.is-active:after,.case-state-switch button:hover:after,.case-project-options button:hover:after{transform:scaleX(1)}.case-project-options{display:flex;gap:clamp(22px,4vw,58px);max-height:52px;padding:15px 0;overflow:hidden;border-top:1px solid var(--line);opacity:1;transition:max-height .45s var(--ease-editorial),padding .45s var(--ease-editorial),opacity .3s ease}.case-project-options[aria-hidden="true"]{max-height:0;padding-top:0;padding-bottom:0;border-top-color:transparent;opacity:0;pointer-events:none}.case-comparison-visual{position:relative;height:min(82svh,880px);margin:0;overflow:hidden;background:#d9d8d5}.case-comparison-visual>img{height:100%;object-fit:cover;transition:filter .75s var(--ease-editorial),opacity .55s ease,transform .8s var(--ease-editorial)}.case-plan{position:absolute;inset:8%;opacity:0;transition:opacity .55s ease}.case-plan:before,.case-plan:after,.case-plan i{content:"";position:absolute;border:1px solid rgba(18,17,17,.82)}.case-plan:before{inset:0}.case-plan:after{inset:11% 49% 11% 11%}.case-plan i:nth-child(1){inset:11% 11% 52% 55%}.case-plan i:nth-child(2){inset:55% 11% 11% 55%}.case-plan i:nth-child(3){inset:38% 49% 11% 11%;border-left:0}.case-plan i:nth-child(4){inset:11% 11% 11% 81%;border-top:0;border-bottom:0}.case-plan span{position:absolute;font-size:8px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.case-plan span:nth-of-type(1){top:16%;left:16%}.case-plan span:nth-of-type(2){right:17%;top:17%}.case-plan span:nth-of-type(3){right:17%;bottom:17%}.case-materials{position:absolute;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);height:0;overflow:hidden;opacity:0;transition:height .6s var(--ease-editorial),opacity .4s ease}.case-materials span{display:flex;align-items:flex-end;padding:18px;background:var(--material);color:#fff;font-size:8px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.25)}.case-comparison[data-case-state="projeto"] .case-comparison-visual>img{filter:grayscale(1) brightness(1.52) contrast(.28);transform:scale(1.012)}.case-comparison[data-case-state="projeto"] .case-plan{opacity:1}.case-comparison[data-case-state="projeto"][data-case-mode="croqui"] .case-comparison-visual>img{filter:grayscale(1) contrast(2.15) brightness(1.18);opacity:.55}.case-comparison[data-case-state="projeto"][data-case-mode="croqui"] .case-plan{opacity:.5}.case-comparison[data-case-state="projeto"][data-case-mode="materiais"] .case-comparison-visual>img{filter:saturate(.48) sepia(.1);opacity:1}.case-comparison[data-case-state="projeto"][data-case-mode="materiais"] .case-plan{opacity:0}.case-comparison[data-case-state="projeto"][data-case-mode="materiais"] .case-materials{height:28%;opacity:1}.case-gallery{display:grid;gap:clamp(70px,9vw,150px);padding:0 var(--gap) clamp(110px,12vw,180px)}.case-gallery figure{margin:0;overflow:hidden}.case-gallery img{height:100%;object-fit:cover;transition:transform 1s var(--ease-editorial)}.case-gallery figure:hover img{transform:scale(1.012)}.case-wide{height:min(88svh,940px)}.case-wide-offset{width:calc(100% - (2 * var(--page)));justify-self:center}.case-duo{display:grid;grid-template-columns:.82fr 1.18fr;gap:var(--gap);height:min(82svh,860px);padding:0 var(--page)}.case-duo figure:nth-child(1){height:72%;align-self:start}.case-duo figure:nth-child(2){height:82%;align-self:end}.case-duo-reverse{grid-template-columns:1.2fr .8fr}.case-duo-reverse figure:nth-child(1){height:82%;align-self:end}.case-duo-reverse figure:nth-child(2){height:70%;align-self:start}

@media(max-width:900px){.home-office-panel{grid-template-columns:1fr 1fr;gap:45px}.home-office-image{height:min(66svh,680px)}.case-intro{grid-template-columns:1fr 1.6fr}.case-intro>.section-index{grid-column:1/-1}.case-intro dl{grid-column:2}}
@media(max-width:760px){.home-journey{height:auto}.home-journey-sticky{position:static;height:auto;overflow:visible}.home-journey-track{display:block;width:100%;height:auto;transform:none!important}.home-journey-track>section{width:100%}.home-horizontal-cue{display:none}.home-office-panel{grid-template-columns:1fr;height:auto;min-height:100svh;padding:95px 19px 80px}.home-office-image{width:min(74%,420px);height:auto;aspect-ratio:2/3}.home-office-copy{max-width:100%}.home-office-copy h2{font-size:34px}.case-intro{grid-template-columns:1fr;padding:90px 19px}.case-intro dl{grid-column:auto;margin-top:15px}.case-comparison{padding-right:19px;padding-bottom:110px;padding-left:19px}.case-comparison>header{align-items:flex-start}.case-state-switch{gap:20px}.case-comparison-visual{height:62svh}.case-project-options{overflow-x:auto}.case-materials{grid-template-columns:repeat(2,1fr)}.case-comparison[data-case-state="projeto"][data-case-mode="materiais"] .case-materials{height:42%}.case-gallery{gap:65px;padding-bottom:110px}.case-wide{height:62svh}.case-wide-offset{width:100%}.case-duo,.case-duo-reverse{grid-template-columns:1fr;height:auto;padding:0 19px}.case-duo figure,.case-duo figure:nth-child(1),.case-duo figure:nth-child(2),.case-duo-reverse figure:nth-child(1),.case-duo-reverse figure:nth-child(2){height:auto;aspect-ratio:4/5}.case-duo figure+figure{margin-top:var(--gap)}}
@media(prefers-reduced-motion:reduce){.home-journey{height:auto}.home-journey-sticky{position:static;height:auto;overflow:visible}.home-journey-track{display:block;width:100%;height:auto;transform:none!important}.home-journey-track>section{width:100%}}

/* Cinematic opening and directional hero changes */
.home-page .brand-intro{animation:intro-overlay-fade .95s 2.72s var(--ease-editorial) forwards;will-change:opacity}.home-page.intro-running .hero-slide.is-active img{animation:opening-hero-settle 2.25s 2.5s var(--ease-editorial) both}.home-page .hero-slide{z-index:0;opacity:1;visibility:hidden;clip-path:inset(0 0 0 100%);transition:none}.home-page .hero-slide.is-leaving{z-index:1;opacity:1;visibility:visible;clip-path:inset(0)}.home-page .hero-slide.is-active{z-index:2;opacity:1;visibility:visible;animation:hero-directional-reveal 1.35s var(--ease-precise) both}.home-page .hero-slide img{transform:scale(1.035) translateX(1.2%);transition:transform 5.2s var(--ease-editorial)}.home-page .hero-slide.is-active img{transform:scale(1) translateX(0)}
@keyframes intro-curtain-reveal{0%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(100% 0 0 0);visibility:hidden}}
@keyframes opening-hero-settle{0%{filter:brightness(.72);transform:scale(1.075)}100%{filter:brightness(1);transform:scale(1)}}
@keyframes hero-directional-reveal{0%{clip-path:inset(0 0 0 100%)}100%{clip-path:inset(0)}}
.project-presentation{background:var(--ice)}
@media(prefers-reduced-motion:reduce){.home-page .brand-intro{display:none}.home-page .hero-slide{animation:none!important;clip-path:none}.home-page .hero-slide:not(.is-active){display:none}.home-page .hero-slide.is-active img{animation:none!important}}

/* 2026 refined system — precise typography, quiet motion, image-led projects */
body{font-family:"Instrument Sans","Avenir Next","Helvetica Neue",Arial,sans-serif;font-weight:400;letter-spacing:-.006em}
.site-nav{font-size:10px;font-weight:500;letter-spacing:.115em}
.filter-bar button,.eyebrow,.section-index{font-weight:500;letter-spacing:.13em}
.office-hero-copy h1,.project-hero-copy h1,.case-intro>div h2,.curation-header h2,.email-share label{font-weight:400;letter-spacing:-.025em}
.office-hero-copy>p:not(.eyebrow),.case-intro>div p,.curation-intro{font-weight:400;letter-spacing:-.006em}
.project-hero-copy p,.case-state-switch button,.case-project-options button{font-weight:500;letter-spacing:.105em}

/* Home is once again a single cinematic viewport. */
.home-page main,.home-page .home-hero{height:100svh}
.home-page .hero-slide{z-index:0;opacity:0;visibility:hidden;clip-path:none;filter:brightness(.88) blur(2px);transition:none}
.home-page .hero-slide.is-active{z-index:2;opacity:1;visibility:visible;clip-path:none;filter:none;animation:hero-soft-reveal 1.65s var(--ease-editorial) both}
.home-page .hero-slide.is-leaving{z-index:1;opacity:0;visibility:visible;clip-path:none;filter:brightness(.92) blur(1.5px);animation:hero-soft-leave 1.65s var(--ease-editorial) both}
.home-page .hero-slide img{transform:scale(1.028);transition:transform 6s var(--ease-editorial)}
.home-page .hero-slide.is-active img{transform:scale(1)}
@keyframes hero-soft-reveal{0%{opacity:0;filter:brightness(.82) blur(3px)}100%{opacity:1;filter:brightness(1) blur(0)}}
@keyframes hero-soft-leave{0%{opacity:1;filter:brightness(1) blur(0)}100%{opacity:0;filter:brightness(.92) blur(1.5px)}}

/* Project index: no floating card — the information belongs to the image. */
.project-grid{counter-reset:project-index;row-gap:clamp(54px,6.5vw,104px)}
.project-card{counter-increment:project-index}
.project-card figure{background:#d7d5d1}
.project-card img{filter:saturate(.92) contrast(.99);transform:scale(1.004);transition:filter .7s ease,transform 1.25s var(--ease-editorial)}
.project-hover{inset:0;top:auto;left:auto;display:flex;width:auto;aspect-ratio:auto;align-items:center;justify-content:center;padding:clamp(20px,2.2vw,34px);background:transparent;color:#f4efe9;text-align:center;opacity:0;transform:none;transition:opacity .55s ease}
.is-wide .project-hover{width:auto}
.project-hover:before{display:none}
.project-hover strong{font-size:clamp(17px,1.5vw,24px);font-weight:400;line-height:1.12;letter-spacing:-.012em;text-transform:none}
.project-hover i{width:48px;height:1px;margin:clamp(13px,1.2vw,18px) 0;background:rgba(244,239,233,.7)}
.project-hover small{color:#f4efe9;font-size:9px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.project-info{padding-top:12px}
.project-info>strong,.project-info small{font-size:9px;font-weight:500;letter-spacing:.075em}
.favorite-button{top:15px;right:15px;width:27px;height:27px}
.favorite-button span{font-size:20px;transform:scaleX(1.04)}
@media(hover:hover){.project-card:hover img,.project-card:focus-visible img{filter:grayscale(1) contrast(.96) brightness(.74);transform:scale(1.018)}.project-card:hover .project-hover,.project-card:focus-visible .project-hover{opacity:1;transform:none}.project-card:hover .project-info,.project-card:focus-visible .project-info{opacity:0;transform:translateY(-3px)}}

@media(max-width:760px){
  .site-nav{letter-spacing:.025em}.project-grid{row-gap:56px}.project-hover{display:none}.project-info>strong,.project-info small{font-size:9px}.office-hero-copy h1{letter-spacing:-.02em}
}

/* Office portrait — useful information only, more open reading rhythm */
.office-hero-copy>p:not(.eyebrow){letter-spacing:.02px}
@media(min-width:901px){.office-hero-image{width:min(54%,420px);height:auto;aspect-ratio:2/3;justify-self:center}.office-hero-image img{object-position:center}}
@media(min-width:761px) and (max-width:900px){.office-hero-image{width:min(68%,360px);height:auto;aspect-ratio:2/3;justify-self:center}.office-hero-image img{object-position:center}}
@media(max-width:760px){.office-hero-image{width:min(68%,320px);height:auto;aspect-ratio:2/3;justify-self:center}.office-hero-image img{object-position:center}.office-hero-copy{padding-top:50px}}

/* Brand and navigation — monochrome, without the previous pink accent */
.brand-logo-light{filter:invert(1)}.brand-logo-dark{filter:none}
.listing-page .site-nav,.office-page .site-nav{color:var(--blood)}
.listing-page .site-nav a:hover,.office-page .site-nav a:hover{color:var(--ink)}
.filter-bar button{color:var(--blood)}.filter-bar button:hover{color:var(--ink)}

/* Project names use the same voice as the office body copy. */
.project-info>strong{color:var(--ink);font-size:clamp(13px,.9vw,14px);font-weight:400;line-height:1.68;letter-spacing:.02px;text-transform:none}

/* A restrained plus replaces the heart; its action is revealed on intent. */
.favorite-button{display:flex;width:auto;min-width:27px;align-items:center;justify-content:flex-end;gap:7px;text-shadow:0 1px 12px rgba(0,0,0,.48)}
.favorite-button span{font-family:"Instrument Sans","Avenir Next",sans-serif;font-size:22px;font-weight:400;transform:none}
.favorite-button:after{content:"favoritar";display:block;color:#fff;font-size:8px;font-weight:500;letter-spacing:.1em;text-transform:none;opacity:0;transform:translateX(5px);transition:opacity .25s ease,transform .3s ease;white-space:nowrap}
.favorite-button:hover:after,.favorite-button:focus-visible:after{opacity:1;transform:none}
.favorite-button:hover{transform:none}.favorite-button[aria-pressed="true"]{color:#fff}.favorite-button[aria-pressed="true"]:after{content:"favoritado"}
.project-favorite-detail span{font-family:"Instrument Sans","Avenir Next",sans-serif;font-size:21px;transform:none}
.project-favorite-detail{letter-spacing:.1em;text-transform:none}.project-favorite-detail small{max-width:0;overflow:hidden;opacity:0;transform:translateX(5px);transition:max-width .35s ease,opacity .25s ease,transform .3s ease;white-space:nowrap}
.project-favorite-detail:hover small,.project-favorite-detail:focus-visible small{max-width:90px;opacity:1;transform:none}
.project-favorite-detail[aria-pressed="true"] span{color:inherit}
@media(max-width:760px){.project-info>strong{font-size:13px}.favorite-button:after{display:none}}

/* Responsive signature: generous on arrival, restrained after movement. */
.site-header:not(.is-scrolled){min-height:94px}.site-header.is-scrolled{min-height:66px}
.brand{width:clamp(190px,18vw,260px);height:60px;transition:width .65s var(--ease-editorial),height .65s var(--ease-editorial),opacity .4s var(--ease-editorial)}
.site-header.is-scrolled .brand{width:clamp(115px,11vw,150px);height:44px}
.site-header.footer-logo-visible .brand{opacity:0;pointer-events:none}
.listing-main,.standard-main{padding-top:94px}.office-page .standard-main{padding-top:94px}.office-hero{min-height:calc(100svh - 161px)}

/* Card captions share one quiet typographic level. */
.project-info>strong,.project-info small{color:var(--ink);font-size:clamp(11px,.78vw,12px);font-weight:400;line-height:1.68;letter-spacing:.02px;text-transform:none}

/* Favorite state is drawn entirely in CSS. */
.favorite-button span,.project-favorite-detail span{position:relative;display:block;width:15px;height:15px;font-size:0}
.favorite-button span:before,.project-favorite-detail span:before{content:"+";position:absolute;inset:0;display:grid;place-items:center;font-family:"Instrument Sans","Avenir Next",sans-serif;font-size:22px;font-weight:400;line-height:1}
.favorite-button[aria-pressed="true"] span:before,.project-favorite-detail[aria-pressed="true"] span:before{content:"";inset:3px 2px 5px 3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}

@media(max-width:760px){
  .site-header:not(.is-scrolled){min-height:78px}.brand{width:155px;height:48px}.site-header.is-scrolled .brand{width:112px;height:40px}
  .listing-main,.standard-main,.office-page .standard-main{padding-top:78px}.office-hero{min-height:0}
  .project-info>strong,.project-info small{font-size:11px}
}

/* Favorite affordance — larger, right-aligned and explicit on hover. */
.favorite-button{right:clamp(24px,2vw,32px);flex-direction:row-reverse;gap:9px}
.favorite-button span,.project-favorite-detail span{width:19px;height:19px}
.favorite-button span:before,.project-favorite-detail span:before{font-size:27px}
.favorite-button:after{content:"Favoritar";font-size:10px;letter-spacing:.075em}
.favorite-button[aria-pressed="true"]:after{content:"Favoritado"}
.favorite-button[aria-pressed="true"] span:before,.project-favorite-detail[aria-pressed="true"] span:before{inset:3px 1px 5px 3px;border-width:0 2px 2px 0}
.project-favorite-detail{right:var(--page);flex-direction:row-reverse;gap:10px}
.project-favorite-detail small{font-size:10px;letter-spacing:.075em}

/* Footer system adapted from the Casa Cor experience. */
.site-footer{position:relative;z-index:20;display:grid;grid-template-columns:minmax(210px,1.1fr) minmax(300px,1fr) minmax(250px,.9fr);align-items:start;gap:clamp(38px,6vw,100px);padding:clamp(56px,7vw,96px) var(--page) clamp(32px,4vw,54px);border-top:1px solid var(--line);background:var(--ice);color:var(--ink);font-size:initial;font-weight:400;letter-spacing:normal;text-transform:none}
.site-footer-brand{align-self:start}.site-footer-logo{display:block;width:min(100%,320px);height:auto}
.site-footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 30px}.site-footer-nav-column{display:grid;align-content:start;gap:11px}
.site-footer-nav a{font-size:12px;font-weight:400;letter-spacing:.035em;transition:color .25s ease,font-weight .25s ease}.site-footer-nav a:hover,.site-footer-nav a:focus-visible{color:var(--blood);font-weight:600}
.site-footer-meta{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:8px;color:var(--muted);font-size:10px;font-weight:400;line-height:1.65;letter-spacing:.055em}
.site-footer-meta a{border-bottom:1px solid rgba(18,17,17,.28);color:var(--ink);transition:color .25s ease,border-color .25s ease,font-weight .25s ease}.site-footer-meta a:hover,.site-footer-meta a:focus-visible{border-color:var(--blood);color:var(--blood);font-weight:600}.site-footer-legal{margin-top:9px}
.office-page .site-footer{background:var(--paper)}.listing-page .site-footer,.project-page .site-footer{background:var(--ice)}
.contact-page .site-footer{border-top:0;background:var(--blood);color:var(--ice)}.contact-page .site-footer-logo{filter:invert(1)}.contact-page .site-footer-meta{color:rgba(255,255,255,.7)}.contact-page .site-footer-meta a{border-color:rgba(255,255,255,.35);color:var(--ice)}.contact-page .site-footer-nav a:hover,.contact-page .site-footer-nav a:focus-visible,.contact-page .site-footer-meta a:hover,.contact-page .site-footer-meta a:focus-visible{border-color:#fff;color:#fff}
@media(max-width:900px){.site-footer{grid-template-columns:1fr 1fr}.site-footer-brand{grid-column:1/-1}.site-footer-logo{width:min(70vw,300px)}}
@media(max-width:760px){.favorite-button{right:20px}.project-favorite-detail{right:19px}.site-footer{grid-template-columns:1fr;padding-inline:19px}.site-footer-brand{grid-column:auto}.site-footer-nav{grid-template-columns:1fr 1fr}}

/* Contact and services refinements. */
.contact-page .site-header,.contact-page .site-header.is-solid{background:var(--blood)}
.services-page{background:var(--ice)}
.services-page .site-header.is-solid{background:var(--ice);box-shadow:none;backdrop-filter:none}
.services-page .site-nav{color:var(--blood)}
.services-page .site-nav a:hover{color:var(--ink)}
.services-main{min-height:78svh}
.services-list{width:min(1600px,100%);margin:0 auto;padding:clamp(54px,7vw,105px) var(--page) clamp(110px,12vw,185px)}
.services-heading{display:grid;grid-template-columns:minmax(60px,.35fr) 1.65fr;margin-bottom:clamp(45px,6vw,90px)}
.services-heading h1{grid-column:2;margin:0;color:var(--blood);font-size:clamp(28px,3.2vw,48px);font-weight:400;line-height:1.1;letter-spacing:-.015em}
.services-list ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.services-list li{display:grid;grid-template-columns:minmax(60px,.35fr) minmax(0,1.45fr) auto;gap:clamp(24px,4vw,70px);align-items:center;min-height:clamp(126px,12vw,185px);padding:clamp(28px,3.2vw,48px) 0;border-bottom:1px solid var(--line)}
.services-list li>span{align-self:start;padding-top:5px;color:var(--blood);font-size:9px;font-weight:500;letter-spacing:.14em}
.services-list h2{max-width:850px;margin:0;color:var(--ink);font-size:clamp(19px,2.1vw,33px);font-weight:400;line-height:1.22;letter-spacing:-.012em}
.services-list li>a{position:relative;padding:8px 0;color:var(--blood);font-size:9px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.services-list li>a:after{content:"";position:absolute;right:0;bottom:3px;left:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform .3s ease}
.services-list li:hover>a:after,.services-list li>a:hover:after,.services-list li>a:focus-visible:after{transform:scaleX(1)}
.services-page .site-footer{background:var(--ice)}
.filter-options{flex-wrap:wrap;row-gap:8px}

@media(max-width:1050px){.services-page .site-nav{color:var(--ink)}}
@media(max-width:760px){
  .services-list{padding:46px 19px 96px}.services-heading{display:block;margin-bottom:42px}.services-heading h1{font-size:30px}
  .services-list li{grid-template-columns:32px minmax(0,1fr);gap:13px;min-height:0;padding:30px 0}.services-list li>span{padding-top:3px}.services-list h2{font-size:20px;line-height:1.3}.services-list li>a{grid-column:2;margin-top:2px;justify-self:start}
}

/* Services now speak the same visual language as the project index. */
.services-main{min-height:0}
.services-cards{padding:clamp(38px,5vw,72px) var(--page) clamp(100px,10vw,156px)}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);width:min(1600px,100%);margin:0 auto}
.service-card{height:auto}
.service-card .service-link{height:auto}
.service-card figure{height:auto;aspect-ratio:3/4}
.service-card img{object-position:center}
.service-card .project-hover{padding:clamp(18px,1.8vw,28px)}
.service-card .project-hover strong{max-width:260px;font-size:clamp(15px,1.3vw,21px)}
.service-card .project-info{display:block;padding-top:12px}
.service-card .project-info>strong,.service-card .project-info small{display:block;font-size:clamp(11px,.78vw,12px);font-weight:400;line-height:1.45;letter-spacing:.02px;text-align:left;text-transform:none}
.service-card .project-info small{margin-top:2px;color:var(--ink)}
@media(max-width:1050px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px var(--gap)}}
@media(max-width:760px){.services-cards{padding:34px 7px 84px}.service-grid{grid-template-columns:1fr;gap:52px}.service-card figure{aspect-ratio:1.08/1}.service-card .project-info{padding:12px 12px 0}}

/* Services continue the office story and begin on the portrait's left edge. */
.office-services{position:relative;scroll-margin-top:66px;background:var(--paper)}
.office-services-head{display:grid;grid-template-columns:2fr 1fr;gap:clamp(44px,5vw,82px);padding:clamp(82px,9vw,138px) var(--page) clamp(44px,5vw,76px)}
.office-services-title{grid-column:1;width:100%;max-width:100%;justify-self:stretch;margin:0;color:var(--blood);font-size:clamp(27px,2.5vw,39px);font-weight:400;line-height:1.08;letter-spacing:-.02em;text-align:left}
@media(min-width:761px) and (max-width:900px){.office-services-head{grid-template-columns:1.3fr 1fr;gap:38px}}
@media(max-width:760px){.office-services{scroll-margin-top:66px}.office-services-head{display:block;padding:70px 19px 38px}.office-services-title{width:min(76%,420px);max-width:none;margin:0 auto;font-size:28px}}

/* Scroll-built service wall — columns settle from left to right. */
@media(min-width:761px){
  .services-page .standard-main{padding-top:94px}
  .office-services-head{position:absolute;z-index:6;top:0;right:0;left:0;pointer-events:none}
  .services-cards{height:255svh;padding:0;background:var(--ice)}
  .service-grid{position:sticky;top:66px;display:block;width:100%;height:calc(100svh - 66px);max-width:none;overflow:hidden;background:var(--ice)}
  .service-card{--service-y:120%;position:absolute;top:12%;bottom:auto;width:25%;height:76%;overflow:hidden;transform:translate3d(0,var(--service-y),0);will-change:transform}
  .service-card:nth-child(1){z-index:4;left:0}.service-card:nth-child(2){z-index:3;left:25%}.service-card:nth-child(3){z-index:2;left:50%}.service-card:nth-child(4){z-index:1;left:75%}
  .service-card .service-link,.service-card figure{height:100%;aspect-ratio:auto}
  .service-card figure{border-left:1px solid rgba(242,244,243,.55)}
  .service-card img{height:100%;filter:grayscale(var(--service-gray,0%)) contrast(.96);transform:scale(1.01);transition:filter .16s linear,transform 1.1s var(--ease-editorial)}
  .service-card .project-info{display:none}
  .service-card .project-hover{inset:0;display:flex;width:auto;align-items:center;justify-content:center;padding:clamp(22px,2.6vw,44px);background:linear-gradient(180deg,rgba(18,12,11,.04),rgba(18,12,11,.22));color:#f4efe9;opacity:1;transform:none;text-shadow:0 2px 20px rgba(0,0,0,.38)}
  .service-card .project-hover strong{max-width:300px;font-size:clamp(18px,1.7vw,28px);font-weight:400;line-height:1.14;letter-spacing:-.012em}
  .service-card:hover img,.service-card:focus-within img{filter:grayscale(100%) contrast(.96) brightness(.78);transform:scale(1.025)}
  .service-card:hover .project-hover,.service-card:focus-within .project-hover{opacity:1;transform:none}
}

@media(prefers-reduced-motion:reduce) and (min-width:761px){
  .services-cards{height:auto;padding:clamp(38px,5vw,72px) var(--page) clamp(100px,10vw,156px)}
  .service-grid{position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:auto;gap:var(--gap);overflow:visible}
  .service-card{position:relative;inset:auto!important;width:auto;height:auto;transform:none}.service-card .service-link{height:auto}.service-card figure{height:auto;aspect-ratio:3/4}.service-card .project-info{display:block}
}

/* Project-card information follows the image's left edge. */
.project-grid .project-hover{align-items:flex-start;text-align:left}
.project-grid .project-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.project-grid .project-info small{justify-self:auto;text-align:left}

/* Fixed project navigation changes to dark once it leaves the photographic hero. */
.project-page .site-header{mix-blend-mode:normal}
.project-page.project-chrome-adaptive .site-header{mix-blend-mode:difference}
.project-page.menu-open .site-header{color:var(--ink);mix-blend-mode:normal}
.project-page.menu-open .site-header .brand-logo-light{opacity:0}
.project-page.menu-open .site-header .brand-logo-dark{opacity:1}
.office-page .site-header,.office-page .site-header.is-solid,.office-page .site-header .site-nav{color:var(--ink)}

/* A quiet, fixed line to the studio on WhatsApp. */
.whatsapp-float{position:fixed;z-index:140;right:clamp(18px,2.2vw,34px);bottom:clamp(18px,2.2vw,32px);display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:var(--blood);color:#fff;box-shadow:0 8px 28px rgba(18,17,17,.12);transition:opacity .55s ease,transform .35s var(--ease-editorial),background .3s ease,box-shadow .3s ease}.whatsapp-float-icon{display:block;width:18px;height:18px;background:currentColor;-webkit-mask:url("assets/whatsapp.svg") center/contain no-repeat;mask:url("assets/whatsapp.svg") center/contain no-repeat}.whatsapp-float:hover,.whatsapp-float:focus-visible{background:#7b1616;box-shadow:0 11px 34px rgba(18,17,17,.18);transform:translateY(-2px)}.home-page.intro-running .whatsapp-float{opacity:0;pointer-events:none;transform:translateY(6px)}.project-page .whatsapp-float{bottom:82px}.contact-page .whatsapp-float{background:var(--ice);color:var(--blood)}.contact-page .whatsapp-float:hover,.contact-page .whatsapp-float:focus-visible{background:#fff}
@media(max-width:760px){.whatsapp-float{width:40px;height:40px}.project-page .whatsapp-float{bottom:76px}.whatsapp-float-icon{width:17px;height:17px}}

/* Navigation and filters share the project captions' quiet typographic voice. */
.site-nav,.filter-bar button{font-size:clamp(11px,.78vw,12px);font-weight:400;line-height:1.68;letter-spacing:.02px;text-transform:none}.site-nav a{font-weight:inherit;letter-spacing:inherit;text-transform:inherit}
@media(max-width:1050px){.site-nav{font-size:clamp(27px,6vw,44px);line-height:1.15}.filter-bar button{font-size:11px}}

/* One navigation system, with page-aware contrast. */
.site-header{--nav-color:#f4efe9;--nav-hover:#b77a70}
.listing-page .site-header,.office-page .site-header,.services-page .site-header{--nav-color:var(--ink);--nav-hover:var(--blood)}
.site-header .site-nav{color:var(--nav-color)}
.site-header.is-solid{box-shadow:none}
.site-header .site-nav a{color:inherit;transition:color .3s ease,font-weight .3s ease}
.site-header .site-nav a:hover,.site-header .site-nav a:focus-visible,.nav-projects-group:hover>a{color:#990000;font-weight:600}
.site-header .site-nav a:after{display:none!important}
.nav-projects-group{position:relative;display:flex;align-self:stretch;align-items:center}
.nav-projects-menu{position:absolute;top:calc(100% - 4px);left:50%;display:grid;width:max-content;min-width:245px;padding:12px 20px 15px;border:1px solid rgba(18,17,17,.1);background:#f7f7f5;box-shadow:0 14px 38px rgba(18,17,17,.1);color:var(--ink);opacity:0;visibility:hidden;transform:translate(-50%,-7px);pointer-events:none;transition:opacity .26s ease,visibility .26s ease,transform .32s var(--ease-editorial)}
.nav-projects-menu:before{content:"";position:absolute;right:0;bottom:100%;left:0;height:14px}
.nav-projects-menu a{width:100%;padding:9px 0!important;color:var(--ink)!important;font-size:12px;line-height:1.45;white-space:nowrap}
.nav-projects-menu a+a{border-top:1px solid rgba(18,17,17,.1)}
.nav-projects-menu a:after{display:none!important}
.nav-projects-menu a.is-active{color:var(--blood)!important}
.nav-projects-menu a:hover,.nav-projects-menu a:focus-visible{color:#990000!important;font-weight:600}
/* Desktop dropdown positioning must not shift touch navigation. */
@media(min-width:1051px){
.nav-projects-group:hover .nav-projects-menu,.nav-projects-group:focus-within .nav-projects-menu{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
}
@media(max-width:1050px){
  .site-header.menu-active{--nav-color:var(--ink);--nav-hover:var(--blood)}
  .site-header .site-nav.is-open{color:var(--nav-color)}
  .nav-projects-group{display:block;width:100%;align-self:auto}
  .nav-projects-group>a{display:block}
  .nav-projects-menu{position:static;width:100%;min-width:0;padding:1px 0 4px 18px;border:0;border-left:1px solid rgba(18,17,17,.2);background:transparent;box-shadow:none;opacity:1;visibility:visible;transform:none;pointer-events:auto;backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav-projects-menu:before{display:none}
  .nav-projects-menu a{padding:6px 0!important;font-size:15px;line-height:1.35}
  .nav-projects-menu a+a{border-top:0}
}

/* The opening image resolves once; regular slide transitions begin afterwards. */
.home-page .brand-intro{animation:intro-overlay-fade .38s 1.18s var(--ease-editorial) forwards}
.home-page.intro-running .hero-slide.is-active,.home-page.intro-complete .hero-slide.is-active{animation:none}
.home-page.intro-running .hero-slide.is-active img{animation:opening-hero-once .6s 1.12s var(--ease-editorial) both}
.home-page.intro-complete .hero-slide.is-active img{animation:none;filter:none;transform:scale(1) translateX(0)}
@keyframes opening-hero-once{from{filter:brightness(.86);transform:scale(1.035) translateX(1.2%)}to{filter:brightness(1);transform:scale(1) translateX(0)}}

/* Service photography returns to full color on hover. */
@media(min-width:761px) and (hover:hover){
  .service-card:hover img,.service-card:focus-within img{filter:grayscale(0) saturate(1.04) contrast(1);transform:scale(1.025)}
}

/* Editorial type scale: shared body voice, with quieter supporting metadata. */
:root{--type-body:clamp(13px,.9vw,14px);--type-meta:clamp(11px,.78vw,12px)}
.office-hero-copy>p:not(.eyebrow),.home-office-copy>p:not(.eyebrow),.case-intro>div p,.curation-intro,.contact-list strong{font-size:var(--type-body);font-weight:400;line-height:1.68;letter-spacing:.02px}
.project-info>strong,.project-info small,.service-card .project-info>strong,.service-card .project-info small{font-size:var(--type-meta)}
.filter-bar button{font-size:var(--type-body);font-weight:400;letter-spacing:.02px}
@media(min-width:1051px){.site-nav{font-size:calc(var(--type-body) + 1px);font-weight:400;letter-spacing:.02px}}

/* Hero navigation sits directly on the photography, without a shaded band. */
.home-page .site-header,.project-page .site-header,.project-page .site-header.is-solid{background:transparent;box-shadow:none;backdrop-filter:none}
.home-page.hero-nav-dark .site-header{--nav-color:var(--ink);--nav-hover:var(--blood);color:var(--ink)}
.home-page.hero-nav-dark .brand-logo-light{opacity:0}
.home-page.hero-nav-dark .brand-logo-dark{opacity:1}

/* A tighter service sequence brings the footer in as the final card settles. */
@media(min-width:761px){.office-services .services-cards{height:220svh}}

/* Minimal project captions give the cinematic home context. */
.home-page .hero-slide figcaption{position:absolute;z-index:4;right:calc(var(--page) + 64px);bottom:25px;display:flex;align-items:baseline;gap:18px;color:#f4efe9;text-shadow:0 1px 16px rgba(0,0,0,.28);opacity:0;transform:translateY(5px);transition:opacity .55s .35s ease,transform .65s .35s var(--ease-editorial)}
.home-page .hero-slide.is-active figcaption{opacity:1;transform:none}.home-page .hero-slide figcaption strong,.home-page .hero-slide figcaption span{font-size:var(--type-meta);font-weight:400;line-height:1.4;letter-spacing:.02px}.home-page .hero-slide figcaption span{opacity:.72}

/* A real-image project grid follows each photograph's native composition. */
.project-gallery--real .project-gallery-grid{grid-auto-rows:clamp(270px,27vw,470px)}
.project-gallery--real figure.landscape img{object-position:center}.project-gallery--real figure.portrait img{object-position:center 44%}
.project-gallery--real figure.tall{grid-row:span 2}

/* Quiet interaction feedback across cards, filters and favorites. */
.project-link{cursor:zoom-in}.favorite-button,.project-favorite-detail{transition:color .3s ease,transform .36s var(--ease-editorial),opacity .3s ease}.favorite-button:active,.project-favorite-detail:active{transform:scale(.88)}
.filter-options button:active,.favorites-filter:active{transform:translateY(1px)}
@media(max-width:760px){.home-page .hero-slide figcaption{right:19px;bottom:66px;left:19px;justify-content:space-between}.project-gallery--real figure,.project-gallery--real figure.span-2{grid-row:auto;aspect-ratio:auto}.project-gallery--real figure.landscape{aspect-ratio:4/3}.project-gallery--real figure.portrait{aspect-ratio:3/4}}

/* Project filters remain visible while the official project photography evolves. */
.projects-page .filter-options{display:flex}
.projects-page .filter-bar{justify-content:space-between}
.project-page .case-comparison{display:none}

/* Casa Cor — comparison between the design study and the executed space. */
.casacor-comparison-section{padding:clamp(92px,10vw,150px) var(--page) clamp(110px,12vw,180px);background:var(--ice);color:var(--ink);scroll-margin-top:72px}
.casacor-comparison-inner{width:min(1500px,100%);margin:0 auto}
.casacor-comparison-intro{display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);gap:clamp(40px,8vw,150px);align-items:start;margin-bottom:clamp(48px,6vw,88px)}
.casacor-comparison-intro .section-index{margin:8px 0 0;color:var(--blood)}
.casacor-comparison-intro h2{max-width:680px;margin:0;color:var(--blood);font-size:clamp(30px,3.5vw,50px);font-weight:300;line-height:1.1;letter-spacing:-.025em}
.casacor-comparison-intro div p{max-width:650px;margin:30px 0 0;color:var(--muted);font-size:14px;line-height:1.75}
.casacor-comparison{border-top:1px solid var(--line)}
.casacor-comparison-switch{display:flex;justify-content:flex-end;gap:clamp(25px,4vw,52px);padding:18px 0}
.casacor-comparison-switch button{position:relative;padding:5px 0;border:0;background:transparent;color:rgba(18,17,17,.46);font-size:10px;font-weight:500;line-height:1.2;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:color .3s ease}
.casacor-comparison-switch button:after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-editorial)}
.casacor-comparison-switch button:hover,.casacor-comparison-switch button.is-active{color:var(--blood)}
.casacor-comparison-switch button:hover:after,.casacor-comparison-switch button.is-active:after{transform:scaleX(1)}
.casacor-comparison-frame{position:relative;aspect-ratio:3/2;margin:0;overflow:hidden;background:#c9c5bf}
.casacor-comparison-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .72s var(--ease-editorial),transform 1.1s var(--ease-editorial)}
.casacor-comparison-frame .is-project{object-position:center;opacity:0;transform:scale(1.01)}
.casacor-comparison-frame .is-realized{object-position:center;opacity:1;transform:scale(1)}
.casacor-comparison[data-comparison-state="projeto"] .is-project{opacity:1;transform:scale(1)}
.casacor-comparison[data-comparison-state="projeto"] .is-realized{opacity:0;transform:scale(1.01)}
.casacor-comparison-frame figcaption{position:absolute;z-index:3;right:18px;bottom:18px;left:18px;display:flex;justify-content:space-between;gap:20px;padding:12px 14px;background:rgba(247,247,245,.9);color:var(--ink);font-size:10px;line-height:1.3;letter-spacing:.05em;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.casacor-comparison-frame figcaption small{font:inherit;color:var(--muted)}

@media(max-width:760px){
  .casacor-comparison-section{padding:82px 19px 110px}
  .casacor-comparison-intro{grid-template-columns:1fr;gap:28px;margin-bottom:50px}
  .casacor-comparison-intro .section-index{margin:0}
  .casacor-comparison-intro h2{font-size:32px}
  .casacor-comparison-intro div p{margin-top:22px;font-size:13px}
  .casacor-comparison-switch{justify-content:flex-start}
  .casacor-comparison-frame{aspect-ratio:4/5}
  .casacor-comparison-frame>img{object-position:center}
  .casacor-comparison-frame figcaption{right:10px;bottom:10px;left:10px;padding:10px;font-size:9px}
}

.project-cursor{position:fixed;z-index:180;top:0;left:0;padding:8px 11px;border-radius:999px;background:rgba(244,239,233,.96);color:var(--ink);font-size:11px;font-weight:400;line-height:1;letter-spacing:.02px;opacity:0;pointer-events:none;transform:translate(-50%,-50%);transition:opacity .18s ease;box-shadow:0 5px 22px rgba(18,17,17,.12)}.project-cursor.is-visible{opacity:1}

/* Project galleries preserve each photograph's native format. */
.project-gallery--real .project-gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:auto;align-items:start;gap:clamp(6px,.65vw,12px)}
.project-gallery--real figure,.project-gallery--real figure.span-2{grid-column:span 6;grid-row:auto;height:auto;min-height:0;aspect-ratio:4/3;background:transparent}
.project-gallery--real figure.is-ready{aspect-ratio:auto}
.project-gallery--real figure.is-landscape{grid-column:1/-1}
.project-gallery--real figure.is-portrait,.project-gallery--real figure.is-square{grid-column:span 6}
.project-gallery--real figure img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:none}
.project-gallery--real figure.is-ready img{height:auto;aspect-ratio:auto;object-fit:contain}
.project-gallery--real figure:hover img{transform:none}
.service-card .service-link{display:block;cursor:default}
@media(max-width:760px){.project-gallery--real .project-gallery-grid{display:block}.project-gallery--real figure,.project-gallery--real figure.span-2,.project-gallery--real figure.is-landscape,.project-gallery--real figure.is-portrait,.project-gallery--real figure.is-square{width:100%;margin:0 0 var(--gap)}.project-gallery--real figure:last-child{margin-bottom:0}}
@media(hover:hover) and (pointer:fine){.projects-page .project-link{cursor:none}}

/* Commercial home — clear positioning without giving up the editorial voice. */
.home-page main{height:auto;background:var(--paper)}
.home-page .home-hero{height:100svh;min-height:680px}
.home-page .home-hero .hero-shade{z-index:2;background:linear-gradient(90deg,rgba(16,12,10,.74) 0%,rgba(16,12,10,.47) 43%,rgba(16,12,10,.12) 74%),linear-gradient(180deg,rgba(16,12,10,.32),transparent 28%,rgba(16,12,10,.25))}
.home-hero-copy{position:absolute;z-index:5;top:50%;left:var(--page);width:min(570px,calc(100% - (2 * var(--page))));color:#f7f7f5;transform:translateY(-43%);text-shadow:0 2px 25px rgba(0,0,0,.18)}
.home-hero-kicker{margin:0 0 clamp(22px,2.6vw,38px);font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.13em;text-transform:uppercase}
.home-hero-copy h1{max-width:560px;margin:0;font-size:clamp(32px,3vw,48px);font-weight:400;line-height:1.12;letter-spacing:-.026em;text-wrap:balance}
.home-hero-lead{max-width:500px;margin:clamp(24px,2.4vw,34px) 0 0;font-size:clamp(14px,1.04vw,17px);font-weight:400;line-height:1.58;letter-spacing:.005em;color:rgba(247,247,245,.88)}
.home-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:clamp(28px,3vw,43px)}
.home-hero-actions a{display:inline-flex;min-height:49px;align-items:center;justify-content:center;font-size:12px;font-weight:500;line-height:1.2;letter-spacing:.015em;transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease}
.home-hero-primary{padding:0 22px;background:#f7f7f5;color:var(--ink);border:1px solid #f7f7f5}
.home-hero-secondary{gap:12px;padding:0 2px;color:#fff;border-bottom:1px solid rgba(247,247,245,.52)}
.home-hero-actions a:hover,.home-hero-actions a:focus-visible{transform:translateY(-2px)}
.home-hero-primary:hover,.home-hero-primary:focus-visible{background:#fff;border-color:#fff}
.home-hero-secondary:hover,.home-hero-secondary:focus-visible{border-color:#fff}
.home-page .slider-controls{bottom:28px}
.home-page .hero-slide figcaption{right:var(--page)}

.home-paths{padding:clamp(46px,5.5vw,82px) var(--page) clamp(110px,12vw,190px);background:var(--paper);color:var(--ink);scroll-margin-top:66px}
.home-paths-head{width:min(1500px,100%);margin:0 auto clamp(58px,7vw,108px)}
.home-paths-head p{margin:9px 0 0;color:var(--blood);font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}
.home-paths-head h2{max-width:620px;margin:0;font-size:clamp(26px,2.45vw,38px);font-weight:400;line-height:1.2;letter-spacing:-.02em;text-wrap:balance}
.home-paths-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,32px);width:min(1500px,100%);margin:auto}
.home-path-card a{display:grid;grid-template-rows:auto 1fr;height:100%;border-top:1px solid var(--line)}
.home-path-card figure{position:relative;height:clamp(370px,34vw,550px);margin:0;overflow:hidden;background:#d8d7d3}
.home-path-card figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(18,17,17,.12));pointer-events:none}
.home-path-card img{height:100%;object-fit:cover;filter:saturate(.94) contrast(.99);transform:scale(1.008);transition:filter .7s ease,transform 1.05s var(--ease-editorial)}
.home-path-hover{position:absolute;z-index:3;top:50%;left:50%;display:flex;width:min(62%,240px);aspect-ratio:1;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(20px,2vw,31px);background:rgba(247,247,245,.96);color:var(--blood);opacity:0;transform:translate(-50%,-46%) scale(.97);transition:opacity .38s ease,transform .5s var(--ease-editorial);backdrop-filter:blur(8px)}
.home-path-hover strong{max-width:180px;margin:0;font-size:clamp(16px,1.35vw,21px);font-weight:400;line-height:1.2;letter-spacing:-.012em;white-space:normal}
.home-path-hover i{display:block;width:42px;height:1px;margin:clamp(15px,1.4vw,21px) 0;background:rgba(102,0,0,.34)}
.home-path-hover small{font-size:9px;font-weight:500;line-height:1.4;letter-spacing:.08em}
.home-path-clinics img{object-position:center}
.home-path-residential img{object-position:center}
.home-path-copy{display:grid;grid-template-columns:1fr;align-content:start;padding:22px 0 0;opacity:1;transform:none;transition:opacity .32s ease,transform .4s var(--ease-editorial)}
.home-path-copy>span{grid-column:1/-1;margin-bottom:clamp(30px,3vw,46px);color:var(--blood);font-size:11px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;opacity:1;transition:opacity .25s ease}
.home-path-copy h3{grid-column:1/-1;max-width:620px;margin:0;font-size:clamp(22px,1.85vw,30px);font-weight:400;line-height:1.15;letter-spacing:-.026em;text-wrap:balance}
.home-path-copy p{max-width:570px;margin:24px 0 0;color:var(--muted);font-size:14px;font-weight:400;line-height:1.7}
.home-path-franchises .home-path-copy h3,.home-path-franchises .home-path-copy p{max-width:520px}
.home-path-copy strong{display:inline-flex;align-items:center;justify-self:start;margin:28px 0 0;padding:0 0 10px;border:0;border-bottom:1px solid rgba(18,17,17,.34);color:var(--ink);font-size:13px;font-weight:500;line-height:1.4;letter-spacing:.015em;white-space:nowrap;transition:color .3s ease,border-color .3s ease}
.home-path-copy strong i{margin-left:10px;font-style:normal}
.home-path-card a:hover img,.home-path-card a:focus-visible img{filter:grayscale(1) contrast(.94) brightness(.78);transform:scale(1.022)}
.home-path-card a:hover .project-hover,.home-path-card a:focus-visible .project-hover{opacity:1;transform:none}
.home-path-card a:hover .home-path-copy>span,.home-path-card a:focus-visible .home-path-copy>span{opacity:0}
.home-path-card a:hover .home-path-copy>strong,.home-path-card a:focus-visible .home-path-copy>strong{border-color:#990000;color:#990000}

.css-arrow{position:relative;display:inline-block;width:13px;height:13px;flex:0 0 13px;color:currentColor}
.css-arrow:before{content:"";position:absolute;top:50%;left:1px;width:11px;height:1px;background:currentColor;transform:translateY(-50%)}
.css-arrow:after{content:"";position:absolute;top:50%;right:1px;width:5px;height:5px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}
.css-arrow.is-up-right{transform:rotate(-45deg)}

/* The home header gains its own surface after the photographic opening. */
.home-page .site-header.is-solid{--nav-color:var(--ink);--nav-hover:#990000;background:rgba(247,247,245,.95);color:var(--ink);box-shadow:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.home-page .site-header.is-solid .brand-logo-light{opacity:0}
.home-page .site-header.is-solid .brand-logo-dark{opacity:1}

@media(max-width:900px){
  .home-hero-copy{width:min(570px,calc(100% - (2 * var(--page))))}
  .home-paths-grid{grid-template-columns:1fr;gap:90px}
  .home-path-card figure{height:min(74svh,720px)}
}

@media(max-width:760px){
  .home-page .home-hero{min-height:720px}
  .home-page .home-hero .hero-shade{background:linear-gradient(180deg,rgba(16,12,10,.52) 0%,rgba(16,12,10,.2) 27%,rgba(16,12,10,.72) 100%)}
  .home-page .hero-slide img{object-position:58% center}
  .home-hero-copy{top:auto;right:19px;bottom:112px;left:19px;width:auto;transform:none}
  .home-hero-kicker{margin-bottom:19px;font-size:9px}
  .home-hero-copy h1{font-size:clamp(29px,8.7vw,37px);line-height:1.08}
  .home-hero-lead{display:none}
  .home-hero-actions{display:grid;grid-template-columns:1fr;margin-top:26px;gap:14px}
  .home-hero-actions a{min-height:46px;font-size:11px}
  .home-hero-secondary{justify-content:flex-start;width:max-content;min-height:34px!important}
  .home-page .slider-controls{bottom:22px}
  .home-page .hero-slide figcaption{display:none}
  .home-paths{padding:48px 19px 112px}
  .home-paths-head{margin-bottom:56px}
  .home-paths-head h2{font-size:26px}
  .home-paths-grid{gap:78px}
  .home-path-card figure{height:auto;aspect-ratio:4/5}
  .home-path-copy{grid-template-columns:1fr;padding-top:18px}
  .home-path-copy>span{margin-bottom:25px;font-size:10px}
  .home-path-copy h3{font-size:27px}
  .home-path-copy p{margin-top:19px;font-size:13px}
  .home-path-copy strong{justify-self:start;margin-top:28px}
  .home-path-card .project-hover{display:none}
  .home-path-card a:hover img{filter:saturate(.94) contrast(.99);transform:scale(1.008)}
  .home-path-card a:hover .home-path-copy{opacity:1;transform:none}
  .home-path-card a:hover .home-path-copy>span{opacity:1}
}

/* Commercial segment pages — clinics and residences. */
.segment-page{background:var(--paper)}
.segment-page .site-header.is-solid{--nav-color:var(--ink);--nav-hover:#990000;background:rgba(247,247,245,.95);box-shadow:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.segment-hero{height:94svh;min-height:690px}
.segment-hero .hero-shade{background:linear-gradient(90deg,rgba(13,9,8,.72) 0%,rgba(13,9,8,.45) 46%,rgba(13,9,8,.08) 78%),linear-gradient(180deg,rgba(13,9,8,.28),transparent 38%,rgba(13,9,8,.28))}
.segment-back{position:absolute;z-index:4;top:92px;left:var(--page);display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:9px;font-weight:500;letter-spacing:.17em;text-transform:uppercase;text-shadow:0 2px 16px rgba(0,0,0,.72);transition:opacity .3s ease}.segment-back i{position:relative;width:19px;height:1px;background:currentColor}.segment-back i:before{content:"";position:absolute;top:-3px;left:0;width:7px;height:7px;border-bottom:1px solid currentColor;border-left:1px solid currentColor;transform:rotate(45deg)}.segment-back:hover,.segment-back:focus-visible{opacity:.72}
.segment-hero-copy{position:absolute;z-index:3;top:50%;left:var(--page);width:min(650px,calc(100% - (2 * var(--page))));color:#fff;transform:translateY(-42%)}
.segment-eyebrow{margin:0 0 clamp(25px,3vw,42px);font-size:10px;font-weight:500;line-height:1.4;letter-spacing:.15em;text-transform:uppercase}
.segment-hero-copy h1{max-width:640px;margin:0;font-size:clamp(34px,3.6vw,56px);font-weight:300;line-height:1.08;letter-spacing:-.03em;text-wrap:balance}
.segment-hero-copy>p:not(.segment-eyebrow){max-width:570px;margin:clamp(25px,2.6vw,36px) 0 0;color:rgba(255,255,255,.9);font-size:clamp(14px,1vw,16px);line-height:1.65}
.segment-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px 30px;margin-top:clamp(30px,3.2vw,46px)}
.segment-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 23px;border:1px solid transparent;font-size:11px;font-weight:500;line-height:1.2;letter-spacing:.02em;transition:background .3s ease,color .3s ease,transform .3s ease}
.segment-button:hover,.segment-button:focus-visible{transform:translateY(-2px)}
.segment-button-light{background:#f7f7f5;border-color:#f7f7f5;color:var(--ink)}
.segment-button-wine{background:#990000;border-color:#990000;color:#fff}
.segment-text-link{display:inline-flex;min-height:38px;align-items:center;gap:12px;padding:0 1px;border-bottom:1px solid rgba(255,255,255,.55);color:#fff;font-size:10px;font-weight:500;letter-spacing:.025em}
.segment-intro{display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);gap:clamp(45px,8vw,150px);padding:clamp(105px,12vw,185px) var(--page);scroll-margin-top:66px}
.segment-intro>.section-index{margin:7px 0 0;color:var(--blood)}
.segment-intro-copy h2{max-width:880px;margin:0;color:var(--blood);font-size:clamp(31px,4.2vw,64px);font-weight:300;line-height:1.08;letter-spacing:-.032em;text-wrap:balance}
.segment-intro-copy p{max-width:680px;margin:clamp(30px,3.5vw,50px) 0 0;font-size:14px;line-height:1.8}
.segment-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 var(--page) clamp(115px,12vw,180px)}
.segment-pillars article{display:flex;min-height:350px;flex-direction:column;padding:clamp(25px,3vw,45px);border-top:1px solid var(--line);border-right:1px solid var(--line)}
.segment-pillars article:first-child{border-left:1px solid var(--line)}
.segment-pillars span{color:var(--blood);font-size:9px;font-weight:500;letter-spacing:.14em}
.segment-pillars h3{max-width:290px;margin:auto 0 22px;color:var(--blood);font-size:clamp(22px,2vw,31px);font-weight:300;line-height:1.14;letter-spacing:-.02em}
.segment-pillars p{max-width:340px;margin:0;font-size:13px;line-height:1.7}
.segment-featured{padding:clamp(100px,11vw,170px) var(--page) clamp(120px,13vw,200px);background:var(--ice)}
.segment-section-head{display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);gap:clamp(45px,8vw,150px);margin-bottom:clamp(58px,7vw,105px)}
.segment-section-head .section-index{margin:7px 0 0;color:var(--blood)}
.segment-section-head h2{max-width:760px;margin:0;color:var(--blood);font-size:clamp(30px,3.7vw,54px);font-weight:300;line-height:1.1;letter-spacing:-.03em}
.segment-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.segment-project figure{position:relative;aspect-ratio:4/3;margin:0;overflow:hidden;background:#d5d3cf}
.segment-project figure:after{content:"";position:absolute;inset:0;background:rgba(18,17,17,.28);opacity:0;transition:opacity .45s ease}
.segment-project img{height:100%;object-fit:cover;filter:saturate(.94);transition:filter .7s ease,transform 1s var(--ease-editorial)}
.segment-project figure>span{position:absolute;z-index:2;top:50%;left:50%;display:flex;align-items:center;gap:12px;padding:17px 20px;background:rgba(247,247,245,.94);color:var(--blood);font-size:10px;font-weight:500;opacity:0;transform:translate(-50%,-44%);transition:opacity .35s ease,transform .45s var(--ease-editorial)}
.segment-project>div{display:flex;justify-content:space-between;gap:25px;padding:16px 0;color:var(--blood)}
.segment-project>div strong,.segment-project>div small{font-size:11px;font-weight:400;line-height:1.4;letter-spacing:.04em}
.segment-project:hover figure:after,.segment-project:focus-visible figure:after{opacity:1}
.segment-project:hover img,.segment-project:focus-visible img{filter:grayscale(1);transform:scale(1.018)}
.segment-project:hover figure>span,.segment-project:focus-visible figure>span{opacity:1;transform:translate(-50%,-50%)}
.segment-method{padding:clamp(105px,12vw,185px) var(--page);background:var(--blood);color:#fff}
.segment-method-head{display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);gap:clamp(45px,8vw,150px);margin-bottom:clamp(65px,8vw,120px)}
.segment-method-head .section-index{margin:7px 0 0;color:rgba(255,255,255,.7)}
.segment-method-head h2{max-width:780px;margin:0;font-size:clamp(31px,3.8vw,56px);font-weight:300;line-height:1.1;letter-spacing:-.03em}
.segment-method ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-top:1px solid rgba(255,255,255,.32);list-style:none}
.segment-method li{display:flex;min-height:325px;flex-direction:column;padding:25px clamp(20px,2.4vw,38px);border-right:1px solid rgba(255,255,255,.22)}
.segment-method li:first-child{border-left:1px solid rgba(255,255,255,.22)}
.segment-method li>span{color:rgba(255,255,255,.65);font-size:9px;letter-spacing:.14em}
.segment-method li>div{margin-top:auto}
.segment-method h3{margin:0 0 18px;font-size:clamp(20px,1.7vw,27px);font-weight:300;line-height:1.2}
.segment-method li p{margin:0;color:rgba(255,255,255,.78);font-size:12px;line-height:1.68}
.segment-final-cta{display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);gap:clamp(45px,8vw,150px);padding:clamp(110px,13vw,200px) var(--page);background:var(--paper)}
.segment-final-cta>.section-index{margin:7px 0 0;color:var(--blood)}
.segment-final-cta h2{max-width:850px;margin:0;color:var(--blood);font-size:clamp(34px,4.5vw,68px);font-weight:300;line-height:1.06;letter-spacing:-.035em}
.segment-final-cta div>p{max-width:620px;margin:35px 0 42px;font-size:14px;line-height:1.75}
.residences-page .segment-hero .hero-image{object-position:center 58%}
.clinics-page .segment-hero .hero-image{object-position:center 54%}

@media(max-width:900px){
  .segment-pillars{grid-template-columns:1fr}
  .segment-pillars article{min-height:270px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
  .segment-method ol{grid-template-columns:1fr 1fr}
  .segment-method li:nth-child(3){border-left:1px solid rgba(255,255,255,.22)}
}

@media(max-width:760px){
  .segment-hero{height:92svh;min-height:700px}
  .segment-hero .hero-shade{background:linear-gradient(180deg,rgba(13,9,8,.34),rgba(13,9,8,.12) 35%,rgba(13,9,8,.78))}
  .segment-back{top:80px;left:19px}.segment-hero-copy{top:auto;right:19px;bottom:105px;left:19px;width:auto;transform:none}
  .segment-eyebrow{margin-bottom:20px;font-size:9px}
  .segment-hero-copy h1{font-size:clamp(31px,9vw,40px);line-height:1.06}
  .segment-hero-copy>p:not(.segment-eyebrow){font-size:13px;line-height:1.55}
  .segment-hero-actions{display:grid;grid-template-columns:1fr;gap:13px;margin-top:26px}
  .segment-button{min-height:47px;font-size:10px}
  .segment-text-link{justify-self:start}
  .segment-intro,.segment-section-head,.segment-method-head,.segment-final-cta{grid-template-columns:1fr;gap:28px}
  .segment-intro{padding:86px 19px 98px}
  .segment-intro>.section-index,.segment-section-head .section-index,.segment-method-head .section-index,.segment-final-cta>.section-index{margin:0}
  .segment-intro-copy h2{font-size:34px}
  .segment-intro-copy p{margin-top:25px;font-size:13px}
  .segment-pillars{padding:0 19px 100px}
  .segment-pillars article{min-height:260px;padding:27px 25px}
  .segment-pillars h3{margin-top:auto;font-size:26px}
  .segment-featured{padding:84px 19px 105px}
  .segment-section-head{margin-bottom:48px}
  .segment-section-head h2{font-size:33px}
  .segment-project-grid{grid-template-columns:1fr;gap:62px}
  .segment-project figure{aspect-ratio:4/5}
  .segment-project figure:after,.segment-project figure>span{display:none}
  .segment-project>div{padding-top:13px}
  .segment-method{padding:86px 19px 98px}
  .segment-method-head{margin-bottom:50px}
  .segment-method-head h2{font-size:34px}
  .segment-method ol{grid-template-columns:1fr}
  .segment-method li,.segment-method li:nth-child(3){min-height:225px;border-right:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);border-left:1px solid rgba(255,255,255,.22)}
  .segment-final-cta{padding:90px 19px 110px}
  .segment-final-cta h2{font-size:38px}
  .segment-final-cta div>p{margin:27px 0 35px;font-size:13px}
  .residences-page .segment-hero .hero-image{object-position:53% center}
  .clinics-page .segment-hero .hero-image{object-position:52% center}
}

/* Segment pages use the same restrained, editorial language as the main site. */
.segment-hero{height:100svh}
.segment-hero .hero-shade{background:linear-gradient(90deg,rgba(16,12,10,.7) 0%,rgba(16,12,10,.44) 43%,rgba(16,12,10,.1) 74%),linear-gradient(180deg,rgba(16,12,10,.28),transparent 30%,rgba(16,12,10,.22))}
.segment-hero-copy{width:min(570px,calc(100% - (2 * var(--page))));transform:translateY(-43%)}
.segment-eyebrow{margin-bottom:clamp(22px,2.6vw,38px);font-size:11px;letter-spacing:.13em}
.segment-hero-copy h1{max-width:560px;font-size:clamp(32px,3vw,48px);font-weight:400;line-height:1.12;letter-spacing:-.026em}
.segment-hero-copy>p:not(.segment-eyebrow){max-width:500px;margin-top:clamp(24px,2.4vw,34px);font-size:clamp(14px,1.04vw,17px);line-height:1.58;letter-spacing:.005em}
.segment-hero-actions{gap:12px 28px;margin-top:clamp(28px,3vw,43px)}
.segment-button{font-size:12px;letter-spacing:.015em}
.segment-text-link{font-size:12px;letter-spacing:.015em}

.segment-intro{padding-bottom:clamp(90px,10vw,150px)}
.segment-intro-copy h2{max-width:650px;font-size:clamp(27px,2.6vw,40px);font-weight:400;line-height:1.18;letter-spacing:-.022em}
.segment-intro-copy p{max-width:620px;margin-top:32px;font-size:var(--type-body);line-height:1.75;letter-spacing:.02px}
.segment-editorial-image{position:relative;width:min(48%,720px);height:min(78svh,840px);margin:0 0 clamp(115px,12vw,185px) var(--page);overflow:hidden;background:#d4d2ce}
.segment-editorial-image--landscape{width:calc(100% - (2 * var(--page)));height:min(78svh,840px);margin-right:var(--page)}
.segment-editorial-image img{height:100%;object-fit:cover;filter:saturate(.94) contrast(.99)}
.segment-editorial-image figcaption{position:absolute;right:18px;bottom:16px;color:#fff;font-size:9px;font-weight:500;letter-spacing:.08em;text-shadow:0 1px 14px rgba(0,0,0,.42)}

.segment-pillars{display:block;padding:0 var(--page) clamp(115px,12vw,180px)}
.segment-pillars article{display:grid;grid-template-columns:minmax(70px,.25fr) minmax(240px,.75fr) minmax(300px,1fr);gap:clamp(25px,5vw,90px);align-items:center;min-height:0;padding:clamp(30px,3.4vw,52px) 0;border:0;border-top:1px solid var(--line)}
.segment-pillars article:first-child{border-left:0}
.segment-pillars article:last-child{border-bottom:1px solid var(--line)}
.segment-pillars h3{max-width:360px;margin:0;font-size:clamp(22px,2vw,31px);font-weight:400;line-height:1.16;letter-spacing:-.02em}
.segment-pillars p{max-width:520px;margin:0;font-size:var(--type-body);line-height:1.7;letter-spacing:.02px}

.segment-featured{padding-top:clamp(95px,10vw,155px);background:var(--ice)}
.segment-section-head h2{max-width:650px;font-size:clamp(27px,2.7vw,41px);font-weight:400;line-height:1.18;letter-spacing:-.023em}
.segment-project figure{aspect-ratio:1.08/1}
.segment-project figure:after{background:rgba(18,17,17,.25)}
.segment-project figure>.segment-project-hover{position:absolute;z-index:2;top:50%;left:50%;display:flex;width:min(42%,220px);aspect-ratio:1;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(20px,2vw,30px);background:rgba(247,247,245,.96);color:var(--blood);opacity:0;transform:translate(-50%,-46%) scale(.97);transition:opacity .38s ease,transform .5s var(--ease-editorial)}
.segment-project-hover strong{max-width:170px;font-size:clamp(16px,1.3vw,21px);font-weight:400;line-height:1.2;letter-spacing:-.012em}
.segment-project-hover i{display:block;width:42px;height:1px;margin:clamp(15px,1.4vw,21px) 0;background:rgba(102,0,0,.34)}
.segment-project-hover small{font-size:9px;font-weight:500;line-height:1.4;letter-spacing:.08em}
.segment-project:hover figure>.segment-project-hover,.segment-project:focus-visible figure>.segment-project-hover{opacity:1;transform:translate(-50%,-50%) scale(1)}
.segment-project>div{padding-top:14px}
.segment-project>div strong,.segment-project>div small{font-size:var(--type-meta);letter-spacing:.02px}

.segment-method{background:var(--paper);color:var(--ink)}
.segment-method-head .section-index{color:var(--blood)}
.segment-method-head h2{max-width:650px;color:var(--blood);font-size:clamp(27px,2.7vw,41px);font-weight:400;line-height:1.18;letter-spacing:-.023em}
.segment-method ol{display:block;border-top:1px solid var(--line)}
.segment-method li,.segment-method li:first-child,.segment-method li:nth-child(3){display:grid;grid-template-columns:minmax(70px,.25fr) minmax(240px,.75fr) minmax(300px,1fr);gap:clamp(25px,5vw,90px);align-items:center;min-height:0;padding:clamp(27px,3vw,45px) 0;border:0;border-bottom:1px solid var(--line)}
.segment-method li>span{color:var(--blood)}
.segment-method li>div{display:contents;margin:0}
.segment-method h3{margin:0;color:var(--blood);font-size:clamp(21px,1.8vw,28px);font-weight:400;line-height:1.2}
.segment-method li p{max-width:520px;margin:0;color:var(--ink);font-size:var(--type-body);line-height:1.7;letter-spacing:.02px}

.segment-final-cta{background:var(--blood);color:#fff}
.segment-final-cta>.section-index{color:rgba(255,255,255,.7)}
.segment-final-cta h2{max-width:760px;color:#fff;font-size:clamp(30px,3.5vw,52px);font-weight:400;line-height:1.12;letter-spacing:-.027em}
.segment-final-cta div>p{max-width:590px;color:rgba(255,255,255,.8);font-size:var(--type-body);line-height:1.72;letter-spacing:.02px}
.segment-final-cta .segment-button-wine{display:inline-flex;min-height:0;gap:11px;padding:0 0 8px;border:0;border-bottom:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;font-size:11px}

@media(max-width:760px){
  .segment-hero-copy{width:auto}
  .segment-eyebrow{font-size:9px}
  .segment-hero-copy h1{font-size:clamp(29px,8.7vw,37px);line-height:1.08}
  .segment-hero-copy>p:not(.segment-eyebrow){font-size:13px}
  .segment-button,.segment-text-link{font-size:11px}
  .segment-intro{padding-bottom:82px}
  .segment-intro-copy h2{font-size:28px;line-height:1.18}
  .segment-editorial-image,.segment-editorial-image--landscape{width:calc(100% - 38px);height:auto;aspect-ratio:3/4;margin:0 19px 92px}
  .segment-editorial-image--landscape{aspect-ratio:4/5}
  .segment-editorial-image figcaption{right:12px;bottom:11px;font-size:8px}
  .segment-pillars{padding-right:19px;padding-bottom:96px;padding-left:19px}
  .segment-pillars article{display:block;padding:30px 0}
  .segment-pillars h3{margin:38px 0 18px;font-size:26px}
  .segment-pillars p{font-size:13px}
  .segment-section-head h2,.segment-method-head h2{font-size:28px}
  .segment-project figure{aspect-ratio:1.08/1}
  .segment-project figure>.segment-project-hover{display:none}
  .segment-method ol{display:block}
  .segment-method li,.segment-method li:first-child,.segment-method li:nth-child(3){display:block;min-height:0;padding:28px 0;border-right:0;border-left:0}
  .segment-method li>div{display:block}
  .segment-method h3{margin:38px 0 15px;font-size:24px}
  .segment-method li p{font-size:13px}
  .segment-final-cta h2{font-size:33px}
}

/* Clinics page — shorter path from positioning to proof and lead capture. */
.segment-explore{position:absolute;z-index:4;bottom:26px;left:50%;display:flex;flex-direction:column;align-items:center;gap:9px;color:rgba(255,255,255,.82);font-size:9px;font-weight:500;line-height:1;letter-spacing:.11em;text-transform:uppercase;transform:translateX(-50%)}
.segment-explore i{position:relative;width:10px;height:10px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);animation:segment-explore-cue 1.8s ease-in-out infinite}
@keyframes segment-explore-cue{0%,100%{opacity:.45;transform:translateY(0) rotate(45deg)}50%{opacity:1;transform:translateY(5px) rotate(45deg)}}
.clinics-page .segment-hero-copy{transform:translateY(-40%)}
.clinics-page .segment-hero-actions{margin-top:32px}
.clinics-page .segment-intro{display:block;padding-top:clamp(52px,5.5vw,82px);padding-bottom:clamp(45px,5vw,72px)}
.clinics-page .segment-intro-copy{width:min(1500px,100%);margin:0 auto}
.clinics-page .segment-intro-copy h2{max-width:720px}
.clinics-page .segment-intro-copy p{margin-top:24px;color:var(--muted)}
.clinics-page .segment-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);padding-bottom:clamp(105px,11vw,165px)}
.clinics-page .segment-pillars article,.clinics-page .segment-pillars article:first-child,.clinics-page .segment-pillars article:last-child{display:flex;min-height:330px;flex-direction:column;align-items:stretch;gap:0;padding:clamp(26px,2.8vw,42px);border:0;border-top:1px solid var(--line);background:var(--ice);transition:background .45s ease,transform .5s var(--ease-editorial)}
.clinics-page .segment-pillars article:hover{background:#efe7e0;transform:translateY(-4px)}
.clinics-page .segment-pillars h3{margin:auto 0 20px;font-size:clamp(22px,1.8vw,29px)}
.clinics-page .segment-pillars p{font-size:13px;line-height:1.68}
.clinics-page .segment-featured{padding-top:clamp(88px,9vw,140px);padding-bottom:clamp(105px,11vw,165px)}
.clinics-page .segment-section-head{margin-bottom:clamp(48px,5.5vw,80px)}
.clinics-page .segment-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);width:min(1220px,100%);margin:0 auto}
.clinics-page .segment-project figure{aspect-ratio:4/5}
.clinics-page .segment-project figure>.segment-project-hover{width:min(62%,205px)}

.lead-section{grid-template-columns:minmax(0,.92fr) minmax(400px,1.08fr);gap:clamp(65px,9vw,155px);align-items:start;scroll-margin-top:66px}
.lead-section .lead-intro>.section-index{margin:0 0 clamp(40px,5vw,72px);color:rgba(255,255,255,.7)}
.lead-section .lead-intro h2{max-width:650px}
.lead-section .lead-intro>p:not(.section-index){max-width:530px;margin:32px 0 0;color:rgba(255,255,255,.8);font-size:var(--type-body);line-height:1.72;letter-spacing:.02px}
.lead-whatsapp{display:inline-flex;align-items:center;gap:11px;margin-top:42px;padding:0 0 8px;border-bottom:1px solid rgba(255,255,255,.45);font-size:11px;line-height:1.4}
.lead-form{display:grid;gap:0;padding-top:3px}
.lead-form-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3vw,48px)}
.lead-field{display:grid;gap:10px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.34)}
.lead-field>span{color:rgba(255,255,255,.68);font-size:9px;font-weight:500;line-height:1.3;letter-spacing:.1em;text-transform:uppercase}
.lead-field input,.lead-field select,.lead-field textarea{width:100%;min-height:31px;padding:0;border:0;border-radius:0;outline:0;background:transparent;color:#fff;font:400 15px/1.5 "Instrument Sans","Avenir Next","Helvetica Neue",Arial,sans-serif;appearance:none;resize:vertical}
.lead-field textarea{min-height:72px}
.lead-field select{cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,rgba(255,255,255,.75) 50%),linear-gradient(135deg,rgba(255,255,255,.75) 50%,transparent 50%);background-position:calc(100% - 9px) 13px,calc(100% - 4px) 13px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.lead-field select option{color:var(--ink);background:#fff}
.lead-field:focus-within{border-bottom-color:#fff}
.lead-submit{display:inline-flex;justify-self:start;align-items:center;gap:12px;margin-top:34px;padding:0 0 8px;border:0;border-bottom:1px solid rgba(255,255,255,.65);background:transparent;color:#fff;font-size:11px;font-weight:500;line-height:1.4;cursor:pointer;transition:border-color .3s ease,transform .3s ease}
.lead-submit:hover,.lead-submit:focus-visible{border-color:#fff;transform:translateY(-2px)}
.lead-form-note{margin-top:17px;color:rgba(255,255,255,.56);font-size:9px;line-height:1.5;letter-spacing:.025em}
.lead-honeypot{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}

.thank-page{min-height:100svh;background:var(--ice);color:var(--ink)}
.thank-page .site-header,.thank-page .site-header.is-solid{--nav-color:var(--ink);--nav-hover:var(--blood);border:0;background:rgba(242,244,243,.95);color:var(--ink);box-shadow:none;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.thank-main{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);min-height:100svh;padding:0}
.thank-visual{position:relative;min-height:100svh;margin:0;overflow:hidden;background:#211817}
.thank-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,13,11,.08),rgba(20,13,11,.23));pointer-events:none}
.thank-visual img{height:100%;object-fit:cover;object-position:center;filter:grayscale(.08) sepia(.04) saturate(.76) contrast(.97) brightness(.84);transform:scale(1.015);animation:thank-image-settle 1.35s var(--ease-editorial) both}
.thank-visual figcaption{position:absolute;z-index:2;right:24px;bottom:22px;left:24px;color:rgba(255,255,255,.72);font-size:8px;font-weight:500;letter-spacing:.17em;text-transform:uppercase}
.thank-message{display:flex;width:min(620px,100%);flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(125px,12vw,190px) clamp(48px,7vw,112px) clamp(74px,8vw,120px);text-align:left}
.thank-kicker{margin:0 0 24px;color:var(--blood);font-size:10px;font-weight:500;line-height:1.5;letter-spacing:.2em;text-transform:uppercase}
.thank-message h1{margin:0;font-size:clamp(34px,3.45vw,54px);font-weight:300;line-height:1.04;letter-spacing:-.025em}
.thank-line{display:block;width:52px;height:1px;margin:clamp(28px,3vw,42px) 0;background:rgba(18,17,17,.32)}
.thank-message h1~p{max-width:520px;margin:0;color:var(--muted);font-size:clamp(13px,1vw,15px);font-weight:400;line-height:1.78;letter-spacing:.012em}
.thank-message a{display:inline-flex;align-items:center;gap:16px;margin-top:34px;padding:0 0 9px;border-bottom:1px solid rgba(18,17,17,.38);font-size:10px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;transition:color .3s ease,border-color .3s ease}
.thank-message a:hover,.thank-message a:focus-visible{border-color:var(--blood);color:var(--blood)}
@keyframes thank-image-settle{from{opacity:.55;transform:scale(1.055)}to{opacity:1;transform:scale(1.015)}}

@media(max-width:900px){
  .clinics-page .segment-pillars{grid-template-columns:1fr}
  .clinics-page .segment-pillars article,.clinics-page .segment-pillars article:first-child,.clinics-page .segment-pillars article:last-child{min-height:260px}
  .clinics-page .segment-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lead-section{grid-template-columns:1fr;gap:75px}
}

@media(max-width:760px){
  .segment-explore{bottom:22px}
  .clinics-page .segment-hero-copy{transform:none}
  .clinics-page .segment-hero-actions{margin-top:26px}
  .clinics-page .segment-intro{padding:52px 19px 42px}
  .clinics-page .segment-intro-copy h2{font-size:28px}
  .clinics-page .segment-pillars{grid-template-columns:1fr;gap:10px;padding:0 19px 90px}
  .clinics-page .segment-pillars article,.clinics-page .segment-pillars article:first-child,.clinics-page .segment-pillars article:last-child{display:flex;min-height:245px;padding:26px 24px}
  .clinics-page .segment-pillars h3{margin:auto 0 18px}
  .clinics-page .segment-featured{padding:78px 19px 96px}
  .clinics-page .segment-project-grid{grid-template-columns:1fr;gap:58px;width:100%}
  .clinics-page .segment-project figure{aspect-ratio:1.08/1}
  .lead-section{grid-template-columns:1fr;gap:62px;padding:82px 19px 96px}
  .lead-section .lead-intro>.section-index{margin-bottom:34px}
  .lead-section .lead-intro h2{font-size:33px}
  .lead-form-row{grid-template-columns:1fr;gap:0}
  .lead-field{padding:15px 0}
  .thank-main{grid-template-columns:1fr;min-height:100svh}
  .thank-visual{min-height:310px;height:40svh}
  .thank-message{width:100%;padding:52px 19px 82px}
  .thank-message h1{max-width:540px;font-size:36px}
}

/* Clinics refinement — reuse the index system instead of landing-page components. */
.clinics-page .segment-intro{padding-top:clamp(45px,4.5vw,68px);padding-bottom:clamp(38px,4vw,58px)}
.clinics-page .segment-intro-copy h2,.clinics-page .segment-section-head h2{max-width:680px;font-size:clamp(24px,2.15vw,33px);font-weight:400;line-height:1.18;letter-spacing:-.02em}
.clinics-page .segment-intro-copy p{margin-top:20px;font-size:13px}
.clinics-page .segment-pillars{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,64px);padding-bottom:clamp(42px,5vw,70px)}
.clinics-page .segment-pillars article,.clinics-page .segment-pillars article:first-child,.clinics-page .segment-pillars article:last-child{display:flex;min-height:200px;flex-direction:column;padding:20px 0 0;border:0;border-top:1px solid var(--line);background:transparent;transform:none;transition:none}
.clinics-page .segment-pillars article:hover{background:transparent;transform:none}
.clinics-page .segment-pillars h3{margin:0 0 20px;font-size:clamp(19px,1.55vw,24px);font-weight:400;line-height:1.18}
.clinics-page .segment-pillars p{max-width:370px;font-size:12px;line-height:1.68}
.clinics-page .segment-featured{padding-top:clamp(72px,7.5vw,110px);padding-bottom:clamp(96px,10vw,150px)}
.clinics-page .segment-section-head{display:block;width:min(1500px,100%);margin:0 auto clamp(42px,5vw,70px)}
.clinics-page .segment-section-head .section-index{max-width:560px;margin:0 0 20px;color:var(--blood)}
.clinics-page .segment-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(255px,26vw,390px);gap:clamp(52px,5.5vw,82px) var(--gap);width:min(1180px,100%);margin:0 auto}
.clinics-page .segment-project-card{height:100%}
.clinics-page .segment-project-card .project-link,.clinics-page .segment-project-card figure{height:100%}
.clinics-page .segment-project-card .project-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-top:12px}
.clinics-page .segment-project-card .project-info small{justify-self:auto;text-align:left}
.clinics-page .segment-project-grid .project-hover{align-items:flex-start;text-align:left}
@media(hover:hover) and (pointer:fine){.clinics-page .segment-project-grid .project-link{cursor:none}}

.clinics-page .lead-section{grid-template-columns:minmax(270px,.7fr) minmax(440px,1.3fr);gap:clamp(60px,8vw,125px);padding:clamp(78px,8vw,120px) var(--page);border-top:1px solid var(--line);background:var(--paper);color:var(--ink)}
.clinics-page .lead-section .lead-intro h2{max-width:430px;color:var(--blood);font-size:clamp(24px,2.2vw,34px);font-weight:400;line-height:1.18;letter-spacing:-.02em}
.clinics-page .lead-section .lead-intro>p:not(.section-index){max-width:430px;margin-top:22px;color:var(--ink);font-size:13px;line-height:1.68}
.clinics-page .lead-whatsapp{margin-top:30px;border-bottom-color:var(--line);color:var(--ink);font-size:10px}
.clinics-page .lead-form{width:100%;max-width:700px;padding:0}
.clinics-page .lead-field{gap:6px;padding:11px 0;border-bottom-color:var(--line)}
.clinics-page .lead-field>span{color:var(--blood);font-size:8px;font-weight:600}
.clinics-page .lead-field input,.clinics-page .lead-field select,.clinics-page .lead-field textarea{min-height:28px;color:var(--ink);font-size:14px}
.clinics-page .lead-field textarea{min-height:55px}
.clinics-page .lead-field select{background-image:linear-gradient(45deg,transparent 50%,rgba(18,17,17,.72) 50%),linear-gradient(135deg,rgba(18,17,17,.72) 50%,transparent 50%)}
.clinics-page .lead-field:focus-within{border-bottom-color:var(--blood)}
.clinics-page .lead-submit{margin-top:26px;border-bottom-color:rgba(102,0,0,.45);color:var(--blood);font-size:10px}
.clinics-page .lead-submit:hover,.clinics-page .lead-submit:focus-visible{border-bottom-color:var(--blood)}
.project-info>strong,.segment-project-card .project-info>strong{font-weight:500}

/* Both commercial cards on the home share one hover language. */
.home-path-card .project-hover{align-items:flex-start;text-align:left}

@media(max-width:900px){
  .clinics-page .segment-pillars{grid-template-columns:1fr;gap:0}
  .clinics-page .segment-pillars article,.clinics-page .segment-pillars article:first-child,.clinics-page .segment-pillars article:last-child{min-height:210px;padding:22px 0}
  .clinics-page .segment-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(300px,48vw,460px)}
  .clinics-page .lead-section{grid-template-columns:1fr;gap:52px}
}

@media(max-width:760px){
  .clinics-page .segment-intro{padding:45px 19px 35px}
  .clinics-page .segment-intro-copy h2,.clinics-page .segment-section-head h2{font-size:25px}
  .clinics-page .segment-pillars{padding:0 19px 45px}
  .clinics-page .segment-pillars article,.clinics-page .segment-pillars article:first-child,.clinics-page .segment-pillars article:last-child{min-height:160px;padding:20px 0}
  .clinics-page .segment-pillars h3{font-size:22px}
  .clinics-page .segment-featured{padding:68px 7px 90px}
  .clinics-page .segment-section-head{padding:0 12px;margin-bottom:38px}
  .clinics-page .segment-section-head .section-index{margin:0 0 17px}
  .clinics-page .segment-project-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:48px;width:100%}
  .clinics-page .segment-project-card,.clinics-page .segment-project-card .project-link{height:auto}
  .clinics-page .segment-project-card figure{height:auto;aspect-ratio:1.08/1}
  .clinics-page .segment-project-card .project-info{padding:12px 12px 0}
  .clinics-page .lead-section{gap:44px;padding:70px 19px 84px}
  .clinics-page .lead-section .lead-intro h2{font-size:27px}
  .clinics-page .lead-form-row{grid-template-columns:1fr;gap:0}
}

/* Clinics and residences share one conversion-page system. */
.conversion-page .segment-hero-copy{transform:translateY(-40%)}
.conversion-page .segment-hero-actions{margin-top:32px}
.conversion-page .segment-intro{display:block;padding-top:clamp(45px,4.5vw,68px);padding-bottom:clamp(38px,4vw,58px)}
.conversion-page .segment-intro-copy{width:min(1500px,100%);margin:0 auto}
.conversion-page .segment-intro-copy h2,.conversion-page .segment-section-head h2{max-width:680px;font-size:clamp(24px,2.15vw,33px);font-weight:400;line-height:1.18;letter-spacing:-.02em}
.conversion-page .segment-intro-copy p{margin-top:20px;color:var(--muted);font-size:13px}
.conversion-page .segment-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,64px);padding-bottom:clamp(42px,5vw,70px)}
.conversion-page .segment-pillars article,.conversion-page .segment-pillars article:first-child,.conversion-page .segment-pillars article:last-child{display:flex;min-height:200px;flex-direction:column;padding:20px 0 0;border:0;border-top:1px solid var(--line);background:transparent;transform:none;transition:none}
.conversion-page .segment-pillars article:hover{background:transparent;transform:none}
.conversion-page .segment-pillars h3{margin:0 0 20px;font-size:clamp(19px,1.55vw,24px);font-weight:400;line-height:1.18}
.conversion-page .segment-pillars p{max-width:370px;font-size:12px;line-height:1.68}
.conversion-page .segment-featured{padding-top:clamp(72px,7.5vw,110px);padding-bottom:clamp(96px,10vw,150px)}
.conversion-page .segment-section-head{display:block;width:min(1500px,100%);margin:0 auto clamp(42px,5vw,70px)}
.conversion-page .segment-section-head .section-index{max-width:560px;margin:0 0 20px;color:var(--blood)}
.conversion-page .segment-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(255px,26vw,390px);gap:clamp(52px,5.5vw,82px) var(--gap);width:min(1380px,100%);margin:0 auto}
.conversion-page .segment-project-card{height:100%}
.conversion-page .segment-project-card .project-link,.conversion-page .segment-project-card figure{height:100%}
.conversion-page .segment-project-card .project-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-top:12px}
.conversion-page .segment-project-card .project-info small{justify-self:auto;text-align:left}
.conversion-page .segment-project-grid .project-hover{align-items:flex-start;text-align:left}
@media(hover:hover) and (pointer:fine){.conversion-page .segment-project-grid .project-link{cursor:none}}
.service-page .segment-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:min(920px,100%)}
.franchises-page .segment-hero .hero-image{object-position:center 58%}
.detailing-page .segment-hero .hero-image{object-position:center 52%}

.conversion-page .lead-section{grid-template-columns:minmax(270px,.7fr) minmax(440px,1.3fr);gap:clamp(60px,8vw,125px);padding:clamp(78px,8vw,120px) var(--page);border-top:1px solid var(--line);background:var(--paper);color:var(--ink)}
.conversion-page .lead-section .lead-intro h2{max-width:430px;color:var(--blood);font-size:clamp(24px,2.2vw,34px);font-weight:400;line-height:1.18;letter-spacing:-.02em}
.conversion-page .lead-section .lead-intro>p:not(.section-index){max-width:430px;margin-top:22px;color:var(--ink);font-size:13px;line-height:1.68}
.conversion-page .lead-whatsapp{margin-top:30px;border-bottom-color:var(--line);color:var(--ink);font-size:10px}
.conversion-page .lead-form{width:100%;max-width:700px;padding:0}
.conversion-page .lead-field{gap:6px;padding:11px 0;border-bottom-color:var(--line)}
.conversion-page .lead-field>span{color:var(--blood);font-size:8px;font-weight:600}
.conversion-page .lead-field input,.conversion-page .lead-field select,.conversion-page .lead-field textarea{min-height:28px;color:var(--ink);font-size:14px}
.conversion-page .lead-field textarea{min-height:55px}
.conversion-page .lead-field select{background-image:linear-gradient(45deg,transparent 50%,rgba(18,17,17,.72) 50%),linear-gradient(135deg,rgba(18,17,17,.72) 50%,transparent 50%)}
.conversion-page .lead-field:focus-within{border-bottom-color:var(--blood)}
.conversion-page .lead-submit{margin-top:26px;border-bottom-color:rgba(102,0,0,.45);color:var(--blood);font-size:10px}
.conversion-page .lead-submit:hover,.conversion-page .lead-submit:focus-visible{border-bottom-color:var(--blood)}

/* Two services remain on the office page after moving franchise/detailing to the home. */
@media(min-width:761px){
  .office-services .office-services-head{position:static;pointer-events:auto}
  .office-services .services-cards{height:auto;padding:0 var(--page) clamp(100px,10vw,156px);background:var(--paper)}
  .office-services .service-grid{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto;max-width:1500px;gap:var(--gap);overflow:visible;background:transparent}
  .office-services .service-card{position:relative;inset:auto!important;width:auto;height:auto;overflow:visible;transform:none!important;will-change:auto}
  .office-services .service-card .service-link,.office-services .service-card figure{height:auto;aspect-ratio:auto}
  .office-services .service-card figure{aspect-ratio:1.18/1;border-left:0}
  .office-services .service-card img{height:100%;filter:saturate(.94) contrast(.99);transform:scale(1.008);transition:filter .7s ease,transform 1.05s var(--ease-editorial)}
  .office-services .service-card .project-info{display:block}
  .office-services .service-card .project-hover{top:50%;right:auto;bottom:auto;left:50%;display:flex;width:min(54%,240px);aspect-ratio:1;align-items:flex-start;justify-content:center;padding:clamp(20px,2vw,31px);background:rgba(247,247,245,.96);color:var(--blood);opacity:0;transform:translate(-50%,-46%) scale(.97);text-align:left;text-shadow:none}
  .office-services .service-card .project-hover strong{max-width:190px;font-size:clamp(16px,1.35vw,21px);line-height:1.2}
  .office-services .service-card:hover img,.office-services .service-card:focus-within img{filter:grayscale(1) contrast(.94) brightness(.78);transform:scale(1.022)}
  .office-services .service-card:hover .project-hover,.office-services .service-card:focus-within .project-hover{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
@media(prefers-reduced-motion:reduce) and (min-width:761px){
  .office-services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .office-services .service-card{width:auto}
}

/* Contact form keeps the burgundy page restrained and editorial. */
.contact-page .contact-standalone{min-height:calc(100svh - 66px);justify-content:center;padding-top:clamp(135px,14vw,190px);padding-bottom:clamp(85px,8vw,120px)}
.contact-page-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(460px,1.1fr);gap:clamp(70px,9vw,150px);align-items:start;width:min(1400px,100%);margin:auto}
.contact-page-grid .contact-list{width:100%;margin:0;padding-top:4px}
.contact-form-column{width:100%;max-width:680px}
.contact-form-column h1{max-width:520px;margin:0;font-size:clamp(27px,2.7vw,40px);font-weight:400;line-height:1.15;letter-spacing:-.025em}
.contact-form-column>p{max-width:470px;margin:22px 0 30px;color:rgba(255,255,255,.72);font-size:13px;line-height:1.68}
.contact-form-column .lead-field{gap:6px;padding:11px 0}
.contact-form-column .lead-field>span{font-size:10px;font-weight:600}
.contact-form-column .lead-field input,.contact-form-column .lead-field select,.contact-form-column .lead-field textarea{min-height:28px;font-size:14px}
.contact-form-column .lead-field textarea{min-height:55px}
.contact-form-column .lead-submit{margin-top:26px;font-size:10px}

@media(max-width:900px){
  .conversion-page .segment-pillars{grid-template-columns:1fr;gap:0}
  .conversion-page .segment-pillars article,.conversion-page .segment-pillars article:first-child,.conversion-page .segment-pillars article:last-child{min-height:210px;padding:22px 0}
  .conversion-page .segment-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(300px,48vw,460px)}
  .conversion-page .lead-section{grid-template-columns:1fr;gap:52px}
  .contact-page-grid{grid-template-columns:1fr;gap:70px}
  .contact-form-column{max-width:none}
}

@media(max-width:760px){
  .conversion-page .segment-hero-copy{transform:none}
  .conversion-page .segment-hero-actions{margin-top:26px}
  .conversion-page .segment-intro{padding:45px 19px 35px}
  .conversion-page .segment-intro-copy h2,.conversion-page .segment-section-head h2{font-size:25px}
  .conversion-page .segment-pillars{padding:0 19px 45px}
  .conversion-page .segment-pillars article,.conversion-page .segment-pillars article:first-child,.conversion-page .segment-pillars article:last-child{min-height:160px;padding:20px 0}
  .conversion-page .segment-pillars h3{font-size:22px}
  .conversion-page .segment-featured{padding:68px 7px 90px}
  .conversion-page .segment-section-head{padding:0 12px;margin-bottom:38px}
  .conversion-page .segment-section-head .section-index{margin:0 0 17px}
  .conversion-page .segment-project-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:48px;width:100%}
  .conversion-page .segment-project-card,.conversion-page .segment-project-card .project-link{height:auto}
  .conversion-page .segment-project-card figure{height:auto;aspect-ratio:1.08/1}
  .conversion-page .segment-project-card .project-info{padding:12px 12px 0}
  .conversion-page .lead-section{gap:44px;padding:70px 19px 84px}
  .conversion-page .lead-section .lead-intro h2{font-size:27px}
  .conversion-page .lead-form-row{grid-template-columns:1fr;gap:0}
  .contact-page .contact-standalone{padding:112px 19px 80px}
  .contact-page-grid{gap:58px}
  .contact-form-column h1{font-size:29px}
  .contact-form-column .lead-form-row{grid-template-columns:1fr;gap:0}
}

/* Residences opens directly into the same gallery language as the project index. */
.residential-projects{padding-top:clamp(50px,6vw,86px);scroll-margin-top:66px;background:var(--ice)}
.residential-project-grid{width:min(1600px,100%)}
.residential-all-projects{display:inline-flex;align-items:center;gap:12px;margin-top:clamp(58px,7vw,96px);padding-bottom:8px;border-bottom:1px solid rgba(18,17,17,.34);font-size:10px;font-weight:500;line-height:1.4;letter-spacing:.025em;transition:border-color .3s ease,color .3s ease}
.residential-all-projects:hover,.residential-all-projects:focus-visible{border-color:var(--blood);color:var(--blood)}
@media(hover:hover) and (pointer:fine){.residential-projects .project-link{cursor:none}}

@media(max-width:760px){
  .residential-projects{padding-top:34px}
  .residential-all-projects{margin-left:12px}
}

/* Lead forms: one qualification structure across every conversion page. */
.lead-rich-label{display:block!important;text-transform:none!important;letter-spacing:0!important}
.lead-rich-label strong{display:block;font-size:inherit;font-weight:600;line-height:1.35;letter-spacing:.075em;text-transform:uppercase}
.lead-rich-label small{display:block;margin-top:6px;font-size:11px;font-style:italic;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none}
.conversion-page .lead-rich-label strong{color:var(--blood)}
.conversion-page .lead-rich-label small{color:rgba(18,17,17,.67)}
.contact-form-column .lead-rich-label strong{color:#fff}
.contact-form-column .lead-rich-label small{color:rgba(255,255,255,.67)}
.conversion-page .lead-whatsapp{padding-bottom:10px;border-bottom-color:rgba(102,0,0,.48);color:var(--blood);font-size:14px;font-weight:500;letter-spacing:.01em}
.conversion-page .lead-whatsapp:hover,.conversion-page .lead-whatsapp:focus-visible{border-bottom-color:var(--blood);color:var(--blood)}

/* Final interaction refinements: project navigation, home cards and contact. */
.home-page .hero-slide-link{position:absolute;z-index:3;inset:0;pointer-events:none}
.home-page .home-hero .hero-shade{pointer-events:none}
.home-page .hero-slide.is-active .hero-slide-link{pointer-events:auto}
.home-path-card .project-hover i{transform-origin:left center}

.project-hero .hero-image{transition:filter .75s ease,opacity .7s ease,transform 1.15s var(--ease-editorial)}
@media(hover:hover) and (pointer:fine){.project-hero:hover .hero-image{filter:grayscale(1) saturate(0) contrast(.92)}}
.project-back{padding:0;background:transparent;color:#fff;mix-blend-mode:normal;box-shadow:none;text-shadow:0 2px 16px rgba(0,0,0,.72);backdrop-filter:none;-webkit-backdrop-filter:none;transition:color .3s ease,opacity .3s ease,visibility .3s ease}
.project-back:hover,.project-back:focus-visible{background:transparent;color:#fff;opacity:.72}
.project-hero .scroll-indicator{right:auto;left:50%;bottom:23px;flex-direction:column;gap:10px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.17em;text-shadow:0 1px 16px rgba(0,0,0,.42);transform:translateX(-50%)}
.project-hero .scroll-indicator i{height:48px;background:rgba(255,255,255,.46)}

.contact-details{min-width:0}
.contact-address strong{display:flex;flex-direction:column;gap:4px}
.contact-address strong small{color:rgba(255,255,255,.72);font-size:inherit;font-weight:400;line-height:1.5;letter-spacing:.02px}
.contact-page-whatsapp{display:inline-flex;align-items:center;justify-content:center;margin-top:30px;padding:14px 20px;background:var(--ice);color:#990000;font-size:14px;font-weight:600;line-height:1.3;letter-spacing:.01em;transition:background .3s ease,transform .3s var(--ease-editorial)}
.contact-page-whatsapp:hover,.contact-page-whatsapp:focus-visible{background:#fff;color:#990000;transform:translateY(-2px)}

@media(max-width:760px){
  .project-hero .scroll-indicator{right:auto;bottom:18px;left:50%;flex-direction:column;transform:translateX(-50%)}
  .project-back{top:80px;left:19px;padding:0}
  .contact-page-whatsapp{margin-top:24px}
}

/* CASACOR receives a temporary editorial entry without changing the home rhythm. */
.home-casacor-banner{display:flex;width:100%;min-height:58px;align-items:center;justify-content:center;margin-top:clamp(18px,2vw,30px);padding:14px var(--page);background:var(--blood);color:#fff;text-align:center;transition:background .35s ease}
.home-casacor-banner span{font-size:clamp(11px,1vw,16px);font-weight:400;line-height:1.25;letter-spacing:-.012em}
.home-casacor-banner:hover,.home-casacor-banner:focus-visible{background:#740000}

/* The dropdown is always read on its own light surface; only the top navigation adapts to photography. */
.site-header .nav-projects-menu{background:#f7f7f5;color:var(--ink);text-shadow:none}
.site-header .nav-projects-menu a{color:var(--ink)!important;font-weight:400;text-shadow:none!important}
.site-header .nav-projects-menu a.is-active{color:#990000!important;font-weight:500}
.site-header .nav-projects-menu a:hover,.site-header .nav-projects-menu a:focus-visible{color:#990000!important;font-weight:600;text-shadow:none!important}
.site-header .site-nav>a:hover,.site-header .site-nav>a:focus-visible,.site-header .nav-projects-group:hover>a,.site-header .nav-projects-group:focus-within>a{color:#990000;font-weight:inherit;text-shadow:.3px 0 currentColor}

@media(max-width:760px){
  .home-casacor-banner{min-height:58px;margin-top:16px;padding:14px 19px}
  .home-casacor-banner span{font-size:12px}
}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(hover:hover) and (pointer:fine){.home-paths-grid .project-link figure{cursor:none}.home-paths-grid .home-path-copy{cursor:pointer}}

/* Individual project sharing replaces the former favorites interface. */
.project-share-card,.project-share-detail{display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;text-shadow:0 1px 12px rgba(0,0,0,.48);transition:opacity .3s ease,transform .35s var(--ease-editorial)}
.project-share-card{position:absolute;z-index:6;top:15px;right:clamp(24px,2vw,32px);width:34px;height:34px}
.project-share-detail{position:fixed;z-index:95;top:86px;right:var(--page);gap:9px}
.project-share-card:hover,.project-share-card:focus-visible,.project-share-detail:hover,.project-share-detail:focus-visible{opacity:.72;transform:translateY(-1px)}
.share-icon{display:block;width:20px;height:20px}.share-icon svg{display:block;width:100%;height:100%;overflow:visible;fill:currentColor;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.share-icon svg path{fill:none}
.project-share-detail small{max-width:0;overflow:hidden;font-size:10px;font-weight:500;letter-spacing:.075em;opacity:0;transform:translateX(5px);transition:max-width .35s ease,opacity .25s ease,transform .3s ease;white-space:nowrap}
.project-share-detail:hover small,.project-share-detail:focus-visible small{max-width:140px;opacity:1;transform:none}
.project-share-menu{position:fixed;z-index:310;display:grid;min-width:218px;padding:8px;border:1px solid rgba(18,17,17,.1);background:#f7f7f5;color:var(--ink);box-shadow:0 15px 42px rgba(18,17,17,.16)}
.project-share-menu[hidden]{display:none!important}
.project-share-menu a,.project-share-menu button{display:flex;width:100%;align-items:center;min-height:39px;padding:8px 11px;border:0;border-bottom:1px solid rgba(18,17,17,.09);background:transparent;color:var(--ink);font:500 11px/1.35 "Instrument Sans","Avenir Next",sans-serif;text-align:left;cursor:pointer;transition:background .25s ease,color .25s ease}
.project-share-menu>*:last-child{border-bottom:0}
.project-share-menu a:hover,.project-share-menu a:focus-visible,.project-share-menu button:hover,.project-share-menu button:focus-visible{background:#efe7e0;color:#990000}

/* Consent, antispam and institutional legal pages. */
.lead-consent{display:grid;grid-template-columns:17px minmax(0,1fr);gap:11px;align-items:start;margin:25px 0 0;color:inherit;font-size:11px;font-weight:400;line-height:1.55;letter-spacing:.012em;cursor:pointer}
.lead-consent input{width:17px;height:17px;margin:1px 0 0;accent-color:#990000;cursor:pointer}
.lead-consent a{border-bottom:1px solid currentColor;font-weight:500;transition:opacity .25s ease}
.lead-consent a:hover,.lead-consent a:focus-visible{opacity:.65}
.lead-recaptcha:not(:empty){min-height:78px;margin-top:22px}
@media(max-width:350px){.lead-recaptcha:not(:empty){min-height:68px}.lead-recaptcha>div{transform:scale(.86);transform-origin:left top}}
.lead-form-feedback{grid-column:1/-1;margin:14px 0 0;color:inherit;font-size:12px;font-weight:500;line-height:1.55}
.site-footer-policies{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:4px}
.site-footer-policies button{padding:0;border:0;border-bottom:1px solid rgba(18,17,17,.28);background:transparent;color:var(--ink);font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;transition:color .25s ease,border-color .25s ease,font-weight .25s ease}
.site-footer-policies button:hover,.site-footer-policies button:focus-visible{border-color:var(--blood);color:var(--blood);font-weight:600}
.site-footer-policies a[aria-current="page"]{color:var(--blood);font-weight:600}
.contact-page .site-footer-policies button{border-color:rgba(255,255,255,.35);color:var(--ice)}
.contact-page .site-footer-policies button:hover,.contact-page .site-footer-policies button:focus-visible{border-color:#fff;color:#fff}
.contact-page .site-footer-policies a[aria-current="page"]{color:#fff}
.legal-page{background:var(--ice);color:var(--ink)}
.legal-page .site-header{--nav-color:var(--ink);--nav-hover:var(--blood)}
.legal-main{padding:clamp(145px,15vw,220px) var(--page) clamp(110px,12vw,180px);background:var(--ice)}
.legal-hero{display:grid;grid-template-columns:minmax(150px,.45fr) minmax(0,1.55fr);gap:clamp(40px,8vw,130px);align-items:start;padding-bottom:clamp(65px,8vw,110px);border-bottom:1px solid var(--line)}
.legal-hero>p{margin:8px 0 0;color:var(--blood);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.legal-hero h1{max-width:800px;margin:0;font-size:clamp(44px,6.5vw,98px);font-weight:300;line-height:.98;letter-spacing:-.045em}
.legal-hero span{display:block;margin-top:28px;color:var(--muted);font-size:10px;letter-spacing:.075em;text-transform:uppercase}
.legal-content{width:min(850px,72%);margin:0 0 0 auto}
.legal-content section{display:grid;grid-template-columns:minmax(190px,.5fr) minmax(0,1.5fr);gap:clamp(35px,6vw,90px);padding:clamp(44px,5vw,72px) 0;border-bottom:1px solid var(--line)}
.legal-content h2{margin:0;color:var(--blood);font-size:15px;font-weight:500;line-height:1.35;letter-spacing:-.008em}
.legal-content section>p{grid-column:2;margin:0;color:#383534;font-size:14px;line-height:1.8}
.legal-content section>p+p{margin-top:-18px}
.legal-content a{border-bottom:1px solid rgba(102,0,0,.35);color:var(--blood);font-weight:500;transition:border-color .25s ease}
.legal-content a:hover,.legal-content a:focus-visible{border-color:var(--blood)}
.cookie-consent{position:fixed;z-index:500;right:var(--page);bottom:clamp(18px,2.5vw,36px);left:var(--page);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(28px,5vw,78px);align-items:end;padding:clamp(24px,3vw,38px);border:1px solid rgba(18,17,17,.1);background:rgba(247,247,245,.98);color:var(--ink);box-shadow:0 22px 70px rgba(18,17,17,.18);opacity:0;transform:translateY(18px);transition:opacity .35s ease,transform .45s var(--ease-editorial);backdrop-filter:blur(12px)}
.cookie-consent[hidden]{display:none!important}.cookie-consent.is-visible{opacity:1;transform:none}
.cookie-consent-copy{max-width:790px}.cookie-consent-copy h2{display:block;margin:0 0 11px;color:var(--blood);font-size:10px;font-weight:600;line-height:1.3;letter-spacing:.14em;text-transform:uppercase}.cookie-consent-copy p{margin:0;font-size:13px;line-height:1.7}.cookie-consent-copy a{border-bottom:1px solid rgba(102,0,0,.38);color:var(--blood);font-weight:500}
.cookie-consent-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end}.cookie-consent-actions button{min-height:44px;padding:11px 17px;border:1px solid rgba(18,17,17,.23);background:transparent;color:var(--ink);font:500 10px/1.25 "Instrument Sans","Avenir Next",sans-serif;letter-spacing:.055em;cursor:pointer;transition:background .25s ease,border-color .25s ease,color .25s ease}.cookie-consent-actions button:hover,.cookie-consent-actions button:focus-visible{border-color:var(--blood);color:var(--blood)}.cookie-consent-actions .is-primary{border-color:var(--blood);background:var(--blood);color:#fff}.cookie-consent-actions .is-primary:hover,.cookie-consent-actions .is-primary:focus-visible{background:#7f0000;color:#fff}

@media(max-width:760px){
  .project-share-card{top:12px;right:20px}
  .project-share-detail{top:82px;right:19px}
  .project-share-detail small{display:none}
  .project-share-menu{right:16px!important;left:16px;min-width:0}
  .legal-main{padding:118px 19px 95px}
  .legal-hero{grid-template-columns:1fr;gap:24px;padding-bottom:58px}
  .legal-hero>p{margin:0}
  .legal-hero h1{font-size:46px}
  .legal-content{width:100%}
  .legal-content section{grid-template-columns:1fr;gap:21px;padding:42px 0}
  .legal-content section>p{grid-column:1}
  .legal-content section>p+p{margin-top:-8px}
  .cookie-consent{right:14px;bottom:14px;left:14px;grid-template-columns:1fr;gap:23px;padding:24px 20px}
  .cookie-consent-copy p{font-size:12px}
  .cookie-consent-actions{display:grid;grid-template-columns:1fr 1fr}
  .cookie-consent-actions button{padding-inline:10px}
}

/* Office 2026 — an editorial composition built around the partners and their process. */
.office-page .office-main{padding-top:94px;background:var(--paper)}
.office-editorial-hero{position:relative;height:calc(100svh - 94px);min-height:650px;overflow:hidden;background:#f0edee;color:var(--ink)}
.office-editorial-hero>img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.92) contrast(.98);transform:scale(1.004);animation:office-hero-settle 1.55s var(--ease-editorial) both}
.office-editorial-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,247,245,.35),transparent 42%);pointer-events:none}
.office-editorial-hero-copy{position:absolute;z-index:2;top:50%;left:var(--page);width:min(39vw,590px);transform:translateY(-50%)}
.office-editorial-hero-copy.visible{transform:translateY(-50%)}
.office-editorial-hero-copy>p{margin:0 0 clamp(27px,3vw,43px);color:var(--blood);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.office-editorial-hero-copy h1{margin:0;color:var(--blood);font-size:clamp(35px,3.5vw,56px);font-weight:400;line-height:1.04;letter-spacing:-.042em;text-wrap:balance}
.office-scroll-cue{position:absolute;z-index:3;bottom:30px;left:var(--page);display:flex;align-items:center;gap:14px;color:var(--ink);font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.office-scroll-cue i{position:relative;width:48px;height:1px;overflow:hidden;background:rgba(18,17,17,.25)}
.office-scroll-cue i:after{content:"";position:absolute;top:0;left:-16px;width:16px;height:1px;background:var(--blood);animation:office-cue 2.1s ease-in-out infinite}

.office-introduction{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:start;padding:clamp(105px,12vw,190px) var(--page);scroll-margin-top:90px;background:var(--paper)}
.office-introduction>.section-index{grid-column:1/3;margin-top:9px;color:var(--blood)}
.office-introduction-copy{grid-column:4/8}
.office-introduction-copy h2,.office-partners-copy h2,.office-method-head h2,.office-expertise-head h2,.office-contact-cta h2{margin:0;color:var(--blood);font-size:clamp(31px,3.35vw,52px);font-weight:400;line-height:1.08;letter-spacing:-.036em;text-wrap:balance}
.office-introduction-copy>p{max-width:580px;margin:34px 0 0;font-size:14px;line-height:1.76}
.office-introduction-copy>p+p{margin-top:17px}
.office-introduction-image{grid-column:9/13;margin:0;overflow:hidden}
.office-introduction-image img{height:min(77svh,820px);object-fit:cover;object-position:center 38%;filter:grayscale(1);transition:filter .7s ease,transform 1s var(--ease-editorial)}
.office-introduction-image:hover img{filter:grayscale(.15);transform:scale(1.008)}
.office-introduction-image figcaption,.office-partner-portrait figcaption{margin-top:13px;color:var(--blood);font-size:9px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}

.office-partners{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.76fr) minmax(0,1fr);gap:clamp(28px,5vw,86px);align-items:start;padding:clamp(90px,11vw,170px) var(--page);background:#efe7e0}
.office-partner-portrait{margin:0}
.office-partner-portrait img{width:100%;height:min(74svh,820px);object-fit:cover;filter:grayscale(1);transition:filter .75s ease,transform 1s var(--ease-editorial)}
.office-partner-portrait:hover img{filter:grayscale(.2);transform:scale(1.006)}
.office-partner-portrait--dark img{object-position:center 42%}
.office-partner-portrait--light{margin-top:clamp(95px,10vw,155px)}
.office-partner-portrait--light img{object-position:center 42%}
.office-partners-copy{align-self:center;padding:clamp(28px,4vw,55px) 0}
.office-partners-copy .section-index{margin:0 0 clamp(34px,5vw,66px);color:var(--blood)}
.office-partners-copy h2{font-size:clamp(27px,2.8vw,43px)}
.office-partners-copy>p:not(.section-index){margin:32px 0 0;font-size:14px;line-height:1.74}

.office-principles-editorial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 var(--page) clamp(105px,12vw,180px);background:#efe7e0}
.office-principles-editorial article{display:flex;min-height:390px;flex-direction:column;padding:22px clamp(24px,3vw,48px) 38px;border-top:1px solid rgba(18,17,17,.24);border-right:1px solid rgba(18,17,17,.15)}
.office-principles-editorial article:first-child{padding-left:0}
.office-principles-editorial article:last-child{padding-right:0;border-right:0}
.office-principles-editorial span{color:var(--blood);font-size:9px;font-weight:500;letter-spacing:.14em}
.office-principles-editorial h3{margin:auto 0 22px;color:var(--blood);font-size:clamp(22px,2vw,31px);font-weight:400;line-height:1.15;letter-spacing:-.025em}
.office-principles-editorial p{max-width:360px;margin:0;font-size:13px;line-height:1.72}

.office-method{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);background:var(--blood);color:#fff}
.office-method-image{min-height:820px;margin:0;overflow:hidden}
.office-method-image img{height:100%;object-fit:cover;object-position:center 46%;filter:grayscale(1) contrast(1.04);transition:filter .8s ease,transform 1.1s var(--ease-editorial)}
.office-method-image:hover img{filter:grayscale(.2) contrast(1);transform:scale(1.008)}
.office-method-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(75px,8vw,130px) var(--page)}
.office-method-head .section-index{margin:0 0 clamp(34px,4vw,55px);color:rgba(255,255,255,.65)}
.office-method-head h2{max-width:580px;color:#fff}
.office-method-list{margin:clamp(58px,7vw,100px) 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.28)}
.office-method-list li{display:grid;grid-template-columns:45px minmax(0,1fr);gap:clamp(20px,3vw,44px);padding:22px 0;border-bottom:1px solid rgba(255,255,255,.28)}
.office-method-list li>span{padding-top:3px;color:rgba(255,255,255,.62);font-size:9px;font-weight:500;letter-spacing:.13em}
.office-method-list h3{margin:0;font-size:15px;font-weight:500;letter-spacing:.01em}
.office-method-list p{max-width:510px;margin:8px 0 0;color:rgba(255,255,255,.74);font-size:12px;line-height:1.62}

.office-expertise{padding:clamp(105px,12vw,180px) var(--page);background:var(--paper)}
.office-expertise-head{display:grid;grid-template-columns:minmax(140px,.5fr) minmax(0,1.5fr);gap:clamp(40px,7vw,110px);align-items:start;margin-bottom:clamp(70px,8vw,120px)}
.office-expertise-head .section-index{margin:9px 0 0;color:var(--blood)}
.office-expertise-head h2{max-width:720px}
.office-expertise-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.office-expertise-links>a{display:flex;min-height:310px;flex-direction:column;padding:22px clamp(23px,3vw,45px) 29px;border-top:1px solid var(--line);border-right:1px solid var(--line);transition:background .35s ease,color .35s ease}
.office-expertise-links>a:first-child{padding-left:0}
.office-expertise-links>a:last-child{padding-right:0;border-right:0}
.office-expertise-links>a>span{color:var(--blood);font-size:clamp(21px,2vw,30px);font-weight:400;line-height:1.16;letter-spacing:-.025em}
.office-expertise-links small{max-width:320px;margin:24px 0 0;font-size:12px;line-height:1.66}
.office-expertise-links .home-path-copy>strong{display:inline-flex;align-items:center;align-self:flex-start;margin-top:auto;padding-bottom:9px;border-bottom:1px solid rgba(18,17,17,.35);font-size:13px;font-weight:500}
.office-expertise-links .home-path-copy>strong i{margin-left:11px}
.office-expertise-links>a:hover>span,.office-expertise-links>a:focus-visible>span,.office-expertise-links>a:hover .home-path-copy>strong,.office-expertise-links>a:focus-visible .home-path-copy>strong{color:#990000}
.office-expertise-links>a:hover .home-path-copy>strong,.office-expertise-links>a:focus-visible .home-path-copy>strong{border-color:#990000}

.office-contact-cta{display:grid;grid-template-columns:minmax(150px,.5fr) minmax(0,1fr) auto;gap:clamp(38px,7vw,110px);align-items:end;padding:clamp(70px,8vw,115px) var(--page);background:#efe7e0}
.office-contact-cta .section-index{align-self:start;margin:9px 0 0;color:var(--blood)}
.office-contact-cta h2{max-width:670px}
.office-contact-cta>p:not(.section-index){grid-column:2;max-width:500px;margin:0;font-size:13px;line-height:1.68}
.office-contact-cta>a{grid-column:3;grid-row:1/3;align-self:center;display:inline-flex;align-items:center;padding:14px 0;border-bottom:1px solid rgba(102,0,0,.45);color:var(--blood);font-size:14px;font-weight:600;white-space:nowrap;transition:color .3s ease,border-color .3s ease}
.office-contact-cta>a i{margin-left:13px}
.office-contact-cta>a:hover,.office-contact-cta>a:focus-visible{border-color:#990000;color:#990000}

@keyframes office-hero-settle{from{opacity:.45;transform:scale(1.022)}to{opacity:1;transform:scale(1.004)}}
@keyframes office-cue{0%{transform:translateX(0)}55%,100%{transform:translateX(64px)}}

@media(max-width:1000px){
  .office-introduction{grid-template-columns:repeat(8,minmax(0,1fr))}
  .office-introduction>.section-index{grid-column:1/3}
  .office-introduction-copy{grid-column:3/6}
  .office-introduction-image{grid-column:6/9}
  .office-partners{grid-template-columns:1fr .86fr 1fr;gap:28px}
  .office-expertise-links>a{min-height:330px}
  .office-contact-cta{grid-template-columns:minmax(120px,.4fr) minmax(0,1fr)}
  .office-contact-cta>a{grid-column:2;grid-row:auto;justify-self:start;margin-top:8px}
}

@media(max-width:760px){
  .office-page .office-main{padding-top:78px}
  .office-editorial-hero{height:auto;min-height:0;overflow:visible;background:var(--paper)}
  .office-editorial-hero>img{height:55svh;min-height:430px;object-position:center;animation:none;transform:none}
  .office-editorial-hero:after{display:none}
  .office-editorial-hero-copy{position:static;width:100%;padding:48px 19px 70px;transform:none!important}
  .office-editorial-hero-copy>p{margin-bottom:28px;font-size:9px}
  .office-editorial-hero-copy h1{font-size:35px;line-height:1.05}
  .office-scroll-cue{top:calc(55svh - 45px);bottom:auto;left:19px}

  .office-introduction{display:grid;grid-template-columns:1fr;padding:86px 19px 78px}
  .office-introduction>.section-index,.office-introduction-copy,.office-introduction-image{grid-column:auto}
  .office-introduction>.section-index{margin:0 0 34px}
  .office-introduction-copy h2,.office-partners-copy h2,.office-method-head h2,.office-expertise-head h2,.office-contact-cta h2{font-size:31px}
  .office-introduction-copy>p{font-size:13px}
  .office-introduction-image{margin-top:54px}
  .office-introduction-image img{height:auto;aspect-ratio:2/3}

  .office-partners{grid-template-columns:1fr 1fr;gap:10px;padding:62px 19px 105px}
  .office-partners-copy{grid-column:1/-1;grid-row:1;padding:0 0 54px}
  .office-partners-copy .section-index{margin-bottom:32px}
  .office-partners-copy>p:not(.section-index){font-size:13px}
  .office-partner-portrait{grid-row:2}
  .office-partner-portrait--light{margin-top:55px}
  .office-partner-portrait img{height:auto;aspect-ratio:2/3}
  .office-partner-portrait figcaption{font-size:8px;letter-spacing:.08em}

  .office-principles-editorial{grid-template-columns:1fr;padding:0 19px 96px}
  .office-principles-editorial article,.office-principles-editorial article:first-child,.office-principles-editorial article:last-child{min-height:265px;padding:20px 0 28px;border-right:0;border-bottom:1px solid rgba(18,17,17,.15)}
  .office-principles-editorial article:last-child{border-bottom:0}
  .office-principles-editorial h3{margin:auto 0 18px;font-size:25px}

  .office-method{grid-template-columns:1fr}
  .office-method-image{min-height:0;height:67svh}
  .office-method-content{padding:78px 19px 90px}
  .office-method-list{margin-top:57px}
  .office-method-list li{grid-template-columns:34px 1fr;gap:17px;padding:20px 0}

  .office-expertise{padding:88px 19px 100px}
  .office-expertise-head{grid-template-columns:1fr;gap:32px;margin-bottom:65px}
  .office-expertise-head .section-index{margin:0}
  .office-expertise-links{grid-template-columns:1fr}
  .office-expertise-links>a,.office-expertise-links>a:first-child,.office-expertise-links>a:last-child{min-height:260px;padding:20px 0 26px;border-right:0}
  .office-expertise-links>a>span{font-size:25px}
  .office-expertise-links small{margin-top:19px}

  .office-contact-cta{grid-template-columns:1fr;gap:0;padding:78px 19px 88px}
  .office-contact-cta .section-index{margin:0 0 35px}
  .office-contact-cta>p:not(.section-index){grid-column:auto;margin-top:24px}
  .office-contact-cta>a{grid-column:auto;grid-row:auto;margin-top:38px;font-size:14px}
}

/* Cascade lock: the refinement layer intentionally comes last. */
/* 2026 refinement — immersive home, compact office and deeper project navigation. */
.home-hero--single .hero-slide figcaption,.home-hero--single .slider-controls{display:none}
.home-hero--single .home-hero-copy{top:auto;bottom:clamp(78px,9vh,118px);width:min(840px,calc(100% - (2 * var(--page))));transform:none;text-shadow:0 2px 34px rgba(0,0,0,.3)}
.home-hero--single .home-hero-copy h1{max-width:820px;font-size:clamp(43px,5.35vw,82px);font-weight:400;line-height:.98;letter-spacing:-.052em}
.home-hero--single .home-hero-actions{gap:12px;margin-top:clamp(30px,3vw,43px)}
.home-hero-primary,.home-hero--single .home-hero-secondary{min-width:154px;padding:13px 23px;border:1px solid rgba(255,255,255,.78);border-radius:999px}
.home-hero-primary{background:#f7f7f5;color:var(--ink)}
.home-hero--single .home-hero-secondary{background:rgba(18,17,17,.15);color:#fff;backdrop-filter:blur(8px)}
.home-hero--single .home-hero-secondary .css-arrow{margin-left:12px}
.home-hero-primary:hover,.home-hero-primary:focus-visible{background:#fff;color:var(--blood)}
.home-hero--single .home-hero-secondary:hover,.home-hero--single .home-hero-secondary:focus-visible{background:rgba(153,0,0,.92);border-color:#990000}

.home-vision{--vision-scale:1;--vision-y:0px;--vision-copy-opacity:0;--vision-copy-x:-42px;position:relative;height:178svh;background:var(--paper)}
.home-vision-sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.home-vision-image{position:absolute;z-index:1;inset:0;margin:0;overflow:hidden;transform:translate3d(18vw,var(--vision-y),0) scale(var(--vision-scale));transform-origin:center right;will-change:transform}
.home-vision-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,17,17,.06),transparent 35%)}
.home-vision-image img{width:100%;height:100%;object-fit:cover}
.home-vision-copy{position:absolute;z-index:2;top:50%;left:var(--page);width:min(42vw,640px);opacity:var(--vision-copy-opacity);transform:translate3d(var(--vision-copy-x),-50%,0);will-change:opacity,transform}
.home-vision-copy>p{margin:0 0 clamp(30px,4vw,58px);color:var(--blood);font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.home-vision-copy h2{margin:0;color:var(--blood);font-size:clamp(36px,4.3vw,67px);font-weight:400;line-height:1.02;letter-spacing:-.048em;text-wrap:balance}
.home-vision-copy>span{display:block;max-width:490px;margin-top:30px;font-size:14px;line-height:1.72}

.home-paths-grid{grid-template-columns:minmax(0,.94fr) minmax(0,1.12fr) minmax(0,.94fr);align-items:center;gap:clamp(13px,1.6vw,25px)}
.home-path-card a{border-top:0}
.home-path-card figure{height:clamp(390px,37vw,590px);border-radius:12px}
.home-path-clinics figure{height:clamp(465px,45vw,710px)}
.home-path-copy{padding-right:clamp(8px,1vw,18px);padding-left:clamp(8px,1vw,18px)}

.office-page .office-main{padding-top:0}
.office-editorial-hero{height:100svh;min-height:690px}
.office-editorial-hero:after{background:linear-gradient(90deg,rgba(247,247,245,.58),rgba(247,247,245,.05) 47%,transparent 68%)}
.office-editorial-hero-copy{width:min(43vw,650px)}
.office-editorial-hero-copy h1{font-size:clamp(39px,4vw,64px)}
.office-hero-cta{display:inline-flex;align-items:center;margin-top:clamp(32px,4vw,52px);padding:13px 21px;border:1px solid rgba(102,0,0,.58);border-radius:999px;color:var(--blood);font-size:12px;font-weight:600;transition:background .3s ease,color .3s ease,border-color .3s ease}
.office-hero-cta i{margin-left:12px}
.office-hero-cta:hover,.office-hero-cta:focus-visible{border-color:#990000;background:#990000;color:#fff}
.office-scroll-cue{bottom:26px;left:50%;flex-direction:column;gap:9px;transform:translateX(-50%);color:rgba(18,17,17,.78)}
.office-scroll-cue i{width:10px;height:10px;overflow:visible;border-right:1px solid currentColor;border-bottom:1px solid currentColor;background:transparent;transform:rotate(45deg);animation:segment-explore-cue 1.8s ease-in-out infinite}
.office-scroll-cue i:after{display:none}
.office-introduction{grid-template-columns:repeat(12,minmax(0,1fr));padding-top:clamp(95px,10vw,155px)}
.office-introduction-copy{grid-column:2/7}
.office-introduction-image{grid-column:8/13}
.office-principles-editorial{gap:clamp(12px,1.4vw,22px);padding-bottom:clamp(84px,9vw,130px)}
.office-principles-editorial article,.office-principles-editorial article:first-child,.office-principles-editorial article:last-child{min-height:225px;padding:20px clamp(18px,2.2vw,32px) 27px;border:1px solid rgba(18,17,17,.13);border-radius:10px;background:rgba(247,247,245,.34)}
.office-principles-editorial span{font-weight:600}
.office-principles-editorial h3{margin:auto 0 14px;font-size:clamp(20px,1.65vw,27px)}
.office-principles-editorial p{font-size:12px;line-height:1.62}
.office-method-head .section-index,.office-method-list li>span{font-weight:600;color:rgba(255,255,255,.8)}
.office-method-list h3{font-weight:600}.office-method-list p{font-weight:500;color:rgba(255,255,255,.78)}
.office-expertise{padding-top:clamp(90px,10vw,145px);padding-bottom:clamp(95px,10vw,145px)}
.office-expertise-head{margin-bottom:clamp(52px,6vw,84px)}
.office-expertise-links{gap:clamp(12px,1.4vw,22px)}
.office-expertise-links>a,.office-expertise-links>a:first-child,.office-expertise-links>a:last-child{min-height:220px;padding:25px clamp(20px,2.4vw,34px);border:1px solid var(--line);border-radius:10px;background:#fff}
.office-expertise-links>a>span{font-size:clamp(20px,1.7vw,27px)}
.office-expertise-links small{margin-top:16px}.office-expertise-links .home-path-copy>strong{margin-top:36px}
.office-lead-section{background:var(--blood)}
.office-lead-section .lead-intro h2{color:#fff}

.project-detail-pending .project-hero{clip-path:inset(0 0 100% 0);opacity:0}
.project-detail-ready .project-hero{animation:project-hero-reveal 1.15s var(--ease-editorial) .16s both}
.project-detail-pending .site-header{opacity:0;transform:translateY(-12px)}
.project-detail-ready .site-header{animation:project-header-arrive .7s ease .05s both}
.project-detail-pending .project-hero-copy,.project-detail-pending .project-back,.project-detail-pending .project-share-detail,.project-detail-pending .scroll-indicator{opacity:0}
.project-detail-ready .project-hero-copy{animation:project-copy-arrive .82s var(--ease-editorial) .92s both}
.project-detail-ready .project-back,.project-detail-ready .project-share-detail,.project-detail-ready .scroll-indicator{animation:project-copy-arrive .65s ease 1.08s both}
@keyframes project-hero-reveal{from{clip-path:inset(0 0 100% 0);opacity:.5}to{clip-path:inset(0);opacity:1}}
@keyframes project-header-arrive{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes project-copy-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.project-related{padding:clamp(90px,10vw,150px) var(--page);background:var(--paper)}
.project-related>header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:clamp(42px,5vw,72px);border-bottom:1px solid var(--line);padding-bottom:19px}
.project-related>header p{margin:0;color:var(--blood);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.project-related>header h2{margin:0;color:var(--blood);font-size:clamp(30px,3.2vw,48px);font-weight:400;letter-spacing:-.035em}
.project-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,30px)}
.project-related-card figure{position:relative;height:clamp(260px,27vw,450px);margin:0;overflow:hidden;border-radius:10px;background:#ddd}
.project-related-card figure:after{content:"";position:absolute;inset:0;background:rgba(18,17,17,.2);opacity:0;transition:opacity .4s ease}
.project-related-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-editorial),filter .5s ease}
.project-related-card figure span{position:absolute;z-index:2;top:50%;left:50%;padding:11px 16px;border:1px solid rgba(255,255,255,.75);border-radius:999px;color:#fff;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;opacity:0;transform:translate(-50%,-42%);transition:opacity .35s ease,transform .45s ease}
.project-related-card div{display:flex;justify-content:space-between;gap:18px;padding:15px 2px 0}
.project-related-card strong{font-size:13px;font-weight:600}.project-related-card small{font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.project-related-card a:hover img,.project-related-card a:focus-visible img{filter:grayscale(1);transform:scale(1.018)}
.project-related-card a:hover figure:after,.project-related-card a:focus-visible figure:after,.project-related-card a:hover figure span,.project-related-card a:focus-visible figure span{opacity:1}
.project-related-card a:hover figure span,.project-related-card a:focus-visible figure span{transform:translate(-50%,-50%)}

/* Category pages: encourage a next route without sending the visitor back to the menu. */
.category-crosslinks{margin-top:clamp(78px,9vw,135px);padding-top:clamp(54px,6vw,86px);border-top:1px solid var(--line)}
.category-crosslinks-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:clamp(34px,4vw,58px)}
.category-crosslinks-head p{margin:0;color:var(--blood);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.category-crosslinks-head h2{max-width:560px;margin:0;color:var(--blood);font-size:clamp(28px,3vw,44px);font-weight:400;line-height:1.08;letter-spacing:-.035em}
.category-crosslinks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,28px)}
.category-crosslink{display:grid;grid-template-columns:minmax(150px,.82fr) minmax(0,1.18fr);min-height:220px;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff;transition:border-radius .35s var(--ease-editorial)}
.category-crosslink figure{height:100%;margin:0;overflow:hidden}
.category-crosslink img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-editorial),filter .5s ease}
.category-crosslink>div{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(22px,2.5vw,38px)}
.category-crosslink span{color:var(--blood);font-size:clamp(20px,1.8vw,28px);line-height:1.12;letter-spacing:-.025em}
.category-crosslink strong{display:inline-flex;align-items:center;margin-top:auto;padding-bottom:8px;border-bottom:1px solid rgba(18,17,17,.3);font-size:12px;font-weight:500}
.category-crosslink strong i{margin-left:10px}
.category-crosslink:hover,.category-crosslink:focus-visible{border-radius:0}.category-crosslink:hover img,.category-crosslink:focus-visible img{filter:grayscale(.6);transform:scale(1.018)}

/* Discourage casual copying while keeping forms and navigation usable. */
.content-protected body,.content-protected body *{-webkit-user-select:none;user-select:none}
.content-protected input,.content-protected textarea,.content-protected select,.content-protected [contenteditable="true"]{-webkit-user-select:text;user-select:text}
.content-protected img{-webkit-user-drag:none;user-drag:none}

/* Cross-category routes reuse the same editorial cards as Home and Escritório. */
.category-crosslinks-grid.home-paths-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(18px,2vw,32px)}
.category-crosslinks-grid .home-path-card figure{height:clamp(390px,37vw,590px)}

@media(max-width:760px){
  .home-hero--single .home-hero-copy{right:19px;bottom:96px;left:19px;width:auto}
  .home-hero--single .home-hero-copy h1{font-size:clamp(34px,10.2vw,49px);line-height:1}
  .home-hero--single .home-hero-actions{display:flex;gap:9px;margin-top:26px}
  .home-hero-primary,.home-hero--single .home-hero-secondary{min-width:0;min-height:43px;padding:10px 15px;font-size:10px}
  .home-vision{height:auto;padding:84px 19px 98px}
  .home-vision-sticky{position:relative;height:auto;overflow:visible}
  .home-vision-image{position:relative;inset:auto;height:56svh;border-radius:10px;transform:none}
  .home-vision-copy{position:relative;top:auto;left:auto;width:100%;margin-top:54px;opacity:1;transform:none}
  .home-vision-copy>p{margin-bottom:30px}.home-vision-copy h2{font-size:37px}.home-vision-copy>span{font-size:13px}
  .home-paths-grid{grid-template-columns:1fr;gap:80px}.home-path-card figure,.home-path-clinics figure{height:auto;aspect-ratio:4/5;border-radius:9px}
  .office-page .office-main{padding-top:0}
  .office-editorial-hero{height:100svh;min-height:650px;overflow:hidden;background:#efedee}
  .office-editorial-hero>img{height:100%;min-height:0;object-position:58% center}
  .office-editorial-hero:after{display:block;background:linear-gradient(180deg,rgba(247,247,245,.08),rgba(247,247,245,.18) 45%,rgba(247,247,245,.76))}
  .office-editorial-hero-copy{position:absolute;top:auto;right:19px;bottom:80px;left:19px;width:auto;padding:0;transform:none!important}
  .office-editorial-hero-copy h1{font-size:38px}.office-hero-cta{margin-top:27px;background:rgba(247,247,245,.58);backdrop-filter:blur(8px)}
  .office-scroll-cue{top:auto;bottom:22px;left:50%}
  .office-introduction{padding-top:84px}.office-introduction-copy{grid-column:auto}.office-introduction-image{grid-column:auto}
  .office-principles-editorial{gap:12px}.office-principles-editorial article,.office-principles-editorial article:first-child,.office-principles-editorial article:last-child{min-height:190px;padding:20px 22px 24px;border:1px solid rgba(18,17,17,.13)}
  .office-principles-editorial h3{font-size:23px}
  .office-expertise-links{gap:12px}.office-expertise-links>a,.office-expertise-links>a:first-child,.office-expertise-links>a:last-child{min-height:205px;padding:24px 22px;border:1px solid var(--line)}
  .project-related{padding:82px 19px 95px}.project-related>header{display:block}.project-related>header h2{margin-top:18px;font-size:38px}.project-related-grid{grid-template-columns:1fr;gap:54px}.project-related-card figure{height:auto;aspect-ratio:4/3}
  .category-crosslinks{margin-top:76px;padding-top:48px}.category-crosslinks-head{display:block}.category-crosslinks-head h2{margin-top:14px;font-size:31px}.category-crosslinks-grid,.category-crosslinks-grid.home-paths-grid{grid-template-columns:1fr}.category-crosslinks-grid .home-path-card figure{height:auto;aspect-ratio:4/5}.category-crosslink{grid-template-columns:1fr;min-height:0}.category-crosslink figure{height:auto;aspect-ratio:4/3}.category-crosslink>div{min-height:180px;padding:24px 22px}
}

@media(prefers-reduced-motion:reduce){
  .home-vision-image,.home-vision-copy{transform:none!important;opacity:1!important}
  .project-detail-pending .project-hero,.project-detail-pending .site-header,.project-detail-pending .project-hero-copy,.project-detail-pending .project-back,.project-detail-pending .project-share-detail,.project-detail-pending .scroll-indicator{clip-path:none;opacity:1;transform:none}
  .project-detail-ready .project-hero,.project-detail-ready .site-header,.project-detail-ready .project-hero-copy,.project-detail-ready .project-back,.project-detail-ready .project-share-detail,.project-detail-ready .scroll-indicator{animation:none}
}

/* Setembro 2026 — sistema editorial unificado */
:root{--castello-display:clamp(32px,3vw,48px);--castello-display-mobile:clamp(29px,8.7vw,37px);--castello-menu:13px}
.site-nav,.site-nav>a,.nav-projects-group>a,.nav-projects-menu a,.filter-bar button{font-size:var(--castello-menu)}
.site-header .nav-projects-menu a:first-child,.site-header .nav-projects-menu a:first-child.is-active{color:var(--ink)!important;font-weight:600!important}
.site-header .nav-projects-menu a:first-child:hover,.site-header .nav-projects-menu a:first-child:focus-visible{color:#990000!important}
.filter-bar button{color:var(--ink);font-weight:400;text-shadow:none!important;-webkit-text-stroke:0 transparent;filter:none;box-shadow:none}
.filter-bar button:hover,.filter-bar button:focus-visible{color:#990000;text-shadow:none!important;-webkit-text-stroke:0 transparent}
.filter-bar button.is-active{color:var(--ink);font-weight:500;text-shadow:none!important}
.filter-bar button.is-active:hover{color:#990000;text-shadow:none!important}
.segment-hero-copy h1,.lead-intro h2,.category-crosslinks-head h2,.project-related>header h2,.legal-hero h1,.thank-card h1,.contact-intro h1,.error-copy h1{font-size:var(--castello-display)}
.home-paths-head p,.home-path-copy p,.project-info small,.segment-project-card .project-info small{color:var(--muted);font-size:var(--type-body);font-weight:400;line-height:1.65;letter-spacing:0;text-transform:none}
.listing-page .site-header,.office-page .site-header,.office-page .site-header.is-solid{box-shadow:none!important;text-shadow:none!important}

/* Três projetos por linha sobre quatro colunas: dois quadrados e um horizontal. */
#projectGrid{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;gap:clamp(54px,6.5vw,104px)}
#projectGrid>.project-card[hidden]{display:none}
.project-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;gap:var(--gap);align-items:start;container-type:inline-size}
.project-row .project-card{grid-column:span 1;min-width:0}
.project-row .project-link{display:block;min-width:0;height:auto}
.project-row .project-card figure{height:calc((100cqw - (3 * var(--gap)))/4);min-width:0;aspect-ratio:auto;overflow:hidden;border-radius:5px;transition:border-radius .38s var(--ease-editorial)}
.project-row-0 .project-card:nth-child(2),.project-row-1 .project-card:nth-child(1),.project-row-2 .project-card:nth-child(3){grid-column:span 2}
.project-row .project-card:hover figure,.project-row .project-card:focus-within figure{border-radius:0}
.project-row .project-info{height:auto}
.project-grid .project-info>strong,.project-grid .project-info small{font-size:var(--type-meta);line-height:1.45;letter-spacing:.02em}
.project-grid .project-info>strong{font-weight:500}.project-grid .project-info small{font-weight:400}

/* Estados tipográficos das interações. */
.site-nav a:hover,.site-nav a:focus-visible,.nav-projects-menu a:hover,.nav-projects-menu a:focus-visible,.site-footer a:hover,.site-footer a:focus-visible,.filter-bar button:hover,.filter-bar button:focus-visible,.residential-all-projects:hover,.residential-all-projects:focus-visible,.segment-button:hover,.segment-button:focus-visible,.lead-whatsapp:hover,.lead-whatsapp:focus-visible,.lead-submit:hover,.lead-submit:focus-visible,.home-hero-actions a:hover,.home-hero-actions a:focus-visible,.office-hero-cta:hover,.office-hero-cta:focus-visible,.project-link:hover .project-info>strong,.project-link:hover .project-info small{font-weight:600}

/* Os cards relacionados passam a usar exatamente a linguagem do portfólio. */
.project-related-card figure{border-radius:5px}
.project-related-card .project-hover{display:flex}
.project-related-card .project-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 2px 0}
.project-related-card .project-info strong{font-size:13px;font-weight:500}.project-related-card .project-info small{font-size:var(--type-meta)}

@media(min-width:1001px){.conversion-page [data-project-category]{grid-template-columns:repeat(3,minmax(0,1fr));width:min(1380px,100%)}}

@media(max-width:1050px){
  .site-nav{justify-content:flex-start;gap:0;padding:94px 25px 38px;overflow-y:auto}
  .site-nav>a,.site-nav .nav-projects-group>a{padding:10px 0;font-size:19px;font-weight:400;line-height:1.2}
  .nav-projects-menu{margin-top:2px;padding:4px 0 8px 14px}
  .nav-projects-menu a{padding:5px 0!important;font-size:12px;line-height:1.25}
  .menu-toggle{gap:10px}.menu-toggle-label{display:block;font-size:10px;letter-spacing:.12em}
}
@media(min-width:761px) and (max-width:1000px){
  .project-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-row .project-card,.project-row-0 .project-card:nth-child(2),.project-row-1 .project-card:nth-child(1),.project-row-2 .project-card:nth-child(3){grid-column:span 1}
  .project-row .project-card figure,.project-row-0 .project-card:nth-child(2) figure,.project-row-1 .project-card:nth-child(1) figure,.project-row-2 .project-card:nth-child(3) figure{height:auto;aspect-ratio:1.08/1}
}
@media(max-width:760px){
  .segment-hero-copy h1,.lead-intro h2,.category-crosslinks-head h2,.project-related>header h2,.legal-hero h1,.thank-card h1,.contact-intro h1,.error-copy h1{font-size:var(--castello-display-mobile)}
  #projectGrid{gap:52px}.project-row{display:contents}.project-row .project-card{grid-column:1/-1!important;min-width:0}.project-row .project-card,.project-row .project-link{height:auto}.project-row .project-card figure{height:auto;aspect-ratio:1.08/1!important}
}

/* Setembro 2026 — conteúdo comercial e estados editoriais */
.segment-hero-subtitle{max-width:500px!important;margin-top:20px!important;color:rgba(255,255,255,.92)!important;font-size:clamp(13px,.95vw,15px)!important;line-height:1.55!important}
.segment-hero-subtitle+.segment-hero-actions{margin-top:clamp(24px,2.2vw,32px)}
.thank-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 34px;margin-top:34px}
.thank-actions a{margin-top:0}
.error-description{display:block;max-width:610px;margin:30px auto 0;color:var(--muted);font-size:15px;line-height:1.7;text-wrap:balance}
.error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:15px 34px;margin-top:38px}
.error-actions a{display:inline-flex;align-items:center;gap:14px;padding:0 0 9px;border-bottom:1px solid rgba(18,17,17,.34);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:color .25s ease,border-color .25s ease}
.error-actions a:hover,.error-actions a:focus-visible{border-color:#990000;color:#990000;font-weight:600}
.error-actions .error-action-primary{border-color:rgba(153,0,0,.48);color:#990000}
@media(max-width:760px){
  .segment-hero-subtitle{max-width:330px!important;margin-top:15px!important;font-size:12px!important}
  .segment-hero-subtitle+.segment-hero-actions{margin-top:20px}
  .thank-actions{align-items:flex-start;flex-direction:column;gap:18px;margin-top:30px}
  .error-description{margin:23px 0 0;font-size:13px;text-wrap:pretty}
  .error-actions{align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:20px;margin-top:30px}
}

/* Contraste AA sobre fotografia: concentra a proteção apenas sob o conteúdo. */
.project-hero .hero-shade{
  background:
    radial-gradient(ellipse at center,rgba(15,10,9,.58) 0%,rgba(15,10,9,.48) 42%,rgba(15,10,9,0) 72%),
    linear-gradient(180deg,rgba(15,10,9,.32),rgba(15,10,9,.18) 50%,rgba(15,10,9,.58));
}
#projectGrid .project-hover,
.home-paths-grid .project-hover,
.conversion-page .segment-project-grid .project-hover{background:rgba(12,8,7,.48)}
