/* Cruise Motors — shared design system. No inline styles are used anywhere on the site (strict CSP). */

/* ---------- self-hosted fonts (OFL) ---------- */
@font-face{font-family:'Work Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/work-sans-var-latin.woff2) format('woff2');}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-mono-400-latin.woff2) format('woff2');}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-mono-700-latin.woff2) format('woff2');}

:root{
  --cream:#FCFAF5;
  --paper:#F5EFE2;
  --black:#0D0D0C;
  --charcoal:#171614;
  --charcoal-2:#201E1A;
  --red:#D62828;
  --red-deep:#A81E1E;
  --green:#1E8449;
  --green-bright:#27AE60;
  --gold:#B8863E;
  --gold-deep:#8C6423;
  --gold-bright:#D4A24C;
  --blue:#2563EB;
  --fb:#0866FF;           /* Facebook blue (the Facebook logo's colour) */
  --fb-deep:#0556CC;
  --ink:#1E1A12;
  --ink-soft:#5B5342;
  --muted:#6F6853;
  --red-text:#C42020;
  --green-text:#176B3A;
  --line:rgba(13,13,12,0.12);
  --line-gold:rgba(184,134,62,0.4);
  --cream-line:rgba(252,250,245,0.16);
  --wa:#25D366;
  --max:1200px;
  --r:14px;
  --header-h:84px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Work Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
h1,h2,h3{font-family:'Times New Roman',Times,Georgia,serif;margin:0;font-weight:600;text-wrap:balance;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
button,select,input,textarea{font-family:inherit;}
[id]{scroll-margin-top:calc(var(--header-h) + 12px);}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;}
header :focus-visible,footer :focus-visible,.contact :focus-visible,.sold-section :focus-visible,.quickbar :focus-visible,.page-hero :focus-visible,.hero :focus-visible{outline-color:#E8CE8F;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}
.sprite{position:absolute;width:0;height:0;overflow:hidden;}
.visually-hidden{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;background:#fff;color:var(--black);padding:12px 18px;border-radius:8px;font-family:'Space Mono',monospace;font-weight:700;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.05em;border:2px solid var(--red);transition:top .15s ease;}
.skip-link:focus{top:12px;}
main:focus{outline:none;}
.eyebrow{font-family:'Space Mono',monospace;letter-spacing:0.22em;text-transform:uppercase;font-size:0.68rem;color:var(--red-text);display:inline-block;margin-bottom:12px;font-weight:700;}
.eyebrow.on-dark{color:var(--green-bright);}
.eyebrow.green{color:var(--green-text);}
.mono{font-family:'Space Mono',monospace;}
.ic{width:1.15em;height:1.15em;fill:currentColor;flex-shrink:0;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 28px;min-height:48px;font-family:'Space Mono',monospace;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;border-radius:100px;cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease;border:2px solid var(--black);font-weight:700;text-align:center;}
.btn-sm{padding:10px 18px;min-height:44px;}
.btn-fill{background:var(--red);color:#fff;border-color:var(--red);}
.btn-fill:hover{background:var(--red-deep);border-color:var(--red-deep);transform:translateY(-2px);}
.btn-dark{background:var(--black);color:#fff;border-color:var(--black);}
.btn-dark:hover{background:var(--charcoal-2);transform:translateY(-2px);}
/* Shiny gold like the logo: the stops come from the logo's own lettering (champagne highlight on top, a dark "horizon" band, bright gold below).
   The dark band sits low so the dark button text stays on bright gold (contrast > 7:1); a glint sweeps across now and then. */
.btn-gold{position:relative;overflow:hidden;isolation:isolate;color:#2A1B05;text-shadow:0 1px 0 rgba(255,246,214,0.7);border-color:#F1D993;background-color:var(--gold-bright);background-image:linear-gradient(180deg,#F8EBBC 0%,#F0D88F 16%,#E7C671 34%,#DDB656 50%,#D2A449 60%,#A97B2C 76%,#C99B3F 88%,#EBCB78 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,0.85),inset 0 -2px 4px rgba(110,70,10,0.35),0 0 0 1px rgba(148,104,31,0.55),0 6px 20px rgba(212,162,76,0.38),0 0 18px rgba(240,205,120,0.30);animation:goldGlow 3.2s ease-in-out infinite alternate;}
.btn-gold::before{content:"";position:absolute;z-index:-1;top:-30%;bottom:-30%;left:0;width:34%;background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 50%,rgba(255,255,255,0) 100%);transform:translateX(-160%) skewX(-22deg);animation:goldGlint 3.8s ease-in-out infinite;pointer-events:none;}
.btn-gold:hover{filter:brightness(1.07) saturate(1.1);transform:translateY(-2px);}
@keyframes goldGlint{0%,45%{transform:translateX(-160%) skewX(-22deg);}100%{transform:translateX(420%) skewX(-22deg);}}
@keyframes goldGlow{from{box-shadow:inset 0 1px 0 rgba(255,255,255,0.85),inset 0 -2px 4px rgba(110,70,10,0.35),0 0 0 1px rgba(148,104,31,0.55),0 6px 20px rgba(212,162,76,0.38),0 0 10px rgba(240,205,120,0.18);}to{box-shadow:inset 0 1px 0 rgba(255,255,255,0.85),inset 0 -2px 4px rgba(110,70,10,0.35),0 0 0 1px rgba(148,104,31,0.55),0 6px 22px rgba(212,162,76,0.5),0 0 30px rgba(244,214,130,0.6);}}
.btn-white{background:#fff;color:var(--black);border-color:#fff;}
.btn-white:hover{background:var(--paper);border-color:var(--paper);transform:translateY(-2px);}
.btn-fb{background:var(--fb);color:#fff;border-color:var(--fb);box-shadow:0 6px 18px rgba(8,102,255,0.38);}   /* Facebook blue; white lettering is 4.8:1 on it */
.btn-fb:hover{background:var(--fb-deep);border-color:var(--fb-deep);transform:translateY(-2px);box-shadow:0 10px 24px rgba(8,102,255,0.5);}
.btn-green{background:var(--green);color:#fff;border-color:var(--green);}
.btn-green:hover{background:#176b3a;border-color:#176b3a;transform:translateY(-2px);}
.btn-wa{background:var(--wa);color:#06260f;border-color:var(--wa);}
.btn-wa:hover{background:#1ebe5a;border-color:#1ebe5a;transform:translateY(-2px);}
.btn-line{background:transparent;color:var(--ink);}
.btn-line:hover{background:var(--black);color:#fff;transform:translateY(-2px);}
.btn-line.on-dark{color:#fff;border-color:var(--cream-line);}
.btn-line.on-dark:hover{background:#fff;color:var(--black);border-color:#fff;}
.btn-block{width:100%;}
select.field,input.field,textarea.field{width:100%;padding:13px 14px;min-height:48px;border:1.5px solid var(--line);background:var(--cream);color:var(--ink);font-size:1rem;border-radius:10px;}
textarea.field{resize:vertical;min-height:110px;}
.section{padding:84px 24px;}
.section-head{max-width:640px;margin-bottom:40px;}
.section-head h2{font-size:clamp(1.9rem,4vw,2.7rem);}
.section-head p{margin-top:14px;color:var(--ink-soft);line-height:1.7;font-weight:300;}
.lead{font-size:1.02rem;line-height:1.75;color:var(--ink-soft);font-weight:300;max-width:720px;}

/* scroll reveal: pure CSS (no JS needed, content is always visible if the browser lacks support) */
@keyframes revealIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}
@supports (animation-timeline:view()){
  .reveal{animation:revealIn linear both;animation-timeline:view();animation-range:entry 0% entry 28%;}
}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:200;background:rgba(11,11,10,0.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(184,134,62,0.4);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;max-width:var(--max);margin:0 auto;}
.brand{display:block;flex-shrink:0;}
.brand img{height:60px;width:auto;}
.nav-links{display:flex;align-items:center;gap:26px;}
.nav-links a{font-size:0.78rem;letter-spacing:0.07em;text-transform:uppercase;font-family:'Space Mono',monospace;font-weight:700;position:relative;padding:10px 0 6px;color:#fff;white-space:nowrap;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--red);transition:width .3s ease;}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{width:100%;}
.nav-right{display:flex;align-items:center;gap:20px;}
.social-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(184,134,62,0.6);color:#E8CE8F;background:transparent;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease;}
.icon-btn .ic{width:20px;height:20px;}
.icon-btn:hover{transform:translateY(-2px);color:#fff;}
.icon-btn.ig:hover{background:linear-gradient(45deg,#f09433,#dc2743 55%,#bc1888);border-color:transparent;}
.icon-btn.fb:hover{background:#1877F2;border-color:#1877F2;}
.icon-btn.wa:hover{background:var(--wa);border-color:var(--wa);color:#06260f;}
.icon-btn.tel:hover{background:var(--green);border-color:var(--green);}
.icon-btn.mail:hover{background:var(--red);border-color:var(--red);}
.social-row.big .icon-btn{width:52px;height:52px;}
.social-row.big .icon-btn .ic{width:24px;height:24px;}
.burger{display:none;background:none;border:1.5px solid rgba(184,134,62,0.6);border-radius:10px;cursor:pointer;padding:0;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;}
.burger span{display:block;width:22px;height:2px;background:var(--gold);margin:3px 0;border-radius:2px;}
.mobile-panel{display:none;flex-direction:column;background:var(--charcoal);border-top:1px solid rgba(184,134,62,0.4);}
.mobile-panel a.m-link{padding:16px 24px;border-bottom:1px solid var(--cream-line);font-family:'Space Mono',monospace;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;font-weight:700;color:#fff;}
.mobile-panel .m-social{padding:18px 24px 22px;}
.mobile-panel.open{display:flex;}

/* ---------- hero ---------- */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;background:var(--black);}
.hero-bg-slides{position:absolute;inset:0;}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 38%;opacity:0;transition:opacity 1.8s ease-in-out;filter:saturate(1.05) brightness(0.8);}
.hero-slide.active{opacity:1;}
.hero-slide.active,.hero-slide.leaving{animation:kenBurns 20s ease-in-out infinite alternate;}
@keyframes kenBurns{from{transform:scale(1);}to{transform:scale(1.13);}}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,13,12,0.38) 0%,rgba(13,13,12,0) 62%),linear-gradient(180deg,rgba(13,13,12,0.56) 0%,rgba(13,13,12,0.5) 42%,rgba(13,13,12,0.92) 100%);}
.hero-content{position:relative;z-index:2;padding:110px 24px 0;max-width:var(--max);margin:0 auto;width:100%;}
.hero-eyebrow{display:inline-block;margin-bottom:12px;font-family:'Space Mono',monospace;letter-spacing:0.22em;text-transform:uppercase;font-weight:700;color:#E8CE8F;font-size:1.17rem;}   /* bold and >= 18.7px = WCAG "large text" */
/* The company name shines like the gold "View Current Stock" button: the logo's metallic gold in the letters, a glow around them and a glint that sweeps across now and then.
   (Plain gold text is the fallback where gradient text is not supported; the glint stops for visitors who prefer reduced motion.) */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .hero-eyebrow{background-image:linear-gradient(100deg,rgba(255,255,255,0) 44%,rgba(255,255,255,0.95) 50%,rgba(255,255,255,0) 56%),linear-gradient(180deg,#FFF3C4 0%,#F3DC96 28%,#E6C46A 52%,#DAB155 74%,#EFD283 100%);background-size:260% 100%,100% 100%;background-repeat:no-repeat;background-position:160% 0,0 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 7px rgba(240,205,120,0.6)) drop-shadow(0 0 20px rgba(240,205,120,0.32));animation:eyebrowShine 4.2s ease-in-out infinite;}
}
@keyframes eyebrowShine{0%,35%{background-position:160% 0,0 0;}100%{background-position:-60% 0,0 0;}}
@media(max-width:380px){.hero-eyebrow{letter-spacing:0.16em;}}   /* the bigger lettering still fits on one line on a 360px phone */
.hero h1{font-size:clamp(2.3rem,5.6vw,4rem);line-height:1.06;color:#fff;max-width:920px;opacity:0;animation:fadeUp .9s ease .2s forwards;text-shadow:0 2px 16px rgba(0,0,0,0.55);}
.hero h1 em{font-style:italic;color:#4ADE80;}
.hero-sub{margin-top:18px;font-size:1.02rem;color:#FBF8F0;max-width:480px;font-weight:400;line-height:1.6;opacity:0;animation:fadeUp .9s ease .35s forwards;text-shadow:0 2px 10px rgba(0,0,0,0.5);}
.hero-actions{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:fadeUp .9s ease .5s forwards;}
.hero-stats{margin-top:34px;display:flex;flex-wrap:wrap;row-gap:14px;opacity:0;animation:fadeUp .9s ease .6s forwards;}
.hero-stat{display:flex;flex-direction:column;gap:7px;padding:0 34px;border-left:1px solid rgba(255,255,255,0.3);color:#fff;transition:transform .25s ease;}
.hero-stat:first-child{padding-left:0;border-left:none;}
.hero-stat:hover{transform:translateY(-3px);}
.hero-stat-num{font-family:'Times New Roman',Times,Georgia,serif;font-size:clamp(2.3rem,5.2vw,3.3rem);line-height:1;font-weight:700;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,0.55);font-variant-numeric:tabular-nums;}
.hero-stat:first-child .hero-stat-num{color:#4ADE80;}
.hero-stat-label{font-family:'Space Mono',monospace;font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;font-weight:700;color:#E4DFD3;text-shadow:0 2px 10px rgba(0,0,0,0.5);}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}

.search-card{position:relative;z-index:3;background:rgba(23,20,16,0.74);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid rgba(255,255,255,0.14);border-radius:20px;box-shadow:0 30px 60px rgba(0,0,0,0.45);margin:40px auto -76px;max-width:calc(var(--max) - 48px);padding:28px 28px 32px;opacity:0;animation:fadeUp .9s ease .65s forwards;}
.search-card .search-field label{color:rgba(255,255,255,0.9);}
.search-card .field{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.2);color:#fff;}
.search-card .field option{color:#111;background:#fff;}
.search-card-title{font-family:'Space Mono',monospace;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:#FF7A7A;margin-bottom:16px;font-weight:700;}
.search-grid{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:14px;align-items:end;}
.search-field label{display:block;font-family:'Space Mono',monospace;font-size:0.65rem;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;}
.spacer-160{height:76px;}

.body-tiles{padding:6px 24px 44px;}
.bodytype-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 34px;}
.bodytype-tile{background:none;border:none;text-align:center;cursor:pointer;transition:transform .25s ease;padding:6px 8px;min-width:96px;}
.bodytype-tile:hover{transform:translateY(-4px);}
.bt-badge{height:50px;display:flex;align-items:flex-end;justify-content:center;margin:0 auto 14px;}
.bt-badge img{height:100%;width:auto;max-width:92px;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(20,15,5,0.26));}
.bodytype-tile .bt-name{display:block;font-family:'Space Mono',monospace;font-size:0.68rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;}
.bodytype-tile .bt-count{display:block;font-family:'Space Mono',monospace;font-size:0.64rem;color:var(--green-text);font-weight:700;margin-top:2px;}

.trust{background:var(--black);}
.trust-row{display:flex;flex-wrap:wrap;max-width:var(--max);margin:0 auto;padding:18px 24px;}
.trust-item{flex:1 1 200px;display:flex;align-items:center;gap:11px;padding:8px 22px;border-left:1px solid var(--cream-line);font-size:0.83rem;color:#D8D0C0;font-weight:500;}
.trust-item:first-child{border-left:none;}
.trust-dot{width:8px;height:8px;border-radius:50%;background:var(--green-bright);flex-shrink:0;}

/* ---------- car cards ---------- */
.inventory-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:36px;}
.inventory-head h2{font-size:clamp(1.9rem,4vw,2.7rem);}
.stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;}
.car-card{position:relative;background:#fff;border:2px solid var(--black);border-radius:var(--r);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;}
.car-card:hover,.car-card:focus-within{transform:translateY(-5px);box-shadow:0 16px 32px rgba(13,13,12,0.16);}
.car-card[hidden]{display:none;}
.car-card-img{aspect-ratio:4/3;overflow:hidden;position:relative;background:#e9e4d8;}
.car-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.car-card:hover .car-card-img img{transform:scale(1.06);}
.car-card-body{padding:20px;}
.car-card-title{font-size:1.26rem;line-height:1.2;}
.car-card-title a::after{content:"";position:absolute;inset:0;z-index:1;}
.car-card-variant{display:block;margin-top:5px;font-family:'Work Sans',system-ui,sans-serif;font-size:0.82rem;font-weight:400;line-height:1.35;color:var(--ink-soft);}
.car-card-specs{display:flex;gap:8px;margin:12px 0 16px;flex-wrap:wrap;font-family:'Space Mono',monospace;font-size:0.7rem;color:var(--ink-soft);}
.car-card-specs span{border:1px solid var(--line);padding:5px 9px;border-radius:100px;}
.car-card-price{display:flex;align-items:baseline;gap:10px;margin-bottom:16px;}
.car-card-price .now{font-family:'Space Mono',monospace;font-size:1.24rem;color:var(--green-text);font-weight:700;}
.car-card-price .was{font-family:'Space Mono',monospace;font-size:0.8rem;color:var(--muted);text-decoration:line-through;}
.car-card-price{flex-wrap:wrap;row-gap:3px;}
.car-card-price .pr-sub{flex:0 0 100%;font-size:0.74rem;color:var(--ink-soft);}
.car-card-price .pr-da{flex:0 0 100%;font-size:0.92rem;color:var(--ink);}
.car-card-price .pr-da b{font-family:'Space Mono',monospace;font-size:1.02rem;color:var(--green-text);}
.car-card-cta{font-family:'Space Mono',monospace;font-size:0.74rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--green-text);display:inline-flex;align-items:center;gap:7px;font-weight:700;}
.car-card-cta svg{transition:transform .3s ease;width:14px;height:10px;}
.car-card:hover .car-card-cta svg{transform:translateX(4px);}
.empty-state{padding:50px 20px;text-align:center;color:var(--ink-soft);border:2px dashed var(--line);border-radius:var(--r);font-size:0.92rem;grid-column:1/-1;}
.empty-state[hidden]{display:none;}
.sold-section{background:var(--charcoal);}
.sold-section .section-head h2,.sold-section .inventory-head h2{color:#fff;}
.sold-section .eyebrow{color:var(--green-bright);}
.sold-card{position:relative;}
.sold-badge{position:absolute;top:14px;right:14px;background:var(--red);color:#fff;font-family:'Space Mono',monospace;font-weight:700;font-size:0.82rem;letter-spacing:0.08em;text-transform:uppercase;padding:8px 16px;border-radius:5px;transform:rotate(4deg);box-shadow:0 8px 16px rgba(0,0,0,0.4);z-index:2;border:2px solid rgba(255,255,255,0.85);pointer-events:none;}
.sold-card .car-card-body{background:var(--charcoal-2);}
.sold-card{background:var(--charcoal-2);border-color:var(--cream-line);}
.sold-card .car-card-title,.sold-card .car-card-specs{color:#fff;}
.sold-card .car-card-variant{color:#C9C1AF;}
.sold-card .car-card-specs span{border-color:var(--cream-line);color:#D8D0C0;}
.car-card-price.sold-price{flex-direction:column;align-items:flex-start;gap:4px;min-height:3.6em;}
.sold-price .pr-row{display:flex;align-items:baseline;gap:10px;}
.sold-price .pr-lbl{flex:0 0 6.9em;white-space:nowrap;font-family:'Space Mono',monospace;font-size:0.66rem;letter-spacing:0.07em;text-transform:uppercase;color:#C9C1AF;}
.sold-card .car-card-price .now{color:var(--green-bright);}
.sold-card .car-card-price .was{color:#B9B09B;}
.sold-card .car-card-cta{color:var(--green-bright);}
.more-row{display:flex;justify-content:center;margin-top:34px;}

/* ---------- list pages (/cars/, /sold/) ---------- */
.page-hero{background:var(--charcoal);padding:64px 24px 48px;text-align:center;}
.page-hero h1{color:#fff;font-size:clamp(2rem,5vw,3rem);margin-bottom:12px;}
.page-hero p{color:#D8D0C0;font-weight:300;max-width:680px;margin:0 auto;line-height:1.7;}
.page-tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px;}
.pf-btn{display:inline-flex;align-items:center;min-height:44px;padding:9px 20px;border-radius:100px;border:1.5px solid var(--cream-line);background:transparent;color:#fff;font-family:'Space Mono',monospace;font-size:0.74rem;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;font-weight:700;}
.pf-btn:hover{border-color:#fff;}
.pf-btn.active,.pf-btn[aria-current="page"]{background:var(--gold);border-color:var(--gold);color:#141210;}
.filter-bar{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:14px;align-items:end;margin-bottom:30px;}
.filter-count{font-family:'Space Mono',monospace;font-size:0.8rem;color:var(--ink-soft);align-self:center;padding-bottom:4px;}
.filter-bar label{display:block;font-family:'Space Mono',monospace;font-size:0.65rem;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;}
.cta-band{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:44px 24px;}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.cta-band h2{font-size:clamp(1.4rem,3vw,1.9rem);margin-bottom:6px;}
.cta-band p{color:var(--ink-soft);}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap;}

/* ---------- car detail page ---------- */
.breadcrumb{padding:20px 24px 0;}
.breadcrumb ol{list-style:none;margin:0 auto;padding:0;max-width:calc(var(--max) - 48px);display:flex;flex-wrap:wrap;gap:6px;font-family:'Space Mono',monospace;font-size:0.72rem;letter-spacing:0.05em;text-transform:uppercase;color:var(--ink-soft);}
.breadcrumb li+li::before{content:"/";margin-right:6px;color:var(--muted);}
.breadcrumb a{color:var(--gold-deep);font-weight:700;padding:6px 0;display:inline-block;}
.breadcrumb a:hover{text-decoration:underline;}
.breadcrumb [aria-current]{color:var(--ink-soft);}
.breadcrumb.on-dark{background:var(--charcoal);padding-bottom:4px;}
.breadcrumb.on-dark ol,.breadcrumb.on-dark [aria-current]{color:#C9C1AF;}
.breadcrumb.on-dark a{color:#E8CE8F;}
.breadcrumb.on-dark li+li::before{color:#8F8672;}
.breadcrumb.on-dark + .page-hero{padding-top:30px;}
.detail{background:var(--cream);color:var(--ink);}
.detail .section{padding-top:28px;padding-bottom:72px;}
.detail-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:flex-start;}
.detail-grid > *{min-width:0;}
.gallery-main{position:relative;aspect-ratio:4/3;overflow:hidden;background:#0b0b0a;border-radius:var(--r);border:2px solid var(--gold);}
.gallery-main.shape-tall{aspect-ratio:3/4;max-height:min(84vh,820px);}
.gallery-main.shape-square{aspect-ratio:1/1;max-height:min(84vh,720px);}
.gallery-zoom{display:block;width:100%;height:100%;cursor:zoom-in;}
.gallery-zoom:focus-visible{outline:3px solid var(--gold);outline-offset:-5px;}
.gallery-main img{display:block;width:100%;height:100%;object-fit:contain;}
.gal-hint{position:absolute;left:12px;bottom:12px;z-index:2;display:flex;align-items:center;gap:6px;background:rgba(11,11,10,0.72);color:#fff;font-size:0.74rem;line-height:1;padding:6px 11px 6px 9px;border-radius:100px;pointer-events:none;}
.gal-hint .ic{width:15px;height:15px;}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,0.4);background:rgba(11,11,10,0.55);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background .2s ease;}
.gal-nav:hover{background:rgba(11,11,10,0.85);}
.gal-nav .ic{width:20px;height:20px;}
.gal-nav.prev{left:10px;}
.gal-nav.next{right:10px;}
.gallery-main .sold-badge{top:16px;right:16px;font-size:0.95rem;padding:9px 20px;}
.gal-count{position:absolute;right:12px;bottom:12px;z-index:2;background:rgba(11,11,10,0.72);color:#fff;font-family:'Space Mono',monospace;font-size:0.72rem;padding:4px 10px;border-radius:100px;}
.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px;}
.thumb{display:block;padding:0;background:#e9e4d8;aspect-ratio:1/1;overflow:hidden;cursor:pointer;border:2px solid transparent;opacity:0.6;transition:opacity .25s ease,border-color .25s ease;border-radius:8px;}
.thumb:hover{opacity:0.9;}
.thumb img{width:100%;height:100%;object-fit:cover;}
.thumb[aria-current="true"],.thumb.active{opacity:1;border-color:var(--red);}
.detail-info h1{font-size:clamp(1.8rem,3.2vw,2.4rem);line-height:1.1;color:var(--ink);}
.detail-info h1 .h1-sub{display:block;font-size:0.78em;font-weight:600;}
.price-block{display:flex;align-items:baseline;gap:14px;margin:18px 0 6px;flex-wrap:wrap;}
.price-now{font-family:'Space Mono',monospace;font-size:2.1rem;color:var(--green-text);font-weight:700;}
.price-now.struck{color:var(--muted);text-decoration:line-through;}
.price-was{font-family:'Space Mono',monospace;font-size:1.05rem;color:var(--muted);text-decoration:line-through;}
.price-sub{font-size:0.92rem;color:var(--ink-soft);margin:0 0 4px;}
.price-da{font-size:1.1rem;color:var(--ink);margin:0 0 8px;}
.price-da b{font-family:'Space Mono',monospace;font-size:1.4rem;color:var(--green-text);}
.price-note{font-size:0.82rem;color:var(--ink-soft);margin-bottom:18px;min-height:1.2em;}
.price-block.sold-prices{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:12px;}
.price-line{display:flex;align-items:baseline;gap:14px;margin:0;flex-wrap:wrap;}
.price-lbl{flex:0 0 10.8em;white-space:nowrap;font-family:'Space Mono',monospace;font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);}
.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:32px;}
.spec-cell{background:var(--charcoal-2);padding:15px 12px;border-radius:10px;border:1px solid var(--cream-line);}
.spec-cell .label{font-family:'Space Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;color:#FF7A7A;display:block;margin-bottom:5px;font-weight:700;}
.spec-cell .val{font-family:'Space Mono',monospace;font-size:0.92rem;color:#fff;}
.checklist-heading{font-size:1.02rem;margin-bottom:16px;color:var(--ink);}
.checklist{list-style:none;padding:0;margin:0 0 32px;display:flex;flex-direction:column;gap:12px;}
.checklist li{display:flex;align-items:flex-start;gap:13px;font-size:0.92rem;color:var(--ink-soft);}
.seal{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;margin-top:1px;color:#fff;}
.seal .ic{width:14px;height:14px;}
.safety-box{border-top:2px solid var(--line);padding-top:22px;margin-bottom:30px;}
.safety-box h2{font-family:'Space Mono',monospace;font-size:0.66rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--red-text);margin-bottom:10px;font-weight:700;}
.safety-box p{font-size:0.88rem;color:var(--ink-soft);line-height:1.7;}
.desc{font-size:0.96rem;line-height:1.75;color:var(--ink-soft);margin-bottom:8px;}
.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.detail-actions .btn{padding-left:14px;padding-right:14px;}
.detail-note{margin:14px 0 30px;font-size:0.82rem;line-height:1.5;color:var(--ink-soft);}
.similar{background:var(--paper);border-top:1px solid var(--line);}
.model-block{margin-top:56px;}
.model-block .section-head{margin-bottom:14px;}
.model-block .section-head h2{font-size:1.4rem;}
.model-links{list-style:none;padding:0;margin:0;max-width:820px;}
.model-links li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding:12px 0;border-bottom:1px solid var(--line);}
.model-links a{font-weight:600;color:var(--green-text);text-decoration:underline;text-underline-offset:3px;}
.model-links a:hover{color:var(--red);}
.ml-meta{font-family:'Space Mono',monospace;font-size:0.72rem;color:var(--ink-soft);}

/* ---------- customers / reviews / about / faq ---------- */
.customers{background:var(--cream);padding-left:0;padding-right:0;}
.customers .wrap{padding:0 24px;}
.strip-wrap{position:relative;max-width:1560px;margin:0 auto;}
/* The photo in the middle is the one being shown: padding of half the strip minus half a photo lets the first and the last photo reach the middle too. */
.strip{--poster-h:clamp(380px,56vw,520px);--poster-w:calc(var(--poster-h) * 9 / 16);--strip-pad:calc(50% - var(--poster-w) / 2);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:6px var(--strip-pad) 20px;scroll-padding-inline:var(--strip-pad);scrollbar-width:thin;scrollbar-color:var(--charcoal) transparent;}
.strip:focus-visible{outline:3px solid var(--red);outline-offset:-3px;}
.strip-list{position:relative;display:flex;gap:18px;list-style:none;margin:0;padding:0;width:max-content;}
.strip-list li{flex:0 0 auto;scroll-snap-align:center;transition:opacity .45s ease,transform .45s ease;}
.strip-list img{display:block;height:var(--poster-h);width:auto;border-radius:var(--r);border:2px solid var(--black);background:var(--charcoal);}
.has-active .strip-list li{opacity:0.5;transform:scale(0.94);}
.has-active .strip-list li.is-active{opacity:1;transform:none;}
/* pause button + one small hollow circle per photo (built by common.js); the circle of the photo being shown is filled blue */
.strip-controls{display:flex;align-items:center;justify-content:center;gap:12px;max-width:calc(var(--max) - 48px);margin:4px auto 0;padding:0 24px;}
.strip-pause{flex:0 0 auto;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--ink-soft);background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;}
.strip-pause:hover{background:var(--ink);color:#fff;}
.strip-pause .ic{width:15px;height:15px;}
.strip-pause .ic-play{display:none;}
.strip-pause[aria-pressed="true"] .ic-pause{display:none;}
.strip-pause[aria-pressed="true"] .ic-play{display:block;}
.strip-dots{display:flex;flex-wrap:wrap;justify-content:center;max-width:720px;}
.strip-dot{position:relative;flex:0 0 24px;width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;}
.strip-dot::before{content:"";position:absolute;left:50%;top:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;box-sizing:border-box;border-radius:50%;border:2px solid var(--ink-soft);background:transparent;transition:background .25s ease,border-color .25s ease,transform .25s ease;}
.strip-dot:hover::before{border-color:var(--blue);}
.strip-dot[aria-current="true"]::before{background:var(--blue);border-color:var(--blue);transform:scale(1.2);}
.strip-nav{position:absolute;top:calc(50% - 10px);transform:translateY(-50%);z-index:2;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,0.45);background:rgba(11,11,10,0.8);color:#fff;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .2s ease,opacity .2s ease;}
.strip-nav[hidden]{display:none;}
.strip-nav .ic{width:20px;height:20px;}
.strip-nav:hover:not(:disabled){background:var(--black);}
.strip-nav:disabled{opacity:0;pointer-events:none;}
.strip-nav.prev{left:12px;}
.strip-nav.next{right:12px;}
@media(max-width:700px){.strip-nav{display:none;}}
@media(max-width:520px){.strip-controls{flex-direction:column;gap:4px;padding:0 24px;}.strip-dots{width:100%;}.strip-dot{flex:0 0 calc(100% / 15);width:auto;}}   /* phone: 15 circles per row, so 29 photos make two even rows */
@media (pointer:coarse){.strip-pause{width:44px;height:44px;}}
.reviews{background:var(--black);color:#fff;text-align:center;}
.review-stat{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 auto 30px;}
.review-stars{display:flex;gap:4px;color:#E0A93B;}
.review-stars .ic{width:26px;height:26px;}
.review-num{font-family:'Times New Roman',Times,Georgia,serif;font-size:3rem;color:#fff;}
.review-source{font-family:'Space Mono',monospace;font-size:0.8rem;color:#B8B0A0;}
.review-source a{text-decoration:underline;text-underline-offset:3px;}
.review-source a:hover{color:#fff;}
.reviews h2{color:#fff;margin-bottom:26px;}
.about-body{max-width:760px;margin:0 auto;}
.about-body h2{font-size:clamp(1.9rem,4vw,2.7rem);margin-bottom:18px;}
.about-body p{font-size:1rem;line-height:1.85;color:var(--ink-soft);font-weight:300;margin-bottom:16px;}
.about-signoff{font-family:'Times New Roman',Times,Georgia,serif;font-style:italic;font-size:1.1rem;color:var(--red-text);margin-top:22px;}
.faq{background:var(--paper);}
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq details{background:#fff;border:1.5px solid var(--line);border-radius:12px;}
.faq summary{cursor:pointer;list-style:none;padding:18px 54px 18px 20px;font-weight:600;position:relative;min-height:56px;display:flex;align-items:center;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-family:'Space Mono',monospace;font-size:1.4rem;color:var(--red-text);font-weight:700;}
.faq details[open] summary::after{content:"\2212";}
.faq details p{padding:0 20px 20px;color:var(--ink-soft);line-height:1.75;font-size:0.95rem;}
.faq details a{color:var(--green-text);font-weight:600;text-decoration:underline;}

/* ---------- contact ---------- */
.contact{background:var(--charcoal);color:var(--cream);}
.contact .section-head h2{color:#fff;}
.contact-lead{color:#D8D0C0;font-weight:300;font-size:1rem;max-width:520px;line-height:1.7;margin-bottom:34px;}
.locations-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:36px;}
.location-card{border:2px solid var(--cream-line);border-radius:var(--r);overflow:hidden;}
.location-card > img{width:100%;height:auto;display:block;}
.location-card-body{padding:16px 18px;}
.loc-slider{position:relative;overflow:hidden;background:#0d0d0c;touch-action:pan-y;}
.loc-track{display:flex;transition:transform .55s ease;will-change:transform;}
.loc-slide{position:relative;flex:0 0 100%;aspect-ratio:4/3;overflow:hidden;background:#0d0d0c;}
.loc-bg{position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);max-width:none;object-fit:cover;filter:blur(18px) brightness(.55);}
.loc-slide > img:not(.loc-bg){position:relative;display:block;width:100%;height:100%;object-fit:contain;}
.loc-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,0.35);background:rgba(11,11,10,0.55);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background .2s ease;}
.loc-nav .ic{width:18px;height:18px;}
.loc-nav:hover{background:rgba(11,11,10,0.85);}
.loc-nav.prev{left:10px;}
.loc-nav.next{right:10px;}
.loc-dots{position:absolute;left:0;right:0;bottom:10px;z-index:2;display:flex;justify-content:center;gap:4px;}
.loc-dots button{width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;position:relative;}
.loc-dots button::before{content:"";position:absolute;left:7px;top:7px;width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,0.9);background:transparent;}
.loc-dots button.active::before{background:#fff;}
.location-card-body .lbl{font-family:'Space Mono',monospace;font-size:0.64rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--green-bright);margin-bottom:5px;font-weight:700;}
.location-card-body .addr{font-size:0.95rem;color:#fff;margin-bottom:12px;line-height:1.5;font-style:normal;}
.location-card-body .btn{padding:9px 16px;font-size:0.68rem;}
.contact-cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.contact-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;}
.contact-list li{border-bottom:1px solid var(--cream-line);}
.contact-list a.row,.contact-list .row{display:flex;align-items:center;gap:14px;padding:12px 4px;min-height:56px;}
.contact-list a.row:hover .val{color:var(--green-bright);}
.contact-list .ci{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(184,134,62,0.6);display:flex;align-items:center;justify-content:center;color:#E8CE8F;flex-shrink:0;}
.contact-list .ci .ic{width:18px;height:18px;}
.contact-list .txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.contact-list .label{font-family:'Space Mono',monospace;font-size:0.64rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--green-bright);font-weight:700;}
.contact-list .val{font-size:1rem;color:#fff;overflow-wrap:anywhere;}
.contact-social{margin-top:24px;}
.contact-form{background:var(--charcoal-2);border-radius:var(--r);border:2px solid var(--cream-line);padding:30px;}
.contact-form h3{color:#fff;font-size:1.4rem;margin-bottom:6px;}
.contact-form .form-intro{color:#C9C1AF;font-size:0.9rem;margin-bottom:20px;line-height:1.6;}
.contact-form .field{background:var(--charcoal);border-color:var(--cream-line);color:#fff;}
.contact-form label{display:block;font-family:'Space Mono',monospace;font-size:0.65rem;letter-spacing:0.09em;text-transform:uppercase;color:var(--green-bright);margin-bottom:7px;font-weight:700;}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.contact-form .form-row.single{grid-template-columns:1fr;}
.contact-form .form-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;}
.contact-form .form-status{min-height:1.4em;font-size:0.88rem;color:var(--green-bright);margin-top:12px;}

/* ---------- footer ---------- */
footer{background:var(--black);border-top:2px solid var(--charcoal-2);padding:56px 24px 24px;color:#C9C1AF;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.2fr;gap:36px;max-width:calc(var(--max) - 48px);margin:0 auto 36px;}
.footer-brand img{height:44px;width:auto;margin-bottom:14px;}
.footer-brand p{font-size:0.88rem;line-height:1.7;color:#B5AC98;max-width:300px;margin-bottom:18px;}
.footer-col h2{font-family:'Space Mono',monospace;font-size:0.66rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--green-bright);margin-bottom:16px;font-weight:700;}
.footer-col a,.footer-col span,.footer-col address{display:block;font-size:0.88rem;margin-bottom:10px;color:#C9C1AF;font-style:normal;line-height:1.5;}
.footer-col a{padding:7px 0;margin-bottom:0;}
.footer-col address a{display:inline-block;padding:8px 0;}
.footer-col a:hover{color:var(--green-bright);}
.footer-col .f-lbl{font-family:'Space Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:#8F8672;margin-bottom:3px;}
.acknowledgement{max-width:calc(var(--max) - 48px);margin:0 auto;padding:26px 0 0;border-top:1px solid var(--charcoal-2);font-size:0.78rem;line-height:1.7;color:#9A917D;}
.footer-bottom{max-width:calc(var(--max) - 48px);margin:20px auto 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:'Space Mono',monospace;font-size:0.66rem;color:#948B77;padding-top:18px;border-top:1px solid var(--charcoal-2);}

/* ---------- 404 ---------- */
.nf{padding:90px 24px;text-align:center;}
.nf h1{font-size:clamp(2.2rem,6vw,3.4rem);margin-bottom:14px;}
.nf p{color:var(--ink-soft);max-width:520px;margin:0 auto 26px;line-height:1.7;}
.nf .cta-actions{justify-content:center;}

/* ---------- "Our Other Services": clickable band on the home page + the /other-services/ page ---------- */
.services-teaser{background:var(--paper);padding-top:56px;padding-bottom:56px;}
.svc-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;background:var(--charcoal);color:#fff;border:2px solid var(--black);border-radius:var(--r);padding:26px 32px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;}
.svc-card:hover,.svc-card:focus-within{transform:translateY(-4px);box-shadow:0 16px 32px rgba(13,13,12,0.2);}
.svc-card:focus-within{outline:3px solid var(--gold);outline-offset:3px;}
.svc-card h2 a::after{content:"";position:absolute;inset:0;z-index:1;}
.svc-card h2 a:focus-visible{outline:none;}
.svc-icon{width:76px;height:76px;border-radius:50%;border:1.5px solid rgba(184,134,62,0.7);display:flex;align-items:center;justify-content:center;color:#E8CE8F;flex-shrink:0;}
.svc-icon .ic{width:36px;height:36px;}
.svc-text .eyebrow{margin-bottom:8px;}
.svc-text h2{font-size:clamp(1.7rem,3.4vw,2.3rem);color:#fff;margin-bottom:10px;}
.svc-text p{color:#D8D0C0;font-weight:300;line-height:1.7;max-width:560px;}
.svc-cta{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-family:'Space Mono',monospace;font-size:0.76rem;letter-spacing:0.06em;text-transform:uppercase;font-weight:700;color:var(--green-bright);}
.svc-cta svg{width:14px;height:10px;transition:transform .3s ease;}
.svc-card:hover .svc-cta svg{transform:translateX(4px);}
.svc-media{position:relative;width:112px;flex-shrink:0;}
.svc-media img{width:112px;height:auto;aspect-ratio:9/16;object-fit:cover;border-radius:10px;border:1.5px solid rgba(184,134,62,0.6);}
.svc-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:rgba(13,13,12,0.72);border:1.5px solid rgba(255,255,255,0.75);display:flex;align-items:center;justify-content:center;color:#fff;}
.svc-play .ic{width:18px;height:18px;margin-left:2px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.page-hero .eyebrow{margin-bottom:10px;}
.film-section{background:var(--cream);padding-top:56px;padding-bottom:64px;}
.film{margin:0 auto;}
.film-frame{width:min(100%,calc(min(82vh,860px) * 9 / 16));aspect-ratio:9/16;margin:0 auto;background:#000;border:2px solid var(--gold);border-radius:var(--r);overflow:hidden;}
.film-video{display:block;width:100%;height:100%;object-fit:contain;background:#000;}
.film figcaption{max-width:520px;margin:16px auto 0;text-align:center;font-size:0.9rem;line-height:1.6;color:var(--ink-soft);}
.film-unplayable{max-width:520px;margin:14px auto 0;text-align:center;font-size:0.92rem;line-height:1.6;color:var(--red-text);font-weight:600;}
.film-unplayable a{text-decoration:underline;}
.film-fallback{padding:28px 20px;color:#fff;text-align:center;line-height:1.6;}
.film-fallback a{color:#E8CE8F;text-decoration:underline;}
.what-we-do{background:var(--paper);}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:48px;}
.service-card{background:#fff;border:2px solid var(--black);border-radius:var(--r);padding:26px 24px;}
.service-no{display:block;font-family:'Space Mono',monospace;font-weight:700;font-size:0.82rem;letter-spacing:0.14em;color:var(--red-text);margin-bottom:12px;}
.service-card h3{font-size:1.4rem;margin-bottom:10px;}
.service-card p{color:var(--ink-soft);line-height:1.7;font-size:0.95rem;}
.how-we-work{max-width:720px;margin:0 auto;}
.how-we-work h3{font-size:1.4rem;margin-bottom:18px;}
.how-we-work .checklist{margin-bottom:0;}
.how-we-work .checklist li{font-size:1rem;}
@media(max-width:900px){.service-grid{grid-template-columns:1fr;}.film-section{padding-top:40px;padding-bottom:48px;}}
@media(max-width:700px){.svc-card{grid-template-columns:1fr;gap:16px;padding:24px 22px;}.svc-media{display:none;}.svc-icon{width:56px;height:56px;}.svc-icon .ic{width:27px;height:27px;}.svc-text h2{font-size:1.75rem;}}

/* ---------- background-music button (bottom-left on every page; common.js shows it) ---------- */
.music-toggle{position:fixed;right:14px;bottom:14px;z-index:250;width:48px;height:48px;padding:0;border-radius:50%;border:1.5px solid rgba(184,134,62,0.75);background:rgba(11,11,10,0.92);color:#E8CE8F;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,0.35);transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;}
.music-toggle[hidden]{display:none;}
.music-toggle:hover{transform:translateY(-2px);color:#fff;}
.music-toggle:focus-visible{outline:3px solid #E8CE8F;outline-offset:3px;}
.music-toggle .ic{width:22px;height:22px;}
.music-toggle[aria-pressed="true"]{border-color:var(--green-bright);color:#4ADE80;}
.music-toggle[aria-pressed="true"]:hover{color:#fff;}
.music-toggle .ic-off{display:none;}
.music-toggle[aria-pressed="false"] .ic-on{display:none;}
.music-toggle[aria-pressed="false"] .ic-off{display:block;}

/* ---------- gold: shiny, lit and alive (the same look as the gold stock button and the company name) ----------
   Glyphs: the metallic gradient that is defined once in the icon sprite (#gold-fill) plus a soft glow.
   Rings (round icon buttons, burger, music button, service icon): a metallic ring with a highlight that travels around it.
   Stars: metallic, with a twinkle that runs along the row. Frames (film, car photo, service thumbnail): metallic edge + glow.
   Header line: a highlight glides along it. Everything stops moving for visitors who prefer reduced motion (and stays metallic). */
:root{
  --gold-ring:conic-gradient(from 0deg,#8C6423 0%,#C99B3F 13%,#F3DC96 21%,#FFF8DC 25%,#F3DC96 29%,#C99B3F 38%,#8C6423 52%,#B8863E 66%,#E6C46A 80%,#A97B2C 92%,#8C6423 100%);
  --gold-frame:linear-gradient(135deg,#F8EBBC 0%,#C99B3F 20%,#8C6423 38%,#E6C46A 56%,#FFF3C4 68%,#B8863E 86%,#F0D88F 100%);
  --gold-metal:linear-gradient(180deg,#FFF3C4 0%,#F3DC96 28%,#E6C46A 52%,#DAB155 74%,#EFD283 100%);
}
.icon-btn .ic,.contact-list .ci .ic,.svc-icon .ic,.music-toggle .ic,.review-stars .ic{fill:url(#gold-fill) #E8CE8F;filter:drop-shadow(0 0 2.5px rgba(240,205,120,0.5));}
.icon-btn:hover .ic,.music-toggle:hover .ic,.music-toggle[aria-pressed="true"] .ic{fill:currentColor;filter:none;}
.review-stars .ic{fill:url(#gold-star) #E0A93B;}   /* stars: the same metal, a little richer and more yellow */
@supports ((mask-composite:exclude) or (-webkit-mask-composite:xor)){
  .icon-btn,.contact-list .ci,.svc-icon,.burger{position:relative;}
  .icon-btn,.contact-list .ci,.svc-icon,.music-toggle,.burger{border-color:transparent;}
  .icon-btn::before,.contact-list .ci::before,.svc-icon::before,.music-toggle::before,.burger::before{content:"";position:absolute;inset:-1.5px;border-radius:inherit;padding:1.5px;background:var(--gold-ring);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;animation:ringSpin 9s linear infinite;}
  .burger::before{animation:none;}   /* a rounded square would swing out of its box when turned */
  .icon-btn:hover::before,.music-toggle[aria-pressed="true"]::before{opacity:0;}
  /* every ring starts at another angle, so the highlights do not move in step */
  .social-row .icon-btn:nth-child(2)::before,.contact-list li:nth-child(2n) .ci::before{animation-delay:-2.2s;}
  .social-row .icon-btn:nth-child(3)::before,.contact-list li:nth-child(3n) .ci::before{animation-delay:-4.4s;}
  .social-row .icon-btn:nth-child(4)::before,.contact-list li:nth-child(5n) .ci::before{animation-delay:-6.6s;}
}
@keyframes ringSpin{to{transform:rotate(360deg);}}
.burger span{background:linear-gradient(90deg,#C99B3F,#FFF3C4 50%,#C99B3F);box-shadow:0 0 6px rgba(240,205,120,0.55);}
.review-stars .ic{animation:starTwinkle 3.8s ease-in-out infinite;}
.review-stars .ic:nth-child(2){animation-delay:.3s;}
.review-stars .ic:nth-child(3){animation-delay:.6s;}
.review-stars .ic:nth-child(4){animation-delay:.9s;}
.review-stars .ic:nth-child(5){animation-delay:1.2s;}
@keyframes starTwinkle{0%,60%,100%{filter:drop-shadow(0 0 3px rgba(240,205,120,0.5)) brightness(1);}76%{filter:drop-shadow(0 0 11px rgba(255,238,170,0.95)) brightness(1.3);}}
.film-frame{border-color:transparent;background:linear-gradient(#000,#000) padding-box,var(--gold-frame) border-box;box-shadow:0 0 28px rgba(212,162,76,0.28);}
.gallery-main{border-color:transparent;background:linear-gradient(#0b0b0a,#0b0b0a) padding-box,var(--gold-frame) border-box;box-shadow:0 0 24px rgba(212,162,76,0.22);}
.svc-media img{border-color:transparent;background:linear-gradient(#000,#000) padding-box,var(--gold-frame) border-box;}
header{border-bottom-color:transparent;}
header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;background:linear-gradient(90deg,rgba(255,248,220,0) 0%,rgba(255,248,220,0.95) 50%,rgba(255,248,220,0) 100%) no-repeat -30% 0/22% 100%,linear-gradient(90deg,#8C6423 0%,rgba(201,155,63,0.9) 22%,rgba(230,196,106,0.95) 50%,rgba(201,155,63,0.9) 78%,#8C6423 100%);animation:lineGlide 7s ease-in-out infinite;}
@keyframes lineGlide{0%,25%{background-position:-30% 0,0 0;}100%{background-position:130% 0,0 0;}}
.pf-btn.active,.pf-btn[aria-current="page"]{background:linear-gradient(180deg,#F8EBBC 0%,#E7C671 34%,#D2A449 62%,#C99B3F 100%);border-color:#F1D993;box-shadow:inset 0 1px 0 rgba(255,255,255,0.7),0 0 14px rgba(240,205,120,0.35);}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .breadcrumb.on-dark a{background-image:var(--gold-metal);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
}

/* ---------- inspection booking + opening hours (car pages) ---------- */
.inspect{background:var(--charcoal);color:var(--cream);}
.insp-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:flex-start;}
.insp-main h2,.insp-side h2,.insp-side h3{color:#fff;}
.insp-main h2{font-size:clamp(1.7rem,3.4vw,2.3rem);margin-bottom:10px;}
.insp-lead{color:#D8D0C0;font-weight:300;line-height:1.7;margin:0 0 22px;max-width:560px;}
.book-form .field{width:100%;}
.book-form .opt{text-transform:none;letter-spacing:0;font-weight:400;color:#B8B0A0;margin-left:6px;}
.book-form .btn-block{margin-top:4px;}
.book-form .form-status{color:#F3DC96;}
.bf-privacy{margin:10px 0 0;font-size:0.78rem;color:#B8B0A0;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.book-done{padding:30px;}
.book-done h3{color:#fff;font-size:1.4rem;margin-bottom:8px;}
.book-done p{color:#D8D0C0;line-height:1.7;margin:0 0 18px;}
.book-done:focus{outline:none;}
.bd-actions{display:flex;gap:12px;flex-wrap:wrap;}
.insp-side{background:var(--charcoal-2);border:2px solid var(--cream-line);border-radius:var(--r);padding:28px;}
.insp-side h3{font-size:1.25rem;margin-bottom:14px;}
.insp-solo{max-width:560px;margin:0 auto;}
.insp-solo h2{font-size:1.5rem;margin-bottom:14px;}
.hours-table{width:100%;border-collapse:collapse;font-size:0.95rem;}
.hours-table th,.hours-table td{padding:10px 0;border-bottom:1px solid var(--cream-line);text-align:left;font-weight:400;color:#E9E2D2;}
.hours-table td{text-align:right;font-family:'Space Mono',monospace;font-size:0.86rem;}
.hours-table tr.is-today th,.hours-table tr.is-today td{color:#fff;font-weight:700;}
.hours-table tr.is-today td{color:var(--green-bright);}
.hours-status{margin:12px 0 0;font-family:'Space Mono',monospace;font-size:0.82rem;color:#F3DC96;min-height:1.3em;}
.hours-status.is-open{color:var(--green-bright);}
.hours-none{color:#D8D0C0;margin:0 0 6px;}
.insp-loc{margin:16px 0 0;font-size:0.9rem;line-height:1.6;color:#C9C1AF;}
.insp-contact{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0;}
@media (max-width:900px){.insp-grid{grid-template-columns:1fr;gap:28px;}}

/* ---------- Google reviews slider ("Customer Experiences") ---------- */
.rv-carousel{position:relative;max-width:1100px;margin:0 auto 30px;text-align:left;}
.rv-list{display:flex;gap:16px;margin:0;padding:6px 2px 14px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-x:contain;}
.rv-card{flex:0 0 min(100%,356px);scroll-snap-align:start;display:flex;flex-direction:column;gap:10px;padding:20px;background:#1C1915;border:1px solid rgba(201,155,63,0.45);border-radius:14px;color:#F4EFE3;}
@media (max-width:420px){.rv-card{flex-basis:100%;}}
.rv-top{display:flex;align-items:center;gap:12px;}
.rv-avatar{flex:0 0 44px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 1.15rem 'Times New Roman',Times,Georgia,serif;color:#fff;}
.rv-c1{background:#4A5A68;}.rv-c2{background:#7A4B52;}.rv-c3{background:#4F6B54;}.rv-c4{background:#6B5A8A;}.rv-c5{background:#8A6A3C;}.rv-c6{background:#3F6B74;}
.rv-who{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35;}
.rv-name{color:#fff;font-size:1rem;}
.rv-when{font-size:0.78rem;color:#C2BAA8;}
.rv-src{align-self:flex-start;font:700 0.62rem 'Space Mono',monospace;letter-spacing:0.08em;text-transform:uppercase;color:#C2BAA8;}
.rv-stars{display:flex;gap:3px;}
.rv-stars .ic{width:20px;height:20px;fill:url(#gold-star) #E0A93B;}
.rv-stars .ic.off{fill:#4D483A;}
.rv-text{margin:0;font-size:0.95rem;line-height:1.65;color:#E9E2D2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;overflow:hidden;overflow-wrap:anywhere;}
.rv-text.rv-none{font-style:italic;color:#B9B19E;}
.rv-card.open .rv-text{display:block;-webkit-line-clamp:unset;overflow:visible;}
.rv-full{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;padding:4px 0;color:#F3DC96;font:700 0.78rem 'Space Mono',monospace;letter-spacing:0.05em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;}
.rv-full:hover{color:#fff;}
.rv-more{align-self:flex-start;border:0;background:none;padding:6px 0;color:#F3DC96;font:700 0.78rem 'Space Mono',monospace;letter-spacing:0.05em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px;}
.rv-nav{position:static;flex:0 0 46px;width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(201,155,63,0.8);background:rgba(11,11,10,0.92);color:#F3DC96;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.rv-nav[hidden]{display:none;}
.rv-nav .ic{width:18px;height:18px;}
.rv-nav:hover{background:#F3DC96;color:#2A1B05;}
.rv-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;margin-top:6px;}
.rv-dots[hidden]{display:none;}
.rv-dot{width:24px;height:24px;border:0;background:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.rv-dot::before{content:"";width:9px;height:9px;border-radius:50%;background:#6F6853;}
.rv-dot[aria-current="true"]::before{background:#F3DC96;transform:scale(1.25);}
.rv-bar{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:6px;min-height:30px;}
.rv-count{font:700 0.82rem 'Space Mono',monospace;letter-spacing:0.06em;color:#E9E2D2;min-width:7ch;text-align:center;}
.rv-count[hidden]{display:none;}
.rv-note{margin:0 auto 26px;max-width:64ch;font-size:0.82rem;line-height:1.6;color:#C2BAA8;}
.rv-note a{color:#F3DC96;text-underline-offset:3px;}
.rv-bar{gap:14px;margin-top:8px;}
/* wide screens: the arrows stand outside the cards, left and right (clear of the chat button on the far right); narrower: they sit beside the dots */
@media (min-width:1400px){
  .rv-nav{position:absolute;top:50%;transform:translateY(-70%);z-index:2;}
  .rv-nav.prev{left:-60px;}.rv-nav.next{right:-60px;}
}
/* ---------- Ella: the chat button and the chat window ---------- */
.hours-appt{margin:12px 0 0;font-size:0.88rem;line-height:1.5;color:#F3DC96;}
.chat-launch{position:fixed;right:14px;bottom:76px;z-index:260;width:58px;height:58px;padding:0;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#2A1B05;background:linear-gradient(180deg,#F8EBBC 0%,#E7C671 40%,#C99B3F 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,0.85),0 8px 22px rgba(0,0,0,0.42),0 0 18px rgba(240,205,120,0.38);transition:transform .2s ease;}
.chat-launch[hidden]{display:none;}
.chat-launch:hover{transform:translateY(-2px) scale(1.05);}
.chat-launch:focus-visible{outline:3px solid #E8CE8F;outline-offset:3px;}
.chat-launch .ic{width:28px;height:28px;fill:#2A1B05;}
.chat-launch .chat-dot{position:absolute;top:5px;right:5px;width:13px;height:13px;border-radius:50%;background:#22C55E;border:2px solid #FFF3C4;}
.chat-launch.is-loading{opacity:0.7;cursor:progress;}
.cm-chat{position:fixed;z-index:400;right:14px;bottom:14px;width:min(392px,calc(100vw - 28px));height:min(640px,calc(100vh - 28px));display:flex;flex-direction:column;background:#141210;color:#F4EFE3;border:1px solid rgba(201,155,63,0.65);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,0.55);overflow:hidden;font-size:16px;}
.cm-chat[hidden]{display:none;}
.cm-chat :focus-visible{outline:3px solid #F3DC96;outline-offset:2px;}
.cm-head{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#0B0B0A;border-bottom:1px solid rgba(201,155,63,0.5);}
.cm-avatar{flex:0 0 42px;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 1.3rem 'Times New Roman',Times,Georgia,serif;color:#2A1B05;background:var(--gold-metal);box-shadow:0 0 12px rgba(240,205,120,0.45);}
.cm-who{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3;}
.cm-who strong{color:#fff;font-size:1.02rem;}
.cm-who span{font-size:0.74rem;color:#B8B0A0;}
.cm-end{border:1px solid rgba(201,155,63,0.75);background:transparent;color:#F3DC96;border-radius:8px;padding:7px 10px;font:700 0.68rem 'Space Mono',monospace;letter-spacing:0.05em;text-transform:uppercase;cursor:pointer;min-height:36px;}
.cm-end:hover{background:#F3DC96;color:#2A1B05;}
.cm-x{flex:0 0 36px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,0.1);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;}
.cm-x:hover{background:rgba(255,255,255,0.2);}
.cm-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#1A1713;overscroll-behavior:contain;}
.cm-msg{max-width:90%;padding:10px 13px;border-radius:14px;font-size:0.92rem;line-height:1.6;overflow-wrap:anywhere;}
.cm-msg p{margin:0 0 6px;}
.cm-msg p:last-child{margin:0;}
.cm-msg.bot{align-self:flex-start;background:#2A2620;color:#F4EFE3;border-start-start-radius:4px;}
.cm-msg.me{align-self:flex-end;background:linear-gradient(180deg,#F3DC96,#DAB155);color:#2A1B05;border-start-end-radius:4px;}
.cm-small{font-size:0.76rem;color:#C2BAA8;}
.cm-typing{display:flex;gap:4px;padding:12px 14px;}
.cm-typing span{width:7px;height:7px;border-radius:50%;background:#B8B0A0;animation:cmDot 1s ease-in-out infinite;}
.cm-typing span:nth-child(2){animation-delay:.15s;}
.cm-typing span:nth-child(3){animation-delay:.3s;}
@keyframes cmDot{0%,60%,100%{opacity:.35;transform:translateY(0);}30%{opacity:1;transform:translateY(-3px);}}
.cm-langs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;}
.cm-lang,.cm-chip,.cm-link{font:inherit;cursor:pointer;}
.cm-lang{min-height:44px;border-radius:10px;border:1px solid rgba(201,155,63,0.75);background:transparent;color:#F3DC96;font-size:1rem;}
.cm-lang:hover,.cm-chip:hover{background:#F3DC96;color:#2A1B05;}
.cm-chips{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px;max-height:36%;overflow-y:auto;background:#141210;border-top:1px solid rgba(255,255,255,0.07);}
.cm-chips:empty{display:none;}
.cm-chip{min-height:38px;padding:8px 14px;border-radius:100px;border:1px solid rgba(201,155,63,0.75);background:transparent;color:#F3DC96;font-size:0.84rem;}
.cm-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.cm-link{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:100px;border:1px solid rgba(201,155,63,0.75);background:transparent;color:#F3DC96;font-size:0.84rem;text-decoration:none;}
.cm-link:hover{background:#F3DC96;color:#2A1B05;}
.cm-link.wa{background:var(--wa);border-color:var(--wa);color:#06260f;font-weight:700;}
.cm-link.call,.cm-link.sms{border-color:rgba(255,255,255,0.35);color:#fff;}
.cm-link.gold{background:linear-gradient(180deg,#F8EBBC,#E7C671 55%,#C99B3F);border-color:#F1D993;color:#2A1B05;font-weight:700;}
.cm-car{display:flex;gap:10px;margin-top:8px;background:#1E1A15;border:1px solid rgba(255,255,255,0.09);border-radius:12px;overflow:hidden;}
.cm-car img{flex:0 0 96px;width:96px;height:auto;object-fit:cover;}
.cm-car-body{display:flex;flex-direction:column;gap:3px;padding:8px 10px 10px;min-width:0;}
.cm-car-body strong{color:#fff;font-size:0.9rem;line-height:1.35;}
.cm-car-line{font-family:'Space Mono',monospace;font-size:0.76rem;color:#F3DC96;}
.cm-car-line.dim{color:#C2BAA8;}
.cm-car .cm-links{margin-top:4px;}
.cm-car .cm-link{min-height:34px;padding:5px 11px;font-size:0.78rem;}
.cm-hours{width:100%;border-collapse:collapse;font-size:0.84rem;margin-top:4px;}
.cm-hours th{text-align:start;font-weight:400;color:#D8D0C0;padding:3px 0;}
.cm-hours td{text-align:end;font-family:'Space Mono',monospace;font-size:0.76rem;color:#fff;}
.cm-addr{white-space:pre-line;font-size:0.84rem;color:#D8D0C0;}
.cm-form{display:flex;gap:8px;padding:10px 12px;background:#0B0B0A;border-top:1px solid rgba(201,155,63,0.5);}
.cm-input{flex:1;min-width:0;height:46px;border:1px solid rgba(255,255,255,0.22);background:#1A1713;color:#fff;border-radius:100px;padding:0 16px;font:inherit;font-size:16px;}
.cm-input::placeholder{color:#9C9482;}
.cm-input:disabled{opacity:0.6;}
.cm-send{flex:0 0 46px;width:46px;height:46px;border-radius:50%;border:0;background:linear-gradient(180deg,#F8EBBC,#E7C671 55%,#C99B3F);color:#2A1B05;font-size:1.1rem;cursor:pointer;}
.cm-send:disabled{opacity:0.5;cursor:default;}
.cm-chat[dir="rtl"] .cm-send{transform:scaleX(-1);}
@media (max-width:980px){.chat-launch{right:12px;bottom:calc(84px + env(safe-area-inset-bottom));}}
@media (max-width:640px){.cm-chat{left:0;right:0;bottom:0;width:auto;height:min(88vh,calc(100dvh - 12px));border-radius:18px 18px 0 0;}}

/* ---------- sticky call / WhatsApp bar (phones & tablets) ---------- */
.quickbar{display:none;}

/* ---------- full-size photo viewer (native <dialog>, opened by clicking a car photo) ---------- */
html.lb-open{overflow:hidden;}
dialog.lb{inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0b0b0a;color:#fff;overflow:hidden;}
dialog.lb[open]{display:flex;flex-direction:column;}
dialog.lb::backdrop{background:#000;}
.lb-bar{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:10px 12px;}
.lb-count{margin-right:auto;font-family:'Space Mono',monospace;font-size:0.82rem;color:#E8E2D2;}
.lb-btn,.lb-nav{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,0.4);background:rgba(255,255,255,0.1);color:#fff;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;}
.lb-btn:hover,.lb-nav:hover{background:rgba(255,255,255,0.24);}
.lb-btn:focus-visible,.lb-nav:focus-visible,.lb-stage:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.lb-btn .ic,.lb-nav .ic{width:20px;height:20px;}
.lb-btn[hidden]{display:none;}
.lb .ic-out,.lb.zoomed .ic-in{display:none;}
.lb.zoomed .ic-out{display:block;}
.lb-stage{flex:1 1 auto;min-height:0;display:flex;overflow:auto;overscroll-behavior:contain;}
.lb-stage:focus{outline:none;}
.lb-img{display:block;margin:auto;max-width:100%;max-height:100%;width:auto;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;}
.lb.can-zoom .lb-img{cursor:zoom-in;}
.lb.zoomed .lb-img{max-width:none;max-height:none;cursor:zoom-out;}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;}
.lb-prev{left:12px;}
.lb-next{right:12px;}
.lb.zoomed .lb-nav{display:none;}
.lb-cap{flex:0 0 auto;margin:0;padding:8px 64px 12px;text-align:center;font-size:0.8rem;line-height:1.35;color:#CFC8B6;}
@media (max-width:700px){.lb-cap{padding:8px 14px 12px;}.lb-nav{width:42px;height:42px;}.lb-prev{left:8px;}.lb-next{right:8px;}}
@media (max-width:1200px){   /* five menu links no longer fit beside the icons and the phone button: use the menu button from here down */
  .nav-links,.nav-right > .social-row,.nav-right > .btn{display:none;}
  .burger{display:flex;}
}
@media (max-width:980px){
  .quickbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:300;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(11,11,10,0.97);border-top:1px solid rgba(184,134,62,0.45);}
  .quickbar a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border-radius:100px;font-family:'Space Mono',monospace;font-weight:700;font-size:0.82rem;letter-spacing:0.05em;text-transform:uppercase;}
  .quickbar .qb-call{background:var(--green);color:#fff;}
  .quickbar .qb-wa{background:var(--wa);color:#06260f;}
  footer{padding-bottom:calc(100px + env(safe-area-inset-bottom));}
  .music-toggle{right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:310;}   /* phones and tablets: the music button sits at the right end of the bottom bar instead of floating over the page */
  .music-toggle:not([hidden]) + .quickbar{padding-right:70px;}   /* ...so the bar leaves room for it (only while the button is shown) */
  .hero{flex-direction:column;align-items:stretch;justify-content:center;}
  .hero > .wrap{width:100%;}
  .search-card{margin:32px auto 36px;max-width:none;}
  .spacer-160{height:24px;}
}
@media (max-width:900px){
  .footer-col a{padding:11px 0;}
  .footer-col address a{padding:12px 0;}
  .gallery-thumbs{display:flex;overflow-x:auto;gap:8px;padding-bottom:8px;scroll-snap-type:x proximity;}
  .gallery-thumbs .thumb{flex:0 0 76px;scroll-snap-align:start;}
  .hero-content{padding-top:90px;}
  .search-grid{grid-template-columns:1fr 1fr;}
  .search-grid .btn{grid-column:span 2;}
  .filter-bar{grid-template-columns:1fr 1fr;}
  .filter-count{grid-column:span 2;}
  .detail-grid,.contact-cols{grid-template-columns:1fr;gap:32px;}
  .locations-grid{grid-template-columns:1fr;}
  .spec-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .trust-item{flex:1 1 100%;border-left:none;border-top:1px solid var(--cream-line);padding:12px 0;}
  .trust-item:first-child{border-top:none;}
  .section{padding:56px 20px;}
}
@media (max-width:520px){
  .search-grid{grid-template-columns:1fr;}
  .search-grid .btn{grid-column:span 1;}
  .filter-bar{grid-template-columns:1fr;}
  .filter-count{grid-column:span 1;}
  .bodytype-grid{gap:10px 14px;}
  .bodytype-tile{min-width:84px;}
  .contact-form .form-row,.contact-form .form-actions{grid-template-columns:1fr;}
  .detail-actions{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero-actions .btn{flex:1 1 calc(50% - 7px);padding-left:14px;padding-right:14px;}   /* phone: "View Current Stock" on its own row, "Sold Cars" and "Other Services" side by side */
  .hero-actions .btn:first-child,.hero-actions .btn:last-child{flex-basis:100%;}   /* ...and "Our Facebook Gallery" on its own row at the bottom */
  .hero-stat{padding:0 22px;}
  .hero-stat-label{font-size:0.62rem;letter-spacing:0.14em;}
  .contact-form{padding:22px;}
  .stock-grid{grid-template-columns:1fr;}
}
@media (pointer:coarse){
  .icon-btn{width:46px;height:46px;}
}
@media (prefers-reduced-motion:reduce){
  *:not(.hero-slide){transition:none !important;animation:none !important;}
  .btn-gold,.btn-gold::before,*::before,*::after{animation:none !important;}   /* (the star selector does not reach pseudo-elements) */
  html{scroll-behavior:auto !important;}
  .hero-slide{animation:none !important;transition:none !important;}
  .hero h1,.hero-sub,.hero-actions,.hero-stats,.search-card{opacity:1 !important;}
}
