:root{--black:#090a0b;--ink:#111214;--silver:#c9cacc;--paper:#f3f1ed;--white:#fff;--red:#f47b20;--muted:#898a8c;--font-sans:Arial,Helvetica,sans-serif;--font-mono:"Courier New",monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--ink);font-family:var(--font-sans),Arial,sans-serif}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
main{overflow:hidden}
.section-pad{padding:120px max(5vw,28px)}
.section-tag{display:flex;align-items:center;gap:10px;font:600 11px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#444}
.section-tag:before{content:"";width:26px;height:1px;background:var(--red)}
.section-tag.light{color:#a9aaac}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:64px}
.section-head h2,.about h2,.storm h2,.why h2,.area h2,.faq h2,.contact h2{margin-top:24px;font-size:clamp(42px,5.2vw,78px);font-weight:570;line-height:.95;letter-spacing:-.055em}
.section-head h2 i,.about h2 i,.storm h2 i,.why h2 i,.area h2 i,.faq h2 i,.contact h2 i{font-family:Georgia,serif;font-weight:400}
.section-head>p{max-width:440px;color:#999;line-height:1.7}
.nav-shell{position:fixed;z-index:50;left:0;right:0;top:0;height:86px;padding:0 max(3vw,22px);display:flex;align-items:center;gap:36px;background:rgba(9,10,11,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.1);color:white}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #777;transform:skew(-7deg);font-size:12px;font-weight:800;letter-spacing:-.08em;background:linear-gradient(145deg,#eee,#777);color:#111}
.brand>span:last-child{display:flex;flex-direction:column;line-height:.9}
.brand b{font-size:17px;letter-spacing:.2em}
.brand small{font-size:7px;letter-spacing:.33em;color:#a9aaac;margin-top:6px}
.desktop-nav{margin-left:auto;display:flex;gap:clamp(14px,1.8vw,29px);font-size:12px;color:#bbb}
.desktop-nav a{transition:.2s}
.desktop-nav a:hover{color:#fff}
.nav-cta{height:44px;display:flex;align-items:center;gap:28px;padding:0 18px;background:var(--red);font-size:11px;text-transform:uppercase;letter-spacing:.09em}
.nav-cta span,.button span{font-size:17px}
.mobile-menu{display:none;margin-left:auto}
.mobile-menu summary{list-style:none}
.mobile-menu div{position:absolute;top:86px;left:0;right:0;background:#0b0c0e;padding:24px;display:grid;gap:20px}
.hero{position:relative;min-height:100vh;padding:150px max(5vw,28px) 42px;color:white;display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:1fr auto;background:radial-gradient(circle at 75% 45%,#343639 0,#121315 34%,#08090a 66%)}
.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to right,black,transparent 78%)}
.hero-copy{position:relative;z-index:2;align-self:center}
.eyebrow{font:600 10px var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#aaa;display:flex;align-items:center;gap:12px}
.eyebrow span{width:7px;height:7px;background:var(--red)}
.hero h1{font-size:clamp(58px,7.4vw,118px);font-weight:560;line-height:.83;letter-spacing:-.07em;margin:34px 0}
.hero h1 em{font-family:Georgia,serif;color:var(--silver);font-weight:400}
.hero-copy>p{max-width:570px;color:#b9b9b9;font-size:clamp(16px,1.35vw,21px);line-height:1.65}
.hero-actions{display:flex;align-items:center;gap:38px;margin-top:42px}
.button{border:0;min-height:58px;padding:0 25px;display:inline-flex;align-items:center;justify-content:space-between;gap:45px;font:650 11px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.button.primary{background:var(--red);color:white}
.button.dark{background:#0b0c0d;color:white}
.text-link{font:600 11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #555;padding:16px 0;display:inline-flex;gap:28px}
.hero-visual{position:relative;min-height:570px}
.roof{position:absolute;background:linear-gradient(135deg,#bfc0c2,#414346 46%,#111 47%);clip-path:polygon(50% 0,100% 38%,100% 84%,50% 44%,0 84%,0 38%);filter:drop-shadow(0 25px 25px #000)}
.roof-one{width:90%;height:75%;right:-10%;top:5%;transform:rotate(-4deg)}
.roof-two{width:63%;height:58%;right:18%;top:20%;opacity:.55;transform:rotate(8deg)}
.red-plane{position:absolute;right:2%;top:18%;height:63%;width:20%;background:linear-gradient(#ff9a3d,#7c2e05);clip-path:polygon(0 18%,100% 0,100% 84%,0 100%);opacity:.8}
.hero-badge{position:absolute;left:3%;bottom:8%;width:170px;height:170px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(8,9,10,.6);backdrop-filter:blur(8px)}
.hero-badge b{font:400 55px Georgia}
.hero-badge span{text-align:center;color:#aaa;font:10px/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}
.visual-caption{position:absolute;right:0;bottom:2%;font:10px/1.6 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#8c8c8c;text-align:right}
.hero-foot{grid-column:1/-1;z-index:2;padding-top:34px;border-top:1px solid #2a2b2c;display:flex;justify-content:space-between;color:#8d8e90;font:9px var(--font-mono);letter-spacing:.11em;text-transform:uppercase}
.trust{background:var(--paper);padding:72px max(5vw,28px);display:grid;grid-template-columns:1fr 3fr;align-items:start}
.trust p{font-size:clamp(32px,4vw,60px);line-height:1.05;letter-spacing:-.045em;max-width:980px}
.trust strong{font-family:Georgia,serif;font-weight:400;color:var(--red)}
.services,.projects,.process,.faq{background:var(--ink);color:white}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #333;border-left:1px solid #333}
.service-card{min-height:430px;padding:34px;border-right:1px solid #333;border-bottom:1px solid #333;display:flex;flex-direction:column;transition:.35s}
.service-card:hover{background:#18191b;transform:translateY(-6px);border-top:2px solid var(--red)}
.service-top{display:flex;justify-content:space-between;color:#777;font:10px var(--font-mono)}
.service-icon{font-size:35px;color:#aaa}
.service-card h3{margin-top:auto;font-size:42px;font-weight:500}
.service-card p{color:#999;line-height:1.6;margin:22px 0}
.service-card a{display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid #383838;font:600 10px var(--font-mono);text-transform:uppercase;letter-spacing:.11em}
.about{background:var(--paper);display:grid;grid-template-columns:1fr 1.2fr;gap:10vw;align-items:center}
.about-graphic{height:620px;position:relative;background:#d6d3ce;overflow:hidden}
.silver-block{position:absolute;inset:-20% -10%;background:linear-gradient(128deg,transparent 40%,#f5f4f0 40%,#7d7e80 53%,#1b1c1e 53%,#f47b20 70%,transparent 70%);transform:rotate(-4deg)}
.about-number{position:absolute;left:8%;bottom:17%;font:400 clamp(100px,14vw,210px)/.7 Georgia;color:#141516;letter-spacing:-.1em}
.about-number span{font-size:.4em;color:var(--red)}
.about-graphic p{position:absolute;left:10%;bottom:5%;font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.12em}
.about-copy .lead{font-size:21px;line-height:1.5;margin:35px 0 22px}
.about-copy>p:not(.lead){color:#666;line-height:1.7}
.signature{display:flex;gap:30px;align-items:center;margin-top:45px;padding-top:30px;border-top:1px solid #ccc}
.signature span{font-family:Georgia;font-size:30px;font-style:italic}
.signature p{font:9px/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:#777}
.project-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:18px}
.project-card{background:#191a1c;display:grid;grid-template-columns:1fr 1fr;min-height:270px;overflow:hidden}
.project-large{grid-row:1/3;display:block}
.project-art{min-height:250px;position:relative;background-color:#252628;overflow:hidden}
.project-art:before,.project-art:after{content:"";position:absolute}
.art-one{height:520px;background:linear-gradient(145deg,#686b6e,#171819 46%,#f47b20 47%,#6d2906 62%,#111 63%)}
.art-one:before{width:80%;height:50%;background:#b8b9ba;clip-path:polygon(50% 0,100% 55%,86% 58%,50% 21%,13% 62%,0 55%);left:10%;top:13%}
.art-two{background:linear-gradient(25deg,#111 20%,#696a6c 21%,#aaa 48%,#1b1c1e 49%)}
.art-three{background:repeating-linear-gradient(160deg,#242527 0 28px,#55575a 29px 31px,#191a1b 32px 58px)}
.project-card>div:last-child{padding:30px}
.project-card span{font:9px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#888}
.project-card h3{font-size:27px;font-weight:500;margin:14px 0}
.project-card p{color:#999;font-size:13px}
.split{display:grid;grid-template-columns:1fr 1fr}
.split article{min-height:570px;padding:100px max(5vw,50px);display:flex;flex-direction:column;align-items:flex-start}
.split article:first-child{background:linear-gradient(135deg,#191a1c 45%,#303235 46%,#101113 70%);color:white}
.split article:last-child{background:var(--silver)}
.split h2{font-size:clamp(45px,5vw,75px);line-height:.95;letter-spacing:-.055em;margin:90px 0 25px}
.split h2 i{font-family:Georgia;font-weight:400}
.split p{max-width:490px;line-height:1.7;color:#aaa}
.split article:last-child p{color:#555}
.split a{margin-top:auto;font:600 10px var(--font-mono);text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid currentColor;padding-bottom:14px}
.storm{background:var(--red);color:white;display:grid;grid-template-columns:.55fr 1.25fr .8fr;gap:5vw;align-items:start}
.storm .section-tag{color:#e3bfc2}
.storm .section-tag:before{background:white}
.storm-label{font:10px var(--font-mono);letter-spacing:.13em;text-transform:uppercase;writing-mode:vertical-rl}
.storm h2{margin-top:30px}
.storm-copy{padding-top:50px}
.storm-copy p{line-height:1.7;color:#e7cfd1}
.storm-copy .button{margin:35px 0 18px}
.storm-copy small{display:block;color:#d8aeb2;font-size:9px}
.process-list{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #333}
.process-list article{padding:30px 22px;min-height:250px;border-right:1px solid #333;position:relative}
.process-list span{font:9px var(--font-mono);color:#777}
.process-list h3{font-size:24px;margin:80px 0 18px}
.process-list p{color:#888;font-size:13px;line-height:1.6}
.why{background:var(--silver);display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}
.why-copy>p{max-width:480px;margin-top:28px;line-height:1.7;color:#555}
.why-grid{display:grid;grid-template-columns:1fr 1fr}
.why-grid div{min-height:160px;border-left:1px solid #aaa;border-top:1px solid #aaa;padding:25px}
.why-grid span{font:9px var(--font-mono);color:#777}
.why-grid p{margin-top:65px;font-size:15px}
.area{background:var(--paper);display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center}
.map-card{height:600px;position:relative;background:#c9c7c3;overflow:hidden}
.map-grid{position:absolute;inset:-10%;background-image:linear-gradient(35deg,transparent 47%,#a5a4a1 48%,#a5a4a1 49%,transparent 50%),linear-gradient(115deg,transparent 47%,#e3e1dd 48%,#e3e1dd 49%,transparent 50%);background-size:95px 80px;transform:rotate(8deg)}
.map-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 55% 50%,transparent,#a5a4a1)}
.map-pin{position:absolute;z-index:2;width:18px;height:18px;background:var(--red);border:4px solid #f2f1ed;border-radius:50%;box-shadow:0 0 0 1px #f47b20}
.pin-one{left:48%;top:30%}
.pin-two{left:62%;top:47%}
.pin-three{left:48%;top:58%}
.pin-four{left:70%;top:69%}
.map-label{position:absolute;z-index:3;left:28px;bottom:28px;background:#0b0c0d;color:white;padding:20px 25px;font:9px/1.6 var(--font-mono);text-transform:uppercase;letter-spacing:.1em}
.map-label b{font-size:14px}
.area-copy>p{line-height:1.7;color:#666;margin:30px 0}
.area-copy ul{columns:2;list-style:none;padding:0;margin:0 0 28px}
.area-copy li{padding:12px 0;border-bottom:1px solid #d1cfcb;font-size:13px}
.dark-link{border-color:#999}
.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:9vw}
.faq-list{border-top:1px solid #3a3a3a}
.faq-list details{border-bottom:1px solid #3a3a3a}
.faq-list summary{list-style:none;display:grid;grid-template-columns:40px 1fr 30px;gap:16px;padding:27px 0;cursor:pointer;font-size:17px}
.faq-list summary span{color:#777;font:9px var(--font-mono)}
.faq-list summary b{color:var(--red);font-size:22px}
.faq-list details[open] summary b{transform:rotate(45deg)}
.faq-list details p{color:#999;line-height:1.7;padding:0 40px 28px 56px}
.contact{background:#d1d0cd;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}
.contact-copy>p{margin-top:32px;color:#555;line-height:1.7;max-width:520px}
.contact-meta{display:grid;margin-top:60px;border-top:1px solid #aaa}
.contact-meta span{font:9px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#777;margin-top:22px}
.contact-meta b{font-size:13px;margin-top:5px}
.contact-form{background:#0e0f10;color:white;padding:45px;display:grid;grid-template-columns:1fr 1fr;gap:25px}
.contact-form label{font:9px var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:#999}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;display:block;margin-top:10px;background:transparent;color:white;border:0;border-bottom:1px solid #444;padding:13px 2px;font:14px var(--font-sans);outline:none;border-radius:0}
.contact-form textarea{border:1px solid #444;padding:15px;resize:vertical}
.contact-form option{color:#111}
.wide{grid-column:1/-1}
.contact-form small{color:#666}
footer{background:#070809;color:white;padding:80px max(5vw,28px) 30px;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:50px}
.footer-brand p{margin-top:28px;color:#777;font-size:12px;line-height:1.7}
footer>div:not(.footer-brand):not(.footer-bottom){display:flex;flex-direction:column;gap:14px;font-size:12px;color:#888}
footer>div b{color:#eee;text-transform:uppercase;font:9px var(--font-mono);letter-spacing:.14em;margin-bottom:12px}
.footer-bottom{grid-column:1/-1;border-top:1px solid #222;padding-top:24px;margin-top:40px;display:flex;justify-content:space-between;color:#555;font:8px var(--font-mono);text-transform:uppercase;letter-spacing:.1em}
@media(max-width:1050px){.desktop-nav{display:none}
.mobile-menu{display:block}
.nav-cta{display:none}
.hero{grid-template-columns:1fr;padding-top:140px}
.hero-visual{position:absolute;right:-18%;top:110px;width:65%;opacity:.5}
.hero-copy{max-width:720px}
.hero-foot{margin-top:80px}
.trust{grid-template-columns:1fr;gap:30px}
.service-grid{grid-template-columns:1fr}
.service-card{min-height:310px}
.about,.area,.why,.faq,.contact{grid-template-columns:1fr}
.about-graphic{height:500px}
.project-grid{display:block}
.project-card{margin-bottom:18px}
.project-large .project-art{height:420px}
.split{grid-template-columns:1fr}
.process-list{grid-template-columns:1fr 1fr}
.storm{grid-template-columns:1fr 1fr}
.storm-label{display:none}
footer{grid-template-columns:2fr 1fr 1fr}
.footer-brand{grid-column:1/-1}
}
@media(max-width:650px){.section-pad{padding:85px 22px}
.section-head{display:block;margin-bottom:42px}
.section-head>p{margin-top:25px}
.nav-shell{height:72px}
.mobile-menu div{top:72px}
.hero{min-height:850px;padding:125px 22px 30px}
.hero h1{font-size:62px}
.hero-copy>p{font-size:15px;max-width:92%}
.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}
.hero-visual{top:370px;right:-45%;width:130%;height:400px;min-height:0}
.hero-badge{width:115px;height:115px;left:20%}
.hero-badge b{font-size:35px}
.hero-foot{display:grid;gap:10px;margin-top:330px}
.trust{padding:55px 22px}
.trust p{font-size:35px}
.service-card{padding:25px}
.about{gap:55px}
.about-graphic{height:390px}
.project-card{display:block}
.project-art{height:240px}
.art-one{height:360px}
.split article{padding:70px 22px;min-height:510px}
.storm{grid-template-columns:1fr;gap:20px}
.storm-copy{padding-top:0}
.process-list{grid-template-columns:1fr}
.process-list article{min-height:180px}
.process-list h3{margin-top:45px}
.why-grid{grid-template-columns:1fr}
.area{gap:50px}
.map-card{height:400px}
.faq-list summary{font-size:14px}
.contact-form{padding:28px 20px;grid-template-columns:1fr}
.contact-form label{grid-column:1/-1}
footer{grid-template-columns:1fr 1fr;padding:60px 22px 25px}
.footer-bottom{display:grid;gap:12px}
.section-head h2,.about h2,.storm h2,.why h2,.area h2,.faq h2,.contact h2{font-size:43px}
}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:rise .8s ease-out both}
.hero-visual{animation:fade 1.2s .15s ease-out both}
.service-card,.project-card{transition:transform .35s ease,background .35s ease}
.project-card:hover{transform:translateY(-5px)}
@keyframes rise{from{opacity:0;transform:translateY(25px)}
to{opacity:1;transform:none}
}
@keyframes fade{from{opacity:0}
to{opacity:1}
}
}

/* Cinematic interaction layer */
:root{--scroll:0;--hero-shift:0px}
::selection{background:var(--red);color:white}
.scroll-progress{position:fixed;z-index:140;left:0;right:0;top:0;height:2px;background:var(--red);transform:scaleX(var(--scroll));transform-origin:left;pointer-events:none}
.film-grain{position:fixed;inset:0;z-index:99;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E")}
.hero-copy{transform:translateY(calc(var(--hero-shift) * -.28))}
.hero-visual{transform:translateY(var(--hero-shift))}
.marquee{height:72px;background:var(--red);color:white;display:flex;align-items:center;overflow:hidden;white-space:nowrap}
.marquee>div{display:flex;align-items:center;gap:42px;width:max-content;animation:ticker 22s linear infinite}
.marquee span{font:600 13px var(--font-mono);letter-spacing:.15em}
.marquee b{font-size:10px;color:#e2a7ac}
@keyframes ticker{to{transform:translateX(-50%)}
}
.service-card{transform-style:preserve-3d;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));background-image:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.06),transparent 34%)}
.service-card:hover{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));background-color:#18191b}
.project-card{transform-style:preserve-3d;transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.project-card:hover{transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.project-art{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.project-card:hover .project-art{transform:scale(1.045)}
.statement{height:310px;background:#08090a;color:white;display:flex;align-items:center;overflow:hidden;border-top:1px solid #242526;border-bottom:1px solid #242526}
.statement-line{display:flex;align-items:baseline;gap:45px;width:max-content;white-space:nowrap;animation:statement 26s linear infinite}
.statement span,.statement i{font-size:clamp(64px,9vw,145px);letter-spacing:-.065em}
.statement i{font-family:Georgia;font-weight:400;color:var(--red)}
@keyframes statement{to{transform:translateX(-45%)}
}
@media(prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(58px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.service-card.reveal:nth-child(2),.process-list article.reveal:nth-child(2),.why-grid>div.reveal:nth-child(2){transition-delay:.08s}
.service-card.reveal:nth-child(3),.process-list article.reveal:nth-child(3),.why-grid>div.reveal:nth-child(3){transition-delay:.16s}
.process-list article.reveal:nth-child(4),.why-grid>div.reveal:nth-child(4){transition-delay:.24s}
.process-list article.reveal:nth-child(5),.why-grid>div.reveal:nth-child(5){transition-delay:.32s}
.why-grid>div.reveal:nth-child(6){transition-delay:.4s}
}
@media(prefers-reduced-motion:reduce){.marquee>div,.statement-line{animation:none}
.reveal{opacity:1!important;transform:none!important}
.hero-copy,.hero-visual{transform:none!important}
}
@media(max-width:650px){.statement{height:210px}
.statement span,.statement i{font-size:64px}
.marquee{height:58px}
.marquee>div{gap:28px}
}

/* Real project photography */
.hero-visual{overflow:hidden;border:1px solid rgba(255,255,255,.14);clip-path:polygon(7% 0,100% 0,100% 94%,93% 100%,0 100%,0 7%)}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center;filter:saturate(.82) contrast(1.07);transform:scale(1.02);transition:transform 1.3s cubic-bezier(.2,.7,.2,1)}
.hero:hover .hero-photo{transform:scale(1.065)}
.hero-photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,9,.54),transparent 42%),linear-gradient(0deg,rgba(7,8,9,.68),transparent 48%)}
.hero-badge,.visual-caption{z-index:3}
.service-card{min-height:560px;overflow:hidden}
.service-photo{height:190px;margin:-34px -34px 28px;overflow:hidden;position:relative}
.service-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#111214,transparent 46%);opacity:.75}
.service-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.08);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}
.service-card:hover .service-photo img{transform:scale(1.08);filter:saturate(1) contrast(1.05)}
.service-card h3{margin-top:50px}
.about-graphic>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:76% 28%;filter:saturate(.75) contrast(1.05)}
.about-image-wash{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,6,7,.9),transparent 58%),linear-gradient(90deg,rgba(244,123,32,.35),transparent 36%)}
.about-number{color:white;text-shadow:0 12px 40px rgba(0,0,0,.45)}
.about-graphic p{color:#ddd}
.project-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s;filter:saturate(.78) contrast(1.05)}
.project-card:hover .project-art img{transform:scale(1.055);filter:saturate(1)}
.project-card:hover .project-art{transform:none}
.project-large .project-art{height:520px}
.split article{position:relative;overflow:hidden;isolation:isolate}
.split-photo{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);filter:saturate(.72)}
.split article:hover .split-photo{transform:scale(1.055)}
.split-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(5,6,7,.88),rgba(5,6,7,.42)),linear-gradient(0deg,rgba(5,6,7,.72),transparent 55%)}
.split article:last-child{color:white}
.split article:last-child p{color:#bbb}
.storm{position:relative;isolation:isolate;overflow:hidden;background:#08090a}
.storm-photo{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 56%;filter:saturate(.62) contrast(1.1)}
.storm-photo-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(244,123,32,.96),rgba(213,89,11,.84) 48%,rgba(6,7,8,.78))}
.contact-photo{height:250px;overflow:hidden;margin-bottom:42px;clip-path:polygon(0 0,100% 0,100% 88%,92% 100%,0 100%)}
.contact-photo img{width:100%;height:100%;object-fit:cover;object-position:center 37%;filter:saturate(.78);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.contact-photo:hover img{transform:scale(1.045)}
@media(max-width:1050px){.hero-visual{overflow:hidden}
.storm-photo-shade{background:rgba(232,102,20,.88)}
}
@media(max-width:650px){
  .hero-visual{right:-18%;width:92%;top:405px;height:330px;opacity:.68}
.hero-photo{object-position:45% center}
.service-card{min-height:500px}
.service-photo{margin:-25px -25px 24px;height:170px}
.project-large .project-art{height:360px}
.split-photo{object-position:center}
.contact-photo{height:210px}
}
.brand-logo{display:block;width:168px;height:68px;object-fit:contain;object-position:left center}
.footer-logo{width:250px;height:150px;object-position:left center}
@media(max-width:650px){.brand-logo{width:135px;height:58px}
.footer-logo{width:220px;height:132px}
.about-graphic>img{object-position:74% 28%}
}
.map-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.08) brightness(.88);transition:filter .45s ease}
.map-card:hover iframe{filter:grayscale(.2) contrast(1.02) brightness(.97)}
.map-card:after{pointer-events:none;background:linear-gradient(90deg,rgba(244,123,32,.18),transparent 35%),linear-gradient(0deg,rgba(7,8,9,.38),transparent 40%)}
.reviews{background:var(--paper);display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:center}
.reviews-intro h2{margin:24px 0 30px;font-size:clamp(44px,5.2vw,78px);font-weight:570;line-height:.95;letter-spacing:-.055em}
.reviews-intro h2 i{font-family:Georgia,serif;font-weight:400;color:var(--red)}
.reviews-intro>p{max-width:540px;color:#646466;line-height:1.7;margin-bottom:35px}
.review-feature{min-height:440px;background:#0d0e10;color:white;padding:48px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.review-feature:before{content:"";position:absolute;width:260px;height:260px;right:-90px;top:-90px;border:1px solid rgba(244,123,32,.5);border-radius:50%;box-shadow:0 0 0 40px rgba(244,123,32,.04),0 0 0 80px rgba(244,123,32,.025)}
.review-source{display:flex;align-items:center;gap:16px;position:relative}
.google-g{width:44px;height:44px;border:1px solid #3a3b3d;display:grid;place-items:center;font:600 22px Georgia;color:#e4e4e4}
.review-source div{display:flex;flex-direction:column}
.review-source b{font-size:14px}
.review-source small{margin-top:5px;color:#777;font:8px var(--font-mono);letter-spacing:.11em;text-transform:uppercase}
.review-stars{margin:55px 0 24px;color:#f47b20;font-size:18px;letter-spacing:.35em}
.review-feature blockquote{margin:0;max-width:600px;font:400 clamp(25px,2.5vw,40px)/1.18 Georgia,serif;color:#e7e7e7}
.review-feature>p{margin:24px 0 36px;color:#858587;line-height:1.65;font-size:12px;max-width:540px}
.review-feature>a{margin-top:auto;padding-top:18px;border-top:1px solid #333;display:flex;justify-content:space-between;font:600 9px var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.reviews+.contact{border-top:1px solid #b9b8b5}
footer{padding-top:58px;padding-bottom:22px}
.footer-logo{height:112px}
.footer-brand p{margin-top:16px}
.footer-bottom{margin-top:24px}

/* Keep the final conversion section focused and comfortably compact. */
.contact{padding-top:90px;padding-bottom:90px}
.contact-form{padding:34px 36px;gap:18px 24px;align-self:start}
.contact-form input,.contact-form select{padding:10px 2px}
.contact-form textarea{padding:12px;max-height:105px}
.contact-copy{align-self:start}
.contact-photo{height:160px;margin-bottom:25px}
.contact h2{margin-top:18px;font-size:clamp(38px,4vw,60px)}
.contact-copy>p{margin-top:20px;line-height:1.55}
.contact-meta{margin-top:25px}
.contact-meta span{margin-top:14px}
.contact-meta b{margin-top:3px}
@media(max-width:650px){
  .contact{padding-top:68px;padding-bottom:68px}
.contact-form{padding:24px 20px;gap:16px}
.contact-photo{height:165px;margin-bottom:24px}
.contact h2{font-size:40px}
.contact-meta{margin-top:24px}
}
@media(max-width:1050px){.reviews{grid-template-columns:1fr;gap:55px}
.review-feature{min-height:400px}
}
@media(max-width:650px){.reviews{padding-top:80px;padding-bottom:80px}
.review-feature{padding:32px 24px;min-height:410px}
.review-stars{margin-top:42px}
.review-feature blockquote{font-size:28px}
footer{padding-top:46px}
.footer-logo{height:100px}
}
@media(max-width:650px){
  .hero{min-height:auto;display:grid;grid-template-columns:1fr;padding:118px 22px 28px}
.hero-copy{max-width:100%;transform:none}
.hero h1{font-size:clamp(49px,15vw,62px)}
.hero-copy>p{max-width:100%}
.hero-visual{position:relative;right:auto;top:auto;width:100%;height:320px;min-height:320px;margin-top:42px;opacity:1;transform:none}
.hero-badge{left:18px;bottom:18px}
.hero-foot{margin-top:26px;padding-top:22px}
footer{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 14px;padding:38px 20px 20px}
.footer-brand{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px}
.footer-logo{width:170px;height:78px}
.footer-brand p{margin:0;text-align:right;font-size:10px}
footer>div:not(.footer-brand):not(.footer-bottom){gap:10px;font-size:10px}
footer>div b{margin-bottom:5px}
.footer-bottom{grid-column:1/-1;margin-top:8px;padding-top:18px}
}

/* WordPress and Elementor compatibility */
.elementor-location-header,.elementor-location-footer{display:none}
.elementor,.elementor-section-wrap,.elementor-widget-html,.elementor-widget-html>.elementor-widget-container{width:100%;max-width:none}
.elementor-element.e-con{--container-max-width:100%;--width:100%;padding:0!important;margin:0!important;gap:0!important}
.elementor-widget-html{margin:0!important}
.admin-bar .nav-shell{top:32px}
.adda-standard-page{max-width:1000px;margin:120px auto 60px;padding:0 24px;color:#fff;min-height:60vh}
@media(max-width:782px){.admin-bar .nav-shell{top:46px}
}

/* Premium CTA interactions */
.button,.nav-cta{will-change:transform;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,background-position .55s ease,color .28s ease}
.button.primary,.nav-cta{background-image:linear-gradient(110deg,#f47b20 0%,#f47b20 39%,#ffad5f 48%,#f47b20 57%,#f47b20 100%);background-size:240% 100%;background-position:100% 0}
.button.dark{background-image:linear-gradient(110deg,#0b0c0d 0%,#0b0c0d 40%,#303236 49%,#0b0c0d 58%,#0b0c0d 100%);background-size:240% 100%;background-position:100% 0}
.button span,.nav-cta span,.text-link span,.service-card a span,.split a span,.review-feature>a span{display:inline-block;transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.text-link,.service-card a,.split a,.review-feature>a{transition:color .25s ease,border-color .25s ease,letter-spacing .28s ease}
@media(hover:hover){
  .button:hover,.nav-cta:hover{transform:translateY(-3px);background-position:0 0}
.button.primary:hover,.nav-cta:hover{box-shadow:0 13px 30px rgba(244,123,32,.32)}
.button.dark:hover{box-shadow:0 13px 28px rgba(0,0,0,.28)}
.button:hover span,.nav-cta:hover span,.text-link:hover span,.service-card a:hover span,.split a:hover span,.review-feature>a:hover span{transform:translate(4px,-3px)}
.text-link:hover,.service-card a:hover,.split a:hover,.review-feature>a:hover{color:var(--red);border-color:var(--red);letter-spacing:.14em}
.button:active,.nav-cta:active{transform:translateY(-1px) scale(.985);transition-duration:.08s}
}
.button:focus-visible,.nav-cta:focus-visible,.text-link:focus-visible,.service-card a:focus-visible,.split a:focus-visible,.review-feature>a:focus-visible{outline:2px solid #fff;outline-offset:4px}
.reviews .button:focus-visible,.area .text-link:focus-visible{outline-color:var(--red)}
@media(prefers-reduced-motion:reduce){.button,.nav-cta,.button span,.nav-cta span,.text-link span,.service-card a span,.split a span,.review-feature>a span{transition:none}
}

