@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/montserrat-v31-latin-300.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:300;font-display:swap;src:url(/fonts/montserrat-v31-latin-300italic.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/montserrat-v31-latin-regular.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-v31-latin-500.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-v31-latin-600.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/montserrat-v31-latin-700.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/montserrat-v31-latin-800.woff2)format("woff2")}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-v51-latin-regular.woff2)format("woff2")}:root{--color-bg:#0a0a0a;--color-surface:#0e0e0e;--color-surface-low:#111;--color-surface-mid:#141414;--color-surface-high:#1a1a1a;--color-surface-bright:#222;--color-text:#e2e2e2;--color-text-muted:#b5b5b5;--color-text-subtle:#8a8a8a;--color-accent:#d4af37;--color-accent-hover:#e6c44a;--color-white:#fff;--color-border:#2a2a2a;--color-border-subtle:#ffffff0f;--hairline:.5px;--font-headline:"Montserrat", sans-serif;--font-body:"Roboto", sans-serif;--sp-xs:.5rem;--sp-sm:1rem;--sp-md:1.5rem;--sp-lg:2rem;--sp-xl:3rem;--sp-2xl:4rem;--sp-3xl:6rem;--sp-4xl:8rem;--sp-5xl:12rem;--ease-out:cubic-bezier(.2, .8, .2, 1);--t-fast:.2s ease-out;--t-normal:.35s var(--ease-out);--t-slow:.7s var(--ease-out);--t-reveal:1s var(--ease-out)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);letter-spacing:0;font-size:16px;font-weight:400;line-height:1.65;overflow-x:hidden}::selection{background:var(--color-white);color:var(--color-bg)}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-headline);letter-spacing:-.03em;color:var(--color-white);font-weight:800;line-height:.97}h1{font-size:clamp(2.5rem,7vw,4.5rem)}h2{font-size:clamp(2rem,5vw,3.5rem)}h3{font-size:clamp(1.25rem,3vw,1.75rem)}p{color:var(--color-text-muted);margin-bottom:var(--sp-md)}a{color:var(--color-accent);transition:color var(--t-fast);text-decoration:none}a:hover{color:var(--color-accent-hover)}.label{font-family:var(--font-headline);letter-spacing:.35em;text-transform:uppercase;color:var(--color-text-muted);font-size:.6rem;font-weight:600;display:block}.serif-accent{font-family:var(--font-headline);font-style:italic;font-weight:300}.rule{background-color:var(--color-accent);border:none;width:3rem;height:1px;display:block}.rule--wide{width:6rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{max-width:1200px;padding:0 var(--sp-lg);margin:0 auto}.container--wide{max-width:1400px}.container--narrow{max-width:900px}section{padding:var(--sp-4xl) var(--sp-lg)}.site-header{z-index:50;width:100%;padding:var(--sp-lg) var(--sp-lg);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;transition:background-color .5s ease-out,-webkit-backdrop-filter .5s ease-out,backdrop-filter .5s ease-out,border-color .5s ease-out;display:flex;position:fixed;top:0;left:0}.site-header.scrolled,body:not(.page-home) .site-header{-webkit-backdrop-filter:blur(10px);background-color:#0a0a0ab8;border-bottom-color:#ffffff0f}.logo{transition:opacity var(--t-fast);align-items:center;text-decoration:none;display:inline-flex}.logo img{width:auto;height:1.6rem;display:block}.site-header .logo img{opacity:.7;transition:opacity var(--t-fast)}.site-header .logo:hover img{opacity:.9}.footer-brand .logo:hover,.nav-overlay .logo:hover{opacity:.7}.nav-links{gap:var(--sp-xl);align-items:center;list-style:none;display:flex}.nav-links a{font-family:var(--font-headline);letter-spacing:.16em;text-transform:uppercase;color:#ffffffa6;transition:color var(--t-normal);font-size:.72rem;font-weight:500;text-decoration:none}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--color-white)}.hamburger{cursor:pointer;z-index:60;background:0 0;border:none;padding:.5rem;display:none;position:relative}.hamburger svg{width:24px;height:24px;stroke:var(--color-white);stroke-width:2px;fill:none}.nav-overlay{z-index:55;-webkit-backdrop-filter:blur(30px);justify-content:center;align-items:center;gap:var(--sp-xl);opacity:0;visibility:hidden;transition:opacity var(--t-normal), visibility var(--t-normal);background-color:#000000f5;flex-direction:column;display:flex;position:fixed;inset:0}.nav-overlay.is-open{opacity:1;visibility:visible}.nav-overlay .logo{margin-bottom:var(--sp-lg)}.nav-overlay .logo img{height:2rem}.nav-overlay nav{align-items:center;gap:var(--sp-xl);flex-direction:column;display:flex}.nav-overlay a{font-family:var(--font-headline);text-transform:uppercase;letter-spacing:-.02em;color:var(--color-white);transition:color var(--t-fast);font-size:2rem;font-weight:800}.nav-overlay a:hover{color:var(--color-accent)}.nav-close{top:var(--sp-lg);right:var(--sp-lg);cursor:pointer;background:0 0;border:none;padding:.5rem;position:absolute}.nav-close svg{width:24px;height:24px;stroke:var(--color-white);stroke-width:2px;fill:none}.skip-link{background-color:var(--color-accent);color:var(--color-bg);padding:var(--sp-sm);z-index:100;font-weight:600;position:absolute;top:-100px;left:0}.skip-link:focus{top:0}.site-footer{background-color:var(--color-bg);padding:var(--sp-4xl) var(--sp-lg);border-top:var(--hairline) solid var(--color-border-subtle)}.footer-grid{gap:var(--sp-3xl);grid-template-columns:2fr 1fr 1fr;max-width:1400px;margin:0 auto;display:grid}.footer-brand .logo{margin-bottom:var(--sp-lg);display:block}.footer-brand .logo img{height:2.4rem}.footer-brand .serif-accent{color:#ffffff8c;max-width:20rem;font-size:1.1rem;line-height:1.5}.footer-col .label{margin-bottom:var(--sp-md)}.footer-col a{color:var(--color-text);margin-bottom:var(--sp-sm);transition:color var(--t-fast);font-size:.95rem;font-weight:400;display:block}.footer-col a:hover{color:var(--color-text-muted)}.footer-bottom{max-width:1400px;margin:0 auto;margin-top:var(--sp-4xl);padding-top:var(--sp-lg);border-top:var(--hairline) solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:var(--sp-md);flex-wrap:wrap;display:flex}.footer-bottom span,.footer-bottom a{letter-spacing:.3em;text-transform:uppercase;color:var(--color-text-muted);font-size:.6rem;font-weight:600}.hero{justify-content:center;align-items:center;width:100%;min-height:100svh;padding-block:clamp(3rem,10vh,6rem);display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;background-color:var(--color-surface-mid);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hero-bg img{object-fit:cover;width:100%;height:100%}.hero-bg__slide{object-fit:cover;opacity:0;backface-visibility:hidden;width:100%;height:100%;transition:opacity 2s linear;position:absolute;inset:0}.hero-bg__slide--flare{transition-duration:3.2s;transform:scale(1.05)translateZ(0)}.hero-bg__slide--structure{transform:scale(1.04)translateZ(0)}.hero-bg__slide--archi{transform:translate(-1%)scale(1.02)translateZ(0)}.hero-bg__slide.is-active{opacity:1}.hero-bg__slide--flare.is-active{animation:10s linear forwards heroFlareIn}.hero-bg__slide--structure.is-active{animation:10s linear forwards heroStructureIn}.hero-bg__slide--archi.is-active{animation:10s linear forwards heroArchiPan}@keyframes heroFlareIn{0%{transform:scale(1)translateZ(0)}to{transform:scale(1.05)translateZ(0)}}@keyframes heroStructureIn{0%{transform:scale(1)translateZ(0)}to{transform:scale(1.04)translateZ(0)}}@keyframes heroArchiPan{0%{transform:translate(1%)scale(1.02)translateZ(0)}to{transform:translate(-1%)scale(1.02)translateZ(0)}}.hero-gradient{background:linear-gradient(180deg, #0000004d 0%, #0006 45%, var(--color-bg) 100%);pointer-events:none;z-index:1;position:absolute;inset:0}.hero-content{z-index:2;text-align:center;padding:0 var(--sp-lg);flex-direction:column;align-items:center;gap:clamp(1rem,3vh,1.75rem);display:flex;position:relative}.hero-title{margin-bottom:0}.hero-title img{opacity:.82;mix-blend-mode:exclusion;width:clamp(14rem,25vw,36rem);height:auto;display:block}.hero-subtitle{font-family:var(--font-headline);letter-spacing:.02em;color:#f5f5f2b8;text-align:center;margin:0;font-size:clamp(1.25rem,1.8vw,1.75rem);font-style:normal;font-weight:400}.hero-tagline{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(1rem,1.5vw,1.5rem);margin:0;display:flex}.hero-tagline span{font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.22em;color:#f5f5f28c;font-size:clamp(.68rem,.9vw,.85rem);font-style:normal;font-weight:500}.hero-tagline .separator{letter-spacing:0;color:#f5f5f238;font-size:.7rem}@keyframes heroContentRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero-content{animation:.9s ease-out .1s both heroContentRise}@media (prefers-reduced-motion:reduce){.hero-bg__slide,.hero-bg__slide.is-active,.hero-bg__slide--flare,.hero-bg__slide--flare.is-active,.hero-bg__slide--structure,.hero-bg__slide--structure.is-active,.hero-bg__slide--archi,.hero-bg__slide--archi.is-active,.hero-content{transition:none;animation:none;transform:none}}.value-section{padding:var(--sp-5xl) var(--sp-lg)}.value-grid{gap:var(--sp-3xl);grid-template-columns:1fr 1.6fr;align-items:start;display:grid}.value-left .rule{margin-bottom:var(--sp-lg)}.value-left .label{margin-bottom:var(--sp-md)}.value-right p{font-family:var(--font-headline);letter-spacing:-.02em;color:var(--color-text);font-size:clamp(1.5rem,3.5vw,3rem);font-weight:300;line-height:1.2}.value-right .serif-accent{color:#ffffff80}.services-section{padding:var(--sp-4xl) var(--sp-lg);border-top:var(--hairline) solid var(--color-border-subtle)}.services-header{margin-bottom:var(--sp-3xl);justify-content:space-between;align-items:flex-end;gap:var(--sp-md);flex-wrap:wrap;display:flex}.services-header h2{margin-bottom:0;font-size:clamp(2rem,5vw,3.5rem)}.services-list{background-color:var(--color-border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.service-block{background-color:var(--color-bg);padding:var(--sp-2xl);transition:background-color var(--t-normal)}.service-block:hover{background-color:var(--color-surface)}.service-block .label{margin-bottom:var(--sp-lg);color:var(--color-accent)}.service-block h3{margin-bottom:var(--sp-md);letter-spacing:-.03em;font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.15}.service-block p{color:var(--color-text-muted);margin-bottom:var(--sp-lg);font-size:.9rem;line-height:1.6}.service-block .service-tags{gap:var(--sp-xs);margin-bottom:var(--sp-lg);flex-wrap:wrap;display:flex}.service-block .service-tags span{letter-spacing:.04em;border:var(--hairline) solid var(--color-border-subtle);color:var(--color-text-subtle);transition:border-color var(--t-fast), color var(--t-fast);border-radius:999px;padding:.35rem .85rem;font-size:.68rem;font-weight:400}.service-block:hover .service-tags span{border-color:var(--color-border);color:var(--color-text-muted)}.btn-text{font-family:var(--font-headline);letter-spacing:.22em;text-transform:uppercase;color:var(--color-white);cursor:pointer;transition:color var(--t-fast), gap var(--t-normal);background:0 0;border:0;align-items:center;gap:.65rem;padding:0;font-size:.7rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-text:after{content:"→";transition:transform var(--t-normal);font-weight:400;display:inline-block}.btn-text:hover,.btn-text:focus-visible{color:var(--color-accent);outline:none;gap:.9rem}.btn-text:hover:after,.btn-text:focus-visible:after{transform:translate(2px)}.projects-home-section{padding:var(--sp-5xl) 0;border-top:var(--hairline) solid var(--color-border-subtle)}.projects-home-header{padding:0 var(--sp-lg);margin-bottom:var(--sp-3xl)}.projects-home-header .label{margin-bottom:var(--sp-md)}.projects-home-grid{gap:var(--sp-lg);padding:0 var(--sp-lg);grid-template-columns:1.3fr .7fr;display:grid}.projects-home-grid .project-home-card:first-child{grid-row:1/3}.project-home-card{cursor:pointer;position:relative;overflow:hidden}.project-home-card .project-img{background-color:var(--color-surface-mid);width:100%;height:100%;min-height:280px;transition:transform .8s var(--ease-out);justify-content:center;align-items:center;display:flex}.project-home-card .project-img img{object-fit:cover;width:100%;height:100%}.project-home-card:hover .project-img{transform:scale(1.04)}.project-home-card .project-info{padding:var(--sp-lg);opacity:0;transition:opacity var(--t-normal), transform var(--t-normal);background:linear-gradient(#0000,#000000bf);position:absolute;bottom:0;left:0;right:0;transform:translateY(8px)}.project-home-card:hover .project-info,.project-home-card:focus-within .project-info{opacity:1;transform:translateY(0)}.project-home-card .project-info .label{color:var(--color-accent);margin-bottom:var(--sp-xs)}.project-home-card .project-info h3{letter-spacing:-.02em;font-size:1.1rem;font-weight:700;line-height:1.2}.project-home-card .project-info h3 a{color:inherit;text-decoration:none}.project-home-card .project-info h3 a:after{content:"";z-index:1;position:absolute;inset:0}.projects-home-link{padding:var(--sp-2xl) var(--sp-lg) 0}.cta-contact-section{padding:var(--sp-5xl) var(--sp-lg)}.cta-contact-grid{gap:var(--sp-3xl);grid-template-columns:1fr 1fr;align-items:start;display:grid}.cta-contact-left h2{margin-bottom:var(--sp-lg);font-size:clamp(2.5rem,6vw,5rem);line-height:.9}.cta-contact-left .rule{margin-bottom:var(--sp-lg)}.cta-contact-left .serif-accent{color:#ffffff73;max-width:24rem;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.5}.cta-contact-right{gap:var(--sp-2xl);padding-left:var(--sp-2xl);flex-direction:column;display:flex}.cta-contact-item .label{margin-bottom:.25rem}.cta-contact-item a{font-family:var(--font-headline);color:var(--color-white);letter-spacing:-.03em;transition:color var(--t-normal);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;text-decoration:none}.cta-contact-item a:hover{color:var(--color-accent)}.cta-contact-item p{margin-top:.25rem;margin-bottom:0;font-size:.9rem}.page-header{padding:var(--sp-3xl) var(--sp-lg) var(--sp-2xl);border-bottom:var(--hairline) solid var(--color-border-subtle)}.page-header .label,.page-header h1{margin-bottom:var(--sp-md)}.page-header .section-subtitle{font-family:var(--font-headline);color:#fff9;letter-spacing:.02em;font-size:1.15rem;font-style:italic;font-weight:300}.service-detail{gap:var(--sp-3xl);padding:var(--sp-3xl) 0;border-bottom:var(--hairline) solid var(--color-border-subtle);grid-template-columns:1fr 1fr;align-items:center;display:grid}.service-detail:last-of-type{border-bottom:none}.service-detail-image{aspect-ratio:4/3;background-color:var(--color-surface-mid);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.service-detail-image img{object-fit:cover;width:100%;height:100%}.service-detail-content .label{margin-bottom:var(--sp-md);color:var(--color-accent)}.service-detail-content p{margin-bottom:var(--sp-md)}.service-detail-content ul{margin-bottom:var(--sp-lg);list-style:none}.service-detail-content li{padding:var(--sp-xs) 0;padding-left:var(--sp-md);color:var(--color-text-muted);font-size:.95rem;position:relative}.service-detail-content li:before{content:"→";color:var(--color-accent);position:absolute;left:0}.service-detail.reverse .service-detail-image{order:2}.service-detail.reverse .service-detail-content{order:1}.filter-buttons{justify-content:flex-start;gap:var(--sp-sm);margin-bottom:var(--sp-2xl);flex-wrap:wrap;display:flex}.filter-btn{padding:var(--sp-xs) var(--sp-md);border:var(--hairline) solid var(--color-border);color:var(--color-text-muted);cursor:pointer;transition:all var(--t-fast);font-family:var(--font-headline);letter-spacing:.2em;text-transform:uppercase;background-color:#0000;font-size:.65rem;font-weight:600}.filter-btn:hover,.filter-btn.active{background-color:var(--color-white);border-color:var(--color-white);color:var(--color-bg)}.projects-grid{column-gap:var(--sp-md);row-gap:var(--sp-lg);grid-template-columns:repeat(auto-fill,minmax(380px,1fr));display:grid}.project-card{aspect-ratio:3/2;cursor:zoom-in;position:relative;overflow:hidden}.project-card .project-image{background-color:var(--color-surface-mid);width:100%;height:100%;transition:transform .9s var(--ease-out);justify-content:center;align-items:center;display:flex}.project-card .project-image img{object-fit:cover;width:100%;height:100%}.project-card:hover .project-image{transform:scale(1.02)}.project-card .project-overlay{padding:var(--sp-md) var(--sp-lg);background:linear-gradient(#0000 45%,#000000a6 100%);flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.project-card .project-title{color:var(--color-white);opacity:0;transition:opacity var(--t-normal), transform var(--t-normal);margin-bottom:.25rem;font-size:1.1rem;font-weight:500;transform:translateY(6px)}.project-card:hover .project-title,.project-card:focus-within .project-title,.project-card:focus-visible .project-title{opacity:1;transform:translateY(0)}.project-card .project-title a{color:inherit;text-decoration:none}.project-card .project-category{letter-spacing:.25em;text-transform:uppercase;color:var(--color-accent);font-size:.6rem;font-weight:600}@media (hover:none) and (pointer:coarse){.project-card .project-title{opacity:1;transform:none}}.about-section{gap:var(--sp-3xl);padding:var(--sp-3xl) 0;border-bottom:var(--hairline) solid var(--color-border-subtle);grid-template-columns:1fr 1fr;align-items:center;display:grid}.about-section:last-of-type{border-bottom:none}.about-image{aspect-ratio:4/5;background-color:var(--color-surface-mid);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.about-image img{object-fit:cover;width:100%;height:100%}.about-content .label{margin-bottom:var(--sp-md);color:var(--color-accent)}.about-content p{margin-bottom:var(--sp-md)}.about-list{margin-top:var(--sp-lg);list-style:none}.about-list li{padding:var(--sp-xs) 0;padding-left:var(--sp-md);color:var(--color-text-muted);font-size:.95rem;position:relative}.about-list li:before{content:"✓";color:var(--color-accent);font-weight:700;position:absolute;left:0}.about-section.reverse .about-image{order:2}.about-section.reverse .about-content{order:1}.contact-grid{background-color:var(--color-border);margin-bottom:var(--sp-3xl);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.contact-item{background-color:var(--color-bg);padding:var(--sp-2xl)}.contact-item .label{margin-bottom:var(--sp-md)}.contact-item a{color:var(--color-white);transition:color var(--t-fast);font-size:1.1rem;font-weight:600}.contact-item a:hover{color:var(--color-accent)}.contact-item p{margin-top:var(--sp-sm);font-size:.85rem}.contact-social{text-align:center;padding:var(--sp-3xl) var(--sp-lg);border-top:var(--hairline) solid var(--color-border-subtle);border-bottom:var(--hairline) solid var(--color-border-subtle)}.contact-social .label{margin-bottom:var(--sp-lg)}.social-links{gap:var(--sp-md);justify-content:center;display:flex}.social-links a{border:var(--hairline) solid var(--color-border);width:48px;height:48px;color:var(--color-text);letter-spacing:.05em;transition:all var(--t-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:600;text-decoration:none;display:inline-flex}.social-links a:hover{background-color:var(--color-white);border-color:var(--color-white);color:var(--color-bg)}.contact-zones{padding:var(--sp-2xl);border:var(--hairline) solid var(--color-border-subtle)}.contact-zones .label{margin-bottom:var(--sp-lg)}.zones-list{gap:var(--sp-sm);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));list-style:none;display:grid}.zones-list li{padding-left:var(--sp-md);color:var(--color-text-muted);font-size:.9rem;position:relative}.zones-list li:before{content:"·";color:var(--color-accent);font-weight:700;position:absolute;left:0}.legal-section{margin-bottom:var(--sp-2xl);padding-bottom:var(--sp-2xl);border-bottom:var(--hairline) solid var(--color-border-subtle)}.legal-section:last-child{border-bottom:none}.legal-section p{color:var(--color-text-muted);margin-bottom:var(--sp-sm);font-size:.9rem}.legal-section ul{margin-left:var(--sp-md);list-style:none}.legal-section li{padding:var(--sp-xs) 0;color:var(--color-text-muted);padding-left:var(--sp-md);font-size:.9rem;position:relative}.legal-section li:before{content:"·";color:var(--color-accent);position:absolute;left:0}.legal-section--table .label{margin-bottom:var(--sp-xl);display:block}.legal-table{margin:0}.legal-row{gap:var(--sp-lg);padding:var(--sp-sm) 0;border-bottom:var(--hairline) solid var(--color-border-subtle);grid-template-columns:11rem 1fr;display:grid}.legal-row:last-child{border-bottom:none}.legal-row dt{font-family:var(--font-body);color:var(--color-text-muted);font-size:.82rem;font-weight:400}.legal-row dd{font-family:var(--font-body);color:var(--color-text);margin:0;font-size:.95rem;font-weight:400}.legal-row dd a{color:var(--color-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-border);text-decoration-color:var(--color-border);text-underline-offset:.2em;transition:text-decoration-color var(--t-fast)}.legal-row dd a:hover{-webkit-text-decoration-color:var(--color-text-muted);text-decoration-color:var(--color-text-muted)}@media (max-width:768px){.legal-row{grid-template-columns:1fr;gap:.25rem}}.error-container{text-align:center;min-height:calc(100vh - 200px);padding:var(--sp-2xl);flex-direction:column;justify-content:center;align-items:center;display:flex}.error-code{font-family:var(--font-headline);letter-spacing:-.06em;color:var(--color-surface-bright);margin-bottom:var(--sp-lg);font-size:8rem;font-weight:800;line-height:1}.error-message{margin-bottom:var(--sp-md);color:var(--color-white);font-size:1.5rem;font-weight:700}.error-description{color:var(--color-text-muted);margin-bottom:var(--sp-2xl);max-width:28rem}.btn-primary{padding:var(--sp-md) var(--sp-2xl);color:var(--color-white);font-family:var(--font-headline);letter-spacing:.3em;text-transform:uppercase;transition:all var(--t-normal);border:1px solid #ffffff40;font-size:.6rem;font-weight:700;text-decoration:none;display:inline-block}.btn-primary:hover{background-color:var(--color-white);color:var(--color-bg);border-color:var(--color-white)}.faq-section{padding:var(--sp-4xl) var(--sp-lg);border-top:var(--hairline) solid var(--color-border-subtle)}.faq-container{max-width:800px;margin:0 auto}.faq-header{margin-bottom:var(--sp-2xl)}.faq-header .label{margin-bottom:var(--sp-md)}.faq-item{border-bottom:var(--hairline) solid var(--color-border-subtle)}.faq-question{width:100%;padding:var(--sp-lg) 0;cursor:pointer;font-family:var(--font-headline);color:var(--color-text);text-align:left;transition:color var(--t-fast);justify-content:space-between;align-items:center;gap:var(--sp-md);background:0 0;border:none;font-size:1rem;font-weight:600;display:flex}.faq-question:hover{color:var(--color-white)}.faq-toggle{width:24px;height:24px;color:var(--color-text-muted);transition:transform var(--t-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.faq-item.open .faq-toggle{transform:rotate(45deg)}.faq-answer-content{padding:0 0 var(--sp-lg);color:var(--color-text-muted);font-size:.95rem;line-height:1.65}.cta-section{padding:var(--sp-4xl) var(--sp-lg);text-align:center;border-top:var(--hairline) solid var(--color-border-subtle)}.cta-section h2{margin-bottom:var(--sp-md)}.cta-section p{color:var(--color-text-muted);margin-bottom:var(--sp-lg);max-width:32rem;margin-left:auto;margin-right:auto}.cta-buttons{gap:var(--sp-md);flex-wrap:wrap;justify-content:center;display:flex}.cookie-banner{z-index:50;-webkit-backdrop-filter:blur(16px);border-top:var(--hairline) solid var(--color-border-subtle);padding:.6rem var(--sp-lg);justify-content:space-between;align-items:center;gap:var(--sp-lg);transition:transform var(--t-normal);background-color:#0a0a0aeb;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.cookie-banner.show{transform:translateY(0)}.cookie-text{color:var(--color-text-muted);flex:1;align-items:center;margin:0;font-size:.78rem;line-height:1;display:flex}.cookie-text a{color:var(--color-text-muted);text-underline-offset:.15em;text-decoration:underline}.cookie-text a:hover{color:var(--color-white)}.cookie-buttons{gap:var(--sp-sm);flex-shrink:0;display:flex}.cookie-btn{font-family:var(--font-headline);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border:var(--hairline) solid var(--color-border);color:var(--color-text-muted);transition:all var(--t-fast);background:0 0;border-radius:999px;padding:.35rem 1rem;font-size:.55rem;font-weight:700}.cookie-btn:hover{border-color:var(--color-white);color:var(--color-white)}.cookie-btn.accept{background-color:var(--color-white);color:var(--color-bg);border-color:var(--color-white)}.cookie-btn.accept:hover{background-color:var(--color-text)}.js .reveal{opacity:0;transition:opacity var(--t-reveal), transform var(--t-reveal);transform:translateY(24px)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}.btn-pill{justify-content:center;align-items:center;gap:var(--sp-sm);font-family:var(--font-headline);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background-color var(--t-normal), color var(--t-normal), border-color var(--t-normal);border:1px solid #0000;border-radius:999px;padding:.9rem 1.9rem;font-size:.7rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-pill--secondary{color:var(--color-white);background-color:#0000;border-color:#ffffff59}.btn-pill--secondary:hover{background-color:var(--color-white);color:var(--color-bg);border-color:var(--color-white)}.btn-pill--ghost{color:var(--color-white);background-color:#0000;border-color:#ffffff4d;min-width:12rem}.btn-pill--ghost:hover{color:var(--color-accent);border-color:var(--color-accent);background-color:#0000}@media (min-width:769px){.site-header{padding:var(--sp-lg) var(--sp-2xl)}}@media (max-width:1100px){.value-grid{gap:var(--sp-lg);grid-template-columns:1fr}.value-left-img{max-width:70%;margin-right:auto}}@media (max-width:768px){.nav-links{display:none}.hamburger{display:block}section,.value-section{padding:var(--sp-3xl) var(--sp-md)}.value-grid{gap:var(--sp-lg);grid-template-columns:1fr}.services-list,.projects-home-grid{grid-template-columns:1fr}.projects-home-grid .project-home-card:first-child{grid-row:auto}.cta-contact-section{padding:var(--sp-3xl) var(--sp-md)}.cta-contact-grid{grid-template-columns:1fr}.cta-contact-right{padding-left:0}.service-detail{grid-template-columns:1fr}.service-detail.reverse .service-detail-image,.service-detail.reverse .service-detail-content{order:unset}.about-section{grid-template-columns:1fr}.about-section.reverse .about-image,.about-section.reverse .about-content{order:unset}.contact-grid{grid-template-columns:1fr}.footer-grid{gap:var(--sp-2xl);grid-template-columns:1fr}.footer-bottom{text-align:center;flex-direction:column}.cookie-banner{padding:.7rem var(--sp-md) calc(.7rem + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:.6rem}.cookie-text{text-align:center;font-size:.76rem;line-height:1.4;display:block}.cookie-buttons{flex-direction:row;justify-content:center;gap:.4rem}.cookie-btn{text-align:center;flex:0 auto;min-width:0;padding:.28rem .62rem;font-size:.3rem}.page-header{padding:var(--sp-3xl) var(--sp-md) var(--sp-2xl)}}@media (max-width:480px){.filter-buttons{gap:var(--sp-xs)}.filter-btn{padding:.35rem .6rem;font-size:.55rem}.projects-grid,.zones-list{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js .reveal,.project-card .project-title{opacity:1;transform:none}}.value-left .value-tagline{font-family:var(--font-headline);color:var(--color-white);letter-spacing:.01em;margin-top:0;margin-bottom:0;font-size:clamp(1.35rem,2.5vw,1.75rem);font-style:italic;font-weight:300;line-height:1.3}.service-detail-content h2,.about-content h2{margin-bottom:var(--sp-lg);font-size:clamp(1.25rem,3vw,1.75rem)}.legal-section h2{color:var(--color-white);margin-bottom:var(--sp-lg);font-size:1.1rem}.contact-zones h2{margin-bottom:var(--sp-md)}.u-white{color:var(--color-white)}.u-mt-lg{margin-top:var(--sp-lg)}.contact-address-primary{color:var(--color-white);margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.contact-social-note{color:var(--color-text-muted);margin-top:var(--sp-lg);margin-bottom:0}.contact-zone-note{margin-bottom:var(--sp-lg)}.legal-meta{color:var(--color-text-subtle);font-size:.85rem}.project-card.hidden{display:none}.service-block-img{width:calc(100% + var(--sp-2xl) * 2);margin-left:calc(var(--sp-2xl) * -1);margin-top:calc(var(--sp-2xl) * -1);margin-bottom:var(--sp-lg);aspect-ratio:16/9;overflow:hidden}.service-block-img img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease-out)}.service-block:hover .service-block-img img{transform:scale(1.04)}.value-left-img{margin-top:var(--sp-2xl);overflow:hidden}.value-left-img img{width:100%;height:auto}.cta-contact-section{position:relative;overflow:hidden}.cta-contact-bg{z-index:0;position:absolute;inset:0}.cta-contact-bg img{object-fit:cover;opacity:.07;width:100%;height:100%}.cta-contact-section>.container,.cta-contact-section>.container--wide{z-index:1;position:relative}.page-header--hero{isolation:isolate;padding-top:var(--sp-4xl);padding-bottom:var(--sp-3xl);border-bottom:none;position:relative;overflow:hidden}.page-header--hero .page-header-bg{z-index:-1;position:absolute;inset:0}.page-header--hero .page-header-bg img{object-fit:cover;object-position:center 40%;width:100%;height:100%}.page-header--hero .page-header-bg:after{content:"";pointer-events:none;background:linear-gradient(180deg, #00000059 0%, #0000008c 45%, var(--color-bg) 100%);position:absolute;inset:0}@media (max-width:768px){.service-block-img{aspect-ratio:3/2}.value-left-img{margin-top:var(--sp-lg)}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.btn-primary:focus-visible,.project-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.service-block:has(.btn-text:focus-visible){outline:2px solid var(--color-accent);outline-offset:4px}.service-block .btn-text:focus-visible{outline:none}.site-header{padding-block:1.1rem}@media (min-width:769px){.site-header{padding-block:1.1rem;padding-inline:var(--sp-2xl)}}.hero-tagline span:not(.separator){letter-spacing:.28em}.services-header .btn-pill,.projects-home-link .btn-pill{padding:.7rem 1.4rem;font-size:.65rem}.cookie-btn{padding-inline:.75rem;font-size:.55rem;font-weight:600}.site-footer{padding:var(--sp-2xl) var(--sp-lg) var(--sp-lg)}.footer-bottom{margin-top:var(--sp-lg);padding-top:var(--sp-sm)}.footer-bottom span,.footer-bottom a{font-family:var(--font-body);letter-spacing:.02em;text-transform:none;color:#ffffff47;font-size:.68rem;font-weight:400}.footer-bottom a:hover{color:var(--color-text-muted)}.service-block .service-tags span{color:#6a6a6ab8;padding:.3rem .7rem;font-size:.62rem}.service-block .service-tags{margin-bottom:var(--sp-md)}.service-block .label{margin-bottom:1.25rem}.service-block{position:relative}.service-block .btn-text:before{content:"";z-index:1;position:absolute;inset:0}.portfolio-intro-toggle{margin-top:var(--sp-md)}.portfolio-intro-toggle>summary{cursor:pointer;font-family:var(--font-body);color:var(--color-white);transition:border-color var(--t-fast);-webkit-tap-highlight-color:transparent;border-bottom:1px solid #0000;align-items:center;gap:.55rem;padding-bottom:.1rem;font-size:.95rem;font-weight:400;list-style:none;display:inline-flex}.portfolio-intro-toggle>summary::-webkit-details-marker{display:none}.portfolio-intro-toggle>summary:after{content:"";width:.5rem;height:.5rem;transition:transform var(--t-fast);border-bottom:1.5px solid;border-right:1.5px solid;display:inline-block;transform:rotate(45deg)translateY(-2px)}.portfolio-intro-toggle[open]>summary:after{transform:rotate(-135deg)translateY(2px)}.portfolio-intro-toggle>summary:hover,.portfolio-intro-toggle>summary:focus-visible{border-bottom-color:#ffffff80;outline:none}.portfolio-intro{margin-top:var(--sp-lg);max-width:60ch}.portfolio-intro p{font-family:var(--font-body);color:var(--color-text-muted);margin:0 0 var(--sp-sm);font-size:.95rem;line-height:1.7}.portfolio-intro p:last-child{margin-bottom:0}.portfolio-intro a{color:var(--color-text);text-underline-offset:.2em;transition:text-decoration-color var(--t-fast) ease-out;-webkit-text-decoration:underline #fff3;text-decoration:underline #fff3}.portfolio-intro a:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}@media (max-width:768px){.portfolio-intro p{font-size:.9rem}}.lightbox{z-index:100;-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity var(--t-normal), visibility 0s linear var(--t-normal);background-color:#080808f5;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox.is-open{opacity:1;visibility:visible;transition:opacity var(--t-normal), visibility 0s}.lightbox__figure{justify-content:center;align-items:center;max-width:min(92vw,1600px);max-height:88vh;margin:0;display:flex;position:relative}.lightbox__img{object-fit:contain;opacity:0;width:auto;max-width:92vw;height:auto;max-height:82vh;transition:opacity .25s var(--ease-out), transform .25s var(--ease-out);display:block;transform:scale(.98);box-shadow:0 20px 60px #0009}.lightbox.is-open .lightbox__img{opacity:1;transform:scale(1)}.lightbox__caption{text-align:center;letter-spacing:.25em;text-transform:uppercase;color:var(--color-text-muted);pointer-events:none;font-size:.6rem;font-weight:600;position:absolute;bottom:-2.2rem;left:0;right:0}.lightbox__btn{border:var(--hairline) solid #fff3;color:var(--color-white);cursor:pointer;width:2.75rem;height:2.75rem;transition:border-color var(--t-fast), background-color var(--t-fast);-webkit-tap-highlight-color:transparent;background:0 0;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.lightbox__btn:hover,.lightbox__btn:focus-visible{border-color:var(--color-white);background-color:#ffffff14;outline:none}.lightbox__btn svg{stroke:currentColor;stroke-width:1.5px;fill:none;width:1.1rem;height:1.1rem}.lightbox__close{top:1.25rem;right:1.25rem}.lightbox__prev{top:50%;left:1.25rem;transform:translateY(-50%)}.lightbox__next{top:50%;right:1.25rem;transform:translateY(-50%)}.lightbox__counter{letter-spacing:.25em;text-transform:uppercase;color:var(--color-text-muted);pointer-events:none;font-size:.6rem;font-weight:600;position:absolute;top:1.5rem;left:1.5rem}body.lightbox-open{overflow:hidden}@media (max-width:600px){.lightbox__btn{width:2.3rem;height:2.3rem}.lightbox__close{top:.75rem;right:.75rem}.lightbox__prev{left:.5rem}.lightbox__next{right:.5rem}.lightbox__counter{font-size:.55rem;top:1rem;left:1rem}.lightbox__caption{padding:0 .5rem;font-size:.55rem;bottom:-1.8rem}.lightbox__img{max-width:96vw;max-height:78vh}}@media (prefers-reduced-motion:reduce){.lightbox,.lightbox__img{transition:none!important}.lightbox.is-open .lightbox__img{transform:none}}
