:root{--green:#374a46;--green-deep:#2c3c38;--green-soft:#4a5f5a;--orange:#ee662c;--orange-hot:#f17a32;--paper:#f4f1ec;--paper-2:#e8e2d8;--ink:#1c2422;--ink-soft:#5a6763;--line:#c9c2b6;--white:#fff;--header-h:5.75rem;--font-display:"Barlow Condensed", sans-serif;--font-sans:"Barlow", sans-serif;--font-mono:"IBM Plex Mono", monospace;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:var(--ink);background:radial-gradient(900px 500px at 0% 0%, #fff8f0 0%, transparent 55%), radial-gradient(800px 480px at 100% 10%, #e7efe9 0%, transparent 50%), linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);font-family:var(--font-sans);margin:0;font-size:1.0625rem;line-height:1.6}body:before{content:"";pointer-events:none;z-index:50;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}img{max-width:100%;display:block}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}button,input,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}.site-header{z-index:40;height:var(--header-h);color:var(--white);transition:background .35s var(--ease), color .35s var(--ease);justify-content:space-between;align-items:center;gap:1.5rem;padding:0 5vw;display:flex;position:fixed;inset:0 0 auto}body[data-page=home] .site-header:not(.is-open):not(.is-scrolled){color:var(--white)}body:not([data-page=home]) .site-header:not(.is-open),.site-header.is-scrolled:not(.is-open){color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4f1eceb}.site-header.is-open{color:var(--ink);background:var(--paper)}.brand{align-items:center;gap:.85rem;text-decoration:none;display:inline-flex}.brand-lockup{border-radius:2px;width:auto;height:2.65rem;display:block}.brand-mark{border-radius:3px;width:2.85rem;height:auto;display:block}.brand-text{gap:.2rem;line-height:1;display:grid}.brand-name{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;font-size:1.85rem;font-weight:700}.brand-sub{font-family:var(--font-mono);letter-spacing:.32em;text-transform:uppercase;opacity:.9;font-size:.72rem}.site-nav{gap:1.6rem;display:flex}.site-nav a{letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;text-decoration:none}.site-nav a[aria-current=page]{color:var(--orange)}.nav-social{align-items:center;display:inline-flex}.nav-social .social-icon{width:1.05rem;height:1.05rem}.nav-toggle{z-index:3;cursor:pointer;background:0 0;border:0;width:2.4rem;height:2.4rem;padding:0;display:none;position:relative}.nav-toggle span,.nav-toggle span:before,.nav-toggle span:after{background:currentColor;width:1.15rem;height:1.5px;margin:0 auto;display:block}.nav-toggle span{position:relative}.nav-toggle span:before,.nav-toggle span:after{content:"";position:absolute;left:0}.nav-toggle span:before{top:-6px}.nav-toggle span:after{top:6px}.hero{min-height:100svh;color:var(--white);background:var(--green-deep);align-items:end;display:grid;position:relative;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{object-fit:cover;opacity:.45;width:100%;height:100%;animation:drift 26s var(--ease) forwards;transform:scale(1.08)}.hero-media:after{content:"";background:linear-gradient(90deg,#2c3c38e0 0%,#2c3c3873 48%,#2c3c3833 100%),linear-gradient(#0000 40%,#1c2824bf 100%);position:absolute;inset:0}.hero-copy{z-index:1;width:min(100%,92vw);padding:0 5vw 8vh;position:relative}.hero-lockup{align-items:flex-end;gap:1.25rem;display:flex}.hero-logo{opacity:0;flex-shrink:0;width:clamp(4.5rem,10vw,7.5rem);height:auto;transform:translateY(24px)}.hero-brand{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;opacity:0;font-size:clamp(4.2rem,14vw,11rem);font-weight:700;line-height:.82;transform:translateY(24px)}.hero-role{font-family:var(--font-mono);letter-spacing:.42em;text-transform:uppercase;color:var(--orange-hot);opacity:0;margin-top:.35rem;font-size:.78rem;transform:translateY(16px)}.hero-places{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;opacity:0;margin-top:.85rem;font-size:.68rem;transform:translateY(16px)}.hero-places-sub{opacity:.75;letter-spacing:.16em;margin-top:.45rem}.hero-line{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem 3rem;max-width:44rem;margin-top:2.5rem;display:flex}.hero-line p{opacity:0;max-width:24ch;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.35;transform:translateY(16px)}.cta{letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;align-items:center;gap:.7rem;width:fit-content;padding:0 0 .25rem;font-size:.78rem;text-decoration:none;display:inline-flex}.hero-line .cta{opacity:0;transform:translateY(16px)}.cta svg{width:2.2rem;height:10px;overflow:visible}html.is-ready .hero-logo,html.is-ready .hero-brand,html.is-ready .hero-role,html.is-ready .hero-places,html.is-ready .hero-line p,html.is-ready .hero-line .cta{animation:rise 1s var(--ease) forwards}html.is-ready .hero-brand{animation-delay:80ms}html.is-ready .hero-role{animation-delay:.16s}html.is-ready .hero-places{animation-delay:.22s}html.is-ready .hero-line p{animation-delay:.32s}html.is-ready .hero-line .cta{animation-delay:.42s}.page{z-index:1;position:relative}.page-hero{padding:calc(var(--header-h) + 7vh) 5vw 5vh}.page-hero h1{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;font-size:clamp(3.6rem,11vw,8rem);font-weight:700;line-height:.88}.lede{max-width:30ch;color:var(--ink-soft);margin-top:1.2rem;font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.35}.honorific{text-transform:none}.kicker{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--orange);margin-bottom:.6rem;font-size:.68rem}.section{padding:9vh 5vw}.section-head{margin-bottom:3rem}.section-head h2,.project-title{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;font-size:clamp(2.4rem,6.5vw,4.8rem);font-weight:700;line-height:.92}.measure{max-width:38rem}.measure p+p{margin-top:1rem}.work-strip{gap:10vh;display:grid}.work-item{text-decoration:none}.work-item figure{margin:0}.frame{background:var(--green);overflow:hidden}.frame img{object-fit:cover;width:100%;height:min(74vh,820px);transition:transform 1.3s var(--ease);transform:scale(1.04)}.work-item:hover img{transform:scale(1)}.work-item figcaption{flex-wrap:wrap;justify-content:space-between;gap:.4rem 1.5rem;margin-top:1rem;display:flex}.work-item h2{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;font-size:clamp(1.8rem,4vw,2.7rem);line-height:.95}.meta{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:.7rem}.studio-visual{margin:0}.studio-visual img{object-fit:cover;width:100%;height:min(82vh,900px)}.profile{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:6vw;padding:10vh 5vw;display:grid}.profile-card{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2rem 0}.profile-card h2{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:clamp(2rem,4vw,3rem);font-weight:700}.profile-card .role{color:var(--orange);font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;margin-top:.4rem;font-size:.72rem}.services-band{background:var(--green);color:var(--white);padding:4.5rem 5vw}.services-band .kicker{color:var(--orange-hot)}.services-list{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:.85rem 1.6rem;margin:1.5rem 0 0;padding:0;font-size:clamp(1.2rem,2.4vw,1.8rem);list-style:none;display:flex}.services-list li:not(:last-child):after{content:"|";color:var(--green-soft);margin-left:1.6rem}.service-rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.service-rows li{border-bottom:1px solid var(--line);grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr);gap:1rem 2rem;padding:1.5rem 0;display:grid}.service-rows h3{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:1.6rem}.project-hero img{object-fit:cover;width:100%;height:min(86vh,960px)}.project-intro{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:3vw 7vw;padding:7vh 5vw 3vh;display:grid}.project-intro .meta{margin-top:.9rem}.project-body{padding:1vh 5vw 7vh}.project-body .measure{margin-left:auto}.project-gallery{gap:1.1rem;padding:0 5vw 10vh;display:grid}.project-gallery img{object-fit:cover;width:100%;height:min(70vh,760px)}.next-project{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;margin:0 5vw 10vh;padding-top:1.4rem;text-decoration:none;display:flex}.next-project span{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--orange);font-size:.68rem}.next-project strong{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:clamp(1.5rem,3.5vw,2.4rem);font-weight:700}.enquire{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:7vw;display:grid}.contact-block{gap:1.4rem;display:grid}.contact-block a{text-decoration:none}.contact-block a:hover{color:var(--orange)}.enquire-form{gap:1.6rem;display:grid;position:relative}.field{gap:.4rem;display:grid}.field span{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);font-size:.66rem}.field input,.field textarea{border:0;border-bottom:1px solid var(--ink);background:0 0;border-radius:0;outline:none;width:100%;padding:.55rem 0 .7rem}.field input:focus,.field textarea:focus{border-bottom-color:var(--orange)}.field textarea{resize:vertical;min-height:8rem}.field input::placeholder,.field textarea::placeholder{color:#9aa39f}.hp{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px}.enquire-form.is-sending{opacity:.72;pointer-events:none}.cta:disabled{opacity:.55;cursor:wait}.form-status{max-width:40ch;margin:0;font-size:.95rem;line-height:1.45}.form-status a{color:inherit}.form-status[data-state=success]{color:var(--green)}.form-status[data-state=error]{color:#a33a1c}.form-hint{max-width:40ch;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.68rem;line-height:1.5}.site-footer{background:var(--green);color:var(--white);gap:2rem;padding:3rem 5vw 2.25rem;display:grid}.footer-main{flex-wrap:wrap;justify-content:space-between;gap:2rem;display:flex}.footer-brand{align-items:center;gap:.9rem;display:flex}.footer-mark{border-radius:3px;width:auto;height:3.1rem}.footer-name{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;font-size:1.35rem}.footer-places{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin-top:.35rem;font-size:.68rem}.footer-contact{justify-items:end;gap:.45rem;display:grid}.footer-contact a{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;text-decoration:none}.footer-contact a:hover{color:var(--orange-hot)}.social-link{align-items:center;gap:.45rem;text-decoration:none;display:inline-flex}.social-icon{flex-shrink:0;width:1rem;height:1rem}.footer-credit{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.78;border-top:1px solid #ffffff2e;margin:0;padding-top:1.25rem;font-size:.68rem}.footer-credit a{color:var(--orange-hot);text-decoration:none}.footer-credit a:hover{text-decoration:underline}[data-reveal]{opacity:0;transition:opacity .85s var(--ease), transform .85s var(--ease);transform:translateY(24px)}[data-reveal].is-visible{opacity:1;transform:none}.clip-reveal{clip-path:inset(10% 0);transition:clip-path 1.1s var(--ease)}[data-reveal].is-visible .clip-reveal{clip-path:inset(0)}@keyframes rise{to{opacity:1;transform:none}}@keyframes drift{to{transform:scale(1)}}@media (width<=860px){.brand-mark{width:2.4rem}.brand-name{font-size:1.45rem}.brand-sub{letter-spacing:.24em;font-size:.62rem}.brand-lockup{height:2.2rem}.nav-toggle{display:block}.site-nav{background:var(--paper);color:var(--ink);flex-direction:column;justify-content:center;gap:1.2rem;padding:6rem 5vw;display:none;position:fixed;inset:0}.site-header.is-open .site-nav{display:flex}.site-nav a{font-family:var(--font-display);letter-spacing:.04em;font-size:2.8rem}.nav-social{margin-top:.5rem}.nav-social .social-icon{width:1.6rem;height:1.6rem}.hero-lockup{align-items:flex-start}.hero-line,.profile,.enquire,.project-intro,.service-rows li{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}.footer-contact{justify-items:start}.frame img,.studio-visual img,.project-hero img,.project-gallery img{height:56vh}.services-list li:not(:last-child):after{margin-left:1rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media img,html.is-ready .hero-logo,html.is-ready .hero-brand,html.is-ready .hero-role,html.is-ready .hero-places,html.is-ready .hero-line p,html.is-ready .hero-line .cta,[data-reveal]{opacity:1;transition:none;animation:none;transform:none}}
