:root{--header-bar:84px;--safe-top:env(safe-area-inset-top,0px);--header-height:calc(var(--header-bar) + var(--safe-top));--max:1180px;--ease:cubic-bezier(.22, 1, .36, 1);--serif:"Cormorant Garamond", "Palatino Linotype", Palatino, "Times New Roman", serif;--sans:"Manrope", "Segoe UI", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand:#1c6531;--brand-rgb:28, 101, 49;--brand-ink:#77a383;--bg:#121412;--bg-elevated:#1b1e1c;--bg-muted:#242825;--surface:#1e2220;--surface-hover:#282d2a;--text:#f3efe6c7;--text-strong:#f3efe6;--text-soft:#a4a89f;--line:#f3efe61f;--line-strong:#f3efe647;--line-accent:#77a383b8;--green:var(--brand);--green-strong:var(--brand-ink);--on-accent:#f3efe6;--on-photo:#f3efe6;--accent-soft:#77a38329;--header-bg:#1214129e;--header-bg-scrolled:#0c0e0ce6;--header-shadow:0 12px 40px #00000038;--focus:var(--brand-ink);--danger:#f0c2b6;--study-base:#161a17;--study-panel:#3a423c;--study-panel-2:#101311;--study-stone:#514a42;--study-line:#f3efe652;--study-scrim:#0a0c0ac7;--charcoal:var(--bg);--charcoal-soft:var(--bg-muted);--ink:var(--on-accent);--warm-white:var(--text-strong);--paper:var(--bg-elevated);--gray:var(--text-soft);--gray-line:var(--line)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f1e8;--bg-elevated:#ebe6dc;--bg-muted:#e3ddd2;--surface:#fbf8f3;--surface-hover:#fffdf9;--text:#1b1e1ccc;--text-strong:#1b1e1c;--text-soft:#5a5f5a;--line:#1b1e1c1f;--line-strong:#1b1e1c47;--line-accent:#1c653173;--green:var(--brand);--green-strong:var(--brand);--on-accent:#f6f2ea;--accent-soft:#1c65311a;--header-bg:#f5f1e8b3;--header-bg-scrolled:#f5f1e8eb;--header-shadow:0 12px 36px #302a2012;--focus:var(--brand);--danger:#8d3b32;--study-base:#d9d2c6;--study-panel:#f7f3ec;--study-panel-2:#c3baac;--study-stone:#b3a694;--study-line:#1b1e1c47;--study-scrim:#f5f1e8e0;--charcoal:var(--bg);--charcoal-soft:var(--bg-muted);--ink:var(--on-accent);--warm-white:var(--text-strong);--paper:var(--bg-elevated);--gray:var(--text-soft);--gray-line:var(--line)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 16px);background:var(--bg);overflow-x:clip}body{font-family:var(--sans);color:var(--text);background:var(--bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;font-weight:400;line-height:1.65}body.menu-open{overflow:hidden}#root{min-height:100svh}img{min-width:0;max-width:100%;display:block}button,input,textarea{font:inherit;color:inherit}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2{overflow-wrap:break-word;text-wrap:balance;min-width:0;max-width:100%}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}::selection{background:var(--green);color:var(--on-accent)}#top:focus,main section:focus{outline:none}.skip-link{z-index:80;background:var(--text-strong);color:var(--bg);letter-spacing:.04em;transition:top .2s var(--ease);padding:10px 16px;text-decoration:none;position:absolute;top:-48px;left:16px}.skip-link:focus{top:16px}.container{width:min(var(--max), calc(100% - 48px));margin-inline:auto}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--green-strong);margin:0 0 16px;font-size:12px;font-weight:600}.section-heading{max-width:720px}.section-heading h2{font-family:var(--serif);letter-spacing:-.03em;color:var(--text-strong);font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1.08}.section-intro{max-width:58ch;color:var(--text-soft);margin-top:20px}.section{border-top:1px solid var(--line);background:var(--bg);padding:112px 0}.button{border:1px solid var(--brand);background:var(--brand);min-height:52px;color:var(--on-accent);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;cursor:pointer;appearance:none;transition:background-color .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);border-radius:0;justify-content:center;align-items:center;padding:0 26px;font-size:12px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.button:hover,.button:focus-visible{color:var(--text-strong);border-color:var(--green-strong);background:0 0}.button-small{letter-spacing:.16em;min-height:40px;padding:0 16px;font-size:11px}.button.button-ghost{color:var(--text-strong);border-color:var(--line-strong);background:0 0}.button.button-ghost:hover,.button.button-ghost:focus-visible{background:var(--accent-soft);color:var(--text-strong);border-color:var(--green-strong)}.placeholder-mark{letter-spacing:.16em;text-transform:uppercase;color:var(--green-strong);align-items:center;gap:8px;font-size:11px;font-weight:600;display:inline-flex}.placeholder-mark:before{content:"";border:1px solid;flex:none;width:7px;height:7px;transform:rotate(45deg)}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}html.js .reveal:not(.is-visible){opacity:0;transform:translateY(22px)}html.js .reveal.is-visible{animation:rise .9s var(--ease) forwards}.reveal{overflow-anchor:none}html.theme-ready body,html.theme-ready .section,html.theme-ready .site-footer,html.theme-ready h1,html.theme-ready h2,html.theme-ready h3,html.theme-ready p,html.theme-ready .eyebrow,html.theme-ready .about-points,html.theme-ready .about-points article,html.theme-ready .project-copy,html.theme-ready .photo-placeholder,html.theme-ready .contact-form,html.theme-ready .field input,html.theme-ready .field textarea,html.theme-ready .enquiry-privacy,html.theme-ready .consent,html.theme-ready .form-status{transition:background-color .5s var(--ease), color .5s var(--ease), border-color .5s var(--ease), box-shadow .5s var(--ease)}@media (width<=900px){body{font-size:16px}.container{width:min(var(--max), calc(100% - 32px))}.section{padding:80px 0}}@media (width<=640px){.section{padding:64px 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js .reveal:not(.is-visible),html.js .reveal.is-visible,html.js .hero:not(.is-visible) .hero-animate,html.js .hero.is-visible .hero-animate{opacity:1!important;animation:none!important;transform:none!important}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.site-header{z-index:50;max-width:100%;position:sticky;top:0}.header-bar{height:var(--header-height);padding-top:var(--safe-top);background:var(--header-bg);-webkit-backdrop-filter:blur(18px)saturate(1.2);transition:background-color .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);border-bottom:1px solid #0000}.site-header.is-scrolled .header-bar{background:var(--header-bg-scrolled);border-bottom-color:var(--line);box-shadow:var(--header-shadow)}.site-header.is-open .header-bar{background:var(--bg);border-bottom-color:var(--line);box-shadow:none}.header-inner{height:var(--header-bar);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;min-width:0;display:grid}.brand{min-width:0;max-width:100%;color:var(--text-strong);justify-self:start;align-items:center;text-decoration:none;display:flex}.brand-logo{min-width:0;max-width:100%;line-height:0;display:block}.brand-logo-img{aspect-ratio:2000/451;object-fit:contain;object-position:left center;width:auto;min-width:0;max-width:100%;height:42px}.brand-logo-img--dark{display:block}.brand-logo-img--light,[data-theme=light] .brand-logo-img--dark{display:none}[data-theme=light] .brand-logo-img--light{display:block}.site-nav{justify-content:center;align-items:center;gap:22px;min-width:0;display:flex}.site-nav a{letter-spacing:.12em;text-transform:uppercase;color:var(--text);white-space:nowrap;transition:color .25s var(--ease);font-size:12px;font-weight:600;text-decoration:none;position:relative}.site-nav a:after{content:"";background:var(--green-strong);transform-origin:0;width:100%;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:-6px;left:0;transform:scaleX(0)}.site-nav a:hover,.site-nav a:focus-visible{color:var(--text-strong)}.site-nav a:hover:after,.site-nav a:focus-visible:after{transform:scaleX(1)}.header-tools{justify-content:flex-end;align-items:center;gap:12px;display:flex}.lang-switch{letter-spacing:.14em;align-items:center;gap:2px;font-size:12px;font-weight:600;display:inline-flex}.lang-switch button{min-width:36px;min-height:40px;color:var(--text-soft);cursor:pointer;transition:color .25s var(--ease);background:0 0;border:0;padding:0 4px}.lang-switch button.is-active{color:var(--text-strong);box-shadow:inset 0 -1px 0 var(--green-strong)}.lang-switch button:hover,.lang-switch button:focus-visible{color:var(--text-strong)}.lang-switch span{color:var(--line-strong)}.theme-toggle{border:1px solid var(--line);width:40px;height:40px;color:var(--text-strong);cursor:pointer;transition:border-color .3s var(--ease), background-color .3s var(--ease), color .3s var(--ease);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--green-strong);background:var(--accent-soft)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.menu-toggle{border:1px solid var(--line);width:42px;height:42px;color:var(--text-strong);cursor:pointer;background:0 0;padding:0;display:none}.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{width:16px;height:1px;transition:transform .3s var(--ease), opacity .3s var(--ease);background:currentColor;margin:0 auto;display:block;position:relative}.menu-toggle span:before,.menu-toggle span:after{content:"";position:absolute;left:0}.menu-toggle span:before{top:-5px}.menu-toggle span:after{top:5px}.menu-toggle.is-open span{background:0 0}.menu-toggle.is-open span:before{top:0;transform:rotate(45deg)}.menu-toggle.is-open span:after{top:0;transform:rotate(-45deg)}.nav-panel{height:calc(100vh - var(--header-height));height:calc(100svh - var(--header-height));z-index:40;background:var(--bg);opacity:0;visibility:hidden;pointer-events:none;overscroll-behavior:contain;transition:opacity .4s var(--ease), transform .45s var(--ease), visibility 0s linear .45s, background-color .45s var(--ease);display:flex;position:absolute;top:100%;left:0;right:0;overflow:auto;transform:translateY(-10px)}.nav-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .4s var(--ease), transform .45s var(--ease), visibility 0s linear 0s, background-color .45s var(--ease);transform:none}.nav-panel-inner{min-height:100%;padding-top:8px;padding-bottom:max(28px, env(safe-area-inset-bottom));flex-direction:column;flex:1;display:flex}.nav-link{border-bottom:1px solid var(--line);font-family:var(--serif);letter-spacing:-.03em;text-transform:none;color:var(--text-strong);opacity:0;transition:opacity .45s var(--ease), transform .45s var(--ease), color .25s var(--ease);align-items:baseline;gap:16px;padding:14px 0;font-size:clamp(2rem,7vw,3.15rem);font-weight:500;line-height:1.05;text-decoration:none;display:flex;transform:translateY(12px)}.nav-panel.is-open .nav-link{opacity:1;transform:none}.nav-panel.is-open .nav-link:first-child{transition-delay:40ms}.nav-panel.is-open .nav-link:nth-child(2){transition-delay:80ms}.nav-panel.is-open .nav-link:nth-child(3){transition-delay:.12s}.nav-panel.is-open .nav-link:nth-child(4){transition-delay:.16s}.nav-panel.is-open .nav-link:nth-child(5){transition-delay:.2s}.nav-link:hover,.nav-link:focus-visible{color:var(--green-strong)}.nav-index{font-family:var(--sans);letter-spacing:.16em;color:var(--green-strong);font-size:12px;font-weight:600}.nav-panel-tools{flex-direction:column;gap:16px;margin-top:auto;padding-top:28px;display:flex}.nav-panel-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding-top:12px;display:flex}.nav-panel-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-soft);font-size:12px;font-weight:600}.nav-panel-cta{width:100%;margin-top:4px}.hero{background:radial-gradient(ellipse 55% 45% at 100% 0%, var(--accent-soft), transparent 70%), var(--bg);padding:28px 0 64px;position:relative}.hero-layout{gap:40px;min-width:0;max-width:100%;display:grid}.hero-layout>*,.hero-copy{min-width:0}.hero .eyebrow{align-items:center;gap:14px;display:flex}.hero .eyebrow:before{content:"";background:currentColor;width:32px;height:1px}.hero h1{max-width:100%;font-family:var(--serif);letter-spacing:-.035em;text-wrap:wrap;color:var(--text-strong);font-size:clamp(2.65rem,5.2vw,5.4rem);font-weight:500;line-height:.92}.hero-lead{max-width:36ch;color:var(--text);margin-top:28px;font-size:1.125rem;line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:36px;display:flex}.hero-note{letter-spacing:.14em;text-transform:uppercase;max-width:46ch;color:var(--text-soft);margin-top:28px;font-size:12px;font-weight:600}.hero-gallery{grid-template-rows:minmax(280px,68vw) 124px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-width:0;min-height:0;display:grid}.hero-plate--facade{grid-area:1/1/auto/-1}.hero-plate--mass{grid-area:2/1}.hero-plate--detail{grid-area:2/2}.hero-plate{background:var(--study-base);border:1px solid var(--line);min-width:0;height:100%;min-height:0;transition:border-color .4s var(--ease), background-color .45s var(--ease);margin:0;position:relative;overflow:hidden}.hero-plate:hover,.hero-plate:focus-within{border-color:var(--line-strong)}.hero-plate-media{transition:transform .7s var(--ease);position:absolute;inset:0}.hero-plate:hover .hero-plate-media,.hero-plate:focus-within .hero-plate-media{transform:scale(1.025)}.hero-plate-media img{object-fit:cover;object-position:center center;width:100%;height:100%;position:absolute;inset:0}.hero-plate--mass .hero-plate-media img{object-position:center 28%}.hero-plate--detail .hero-plate-media img{object-position:center 46%}.hero-plate:after{content:"";background:linear-gradient(180deg, transparent, var(--study-scrim));pointer-events:none;height:72px;position:absolute;bottom:0;left:0;right:0}.hero-plate figcaption{z-index:1;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;bottom:12px;left:14px;right:14px}.hero-plate--mass figcaption,.hero-plate--detail figcaption{justify-content:flex-end}.hero-plate-kicker,.hero-plate-index{letter-spacing:.16em;text-transform:uppercase;color:var(--text-strong);font-size:11px;font-weight:600}html.js .hero:not(.is-visible) .hero-animate{opacity:0}html.js .hero.is-visible .hero-animate{animation:rise 1s var(--ease) both}html.js .hero.is-visible .delay-1{animation-delay:80ms}html.js .hero.is-visible .delay-2{animation-delay:.16s}html.js .hero.is-visible .delay-3{animation-delay:.26s}html.js .hero.is-visible .delay-4{animation-delay:.36s}#services,#reasons{background:var(--bg-elevated)}.about-layout,.contact-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:72px;display:grid}.about-layout>*,.contact-layout>*{min-width:0}.about-copy p+p{margin-top:20px}.about-points{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.about-points article{background:var(--surface);padding:28px 32px}.about-points h3{letter-spacing:.18em;text-transform:uppercase;color:var(--green-strong);margin-bottom:8px;font-size:12px;font-weight:600}.about-points p{font-family:var(--serif);color:var(--text-strong);font-size:1.55rem;line-height:1.2}.services-grid,.reasons-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:56px;display:grid}.service-card,.reason-card{border:1px solid var(--line);background:var(--surface);transition:border-color .35s var(--ease), transform .35s var(--ease), background-color .35s var(--ease), color .35s var(--ease);padding:32px 32px 36px}.service-card:hover,.reason-card:hover{border-color:var(--line-accent);background:var(--surface-hover);transform:translateY(-4px)}.service-index{letter-spacing:.2em;color:var(--green-strong);margin-bottom:28px;font-size:12px;display:block}.service-card h3,.reason-card h3{font-family:var(--serif);letter-spacing:-.02em;color:var(--text-strong);font-size:1.85rem;font-weight:500}.service-card p,.reason-card p{color:var(--text-soft);margin-top:14px}.projects-list{gap:28px;margin-top:56px;display:grid}.project-card{border:1px solid var(--line);min-width:0;min-height:340px;transition:border-color .35s var(--ease);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);display:grid;overflow:hidden}.project-card:has(.project-photo){min-height:0}:is(.project-card:has(.project-photo:hover),.project-card:has(.project-photo:focus-within)){border-color:var(--line-accent)}.photo-placeholder{background:linear-gradient(180deg, transparent 30%, var(--study-scrim)), repeating-linear-gradient(-32deg, var(--study-line) 0 12px, transparent 12px 24px), radial-gradient(circle at 30% 20%, var(--accent-soft), transparent 42%), var(--study-base);min-height:280px;color:var(--text-strong);flex-direction:column;justify-content:flex-end;gap:10px;padding:28px;display:flex}.photo-placeholder p:last-child{font-family:var(--serif);font-size:1.5rem;line-height:1.15}.project-copy{background:var(--surface);flex-direction:column;justify-content:center;gap:16px;padding:40px 44px;display:flex}.project-top{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.project-client{letter-spacing:.22em;text-transform:uppercase;color:var(--text-strong);font-size:12px}.project-status{letter-spacing:.14em;text-transform:uppercase;color:var(--green-strong);font-size:11px}.project-copy h3{font-family:var(--serif);color:var(--text-strong);font-size:clamp(1.7rem,3vw,2.4rem);font-weight:500;line-height:1.12}.project-meta{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin-top:8px;font-size:13px}.project-photo{aspect-ratio:4/3;background:var(--study-base);align-self:stretch;width:100%;min-width:0;height:auto;position:relative;overflow:hidden}.project-photo img{object-fit:cover;object-position:center 48%;width:100%;height:100%;transition:transform .8s var(--ease);position:absolute;inset:0;transform:scale(1.01)}.project-photo--focus-upper img{object-position:center 30%}.project-photo:hover img,.project-photo:focus-within img{transform:scale(1.045)}.project-photo-open{color:#f3efe6;cursor:zoom-in;width:100%;height:100%;transition:background .4s var(--ease);background:linear-gradient(#0000 0 58%,#0a0c0a29 76%,#0a0c0abd 100%);border:0;align-items:flex-end;padding:0;display:flex;position:absolute;inset:0}.project-photo-open:hover,.project-photo-open:focus-visible{background:linear-gradient(#0a0c0a0d 0 48%,#0a0c0ac7 100%)}.project-photo-open:focus-visible{outline:2px solid var(--brand-ink);outline-offset:-5px}.project-photo-caption{justify-content:space-between;align-items:flex-end;gap:16px;width:100%;padding:22px 22px 18px;display:flex}.project-photo-kicker{letter-spacing:.2em;text-transform:uppercase;transition:color .35s var(--ease);align-items:center;gap:10px;font-size:11px;font-weight:600;display:inline-flex}.project-photo-kicker:before{content:"";border:1px solid;width:7px;height:7px;transform:rotate(45deg)}.project-photo:hover .project-photo-kicker,.project-photo:focus-within .project-photo-kicker{color:var(--brand-ink)}.project-photo-count{font-family:var(--serif);letter-spacing:.12em;font-size:1.2rem;font-weight:500;line-height:1}.visually-hidden{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html.gallery-open,html.gallery-open body{overflow:hidden}.gallery-dialog{z-index:100;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));place-items:center;display:grid;position:fixed;inset:0}.gallery-backdrop{cursor:pointer;background:#080a08cc;border:0;padding:0;position:absolute;inset:0}[data-theme=light] .gallery-backdrop{background:#24201a9e}.gallery-panel{z-index:1;overscroll-behavior:contain;border:1px solid var(--line);background:var(--bg);width:min(1120px,100%);height:min(880px,100svh - 32px);min-height:0;max-height:calc(100svh - 32px);color:var(--text-strong);transition:background-color .5s var(--ease), color .5s var(--ease), border-color .5s var(--ease);flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 80px #0000005c}.gallery-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px 28px;padding:16px 16px 16px 24px;display:flex}.gallery-heading{min-width:0}.gallery-heading .eyebrow{margin-bottom:6px}.gallery-heading h2{font-family:var(--serif);letter-spacing:-.02em;color:var(--text-strong);font-size:clamp(1.45rem,2.2vw,2.05rem);font-weight:500;line-height:1.12}.gallery-tools{flex:none;align-items:center;gap:16px;display:flex}.gallery-count{font-family:var(--serif);letter-spacing:.08em;align-items:center;gap:10px;margin:0;font-size:1.25rem;font-weight:500;line-height:1;display:flex}.gallery-count-rule{background:var(--line-strong);width:28px;height:1px}.gallery-close,.gallery-nav,.gallery-thumb{cursor:pointer;padding:0}.gallery-close{border:1px solid var(--line-strong);width:44px;height:44px;color:var(--text-strong);transition:background-color .3s var(--ease), border-color .3s var(--ease);background:0 0;justify-content:center;align-items:center;display:inline-flex}.gallery-close:hover,.gallery-close:focus-visible{border-color:var(--green-strong);background:var(--accent-soft)}.gallery-stage{background:#101311;flex:auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;min-height:0;padding:14px 10px;display:grid;position:relative;overflow:hidden}.gallery-viewport{touch-action:pan-y;justify-content:center;align-items:center;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.gallery-photo{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:min(64svh,680px);animation:gallery-in .45s var(--ease);display:block}@keyframes gallery-in{0%{opacity:0}to{opacity:1}}.gallery-nav{color:#f3efe6;width:44px;height:44px;transition:background-color .3s var(--ease), border-color .3s var(--ease);background:#10131166;border:1px solid #f3efe647;justify-content:center;align-self:center;align-items:center;margin:0 4px;display:inline-flex}.gallery-nav:hover,.gallery-nav:focus-visible{border-color:var(--brand-ink);background:#101311c7}.gallery-nav:focus-visible{outline-color:var(--brand-ink)}.gallery-strip{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;gap:8px;margin:0;padding:12px 16px 14px;list-style:none;display:flex;overflow-x:auto}.gallery-strip li{flex:none}.gallery-thumb{aspect-ratio:4/3;opacity:.58;width:92px;transition:opacity .3s var(--ease), border-color .3s var(--ease);background:#101311;border:1px solid #0000;display:block}.gallery-thumb img{object-fit:cover;object-position:center;width:100%;height:100%}.gallery-thumb:hover,.gallery-thumb:focus-visible,.gallery-thumb[aria-current=true]{opacity:1}.gallery-thumb[aria-current=true]{border-color:var(--green-strong)}@media (width<=720px){.gallery-dialog{padding:0}.gallery-panel{border:0;width:100%;height:100svh;max-height:none}.gallery-toolbar{align-items:flex-start;padding:14px 12px 12px 16px}.gallery-heading h2{font-size:1.35rem}.gallery-count{font-size:1.05rem}.gallery-count-rule{width:18px}.gallery-stage{flex:none;grid-template-columns:minmax(0,1fr);min-height:0;padding:0}.gallery-viewport{height:auto;max-height:none;display:flex}.gallery-photo{width:auto;max-width:100%;height:auto;max-height:62svh}.gallery-strip{padding-bottom:max(14px, env(safe-area-inset-bottom))}.gallery-nav{z-index:2;margin:0;position:absolute;top:50%;transform:translateY(-50%)}.gallery-nav--prev{left:10px}.gallery-nav--next{right:10px}.gallery-thumb{width:76px}.project-photo-caption{padding:18px 16px 14px}}.contact-coverage{border-top:1px solid var(--line);gap:12px;max-width:28ch;margin-top:48px;padding-top:28px;display:grid}.contact-coverage-label{letter-spacing:.18em;text-transform:uppercase;color:var(--green-strong);font-size:12px;font-weight:600}.contact-coverage-value{font-family:var(--serif);letter-spacing:-.02em;color:var(--text-strong);font-size:clamp(1.85rem,3vw,2.5rem);font-weight:500;line-height:1.12}.contact-form{border:1px solid var(--line);background:var(--surface);overflow-wrap:break-word;gap:18px;min-width:0;padding:32px;display:grid;position:relative}.field{gap:8px;display:grid}.field span{letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);font-size:12px}.field input,.field textarea{border:0;border-bottom:1px solid var(--line);width:100%;min-width:0;color:var(--text-strong);resize:vertical;appearance:none;transition:border-color .25s var(--ease);background:0 0;border-radius:0;padding:14px 0}.field input::placeholder,.field textarea::placeholder{color:var(--text-soft);opacity:1}.field input:focus,.field textarea:focus{border-bottom-color:var(--green-strong)}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-bottom-color:var(--danger)}.field textarea{min-height:140px}.field-stack{gap:18px;min-width:0;display:grid}.field-hint{color:var(--text-soft);margin:0;font-size:13px;line-height:1.45}.field .req{color:var(--green-strong);margin-left:4px}.field span.field-optional{letter-spacing:.04em;text-transform:none}.field-error,.field span.field-error{letter-spacing:0;text-transform:none;color:var(--danger);font-size:13px;font-weight:400;line-height:1.45}.enquiry-privacy{border-top:1px solid var(--line);scroll-margin-top:calc(var(--header-height) + 16px);color:var(--text-soft);gap:8px;padding-top:8px;font-size:13px;line-height:1.55;display:grid}.enquiry-privacy h3{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text-strong);margin:0;font-size:12px;font-weight:600}.enquiry-privacy a,.consent-copy a,.form-fallback{color:var(--green-strong);text-underline-offset:.18em}.consent{min-height:44px;color:var(--text);grid-template-columns:22px minmax(0,1fr);align-items:start;column-gap:12px;font-size:14px;line-height:1.5;display:grid}.consent input{width:22px;height:22px;accent-color:var(--green);margin:2px 0 0}.consent-copy{gap:4px;display:grid}.consent-copy label{cursor:pointer}.turnstile-slot{gap:8px;min-width:0;display:grid}.turnstile-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);margin:0;font-size:12px}.turnstile-host{min-width:0;min-height:65px}.hp-field{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.contact-form .button[type=submit]{width:100%}.contact-form .button:disabled,.contact-form .button:disabled:hover,.contact-form .button:disabled:focus-visible{background:var(--green);color:var(--on-accent);border-color:var(--green);opacity:.55;cursor:not-allowed}.contact-form[aria-busy=true] .button[type=submit]{cursor:wait}.form-note,.form-success,.form-status{color:var(--text-soft);font-size:14px;line-height:1.5}.form-success{color:var(--green-strong)}.form-status{gap:8px;display:grid}.form-status-error{color:var(--danger)}.form-fallback{width:fit-content;font-size:14px;font-weight:600;display:inline-flex}.form-success-panel{justify-items:start}.form-success-panel .button{width:auto}:-webkit-any(.field input:-webkit-autofill,.field textarea:-webkit-autofill){-webkit-text-fill-color:var(--text-strong);caret-color:var(--text-strong);box-shadow:0 0 0 1000px var(--surface) inset}:is(.field input:autofill,.field textarea:autofill){-webkit-text-fill-color:var(--text-strong);caret-color:var(--text-strong);box-shadow:0 0 0 1000px var(--surface) inset}.site-footer{border-top:1px solid var(--line);background:var(--bg);padding:40px 0 48px}.footer-inner{color:var(--text-soft);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px 40px;font-size:14px;display:flex}.footer-brand{justify-items:start;gap:16px;min-width:0;display:grid}.footer-logo{max-width:240px}.footer-logo .brand-logo-img{height:38px}.footer-tagline{max-width:36ch;color:var(--text-soft);margin:0;font-size:14px;line-height:1.5}.footer-nav{flex-wrap:wrap;justify-content:flex-end;gap:18px 24px;max-width:560px;display:flex}.footer-nav a{letter-spacing:.08em;text-transform:uppercase;transition:color .25s var(--ease);font-size:12px;text-decoration:none}.footer-nav a:hover,.footer-nav a:focus-visible{color:var(--text-strong)}@media (width>=1200px){.nav-panel{display:none}}@media (width<=979px){.hero-plate--facade{min-height:280px}.hero-plate--mass,.hero-plate--detail{min-height:124px}}@media (width>=980px){.hero{min-height:calc(100vh - var(--header-height));min-height:calc(100svh - var(--header-height));align-items:center;padding:36px 0 64px;display:flex}.hero-layout{grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);align-items:end;gap:36px 56px}.hero-gallery{grid-template-rows:minmax(0,1fr) 132px;grid-template-columns:minmax(0,1.45fr) minmax(0,.82fr);gap:14px;height:min(62svh,640px);min-height:420px}.hero-plate--facade{grid-area:1/1/span 2}.hero-plate--mass{grid-area:1/2}.hero-plate--detail{grid-area:2/2}}@media (width>=1200px) and (width<=1380px){.header-inner{gap:12px}.site-nav{gap:14px}.site-nav a{letter-spacing:.08em}.brand-logo-img{height:36px}.header-tools{gap:8px}}@media (width>=980px) and (height<=860px){.hero{min-height:0;padding:20px 0 36px}.hero h1{font-size:clamp(2.3rem,4.2vw,3.8rem)}.hero-lead{margin-top:16px;font-size:1.02rem}.hero-actions{margin-top:22px}.hero-note{margin-top:16px}.hero-gallery{grid-template-rows:minmax(0,1fr) 104px;height:min(50svh,480px);min-height:320px}}@media (width<=1199px){:root{--header-bar:68px}.header-inner{grid-template-columns:minmax(0,1fr) auto}.site-nav,.header-tools .lang-switch,.header-tools .theme-toggle,.header-tools .header-cta{display:none}.menu-toggle{justify-content:center;align-items:center;display:inline-flex}.brand-logo-img{height:34px}}@media (width<=1120px){.about-layout,.contact-layout,.project-card,.services-grid,.reasons-grid{grid-template-columns:1fr;gap:32px}.project-copy{padding:28px 24px 32px}.project-photo{aspect-ratio:4/3;height:auto;min-height:0}}@media (width<=640px){.hero-actions{flex-direction:column;align-items:flex-start}.service-card,.reason-card,.contact-form{padding:24px}.footer-inner{flex-direction:column;align-items:flex-start}.footer-nav{justify-content:flex-start}.footer-logo .brand-logo-img{height:32px}}
