:root{--paper:#f2efe9;--ink:#191a17;--sage:#899181;--olive:#59604f;--line:rgba(25,26,23,.18);--serif:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--pad:clamp(22px,4.4vw,76px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}body.menu-open{overflow:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;left:10px;top:-60px;background:#fff;padding:12px 18px}.skip-link:focus{top:10px}.section-shell{width:100%;padding-left:var(--pad);padding-right:var(--pad)}
.site-header{position:absolute;z-index:20;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:108px;padding:0 var(--pad);color:#fff;transition:.3s}.site-header.scrolled{position:fixed;height:76px;color:var(--ink);background:rgba(242,239,233,.94);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}.wordmark{position:relative;display:block;width:156px;height:52px;line-height:1}.wordmark-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center;transition:opacity .25s}.wordmark-logo-on-light{opacity:0}.wordmark-logo-on-dark{opacity:1}.site-header.dark-header:not(.process-page-header) .wordmark-logo-on-light,.site-header.scrolled .wordmark-logo-on-light{opacity:1}.site-header.dark-header:not(.process-page-header) .wordmark-logo-on-dark,.site-header.scrolled .wordmark-logo-on-dark{opacity:0}.site-nav{display:flex;align-items:center;gap:clamp(20px,2.6vw,46px);font-size:.8rem;text-transform:uppercase;letter-spacing:.13em}.site-nav>a:not(.nav-cta){position:relative}.site-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:.25s}.site-nav>a:hover:after{right:0}.nav-cta{border:1px solid currentColor;padding:13px 18px}.nav-cta span{margin-left:18px}.menu-toggle{display:none;border:0;background:none;color:inherit;width:42px;height:42px;padding:10px}.menu-toggle span:not(.sr-only){display:block;width:100%;height:1px;background:currentColor;margin:7px 0}
.home-hero,.project-hero{position:relative;min-height:100svh;color:#fff;overflow:hidden}.hero-media,.project-hero>img,.hero-shade{position:absolute;inset:0}.hero-media img,.project-hero>img{height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(9,13,9,.6),rgba(9,13,9,.06) 62%),linear-gradient(0deg,rgba(0,0,0,.32),transparent 45%)}.hero-copy{position:absolute;z-index:2;left:var(--pad);bottom:14vh;max-width:820px}.kicker{display:block;margin-bottom:22px;font-size:.68rem;font-weight:600;letter-spacing:.23em;text-transform:uppercase}.hero-copy h1{margin:0;font:400 clamp(3rem,6vw,6.5rem)/.92 var(--serif);letter-spacing:-.025em}.archive-hero h1,.project-title h1,.page-hero h1{margin:0;font:400 clamp(3.5rem,8.5vw,8.6rem)/.9 var(--serif);letter-spacing:-.025em}.hero-copy h1 em,.manifesto h2 em,.section-heading h2 em,.process-copy h2 em,.quote-block em,.contact-banner h2 em,.archive-hero h1 em{font-weight:400;color:#c2c9ba}.hero-copy>p{max-width:510px;margin:32px 0;color:rgba(255,255,255,.8);font-size:1.05rem;font-weight:300}.text-link{display:inline-flex;align-items:center;gap:28px;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:.74rem;text-transform:uppercase;letter-spacing:.16em}.text-link span{font-size:1rem;transition:.2s}.text-link:hover span{transform:translate(3px,-3px)}.hero-index{position:absolute;z-index:2;right:var(--pad);bottom:44px;display:flex;align-items:center;gap:12px;font-size:.64rem;letter-spacing:.12em}.hero-index i{width:74px;height:1px;background:rgba(255,255,255,.55)}.scroll-cue{position:absolute;z-index:2;left:50%;bottom:35px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;transform:translateX(-50%)}
.manifesto{display:grid;grid-template-columns:70px 1.35fr 1fr;gap:5vw;padding-top:clamp(110px,15vw,220px);padding-bottom:clamp(110px,15vw,220px)}.section-number{font-size:.68rem;letter-spacing:.12em;color:#666d61}.manifesto h2,.section-heading h2,.process-copy h2{margin:0;font:400 clamp(2.8rem,5.8vw,6rem)/.98 var(--serif)}.manifesto-copy{align-self:end;max-width:420px}.manifesto-copy>p,.process-copy>p{margin:0 0 36px;color:#55594f;font-weight:300;line-height:1.85}.projects-feature{padding-bottom:clamp(100px,14vw,200px)}.section-heading{display:grid;grid-template-columns:1fr 1.5fr auto;align-items:end;margin-bottom:70px}.section-heading .section-number{display:block;margin-bottom:40px}.project-masonry{columns:3;column-gap:clamp(18px,3vw,46px)}.project-card{break-inside:avoid;margin:0 0 clamp(38px,6vw,86px)}.project-card figure{position:relative;margin:0;overflow:hidden;background:#d8d6d0}.project-card img{aspect-ratio:4/5;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.project-card:nth-child(3n+2) img{aspect-ratio:1/1.15}.project-card:nth-child(3n) img{aspect-ratio:1/1.35}.project-card:hover img{transform:scale(1.025)}.card-arrow{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(242,239,233,.92);opacity:0;transform:translateY(5px);transition:.25s}.project-card:hover .card-arrow{opacity:1;transform:none}.card-meta{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-top:18px}.card-meta p{margin:0 0 5px;color:#73776d;font-size:.61rem;text-transform:uppercase;letter-spacing:.16em}.card-meta h3{margin:0;font:400 clamp(1.35rem,2vw,2rem)/1.1 var(--serif)}.card-meta>span{padding-top:22px;color:#73776d;font-size:.7rem;text-align:right}
.process-preview{display:grid;grid-template-columns:1.25fr 1fr;background:#dfe1d9}.process-image img{height:100%;min-height:760px;object-fit:cover}.process-copy{padding:clamp(70px,9vw,150px) var(--pad)}.process-copy .section-number{display:block;margin-bottom:80px}.process-copy ol{list-style:none;margin:52px 0;padding:0;border-top:1px solid var(--line)}.process-copy li{display:grid;grid-template-columns:48px 1fr;padding:18px 0;border-bottom:1px solid var(--line);font-size:.85rem}.process-copy li span{font-size:.65rem;color:#6e7469}.quote-block{padding-top:clamp(120px,17vw,250px);padding-bottom:clamp(120px,17vw,250px);text-align:center}.quote-block p{margin:0;font:400 clamp(2.5rem,5.5vw,5.8rem)/1.15 var(--serif)}.contact-banner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:clamp(80px,10vw,150px) var(--pad);background:#7f8879;color:#fff}.contact-banner h2{margin:0;font:400 clamp(3rem,6vw,6.4rem)/.95 var(--serif)}.circle-link{display:grid;place-items:center;flex:0 0 auto;width:clamp(140px,16vw,220px);aspect-ratio:1;border:1px solid rgba(255,255,255,.65);border-radius:50%;font-size:.75rem;line-height:1.5;letter-spacing:.12em;text-align:center;text-transform:uppercase;transition:.3s}.circle-link:hover{background:#fff;color:var(--olive);transform:rotate(-3deg)}.circle-link span{font-size:1.1rem}
.site-footer{padding:90px var(--pad) 28px;background:#181a17;color:#ddd}.footer-grid{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:6vw}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-mark{display:block;width:174px;height:auto;margin-bottom:20px;line-height:0}.footer-mark img{display:block;width:100%;height:auto}.footer-grid p,.footer-grid address{margin:0;color:#888e84;font-size:.78rem;font-style:normal}.footer-grid a:not(.footer-mark){font-size:.78rem}.footer-label{margin-bottom:18px;color:#7f857a;font-size:.62rem;text-transform:uppercase;letter-spacing:.18em}.footer-funding{display:flex;justify-content:flex-end;margin-top:70px;padding-top:28px;border-top:1px solid #343631}.footer-funding img{width:min(727px,100%);height:auto;object-fit:contain}.footer-bottom{display:flex;justify-content:space-between;margin-top:28px;padding-top:20px;border-top:1px solid #343631;color:#73786f;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}.footer-bottom div{display:flex;gap:28px}
.archive-hero{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:8vw;padding-top:210px;padding-bottom:100px}.archive-hero h1{font-size:clamp(4rem,8vw,8rem)}.archive-hero>p{max-width:420px;margin-bottom:8px;color:#60645c;font-weight:300}.filter-bar{display:flex;gap:28px;align-items:center;padding-bottom:34px;border-bottom:1px solid var(--line)}.filter-bar button{padding:0 0 5px;border:0;border-bottom:1px solid transparent;background:none;color:#7b7f76;font-size:.69rem;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.filter-bar button.active{border-color:var(--ink);color:var(--ink)}.filter-bar span{margin-left:auto;color:#777b72;font-size:.65rem}.archive-grid{padding-top:60px;padding-bottom:130px}.archive-grid>div{break-inside:avoid}.archive-grid .project-card{display:block}.archive-grid .project-card[hidden],.archive-grid>div[hidden]{display:none}
.project-title{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:10vh}.project-title>a{display:inline-block;margin-bottom:8vh;font-size:.67rem;text-transform:uppercase;letter-spacing:.15em}.project-title>span{display:block;margin-bottom:18px;font-size:.65rem;text-transform:uppercase;letter-spacing:.2em}.project-title p{margin:22px 0 0;color:rgba(255,255,255,.75);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em}.project-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:10vw;padding-top:120px;padding-bottom:130px}.project-intro h2{max-width:700px;margin:0;font:400 clamp(2.4rem,4.5vw,4.8rem)/1.06 var(--serif)}.project-intro>div:last-child>p{margin:40px 0;color:#55594f;font-weight:300;line-height:1.9}.project-intro dl{border-top:1px solid var(--line)}.project-intro dl div{display:grid;grid-template-columns:110px 1fr;padding:14px 0;border-bottom:1px solid var(--line);font-size:.75rem}.project-intro dt{color:#777c72}.project-intro dd{margin:0}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2.5vw,38px);padding-bottom:150px}.project-gallery figure{margin:0}.project-gallery figure.wide{grid-column:1/-1}.project-gallery img{height:70vh;min-height:380px;object-fit:cover}.project-gallery .wide img{height:min(82vh,950px)}.related{padding:120px 0 60px;background:#e6e4de}.related-masonry{columns:3;column-gap:clamp(18px,3vw,46px)}.related-project{position:relative;break-inside:avoid;margin-bottom:clamp(42px,6vw,86px)}.related-project .project-card{margin-bottom:0}.related-project:nth-child(3n+2){padding-top:clamp(35px,5vw,85px)}.related-project:nth-child(3n) .project-card img{aspect-ratio:4/6}.related-project:nth-child(4n) .project-card img{aspect-ratio:1/1}.related-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.related-tags span{padding:5px 9px;border:1px solid rgba(25,26,23,.2);border-radius:999px;color:#656a61;font-size:.57rem;line-height:1;text-transform:uppercase;letter-spacing:.11em}.page-hero{padding-top:210px;padding-bottom:90px}.page-hero h1{color:var(--ink);font-size:clamp(3.4rem,7vw,7rem)}.page-hero>p{max-width:720px;margin:35px 0 0;color:#62665e}.rich-content{max-width:1000px;padding-bottom:140px}.rich-content h2,.rich-content h3{font-family:var(--serif);font-weight:400}.rich-content h2{font-size:2.5rem}.rich-content p{color:#50544d}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project-card img{transition:none}}
@media(max-width:900px){.site-header{height:82px}.menu-toggle{display:block;z-index:2}.site-nav{position:fixed;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:20vw var(--pad);background:#1b1d19;color:#fff;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.3s}.site-nav.open{opacity:1;visibility:visible;transform:none}.site-nav a{font:400 2.8rem/1.2 var(--serif);text-transform:none;letter-spacing:0}.site-nav .nav-cta{margin-top:30px;font:500 .75rem var(--sans);text-transform:uppercase;letter-spacing:.13em}.manifesto{grid-template-columns:45px 1fr}.manifesto-copy{grid-column:2}.project-masonry,.related-masonry{columns:2}.section-heading{grid-template-columns:1fr auto}.section-heading h2{grid-column:1/-1;grid-row:1;margin-left:45px}.process-preview{grid-template-columns:1fr}.process-image img{min-height:520px;height:70vh}.footer-grid{grid-template-columns:1fr 1fr}.archive-hero{grid-template-columns:1fr}.project-intro{grid-template-columns:1fr}.project-gallery img{height:55vh}.contact-banner{align-items:flex-end}}
@media(max-width:600px){:root{--pad:20px}.hero-copy{bottom:18vh}.hero-copy h1{font-size:3.5rem}.hero-copy>p{font-size:.9rem}.hero-index{display:none}.scroll-cue{left:auto;right:var(--pad);transform:none;align-items:flex-end}.scroll-cue span{display:none}.manifesto{grid-template-columns:1fr;gap:26px;padding-top:100px;padding-bottom:100px}.manifesto-copy{grid-column:auto}.manifesto h2{font-size:3rem}.project-masonry,.related-masonry{columns:1}.related-project:nth-child(3n+2){padding-top:0}.section-heading{display:block;margin-bottom:45px}.section-heading h2{margin:15px 0 26px;font-size:3.2rem}.process-image img{min-height:450px}.process-copy{padding-top:75px;padding-bottom:80px}.process-copy .section-number{margin-bottom:45px}.quote-block p{font-size:2.6rem}.contact-banner{align-items:flex-start;flex-direction:column}.contact-banner h2{font-size:3.4rem}.circle-link{align-self:flex-end}.footer-grid{grid-template-columns:1fr;gap:48px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:15px;margin-top:60px}.archive-hero{padding-top:160px;padding-bottom:70px}.archive-hero h1{font-size:4rem}.filter-bar{gap:15px;overflow-x:auto}.filter-bar button{white-space:nowrap}.filter-bar span{display:none}.project-title h1{font-size:3.5rem}.project-intro{padding-top:80px;padding-bottom:90px}.project-intro h2{font-size:2.6rem}.project-gallery{grid-template-columns:1fr;padding-bottom:90px}.project-gallery figure.wide{grid-column:auto}.project-gallery img,.project-gallery .wide img{height:auto;min-height:0;aspect-ratio:4/5}.project-gallery .wide img{aspect-ratio:4/3}}
.site-header.dark-header{color:var(--ink)}
.site-header.process-page-header:not(.scrolled){color:#fff;background:linear-gradient(180deg,rgba(10,14,13,.72),rgba(10,14,13,.42));border-bottom:1px solid rgba(255,255,255,.14);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.process-hero{position:relative;min-height:100svh;overflow:hidden;color:#fff}.process-hero>img,.process-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.process-hero>img{object-position:center}.process-hero-shade{background:linear-gradient(90deg,rgba(8,13,15,.68),rgba(8,13,15,.08) 70%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 48%)}.process-hero-copy{position:absolute;z-index:2;left:var(--pad);bottom:13vh;max-width:940px}.process-hero-copy h1{margin:0;font:400 clamp(3.7rem,8vw,8.4rem)/.92 var(--serif);letter-spacing:-.025em}.process-hero-copy h1 em{color:#c2c9ba;font-weight:400}.process-hero-copy>p{max-width:480px;margin:30px 0 0;color:rgba(255,255,255,.8);font-weight:300}.process-scroll{position:absolute;z-index:2;right:var(--pad);bottom:45px;display:flex;align-items:center;gap:22px;font-size:.63rem;letter-spacing:.16em;text-transform:uppercase}.process-scroll i{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-style:normal}.process-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:12vw;padding-top:clamp(110px,14vw,210px);padding-bottom:clamp(110px,14vw,210px)}.process-intro-heading .section-number{display:block;margin-bottom:70px}.process-intro h2{margin:0;font:400 clamp(3rem,5.8vw,6rem)/1 var(--serif)}.process-intro h2 em,.process-step h2 em,.process-final h2 em{color:#899181;font-weight:400}.process-intro-copy{align-self:end;max-width:570px}.process-intro-copy p{margin:0 0 28px;color:#55594f;font-weight:300;line-height:1.9}.process-intro-copy p:last-child{margin-bottom:0}.process-step{display:grid;grid-template-columns:1.1fr 1fr;min-height:820px}.process-step-design{grid-template-columns:1fr 1.1fr;background:#dfe1d9}.process-step-media{min-height:680px;overflow:hidden}.process-step-media img{height:100%;object-fit:cover}.process-step-design .process-step-media img{object-position:center}.process-step-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(70px,9vw,150px) var(--pad)}.process-step-number{display:block;margin-bottom:76px;color:#666d61;font-size:.68rem;letter-spacing:.12em}.process-step-copy h2,.process-final h2{margin:0 0 40px;font:400 clamp(2.9rem,5vw,5.4rem)/1.02 var(--serif)}.process-step-copy>p{max-width:590px;margin:0 0 24px;color:#55594f;font-weight:300;line-height:1.85}.process-step-copy .text-link{align-self:flex-start;margin-top:22px}.process-step:target .reveal,.process-final:target .reveal{opacity:1;transform:none}.process-final{background:#e8e5de}.process-final-media{width:100%;height:auto;margin:0;overflow:visible}.process-final-media img{width:100%;height:auto;object-fit:contain}.process-final-copy{display:grid;grid-template-columns:.55fr 1.45fr;gap:8vw;padding-top:clamp(90px,11vw,165px);padding-bottom:clamp(100px,13vw,190px)}.process-final-copy>div:last-child{max-width:900px}.process-final-copy p{max-width:660px;margin:0 0 24px;color:#55594f;font-weight:300;line-height:1.85}
.mobile-break{display:none}
@media(max-width:900px){.menu-toggle{position:relative;display:block}.menu-toggle:before,.menu-toggle:after{content:"";position:absolute;left:8px;right:8px;height:1px;background:currentColor}.menu-toggle:before{top:15px}.menu-toggle:after{bottom:15px}}
@media(max-width:900px){.site-header .menu-toggle{position:absolute!important;display:block!important;z-index:30;top:20px;right:var(--pad);color:inherit}}
@media(max-width:900px){.process-intro{grid-template-columns:1fr;gap:60px}.process-intro-heading .section-number{margin-bottom:42px}.process-intro-copy{max-width:680px}.process-step,.process-step-design{grid-template-columns:1fr;min-height:0}.process-step-design .process-step-copy{order:2}.process-step-design .process-step-media{order:1}.process-step-media{min-height:0;height:68vw}.process-step-copy{min-height:620px}.process-final-copy{grid-template-columns:1fr;gap:35px}.process-step-number{margin-bottom:44px}}
@media(max-width:600px){.mobile-break{display:inline}.hero-copy{right:var(--pad);max-width:calc(100vw - 40px)}.hero-copy h1{font-size:clamp(2.75rem,13.2vw,3.2rem)}}
@media(max-width:600px){.process-hero-copy{right:var(--pad);bottom:18vh}.process-hero-copy h1{font-size:clamp(2.85rem,11.8vw,3.35rem)}.process-hero-copy>p{font-size:.9rem}.process-scroll{right:auto;left:var(--pad);bottom:28px}.process-scroll span{display:none}.process-intro{padding-top:95px;padding-bottom:100px;gap:48px}.process-intro h2{font-size:3.1rem}.process-step-media{height:72vw;min-height:320px}.process-step-copy{min-height:0;padding-top:85px;padding-bottom:95px}.process-step-copy h2,.process-final h2{font-size:3.1rem}.process-final-media{width:100%;height:auto;max-height:none;margin:0}.process-final-copy{padding-top:85px;padding-bottom:105px}.process-final-copy .process-step-number{margin-bottom:15px}}
.contact-hero{display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:10vw;min-height:82svh;padding-top:190px;padding-bottom:clamp(90px,10vw,150px)}.contact-hero>*{min-width:0}.contact-hero h1{margin:0;font:400 clamp(4.2rem,8vw,8rem)/.92 var(--serif);letter-spacing:-.03em}.contact-hero h1 em,.contact-information h2 em,.contact-form-panel h2 em{color:var(--sage);font-weight:400}.contact-hero-intro{width:100%;max-width:440px;padding-bottom:12px}.contact-hero-intro>p{overflow-wrap:anywhere;margin:0 0 42px;color:#55594f;font-size:clamp(1.05rem,1.35vw,1.3rem);font-weight:300;line-height:1.75}.contact-main{display:grid;grid-template-columns:1fr 1fr}.contact-main>*{min-width:0}.contact-information{padding:clamp(90px,10vw,155px) var(--pad);background:#dfe1d9}.contact-information-heading .section-number{display:block;margin-bottom:70px}.contact-information h2,.contact-form-panel h2{margin:0;font:400 clamp(3.2rem,5.5vw,5.8rem)/.98 var(--serif)}.contact-details{margin-top:clamp(70px,8vw,120px);border-top:1px solid var(--line)}.contact-detail{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:28px 0;border-bottom:1px solid var(--line)}.contact-detail>span{padding-top:4px;color:#747a70;font-size:.65rem;letter-spacing:.12em}.contact-detail h3{margin:0 0 12px;font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.contact-detail address,.contact-detail p{margin:0;color:#4f554d;font-size:.9rem;font-style:normal;line-height:1.75}.contact-detail a{display:block;width:max-content;color:#31352f;font-size:.9rem}.contact-detail a:hover{text-decoration:underline;text-underline-offset:4px}.contact-detail small{display:block;margin-top:8px;color:#73786f;font-size:.72rem}.contact-form-panel{padding:clamp(90px,10vw,155px) var(--pad);background:#1b1d19;color:#f3f1ec}.contact-form-panel>.kicker{color:#999f94}.contact-form{display:flex;flex-direction:column;gap:30px;margin-top:clamp(65px,8vw,105px)}.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-form label:not(.contact-consent){display:block}.contact-form label>span{display:block;margin-bottom:8px;color:#aeb2aa;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase}.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;padding:10px 0 14px;border:0;border-bottom:1px solid #555951;border-radius:0;outline:0;background:transparent;color:#fff;font:300 1rem var(--sans);transition:border-color .2s}.contact-form textarea{min-height:120px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:#e9e7e1}.contact-form .contact-consent{display:grid;grid-template-columns:18px 1fr;align-items:start;gap:12px;cursor:pointer}.contact-consent input{width:16px;height:16px;margin:3px 0 0;accent-color:var(--sage)}.contact-form .contact-consent>span{margin:0;color:#8f948b;font-size:.72rem;line-height:1.6;letter-spacing:0;text-transform:none}.contact-consent a{text-decoration:underline;text-underline-offset:3px}.contact-form button{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:10px;padding:20px 0;border:0;border-top:1px solid #757a70;border-bottom:1px solid #757a70;background:transparent;color:#fff;font-size:.72rem;letter-spacing:.17em;text-transform:uppercase;cursor:pointer;transition:.25s}.contact-form button:hover{padding-left:12px;padding-right:12px;background:#f3f1ec;color:#1b1d19}.contact-form button span{font-size:1rem}.contact-map{position:relative;min-height:620px;background:#d6d6d0}.contact-map iframe{display:block;width:100%;min-height:620px;filter:grayscale(1) contrast(.9)}.contact-map-card{position:absolute;left:var(--pad);bottom:var(--pad);width:min(390px,calc(100% - 2 * var(--pad)));padding:34px;background:rgba(242,239,233,.95);backdrop-filter:blur(10px)}.contact-map-card .kicker{margin-bottom:18px}.contact-map-card p{margin:0 0 28px;font:400 1.6rem/1.3 var(--serif)}
@media(max-width:900px){.contact-hero{grid-template-columns:minmax(0,1fr);align-items:start;gap:50px;min-height:auto;padding-top:165px}.contact-hero-intro{max-width:560px}.contact-main{grid-template-columns:minmax(0,1fr)}.contact-information,.contact-form-panel{padding-top:100px;padding-bottom:110px}}
@media(max-width:600px){.contact-hero{gap:38px;padding-top:145px;padding-bottom:85px}.contact-hero h1{font-size:clamp(2.75rem,11.8vw,3.25rem)}.contact-hero-intro{width:calc(100vw - 40px);max-width:none}.contact-hero-intro>p{width:100%;max-width:none;font-size:1rem}.contact-information,.contact-form-panel{padding-top:85px;padding-bottom:95px}.contact-information-heading .section-number{margin-bottom:42px}.contact-information h2,.contact-form-panel h2{font-size:3.2rem}.contact-details{margin-top:65px}.contact-detail{grid-template-columns:38px minmax(0,1fr)}.contact-form{margin-top:60px}.contact-form-row{grid-template-columns:minmax(0,1fr);gap:30px}.contact-map,.contact-map iframe{min-height:560px}.contact-map-card{padding:26px}.contact-map-card p{font-size:1.35rem}}

/* Layout after removing decorative section and step numbering. */
.manifesto{grid-template-columns:1.35fr 1fr}
.process-copy li,.contact-detail{display:block}
.footer-funding{justify-content:center}
.footer-funding img{width:min(363.5px,100%)}
@media(max-width:600px){.manifesto{grid-template-columns:1fr}}

/* Editorial layouts */
[hidden]{display:none!important}
.manifesto:has(+ .projects-feature){align-items:center;padding-block:clamp(2.5rem,4vw,4rem)}
.manifesto:has(+ .projects-feature) .manifesto-copy{align-self:center}
@media(min-width:901px){.manifesto:has(+ .projects-feature) h2,.projects-feature .section-heading h2,.process-preview .process-copy h2{font-size:clamp(2.8rem,5vw,6rem)}}
.manifesto + .projects-feature{padding-top:clamp(2.75rem,4.25vw,4.5rem)}
.projects-feature{background:#faf8f4}
.projects-feature .section-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:1rem;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.projects-feature .section-heading h2{grid-column:1/-1;margin:0}
.projects-feature .section-heading .kicker{margin:0}
.project-masonry{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem clamp(1rem,2vw,2rem)}
.project-masonry .project-card{margin:0}
.project-masonry .project-card figure{aspect-ratio:4/3;margin:0}
.project-masonry .project-card img{width:100%;height:100%;object-fit:cover}
.archive-grid .project-card figure{aspect-ratio:4/5}
.card-meta h3{margin:0}
.archive-hero{padding-top:clamp(7.5rem,12vw,10rem);padding-bottom:2rem;align-items:center}
.archive-hero h1{font-size:clamp(3.2rem,6.5vw,7rem)}
.filter-bar{flex-wrap:wrap;gap:1rem 2rem}
.archive-grid{padding-bottom:clamp(3rem,8vw,7rem)}
.project-title a{text-decoration:underline;text-underline-offset:.35em}
.project-facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:2rem}
.project-facts>img{width:100%;max-height:25rem;object-fit:cover}
.project-facts dl dl{margin:0}
.project-facts dl dl>div{padding:.35em 0}
.project-gallery a{display:block}
.related .section-heading{display:block;text-align:center}
.related-masonry>article:nth-child(3n+2){margin-top:1.6rem}
.process-intro{padding-block:clamp(3rem,6vw,6rem);scroll-margin-top:5rem}
.process-step{min-height:0}
.process-step-media{min-height:0}
.process-step-copy{min-height:0;padding-block:clamp(2rem,5vw,5rem)}
.process-step-design{background:#e8e9df}
.contact-hero{display:block;min-height:0;padding-top:clamp(7rem,9vw,9rem);padding-bottom:1rem}
.contact-hero h1{font-size:clamp(3.4rem,7vw,6.25rem);margin:0}
.contact-information,.contact-form-panel{background:transparent;padding:clamp(1.5rem,4vw,4rem) var(--pad)}
.contact-main>.contact-information,.contact-main>.contact-form-panel{padding-top:clamp(1rem,2vw,2rem)}
.contact-detail h2{font:600 .75rem/1.3 "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.14em;margin:0 0 .75rem}
.contact-map iframe{display:block;width:100%;height:clamp(16rem,34vw,28rem)}
.social-links{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}
.social-links a{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem;font-weight:600}
.compact-footer{background:#181a17;padding-block:2rem 1.25rem}
.compact-footer .footer-grid{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem 2rem}
.compact-footer .footer-grid nav{display:flex;gap:.75rem 1.5rem;flex-wrap:wrap}
.compact-footer .social-links{justify-self:end}
.compact-footer .footer-mark img{width:clamp(90px,11vw,135px)}
.compact-footer .footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-top:1rem}.compact-footer .footer-legal{justify-content:flex-end;flex-wrap:wrap;gap:.5rem 1.25rem}
.compact-footer .footer-funding{margin:0;padding:0;border:0}.compact-footer .footer-funding img{width:clamp(9.27rem,14.42vw,16.48rem)}
.gallery-dialog{position:fixed;inset:0;margin:auto;width:min(92vw,74rem);max-height:92dvh;border:0;padding:2.5rem 3rem 1rem;color:white;background:#2225;overflow:auto}
.gallery-dialog[open]{display:grid;grid-template-columns:1fr;justify-items:center;gap:.5rem}
.gallery-dialog::backdrop{background:#161813aa}
.gallery-dialog img{width:100%;height:min(75dvh,52rem);object-fit:contain;touch-action:pan-y}
.gallery-dialog button{position:absolute;color:#fff;background:#181a17;border:1px solid #eee;border-radius:50%;width:2.4rem;height:2.4rem;font-size:1.25rem;cursor:pointer}
.gallery-close{right:.35rem;top:.2rem}.gallery-prev{left:.25rem;top:48%}.gallery-next{right:.25rem;top:48%}
html:has(.gallery-dialog[open]){overflow:hidden}
@media(max-width:900px){.project-masonry{grid-template-columns:repeat(2,minmax(0,1fr))}.related-masonry>article:nth-child(n){margin-top:0}}
@media(max-width:650px){.project-masonry{grid-template-columns:minmax(0,1fr)}.compact-footer .footer-grid{grid-template-columns:1fr}.compact-footer .social-links{justify-self:start}.gallery-dialog{padding-inline:1rem}.process-step-media{height:auto;min-height:0;aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.contact-details{margin-top:0}
.social-links .icon-base{font-size:1.25rem}
.bxl-instagram {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M11.999 7.377a4.623 4.623 0 1 0 0 9.248a4.623 4.623 0 0 0 0-9.248m0 7.627a3.004 3.004 0 1 1 0-6.008a3.004 3.004 0 0 1 0 6.008'/%3E%3Ccircle cx='16.806' cy='7.207' r='1.078' fill='black'/%3E%3Cpath fill='black' d='M20.533 6.111A4.6 4.6 0 0 0 17.9 3.479a6.6 6.6 0 0 0-2.186-.42c-.963-.042-1.268-.054-3.71-.054s-2.755 0-3.71.054a6.6 6.6 0 0 0-2.184.42a4.6 4.6 0 0 0-2.633 2.632a6.6 6.6 0 0 0-.419 2.186c-.043.962-.056 1.267-.056 3.71s0 2.753.056 3.71c.015.748.156 1.486.419 2.187a4.6 4.6 0 0 0 2.634 2.632a6.6 6.6 0 0 0 2.185.45c.963.042 1.268.055 3.71.055s2.755 0 3.71-.055a6.6 6.6 0 0 0 2.186-.419a4.6 4.6 0 0 0 2.633-2.633c.263-.7.404-1.438.419-2.186c.043-.962.056-1.267.056-3.71s0-2.753-.056-3.71a6.6 6.6 0 0 0-.421-2.217m-1.218 9.532a5 5 0 0 1-.311 1.688a3 3 0 0 1-1.712 1.711a5 5 0 0 1-1.67.311c-.95.044-1.218.055-3.654.055c-2.438 0-2.687 0-3.655-.055a5 5 0 0 1-1.669-.311a3 3 0 0 1-1.719-1.711a5.1 5.1 0 0 1-.311-1.669c-.043-.95-.053-1.218-.053-3.654s0-2.686.053-3.655a5 5 0 0 1 .311-1.687c.305-.789.93-1.41 1.719-1.712a5 5 0 0 1 1.669-.311c.951-.043 1.218-.055 3.655-.055s2.687 0 3.654.055a5 5 0 0 1 1.67.311a3 3 0 0 1 1.712 1.712a5.1 5.1 0 0 1 .311 1.669c.043.951.054 1.218.054 3.655s0 2.698-.043 3.654z'/%3E%3C/svg%3E");
}
.bxl-linkedin {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Ccircle cx='4.983' cy='5.009' r='2.188' fill='black'/%3E%3Cpath fill='black' d='M9.237 8.855v12.139h3.769v-6.003c0-1.584.298-3.118 2.262-3.118c1.937 0 1.961 1.811 1.961 3.218v5.904H21v-6.657c0-3.27-.704-5.783-4.526-5.783c-1.835 0-3.065 1.007-3.568 1.96h-.051v-1.66zm-6.142 0H6.87v12.139H3.095z'/%3E%3C/svg%3E");
}
.bxl-pinterest {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M11.99 2C6.472 2 2 6.473 2 11.99c0 4.232 2.633 7.85 6.35 9.306c-.088-.79-.166-2.006.034-2.868c.182-.78 1.172-4.966 1.172-4.966s-.299-.599-.299-1.484c0-1.388.805-2.425 1.808-2.425c.853 0 1.264.64 1.264 1.407c0 .858-.546 2.139-.827 3.327c-.235.994.499 1.805 1.479 1.805c1.775 0 3.141-1.872 3.141-4.575c0-2.392-1.719-4.064-4.173-4.064c-2.843 0-4.512 2.132-4.512 4.335c0 .858.331 1.779.744 2.28a.3.3 0 0 1 .069.286c-.076.315-.245.994-.277 1.133c-.044.183-.145.222-.335.134c-1.247-.581-2.027-2.405-2.027-3.871c0-3.151 2.289-6.045 6.601-6.045c3.466 0 6.159 2.469 6.159 5.77c0 3.444-2.171 6.213-5.184 6.213c-1.013 0-1.964-.525-2.29-1.146l-.623 2.374c-.225.868-.834 1.956-1.241 2.62a10 10 0 0 0 2.958.445c5.517 0 9.99-4.473 9.99-9.99S17.507 2 11.99 2'/%3E%3C/svg%3E");
}
.bxl-tiktok {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-5.2 1.74a2.89 2.89 0 0 1 2.31-4.64a3 3 0 0 1 .88.13V9.4a7 7 0 0 0-1-.05A6.33 6.33 0 0 0 5 20.1a6.34 6.34 0 0 0 10.86-4.43v-7a8.16 8.16 0 0 0 4.77 1.52v-3.4a5 5 0 0 1-1-.1z'/%3E%3C/svg%3E");
}
.social-links .icon-base{display:block;width:1.25rem;height:1.25rem;background:currentColor;mask:var(--svg) center/contain no-repeat}

/* Contactos: composição da maqueta, com o mapa real. */
.contact-hero,.contact-main{width:100%;max-width:none;margin-inline:auto;padding-inline:clamp(1.25rem,6vw,12rem)}
.contact-hero{padding-top:clamp(8rem,16vw,12rem);padding-bottom:clamp(1.5rem,3vw,2.25rem)}
.contact-hero h1{font-size:clamp(3.25rem,6.25vw,5rem)}
.contact-main{grid-template-columns:minmax(0,4fr) minmax(0,5fr);gap:clamp(2rem,8vw,6rem);padding-bottom:clamp(2.5rem,6vw,5rem)}
.contact-main>.contact-information,.contact-main>.contact-form-panel{padding:0;color:var(--ink)}
.contact-main>.contact-form-panel{padding-top:clamp(1rem,2.8vw,2rem)}
.contact-details .contact-detail{padding:clamp(1.25rem,3vw,2.25rem) 0;border-bottom:0}
.contact-details .contact-detail:nth-of-type(2){border-bottom:1px solid var(--line)}
.contact-detail address,.contact-detail p,.contact-detail a{font-size:1rem;line-height:1.6}
.contact-detail small{font-size:.875rem}
.contact-detail a[href^="https:"],.contact-detail a[href^="mailto:"]{text-decoration:underline;text-underline-offset:.2em}
.contact-form{margin:0;gap:clamp(1.25rem,3.5vw,2.75rem)}
.contact-form-row{gap:1.125rem}
.contact-form label>span{color:var(--ink)}
.contact-form input:not([type=checkbox]),.contact-form textarea{color:var(--ink);border-bottom-color:#666}
.contact-form input:not([type=checkbox]):focus,.contact-form textarea:focus{border-bottom-color:var(--ink);box-shadow:0 1px var(--ink)}
.contact-form textarea{min-height:7.5rem}
.contact-form .contact-consent>span{color:#555;font-size:.875rem}
.contact-form button{justify-content:center;margin:0;padding:1rem;border:1px solid #252525;background:#252525;color:#fff}
.contact-form button:hover{background:#414141;color:#fff}
.contact-map,.contact-map iframe{min-height:0}
.contact-map iframe{height:clamp(18rem,37.5vw,32rem)}
@media(max-width:740px){
  .contact-main{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .contact-main>.contact-form-panel{padding-top:0}
}
.social-links .bx-globe {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10s10-4.486 10-10S17.514 2 12 2m7.931 9h-2.764a14.7 14.7 0 0 0-1.792-6.243A8.01 8.01 0 0 1 19.931 11M12.53 4.027c1.035 1.364 2.427 3.78 2.627 6.973H9.03c.139-2.596.994-5.028 2.451-6.974c.172-.01.344-.026.519-.026c.179 0 .354.016.53.027m-3.842.7C7.704 6.618 7.136 8.762 7.03 11H4.069a8.01 8.01 0 0 1 4.619-6.273M4.069 13h2.974c.136 2.379.665 4.478 1.556 6.23A8.01 8.01 0 0 1 4.069 13m7.381 6.973C10.049 18.275 9.222 15.896 9.041 13h6.113c-.208 2.773-1.117 5.196-2.603 6.972c-.182.012-.364.028-.551.028c-.186 0-.367-.016-.55-.027m4.011-.772c.955-1.794 1.538-3.901 1.691-6.201h2.778a8 8 0 0 1-4.469 6.201'/%3E%3C/svg%3E");
}
.social-links .bxl-facebook {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M13.397 20.997v-8.196h2.765l.411-3.209h-3.176V7.548c0-.926.258-1.56 1.587-1.56h1.684V3.127A22 22 0 0 0 14.201 3c-2.444 0-4.122 1.492-4.122 4.231v2.355H7.332v3.209h2.753v8.202z'/%3E%3C/svg%3E");
}
.social-links .bxl-twitter {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M19.633 7.997c.013.175.013.349.013.523c0 5.325-4.053 11.461-11.46 11.461c-2.282 0-4.402-.661-6.186-1.809c.324.037.636.05.973.05a8.07 8.07 0 0 0 5.001-1.721a4.04 4.04 0 0 1-3.767-2.793c.249.037.499.062.761.062c.361 0 .724-.05 1.061-.137a4.03 4.03 0 0 1-3.23-3.953v-.05c.537.299 1.16.486 1.82.511a4.02 4.02 0 0 1-1.796-3.354c0-.748.199-1.434.548-2.032a11.46 11.46 0 0 0 8.306 4.215c-.062-.3-.1-.611-.1-.923a4.026 4.026 0 0 1 4.028-4.028c1.16 0 2.207.486 2.943 1.272a8 8 0 0 0 2.556-.973a4.02 4.02 0 0 1-1.771 2.22a8 8 0 0 0 2.319-.624a8.7 8.7 0 0 1-2.019 2.083'/%3E%3C/svg%3E");
}
.social-links .bxl-youtube {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M21.593 7.203a2.5 2.5 0 0 0-1.762-1.766C18.265 5.007 12 5 12 5s-6.264-.007-7.831.404a2.56 2.56 0 0 0-1.766 1.778c-.413 1.566-.417 4.814-.417 4.814s-.004 3.264.406 4.814c.23.857.905 1.534 1.763 1.765c1.582.43 7.83.437 7.83.437s6.265.007 7.831-.403a2.52 2.52 0 0 0 1.767-1.763c.414-1.565.417-4.812.417-4.812s.02-3.265-.407-4.831M9.996 15.005l.005-6l5.207 3.005z'/%3E%3C/svg%3E");
}
.social-links .bxl-whatsapp {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' fill-rule='evenodd' d='M18.403 5.633A8.92 8.92 0 0 0 12.053 3c-4.948 0-8.976 4.027-8.978 8.977c0 1.582.413 3.126 1.198 4.488L3 21.116l4.759-1.249a9 9 0 0 0 4.29 1.093h.004c4.947 0 8.975-4.027 8.977-8.977a8.93 8.93 0 0 0-2.627-6.35m-6.35 13.812h-.003a7.45 7.45 0 0 1-3.798-1.041l-.272-.162l-2.824.741l.753-2.753l-.177-.282a7.45 7.45 0 0 1-1.141-3.971c.002-4.114 3.349-7.461 7.465-7.461a7.4 7.4 0 0 1 5.275 2.188a7.42 7.42 0 0 1 2.183 5.279c-.002 4.114-3.349 7.462-7.461 7.462m4.093-5.589c-.225-.113-1.327-.655-1.533-.73s-.354-.112-.504.112s-.58.729-.711.879s-.262.168-.486.056s-.947-.349-1.804-1.113c-.667-.595-1.117-1.329-1.248-1.554s-.014-.346.099-.458c.101-.1.224-.262.336-.393s.149-.224.224-.374s.038-.281-.019-.393c-.056-.113-.505-1.217-.692-1.666c-.181-.435-.366-.377-.504-.383a10 10 0 0 0-.429-.008a.83.83 0 0 0-.599.28c-.206.225-.785.767-.785 1.871s.804 2.171.916 2.321s1.582 2.415 3.832 3.387c.536.231.954.369 1.279.473c.537.171 1.026.146 1.413.089c.431-.064 1.327-.542 1.514-1.066s.187-.973.131-1.067s-.207-.151-.43-.263' clip-rule='evenodd'/%3E%3C/svg%3E");
}
.social-links .bxl-github {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' fill-rule='evenodd' d='M12.026 2c-5.509 0-9.974 4.465-9.974 9.974c0 4.406 2.857 8.145 6.821 9.465c.499.09.679-.217.679-.481c0-.237-.008-.865-.011-1.696c-2.775.602-3.361-1.338-3.361-1.338c-.452-1.152-1.107-1.459-1.107-1.459c-.905-.619.069-.605.069-.605c1.002.07 1.527 1.028 1.527 1.028c.89 1.524 2.336 1.084 2.902.829c.091-.645.351-1.085.635-1.334c-2.214-.251-4.542-1.107-4.542-4.93c0-1.087.389-1.979 1.024-2.675c-.101-.253-.446-1.268.099-2.64c0 0 .837-.269 2.742 1.021a9.6 9.6 0 0 1 2.496-.336a9.6 9.6 0 0 1 2.496.336c1.906-1.291 2.742-1.021 2.742-1.021c.545 1.372.203 2.387.099 2.64c.64.696 1.024 1.587 1.024 2.675c0 3.833-2.33 4.675-4.552 4.922c.355.308.675.916.675 1.846c0 1.334-.012 2.41-.012 2.737c0 .267.178.577.687.479C19.146 20.115 22 16.379 22 11.974C22 6.465 17.535 2 12.026 2' clip-rule='evenodd'/%3E%3C/svg%3E");
}
.social-links .bxl-discord-alt {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M14.82 4.26a10 10 0 0 0-.53 1.1a14.7 14.7 0 0 0-4.58 0a10 10 0 0 0-.53-1.1a16 16 0 0 0-4.13 1.3a17.33 17.33 0 0 0-3 11.59a16.6 16.6 0 0 0 5.07 2.59A13 13 0 0 0 8.23 18a9.7 9.7 0 0 1-1.71-.83a3.4 3.4 0 0 0 .42-.33a11.66 11.66 0 0 0 10.12 0q.21.18.42.33a11 11 0 0 1-1.71.84a12.4 12.4 0 0 0 1.08 1.78a16.4 16.4 0 0 0 5.06-2.59a17.22 17.22 0 0 0-3-11.59a16 16 0 0 0-4.09-1.35M8.68 14.81a1.94 1.94 0 0 1-1.8-2a1.93 1.93 0 0 1 1.8-2a1.93 1.93 0 0 1 1.8 2a1.93 1.93 0 0 1-1.8 2m6.64 0a1.94 1.94 0 0 1-1.8-2a1.93 1.93 0 0 1 1.8-2a1.92 1.92 0 0 1 1.8 2a1.92 1.92 0 0 1-1.8 2'/%3E%3C/svg%3E");
}
.social-links .bxl-twitch {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M4.265 3L3 6.236v13.223h4.502V21l2.531.85l2.392-2.391h3.658l4.923-4.924V3zm15.052 10.691l-2.813 2.814h-4.502l-2.391 2.391v-2.391H5.813V4.688h13.504zm-2.812-5.767v4.923h-1.688V7.924zm-4.502 0v4.923h-1.688V7.924z'/%3E%3C/svg%3E");
}

@media(max-width:900px){.compact-footer .footer-bottom{grid-template-columns:1fr;justify-items:center;text-align:center}.compact-footer .footer-legal{justify-content:center}}
@media(max-width:650px){.compact-footer .footer-grid{justify-items:center;text-align:center}.compact-footer .footer-grid nav{justify-content:center}.compact-footer .footer-grid .social-links{justify-self:center}.compact-footer .footer-mark{width:auto}.compact-footer .footer-funding img{width:min(16rem,70vw)}}

/* Readable body copy across the public site. */
:root{--reading-size:clamp(1.125rem,calc(1.05rem + .2vw),1.25rem)}
.hero-copy>p,
.manifesto-copy>p,
.process-copy>p:not(.kicker),
.process-copy li,
.archive-hero>p,
.project-facts>div>p,
.project-facts dl div,
.process-hero-copy>p,
.process-intro-copy>p,
.process-step-copy>p:not(.kicker),
.contact-detail address,
.contact-detail p,
.contact-detail a,
.contact-form .contact-consent>span,
.page-hero>p,
.rich-content p,
.rich-content li,
.rich-content td{font-size:var(--reading-size)}
.contact-form input:not([type=checkbox]),.contact-form textarea{font-size:var(--reading-size)}
.project-facts dl div{grid-template-columns:minmax(0,1fr) minmax(0,2fr);overflow-wrap:anywhere}
.contact-detail a{max-width:100%;overflow-wrap:anywhere}

/* A separate save action leaves the photograph's main link intact. */
.project-card,.project-gallery figure,.project-side-photo{position:relative}
.project-side-photo{margin:0;align-self:start}
.project-side-photo img{display:block;width:100%;max-height:25rem;object-fit:cover}
.project-card .pinterest-save,.project-gallery .pinterest-save,.project-side-photo .pinterest-save,.gallery-dialog .pinterest-save{
  display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem .55rem;border-radius:.3rem;
  background:#c90021;color:#fff;font:600 .8125rem/1.2 var(--sans);text-decoration:none;
}
.pinterest-save-icon{width:1.1rem;height:1.1rem;flex:none;background:currentColor;mask:var(--svg) center/contain no-repeat}
.project-card .pinterest-save,.project-gallery .pinterest-save,.project-side-photo .pinterest-save{position:absolute;z-index:2;inset:.75rem auto auto .75rem}
@media(hover:hover) and (pointer:fine){
  :is(.project-card,.project-gallery figure,.project-side-photo) .pinterest-save{opacity:0;pointer-events:none}
  :is(.project-card,.project-gallery figure,.project-side-photo):is(:hover,:focus-within) .pinterest-save{opacity:1;pointer-events:auto}
}
.pinterest-save:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #202020}
.gallery-dialog img{height:min(68dvh,48rem)}

/* Blogue */
.blog-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:clamp(1.5rem,4vw,4rem);padding-bottom:clamp(4rem,10vw,8rem)}
.blog-card{border-top:1px solid var(--line);padding-block:1.25rem;overflow-wrap:anywhere}
.blog-card h2{font:400 clamp(1.8rem,3vw,2.75rem)/1.15 var(--serif);margin:.55em 0}
.blog-card h2 a:hover{text-decoration:underline;text-underline-offset:.14em}
.blog-list p{font-size:var(--reading-size)}
.blog-card time,.blog-post time{font-size:.875rem;color:#55594f}
.blog-post-heading .text-link{margin-bottom:1.5rem}
.blog-post-heading h1,.blog-post{overflow-wrap:anywhere}
.blog-post{line-height:1.75}
.blog-list nav{grid-column:1/-1}
.blog-list .pagination{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;padding:0}
.blog-list .pagination .active a{font-weight:600;text-decoration:underline}

/* Menus configured in the backoffice */
.public-menu{list-style:none;margin:0;padding:0}
.site-nav>.public-menu,.footer-navigation>.public-menu{display:flex;align-items:center;flex-wrap:wrap;gap:inherit}
.public-menu li{position:relative;display:flex;align-items:center;gap:.35rem;min-width:0}
.public-menu a[aria-current="page"]{text-decoration:underline;text-underline-offset:.35em}
.public-menu-details>summary{display:grid;place-items:center;list-style:none;min-width:1.5rem;min-height:1.5rem;cursor:pointer}
.public-menu-details>summary::-webkit-details-marker{display:none}
.public-menu-details[open]>summary span{transform:rotate(180deg)}
.public-submenu{min-width:11rem;padding:.6rem .75rem}
.public-submenu li{flex-wrap:wrap;padding:.3rem 0}
.public-submenu li>a{overflow-wrap:anywhere}
.public-submenu .public-menu-details{display:contents}
.public-submenu .public-submenu{flex:0 0 100%;min-width:0;border-inline-start:1px solid var(--line);padding:.25rem .6rem}
.site-nav>.public-menu>li>.public-menu-details>.public-submenu{position:absolute;z-index:2;inset:100% auto auto 0;width:max-content;max-width:min(21rem,80vw);background:#f2efe9;color:#181a17;border:1px solid var(--line);box-shadow:0 .5rem 1.25rem #0002}
.footer-navigation>.public-menu{justify-content:center;align-items:flex-start}
.footer-navigation .public-menu li{flex-wrap:wrap}
.footer-navigation .public-menu-details{display:contents}
.footer-navigation .public-submenu{flex:0 0 100%;padding:.3rem .5rem;min-width:0}
@media(max-width:900px){
  .site-nav{justify-content:flex-start;overflow-y:auto}
  .site-nav>.public-menu{flex-direction:column;align-items:flex-start;gap:1rem}
  .site-nav .public-menu li{flex-wrap:wrap}
  .site-nav .public-menu-details{display:contents}
  .site-nav>.public-menu>li>.public-menu-details>.public-submenu{position:static;flex:0 0 100%;width:auto;background:transparent;color:inherit;border:0;border-inline-start:1px solid #fff5;box-shadow:none}
  .site-nav .public-submenu a{font-size:1.25rem}
}

/* Page builder modules share the site's typography, spacing and colours. */
.builder-page:not(.builder-page-hero){padding-top:108px}
@media(max-width:900px){.builder-page:not(.builder-page-hero){padding-top:82px}}
.builder-block{overflow:hidden;background:#f2efe9}
.builder-tone-light{background:#faf8f4}
.builder-tone-sage{background:#e8e9df}
.builder-block-content{position:relative;padding-block:clamp(2.5rem,6vw,6rem)}
.builder-block h1,.builder-block h2{margin:0;font:400 clamp(2.6rem,5vw,6rem)/1.02 var(--serif);letter-spacing:-.025em;overflow-wrap:anywhere}
.builder-block-copy{max-width:66ch}
.builder-block-copy p{font-size:var(--reading-size,1.125rem);line-height:1.65;margin:0 0 1rem;overflow-wrap:anywhere}
.builder-block-heading:has(h1,h2)+.builder-block-copy{margin-top:1.25rem}
.builder-block-photo img,.builder-gallery-grid img{display:block;width:100%;height:100%;object-fit:cover}
.builder-hero{position:relative;display:grid;align-items:end;min-height:clamp(28rem,75svh,54rem);background:#181a17;color:#fff}
.builder-hero .builder-block-photo{position:absolute;inset:0}
.builder-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0009,#0003)}
.builder-hero .builder-block-content{z-index:1;margin:0;padding-top:8rem}
.builder-hero .builder-block-heading{max-width:56rem}
.builder-editorial .builder-block-content:has(.builder-block-heading + .builder-block-copy){display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:clamp(2rem,6vw,6rem)}
.builder-editorial .builder-block-heading+.builder-block-copy{margin:0}
.builder-split:has(.builder-block-photo){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.builder-split .builder-block-photo{min-height:clamp(20rem,38vw,42rem)}
.builder-split.builder-image-right .builder-block-photo{order:2}
.builder-split .builder-block-content{align-self:center}
.builder-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.7rem,2vw,1.75rem);margin-top:1.5rem}
.builder-gallery-grid img{aspect-ratio:4/3;height:auto}
.builder-cta .builder-block-content{text-align:center}
.builder-cta .builder-block-copy{margin-inline:auto}
.builder-block-copy>div+p,.builder-block-copy>div+.text-link{margin-top:.4rem}
.builder-single-image{display:block;width:100%;height:auto;object-fit:cover}
.builder-rule{margin:0;border:0;border-top:1px solid currentColor;opacity:.24}
.builder-divider .builder-block-content{padding-block:clamp(1.25rem,3vw,2.5rem)}
.builder-columns{display:grid;gap:clamp(1.25rem,4vw,4rem);grid-template-columns:repeat(var(--builder-column-count),minmax(0,1fr))}
.builder-columns2{--builder-column-count:2}.builder-columns3{--builder-column-count:3}.builder-columns4{--builder-column-count:4}
.builder-columns h2{font-size:clamp(2rem,3.6vw,4rem);margin:.75rem 0}
.builder-columns p{font-size:var(--reading-size,1.125rem);line-height:1.65;overflow-wrap:anywhere}
.builder-spacing-compact .builder-block-content{padding-block:clamp(1.25rem,3vw,3rem)}
.builder-spacing-wide .builder-block-content{padding-block:clamp(4rem,9vw,9rem)}
.builder-align-left .builder-block-content{text-align:left}
.builder-align-center .builder-block-content{text-align:center}
.builder-align-right .builder-block-content{text-align:right}
.builder-align-center .builder-block-copy,.builder-align-center .builder-block-heading{margin-inline:auto}
.builder-align-right .builder-block-copy,.builder-align-right .builder-block-heading{margin-inline:auto 0}
.builder-block{background-color:var(--builder-background,#f2efe9)}
.builder-tone-light{background-color:var(--builder-background,#faf8f4)}
.builder-tone-sage{background-color:var(--builder-background,#e8e9df)}
.builder-hero{background-color:var(--builder-background,#181a17)}
.builder-block .builder-block-content{max-width:var(--builder-width,none);margin-inline:auto}
.builder-block{--builder-block-padding:clamp(2.5rem,6vw,6rem)}
.builder-spacing-compact{--builder-block-padding:clamp(1.25rem,3vw,3rem)}
.builder-spacing-wide{--builder-block-padding:clamp(4rem,9vw,9rem)}
.builder-divider.builder-spacing-standard{--builder-block-padding:clamp(1.25rem,3vw,2.5rem)}
:is(.builder-heading,.builder-paragraph).builder-spacing-standard{--builder-block-padding:clamp(.75rem,1.6vw,1.5rem)}
:is(.builder-heading,.builder-paragraph).builder-spacing-compact{--builder-block-padding:clamp(.25rem,.7vw,.75rem)}
.builder-paragraph .builder-block-copy p:last-child{margin-bottom:0}
.builder-block .builder-block-content{padding-top:var(--builder-padding-top,var(--builder-block-padding));padding-bottom:var(--builder-padding-bottom,var(--builder-block-padding))}
.builder-hero .builder-block-content{padding-top:var(--builder-padding-top,max(8rem,var(--builder-block-padding)))}
.builder-nested{background-color:var(--builder-background,transparent)}
.builder-nested>.builder-block-content{padding-inline:0}
.builder-block :is(h1,h2){font-family:var(--builder-heading-font,var(--serif));font-size:var(--builder-heading-size,clamp(2.6rem,5vw,6rem));color:var(--builder-heading-color,inherit);font-weight:var(--builder-heading-weight,400);font-style:var(--builder-heading-italic,normal);line-height:var(--builder-heading-leading,1.02);letter-spacing:var(--builder-heading-tracking,-.025em);text-transform:var(--builder-heading-case,none)}
.builder-columns :is(h1,h2){font-size:var(--builder-heading-size,clamp(2rem,3.6vw,4rem));margin:.75rem 0}
.builder-block :is(.builder-block-copy,.builder-columns) p{font-family:var(--builder-copy-font,var(--sans));font-size:var(--builder-copy-size,var(--reading-size,1.125rem));color:var(--builder-copy-color,inherit);font-weight:var(--builder-copy-weight,inherit);font-style:var(--builder-copy-italic,normal);line-height:var(--builder-copy-leading,1.65);letter-spacing:var(--builder-copy-tracking,normal);text-transform:var(--builder-copy-case,none)}
.builder-button{font-family:var(--builder-button-font,var(--sans));font-size:var(--builder-button-size,.74rem);color:var(--builder-button-color,inherit);font-weight:var(--builder-button-weight,inherit);font-style:var(--builder-button-italic,normal);line-height:var(--builder-button-leading,inherit);letter-spacing:var(--builder-button-tracking,.16em);text-transform:var(--builder-button-case,uppercase);background-color:var(--builder-button-background,transparent);border-radius:var(--builder-button-radius,0)}
.builder-button-filled,.builder-button-outline{padding:.65em 1.1em;border:1px solid currentColor;text-align:center}
.builder-button-filled{color:var(--builder-button-color,#fff);background-color:var(--builder-button-background,#191a17);border-color:transparent}
.builder-gallery-grid{gap:var(--builder-gap,clamp(.7rem,2vw,1.75rem))}
.builder-columns{gap:var(--builder-gap,clamp(1.25rem,4vw,4rem))}
.builder-editorial .builder-block-content{gap:var(--builder-gap,clamp(2rem,6vw,6rem))}
.builder-gallery-grid img{aspect-ratio:var(--builder-image-ratio,4/3)}
.builder-single-image{aspect-ratio:var(--builder-image-ratio,auto)}
.builder-gallery-grid img,.builder-single-image{border-radius:var(--builder-image-radius,0)}
.builder-rule{border-top-width:var(--builder-rule-size,1px);border-top-color:var(--builder-rule-color,#bdbab2);opacity:1}
.builder-inline-link{display:inline;border:0;padding:0;font-size:var(--builder-button-size,1em);letter-spacing:var(--builder-button-tracking,normal);text-transform:var(--builder-button-case,none);text-decoration:underline;text-underline-offset:.2em}
.builder-align-center .social-links{justify-content:center}
.builder-align-right .social-links{justify-content:flex-end}
.builder-embed{display:block;width:100%;border:0;aspect-ratio:16/9}
.builder-map .builder-embed{height:clamp(16rem,42vw,33rem)}
.builder-embed-placeholder{display:grid;gap:.4rem;place-content:center;min-height:10rem;margin:0;padding:1rem;text-align:center;border:1px dashed var(--line)}
.builder-carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:var(--builder-image-radius,0)}
.builder-carousel-track img{flex:0 0 100%;min-width:0;aspect-ratio:var(--builder-image-ratio,16/9);object-fit:cover;scroll-snap-align:start}
.builder-carousel-controls{display:flex;justify-content:center;gap:.65rem;margin-top:.75rem}
.builder-carousel-controls button{min-width:2.75rem;min-height:2.75rem;border:1px solid var(--line);background:transparent;color:inherit;cursor:pointer}
:is(.builder-solutions,.builder-service-note).builder-spacing-standard{--builder-block-padding:clamp(1.5rem,3.3vw,3.75rem)}
.builder-solutions .builder-block-heading :is(h1,h2){font:var(--builder-heading-weight,600) var(--builder-heading-size,clamp(.9rem,1.65vw,1.2rem))/var(--builder-heading-leading,1.3) var(--builder-heading-font,var(--sans));color:var(--builder-heading-color,var(--olive));font-style:var(--builder-heading-italic,normal);letter-spacing:var(--builder-heading-tracking,.19em);text-transform:var(--builder-heading-case,uppercase)}
.builder-solutions .builder-block-heading+.builder-solutions-grid{margin-top:clamp(1.75rem,6.3vw,5rem)}
.builder-solutions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--builder-gap,clamp(1rem,2.3vw,2.5rem))}
.builder-solutions-card img,.builder-solutions-placeholder{width:100%;aspect-ratio:var(--builder-image-ratio,1.85);border-radius:var(--builder-image-radius,0)}
.builder-solutions-card img{object-fit:cover}
.builder-solutions-placeholder{display:grid;place-items:center;text-align:center;padding:1rem;border:1px dashed var(--line);color:var(--olive)}
.builder-solutions .builder-solutions-card :is(h1,h2){margin:.25rem 0 .1rem;font:400 clamp(1.6rem,2.65vw,2.5rem)/1.12 var(--serif);color:inherit;letter-spacing:normal;text-transform:none}
.builder-solutions-link{display:inline-block;font-size:.8rem;font-weight:600;text-decoration:underline;text-underline-offset:.32em}
.builder-service-note.builder-align-standard .builder-block-content{text-align:center}
.builder-service-note.builder-align-standard .builder-block-copy{margin-inline:auto}
.builder-service-note .builder-block-copy{max-width:80ch;margin-top:clamp(.8rem,1.6vw,1.4rem)}
.builder-service-note .builder-block-copy p{font-size:var(--builder-copy-size,clamp(.9rem,1.35vw,1.1rem));margin:0}
.builder-service-note .builder-block-copy .builder-service-highlight{margin-top:.65rem;color:var(--builder-highlight-color,var(--olive));font-weight:700}
/* Homepage modules retain the original layout until a style is explicitly selected. */
.builder-home-module.builder-align-left{text-align:left}
.builder-home-module.builder-align-center{text-align:center}
.builder-home-module.builder-align-right{text-align:right}
.builder-home-module.builder-spacing-compact:not(.home-hero){padding-block:clamp(1.25rem,3vw,3rem)}
.builder-home-module.builder-spacing-wide:not(.home-hero){padding-block:clamp(4rem,9vw,9rem)}
.builder-home-module[style*="--builder-background:"]{background-color:var(--builder-background)}
.builder-home-module[style*="--builder-padding-top:"]{padding-top:var(--builder-padding-top)}
.builder-home-module[style*="--builder-padding-bottom:"]{padding-bottom:var(--builder-padding-bottom)}
.builder-home-module[style*="--builder-width:"]{max-width:var(--builder-width);margin-inline:auto}
.builder-home-module[style*="--builder-gap:"]{gap:var(--builder-gap)}
.builder-home-module[style*="--builder-heading-font:"] :is(h1,h2){font-family:var(--builder-heading-font)}
.builder-home-module[style*="--builder-heading-size:"] :is(h1,h2){font-size:var(--builder-heading-size)}
.builder-home-module[style*="--builder-heading-color:"] :is(h1,h2){color:var(--builder-heading-color)}
.builder-home-module[style*="--builder-heading-weight:"] :is(h1,h2){font-weight:var(--builder-heading-weight)}
.builder-home-module[style*="--builder-heading-italic:"] :is(h1,h2){font-style:var(--builder-heading-italic)}
.builder-home-module[style*="--builder-heading-leading:"] :is(h1,h2){line-height:var(--builder-heading-leading)}
.builder-home-module[style*="--builder-heading-tracking:"] :is(h1,h2){letter-spacing:var(--builder-heading-tracking)}
.builder-home-module[style*="--builder-heading-case:"] :is(h1,h2){text-transform:var(--builder-heading-case)}
.builder-home-module[style*="--builder-copy-font:"] p:not(.kicker){font-family:var(--builder-copy-font)}
.builder-home-module[style*="--builder-copy-size:"] p:not(.kicker){font-size:var(--builder-copy-size)}
.builder-home-module[style*="--builder-copy-color:"] p:not(.kicker){color:var(--builder-copy-color)}
.builder-home-module[style*="--builder-copy-weight:"] p:not(.kicker){font-weight:var(--builder-copy-weight)}
.builder-home-module[style*="--builder-copy-italic:"] p:not(.kicker){font-style:var(--builder-copy-italic)}
.builder-home-module[style*="--builder-copy-leading:"] p:not(.kicker){line-height:var(--builder-copy-leading)}
.builder-home-module[style*="--builder-copy-tracking:"] p:not(.kicker){letter-spacing:var(--builder-copy-tracking)}
.builder-home-module[style*="--builder-copy-case:"] p:not(.kicker){text-transform:var(--builder-copy-case)}
.builder-home-module[style*="--builder-button-font:"] .text-link{font-family:var(--builder-button-font)}
.builder-home-module[style*="--builder-button-size:"] .text-link{font-size:var(--builder-button-size)}
.builder-home-module[style*="--builder-button-color:"] .text-link{color:var(--builder-button-color)}
.builder-home-module[style*="--builder-button-weight:"] .text-link{font-weight:var(--builder-button-weight)}
.builder-home-module[style*="--builder-button-italic:"] .text-link{font-style:var(--builder-button-italic)}
.builder-home-module[style*="--builder-button-leading:"] .text-link{line-height:var(--builder-button-leading)}
.builder-home-module[style*="--builder-button-tracking:"] .text-link{letter-spacing:var(--builder-button-tracking)}
.builder-home-module[style*="--builder-button-case:"] .text-link{text-transform:var(--builder-button-case)}
.builder-home-module[style*="--builder-emphasis-color:"] em{color:var(--builder-emphasis-color)}
@media(max-width:600px){.builder-solutions-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.builder-block :is(h1,h2){font-size:min(var(--builder-heading-size,clamp(2.6rem,5vw,6rem)),max(2.6rem,12vw))}.builder-columns :is(h1,h2){font-size:min(var(--builder-heading-size,clamp(2rem,3.6vw,4rem)),max(2rem,12vw))}.builder-block :is(.builder-block-copy,.builder-columns) p{font-size:min(var(--builder-copy-size,var(--reading-size,1.125rem)),max(1.25rem,7vw))}}
@media(max-width:850px){.builder-columns3,.builder-columns4{--builder-column-count:2}}
@media(max-width:600px){.builder-columns2,.builder-columns3,.builder-columns4{--builder-column-count:1}}
@media(max-width:740px){
  .builder-editorial .builder-block-content:has(.builder-block-heading + .builder-block-copy),.builder-split:has(.builder-block-photo){grid-template-columns:minmax(0,1fr)}
  .builder-split.builder-image-right .builder-block-photo{order:0}
  .builder-split .builder-block-photo{min-height:0;aspect-ratio:4/3}
  .builder-gallery-grid{grid-template-columns:minmax(0,1fr)}
}

/* The visual copy of the process page shares its original header treatment. */
.site-header.process-page-header:not(.scrolled){color:#fff;background:linear-gradient(180deg,rgba(10,14,13,.72),rgba(10,14,13,.42));border-bottom:1px solid rgba(255,255,255,.14);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}

.builder-page.builder-page-institutional{padding-top:0}

.blog-card-image{display:block;overflow:hidden;margin:0 0 1.4rem;aspect-ratio:16/10;background:var(--line)}
.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.blog-card-image:hover img{transform:scale(1.025)}}

/* Editorial blog archive: restrained typography and a consistent reading rhythm. */
.blog-archive-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(2rem,5vw,6rem);align-items:end;padding-top:clamp(150px,12vw,210px);padding-bottom:clamp(3rem,5vw,5.5rem)}
.blog-archive-heading>.kicker{grid-column:1/-1;margin:0 0 1.5rem;color:var(--olive);font-size:.7rem;letter-spacing:.2em}
.blog-archive-heading>h1{font-size:clamp(4rem,7.5vw,7.5rem);line-height:1;margin:0}
.blog-archive-heading>.blog-archive-intro{max-width:37ch;margin:0 0 .35rem;font:300 clamp(1.125rem,1.25vw,1.25rem)/1.65 var(--sans);color:#55594f}
.blog-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1.5rem,4vw,5rem);row-gap:clamp(3rem,5vw,5.5rem)}
.blog-card{display:flex;flex-direction:column;min-width:0;border-top:0;padding:0 0 1.75rem;border-bottom:1px solid var(--line)}
.blog-card-image{margin:0;aspect-ratio:16/10}
.blog-card-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding-top:1.5rem}
.blog-card-copy>time{font-size:.75rem;letter-spacing:.08em;color:#686c62}
.blog-card h2{max-width:24ch;font:400 clamp(1.75rem,2.3vw,2.5rem)/1.15 var(--serif);letter-spacing:-.02em;margin:.75rem 0 1rem}
.blog-card-copy>p{max-width:52ch;margin:0 0 1.5rem;font:300 clamp(1.125rem,1.2vw,1.25rem)/1.65 var(--sans);color:#55594f}
.blog-card-read{margin-top:auto;gap:1.25rem;font-size:.7rem;letter-spacing:.13em}
@media(max-width:700px){
 .blog-archive-heading{grid-template-columns:1fr;gap:0;padding-top:135px;padding-bottom:2.75rem}
 .blog-archive-heading>.kicker{margin-bottom:1rem}
 .blog-archive-heading>.blog-archive-intro{margin-top:1.5rem;max-width:35ch}
 .blog-list{grid-template-columns:1fr;row-gap:2.75rem}
 .blog-card h2{font-size:clamp(1.9rem,7vw,2.35rem)}
 .blog-card-copy{padding-top:1.25rem}
}

/* Immersive project gallery, with a separate scrollable zoom view. */
.gallery-dialog{inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#141612f5;overflow:hidden}
.gallery-dialog[open]{display:block}
.gallery-dialog::backdrop{background:#141612ed}
.gallery-stage{position:absolute;inset:3.5rem 3.75rem 2.5rem;display:flex;overflow:auto;overscroll-behavior:contain}
.gallery-photo{position:relative;flex:none;margin:auto}
.gallery-dialog .gallery-photo img{display:block;width:auto;height:auto;max-width:calc(100vw - 7.5rem);max-height:calc(100dvh - 6rem);object-fit:contain;touch-action:pan-y}
.gallery-dialog button{z-index:3;display:grid;place-items:center;width:2.6rem;height:2.6rem;background:#181a17dc;border-color:#ffffff70}
.gallery-dialog .gallery-close{right:1rem;top:.6rem}
.gallery-dialog .gallery-zoom{right:4.25rem;top:.6rem}
.gallery-dialog .gallery-prev{left:.6rem;top:calc(50% - 1.3rem)}
.gallery-dialog .gallery-next{right:.6rem;top:calc(50% - 1.3rem)}
.gallery-dialog output{position:absolute;bottom:.65rem;left:50%;transform:translateX(-50%);font-size:.85rem;letter-spacing:.08em}
.gallery-dialog .gallery-photo .pinterest-save{position:absolute;z-index:2;top:.75rem;left:.75rem;transition:opacity .18s ease}
.gallery-dialog.is-zoomed .gallery-photo img{width:var(--gallery-zoom-width);height:var(--gallery-zoom-height);max-width:none;max-height:none;touch-action:pan-x pan-y}
.gallery-dialog.is-zoomed .gallery-zoom-plus{display:none}
.gallery-dialog button:focus-visible,.gallery-stage:focus-visible{outline:2px solid #fff;outline-offset:-3px}
@media(hover:hover) and (pointer:fine){
 .gallery-photo .pinterest-save{opacity:0;pointer-events:none}
 .gallery-photo:hover .pinterest-save,.gallery-photo .pinterest-save:focus-visible{opacity:1;pointer-events:auto}
}
@media(max-width:650px){
 .gallery-stage{inset:3.5rem .5rem 3.25rem}
 .gallery-dialog .gallery-photo img{max-width:calc(100vw - 1rem);max-height:calc(100dvh - 6.75rem)}
 .gallery-dialog .gallery-prev,.gallery-dialog .gallery-next{top:auto;bottom:.4rem}
 .gallery-dialog output{bottom:1.1rem}
}

@media(hover:hover) and (pointer:fine){
 .gallery-photo img{cursor:zoom-in}
 .gallery-dialog.is-hover-zoom .gallery-photo{width:var(--gallery-hover-width);height:var(--gallery-hover-height);overflow:hidden}
 .gallery-dialog.is-hover-zoom .gallery-photo img{transform:scale(2);cursor:crosshair}
 .gallery-dialog.is-zoomed .gallery-photo img{cursor:default}
}

.analytics-consent{position:fixed;z-index:2000;left:1rem;right:1rem;bottom:1rem;max-width:70rem;margin-inline:auto;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1.5rem;background:#faf8f4;color:#191a17;border:1px solid #bfc3b8;box-shadow:0 8px 40px #0002;font:400 .95rem/1.5 var(--sans)}
.analytics-consent[hidden]{display:none}
.analytics-consent p{margin:.35rem 0 0;font-size:.9rem}
.analytics-consent p a{text-decoration:underline}
.analytics-consent-actions{display:flex;gap:.7rem;flex-shrink:0}
.analytics-consent-actions button{padding:.7rem 1rem;border:1px solid #191a17;background:transparent;color:inherit;font:inherit;cursor:pointer}
.analytics-consent-actions [data-analytics-accept]{background:#191a17;color:#fff}
.analytics-preferences{padding:0;border:0;background:none;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;text-align:inherit}
@media(max-width:700px){.analytics-consent{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.analytics-consent-actions{flex-wrap:wrap}.analytics-consent-actions button{flex:1}}

.contact-hero>p{max-width:62ch;margin:1.1rem 0 0;font:300 clamp(1.125rem,1.3vw,1.25rem)/1.65 var(--sans);color:#55594f}
