/* Victorian Trailers demo — dark theme: deep navy surfaces, bright blue accent with glow */
@font-face{font-family:'Inter';font-weight:100 900;font-style:normal;font-display:swap;src:url(../fonts/inter-latin-wght-normal.woff2) format('woff2')}
@font-face{font-family:'Satisfy';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/satisfy-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Kaushan Script';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/kaushan-script-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/barlow-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/barlow-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/barlow-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/barlow-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/barlow-condensed-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/barlow-condensed-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:800;font-style:normal;font-display:swap;src:url(../fonts/barlow-condensed-latin-800-normal.woff2) format('woff2')}

:root{
  color-scheme:dark;
  --deep:#040a14;       /* top bar, footer */
  --bg:#060e1a;         /* page */
  --bg-2:#0a1628;       /* alternate sections */
  --surface:#0e1d33;    /* cards */
  --surface-2:#132742;  /* inputs, chips, hover */
  --line:rgba(140,170,215,.14);
  --line-2:rgba(140,170,215,.26);
  --text:#e3ebf6;
  --sub:#9db0c9;
  --muted:#71869f;
  --accent:#1e8fff;     /* buttons, active states */
  --accent-hi:#38b2ff;  /* accent text on dark */
  --warm:#ff9f43;
  --ok:#22c55e;
  --glow:0 0 0 1px rgba(30,143,255,.5),0 0 28px -6px rgba(30,143,255,.65);
  --cond:'Barlow Condensed',sans-serif;
  --body:'Inter','Barlow',system-ui,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);font-size:16px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--accent-hi)}
a:hover{color:#fff}
h1,h2,h3{margin:0;color:#fff}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:3px}
.wrap{max-width:min(2200px,max(1480px,calc(90vw + 48px)));margin:0 auto;padding:0 24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.display{font-family:var(--body);font-weight:700;line-height:1.02;letter-spacing:-.03em}
.h2{font-family:var(--body);font-weight:700;letter-spacing:-.025em;font-size:clamp(30px,3.2vw,44px);line-height:1.08;letter-spacing:-.015em}
.h2 em{font-style:normal;color:var(--accent)}
.lede{color:var(--sub);font-size:18px;max-width:62ch;margin:10px 0 0}
.muted{color:var(--sub)}
.sec{padding:72px 0}
.sec-tight{padding:20px 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.alt{background:var(--bg-2)}
.stars{color:#fbbf24;letter-spacing:1px}

/* checkerplate: the galvanised floor pattern of a trailer deck */
.checker{background-color:#0b1a30;background-image:
  radial-gradient(ellipse 5px 1.6px at 25% 25%,rgba(255,255,255,.05) 98%,transparent 100%),
  radial-gradient(ellipse 1.6px 5px at 75% 75%,rgba(255,255,255,.05) 98%,transparent 100%);
  background-size:22px 22px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;border:2px solid transparent;font:700 16px/1 var(--body);text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.btn:active{transform:scale(.97)}
.btn svg{width:18px;height:18px}
.btn-p{background:linear-gradient(180deg,#2c9bff,#1574e3);color:#fff;box-shadow:0 10px 24px -12px rgba(30,143,255,.9)}
.btn-p:hover{background:linear-gradient(180deg,#45a8ff,#1e8fff);color:#fff;box-shadow:var(--glow)}
.btn-glow{box-shadow:0 0 0 1px rgba(30,143,255,.6),0 14px 34px -10px rgba(30,143,255,.95)}
.btn-w{background:#fff;color:#06101e}.btn-w:hover{background:#dbe8f8;color:#06101e}
.btn-o,.btn-ghost{background:transparent;color:#fff;border-color:var(--line-2)}
.btn-o:hover,.btn-ghost:hover{border-color:var(--accent);color:#fff;background:rgba(30,143,255,.1)}
.btn-line{background:transparent;color:#fff;border-color:var(--accent);box-shadow:0 0 18px -6px rgba(30,143,255,.8)}
.btn-line:hover{background:var(--accent);color:#fff}
.btn-sm{min-height:42px;padding:0 16px;font-size:15px}

/* top bar */

/* header: logo | search over nav | yards + cart */
.hdr{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);transition:box-shadow .3s}
/* the blur sits on ::before, not .hdr: a backdrop-filter on .hdr would stop the dropdowns inside it from blurring the page */
.hdr::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(6,14,26,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background .3s}
/* glowing line under the menu, brightest in the middle */
.hdr::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(30,143,255,.55) 30%,rgba(92,179,255,.9) 50%,rgba(30,143,255,.55) 70%,transparent);pointer-events:none}
.hdr.stuck{box-shadow:0 14px 34px -18px rgba(0,0,0,.9)}
.hdr-in{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px}
.logo img{height:56px;width:auto;transition:height .3s var(--ease)}
.hdr.stuck .logo img{height:46px}
.hdr-mid{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:12px;min-width:0}
form.search{display:flex;width:100%;max-width:560px;height:44px;padding:3px;border:1px solid var(--line-2);border-radius:999px;background:rgba(255,255,255,.04);transition:border-color .2s,box-shadow .2s}
form.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(30,143,255,.18)}
form.search input{flex:1;min-width:0;border:0;padding:0 16px;background:transparent;color:#fff;font:15px var(--body);outline:0}
form.search input::placeholder{color:var(--muted)}
form.search button{flex:none;width:38px;height:36px;border:0;border-radius:999px;background:var(--accent);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 16px -2px rgba(30,143,255,.8)}
form.search button svg{width:17px;height:17px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center}
.nav li{position:relative}
.nav li>a{display:flex;align-items:center;gap:4px;padding:12px 14px 14px;color:#dbe5f3;font-weight:600;font-size:15px;text-decoration:none;position:relative;transition:color .2s}
.nav li>a:hover,.nav li>a[aria-current]{color:#fff}
.nav li>a[aria-current]{color:var(--accent-hi)}
.nav li>a::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--accent);box-shadow:0 0 12px var(--accent);transform:scaleX(0);transition:transform .25s var(--ease)}
.nav li>a:hover::after,.nav li>a[aria-current]::after,.has-mega:hover>a::after{transform:scaleX(1)}
.chev{width:14px;height:14px;flex:none}
.drop{position:absolute;left:0;top:100%;z-index:45;min-width:200px;padding:8px;background:rgba(8,18,33,.62);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);border:1px solid var(--line-2);border-radius:12px;box-shadow:0 24px 50px -20px rgba(0,0,0,.8);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s var(--ease),visibility .2s}
.has-drop:hover .drop,.has-drop:focus-within .drop{opacity:1;visibility:visible;transform:none}
.drop a{display:block;padding:9px 12px;border-radius:8px;color:#dbe5f3;font-weight:600;font-size:14.5px;text-decoration:none}
.drop a:hover{background:rgba(30,143,255,.14);color:#fff}
.hdr-right{display:flex;align-items:center;gap:16px}
.locs{display:flex}
.loc{position:relative;display:flex;align-items:center;gap:10px;padding:6px 16px;line-height:1.25}
.loc+.loc{border-left:1px solid var(--line-2)}
.loc .pin{flex:none;width:24px;height:24px;color:var(--accent);transition:color .25s,filter .25s}
.loc.on .pin{color:var(--accent);filter:drop-shadow(0 0 6px rgba(30,143,255,.9))}
.loc-name{display:block;padding:0;border:0;background:none;color:#fff;font:700 15px var(--body);cursor:pointer;text-align:left}
.loc span>a{display:flex;align-items:center;gap:5px;color:var(--sub);font-size:13.5px;text-decoration:none;white-space:nowrap}
.loc span>a::before{content:"";width:12px;height:12px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z%27/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z%27/%3E%3C/svg%3E") center/contain no-repeat}
.loc span>a:hover{color:#fff}
.loc>.chev{color:var(--sub)}
.loc-drop{position:absolute;right:0;top:calc(100% + 10px);z-index:46;width:280px;padding:16px;display:flex;flex-direction:column;gap:6px;background:rgba(8,18,33,.62);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 24px 50px -20px rgba(0,0,0,.85);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s var(--ease),visibility .2s}
.loc-drop::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.loc:hover .loc-drop,.loc:focus-within .loc-drop{opacity:1;visibility:visible;transform:none}
.loc-drop b{color:#fff;font-size:15px}
.loc-drop>span{color:var(--sub);font-size:13.5px}
.loc-drop a{color:var(--accent-hi);font-weight:600;font-size:14px;text-decoration:none}
.loc-drop a:hover{color:#fff}
.loc-set{align-self:flex-start;margin:6px 0 4px;padding:7px 14px;border:1px solid var(--accent);border-radius:999px;background:transparent;color:#fff;font:700 13px var(--body);cursor:pointer}
.loc-set .is,.loc.on .loc-set .off{display:none}
.loc.on .loc-set .is{display:inline}
.loc.on .loc-set{background:var(--accent);box-shadow:0 0 14px -2px rgba(30,143,255,.8)}
.hdr .cart{position:relative;flex:none;width:46px;height:46px;border-radius:12px;border:1px solid transparent;background:none;display:grid;place-items:center;color:#fff;cursor:pointer;transition:border-color .2s}
.hdr .cart:hover{border-color:var(--accent)}
.hdr .cart svg{width:22px;height:22px}
.hdr .cart .count{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--accent);color:#fff;font:800 11px/20px var(--body);text-align:center;box-shadow:0 0 12px rgba(30,143,255,.9)}
.hdr .cart.bump{animation:bump .5s var(--ease)}
@keyframes bump{30%{transform:scale(1.18)}60%{transform:scale(.94)}}
.burger{display:none;flex:none;width:46px;height:46px;border-radius:12px;border:0;background:var(--accent);color:#fff;cursor:pointer}
.burger svg{width:22px;height:22px}

/* mega menu: full-width panel under the header */
.nav li.has-mega{position:static}
.mega{position:absolute;left:0;right:0;top:100%;z-index:40;background:rgba(8,18,33,.62);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);border-top:1px solid var(--line-2);box-shadow:0 40px 80px -20px rgba(0,0,0,.8);padding:22px 0 26px;max-height:calc(100vh - 200px);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .25s var(--ease),visibility .2s}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:none}
.mega .lbl{flex:none;font-size:13px;font-weight:800;color:var(--accent-hi);letter-spacing:.1em;text-transform:uppercase}
.mega-sizes{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;padding-bottom:15px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.mega-sizes div{display:flex;flex-wrap:wrap;gap:8px}
.mega-sizes a{padding:5px 12px;border:1px solid var(--line-2);border-radius:999px;background:rgba(255,255,255,.03);color:#dbe5f3;font-size:14px;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s}
.mega-sizes a:hover{border-color:var(--accent);color:#fff}
.mega-cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:start}
.mcat{padding:11px 12px 9px;border:1px solid var(--line-2);border-radius:12px;background:rgba(14,29,51,.55);transition:border-color .2s,box-shadow .2s}
.mcat:hover{border-color:rgba(30,143,255,.55);box-shadow:0 0 24px -10px rgba(30,143,255,.7)}
.mhead{display:flex;align-items:center;gap:9px;padding-bottom:9px;margin-bottom:5px;border-bottom:1px solid var(--line);color:#fff;font-weight:700;font-size:15px;line-height:1.2;text-decoration:none}
.mhead img{flex:none;width:42px;height:31px;object-fit:contain}
.mhead em{margin-left:auto;font-style:normal;font-weight:600;font-size:11px;color:var(--muted)}
.mhead:hover span{color:var(--accent-hi)}
.msubs a{display:block;padding:3px 0;font-size:13.5px;line-height:1.5;color:var(--sub);text-decoration:none;transition:color .15s,transform .15s}
.msubs a:hover{color:#fff;transform:translateX(3px)}
.mega-more{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}
.mmore-list{display:flex;flex-wrap:wrap;gap:8px;flex:1}
.mmore{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border:1px solid var(--line-2);border-radius:10px;background:rgba(14,29,51,.55);color:#fff;font-weight:700;font-size:14px;text-decoration:none;transition:border-color .2s}
.mmore:hover{border-color:var(--accent)}
.mmore img{width:34px;height:25px;object-fit:contain}
.mega-warranty{display:flex;align-items:center;gap:10px;padding-left:16px;border-left:1px solid var(--line);color:#fff;font-size:14px;max-width:200px;line-height:1.25}
.mega-warranty svg{flex:none;width:34px;height:34px;color:var(--accent)}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:80;background:rgba(2,6,12,.65);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.drawer.open{opacity:1;visibility:visible}
.drawer nav{position:absolute;top:0;right:0;bottom:0;width:min(340px,88vw);background:var(--bg-2);border-left:1px solid var(--line-2);padding:20px;overflow:auto;transform:translateX(100%);transition:transform .35s var(--ease)}
.drawer.open nav{transform:none}
.drawer a{display:block;padding:14px 4px;border-bottom:1px solid var(--line);color:#fff;text-decoration:none;font-weight:700;font-size:18px}
.drawer .close{float:right;width:44px;height:44px;border:1px solid var(--line-2);background:transparent;color:#fff;border-radius:10px;font-size:22px;cursor:pointer}
.dr-yard{clear:both;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:18px 0 14px;border-bottom:1px solid var(--line);color:var(--sub);font-size:14px}
.dr-yard span{width:100%}
.dr-yard button{flex:1;padding:10px;border:1px solid var(--line-2);border-radius:999px;background:transparent;color:#fff;font:700 15px var(--body);cursor:pointer}
.dr-yard button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent)}

/* hero: full-width photo slides, glowing side cards */
.hero{position:relative;min-height:520px;overflow:hidden;background:var(--deep)}
.slider{position:absolute;inset:0;color:#fff}
.slide{position:absolute;inset:0;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s}
.slide.on{opacity:1;visibility:visible}
/* the banner images keep the trailer in the lower middle, so crop from the bottom */
.slide .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 72%}
.slide.on .bg{animation:kb 9s ease-out both}
@keyframes kb{from{transform:scale(1.06)}to{transform:scale(1)}}
/* dark on the left for the copy, a warm sunset glow, and a fade into the page at the bottom */
.slide::before{content:"";position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(4,10,20,.88) 0%,rgba(4,10,20,.6) 28%,transparent 52%,transparent 70%,rgba(4,10,20,.35) 100%),
  linear-gradient(180deg,rgba(4,10,20,.45) 0%,transparent 22%,transparent 66%,var(--bg) 100%)}
.slide>.wrap{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.slide-copy{max-width:600px;margin-left:56px;padding:40px 0 118px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.tag{padding:6px 14px;border:1px solid var(--accent);border-radius:999px;background:rgba(30,143,255,.12);color:#cfe5ff;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 0 18px -2px rgba(30,143,255,.5)}
.slide-copy h1,.slide-copy h2{color:#fff;font-size:clamp(38px,3.9vw,62px);text-shadow:0 4px 30px rgba(0,0,0,.5)}
.slide-copy .display span{display:block;background:linear-gradient(90deg,#0b98ff,#2cb6ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.slide-copy p{margin:0;color:#d5deeb;font-size:18px;max-width:42ch}
.slide-price{display:flex;align-items:baseline;gap:10px}
.slide-price b{font-size:34px;line-height:1;color:#fff}
.slide-price s{color:var(--sub);font-size:17px}
.slide-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:4px}
.slide.on .slide-copy>*{animation:rise .7s var(--ease) both}
.slide.on .slide-copy>*:nth-child(2){animation-delay:.08s}.slide.on .slide-copy>*:nth-child(3){animation-delay:.16s}.slide.on .slide-copy>*:nth-child(4){animation-delay:.24s}.slide.on .slide-copy>*:nth-child(5){animation-delay:.32s}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.road{display:none}
.dots-wrap{position:absolute;left:0;right:0;bottom:84px;z-index:3;pointer-events:none}
.dots{display:flex;gap:8px;pointer-events:auto;width:max-content}
.dots button{position:relative;overflow:hidden;width:30px;height:4px;border-radius:2px;border:0;padding:0;background:rgba(255,255,255,.3);cursor:pointer;transition:width .3s var(--ease)}
.dots button[aria-current="true"]{width:48px}
/* the active dot fills up while the slide plays */
.dots button[aria-current="true"]::after{content:"";position:absolute;inset:0;background:var(--accent);box-shadow:0 0 10px var(--accent);transform-origin:left}
.slider.playing .dots button[aria-current="true"]::after{animation:fill 6s linear both}
@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.arrows button{position:absolute;top:50%;z-index:4;width:48px;height:48px;margin-top:-24px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(4,10,20,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:24px;line-height:1;cursor:pointer;transition:border-color .2s,background .2s}
.arrows button:hover{border-color:var(--accent);background:rgba(30,143,255,.3)}
.arrows button:first-child{left:20px}
.arrows button:last-child{right:20px}
.hero-side{position:absolute;left:0;right:0;top:0;bottom:0;z-index:3;display:flex;align-items:center;justify-content:flex-end;pointer-events:none}
.side{display:flex;flex-direction:column;gap:16px;width:min(360px,28vw);margin:0 0 44px;pointer-events:auto}
.gcard{display:flex;align-items:center;gap:14px;padding:16px;border-radius:16px;border:1px solid rgba(30,143,255,.6);background:linear-gradient(135deg,rgba(14,29,51,.88),rgba(6,14,26,.78));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 0 0 1px rgba(30,143,255,.2),0 0 32px -8px rgba(30,143,255,.7);color:#fff;text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s}
.gcard.warm{border-color:rgba(255,159,67,.75);box-shadow:0 0 0 1px rgba(255,159,67,.25),0 0 32px -8px rgba(255,159,67,.75)}
.gcard:hover{transform:translateY(-3px);color:#fff}
.gcard img{flex:none;width:44%;aspect-ratio:4/3;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.5))}
.gcard b{display:block;font-size:22px;line-height:1.1;margin-bottom:6px}
.gcard small{display:block;color:var(--sub);font-size:13.5px;line-height:1.4}
.gcard em{display:inline-block;margin-top:10px;font-style:normal;font-weight:700;color:var(--accent-hi)}
.gcard.warm em{color:var(--warm)}

/* feature strip over the bottom of the hero */
.feats{position:relative;z-index:5;margin:-66px 0 0;padding:20px 8px;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:rgba(9,20,37,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line-2);border-radius:16px;box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.feats li{display:flex;align-items:center;gap:12px;padding:0 18px}
.feats li+li{border-left:1px solid var(--line)}
.feats svg{flex:none;width:32px;height:32px;color:var(--accent);filter:drop-shadow(0 0 6px rgba(30,143,255,.5))}
.feats span{font-size:13.5px;line-height:1.35;color:var(--sub)}
.feats b{display:block;color:#fff;font-size:15.5px}

/* bands: intro on the left, a scrollable row of cards on the right */
#trailers{padding-top:44px}
.band{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:28px;align-items:center;padding:28px;border:1px solid var(--line-2);border-radius:20px;background:linear-gradient(180deg,rgba(14,29,51,.65),rgba(8,18,33,.65));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.kick{display:flex;align-items:center;gap:8px;font-weight:800;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-hi)}
.kick::before{content:"";width:14px;height:2px;background:var(--accent);box-shadow:0 0 8px var(--accent)}
.band-intro h2{margin:10px 0 12px;font-size:clamp(26px,2.25vw,36px)}
.band-intro p{margin:0 0 22px;color:var(--sub)}
.hrow{display:grid;grid-auto-flow:column;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 8px;min-width:0}
.hrow::-webkit-scrollbar{display:none}
.hrow>*{scroll-snap-align:start}
/* a part card shows at the right edge so the row reads as scrollable */
.cat-row{grid-auto-columns:calc((100% - 70px)/6)}
/* compact cards in the lot row so price and Add to Cart share a line */

/* category cards */
.chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:#dbe5f3;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.chip:hover{border-color:var(--accent);color:#fff}
.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 14px -2px rgba(30,143,255,.8)}

/* product cards */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.card{display:flex;flex-direction:column;border:1px solid var(--line-2);border-radius:14px;background:var(--surface);overflow:hidden;transition:box-shadow .3s,border-color .3s,transform .3s var(--ease)}
.card:hover{border-color:rgba(30,143,255,.6);box-shadow:0 0 28px -10px rgba(30,143,255,.8)}
.card .media{position:relative}
.card .pic{position:relative;aspect-ratio:4/3;background:#0b1729;overflow:hidden;display:block}
.card .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s,transform .7s var(--ease)}
.card .pic img.b{opacity:0}
.card:hover .pic img.b{opacity:1}
.card:hover .pic img.a.solo{transform:scale(1.05)}
.badge{position:absolute;top:10px;left:10px;z-index:2;background:#16a34a;color:#fff;font:700 12px/1 var(--body);padding:6px 10px;border-radius:999px;box-shadow:0 0 12px rgba(34,197,94,.55)}
.badge.new{background:var(--accent);box-shadow:0 0 12px rgba(30,143,255,.6)}
.qv{position:absolute;right:10px;bottom:10px;z-index:2;background:rgba(6,14,26,.85);color:#fff;border:1px solid var(--line-2);border-radius:999px;font:700 13px var(--body);padding:8px 12px;cursor:pointer;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s var(--ease)}
.card:hover .qv,.qv:focus-visible{opacity:1;transform:none}
.card .body{padding:14px;display:flex;flex-direction:column;gap:6px;flex:1}
.cat-l{font-size:12px;font-weight:700;color:var(--accent-hi);text-transform:uppercase;letter-spacing:.06em}
.card h3{font-size:16px;line-height:1.25;color:#fff}
.card h3 a{color:inherit;text-decoration:none}
.card h3 a:hover{color:var(--accent-hi)}
.specs{margin:0;display:flex;flex-wrap:wrap;font-size:12.5px;color:var(--sub)}
.specs span:not(:last-child)::after{content:"•";margin:0 7px;color:var(--muted)}
.pickup{font-size:13px;color:var(--accent-hi);font-weight:600}
.buy{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding-top:8px}
.price b{font-size:22px;font-weight:700;color:#fff;line-height:1}
.price s{display:block;color:var(--muted);font-size:13.5px}
.price .save{display:block;font-size:13px;font-weight:700;color:var(--ok)}
.add{white-space:nowrap;min-height:38px;padding:0 14px;font-size:14px}
.add svg{width:16px;height:16px}
.add.added{background:#16a34a}

/* dark banner (yard pages) */
.beat{border-radius:16px;padding:30px;color:#fff;display:flex;flex-direction:column;gap:14px;border:1px solid var(--line-2)}
.beat h2{color:#fff;font-size:36px}
.beat p{margin:0;color:var(--sub)}

/* why */

/* spec preview, gallery, tabs */
.spec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);border:1px solid var(--line-2);border-radius:16px;overflow:hidden;background:var(--surface)}
.gallery{background:#0b1729;display:flex;flex-direction:column}
.gallery .main{position:relative;aspect-ratio:4/3;overflow:hidden;background:#0b1729}
.gallery .main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .35s}
.thumbs{display:flex;gap:8px;padding:12px}
.thumbs button{width:84px;height:64px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;background:var(--surface-2);opacity:.7;transition:opacity .2s,border-color .2s}
.thumbs button[aria-current="true"]{border-color:var(--accent);opacity:1;box-shadow:0 0 12px -2px rgba(30,143,255,.8)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.spec-body{padding:32px;display:flex;flex-direction:column;gap:14px}
.spec-body h3{font-size:30px;line-height:1.1}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line-2);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:none}
.pbox,.spec-body{min-width:0}
.tabs button{border:0;background:transparent;padding:12px 14px;font:600 15px var(--body);color:var(--sub);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}
.tabs button[aria-selected="true"]{color:#fff;font-weight:700;border-color:var(--accent)}
.panel{display:none;animation:rise .35s var(--ease)}
.panel.on{display:block;padding-top:14px}
.panel p{margin:0 0 10px;color:var(--text)}
.kv{width:100%;border-collapse:collapse;font-size:15px}
.kv th{text-align:left;width:42%;padding:9px 0;border-bottom:1px solid var(--line);color:#fff}
.kv td{border-bottom:1px solid var(--line);color:var(--sub)}

/* yards; the Google map iframes are inverted so they read as dark maps */
.visit iframe{width:100%;border:0;display:block;background:var(--surface-2);filter:invert(.9) hue-rotate(180deg) saturate(.7)}
.hours{font-size:14px;color:var(--sub);margin:0}


/* buyer info */
.steps-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:40px;align-items:center}

/* own your trailer: dark band, four numbered rings joined by a line */
/* line from this ring's centre to the next, with a chevron halfway (ring centre = 28 + 14 + 46 = 88px) */

/* seo */

/* footer: feature strip, brand + contact list, three link columns, call bar */
.ftr{background:var(--deep);color:var(--sub);padding:48px 0 0;font-size:15px;border-top:1px solid var(--line)}
.ftr svg{flex:none}

/* mobile action bar */
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(6,14,26,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line-2);padding:10px 12px;gap:8px;grid-template-columns:1fr 1fr;transform:translateY(100%);transition:transform .35s var(--ease)}
.mbar.show{transform:none}

/* modal (quick view) */
.modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:rgba(2,6,12,.7);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.modal.open{opacity:1;visibility:visible}
.modal-box{position:relative;width:min(860px,100%);max-height:90vh;overflow:auto;background:var(--surface);border:1px solid var(--line-2);border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);transform:translateY(20px) scale(.98);transition:transform .35s var(--ease);box-shadow:0 40px 80px -30px rgba(0,0,0,.9)}
.modal.open .modal-box{transform:none}
.modal-box .x{position:absolute;top:10px;right:10px;z-index:2;width:44px;height:44px;border:1px solid var(--line-2);border-radius:50%;background:rgba(6,14,26,.85);color:#fff;font-size:22px;cursor:pointer}
.modal-box .gallery .main{aspect-ratio:auto;height:100%;min-height:300px}
.modal-body{padding:28px;display:flex;flex-direction:column;gap:12px}
.modal-body h3{font-size:26px;line-height:1.1}
.qv-specs{margin:0;padding-left:18px;color:var(--sub)}

/* toast + flying thumb */
.toast{position:fixed;left:50%;bottom:24px;z-index:95;visibility:hidden;transform:translate(-50%,calc(100% + 60px));background:var(--surface-2);border:1px solid rgba(30,143,255,.6);color:#fff;padding:14px 18px;border-radius:12px;display:flex;align-items:center;gap:14px;box-shadow:0 0 30px -8px rgba(30,143,255,.7),0 18px 40px -16px rgba(0,0,0,.8);transition:transform .4s var(--ease),visibility .4s;max-width:calc(100vw - 32px)}
.toast.show{visibility:visible;transform:translate(-50%,0)}
.toast a{color:var(--accent-hi);font-weight:700;white-space:nowrap}
.fly{position:fixed;z-index:96;width:80px;height:60px;border-radius:8px;object-fit:cover;pointer-events:none;box-shadow:0 0 20px rgba(30,143,255,.7);transition:transform .75s cubic-bezier(.5,-.3,.6,1),opacity .75s}

/* USP ticker (yard pages) */
.ticker{border-bottom:1px solid var(--line);background:var(--bg-2);overflow:hidden}
.ticker-track{display:flex;gap:48px;width:max-content;padding:16px 0;animation:tick 32s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}
.ticker-item{display:flex;align-items:center;gap:10px;font-weight:700;color:#fff;white-space:nowrap}
.ticker-item svg{width:22px;height:22px;color:var(--accent)}

/* scroll reveal: used once per section heading block, not on every element */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.stagger.in>*{opacity:1;transform:none}

/* page hero (location + shop pages) */
.phero{padding:44px 0;color:#fff;border-bottom:1px solid var(--line);background-image:radial-gradient(ellipse 60% 90% at 85% 0%,rgba(30,143,255,.22),transparent 70%),radial-gradient(ellipse 5px 1.6px at 25% 25%,rgba(255,255,255,.05) 98%,transparent 100%),radial-gradient(ellipse 1.6px 5px at 75% 75%,rgba(255,255,255,.05) 98%,transparent 100%);background-size:auto,22px 22px,22px 22px}
.phero h1{font-size:clamp(40px,5.4vw,68px)}
.phero p{color:var(--sub);font-size:18px;max-width:52ch;margin:14px 0 0}
.crumbs{font-size:14px;color:var(--sub);margin-bottom:16px}
.phero .crumbs a{color:#fff}
.loc-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:stretch}
.visit{background:var(--surface);color:var(--text);border:1px solid var(--line-2);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 0 30px -12px rgba(30,143,255,.6)}
.visit iframe{height:220px}
.visit .in{padding:22px;display:flex;flex-direction:column;gap:8px}
.visit p{color:var(--text)}
.visit h2{font-size:26px}
.hrs{border-collapse:collapse;font-size:15px;color:var(--sub)}
.hrs th{text-align:left;padding:3px 24px 3px 0;color:#fff}
.areas{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.faq details{border:1px solid var(--line-2);border-radius:12px;background:var(--surface);padding:0 20px;margin-bottom:12px;transition:border-color .2s,box-shadow .2s}
.faq details[open]{border-color:var(--accent);box-shadow:0 0 22px -10px rgba(30,143,255,.8)}
.faq summary{cursor:pointer;font-weight:700;font-size:17px;color:#fff;padding:18px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;line-height:1;color:var(--accent);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 18px;color:var(--sub)}

/* shop page */
.shop-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}
.filters{position:sticky;top:130px;border:1px solid var(--line-2);border-radius:14px;padding:18px;background:var(--surface)}
.filters h2{font-size:18px;margin:0}
.filters summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.filters summary::-webkit-details-marker{display:none}
.filters details[open] summary{margin-bottom:10px}
.shop-layout .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.filters fieldset{border:0;margin:0 0 18px;padding:0}
.filters legend{font-weight:700;color:#fff;margin-bottom:8px}
.filters label{display:flex;gap:10px;align-items:center;padding:6px 0;font-size:15px;cursor:pointer;color:var(--text)}
.filters input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.toolbar select{height:44px;border:1px solid var(--line-2);border-radius:10px;padding:0 10px;background:var(--surface);font:600 15px var(--body);color:#fff}
.grid .card.hide{display:none}
.empty{padding:40px;text-align:center;border:1px dashed var(--line-2);border-radius:14px;color:var(--sub)}

/* product page: breadcrumb strip, then gallery | info | sidebar */
.bcbar{background:var(--bg-2);border-bottom:1px solid var(--line);font-size:14px}
.bcbar .wrap{display:flex;flex-wrap:wrap;align-items:center;padding-top:12px;padding-bottom:12px;color:#fff;font-weight:600}
.bcbar a{color:var(--sub);font-weight:400;text-decoration:none}
.bcbar a:hover{color:#fff}
.bcbar a::after{content:"›";margin:0 9px;color:var(--muted)}
.pdp-sec{background:var(--bg);padding:36px 0 56px}
.pdp3{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}
.pdp-main{display:flex;flex-direction:column;gap:32px;min-width:0}
.pdp-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:32px;align-items:start}
.pdp-side{display:flex;flex-direction:column;gap:20px;min-width:0}
.pdp3 .gallery{background:none;gap:10px}
.pdp3 .gallery .main{border:1px solid var(--line-2);border-radius:16px}
.pdp3 .thumbs{padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.pdp3 .thumbs button{width:auto;height:auto;aspect-ratio:1}
.garr{position:absolute;top:50%;z-index:2;width:44px;height:44px;margin-top:-22px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(4,10,20,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:22px;cursor:pointer}
.garr:hover{border-color:var(--accent)}
.garr.prev{left:12px}.garr.next{right:12px}
.pdp-info{display:flex;flex-direction:column;gap:16px;min-width:0}
.pdp-info h1{font:700 clamp(26px,2.4vw,32px)/1.2 var(--body)}
.pcard{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px 20px;background:var(--surface);border:1px solid rgba(30,143,255,.45);border-radius:16px;box-shadow:0 0 30px -12px rgba(30,143,255,.7)}
.pline{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
.pline b{font-weight:700;font-size:42px;line-height:1;color:#fff}
.pline s{color:var(--muted);font-size:18px}
.pline .save{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.5);color:#7ee2a3;font-weight:700;font-size:14px;padding:4px 10px;border-radius:999px}
.pbeat{border:1px solid var(--accent);border-radius:999px;padding:5px 14px;font-weight:700;font-size:14px;color:#cfe5ff;box-shadow:0 0 14px -4px rgba(30,143,255,.8)}
.pfacts{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.pfacts>div{display:flex;align-items:flex-start;gap:10px;font-weight:600;font-size:14.5px;line-height:1.35;color:#fff}
.pfacts svg{flex:none;width:20px;height:20px;color:var(--accent)}
.pfacts small{display:block;margin-top:4px;color:var(--sub);font-weight:400;font-size:13px}
.pcall{display:flex;align-items:center;gap:14px;text-decoration:none}
.pcall .ic{flex:none;width:52px;height:52px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;box-shadow:0 0 18px -2px rgba(30,143,255,.8)}
.pcall .ic svg{width:22px;height:22px}
.pcall b{display:block;font-weight:700;font-size:26px;line-height:1.1;color:#fff}
.pcall small{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sub)}
.avail{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:14px;font-size:14.5px}
.avail .t{display:flex;align-items:center;gap:8px;color:#fff}
.avail .t svg{width:18px;height:18px;color:var(--accent)}
.avail p{margin:0;color:var(--sub)}
.avail p b{color:#fff}
.avail .dot{padding-top:10px;border-top:1px solid var(--line-2);color:var(--accent-hi);font-weight:600}
.avail .dot::before{content:"";display:inline-block;width:9px;height:9px;margin-right:9px;vertical-align:1px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(34,197,94,.2),0 0 8px var(--ok)}
.pbuy{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px}
.pbuy .qty{height:52px}
.pbuy .btn{min-height:52px}
.pbuy .btn svg{width:20px;height:20px}
.pquote{width:100%}
.pbox{padding:8px 24px 24px;background:var(--surface);border:1px solid var(--line-2);border-radius:16px}
.pdp-faq h2{font:700 26px var(--body);margin-bottom:16px}
.xbox,.side-card{padding:20px;background:var(--surface);border:1px solid var(--line-2);border-radius:16px}
.xh{margin:20px 0 8px;font:700 13px/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-hi)}
.xh:first-child{margin-top:0}
.xh i{color:#ff6b6b;font-style:normal}
.xrow{display:flex;align-items:flex-start;gap:10px;padding:6px 0;font-size:15px;color:var(--text);cursor:pointer}
.xrow input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent)}
.xrow span{flex:1}
.xrow small{display:block;color:var(--sub);font-size:12.5px}
.xrow em{font-style:normal;font-weight:700;color:var(--accent-hi);white-space:nowrap}
.xrow.need{outline:2px solid #ff6b6b;outline-offset:4px;border-radius:4px}
.xbox select{width:100%;height:44px;padding:0 10px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface-2);font:600 15px var(--body);color:#fff}
.xnote{margin:4px 0 0;font-size:12.5px;color:var(--sub)}
.xtotal{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;padding-top:14px;border-top:1px solid var(--line-2);font-weight:700;color:#fff}
.xtotal b{font-size:28px;color:#fff}
.side-card .xh{position:relative;padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--line-2)}
.side-card .xh::after{content:"";position:absolute;left:0;bottom:-1px;width:44px;height:2px;background:var(--accent);box-shadow:0 0 8px var(--accent)}
.trow{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none;font-size:14px;font-weight:600;line-height:1.3}
.trow:last-child{border-bottom:0}
.trow:hover{color:var(--accent-hi)}
.trow img{flex:none;width:64px;height:52px;object-fit:cover;border-radius:8px}
.trow .tp{display:block;margin-top:4px}
.trow .tp s{margin-right:6px;color:var(--muted);font-weight:400;font-size:13px}
.trow .tp b{color:#fff}
.offer{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px;border-radius:16px;border:1px solid rgba(255,159,67,.6);box-shadow:0 0 30px -12px rgba(255,159,67,.7);color:#fff}
.offer .tag{padding:4px 10px;border-radius:999px;border:0;background:var(--warm);color:#1a0d00;font-weight:800;font-size:11px;letter-spacing:.08em;text-transform:uppercase;box-shadow:none}
.offer h3{font-size:22px;line-height:1.2}
.offer p{margin:0;color:var(--sub);font-size:14px}
.offer .ph{display:flex;align-items:center;gap:6px;color:#fff;font-weight:700;font-size:14px;text-decoration:none}
.offer .ph svg{width:16px;height:16px;color:var(--warm)}
.kicker{display:block;margin-bottom:6px;font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-hi)}
.uline::after{content:"";display:block;width:64px;height:3px;margin-top:12px;background:var(--accent);box-shadow:0 0 10px var(--accent)}
.qty{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:999px;height:48px;background:var(--surface)}
.qty button{width:44px;height:100%;border:0;background:transparent;font-size:20px;cursor:pointer;color:#fff}
.qty input{width:44px;text-align:center;border:0;background:transparent;color:#fff;font:700 16px var(--body)}
.pdp-actions{display:flex;gap:10px;flex-wrap:wrap}
.demo-ribbon{position:fixed;left:12px;bottom:12px;z-index:70;background:var(--accent);color:#fff;font:700 12px var(--body);padding:7px 12px;border-radius:999px;opacity:.9;pointer-events:none;box-shadow:0 0 14px rgba(30,143,255,.7)}

/* mockup scale: sizes below are the mockup's pixels at 1586px wide, written as vw so they grow in proportion
   on bigger screens (1px at 1586 = .0631vw); clamps keep text readable on small screens */
:root{--ov:clamp(40px,2.65vw,60px)}  /* how far the feature strip overlaps the banner */
.logo img{height:clamp(44px,3.65vw,68px)}
.hdr-mid{padding-top:clamp(10px,.95vw,16px);gap:0}
form.search{height:clamp(36px,2.4vw,46px);max-width:clamp(440px,35.6vw,680px)}
form.search input{font-size:clamp(13px,.8vw,15px)}
form.search button{width:clamp(34px,2.5vw,44px);height:auto}
.nav li>a{font-size:clamp(13px,.82vw,16px);padding:clamp(9px,.75vw,14px) clamp(12px,1.1vw,20px) clamp(11px,.85vw,15px)}
.loc-name{font-size:clamp(13px,.86vw,16px)}
.loc span>a{font-size:clamp(12px,.76vw,14.5px)}
.loc .pin{width:clamp(18px,1.35vw,26px);height:clamp(18px,1.35vw,26px)}

/* banner: 346px of photo above the strip at 1586 */
.hero{min-height:clamp(420px,30vw,700px)}
.slide>.wrap{padding-bottom:calc(var(--ov) + 20px)}
.slide-copy{max-width:clamp(420px,30vw,620px);padding:0;gap:clamp(9px,.7vw,15px)}
.tag{font-size:clamp(9.5px,.63vw,12px);padding:.6em 1.3em}
.slide-copy h1,.slide-copy h2{font-size:clamp(34px,3.3vw,64px);line-height:.92}
.slide-copy p{font-size:clamp(14px,.9vw,18px);max-width:24em}
.slide-cta{margin-top:clamp(6px,.6vw,12px)}
.slide-cta .btn{min-height:clamp(42px,2.78vw,54px);padding:0 1.9em;font-size:clamp(13.5px,.85vw,16px)}
.dots-wrap{bottom:calc(var(--ov) + 26px)}
.arrows button{top:calc(50% - var(--ov)/2);width:clamp(36px,2.4vw,46px);height:clamp(36px,2.4vw,46px);margin-top:calc(clamp(36px,2.4vw,46px)/-2);font-size:clamp(20px,1.3vw,26px)}
/* side boxes: 350 wide, 125/135 tall, sitting just past the content's right edge */
.hero-side{bottom:var(--ov);align-items:center}
.side{width:clamp(300px,22.1vw,420px);gap:clamp(12px,1.15vw,22px);margin:0 calc(clamp(0px,.45vw,10px) * -1) 0 0}
.gcard{gap:clamp(10px,.9vw,16px);padding:clamp(8px,.6vw,12px) clamp(12px,1vw,18px) clamp(8px,.6vw,12px) clamp(8px,.6vw,12px);border-radius:clamp(10px,.8vw,16px)}
.gcard img{width:50%;aspect-ratio:16/10;object-fit:cover;filter:none;border-radius:clamp(6px,.5vw,10px)}
.gcard b{max-width:6.5em;font-size:clamp(16px,1.2vw,23px);line-height:1.08;margin-bottom:.35em}
.gcard small{max-width:15em}
.gcard small{font-size:clamp(11px,.7vw,13.5px)}
.gcard em{font-size:clamp(12px,.8vw,15px);margin-top:.75em}

/* feature strip: 1428 x 70 */
.feats{margin-top:calc(var(--ov) * -1);padding:clamp(14px,1.15vw,22px) 8px}
.feats svg{width:clamp(24px,1.9vw,34px);height:clamp(24px,1.9vw,34px)}
.feats b{font-size:clamp(12.5px,.8vw,15.5px)}
.feats span{font-size:clamp(11px,.66vw,13.5px)}

/* bands */
#trailers{padding-top:clamp(18px,1.6vw,32px)}
.sec-tight{padding:clamp(10px,.75vw,16px) 0}
.band{grid-template-columns:minmax(0,clamp(300px,25.2vw,480px)) minmax(0,1fr);gap:clamp(18px,2vw,36px);padding:clamp(14px,1.3vw,26px);border-radius:clamp(12px,.9vw,18px)}
.kick{font-size:clamp(10px,.64vw,12.5px)}
.band-intro h2{font-size:clamp(24px,2.02vw,40px);margin:.3em 0 .45em}
.band-intro p{font-size:clamp(13px,.76vw,15px);margin-bottom:clamp(14px,1.3vw,24px)}
.cat-row{gap:clamp(10px,.95vw,18px)}
/* lot cards: 230 wide, 92px photo, no category line */
.band{position:relative}

/* homepage (wide screens): top bar and header are glass over the banner photo, as in the mockup */
@media (min-width:901px){
  .home .hdr{border-bottom-color:transparent}
  .home .hdr::before{background:linear-gradient(180deg,rgba(4,10,20,.5),rgba(4,10,20,.28));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  .home .hdr.stuck::before{background:rgba(6,14,26,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
  /* banner slides up behind the top bar and header; --hdr-h is set by app.js */
  .home .hero{margin-top:calc(var(--hdr-h,0px) * -1);min-height:calc(clamp(420px,30vw,700px) + var(--hdr-h,0px))}
  .home .slide>.wrap{padding-top:var(--hdr-h,0px)}
  .home .hero-side{top:var(--hdr-h,0px)}
  .home .arrows button{top:calc(50% + var(--hdr-h,0px)/2 - var(--ov)/2)}
}

/* banner side boxes: product shot fading into a tinted glass panel, accent tab on the right edge */
.gcard{position:relative;align-items:stretch;gap:0;padding:0;overflow:visible;border-width:1.5px;background:linear-gradient(90deg,rgba(5,10,18,.95) 0%,rgba(10,22,40,.88) 55%,rgba(12,30,56,.82) 100%)}
.gcard{border:1.5px solid transparent;background:linear-gradient(90deg,rgba(5,10,18,.95) 0%,rgba(10,22,40,.9) 55%,rgba(12,30,56,.86) 100%) padding-box,linear-gradient(180deg,rgba(64,160,255,.95),rgba(30,143,255,.7)) border-box}
.gcard.warm{background:linear-gradient(90deg,rgba(8,6,5,.95) 0%,rgba(38,24,14,.9) 55%,rgba(60,36,18,.86) 100%) padding-box,linear-gradient(180deg,#ffa149 0%,#ff9a3d 55%,#3d8cf0 100%) border-box}
.gcard img{position:absolute;left:0;top:0;width:52%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 55%;border-radius:clamp(10px,.8vw,16px) 0 0 clamp(10px,.8vw,16px);-webkit-mask-image:linear-gradient(90deg,#000 72%,transparent);mask-image:linear-gradient(90deg,#000 72%,transparent)}
.gcard>span{flex:1;min-width:0;margin-left:50%;min-height:clamp(104px,7.9vw,150px);display:flex;flex-direction:column;justify-content:center;padding:clamp(10px,.8vw,16px) clamp(14px,1.2vw,22px) clamp(10px,.8vw,16px) clamp(4px,.4vw,8px)}
.gcard em{display:inline-flex;align-items:center;gap:.7em;letter-spacing:-.01em}
.gcard em svg{width:1.15em;height:1.15em}
.gcard>span b{font-weight:700;letter-spacing:-.02em}
.gcard>span small{max-width:11.5em;color:#a8b6c8;line-height:1.45}
.gcard::after{content:"";position:absolute;right:-3px;top:50%;width:6px;height:30%;transform:translateY(-50%);border-radius:4px 0 0 4px;background:var(--accent);box-shadow:0 0 12px 1px var(--accent)}
.gcard.warm::after{background:var(--warm);box-shadow:0 0 12px 1px var(--warm)}

/* homepage, second mockup: neon category cards, popular trailers, trust banner. Sizes scale with the screen like the banner. */
.shead{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px 16px;margin-bottom:clamp(14px,1.2vw,22px)}
.shead .h2{margin-top:6px}
.more{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:clamp(12.5px,.8vw,15px);color:var(--accent-hi);text-decoration:none}
.more svg{width:1.1em;height:1.1em}
.more:hover{color:#fff}
.kick::before{width:0;height:0;border-left:7px solid var(--accent);border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;background:none;box-shadow:none;filter:drop-shadow(0 0 4px var(--accent))}
.grad{background:linear-gradient(90deg,#8ec5ff,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn svg{width:1.1em;height:1.1em}
.sec-cats{padding:clamp(28px,2.6vw,48px) 0 clamp(10px,1vw,20px);background:radial-gradient(ellipse 45% 80% at 0% 75%,rgba(90,70,255,.2),transparent 70%)}
.cat-row{grid-auto-columns:calc((100% - 6 * clamp(10px,.95vw,18px)) / 7);gap:clamp(10px,.95vw,18px);padding:6px 4px 12px}
/* each card's border is a gradient; four looks cycle along the row */
.cat{--b:linear-gradient(160deg,#3b82f6,#8b5cf6 55%,#ec4899);display:flex;flex-direction:column;border:1.5px solid transparent;border-radius:clamp(12px,1vw,18px);background:linear-gradient(180deg,rgba(22,42,84,.6),rgba(8,18,38,.92)) padding-box,var(--b) border-box;box-shadow:0 0 22px -10px rgba(110,90,255,.75),inset 0 1px 0 rgba(255,255,255,.06);color:#fff;text-decoration:none;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.cat:nth-child(4n+2){--b:linear-gradient(160deg,#38bdf8,#6366f1 55%,#d946ef)}
.cat:nth-child(4n+3){--b:linear-gradient(160deg,#22d3ee,#3b82f6 70%,#6366f1)}
.cat:nth-child(4n+4){--b:linear-gradient(160deg,#2dd4bf,#3b82f6 60%,#a855f7)}
.cat:hover{transform:translateY(-4px);box-shadow:0 0 30px -6px rgba(120,140,255,.9);color:#fff}
.cat .pic{height:clamp(96px,8.2vw,160px);padding:clamp(10px,1vw,18px) clamp(10px,.9vw,16px) 0;background:radial-gradient(ellipse 70% 55% at 50% 85%,rgba(60,120,255,.3),transparent 70%)}
.cat .pic img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(0,0,0,.55));transition:transform .5s var(--ease)}
.cat:hover .pic img{transform:scale(1.06)}
.cat .lbl{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:clamp(8px,.7vw,14px) clamp(12px,1vw,18px) clamp(12px,1vw,18px);font-weight:600;font-size:clamp(11.5px,.74vw,14px)}
.cat .lbl>span{flex:1;min-width:0;line-height:1.2}
.cat .lbl i{font-style:normal;font-weight:700;color:#38bdf8;transition:transform .2s}
.cat:hover .lbl i{transform:translateX(3px)}
.shead .h2,.band.pop .h2{font-size:clamp(24px,2.1vw,40px)}
.card h3 a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.band.pop{grid-template-columns:minmax(0,clamp(240px,20.5vw,400px)) minmax(0,1fr)}
.band.pop .band-intro p{max-width:24em}
.pop-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.2vw,22px)}

/* product cards (all grids): glass panel, category pill on the photo, full-width Add to Cart */
.card{border:1px solid rgba(90,150,255,.35);border-radius:clamp(12px,.9vw,16px);background:linear-gradient(180deg,rgba(18,38,76,.78),rgba(9,20,42,.94))}
.card .pic{aspect-ratio:1.45}
.card .media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(180deg,transparent,rgba(9,20,42,.85));pointer-events:none}
.pill{position:absolute;left:12px;bottom:10px;z-index:2;padding:4px 11px;border-radius:999px;background:rgba(30,90,200,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(120,170,255,.55);color:#e6efff;font-size:clamp(10.5px,.68vw,12.5px);font-weight:600}
.qv{top:10px;bottom:auto}
.card .body{padding:clamp(10px,.9vw,16px);gap:clamp(4px,.4vw,8px)}
.card h3{font-size:clamp(13.5px,.88vw,16px);font-weight:600}
.specs{font-size:clamp(11px,.7vw,12.5px)}
.buy{flex-direction:column;align-items:stretch;gap:clamp(8px,.8vw,12px)}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.price b{font-size:clamp(18px,1.35vw,24px)}
.price s{display:inline}
.card .add{align-self:center;width:84%;min-height:clamp(34px,2.3vw,42px);justify-content:center}

/* trust banner: photo, text on the left, glass stat tiles on the right */

/* second-mockup match pass: light streaks behind the sections, darker glowing glass cards, sky-toned product photos */
.sec-cats{background:
  radial-gradient(ellipse 38% 70% at 0% 85%,rgba(96,70,255,.32),transparent 70%),
  linear-gradient(162deg,transparent 30%,rgba(60,130,255,.1) 46%,transparent 52%,rgba(120,90,255,.08) 60%,transparent 66%),
  radial-gradient(ellipse 45% 70% at 100% 10%,rgba(30,143,255,.14),transparent 70%)}
.cat{--b:linear-gradient(160deg,#60a5fa,#8b5cf6 55%,#f472b6);background:linear-gradient(180deg,rgba(10,22,50,.82),rgba(4,10,26,.96)) padding-box,var(--b) border-box;box-shadow:0 0 20px -4px rgba(120,100,255,.6),inset 0 0 34px -12px rgba(90,150,255,.45)}
.cat:nth-child(4n+2){--b:linear-gradient(160deg,#c084fc,#6366f1 55%,#f472b6)}
.cat:nth-child(4n+3){--b:linear-gradient(160deg,#22d3ee,#3b82f6 60%,#38bdf8)}
.cat:nth-child(4n+4){--b:linear-gradient(160deg,#2dd4bf,#3b82f6 55%,#a855f7)}
.cat .pic{height:clamp(104px,8.8vw,170px)}
.cat .lbl{justify-content:center;gap:clamp(10px,1vw,18px)}
.cat .lbl>span{flex:none;text-align:center}
.band.pop{border-color:rgba(70,140,255,.38);background:radial-gradient(ellipse 55% 90% at 8% 100%,rgba(40,110,255,.24),transparent 70%),linear-gradient(162deg,transparent 35%,rgba(60,130,255,.07) 50%,transparent 58%),linear-gradient(180deg,rgba(12,28,60,.8),rgba(5,12,28,.9));box-shadow:0 0 40px -20px rgba(30,143,255,.9),inset 0 1px 0 rgba(255,255,255,.05)}
.card{border-color:rgba(80,150,255,.5);box-shadow:0 0 22px -8px rgba(30,143,255,.75),inset 0 1px 0 rgba(255,255,255,.08)}
/* catalogue photos are on white; multiplying them onto a sky gradient turns the white into a soft blue sky like the mockup's outdoor shots */
.card .pic{background:linear-gradient(180deg,#e4eefa 0%,#bcd2ec 50%,#6d8fbc 100%)}
.card .pic img{mix-blend-mode:multiply}
.card .media::after{height:48%;background:linear-gradient(180deg,transparent,rgba(10,22,46,.92))}

/* category section, third pass (mockup 4): deep navy backdrop, dark glass cards with no inner panel, bigger trailers */
.sec-cats{background:radial-gradient(ellipse 30% 55% at 0% 90%,rgba(60,90,255,.22),transparent 70%),linear-gradient(158deg,transparent 28%,rgba(70,140,255,.07) 40%,transparent 47%,rgba(110,90,255,.06) 58%,transparent 64%),radial-gradient(ellipse 60% 90% at 50% 0%,rgba(20,60,130,.35),transparent 75%),#050d1c;border-top:1px solid rgba(70,150,255,.35);box-shadow:inset 0 1px 18px -10px rgba(56,189,248,.8)}
.sec-cats .h2 .grad{background:linear-gradient(90deg,#9fd0ff,#cfe6ff);-webkit-background-clip:text;background-clip:text}
.sec-cats .wrap{padding-left:clamp(24px,1.6vw + 8px,40px)}
.cat{border-width:1.5px;background:linear-gradient(180deg,rgba(14,30,62,.9),rgba(6,14,32,.96)) padding-box,var(--b) border-box;box-shadow:0 0 16px -5px rgba(110,110,255,.55),inset 0 1px 0 rgba(255,255,255,.07),inset 0 24px 40px -24px rgba(90,150,255,.35)}
.cat .pic{height:clamp(110px,8.4vw,170px);padding:clamp(14px,1.2vw,22px) clamp(8px,.7vw,14px) 0;background:none}
.cat .pic img{transform:scale(1.08);filter:drop-shadow(0 12px 10px rgba(0,0,0,.6))}
.cat:hover .pic img{transform:scale(1.14)}
.cat .lbl{border-top:0;padding:clamp(6px,.6vw,10px) clamp(10px,.9vw,16px) clamp(14px,1.2vw,22px);font-weight:600}
.cat .lbl i{font-size:1.35em;line-height:1;color:#38bdf8}

/* reviews (mockup 5): glass panel, review cards scroll in a row, photo card with script line on the right */
.revs{padding:clamp(16px,1.5vw,28px);border:1px solid rgba(70,140,255,.35);border-radius:clamp(14px,1.1vw,20px);background:radial-gradient(ellipse 50% 90% at 0% 100%,rgba(40,110,255,.18),transparent 70%),linear-gradient(180deg,rgba(12,28,60,.75),rgba(5,12,28,.9));box-shadow:0 0 40px -22px rgba(30,143,255,.9)}
.revs .shead{margin-bottom:clamp(12px,1vw,18px)}
.revs .h2{font-size:clamp(22px,1.75vw,34px)}
.revs-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1.55fr);gap:clamp(10px,.9vw,16px);align-items:stretch}
.rev-row{grid-auto-columns:calc((100% - 2 * clamp(10px,.9vw,16px)) / 3);gap:clamp(10px,.9vw,16px);padding:0}
.review{margin:0;padding:clamp(12px,1vw,18px);display:flex;flex-direction:column;gap:clamp(8px,.7vw,12px);border:1px solid rgba(80,150,255,.42);border-radius:clamp(10px,.8vw,14px);background:linear-gradient(180deg,rgba(18,40,80,.7),rgba(8,18,40,.9));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.review figcaption{margin:0;display:flex;align-items:center;gap:10px}
.review figcaption>span:last-child{line-height:1.25}
.review b{display:block;color:#fff;font-size:clamp(12.5px,.8vw,15px)}
.review small{display:block;color:var(--sub);font-size:clamp(10.5px,.65vw,12.5px)}
.review .stars{display:block;margin-top:2px;font-size:clamp(11px,.72vw,13.5px);color:#fbbf24}
.review blockquote{margin:0;color:#d5deeb;font-size:clamp(12px,.76vw,14.5px);line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.avatar{flex:none;width:clamp(34px,2.4vw,44px);height:clamp(34px,2.4vw,44px);border-radius:50%;background:linear-gradient(140deg,#38bdf8,#1e6ff0);border:2px solid rgba(160,210,255,.55);color:#fff;display:grid;place-items:center;font-weight:700;font-size:clamp(11px,.75vw,14px);box-shadow:0 0 14px -2px rgba(56,189,248,.8)}
.rev-photo{position:relative;overflow:hidden;min-height:clamp(150px,10vw,210px);border-radius:clamp(10px,.8vw,14px);border:1px solid rgba(80,150,255,.42);display:flex;align-items:center;padding:0 clamp(14px,1.4vw,26px)}
.rev-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 55%;transition:transform .8s var(--ease)}
.rev-photo:hover img{transform:scale(1.04)}
.rev-photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(4,12,26,.65),rgba(4,12,26,.1) 55%)}
.rev-photo span{position:relative;z-index:2;font:400 clamp(20px,1.7vw,32px)/1.05 'Kaushan Script',cursive;color:#fff;transform:rotate(-8deg);text-shadow:0 3px 16px rgba(0,0,0,.6)}

/* page backdrop (mockup 6): one continuous deep-navy sky behind every section, with soft nebula glows,
   faint light streaks and a sprinkle of stars. Fixed to the viewport, so it stays rich however far you scroll. */
html{background:#040a16}
body{background:transparent}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.55),transparent 60%),
  radial-gradient(1px 1px at 68% 9%,rgba(255,255,255,.45),transparent 60%),
  radial-gradient(1.5px 1.5px at 84% 38%,rgba(180,210,255,.6),transparent 60%),
  radial-gradient(1px 1px at 33% 64%,rgba(255,255,255,.4),transparent 60%),
  radial-gradient(1px 1px at 91% 77%,rgba(255,255,255,.45),transparent 60%),
  radial-gradient(1.5px 1.5px at 6% 88%,rgba(180,210,255,.5),transparent 60%),
  radial-gradient(1px 1px at 52% 46%,rgba(255,255,255,.35),transparent 60%),
  radial-gradient(ellipse 45% 38% at -4% 28%,rgba(88,64,255,.24),transparent 70%),
  radial-gradient(ellipse 40% 36% at 104% 52%,rgba(30,143,255,.2),transparent 70%),
  radial-gradient(ellipse 55% 40% at 22% 104%,rgba(40,110,255,.18),transparent 70%),
  radial-gradient(ellipse 35% 30% at 70% 0%,rgba(56,189,248,.1),transparent 70%),
  linear-gradient(158deg,transparent 30%,rgba(90,160,255,.06) 42%,transparent 48%,rgba(150,110,255,.05) 60%,transparent 66%),
  linear-gradient(180deg,#081631 0%,#050d1e 55%,#040a16 100%)}
/* sections let the backdrop show through; glass panels keep their own tint */
.alt,.pdp-sec,.sec-cats{background:transparent}
.sec-cats{border-top:1px solid rgba(70,150,255,.4);box-shadow:inset 0 1px 22px -12px rgba(56,189,248,.9)}
.bcbar,.ticker{background:rgba(6,16,34,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ftr{background:linear-gradient(180deg,rgba(6,16,36,.75),rgba(3,8,18,.96));border-top:1px solid rgba(70,150,255,.4);box-shadow:inset 0 1px 24px -12px rgba(56,189,248,.8)}
.slide::before{background:
  linear-gradient(90deg,rgba(4,10,20,.88) 0%,rgba(4,10,20,.6) 28%,transparent 52%,transparent 70%,rgba(4,10,20,.35) 100%),
  linear-gradient(180deg,rgba(4,10,20,.45) 0%,transparent 22%,transparent 66%,#071328 100%)}

/* one heading scale and rhythm for every homepage section, as in the mockup */
.h2{font-size:clamp(24px,2.1vw,40px)}
.lede{font-size:clamp(14px,.95vw,17px)}
.sec{padding:clamp(36px,3.4vw,64px) 0}
.sec-tight{padding:clamp(10px,.75vw,16px) 0}

/* glow lines are drawn on the top edge only: an inset box-shadow lit all four sides and framed the section like a box */
.sec-cats{box-shadow:none;background:linear-gradient(180deg,rgba(56,189,248,.16),transparent 46px) top/100% 46px no-repeat}
.ftr{box-shadow:none;background:linear-gradient(180deg,rgba(56,189,248,.14),transparent 46px) top/100% 46px no-repeat,linear-gradient(180deg,rgba(6,16,36,.75),rgba(3,8,18,.96))}
/* category cards: page-dark glass with a soft blue pool of light behind the trailer, as in the mockup */
.cat{background:radial-gradient(ellipse 70% 52% at 50% 42%,rgba(46,100,210,.3),transparent 72%) padding-box,linear-gradient(180deg,rgba(8,18,40,.94),rgba(4,10,24,.97)) padding-box,var(--b) border-box;box-shadow:0 0 18px -4px rgba(120,100,255,.55),0 10px 26px -14px rgba(236,72,153,.45),inset 0 1px 0 rgba(255,255,255,.06)}
.cat .lbl{font-weight:500;font-size:clamp(11.5px,.8vw,15.5px)}

/* shop + category pages: the page title sits on the same sky as the homepage, cards at homepage scale */
.phero{background:linear-gradient(180deg,rgba(56,189,248,.14),transparent 46px) top/100% 46px no-repeat;border-top:1px solid rgba(70,150,255,.4);border-bottom:0;padding:clamp(26px,2.2vw,44px) 0 clamp(6px,.8vw,14px)}
.phero h1{font-size:clamp(30px,2.6vw,50px)}
.phero p{font-size:clamp(14px,.95vw,17px)}
.phero .crumbs a{color:var(--accent-hi)}
.shop-layout{grid-template-columns:clamp(220px,15vw,280px) minmax(0,1fr);gap:clamp(18px,1.6vw,30px)}
.filters{background:linear-gradient(180deg,rgba(18,40,80,.6),rgba(8,18,40,.86));border-color:rgba(80,150,255,.38);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 0 30px -18px rgba(30,143,255,.9)}
@media (min-width:1400px){.shop-layout .grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* category cards, exact mockup geometry: square cards, 7 across the content width, gap = 1.07vw,
   radius = 1vw; border glows cyan/blue at the top and fades to pink/purple at the bottom */
.sec-cats .wrap{padding-left:24px}
.cat-row{--g:clamp(10px,1.07vw,22px);gap:var(--g);grid-auto-columns:calc((100% - 6 * var(--g)) / 7);padding:4px 2px 14px}
.cat{--b:linear-gradient(180deg,#38bdf8 0%,rgba(70,90,220,.55) 45%,#ec4899 100%);aspect-ratio:1;border-radius:clamp(10px,1vw,20px);border-width:1.5px}
.cat:nth-child(4n+2){--b:linear-gradient(180deg,#3b82f6 0%,rgba(90,80,220,.55) 45%,#d946ef 100%)}
.cat:nth-child(4n+3){--b:linear-gradient(180deg,#22d3ee 0%,rgba(40,110,230,.6) 50%,#3b82f6 100%)}
.cat:nth-child(4n+4){--b:linear-gradient(180deg,#38bdf8 0%,rgba(80,90,230,.55) 45%,#a855f7 100%)}
.cat .pic{flex:1;min-height:0;height:auto;padding:12% 9% 0}
.cat .pic img{transform:none}
.cat:hover .pic img{transform:scale(1.06)}
.cat .lbl{position:relative;justify-content:center;padding:6% 18% 13%;font-size:clamp(11px,.92vw,17px);font-weight:500}
.cat .lbl>span{flex:none;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat .lbl i{position:absolute;right:13%;top:50%;margin-top:-3%;transform:translateY(-50%);font-size:1.25em}
.cat:hover .lbl i{transform:translate(3px,-50%)}

/* category cards, glow + label pass */
.cat{border-width:2px;box-shadow:0 -6px 18px -8px rgba(56,189,248,.75),0 8px 20px -8px rgba(236,72,153,.7),0 0 26px -10px rgba(120,110,255,.8),inset 0 0 30px -14px rgba(90,160,255,.55);background:radial-gradient(ellipse 75% 55% at 50% 40%,rgba(46,100,210,.32),transparent 72%) padding-box,linear-gradient(180deg,rgba(14,30,62,.95),rgba(5,12,28,.97)) padding-box,var(--b) border-box}
.cat:nth-child(4n+3){box-shadow:0 -6px 18px -8px rgba(34,211,238,.75),0 8px 20px -8px rgba(59,130,246,.75),0 0 26px -10px rgba(80,140,255,.8),inset 0 0 30px -14px rgba(90,160,255,.55)}
.cat .pic{padding:9% 5% 0}
.cat .pic img{transform:scale(1.12)}
.cat:hover .pic img{transform:scale(1.18)}
.cat .lbl{display:flex;align-items:center;justify-content:center;gap:1.1em;padding:4% 8% 12%;font-weight:600;color:#e6edf8}
.cat .lbl>span{flex:0 1 auto;min-width:0}
.cat .lbl i{position:static;margin:0;transform:none;flex:none}
.cat:hover .lbl i{transform:translateX(3px)}

.cat .pic{padding:12% 6% 0}
.cat .pic img{transform:scale(1.04)}
.cat:hover .pic img{transform:scale(1.1)}
.cat .lbl{gap:.75em;padding:3% 5% 12%;font-size:clamp(10.5px,.8vw,15px);font-weight:500}

.cat .lbl i{font-size:1.45em;font-weight:800;line-height:1;-webkit-text-stroke:.4px #38bdf8}

/* category section, mockup 7: dark navy with light streaks sweeping in from the left; translucent glass cards */
.sec-cats{position:relative;isolation:isolate;background:none}
.sec-cats::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  linear-gradient(18deg,transparent 46%,rgba(70,110,255,.22) 50%,transparent 54%),
  linear-gradient(24deg,transparent 56%,rgba(150,90,255,.16) 59%,transparent 62%),
  linear-gradient(12deg,transparent 64%,rgba(56,160,255,.14) 67%,transparent 71%),
  radial-gradient(ellipse 28% 60% at 0% 70%,rgba(70,90,255,.28),transparent 70%);
  -webkit-mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.6) 22%,transparent 48%);mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.6) 22%,transparent 48%)}
.cat{--b:linear-gradient(45deg,#f472b6 0%,rgba(110,90,230,.5) 45%,#38bdf8 100%);border-width:1.5px;border-radius:clamp(8px,.75vw,16px);
  background:linear-gradient(155deg,rgba(60,90,150,.28),rgba(14,28,58,.55) 45%,rgba(6,14,32,.75)) padding-box,var(--b) border-box;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  box-shadow:-6px 8px 18px -10px rgba(244,114,182,.7),6px -6px 18px -10px rgba(56,189,248,.7),inset 0 0 22px -10px rgba(120,170,255,.5)}
.cat:nth-child(4n+2){--b:linear-gradient(45deg,#e879f9 0%,rgba(100,90,230,.5) 45%,#60a5fa 100%)}
.cat:nth-child(4n+3){--b:linear-gradient(45deg,#3b82f6 0%,#38bdf8 100%);box-shadow:0 0 20px -6px rgba(56,150,255,.85),inset 0 0 22px -10px rgba(120,170,255,.5)}
.cat:nth-child(4n+4){--b:linear-gradient(45deg,#c084fc 0%,rgba(90,100,230,.5) 45%,#22d3ee 100%)}
.cat .pic{padding:14% 9% 0}
.cat .pic img{transform:none;filter:drop-shadow(0 10px 10px rgba(0,0,0,.55))}
.cat:hover .pic img{transform:scale(1.06)}
.cat .lbl{justify-content:space-between;gap:.6em;padding:2% 14% 13% 18%;font-size:clamp(10.5px,.8vw,15px);font-weight:500}

/* card fill must be opaque, or the gradient border shows through the whole card */
.cat{background:linear-gradient(155deg,#16284a 0%,#0c1a36 42%,#070f24 100%) padding-box,var(--b) border-box;-webkit-backdrop-filter:none;backdrop-filter:none}
.sec-cats{background:linear-gradient(180deg,rgba(3,8,20,.55),rgba(3,8,20,.35))}
.cat .lbl{padding:2% 9% 13% 12%;gap:.5em}

/* category section light streaks (mockup 7) */
.sec-cats::before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 420' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cfilter id='b' x='-20%' y='-50%' width='140%' height='200%'%3E%3CfeGaussianBlur stdDeviation='5'/%3E%3C/filter%3E%3Cfilter id='c' x='-20%' y='-80%' width='140%' height='260%'%3E%3CfeGaussianBlur stdDeviation='22'/%3E%3C/filter%3E%3ClinearGradient id='g' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%236f9bff' stop-opacity='.95'/%3E%3Cstop offset='.3' stop-color='%237b5cff' stop-opacity='.45'/%3E%3Cstop offset='1' stop-color='%233b82f6' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='none' stroke='url(%23g)'%3E%3Cpath filter='url(%23c)' stroke-width='70' d='M-80 190 C 140 250 330 320 760 350'/%3E%3Cpath filter='url(%23b)' stroke-width='9' d='M-40 215 C 170 270 340 330 680 360'/%3E%3Cpath filter='url(%23b)' stroke-width='6' d='M-40 265 C 150 310 310 360 600 385'/%3E%3Cpath filter='url(%23b)' stroke-width='4' d='M-40 310 C 130 345 270 385 520 405'/%3E%3Cpath filter='url(%23b)' stroke-width='3' d='M-40 150 C 160 200 330 270 640 300'/%3E%3C/g%3E%3Cpath filter='url(%23c)' fill='none' stroke='%232f6dff' stroke-opacity='.22' stroke-width='110' d='M1700 -40 C 1300 90 900 200 300 300'/%3E%3Cellipse filter='url(%23c)' cx='800' cy='230' rx='700' ry='90' fill='%231d4ed8' fill-opacity='.12'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;-webkit-mask-image:none;mask-image:none}

.cat{border-width:2px;box-shadow:-8px 10px 22px -10px rgba(244,114,182,.85),8px -8px 22px -10px rgba(56,189,248,.85),0 0 14px -4px rgba(120,140,255,.6),inset 0 0 24px -10px rgba(120,170,255,.55)}
.cat:nth-child(4n+3){box-shadow:0 0 24px -4px rgba(56,150,255,.95),inset 0 0 24px -10px rgba(120,170,255,.55)}

/* room inside the scrolling row so the card glow is not clipped */
.cat-row{padding:20px 22px 30px;margin:-16px -22px -22px}

.cat-row{padding:24px 22px 40px;margin:-20px -22px -32px;scroll-padding-inline:22px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22px,#000 calc(100% - 22px),transparent),linear-gradient(180deg,transparent,#000 20px,#000 calc(100% - 30px),transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 22px,#000 calc(100% - 22px),transparent),linear-gradient(180deg,transparent,#000 20px,#000 calc(100% - 30px),transparent);mask-composite:intersect}

/* banner, mockup 8: taller full-bleed photo, feature icons sit inside its bottom edge (no box), glowing bottom line,
   script line on the right, arrows + "01 / 03" counter bottom right. Sizes are the mockup's pixels scaled to the screen. */
.hero{min-height:clamp(440px,32vw,780px)}
.home .hero{min-height:calc(clamp(440px,32vw,780px) + var(--hdr-h,0px))}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:6;height:2px;background:linear-gradient(90deg,transparent,rgba(56,189,248,.9) 25%,#7dd3fc 50%,rgba(56,189,248,.9) 75%,transparent);box-shadow:0 0 18px 2px rgba(56,189,248,.55)}
.slide>.wrap{padding-bottom:clamp(90px,7.5vw,150px)}
.slide-copy h1,.slide-copy h2{font-size:clamp(36px,3.9vw,74px);line-height:1}
.slide-copy p{font-size:clamp(14px,1.05vw,20px);max-width:27em}
.slide::before{background:linear-gradient(90deg,rgba(4,10,20,.85) 0%,rgba(4,10,20,.55) 30%,transparent 55%),linear-gradient(180deg,rgba(4,10,20,.5) 0%,transparent 22%,transparent 60%,rgba(4,10,20,.85) 100%)}
.hero-feats{position:absolute;left:0;right:0;bottom:clamp(16px,1.6vw,30px);z-index:5;pointer-events:none}
.hero-feats .feats{pointer-events:auto;margin:0;padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;flex-wrap:wrap;gap:12px 0;width:max-content;max-width:62%}
.hero-feats .feats li{padding:0 clamp(14px,1.4vw,26px)}
.hero-feats .feats li:first-child{padding-left:0}
.hero-feats .feats li+li{border-left:1px solid rgba(255,255,255,.18)}
.hero-feats .feats svg{width:clamp(30px,2.3vw,40px);height:clamp(30px,2.3vw,40px);padding:7px;border-radius:50%;color:#fff;background:radial-gradient(circle at 35% 30%,#4fb6ff,#1565e0);filter:none;box-shadow:0 0 14px -2px rgba(56,150,255,.9)}
.hero-feats .feats b{font-size:clamp(11.5px,.75vw,14px)}
.hero-feats .feats span{font-size:clamp(10.5px,.68vw,13px);color:#c6d2e3}
.hero-script{position:absolute;z-index:4;right:clamp(16px,2.6vw,52px);top:calc(var(--hdr-h,0px) + clamp(70px,6.5vw,130px));font:400 clamp(26px,3.2vw,60px)/1 'Kaushan Script',cursive;color:#fff;text-align:center;transform:rotate(-14deg);text-shadow:0 4px 22px rgba(0,0,0,.55);pointer-events:none}
.hero-script::after{content:"";display:block;width:70%;height:2px;margin:.25em auto 0;background:linear-gradient(90deg,transparent,#fff);border-radius:2px}
.dots-wrap{left:auto;right:clamp(16px,2.6vw,52px);width:auto;max-width:none;padding:0;bottom:clamp(22px,2vw,36px);display:flex;align-items:center;gap:14px}
.hcount{color:#c6d2e3;font-size:clamp(10px,.62vw,12px);letter-spacing:.05em}
.hcount b{color:#fff;font-weight:600}
.arrows button,.home .arrows button{top:auto;bottom:clamp(60px,5vw,92px);margin:0;width:clamp(34px,2.2vw,42px);height:clamp(34px,2.2vw,42px);font-size:clamp(18px,1.2vw,24px);background:rgba(4,10,20,.6);border-color:rgba(255,255,255,.55)}
.arrows button:first-child{left:auto;right:calc(clamp(16px,2.6vw,52px) + clamp(40px,2.6vw,50px))}
.arrows button:last-child{right:clamp(16px,2.6vw,52px)}
#trailers{padding-top:clamp(26px,2.4vw,46px)}

.hero-feats .feats{flex-wrap:nowrap;max-width:calc(100% - clamp(150px,13vw,260px))}
.hero-feats .feats li{padding:0 clamp(10px,1.1vw,22px)}
.hero-feats .feats span{white-space:nowrap}
/* cool navy grade over the photo, like the mockup */
.slide::before{background:linear-gradient(90deg,rgba(4,12,28,.86) 0%,rgba(4,14,34,.55) 30%,rgba(6,22,52,.12) 55%,rgba(6,22,52,.2) 100%),linear-gradient(180deg,rgba(4,12,28,.55) 0%,rgba(8,30,70,.1) 25%,rgba(8,30,70,.1) 60%,rgba(4,10,24,.88) 100%)}
.slide .bg{filter:saturate(.85) hue-rotate(-8deg) brightness(.95)}
.hero-script{font-size:clamp(24px,2.7vw,52px);opacity:.92;-webkit-text-stroke:0}
@media (max-width:1240px){.hero-feats .feats li:nth-child(5){display:none}}

/* category section, mockup 8 match pass: softer glass cards, subtle border, bigger trailers, tighter spacing */
.sec-cats{padding-top:clamp(20px,2vw,38px);padding-bottom:0}
.sec-cats .shead{padding-left:12px;margin-bottom:clamp(2px,.3vw,8px)}
.sec-cats .h2{font-size:clamp(22px,2.04vw,39px)}
.cat{--b:linear-gradient(45deg,rgba(244,114,182,.9) 0%,rgba(90,110,210,.3) 40%,rgba(90,110,210,.3) 60%,rgba(56,189,248,.85) 100%);border-width:1px;
  background:radial-gradient(ellipse 85% 55% at 25% 8%,rgba(90,140,230,.24),transparent 70%) padding-box,linear-gradient(170deg,#152c54 0%,#0e1f40 50%,#091632 100%) padding-box,var(--b) border-box;
  box-shadow:-6px 8px 16px -10px rgba(244,114,182,.6),6px -6px 16px -10px rgba(56,189,248,.55),inset 0 1px 0 rgba(255,255,255,.09)}
.cat:nth-child(4n+2){--b:linear-gradient(45deg,rgba(232,121,249,.85) 0%,rgba(90,110,210,.3) 40%,rgba(90,110,210,.3) 60%,rgba(96,165,250,.85) 100%)}
.cat:nth-child(4n+3){--b:linear-gradient(45deg,rgba(59,130,246,.9),rgba(56,189,248,.9));box-shadow:0 0 18px -6px rgba(56,150,255,.75),inset 0 1px 0 rgba(255,255,255,.09)}
.cat:nth-child(4n+4){--b:linear-gradient(45deg,rgba(192,132,252,.85) 0%,rgba(90,110,210,.3) 40%,rgba(90,110,210,.3) 60%,rgba(34,211,238,.85) 100%)}
.cat .pic{padding:7% 5% 0}
.cat .pic img{transform:scale(1.14);transform-origin:50% 45%}
.cat:hover .pic img{transform:scale(1.2)}
.cat .lbl{font-weight:600;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5)}

.sec-cats{padding-bottom:clamp(14px,1.9vw,36px)}

/* mockup 9: reviews sit straight on the page (no panel), bigger trust tiles */
.revs{padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.revs .shead{padding-right:clamp(0px,25vw,480px)}
.review{min-height:clamp(150px,10.8vw,210px);border-color:rgba(70,140,255,.45);box-shadow:0 0 22px -12px rgba(30,143,255,.9)}
.rev-photo{border-color:rgba(70,140,255,.45);box-shadow:0 0 22px -12px rgba(30,143,255,.9)}

/* mockup 10/11 at 1920: trust tiles 261x135 sitting 24px off the bottom; review cards 397 wide, photo 557 */
.revs-row{grid-template-columns:minmax(0,2.21fr) minmax(0,1fr);gap:clamp(10px,1.1vw,22px)}
.rev-row{--rg:clamp(10px,1.1vw,22px);gap:var(--rg);grid-auto-columns:calc((100% - 2 * var(--rg)) / 3)}

/* reviews, mockup 11: lighter blue glass cards with cyan glow, bigger avatar / name / stars, thin script on the photo */
.review{padding:clamp(16px,1.25vw,26px);gap:clamp(10px,.9vw,16px);border-radius:clamp(10px,.75vw,14px);border:1px solid rgba(56,170,255,.6);background:linear-gradient(160deg,rgba(24,58,112,.78) 0%,rgba(13,32,68,.88) 55%,rgba(9,22,48,.94) 100%);box-shadow:0 0 26px -10px rgba(30,143,255,.95),inset 0 1px 0 rgba(255,255,255,.09)}
.review figcaption{gap:clamp(10px,.9vw,16px);align-items:flex-start}
.review .avatar{width:clamp(40px,3vw,58px);height:clamp(40px,3vw,58px);font-size:clamp(14px,1.05vw,20px);background:radial-gradient(circle at 35% 30%,#4fb6ff,#1565e0);border:2px solid rgba(170,215,255,.75);box-shadow:0 0 18px -2px rgba(56,170,255,.9)}
.review b{font-size:clamp(13px,.95vw,18px);margin-top:2px}
.review small{font-size:clamp(11px,.72vw,13.5px);color:#9fb2cc}
.review .stars{margin-top:clamp(6px,.5vw,10px);font-size:clamp(14px,1.05vw,20px);letter-spacing:2px;color:#fbbf24;text-shadow:0 0 8px rgba(251,191,36,.35)}
.review blockquote{color:#e8eef8;font-size:clamp(12px,.82vw,15.5px);font-weight:500}
.rev-photo{border:1px solid rgba(56,170,255,.6);box-shadow:0 0 26px -10px rgba(30,143,255,.95)}
.rev-photo::before{background:linear-gradient(90deg,rgba(4,12,26,.55),rgba(4,12,26,.05) 50%)}
.rev-photo span{font:400 clamp(24px,2.2vw,44px)/1.05 'Satisfy',cursive;transform:rotate(-12deg);letter-spacing:.01em}
.rev-photo span::after{content:"";display:block;width:80%;height:2px;margin:.15em 0 0 .6em;background:linear-gradient(90deg,#fff,transparent);border-radius:2px;transform:rotate(-4deg)}

.review blockquote{font-size:clamp(11.5px,.74vw,14px);line-height:1.55}
.rev-photo span{font-size:clamp(22px,1.9vw,38px);color:rgba(255,255,255,.96);text-shadow:0 2px 10px rgba(0,0,0,.45)}

/* footer (mockup 12): logo, Quick Links, Our Locations, Opening Hours, social; thin bottom bar */
.ftr2{padding:clamp(28px,2.6vw,48px) 0 0}
.ftr2 .ftr-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr)) auto;gap:clamp(20px,2.6vw,52px);margin-bottom:clamp(20px,2vw,36px)}
.ftr-brand img{height:clamp(48px,4vw,74px);width:auto}
.ftr-brand p{margin:12px 0 0;color:var(--sub);font-size:clamp(12.5px,.8vw,15px);max-width:24em}
.ftr2 h4{margin:0 0 12px;font-size:clamp(13px,.85vw,16px);font-weight:600;color:#fff}
.ftr2 .ftr-grid>div>a{display:block;width:fit-content;padding:3px 0;color:var(--sub);font-size:clamp(12.5px,.8vw,15px);text-decoration:none}
.ftr2 .ftr-grid>div>a:hover{color:#fff}
.ftr-loc{display:flex;gap:10px;margin:0 0 12px;font-size:clamp(12.5px,.8vw,15px)}
.ftr-loc svg{flex:none;width:18px;height:18px;margin-top:2px;color:var(--accent);filter:drop-shadow(0 0 5px rgba(30,143,255,.8))}
.ftr-loc b{display:block;color:#fff;font-weight:600}
.ftr-loc a{color:var(--sub);text-decoration:none}
.ftr-loc a:hover{color:#fff}
.ftr-hrs{margin:0 0 10px;color:var(--sub);font-size:clamp(12.5px,.8vw,15px);line-height:1.7}
.ftr2 .ftr-phone{color:var(--accent-hi)!important;font-weight:700}
.ftr-social{display:flex;gap:14px;align-items:flex-start}
.ftr-social a{color:#fff;display:grid;place-items:center;width:28px;height:28px;transition:color .2s}
.ftr-social a:hover{color:var(--accent-hi)}
.ftr-social svg{width:20px;height:20px}
.ftr-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 20px;padding:16px 0;border-top:1px solid var(--line);font-size:clamp(11.5px,.72vw,13.5px);color:var(--muted)}
.ftr-legal{display:flex;gap:14px;align-items:center}
.ftr-legal a{color:var(--sub);text-decoration:none}
.ftr-legal a:hover{color:#fff}
.ftr-legal i{font-style:normal;color:var(--line-2)}
.ftr-au{display:flex;align-items:center;gap:8px;color:var(--sub)}
.ftr-au svg{width:22px;height:22px;color:var(--accent)}
/* account icon next to the cart (WordPress header) */
.hdr .acct{display:grid;place-items:center;width:46px;height:46px;color:#fff}
.hdr .acct:hover{color:var(--accent-hi)}
.hdr .acct svg{width:23px;height:23px}
@media (max-width:900px){.ftr2 .ftr-grid{grid-template-columns:1fr 1fr}.ftr-brand{grid-column:1/-1}.ftr-bot{justify-content:center;text-align:center}.hdr .acct{display:none}}

/* mockup 12 bottom: photo card runs off the right edge; compact footer */
html,body{overflow-x:clip}
@media (min-width:901px){
  .rev-photo{--gut:max(24px,calc((100vw - min(2200px,max(1480px,90vw + 48px))) / 2 + 24px));margin-right:calc(-1 * var(--gut));border-right:0;border-radius:clamp(10px,.75vw,14px) 0 0 clamp(10px,.75vw,14px)}
  .rev-photo img{object-position:80% 55%}
}
.ftr2{padding:clamp(22px,1.9vw,38px) 0 0;background:linear-gradient(180deg,rgba(56,189,248,.16),transparent 40px) top/100% 40px no-repeat,#050c1a}
.ftr2 .ftr-grid{grid-template-columns:21.5% 18.4% 18.7% 1fr auto;gap:0;margin-bottom:clamp(14px,1.3vw,26px)}
.ftr-brand img{height:clamp(54px,4.4vw,84px)}
.ftr-brand p{display:none}
.ftr2 h4{margin:0 0 clamp(6px,.55vw,10px);font-size:clamp(12.5px,.8vw,15px);font-weight:600}
.ftr2 .ftr-grid>div>a{padding:0;font-size:clamp(11.5px,.74vw,14px);line-height:1.55;color:#c8d3e3}
.ftr-loc{margin:0 0 clamp(8px,.7vw,14px);font-size:clamp(11.5px,.74vw,14px);line-height:1.5}
.ftr-loc b{font-weight:500;color:#e6edf8}
.ftr-loc a{color:#c8d3e3}
.ftr-hrs{font-size:clamp(11.5px,.74vw,14px);line-height:1.55;color:#c8d3e3;margin-bottom:6px}
.ftr-social{gap:clamp(10px,1.1vw,20px)}
.ftr-bot{padding:clamp(10px,.9vw,18px) 0;font-size:clamp(10.5px,.66vw,12.5px)}
@media (max-width:900px){.ftr2 .ftr-grid{grid-template-columns:1fr 1fr;gap:22px 16px}}

@media (min-width:901px){.ftr-legal{margin-left:auto;margin-right:clamp(40px,9.5vw,190px)}}

/* reviews backdrop (mockup 14): the photo spills up behind the header on the right and fades into the page */
@media (min-width:901px){
  .revs{position:relative;isolation:isolate;--gut:max(24px,calc((100vw - min(2200px,max(1480px,90vw + 48px))) / 2 + 24px))}
  .revs::before{content:"";position:absolute;z-index:-1;top:clamp(-40px,-2vw,-20px);bottom:clamp(-30px,-1.6vw,-14px);right:calc(-1 * var(--gut));width:46%;
    background:var(--rev-img,url(../img/reviews.jpg)) 75% 35%/cover no-repeat;opacity:.5;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 55%),linear-gradient(180deg,transparent,#000 35%,#000 80%,transparent);-webkit-mask-composite:source-in;
    mask-image:linear-gradient(90deg,transparent,#000 55%),linear-gradient(180deg,transparent,#000 35%,#000 80%,transparent);mask-composite:intersect}
  .revs .shead{position:relative}
}

/* reviews, mockup 14 pass: compact cards (388x202 at 1920) and a cool dusk-blue grade on the photo */
.review{padding:clamp(14px,1.05vw,22px) clamp(14px,1.1vw,22px);gap:clamp(8px,.6vw,12px);min-height:0}
.review .avatar{width:clamp(36px,2.6vw,50px);height:clamp(36px,2.6vw,50px);font-size:clamp(13px,.9vw,17px)}
.review b{font-size:clamp(12.5px,.82vw,16px)}
.review small{font-size:clamp(10.5px,.64vw,12px)}
.review .stars{margin-top:clamp(5px,.4vw,8px);font-size:clamp(12px,.85vw,16px);letter-spacing:1.5px}
.review blockquote{font-size:clamp(11px,.7vw,13.5px);line-height:1.5;-webkit-line-clamp:3}
.rev-photo img{filter:saturate(.7) hue-rotate(-14deg) brightness(.8) contrast(1.06)}
.rev-photo::before{background:linear-gradient(90deg,rgba(8,20,52,.62),rgba(8,20,52,.12) 55%),linear-gradient(180deg,rgba(30,70,150,.35),transparent 55%,rgba(6,14,34,.35))}
.revs::before{filter:saturate(.7) hue-rotate(-14deg) brightness(.85)}

.review .avatar{width:clamp(38px,2.9vw,56px);height:clamp(38px,2.9vw,56px);font-size:clamp(14px,1vw,19px)}
.review b{font-size:clamp(13px,.88vw,17px)}
.review{background:linear-gradient(165deg,rgba(30,74,140,.8) 0%,rgba(15,38,80,.9) 50%,rgba(9,22,48,.95) 100%);border-color:rgba(70,170,255,.7)}

/* reviews photo = ONE continuous image: the backdrop is drawn exactly over the photo column (plus a fade
   to its left and above), and the card is a transparent window onto it, so header area and card show the same photo */
@media (min-width:901px){
  .revs{--g2:clamp(10px,1.1vw,22px);--fade:clamp(70px,7vw,140px)}
  .revs::before{top:clamp(-50px,-2.6vw,-24px);bottom:0;right:calc(-1 * var(--gut));width:calc((100% - var(--g2)) / 3.21 + var(--gut) + var(--fade));
    background:var(--rev-img,url(../img/reviews.jpg)) 70% 100%/cover no-repeat;opacity:.95;filter:saturate(.7) hue-rotate(-14deg) brightness(.8) contrast(1.06);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fade)),linear-gradient(180deg,transparent 0,rgba(0,0,0,.55) 22%,#000 46%);
    mask-image:linear-gradient(90deg,transparent 0,#000 var(--fade)),linear-gradient(180deg,transparent 0,rgba(0,0,0,.55) 22%,#000 46%)}
  .rev-photo{background:transparent}
  .rev-photo img{opacity:0}
  .rev-photo::before{background:linear-gradient(90deg,rgba(8,20,52,.55),rgba(8,20,52,0) 50%)}
}

@media (min-width:901px){.revs::before{filter:brightness(.85) saturate(.9);opacity:1}}
.rev-photo img{filter:brightness(.85) saturate(.9);object-position:75% 70%}

@media (min-width:901px){.revs::before{background-size:135% auto;background-position:88% 96%}}

/* reviews photo framing (mockup 14): horizon sits at the card's top edge, so only sky shows above the card and
   it melts into the page; vehicles fill the card's right half. Image height 25vw ~ card height / 0.4. */
@media (min-width:901px){
  .revs::before{background-size:auto 25vw;background-position:right 0 bottom -3.6vw;filter:saturate(1.05) brightness(.95);opacity:1;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.6) calc(var(--fade) * .6),#000 var(--fade)),linear-gradient(180deg,transparent 0,rgba(0,0,0,.35) 18%,rgba(0,0,0,.8) 36%,#000 48%);
    mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.6) calc(var(--fade) * .6),#000 var(--fade)),linear-gradient(180deg,transparent 0,rgba(0,0,0,.35) 18%,rgba(0,0,0,.8) 36%,#000 48%)}
  .rev-photo{border-color:rgba(80,170,255,.45);box-shadow:0 0 22px -12px rgba(30,143,255,.8)}
  .rev-photo::before{background:linear-gradient(90deg,rgba(8,20,52,.45),rgba(8,20,52,0) 45%)}
}

@media (min-width:901px){
  .revs{--fade:clamp(120px,11.5vw,230px)}
  .revs::before{-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.12) calc(var(--fade) * .4),rgba(0,0,0,.5) calc(var(--fade) * .75),#000 var(--fade)),linear-gradient(180deg,transparent 0,rgba(0,0,0,.35) 18%,rgba(0,0,0,.8) 36%,#000 48%);
    mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.12) calc(var(--fade) * .4),rgba(0,0,0,.5) calc(var(--fade) * .75),#000 var(--fade)),linear-gradient(180deg,transparent 0,rgba(0,0,0,.35) 18%,rgba(0,0,0,.8) 36%,#000 48%);
    -webkit-mask-composite:source-in;mask-composite:intersect}
}
/* review cards are solid so nothing behind them shows through */
.review{background:linear-gradient(165deg,#1d4380 0%,#10264f 50%,#0a1a38 100%)}

/* reviews photo, mockup 16: zoomed so the ute + trailer fill the card's right side; sky and mountains stay
   visible above the card; only the left edge and the very top fade */
@media (min-width:901px){
  .revs::before{background-size:auto 33vw;background-position:right -2vw bottom -5.7vw;filter:none;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.5) calc(var(--fade) * .5),#000 var(--fade)),linear-gradient(180deg,transparent 0,rgba(0,0,0,.75) 14%,#000 28%);
    mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.5) calc(var(--fade) * .5),#000 var(--fade)),linear-gradient(180deg,transparent 0,rgba(0,0,0,.75) 14%,#000 28%)}
  .rev-photo{border:1px solid rgba(120,190,255,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 0 24px -10px rgba(30,143,255,.9);background:linear-gradient(90deg,rgba(6,16,40,.35),rgba(6,16,40,.05) 55%)}
}

/* new 21:9 reviews photo: horizon at the card's top edge, ute + trailer large inside the card, trailer cut at the screen edge */
@media (min-width:901px){.revs::before{background-size:auto 22vw;background-position:right -6vw bottom -3.3vw}}
.rev-photo img{object-position:78% 70%}

/* category renders (mockup): dark-navy studio shots; soften their edges into the card */
.cat .pic{padding:4% 4% 0}
.cat .pic img{transform:none;object-fit:cover;filter:none;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 48%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 70% 70% at 50% 48%,#000 55%,transparent 100%)}
.cat:hover .pic img{transform:scale(1.05)}

/* popular trailers carousel: 4 cards in view, scrolls sideways, arrows under the intro */
.pop-row{--pg:clamp(12px,1.2vw,22px);gap:var(--pg);grid-auto-columns:calc((100% - 3 * var(--pg)) / 4);padding:6px 4px 12px}
.band.pop .band-intro .btn{margin-right:14px}
.band-arrows{display:inline-flex;gap:8px;vertical-align:middle;margin-top:14px}
.band-arrows button{width:clamp(34px,2.3vw,42px);height:clamp(34px,2.3vw,42px);border-radius:50%;border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:#fff;font-size:clamp(18px,1.2vw,22px);line-height:1;cursor:pointer;transition:border-color .2s,background .2s}
.band-arrows button:hover{border-color:var(--accent);background:rgba(30,143,255,.2)}
@media (max-width:1100px){.pop-row{grid-auto-columns:calc((100% - 2 * var(--pg)) / 3)}}
@media (max-width:900px){.pop-row{grid-auto-columns:calc((100% - var(--pg)) / 2.2)}}
@media (max-width:640px){.pop-row{grid-auto-columns:78%}}

/* why choose us, v2 (TDU-style): big heading, stat card over a dotted Australia, five glowing colour cards */
.why2{position:relative;isolation:isolate;padding:clamp(40px,4.2vw,84px) 0 clamp(44px,4.4vw,88px);overflow:hidden}
.why2::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--why-img,url(../img/trust.jpg)) center 60%/cover no-repeat;opacity:.16;filter:grayscale(.4) brightness(.8);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent)}
.why2-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;margin-bottom:clamp(26px,2.4vw,46px)}
.why2 .h2{margin-top:10px;font-size:clamp(32px,3vw,58px);line-height:1.04;text-transform:uppercase;letter-spacing:-.01em}
.why2 .h2 span{background:linear-gradient(90deg,#38bdf8,#60a5fa 60%,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent}
.why2-bar{display:block;width:clamp(80px,6vw,120px);height:3px;margin:clamp(14px,1.2vw,22px) 0;border-radius:3px;background:linear-gradient(90deg,var(--accent),rgba(30,143,255,0));box-shadow:0 0 10px rgba(30,143,255,.7)}
.why2-head p{margin:0;max-width:34em;color:#cdd8e8;font-size:clamp(14px,.95vw,18px);line-height:1.6}
.why2-side{position:relative;min-width:clamp(220px,18vw,340px);min-height:clamp(150px,11vw,210px)}
.why2-map{position:absolute;right:-6%;top:-10%;width:118%;height:130%;opacity:.55;background:radial-gradient(circle,rgba(170,200,245,.85) 1.3px,transparent 1.8px) 0 0/9px 9px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='1.5 2.5 21 21'%3E%3Cpath d='M2.5 10.5 4.5 8.5 7.5 7.5 9.5 5.5 11.5 6.5 12.5 4.5 14.5 5.5 15.5 3 17 6.5 19 8.5 21 11 22 14 21 17 18.5 19.5 15.5 20 13.5 18.5 11.5 17.5 8.5 17 5.5 18 3 16.5 2 13.5zM16 21.5h2.5l-1.3 1.6z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='1.5 2.5 21 21'%3E%3Cpath d='M2.5 10.5 4.5 8.5 7.5 7.5 9.5 5.5 11.5 6.5 12.5 4.5 14.5 5.5 15.5 3 17 6.5 19 8.5 21 11 22 14 21 17 18.5 19.5 15.5 20 13.5 18.5 11.5 17.5 8.5 17 5.5 18 3 16.5 2 13.5zM16 21.5h2.5l-1.3 1.6z'/%3E%3C/svg%3E") center/contain no-repeat}
.why2-stat{position:relative;display:flex;align-items:center;gap:14px;padding:clamp(14px,1.1vw,20px) clamp(16px,1.3vw,24px);border-radius:16px;border:1px solid rgba(140,180,255,.3);background:rgba(16,32,64,.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 40px -22px rgba(0,0,0,.9)}
.why2-stat .ic{flex:none;display:grid;place-items:center;width:clamp(44px,3.2vw,58px);height:clamp(44px,3.2vw,58px);border-radius:50%;background:radial-gradient(circle at 35% 30%,#4fb6ff,#1565e0);box-shadow:0 0 22px -2px rgba(56,150,255,.9);color:#fff}
.why2-stat .ic svg{width:50%;height:50%;fill:currentColor;stroke:none}
.why2-stat b{display:block;color:#fff;font-size:clamp(20px,1.6vw,30px);line-height:1.1}
.why2-stat span>span,.why2-stat span:last-child{color:#c6d2e3;font-size:clamp(12px,.78vw,14.5px);line-height:1.35}
.why2-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,.9vw,18px)}
.why2-cards li{--c:#f43f5e;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(22px,1.8vw,34px) clamp(14px,1.2vw,24px) clamp(22px,1.8vw,32px);border-radius:clamp(16px,1.2vw,24px);
  border:1px solid color-mix(in srgb,var(--c) 30%,rgba(255,255,255,.22));
  background:linear-gradient(180deg,rgba(26,44,80,.72) 0%,color-mix(in srgb,var(--c) 22%,rgba(14,24,48,.85)) 100%);
  box-shadow:0 24px 40px -26px var(--c),inset 0 1px 0 rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .3s var(--ease),box-shadow .3s}
.why2-cards li:hover{transform:translateY(-5px);box-shadow:0 30px 48px -22px var(--c),inset 0 1px 0 rgba(255,255,255,.12)}
.why2-cards li::after{content:"";position:absolute;left:12%;right:12%;bottom:-1px;height:2px;border-radius:2px;background:var(--c);opacity:.7;box-shadow:0 0 18px 2px var(--c)}
.why2-cards .c-o{--c:#f97316}.why2-cards .c-p{--c:#a855f7}.why2-cards .c-b{--c:#3b82f6}.why2-cards .c-t{--c:#14b8a6}
.why2-cards .ic{display:grid;place-items:center;width:clamp(62px,4.6vw,88px);height:clamp(62px,4.6vw,88px);margin-bottom:clamp(16px,1.4vw,26px);border-radius:50%;color:#fff;
  background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 70%,#fff),var(--c) 70%);box-shadow:0 0 0 6px color-mix(in srgb,var(--c) 18%,transparent),0 0 30px 2px color-mix(in srgb,var(--c) 70%,transparent)}
.why2-cards .ic svg{width:44%;height:44%}
.why2-cards h3{font-size:clamp(15px,1.15vw,22px);line-height:1.2;color:#fff}
.why2-cards li>i{display:block;width:34px;height:2px;margin:clamp(10px,.9vw,16px) 0;border-radius:2px;background:var(--c)}
.why2-cards p{margin:0;color:#d5deeb;font-size:clamp(12.5px,.84vw,16px);line-height:1.6}
@media (max-width:1100px){.why2-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.why2-head{grid-template-columns:1fr}.why2-side{min-height:0}.why2-map{display:none}.why2-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.why2-cards{grid-template-columns:1fr}}

.why2-side{min-width:clamp(300px,24vw,460px);min-height:clamp(170px,13vw,250px);display:flex;align-items:flex-start}
.why2-map{left:auto;right:calc(clamp(10px,1vw,20px) * -1);top:calc(clamp(20px,2vw,40px) * -1);width:clamp(200px,17vw,330px);height:clamp(180px,15.5vw,300px);opacity:.6}
.why2-stat{margin-top:clamp(10px,1vw,20px)}

/* reviews backdrop: cool dusk grade like the mockup, long soft fades so the header link sits on dark sky */
@media (min-width:901px){
  .revs{--fade:clamp(220px,19vw,380px)}
  .revs::before{filter:saturate(.7) brightness(.72) hue-rotate(-12deg) contrast(1.05);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.25) calc(var(--fade) * .45),rgba(0,0,0,.7) calc(var(--fade) * .8),#000 var(--fade)),linear-gradient(180deg,transparent 0,rgba(0,0,0,.2) 15%,rgba(0,0,0,.6) 32%,#000 46%);
    mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.25) calc(var(--fade) * .45),rgba(0,0,0,.7) calc(var(--fade) * .8),#000 var(--fade)),linear-gradient(180deg,transparent 0,rgba(0,0,0,.2) 15%,rgba(0,0,0,.6) 32%,#000 46%);
    -webkit-mask-composite:source-in;mask-composite:intersect}
  .revs .more{text-shadow:0 1px 10px rgba(4,10,24,.9)}
  .rev-photo{background:linear-gradient(90deg,rgba(6,16,40,.55),rgba(6,16,40,.12) 50%,rgba(6,16,40,.05))}
}

@media (min-width:901px){.revs::before{width:calc((100% - var(--g2)) / 3.21 + var(--gut) + clamp(120px,11.5vw,230px))}}

/* photo card is a complete box inside the content width (no bleed off the right edge) */
@media (min-width:901px){
  .revs{--gut:0px}
  .rev-photo{margin-right:0;border:1px solid rgba(120,190,255,.6);border-radius:clamp(10px,.75vw,14px);box-shadow:0 0 26px -10px rgba(30,143,255,.95),inset 0 0 0 1px rgba(255,255,255,.05)}
  .revs::before{background-position:right -8vw bottom -3.3vw;border-radius:0 clamp(10px,.75vw,14px) clamp(10px,.75vw,14px) 0}
}

/* reviews: the photo card shows its own photo; a soft sky shade rises above it (fades on every side, no edges) */
@media (min-width:901px){
  .revs::before{content:none}
  .revs-row{position:relative}
  .revs-row::before{content:"";position:absolute;z-index:-1;right:-4%;bottom:55%;width:calc((100% - var(--g2)) / 3.21 + 16%);height:clamp(140px,10.5vw,210px);
    background:var(--rev-img,url(../img/reviews.jpg)) 25% 8%/cover no-repeat;filter:saturate(.7) brightness(.7) hue-rotate(-12deg);
    -webkit-mask-image:radial-gradient(ellipse 50% 60% at 60% 70%,#000 25%,rgba(0,0,0,.45) 55%,transparent 80%);mask-image:radial-gradient(ellipse 50% 60% at 60% 70%,#000 25%,rgba(0,0,0,.45) 55%,transparent 80%)}
  .rev-photo{background:#0a1630}
  .rev-photo img{opacity:1;object-position:82% 74%;filter:saturate(.8) brightness(.82) hue-rotate(-10deg)}
  .rev-photo::before{background:linear-gradient(90deg,rgba(6,16,40,.6),rgba(6,16,40,.1) 50%,rgba(6,16,40,0))}
}

/* product page additions (TDU reference): category kicker, rating, share + meta under the gallery, Buy Now, frequently bought together */
.pkick{font-size:clamp(11px,.7vw,13px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-hi);line-height:1.6}
.prate{margin-top:-6px;color:var(--sub);font-size:14px}
.prate .stars{letter-spacing:2px}
.pdp-media{min-width:0;display:flex;flex-direction:column;gap:18px}
.pshare{display:flex;align-items:center;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--line);color:var(--sub);font-size:14px}
.pshare span{margin-right:4px}
.pshare a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);color:#fff;font-weight:700;font-size:13px;text-decoration:none;transition:border-color .2s,background .2s}
.pshare a:hover{border-color:var(--accent);background:rgba(30,143,255,.15)}
.pshare svg{width:15px;height:15px}
.pmeta{display:grid;grid-template-columns:auto 1fr;gap:8px 10px;margin:0;font-size:14px}
.pmeta dt{color:#fff;font-weight:600}
.pmeta dd{margin:0;color:var(--sub)}
.pmeta a{color:var(--sub)}
.pmeta a:hover{color:#fff}
.btn-buy{width:100%;min-height:52px;background:linear-gradient(180deg,#fbbf24,#f59e0b);color:#1a1205;box-shadow:0 10px 24px -12px rgba(245,158,11,.9)}
.btn-buy:hover{background:linear-gradient(180deg,#fcd34d,#fbbf24);color:#1a1205}
.fbt{padding:clamp(18px,1.4vw,26px);border:1px solid var(--line-2);border-radius:16px;background:var(--surface)}
.fbt-head{display:flex;align-items:center;gap:14px;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.fbt-head .ic{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:radial-gradient(circle at 35% 30%,#4fb6ff,#1565e0);color:#fff;box-shadow:0 0 18px -2px rgba(56,150,255,.8)}
.fbt-head .ic svg{width:22px;height:22px}
.fbt-head h2{font-size:clamp(18px,1.25vw,24px)}
.fbt-head p{margin:2px 0 0;color:var(--sub);font-size:14px}
.fbt-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px}
.fbt-row .card{position:relative;overflow:visible}
.fbt-row .card .media{overflow:hidden;border-radius:14px 14px 0 0}
.fbt-row .card:not(:last-child)::after{content:"+";position:absolute;right:-28px;top:42%;width:22px;height:22px;border-radius:50%;border:1px solid var(--line-2);background:var(--surface-2);color:#fff;display:grid;place-items:center;font-size:15px;line-height:1}
.fbt-row .card h3{font-size:14px}
.fbt-row .specs,.fbt-row .pill{display:none}
@media (max-width:1100px){.fbt-row{grid-template-columns:repeat(2,minmax(0,1fr))}.fbt-row .card:nth-child(2n)::after{display:none}}
@media (max-width:900px){.pdp-media{display:contents}.pshare,.pmeta{order:5}.fbt{order:3}}
@media (max-width:640px){.fbt-row{grid-template-columns:1fr}.fbt-row .card::after{display:none}}

/* contact page */
.ct-hero{padding:clamp(34px,3vw,60px) 0;background:radial-gradient(ellipse 50% 90% at 90% 20%,rgba(30,143,255,.18),transparent 70%)}
.ct-hero .h2{margin:8px 0 12px;font-size:clamp(34px,3vw,58px);text-transform:uppercase}
.ct-hero p{max-width:44em;margin:0;color:#cdd8e8;font-size:clamp(14px,.95vw,18px)}
.ct-facts{list-style:none;display:flex;flex-wrap:wrap;gap:14px 40px;margin:26px 0 0;padding:0;color:var(--sub);font-size:14px}
.ct-facts b{display:block;color:var(--accent-hi);font-size:clamp(18px,1.3vw,24px)}
.ct-map{position:relative;height:clamp(320px,26vw,480px)}
.ct-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:invert(.9) hue-rotate(180deg) saturate(.7)}
.ct-map .wrap{position:relative;height:100%;pointer-events:none}
.ct-map-card{position:absolute;left:24px;top:24px;display:flex;flex-direction:column;gap:8px;width:min(380px,calc(100% - 48px));padding:12px;border-radius:16px;border:1px solid var(--line-2);background:rgba(8,18,33,.85);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;box-shadow:0 24px 50px -24px rgba(0,0,0,.9)}
.ct-yard{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;border:1px solid transparent}
.ct-yard.on{border-color:rgba(30,143,255,.5);background:rgba(30,143,255,.12)}
.ct-yard button{flex:1;display:flex;gap:10px;align-items:flex-start;padding:0;border:0;background:none;color:var(--sub);font:inherit;font-size:13.5px;text-align:left;cursor:pointer}
.ct-yard button svg{flex:none;width:20px;height:20px;color:var(--accent)}
.ct-yard b{display:block;color:#fff;font-size:15px}
.ct-cards-sec{padding:clamp(24px,2vw,40px) 0}
.ct-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.1vw,22px)}
.ct-cards li{display:flex;flex-direction:column;gap:4px;padding:clamp(18px,1.4vw,26px);border-radius:16px;border:1px solid var(--line-2);background:linear-gradient(180deg,rgba(22,44,84,.6),rgba(10,22,46,.85))}
.ct-cards .ic{display:grid;place-items:center;width:46px;height:46px;margin-bottom:12px;border-radius:50%;border:1px solid rgba(30,143,255,.5);background:rgba(30,143,255,.12);color:var(--accent-hi)}
.ct-cards .ic svg{width:20px;height:20px}
.ct-cards small{font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sub)}
.ct-cards a,.ct-cards b{color:#fff;font-weight:700;font-size:clamp(16px,1.15vw,21px);text-decoration:none;word-break:break-word}
.ct-cards a:hover{color:var(--accent-hi)}
.ct-cards span{color:var(--sub);font-size:13.5px}
.ct-head{text-align:center;max-width:46em;margin:0 auto clamp(24px,2vw,40px)}
.ct-head .kick{justify-content:center}
.ct-head p{color:var(--sub)}
.ct-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:clamp(16px,1.6vw,30px);align-items:start;max-width:1200px;margin:0 auto}
.ct-hours,.ct-form{padding:clamp(18px,1.5vw,30px);border-radius:16px;border:1px solid var(--line-2);background:var(--surface)}
.ct-hours h3{margin-bottom:12px}
.ct-hours table{width:100%;border-collapse:collapse;font-size:15px}
.ct-hours th,.ct-hours td{padding:10px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:500;color:var(--text)}
.ct-hours td{text-align:right;font-weight:700;color:#fff}
.ct-hours tr.today th,.ct-hours tr.today td{color:var(--accent-hi)}
.ct-hours em{margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--accent);color:#fff;font-style:normal;font-size:11px;font-weight:700;text-transform:uppercase}
.ct-hours p{margin:14px 0 0;color:var(--sub);font-size:13.5px}
.ct-form{display:flex;flex-direction:column;gap:16px}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ct-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px;color:#fff}
.ct-form label i{color:#ff6b6b;font-style:normal}
.ct-form input,.ct-form select,.ct-form textarea{width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface-2);color:#fff;font:15px var(--body)}
.ct-form textarea{resize:vertical}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgba(30,143,255,.18)}
.ct-form .ct-check{flex-direction:row;align-items:center;gap:10px;font-weight:500}
.ct-form .ct-check input{width:18px;min-height:18px;height:18px;accent-color:var(--accent)}
.ct-send{width:100%;min-height:52px}
.ct-note{margin:0;text-align:center;color:var(--sub);font-size:13.5px}
.hp{position:absolute;left:-9999px}
.steps4{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:clamp(20px,2.4vw,46px);align-items:center;padding:clamp(24px,2.2vw,42px);border-radius:20px;border:1px solid var(--line-2);background:linear-gradient(180deg,rgba(14,29,51,.7),rgba(6,14,28,.85))}
.steps4-intro{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.steps4 .own-tag{padding:5px 12px;border:1px solid var(--accent);border-radius:999px;color:#cfe5ff;font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.steps4 .h2{text-transform:uppercase;font-size:clamp(30px,2.6vw,48px)}
.steps4 .h2 span{display:block;color:var(--accent-hi)}
.steps4-intro p{margin:0;color:var(--sub)}
.steps4-intro p b{color:#fff}
.steps4-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.steps4-list li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 10px}
.steps4-list .n{height:28px;margin-bottom:14px;padding:0 10px;border:1px solid var(--accent);border-radius:8px;font:700 15px/26px var(--body);color:#fff}
.steps4-list .ring{position:relative;z-index:1;display:grid;place-items:center;width:clamp(70px,5vw,92px);height:clamp(70px,5vw,92px);margin-bottom:16px;border:2px solid var(--accent);border-radius:50%;background:var(--deep);box-shadow:0 0 0 6px rgba(30,143,255,.1),0 0 30px -4px rgba(30,143,255,.7)}
.steps4-list .ring svg{width:40%;height:40%;color:#fff}
.steps4-list li:not(:last-child)::before{content:"";position:absolute;top:calc(42px + clamp(35px,2.5vw,46px));left:50%;width:100%;height:2px;background:linear-gradient(90deg,rgba(30,143,255,.7),rgba(30,143,255,.25))}
.steps4-list h3{font-size:clamp(15px,1.05vw,19px);margin-bottom:6px;color:var(--accent-hi)}
.steps4-list p{margin:0;color:var(--sub);font-size:14px}
@media (max-width:1100px){.ct-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.steps4{grid-template-columns:1fr}}
@media (max-width:900px){.ct-grid{grid-template-columns:1fr}.ct-map-card{position:relative;left:0;top:auto;width:100%;margin-top:-60px}.ct-map .wrap{height:auto;padding-top:clamp(320px,26vw,480px)}.ct-map{height:auto}}
@media (max-width:640px){.ct-cards,.ct-row{grid-template-columns:1fr}.steps4-list{grid-template-columns:1fr 1fr;gap:24px 0}.steps4-list li::before{display:none}}

.ct-map-card{left:auto;right:24px}
@media (max-width:900px){.ct-map-card{right:auto}}

/* deals of the week */
#deals .shead{align-items:center}
.deals2{display:grid;grid-template-columns:minmax(0,clamp(240px,17vw,320px)) minmax(0,1fr);gap:clamp(12px,1.2vw,22px);align-items:stretch}
.deal-intro{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:clamp(20px,1.6vw,30px);border-radius:16px;border:1px solid rgba(30,143,255,.5);background:radial-gradient(ellipse 90% 60% at 100% 0%,rgba(30,143,255,.35),transparent 70%),linear-gradient(180deg,#10264f,#081631);box-shadow:0 0 30px -14px rgba(30,143,255,.9)}
.deal-intro .own-tag{padding:5px 12px;border:1px solid var(--accent);border-radius:999px;color:#cfe5ff;font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.deal-intro h3{font-size:clamp(22px,1.7vw,32px);line-height:1.15}
.deal-intro p{margin:0;color:#cdd8e8;font-size:clamp(13px,.85vw,15.5px)}
.deal-intro .btn{margin-top:auto}
.deal-row{--pg:clamp(12px,1.1vw,20px);gap:var(--pg);grid-auto-columns:calc((100% - 3 * var(--pg)) / 4);padding:4px 2px 10px}
/* every spec slider */
#specs .lede{margin-top:8px}
.specs2{position:relative}
.spec2{display:none;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);border:1px solid var(--line-2);border-radius:18px;overflow:hidden;background:var(--surface)}
.spec2.on{display:grid;animation:rise .45s var(--ease)}
.spec2-pic{position:relative;min-height:clamp(300px,24vw,460px);background:#0b1729}
.spec2-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.spec2-pic span{position:absolute;left:0;right:0;bottom:0;padding:40px 22px 16px;background:linear-gradient(transparent,rgba(4,10,24,.85));color:#dbe5f3;font-size:14px}
.spec2-body{display:flex;flex-direction:column;gap:10px;padding:clamp(22px,2vw,38px)}
.spec2-body h3{font-size:clamp(20px,1.5vw,28px);line-height:1.2}
.spec2-body .price b{font-size:clamp(26px,1.9vw,36px)}
.spec2-tabs{margin:6px 0 4px}
.spec2-tabs .panel p{color:var(--sub)}
.spec2-note{margin:4px 0 0;color:var(--muted);font-size:13px}
.spec2-arr{position:absolute;top:50%;z-index:3;width:44px;height:44px;margin-top:-22px;border-radius:50%;border:1px solid var(--line-2);background:rgba(4,10,20,.75);color:#fff;font-size:22px;cursor:pointer}
.spec2-arr.prev{left:-22px}.spec2-arr.next{right:-22px}
.spec2-arr:hover{border-color:var(--accent)}
.spec2-dots{display:flex;justify-content:center;gap:8px;margin-top:16px}
.spec2-dots button{width:26px;height:4px;padding:0;border:0;border-radius:2px;background:rgba(255,255,255,.25);cursor:pointer;transition:width .3s,background .3s}
.spec2-dots button[aria-current="true"]{width:44px;background:var(--accent);box-shadow:0 0 10px var(--accent)}
/* large range */
.range-chips{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.range-note{display:flex;align-items:center;gap:18px;margin-top:26px;padding:18px 22px;border-radius:16px;border:1px solid rgba(30,143,255,.45);background:linear-gradient(90deg,rgba(16,38,79,.85),rgba(8,22,49,.85));box-shadow:0 20px 40px -26px rgba(0,0,0,.9)}
.range-note .ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--accent);color:var(--accent-hi)}
.range-note .ic svg{width:20px;height:20px}
.range-note p{margin:0;color:#cdd8e8;font-size:clamp(13px,.82vw,15px)}
.range-note p b{color:#fff}
.range-badge{flex:none;display:flex;align-items:center;gap:10px;padding-left:18px;border-left:1px solid var(--line-2);color:var(--sub);font-size:13px;line-height:1.2}
.range-badge svg{width:34px;height:34px;color:var(--accent)}
.range-badge b{display:block;color:#fff;font-size:15px}
/* buyer information */
.buyer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,1.6vw,30px);margin-top:26px}
.buyer>div{padding-top:18px;border-top:3px solid var(--accent);box-shadow:0 -10px 18px -16px var(--accent)}
.buyer h3{font-size:clamp(15px,1.05vw,19px);margin-bottom:8px}
.buyer p{margin:0;color:var(--sub);font-size:clamp(13px,.84vw,15px);line-height:1.6}
/* footer (TDU layout): steps band, feature strip, brand + contact, three link columns */
.ftr3{padding:clamp(30px,2.6vw,50px) 0 0;background:linear-gradient(180deg,rgba(56,189,248,.14),transparent 40px) top/100% 40px no-repeat,linear-gradient(180deg,rgba(5,12,26,.6),#040a16 30%)}
.ftr-strip{list-style:none;margin:16px 0 clamp(34px,3vw,56px);padding:18px 8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line-2);border-radius:16px;background:rgba(255,255,255,.02)}
.ftr-strip li{display:flex;align-items:center;gap:12px;padding:0 18px}
.ftr-strip li+li{border-left:1px solid var(--line)}
.ftr-strip svg{flex:none;width:30px;height:30px;color:var(--accent);filter:drop-shadow(0 0 6px rgba(30,143,255,.5))}
.ftr-strip span{font-size:13px;line-height:1.35;color:var(--sub)}
.ftr-strip b{display:block;color:#fff;font-size:15px}
.ftr-grid3{display:grid;grid-template-columns:minmax(0,1.8fr) repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,52px);margin-bottom:clamp(24px,2vw,40px)}
.ftr3 .ftr-brand img{height:clamp(52px,4vw,76px);width:auto}
.ftr3 .ftr-tag{margin:12px 0 18px;color:var(--sub)}
.ftr3 .ftr-contact{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:14.5px}
.ftr3 .ftr-contact li{display:flex;gap:12px;align-items:flex-start;line-height:1.5;color:var(--sub)}
.ftr3 .ftr-contact svg{flex:none;width:18px;height:18px;margin-top:2px;color:var(--accent)}
.ftr3 .ftr-contact b{color:#fff}
.ftr3 .ftr-contact a{color:inherit;text-decoration:none;white-space:nowrap}
.ftr3 .ftr-contact a:hover{color:#fff}
.ftr3 h4{display:inline-block;margin:0 0 16px;padding-bottom:6px;border-bottom:2px solid var(--accent);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.ftr-grid3>div>a{display:block;width:fit-content;padding:4px 0;color:var(--sub);font-size:14.5px;text-decoration:none;transition:color .2s,transform .2s var(--ease)}
.ftr-grid3>div>a:hover{color:#fff;transform:translateX(3px)}
.ftr3 .ftr-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 20px}
.ftr3 .ftr-social{display:flex;gap:14px}
@media (max-width:1100px){.deal-row{grid-auto-columns:calc((100% - 2 * var(--pg)) / 3)}.buyer{grid-template-columns:repeat(2,minmax(0,1fr))}.ftr-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 0}.ftr-strip li:nth-child(4){border-left:0}}
@media (max-width:900px){.deals2,.spec2.on{grid-template-columns:1fr}.deal-row{grid-auto-columns:calc((100% - var(--pg)) / 2.2)}.spec2-arr{display:none}.range-note{flex-direction:column;align-items:flex-start}.range-badge{border-left:0;padding-left:0}.ftr-grid3{grid-template-columns:1fr 1fr}.ftr3 .ftr-brand{grid-column:1/-1}}
@media (max-width:640px){.deal-row{grid-auto-columns:78%}.buyer{grid-template-columns:1fr}.ftr-strip{grid-template-columns:1fr 1fr;padding:16px 4px}.ftr-strip li{padding:0 12px;border-left:0!important}.ftr-strip li:last-child{grid-column:1/-1}.ftr-grid3{grid-template-columns:1fr}}

.ftr3 .ftr-brand p.ftr-tag{display:block}
#deals,#specs,#range,#faq{padding:clamp(30px,2.8vw,56px) 0}

/* reviews photo: no box; the picture melts into the page on every side */
.rev-photo,.rev-photo:hover{border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;overflow:visible}
.rev-photo::before{content:none!important}
.rev-photo img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 88%,transparent 100%),linear-gradient(180deg,transparent 0,#000 18%,#000 80%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 88%,transparent 100%),linear-gradient(180deg,transparent 0,#000 18%,#000 80%,transparent 100%);mask-composite:intersect}
.rev-photo:hover img{transform:none}
.rev-photo span{text-shadow:0 2px 16px rgba(4,10,24,.95),0 0 4px rgba(4,10,24,.7)}

/* gold rosette badges */
.vt-badge{display:block;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55))}
.vt-badges{display:flex;gap:clamp(10px,1vw,18px);padding-bottom:16px;border-bottom:1px solid var(--line)}
.vt-badges .vt-badge{width:clamp(70px,5vw,92px);height:auto;transition:transform .3s var(--ease)}
.vt-badges .vt-badge:hover{transform:translateY(-3px) rotate(-3deg)}
.vt-rail{position:fixed;left:.6vw;top:50%;z-index:40;display:flex;flex-direction:column;gap:.9vw;transform:translateY(-45%);pointer-events:none}
.vt-rail .vt-badge{width:3.7vw;height:auto}
@media (max-width:1599px){.vt-rail{display:none}}

/* footer ISO badge */
.ftr3 .ftr-brand img.ftr-iso{display:block;height:auto;width:clamp(170px,11vw,210px);margin:0 0 20px;border-radius:2px}
.ftr3 .ftr-tag{display:block;max-width:27em;line-height:1.6}
/* responsive */
@media (max-width:1440px){
  .cat-row{grid-auto-columns:calc((100% - 5 * clamp(10px,.95vw,18px)) / 6)}
}
@media (max-width:1560px){
  /* no side margin left for edge arrows: tuck them bottom right, level with the dots */
  .slide-copy{margin-left:0}
  .arrows button{top:auto;bottom:calc(var(--ov) + 14px);margin:0}
  .arrows button:first-child{left:auto;right:76px}
  .arrows button:last-child{right:24px}
}
@media (max-width:1240px){
  /* nav drops to its own row under logo | search | yards */
  .hdr-mid{display:contents}
  form.search{grid-column:2;justify-self:center;margin:12px 0}
  .nav{grid-column:1/-1;grid-row:2;justify-self:center;margin-top:-8px}
  .side{margin-right:40px}
}
@media (max-width:1100px){
  .loc span>a{display:none}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pop-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .mega-cols{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pdp3{grid-template-columns:minmax(0,1fr) 280px}
  .pdp-top{grid-template-columns:1fr}
  .band,.band.pop{grid-template-columns:1fr}
  .cat-row{grid-auto-columns:calc((100% - 56px)/5.3)}
  .revs-row{grid-template-columns:1fr}
  .rev-row{grid-auto-columns:calc((100% - 16px) / 2.3)}
  .feats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 0}
  .feats li:nth-child(4){border-left:0}
}
@media (max-width:900px){
  .hero-feats{position:static;padding:0 0 18px;pointer-events:auto}
  .hero-feats .feats{width:auto;max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:16px 8px;background:rgba(9,20,37,.92);border:1px solid var(--line-2);border-radius:16px}
  .hero-feats .feats li:first-child{padding-left:12px}
  .hero-script{display:none}
  .dots-wrap{right:16px}
  .hero-grid,.spec,.steps-grid,.loc-grid,.shop-layout{grid-template-columns:1fr}
  /* one column: flatten the product page so the extras sit between the price and Add to Cart */
  .pdp3{display:flex;flex-direction:column;gap:16px}
  .pdp-main,.pdp-top,.pdp-info,.pdp-side{display:contents}
  .xbox{order:1}
  .avail,.pbuy,.pquote{order:2}
  .pbox,.pdp-faq{order:3;margin-top:16px}
  .side-card,.offer{order:4}
  .hdr-in{display:flex;justify-content:space-between;gap:12px;padding-top:10px;padding-bottom:10px}
  form.search,.nav,.locs{display:none}
  .burger{display:grid;place-items:center}
  .hero{min-height:0}
  .slider{position:relative;display:grid}
  .slide{position:relative;grid-area:1/1}
  .slide::before{background:linear-gradient(180deg,rgba(4,10,20,.3) 0%,rgba(4,10,20,.55) 55%,var(--bg) 100%)}
  .slide-copy{padding:44px 0 96px}
  .dots-wrap{bottom:56px}
  .arrows button{top:auto;bottom:40px;margin:0;width:42px;height:42px}
  .arrows button:first-child{left:auto;right:72px}
  .hero-side{position:static;display:block;padding-bottom:20px}
  .side{width:auto;margin:0;flex-direction:row}
  .side .gcard{flex:1}
  .feats{margin-top:0}
  .slide>.wrap{padding-bottom:0}
  .side{width:auto;margin:0}
  .pop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filters{position:static}
  .filters summary::after{content:"+";font-size:24px;line-height:1;color:var(--accent)}
  .filters details[open] summary::after{content:"−"}
  .mbar .btn{padding:0 10px;font-size:15px;white-space:nowrap}
  .mbar{display:grid}
  body{padding-bottom:70px}
  .demo-ribbon{bottom:80px}
}
@media (max-width:640px){
  .hero-feats .feats{grid-template-columns:1fr 1fr}
  .wrap{padding:0 16px}
  .sec{padding:52px 0}
  .sec-tight{padding:14px 0}
  .logo img,.hdr.stuck .logo img{height:44px}
  .slide-copy{padding:36px 0 92px}
  .slide-copy p{font-size:16px}
  .slide-cta{gap:14px}
  .side{flex-direction:column}
  .gcard img{width:38%}
  .feats{grid-template-columns:1fr 1fr;padding:16px 4px}
  .feats li{padding:0 12px;border-left:0!important}
  .feats li:last-child{grid-column:1/-1}
  .band{padding:18px;gap:18px;border-radius:16px}
  .cat-row{grid-auto-columns:44%}
  .rev-row{grid-auto-columns:82%}
  .grid,.shop-layout .grid{grid-template-columns:1fr 1fr;gap:12px}
  .tabs button{padding:12px 7px;font-size:13px;white-space:nowrap}
  .demo-ribbon{position:absolute;top:6px;bottom:auto;left:8px;padding:4px 10px;font-size:11px}
  .card .body{padding:12px}
  .card h3{font-size:15px}
  .grid .specs{display:none}
  .price b{font-size:20px}
  .grid .buy{flex-direction:column;align-items:stretch}
  .pline b{font-size:36px}
  .pbox{padding:4px 16px 18px}
  .modal-box{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .ticker-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;gap:16px 32px;padding:16px 24px}
  .ticker-track [aria-hidden]{display:none}
  .reveal,.stagger>*{opacity:1;transform:none}
}

/* banner on phones and tablets: swipe-free dots only, wrapped captions, all five features */
@media (max-width:900px){
  .hero .arrows{display:none}
  .hero-feats .feats span{white-space:normal}
  .hero-feats .feats li:nth-child(5){display:flex}
}
@media (max-width:640px){.hero-feats .feats li:last-child{grid-column:1/-1}}
