:root {
  --background:#080808; --surface:#0d0d0d; --card:#121212; --foreground:#f4f1e9;
  --primary:#d30b0b; --primary-deep:#8e0000; --beige:#bbad8b; --muted:#aaa69d;
  --dim:#74716a; --border:rgba(255,255,255,.14); --soft-border:rgba(255,255,255,.08);
  --scroll-progress:0; --hero-shift:0px; --pointer-x:50vw; --pointer-y:50vh;
  --font-geist-sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --font-geist-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}

*{box-sizing:border-box} html{scroll-behavior:smooth;background:var(--background)}
body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-geist-sans);text-rendering:optimizeLegibility}
body::before{position:fixed;z-index:50;inset:0;pointer-events:none;opacity:.12;content:"";background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none} h1,h2,h3,p{margin-top:0} em{font-family:Georgia,'Times New Roman',serif;font-weight:400}

.site-header{position:fixed;z-index:20;top:0;display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(260px,1fr);align-items:center;width:100%;min-height:98px;padding:0 clamp(1.25rem,3vw,3.5rem);border-bottom:1px solid transparent;transition:min-height .35s ease,background .35s ease,border-color .35s ease,backdrop-filter .35s ease}.is-scrolled .site-header{min-height:74px;border-color:var(--soft-border);background:#080808d9;backdrop-filter:blur(18px)}
.brand{display:inline-flex;width:fit-content}.brand img{display:block;width:150px;height:auto}
.site-header nav{display:flex;gap:clamp(1.1rem,2.5vw,2.8rem);color:#d1cec7;font-size:.78rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.site-header nav a,.text-link,footer a{transition:color .2s ease}.site-header nav a:hover,.text-link:hover,footer a:hover{color:#ff3838}
.header-contact{display:flex;align-items:center;justify-self:end;gap:.65rem;color:#e7e3dc;font-size:.75rem;letter-spacing:.04em}.status-dot{width:7px;height:7px;border-radius:50%;background:#ef2b2b;box-shadow:0 0 0 5px #d30b0b24,0 0 22px #ff0000}

.hero{position:relative;overflow:hidden;min-height:100svh;padding:clamp(9rem,14vw,12rem) clamp(1.25rem,6vw,7rem) 4rem;background:radial-gradient(circle at 70% 42%,#4d000038 0,transparent 27%),radial-gradient(circle at 72% 45%,#250000 0,transparent 45%),#080808}
.hero::before{position:absolute;inset:0;opacity:.22;content:"";background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 88%)}
.hero-frame{position:absolute;inset:18px;border:1px solid #ffffff1f;pointer-events:none}.hero-frame span{position:absolute;width:18px;height:18px}.hero-frame span:nth-child(1){top:-1px;left:-1px;border-top:2px solid var(--beige);border-left:2px solid var(--beige)}.hero-frame span:nth-child(2){top:-1px;right:-1px;border-top:2px solid var(--beige);border-right:2px solid var(--beige)}.hero-frame span:nth-child(3){bottom:-1px;left:-1px;border-bottom:2px solid var(--beige);border-left:2px solid var(--beige)}.hero-frame span:nth-child(4){right:-1px;bottom:-1px;border-right:2px solid var(--beige);border-bottom:2px solid var(--beige)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);gap:clamp(2rem,5vw,6rem);align-items:center;max-width:1500px;margin:0 auto}
.hero-copy{z-index:2;max-width:760px}.eyebrow{display:flex;align-items:center;gap:.9rem;margin:0 0 1.5rem;color:#e24646;font-size:.69rem;font-weight:750;letter-spacing:.17em;text-transform:uppercase}.eyebrow span{color:var(--beige);font-family:var(--font-geist-mono)}.eyebrow.light{color:#d7d0c0}
[data-reveal]{opacity:1;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}.motion-ready [data-reveal]:not(.is-visible){opacity:0;transform:translateY(42px)}.hero-visual[data-reveal].is-visible{transform:translateY(var(--hero-shift)) scale(1)}
.scroll-progress{position:fixed;z-index:40;top:50%;right:10px;width:2px;height:88px;background:#ffffff16;transform:translateY(-50%)}.scroll-progress span{display:block;width:100%;height:100%;background:linear-gradient(#e22b2b,#780000);transform:scaleY(var(--scroll-progress));transform-origin:top}
.pointer-glow{position:fixed;z-index:0;top:0;left:0;width:380px;height:380px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#ba00001c,transparent 68%);transform:translate(calc(var(--pointer-x) - 50%),calc(var(--pointer-y) - 50%));transition:transform .08s linear}
h1{max-width:820px;margin-bottom:1.8rem;font-size:clamp(4rem,7.4vw,8.3rem);font-weight:500;line-height:.82;letter-spacing:-.07em}h1 em{display:block;color:var(--beige);font-size:.91em;letter-spacing:-.06em}
.hero-intro{max-width:650px;margin-bottom:2.25rem;color:#b6b2aa;font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.7}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:52px;padding:.85rem 1.3rem;border:1px solid #f23333;border-radius:999px;background:#c40000;color:#fff;font-size:.86rem;font-weight:750;transition:transform .2s ease,background .2s ease}.button:hover{transform:translateY(-2px);background:#eb1111}.text-link{padding:.6rem 0;border-bottom:1px solid #ffffff7a;font-size:.86rem;font-weight:700}.location-line{display:flex;align-items:center;gap:.6rem;margin-top:2rem;color:#77736c;font-family:var(--font-geist-mono);font-size:.69rem}.location-line svg{color:#b51212}
.hero-visual{position:relative;aspect-ratio:1/1;max-height:660px;border-radius:50%;background:radial-gradient(circle,#d30b0b18 0 4%,transparent 4.5% 16%,#ffffff0e 16.5% 16.8%,transparent 17.2% 31%,#d30b0b19 31.4% 31.8%,transparent 32% 47%,#ffffff0c 47.3% 47.5%,transparent 48%);filter:drop-shadow(0 0 60px #a0000020)}
.technical-orbit{position:absolute;inset:12%;border:1px solid #b800004f;border-radius:50%;animation:rotate 26s linear infinite}.technical-orbit::before,.technical-orbit::after{position:absolute;inset:17%;border:1px solid #ffffff18;border-radius:50%;content:""}.technical-orbit::after{inset:34%;border-color:#d30b0b55;background:radial-gradient(circle,#e31a1a 0 2%,#97000070 10%,transparent 64%);box-shadow:0 0 80px #d30b0b38}.technical-orbit i{position:absolute;top:50%;left:50%;width:88%;height:1px;background:linear-gradient(90deg,transparent,#ba00006b,transparent);transform-origin:center}.technical-orbit i:nth-child(1){transform:translate(-50%,-50%) rotate(0)}.technical-orbit i:nth-child(2){transform:translate(-50%,-50%) rotate(60deg)}.technical-orbit i:nth-child(3){transform:translate(-50%,-50%) rotate(120deg)}.technical-orbit span{position:absolute;top:50%;left:50%;z-index:2;display:grid;width:94px;height:94px;place-items:center;border:1px solid #e42a2a80;border-radius:50%;background:#090909;color:#fff;font-size:1.6rem;font-weight:850;letter-spacing:-.05em;transform:translate(-50%,-50%) rotate(0);animation:counterRotate 26s linear infinite;box-shadow:0 0 60px #d30b0b45}
.technical-orbit.fan-orbit{animation:none;background:radial-gradient(circle,#c800000e 0 6%,transparent 6.5% 26%,#ffffff07 26.3% 26.6%,transparent 27%)}.fan-orbit::after{inset:25%;border-color:#d30b0b35;background:radial-gradient(circle,#e31a1a14 0 7%,#76000012 32%,transparent 66%);box-shadow:0 0 90px #d30b0b26,inset 0 0 45px #8f000012}.fan-orbit .fan-rotor{position:absolute;z-index:2;top:50%;left:50%;width:76%;height:76%;overflow:visible;color:#ba000073;filter:drop-shadow(0 0 5px #d0000038);transform:translate(-50%,-50%) rotate(0deg);transform-origin:center;animation:fanSpin 24s linear infinite}
.visual-label{position:absolute;color:#76726b;font-family:var(--font-geist-mono);font-size:.61rem;letter-spacing:.08em;text-transform:uppercase}.visual-label-top{top:7%;right:4%}.visual-label-bottom{right:3%;bottom:12%}.visual-stats{position:absolute;bottom:4%;left:0;display:flex;gap:1rem}.visual-stats div{display:grid;width:135px;padding:1rem;border-top:1px solid #e32a2a;background:#101010b8;backdrop-filter:blur(10px)}.visual-stats strong{font-size:1.8rem;line-height:1}.visual-stats span{margin-top:.35rem;color:#85817a;font-size:.66rem}.ticker{overflow:hidden;border-block:1px solid var(--border);background:#0c0c0c}.ticker div{display:flex;width:max-content;align-items:center;gap:2rem;padding:1.05rem 0;color:#8b877f;font-family:var(--font-geist-mono);font-size:.68rem;letter-spacing:.15em;animation:ticker 28s linear infinite}.ticker b{color:#c51a1a;font-size:1rem}

.service-strip,.projects,.about{max-width:1440px;margin:0 auto;padding:clamp(6rem,10vw,10rem) clamp(1.25rem,5vw,5rem)}
.section-heading{display:grid;grid-template-columns:.7fr 1.25fr .75fr;gap:clamp(2rem,5vw,6rem);align-items:start;margin-bottom:4rem}.section-heading h2,.installations-preview h2,.projects-intro h2,.process-title h2,.about-copy h2,.contact-info h2{margin:0;font-size:clamp(2.8rem,5vw,5.8rem);font-weight:500;line-height:.94;letter-spacing:-.055em}.section-heading>p:last-child,.projects-intro>p,.about-copy>p:not(.eyebrow),.contact-info>p:not(.eyebrow){color:var(--muted);line-height:1.75}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}.service-card{position:relative;min-height:340px;padding:2rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:linear-gradient(145deg,#141414,#0b0b0b);transition:background .25s ease,transform .25s ease}.service-card:hover{z-index:1;background:linear-gradient(145deg,#201010,#0c0c0c);transform:translateY(-5px)}.icon-box{display:grid;width:48px;height:48px;margin-bottom:5rem;place-items:center;border:1px solid #b71a1a66;border-radius:50%;color:#e42626}.service-card h3{max-width:250px;margin-bottom:1rem;font-size:1.28rem}.service-card p{margin:0;color:#918e87;font-size:.9rem;line-height:1.7}

.installations-preview{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:3rem clamp(4rem,7vw,8rem);padding:clamp(6rem,10vw,10rem) max(5vw,calc((100vw - 1440px)/2 + 5vw));border-block:1px solid var(--border);background:radial-gradient(circle at 10% 50%,#6c000028,transparent 30%),#0c0c0c}.installations-preview .installations-title{max-width:100%;font-size:clamp(2.75rem,4.25vw,5rem)}.installations-title span,.installations-title em{display:block}.installations-title em{color:var(--beige)}.installation-list{display:grid;align-content:start;border-top:1px solid var(--border)}.installation-list span{display:flex;align-items:center;gap:.65rem;min-height:68px;border-bottom:1px solid var(--border);color:#dad6ce;font-size:clamp(1rem,1.3vw,1.2rem)}.installation-list span::after{margin-left:auto;color:#a51010;content:'↗'}.scope-note{grid-column:2;max-width:650px;margin:0;color:#77736d;font-size:.79rem;line-height:1.7}

.manifesto{position:relative;overflow:hidden;min-height:105svh;padding:clamp(7rem,15vw,14rem) max(5vw,calc((100vw - 1440px)/2 + 5vw));background:linear-gradient(125deg,#080808 25%,#160606 100%)}.manifesto::before{position:absolute;top:8%;right:-10%;width:60vw;aspect-ratio:1;border:1px solid #a6111128;border-radius:50%;content:"";box-shadow:0 0 0 8vw #ffffff05,0 0 0 16vw #a611110c}.manifesto-label{position:relative;margin-bottom:clamp(5rem,12vw,10rem);color:#7d7972;font-family:var(--font-geist-mono);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}.manifesto h2{position:relative;max-width:1260px;margin:0;font-size:clamp(3.2rem,7.2vw,8rem);font-weight:450;line-height:.94;letter-spacing:-.065em}.manifesto h2 span,.manifesto h2 em{display:block}.manifesto h2 span{color:#f0ede6}.manifesto h2 em{max-width:1050px;margin-left:auto;color:var(--beige)}.manifesto>p:last-child{position:relative;max-width:430px;margin:4rem 0 0 auto;color:#99958d;font-size:1rem;line-height:1.75}

.projects-intro{display:grid;grid-template-columns:1.15fr .55fr;gap:5rem;align-items:end;margin-bottom:4rem}.projects-intro>p{margin:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border)}.project-card{display:grid;grid-template-rows:auto 1fr;background:#0d0d0d}.project-number{display:grid;grid-template-columns:1fr auto;padding:2rem;border-bottom:1px solid var(--border);background:linear-gradient(120deg,#151515,#0c0c0c)}.project-number span{align-self:start;color:#d2cec5;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.project-number strong{grid-row:span 2;align-self:center;color:#bc1b1b;font-family:Georgia,serif;font-size:clamp(4.5rem,7vw,8rem);font-weight:400;line-height:.8}.project-number small{align-self:end;color:#706c65}.project-card.featured .project-number{background:linear-gradient(120deg,#780000,#260000)}.project-card.featured .project-number strong{color:#fff}.project-copy{display:flex;flex-direction:column;padding:clamp(1.5rem,3vw,2.5rem)}.project-tag{margin-bottom:1.2rem;color:#d02b2b;font-size:.67rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.project-copy h3{max-width:520px;margin-bottom:1.2rem;font-size:clamp(1.55rem,2.2vw,2.35rem);line-height:1.13}.project-copy>p:not(.project-tag){color:#97938b;line-height:1.75}.project-copy ul{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;margin:auto 0 0;padding:1.5rem 0 0;border-top:1px solid var(--border);list-style:none}.project-copy li{display:flex;align-items:center;gap:.35rem;color:#b9b5ad;font-size:.77rem}.project-copy li svg{color:#ca2424}.project-disclaimer{max-width:900px;margin:1.5rem 0 0 auto;color:#69665f;font-size:.75rem;line-height:1.65}

@media(min-width:981px){.projects{padding-bottom:18rem}.project-grid{display:grid;grid-template-columns:1fr;gap:18vh;border:0;background:none}.project-card{position:sticky;top:94px;grid-template-columns:.72fr 1.28fr;grid-template-rows:1fr;min-height:68vh;border:1px solid var(--border);box-shadow:0 35px 90px #000}.project-card:nth-child(2){top:118px}.project-number{grid-template-rows:auto 1fr auto;border-right:1px solid var(--border);border-bottom:0}.project-copy{padding:clamp(2.5rem,5vw,5rem)}.project-copy h3{font-size:clamp(2rem,3.3vw,3.8rem)}.project-copy>p:not(.project-tag){max-width:700px;font-size:1rem}}

.process{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(4rem,10vw,11rem);padding:clamp(6rem,10vw,10rem) max(5vw,calc((100vw - 1440px)/2 + 5vw));border-block:1px solid var(--border);background:#0c0c0c}.process-title h2 em{display:block;color:var(--beige)}.process-list{margin:0;padding:0;border-top:1px solid var(--border);list-style:none}.process-list li{display:grid;grid-template-columns:70px 1fr;gap:1rem;padding:1.65rem 0;border-bottom:1px solid var(--border);transition:padding-left .2s ease}.process-list li:hover{padding-left:.8rem}.process-list>li>span{color:#c42121;font-family:var(--font-geist-mono);font-size:.72rem}.process-list h3{margin-bottom:.4rem;font-size:1.12rem}.process-list p{margin:0;color:#85817a;font-size:.88rem;line-height:1.6}

.about{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:clamp(3rem,9vw,10rem);align-items:center}.about-portrait{position:relative;overflow:hidden;min-height:660px;border:1px solid var(--border);background:#0b0b0b;color:#fff}.about-portrait::after{position:absolute;z-index:1;inset:35% 0 0;content:"";background:linear-gradient(transparent,#080808e8)}.about-portrait-image{object-fit:cover;object-position:43% 38%;transform:scale(1.75)}.about-portrait-caption{position:absolute;z-index:2;right:2rem;bottom:2rem;left:2rem;display:flex;flex-direction:column}.about-portrait strong{font-family:Georgia,serif;font-size:clamp(2.2rem,3.7vw,4.2rem);font-weight:400}.about-portrait small{margin-top:.55rem;color:#c2beb6}.about-copy h2{margin-bottom:2rem}.about-copy>p:not(.eyebrow){margin-bottom:1.2rem}.about-copy blockquote{margin:2.4rem 0;padding:1.6rem 0 1.6rem 1.6rem;border-left:2px solid #d01919;color:#dfdbd2;font-family:Georgia,serif;font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.55}.partner-note{display:flex;gap:.9rem;padding:1.3rem;border:1px solid var(--border);background:#101010}.partner-note svg{flex:0 0 auto;color:#d32626}.partner-note p{margin:0;color:#918d85;font-size:.83rem;line-height:1.65}

.contact{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(3rem,8vw,9rem);padding:clamp(6rem,10vw,10rem) max(5vw,calc((100vw - 1440px)/2 + 5vw));border-top:1px solid var(--border);background:radial-gradient(circle at 15% 40%,#6800002e,transparent 28%),#0a0a0a}.contact-info h2{margin-bottom:1.7rem}.contact-lines{display:grid;gap:.9rem;margin-top:2rem}.contact-lines a,.contact-lines span{display:flex;align-items:center;gap:.75rem;color:#d2cec7;font-size:.88rem}.contact-lines svg{color:#c12525}.contract-alert{margin-top:2.5rem;padding:1.35rem;border:1px solid var(--border);border-left:2px solid #d12020;background:#0e0e0e}.contract-alert strong{display:block;margin-bottom:.4rem}.contract-alert p{margin:0;color:#827f78;font-size:.8rem;line-height:1.65}.contact-form{display:grid;gap:1.1rem;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--border);background:#101010;color:#eae6de}.contact-form label{display:grid;gap:.55rem;color:#aaa69d;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form input,.contact-form textarea,.contact-form select{width:100%;min-height:50px;padding:.8rem;border:0;border-bottom:1px solid #ffffff24;border-radius:0;background:#0b0b0b;color:#f0ece4;font:inherit;font-size:.88rem;outline:none}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#d52626;box-shadow:0 3px 0 #ba00002d}.contact-form textarea{min-height:130px;resize:vertical}.form-submit{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:.8rem 1rem;border:1px solid #ed2b2b;border-radius:999px;background:#bd0000;color:#fff;font-weight:750;cursor:pointer}.form-submit:hover{background:#e20d0d}.form-submit svg{width:17px}.form-help,.form-status{margin:0;color:#716d66;font-size:.7rem;line-height:1.55}.form-status{padding:.8rem;border:1px solid #4c7849;color:#a5cf9f}

footer{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:3rem;padding:4rem max(5vw,calc((100vw - 1440px)/2 + 5vw)) 2rem;border-top:1px solid var(--border);background:#070707;color:#85817a}footer>div:not(.footer-bottom){display:flex;flex-direction:column;gap:.55rem}footer strong{margin-bottom:.4rem;color:#dedad2;font-size:.69rem;letter-spacing:.13em;text-transform:uppercase}footer a,footer span,footer p{font-size:.78rem;line-height:1.65}.footer-brand img{width:150px;margin-bottom:.8rem}.footer-brand p{max-width:360px}.footer-bottom{display:flex;grid-column:1/-1;justify-content:space-between;padding-top:1.5rem;border-top:1px solid var(--soft-border)}
.legal-page{max-width:850px;margin:0 auto;padding:5rem 1.5rem 8rem}.legal-back{display:inline-block;margin-bottom:5rem;color:#d52a2a;font-weight:700}.legal-page h1{margin-bottom:2rem;font-size:clamp(3rem,7vw,6rem)}.legal-page h2{margin-top:2.8rem;font-size:1.5rem}.legal-page p{color:#9a968e;line-height:1.8}.legal-page a{color:#dc2b2b;text-decoration:underline}

.service-card{display:flex;flex-direction:column}.card-link{display:inline-flex;align-items:center;gap:.45rem;margin-top:auto;padding-top:1.6rem;color:#e84747;font-size:.76rem;font-weight:750;letter-spacing:.04em}.service-card:hover .card-link{color:#ff6767}
.service-page{min-height:100svh;background:radial-gradient(circle at 72% 8%,#4c000035,transparent 28%),#080808}.service-page-header{display:flex;align-items:center;justify-content:space-between;min-height:92px;padding:0 clamp(1.25rem,5vw,5rem);border-bottom:1px solid var(--border);background:#090909e8}.service-page-header img{display:block;width:145px;height:auto}.service-page article{max-width:1320px;margin:0 auto;padding:0 clamp(1.25rem,5vw,5rem)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:.6rem;padding-top:2rem;color:#77736c;font-size:.72rem}.breadcrumbs a:hover{color:#e33}.service-detail-hero{max-width:1020px;padding:clamp(5rem,9vw,9rem) 0}.service-detail-hero h1{max-width:1000px;margin-bottom:2rem;font-size:clamp(3.7rem,7.4vw,7.5rem);line-height:.9}.service-detail-hero>p:not(.eyebrow){max-width:760px;margin-bottom:2.2rem;color:#aaa69d;font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.75}.service-detail-content{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,9rem);padding:clamp(5rem,9vw,8rem) 0;border-top:1px solid var(--border)}.service-detail-content h2,.service-faq h2,.service-cta h2{margin:0;font-size:clamp(2.2rem,4.2vw,4.8rem);font-weight:500;line-height:1;letter-spacing:-.05em}.service-prose p{color:#aaa69d;font-size:1rem;line-height:1.85}.service-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:clamp(6rem,10vw,10rem);border:1px solid var(--border);background:var(--border)}.service-facts>div{padding:clamp(1.5rem,4vw,3.5rem);background:linear-gradient(145deg,#141414,#0b0b0b)}.service-facts ul{display:grid;gap:0;margin:0;padding:0;list-style:none}.service-facts li{display:flex;align-items:center;gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--soft-border);color:#c7c3bb;font-size:.92rem;line-height:1.5}.service-facts li svg{flex:0 0 auto;color:#d42626}.service-faq{padding:clamp(5rem,9vw,8rem) 0;border-block:1px solid var(--border)}.service-faq h2{max-width:720px;margin-bottom:3rem}.service-faq details{border-top:1px solid var(--border)}.service-faq details:last-child{border-bottom:1px solid var(--border)}.service-faq summary{padding:1.4rem 2.4rem 1.4rem 0;color:#dedad2;font-weight:700;cursor:pointer}.service-faq details p{max-width:850px;color:#918d85;line-height:1.75}.related-services{display:grid;padding:clamp(5rem,8vw,7rem) 0}.related-services a{display:flex;align-items:center;justify-content:space-between;padding:1.35rem 0;border-bottom:1px solid var(--border);color:#d9d5cd;font-size:clamp(1rem,1.5vw,1.25rem)}.related-services a:hover{color:#ef3a3a}.service-cta{margin-bottom:4rem;padding:clamp(2rem,6vw,5rem);border:1px solid #6f1515;background:radial-gradient(circle at 85% 40%,#a400003d,transparent 40%),#110b0b}.service-cta h2{max-width:850px;margin-bottom:1.3rem}.service-cta>p{max-width:760px;color:#9a968e;line-height:1.75}.service-cta>div{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-top:2rem}.service-cta a,.service-cta span{display:flex;align-items:center;gap:.55rem;color:#d5d1ca;font-size:.86rem}.service-cta svg{color:#d72a2a}.service-back{display:inline-flex;align-items:center;gap:.5rem;margin:0 clamp(1.25rem,5vw,5rem) 4rem;color:#c7c3bb;font-size:.8rem}.service-back:hover{color:#ef3a3a}

.scope-note a{color:#d94a4a;font-weight:700}.scope-note a:hover{color:#ff6b6b}.area-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,8rem);padding:clamp(4rem,8vw,7rem) 0;border-top:1px solid var(--border)}.area-intro h2,.area-region h2,.area-services h2{margin:0;font-size:clamp(2.3rem,4.2vw,4.8rem);font-weight:500;line-height:1;letter-spacing:-.05em}.area-intro p:last-child{color:#aaa69d;font-size:1rem;line-height:1.85}.area-region{padding:clamp(4rem,8vw,7rem) 0;border-top:1px solid var(--border)}.area-region-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.area-region-heading>p{max-width:480px;margin:0;color:#8c8880;line-height:1.7}.municipality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--border);background:var(--border)}.municipality-card{min-height:165px;padding:1.5rem;background:linear-gradient(145deg,#141414,#0b0b0b)}.municipality-card span{display:block;margin-bottom:2.5rem;color:#bd2929;font-family:var(--font-geist-mono);font-size:.7rem}.municipality-card h3{margin:0;color:#e2ded6;font-size:1.12rem;line-height:1.35}.area-services{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,9rem);padding:clamp(5rem,9vw,8rem) 0;border-top:1px solid var(--border)}.area-service-links{display:grid;border-top:1px solid var(--border)}.area-service-links a{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 0;border-bottom:1px solid var(--border);color:#d7d3cb;font-weight:700}.area-service-links a:hover{color:#ef3a3a}.area-note{margin-bottom:clamp(5rem,9vw,8rem);padding:clamp(1.5rem,4vw,3rem);border:1px solid #6f1515;background:#110b0b}.area-note h2{margin-bottom:1rem;font-size:clamp(1.8rem,3vw,3rem);font-weight:500;letter-spacing:-.04em}.area-note p{max-width:900px;margin:0;color:#9a968e;line-height:1.8}
.terms-page{min-height:100svh;background:radial-gradient(circle at 80% 4%,#3a00002b,transparent 25%),#080808}.terms-document{max-width:1080px;margin:0 auto;padding:0 clamp(1.25rem,5vw,5rem)}.terms-hero{padding:clamp(5rem,9vw,8rem) 0;border-bottom:1px solid var(--border)}.terms-hero h1{max-width:960px;margin-bottom:1.5rem;font-size:clamp(3.3rem,6.8vw,7rem);line-height:.9}.terms-hero>p:last-child{color:var(--beige);font-family:var(--font-geist-mono);font-size:.8rem}.terms-toc{padding:clamp(3rem,6vw,5rem);border-bottom:1px solid var(--border);background:#0e0e0e}.terms-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 3rem;margin:0;padding-left:1.5rem}.terms-toc li{color:#76726b;font-size:.8rem;line-height:1.5}.terms-toc a{color:#c9c5bd}.terms-toc a:hover{color:#ef3a3a}.terms-content{padding:clamp(3rem,7vw,6rem) 0}.terms-content section{padding:clamp(2.5rem,5vw,4.5rem) 0;border-bottom:1px solid var(--border);scroll-margin-top:2rem}.terms-content h2{margin-bottom:2rem;color:#e8e4dc;font-size:clamp(1.65rem,2.7vw,2.6rem);font-weight:560;line-height:1.2;letter-spacing:-.025em}.terms-content>section>p,.terms-content li p,.terms-content dd,.terms-content li{color:#aaa69d;font-size:1rem;line-height:1.85}.terms-content>section>ol{display:grid;gap:1rem;margin:0;padding-left:1.6rem}.terms-content li::marker{color:#cf3030;font-family:var(--font-geist-mono);font-size:.78rem}.terms-content li p{margin:0}.terms-content li>ol{display:grid;gap:.65rem;margin-top:.8rem;padding-left:1.5rem}.terms-content dl{display:grid;gap:0;margin:2rem 0 0}.terms-content dl div{display:grid;grid-template-columns:190px 1fr;gap:2rem;padding:1rem 0;border-top:1px solid var(--soft-border)}.terms-content dt{color:#e0dcd4;font-weight:750}.terms-content dd{margin:0}

.hero{min-height:90svh;padding-bottom:3rem}
.ticker .ticker-track{gap:0;animation-duration:84s}
.ticker-group{display:flex;flex-shrink:0;align-items:center;justify-content:space-around;gap:2rem;min-width:100vw;padding-right:2rem}
.ticker-item{display:inline-flex;flex-shrink:0;align-items:center;gap:2rem;white-space:nowrap}
.site-header nav,.header-contact{font-size:.78rem;font-weight:650;line-height:1.4}
.eyebrow{font-size:.8125rem;line-height:1.5}
.eyebrow span{flex-shrink:0}
.hero-copy{container-type:inline-size;min-width:0}
.hero-copy h1{font-size:min(9rem,17.2cqi)}
.hero-copy h1>span{display:block;white-space:nowrap}
.hero-copy h1 em{white-space:nowrap;font-size:1em}
.visual-label{font-size:.75rem;line-height:1.5}
@keyframes rotate{to{transform:rotate(360deg)}}@keyframes counterRotate{to{transform:translate(-50%,-50%) rotate(-360deg)}}@keyframes fanSpin{to{transform:translate(-50%,-50%) rotate(-360deg)}}@keyframes ticker{to{transform:translateX(-50%)}}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero-grid,.section-heading,.installations-preview,.projects-intro,.process,.about,.contact,.service-detail-content,.area-intro,.area-services{grid-template-columns:1fr}.hero-visual{width:min(100%,600px);margin:-2rem auto 0}.section-heading,.projects-intro{gap:1.5rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.icon-box{margin-bottom:2.5rem}.scope-note{grid-column:1}.project-grid{grid-template-columns:1fr}.process{gap:4rem}.about-portrait{min-height:480px}.service-facts{grid-template-columns:1fr}.municipality-grid{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr 1fr}.footer-brand,.footer-bottom{grid-column:1/-1}}
@media(max-width:600px){.site-header{min-height:78px;padding:0 1.25rem}.is-scrolled .site-header{min-height:66px}.brand img{width:112px}.header-contact{font-size:0}.header-contact svg{display:none}.hero{padding-top:8.5rem}.hero-frame{inset:8px}h1{font-size:clamp(3.5rem,17vw,5.2rem)}.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual{margin-top:0}.visual-stats{position:relative;bottom:auto;left:auto;padding-top:90%}.visual-label{display:none}.service-strip,.projects,.about,.installations-preview,.process,.contact,footer,.manifesto{padding-right:1.25rem;padding-left:1.25rem}.manifesto{min-height:85svh}.manifesto h2 em{margin-top:.8rem}.project-number{padding:1.3rem}.project-copy{padding:1.35rem}.form-row{grid-template-columns:1fr}.service-page-header img{width:112px}.service-detail-hero h1{font-size:clamp(3.1rem,14vw,4.8rem)}.service-cta>div{align-items:flex-start;flex-direction:column}.area-region-heading{align-items:flex-start;flex-direction:column}.municipality-grid{grid-template-columns:1fr}.municipality-card{min-height:135px}.terms-toc{padding-right:1.25rem;padding-left:1.25rem}.terms-toc ol{grid-template-columns:1fr}.terms-content dl div{grid-template-columns:1fr;gap:.35rem}footer{grid-template-columns:1fr}.footer-brand,.footer-bottom{grid-column:1}.footer-bottom{align-items:flex-start;flex-direction:column;gap:.3rem}}
@media(hover:none),(pointer:coarse){.pointer-glow{display:none}}
section[id]{scroll-margin-top:90px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.technical-orbit,.technical-orbit span,.fan-rotor,.ticker div{animation:none}.button,.service-card,.process-list li,[data-reveal],.site-header{transition:none}.motion-ready [data-reveal]:not(.is-visible),[data-reveal],.hero-visual[data-reveal].is-visible{opacity:1;transform:none}.project-card{position:relative;top:auto!important}.scroll-progress,.pointer-glow{display:none}}

/* WordPress integration */
.about-portrait-image{position:absolute;inset:0;width:100%;height:100%}
body.admin-bar .site-header{top:32px}
.screen-reader-text,.contact-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.form-status.error{border-color:#8b2525;color:#efaaaa}
.generic-page{max-width:980px;min-height:70vh;margin:0 auto;padding:8rem 1.5rem}.generic-page .entry-content{color:#aaa69d;line-height:1.8}.not-found{text-align:center}.not-found .button{margin-top:1rem}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
