@font-face{font-family:Archivo;src:url('/assets/archivo-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Archivo;src:url('/assets/archivo-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:#20231f;background:#fff;font-family:Archivo,Arial,sans-serif;font-size:17px;line-height:1.55}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #ad6f35;outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.04;letter-spacing:-.055em}h1{font-size:clamp(64px,8vw,126px)}h2{font-size:clamp(42px,4.6vw,72px)}h3{font-size:28px;letter-spacing:-.035em}p+p{margin-top:20px}.wrap{max-width:1560px;margin:auto;padding-inline:4.2vw}.section{padding-block:110px}.eyebrow{text-transform:uppercase;font:11px/1.5 Archivo,Arial,sans-serif;letter-spacing:.12em;font-weight:500}.header{position:sticky;z-index:50;top:0;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:18px 4.2vw;gap:28px;border-bottom:1px solid #dce0da;height:91px}.brand{display:flex;align-items:baseline;gap:10px;line-height:1}.brand{font-size:46px;font-weight:600;letter-spacing:-.09em}.brand span{font-size:13px;font-weight:400;letter-spacing:0}.desktop{display:flex;gap:34px;font-size:14px}.desktop a{padding:10px 0}.desktop a:hover{border-bottom:1px solid}.header-contact{font-size:14px;border-bottom:1px solid;padding-block:8px}.header-contact span{margin-left:30px}.menu-toggle{display:none;background:none;border:0;padding:12px 0}.mobile-menu{position:absolute;top:100%;left:0;right:0;background:#20231f;color:white;padding:24px 7vw 35px;box-shadow:0 20px 20px #0002}.mobile-menu a{display:block;font-size:28px;letter-spacing:-.03em;padding:10px 0;border-bottom:1px solid #777}.skip{position:fixed;top:-90px;left:20px;z-index:100;background:#fff;padding:12px}.skip:focus{top:12px}.hero{padding-top:30px}.hero>.eyebrow{display:flex;justify-content:space-between}.hero-title{display:grid;grid-template-columns:3fr 1fr;align-items:end;margin:40px 0 38px;gap:35px}.hero h1{font-weight:500;line-height:.96}.hero-note{padding-bottom:8px;font-size:15px}.cross{display:block;font-size:40px;font-weight:300;margin-bottom:16px;line-height:1}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid;padding:9px 0;margin-top:25px;font-size:14px}.hero-media{display:block;position:relative;overflow:hidden;background:#ddd}.hero-media img{height:clamp(370px,42vw,660px);object-fit:cover;object-position:center 58%;transition:transform 1s}.hero-media:hover img{transform:scale(1.025)}.media-tag{position:absolute;bottom:0;left:0;right:0;padding:18px 25px;display:flex;justify-content:space-between;color:#fff;background:#20231fe8;font-size:14px}.hero-bottom{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid #ccc;font-size:12px}.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:start;gap:35px;margin-bottom:55px}.section-heading>p:last-child{font-size:16px;max-width:290px;padding-top:4px}.section-heading>.eyebrow{padding-top:8px}.project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:85px 60px;align-items:start}.project-1{margin-top:140px}.project-3{margin-top:140px}.project-image{overflow:hidden;position:relative}.project img{height:440px;object-fit:cover;transition:transform .7s}.project-1 img,.project-3 img{height:380px}.project a:hover img{transform:scale(1.035)}.project-open{position:absolute;right:0;bottom:0;background:#fff;padding:13px 23px;font-size:28px}.project-caption{padding-top:20px;display:flex;justify-content:space-between;gap:20px}.project-caption h3{margin-top:8px}.project-caption>span{font-size:27px}.approach{background:#20231f;color:white}.drawing-stage{position:relative;aspect-ratio:1.85;overflow:hidden;background:#2c302a}.drawing-stage .built-image{height:100%;object-fit:cover;object-position:50% 58%}.drawing-paper{position:absolute;inset:0;background-color:#242b25;background-image:linear-gradient(#ffffff0c 1px,transparent 1px),linear-gradient(90deg,#ffffff0c 1px,transparent 1px);background-size:40px 40px;display:none;color:#e8ede4}.drawing-paper svg{width:100%;height:100%;opacity:.85}.drawing-label{position:absolute;top:25px;left:28px;font-size:12px;letter-spacing:.07em}.js .drawing-paper{display:block}.js .drawing-stage .built-image{clip-path:inset(0 100% 0 0);position:relative;z-index:2}.js .drawing-stage .draw-line{stroke-dasharray:4000;stroke-dashoffset:4000}.js .drawing-stage.play .draw-line{animation:draw 1.2s ease both}.js .drawing-stage.play .built-image{animation:build 1.7s .8s cubic-bezier(.22,.65,.2,1) both}.stage-label{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:15px 24px;display:flex;justify-content:space-between;gap:20px;font-size:12px;background:#20231fe8}.stage-label button{color:white;background:none;border:0;padding:4px;min-height:44px}.approach-caption{display:flex;justify-content:space-between;gap:25px;font-size:12px;margin-top:15px;color:#cdd3c8}.approach-caption a{border-bottom:1px solid}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:80px}.process>div{border-top:1px solid #61675e;padding-top:24px}.process h3{margin:22px 0 18px;font-size:29px}.process p{color:#cdd3c8;font-size:16px}.services{display:grid;grid-template-columns:1fr 1.15fr;gap:80px}.services h2{margin:25px 0}.intro-copy{font-size:20px;line-height:1.5;max-width:540px}.services .intro-copy{max-width:370px;font-size:17px}.service-list{border-top:1px solid #20231f}details{border-bottom:1px solid #bfc5bc}summary{list-style:none;display:flex;align-items:center;gap:22px;padding:27px 0;cursor:pointer;min-height:84px}summary::-webkit-details-marker{display:none}summary h3{font-size:25px;flex:1}.plus{font-size:30px;line-height:1}details[open] .plus{transform:rotate(45deg)}details>p{padding:0 40px 28px 40px;font-size:16px}.practice{background:#f1f2ef}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.plan-image{background:#fff;padding:30px}.plan-image img{height:380px;object-fit:contain}.plan-image span{display:block;margin-top:20px}.practice h2{margin:26px 0}.practice .intro-copy{margin-bottom:22px}.practice p:not(.eyebrow){max-width:520px}.contact{background:#20231f;color:white}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;margin-top:35px}.contact h2{font-size:clamp(66px,8vw,120px);line-height:.97}.enquiry{max-width:440px;margin-left:auto;width:100%}.enquiry>p{font-size:20px}.enquiry fieldset{border:0;padding:0;margin:35px 0}.enquiry legend{font-size:13px;margin-bottom:16px}.project-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.project-options button{border:1px solid #70796b;background:transparent;color:#fff;padding:13px;font-size:14px;min-height:48px;text-align:left}.project-options button[aria-pressed=true]{background:#fff;color:#20231f;border-color:#fff}.button{background:#20231f;color:#fff;display:flex;justify-content:space-between;gap:28px;align-items:center;padding:18px 24px;min-height:58px;font-size:15px;max-width:440px}.button.light{background:white;color:#20231f}.enquiry .small{font-size:12px;color:#cdd3c8;margin:15px 0 28px}.phone{display:block;font-size:17px}.official-contact{display:block;font-size:13px;text-decoration:underline;margin-top:10px}.footer{padding:55px 4.2vw;display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr;gap:30px;font-size:13px;line-height:1.8}.footer .disclosure{font-size:11px}.footer a:hover{text-decoration:underline}.case-intro{padding-top:55px;padding-bottom:55px}.case-intro .eyebrow{margin-top:60px}.case h1{max-width:1100px;margin:25px 0 35px;font-size:clamp(55px,7.8vw,112px)}.case-lead{max-width:650px;font-size:23px}.case-hero img{max-height:780px;object-fit:cover}.case-story{display:grid;grid-template-columns:1.5fr 1fr;gap:100px}.case-story h2{margin:22px 0}.case-story p{max-width:640px}.case-meta{padding-top:40px;border-top:1px solid}.case-meta p{margin-bottom:20px}.case-meta a{text-decoration:underline;font-size:14px}.case-images{display:grid;grid-template-columns:1fr 1fr;gap:30px}.case-images img{height:480px;object-fit:cover}.case-end h2{margin:22px 0 35px}@keyframes draw{to{stroke-dashoffset:0}}@keyframes build{to{clip-path:inset(0)}}
@media(min-width:1700px){.wrap{padding-inline:70px}}@media(max-width:1000px){.desktop{gap:20px}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2;max-width:none}.project-grid{gap:55px 35px}.project img{height:330px}.project-1 img,.project-3 img{height:300px}.services{gap:40px}.practice-grid{gap:45px}.footer{grid-template-columns:1fr 1fr}.hero-note{font-size:13px}.process{gap:30px}}
@media(max-width:700px){html{scroll-padding-top:90px}.header{height:76px;padding:12px 6vw;gap:15px}.brand{font-size:39px}.brand span{font-size:11px}.desktop{display:none}.header-contact{display:none}.menu-toggle{display:block;font-size:14px}.menu-toggle span{font-size:22px;margin-left:20px}.wrap{padding-inline:6vw}.section{padding-block:70px}.hero{padding-top:23px}.hero>.eyebrow{font-size:9px;gap:20px}.hero>.eyebrow span:last-child{text-align:right;max-width:145px}.hero-title{display:block;margin:32px 0 26px}.hero h1{font-size:clamp(55px,11.8vw,82px);line-height:1}.hero-note{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:26px;font-size:12px}.hero-note .cross{display:none}.hero-note p br:first-child{display:none}.hero-note .text-link{font-size:12px;gap:15px;margin-top:0}.hero-media img{height:300px;object-position:54% center}.media-tag{font-size:11px;padding:13px}.hero-bottom{font-size:10px;gap:15px}.hero-bottom span:last-child{display:none}.section-heading{display:block;margin-bottom:35px}.section-heading h2{margin:23px 0}.section-heading>p:last-child{max-width:360px;font-size:16px}.project-grid{display:block}.project{margin:0 0 45px}.project:last-child{margin-bottom:0}.project img,.project-1 img,.project-3 img{height:280px}.project-caption h3{font-size:27px}.project-caption .eyebrow{font-size:10px}.drawing-stage{aspect-ratio:.95}.drawing-paper svg{width:150%;max-width:none;margin-left:-25%}.drawing-stage .built-image{object-position:center}.stage-label{padding:8px 14px;font-size:10px;gap:10px}.drawing-label{left:15px;top:18px;font-size:10px}.approach-caption{display:block;font-size:11px}.approach-caption a{display:inline-block;margin-top:10px}.process{grid-template-columns:1fr;gap:30px;margin-top:45px}.process h3{margin:13px 0}.services{display:block}.service-list{margin-top:35px}summary h3{font-size:22px}summary{gap:18px}.practice-grid{display:flex;flex-direction:column-reverse;gap:38px}.plan-image{width:100%;padding:20px}.plan-image img{height:300px}.intro-copy{font-size:19px}.contact-grid{display:block}.contact h2{font-size:clamp(60px,15vw,88px)}.enquiry{margin:40px 0 0;max-width:none}.footer{padding:40px 6vw;gap:32px 20px;font-size:12px}.footer .brand{grid-column:1/-1}.footer .disclosure{grid-column:1/-1}.case-intro{padding-top:30px}.case-intro .eyebrow{margin-top:40px}.case h1{font-size:54px}.case-lead{font-size:20px}.case-story{display:block}.case-meta{margin-top:35px;padding-top:25px}.case-images{display:block}.case-images img{height:auto;margin-bottom:25px}.case-hero img{min-height:300px;object-fit:cover}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .drawing-stage .built-image{clip-path:none}.drawing-paper{display:none!important}}
@media print{.header,.menu-toggle,.stage-label button{display:none}.section{padding-block:30px}.contact{background:white;color:#000}.drawing-paper{display:none!important}.js .drawing-stage .built-image{clip-path:none}.project{break-inside:avoid}}

/* Keep short-screen navigation reachable; preserve navigation without scripting. */
.mobile-menu{max-height:calc(100dvh - 76px);overflow-y:auto;padding-bottom:max(35px,env(safe-area-inset-bottom))}
@media(max-width:700px){html:not(.js) .header{height:auto;flex-wrap:wrap}html:not(.js) .menu-toggle{display:none}html:not(.js) .mobile-menu[hidden]{display:block;position:static;width:100%;max-height:none;box-shadow:none;padding:12px 20px}html:not(.js) .mobile-menu a{font-size:20px}html:not(.js) .header-contact{display:block}}

.case-images figure{margin:0;min-width:0}.case-images figcaption{font-size:13px;line-height:1.5;color:#555e50;margin-top:14px}
@media(max-width:700px){.case-images figure+figure{margin-top:30px}.case-images figure img{margin-bottom:0}}

/* Keep the project caption and source link readable on narrow screens. */
@media(max-width:700px){.approach-caption{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.approach-caption a{margin-top:0}}

/* Keep contact immediately available alongside the phone navigation. */
@media(max-width:700px){.header{gap:12px}.header .brand{font-size:34px;gap:6px}.header .brand span{font-size:10px}.header-contact{display:inline-flex;align-items:center;font-size:11px;min-height:44px;white-space:nowrap}.header-contact span{display:none}.menu-toggle{min-height:44px}.menu-toggle span{margin-left:9px}}

/* Architectural folio refinement: context in the index, a true drawing plate. */
.project-brief{font-size:15px;line-height:1.55;letter-spacing:0;max-width:38ch;margin-top:14px;color:#596052}.project-caption{align-items:flex-start}.service-list details a{display:block;width:fit-content;margin-top:18px;border-bottom:1px solid;padding-bottom:4px}.practice{background:#eef0eb}.practice-grid{grid-template-columns:1.35fr 1fr;gap:7vw;align-items:start}.plan-image{position:relative;padding:28px;background-color:#fff;background-image:linear-gradient(#20231f08 1px,transparent 1px),linear-gradient(90deg,#20231f08 1px,transparent 1px);background-size:28px 28px;border:1px solid #bec5b7;box-shadow:12px 12px 0 #dfe3da}.plan-image img{height:480px;mix-blend-mode:multiply}.plan-register{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;border-bottom:1px solid #b8c1b0;padding-bottom:18px;margin-bottom:24px}.plan-register span{margin:0}.practice h2{font-size:clamp(45px,5vw,76px);margin-top:28px}.practice-facts{margin:40px 0 0;border-top:1px solid #b8c1b0}.practice-facts div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #cbd1c5;font-size:13px}.practice-facts dt{color:#596052}.practice-facts dd{margin:0;text-align:right}.plan-image>.eyebrow{font-size:9px}
@media(max-width:700px){.project-brief{font-size:14px;margin-top:10px}.practice-grid{gap:48px}.plan-image{padding:20px;box-shadow:7px 7px 0 #dfe3da;width:calc(100% - 7px)}.plan-image img{height:auto;max-height:410px;object-fit:contain}.practice h2{font-size:48px}.practice-facts{margin-top:30px}}
