/* ================================================================
   CarIX.AI · Global Shared Stylesheet
   First applied: 2026-06-02 · /ae/dubai/ preview
   ================================================================ */

:root {
  --green-deep:    #0D3320;
  --green-mid:     #1A4A30;
  --gold:          #C9A961;
  --gold-bright:   #E0C77A;
  --gold-soft:     rgba(201, 169, 97, 0.7);
  --gold-line:     rgba(201, 169, 97, 0.28);
  --gold-faint:    rgba(201, 169, 97, 0.55);
  --gold-bg-light: rgba(201, 169, 97, 0.08);
  --green-line:    rgba(13, 51, 32, 0.18);
  --green-tint:    rgba(13, 51, 32, 0.02);
  --paper-cream:   #FAF7F2;
  --paper-warm:    #F5F1E8;
  --line:          rgba(13, 51, 32, 0.12);
  --line-strong:   rgba(13, 51, 32, 0.25);
  --text-main:     #1A2620;
  --text-mid:      #4A5550;
  --text-muted:    #8A9590;
  --white:         #FFFFFF;
  --bg-warm:       #FBF8F3;
  --bg-light:      #F7F3EC;
  --success:       #2D7350;
  --danger:        #B85540;
  --error:         #E0876B;

  --sans:   'Inter Tight', system-ui, -apple-system, sans-serif;
  --serif:  'Cormorant Garamond', serif;
  --mono:   'JetBrains Mono', monospace;
  --cjk:    'Noto Sans SC', sans-serif;

  /* ── video modal 移植别名(主站变量 -> dubai 变量,字体守铁律)── */
  --forest-700: var(--green-mid);
  --forest-800: var(--green-deep);
  --forest-900: var(--green-deep);
  --forest-200: var(--green-line);
  --gold-400: var(--gold-bright);
  --gold-500: var(--gold);
  --gold-600: var(--gold);
  --gold-700: var(--gold);
  --ink-500: var(--text-muted);
  --ink-700: var(--text-mid);
  --ink-900: var(--text-main);
  --ink-200: var(--line-strong);
  --ink-100: var(--line);
  --ink-600: var(--text-mid);
  --ink-800: var(--text-main);
  --paper: var(--white);
  --soft: var(--bg-light);
  --cream-100: var(--paper-cream);
  --r-lg: 4px;
  --r-sm: 4px;
  --shadow-sm: 0 2px 8px rgba(13,51,32,.08);
  --font-display: var(--sans);
  --font-body: var(--sans);
  --font-mono: var(--mono);
  --font-serif: var(--sans);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--sans);
  background: var(--white);
  color: var(--text-main);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; }
input { font-family: inherit; }


/* ============ BETA BAR ============ */
.beta-bar {
  background: var(--gold);
  color: var(--green-deep);
  text-align: center;
  font-family: var(--mono);
  font-size: 11.5px;
  letter-spacing: 1.5px;
  font-weight: 600;
  padding: 8px 16px;
}
@media (max-width: 640px) {
  .beta-bar { font-size: 10px; letter-spacing: 0.8px; padding: 7px 12px; }
}

/* ============ HEADER ============ */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: var(--white);
  border-bottom: 1px solid var(--line);
}
.header-left { display: flex; align-items: center; gap: 16px; justify-self: start; }
.site-header-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px 5vw;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
}
.brand {
  font-size: 22px; font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--green-deep);
}
.brand em {
  font-family: var(--serif);
  font-style: italic; font-weight: 600;
  color: var(--gold);
  letter-spacing: 0;
}

.brand-beta {
  display: inline-block;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--gold);
  background: var(--gold-bg-light, #F5EFE0);
  border: 1px solid var(--gold-line, rgba(201,162,39,.25));
  border-radius:4px;
  padding: 3px 9px 2px;
  margin-left: 9px;
  vertical-align: 7px;
}
.city-picker {
  position: relative;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 4px;
  background: transparent;
  border: 0;
  font-size: 13px; font-weight: 600;
  color: var(--green-deep);
  cursor: pointer;
  transition: opacity 0.2s;
}
.city-picker:hover { opacity: 0.7; }
.city-picker .cp-flag { font-size: 14px; }
.city-picker .cp-chevron {
  font-family: var(--sans); font-size: 10px;
  color: var(--gold); margin-left: 2px;
}
.city-dropdown {
  position: absolute; top: calc(100% + 8px); right: 0;
  min-width: 220px;
  max-height: 360px; overflow-y: auto;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius:4px;
  box-shadow: 0 6px 20px rgba(13, 51, 32, 0.08);
  padding: 8px;
  display: none;
}
.city-picker.open .city-dropdown { display: block; }
.city-dropdown-label {
  font-family: var(--sans);
  font-size: 9.5px; letter-spacing: 2px;
  color: var(--gold);
  font-weight: 700;
  padding: 6px 10px 4px;
}
.city-option {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 10px;
  border-radius:4px;
  font-size: 13px;
  color: var(--text-main);
  cursor: pointer;
  transition: background 0.15s;
}
.city-option:hover { background: var(--gold-bg-light); }
.city-option.active { background: var(--gold-bg-light); color: var(--green-deep); font-weight: 600; }
.city-option .co-tag {
  font-family: var(--sans); font-size: 9.5px;
  letter-spacing: 1px;
  color: var(--text-muted);
}

.nav-main {
  display: flex; justify-content: flex-end; gap: 32px;
}
.nav-main a {
  font-size: 14px;
  color: var(--text-mid);
  font-weight: 600;
  transition: color 0.15s;
  position: relative;
}
.nav-main a:hover { color: var(--green-deep); }
.nav-main a.current {
  color: var(--green-deep);
  font-weight: 600;
}
.nav-main a.current::after {
  content: '';
  position: absolute; bottom: -22px; left: 0; right: 0;
  height: 2px;
  background: var(--gold);
}

.header-right { display: flex; align-items: center; gap: 14px; justify-self: end; margin-left: auto; white-space: nowrap; }
.lang-toggle {
  font-family: var(--sans);
  font-size: 11px; letter-spacing: 1px;
  color: var(--text-muted);
  cursor: pointer;
}

/* ============ FLOOR base ============ */
.floor {
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px 5vw;
}
.floor-meta {
  font-family: var(--mono);
  font-size: 10.5px; letter-spacing: 2.5px;
  color: var(--gold);
  font-weight: 700;
  margin-bottom: 10px;
  display: flex; justify-content: space-between; align-items: baseline;
}
.floor-meta-right {
  font-family: var(--sans); font-size: 12px; letter-spacing: 0.3px;
  color: var(--green-deep);
  font-weight: 600;
}
.floor-meta-right:hover { color: var(--gold); }
.floor-title {
  font-family: var(--sans);
  font-size: clamp(28px, 3.4vw, 42px);
  font-weight: 800;
  line-height: 1.10;
  letter-spacing: -0.02em;
  color: var(--green-deep);
  margin: 0 0 8px;
}
.floor-title em {
  font-family: var(--serif);
  font-weight: 600;
  font-style: italic;
  color: var(--gold);
  letter-spacing: 0;
}
.floor-sub {
  font-family: var(--sans);
  font-size: 15px;
  color: var(--text-mid);
  margin: 0 0 16px;
  max-width: 720px;
}

/* ============ FLOOR 1 · HERO ============ */
.hero {
  padding: 44px 5vw 32px;
  background: var(--green-deep);
  color: var(--paper-cream);
  position: relative;
  overflow: hidden;
}
.hero-inner {
  max-width: 1280px; margin: 0 auto;
  text-align: center;
  position: relative; z-index: 2;
}
.hero-eyebrow {
  font-family: var(--mono);
  font-size: 11px; letter-spacing: 3px;
  color: var(--gold);
  font-weight: 700;
  margin-bottom: 16px;
}
.hero-title {
  font-family: var(--sans);
  font-size: clamp(30px, 5vw, 60px);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: var(--paper-cream);
  margin: 0 0 10px;
}
.hero-title em {
  font-family: var(--serif);
  font-weight: 600;
  font-style: italic;
  color: var(--gold);
  letter-spacing: 0;
}
.hero-tagline {
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(17px, 2.2vw, 26px);
  color: var(--gold);
  margin: 0 0 22px;
  font-weight: 500;
}







/* ============ HERO CHAT ============ */
.hero-chat {
  max-width: calc(1280px - 10vw);
  width: 100%;
  margin: 0 auto 14px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid var(--gold-line);
  border-radius:4px;
  padding: 16px 18px 14px;
  transition: border-color 0.2s;
}
.hero-chat:focus-within { border-color: var(--gold); }
.hero-chat-input {
  width: 100%;
  background: transparent;
  border: none;
  color: var(--paper-cream);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.5;
  resize: none;
  outline: none;
}
.hero-chat-input::placeholder { color: rgba(250, 247, 242, 0.5); }
.hero-chat-row {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid rgba(201, 169, 97, 0.18);
}
.hero-chat-powered {
  font-family: var(--sans);
  font-size: 10.5px; letter-spacing: 1.5px;
  color: var(--gold-faint);
}
.hero-chat-btn {
  padding: 11px 26px;
  background: var(--gold);
  color: var(--green-deep);
  border: none; border-radius:4px;
  font-weight: 700; font-size: 13px;
  letter-spacing: 1px;
  transition: background 0.2s;
}
.hero-chat-btn:hover { background: var(--gold-bright); }
.hero-chips {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 9px;
  max-width: 1180px; margin: 0 auto;
}
.hero-chip {
  padding: 7px 15px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--gold-line);
  border-radius:4px;
  color: var(--paper-cream);
  font-size: 13px;
  transition: all 0.15s;
}
.hero-chip:hover {
  background: rgba(201, 169, 97, 0.18);
  border-color: var(--gold);
}



.hero { position: relative; overflow: hidden; }
.hero-inner { position: relative; z-index: 3; }
.hero-skyline {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 400px;
  z-index: 1;
  pointer-events: none;
  color: rgba(201, 169, 97, 0.6);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 30%);
          mask-image: linear-gradient(to bottom, transparent 0%, #000 30%);
}
.hero-skyline svg { width: 100%; height: 100%; display: block; }
@media (max-width: 640px) {
  .hero-skyline { height: 280px; color: rgba(201, 169, 97, 0.5); }
}

/* ============ FLOOR 2 · RANKINGS ============ */
.rankings-intro {
  font-size: 14px; color: var(--text-mid);
  margin-bottom: 18px;
}
.rankings-intro .tag-trust, .rankings-intro .tag-price, .rankings-intro .tag-spark {
  font-family: var(--sans); font-weight: 700; font-size: 13px;
}
.tag-trust { color: var(--success); }
.tag-price { color: #1A5599; }
.tag-spark { color: var(--gold); }

.rank-tabs {
  display: flex; gap: 10px; flex-wrap: wrap;
  margin-bottom: 22px;
}
.rank-tab {
  padding: 8px 18px;
  border-radius:4px;
  border: 1px solid var(--line);
  background: var(--white);
  font-size: 13px; font-weight: 500;
  color: var(--text-mid);
  cursor: pointer;
  transition: all 0.15s;
}
.rank-tab:hover { border-color: var(--gold); color: var(--green-deep); }
.rank-tab.active {
  background: var(--green-deep);
  border-color: var(--green-deep);
  color: var(--paper-cream);
  font-weight: 600;
}
.rank-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.rank-card {
  background: var(--white);
  border: 1px solid var(--green-line);
  border-radius:4px;
  padding: 18px;
  transition: all 0.2s;
}
.rank-card:hover {
  border-color: var(--gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(13, 51, 32, 0.06);
}
.rc-top {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: 8px;
}
.rc-rank {
  font-family: var(--sans);
  font-size: 20px; font-weight: 800;
  color: var(--gold);
}
.rc-units {
  font-family: var(--sans);
  font-size: 11px; color: var(--text-muted);
  font-weight: 500;
}
.rc-img {
  height: 110px;
  background: var(--green-tint);
  border-radius:4px;
  margin-bottom: 14px;
  display: flex; align-items: center; justify-content: center;
  color: var(--text-muted);
  font-family: var(--sans); font-size: 11px;
  letter-spacing: 0.5px;
}
.rc-name {
  font-size: 15px; font-weight: 700;
  color: var(--green-deep);
  margin-bottom: 4px;
}
.rc-price {
  font-size: 12px; color: var(--text-mid);
  margin-bottom: 12px;
}
.rc-scores { display: flex; gap: 6px; }
.rc-score {
  font-family: var(--sans);
  font-size: 11px; font-weight: 700;
  padding: 3px 8px;
  border-radius:4px;
}
.rc-score.trust { background: rgba(45, 115, 80, 0.12); color: var(--success); }
.rc-score.price { background: rgba(26, 85, 153, 0.10); color: #1A5599; }
.rc-score.spark { background: rgba(201, 169, 97, 0.18); color: #8A6F1F; }
.rc-score.na    { background: var(--bg-warm); color: var(--text-muted); }

.rank-footer {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: 20px;
}
.rank-legend {
  font-family: var(--sans);
  font-size: 11px; color: var(--text-muted);
}
.rank-more {
  font-size: 13px; font-weight: 600;
  color: var(--green-deep);
}
.rank-more:hover { color: var(--gold); }

/* ============ FLOOR 3 · EDITOR'S PICK ============ */
.ep-floor { background: var(--white); }
.ep-carousel { position:relative; }
.ep-track { position:relative; }
.ep-slide { display:none; grid-template-columns:1.1fr 1fr; border:1px solid var(--green-line); border-radius:4px; overflow:hidden; }
.ep-slide.active { display:grid; }
@media(max-width:820px){ .ep-slide.active{ grid-template-columns:1fr; } }
.ep-slide-img { position:relative; min-height:320px; display:flex; align-items:center; justify-content:center; }
.ep-slide-brand-lg { font-family:var(--sans); font-weight:800; font-size:26px; color:rgba(255,255,255,.95); }
.ep-g1{ background:linear-gradient(135deg,#1E5A40,#0D2C1F); }
.ep-g2{ background:linear-gradient(135deg,#2A7354,#1E5A40); }
.ep-g3{ background:linear-gradient(135deg,#C9A227,#8D6E1E); }
.ep-slide-body { padding:38px 42px; display:flex; flex-direction:column; justify-content:center; background:var(--paper-cream); }
.ep-slide-brandline { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.ep-slide-logo { font-family:var(--sans); font-weight:800; font-size:13px; letter-spacing:0.04em; color:#fff; background:var(--green-deep); padding:8px 14px; border-radius:4px; }
.ep-slide-sub { font-family:var(--sans); font-size:10px; letter-spacing:0.14em; color:var(--text-muted); text-transform:uppercase; }
.ep-slide-sub strong { display:block; color:var(--green-deep); font-size:12px; margin-bottom:2px; }
.ep-slide-headline { font-family:var(--sans); font-weight:700; font-size:36px; line-height:1.1; color:var(--green-deep); margin:0 0 12px; }
.ep-slide-headline em { color:var(--gold); }
.ep-slide-desc { font-size:14px; line-height:1.6; color:var(--text-mid); margin:0 0 22px; }
.ep-slide-specs { display:flex; gap:28px; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:24px; }
.ep-spec-l { font-family:var(--sans); font-size:9px; letter-spacing:0.16em; color:var(--text-muted); text-transform:uppercase; margin-bottom:5px; }
.ep-spec-v { font-family:var(--sans); font-size:19px; font-weight:600; color:var(--green-deep); }
.ep-slide-foot { display:flex; align-items:center; gap:20px; }
.ep-slide-price { font-family:var(--sans); font-size:15px; color:var(--text-mid); }
.ep-nav { position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50%; border:1px solid var(--green-line); background:rgba(255,255,255,.92); color:var(--green-deep); font-size:24px; line-height:1; cursor:pointer; z-index:3; transition:all .15s; }
.ep-nav:hover { background:var(--green-deep); color:#fff; }
.ep-prev{ left:-14px; } .ep-next{ right:-14px; }
@media(max-width:820px){ .ep-prev{ left:6px; } .ep-next{ right:6px; } }
.ep-dots { display:flex; justify-content:center; gap:9px; margin-top:20px; }
.ep-dot { width:8px; height:8px; border-radius:50%; background:var(--green-line); cursor:pointer; transition:all .15s; }
.ep-dot.active { background:var(--gold); width:22px; border-radius:4px; }
.ep-banner { display:grid; grid-template-columns:1.15fr 1fr; border:1px solid var(--green-line); border-radius:4px; overflow:hidden; transition:all .2s; }
.ep-banner:hover { border-color:var(--gold-line); box-shadow:0 8px 30px rgba(13,51,32,.1); }
@media(max-width:820px){ .ep-banner{ grid-template-columns:1fr; } }
.ep-banner-img { position:relative; min-height:300px; display:flex; align-items:center; justify-content:center; font-family:var(--sans); font-size:22px; font-weight:700; color:var(--text-muted); background:linear-gradient(135deg,#EEF1ED,#F7F9F6); }
.ep-banner-body { padding:36px 40px; display:flex; flex-direction:column; justify-content:center; }
.ep-banner-foot { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:22px; padding-top:20px; border-top:1px solid var(--line); }
.ep-banner .ep-name { font-size:34px; margin:2px 0 14px; }
.ep-banner .ep-tag { font-size:15px; line-height:1.6; }
.ep-banner .ep-price { font-size:22px; }
.ep-banner .ep-cta { padding:13px 30px; font-size:14px; }
.ep-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.ep-card {
  background: var(--white);
  border: 1px solid var(--green-line);
  border-radius:4px;
  overflow: hidden;
  position: relative;
  transition: all 0.2s;
}
.ep-card:hover {
  border-color: var(--gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(13, 51, 32, 0.08);
}
.ep-sponsored {
  position: absolute; top: 14px; right: 14px;
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px; font-weight: 600;
  letter-spacing: 0.5px;
  padding: 3px 12px;
  background: rgba(201, 169, 97, 0.95);
  color: var(--green-deep);
  border-radius:4px;
  z-index: 2;
}
.ep-img {
  height: 180px;
  background: var(--green-tint);
  display: flex; align-items: center; justify-content: center;
  color: var(--text-muted);
  font-family: var(--sans); font-size: 12px;
  letter-spacing: 0.5px;
}
.ep-body { padding: 20px 22px 22px; }
.ep-brand {
  font-family: var(--sans);
  font-size: 12px; letter-spacing: 1px;
  color: var(--gold);
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.ep-name {
  font-size: 22px; font-weight: 800;
  color: var(--green-deep);
  letter-spacing: -0.01em;
  margin-bottom: 6px;
}
.ep-tag {
  font-family: var(--sans);
  font-size: 13.5px;
  color: var(--text-mid);
  margin-bottom: 16px;
}
.ep-meta {
  display: flex; justify-content: space-between; align-items: baseline;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.ep-price-label {
  font-family: var(--sans);
  font-size: 11px; letter-spacing: 0.5px;
  color: var(--text-muted);
  font-weight: 500;
  text-transform: uppercase;
}
.ep-price { font-size: 17px; font-weight: 700; color: var(--green-deep); margin-top: 2px; }
.ep-cta {
  padding: 8px 18px;
  background: var(--green-deep);
  color: var(--paper-cream);
  border: none; border-radius:4px;
  font-size: 12px; font-weight: 600;
  letter-spacing: 1px; text-transform: uppercase;
}
.ep-cta:hover { background: var(--gold); color: var(--green-deep); }

/* ============ FLOOR 4 · REVIEWS ============ */
.rv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.rv-card {
  background: var(--white);
  border: 1px solid var(--green-line);
  border-radius:4px;
  padding: 22px 24px;
  transition: all 0.2s;
}
.rv-card:hover { border-color: var(--gold-line); }
.rv-head {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 14px;
}
.rv-avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  overflow: hidden;
  flex: 0 0 40px;
  display: flex; align-items: center; justify-content: center;
}
.rv-avatar svg { width: 100%; height: 100%; display: block; }
.rv-user-line { flex: 1; }
.rv-user {
  font-size: 14px; font-weight: 700;
  color: var(--green-deep);
  display: inline-flex; align-items: center; gap: 8px;
  white-space: nowrap;
}
.rv-verified {
  font-family: var(--sans);
  font-size: 9.5px; letter-spacing: 0.5px;
  padding: 2px 6px;
  background: rgba(45, 115, 80, 0.12);
  color: var(--success);
  border-radius:4px;
  font-weight: 700;
  text-transform: uppercase;
}
.rv-city {
  font-family: var(--sans);
  font-size: 11px; color: var(--text-muted);
  margin-left: 4px;
}
.rv-car {
  font-size: 12.5px; color: var(--text-mid);
  margin-top: 3px;
  white-space: nowrap;
}
.rv-rating { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; flex: 0 0 auto; }
.rv-stars { color: var(--gold); font-size: 11px; letter-spacing: 0.5px; }
.rv-score {
  font-family: var(--sans); font-size: 16px;
  font-weight: 700; color: var(--green-deep);
  order: -1;
}
.rv-facts {
  display: flex; gap: 16px;
  padding: 10px 0;
  border-top: 1px dashed var(--line);
  border-bottom: 1px dashed var(--line);
  margin-bottom: 14px;
  font-family: var(--sans);
  font-size: 11px;
  color: var(--text-mid);
}
.rv-fact-label { color: var(--text-muted); margin-right: 4px; }
.rv-block { margin-bottom: 10px; font-size: 13.5px; line-height: 1.55; color: var(--text-main); }
.rv-block:last-child { margin-bottom: 0; }
.rv-tag {
  display: inline-block;
  font-family: var(--sans);
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.5px;
  padding: 2px 7px;
  border-radius:4px;
  margin-right: 8px;
  vertical-align: 1px;
  text-transform: uppercase;
}
.rv-tag.liked { background: rgba(45, 115, 80, 0.14); color: var(--success); }
.rv-tag.con   { background: rgba(184, 85, 64, 0.14); color: var(--danger); }

.rv-footer {
  display: flex; justify-content: space-between; gap: 24px;
  margin-top: 26px;
}
.rv-footer a {
  font-size: 13px; font-weight: 600;
  color: var(--green-deep);
}
.rv-footer a:hover { color: var(--gold); }


.rv-cta-card {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center;
  background: var(--white);
  border: 1px dashed var(--green-line);
}
.rv-cta-title {
  font-family: var(--serif);
  font-style: italic;
  font-size: 24px;
  color: var(--gold);
  margin-bottom: 10px;
}
.rv-cta-sub {
  font-size: 14px; color: var(--text-mid);
  margin-bottom: 20px;
  max-width: 260px;
}
.rv-cta-btn { flex: 0 0 auto; padding: 11px 26px; }

/* ============ FLOOR 5 · VIDEOS ============ */
.vid-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.vid-card { cursor: pointer; }
.vid-thumb {
  height: 170px;
  background: var(--green-tint);
  border-radius:4px;
  position: relative;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 12px;
  overflow: hidden;
}
.vid-thumb::after {
  content: '';
  position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(135deg, rgba(13,51,32,0.08), rgba(201,169,97,0.04));
}
.vid-play {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: rgba(13, 51, 32, 0.85);
  color: var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px;
  position: relative; z-index: 2;
  transition: transform 0.2s;
}
.vid-card:hover .vid-play { transform: scale(1.1); }
.vid-duration {
  position: absolute; bottom: 8px; right: 10px; z-index: 2;
  font-family: var(--sans);
  font-size: 11px; font-weight: 600;
  padding: 2px 7px;
  background: rgba(13, 51, 32, 0.85);
  color: var(--paper-cream);
  border-radius:4px;
}
.vid-title {
  font-size: 14px; font-weight: 600;
  color: var(--green-deep);
  margin-bottom: 6px;
  line-height: 1.35;
}
.vid-meta {
  display: flex; gap: 10px; align-items: center;
  font-size: 11.5px;
  color: var(--text-mid);
}
.vid-score {
  font-family: var(--sans);
  font-size: 11px; font-weight: 700;
  padding: 2px 7px;
  background: rgba(45, 115, 80, 0.12);
  color: var(--success);
  border-radius:4px;
}

/* ============ FLOOR 6 · DEALERS ============ */
.dl-floor { background: var(--white); }
.dl-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.dl-card {
  background: var(--white);
  border: 1px solid var(--green-line);
  border-radius:4px;
  padding: 22px 24px;
  display: flex; gap: 20px;
  transition: all 0.2s;
}
.dl-card:hover {
  border-color: var(--gold);
  box-shadow: 0 6px 18px rgba(13, 51, 32, 0.06);
}
.dl-logo {
  width: 64px; height: 64px;
  background: var(--green-deep);
  color: var(--gold);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--sans);
  font-size: 22px;
  font-weight: 800;
  flex: 0 0 auto;
}
.dl-body { flex: 1; }
.dl-name {
  font-size: 17px; font-weight: 700;
  color: var(--green-deep);
  margin-bottom: 4px;
}
.dl-brands {
  font-family: var(--sans);
  font-size: 12px;
  color: var(--gold);
  font-weight: 700;
  letter-spacing: 0.3px;
  margin-bottom: 4px;
}
.dl-addr { font-size: 12.5px; color: var(--text-mid); margin-bottom: 14px; }
.dl-actions { display: flex; gap: 10px; }
.dl-btn {
  flex: 1;
  padding: 9px 14px;
  border-radius:4px;
  font-size: 12.5px; font-weight: 600;
  text-align: center;
  border: 1px solid var(--green-deep);
  background: transparent;
  color: var(--green-deep);
  transition: all 0.15s;
}
.dl-btn:hover { background: var(--green-deep); color: var(--paper-cream); }
.dl-btn.primary {
  background: var(--green-deep);
  color: var(--paper-cream);
}
.dl-btn.primary:hover { background: var(--gold); color: var(--green-deep); border-color: var(--gold); }
.dl-btn .icon { font-size: 14px; vertical-align: -2px; margin-right: 4px; }


/* ============ LATEST OFFERS ============ */
.of-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 18px;
}
.of-card {
  background: var(--white);
  border: 1px solid var(--green-line);
  border-radius:4px;
  padding: 20px;
  display: flex; flex-direction: column;
  transition: all 0.2s;
}
.of-card:hover {
  border-color: var(--gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(13, 51, 32, 0.06);
}
.of-head {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 12px;
}
.of-brand {
  font-family: var(--sans);
  font-size: 13px; font-weight: 700;
  letter-spacing: 1px;
  color: var(--gold);
  text-transform: uppercase;
}
.of-badge {
  font-family: var(--sans);
  font-style: italic;
  font-size: 12px;
  padding: 2px 10px;
  background: var(--gold-bg-light);
  color: #8A6F1F;
  border-radius:4px;
}
.of-model {
  font-size: 18px; font-weight: 700;
  color: var(--green-deep);
  margin-bottom: 8px;
}
.of-deal {
  font-size: 13px; line-height: 1.5;
  color: var(--text-main);
  margin-bottom: 14px;
  flex: 1;
}
.of-meta { margin-bottom: 14px; }
.of-price-label {
  font-family: var(--sans);
  font-size: 11px; color: var(--text-muted);
  font-weight: 500;
}
.of-price {
  font-size: 18px; font-weight: 800;
  color: var(--green-deep);
  margin-top: 2px;
}
.of-actions { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.of-btn {
  padding: 10px 14px;
  border-radius:4px;
  font-size: 13px; font-weight: 600;
  text-align: center;
  border: 1px solid var(--green-deep);
  background: transparent;
  color: var(--green-deep);
  transition: all 0.15s;
}
.of-btn:hover { background: var(--green-deep); color: var(--paper-cream); }
.of-btn.primary { background: var(--green-deep); color: var(--paper-cream); }
.of-btn.primary:hover { background: var(--gold); color: var(--green-deep); border-color: var(--gold); }
.of-dealer {
  font-size: 11px; color: var(--text-muted);
  text-align: center;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

/* ============ FLOOR 7 · COMMUNITY ============ */
.nw-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
@media (max-width:900px){ .nw-grid{ grid-template-columns:1fr; gap:32px; } }
.nw-col-head { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:18px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.nw-col-label { font-family:var(--sans); font-size:16px; font-weight:700; color:var(--green-deep); }
.nw-col-sub { font-family:var(--sans); font-size:10px; letter-spacing:0.18em; color:var(--text-muted); margin-top:3px; }
.nw-card { display:flex; gap:14px; align-items:flex-start; background:var(--paper-cream); border:1px solid var(--line); border-radius:4px; padding:14px; margin-bottom:14px; transition:all .15s; }
.nw-card:hover { border-color:var(--gold); box-shadow:0 4px 14px rgba(13,51,32,.08); }
.nw-thumb { flex-shrink:0; width:92px; aspect-ratio:4/3; border-radius:4px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.nw-brand { font-family:var(--sans); font-weight:800; font-size:15px; letter-spacing:0.04em; color:rgba(255,255,255,.95); }
.nw-badge { position:absolute; top:6px; left:6px; font-family:var(--sans); font-size:8px; letter-spacing:0.1em; color:rgba(255,255,255,.95); background:rgba(13,44,31,.5); padding:2px 5px; border-radius:4px; text-transform:uppercase; }
.nw-g1{ background:linear-gradient(135deg,#1E5A40,#0D2C1F); }
.nw-g2{ background:linear-gradient(135deg,#2A7354,#1E5A40); }
.nw-g3{ background:linear-gradient(135deg,#14422E,#37413C); }
.nw-y1{ background:linear-gradient(135deg,#D9B858,#C9A227); }
.nw-y2{ background:linear-gradient(135deg,#C9A227,#1E5A40); }
.nw-y3{ background:linear-gradient(135deg,#8D6E1E,#37413C); }
.nw-body { flex:1; min-width:0; }
.nw-tag { font-family:var(--sans); font-size:9px; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; }
.nw-card h4 { font-family:var(--sans); font-size:14px; font-weight:700; color:var(--text-main); line-height:1.45; margin:0 0 6px; }
.nw-card p { font-size:12px; color:var(--text-mid); line-height:1.55; margin:0 0 8px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.nw-meta { font-family:var(--sans); font-size:10px; color:var(--text-muted); display:flex; gap:7px; }

/* News v2: headline + chip grid */
.nw2-lead { display:grid; grid-template-columns:1.1fr 1.3fr; gap:0; border:1px solid var(--line); border-radius:4px; overflow:hidden; margin-bottom:28px; transition:all .15s; }
.nw2-lead:hover { border-color:var(--gold); box-shadow:0 6px 24px rgba(13,51,32,.1); }
@media(max-width:780px){ .nw2-lead{ grid-template-columns:1fr; } }
.nw2-lead-thumb { position:relative; min-height:240px; display:flex; align-items:center; justify-content:center; }
.nw2-brand-lg { font-family:var(--sans); font-weight:800; font-size:28px; letter-spacing:0.02em; color:rgba(255,255,255,.96); }
.nw2-lead-body { padding:30px 32px; display:flex; flex-direction:column; justify-content:center; background:var(--paper-cream); }
.nw2-lead-eyebrow { font-family:var(--sans); font-size:10px; letter-spacing:0.2em; color:var(--gold); margin-bottom:12px; }
.nw2-lead-body h3 { font-family:var(--sans); font-size:24px; font-weight:800; line-height:1.25; color:var(--green-deep); margin:0 0 12px; letter-spacing:-0.01em; }
.nw2-lead-body p { font-size:14px; line-height:1.6; color:var(--text-mid); margin:0 0 16px; }
.nw2-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media(max-width:1000px){ .nw2-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .nw2-grid{ grid-template-columns:1fr; } }
.nw2-card { border:1px solid var(--line); border-radius:4px; overflow:hidden; background:var(--paper-cream); transition:all .15s; }
.nw2-card:hover { border-color:var(--gold); box-shadow:0 4px 14px rgba(13,51,32,.08); transform:translateY(-2px); }
.nw2-thumb { position:relative; aspect-ratio:16/10; display:flex; align-items:center; justify-content:center; }
.nw2-brand { font-family:var(--sans); font-weight:800; font-size:18px; letter-spacing:0.03em; color:rgba(255,255,255,.95); }
.nw2-chip { position:absolute; top:9px; left:9px; font-family:var(--serif); font-size:8.5px; font-weight:700; letter-spacing:0.1em; padding:3px 7px; border-radius:4px; text-transform:uppercase; color:#fff; }
.c-new{ background:#1E5A40; } .c-promo{ background:#C9A227; } .c-test{ background:#14422E; }
.c-policy{ background:#0D2C1F; } .c-market{ background:#B08A2B; } .c-infra{ background:#37413C; }
.nw2-info { padding:13px 14px 15px; }
.nw2-info h4 { font-family:var(--sans); font-size:13.5px; font-weight:700; line-height:1.4; color:var(--text-main); margin:0 0 9px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.nw2-meta { font-family:var(--sans); font-size:9.5px; color:var(--text-muted); letter-spacing:0.03em; }

.news-empty {
  display: flex;
  justify-content: center;
  padding: 56px 24px;
  border: 1px dashed rgba(13, 51, 32, 0.18);
  border-radius:4px;
  background: #FAF7F2;
}
.news-empty-line {
  margin: 0;
  font-size: 15px;
  color: #5b6b60;
  text-align: center;
}
.news-empty-line em {
  font-style: normal;
  color: #0d3320;
  font-weight: 600;
}

.cm-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.cm-card {
  background: var(--white);
  border: 1px solid var(--green-line);
  border-radius:4px;
  padding: 22px 18px;
  text-align: center;
  transition: all 0.2s;
}
.cm-card:hover {
  border-color: var(--gold);
  transform: translateY(-2px);
}
.cm-logo {
  width: 56px; height: 56px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: var(--green-deep);
  color: var(--gold-bright);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--sans);
  font-weight: 800;
  font-size: 18px;
  letter-spacing: 1px;
}
.cm-name {
  font-size: 14.5px; font-weight: 700;
  color: var(--green-deep);
  margin-bottom: 6px;
}
.cm-stats {
  font-family: var(--sans);
  font-size: 11.5px;
  color: var(--text-mid);
  margin-bottom: 12px;
}
.cm-tag {
  display: inline-block;
  font-family: var(--sans);
  font-style: italic;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.3px;
  padding: 3px 12px;
  background: var(--gold-bg-light);
  color: #8A6F1F;
  border-radius:4px;
}

/* ============ B2B COMMERCIAL ZONE ============ */
.b2b-zone {
  background: var(--white);
  border-top: 1px solid var(--line);
}
.b2b-snapshot { padding: 12px 5vw 9px; max-width: 1280px; margin: 0 auto; }
.b2b-snapshot-label {
  font-family: var(--sans);
  font-size: 10.5px; letter-spacing: 2.5px;
  color: var(--gold);
  font-weight: 700;
  margin-bottom: 22px;
}
.b2b-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px;
}
.b2b-kpi {
  background: var(--white);
  border: 1px solid var(--green-line);
  border-radius:4px;
  padding: 16px 18px;
}
.b2b-kpi-tag {
  font-family: var(--serif); font-style: italic;
  font-size: 11px; letter-spacing: 0.5px;
  padding: 0;
  background: none;
  color: var(--gold);
  font-weight: 700;
  margin-bottom: 10px;
  display: inline-block;
}
.b2b-kpi-label {
  font-family: var(--sans);
  font-size: 9.5px; letter-spacing: 1.5px;
  color: var(--text-muted);
  font-weight: 700;
  margin-bottom: 6px;
  text-transform: uppercase;
}
.b2b-kpi-num {
  font-size: 28px; font-weight: 800;
  color: var(--green-deep);
  line-height: 1;
  margin-bottom: 4px;
}
.b2b-kpi-num.danger { color: var(--danger); }
.b2b-kpi-unit {
  font-size: 13px; color: var(--text-mid);
  margin-left: 3px;
  font-weight: 500;
}
.b2b-kpi-sub {
  font-size: 11px; color: var(--text-mid);
  margin-top: 6px;
}
.b2b-kpi-trend {
  display: inline-block;
  font-family: var(--sans);
  font-size: 10.5px; font-weight: 600;
  padding: 3px 8px;
  border-radius:4px;
  margin-top: 8px;
}
.b2b-kpi-trend.down { background: rgba(184, 85, 64, 0.12); color: var(--danger); }
.b2b-kpi-trend.up { background: rgba(45, 115, 80, 0.12); color: var(--success); }
.b2b-kpi-trend.neutral { background: var(--bg-warm); color: var(--text-mid); }

.b2b-ranking-link {
  padding: 0 5vw 20px; max-width: 1280px; margin: 0 auto;
}
.b2b-ranking-link a {
  font-family: var(--sans);
  font-size: 12px; letter-spacing: 2px;
  color: var(--gold);
  font-weight: 700;
}
.b2b-ranking-link a:hover { color: var(--green-deep); }

.b2b-cards {
  padding: 0 5vw 40px; max-width: 1280px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 22px;
}
.b2b-card {
  background: var(--white);
  border: 1px solid var(--green-line);
  border-radius:4px;
  padding: 22px 24px;
}
.b2b-card-img {
  padding: 0; overflow: hidden;
  display: flex; align-items: stretch;
}
.b2b-card-media {
  flex: 0 0 38%; align-self: stretch;
  overflow: hidden;
  border-radius:4px;
}
.b2b-card-media img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.b2b-card-img .b2b-card-body {
  flex: 1; min-width: 0;
  padding: 26px 28px;
  display: flex; flex-direction: column; justify-content: center;
}
.b2b-card-tag {
  font-family: var(--serif); font-style: italic;
  font-size: 10px; letter-spacing: 2px;
  padding: 4px 10px;
  background: var(--bg-light);
  color: var(--gold);
  border-radius:4px;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 16px;
}
.b2b-card-title {
  font-size: 22px; font-weight: 800;
  color: var(--green-deep);
  margin-bottom: 10px;
  letter-spacing: -0.01em;
}
.b2b-card-desc {
  font-size: 14px; color: var(--text-mid);
  margin-bottom: 20px;
}
.b2b-card-cta {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 22px;
  border: 1px solid var(--green-deep);
  background: var(--green-deep);
  color: var(--paper-cream);
  border-radius:4px;
  font-size: 13px; font-weight: 600;
  letter-spacing: 0.5px;
}
.b2b-card-cta.outline {
  background: transparent;
  color: var(--green-deep);
}
.b2b-card-cta:hover { background: var(--gold); border-color: var(--gold); color: var(--green-deep); }

/* ============ FOOTER ============ */
.footer-strip {
  background: var(--green-deep);
}
.footer-strip-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 22px 5vw;
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
  color: var(--paper-cream);
}
.footer-brand {
  font-size: 20px; font-weight: 800;
  letter-spacing: -0.02em;
}
.footer-brand em {
  font-family: var(--serif);
  font-style: italic; font-weight: 600;
  color: var(--gold);
}
.footer-brief {
  font-family: var(--mono);
  font-size: 12px; letter-spacing: 1.5px;
  color: var(--gold);
  font-weight: 700;
}
.footer-brief-text {
  color: rgba(250, 247, 242, 0.85);
  font-family: var(--mono);
  font-size: 12px; letter-spacing: 1.5px;
  font-weight: 500;
  margin-left: 8px;
}
.footer-subscribe { display: flex; gap: 6px; }
.footer-subscribe input {
  padding: 9px 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--gold-line);
  color: var(--paper-cream);
  font-size: 13px;
  border-radius:4px;
  width: 220px;
  outline: none;
}
.footer-subscribe input::placeholder { color: rgba(250, 247, 242, 0.4); }
.footer-subscribe input:focus { border-color: var(--gold); }
.footer-subscribe button {
  padding: 9px 20px;
  background: var(--gold);
  color: var(--green-deep);
  border: none; border-radius:4px;
  font-weight: 700; font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.footer-subscribe button:hover { background: var(--gold-bright); }

.footer-legal {
  background: var(--green-deep);
  border-top: 1px solid rgba(201, 169, 97, 0.15);
}
.footer-legal-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 18px 5vw;
  display: flex; justify-content: space-between;
  font-family: var(--sans);
  font-size: 10.5px; letter-spacing: 1.5px;
  color: var(--gold-faint);
}
.footer-legal-links { display: flex; gap: 28px; }
.footer-legal-inner a { color: var(--gold); text-decoration: underline; }
.footer-legal-links a { text-decoration: none; }
.footer-legal-links a:hover { text-decoration: underline; }

.footer-legal a:hover { color: var(--gold-bright); }


/* ============ MOBILE HAMBURGER ============ */
.nav-hamburger {
  display: none;
  background: none; border: none;
  font-size: 24px; color: var(--green-deep);
  line-height: 1; padding: 4px 8px;
}
.mobile-menu {
  display: none;
  flex-direction: column;
  background: var(--white);
  border-bottom: 1px solid var(--line);
  padding: 8px 5vw 16px;
}
.mobile-menu.open { display: flex; }
.mobile-menu a {
  padding: 13px 4px;
  font-size: 16px;
  color: var(--text-main);
  border-bottom: 1px solid var(--line);
}
.mobile-menu a:last-child { border-bottom: none; }
.mobile-menu a:hover { color: var(--green-deep); }


/* ============ FOOTER SUBSCRIBE ============ */
.footer-subscribe { flex-direction: column; gap: 8px; flex: 1; max-width: 520px; }
.footer-sub-label {
  font-family: var(--mono);
  font-size: 12px; letter-spacing: 2px;
  color: var(--gold);
  font-weight: 700;
}
.footer-sub-row { display: flex; gap: 8px; }
.footer-sub-row input {
  flex: 1; min-width: 0;
  padding: 11px 16px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--gold-line);
  color: var(--paper-cream);
  font-size: 14px;
  border-radius:4px;
  outline: none;
}
.footer-sub-row input::placeholder { color: rgba(250, 247, 242, 0.4); }
.footer-sub-row input:focus { border-color: var(--gold); }
.footer-sub-row button {
  padding: 11px 24px;
  background: var(--gold);
  color: var(--green-deep);
  border: none; border-radius:4px;
  font-weight: 700; font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  white-space: nowrap;
}
.footer-sub-row button:hover { background: var(--gold-bright); }


/* ============ VIDEO MODAL ============ */



/* ============ FULL CITY PANEL ============ */
.citypanel { display: none; position: fixed; inset: 0; z-index: 1100; }
.citypanel.open { display: block; }
.citypanel-mask { position: absolute; inset: 0; background: rgba(13,51,32,0.55); }
.citypanel-box {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: min(920px, 92vw); max-height: 86vh;
  background: var(--white); border-radius:4px;
  display: flex; flex-direction: column; overflow: hidden;
  box-shadow: 0 20px 60px rgba(13,51,32,0.25);
}
.citypanel-head {
  display: flex; align-items: center; gap: 14px;
  padding: 20px 24px; border-bottom: 1px solid var(--line);
  position: relative;
}
.citypanel-title { font-size: 18px; font-weight: 700; color: var(--green-deep); }
.citypanel-note { font-family: var(--mono); font-size: 11px; letter-spacing: 0.5px; color: var(--text-muted); }
.citypanel-close {
  position: absolute; top: 16px; right: 18px;
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--bg-warm); border: none; color: var(--text-mid); font-size: 14px;
}
.citypanel-close:hover { background: var(--green-deep); color: var(--paper-cream); }
.citypanel-body { display: flex; min-height: 0; flex: 1; }
.citypanel-tabs {
  flex: 0 0 200px; border-right: 1px solid var(--line);
  padding: 12px; display: flex; flex-direction: column; gap: 4px;
  overflow-y: auto;
}
.citypanel-tab {
  text-align: left; padding: 12px 14px; border: none; background: transparent;
  border-radius:4px; font-size: 14px; font-weight: 500; color: var(--text-mid);
  display: flex; justify-content: space-between; align-items: center;
}
.citypanel-tab:hover { background: var(--bg-warm); color: var(--green-deep); }
.citypanel-tab.active { background: var(--green-deep); color: var(--paper-cream); font-weight: 600; }
.citypanel-tab-n { font-family: var(--mono); font-size: 11px; opacity: 0.7; }
.citypanel-grid {
  flex: 1; padding: 18px 22px; overflow-y: auto;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 24px;
  align-content: start;
}
.citypanel-country {}
.citypanel-cname {
  font-size: 13px; font-weight: 700; color: var(--green-deep);
  margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px solid var(--line);
  display: flex; align-items: center; gap: 6px;
}
.citypanel-livedot { color: var(--success); font-size: 9px; }
.citypanel-cities { display: flex; flex-wrap: wrap; gap: 6px; }
.citypanel-city {
  font-size: 12.5px; padding: 4px 10px; border-radius:4px;
}
.citypanel-city.live {
  background: rgba(45,115,80,0.12); color: var(--success); font-weight: 600;
}
.citypanel-city.live:hover { background: var(--success); color: var(--white); }
.citypanel-city.soon { background: var(--bg-warm); color: var(--text-muted); cursor: default; }
@media (max-width: 640px) {
  /* 面板全屏化，最大利用小屏空间 */
  .citypanel-box {
    width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh;
    top: 0; left: 0; transform: none; border-radius: 0;
  }
  .citypanel-head { flex-wrap: wrap; gap: 2px; padding: 16px 18px 14px; padding-right: 52px; }
  .citypanel-title { font-size: 16px; }
  .citypanel-note { font-size: 10px; letter-spacing: 0.3px; }
  .citypanel-close { top: 14px; right: 14px; }
  .citypanel-body { flex-direction: column; min-height: 0; }
  /* tab 横向滚动条 */
  .citypanel-tabs {
    flex: none; flex-direction: row; gap: 6px;
    border-right: none; border-bottom: 1px solid var(--line);
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    padding: 10px 14px;
  }
  .citypanel-tab { white-space: nowrap; padding: 9px 14px; font-size: 13px; flex: 0 0 auto; }
  .citypanel-tab-n { display: none; }  /* 小屏隐藏数字角标省空间 */
  /* 国家两列改单列，城市胶囊更大易点 */
  .citypanel-grid { grid-template-columns: 1fr; gap: 16px; padding: 16px 18px 32px; }
  .citypanel-cname { font-size: 14px; }
  .citypanel-city { font-size: 13px; padding: 6px 13px; }
}

/* ============ RESPONSIVE ============ */
@media (max-width: 1000px) {
  .nav-main { gap: 18px; }
  .rank-grid, .vid-grid, .cm-grid, .of-grid { grid-template-columns: repeat(2, 1fr); }
  .rv-grid { grid-template-columns: 1fr; }
  .ep-grid { grid-template-columns: 1fr; }
  .dl-grid, .b2b-cards { grid-template-columns: 1fr; }
  .b2b-kpi-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .site-header-inner { gap: 12px; padding: 12px 4vw; }
  .nav-main { display: none; }
  .lang-toggle { display: none; }
  .nav-hamburger { display: block; }
  .hero { padding: 36px 5vw 44px; }
  .hero-title { font-size: 26px; letter-spacing: -0.02em; }
  .hero-chat-row { flex-direction: column; gap: 10px; align-items: stretch; }
  .hero-chat-btn { width: 100%; }
  .hero-chips { gap: 7px; }
  .hero-chip { font-size: 12px; padding: 6px 12px; }
  .hero-search { flex-direction: column; }
  .floor { padding: 14px 5vw; }
  .rank-grid, .vid-grid, .cm-grid, .b2b-kpi-grid, .of-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .rv-grid { grid-template-columns: 1fr; }
  .footer-strip-inner { flex-direction: column; align-items: stretch; gap: 16px; padding: 22px 5vw; }
  .footer-brief, .footer-brief-text { font-family: var(--mono); letter-spacing: 0.5px; word-break: normal; overflow-wrap: normal; white-space: normal; }
  .footer-brief-text { display: block; margin-left: 0; margin-top: 4px; }
  .footer-subscribe { flex-direction: row; }
  .footer-subscribe input { width: auto; flex: 1; min-width: 0; }
  .footer-legal-inner { flex-direction: column; gap: 12px; padding: 16px 5vw; }
  .footer-legal-links { flex-wrap: wrap; gap: 16px; }
}

/* ═══ Ask CarIX answer ═══ */
.carix-answer{max-width:calc(1280px - 10vw);width:100%;margin:0 auto 14px;text-align:left;}
.carix-answer.loading{opacity:.7;}
.cx-thinking{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--gold);padding:14px 4px;}
.cx-text{font-size:15px;line-height:1.6;color:var(--paper-cream);margin-bottom:16px;padding:0 2px;}
.cx-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:16px;}
.cx-card{background:rgba(255,255,255,.06);border:1px solid var(--gold-line);border-radius:4px;padding:14px 16px;cursor:pointer;transition:border-color .15s,transform .1s;text-align:left;}
.cx-card:hover{border-color:var(--gold);transform:translateY(-2px);}
.cx-card-brand{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}
.cx-card-name{font-size:16px;font-weight:700;color:var(--paper-cream);margin-bottom:6px;}
.cx-card-meta{font-size:11px;color:rgba(250,247,242,.6);margin-bottom:8px;}
.cx-card-reason{font-size:13px;line-height:1.45;color:rgba(250,247,242,.85);}
.cx-card-cta{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--gold);margin-top:10px;text-transform:uppercase;}
.cx-followups{display:flex;flex-wrap:wrap;gap:8px;}
.cx-fu{font-size:12px;color:var(--paper-cream);background:rgba(255,255,255,.05);border:1px solid var(--gold-line);border-radius:4px;padding:7px 14px;cursor:pointer;transition:background .15s;}
.cx-fu:hover{background:rgba(201,169,97,.16);}
.cx-err{font-size:13px;color:#e8a598;padding:12px 4px;}

/* ═══ Best Sellers (sales) cards ═══ */
.rank-card-sales{cursor:default;}
.rank-card-sales:hover{border-color:var(--green-line);transform:none;box-shadow:none;}
.rank-card-sales .rc-brand{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-top:4px;}

/* sales card image */
.rank-card-sales .rc-img{padding:0;overflow:hidden;}
.rank-card-sales .rc-img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:4px;}
.rank-card-sales .rc-img.rc-img-empty{display:flex;align-items:center;justify-content:center;}

/* Editor's Pick — dynamic image */
.ep-slide-img{position:relative;overflow:hidden;}
.ep-slide-img img{width:100%;height:100%;object-fit:cover;display:block;}
.ep-slide-img .ep-sponsored{position:absolute;top:12px;right:12px;z-index:2;}
.ep-logo-img{height:18px;width:auto;vertical-align:middle;object-fit:contain;}


/* ═══ Editor's Pick — HERO card (16:9 image + overlay text) ═══ */
.ep-slide{ display:none !important; position:relative; border:1px solid var(--green-line); border-radius:4px; overflow:hidden; aspect-ratio:16/9; width:100%; }
.ep-slide.active{ display:block !important; }
.ep-slide-img{ position:absolute; inset:0; width:100%; height:100%; min-height:0; }
.ep-slide-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
/* 底部渐变遮罩 */
.ep-slide-img::after{ content:''; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(8,28,18,.92) 0%, rgba(8,28,18,.72) 28%, rgba(8,28,18,.28) 52%, rgba(8,28,18,0) 72%); z-index:1; pointer-events:none; }
.ep-slide .ep-sponsored{ position:absolute; top:16px; right:16px; z-index:3; }
/* 文字浮层 */
.ep-slide-body{ position:absolute; left:0; right:0; top:0; z-index:2; padding:32px 38px; background:none; display:block; }
.ep-slide-brandline{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.ep-slide-logo{ display:inline-flex; align-items:center; }
.ep-slide-logo .ep-logo-img{ height:22px; filter:brightness(0) invert(1); }
.ep-slide-sub{ font-family:var(--sans); font-size:10px; letter-spacing:.14em; color:rgba(255,255,255,.7); text-transform:uppercase; }
.ep-slide-sub strong{ display:block; color:#fff; font-size:13px; margin-bottom:1px; }
.ep-slide-headline{ font-family:var(--sans); font-weight:700; font-size:32px; line-height:1.12; color:#fff; margin:0 0 16px; max-width:80%; }
.ep-slide-headline em{ color:var(--gold); font-style:normal; }
.ep-slide-desc{ display:none; }
.ep-slide-specs{ display:flex; gap:32px; padding:0 0 18px; border:none; margin:0; }
.ep-spec-l{ font-family:var(--sans); font-size:9px; letter-spacing:.16em; color:rgba(255,255,255,.6); text-transform:uppercase; margin-bottom:4px; }
.ep-spec-v{ font-family:var(--sans); font-size:18px; font-weight:600; color:#fff; }
.ep-slide-foot{ display:flex; align-items:center; gap:18px; }
.ep-slide-price{ font-family:var(--sans); font-size:15px; color:rgba(255,255,255,.9); }
.ep-cta{ background:#fff; color:var(--green-deep); border:none; padding:12px 26px; border-radius:4px; font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.02em; cursor:pointer; transition:all .15s; }
.ep-cta:hover{ background:var(--gold); color:var(--green-deep); }
@media(max-width:640px){
  .ep-slide-headline{ font-size:22px; max-width:100%; }
  .ep-slide-body{ padding:22px 20px; }
  .ep-slide-specs{ gap:20px; }
  .ep-spec-v{ font-size:15px; }
}

/* ═══════════════════════════════════════════════════════════
   VIDEO MODAL + COMMENTS + LEAD CAPTURE (ported from videos.html)
   ═══════════════════════════════════════════════════════════ */
.modal-overlay { display: none; position: fixed; inset: 0; background: rgba(10, 14, 12, 0.85); z-index: 200; align-items: center; justify-content: center; padding: 24px; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.modal-overlay.active { display: flex; }
.modal { background: var(--paper); border-radius:var(--r-lg); max-width: 960px; width: 100%; max-height: 92vh; overflow-y: auto; position: relative; animation: modalIn 0.25s ease; }
@keyframes modalIn { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: scale(1); } }
.modal-close { position: absolute; top: 14px; right: 14px; background: rgba(255,255,255,0.95); border: none; width: 38px; height: 38px; border-radius: 50%; font-size: 22px; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 10; color: var(--ink-700); transition: all 0.15s; box-shadow: var(--shadow-sm); }
.modal-close:hover { background: var(--paper); transform: scale(1.05); }
.modal-video-wrap { position: relative; aspect-ratio: 16 / 9; background: #000; }
.modal-video-wrap iframe { width: 100%; height: 100%; border: 0; display: block; }
.modal-info { padding: 26px 32px 30px; }
.modal-title { font-family: var(--font-display); font-size: 26px; font-weight: 700; color: var(--forest-800); line-height: 1.2; letter-spacing: -0.01em; margin-bottom: 12px; }
.modal-meta { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.02em; color: var(--ink-500); margin-bottom: 20px; display: flex; gap: 14px; flex-wrap: wrap; }
.modal-meta .channel { color: var(--gold-700); font-weight: 700; }
.modal-description { font-family: var(--font-serif); font-size: 15px; line-height: 1.65; color: var(--ink-700); margin-bottom: 22px; max-height: 200px; overflow-y: auto; white-space: pre-wrap; }
.modal-cta { display: flex; gap: 12px; flex-wrap: wrap; }
.modal-quote-btn { background: var(--forest-800); color: var(--paper); padding: 12px 22px; border: none; border-radius:var(--r-sm); font-family: var(--font-body); font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; transition: all 0.15s; }
.modal-quote-btn:hover { background: var(--forest-700); transform: translateY(-1px); }
@media (max-width: 700px) { .modal-info { padding: 20px 22px 26px; } .modal-title { font-size: 21px; } .modal-cta { flex-direction: column; } .modal-quote-btn { justify-content: center; } }
.video-comments-section { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--ink-100); }
.vc-header { margin-bottom: 16px; }
.vc-title { font-family: var(--font-display); font-size: 16px; font-weight: 600; color: var(--forest-800); margin: 0; letter-spacing: 0.01em; }
.vc-count { display: inline-block; margin-left: 6px; padding: 2px 9px; background: var(--soft); border-radius: 999px; font-size: 12px; font-weight: 500; color: var(--ink-600); font-family: var(--font-mono); }
.vc-form { margin-bottom: 22px; }
.vc-input { width: 100%; min-height: 70px; padding: 11px 14px; border: 1px solid var(--ink-200); border-radius:var(--r-sm); font-family: var(--font-body); font-size: 14px; line-height: 1.5; color: var(--ink-800); background: var(--paper); resize: vertical; box-sizing: border-box; transition: border-color 0.2s; }
.vc-input:focus { outline: none; border-color: var(--gold-500); }
.vc-honey { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.vc-form-row { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; }
.vc-counter { font-family: var(--font-mono); font-size: 12px; color: var(--ink-500); }
.vc-submit-btn { padding: 8px 18px; background: var(--forest-800); color: var(--paper); border: none; border-radius:var(--r-sm); font-family: var(--font-body); font-size: 13px; font-weight: 600; cursor: pointer; transition: background 0.2s; }
.vc-submit-btn:hover { background: #0D2C1F; }
.vc-submit-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.vc-msg { margin-top: 8px; font-size: 13px; font-family: var(--font-mono); min-height: 18px; }
.vc-msg.error { color: #B0413E; }
.vc-msg.success { color: var(--forest-700); }
.vc-list { display: flex; flex-direction: column; gap: 14px; }
.vc-empty { padding: 24px 8px; text-align: center; color: var(--ink-500); font-size: 13px; font-family: var(--font-mono); }
.vc-item { padding: 12px 14px; background: var(--soft); border-radius:var(--r-sm); border-left: 3px solid var(--ink-100); }
.vc-item-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; }
.vc-item-name { font-family: var(--font-mono); font-size: 12px; font-weight: 600; color: var(--forest-800); letter-spacing: 0.02em; }
.vc-item-time { font-family: var(--font-mono); font-size: 11px; color: var(--ink-500); }
.vc-item-body { font-size: 14px; line-height: 1.55; color: var(--ink-800); word-break: break-word; white-space: pre-wrap; }
.lead-modal-card { max-width: 520px; width: 100%; background: #FFFFFF; border-radius:4px; padding: 36px 36px 32px; position: relative; font-family: var(--font-body); }
.lead-modal-kicker { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-600); margin-bottom: 8px; }
.lead-modal-title { font-family: var(--font-display); font-weight: 500; font-size: 24px; line-height: 1.3; color: var(--forest-900); margin-bottom: 6px; letter-spacing: -0.01em; }
.lead-modal-title em { font-style: italic; color: var(--gold-600); font-weight: 500; }
.lead-modal-sub { font-size: 13px; line-height: 1.6; color: var(--ink-500); margin-bottom: 22px; }
.lead-modal-context { font-size: 12px; color: var(--ink-500); padding: 10px 14px; margin-bottom: 18px; background: var(--soft); border-radius:4px; border-left: 3px solid var(--gold-500); }
.lead-modal-context strong { color: var(--forest-800); }
.lead-form-group { margin-bottom: 14px; }
.lead-form-label { display: block; font-size: 11px; font-weight: 600; color: var(--ink-700); margin-bottom: 6px; letter-spacing: 0.04em; text-transform: uppercase; }
.lead-form-input { width: 100%; padding: 11px 14px; font-size: 14px; font-family: var(--font-body); color: var(--ink-900); background: #FFFFFF; border: 1px solid var(--ink-200); border-radius:4px; outline: none; transition: border-color 0.2s; box-sizing: border-box; }
.lead-form-input:focus { border-color: var(--gold-500); box-shadow: 0 0 0 3px rgba(201,162,39,0.1); }
.lead-form-input:disabled { opacity: 0.5; background: var(--soft); }
.lead-form-input.error { border-color: #E89580; }
.lead-form-hint { font-size: 11px; color: var(--ink-500); margin-top: 4px; }
.lead-form-radios { display: flex; gap: 8px; flex-wrap: wrap; }
.lead-form-radio { flex: 1; min-width: 88px; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 12px; font-size: 12px; cursor: pointer; background: #FFFFFF; border: 1px solid var(--ink-200); border-radius:4px; transition: all 0.15s; user-select: none; }
.lead-form-radio:hover { border-color: var(--gold-500); }
.lead-form-radio input[type="radio"] { accent-color: var(--forest-700); margin: 0; }
.lead-form-radio.selected { background: var(--forest-900); color: var(--cream-100); border-color: var(--forest-900); }
.lead-form-radio.selected input[type="radio"] { accent-color: var(--gold-400); }
.lead-form-actions { display: flex; gap: 10px; margin-top: 22px; }
.lead-btn-submit { flex: 1; padding: 13px 22px; font-size: 14px; font-weight: 600; background: var(--gold-500); color: var(--forest-900); border: none; border-radius:4px; cursor: pointer; transition: background 0.15s; font-family: var(--font-body); letter-spacing: 0.02em; }
.lead-btn-submit:hover:not(:disabled) { background: var(--gold-400); }
.lead-btn-submit:disabled { opacity: 0.5; cursor: wait; }
.lead-btn-cancel { padding: 13px 18px; font-size: 14px; background: transparent; color: var(--ink-500); border: 1px solid var(--ink-200); border-radius:4px; cursor: pointer; transition: all 0.15s; font-family: var(--font-body); }
.lead-btn-cancel:hover { background: var(--soft); }
.lead-form-msg { font-size: 12px; line-height: 1.5; margin-top: 14px; padding: 0 4px; min-height: 18px; color: var(--ink-500); transition: color 0.2s; }
.lead-form-msg.success { color: #2A7354; font-weight: 500; }
.lead-form-msg.error { color: #C45A3F; }
.lead-form-msg.info { color: var(--gold-600); }
.lead-modal-success { text-align: center; padding: 16px 0; }
.lead-modal-success .icon { font-size: 48px; color: var(--forest-700); margin-bottom: 12px; line-height: 1; }
.lead-modal-success h3 { font-family: var(--font-display); font-weight: 500; font-size: 22px; color: var(--forest-900); margin-bottom: 8px; }
.lead-modal-success p { font-size: 14px; color: var(--ink-700); line-height: 1.6; }
.lead-phone-row { display: flex !important; gap: 8px; flex-direction: row !important; flex-wrap: nowrap; }
.lead-phone-cc { flex: 0 0 110px !important; width: 110px !important; min-width: 110px; padding-right: 26px !important; background-repeat: no-repeat; background-position: right 10px center; appearance: none; -webkit-appearance: none; -moz-appearance: none; cursor: pointer; font-size: 14px; }
.lead-phone-cc:focus { border-color: var(--gold-500); }
.lead-phone-num { flex: 1 1 auto !important; width: auto !important; min-width: 0; }
@media (max-width: 480px) { .lead-phone-cc { flex: 0 0 100px !important; width: 100px !important; min-width: 100px; font-size: 13px; } }
.lead-honey { position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
@media (max-width: 600px) { .lead-modal-card { padding: 28px 20px 24px; max-width: 95vw; } .lead-modal-title { font-size: 20px; } .lead-form-actions { flex-direction: column-reverse; } .lead-btn-cancel { padding: 11px 18px; } }
#lead-modal { z-index: 300; }

/* Offers — brand logo (统一容器:固定高度,logo 居中限高限宽,不同比例视觉对齐) */
.of-brand { height: 26px; display: flex; align-items: center; }
.of-brand img { max-height: 20px; max-width: 92px; width: auto; height: auto; object-fit: contain; display: block; }

/* Owners' Clubs — distributed layout */
.cm-card { position: relative; }
.cm-logo img { width: 32px; height: 32px; object-fit: contain; filter: brightness(0) invert(1); }
.cm-region { font-family: var(--sans); font-size: 11px; color: var(--text-muted); margin-bottom: 16px; }
.cm-divider { height: 1px; background: var(--line); margin: 0 0 14px; }
.cm-foot { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 14px; text-align: left; }
.cm-foot-right { text-align: right; }
.cm-foot-label { display: block; font-family: var(--mono); font-size: 8.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); margin-bottom: 3px; }
.cm-foot-val { font-family: var(--sans); font-size: 13px; font-weight: 600; color: var(--green-deep); }
.cm-meetups { font-family: var(--sans); font-size: 11px; color: var(--text-muted); text-align: center; }
.cm-tag { position: absolute; top: 14px; right: 14px; margin: 0; }

/* Local News — real images */
.nw2-lead-thumb, .nw2-thumb { overflow: hidden; }
.nw2-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; z-index: 0; }
.nw2-lead-thumb .nw2-chip, .nw2-thumb .nw2-chip { position: absolute; top: 12px; left: 12px; z-index: 2; }

/* B2B — report card with cover */


/* B2B img card — mobile stack */
@media (max-width: 560px) {
  .b2b-card-img { flex-direction: column; }
  .b2b-card-media { flex: none; height: 180px; }
  .b2b-card-img .b2b-card-body { padding: 20px 22px; }
}

/* Offers — feature card (large, image on top) */
.of-card-feature { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.of-feature-media { width: 100%; aspect-ratio: 1400/475; overflow: hidden; }
.of-feature-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.of-card-feature .of-feature-body { padding: 20px 22px; display: flex; flex-direction: column; flex: 1; }
.of-card-feature .of-model { font-size: 21px; }
@media (max-width: 900px) {
  .of-grid { grid-template-columns: 1fr 1fr; }
  .of-card-feature { grid-column: 1 / -1; }
  .of-feature-media { aspect-ratio: 1400/400; }
}
@media (max-width: 560px) {
  .of-grid { grid-template-columns: 1fr; }
  .of-card-feature { grid-column: auto; }
}

/* Offers — small card with top image */
.of-card-img { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.of-sm-media { width: 100%; aspect-ratio: 16/11; overflow: hidden; }
.of-sm-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.of-card-img .of-sm-body { padding: 18px 20px; display: flex; flex-direction: column; flex: 1; }
.of-price-unit { font-size: 14px; font-weight: 600; color: var(--text-mid); }

/* Owners' Clubs v2 — image card (theme + brand) */
.cm2-card { background: var(--white); border: 1px solid var(--green-line); border-radius:4px; overflow: hidden; display: flex; flex-direction: column; transition: all 0.2s; }
.cm2-card:hover { border-color: var(--gold); transform: translateY(-2px); }
.cm2-media { position: relative; width: 100%; aspect-ratio: 16/10; overflow: hidden; }
.cm2-media > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cm2-kind { position: absolute; top: 10px; left: 10px; font-family: var(--serif); font-style: italic; font-size: 11px; letter-spacing: 0.02em; font-weight: 600; color: #fff; background: rgba(11,46,32,0.82); padding: 3px 10px; border-radius:4px; }
.cm2-brand { position: absolute; top: 10px; right: 10px; height: 30px; width: auto; max-width: 70px; object-fit: contain; background: #fff; padding: 5px 8px; border-radius:4px; box-shadow: 0 2px 6px rgba(0,0,0,0.15); }
.cm2-body { padding: 14px 16px 16px; display: flex; flex-direction: column; flex: 1; }
.cm2-name { font-family: var(--sans); font-size: 15px; font-weight: 700; color: var(--green-deep); margin-bottom: 2px; }
.cm2-sub { font-family: var(--sans); font-size: 11.5px; color: var(--text-mid); margin-bottom: 8px; }
.cm2-region { font-family: var(--sans); font-size: 10.5px; color: var(--text-muted); margin-bottom: 10px; }
.cm2-foot { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px; }
.cm2-foot-right { text-align: right; }
.cm2-foot-label { display: block; font-family: var(--sans); font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold); font-weight: 700; margin-bottom: 2px; }
.cm2-foot-val { font-family: var(--sans); font-size: 13px; font-weight: 600; color: var(--green-deep); }
.cm2-tag { display: inline-block; align-self: flex-start; margin-top: auto; font-family: var(--serif); font-style: italic; font-size: 12px; font-weight: 600; padding: 3px 12px; background: var(--gold-bg-light); color: #8A6F1F; border-radius:4px; }

.cm2-online { position: relative; padding-left: 14px; }
.cm2-online::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 7px; height: 7px; border-radius: 50%; background: #2ec26a; box-shadow: 0 0 0 2px rgba(46,194,106,0.25); }

/* === IMG-ROUND 2026-06-05 round corners (append-only) === */
.of-card, .of-card-feature, .of-card-img { border-radius:4px; overflow:hidden; }
.of-feature-media, .of-sm-media { border-radius:4px; overflow:hidden; }
.of-feature-media img, .of-sm-media img { border-radius:4px; display:block; }
.cm2-card { border-radius:4px !important; overflow:hidden !important; }
.cm2-media { border-radius:4px !important; overflow:hidden !important; }
.cm2-media img, .cm2-media > img { border-radius:4px !important; display:block; }
.nw2-thumb { border-radius:4px; overflow:hidden; }
.nw2-thumb img, .nw2-img { border-radius:4px; }
.ep-slide-img { border-radius:4px 0 0 4px; overflow:hidden; }
.ep-slide-img img { border-radius:4px 0 0 4px; display:block; }
/* === END IMG-ROUND === */

/* === EP-TEXT 2026-06-05 brand eyebrow + model title (append-only) === */
.ep-slide-brandline { margin-bottom:8px !important; }
.ep-slide-sub { font-family:var(--sans); font-size:11px; letter-spacing:.16em; color:var(--gold) !important; text-transform:uppercase; font-weight:700; }
.ep-slide-model { font-family:var(--sans); font-weight:800; font-size:34px; line-height:1.05; color:#fff; margin:0 0 10px; letter-spacing:-0.01em; }
.ep-slide-headline-sub { font-family:var(--sans); font-weight:500; font-size:16px; line-height:1.4; color:rgba(255,255,255,.82); margin:0 0 16px; max-width:80%; }
@media (max-width:760px){ .ep-slide-model{ font-size:26px; } .ep-slide-headline-sub{ font-size:14px; max-width:100%; } }
/* === END EP-TEXT === */

/* === OF-TEXT 2026-06-05 offer brand as gold eyebrow (append-only) === */
.of-brand { font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold) !important; display:inline-flex; align-items:center; }
.of-brand img { display:none !important; }
/* === END OF-TEXT === */

/* === KPI-COMPACT 2026-06-05 tighten b2b-kpi vertical space (append-only) === */
.b2b-kpi { padding-top:6px !important; padding-bottom:10px !important; }
.b2b-kpi-tag { margin-bottom:6px !important; }
.b2b-kpi-label { margin-bottom:4px !important; }
.b2b-kpi-num { margin-bottom:3px !important; }
.b2b-kpi-sub { margin-top:4px !important; }
.b2b-kpi-trend { margin-top:6px !important; }
/* === END KPI-COMPACT === */

/* === FOOTER-TEAM 2026-06-05 city team signatures (append-only) === */
.footer-strip .footer-brand { display:none !important; }
.footer-team { display:flex; flex-wrap:wrap; gap:28px; margin:0 0 4px; }
.footer-team-member { display:flex; flex-direction:column; line-height:1.3; }
.footer-team-member .ft-name { font-family:var(--sans); font-size:13px; font-weight:700; color:#fff; }
.footer-team-member .ft-role { font-family:var(--sans); font-weight:400; font-size:10.5px; letter-spacing:.04em; color:rgba(255,255,255,.6); text-transform:none; margin-top:2px; }
@media (max-width:640px){ .footer-team{ gap:16px; } }
/* === END FOOTER-TEAM === */

/* radius-unify-v1 · sitewide 4px */
img, .rank-card, .of-card, .ep-slide, .nw2-card, .nw2-lead, .b2b-card,
[class*="card"], [class*="thumb"], [class*="media"], [class*="panel"],
button:not([class*="dot"]):not([class*="pill"]), input, textarea, select, video, iframe {
  border-radius: 4px !important;
}
.hero-chip, .rank-tabs > *, .of-badge, .ms2-step, [class*="chip"], [class*="tag"]:not(.b2b-card-tag) { border-radius: 999px !important; }
[class*="avatar"], .ep-dot, .rank-dot, .co-flag, [class*="circle"] { border-radius: 50% !important; }
