/* ============================================================
   LUXE AUTO SPA — Website System
   Built on Brand Standards v1.0
   ============================================================ */

:root{
  --ink:#111111;
  --jet:#191919;
  --pitch:#1F1F1F;
  --char:#262626;
  --smoke:#333333;
  --steel:#464646;
  --concrete:#6E6E6E;
  --silver:#BFBFBF;
  --bone:#EFEFEC;
  --paper:#F7F7F4;
  --apex:#6FE82C;
  --apex-bright:#B8FF42;
  --apex-deep:#2E7D14;
  --apex-glow: 0 0 60px rgba(111,232,44,.30), 0 0 8px rgba(184,255,66,.45);

  --display:'Antonio','Oswald','Helvetica Neue Condensed',system-ui,sans-serif;
  --display-narrow:'Oswald',system-ui,sans-serif;
  --body:'Geist',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;

  --maxw:1320px;
  --pad:48px;
  --nav-h:72px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
html,body{background:var(--ink);color:var(--bone);font-family:var(--body);-webkit-font-smoothing:antialiased;}
body{font-size:16px;line-height:1.5;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--apex);color:#06170a;}

/* scrollbar */
body::-webkit-scrollbar{width:10px;}
body::-webkit-scrollbar-track{background:var(--jet);}
body::-webkit-scrollbar-thumb{background:var(--smoke);border:2px solid var(--jet);}
body::-webkit-scrollbar-thumb:hover{background:var(--apex-deep);}

/* ——— UTILITIES ——— */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.mono{font-family:var(--mono);font-weight:500;letter-spacing:.04em;}
.uc{text-transform:uppercase;}
.tabular{font-variant-numeric:tabular-nums;}
.apex{color:var(--apex);}

.label{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--concrete);display:inline-flex;align-items:center;}
.label .dot{display:inline-block;width:6px;height:6px;background:var(--apex);border-radius:50%;margin-right:11px;box-shadow:0 0 10px var(--apex);animation:pulse 2.4s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.45;transform:scale(.7);}}

.h-display{font-family:var(--display);font-weight:700;letter-spacing:0;line-height:.9;text-transform:uppercase;}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--apex);}

/* ——— BUTTONS ——— */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  padding:15px 26px;border:1px solid transparent;cursor:pointer;position:relative;
  transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s,color .25s,box-shadow .25s;
  white-space:nowrap;
}
.btn .arw{transition:transform .3s cubic-bezier(.2,.8,.2,1);}
.btn:hover .arw{transform:translateX(5px);}
.btn-primary{background:var(--apex);color:#06170a;}
.btn-primary:hover{box-shadow:var(--apex-glow);transform:translateY(-2px);}
.btn-ghost{background:transparent;color:var(--bone);border-color:var(--steel);}
.btn-ghost:hover{border-color:var(--apex);color:var(--apex);transform:translateY(-2px);}
.btn-block{width:100%;justify-content:center;}
.btn-lg{padding:19px 34px;font-size:13px;}

/* ——— TOPBAR / NAV ——— */
.topbar{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(0,0,0,.55);backdrop-filter:blur(14px);border-bottom:1px solid rgba(42,42,42,.6);transition:height .3s,background .3s,border-color .3s;}
.topbar-inner{display:flex;align-items:center;gap:28px;height:var(--nav-h);transition:height .3s;}
.topbar.shrunk{background:rgba(0,0,0,.9);}
.topbar.shrunk .topbar-inner{height:60px;}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:700;letter-spacing:.01em;font-size:18px;text-transform:uppercase;flex-shrink:0;}
.brand img{height:26px;width:auto;}
.brand small{display:block;font-family:var(--mono);font-size:8px;font-weight:500;letter-spacing:.28em;color:var(--apex);margin-top:1px;}
.nav-links{display:flex;align-items:center;gap:2px;margin-left:auto;font-family:var(--mono);font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--silver);}
.nav-links>a{padding:9px 9px;position:relative;transition:color .2s;white-space:nowrap;}
.nav-links>a::after{content:"";position:absolute;left:10px;right:10px;bottom:4px;height:1px;background:var(--apex);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.2,.8,.2,1);}
.nav-links>a:hover{color:var(--bone);}
.nav-links>a:hover::after,.nav-links>a.active::after{transform:scaleX(1);}
.nav-links>a.active{color:var(--apex);}
.nav-cta{margin-left:14px;}
.nav-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--smoke);background:transparent;flex-direction:column;gap:5px;align-items:center;justify-content:center;cursor:pointer;}
.nav-toggle span{display:block;width:20px;height:1.5px;background:var(--bone);transition:transform .3s,opacity .3s;}
.nav-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* services mega-dropdown (desktop) */
.nav-svc{position:relative;display:inline-block;}
.nav-svc-trigger{font:inherit;font-family:var(--mono);font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;background:none;border:0;padding:9px 9px;color:var(--silver);cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:color .2s;}
.nav-svc-trigger:hover,.nav-svc-trigger.active{color:var(--apex);}
.nav-svc-trigger .car{font-size:9px;transition:transform .25s;}
.nav-svc.open .nav-svc-trigger .car{transform:rotate(180deg);}
.svc-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);width:640px;max-width:min(80vw,640px);margin-top:16px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:4px;background:rgba(8,8,8,.98);backdrop-filter:blur(16px);border:1px solid var(--smoke);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,transform .22s,visibility 0s linear .22s;}
.nav-svc.open .svc-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);transition:opacity .22s,transform .22s,visibility 0s;}
.svc-menu-item{display:flex;gap:12px;align-items:center;padding:8px;border:1px solid transparent;transition:border-color .2s,background .2s;min-width:0;}
.svc-menu-item:hover{border-color:var(--smoke);background:rgba(255,255,255,.03);}
.svc-menu-item img{width:52px;height:52px;object-fit:cover;flex:none;}
.smi-body{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:break-word;}
.smi-name{font-family:var(--body);font-weight:600;font-size:12.5px;color:var(--bone);line-height:1.25;}
.smi-blurb{font-family:var(--body);font-size:11px;color:var(--concrete);line-height:1.3;}
.smi-price{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--apex);margin-top:2px;}

/* mobile drawer */
.mobile-nav{position:fixed;inset:0;z-index:190;background:rgba(0,0,0,.97);backdrop-filter:blur(8px);display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad);transform:translateY(-100%);visibility:hidden;transition:transform .45s cubic-bezier(.7,0,.2,1),visibility 0s linear .45s;overflow-y:auto;}
.mobile-nav.open{transform:translateY(0);visibility:visible;transition:transform .45s cubic-bezier(.7,0,.2,1),visibility 0s linear 0s;}
.mobile-nav a{font-family:var(--display);font-weight:700;font-size:13vw;line-height:1.02;text-transform:uppercase;color:var(--bone);padding:6px 0;border-bottom:1px solid var(--smoke);transition:color .2s,padding-left .25s;}
.mobile-nav a:hover{color:var(--apex);padding-left:14px;}
.mobile-nav .mn-svc-toggle{font:inherit;font-family:var(--display);font-weight:700;font-size:13vw;line-height:1.02;text-transform:uppercase;color:var(--bone);background:none;border:0;padding:6px 0;border-bottom:1px solid var(--smoke);display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer;}
.mobile-nav .mn-svc-toggle .car{font-size:.45em;transition:transform .25s;}
.mobile-nav .mn-svc-toggle.open .car{transform:rotate(180deg);}
.mobile-nav .mn-svc-list{max-height:0;overflow:hidden;display:flex;flex-direction:column;transition:max-height .35s ease;}
.mobile-nav .mn-svc-list.open{max-height:70vh;overflow-y:auto;}
.mobile-nav .mn-svc-list a{font-family:var(--mono);font-size:15px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--silver);padding:12px 0 12px 18px;border-bottom:1px solid var(--smoke);}
.mobile-nav .mn-svc-list a:hover{color:var(--apex);padding-left:18px;}
.mobile-nav .mn-foot{margin-top:34px;font-family:var(--mono);font-size:11px;color:var(--concrete);letter-spacing:.14em;}

/* ——— CHECKER MOTIF ——— */
.checker{background:repeating-conic-gradient(var(--char) 0% 25%,var(--jet) 0% 50%) 0 0/40px 40px;}

/* studio-floor divider strip — the checker plate, used sparingly as a
   grounding transition (echoes the footer watermark) */
.checker-band{position:relative;height:72px;overflow:hidden;border-top:1px solid var(--smoke);border-bottom:1px solid var(--smoke);
  background:repeating-conic-gradient(#171717 0% 25%,var(--jet) 0% 50%) 0 0/44px 44px;}
.checker-band::before{content:"";position:absolute;inset:0;
  background:
    linear-gradient(transparent calc(100% - 2px),rgba(111,232,44,.55) calc(100% - 2px)) 0 0/44px 44px,
    linear-gradient(90deg,transparent calc(100% - 2px),rgba(111,232,44,.55) calc(100% - 2px)) 0 0/44px 44px;
  mix-blend-mode:screen;opacity:.20;
  -webkit-mask:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);
  mask:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);}
.checker-band .cb-rivet{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:30px;height:30px;background:var(--jet);border:1px solid var(--apex);display:flex;align-items:center;justify-content:center;
  color:var(--apex);font-size:12px;box-shadow:0 0 22px rgba(111,232,44,.35);}

/* ——— IMAGE PLACEHOLDER ——— */
.slot-fill{display:block;width:100%;height:100%;background:var(--char);
  background-image:repeating-linear-gradient(45deg,var(--smoke) 0,var(--smoke) 1px,transparent 0,transparent 50%);
  background-size:18px 18px;}

/* ——— HERO (shared) ——— */
.hero{position:relative;min-height:92vh;display:flex;align-items:flex-end;flex-wrap:wrap;padding:calc(var(--nav-h) + 60px) 0 70px;overflow:hidden;}
.hero-media{position:absolute;inset:0;z-index:0;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s;}
.hero-video.ready{opacity:1;}
.hero-media::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.42) 38%,rgba(0,0,0,.82) 88%,#000 100%),
  radial-gradient(ellipse 70% 60% at 78% 18%,rgba(111,232,44,.14),transparent 60%);}
/* Hero carousel: auto-rotate only, no UI chrome — real photos only (SVG placeholders excluded in JS) */
.hero-media .carousel-nav,.hero-media .carousel-dots,.hero-media .carousel-caption{display:none;}
.hero .wrap{position:relative;z-index:2;width:100%;}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:180px;z-index:1;pointer-events:none;
  background:repeating-conic-gradient(rgba(255,255,255,.03) 0% 25%,transparent 0% 50%) 0 0/44px 44px;
  -webkit-mask:linear-gradient(transparent,#000);mask:linear-gradient(transparent,#000);}
.hero-kicker{margin-bottom:26px;}
.hero h1{font-family:var(--display);font-weight:700;line-height:.86;letter-spacing:0;text-transform:uppercase;color:var(--bone);
  font-size:clamp(54px,9.5vw,150px);}
.hero h1 .g{color:var(--apex);position:relative;}
.hero .lede{margin-top:28px;font-size:clamp(16px,1.5vw,21px);color:var(--silver);max-width:600px;line-height:1.55;}
.hero-actions{margin-top:40px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.hero-strip{position:relative;z-index:2;margin-top:56px;width:100%;}
.hero-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.hero-strip.cols-3 .wrap{grid-template-columns:repeat(3,1fr);}
.hero-strip.cols-2 .wrap{grid-template-columns:repeat(2,1fr);}
.hero-strip .cell{padding:24px 26px;border-right:1px solid var(--smoke);}
.hero-strip .cell:first-child{padding-left:0;}
.hero-strip .cell:last-child{border-right:0;}
.hero-strip .cell .v{font-family:var(--display);font-weight:700;font-size:clamp(34px,4vw,52px);line-height:.9;color:var(--bone);display:flex;align-items:center;gap:.2em;}
.hero-strip .cell .v .u{color:var(--apex);}
.hero-strip .cell .v .star{color:var(--apex);font-size:.42em;transform:translateY(-.05em);}
.hero-strip .cell .k{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--concrete);margin-top:8px;}

/* page hero (service/interior, shorter) */
.phero{position:relative;padding:calc(var(--nav-h) + 80px) 0 0;overflow:hidden;}
.phero-top{position:relative;z-index:2;padding-bottom:54px;}
.phero .idx{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--apex);}
.phero h1{font-family:var(--display);font-weight:700;line-height:.84;letter-spacing:0;text-transform:uppercase;color:var(--bone);font-size:clamp(56px,11vw,168px);margin-top:18px;}
.phero .lede{margin-top:26px;font-size:clamp(16px,1.4vw,20px);color:var(--silver);max-width:640px;line-height:1.55;}
.phero-media{position:relative;z-index:2;height:clamp(280px,46vw,560px);border-top:1px solid var(--smoke);overflow:hidden;}
.phero-media img{width:100%;height:100%;object-fit:cover;display:block;}
.phero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 50% at 85% 8%,rgba(111,232,44,.14),transparent 60%);}

/* ——— SECTION SHELL ——— */
section{position:relative;}
.sec{padding:clamp(72px,9vw,128px) 0;}
.sec-line{border-top:1px solid var(--smoke);}
.sec-head{display:grid;grid-template-columns:minmax(220px,480px) 1fr;gap:48px;margin-bottom:64px;align-items:end;}
.sec-head>div{min-width:0;}
.sec-head .idx{font-family:var(--mono);font-size:11px;color:var(--apex);letter-spacing:.2em;margin-bottom:16px;}
.sec-head h1,.sec-head h2{font-family:var(--display);font-weight:700;font-size:clamp(46px,7vw,104px);line-height:.86;letter-spacing:0;color:var(--bone);text-transform:uppercase;overflow-wrap:break-word;min-width:0;}
.sec-head .desc{padding-bottom:12px;font-size:clamp(15px,1.3vw,18px);color:var(--silver);max-width:560px;line-height:1.6;}

/* ——— MARQUEE ——— */
.marquee{position:relative;overflow:hidden;border-top:1px solid var(--smoke);border-bottom:1px solid var(--smoke);background:var(--ink);}
.marquee.green{background:var(--apex);border-color:var(--apex);}
.marquee-track{display:flex;width:max-content;animation:scrollx 32s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-track .item{display:inline-flex;align-items:center;gap:26px;padding:22px 0;}
.marquee-track .item span{font-family:var(--display);font-weight:700;font-size:clamp(28px,3.6vw,48px);text-transform:uppercase;letter-spacing:.01em;color:var(--bone);padding:0 30px;}
.marquee.green .marquee-track .item span{color:#06170a;}
.marquee-track .item .star{color:var(--apex);font-size:clamp(18px,2vw,26px);}
.marquee.green .marquee-track .item .star{color:#06170a;}
@keyframes scrollx{to{transform:translateX(-50%);}}

/* ——— SERVICE CARDS (home) ——— */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.svc-card{position:relative;border:1px solid var(--smoke);background:var(--jet);overflow:hidden;display:flex;flex-direction:column;min-height:420px;transition:border-color .3s,transform .4s cubic-bezier(.2,.8,.2,1);}
.svc-card:hover{border-color:var(--apex);transform:translateY(-4px);}
.svc-card .svc-media{position:relative;height:240px;overflow:hidden;}
.svc-card .svc-media image-slot,
.svc-card .svc-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.svc-card:hover .svc-media image-slot,
.svc-card:hover .svc-media img{transform:scale(1.06);}
.svc-card .svc-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,10,10,.85));pointer-events:none;}
.svc-card .svc-num{position:absolute;top:16px;left:16px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--apex);}
.svc-card .svc-body{padding:28px 28px 30px;display:flex;flex-direction:column;flex:1;}
.svc-card h3{font-family:var(--display);font-weight:700;font-size:38px;line-height:.92;text-transform:uppercase;}
.svc-card p{margin-top:14px;color:var(--silver);font-size:15px;line-height:1.55;}
.svc-price{font-family:var(--mono);font-weight:700;letter-spacing:.06em;color:var(--apex);}
.svc-card .svc-price{margin-top:18px;font-size:15px;}
.svc-price .sp-div{color:var(--steel);padding:0 6px;}
.svc-card .svc-go{margin-top:auto;padding-top:22px;display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--concrete);transition:color .3s;}
.svc-card:hover .svc-go{color:var(--apex);}
.svc-card .svc-go .arw{transition:transform .3s;}
.svc-card:hover .svc-go .arw{transform:translateX(6px);}

/* ——— FEATURE GRID ——— */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.feat-grid-5{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;}
.feat{border:1px solid var(--smoke);padding:32px 30px 36px;background:var(--jet);position:relative;transition:border-color .3s,background .3s;}
.feat:hover{border-color:var(--apex);}
.feat .fn{font-family:var(--mono);font-size:11px;color:var(--apex);letter-spacing:.2em;}
.feat h3,.feat h4{font-family:var(--display);font-weight:700;font-size:30px;line-height:.96;text-transform:uppercase;margin:14px 0 12px;}
.feat p{color:var(--silver);font-size:14px;line-height:1.6;}

/* ——— PREMIUM SHOWCASE VIDEO (specialty services) ——— */
.premium-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s;}
.premium-video.ready{opacity:1;}
.split-media .premium-video-fallback{z-index:0;}
.split-media .premium-video{z-index:1;}

/* ——— BOXED SERVICE VIDEO (bounded, not full-bleed — e.g. exterior wash, polishing) ——— */
.split-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s;}
.split-video.ready{opacity:1;}
.split-media .split-video-fallback{z-index:0;}
.split-media .split-video{z-index:1;}

/* ——— SPEC TABLE (mono) ——— */
.specsheet{border:1px solid var(--smoke);background:var(--ink);}
.specsheet .sp-head{display:flex;justify-content:space-between;align-items:center;padding:18px 26px;border-bottom:1px solid var(--smoke);font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--concrete);}
.specsheet .sp-head .dot{display:inline-block;width:7px;height:7px;background:var(--apex);border-radius:50%;margin-right:10px;box-shadow:0 0 10px var(--apex);}
.spec-row{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:17px 26px;border-bottom:1px solid rgba(42,42,42,.55);font-family:var(--mono);font-size:13px;transition:background .25s;}
.spec-row:last-child{border-bottom:0;}
.spec-row:hover{background:var(--jet);}
.spec-row .k{color:var(--concrete);letter-spacing:.1em;text-transform:uppercase;}
.spec-row .v{color:var(--bone);}
.spec-row .v b{color:var(--apex);font-weight:700;}

/* ——— PROCESS STEPS ——— */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--smoke);}
.process-3{grid-template-columns:repeat(3,1fr);}
.step{padding:34px 28px 40px;border-right:1px solid var(--smoke);position:relative;transition:background .3s;}
.step:last-child{border-right:0;}
.step:hover{background:var(--jet);}
.step .sn{font-family:var(--display);font-weight:700;font-size:64px;line-height:1;color:var(--smoke);transition:color .3s;}
.step:hover .sn{color:var(--apex);}
.step h3,.step h4{font-family:var(--display);font-weight:700;font-size:24px;text-transform:uppercase;margin:18px 0 12px;letter-spacing:.01em;}
.step p{color:var(--silver);font-size:14px;line-height:1.55;}

/* ——— PRICING TIERS ——— */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.tier{border:1px solid var(--smoke);background:var(--jet);padding:34px 30px 36px;display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .3s;}
.tier:hover{transform:translateY(-5px);border-color:var(--steel);}
.tier.feature{border-color:var(--apex);background:linear-gradient(180deg,rgba(111,232,44,.06),var(--jet) 40%);}
.tier .tn{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--apex);}
.tier h3{font-family:var(--display);font-weight:700;font-size:38px;text-transform:uppercase;line-height:.94;margin:12px 0 4px;}
.tier .price{font-family:var(--display);font-weight:700;font-size:54px;color:var(--bone);margin:18px 0 4px;line-height:1;}
.tier .price small{font-family:var(--mono);font-size:12px;color:var(--concrete);letter-spacing:.1em;display:block;margin-top:8px;font-weight:500;}
.tier ul{list-style:none;margin:24px 0 28px;display:flex;flex-direction:column;gap:13px;flex:1;}
.tier li{display:grid;grid-template-columns:18px 1fr;gap:11px;font-size:14px;color:var(--silver);line-height:1.45;}
.tier li .ck{color:var(--apex);font-family:var(--mono);font-weight:700;}
.tier .feature-tag{position:absolute;}

/* ——— GALLERY ——— */
.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:170px;gap:14px;}
.gcell{position:relative;overflow:hidden;border:1px solid var(--smoke);}
.gcell image-slot,
.gcell img{width:100%;height:100%;object-fit:cover;display:block;}
.gcell .gtag{position:absolute;top:14px;left:14px;z-index:3;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--apex);background:rgba(0,0,0,.55);padding:5px 9px;pointer-events:none;}
.g-a{grid-column:span 7;grid-row:span 2;}
.g-b{grid-column:span 5;grid-row:span 1;}
.g-c{grid-column:span 5;grid-row:span 1;}
.g-d{grid-column:span 4;grid-row:span 2;}
.g-e{grid-column:span 4;grid-row:span 1;}
.g-f{grid-column:span 4;grid-row:span 1;}

/* ——— WHAT WE DETAIL (vehicle-category tiles) ——— */
.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.detail-tile{position:relative;height:220px;overflow:hidden;border:1px solid var(--smoke);display:block;transition:border-color .3s;}
.detail-tile:hover{border-color:var(--apex);}
.detail-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.detail-tile:hover img{transform:scale(1.06);}
.detail-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.82));}
.detail-tile .dt-label{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;font-family:var(--display);font-weight:700;font-size:19px;line-height:1.05;text-transform:uppercase;color:var(--bone);}
.detail-tile .dt-sub{position:absolute;top:14px;left:14px;z-index:2;font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--apex);}
.detail-note{margin-top:22px;color:var(--silver);font-size:14px;line-height:1.6;max-width:640px;}

/* ——— ACCORDION FAQ ——— */
.faq{border-top:1px solid var(--smoke);}
.faq-item{border-bottom:1px solid var(--smoke);}
.faq-q{width:100%;background:transparent;border:0;color:var(--bone);cursor:pointer;text-align:left;
  display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 4px;
  font-family:var(--display);font-weight:600;font-size:clamp(22px,2.6vw,34px);text-transform:uppercase;letter-spacing:.005em;transition:color .25s;}
.faq-q:hover{color:var(--apex);}
.faq-q .pm{flex-shrink:0;width:26px;height:26px;position:relative;}
.faq-q .pm::before,.faq-q .pm::after{content:"";position:absolute;background:var(--apex);transition:transform .3s;}
.faq-q .pm::before{left:0;right:0;top:12px;height:2px;}
.faq-q .pm::after{top:0;bottom:0;left:12px;width:2px;}
.faq-item.open .faq-q .pm::after{transform:scaleY(0);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1);}
.faq-a .inner{padding:0 4px 30px;color:var(--silver);font-size:16px;line-height:1.65;max-width:760px;}

/* ——— PRICE TABLE (inside FAQ disclosures) ——— */
.price-table{width:100%;border-collapse:collapse;font-size:14px;}
.price-table th,.price-table td{padding:11px 14px;border-bottom:1px solid var(--smoke);text-align:left;}
.price-table th{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--apex);font-weight:500;}
.price-table td{color:var(--bone);font-family:var(--mono);}
.price-table td:first-child{color:var(--silver);font-family:var(--body);}
.price-table + .pt-note{margin-top:16px;font-size:13px;color:var(--concrete);}
.svc-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--apex);transition:gap .25s;}
.svc-link .arw{transition:transform .3s;}
.svc-link:hover .arw{transform:translateX(6px);}

/* ——— CTA BAND ——— */
.cta-band{position:relative;overflow:hidden;background:var(--apex);color:#06170a;}
.cta-band::before{content:"";position:absolute;inset:0;background:repeating-conic-gradient(rgba(0,0,0,.045) 0% 25%,transparent 0% 50%) 0 0/44px 44px;}
.cta-band .wrap{position:relative;z-index:1;padding:clamp(70px,9vw,120px) var(--pad);display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:center;}
.cta-band h2{font-family:var(--display);font-weight:700;font-size:clamp(48px,7vw,108px);line-height:.84;text-transform:uppercase;color:#06170a;}
.cta-band .cb-right{display:flex;flex-direction:column;gap:18px;align-items:flex-start;}
.cta-band p{font-size:17px;line-height:1.55;color:#0d2b04;max-width:380px;}
.cta-band .btn-primary{background:var(--jet);color:var(--apex);}
.cta-band .btn-primary:hover{box-shadow:0 0 50px rgba(0,0,0,.4);}

/* ——— FOOTER ——— */
footer{background:var(--ink);border-top:1px solid var(--smoke);}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding:80px 0 60px;}
.foot-brand .brand{font-size:24px;margin-bottom:20px;}
.foot-brand p{font-family:var(--mono);font-size:12px;color:var(--silver);line-height:1.8;max-width:300px;}
.foot-col .lbl-h{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--apex);text-transform:uppercase;margin-bottom:16px;}
.foot-col a,.foot-col p{display:block;font-family:var(--mono);font-size:12px;color:var(--silver);line-height:2.1;transition:color .2s,padding-left .2s;}
.foot-col a:hover{color:var(--apex);padding-left:6px;}
.foot-wm{position:relative;overflow:hidden;border-top:1px solid var(--smoke);}
.foot-wm .big{font-family:var(--display);font-weight:700;font-size:clamp(80px,21vw,320px);line-height:.8;letter-spacing:0;color:var(--bone);text-transform:uppercase;padding:30px 0 10px;white-space:nowrap;}
.foot-wm .big em{font-style:normal;color:var(--apex);}
.foot-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:24px 0 30px;border-top:1px solid var(--smoke);font-family:var(--mono);font-size:11px;color:var(--concrete);letter-spacing:.12em;text-transform:uppercase;}
.foot-credit-row{display:flex;justify-content:center;padding:0 0 26px;}
@media(max-width:640px){.foot-credit-row{padding-bottom:78px;}} /* clear the fixed quote button */
.foot-credit{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;color:var(--concrete);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:color .25s ease;}
.foot-credit img{height:34px;width:auto;filter:invert(.72);transition:filter .25s ease;}
.foot-credit:hover{color:var(--silver);}
.foot-credit:hover img{filter:invert(1);}

/* ——— SCROLL REVEAL ———
   Robust pattern: opacity flips INSTANTLY (no transition on opacity, so it can
   never freeze mid-interpolation). Only `transform` is transitioned for the
   slide-up — if an engine never ticks transitions, the element is still fully
   visible (just not slid). Real browsers get the smooth motion. */
.reveal{transition:transform .85s cubic-bezier(.2,.8,.2,1);}
html.js .reveal:not(.in){opacity:0;transform:translateY(34px);}
.reveal.in{opacity:1;transform:none;}
.reveal-d1{transition-delay:.08s;}
.reveal-d2{transition-delay:.16s;}
.reveal-d3{transition-delay:.24s;}
.reveal-d4{transition-delay:.32s;}
.clip{transition:transform .9s cubic-bezier(.7,0,.2,1);}
html.js .clip:not(.in){opacity:0;}
.clip.in{opacity:1;}
@media (prefers-reduced-motion:reduce){
  html.js .reveal:not(.in),html.js .clip:not(.in){opacity:1;transform:none;}
  .reveal,.clip{transition:none;}
  .marquee-track{animation:none;}
}

/* ——— SPLIT / CONTENT BLOCKS ——— */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.split.wide-media{grid-template-columns:1.1fr 1fr;}
.split-media{position:relative;height:clamp(360px,42vw,560px);overflow:hidden;border:1px solid var(--smoke);}
.split-media image-slot,
.split-media img{width:100%;height:100%;object-fit:cover;display:block;}
.split-media .corner{position:absolute;width:14px;height:14px;border:1px solid var(--apex);z-index:3;}
.split-media .corner.tl{top:14px;left:14px;border-right:0;border-bottom:0;}
.split-media .corner.br{bottom:14px;right:14px;border-left:0;border-top:0;}
.block-eyebrow{margin-bottom:20px;}
.block h2,.block h3{font-family:var(--display);font-weight:700;font-size:clamp(34px,4.2vw,60px);line-height:.92;text-transform:uppercase;overflow-wrap:break-word;}
.block p{margin-top:22px;color:var(--silver);font-size:16px;line-height:1.65;max-width:520px;}
.block p + p{margin-top:16px;}
.block .mini-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:34px;max-width:460px;}
.block .mini-stats .cell{border-top:1px solid var(--smoke);padding-top:14px;}
.block .mini-stats .v{font-family:var(--display);font-weight:700;font-size:38px;color:var(--apex);line-height:1;}
.block .mini-stats .k{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--concrete);margin-top:8px;}

/* ——— FORM ——— */
.form-shell{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--smoke);}
.form-side{padding:56px 52px;border-right:1px solid var(--smoke);background:var(--jet);}
.form-side h2,.form-side h3{font-family:var(--display);font-weight:700;font-size:clamp(34px,4vw,56px);line-height:.9;text-transform:uppercase;}
.form-side .fs-lede{margin-top:20px;color:var(--silver);font-size:16px;line-height:1.6;max-width:380px;}
.form-detail{margin-top:40px;display:flex;flex-direction:column;gap:22px;}
.form-detail .fd{border-top:1px solid var(--smoke);padding-top:16px;}
.form-detail .fd .k{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--apex);margin-bottom:8px;}
.form-detail .fd .v{font-family:var(--mono);font-size:14px;color:var(--bone);line-height:1.6;}
.form-main{padding:56px 52px;}
.field{margin-bottom:24px;}
.field label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone);margin-bottom:10px;}
.field input,.field select,.field textarea{
  width:100%;background:var(--ink);border:1px solid var(--smoke);color:var(--bone);
  font-family:var(--body);font-size:15px;padding:14px 16px;transition:border-color .25s,box-shadow .25s;
}
.field textarea{resize:vertical;min-height:120px;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--apex);box-shadow:0 0 0 1px var(--apex),0 0 24px rgba(111,232,44,.15);}
.field input::placeholder,.field textarea::placeholder{color:var(--concrete);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.chip-row{display:flex;flex-wrap:wrap;gap:10px;}
.chip{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:11px 16px;border:1px solid var(--smoke);color:var(--silver);cursor:pointer;transition:all .2s;user-select:none;}
.chip:hover{border-color:var(--steel);color:var(--bone);}
.chip.sel{background:var(--apex);color:#06170a;border-color:var(--apex);}
.form-note{font-family:var(--mono);font-size:11px;color:var(--concrete);letter-spacing:.04em;margin-top:8px;}

/* ——— BADGES / LOGOS STRIP ——— */
.trust{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding:34px 0;border-top:1px solid var(--smoke);border-bottom:1px solid var(--smoke);}
.trust .t-item{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--concrete);display:flex;align-items:center;gap:11px;}
.trust .t-item b{color:var(--bone);font-weight:500;}
.trust .t-item .sq{width:9px;height:9px;background:var(--apex);}

/* ——— MEDIA CAROUSEL ——— */
.media-carousel{position:relative;overflow:hidden;background:var(--jet);}
.media-carousel-track{display:flex;height:100%;transition:transform .7s cubic-bezier(.4,0,.2,1);}
.media-carousel-slide{flex-shrink:0;width:100%;height:100%;position:relative;overflow:hidden;}
.media-carousel-slide img,.media-carousel-slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.media-carousel-slide::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,.1) 40%,rgba(0,0,0,.6) 88%,rgba(0,0,0,.85) 100%);
  pointer-events:none;}
.carousel-caption{position:absolute;bottom:18px;left:20px;z-index:2;
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--apex);background:rgba(0,0,0,.55);padding:5px 9px;pointer-events:none;}
.carousel-dots{position:absolute;bottom:14px;right:18px;display:flex;gap:7px;z-index:2;}
.carousel-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;
  transition:background .25s,transform .25s;}
.carousel-dot.active{background:var(--apex);transform:scale(1.25);}
.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  background:rgba(0,0,0,.5);border:1px solid var(--smoke);color:var(--bone);
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  font-size:14px;cursor:pointer;transition:background .2s,border-color .2s;}
.carousel-nav:hover{background:rgba(0,0,0,.8);border-color:var(--apex);}
.carousel-nav.prev{left:14px;}
.carousel-nav.next{right:14px;}
.carousel-empty{display:flex;align-items:center;justify-content:center;height:100%;
  font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--steel);}

/* Carousel section wrapper */
.carousel-section{position:relative;}
.carousel-section .media-carousel{height:clamp(260px,38vw,500px);}
.hero-carousel-wrap{position:absolute;inset:0;z-index:0;}
.hero-carousel-wrap .media-carousel{height:100%;}

/* Between-section carousel */
.sec-carousel-band{border-top:1px solid var(--smoke);border-bottom:1px solid var(--smoke);}
.sec-carousel-band .media-carousel{height:clamp(260px,30vw,460px);}

/* ——— GALLERY FILTERS ——— */
.gallery-filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px;align-items:center;}
.gallery-filter-bar .filter-label{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--concrete);margin-right:6px;}
.gf-chip{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:10px 16px;border:1px solid var(--smoke);color:var(--silver);cursor:pointer;transition:all .2s;user-select:none;background:transparent;}
.gf-chip:hover{border-color:var(--steel);color:var(--bone);}
.gf-chip.active{background:var(--apex);color:#06170a;border-color:var(--apex);}

/* ——— LEAD FORM ——— */
.lead-section{border-top:1px solid var(--smoke);}
.lead-section .wrap{padding:clamp(64px,8vw,100px) var(--pad);}
.lead-form-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:0;border:1px solid var(--smoke);}
.lead-form-side{padding:48px 44px;border-right:1px solid var(--smoke);background:var(--jet);}
.lead-form-side h3{font-family:var(--display);font-weight:700;font-size:clamp(30px,4vw,52px);line-height:.9;text-transform:uppercase;}
.lead-form-side .lf-lede{margin-top:18px;color:var(--silver);font-size:15px;line-height:1.6;max-width:340px;}
.lead-form-side .lf-detail{margin-top:34px;display:flex;flex-direction:column;gap:18px;}
.lead-form-side .lf-detail .fd{border-top:1px solid var(--smoke);padding-top:14px;}
.lead-form-side .lf-detail .fd .k{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--apex);margin-bottom:7px;}
.lead-form-side .lf-detail .fd .v{font-family:var(--mono);font-size:13px;color:var(--bone);line-height:1.6;}
.lead-form-main{padding:48px 44px;}
.lead-form-success{display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:60px 32px;}
.lead-form-success .sf-icon{font-size:36px;color:var(--apex);}
.lead-form-success .sf-title{font-family:var(--display);font-weight:700;font-size:38px;text-transform:uppercase;line-height:.9;}
.lead-form-success .sf-sub{font-family:var(--mono);font-size:12px;color:var(--silver);line-height:1.6;}

/* ——— LEAD MODAL ——— */
.lead-modal-overlay{position:fixed;inset:0;z-index:800;background:rgba(0,0,0,.88);backdrop-filter:blur(8px);
  display:flex;align-items:flex-start;justify-content:center;padding:clamp(20px,5vw,60px) var(--pad);
  overflow-y:auto;opacity:0;pointer-events:none;transition:opacity .3s;}
.lead-modal-overlay.open{opacity:1;pointer-events:auto;}
.lead-modal{background:var(--jet);border:1px solid var(--smoke);width:100%;max-width:680px;position:relative;}
.lead-modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;background:transparent;border:1px solid var(--smoke);color:var(--bone);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s;z-index:2;}
.lead-modal-close:hover{border-color:var(--apex);color:var(--apex);}
.lead-modal-inner{padding:40px;}
.lead-modal-title{font-family:var(--display);font-weight:700;font-size:clamp(28px,5vw,48px);text-transform:uppercase;line-height:.88;margin-bottom:28px;}
.lead-modal-title span{color:var(--apex);}

/* ——— STICKY QUOTE BUTTON ——— */
.sticky-quote{position:fixed;bottom:28px;right:28px;z-index:700;
  background:var(--apex);color:#06170a;border:none;
  font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:16px 22px;cursor:pointer;
  box-shadow:0 4px 24px rgba(111,232,44,.3),0 2px 8px rgba(0,0,0,.4);
  transition:transform .25s,box-shadow .25s;
  display:flex;align-items:center;gap:10px;white-space:nowrap;}
.sticky-quote:hover{transform:translateY(-3px);box-shadow:0 8px 40px rgba(111,232,44,.45);}
.sticky-quote .sq-arrow{transition:transform .3s;}
.sticky-quote:hover .sq-arrow{transform:translateX(4px);}
@media(max-width:480px){.sticky-quote{bottom:16px;right:16px;padding:13px 16px;font-size:11px;}}

/* ——— ANNOUNCEMENT BANNER (from #banner Facebook captions) ——— */
.site-banner{position:fixed;top:0;left:0;right:0;z-index:1100;display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 48px 9px 16px;gap:16px;background:var(--apex);color:#06170a;}
.sb-inner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;}
.sb-msg{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;}
.sb-close{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:inherit;font-size:13px;cursor:pointer;opacity:.7;padding:5px 7px;line-height:1;}
.sb-close:hover{opacity:1;}
body.has-banner .topbar{top:44px;}
body.has-banner .mobile-nav{padding-top:calc(44px + var(--nav-h));}

/* ——— REVIEWS (from #LUXEREVIEW Facebook posts) ——— */
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.review-card{position:relative;margin:0;padding:32px 28px 26px;background:var(--jet);border:1px solid var(--smoke);display:flex;flex-direction:column;gap:16px;}
.review-card .rc-mark{font-family:var(--display);font-weight:700;font-size:52px;line-height:.5;color:var(--apex);}
.review-card blockquote{margin:0;font-size:15px;line-height:1.65;color:var(--silver);}
.review-card figcaption{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--concrete);}

/* ——— EVENT POPUP (from #popup Facebook posts) ——— */
.site-popup-overlay{position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:none;transition:background .35s;}
.site-popup-overlay.open{background:rgba(0,0,0,.78);pointer-events:auto;}
.site-popup{background:var(--char);border:1px solid var(--steel);max-width:540px;width:100%;overflow:hidden;position:relative;transform:translateY(28px) scale(.96);opacity:0;transition:transform .38s cubic-bezier(.2,.8,.2,1),opacity .38s;}
.site-popup-overlay.open .site-popup{transform:translateY(0) scale(1);opacity:1;}
.sp-close{position:absolute;top:14px;right:16px;z-index:2;background:rgba(0,0,0,.55);border:none;color:var(--bone);font-size:15px;cursor:pointer;padding:6px 9px;line-height:1;transition:color .2s;}
.sp-close:hover{color:var(--apex);}
.sp-img{max-height:280px;overflow:hidden;border-bottom:1px solid var(--smoke);}
.sp-img img{width:100%;height:100%;object-fit:cover;display:block;}
.sp-body{padding:clamp(28px,5vw,44px);}
.sp-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--apex);margin-bottom:14px;}
.sp-msg{font-family:var(--display);font-weight:700;font-size:clamp(22px,3.2vw,34px);text-transform:uppercase;line-height:1.02;color:var(--bone);margin-bottom:26px;}
.sp-btn{display:inline-block;}

/* ——— HOMEPAGE SPECIAL (from #special Facebook posts) ——— */
.fb-special{border-top:1px solid var(--smoke);border-bottom:1px solid var(--smoke);background:var(--jet);padding:clamp(48px,7vw,88px) 0;}
.fb-special-inner{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,48px);align-items:center;}
.fb-special.has-img .fb-special-inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr);}
.fb-special-media{border:1px solid var(--smoke);overflow:hidden;aspect-ratio:4/3;}
.fb-special-media img{width:100%;height:100%;object-fit:cover;display:block;}
.fb-special-body h2{font-family:var(--display);font-weight:700;font-size:clamp(28px,4.4vw,56px);line-height:.95;text-transform:uppercase;margin:16px 0 28px;}
@media(max-width:1080px){.fb-special.has-img .fb-special-inner{grid-template-columns:1fr;}}

/* ——— RESPONSIVE ——— */
@media (max-width:1080px){
  :root{--pad:32px;}
  .nav-links{display:none;}
  .nav-cta{display:none;}
  .nav-toggle{display:flex;}
  .sec-head{grid-template-columns:1fr;gap:18px;}
  .svc-grid{grid-template-columns:1fr;}
  .feat-grid,.tiers{grid-template-columns:1fr;}
  .detail-grid{grid-template-columns:repeat(3,1fr);}
  .process{grid-template-columns:1fr 1fr;}
  .step:nth-child(2n){border-right:0;}
  .split,.split.wide-media{grid-template-columns:1fr;gap:32px;}
  .form-shell{grid-template-columns:1fr;}
  .form-main{order:-1;} /* stacked: form first, price/info panel after */
  .form-side{border-right:0;border-top:1px solid var(--smoke);}
  .cta-band .wrap{grid-template-columns:1fr;gap:30px;}
  .hero-strip .wrap{grid-template-columns:1fr 1fr;}
  .hero-strip .cell:nth-child(2n){border-right:0;}
  .foot-top{grid-template-columns:1fr 1fr;}
  .gallery{grid-auto-rows:130px;}
  .lead-form-inner{grid-template-columns:1fr;}
  .lead-form-main{order:-1;} /* stacked: form first, price/info panel after */
  .lead-form-side{border-right:0;border-top:1px solid var(--smoke);}
}
@media (max-width:680px){
  :root{--pad:20px;}
  /* the hero video is landscape (16:9); a full-bleed 92vh hero with the
     video cover-cropped behind bottom-anchored text either crops it to an
     unrecognizable sliver or (letterboxed) leaves a dead gap before the
     text. Instead, drop the full-bleed overlay entirely on narrow screens:
     the video becomes a normal-flow 16:9 banner right under the nav, and
     the heading/CTA content follows it in the document, so it reads as an
     intentional video banner rather than a broken hero. */
  .hero{min-height:auto;flex-direction:column;align-items:stretch;padding:calc(var(--nav-h) + 24px) 0 40px;}
  .hero-media{position:relative;inset:auto;width:100%;aspect-ratio:16/9;}
  .hero-video{object-fit:cover;}
  .hero::after{display:none;}
  .hero .wrap{padding:32px var(--pad) 0;}
  .process{grid-template-columns:1fr;}
  .step{border-right:0;}
  .field-row{grid-template-columns:1fr;}
  .hero-strip .wrap{grid-template-columns:1fr;}
  .hero-strip .cell{border-right:0;}
  .foot-top{grid-template-columns:1fr;}
  .gallery{grid-template-columns:repeat(6,1fr);}
  .g-a,.g-b,.g-c,.g-d,.g-e,.g-f{grid-column:span 6;grid-row:span 1;}
  .detail-grid{grid-template-columns:repeat(2,1fr);}
  .trust{gap:16px;}
  .lead-form-side{padding:32px 24px;}
  .lead-form-main{padding:32px 24px;}
  .lead-modal-inner{padding:28px 20px;}
}
