:root{--ink:#111;--paper:#f5f5f3;--line:#c9c9c5;--muted:#6b6b68;--pad:clamp(1.25rem,4vw,4.5rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,textarea{font:inherit;color:inherit}.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;padding:1.6rem var(--pad);display:flex;justify-content:space-between;align-items:flex-start}.brand{display:flex;flex-direction:column;font-size:1.05rem;font-weight:700;line-height:.88;letter-spacing:-.04em}.brand span:last-child{font-size:.63rem;letter-spacing:.14em;margin-top:.35rem}nav{display:flex;gap:clamp(1.5rem,3vw,3.5rem);font-size:.88rem}nav a{position:relative}nav a:after,.text-link:after{content:"";position:absolute;left:0;bottom:-.3rem;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s}nav a:hover:after,.text-link:hover:after{transform:scaleX(1);transform-origin:left}.menu-button{display:none;border:0;background:none;padding:0}.hero{min-height:90vh;padding:clamp(9rem,17vh,13rem) var(--pad) 4rem;display:flex;flex-direction:column;justify-content:space-between}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;margin:0;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400;letter-spacing:-.055em;line-height:.94}h1{font-size:clamp(3.4rem,8.4vw,9.4rem);margin:2rem 0 4rem;max-width:1400px}em{font-family:Georgia,serif;font-weight:400}.hero-meta{display:flex;justify-content:flex-end;align-items:end;gap:clamp(4rem,10vw,10rem)}.hero-meta p{font-size:clamp(1rem,1.6vw,1.35rem);margin:0}.round-link{width:4.4rem;height:4.4rem;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:1.5rem;transition:.3s}.round-link:hover{background:var(--ink);color:#fff}.hero-image{height:min(78vw,900px);margin:0;overflow:hidden}.hero-image img{transition:transform 1.2s}.hero-image:hover img{transform:scale(1.015)}.section{padding:clamp(6rem,12vw,11rem) var(--pad)}.section-heading{display:flex;align-items:start;justify-content:space-between;padding-bottom:2rem;border-bottom:1px solid var(--line);margin-bottom:clamp(3rem,7vw,6rem)}.section-heading h2{font-size:clamp(3rem,7vw,7rem);margin:2rem auto 0 22%}.count{font-size:.72rem;letter-spacing:.12em;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(4rem,10vw,10rem) 2rem}.project{margin:0}.project figure{margin:0;overflow:hidden;background:#ddd}.project img{transition:transform .8s;filter:saturate(.9)}.project:hover img{transform:scale(1.025)}.project-wide{grid-column:1/9}.project-wide figure{aspect-ratio:1.45}.project-tall{grid-column:7/13}.project-tall figure{aspect-ratio:.82}.project-dark{grid-column:1/6}.project-dark figure{aspect-ratio:.82}.text-card{aspect-ratio:.82;background:#171717;color:#fff;padding:clamp(1.5rem,3vw,3rem);display:flex;flex-direction:column}.text-card .number{margin-left:auto;font-size:.75rem}.text-card p{margin-top:auto;color:#aaa;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.text-card h3{font-size:clamp(2rem,3.2vw,3.8rem);font-weight:400;letter-spacing:-.04em;line-height:1}.text-card>span:last-child{color:#aaa;font-size:.85rem}.project-info{display:grid;grid-template-columns:1fr 2fr auto;gap:1rem;padding-top:1.2rem;border-top:1px solid var(--ink);margin-top:1rem;align-items:start}.project-info p,.project-info span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.project-info h3{font-size:clamp(1.35rem,2vw,2rem);font-weight:400;line-height:1.05;letter-spacing:-.035em}.portrait{background:#deded9}.portrait-copy{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end}.portrait-copy h2,.team h2,.contact h2{font-size:clamp(3.4rem,7.2vw,8rem)}.portrait-copy .lead{font-size:clamp(1.3rem,2.1vw,1.8rem);line-height:1.25}.portrait-copy>div p:last-child{color:#4d4d49;max-width:40rem}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:clamp(5rem,10vw,10rem)}.principles>div{border-top:1px solid #aaa;padding-top:1rem}.principles span{font-size:.7rem;color:var(--muted)}.principles h3{font-size:1.6rem;font-weight:400;margin:2.5rem 0 1rem}.principles p{color:#555;max-width:25rem}.team{padding-left:0;padding-right:0;display:grid;grid-template-columns:1fr 1.15fr;background:#111;color:#fff}.team-block{padding:clamp(5rem,10vw,10rem) var(--pad);display:flex;flex-direction:column;align-items:flex-start}.team .eyebrow{color:#999}.team h2{margin:clamp(4rem,8vw,8rem) 0 3rem}.team-block>p:not(.eyebrow){max-width:35rem;color:#bbb;font-size:1.1rem}.text-link{margin-top:auto;position:relative;padding-bottom:.2rem}.text-link span{margin-left:2rem}.team-image{margin:0;min-height:750px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact-intro h2{margin-bottom:5rem}.contact-intro address{font-style:normal;line-height:1.6}.contact-form label{display:block;border-bottom:1px solid var(--line);padding:0 0 1.2rem;margin-bottom:2rem}.contact-form label span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.8rem;color:var(--muted)}.contact-form small{font-size:inherit;text-transform:none;letter-spacing:0}.contact-form input,.contact-form textarea{width:100%;border:0;background:transparent;outline:0;font-size:1.2rem;resize:vertical}.contact-form label:focus-within{border-color:var(--ink)}.contact-form button{width:100%;border:1px solid var(--ink);background:transparent;padding:1.25rem;display:flex;justify-content:space-between;cursor:pointer;transition:.3s}.contact-form button:hover{background:var(--ink);color:#fff}footer{border-top:1px solid var(--line);padding:3rem var(--pad);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end}footer p{margin:0;font-size:.72rem;color:var(--muted)}footer p:last-child{text-align:right}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:760px){.site-header{position:fixed;background:rgba(245,245,243,.93);backdrop-filter:blur(10px)}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:4.5rem;left:0;width:100%;padding:1.5rem var(--pad);background:var(--paper);flex-direction:column;font-size:1.2rem;border-top:1px solid var(--line)}.site-header nav.open{display:flex}.hero{min-height:82vh}.hero-meta{justify-content:space-between;gap:1rem}.section-heading h2{margin-left:0}.project-grid{display:block}.project{margin-bottom:5rem}.project-info{grid-template-columns:1fr auto}.project-info h3{grid-column:1/-1;grid-row:1}.portrait-copy,.contact-layout{grid-template-columns:1fr}.portrait-copy{gap:2rem}.principles{grid-template-columns:1fr;gap:2rem}.team{grid-template-columns:1fr}.team-image{min-height:70vh}.team-block{min-height:80vh}.contact-form{margin-top:5rem}footer{grid-template-columns:1fr;gap:2rem}footer p:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-form .form-consent{display:flex;align-items:flex-start;gap:.75rem;border:0;padding:0;margin:0 0 2rem}.contact-form .form-consent input{width:auto;margin:.25rem 0 0;accent-color:var(--ink)}.contact-form .form-consent span{font-size:.82rem;line-height:1.45;text-transform:none;letter-spacing:0;margin:0}.contact-form .form-consent a{text-decoration:underline;text-underline-offset:.15em}.contact-form button:disabled{cursor:wait;opacity:.55}.form-status{min-height:1.5rem;margin:1rem 0 0;font-size:.9rem}.form-status.is-success{color:#195e45}.form-status.is-error{color:#9b3d25}
.cookie-notice{position:fixed;z-index:1000;right:clamp(1rem,2.5vw,2rem);bottom:clamp(1rem,2.5vw,2rem);left:clamp(1rem,2.5vw,2rem);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;max-width:72rem;margin-left:auto;padding:1.3rem 1.4rem;background:var(--green,#173d31);color:#fff;box-shadow:0 1rem 3rem rgba(0,0,0,.2);transition:opacity .25s ease,transform .25s ease}.cookie-notice--closing{opacity:0;transform:translateY(1rem)}.cookie-notice__copy{max-width:54rem}.cookie-notice__title{margin:0 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.cookie-notice__copy p:last-child{margin:0;font-size:.9rem;line-height:1.5;color:rgba(255,255,255,.82)}.cookie-notice a{text-decoration:underline;text-underline-offset:.18em}.cookie-notice__button{border:1px solid rgba(255,255,255,.75);background:transparent;color:#fff;padding:.8rem 1.2rem;cursor:pointer;transition:background .2s ease,color .2s ease}.cookie-notice__button:hover,.cookie-notice__button:focus-visible{background:#fff;color:var(--green,#173d31);outline:0}@media(max-width:680px){.cookie-notice{grid-template-columns:1fr;align-items:start;gap:1rem;padding:1.15rem}.cookie-notice__button{width:100%}}
