:root{--ink:#090909;--paper:#f2f0eb;--paper2:#e7e4dd;--red:#d5212b;--red2:#ff3943;--muted:#757575;--line:rgba(0,0,0,.13);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}.container{width:min(var(--max),calc(100% - 48px));margin:auto}.site-header{position:fixed;z-index:90;top:0;left:0;right:0;background:rgba(7,7,7,.7);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08);transition:background .3s ease,transform .3s ease}.site-header.scrolled{background:rgba(7,7,7,.94)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:190px;height:62px;object-fit:contain}.desktop-nav{display:flex;gap:30px;margin-left:auto}.desktop-nav a{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#c9c9c9;position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--red);transition:width .25s ease}.desktop-nav a:hover:after{width:100%}.desktop-nav a:hover{color:#fff}.nav-cta{display:flex;align-items:center;gap:14px;color:#fff;border:1px solid rgba(255,255,255,.28);padding:12px 17px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.04em;transition:.25s ease}.nav-cta span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--red)}.nav-cta:hover{background:#fff;color:#111;transform:translateY(-2px)}
.eyebrow{margin:0 0 20px;font-size:11px;font-weight:900;letter-spacing:.19em;text-transform:uppercase;color:#cfcfcf;display:flex;align-items:center;gap:10px}.eyebrow span{width:34px;height:2px;background:var(--red);display:inline-block}.eyebrow.dark{color:#666}.hero{min-height:840px;background:#080808;color:#fff;position:relative;display:flex;align-items:center;overflow:hidden;padding:145px 0 95px}.hero:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-120px;height:200px;background:var(--paper);border-radius:50% 50% 0 0/30% 30% 0 0;z-index:2}.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.orb-one{width:550px;height:550px;right:-180px;top:30px;background:radial-gradient(circle,rgba(213,33,43,.24),rgba(213,33,43,0) 68%)}.orb-two{width:480px;height:480px;left:-230px;bottom:-50px;background:radial-gradient(circle,rgba(255,255,255,.08),rgba(255,255,255,0) 68%)}.hero-layout{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:80px;position:relative;z-index:4}.hero h1,.section-heading h2,.reviews-intro h2,.about-copy h2,.contact-content h2{font-family:"Barlow Condensed",Impact,sans-serif;text-transform:uppercase;letter-spacing:-.035em}.hero h1{font-size:clamp(78px,9vw,132px);line-height:.78;margin:0 0 34px;font-weight:900}.hero h1 em,.section-heading h2 em,.reviews-intro h2 em,.about-copy h2 em,.contact-content h2 em{font-style:normal;color:var(--red)}.hero-text{max-width:590px;color:#bcbcbc;font-size:17px;line-height:1.75;margin:0 0 32px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:0 21px;border-radius:999px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease}.btn-primary{background:var(--red);color:#fff;box-shadow:0 12px 34px rgba(213,33,43,.2)}.btn-primary:hover{background:var(--red2);transform:translateY(-3px);box-shadow:0 16px 42px rgba(213,33,43,.3)}.btn-ghost{border:1px solid rgba(255,255,255,.25);color:#fff}.btn-ghost:hover{background:#fff;color:#111;transform:translateY(-3px)}.hero-proof{display:flex;gap:40px;margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}.hero-proof div{display:flex;flex-direction:column;gap:5px}.hero-proof strong{font-family:"Barlow Condensed";font-size:24px}.hero-proof span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#777}.hero-visual{position:relative;min-height:590px}.photo{position:absolute;margin:0;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.35);background:#111}.photo img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.photo:hover img{transform:scale(1.035)}.photo-main{right:8%;top:6%;width:69%;height:78%;border-radius:180px 20px 150px 20px;transform:rotate(2deg)}.photo-top{left:0;top:0;width:38%;height:34%;border-radius:18px 90px 18px 18px;transform:rotate(-5deg);border:7px solid #080808}.photo-bottom{right:0;bottom:2%;width:40%;height:30%;border-radius:18px 18px 18px 90px;transform:rotate(5deg);border:7px solid #080808}.shine-tag{position:absolute;left:4%;bottom:13%;background:var(--red);color:#fff;width:150px;height:150px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-size:10px;letter-spacing:.13em;transform:rotate(-10deg);box-shadow:0 18px 45px rgba(213,33,43,.25)}.shine-tag span{font-size:24px;margin-bottom:6px}.shine-tag strong{font-size:16px;letter-spacing:.04em}.scroll-cue{position:absolute;left:30px;bottom:165px;z-index:5;display:flex;align-items:center;gap:11px;transform:rotate(-90deg);transform-origin:left center;color:#666;font-size:9px;letter-spacing:.18em}.scroll-cue i{width:44px;height:1px;background:#666;display:block}.marquee{position:relative;z-index:5;background:var(--red);color:#fff;overflow:hidden;transform:rotate(-1.2deg);margin:-10px -10px 0;padding:14px 0}.marquee-track{display:flex;align-items:center;gap:26px;width:max-content;animation:marquee 28s linear infinite;font-family:"Barlow Condensed";font-weight:800;font-size:22px;letter-spacing:.06em}.marquee-track b{font-size:15px;font-weight:400}@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:120px 0}.services-section{padding-top:150px}.split-heading{display:grid;grid-template-columns:1.1fr .7fr;gap:90px;align-items:end;margin-bottom:64px}.section-heading h2{font-size:clamp(55px,7vw,88px);line-height:.84;margin:0;font-weight:900}.split-heading>p{color:#676767;line-height:1.75;max-width:490px;margin:0 0 6px}.service-flow{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:70px 1.1fr 1fr 50px;gap:30px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .3s ease,background .3s ease}.service-row:before{content:"";position:absolute;inset:0 100% 0 0;background:#111;transition:inset .35s cubic-bezier(.2,.7,.2,1);z-index:-1}.service-row:hover:before{inset:0}.service-row:hover{color:#fff;padding-left:24px;padding-right:24px}.service-row:hover p,.service-row:hover .service-title span,.service-row:hover .service-index{color:#aaa}.service-row:hover .service-arrow{background:var(--red);color:#fff;border-color:var(--red);transform:rotate(45deg)}.service-index{font-family:"Barlow Condensed";font-size:17px;color:#888}.service-title h3{font-family:"Barlow Condensed";font-size:36px;text-transform:uppercase;margin:0;line-height:1}.service-title span{display:block;margin-top:6px;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#888;font-weight:800}.service-row p{margin:0;color:#777;font-size:14px;line-height:1.65}.service-arrow{width:42px;height:42px;border:1px solid #bbb;border-radius:50%;display:grid;place-items:center;font-size:18px;transition:.3s ease}.accent-row .service-title h3{color:var(--red)}.quote-band{margin-top:70px;background:#0d0d0d;color:#fff;min-height:260px;border-radius:90px 18px 90px 18px;padding:45px 55px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.quote-band:after{content:"";position:absolute;width:260px;height:260px;border:45px solid rgba(213,33,43,.15);border-radius:50%;right:140px;top:-120px}.quote-band h3{font-family:"Barlow Condensed";font-size:48px;text-transform:uppercase;margin:6px 0}.quote-band p{margin:0;color:#999}.mini-label{font-size:9px;color:var(--red);font-weight:900;letter-spacing:.18em}.round-cta{width:132px;height:132px;border-radius:50%;background:var(--red);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative;z-index:2;transition:.3s ease}.round-cta span{font-size:11px;font-weight:900;letter-spacing:.12em}.round-cta b{font-size:28px}.round-cta:hover{transform:rotate(8deg) scale(1.04);background:var(--red2)}
.work-showcase{background:#0a0a0a;color:#fff;padding:120px 0 100px;overflow:hidden}.gallery-heading{margin-bottom:50px}.gallery-heading h2{font-size:clamp(70px,9vw,116px)}.gallery-rail{display:flex;gap:18px;overflow-x:auto;padding:0 max(24px,calc((100vw - var(--max))/2)) 18px;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery-rail::-webkit-scrollbar{display:none}.gallery-item{flex:0 0 clamp(280px,31vw,470px);height:430px;border:0;padding:0;background:#151515;position:relative;overflow:hidden;border-radius:24px;cursor:pointer;scroll-snap-align:center;transform:translateZ(0)}.gallery-item.tall{height:560px}.gallery-item.wide{flex-basis:clamp(360px,43vw,650px)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s ease}.gallery-item:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8))}.gallery-item span{position:absolute;left:22px;bottom:20px;z-index:2;color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:900}.gallery-item:hover img{transform:scale(1.045);filter:saturate(1.08)}.gallery-hint{width:min(var(--max),calc(100% - 48px));margin:22px auto 0;color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.gallery-hint span{color:var(--red);font-size:18px;margin-left:7px}
.reviews-section{position:relative;background:#111;color:#fff;padding:130px 0;overflow:hidden}.review-glow{position:absolute;width:650px;height:650px;right:-180px;top:-220px;background:radial-gradient(circle,rgba(213,33,43,.2),transparent 68%);border-radius:50%}.reviews-intro{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.reviews-intro h2{font-size:clamp(60px,7vw,94px);line-height:.85;margin:0}.rating-badge{display:flex;flex-direction:column;align-items:flex-end}.rating-badge strong{font-family:"Barlow Condensed";font-size:64px;line-height:.8}.rating-badge span{color:#f6bc00;letter-spacing:3px;margin:12px 0 5px}.rating-badge small{color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.reviews-slider{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.review-card{min-height:345px;border:1px solid #2c2c2c;border-radius:70px 14px 70px 14px;padding:32px 28px;background:linear-gradient(145deg,#171717,#101010);display:flex;flex-direction:column;position:relative;transition:.3s ease}.review-card:nth-child(even){transform:translateY(24px)}.review-card:hover{transform:translateY(-7px);border-color:#555}.review-card:nth-child(even):hover{transform:translateY(17px)}.review-card .quote{font-family:Georgia,serif;font-size:64px;color:var(--red);height:45px;line-height:1}.review-card .stars{color:#f6bc00;letter-spacing:2px;font-size:12px}.review-card p{font-size:15px;line-height:1.7;color:#d4d4d4}.review-card footer{margin-top:auto;border-top:1px solid #2a2a2a;padding-top:17px;display:flex;flex-direction:column;gap:4px}.review-card footer strong{font-size:13px}.review-card footer span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#666}.review-actions{display:flex;gap:25px;margin-top:55px}.review-actions a{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;border-bottom:1px solid #555;padding-bottom:4px}.review-actions a:hover{color:var(--red);border-color:var(--red)}
.about-section{padding:145px 0;background:var(--paper)}.about-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:110px;align-items:center}.about-copy h2{font-size:clamp(58px,7vw,91px);line-height:.86;margin:0 0 32px}.about-copy>p:not(.eyebrow){color:#666;font-size:16px;line-height:1.8;max-width:510px}.area-tags{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.area-tags span{border:1px solid #cfcfcf;border-radius:999px;padding:9px 13px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.text-link{display:inline-flex;gap:12px;align-items:center;color:var(--red);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.about-visual{position:relative;min-height:570px}.about-main{position:absolute;right:0;top:0;width:82%;height:82%;object-fit:cover;border-radius:24px 120px 24px 24px}.about-float{position:absolute;left:0;bottom:0;width:44%;height:45%;object-fit:cover;border:10px solid var(--paper);border-radius:80px 20px 20px 20px}.firefighter-stamp{position:absolute;right:2%;bottom:3%;width:145px;height:145px;background:var(--red);color:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;transform:rotate(7deg);box-shadow:0 20px 45px rgba(213,33,43,.22)}.firefighter-stamp span{font-size:8px;letter-spacing:.18em}.firefighter-stamp strong{font-family:"Barlow Condensed";font-size:30px;line-height:1}
.contact-section{min-height:700px;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.contact-image,.contact-overlay{position:absolute;inset:0}.contact-image img{width:100%;height:100%;object-fit:cover}.contact-overlay{background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.76) 48%,rgba(0,0,0,.18) 100%)}.contact-content{position:relative;z-index:2}.contact-content h2{font-size:clamp(68px,8vw,108px);line-height:.84;margin:0 0 26px;max-width:800px}.contact-content>p:not(.eyebrow){color:#c9c9c9;max-width:520px;line-height:1.7}.contact-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0 48px}.btn-light{background:#fff;color:#111}.btn-light:hover{transform:translateY(-3px)}.contact-meta{display:flex;gap:28px;flex-wrap:wrap}.contact-meta a{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#ccc;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:4px}.contact-meta a:hover{color:#fff;border-color:var(--red)}
.site-footer{background:#050505;color:#777;padding:30px 0 90px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner img{width:160px;height:54px;object-fit:contain}.footer-inner p,.footer-inner a{font-size:10px;letter-spacing:.06em}.mobile-bar{display:none}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:120;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:90vh;object-fit:contain;border-radius:12px}.lightbox-close{position:absolute;right:23px;top:14px;border:0;background:transparent;color:#fff;font-size:42px;cursor:pointer}
.hero-reveal{opacity:0;transform:translateY(28px) scale(.985);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.2,1)}.hero-reveal-delay{transition-delay:.16s}body.loaded .hero-reveal{opacity:1;transform:none}.reveal{opacity:0;transform:translateY(34px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.2,1)}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1000px){.desktop-nav{display:none}.hero-layout{grid-template-columns:1fr;gap:40px}.hero{padding-top:120px;min-height:auto}.hero-visual{min-height:520px;max-width:760px}.split-heading,.about-layout{grid-template-columns:1fr;gap:44px}.service-row{grid-template-columns:55px 1fr 42px}.service-row p{grid-column:2/4;margin-top:-10px}.reviews-slider{grid-template-columns:1fr 1fr}.review-card:nth-child(even){transform:none}.about-visual{max-width:760px}.contact-overlay{background:rgba(0,0,0,.74)}}
@media(max-width:650px){.container{width:min(var(--max),calc(100% - 28px))}.nav{height:70px}.brand img{width:145px}.nav-cta{padding:9px 11px}.hero{padding:110px 0 105px}.hero:after{bottom:-150px}.hero h1{font-size:72px}.hero-text{font-size:15px}.hero-proof{gap:18px;flex-direction:column;margin-top:34px}.hero-visual{min-height:420px}.photo-main{right:2%;width:82%;height:72%;border-radius:110px 14px 95px 14px}.photo-top{width:40%;height:29%}.photo-bottom{width:43%;height:27%}.shine-tag{width:105px;height:105px;font-size:8px;bottom:14%;left:1%}.shine-tag strong{font-size:12px}.scroll-cue{display:none}.marquee-track{font-size:18px}.section{padding:90px 0}.services-section{padding-top:120px}.split-heading{margin-bottom:45px}.section-heading h2{font-size:58px}.service-row{padding:25px 0;grid-template-columns:42px 1fr 38px;gap:12px}.service-row p{font-size:13px}.service-title h3{font-size:29px}.service-row:hover{padding-left:10px;padding-right:10px}.quote-band{padding:34px 27px;display:block;border-radius:55px 12px 55px 12px}.quote-band h3{font-size:38px}.round-cta{width:100px;height:100px;margin:28px 0 0 auto}.work-showcase{padding:90px 0 75px}.gallery-heading h2{font-size:70px}.gallery-item,.gallery-item.tall{height:390px;flex-basis:82vw}.gallery-item.wide{flex-basis:88vw}.reviews-section{padding:95px 0}.reviews-intro{display:block}.rating-badge{align-items:flex-start;margin-top:35px}.reviews-slider{grid-template-columns:1fr}.review-card{min-height:270px;border-radius:48px 12px 48px 12px}.about-section{padding:95px 0}.about-copy h2{font-size:62px}.about-visual{min-height:430px}.about-main{width:88%;height:75%;border-radius:18px 80px 18px 18px}.about-float{width:47%;height:38%;border-width:7px}.firefighter-stamp{width:105px;height:105px}.firefighter-stamp strong{font-size:23px}.contact-section{min-height:660px}.contact-content h2{font-size:69px}.contact-meta{gap:15px;flex-direction:column;align-items:flex-start}.footer-inner{display:block;text-align:center}.footer-inner img{margin:0 auto 12px}.footer-inner p{margin-bottom:13px}.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:100;display:grid;grid-template-columns:.8fr 1.2fr;background:#060606;box-shadow:0 -8px 30px rgba(0,0,0,.25)}.mobile-bar a{padding:14px;text-align:center;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.mobile-bar a:last-child{background:var(--red)}.site-footer{padding-bottom:85px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-track{animation:none!important}*,*::before,*::after{transition:none!important;animation:none!important}.hero-reveal,.reveal{opacity:1!important;transform:none!important}}
