
:root{
  --bg:#050505; --panel:#0f0f0f; --text:#f6f6f6; --muted:#d2d2d2;
  --red:#c80f16; --red2:#ef2b24; --gold:#f1bd2c;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#000;color:var(--text)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,94vw);margin:0 auto}
.topbar{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.92);border-bottom:1px solid #121212;backdrop-filter:blur(8px)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0}
.nav-logo img{height:72px;width:auto}
.nav-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-weight:800;text-transform:uppercase;font-size:15px}
.nav-links a.active{border-bottom:3px solid var(--red);padding-bottom:8px}
.btn-red,.btn-dark,.quote-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 24px;
  font-weight:900;text-transform:uppercase;letter-spacing:.03em;transition:.25s ease;
}
.btn-red,.quote-btn{background:linear-gradient(90deg,var(--red),#951116);color:#fff;clip-path:polygon(0 0,100% 0,94% 100%,0 100%)}
.btn-dark{background:rgba(255,255,255,.04);border:1px solid #666;color:#fff;clip-path:polygon(6% 0,100% 0,94% 100%,0 100%)}
.hero{
  position:relative;overflow:hidden;
  background:
    linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.50) 48%, rgba(0,0,0,.62) 100%),
    url('assets/smoke.jpg') center/cover no-repeat;
}
.hero::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:42%;
  background:
    linear-gradient(90deg, rgba(0,0,0,.15), rgba(0,0,0,.55)),
    url('assets/hero-house.jpg') center/cover no-repeat;
  opacity:.95;
}
.hero::after{
  content:"";position:absolute;inset:-5%;
  background:url('assets/smoke.jpg') center/cover no-repeat;
  mix-blend-mode:screen;opacity:.12;pointer-events:none;animation:smoke 18s linear infinite;
}
@keyframes smoke{0%{transform:translateX(0)}50%{transform:translateX(-2%)}100%{transform:translateX(0)}}
.hero-inner{position:relative;z-index:2;min-height:710px;padding:36px 0}
.hero-copy{max-width:720px;padding-top:80px}
.eyebrow{font-size:22px;letter-spacing:.09em;text-transform:uppercase;color:#ddd}
.tagline{margin:16px 0 10px;font-size:clamp(62px,8.4vw,126px);line-height:.9;font-weight:900;text-transform:uppercase}
.tagline .red{color:var(--red2);font-style:italic}
.subcopy{font-size:clamp(18px,2vw,24px);text-transform:uppercase;letter-spacing:.08em}
.google-rating{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.google-pill{display:inline-flex;align-items:center;gap:10px;background:rgba(0,0,0,.45);border:1px solid #333;padding:10px 14px;border-radius:999px}
.google-g{width:24px;height:24px;border-radius:50%;background:#1a73e8;display:inline-flex;align-items:center;justify-content:center;font-weight:900}
.stars-inline{color:var(--gold);font-size:20px;letter-spacing:3px}
.rating-copy{font-weight:900;text-transform:uppercase;font-size:14px;letter-spacing:.06em}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px}
.hero-truck{position:absolute;right:0;bottom:0;width:min(52vw,760px)}
.hero-truck img{width:100%;height:auto;filter:drop-shadow(0 10px 28px rgba(0,0,0,.4))}
.trustbar{background:#080808;border-top:1px solid #111;border-bottom:1px solid #111}
.trust-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding:14px 0;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.trust-item{display:flex;align-items:center;justify-content:center;gap:12px}
.trust-item .icon{color:var(--red2);font-size:28px}
.section{padding:34px 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-card{position:relative;min-height:220px;background:#111;overflow:hidden;border:1px solid #333;transform:skewX(-10deg)}
.service-card>*{transform:skewX(10deg)}
.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.86)}
.service-card .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.66))}
.service-card .content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:22px}
.service-card h3{margin:0 0 6px;font-size:24px;text-transform:uppercase}
.service-card p{margin:0;color:#f0f0f0;text-transform:uppercase;letter-spacing:.04em}
.service-card .arrow{color:var(--red2);font-size:34px;font-weight:900}
.two-col{display:grid;grid-template-columns:1fr 1.1fr;gap:24px}
.panel{background:rgba(10,10,10,.74);border:1px solid #282828;padding:22px}
.panel-title{margin:0 0 16px;font-size:22px;font-weight:900;color:var(--red2);text-transform:uppercase}
.area-list{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:12px 20px;text-transform:uppercase;font-size:18px}
.area-list div::before{content:"📍";margin-right:8px}
.review-box{background:rgba(10,10,10,.74);border:1px solid #333;padding:26px;clip-path:polygon(7% 0,100% 0,93% 100%,0 100%)}
.stars{font-size:30px;color:var(--gold);letter-spacing:6px;text-align:center}
.quote{margin:10px 0 8px;font-size:20px;text-transform:uppercase;text-align:center}
.author{color:#ef4d42;text-align:center;font-style:italic}
.house-band{margin-top:16px;border-top:1px solid #2d2d2d;border-bottom:1px solid #2d2d2d}
.house-band img{width:100%;height:260px;object-fit:cover;filter:brightness(.8)}
.cta-band{background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.45)),url('assets/smoke.jpg') center/cover no-repeat;padding:34px 0 28px}
.cta-band h2{margin:0 0 14px;font-size:28px;text-transform:uppercase}
.cta-actions{display:flex;gap:16px;flex-wrap:wrap}
.footer{padding:18px 0 28px;background:#050505}
.footer-row{display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap;font-size:20px}
.footer-row .icon{color:var(--red2);font-size:28px}
.footer-note{text-align:center;color:#cfcfcf;font-size:14px;margin-top:10px}
.mobile-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;background:#050505;border-top:1px solid #222;padding:10px 12px}
.mobile-sticky .wrap{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mobile-sticky a{text-align:center;padding:14px 8px;font-size:14px}

/* Intro */
.intro{
  position:fixed;inset:0;z-index:9999;background:radial-gradient(circle at center, rgba(30,0,0,.35) 0%, rgba(0,0,0,.92) 45%, #000 100%);
  display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;
  animation:introHide 1s ease forwards 5.5s;
}
.intro::before,.intro::after{
  content:"";position:absolute;inset:-10%;background:url('assets/smoke.jpg') center/cover no-repeat;opacity:.16;mix-blend-mode:screen;animation:introSmoke 12s linear infinite
}
.intro::after{opacity:.10;animation-duration:18s;transform:scale(1.1)}
@keyframes introSmoke{0%{transform:translateX(0)}50%{transform:translateX(-2%)}100%{transform:translateX(0)}}
.intro-logo{position:relative;z-index:2;width:min(560px,82vw);opacity:0;transform:translateY(18px) scale(.92);animation:introLogoIn .9s ease forwards .2s}
@keyframes introLogoIn{to{opacity:1;transform:none}}
.intro-spider{
  position:absolute; z-index:3; width:min(28vw,220px); opacity:0;
  animation:introSpiderShow .15s linear forwards 1.25s, introSpiderCrawl 1.65s cubic-bezier(.22,.61,.36,1) forwards 1.35s, introSpiderFade .2s linear forwards 3.12s;
}
@keyframes introSpiderShow{to{opacity:1}}
@keyframes introSpiderCrawl{
  0%{left:18%; top:48%; transform:scale(.85) rotate(-8deg)}
  22%{left:34%; top:44%; transform:scale(.95) rotate(3deg)}
  54%{left:50%; top:41%; transform:scale(1.05) rotate(-3deg)}
  78%{left:62%; top:39%; transform:scale(1.02) rotate(2deg)}
  100%{left:73%; top:38%; transform:scale(1) rotate(0)}
}
@keyframes introSpiderFade{to{opacity:0}}
.intro-title{
  position:relative; z-index:2; margin:24px 0 0; font-size:clamp(46px,9vw,124px);
  text-transform:uppercase; line-height:.92; opacity:0;
  animation:introTitleIn 1s cubic-bezier(.2,.8,.2,1) forwards 3.2s;
}
.intro-title .red{color:var(--red2); font-style:italic}
.intro-sub{position:relative;z-index:2;opacity:0;text-transform:uppercase;letter-spacing:.12em;color:#ddd;animation:introSubIn .6s ease forwards 4.0s}
@keyframes introTitleIn{0%{opacity:0;transform:translateY(34px) scale(.94);filter:blur(8px)}100%{opacity:1;transform:none;filter:none}}
@keyframes introSubIn{to{opacity:1}}
@keyframes introHide{to{opacity:0;visibility:hidden;pointer-events:none}}

@media (max-width:980px){
  .nav{justify-content:center}.nav-logo img{height:62px}.nav-links{justify-content:center;gap:18px;font-size:13px}
  .hero::before{width:100%;opacity:.45}
  .hero-inner{min-height:auto;padding:28px 0 40px}
  .hero-copy{max-width:none;text-align:center;padding-top:20px}
  .hero-truck{position:relative;width:min(92vw,520px);margin:18px auto 0}
  .google-rating,.hero-actions{justify-content:center}
  .cards,.two-col{grid-template-columns:1fr}
}
@media (max-width:760px){
  .hero{background-position:center top}
  .hero-inner{padding:20px 0 30px}
  .tagline{font-size:clamp(54px,13vw,84px)}
  .subcopy{font-size:16px;letter-spacing:.05em}
  .hero-actions a{flex:1 1 260px}
  .trust-row{grid-template-columns:1fr;gap:10px}
  .house-band img{height:180px}
  .footer-row{font-size:16px;gap:16px}
  .mobile-sticky{display:block}
  body{padding-bottom:74px}
  .intro-spider{width:min(42vw,170px)}
}
