/* Native scrolling; no scroll pinning, parallax or animation delay. */
.confidential-label{font-size:var(--text-secondary);color:var(--muted)}
.confidential-card-link{display:block;color:inherit;text-decoration:none}
.confidential-card .button{font-size:var(--text-control);padding:12px 14px;margin-top:10px;max-width:100%}
.confidential-panel{padding-top:30px;padding-bottom:30px;background:#eee6d9}
/* Links remain identifiable at rest, including within prose. */
:root{--link-accent:#704825}
p a,.check a,.breadcrumb a,.service-row a,.section-head>a,.project-whatsapp a{ text-decoration:underline;text-underline-offset:4px }
a:not(.brand):not(.project-card):not(.button):hover{color:var(--link-accent);text-decoration:none}
footer a:hover,.dark a:hover,.hero a:hover{color:var(--sand)}
a:focus-visible{outline:3px solid var(--bronze);outline-offset:4px}
.link-arrow{display:inline-block;margin-left:.35em}
/* One transform on the interactive root. Children never zoom separately. */
a:not(.skip),button{transform-origin:center;transition:transform .2s ease,color .2s ease,background-color .2s ease,border-color .2s ease}
a:not(.brand):not(.button):not(.project-card):not(.confidential-card-link):not(footer a){display:inline-block;max-width:100%;overflow-wrap:anywhere}
.project-card{display:block}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){a:not(.skip):hover,button:not(:disabled):hover{transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){a:not(.skip),button{transition:none;transform:none}}
address{font-style:normal;font-size:var(--text-body);line-height:1.7;margin:20px 0}
body>footer address{color:var(--sand);font-size:var(--text-secondary)}
body>footer a{display:block;width:fit-content;max-width:100%}
.portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}
.portfolio-grid .image{aspect-ratio:16/11;background:#e9e1d5;display:flex;align-items:center}
.portfolio-grid .image img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
.portfolio-grid h3{font-size:clamp(1.1875rem,1.6vw,1.5625rem);margin:12px 0 8px;overflow-wrap:anywhere}
.portfolio-grid .project-card p{font-size:var(--text-secondary);line-height:1.5}
.portfolio-filters{border-block:1px solid var(--line);margin-bottom:18px;padding:12px 0}
.portfolio-filters summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:var(--text-control)}
.portfolio-filters .filters{margin:18px 0 8px;gap:14px}.portfolio-filters .filters label{min-width:0}
.portfolio-filters .filter-reset{min-height:44px;margin-bottom:0}
.active-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.active-filters button{border:1px solid var(--line);background:transparent;min-height:44px;padding:10px 14px;text-align:left;overflow-wrap:anywhere;max-width:100%}
.project-whatsapp{padding:0 7vw 24px;font-size:var(--text-control)}
.materials{background:#eee6d9}.materials>p:last-child{max-width:850px}
.architect-word{max-width:1400px;margin:auto}.architect-word.with-portrait{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}
.architect-portrait{display:block;width:100%;height:auto;aspect-ratio:960/1116;object-fit:contain;object-position:center;max-width:480px;margin:auto}
.architect-signature{margin-top:32px}.architect-signature span{font-size:var(--text-secondary);color:var(--muted)}
.architect-word blockquote{margin:35px 0;padding:20px 0;border-block:1px solid var(--line)}
.architect-word blockquote p{font-family:Georgia,serif;font-size:var(--text-body);line-height:1.4;margin:0 0 12px}
.architect-word blockquote footer{display:block;padding:0;background:none;color:var(--muted);font-size:var(--text-secondary)}
@media(max-width:1279px){.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:959px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.portfolio-filters .filters{display:grid;grid-template-columns:1fr}.architect-word.with-portrait{grid-template-columns:1fr;gap:30px}.architect-portrait{max-width:320px;width:100%;margin:auto}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}}
@media(max-width:479px){.portfolio-grid{grid-template-columns:1fr}.portfolio-grid h3{font-size:clamp(1.4375rem, 1.4375rem + 1.2vw, 1.4375rem)}}
@media(prefers-reduced-motion:reduce){.link-arrow{transition:none;transform:none}}
.header{position:sticky;top:0;background:var(--paper);z-index:10}
.hero{min-height:580px;height:82svh;max-height:980px}
.hero-copy{padding:6vw 7vw;max-width:1000px}
.hero h1{font-size:clamp(3rem,6.7vw,6.25rem);line-height:1.03;letter-spacing:-.045em}
.hero p{max-width:460px}
.section{padding-top:100px;padding-bottom:100px}
.home-services{background:#eee6d9}
.service-teasers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:45px 0}
.service-teasers h3{font-size:clamp(1.625rem, 1.625rem + 1.2vw, 1.625rem)}.service-teasers p{color:var(--muted)}
.project-card .image{overflow:hidden}
.project-heading{padding-top:45px;padding-bottom:50px}
.project-heading h1{font-size:clamp(2.625rem,5.5vw,5rem)}
.project-hero{width:100%;height:auto;max-height:85svh;object-fit:contain}
#main>.section,.project-hero{transition:opacity .45s ease,transform .45s ease}
.reveal-pending{opacity:0;transform:translateY(16px)}
.gallery button:focus-visible{outline:3px solid var(--bronze);outline-offset:5px}
button:disabled{cursor:wait;opacity:.65}
@media(max-width:900px){.service-teasers{grid-template-columns:1fr;gap:15px}.section{padding-top:65px;padding-bottom:65px}}
@media(max-width:400px){.hero{height:auto;min-height:540px}.hero-copy{padding:110px 6vw 35px}.hero h1{font-size:clamp(2rem, 2rem + 1.2vw, 2.625rem)}.hero .actions{gap:12px}.hero .button{width:100%}.section{padding-top:50px;padding-bottom:50px}.service-teasers{margin:25px 0}.project-heading h1{font-size:clamp(2rem, 2rem + 1.2vw, 2.375rem);overflow-wrap:anywhere}.facts{min-width:0}.header{position:relative}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}#main>.section,.project-hero,.project-card img,.button,.header nav a,.gallery-filters button{transition:none;transform:none}}
.required-note{font-size:var(--text-secondary);color:var(--muted);line-height:1.6}
img{height:auto}
.confirmation{border:1px solid var(--bronze);background:var(--paper);padding:clamp(20px,3vw,32px)}
.confirmation h2{font-size:clamp(1.5625rem,2.5vw,2.125rem);line-height:1.3;overflow-wrap:anywhere}
.confirmation-reference{display:flex;flex-wrap:wrap;align-items:end;gap:14px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.confirmation-reference label{max-width:100%;font-size:var(--text-control);color:var(--muted)}
.confirmation-reference input{display:block;font-family:monospace;letter-spacing:1px;max-width:100%;color:var(--ink)}
.confirmation-reference .button{min-height:44px;font-size:var(--text-control)}
.confirmation .actions{align-items:center}
.service-row h2{font-size:clamp(1.6875rem, 1.6875rem + 1.2vw, 1.6875rem);margin:0}
.service-detail-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}
.service-topics{margin:55px 0}
@media(max-width:760px){.service-detail-row{grid-template-columns:1fr}.service-detail-row p{grid-column:1}.confirmation .actions{gap:20px}.confirmation .button{max-width:100%;white-space:normal}}

/* ADN interface: editorial spaces, architectural rhythm, quiet Kuba-inspired geometry. */
:root{--text-body:1.125rem;--text-control:1.0625rem;--text-secondary:.9375rem;--text-label:.875rem;--paper:#faf7f0;--ink:#171713;--bronze:#795734;--muted:#625d53;--line:#d8cebf}
body{font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
html{scroll-padding-top:110px}
h1,h2{letter-spacing:-.045em}h1 em,h2 em{font-weight:400;color:#795734}
.header{padding:16px 4.5vw;min-height:88px;gap:24px;border-bottom:1px solid var(--line);background:var(--paper)}
.brand{letter-spacing:.08em;line-height:1.35;font-size:1rem;flex-shrink:0}.brand img{width:40px;height:52px}.brand small{font-size:var(--text-label);letter-spacing:.04em;max-width:20rem}
.header nav{gap:12px;font-size:var(--text-control)}.header nav a{min-height:44px;display:inline-flex;align-items:center;padding:12px 10px;border-radius:0}
.header nav a[aria-current=page]{background:var(--sand);box-shadow:none}
.header .nav-contact{background:var(--ink);color:var(--paper);padding:14px 19px;margin-left:8px}
.header .nav-contact:hover{color:var(--paper)}
#menu-toggle{min-height:44px;min-width:84px;color:var(--ink)}
.button{min-height:3.25rem;gap:1rem;padding:1rem 1.4rem;border-radius:.35rem;font-weight:600;font-size:var(--text-control);line-height:1.35}.button.outline{border-color:var(--line)}
.button:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #795734;outline-offset:5px}
.section{padding:100px 7vw}.eyebrow{font-size:var(--text-label);letter-spacing:2px}.section-head{margin-bottom:42px}.section-head>a{font-size:var(--text-control)}
.home-opening{display:grid;grid-template-columns:1fr 1.1fr;gap:4vw;padding:45px 4.5vw 40px;max-width:1800px;margin:auto;min-height:720px}
.opening-copy{display:flex;flex-direction:column;justify-content:center;padding:35px 2.5vw;min-width:0}
.opening-copy h1{font-size:clamp(3.375rem,6.8vw,6.625rem);line-height:.99;margin:34px 0;letter-spacing:-.065em}
.opening-description{font-size:var(--text-body);max-width:30rem;color:var(--muted)}
.opening-copy .actions{gap:12px;margin-top:22px}.opening-copy .actions .outline{border:0;padding-left:15px;padding-right:15px}
.opening-image{position:relative;margin:0;min-width:0;background:var(--sand);display:grid;grid-template-rows:1fr auto}
.opening-image>img{width:100%;height:100%;min-height:540px;object-fit:cover;object-position:54% center}
.opening-image figcaption{padding:19px 24px;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:0.9375rem}
.opening-image figcaption span{font-size:var(--text-secondary);text-transform:uppercase;letter-spacing:1.3px;color:var(--sand)}
.opening-image figcaption a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;font-size:var(--text-control)}
.opening-location{display:flex;align-items:center;gap:16px;margin-top:38px}.opening-location p{font-size:var(--text-secondary);line-height:1.7;margin:0}.opening-location span:not(.kuba-mark){color:var(--muted)}
.kuba-mark{width:42px;height:42px;border:2px solid var(--bronze);position:relative;display:inline-block;flex-shrink:0;transform:rotate(45deg)}
.kuba-mark:before,.kuba-mark:after{content:'';position:absolute;border:2px solid var(--bronze);inset:6px}.kuba-mark:after{inset:12px;background:var(--sand)}
.agency-introduction{border-top:1px solid var(--line);position:relative}.agency-introduction:before{content:'';position:absolute;top:-.4rem;left:7vw;width:.8rem;height:.8rem;transform:rotate(45deg);background:var(--sand);border:1px solid var(--bronze)}.agency-introduction h2{font-size:clamp(2rem,3.4vw,3.25rem)}
.home-selection{background:#f0e9dc}.selected-grid{grid-template-columns:1.25fr 1fr;gap:40px 36px;align-items:start}
.selected-grid>.project-card:first-child{grid-row:span 2}.selected-grid>.project-card:first-child img{aspect-ratio:4/5;object-fit:cover}
.selected-grid>.project-card:not(:first-child){display:grid;grid-template-columns:1.1fr 1fr;gap:0 22px;align-content:start}
.selected-grid>.project-card:not(:first-child) .image{grid-row:span 3}.selected-grid>.project-card:not(:first-child) img{aspect-ratio:4/3;object-fit:cover}
.selected-grid>.project-card:not(:first-child) h3{font-size:clamp(1.6rem,1.35rem + 1vw,1.9rem);margin:5px 0 12px}.selected-grid>.project-card:not(:first-child) .eyebrow{margin-top:8px}
.home-services{background:var(--paper)}.service-teasers{gap:0;margin:50px 0 0}.service-teasers article{padding:24px 28px;border-left:1px solid var(--line);min-width:0}.service-teasers article:first-child{padding-left:0;border-left:0}
.service-number{font-size:var(--text-secondary);color:var(--bronze)}.service-teasers h3{font-size:clamp(1.5625rem, 1.5625rem + 1.2vw, 1.5625rem);margin:28px 0 18px}.service-teasers p{font-size:var(--text-body)}.service-teasers a{font-size:var(--text-control);min-height:44px;padding-top:12px}
.experience-invitation{gap:7vw}.experience-invitation>img{aspect-ratio:1;object-fit:cover}.experience-invitation h2{font-size:clamp(2.75rem,5vw,4.75rem)}.experience-note{font-size:var(--text-secondary)}
.conversation{display:grid;grid-template-columns:1.2fr 1fr;gap:5vw;align-items:end;position:relative;border-top:1px solid var(--line)}.conversation h2{font-size:clamp(2.5rem,5.2vw,4.75rem);margin-bottom:0}.conversation p{font-size:var(--text-body);color:var(--muted)}
.page-intro{max-width:none;display:grid;grid-template-columns:1fr .6fr;gap:0 6vw;padding:65px 7vw 42px;border-bottom:1px solid var(--line)}
.page-intro>.eyebrow{grid-column:1/-1;margin-top:0}.page-intro h1{font-size:clamp(2.625rem,5.5vw,5rem);margin-bottom:12px;max-width:900px}.page-intro>p:last-child{align-self:end;max-width:440px;font-size:var(--text-body);padding-bottom:15px}
.portfolio-section{padding-top:35px!important}.portfolio-filters{padding:0;border:1px solid #c4af8d;border-top:3px solid var(--ink);border-radius:1.25rem;background:#f0e9dc;margin-bottom:2rem}
.portfolio-filters summary{display:flex;align-items:center;gap:12px;padding:19px 24px;list-style:none;font-size:var(--text-control)}.portfolio-filters summary::-webkit-details-marker{display:none}
.portfolio-filters summary .filter-expand{margin-left:auto;font-size:var(--text-control);line-height:1}.portfolio-filters[open] .filter-expand{transform:rotate(45deg)}
.filter-body{padding:0 24px 20px}.portfolio-filters .filters{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px;margin-top:8px}
.filters label{font-size:var(--text-control);gap:.7rem}.filters input,.filters select{background-color:var(--paper);min-height:50px;border-color:#b2a38e;font-size:var(--text-control)}
.search-input{position:relative;display:block}.search-input svg{position:absolute;left:15px;top:15px;color:var(--muted);pointer-events:none}.search-input input{padding-left:46px}
.filter-help{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:16px}.filter-help p{font-size:var(--text-secondary);color:var(--muted);margin:0}
.filter-reset{background:var(--paper);border-radius:999px;padding:.65rem 1.15rem;font-size:var(--text-control);min-height:44px}.portfolio-results-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 20px}.portfolio-results-bar p{margin:0}.portfolio-results-bar .eyebrow{color:var(--muted)}
.active-filters:empty{display:none}.active-filters{margin-bottom:26px}.active-filters button{background:var(--sand);border-color:#a48b67;border-radius:999px;font-size:var(--text-control);display:flex;gap:14px;align-items:center}
.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 28px}.portfolio-grid .image{aspect-ratio:16/11;background:#eee6d9}.portfolio-grid h3{font-size:clamp(1.625rem, 1.625rem + 1.2vw, 1.625rem);margin:12px 0}.portfolio-grid .project-card p{font-size:var(--text-secondary)}
.project-card{min-width:0;position:relative}.project-card .image{border:1px solid var(--line)}.project-card .eyebrow{font-size:var(--text-label);letter-spacing:1.4px;margin-top:18px}.project-card h3{line-height:1.17}.confidential-label{padding-top:10px;border-top:1px solid var(--line)}
.empty-state{padding:65px 24px;text-align:center;border:1px solid var(--line);background:#f0e9dc}.empty-state p{color:var(--muted);font-size:var(--text-body)}
.project-heading{padding:50px 7vw;align-items:start}.project-heading h1{line-height:1.04}.project-heading>div>p:last-child{font-size:var(--text-body);max-width:660px;color:var(--muted)}.facts{padding-top:15px}.facts dd{line-height:1.4}
.project-chapters{display:flex;flex-wrap:wrap;align-items:center;gap:18px 32px;padding:22px 7vw;background:#eee6d9;border-block:1px solid var(--line);font-size:var(--text-control)}.project-chapters a:not(.button){padding:14px 0;min-height:44px}.project-chapters .button{margin-left:auto}
.project-hero{background:var(--ink);max-height:80svh}.gallery{gap:36px}.gallery button{padding:0 0 12px;border-bottom:1px solid var(--line)}.gallery p{padding:8px 0 0;margin:0}.gallery-filters{padding-top:12px}.program{background:#f0e9dc}.program ul{font-size:var(--text-body)}
.project-whatsapp{padding-top:0}.breadcrumb a{min-height:44px;padding-top:10px}.confidential-panel{border-block:1px solid var(--line)}
.architect-word.with-portrait{grid-template-columns:1fr 1.25fr;gap:8vw;padding-top:100px;padding-bottom:100px}.architect-word>div{min-width:0}.architect-word h2{font-size:clamp(2.125rem,3.8vw,3.5rem)}.architect-word>div>p{font-size:var(--text-body)}.architect-portrait{border:12px solid #eee6d9;max-width:480px;box-shadow:25px 25px 0 var(--sand)}.architect-signature{padding-top:24px;border-top:1px solid var(--line)}
.form-wrap{grid-template-columns:.75fr 1.25fr;gap:6vw;align-items:start;padding-top:42px!important;background:#f0e9dc}
.form-wrap aside{padding:24px 0;min-width:0}.form-wrap aside h2{font-size:clamp(2rem, 2rem + 1.2vw, 2rem)}.form-wrap aside a{font-size:var(--text-control)}.form-wrap aside .notice{background:transparent;padding:22px 0;border-block:1px solid #bdb09e;color:var(--muted)}
.editorial-form{padding:clamp(22px,3.5vw,48px);background:var(--paper);border-top:3px solid var(--ink);gap:22px;min-width:0}.form-section-title{font-family:Arial,sans-serif;font-size:1.0625rem;letter-spacing:-.01em;display:flex;align-items:center;gap:14px;margin:10px 0 0}.form-section-title span{color:var(--bronze);font-size:0.9375rem;border:1px solid var(--line);padding:9px}
.editorial-form input,.editorial-form select,.editorial-form textarea{background-color:#fffdf8;border-color:#b2a38e;min-height:50px;font-size:var(--text-control);line-height:1.4}.editorial-form .check input{min-height:22px;min-width:22px;accent-color:var(--ink)}.editorial-form .check{font-size:0.9375rem;flex-wrap:wrap}.editorial-form .button{justify-self:start}.editorial-form .required-note{margin-top:0;font-size:var(--text-secondary)}.editorial-form .result-count{margin:0;font-size:var(--text-secondary)}
.error{padding:16px;border-left:3px solid #a12525;background:#fae9e3}.confirmation{border:0;padding:0;background:transparent}.confirmation h2{font-size:clamp(1.75rem,3vw,2.5rem);letter-spacing:-.035em}.confirmation-reference{background:#eee6d9;padding:22px;border:0;margin:28px 0}.confirmation-reference input{background:var(--paper)}
body>footer{position:relative;border-top:8px solid var(--sand);padding:70px 7vw;gap:50px}body>footer:before{content:'';height:24px;width:120px;position:absolute;top:0;right:7vw;background:repeating-linear-gradient(45deg,transparent 0 8px,var(--sand) 8px 9px,transparent 9px 17px);opacity:.6}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project-card:hover{transform:scale(1.025)}.confidential-card:hover{transform:none}.confidential-card-link:hover{transform:scale(1.025)}.gallery button:hover{transform:scale(1.02)}}
@media(max-width:1200px){.header nav{gap:7px}.brand{font-size:1rem}.opening-copy h1{font-size:clamp(3.375rem,6.4vw,5rem)}.opening-copy .actions{flex-direction:column;align-items:start}}
@media(max-width:75rem){#menu-toggle{display:block}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px 6vw;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;max-height:calc(100svh - 88px);overflow:auto;gap:8px}.header nav.open{display:flex}.header nav a{display:flex;font-size:var(--text-control);min-height:52px}.header .nav-contact{margin-left:0}.home-opening{gap:2vw;padding:24px 4.5vw;min-height:620px}.opening-image>img{min-height:460px}.opening-copy{padding:20px 1.5vw}.opening-location{margin-top:28px}.selected-grid{gap:30px}.selected-grid>.project-card:not(:first-child){display:block}.selected-grid>.project-card:first-child img{aspect-ratio:3/4}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-wrap{gap:35px;grid-template-columns:.7fr 1.3fr}}
@media(max-width:760px){html{scroll-padding-top:90px}.header{position:sticky;min-height:74px;padding:11px 6vw}.brand{font-size:1rem;gap:8px}.brand img{width:32px;height:45px}.brand small{font-size:var(--text-label);max-width:180px}.header nav{max-height:calc(100svh - 74px)}
.section{padding:64px 6vw}.home-opening{display:flex;flex-direction:column;padding:24px 6vw 30px;gap:25px;min-height:0}.opening-copy{padding:14px 0 0}.opening-copy h1{font-size:clamp(3rem,12vw,4.875rem);margin:23px 0}.opening-description{font-size:var(--text-body);margin-bottom:0}.opening-copy .actions{flex-direction:row;align-items:center;margin-top:24px}.opening-copy .button{font-size:var(--text-control);padding:14px 16px;gap:12px}.opening-location{margin-top:27px}.kuba-mark{width:28px;height:28px;margin-left:5px}.kuba-mark:before{inset:4px}.kuba-mark:after{inset:9px}.opening-image>img{min-height:0;height:auto;aspect-ratio:4/3;object-fit:cover}.opening-image figcaption{padding:12px 16px;gap:12px;flex-wrap:wrap}.opening-image figcaption span{font-size:var(--text-secondary)}.opening-image figcaption a{font-size:var(--text-control)}
.intro,.conversation{grid-template-columns:1fr;gap:20px}.agency-introduction h2{font-size:clamp(2rem, 2rem + 1.2vw, 2.125rem)}.section-head{margin-bottom:30px}.selected-grid{grid-template-columns:1fr;gap:36px}.selected-grid>.project-card:first-child{grid-row:auto}.selected-grid>.project-card:first-child img{aspect-ratio:4/3}.selected-grid>.project-card:not(:first-child){display:block}.selected-grid>.project-card:not(:first-child) img{aspect-ratio:16/10}.selected-grid>.project-card:not(:first-child) h3{margin:12px 0;font-size:clamp(1.6rem,1.35rem + 1vw,1.9rem)}.service-teasers{grid-template-columns:1fr;margin-top:20px}.service-teasers article,.service-teasers article:first-child{border-left:0;border-top:1px solid var(--line);padding:25px 0}.service-teasers h3{margin:17px 0}.experience-invitation{gap:36px}.experience-invitation h2{font-size:clamp(2rem, 2rem + 1.2vw, 3rem)}.conversation h2{font-size:clamp(2rem, 2rem + 1.2vw, 2.6875rem)}
.page-intro{display:block;padding:42px 6vw 28px}.page-intro h1{font-size:clamp(2rem, 2rem + 1.2vw, 2.75rem);margin:22px 0}.page-intro>p:last-child{padding-bottom:0;margin-bottom:0;font-size:var(--text-body)}.portfolio-filters summary{padding:18px}.filter-body{padding:0 18px 18px}.portfolio-filters .filters{grid-template-columns:1fr;gap:18px;margin-top:5px}.filter-help{align-items:stretch;flex-direction:column;gap:10px}.filter-help p{font-size:var(--text-secondary)}.filter-reset{align-self:start}.portfolio-results-bar{align-items:start}.portfolio-results-bar .eyebrow{display:none}.portfolio-grid{grid-template-columns:1fr;gap:38px}.portfolio-grid h3{font-size:clamp(1.6875rem, 1.6875rem + 1.2vw, 1.6875rem)}.portfolio-grid .image{aspect-ratio:16/11}.portfolio-section{padding-top:26px!important}.active-filters{gap:8px}.active-filters button{font-size:var(--text-control);padding:10px 12px}.project-heading{grid-template-columns:1fr;gap:24px;padding:26px 6vw 35px}.project-heading h1{font-size:clamp(2rem, 2rem + 1.2vw, 2.6875rem);overflow-wrap:anywhere}.project-chapters{padding:14px 6vw;gap:8px 22px}.project-chapters .button{margin-left:0;width:100%}.facts{padding-top:0}.gallery{gap:24px}.architect-word.with-portrait{grid-template-columns:1fr;gap:50px;padding-top:65px;padding-bottom:65px}.architect-portrait{width:calc(100% - 20px);max-width:320px;border:8px solid #eee6d9;box-shadow:15px 15px 0 var(--sand)}.architect-word>div>p{font-size:var(--text-body)}.architect-word h2{font-size:clamp(2rem, 2rem + 1.2vw, 2.375rem)}
.form-wrap{grid-template-columns:1fr;gap:26px;padding-top:28px!important}.form-wrap aside{order:2;padding:0}.editorial-form{order:1;padding:24px 20px;gap:23px}.form-section-title{font-size:1rem}.form-pair{gap:23px}.editorial-form .button{width:100%;justify-self:stretch}.editorial-form .check{line-height:1.6}.confirmation-reference{padding:18px}.confirmation .actions{gap:16px}.confirmation .actions a{min-height:44px}body>footer{padding:55px 6vw;gap:28px}.service-row h2{font-size:clamp(1.5625rem, 1.5625rem + 1.2vw, 1.5625rem)}}
@media(prefers-reduced-motion:reduce){.portfolio-filters .filter-expand{transition:none}.reveal-pending{opacity:1;transform:none}}
@media(max-width:75rem){.header{flex-wrap:wrap;row-gap:0}.header nav{position:static;flex-basis:100%;border-bottom:0;border-top:1px solid var(--line);margin-top:12px;padding:14px 0 4px}}
/* DOM order matches visual and keyboard order at every breakpoint. */
.form-wrap{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.form-wrap aside,.editorial-form{order:initial}
@media(max-width:75rem){.form-wrap{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}}
@media(max-width:760px){.form-wrap{grid-template-columns:1fr}.editorial-form .check{min-height:44px}}
/* Readable native controls; short gallery filters keep button semantics. */
h1,h2,h3,p,dd,figcaption,label{overflow-wrap:break-word}
.split>*,.intro>*,.conversation>*,.section-head>*,.form-pair>*,.facts>*{min-width:0}.button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
input,select,textarea{min-width:0;max-width:100%;border-radius:.7rem;padding:.85rem 1rem;min-height:3.25rem}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='m5 7 5 5 5-5' fill='none' stroke='%23171713' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem;padding-right:3rem}
.filters select,.editorial-form select{background-color:#fffdf8}
.filters input,.filters select,.editorial-form input,.editorial-form select,.editorial-form textarea{min-height:3.25rem}
.search-input input{border-radius:999px;padding-left:3rem}.search-input svg{top:50%;transform:translateY(-50%);left:1rem}
.gallery-filters{gap:.75rem}.gallery-filters button{border-radius:999px;min-height:2.75rem;padding:.7rem 1.2rem;font-size:var(--text-control);line-height:1.4;max-width:100%}
.gallery-filters button[aria-pressed=true]{background:var(--sand);color:var(--ink);border-color:#9d805a;box-shadow:inset 0 -3px 0 #795734}
.gallery-filters button[aria-pressed=true]:before{content:'◆';font-size:.65em;margin-right:.55em}
.active-filters button{line-height:1.4}.portfolio-results-bar{flex-wrap:wrap}.filter-expand{flex-shrink:0}
.request-form label{font-size:var(--text-control)}.editorial-form .check,.editorial-form .required-note,.editorial-form .result-count,.confirmation-reference label{font-size:var(--text-secondary)}
.form-section-title{font-size:1.25rem;line-height:1.4}.form-section-title span{font-size:var(--text-label);flex-shrink:0}.editorial-form .check{min-height:2.75rem}.editorial-form .check input{padding:0;min-height:1.375rem;min-width:1.375rem;width:1.375rem;flex-shrink:0}
body>footer a{font-size:var(--text-control);overflow-wrap:anywhere}body>footer p,body>footer address,dialog small{font-size:var(--text-secondary)}
.header{flex-wrap:wrap}.header .brand{min-width:0;max-width:100%}.header .brand>span{min-width:0;overflow-wrap:anywhere}.header nav{flex-wrap:wrap}.header nav a{line-height:1.4}.header .nav-contact{border-radius:.35rem}.header a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--bronze)}
@media(hover:hover) and (pointer:fine){.button:not(.outline):hover,.header .nav-contact:hover{background:var(--sand);border-color:var(--sand);color:var(--ink)}.button.outline:hover,.filter-reset:hover,.gallery-filters button:hover{background:var(--sand);color:var(--ink);border-color:var(--bronze)}.header nav a:not(.nav-contact):hover{background:#eee6d9;color:var(--ink)}}
@media(max-width:75rem){.header{position:relative}.header nav{max-height:none}.header .brand{max-width:calc(100% - 7rem)}}
@media(max-width:760px){:root{--text-body:1.0625rem}.brand small{display:none}.header{gap:.75rem}.header .brand{font-size:1rem;max-width:calc(100% - 6rem);letter-spacing:.04em}.brand img{flex-shrink:0}#menu-toggle{min-width:4.75rem;font-size:1rem}.opening-copy .actions{align-items:stretch}.opening-copy .button{font-size:var(--text-control);padding:.9rem 1rem}.page-intro h1,.project-heading h1{font-size:clamp(2.5rem,2rem + 3vw,3.25rem)}.section-head>a{line-height:1.5}.filter-body{padding:0 1rem 1.2rem}.portfolio-filters summary{padding:1rem;flex-wrap:wrap}.portfolio-filters summary .filter-expand{margin-left:auto}.portfolio-grid h3{font-size:clamp(1.65rem,1.4rem + 1vw,2rem)}.form-pair{grid-template-columns:minmax(0,1fr)}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.lightbox-toolbar{flex-wrap:wrap}.lightbox-toolbar button{font-size:1rem}.editorial-form{padding:1.5rem 1.1rem}.opening-image figcaption{padding:1rem}.opening-image figcaption a{font-size:var(--text-control)}}
@media(forced-colors:active){select{appearance:auto;background-image:none}.gallery-filters button[aria-pressed=true]{outline:2px solid Highlight}}
