/* ============================================================
   INSTANT MONEY JUNK CARS — Brand System
   Black base #0B0B0C · Brand yellow #FFC400 · Accent red #E10600
   Display: Anton · Body: Inter
   Loaded after output.css; overrides win by cascade order.
   ============================================================ */

:root {
  --imj-black: #0b0b0c;
  --imj-ink: #141416;
  --imj-yellow: #ffc400;
  --imj-yellow-deep: #8a5a00;
  --imj-red: #e10600;
  --imj-red-dark: #b00500;
  --imj-paper: #ffffff;
  --imj-smoke: #f6f6f4;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI",
    Roboto, Arial, sans-serif;
  background: #fff;
  color: #1a1a1c;
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: var(--imj-yellow);
  color: #0b0b0c;
}

/* ---------- Display typography ---------- */
h1,
h2,
.font-display,
.display {
  font-family: "Anton", "Arial Narrow", Impact, sans-serif;
  font-weight: 400;
  letter-spacing: 0.015em;
  line-height: 1.04;
}

h3,
h4 {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
}

/* Brand-yellow text: deep amber on light surfaces for readability,
   pure brand yellow on dark surfaces. */
.text-custom {
  color: var(--imj-yellow-deep);
}
section.bg-gray-50:has([data-btn-hamburger]) .text-custom,
footer .text-custom,
.bg-black .text-custom,
[class*="bg-[#0"] .text-custom {
  color: var(--imj-yellow);
}

/* Inline SVG checkmarks that were orange */
[fill="#FFA500"],
[fill="#ffa500"] {
  fill: var(--imj-yellow);
}

/* ---------- Buttons ---------- */
/* Primary (was orange .bg-custom, now brand yellow): black text for contrast */
a.bg-custom,
button.bg-custom,
.bg-custom {
  color: #0b0b0c;
}
a.bg-custom,
button.bg-custom {
  font-weight: 700;
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
  box-shadow: 0 6px 18px rgba(255, 196, 0, 0.35);
}
a.bg-custom:hover,
button.bg-custom:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

/* Phone / call CTAs (were green): brand red */
.bg-green-500 {
  background-color: var(--imj-red) !important;
  border-color: var(--imj-red) !important;
}
a.bg-green-500:hover,
button.bg-green-500:hover {
  background-color: var(--imj-red-dark) !important;
  border-color: var(--imj-red-dark) !important;
}
.hover\:bg-green-400:hover {
  background-color: var(--imj-red-dark) !important;
}

/* ---------- Top utility bar ---------- */
body > section.bg-black:first-child {
  border-bottom: 3px solid var(--imj-yellow);
}
body > section.bg-black:first-child strong {
  letter-spacing: 0.08em;
}

/* ---------- Navbar: black, sticky ---------- */
section.bg-gray-50:has([data-btn-hamburger]) {
  position: sticky;
  top: 0;
  z-index: 60;
}
section.bg-gray-50:has([data-btn-hamburger]) > div.bg-white {
  background-color: var(--imj-black);
}
section.bg-gray-50:has([data-btn-hamburger]) nav a {
  color: #f2f2f2;
  font-weight: 600;
}
section.bg-gray-50:has([data-btn-hamburger]) nav a:hover {
  color: var(--imj-yellow);
}
/* Hamburger button on dark bar */
section.bg-gray-50:has([data-btn-hamburger]) [data-btn-hamburger] {
  background-color: transparent;
  color: #fff;
}
section.bg-gray-50:has([data-btn-hamburger]) [data-btn-hamburger]:hover {
  background-color: rgba(255, 255, 255, 0.08);
  color: var(--imj-yellow);
}

/* Mobile menu panel: dark card */
[data-mobile-menu] > div {
  background-color: #141416 !important;
  border: 1px solid rgba(255, 196, 0, 0.25);
}
[data-mobile-menu] a,
[data-mobile-menu] button {
  color: #f5f5f5 !important;
}
[data-mobile-menu] .divide-gray-200 > * {
  border-color: rgba(255, 255, 255, 0.08) !important;
}

/* "Get my offer" nav button */
.imj-nav-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border-radius: 9999px;
  background: var(--imj-yellow);
  color: #0b0b0c;
  font-weight: 800;
  padding: 0.55rem 1.35rem;
  margin-left: 0.75rem;
  box-shadow: 0 6px 18px rgba(255, 196, 0, 0.35);
  transition: transform 0.15s ease, filter 0.15s ease;
}
.imj-nav-cta:hover {
  filter: brightness(1.07);
  transform: translateY(-1px);
  color: #0b0b0c;
}

/* ---------- Hero (homepage bespoke + inner pages) ---------- */
.imj-hero {
  position: relative;
  overflow: hidden;
  background: #0b0b0c;
  isolation: isolate;
}
.imj-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--imj-hero-img, none) center / cover no-repeat;
}
.imj-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    100deg,
    rgba(5, 5, 6, 0.55) 0%,
    rgba(5, 5, 6, 0.35) 45%,
    rgba(5, 5, 6, 0.10) 100%
  );
}
.imj-hero-rule {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, var(--imj-yellow) 0 55%, var(--imj-red) 55% 100%);
  z-index: 1;
}
.imj-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--imj-yellow);
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-size: 0.78rem;
}
.imj-kicker::before {
  content: "";
  width: 2.2rem;
  height: 3px;
  background: var(--imj-yellow);
  display: inline-block;
}
.imj-hero h1 {
  color: #fff;
  text-transform: uppercase;
  text-wrap: balance;
}
.imj-hero .imj-hero-sub {
  color: #e8e8e8;
}
.imj-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1.4rem;
  margin-top: 1.4rem;
}
.imj-trust span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: #fff;
  font-size: 0.92rem;
  font-weight: 600;
}
.imj-trust svg {
  width: 1.05rem;
  height: 1.05rem;
  fill: var(--imj-yellow);
  flex: none;
}
.imj-stars {
  color: var(--imj-yellow);
  letter-spacing: 0.12em;
  font-size: 0.95rem;
}

/* Quote form card in hero */
.imj-form-card {
  background: #fff;
  border-radius: 1.25rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
  position: relative;
}
.imj-form-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1.5rem;
  right: 1.5rem;
  height: 4px;
  border-radius: 0 0 4px 4px;
  background: var(--imj-yellow);
}

/* Inner-page heroes: lift type, keep their imagery */
section[class*="bg-[url"] {
  position: relative;
}
section[class*="bg-[url"]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(
    90deg,
    var(--imj-yellow) 0 55%,
    var(--imj-red) 55% 100%
  );
  z-index: 5;
}
section[class*="bg-[url"] h1 {
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55);
}

/* ---------- Sections & cards ---------- */
.imj-section {
  padding-top: 4.5rem;
  padding-bottom: 4.5rem;
}
.imj-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 1rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}
.imj-band {
  background: var(--imj-black);
  color: #fff;
}
.imj-band h2,
.imj-band .font-display {
  color: #fff;
}
.imj-check {
  color: var(--imj-yellow);
}

/* ---------- Footer ---------- */
footer.bg-white {
  background-color: var(--imj-black);
}
footer .border-t {
  border-color: rgba(255, 255, 255, 0.1);
}
footer h3 {
  color: var(--imj-yellow) !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.8rem;
}
footer p,
footer li,
footer span {
  color: #b9b9bd;
}
footer a {
  color: #cfcfd3;
}
footer a:hover {
  color: var(--imj-yellow);
}
footer .text-gray-900 {
  color: #e8e8e8 !important;
}
footer .text-gray-600,
footer .text-gray-500 {
  color: #a9a9ae !important;
}

/* ---------- Forms polish ---------- */
form input:focus,
form select:focus,
form textarea:focus {
  outline: none;
}
.imj-form-card input,
.imj-form-card select {
  font-size: 16px; /* prevent iOS zoom */
}

/* ---------- Misc ---------- */
a {
  transition: color 0.15s ease;
}
img {
  user-select: none;
}

/* Form layout utilities added 2026-10-06 (were missing from compiled Tailwind) */
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.inset-y-0 { top: 0; bottom: 0; }
.left-0 { left: 0; }
.pl-4 { padding-left: 1rem; }

/* Cache-busted bg-url selectors added 2026-10-06: CSS was compiled before the -v2 renames, so these classes never matched */
.bg-\[url\(\'images\/core\/auto-recycling-v2\.jpg\'\)\] {
  background-image: url('images/core/auto-recycling-v2.jpg');
}
.bg-\[url\(\'images\/core\/car-removal-v2\.jpg\'\)\] {
  background-image: url('images/core/car-removal-v2.jpg');
}
.bg-\[url\(\'images\/core\/cash-for-junk-cars-v2\.jpg\'\)\] {
  background-image: url('images/core/cash-for-junk-cars-v2.jpg');
}
.bg-\[url\(\'images\/core\/junk-trucks-v2\.jpg\'\)\] {
  background-image: url('images/core/junk-trucks-v2.jpg');
}
.bg-\[url\(\'images\/core\/junk-v2\.jpg\'\)\] {
  background-image: url('images/core/junk-v2.jpg');
}
.bg-\[url\(\'images\/core\/rapid-car-v2\.jpg\'\)\] {
  background-image: url('images/core/rapid-car-v2.jpg');
}
.bg-\[url\(\'images\/gallery\/car-1-v2\.jpg\'\)\] {
  background-image: url('images/gallery/car-1-v2.jpg');
}
.bg-\[url\(\'images\/gallery\/car-2-v2\.jpg\'\)\] {
  background-image: url('images/gallery/car-2-v2.jpg');
}
.bg-\[url\(\'images\/gallery\/car-3-v2\.jpg\'\)\] {
  background-image: url('images/gallery/car-3-v2.jpg');
}
.bg-\[url\(\'images\/gallery\/car-4-v2\.jpg\'\)\] {
  background-image: url('images/gallery/car-4-v2.jpg');
}
.bg-\[url\(\'images\/gallery\/car-5-v2\.jpg\'\)\] {
  background-image: url('images/gallery/car-5-v2.jpg');
}
.bg-\[url\(\'images\/gallery\/car-6-v2\.jpg\'\)\] {
  background-image: url('images/gallery/car-6-v2.jpg');
}
.bg-\[url\(\'images\/gallery\/car-7-v2\.jpg\'\)\] {
  background-image: url('images/gallery/car-7-v2.jpg');
}
.bg-\[url\(\'images\/gallery\/car-8-v2\.jpg\'\)\] {
  background-image: url('images/gallery/car-8-v2.jpg');
}
.bg-\[url\(\'images\/gallery\/car-9-v2\.jpg\'\)\] {
  background-image: url('images/gallery/car-9-v2.jpg');
}
.bg-\[url\(\'images\/gallery\/car-10-v2\.jpg\'\)\] {
  background-image: url('images/gallery/car-10-v2.jpg');
}
.bg-\[url\(\'images\/gallery\/car-11-v2\.jpg\'\)\] {
  background-image: url('images/gallery/car-11-v2.jpg');
}
.bg-\[url\(\'images\/general\/cadillac-v2\.jpg\'\)\] {
  background-image: url('images/general/cadillac-v2.jpg');
}
.bg-\[url\(\'images\/general\/instant-money-junk-cars-v2\.jpg\'\)\] {
  background-image: url('images/general/instant-money-junk-cars-v2.jpg');
}
.bg-\[url\(\'images\/general\/old-car-v2\.jpg\'\)\] {
  background-image: url('images/general/old-car-v2.jpg');
}
.bg-\[url\(\'images\/general\/team-v2\.jpg\'\)\] {
  background-image: url('images/general/team-v2.jpg');
}
.bg-\[url\(\'images\/general\/truck-v2\.jpg\'\)\] {
  background-image: url('images/general/truck-v2.jpg');
}
.bg-\[url\(\'images\/services\/buyers\/buyer-v2\.jpg\'\)\] {
  background-image: url('images/services/buyers/buyer-v2.jpg');
}
.bg-\[url\(\'images\/services\/buyers\/car-v2\.jpg\'\)\] {
  background-image: url('images/services/buyers/car-v2.jpg');
}
.bg-\[url\(\'images\/services\/buyers\/junk-v2\.jpg\'\)\] {
  background-image: url('images/services/buyers/junk-v2.jpg');
}
.bg-\[url\(\'images\/services\/car\/car-v2\.jpg\'\)\] {
  background-image: url('images/services/car/car-v2.jpg');
}
.bg-\[url\(\'images\/services\/car\/towing-v2\.jpg\'\)\] {
  background-image: url('images/services/car/towing-v2.jpg');
}
.bg-\[url\(\'images\/services\/car\/vehicle-v2\.jpg\'\)\] {
  background-image: url('images/services/car/vehicle-v2.jpg');
}
.bg-\[url\(\'images\/services\/junk\/car-v2\.jpg\'\)\] {
  background-image: url('images/services/junk/car-v2.jpg');
}
.bg-\[url\(\'images\/services\/recycling\/car-v2\.jpg\'\)\] {
  background-image: url('images/services/recycling/car-v2.jpg');
}
.bg-\[url\(\'images\/services\/removal\/car-v2\.jpg\'\)\] {
  background-image: url('images/services/removal/car-v2.jpg');
}
.bg-\[url\(\'images\/services\/scrap\/car-v2\.jpg\'\)\] {
  background-image: url('images/services/scrap/car-v2.jpg');
}
.bg-\[url\(\'images\/services\/trucks\/car-v2\.jpg\'\)\] {
  background-image: url('images/services/trucks/car-v2.jpg');
}

/* Anchor offset for sticky header */
section[id], div[id] { scroll-margin-top: 110px; }


/* Missing lg: grid utilities (never compiled into output.css) */
@media (min-width: 1024px) {
  .lg\:grid { display: grid; }
  .lg\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .lg\:col-span-5 { grid-column: span 5 / span 5; }
  .lg\:col-span-6 { grid-column: span 6 / span 6; }
  .lg\:col-span-7 { grid-column: span 7 / span 7; }
  .lg\:gap-10 { gap: 2.5rem; }
  .lg\:gap-8 { gap: 2rem; }
  .lg\:items-center { align-items: center; }
  .lg\:mt-0 { margin-top: 0; }
  .lg\:text-left { text-align: left; }
  .lg\:flex { display: flex; }
}

/* Missing border utilities */
.border-t-4 { border-top-width: 4px; }
.border-\[\#FFC400\] { border-color: #FFC400; }

/* Compact logo cloud utilities */
.max-h-8 { max-height: 2rem; }
@media (min-width: 640px) {
  .sm\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* Compact icon grid utilities */
.max-h-10 { max-height: 2.5rem; }
.gap-x-4 { column-gap: 1rem; }
.mt-1\.5 { margin-top: 0.375rem; }
@media (min-width: 640px) {
  .sm\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .lg\:grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* Yellow CTA box utilities */
.border-t-8 { border-top-width: 8px; }
.tracking-\[0\.2em\] { letter-spacing: 0.2em; }

/* Icon sizing */
.w-10 { width: 2.5rem; }
.h-10 { height: 2.5rem; }

/* Arbitrary red background */
.bg-\[\#E10600\] { background-color: #E10600; }

/* Sticky call button (follows visitor for quick quote calls) */
.imj-sticky-call {
  position: fixed;
  bottom: 1rem;
  left: 1rem;
  right: 1rem;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  background: #E10600;
  color: #fff;
  font-weight: 800;
  font-size: 1.1rem;
  padding: 0.95rem 1rem;
  border-radius: 9999px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  text-decoration: none;
}
.imj-sticky-call:hover { color: #fff; filter: brightness(1.1); }
.imj-sticky-call svg { width: 1.4rem; height: 1.4rem; flex: none; }
@media (min-width: 768px) {
  .imj-sticky-call {
    left: auto;
    right: 1.5rem;
    bottom: 1.5rem;
    padding: 1rem 1.6rem;
  }
}
@media (max-width: 767px) {
  body { padding-bottom: 4.5rem; }
}

/* Services swipe carousel */
.imj-svc-wrap {
  position: relative;
  margin-top: 2rem;
}
.imj-svc-track {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 0.5rem 0.25rem 1.25rem;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.imj-svc-track::-webkit-scrollbar { display: none; }
.imj-svc-track > div {
  flex: 0 0 84%;
  max-width: 22rem;
  scroll-snap-align: start;
}
@media (min-width: 640px) {
  .imj-svc-track > div { flex-basis: 47%; }
}
@media (min-width: 1024px) {
  .imj-svc-track { padding-left: 0.25rem; padding-right: 0.25rem; }
  .imj-svc-track > div { flex-basis: 31.8%; }
}
/* Arrows: hidden on touch/mobile, floating sides on desktop */
.imj-svc-arrow {
  display: none;
}
@media (hover: hover) and (pointer: fine) and (min-width: 1024px) {
  .imj-svc-arrow {
    display: flex;
    position: absolute;
    top: 42%;
    transform: translateY(-50%);
    z-index: 2;
    width: 3rem;
    height: 3rem;
    border-radius: 9999px;
    background: #ffffff;
    color: #0B0B0C;
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 14px rgba(0,0,0,0.15);
    cursor: pointer;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, color 0.2s, transform 0.2s;
  }
  .imj-svc-arrow svg { width: 1.4rem; height: 1.4rem; }
  .imj-svc-arrow:hover { background: #0B0B0C; color: #FFC400; }
  .imj-svc-arrow:active { transform: translateY(-50%) scale(0.94); }
  .imj-svc-prev { left: 0.5rem; }
  .imj-svc-next { right: 0.5rem; }
  .imj-svc-arrow { z-index: 70; }
  .imj-svc-arrow.is-disabled { opacity: 0.3; cursor: default; }
}
/* Dots indicator */
.imj-svc-dots {
  display: flex;
  justify-content: center;
  gap: 0.45rem;
  margin-top: 0.35rem;
}
.imj-svc-dots span {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
  background: #d1d5db;
  transition: background 0.2s, width 0.2s;
}
.imj-svc-dots span.active { background: #0B0B0C; width: 1.4rem; }
.imj-swipe-hint {
  text-align: center;
  color: #6b7280;
  font-size: 0.875rem;
  margin-top: 0.4rem;
}
@media (hover: hover) and (pointer: fine) and (min-width: 1024px) {
  .imj-swipe-hint { display: none; }
}

/* Reviews auto-scrolling marquee */
.imj-rev-marquee {
  overflow: hidden;
  padding: 0.5rem 0 1rem;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.imj-rev-track {
  display: flex;
  gap: 1.25rem;
  width: max-content;
  animation: imj-rev-scroll 60s linear infinite;
}
.imj-rev-marquee:hover .imj-rev-track {
  animation-play-state: paused;
}
.imj-rev-track > div {
  flex: 0 0 84%;
  max-width: 24rem;
}
@media (min-width: 768px) {
  .imj-rev-track > div { flex-basis: 46%; }
}
@media (min-width: 1024px) {
  .imj-rev-track > div { flex-basis: 31.5%; }
}
@keyframes imj-rev-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .imj-rev-track { animation: none; flex-wrap: wrap; width: auto; }
}

/* Pickups ticker */
.imj-ticker {
  background: #0B0B0C;
  border-top: 3px solid #E10600;
  border-bottom: 3px solid #E10600;
  overflow: hidden;
  padding: 0.65rem 0;
  white-space: nowrap;
}
.imj-ticker-track {
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
  padding-right: 1.5rem;
  animation: imj-ticker-scroll 30s linear infinite;
  color: #fff;
  font-weight: 600;
  font-size: 0.95rem;
}
.imj-ticker:hover .imj-ticker-track {
  animation-play-state: paused;
}
.imj-ticker-dot {
  color: #FFC400;
  font-size: 0.8rem;
}
@keyframes imj-ticker-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .imj-ticker-track { animation: none; }
}

/* Modern quote form */
.imj-form {
  background: #ffffff;
  border-radius: 1.25rem;
  padding: 1.25rem;
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
  border: 1px solid #f0f0f0;
}
.imj-form-section {
  background: #fafafa;
  border-radius: 0.9rem;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.imj-form-section-title {
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #0B0B0C;
  margin: 0 0 0.15rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.imj-form-section-title::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
  background: #FFC400;
  flex: none;
}
.imj-input {
  display: block;
  width: 100%;
  border: 1.5px solid #e5e7eb;
  border-radius: 0.75rem;
  padding: 0.8rem 1rem;
  font-size: 1rem;
  background: #fff;
  transition: border-color 0.15s, box-shadow 0.15s;
  -webkit-appearance: none;
  appearance: none;
}
.imj-input:focus {
  outline: none;
  border-color: #0B0B0C;
  box-shadow: 0 0 0 3px rgba(255,196,0,0.35);
}
.imj-input::placeholder { color: #9ca3af; }
/* Yes/No pill toggles */
.imj-pill-group { border: none; padding: 0; margin: 0; }
.imj-pill-group legend {
  font-size: 0.9rem;
  font-weight: 600;
  color: #111827;
  padding: 0;
  margin-bottom: 0.45rem;
}
.imj-pills { display: flex; gap: 0.6rem; }
.imj-pills label { flex: 1; cursor: pointer; }
.imj-pills input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.imj-pills span {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem;
  border-radius: 0.75rem;
  border: 1.5px solid #e5e7eb;
  background: #fff;
  font-weight: 600;
  font-size: 0.95rem;
  color: #374151;
  transition: all 0.15s;
}
.imj-pills input:checked + span {
  background: #0B0B0C;
  border-color: #0B0B0C;
  color: #FFC400;
}
.imj-pills input:focus-visible + span {
  box-shadow: 0 0 0 3px rgba(255,196,0,0.35);
}
.imj-lien-note {
  font-size: 0.85rem;
  font-weight: 500;
  color: #991b1b;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 0.75rem;
  padding: 0.8rem 1rem;
  margin: 0;
}
.imj-lien-note a { text-decoration: underline; font-weight: 700; }
.imj-price-wrap { position: relative; }
.imj-price-wrap > span {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #6b7280;
  font-weight: 600;
  pointer-events: none;
}
.imj-price-wrap .imj-input { padding-left: 2rem; }
.imj-form-actions { padding-top: 0.25rem; }
.imj-submit {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  border-radius: 0.9rem;
  background: #E10600;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 800;
  padding: 1rem;
  border: none;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(225,6,0,0.35);
  transition: transform 0.12s, box-shadow 0.12s, background 0.15s;
}
.imj-submit:hover { background: #c00500; }
.imj-submit:active { transform: scale(0.98); }
.imj-submit:disabled { opacity: 0.6; cursor: wait; }
.imj-trust {
  text-align: center;
  font-size: 0.8rem;
  color: #6b7280;
  margin: 0.6rem 0 0;
  font-weight: 500;
}
/* Inline success */
.imj-form-success {
  text-align: center;
  padding: 1.5rem 1rem;
  background: #f0fdf4;
  border: 2px solid #bbf7d0;
  border-radius: 0.9rem;
}
.imj-form-success::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  background: #16a34a;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 800;
  margin-bottom: 0.75rem;
}
.imj-success-title {
  font-size: 1.3rem;
  font-weight: 800;
  color: #0B0B0C;
  margin: 0 0 0.4rem;
}
.imj-form-success p { color: #374151; margin: 0 0 0.4rem; }
.imj-success-call { font-weight: 700; color: #0B0B0C; margin-top: 0.8rem; }
.imj-form-success .imj-submit { margin-top: 0.6rem; font-size: 1.1rem; }
.imj-form-sent .imj-form-section,
.imj-form-sent .imj-form-actions { display: none; }

/* Prevent horizontal overflow from carousels/tickers */
html, body { overflow-x: clip; }
.imj-svc-wrap { overflow: visible; }

/* ---------- Missing Tailwind spacing utilities (not in compiled output.css) ---------- */
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-8 { margin-bottom: 2rem; }
.mr-2 { margin-right: 0.5rem; }
.p-4 { padding: 1rem; }
.p-0\.5 { padding: 0.125rem; }
.pl-6 { padding-left: 1.5rem; }
.gap-6 { gap: 1.5rem; }
.gap-0\.5 { gap: 0.125rem; }
.space-y-2 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); }

/* ---------- Missing Tailwind color utilities (not in compiled output.css) ---------- */
.text-yellow-400 { color: #facc15; }
.text-yellow-500 { color: #eab308; }
.text-green-700 { color: #15803d; }
.text-red-800 { color: #991b1b; }
.text-gray-800 { color: #1f2937; }
.bg-red-50 { background-color: #fef2f2; }
.bg-yellow-50 { background-color: #fefce8; }
.bg-red-600 { background-color: #dc2626; }
.border-gray-200 { border-color: #e5e7eb; }
.border-red-200 { border-color: #fecaca; }
.border-yellow-400 { border-color: #facc15; }
.border-b-2 { border-bottom-width: 2px; }
.font-black { font-weight: 900; }

/* ---------- More missing Tailwind utilities ---------- */
.aspect-square { aspect-ratio: 1 / 1; }
.inline-block { display: inline-block; }
.list-disc { list-style-type: disc; }
.max-w-none { max-width: none; }
.opacity-80 { opacity: 0.8; }
.overflow-x-auto { overflow-x: auto; }
.text-right { text-align: right; }
.underline { text-decoration-line: underline; }
.uppercase { text-transform: uppercase; }
.w-64 { width: 16rem; }
.z-50 { z-index: 50; }

/* ================= FINALE: pinned scroll experience ================= */
.finale-pin {
  position: relative;
  height: 300vh;
  background: #070d1f;
}
.finale-stage {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  background: #070d1f;
}
#finale-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.finale-horizon {
  position: absolute;
  left: -10%;
  right: -10%;
  bottom: -12%;
  height: 46%;
  background: radial-gradient(ellipse 60% 90% at 50% 110%, rgba(255,196,0,0.55) 0%, rgba(255,150,0,0.22) 45%, rgba(255,196,0,0) 75%);
  transform: translateY(105%);
  pointer-events: none;
}
.finale-horizon::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, #ffc400 20%, #fff3c4 50%, #ffc400 80%, transparent);
  box-shadow: 0 0 24px 6px rgba(255,196,0,0.8), 0 0 80px 20px rgba(255,150,0,0.35);
}
.finale-flash {
  position: absolute;
  inset: 0;
  background: #fffef5;
  opacity: 0;
  pointer-events: none;
}
.finale-beat, .finale-cta {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 1.5rem;
  opacity: 0;
  pointer-events: none;
}
.finale-line {
  font-family: 'Anton', sans-serif;
  color: #fff;
  font-size: clamp(2.6rem, 8vw, 6rem);
  line-height: 1.05;
  letter-spacing: 0.01em;
  text-shadow: 0 2px 30px rgba(0,0,0,0.6);
  max-width: 20ch;
}
.finale-line-sm {
  font-size: clamp(1.7rem, 4.6vw, 3.4rem);
  max-width: 26ch;
}
.finale-line span {
  color: #ffc400;
}
.finale-caption {
  font-family: 'Inter', sans-serif;
  color: #ffc400;
  font-size: clamp(1rem, 2.4vw, 1.35rem);
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.finale-still {
  font-family: 'Anton', sans-serif;
  color: #fff;
  font-size: clamp(2.4rem, 7vw, 5rem);
  line-height: 1.05;
  margin-bottom: 1.75rem;
  text-shadow: 0 2px 30px rgba(0,0,0,0.6);
}
.finale-btn {
  pointer-events: auto;
  display: inline-block;
  background: #e10600;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  font-size: clamp(1.15rem, 2.8vw, 1.5rem);
  padding: 1.1rem 3rem;
  border-radius: 9999px;
  box-shadow: 0 0 0 4px rgba(255,196,0,0.35), 0 10px 40px rgba(225,6,0,0.5);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.finale-btn:hover {
  transform: scale(1.04);
  box-shadow: 0 0 0 6px rgba(255,196,0,0.5), 0 10px 44px rgba(225,6,0,0.6);
}
.finale-phone {
  pointer-events: auto;
  margin-top: 1.25rem;
  font-family: 'Anton', sans-serif;
  color: #ffc400;
  font-size: clamp(1.6rem, 4.5vw, 2.6rem);
  letter-spacing: 0.06em;
  text-shadow: 0 0 24px rgba(255,196,0,0.45);
}
.finale-dots {
  position: absolute;
  bottom: 1.4rem;
  left: 0; right: 0;
  display: flex;
  justify-content: center;
  gap: 0.6rem;
}
.finale-dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 9999px;
  background: rgba(255,255,255,0.25);
  transition: background 0.25s ease, transform 0.25s ease;
}
.finale-dot.on {
  background: #ffc400;
  transform: scale(1.35);
  box-shadow: 0 0 12px rgba(255,196,0,0.9);
}
@media (max-width: 768px) {
  .finale-pin { height: 220vh; }
}
@media (prefers-reduced-motion: reduce) {
  .finale-pin { height: auto; }
  .finale-stage { position: relative; height: auto; min-height: 92vh; min-height: 92svh; }
  .finale-beat { display: none; }
  .finale-cta { opacity: 1; position: relative; padding: 5rem 1.5rem; }
  .finale-dots { display: none; }
}

/* ================= VEHICLE STAGE: interactive picker ================= */
.vs-section {
  background: #0e0e10;
  padding: 3.5rem 0;
}
.vs-inner {
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.vs-eyebrow {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.28em;
  color: #ffc400;
  margin-bottom: 0.6rem;
}
.vs-eyebrow .dim { color: #8a8a90; font-weight: 600; }
.vs-head {
  font-family: 'Anton', sans-serif;
  color: #fff;
  font-size: clamp(2.2rem, 6vw, 4rem);
  line-height: 1.02;
  margin-bottom: 1.4rem;
}
.vs-head span { color: #ffc400; }
.vs-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-bottom: 1.6rem;
}
.vs-chip {
  padding: 0.7rem 1.5rem;
  border-radius: 9999px;
  background: #17171a;
  border: 1px solid #343438;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.12s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.vs-chip:hover { border-color: #ffc400; }
.vs-chip:active { transform: scale(0.96); }
.vs-chip.on {
  background: #ffc400;
  border-color: #ffc400;
  color: #0e0e10;
}
.vs-stagebox {
  border: 2px solid #26262b;
  border-radius: 22px;
  background: #0e0e10;
  overflow: hidden;
}
.vs-stage {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 900 / 340;
}
.vs-caption {
  font-family: 'Anton', sans-serif;
  color: #fff;
  font-size: clamp(1.35rem, 3.6vw, 2.1rem);
  letter-spacing: 0.02em;
  margin-top: 1.1rem;
  min-height: 2.5em;
}
@media (prefers-reduced-motion: reduce) {
  .vs-rig, .vs-solo, .vs-onbed { transition: none !important; }
}

/* ---------- Missing Tailwind utilities (absent from compiled output.css) ---------- */
.bg-\[\#FFC400\] { background-color: #FFC400; }
.bg-\[\#f7f7f8\] { background-color: #f7f7f8; }
.bg-\[\#E10600\] { background-color: #E10600; }
.border-\[\#FFC400\] { border-color: #FFC400; }
.h-20 { height: 5rem; }
.w-20 { width: 5rem; }
.pt-12 { padding-top: 3rem; }
.py-14 { padding-top: 3.5rem; padding-bottom: 3.5rem; }
.gap-10 { gap: 2.5rem; }
.text-6xl { font-size: 3.75rem; line-height: 1; }
.text-black\/60 { color: rgb(0 0 0 / 0.6); }
.text-black\/75 { color: rgb(0 0 0 / 0.75); }
.tracking-\[0\.14em\] { letter-spacing: 0.14em; }
.tracking-\[0\.18em\] { letter-spacing: 0.18em; }
.tracking-\[0\.2em\] { letter-spacing: 0.2em; }
@media (min-width: 768px) {
  .md\:py-24 { padding-top: 6rem; padding-bottom: 6rem; }
  .md\:py-20 { padding-top: 5rem; padding-bottom: 5rem; }
  .md\:py-16 { padding-top: 4rem; padding-bottom: 4rem; }
  .md\:text-6xl { font-size: 3.75rem; line-height: 1; }
  .md\:gap-6 { gap: 1.5rem; }
}
/* Anton ships weight 400 only: faux-bold smears it, so force 400 on headings */
h1.font-bold, h2.font-bold { font-weight: 400; }
.-top-6 { top: -1.5rem; }
@media (min-width: 768px) {
  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- Consolidated stats band (modern, compact) ---------- */
.imj-stats-band { background: #FFC400; }
.imj-stats-wrap { max-width: 80rem; margin: 0 auto; padding: 2rem 1.5rem; }
.imj-stats-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; text-align: center; }
.imj-stat-num { font-family: 'Anton', 'Arial Narrow', Impact, sans-serif; font-weight: 400; font-size: 2.5rem; line-height: 1; color: #000; margin: 0; }
.imj-stat-aprox { font-size: 1.6rem; margin-right: 0.35rem; }
.imj-stat-label { margin: 0.5rem 0 0; font-size: 0.78rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.14em; color: rgba(0,0,0,0.7); }
.imj-stats-cta { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 2px solid rgba(0,0,0,0.15); display: flex; flex-direction: column; align-items: center; gap: 1rem; text-align: center; }
.imj-stats-head { font-family: 'Anton', 'Arial Narrow', Impact, sans-serif; font-weight: 400; font-size: 1.5rem; letter-spacing: 0.015em; color: #000; margin: 0; }
.imj-stats-sub { margin: 0.35rem 0 0; font-size: 1rem; font-weight: 500; color: rgba(0,0,0,0.75); }
.imj-stats-btn { display: inline-flex; align-items: center; gap: 0.5rem; border-radius: 9999px; background: #E10600; padding: 0.8rem 1.75rem; font-size: 1.15rem; font-weight: 700; color: #fff; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.25); white-space: nowrap; text-decoration: none; }
.imj-stats-btn:hover { filter: brightness(1.08); }
@media (min-width: 768px) {
  .imj-stats-wrap { padding: 2.5rem 2rem; }
  .imj-stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .imj-stat-num { font-size: 3.1rem; }
  .imj-stats-cta { flex-direction: row; justify-content: center; gap: 2.5rem; text-align: left; }
  .imj-stats-head { font-size: 1.7rem; }
}
.gap-y-12 { row-gap: 3rem; }
.imj-ticker-space { display: inline-block; width: 1.5rem; }

/* ---------- Friendly announcement bar ---------- */
.imj-announce { background: #FFC400; border-bottom: 3px solid #0B0B0C; }
.imj-announce-inner { max-width: 80rem; margin: 0 auto; padding: 0.55rem 1rem; display: flex; align-items: center; justify-content: center; gap: 1.25rem; flex-wrap: wrap; }
.imj-announce-text { margin: 0; color: #141414; font-size: 0.95rem; font-weight: 600; line-height: 1.5; text-align: center; }
.imj-announce-text strong { font-weight: 800; }
.imj-announce-sep { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: rgba(0,0,0,0.4); margin: 0 0.7rem; vertical-align: middle; }
.imj-announce-stars { color: #E10600; letter-spacing: 0.12em; font-size: 0.85em; }
.imj-announce-call { display: inline-flex; align-items: center; gap: 0.5rem; background: #0B0B0C; color: #FFC400; font-weight: 800; font-size: 0.95rem; padding: 0.45rem 1.15rem; border-radius: 9999px; text-decoration: none; white-space: nowrap; box-shadow: 0 4px 10px rgba(0,0,0,0.25); }
.imj-announce-call img { height: 1rem; width: auto; }
.imj-announce-call:hover { background: #232326; }
@media (max-width: 640px) {
  .imj-announce-text { font-size: 0.85rem; }
  .imj-announce-sep { margin: 0 0.45rem; }
}

.imj-ticker-alert { display: inline-flex; align-items: center; gap: 0.5rem; }
.imj-stop { height: 1.35em; width: auto; flex: none; }
.imj-contact-list { margin: 1.25rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; align-items: flex-start; }
.imj-contact-list dd { margin: 0; }
.imj-contact-mail { display: inline-flex; align-items: center; gap: 0.5rem; color: #141414; font-weight: 700; font-size: 1rem; text-decoration: none; word-break: break-all; }
.imj-contact-mail:hover { text-decoration: underline; }

/* ============================================================
   PREMIUM REFINEMENT — 2026-10-16
   Apple/Google-inspired feel: tighter radii, semibold buttons,
   1px hairlines, airier heroes. Brand colors & content untouched.
   (span/div.rounded-full stay circular: icon badges, not buttons)
   ============================================================ */

/* --- Buttons: refined 10px rectangles, semibold, tighter --- */
a.rounded-full, button.rounded-full,
a.rounded-3xl, button.rounded-3xl {
  border-radius: 10px;
  font-weight: 600;
}
p.rounded-full { border-radius: 10px !important; font-weight: 600; }

.imj-nav-cta {
  border-radius: 10px;
  font-weight: 600;
  padding: 0.6rem 1.2rem;
  box-shadow: 0 4px 12px rgba(255,196,0,0.28);
}
a.bg-custom, button.bg-custom {
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(255,196,0,0.28);
}
.imj-sticky-call {
  border-radius: 10px;
  font-weight: 600;
  padding: 0.85rem 1rem;
}
.imj-submit {
  border-radius: 10px;
  font-weight: 600;
  box-shadow: 0 4px 14px rgba(225,6,0,0.30);
}
.finale-btn { border-radius: 10px; font-weight: 600; }
.imj-stats-btn { border-radius: 10px; font-weight: 600; }
.imj-announce-call { border-radius: 10px; font-weight: 600; }
.imj-svc-arrow { border-radius: 10px; }

/* --- Small interactive elements: 8px --- */
.vs-chip { border-radius: 8px; }
.imj-pills span { border-radius: 8px; border-width: 1px; }

/* --- Cards & containers: 14px max --- */
.rounded-3xl { border-radius: 14px; }
.rounded-2xl { border-radius: 14px; }
.imj-form-card { border-radius: 14px; box-shadow: 0 16px 40px rgba(0,0,0,0.35); }
.imj-card { border-radius: 14px; box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
.imj-form { border-radius: 14px; }
.imj-form-section { border-radius: 12px; }
.imj-form-success { border-radius: 12px; border-width: 1px; }
.vs-stagebox { border-radius: 14px; border-width: 1px; }

/* --- Inputs: 10px, 1px hairlines --- */
.imj-input { border-radius: 10px; border-width: 1px; }
.imj-lien-note { border-radius: 10px; }
.print-box { border-width: 1px !important; }
.imj-stats-cta { border-top-width: 1px; }

/* ============================================================
   MULTI-STEP QUOTE FORM — 2026-10-16
   Bank-professional: numbered step indicator, restrained
   section headers, 1px hairlines. Colors & content untouched.
   ============================================================ */
.imj-steps-ind { display: flex; align-items: center; margin: 0 0 1.2rem; }
.imj-steps-ind .st {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: none; border: none; padding: 0; font: inherit; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.imj-steps-ind .n {
  width: 1.55rem; height: 1.55rem; border-radius: 50%;
  border: 1px solid #d1d5db; background: #fff; color: #9ca3af;
  font-size: 0.72rem; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center; flex: none;
}
.imj-steps-ind .t {
  font-size: 0.72rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: #9ca3af;
}
.imj-steps-ind .st.on .t { color: #0B0B0C; }
.imj-steps-ind .st.on .n { background: #0B0B0C; border-color: #0B0B0C; color: #FFC400; }
.imj-steps-ind .st.done .n { background: #FFC400; border-color: #FFC400; color: #0B0B0C; }
.imj-steps-ind .st.done .t { color: #0B0B0C; }
.imj-steps-ind .ln { flex: 1; height: 1px; background: #e5e7eb; margin: 0 0.7rem; }
.imj-steps-ind .ln.done { background: #0B0B0C; }

.imj-step[hidden] { display: none; }
.imj-step-nav { margin-top: 1rem; }
.imj-next {
  display: flex; width: 100%; align-items: center; justify-content: center;
  border-radius: 10px; background: #0B0B0C; color: #fff;
  font-size: 1.05rem; font-weight: 600; padding: 0.95rem 1rem;
  border: none; cursor: pointer;
  transition: background 0.15s ease, transform 0.12s ease;
}
.imj-next:hover { background: #232326; }
.imj-next:active { transform: scale(0.98); }
.imj-step-row { display: flex; align-items: center; gap: 0.5rem; }
.imj-step-row .imj-submit { flex: 1; }
.imj-back {
  background: none; border: none; padding: 0.95rem 0.5rem;
  font-size: 0.95rem; font-weight: 600; color: #6b7280;
  cursor: pointer; white-space: nowrap; flex: none;
}
.imj-back:hover { color: #0B0B0C; }

/* Section headers: restrained, bank-like */
.imj-form .imj-form-section-title {
  font-size: 0.78rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.09em; color: #374151;
  margin: 0 0 0.9rem; padding: 0 0 0.6rem;
  border-bottom: 1px solid #f0f0f0; display: block;
}
.imj-form .imj-form-section-title::before { display: none; }

/* Success: clean confirmation */
.imj-form-success { background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; padding: 1.75rem 1.25rem; }
.imj-form-success::before { width: 2.75rem; height: 2.75rem; font-size: 1.3rem; background: #0B0B0C; color: #FFC400; }
.imj-success-title { font-size: 1.25rem; font-weight: 700; }
.imj-success-alt { margin-top: 0.9rem; font-size: 0.95rem; color: #374151; }
.imj-success-alt a { font-weight: 700; color: #0B0B0C; text-decoration: underline; }
.imj-form-sent .imj-step, .imj-form-sent .imj-steps-ind { display: none; }

/* --- Heroes breathe --- */
.imj-hero > div.relative { padding-top: 7.5rem; padding-bottom: 7.5rem; }
@media (min-width: 640px) {
  .imj-hero > div.relative { padding-top: 10rem; padding-bottom: 9rem; }
}
section[class*="bg-[url"] { padding-top: 6rem; padding-bottom: 7rem; }
@media (min-width: 640px) {
  section[class*="bg-[url"] { padding-top: 8rem; padding-bottom: 8rem; }
}

/* ============================================================
   LIGHT CHROME THEME (2026-10-19): calm light header/ticker/
   footer/bands to match the black iM logo. Dark accents
   (buttons, badges) stay dark on purpose.
   ============================================================ */

/* Logo: transparent mark with a soft 3-D drop shadow */
img[src$="im-logo-red-dot.png"] {
  filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.28));
}

/* ---------- Header: white, flows with the logo ---------- */
section.bg-gray-50:has([data-btn-hamburger]) > div.bg-white {
  background-color: #ffffff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
section.bg-gray-50:has([data-btn-hamburger]) nav a {
  color: #1a1a1a;
}
section.bg-gray-50:has([data-btn-hamburger]) nav a:hover {
  color: #E10600;
}
section.bg-gray-50:has([data-btn-hamburger]) .text-custom {
  color: #1a1a1a;
}
section.bg-gray-50:has([data-btn-hamburger]) [data-btn-hamburger] {
  background-color: transparent;
  color: #1a1a1a;
}
section.bg-gray-50:has([data-btn-hamburger]) [data-btn-hamburger]:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: #E10600;
}

/* ---------- Mobile menu panel: white card ---------- */
[data-mobile-menu] > div {
  background-color: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08);
}
[data-mobile-menu] a,
[data-mobile-menu] button {
  color: #1a1a1a !important;
}
[data-mobile-menu] .divide-gray-200 > * {
  border-color: rgba(0, 0, 0, 0.08) !important;
}

/* ---------- Ticker: cream ---------- */
.imj-ticker {
  background: #FAF7F0;
}
.imj-ticker-track {
  color: #1a1a1a;
}

/* ---------- Content bands: cream ---------- */
.imj-band {
  background: #FAF7F0;
  color: #1a1a1a;
}
.imj-band h2,
.imj-band .font-display {
  color: #1a1a1a;
}

/* ---------- Footer: cream ---------- */
footer.bg-white {
  background-color: #FAF7F0;
}
footer.bg-white .border-t {
  border-color: rgba(0, 0, 0, 0.08);
}
footer.bg-white h3 {
  color: #1a1a1a !important;
}
footer.bg-white p,
footer.bg-white li,
footer.bg-white span {
  color: #4b5563;
}
footer.bg-white a {
  color: #374151;
}
footer.bg-white a:hover {
  color: #E10600;
}
footer.bg-white .text-gray-900 {
  color: #111827 !important;
}
footer.bg-white .text-gray-600,
footer.bg-white .text-gray-500 {
  color: #4b5563 !important;
}

/* ---------- Hero: light veil, dark text (per mockup mix) ---------- */
.imj-hero::after {
  background: linear-gradient(
    100deg,
    rgba(250, 247, 240, 0.86) 0%,
    rgba(250, 247, 240, 0.58) 45%,
    rgba(250, 247, 240, 0.24) 100%
  );
}
.imj-hero h1 { color: #141414; }
.imj-hero .imj-hero-sub { color: #3f3f46; }
.imj-hero .imj-kicker { color: #141414; }
.imj-hero .imj-kicker::before { background: var(--imj-red); }
.imj-hero ul.text-white { color: #1a1a1a; }
section.bg-gray-50:has([data-btn-hamburger]) [data-dropdown-btn] { color: #1a1a1a; }
section.bg-gray-50:has([data-btn-hamburger]) [data-dropdown-btn]:hover { color: #E10600; }

/* ---------- Hero checklists: match site card style (gray card, black circle, yellow check) ---------- */
.imj-hero ul.mt-7 > li > div {
  background: transparent;
  border-radius: 0;
  padding: 0.5rem 0;
  box-shadow: none;
  align-items: center;
  gap: 0.9rem;
  color: #141414;
  font-weight: 600;
  font-size: 1.12rem;
  letter-spacing: -0.01em;
}
.imj-hero ul.mt-7 { color: #141414; }

/* ---------- Generated pages' heroes: light veil + dark text + pills ---------- */
section[class*="bg-[url"] > div.absolute.inset-0.bg-black {
  background: linear-gradient(100deg, rgba(250, 247, 240, 0.88) 0%, rgba(250, 247, 240, 0.60) 55%, rgba(250, 247, 240, 0.30) 100%) !important;
}
section[class*="bg-[url"] h1 {
  color: #141414 !important;
}
section[class*="bg-[url"] ul.mt-5 > li > div {
  background: transparent;
  border-radius: 0;
  padding: 0.5rem 0;
  box-shadow: none;
  align-items: center;
  gap: 0.9rem;
  color: #141414 !important;
  font-weight: 600;
  font-size: 1.12rem;
  letter-spacing: -0.01em;
}

/* ---------- USP list: enterprise divider rows ---------- */
.usp-list { list-style: none; }
.usp-item {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  padding: 1.05rem 0.25rem;
  border-bottom: 1px solid #e9e6df;
}
.usp-item:last-child { border-bottom: 0; }
