@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');
:root{--black:#090909;--ink:#151515;--white:#fff;--bone:#f5f4f1;--muted:#6d6d6a;--line:#d9d7d2;--red:#B5A084;--red-dark:#8a7660;--max:1280px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"DM Sans",Arial,sans-serif;background:var(--bone);color:var(--ink);line-height:1.55}img{display:block;width:100%;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 48px));margin:auto}.eyebrow{font:700 .72rem/1.2 "IBM Plex Mono",monospace;letter-spacing:.13em;text-transform:uppercase;color:#fff}.red-text{color:var(--red)}h1,h2,h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;line-height:.9;letter-spacing:-.025em}h1 span,h2 span{color:var(--red)}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;background:rgba(9,9,9,.97);border-bottom:1px solid #2c2c2c;color:#fff}.site-header:before{content:"";display:block;height:4px;background:var(--red)}
.nav-wrap{height:76px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:9px;margin-right:auto}.brand img{width:42px;height:42px;object-fit:contain}.brand-name{display:flex;flex-direction:column;line-height:.9}.brand-name strong{font:800 1.02rem "Barlow Condensed";letter-spacing:.02em}.brand-name small{font:700 .58rem "IBM Plex Mono";color:var(--red);letter-spacing:.18em;margin-top:4px}
.site-header nav{display:flex;align-items:center;gap:27px}.site-header nav a{font-size:.72rem;font-weight:700;text-transform:uppercase;position:relative;padding:8px 0}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:1px;height:2px;background:var(--red);transition:.2s}.site-header nav a:hover:after,.site-header nav a.active:after{right:0}
.nav-phone{border:1px solid var(--red);padding:10px 15px;font:600 .74rem "IBM Plex Mono";white-space:nowrap}.nav-phone span{color:var(--red);margin-right:6px}.menu{display:none;background:none;border:0}.menu span{display:block;width:24px;height:2px;background:#fff;margin:5px}
.hero{height:min(720px,100svh);min-height:600px;position:relative;overflow:hidden;background:#000;color:#fff;padding-top:80px}.hero-media{position:absolute;inset:0}.hero-media img{height:100%;object-fit:cover;object-position:center 45%}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.58) 42%,rgba(0,0,0,.16) 75%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%)}
.hero-content{position:relative;z-index:2;padding-top:145px;max-width:720px}.hero-content .eyebrow i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin:0 9px}.hero h1{font-size:clamp(4rem,8vw,7.5rem);margin:18px 0 22px}.hero .lead{max-width:520px;color:rgba(255,255,255,.88);font-size:1rem}.hero-actions{display:flex;gap:12px;margin-top:27px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 18px;border:1px solid transparent;text-transform:uppercase;font-size:.73rem;font-weight:800;letter-spacing:.03em;transition:.2s}.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:#8a7660;transform:translateY(-2px)}.btn-black{background:var(--black);color:#fff}.btn-outline{border-color:#fff;color:#fff}.btn-outline:hover{background:#fff;color:#111}.text-link{font:600 .72rem "IBM Plex Mono";text-transform:uppercase;color:var(--red)}
.manifest{background:#080808;color:#fff;border-top:1px solid #303030;border-bottom:1px solid #303030}.manifest-inner{display:grid;grid-template-columns:repeat(4,1fr)}.manifest-item{min-height:82px;padding:20px 24px;border-right:1px solid #2d2d2d;display:flex;flex-direction:column;justify-content:center}.manifest-item:last-child{border:0}.manifest-item small{font:600 .6rem "IBM Plex Mono";color:#999;text-transform:uppercase;letter-spacing:.1em}.manifest-item strong{font:800 .92rem "Barlow Condensed";letter-spacing:.03em}.manifest-item .accent{color:var(--red)}
.section{padding:92px 0}.section-light{background:var(--white)}.what-we-do{background:var(--white)}.what-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:60px;align-items:center}.what-photo{position:relative;overflow:hidden;background:#111}.what-photo img{height:500px;object-fit:cover}.photo-label{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;background:linear-gradient(transparent,rgba(0,0,0,.85));display:flex;justify-content:space-between;color:#fff;font:600 .68rem "IBM Plex Mono"}.photo-label span{color:var(--red)}.what-copy h2{font-size:clamp(3.1rem,5vw,5.5rem);margin:15px 0 18px}.large-copy{font-size:1rem;color:#4f4f4d;max-width:600px}.what-points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:32px 0}.what-points>div{border-top:3px solid var(--red);padding-top:12px}.what-points>div>span{display:inline-flex;background:var(--red);color:#fff;width:29px;height:29px;align-items:center;justify-content:center;font:600 .7rem "IBM Plex Mono";margin-bottom:12px}.what-points h3{font-size:1.05rem}.what-points p{font-size:.78rem;color:var(--muted);margin-top:6px}
.section-head{margin-bottom:40px}.section-head h2{font-size:clamp(3.2rem,6vw,6rem);margin-top:13px}.section-head p:not(.eyebrow){color:var(--muted);max-width:620px;margin-top:15px}.row-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{background:#fff;border:1px solid var(--line);overflow:hidden}.service-card img{height:220px;object-fit:cover}.service-card-body{padding:22px}.number{display:inline-flex;background:var(--red);color:#fff;width:29px;height:29px;align-items:center;justify-content:center;font:600 .7rem "IBM Plex Mono"}.service-card h3{font-size:1.7rem;margin:14px 0 7px}.service-card p{color:var(--muted);font-size:.85rem}
.gallery-band{background:#090909;color:#fff}.dark-head p:not(.eyebrow){color:#bcbcb8}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}.gallery-grid img{height:290px;object-fit:cover}.gallery-grid img:first-child{height:290px}

.cta{background:var(--red);color:#fff;padding:70px 0}.cta h2{font-size:clamp(3.4rem,6vw,6.5rem);margin:12px 0}.cta p:not(.eyebrow){max-width:600px;margin-bottom:25px;color:rgba(255,255,255,.9)}.cta .btn-black{background:#080808}
.page-hero{min-height:520px;padding-top:80px;position:relative;display:flex;align-items:end;background:#111;color:#fff;overflow:hidden}.page-hero-image{position:absolute;inset:0}.page-hero-image img{height:100%;object-fit:cover}.page-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.3)),linear-gradient(0deg,rgba(0,0,0,.55),transparent 60%)}.page-hero-content{position:relative;z-index:2;padding:95px 0 70px;max-width:760px}.page-hero h1{font-size:clamp(4rem,8vw,7.5rem);margin:16px 0 18px}.page-hero p:not(.eyebrow){max-width:580px;color:#ddd}
.service-list{display:grid;gap:15px}.service-list article{display:grid;grid-template-columns:300px 1fr;gap:30px;border:1px solid var(--line);background:#fff}.service-list img{height:220px;object-fit:cover}.service-list article>div{padding:28px 28px 28px 0}.service-list h3{font-size:2.2rem;margin:12px 0 8px}.service-list p{max-width:650px;color:var(--muted)}
.dark-band{background:#090909;color:#fff}.split-call{display:flex;justify-content:space-between;align-items:center;gap:30px}.split-call h2{font-size:clamp(3.5rem,6vw,6.2rem);margin-top:12px}.dark-copy{max-width:700px;color:#bbb;margin-top:22px;font-size:1.05rem}
.gallery-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery-page-grid figure{background:#fff;border:1px solid var(--line)}.gallery-page-grid img{height:290px;object-fit:cover}.gallery-page-grid figcaption{padding:13px 15px;font:600 .7rem "IBM Plex Mono";text-transform:uppercase}
.coverage-hero{background:#0a0a0a;color:#fff;padding:155px 0 85px}.coverage-hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}.coverage-hero h1{font-size:clamp(4rem,7vw,7rem);margin:15px 0}.coverage-hero p:not(.eyebrow){color:#ccc;max-width:550px}.route-map{height:430px;background:radial-gradient(circle at 50% 45%,#272727,#0c0c0c 70%);position:relative;border:1px solid #333;overflow:hidden}.map-outline{position:absolute;inset:14%;border:2px solid rgba(181,160,132,.75);clip-path:polygon(15% 7%,55% 0,91% 18%,86% 56%,68% 93%,33% 84%,5% 53%);transform:rotate(-4deg)}.map-pin{position:absolute;width:12px;height:12px;background:var(--red);border-radius:50%;box-shadow:0 0 0 7px rgba(181,160,132,.12)}.pin-1{left:37%;top:55%}.pin-2{right:32%;top:34%}.map-label{position:absolute;color:#fff;font:600 .63rem "IBM Plex Mono";letter-spacing:.08em}.label-1{left:39%;top:60%}.label-2{right:28%;top:28%}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:start}.about-grid h2{font-size:clamp(3.6rem,6vw,6.2rem);margin:14px 0 20px}.about-grid p{max-width:650px;color:#555;margin:12px 0}.fact-card{border-top:4px solid var(--red);background:#f1f0ed;padding:28px}.fact-card h3{font-size:1.9rem;margin-bottom:20px}.fact-card dl{display:grid;grid-template-columns:110px 1fr;gap:14px 20px}.fact-card dt{font:600 .65rem "IBM Plex Mono";color:#777;text-transform:uppercase}.fact-card dd{font-size:.88rem}
.about-photos{display:grid;grid-template-columns:1fr 1fr;gap:15px}.about-photos figure{background:#fff;border:1px solid var(--line)}.about-photos img{height:380px;object-fit:cover}.about-photos figcaption{padding:13px 15px;font:600 .7rem "IBM Plex Mono";text-transform:uppercase}
.contact-hero{background:#0a0a0a;color:#fff;padding:165px 0 90px}.contact-hero h1{font-size:clamp(4rem,8vw,7.8rem);margin:16px 0}.contact-hero p:not(.eyebrow){max-width:600px;color:#ccc}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.contact-details h2,.quote-form h2{font-size:clamp(3rem,5vw,5rem);margin:12px 0 30px}.contact-row{display:grid;grid-template-columns:90px 1fr;gap:20px;border-top:1px solid var(--line);padding:16px 0;font-size:.9rem}.contact-row span{font:600 .65rem "IBM Plex Mono";color:#777;text-transform:uppercase}.contact-row a{font-weight:700}.hours{margin-top:24px;border-top:3px solid var(--red);padding-top:16px;display:grid;gap:6px;font-size:.85rem}.hours b{font:600 .65rem "IBM Plex Mono";text-transform:uppercase}.quote-form{background:#f0efeb;padding:30px;border-top:4px solid var(--red)}.quote-form label{display:grid;gap:6px;font-size:.75rem;font-weight:700;margin:14px 0}.quote-form input,.quote-form textarea{border:1px solid #c9c7c1;background:#fff;padding:12px;outline:none}.quote-form input:focus,.quote-form textarea:focus{border-color:var(--red)}.form-status{font-size:.8rem;margin-top:12px;color:var(--red)}
.site-footer{background:#080808;color:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr 1fr;gap:45px;padding:45px 0}.footer-brand .brand{margin-bottom:16px}.footer-brand p{color:#999;max-width:260px;font-size:.8rem}.site-footer h4{font:700 .68rem "IBM Plex Mono";text-transform:uppercase;color:#aaa;margin-bottom:13px}.site-footer .footer-grid>div>a,.site-footer .footer-grid>div>span{display:block;color:#ddd;font-size:.74rem;margin:7px 0}.footer-contact a{font-family:"IBM Plex Mono"}.footer-bottom{border-top:1px solid #2b2b2b;padding:13px 24px;display:flex;justify-content:space-between;color:#777;font-size:.65rem}.footer-bottom b{color:var(--red)}
@media(max-width:900px){.site-header nav{display:none}.menu{display:block}.nav-phone{margin-left:auto}.what-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.about-photos{grid-template-columns:1fr}.service-grid,.gallery-page-grid,.coverage-cards{grid-template-columns:1fr 1fr}.manifest-inner{grid-template-columns:1fr 1fr}.manifest-item:nth-child(2){border-right:0}.what-points{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid img{height:230px}.gallery-grid img:first-child{grid-column:span 2}.footer-grid{grid-template-columns:1fr 1fr}.split-call{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.container{width:min(var(--max),calc(100% - 30px))}.nav-wrap{height:68px}.brand img{width:36px;height:36px}.brand-name strong{font-size:.9rem}.brand-name small{font-size:.5rem}.nav-phone{font-size:.65rem;padding:8px 10px}.hero{min-height:650px;height:86svh;padding-top:68px}.hero-content{padding-top:150px}.hero h1,.page-hero h1,.contact-hero h1{font-size:4rem}.manifest-inner{grid-template-columns:1fr 1fr}.manifest-item{min-height:70px;padding:13px}.manifest-item strong{font-size:.78rem}.section{padding:65px 0}.service-grid,.gallery-page-grid,.coverage-cards{grid-template-columns:1fr}.row-head{align-items:flex-start;flex-direction:column}.gallery-grid{grid-template-columns:1fr}.gallery-grid img:first-child{grid-column:auto}.gallery-grid img{height:230px}.service-list article{grid-template-columns:1fr}.service-list img{height:220px}.service-list article>div{padding:20px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{grid-column:span 2}.footer-bottom{flex-direction:column;gap:6px}.what-photo img{height:360px}.coverage-hero{padding:130px 0 65px}.route-map{height:320px}.contact-hero{padding:130px 0 70px}}
