/* ═══════════════════════════════════════════════════════════
   CLIVE SUTTON — SHARED DESIGN SYSTEM
   Luxury dark theme with gold accent and animated gradients
═══════════════════════════════════════════════════════════ */

/* ── DESIGN TOKENS ─────────────────────────────────────── */
:root {
   --bg: #080808;
   --bg2: #111;
   --bg3: #1a1a1a;
   --bg4: #222;
   --gold: #c9a84c;
   --gold-l: #e8d08a;
   --gold-d: #8b6914;
   --wht: #f5f5f0;
   --wht2: #c0bfbb;
   --wht3: #6e6e66;
   --brd: rgba(201, 168, 76, .15);
   --brd2: rgba(201, 168, 76, .38);
   --purple: rgba(80, 40, 140, .22);
   --teal: rgba(20, 120, 140, .16);
   --radius: 4px;
}

/* ── RESET ─────────────────────────────────────────────── */
* {
   box-sizing: border-box;
   margin: 0;
   padding: 0
}

html {
   scroll-behavior: smooth
}

body {
   font-family: 'Inter', sans-serif;
   background: var(--bg);
   color: var(--wht);
   overflow-x: hidden;
   min-height: 100vh
}

h1,
h2,
h3,
.serif {
   font-family: 'Playfair Display', serif
}

.cormorant {
   font-family: 'Cormorant Garamond', serif
}

img {
   display: block;
   max-width: 100%
}

a {
   text-decoration: none
}

/* ── SCROLLBAR ─────────────────────────────────────────── */
::-webkit-scrollbar {
   width: 3px
}

::-webkit-scrollbar-track {
   background: #0a0a0a
}

::-webkit-scrollbar-thumb {
   background: var(--gold);
   border-radius: 2px
}

/* ── PROGRESS BAR ──────────────────────────────────────── */
#pgbar {
   position: fixed;
   top: 0;
   left: 0;
   height: 2px;
   width: 0;
   background: linear-gradient(90deg, var(--gold-d), var(--gold), var(--gold-l));
   z-index: 1000;
   transition: width .08s linear
}

/* ══════════════════════════════════════════════════════════
   KEYFRAME ANIMATIONS
══════════════════════════════════════════════════════════ */
@keyframes fadeUp {
   from {
      opacity: 0;
      transform: translateY(40px)
   }

   to {
      opacity: 1;
      transform: translateY(0)
   }
}

@keyframes fadeLeft {
   from {
      opacity: 0;
      transform: translateX(-50px)
   }

   to {
      opacity: 1;
      transform: translateX(0)
   }
}

@keyframes fadeRight {
   from {
      opacity: 0;
      transform: translateX(50px)
   }

   to {
      opacity: 1;
      transform: translateX(0)
   }
}

@keyframes scaleIn {
   from {
      opacity: 0;
      transform: scale(.9)
   }

   to {
      opacity: 1;
      transform: scale(1)
   }
}

@keyframes goldShimmer {

   0%,
   100% {
      background-position: 0% 50%
   }

   50% {
      background-position: 100% 50%
   }
}

@keyframes lineExpand {
   from {
      width: 0
   }

   to {
      width: 64px
   }
}

@keyframes float {

   0%,
   100% {
      transform: translateY(0)
   }

   50% {
      transform: translateY(-14px)
   }
}

@keyframes rotSlow {
   from {
      transform: rotate(0deg)
   }

   to {
      transform: rotate(360deg)
   }
}

@keyframes heroImg {
   from {
      transform: scale(1.08);
      opacity: .4
   }

   to {
      transform: scale(1);
      opacity: 1
   }
}

@keyframes scanDown {
   0% {
      top: -4px;
      opacity: .6
   }

   100% {
      top: 100%;
      opacity: 0
   }
}

/* Gradient orb drift */
@keyframes blobDrift1 {

   0%,
   100% {
      transform: translate(0, 0) scale(1)
   }

   33% {
      transform: translate(60px, -80px) scale(1.15)
   }

   66% {
      transform: translate(-40px, 40px) scale(.9)
   }
}

@keyframes blobDrift2 {

   0%,
   100% {
      transform: translate(0, 0) scale(1)
   }

   33% {
      transform: translate(-80px, 60px) scale(1.2)
   }

   66% {
      transform: translate(50px, -50px) scale(.85)
   }
}

@keyframes blobDrift3 {

   0%,
   100% {
      transform: translate(0, 0) scale(1)
   }

   50% {
      transform: translate(40px, 70px) scale(1.1)
   }
}

@keyframes breathe {

   0%,
   100% {
      opacity: .5
   }

   50% {
      opacity: .85
   }
}

@keyframes ringPulse {

   0%,
   100% {
      transform: translate(-50%, -50%) scale(1);
      opacity: .12
   }

   50% {
      transform: translate(-50%, -50%) scale(1.08);
      opacity: .22
   }
}

@keyframes gridScroll {
   0% {
      background-position: 0 0
   }

   100% {
      background-position: 60px 60px
   }
}

@keyframes shimLine {
   0% {
      transform: translateX(-100%)
   }

   100% {
      transform: translateX(300%)
   }
}

@keyframes countUp {
   from {
      opacity: 0
   }

   to {
      opacity: 1
   }
}

@keyframes slideDown {
   from {
      opacity: 0;
      transform: translateY(-10px)
   }

   to {
      opacity: 1;
      transform: translateY(0)
   }
}

/* ── SCROLL REVEAL ─────────────────────────────────────── */
.reveal {
   opacity: 0;
   transform: translateY(36px);
   transition: opacity .9s ease, transform .9s ease
}

.reveal.in {
   opacity: 1;
   transform: none
}

.reveal-l {
   opacity: 0;
   transform: translateX(-40px);
   transition: opacity .9s ease, transform .9s ease
}

.reveal-l.in {
   opacity: 1;
   transform: none
}

.reveal-r {
   opacity: 0;
   transform: translateX(40px);
   transition: opacity .9s ease, transform .9s ease
}

.reveal-r.in {
   opacity: 1;
   transform: none
}

.delay-1 {
   transition-delay: .15s
}

.delay-2 {
   transition-delay: .3s
}

.delay-3 {
   transition-delay: .45s
}

.delay-4 {
   transition-delay: .6s
}

/* ══════════════════════════════════════════════════════════
   GRADIENT ORB SYSTEM (used on every section)
══════════════════════════════════════════════════════════ */
.orbs {
   position: absolute;
   inset: 0;
   overflow: hidden;
   pointer-events: none;
   z-index: 0
}

.orb {
   position: absolute;
   border-radius: 50%;
   filter: blur(90px);
   pointer-events: none;
   mix-blend-mode: screen
}

.orb-gold {
   background: radial-gradient(circle, rgba(201, 168, 76, .28) 0%, rgba(139, 105, 20, .1) 55%, transparent 70%)
}

.orb-amber {
   background: radial-gradient(circle, rgba(201, 140, 40, .2) 0%, rgba(120, 70, 10, .08) 55%, transparent 70%)
}

.orb-purple {
   background: radial-gradient(circle, rgba(80, 40, 140, .24) 0%, rgba(40, 20, 80, .1) 55%, transparent 70%)
}

.orb-teal {
   background: radial-gradient(circle, rgba(20, 120, 140, .18) 0%, rgba(10, 60, 80, .07) 55%, transparent 70%)
}

.orb-center {
   background: radial-gradient(ellipse, rgba(201, 168, 76, .07) 0%, transparent 65%);
   filter: blur(60px)
}

/* Animated grid */
.hero-grid {
   position: absolute;
   inset: 0;
   pointer-events: none;
   background-image: linear-gradient(rgba(201, 168, 76, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(201, 168, 76, .04) 1px, transparent 1px);
   background-size: 60px 60px;
   animation: gridScroll 8s linear infinite;
   z-index: 1;
   mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
   -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%)
}

.hero-ring {
   position: absolute;
   border-radius: 50%;
   border: 1px solid rgba(201, 168, 76, .12);
   transform: translate(-50%, -50%);
   animation: ringPulse 6s ease-in-out infinite;
   pointer-events: none;
   z-index: 1
}

.hero-shim {
   position: absolute;
   top: 0;
   bottom: 0;
   width: 160px;
   background: linear-gradient(90deg, transparent, rgba(201, 168, 76, .07), transparent);
   animation: shimLine 7s ease-in-out infinite;
   pointer-events: none;
   z-index: 1
}

.hero-vignette {
   position: absolute;
   inset: 0;
   background: radial-gradient(ellipse 80% 80% at 50% 50%, transparent 40%, rgba(4, 4, 4, .72) 100%);
   pointer-events: none;
   z-index: 2
}

/* ══════════════════════════════════════════════════════════
   TYPOGRAPHY HELPERS
══════════════════════════════════════════════════════════ */
.gold-text {
   background: linear-gradient(135deg, var(--gold-d) 0%, var(--gold) 40%, var(--gold-l) 60%, var(--gold) 80%, var(--gold-d) 100%);
   background-size: 300% auto;
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
   animation: goldShimmer 5s ease infinite
}

.gold-solid {
   color: var(--gold)
}

.eyebrow {
   font-size: .68rem;
   font-weight: 600;
   letter-spacing: .25em;
   text-transform: uppercase;
   color: var(--gold);
   opacity: .9
}

.glow-sep {
   height: 1px;
   background: linear-gradient(90deg, transparent, rgba(201, 168, 76, .4), transparent)
}

.section-line {
   width: 0;
   height: 1px;
   background: linear-gradient(90deg, var(--gold), transparent);
   animation: lineExpand .9s ease .2s forwards;
   display: block;
   margin-top: 12px
}

/* ══════════════════════════════════════════════════════════
   BUTTONS
══════════════════════════════════════════════════════════ */
.btn-gold {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   padding: 13px 30px;
   font-size: .83rem;
   font-weight: 600;
   letter-spacing: .08em;
   text-transform: uppercase;
   border-radius: var(--radius);
   background: linear-gradient(135deg, var(--gold-d), var(--gold), var(--gold-l), var(--gold));
   background-size: 300% auto;
   animation: goldShimmer 4s ease infinite;
   color: #000;
   transition: transform .25s, box-shadow .25s;
   cursor: pointer;
   border: none;
   font-family: 'Inter', sans-serif
}

.btn-gold:hover {
   transform: translateY(-3px);
   box-shadow: 0 16px 40px rgba(201, 168, 76, .45), 0 0 80px rgba(201, 168, 76, .1)
}

.btn-outline {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   padding: 12px 28px;
   font-size: .83rem;
   font-weight: 500;
   letter-spacing: .08em;
   text-transform: uppercase;
   border-radius: var(--radius);
   border: 1px solid rgba(201, 168, 76, .4);
   color: var(--gold-l);
   background: transparent;
   transition: all .3s;
   cursor: pointer;
   font-family: 'Inter', sans-serif
}

.btn-outline:hover {
   border-color: var(--gold);
   background: rgba(201, 168, 76, .08);
   box-shadow: 0 0 24px rgba(201, 168, 76, .2);
   transform: translateY(-2px)
}

.btn-ghost {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   font-size: .8rem;
   font-weight: 500;
   letter-spacing: .06em;
   color: var(--gold);
   transition: gap .3s, opacity .3s
}

.btn-ghost:hover {
   gap: 10px;
   opacity: .8
}

/* ══════════════════════════════════════════════════════════
   CARDS
══════════════════════════════════════════════════════════ */
.card-lux {
   background: var(--bg2);
   border: 1px solid var(--brd);
   border-radius: var(--radius);
   overflow: hidden;
   position: relative;
   transition: border-color .4s, box-shadow .4s, transform .4s
}

.card-lux:hover {
   border-color: var(--brd2);
   box-shadow: 0 30px 70px rgba(0, 0, 0, .6), 0 0 40px rgba(201, 168, 76, .1);
   transform: translateY(-6px)
}

.card-lux .cimg {
   transition: transform .7s cubic-bezier(.25, .46, .45, .94)
}

.card-lux:hover .cimg {
   transform: scale(1.07)
}

/* ── BADGES ────────────────────────────────────────────── */
.badge {
   font-size: .65rem;
   font-weight: 600;
   letter-spacing: .1em;
   text-transform: uppercase;
   padding: 4px 10px;
   border-radius: 1px
}

.badge-gold {
   background: rgba(201, 168, 76, .15);
   color: var(--gold);
   border: 1px solid rgba(201, 168, 76, .3)
}

.badge-new {
   background: rgba(59, 130, 246, .15);
   color: #93c5fd;
   border: 1px solid rgba(59, 130, 246, .25)
}

.badge-red {
   background: rgba(239, 68, 68, .12);
   color: #fca5a5;
   border: 1px solid rgba(239, 68, 68, .22)
}

.badge-dark {
   background: rgba(255, 255, 255, .06);
   color: var(--wht2);
   border: 1px solid rgba(255, 255, 255, .1)
}

/* ══════════════════════════════════════════════════════════
   NAVIGATION
══════════════════════════════════════════════════════════ */
.nav-link {
   position: relative;
   font-size: .82rem;
   font-weight: 500;
   letter-spacing: .06em;
   color: var(--wht2);
   transition: color .3s;
   padding-bottom: 2px
}

.nav-link::after {
   content: '';
   position: absolute;
   bottom: -4px;
   left: 0;
   width: 0;
   height: 1px;
   background: var(--gold);
   transition: width .3s
}

.nav-link:hover,
.nav-link.active {
   color: var(--gold-l)
}

.nav-link:hover::after,
.nav-link.active::after {
   width: 100%
}

.drop-menu {
   display: none;
   position: absolute;
   top: calc(100% + 12px);
   left: 0;
   min-width: 200px;
   background: rgba(8, 8, 8, .97);
   border: 1px solid var(--brd);
   border-radius: var(--radius);
   backdrop-filter: blur(20px);
   padding: 8px 0;
   z-index: 200;
   animation: slideDown .2s ease
}

.nav-drop:hover .drop-menu {
   display: block
}

.drop-link {
   display: block;
   padding: 10px 18px;
   font-size: .8rem;
   font-weight: 400;
   letter-spacing: .05em;
   color: var(--wht2);
   transition: color .2s, background .2s
}

.drop-link:hover {
   color: var(--gold-l);
   background: rgba(201, 168, 76, .06)
}

/* ── FORM INPUTS ───────────────────────────────────────── */
select,
input,
textarea {
   background: rgba(255, 255, 255, .04);
   border: 1px solid rgba(255, 255, 255, .08);
   color: var(--wht);
   border-radius: 2px;
   font-family: 'Inter', sans-serif;
   transition: border-color .3s;
   width: 100%
}

select:focus,
input:focus,
textarea:focus {
   outline: none;
   border-color: rgba(201, 168, 76, .5)
}

select option {
   background: #111;
   color: var(--wht)
}

::placeholder {
   color: var(--wht3)
}

/* ══════════════════════════════════════════════════════════
   PAGE HERO (reusable)
══════════════════════════════════════════════════════════ */
.page-hero {
   position: relative;
   height: 420px;
   display: flex;
   align-items: center;
   overflow: hidden;
   background: #040404
}

.page-hero-img {
   position: absolute;
   inset: 0;
   z-index: 0
}

.page-hero-img img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center 30%
}

.page-hero-overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(110deg, rgba(4, 4, 4, .95) 0%, rgba(4, 4, 4, .75) 55%, rgba(4, 4, 4, .5) 100%)
}

.page-hero-content {
   position: relative;
   z-index: 4;
   max-width: 1280px;
   margin: 0 auto;
   padding: 0 24px;
   width: 100%
}

/* ══════════════════════════════════════════════════════════
   SECTION HELPERS
══════════════════════════════════════════════════════════ */
.section {
   padding: 80px 0;
   position: relative
}

.section-sm {
   padding: 56px 0;
   position: relative
}

.container {
   max-width: 1280px;
   margin: 0 auto;
   padding: 0 24px
}

.grid-2 {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 56px;
   align-items: center
}

.grid-3 {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 24px
}

.grid-4 {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 20px
}

/* ══════════════════════════════════════════════════════════
   STOCK CARD (shared)
══════════════════════════════════════════════════════════ */
.stock-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
   gap: 24px
}

.spec-dot {
   font-size: .7rem;
   color: var(--brd2)
}

.spec-text {
   font-size: .72rem;
   color: var(--wht3)
}

.car-price {
   font-family: 'Playfair Display', serif;
   font-size: 1.65rem;
   font-weight: 700;
   color: var(--gold-l);
   line-height: 1
}

.car-mo {
   font-size: .7rem;
   color: var(--wht3);
   margin-top: 4px
}

/* ══════════════════════════════════════════════════════════
   TABS / FILTER BUTTONS
══════════════════════════════════════════════════════════ */
.filter-btn {
   padding: 8px 18px;
   font-size: .72rem;
   font-weight: 600;
   letter-spacing: .12em;
   text-transform: uppercase;
   border-radius: 2px;
   border: 1px solid rgba(201, 168, 76, .3);
   background: transparent;
   color: var(--gold);
   cursor: pointer;
   transition: all .3s;
   font-family: 'Inter', sans-serif
}

.filter-btn.active,
.filter-btn:hover {
   background: var(--gold);
   border-color: var(--gold);
   color: #000
}

/* ══════════════════════════════════════════════════════════
   ACCORDION (FAQ)
══════════════════════════════════════════════════════════ */
.faq-item {
   border-bottom: 1px solid var(--brd)
}

.faq-q {
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 18px 0;
   background: transparent;
   border: none;
   color: var(--wht);
   font-size: .9rem;
   font-weight: 500;
   cursor: pointer;
   font-family: 'Inter', sans-serif;
   text-align: left
}

.faq-q:hover {
   color: var(--gold-l)
}

.faq-icon {
   width: 18px;
   height: 18px;
   border: 1px solid var(--brd2);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   font-size: 12px;
   color: var(--gold);
   transition: transform .3s
}

.faq-a {
   max-height: 0;
   overflow: hidden;
   transition: max-height .4s ease, padding .3s ease
}

.faq-a.open {
   max-height: 300px;
   padding-bottom: 16px
}

.faq-a p {
   font-size: .84rem;
   color: var(--wht2);
   line-height: 1.75
}

/* ══════════════════════════════════════════════════════════
   TIMELINE
══════════════════════════════════════════════════════════ */
.timeline {
   position: relative;
   padding-left: 32px
}

.timeline::before {
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   bottom: 0;
   width: 1px;
   background: linear-gradient(180deg, transparent, var(--gold), rgba(201, 168, 76, .3), transparent)
}

.timeline-item {
   position: relative;
   margin-bottom: 36px
}

.timeline-item::before {
   content: '';
   position: absolute;
   left: -38px;
   top: 6px;
   width: 10px;
   height: 10px;
   border-radius: 50%;
   background: var(--gold);
   box-shadow: 0 0 10px rgba(201, 168, 76, .5)
}

.timeline-year {
   font-size: .72rem;
   font-weight: 600;
   letter-spacing: .15em;
   color: var(--gold);
   text-transform: uppercase;
   margin-bottom: 4px
}

.timeline-title {
   font-family: 'Playfair Display', serif;
   font-size: 1rem;
   color: var(--wht);
   margin-bottom: 6px
}

.timeline-text {
   font-size: .82rem;
   color: var(--wht3);
   line-height: 1.7
}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE — FULL DEVICE COVERAGE
   Breakpoints:
     xs  : 344px  Galaxy Z Fold 5
     sm  : 375px  iPhone SE
     md  : 430px  iPhone 14 Pro Max / Pixel 7
     duo : 540px  Surface Duo
     tab : 768px  iPad Mini
     lg  : 1024px iPad Pro / Surface Pro / Nest Hub
     xl  : 1280px Nest Hub Max / Asus Zenbook Fold
══════════════════════════════════════════════════════════ */

/* ── 1280px – Nest Hub Max / large tablets ──────────────── */
@media(max-width:1280px) {
   .container {
      padding: 0 32px
   }

   .grid-4 {
      grid-template-columns: repeat(3, 1fr)
   }
}

/* ── 1024px – iPad Pro / Surface Pro / Nest Hub ─────────── */
@media(max-width:1024px) {
   .container {
      padding: 0 28px
   }

   .grid-2 {
      grid-template-columns: 1fr;
      gap: 36px
   }

   .grid-4 {
      grid-template-columns: 1fr 1fr
   }

   .stock-grid {
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr))
   }

   .section {
      padding: 72px 0
   }

   .page-hero {
      height: 360px
   }

   /* footer */
   .footer-grid {
      grid-template-columns: 1fr 1fr !important
   }
}

/* ── 820px – iPad Air ────────────────────────────────────── */
@media(max-width:820px) {
   .grid-3 {
      grid-template-columns: 1fr 1fr
   }

   .grid-4 {
      grid-template-columns: 1fr 1fr
   }

   .stock-grid {
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr))
   }

   .page-hero {
      height: 320px
   }
}

/* ── 768px – iPad Mini ───────────────────────────────────── */
@media(max-width:768px) {
   .container {
      padding: 0 20px
   }

   .grid-2 {
      grid-template-columns: 1fr;
      gap: 32px
   }

   .grid-3 {
      grid-template-columns: 1fr
   }

   .grid-4 {
      grid-template-columns: 1fr 1fr
   }

   .section {
      padding: 60px 0
   }

   .section-sm {
      padding: 44px 0
   }

   .page-hero {
      height: 280px
   }

   /* filter bar wraps */
   .filter-bar {
      flex-wrap: wrap !important;
      gap: 8px !important
   }

   /* footer two-col */
   .footer-grid {
      grid-template-columns: 1fr 1fr !important;
      gap: 28px !important
   }

   /* typography scale */
   h1 {
      font-size: clamp(1.6rem, 4vw, 2.4rem)
   }

   h2 {
      font-size: clamp(1.4rem, 3.5vw, 2rem)
   }
}

/* ── 540px – Surface Duo ─────────────────────────────────── */
@media(max-width:540px) {
   .container {
      padding: 0 16px
   }

   .grid-3 {
      grid-template-columns: 1fr
   }

   .grid-4 {
      grid-template-columns: 1fr 1fr
   }

   .stock-grid {
      grid-template-columns: 1fr 1fr
   }

   .section {
      padding: 52px 0
   }

   .page-hero {
      height: 240px
   }

   .page-hero-content h1 {
      font-size: clamp(1.4rem, 5vw, 2rem) !important
   }

   /* hero search row stacks */
   .hero-search-row {
      flex-direction: column !important;
      gap: 10px !important
   }

   .hero-category-grid {
      grid-template-columns: repeat(3, 1fr) !important
   }

   /* filter tabs: horizontal scroll */
   .filter-tabs {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      white-space: nowrap;
      scrollbar-width: none
   }

   .filter-tabs::-webkit-scrollbar {
      display: none
   }

   .filter-btn {
      flex-shrink: 0
   }

   /* footer single col */
   .footer-grid {
      grid-template-columns: 1fr !important
   }
}

/* ── 480px – normal phones ───────────────────────────────── */
@media(max-width:480px) {
   .container {
      padding: 0 14px
   }

   .grid-4 {
      grid-template-columns: 1fr
   }

   .stock-grid {
      grid-template-columns: 1fr
   }

   .section {
      padding: 44px 0
   }

   .section-sm {
      padding: 36px 0
   }

   .page-hero {
      height: 220px
   }

   /* buttons: full width in stacked contexts */
   .btn-stack-mob .btn-gold,
   .btn-stack-mob .btn-outline {
      width: 100%
   }

   /* hero stats row */
   .hero-stats {
      grid-template-columns: repeat(2, 1fr) !important;
      gap: 12px !important
   }

   /* cards: remove hover transform on touch */
   .card-lux:hover {
      transform: none
   }

   /* finance grid */
   .finance-options-grid {
      grid-template-columns: 1fr !important
   }

   /* review grid */
   .reviews-grid {
      grid-template-columns: 1fr !important
   }

   /* team grid */
   .team-grid {
      grid-template-columns: 1fr 1fr !important
   }

   /* bespoke builds */
   .builds-grid {
      grid-template-columns: 1fr !important
   }

   /* contact channels */
   .channels-grid {
      grid-template-columns: 1fr !important
   }

   /* timeline */
   .timeline {
      padding-left: 20px
   }
}

/* ── 430px – iPhone 14 Pro Max / Pixel 7 ────────────────── */
@media(max-width:430px) {
   .container {
      padding: 0 12px
   }

   .eyebrow {
      font-size: .6rem;
      letter-spacing: .16em
   }

   .car-price {
      font-size: 1.4rem
   }

   .filter-btn {
      padding: 6px 12px;
      font-size: .68rem
   }

   /* hero category: 2-col on small phones */
   .hero-category-grid {
      grid-template-columns: repeat(2, 1fr) !important
   }

   /* page hero tighter */
   .page-hero-content .eyebrow {
      font-size: .58rem
   }
}

/* ── 375px – iPhone SE ───────────────────────────────────── */
@media(max-width:375px) {
   .container {
      padding: 0 10px
   }

   .stock-grid {
      grid-template-columns: 1fr
   }

   .grid-4 {
      grid-template-columns: 1fr
   }

   .hero-stats {
      grid-template-columns: 1fr 1fr !important
   }

   /* tab buttons tighter */
   .filter-btn {
      padding: 5px 10px;
      font-size: .65rem
   }

   /* team 1-col */
   .team-grid {
      grid-template-columns: 1fr !important
   }
}

/* ── 344px – Galaxy Z Fold 5 (narrowest) ────────────────── */
@media(max-width:344px) {
   .container {
      padding: 0 8px
   }

   .hero-category-grid {
      grid-template-columns: 1fr 1fr !important
   }

   .stock-grid {
      grid-template-columns: 1fr
   }

   .grid-4 {
      grid-template-columns: 1fr
   }

   .btn-gold,
   .btn-outline {
      padding: 10px 16px;
      font-size: .75rem
   }
}