/*
 * CarPointCare Design System
 * Version: 1.0.0
 * Status: ACTIVE — loaded only when Bricks is the active theme.
 * Rule: automotive editorial, real photography first, anti-slop.
 */

:root {
  /* Brand / neutral palette */
  --cpc-color-ink: #111214;
  --cpc-color-ink-soft: #25272a;
  --cpc-color-brand: #f4c400;
  --cpc-color-brand-strong: #d9ad00;
  --cpc-color-paper: #f6f5f0;
  --cpc-color-surface: #ffffff;
  --cpc-color-muted: #6c6f73;
  --cpc-color-line: #d9d8d2;
  --cpc-color-success: #176b45;
  --cpc-color-danger: #a92f2f;

  /* Typography families are intentionally generic until final brand-font gate. */
  --cpc-font-display: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --cpc-font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Fluid type scale */
  --cpc-text-xs: clamp(0.75rem, 0.72rem + 0.12vw, 0.8125rem);
  --cpc-text-sm: clamp(0.875rem, 0.84rem + 0.16vw, 0.95rem);
  --cpc-text-base: clamp(1rem, 0.96rem + 0.20vw, 1.125rem);
  --cpc-text-lg: clamp(1.125rem, 1.04rem + 0.35vw, 1.35rem);
  --cpc-text-xl: clamp(1.375rem, 1.15rem + 0.75vw, 1.8rem);
  --cpc-text-2xl: clamp(1.75rem, 1.35rem + 1.40vw, 2.5rem);
  --cpc-text-3xl: clamp(2.25rem, 1.55rem + 2.60vw, 3.75rem);
  --cpc-text-hero: clamp(3rem, 1.75rem + 5vw, 6.75rem);

  --cpc-leading-tight: 0.96;
  --cpc-leading-heading: 1.05;
  --cpc-leading-body: 1.62;
  --cpc-tracking-display: -0.045em;
  --cpc-tracking-heading: -0.025em;

  /* Spacing system */
  --cpc-space-1: 0.25rem;
  --cpc-space-2: 0.5rem;
  --cpc-space-3: 0.75rem;
  --cpc-space-4: 1rem;
  --cpc-space-5: 1.5rem;
  --cpc-space-6: 2rem;
  --cpc-space-7: 3rem;
  --cpc-space-8: 4rem;
  --cpc-space-9: 6rem;
  --cpc-space-10: 8rem;
  --cpc-section-space: clamp(4.5rem, 8vw, 9rem);

  /* Layout */
  --cpc-container: 78rem;
  --cpc-container-wide: 92rem;
  --cpc-container-copy: 45rem;
  --cpc-gutter: clamp(1rem, 3vw, 2.5rem);

  /* Shape: restrained — anti rounded-card slop */
  --cpc-radius-sm: 0.25rem;
  --cpc-radius-md: 0.5rem;
  --cpc-radius-lg: 0.75rem;
  --cpc-radius-pill: 999px;

  /* Motion */
  --cpc-ease: cubic-bezier(.2,.7,.2,1);
  --cpc-duration-fast: 160ms;
  --cpc-duration-base: 260ms;

  /* Shadows are intentionally subtle and rare. */
  --cpc-shadow-soft: 0 14px 38px rgba(17,18,20,.08);
}

/* Global Bricks foundation. Keep this intentionally restrained. */
html {
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body.cpc-bricks {
  margin: 0;
  background: var(--cpc-color-surface);
  color: var(--cpc-color-ink);
  font-family: var(--cpc-font-body);
  font-size: var(--cpc-text-base);
  line-height: var(--cpc-leading-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.cpc-bricks :where(h1,h2,h3,h4,h5,h6) {
  margin: 0;
  color: inherit;
  font-family: var(--cpc-font-display);
  font-weight: 760;
  line-height: var(--cpc-leading-heading);
  letter-spacing: var(--cpc-tracking-heading);
}

body.cpc-bricks :where(p,ul,ol,figure) { margin-block: 0; }
body.cpc-bricks :where(img,video) { max-width: 100%; height: auto; }
body.cpc-bricks a { color: inherit; text-underline-offset: 0.16em; }
body.cpc-bricks a:focus-visible,
body.cpc-bricks button:focus-visible {
  outline: 3px solid var(--cpc-color-brand);
  outline-offset: 3px;
}

.cpc-surface--ink { background: var(--cpc-color-ink); color: var(--cpc-color-surface); }
.cpc-surface--paper { background: var(--cpc-color-paper); color: var(--cpc-color-ink); }
.cpc-surface--white { background: var(--cpc-color-surface); color: var(--cpc-color-ink); }

.cpc-stack { display: flex; flex-direction: column; gap: var(--cpc-space-5); }
.cpc-stack--sm { gap: var(--cpc-space-3); }
.cpc-stack--lg { gap: var(--cpc-space-7); }
.cpc-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cpc-space-4); }
.cpc-grid { display: grid; gap: clamp(1rem, 2vw, 2rem); }
.cpc-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cpc-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.cpc-eyebrow {
  font: 800 var(--cpc-text-xs)/1.2 var(--cpc-font-body);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.cpc-rule { border: 0; border-top: 1px solid var(--cpc-color-line); margin: 0; }

/* Primitive helpers for Bricks classes. */
.cpc-container {
  width: min(calc(100% - (2 * var(--cpc-gutter))), var(--cpc-container));
  margin-inline: auto;
}

.cpc-container--wide {
  width: min(calc(100% - (2 * var(--cpc-gutter))), var(--cpc-container-wide));
  margin-inline: auto;
}

.cpc-section {
  padding-block: var(--cpc-section-space);
}

.cpc-display {
  font-family: var(--cpc-font-display);
  font-size: var(--cpc-text-hero);
  line-height: var(--cpc-leading-tight);
  letter-spacing: var(--cpc-tracking-display);
  font-weight: 800;
  max-width: 13ch;
}

.cpc-heading {
  font-family: var(--cpc-font-display);
  line-height: var(--cpc-leading-heading);
  letter-spacing: var(--cpc-tracking-heading);
  font-weight: 750;
  text-wrap: balance;
}

.cpc-copy {
  font-family: var(--cpc-font-body);
  font-size: var(--cpc-text-base);
  line-height: var(--cpc-leading-body);
  max-width: var(--cpc-container-copy);
}

.cpc-button {
  min-height: 3.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: 0.85rem 1.25rem;
  border: 1px solid transparent;
  border-radius: var(--cpc-radius-sm);
  font: 700 var(--cpc-text-sm)/1 var(--cpc-font-body);
  text-decoration: none;
  transition: transform var(--cpc-duration-fast) var(--cpc-ease),
              background-color var(--cpc-duration-fast) var(--cpc-ease),
              color var(--cpc-duration-fast) var(--cpc-ease);
}

.cpc-button:focus-visible {
  outline: 3px solid var(--cpc-color-brand);
  outline-offset: 3px;
}

.cpc-button--primary {
  background: var(--cpc-color-brand);
  color: var(--cpc-color-ink);
}

.cpc-button--primary:hover {
  background: var(--cpc-color-brand-strong);
  transform: translateY(-1px);
}

.cpc-button--dark {
  background: var(--cpc-color-ink);
  color: var(--cpc-color-surface);
}

.cpc-button--ghost {
  border-color: currentColor;
  color: inherit;
  background: transparent;
}

.cpc-media {
  overflow: hidden;
  border-radius: var(--cpc-radius-sm);
  background: var(--cpc-color-paper);
}

.cpc-media--landscape { aspect-ratio: 16 / 10; }
.cpc-media--editorial { aspect-ratio: 4 / 5; }
.cpc-media--square { aspect-ratio: 1 / 1; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* CPC responsive foundation */
@media (max-width: 767px) {
  :root { --cpc-section-space: clamp(3.5rem, 14vw, 5.5rem); }
  .cpc-grid--2, .cpc-grid--3 { grid-template-columns: 1fr; }
  .cpc-button { width: 100%; }
  .cpc-display { max-width: 15ch; }
}

/* Reusable CMS service cards */
.cpc-service-list { display: grid; gap: 0; border-top: 1px solid var(--cpc-color-line); }
.cpc-service-card { display: grid; grid-template-columns: minmax(12rem, 34%) 1fr; gap: clamp(1rem, 3vw, 2.5rem); padding-block: clamp(1.25rem, 3vw, 2.5rem); border-bottom: 1px solid var(--cpc-color-line); }
.cpc-service-card__media { display: block; overflow: hidden; background: var(--cpc-color-paper); aspect-ratio: 16 / 10; }
.cpc-service-card__media img { width: 100%; height: 100%; object-fit: cover; }
.cpc-service-card__media-placeholder { display: block; width: 100%; height: 100%; background: var(--cpc-color-paper); }
.cpc-service-card__title { font-size: var(--cpc-text-xl); }
.cpc-service-card__title a { text-decoration: none; }
.cpc-service-card__desc { color: var(--cpc-color-muted); max-width: 56ch; }
.cpc-service-card__meta { display: flex; flex-wrap: wrap; gap: .65rem 1rem; font-size: var(--cpc-text-sm); font-weight: 700; }
.cpc-service-card__actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.cpc-service-card__detail, .cpc-service-card__wa { font-size: var(--cpc-text-sm); font-weight: 800; text-decoration-thickness: 1px; }
.cpc-service-list--featured { grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(1rem,2vw,1.5rem); border-top: 0; }
.cpc-service-card--featured { grid-template-columns: 1fr; border: 1px solid var(--cpc-color-line); padding: 0; gap: 0; }
.cpc-service-card--featured .cpc-service-card__body { padding: var(--cpc-space-5); }
.cpc-builder-note { padding: 1rem; border: 1px dashed var(--cpc-color-line); color: var(--cpc-color-muted); }
@media (max-width: 767px) {
  .cpc-service-card { grid-template-columns: 1fr; }
  .cpc-service-list--featured { grid-template-columns: 1fr; }
}

/* Homepage service category navigation */
.cpc-category-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: clamp(1.5rem,4vw,4rem); border-top: 1px solid var(--cpc-color-line); }
.cpc-category-card { display: grid; grid-template-columns: minmax(9rem, 38%) 1fr; gap: clamp(1rem,2vw,2rem); padding-block: clamp(1.25rem,3vw,2.25rem); border-bottom: 1px solid var(--cpc-color-line); }
.cpc-category-card__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--cpc-color-paper); }
.cpc-category-card__media img { width: 100%; height: 100%; object-fit: cover; }
.cpc-category-card__media-placeholder { display: block; width: 100%; height: 100%; background: var(--cpc-color-paper); }
.cpc-category-card__title { font-size: var(--cpc-text-lg); }
.cpc-category-card__title a { text-decoration: none; }
.cpc-category-card__desc { color: var(--cpc-color-muted); }
.cpc-category-card__link { font-size: var(--cpc-text-sm); font-weight: 800; }
@media (max-width: 900px) { .cpc-category-list { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .cpc-category-card { grid-template-columns: 1fr; } }

/* Global site header/footer */
.cpc-site-header { padding-block: .75rem; background: var(--cpc-color-surface); border-bottom: 1px solid var(--cpc-color-line); position: relative; z-index: 20; }
.cpc-site-header__inner { display: flex; align-items: center; gap: clamp(1rem,2vw,2rem); }
.cpc-site-brand { font: 900 var(--cpc-text-sm)/1 var(--cpc-font-display); letter-spacing: .08em; text-decoration: none; white-space: nowrap; }
.cpc-site-nav { margin-left: auto; }
.cpc-site-header__cta { width: auto; min-height: 2.9rem; }
.cpc-site-footer { padding-block: clamp(3rem,6vw,5rem); }
.cpc-site-footer__inner { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,2fr); gap: 1rem clamp(2rem,5vw,6rem); align-items: start; }
.cpc-site-footer__brand { font-size: var(--cpc-text-2xl); }
.cpc-site-footer__positioning { color: rgba(255,255,255,.68); }
.cpc-site-footer__nav { grid-column: 2; grid-row: 1 / span 2; }
.cpc-site-footer__legal { grid-column: 1 / -1; padding-top: var(--cpc-space-6); border-top: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.58); font-size: var(--cpc-text-xs); }
.cpc-site-footer .bricks-nav-menu { flex-wrap: wrap; gap: .35rem 1.25rem; }
.cpc-site-footer .bricks-nav-menu > li > a { color: inherit; }
@media (max-width: 900px) {
  .cpc-site-header__cta { display: none; }
  .cpc-site-footer__inner { grid-template-columns: 1fr; }
  .cpc-site-footer__nav { grid-column: 1; grid-row: auto; }
}

/* Single-service dynamic content */
.cpc-service-hero-media { margin: 0; aspect-ratio: 16 / 9; overflow: hidden; background: var(--cpc-color-paper); }
.cpc-service-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.cpc-service-hero-meta { display: flex; flex-wrap: wrap; gap: .6rem 1rem; font-size: var(--cpc-text-sm); font-weight: 800; }
.cpc-detail-list { margin: 0; padding-left: 1.2em; display: grid; gap: .7rem; max-width: 62ch; }
.cpc-process-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--cpc-color-line); }
.cpc-process-item { display: grid; grid-template-columns: 2.5rem minmax(0,1fr); gap: 1rem; padding-block: 1rem; border-bottom: 1px solid var(--cpc-color-line); }
.cpc-process-item__number { font-weight: 900; color: var(--cpc-color-muted); }
.cpc-process-item p { margin-top: .35rem; color: var(--cpc-color-muted); }
.cpc-vehicle-table { border-top: 1px solid var(--cpc-color-line); }
.cpc-vehicle-row { display: grid; grid-template-columns: 4rem minmax(0,1fr) auto; gap: 1rem; align-items: center; padding-block: 1rem; border-bottom: 1px solid var(--cpc-color-line); }
.cpc-vehicle-row__size { font-size: var(--cpc-text-xl); }
.cpc-vehicle-row__examples { color: var(--cpc-color-muted); }
.cpc-vehicle-row__price { font-weight: 800; white-space: nowrap; }
.cpc-price-lead { font-size: var(--cpc-text-xl); }
.cpc-addon-list { margin: 0; padding-left: 1.2em; display: grid; gap: .7rem; }
.cpc-faq-list { border-top: 1px solid var(--cpc-color-line); }
.cpc-faq-item { border-bottom: 1px solid var(--cpc-color-line); padding-block: 1rem; }
.cpc-faq-item summary { cursor: pointer; font-weight: 800; }
.cpc-faq-item__answer { padding-top: .8rem; max-width: 66ch; color: var(--cpc-color-muted); }
.cpc-before-after-list { display: grid; gap: var(--cpc-space-6); }
.cpc-before-after-pair { margin: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.cpc-before-after-pair > div { position: relative; }
.cpc-before-after-pair img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.cpc-before-after-pair span { position: absolute; left: .65rem; top: .65rem; padding: .35rem .55rem; background: var(--cpc-color-ink); color: var(--cpc-color-surface); font-size: var(--cpc-text-xs); font-weight: 800; }
.cpc-before-after-pair figcaption { grid-column: 1 / -1; font-size: var(--cpc-text-sm); color: var(--cpc-color-muted); }
@media (max-width: 600px) {
  .cpc-vehicle-row { grid-template-columns: 3rem minmax(0,1fr); }
  .cpc-vehicle-row__price { grid-column: 2; }
  .cpc-before-after-pair { grid-template-columns: 1fr; }
  .cpc-before-after-pair figcaption { grid-column: 1; }
}


/* Service category pages: editorial, decision-first, no decorative card stack */
.cpc-category-hero .cpc-copy { max-width: 60ch; font-size: var(--cpc-text-lg); }
.cpc-service-card--category { align-items: start; }
.cpc-service-card--category .cpc-service-card__body { align-self: center; padding-block: .25rem; }
.cpc-service-card--category .cpc-service-card__actions { margin-top: .25rem; }
.cpc-service-card--category .cpc-service-card__detail { display: inline-flex; align-items: center; gap: .45rem; }
.cpc-service-card--category .cpc-service-card__detail::after { content: "→"; }
.cpc-category-decision__intro { max-width: 64ch; color: var(--cpc-color-muted); font-size: var(--cpc-text-lg); }
.cpc-category-decision__list { border-top: 1px solid var(--cpc-color-line); }
.cpc-category-decision__row { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(12rem, .65fr); gap: clamp(1rem, 3vw, 3rem); align-items: center; padding-block: clamp(1rem, 2.5vw, 1.6rem); border-bottom: 1px solid var(--cpc-color-line); }
.cpc-category-decision__need { margin: 0; max-width: 58ch; }
.cpc-category-decision__service { display: flex; justify-content: space-between; gap: 1rem; align-items: center; font-weight: 900; text-decoration: none; }
.cpc-category-decision__service::after { content: "→"; flex: 0 0 auto; }
.cpc-category-section--final-cta .cpc-copy { max-width: 56ch; }
@media (max-width: 767px) {
  .cpc-category-hero .cpc-copy { font-size: var(--cpc-text-base); }
  .cpc-service-card--category { gap: 1rem; padding-block: 1.35rem; }
  .cpc-service-card--category .cpc-service-card__media { aspect-ratio: 16 / 9; }
  .cpc-service-card--category .cpc-service-card__title { font-size: var(--cpc-text-lg); }
  .cpc-category-decision__intro { font-size: var(--cpc-text-base); }
  .cpc-category-decision__row { grid-template-columns: 1fr; gap: .55rem; }
}

/* Homepage service architecture: hierarchy before decoration */
.cpc-home-hero .cpc-container { min-height: min(72vh, 46rem); justify-content: center; }
.cpc-home-hero__copy { max-width: 60ch; }
.cpc-home-section__lead { max-width: 64ch; color: var(--cpc-color-muted); }
.cpc-home-section--service-guide { padding-bottom: 0; }
.cpc-home-section--service-categories .cpc-category-list { margin-top: var(--cpc-space-3); }
.cpc-home-section--popular-services .cpc-service-list--featured { margin-top: var(--cpc-space-3); }
.cpc-home-section--final-booking .cpc-copy { max-width: 58ch; }
@media (max-width: 767px) {
  .cpc-home-hero .cpc-container { min-height: auto; padding-block: clamp(4rem, 18vw, 6.5rem); }
  .cpc-home-section--service-guide { padding-bottom: 0; }
}


/* Ads MVP trust/footer utilities */
.cpc-service-area-label { margin: 0; font-size: var(--cpc-text-sm); font-weight: 800; letter-spacing: .02em; }
.cpc-home-hero__area { margin-top: -.25rem; }
.cpc-site-footer__inner--mvp { grid-template-columns: 1fr; }
.cpc-site-footer__inner--mvp .cpc-site-footer__legal { grid-column: 1; }
.cpc-site-footer__privacy-link { font-size: var(--cpc-text-sm); color: inherit; }

/* VISUAL CUSTOM PASS 01 — HOMEPAGE / CORE BRAND SHELL */
:root {
  --cpc-color-ink: #0b0c0d;
  --cpc-color-ink-soft: #1c1e20;
  --cpc-color-brand: #ffd400;
  --cpc-color-brand-strong: #e9c200;
  --cpc-color-paper: #f1f0ea;
  --cpc-color-line: #c9c8c1;
  --cpc-text-hero: clamp(3.4rem, 1.6rem + 7.2vw, 8.25rem);
  --cpc-container: 82rem;
}
body.cpc-bricks { background: var(--cpc-color-paper); }
body.cpc-bricks :where(h1,h2,h3,h4,h5,h6) { font-weight: 850; }
.cpc-heading { font-size: clamp(2rem, 1.2rem + 3vw, 4.75rem); max-width: 13ch; }

.cpc-site-header {
  position: sticky; top: 0; z-index: 90; padding-block: .6rem;
  background: var(--cpc-color-ink); color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.admin-bar .cpc-site-header { top: 32px; }
.cpc-site-header__inner { min-height: 3.4rem; }
.cpc-site-brand { font-size: clamp(.86rem,.8rem + .2vw,1rem); font-weight: 950; letter-spacing: .16em; }
.cpc-site-header__cta-embed { margin-left: auto; }
.cpc-site-header__cta { min-height: 2.75rem; width: auto; padding-inline: 1.05rem; }

.cpc-home-hero { position: relative; overflow: hidden; isolation: isolate; border-bottom: 0; }
.cpc-home-hero::after {
  content: ""; position: absolute; z-index: -1; top: 0; right: 0;
  width: clamp(5.25rem, 16vw, 18rem); height: 100%; background: var(--cpc-color-brand);
}
.cpc-home-hero .cpc-container {
  min-height: min(82vh, 56rem); justify-content: center; align-items: flex-start;
  padding-right: clamp(5.5rem, 18vw, 20rem);
}
.cpc-home-hero__eyebrow { color: var(--cpc-color-brand); }
.cpc-home-hero .cpc-display { max-width: 10.5ch; font-weight: 950; letter-spacing: -.065em; text-wrap: balance; }
.cpc-home-hero__copy { max-width: 52rem; color: rgba(255,255,255,.72); }
.cpc-home-hero__area .cpc-service-area-label { color: rgba(255,255,255,.66); }
.cpc-home-hero .cpc-button { min-height: 3.65rem; padding-inline: 1.55rem; font-size: var(--cpc-text-base); }

.cpc-home-section--trust { background: var(--cpc-color-brand); color: var(--cpc-color-ink); padding-block: clamp(3.5rem, 6vw, 6rem); }
.cpc-home-section--trust .cpc-container { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: clamp(2rem,6vw,7rem); align-items: end; }
.cpc-home-section--trust .cpc-heading { max-width: 10ch; }
.cpc-home-section--trust .cpc-copy { font-size: var(--cpc-text-lg); max-width: 34rem; }

.cpc-home-section--service-categories { background: var(--cpc-color-paper); }
.cpc-home-section--service-categories .cpc-container { gap: clamp(2.5rem,5vw,5rem); }
.cpc-category-list { counter-reset: cpc-category; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: clamp(2rem,6vw,7rem); border-top: 2px solid var(--cpc-color-ink); }
.cpc-category-card { counter-increment: cpc-category; position: relative; display: block; padding: clamp(1.6rem,3vw,2.8rem) 0; border-bottom: 1px solid var(--cpc-color-line); }
.cpc-category-card__body { display: grid; grid-template-columns: 3rem minmax(0,1fr); column-gap: 1.1rem; align-items: start; }
.cpc-category-card__body::before { content: "0" counter(cpc-category); color: var(--cpc-color-brand-strong); font: 950 var(--cpc-text-sm)/1 var(--cpc-font-display); letter-spacing: .08em; padding-top: .35rem; }
.cpc-category-card__title,.cpc-category-card__desc,.cpc-category-card__link { grid-column: 2; }
.cpc-category-card__title { font-size: clamp(1.45rem,1.1rem + 1vw,2.25rem); line-height: 1.05; }
.cpc-category-card__desc { max-width: 38rem; }
.cpc-category-card__link { margin-top: .65rem; text-decoration: none; }
.cpc-category-card__link::after { content: "  →"; }
.cpc-category-card.has-media { display: grid; grid-template-columns: minmax(10rem,34%) 1fr; gap: 1.4rem; }

.cpc-home-section--popular-services { background: #fff; }
.cpc-service-list--featured { counter-reset: cpc-featured; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 clamp(2rem,6vw,7rem); border-top: 2px solid var(--cpc-color-ink); }
.cpc-service-card--featured { counter-increment: cpc-featured; position: relative; display: block; border: 0; border-bottom: 1px solid var(--cpc-color-line); padding: clamp(1.75rem,3vw,2.75rem) 0; background: transparent; }
.cpc-service-card--featured::before { content: "0" counter(cpc-featured); display: block; margin-bottom: 1.15rem; color: var(--cpc-color-brand-strong); font: 950 var(--cpc-text-sm)/1 var(--cpc-font-display); letter-spacing: .08em; }
.cpc-service-card--featured .cpc-service-card__body { padding: 0; gap: .75rem; }
.cpc-service-card--featured .cpc-service-card__title { font-size: clamp(1.5rem,1.1rem + 1vw,2.35rem); line-height: 1.04; }
.cpc-service-card--featured .cpc-service-card__desc { max-width: 36rem; }
.cpc-service-card--featured .cpc-service-card__actions { margin-top: .55rem; }
.cpc-service-card--featured .cpc-service-card__detail { text-decoration: none; }
.cpc-service-card--featured .cpc-service-card__detail::after { content: "  →"; }
.cpc-service-card--featured.has-media .cpc-service-card__media { margin-bottom: 1.2rem; aspect-ratio: 16/9; }

.cpc-home-section--final-booking { position: relative; overflow: hidden; }
.cpc-home-section--final-booking::before { content: ""; position: absolute; inset: 0 auto 0 0; width: .55rem; background: var(--cpc-color-brand); }
.cpc-home-section--final-booking .cpc-heading { max-width: 11ch; }
.cpc-home-section--final-booking .cpc-copy { color: rgba(255,255,255,.68); }

.cpc-site-footer { background: var(--cpc-color-ink); border-top: 1px solid rgba(255,255,255,.14); }
.cpc-site-footer__brand { font-weight: 950; letter-spacing: -.035em; }
.cpc-site-footer__privacy-link { text-decoration: none; opacity: .72; }
.cpc-site-footer__privacy-link:hover { opacity: 1; }

@media (max-width: 900px) {
  .cpc-home-section--trust .cpc-container { grid-template-columns: 1fr; align-items: start; }
  .cpc-category-list,.cpc-service-list--featured { grid-template-columns: 1fr; }
  .cpc-home-hero::after { width: 1rem; }
  .cpc-home-hero .cpc-container { min-height: auto; padding-right: var(--cpc-gutter); padding-block: clamp(5rem,18vw,8rem); }
}
@media (max-width: 767px) {
  .admin-bar .cpc-site-header { top: 46px; }
  .cpc-home-hero .cpc-display { max-width: 11.5ch; }
  .cpc-home-hero__copy { font-size: 1rem; }
  .cpc-home-section--trust .cpc-copy { font-size: var(--cpc-text-base); }
  .cpc-category-card__body { grid-template-columns: 2.4rem minmax(0,1fr); column-gap: .75rem; }
  .cpc-category-card.has-media { grid-template-columns: 1fr; }
  .cpc-site-header__cta { min-height: 2.6rem; padding-inline: .85rem; }
}

/* No-photo state is intentional until real CarPoint Care media is available. */
.cpc-service-card.no-media { grid-template-columns: 1fr; }
.cpc-service-card.no-media .cpc-service-card__body { width: 100%; }

/* VISUAL CUSTOM PASS 02 — CATEGORY + SINGLE SERVICE FUNNEL */

/* Category hubs */
.cpc-category-hero {
  position: relative;
  overflow: hidden;
  background: var(--cpc-color-ink);
  color: #fff;
}
.cpc-category-hero::after {
  content: "SERVICE CATEGORY";
  position: absolute;
  right: var(--cpc-gutter);
  bottom: 1.2rem;
  color: rgba(255,255,255,.2);
  font: 950 var(--cpc-text-xs)/1 var(--cpc-font-body);
  letter-spacing: .18em;
}
.cpc-category-hero .cpc-container {
  min-height: clamp(22rem, 48vw, 38rem);
  justify-content: flex-end;
  padding-bottom: clamp(3rem,7vw,6rem);
}
.cpc-category-hero .cpc-display { max-width: 11ch; font-weight: 950; letter-spacing: -.06em; }
.cpc-category-hero .cpc-copy { max-width: 48rem; color: rgba(255,255,255,.7); font-size: var(--cpc-text-lg); }

.cpc-category-section--services { background: var(--cpc-color-paper); }
.cpc-category-section--services .cpc-container,
.cpc-category-section--decision-helper .cpc-container {
  gap: clamp(2.5rem,5vw,5rem);
}
.cpc-category-section--services .cpc-service-list {
  counter-reset: cpc-cat-service;
  border-top: 2px solid var(--cpc-color-ink);
}
.cpc-category-section--services .cpc-service-card--category {
  counter-increment: cpc-cat-service;
  border-bottom: 1px solid var(--cpc-color-line);
  padding-block: clamp(1.5rem,3vw,2.5rem);
}
.cpc-category-section--services .cpc-service-card--category.no-media {
  grid-template-columns: 3.2rem minmax(0,1fr);
  gap: 1rem;
}
.cpc-category-section--services .cpc-service-card--category::before {
  content: "0" counter(cpc-cat-service);
  color: var(--cpc-color-brand-strong);
  font: 950 var(--cpc-text-sm)/1 var(--cpc-font-display);
  letter-spacing: .08em;
  padding-top: .3rem;
}
.cpc-category-section--services .cpc-service-card--category .cpc-service-card__title {
  font-size: clamp(1.5rem,1.15rem + 1vw,2.4rem);
  line-height: 1.04;
}
.cpc-category-section--services .cpc-service-card--category .cpc-service-card__detail { text-decoration: none; }

.cpc-category-section--decision-helper { background: #fff; }
.cpc-category-decision__intro { max-width: 52rem; font-size: var(--cpc-text-lg); }
.cpc-category-decision__list { border-top: 2px solid var(--cpc-color-ink); }
.cpc-category-decision__row { padding-block: clamp(1.25rem,2.5vw,1.8rem); }
.cpc-category-decision__need { font-size: var(--cpc-text-lg); font-weight: 700; }
.cpc-category-decision__service { justify-self: end; text-decoration: none; font-weight: 900; }
.cpc-category-decision__service::after { content: "  →"; color: var(--cpc-color-brand-strong); }

.cpc-category-section--final-cta { border-top: .55rem solid var(--cpc-color-brand); }
.cpc-category-section--final-cta .cpc-heading { max-width: 10ch; }
.cpc-category-section--final-cta .cpc-copy { color: rgba(255,255,255,.68); }

/* Single service pages */
.cpc-service-hero {
  position: relative;
  overflow: hidden;
  background: var(--cpc-color-ink);
  color: #fff;
}
.cpc-service-hero::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: .7rem;
  height: 100%;
  background: var(--cpc-color-brand);
}
.cpc-service-hero .cpc-container {
  min-height: clamp(28rem, 62vw, 48rem);
  justify-content: flex-end;
  padding-bottom: clamp(3.5rem,8vw,7rem);
}
.cpc-service-hero .cpc-display {
  max-width: 10ch;
  font-weight: 950;
  letter-spacing: -.065em;
}
.cpc-service-hero .cpc-copy { max-width: 48rem; color: rgba(255,255,255,.7); font-size: var(--cpc-text-lg); }
.cpc-service-hero-meta { padding-top: .2rem; color: var(--cpc-color-brand); }
.cpc-service-hero .cpc-button { min-height: 3.55rem; font-size: var(--cpc-text-base); padding-inline: 1.5rem; }
.cpc-service-hero-media { max-width: 60rem; border: 1px solid rgba(255,255,255,.14); }

.cpc-service-section { background: var(--cpc-color-paper); }
.cpc-service-section:nth-of-type(even) { background: #fff; }
.cpc-service-section .cpc-container {
  display: grid;
  grid-template-columns: minmax(12rem,.42fr) minmax(0,1fr);
  gap: clamp(2rem,6vw,7rem);
  align-items: start;
  border-top: 1px solid var(--cpc-color-line);
  padding-top: clamp(1.5rem,3vw,2.5rem);
}
.cpc-service-section .cpc-heading {
  font-size: clamp(1.5rem,1.05rem + 1.5vw,2.65rem);
  max-width: 12ch;
  position: sticky;
  top: 6.5rem;
}
.cpc-service-dynamic,.cpc-service-section .cpc-copy { min-width: 0; }
.cpc-detail-list,.cpc-addon-list { max-width: none; padding-left: 1.2rem; }
.cpc-detail-list li,.cpc-addon-list li { padding-left: .3rem; }

.cpc-process-list { border-top: 2px solid var(--cpc-color-ink); }
.cpc-process-item { grid-template-columns: 3.2rem minmax(0,1fr); padding-block: clamp(1rem,2vw,1.4rem); }
.cpc-process-item__number { color: var(--cpc-color-brand-strong); font-weight: 950; }
.cpc-process-item strong { font-size: var(--cpc-text-lg); }

.cpc-service-section--pricing {
  background: var(--cpc-color-brand) !important;
  color: var(--cpc-color-ink);
}
.cpc-service-section--pricing .cpc-container { border-top-color: var(--cpc-color-ink); }
.cpc-pricing-note { max-width: 52rem; }
.cpc-price-lead { font-size: clamp(2rem,1.4rem + 2vw,3.75rem); line-height: 1; letter-spacing: -.04em; }

.cpc-service-section--inspection-approval { background: var(--cpc-color-ink) !important; color: #fff; }
.cpc-service-section--inspection-approval .cpc-container { border-top-color: rgba(255,255,255,.2); }
.cpc-service-section--inspection-approval .cpc-copy { color: rgba(255,255,255,.76); font-size: var(--cpc-text-lg); }

.cpc-service-section--qc { background: #fff; }
.cpc-service-section--aftercare-warranty { background: var(--cpc-color-paper); }
.cpc-aftercare { max-width: 52rem; }

.cpc-service-section--faq { background: #fff; }
.cpc-faq-list { border-top: 2px solid var(--cpc-color-ink); }
.cpc-faq-item { padding-block: clamp(1rem,2vw,1.4rem); }
.cpc-faq-item summary { font-size: var(--cpc-text-lg); list-style-position: outside; }
.cpc-faq-item__answer { max-width: 58rem; }

.cpc-service-section--final-cta {
  background: var(--cpc-color-ink) !important;
  color: #fff;
  border-top: .55rem solid var(--cpc-color-brand);
}
.cpc-service-section--final-cta .cpc-container { border-top: 0; }
.cpc-service-section--final-cta .cpc-heading { position: static; max-width: 10ch; font-size: clamp(2rem,1.2rem + 3vw,4.5rem); }
.cpc-service-section--final-cta .cpc-copy { color: rgba(255,255,255,.68); }

@media (max-width: 900px) {
  .cpc-service-section .cpc-container { grid-template-columns: 1fr; gap: 1.4rem; }
  .cpc-service-section .cpc-heading { position: static; max-width: 18ch; }
  .cpc-category-decision__service { justify-self: start; }
}
@media (max-width: 767px) {
  .cpc-category-hero .cpc-copy,.cpc-service-hero .cpc-copy { font-size: var(--cpc-text-base); }
  .cpc-category-section--services .cpc-service-card--category.no-media { grid-template-columns: 2.5rem minmax(0,1fr); }
  .cpc-category-decision__intro { font-size: var(--cpc-text-base); }
  .cpc-service-hero .cpc-container { min-height: auto; padding-block: clamp(5rem,18vw,8rem); }
}

/* Standalone commercial money pages */
.cpc-money-hero { position: relative; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.14); }
.cpc-money-hero::after { content:"BODY / REPAIR"; position:absolute; right:-.03em; bottom:-.16em; font:900 clamp(5rem,16vw,15rem)/.8 var(--cpc-font-display); letter-spacing:-.075em; color:rgba(255,255,255,.035); pointer-events:none; }
.cpc-money-hero__inner { min-height:min(78vh,52rem); display:flex; flex-direction:column; justify-content:center; gap:var(--cpc-space-5); position:relative; z-index:1; }
.cpc-money-hero__copy { max-width:58ch; color:rgba(255,255,255,.74); }
.cpc-money-hero .cpc-service-area-label { color:var(--cpc-color-brand); }
.cpc-money-section__inner { display:grid; grid-template-columns:minmax(13rem,.55fr) minmax(0,1.45fr); gap:clamp(2rem,6vw,7rem); align-items:start; }
.cpc-money-section__inner > .cpc-heading { font-size:clamp(1.8rem,3vw,3.2rem); max-width:12ch; position:sticky; top:2rem; }
.cpc-money-list { border-top:1px solid var(--cpc-color-line); }
.cpc-money-row { display:grid; grid-template-columns:3rem minmax(0,1fr); gap:1.25rem; padding-block:1.4rem; border-bottom:1px solid var(--cpc-color-line); }
.cpc-money-row__num { font:900 var(--cpc-text-xs)/1 var(--cpc-font-body); color:var(--cpc-color-brand-strong); padding-top:.35rem; }
.cpc-money-row h3 { font-size:var(--cpc-text-lg); margin-bottom:.35rem; }
.cpc-money-row p { color:var(--cpc-color-muted); max-width:62ch; }
.cpc-money-note { padding:clamp(1.25rem,3vw,2.2rem); border-left:.35rem solid var(--cpc-color-brand); background:var(--cpc-color-surface); max-width:68ch; }
.cpc-money-note p { margin:0; }
.cpc-money-section--final .cpc-money-section__inner > .cpc-heading { color:var(--cpc-color-surface); }
.cpc-money-section--final .cpc-copy { color:rgba(255,255,255,.72); }
@media (max-width:767px) {
  .cpc-money-hero__inner { min-height:auto; padding-block:clamp(5rem,18vw,7rem); }
  .cpc-money-section__inner { grid-template-columns:1fr; gap:1.5rem; }
  .cpc-money-section__inner > .cpc-heading { position:static; max-width:16ch; }
  .cpc-money-row { grid-template-columns:2.4rem minmax(0,1fr); gap:.8rem; }
}

/* Visual Custom Pass 03 — premium interaction + mobile conversion */
.cpc-site-header {
  position: sticky;
  top: 0;
  background: rgba(255,255,255,.97);
  border-bottom-color: rgba(17,18,20,.14);
}
.cpc-site-header::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: .32rem;
  background: var(--cpc-color-brand);
}
.cpc-site-brand {
  font-size: clamp(.86rem,.8rem + .25vw,1rem);
  font-weight: 950;
  letter-spacing: .12em;
}
.cpc-site-header__cta-embed .cpc-button { box-shadow: none; }

.cpc-home-hero .cpc-display,
.cpc-category-hero .cpc-display,
.cpc-service-hero .cpc-display,
.cpc-money-hero .cpc-display {
  text-wrap: balance;
  text-transform: none;
}
.cpc-home-hero .cpc-button,
.cpc-service-hero .cpc-button,
.cpc-money-hero .cpc-button {
  min-width: min(100%, 13rem);
}

.cpc-category-card,
.cpc-service-card--featured,
.cpc-service-card--category {
  transition: padding-left var(--cpc-duration-base) var(--cpc-ease), border-color var(--cpc-duration-base) var(--cpc-ease);
}
@media (hover:hover) and (pointer:fine) {
  .cpc-category-card:hover,
  .cpc-service-card--featured:hover,
  .cpc-service-card--category:hover {
    padding-left: .65rem;
    border-bottom-color: var(--cpc-color-ink);
  }
  .cpc-category-card:hover .cpc-category-card__link,
  .cpc-service-card:hover .cpc-service-card__detail {
    text-decoration-color: var(--cpc-color-brand-strong);
  }
}

.cpc-process-item__number,
.cpc-money-row__num { font-variant-numeric: tabular-nums; }
.cpc-process-item strong { font-size: var(--cpc-text-lg); }
.cpc-process-item p { max-width: 54ch; }
.cpc-pricing-note {
  padding: clamp(1.25rem,3vw,2rem);
  border-left: .35rem solid var(--cpc-color-brand);
  background: #fff;
}
.cpc-pricing-note p + p { margin-top: .65rem; }
.cpc-faq-item summary {
  list-style: none;
  display: grid;
  grid-template-columns: minmax(0,1fr) 1.5rem;
  gap: 1rem;
  align-items: start;
  font-size: var(--cpc-text-lg);
}
.cpc-faq-item summary::-webkit-details-marker { display:none; }
.cpc-faq-item summary::after {
  content: "+";
  font: 700 1.4rem/1 var(--cpc-font-display);
  text-align: center;
  transition: transform var(--cpc-duration-fast) var(--cpc-ease);
}
.cpc-faq-item[open] summary::after { transform: rotate(45deg); }
.cpc-faq-item[open] { border-bottom-color: var(--cpc-color-ink); }

.cpc-mobile-conversion { display: none; }
@media (max-width: 767px) {
  body.cpc-bricks.cpc-has-mobile-conversion { padding-bottom: calc(5.75rem + env(safe-area-inset-bottom)); }
  .cpc-site-header { top: 0; }
  .admin-bar .cpc-site-header { top: 46px; }
  .cpc-site-header::before { width: .25rem; }
  .cpc-site-brand { font-size: .78rem; letter-spacing: .1em; }
  .cpc-site-header__cta-embed { display: none; }
  .cpc-mobile-conversion {
    display: block;
    position: fixed;
    z-index: 9998;
    left: 0;
    right: 0;
    bottom: 0;
    padding: .7rem max(.8rem, env(safe-area-inset-right)) calc(.7rem + env(safe-area-inset-bottom)) max(.8rem, env(safe-area-inset-left));
    background: var(--cpc-color-ink);
    border-top: 1px solid rgba(255,255,255,.16);
  }
  .cpc-mobile-conversion__inner {
    width: min(100%, 42rem);
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0,.8fr) minmax(10.5rem,1.2fr);
    gap: .75rem;
    align-items: center;
  }
  .cpc-mobile-conversion__eyebrow {
    color: rgba(255,255,255,.68);
    font: 850 .68rem/1.15 var(--cpc-font-body);
    letter-spacing: .09em;
    text-transform: uppercase;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .cpc-mobile-conversion .cpc-button {
    width: 100%;
    min-height: 3.15rem;
    padding: .78rem .9rem;
    font-size: .83rem;
  }
  .cpc-faq-item summary { font-size: var(--cpc-text-base); }
  .cpc-process-item strong { font-size: var(--cpc-text-base); }
}

/* =========================================================
   CPC Brand Signature — Visual Pass 04
   Image-ready editorial system. Placeholder media appears on staging only.
   ========================================================= */
.cpc-wordmark {
  display: inline-flex;
  align-items: stretch;
  gap: .42rem;
  font-family: var(--cpc-font-display);
  font-size: clamp(.82rem,.76rem + .2vw,.94rem);
  font-weight: 950;
  line-height: 1;
  letter-spacing: .055em;
  white-space: nowrap;
}
.cpc-wordmark__carpoint { display:flex; align-items:center; }
.cpc-wordmark__care {
  display:flex;
  align-items:center;
  padding: .45em .52em .4em;
  background: var(--cpc-color-brand);
  color: var(--cpc-color-ink);
  letter-spacing: .02em;
}
.cpc-site-header__inner { min-height: 4rem; }
.cpc-site-brand { display:flex; align-items:center; }

/* Signature section numbering: architecture stays dynamic; numbering follows automatically. */
#brx-content { counter-reset: cpc-section; }
.cpc-home-section,
.cpc-category-section,
.cpc-service-section,
.cpc-money-section { counter-increment: cpc-section; }
.cpc-home-section > .cpc-container > .cpc-heading::before,
.cpc-category-section > .cpc-container > .cpc-heading::before,
.cpc-service-section > .cpc-container > .cpc-heading::before,
.cpc-money-section > .cpc-container > .cpc-heading::before {
  content: "0" counter(cpc-section) " /";
  display: block;
  margin-bottom: .85rem;
  color: var(--cpc-color-brand-strong);
  font: 950 var(--cpc-text-xs)/1 var(--cpc-font-body);
  letter-spacing: .13em;
}
.cpc-surface--ink > .cpc-container > .cpc-heading::before,
.cpc-service-section--inspection-approval > .cpc-container > .cpc-heading::before,
.cpc-service-section--final-cta > .cpc-container > .cpc-heading::before,
.cpc-money-section--final > .cpc-container > .cpc-heading::before { color: var(--cpc-color-brand); }

/* Universal replaceable media frame. No decorative gradient, no fake photography. */
.cpc-context-media {
  position: relative;
  margin: 0;
  min-height: 22rem;
  overflow: hidden;
  background: var(--cpc-color-ink-soft);
  border: 1px solid rgba(255,255,255,.16);
  isolation: isolate;
}
.cpc-context-media::after {
  content: "";
  position: absolute;
  inset: auto 0 0 auto;
  width: clamp(4rem,10vw,8rem);
  height: .5rem;
  background: var(--cpc-color-brand);
  z-index: 2;
}
.cpc-context-media img { width:100%; height:100%; object-fit:cover; display:block; }
.cpc-context-media.is-empty {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr auto;
  gap: 1rem;
  padding: clamp(1.25rem,3vw,2rem);
  color: rgba(255,255,255,.7);
}
.cpc-context-media.is-empty::before {
  content: "";
  position:absolute;
  inset:1rem;
  border:1px solid rgba(255,255,255,.09);
  pointer-events:none;
}
.cpc-context-media__index { font:900 var(--cpc-text-xs)/1 var(--cpc-font-body); letter-spacing:.14em; color:var(--cpc-color-brand); }
.cpc-context-media__label { align-self:center; max-width:10ch; font:950 clamp(2rem,1.2rem + 3vw,4.5rem)/.9 var(--cpc-font-display); letter-spacing:-.055em; color:#fff; }
.cpc-context-media__note { grid-column:1 / -1; font:800 var(--cpc-text-xs)/1.2 var(--cpc-font-body); letter-spacing:.1em; color:rgba(255,255,255,.42); }

/* Homepage hero — copy + media, not a generic centered landing hero. */
.cpc-home-hero .cpc-container {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(20rem,.78fr);
  grid-template-rows:auto;
  column-gap:clamp(2rem,6vw,7rem);
  align-content:center;
  align-items:center;
}
.cpc-home-hero__eyebrow,
.cpc-home-hero .cpc-display,
.cpc-home-hero__copy,
.cpc-home-hero__area,
.cpc-home-hero .cpc-booking-cta-embed { grid-column:1; }
.cpc-home-hero__media-embed { grid-column:2; grid-row:1 / span 5; align-self:stretch; min-height:32rem; }
.cpc-home-hero__media { height:100%; min-height:32rem; }

/* Category hero — asymmetric and image ready. */
.cpc-category-hero .cpc-container {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);
  gap:clamp(2rem,6vw,6rem);
  align-items:center;
}
.cpc-category-hero .cpc-display,
.cpc-category-hero .cpc-copy { grid-column:1; }
.cpc-category-hero__media-embed { grid-column:2; grid-row:1 / span 2; min-height:24rem; }
.cpc-category-hero__media { height:100%; min-height:24rem; }

/* Service hero — make existing media slot part of the signature system. */
.cpc-service-hero .cpc-container {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(19rem,.78fr);
  gap:1rem clamp(2rem,6vw,6rem);
  align-items:center;
}
.cpc-service-hero .cpc-display,
.cpc-service-hero .cpc-copy,
.cpc-service-hero-meta-embed,
.cpc-service-hero .cpc-booking-cta-embed { grid-column:1; }
.cpc-service-hero-media-embed { grid-column:2; grid-row:1 / span 4; min-height:28rem; }
.cpc-service-hero-media { height:100%; min-height:28rem; }

/* Money page hero — same brand DNA, more repair-oriented ratio. */
.cpc-money-hero__inner {
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(20rem,.8fr);
  gap:1rem clamp(2rem,6vw,7rem);
  align-items:center;
}
.cpc-money-hero__eyebrow,
.cpc-money-hero .cpc-display,
.cpc-money-hero__copy,
.cpc-money-hero__area,
.cpc-money-hero__cta { grid-column:1; }
.cpc-money-hero__media-embed { grid-column:2; grid-row:1 / span 5; min-height:32rem; }
.cpc-money-hero__media { height:100%; min-height:32rem; }

/* Stronger editorial rhythm without adding card clutter. */
.cpc-home-section .cpc-heading,
.cpc-category-section .cpc-heading,
.cpc-service-section .cpc-heading,
.cpc-money-section .cpc-heading { letter-spacing:-.045em; }
.cpc-category-card__title a,
.cpc-service-card__title a { transition:opacity var(--cpc-duration-fast) var(--cpc-ease); }
.cpc-category-card__title a:hover,
.cpc-service-card__title a:hover { opacity:.58; }

@media (max-width: 900px) {
  .cpc-home-hero .cpc-container,
  .cpc-category-hero .cpc-container,
  .cpc-service-hero .cpc-container,
  .cpc-money-hero__inner { grid-template-columns:1fr; }
  .cpc-home-hero__eyebrow,
  .cpc-home-hero .cpc-display,
  .cpc-home-hero__copy,
  .cpc-home-hero__area,
  .cpc-home-hero .cpc-booking-cta-embed,
  .cpc-category-hero .cpc-display,
  .cpc-category-hero .cpc-copy,
  .cpc-service-hero .cpc-display,
  .cpc-service-hero .cpc-copy,
  .cpc-service-hero-meta-embed,
  .cpc-service-hero .cpc-booking-cta-embed,
  .cpc-money-hero__eyebrow,
  .cpc-money-hero .cpc-display,
  .cpc-money-hero__copy,
  .cpc-money-hero__area,
  .cpc-money-hero__cta { grid-column:1; }
  .cpc-home-hero__media-embed,
  .cpc-category-hero__media-embed,
  .cpc-service-hero-media-embed,
  .cpc-money-hero__media-embed { grid-column:1; grid-row:auto; min-height:0; margin-top:1rem; }
  .cpc-home-hero__media,
  .cpc-category-hero__media,
  .cpc-service-hero-media,
  .cpc-money-hero__media { min-height:clamp(18rem,72vw,30rem); }
}

@media (max-width: 520px) {
  .cpc-wordmark { font-size:.78rem; }
  .cpc-context-media.is-empty { min-height:17rem; }
  .cpc-context-media__label { font-size:clamp(1.8rem,10vw,3rem); }
  .cpc-home-section > .cpc-container > .cpc-heading::before,
  .cpc-category-section > .cpc-container > .cpc-heading::before,
  .cpc-service-section > .cpc-container > .cpc-heading::before,
  .cpc-money-section > .cpc-container > .cpc-heading::before { margin-bottom:.65rem; }
}

/* =========================================================
   CPC Visual Pass 05 — Image State + Conversion Finishing
   Dummy media is intentionally lightweight; real media can replace Featured Image later.
   ========================================================= */
.cpc-context-media.has-media {
  min-height: 0;
  aspect-ratio: 16 / 10;
  background: #070809;
  box-shadow: 0 18px 60px rgba(0,0,0,.18);
}
.cpc-context-media.has-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.92) contrast(1.03);
  transform: scale(1.001);
  transition: transform 520ms var(--cpc-ease), filter 260ms var(--cpc-ease);
}
@media (hover:hover) {
  .cpc-context-media.has-media:hover img { transform: scale(1.025); filter: saturate(1) contrast(1.04); }
}

/* Keep lightweight dummy assets crisp enough for staging; do not force tall upscaling. */
.cpc-home-hero__media-embed,
.cpc-category-hero__media-embed,
.cpc-service-hero-media-embed,
.cpc-money-hero__media-embed { min-height: 0; align-self: center; }
.cpc-home-hero__media,
.cpc-category-hero__media,
.cpc-service-hero-media,
.cpc-money-hero__media { min-height: 0; aspect-ratio: 16 / 10; }

/* Category cards: visual first, but still editorial rather than rounded-card grid. */
.cpc-category-card.has-media {
  grid-template-columns: minmax(10rem, 38%) minmax(0,1fr);
  align-items: stretch;
  gap: clamp(1.15rem,2.6vw,2.25rem);
}
.cpc-category-card.has-media .cpc-category-card__media {
  aspect-ratio: 4 / 3;
  min-height: 100%;
  background: #0b0c0d;
}
.cpc-category-card__media img,
.cpc-service-card__media img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 420ms var(--cpc-ease), filter 220ms var(--cpc-ease);
  filter:saturate(.9) contrast(1.02);
}
@media (hover:hover) {
  .cpc-category-card:hover .cpc-category-card__media img,
  .cpc-service-card:hover .cpc-service-card__media img { transform:scale(1.025); filter:saturate(1) contrast(1.04); }
}

/* Featured services: image + strong title + direct action. */
.cpc-service-card--featured.has-media .cpc-service-card__media {
  display:block;
  aspect-ratio: 16 / 9;
  margin: 0 0 1.25rem;
  overflow:hidden;
  background:#0b0c0d;
}
.cpc-service-card--featured.has-media::before { margin-bottom:.8rem; }
.cpc-service-card--featured .cpc-service-card__wa {
  display:inline-flex;
  align-items:center;
  min-height:2.7rem;
  padding:.72rem .9rem;
  background:var(--cpc-color-ink);
  color:#fff;
  text-decoration:none;
  border:1px solid var(--cpc-color-ink);
  transition:background-color var(--cpc-duration-fast) var(--cpc-ease), color var(--cpc-duration-fast) var(--cpc-ease);
}
.cpc-service-card--featured .cpc-service-card__wa:hover { background:var(--cpc-color-brand); color:var(--cpc-color-ink); }

/* Final conversion sections: stronger close without adding visual clutter. */
.cpc-home-section--final-booking .cpc-button,
.cpc-service-section--final-cta .cpc-button,
.cpc-category-section--final-cta .cpc-button,
.cpc-money-section--final .cpc-button { min-height:3.65rem; padding-inline:1.55rem; }

/* Mobile: image gets room, copy stays readable, CTA remains thumb-friendly. */
@media (max-width: 900px) {
  .cpc-context-media.has-media,
  .cpc-home-hero__media,
  .cpc-category-hero__media,
  .cpc-service-hero-media,
  .cpc-money-hero__media { aspect-ratio: 16 / 10; }
  .cpc-category-card.has-media { grid-template-columns:1fr; gap:1rem; }
  .cpc-category-card.has-media .cpc-category-card__media { aspect-ratio:16 / 9; min-height:0; }
}
@media (max-width: 520px) {
  .cpc-context-media.has-media,
  .cpc-home-hero__media,
  .cpc-category-hero__media,
  .cpc-service-hero-media,
  .cpc-money-hero__media { aspect-ratio: 4 / 3; }
  .cpc-service-card--featured.has-media .cpc-service-card__media { aspect-ratio: 4 / 3; }
}

/* =========================================================
   CPC Product & Pricing Foundation — v0.9.0
   Packages are private CMS records rendered into public service/hub pages.
   ========================================================= */
.cpc-package-hub-hero { position:relative; overflow:hidden; }
.cpc-package-hub-hero .cpc-display { max-width:10ch; }
.cpc-package-hub-hero .cpc-copy { color:rgba(255,255,255,.72); }
.cpc-package-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1rem,2.5vw,2rem); align-items:start; }
.cpc-package-card { position:relative; display:flex; flex-direction:column; gap:1.25rem; padding:clamp(1.3rem,2.5vw,2rem); border:1px solid var(--cpc-color-line); background:#fff; }
.cpc-package-card.is-featured { border-color:var(--cpc-color-ink); box-shadow:inset 0 .38rem 0 var(--cpc-color-brand); }
.cpc-package-card__badge { display:inline-flex; align-self:flex-start; padding:.42rem .58rem; background:var(--cpc-color-brand); color:var(--cpc-color-ink); font:900 var(--cpc-text-xs)/1 var(--cpc-font-body); text-transform:uppercase; letter-spacing:.08em; }
.cpc-package-card__title { font-size:clamp(1.65rem,1.25rem + 1.2vw,2.65rem); line-height:.98; letter-spacing:-.05em; }
.cpc-package-card__tagline { margin-top:.55rem; color:var(--cpc-color-muted); max-width:42ch; }
.cpc-package-card__meta { display:flex; flex-wrap:wrap; gap:.55rem 1rem; margin-top:.9rem; font-weight:900; }
.cpc-package-prices { border-top:2px solid var(--cpc-color-ink); }
.cpc-package-price-row { display:grid; grid-template-columns:2.7rem minmax(0,1fr) auto; gap:1rem; align-items:center; padding:.9rem 0; border-bottom:1px solid var(--cpc-color-line); }
.cpc-package-price-row strong { font-size:var(--cpc-text-lg); }
.cpc-package-price-row span { color:var(--cpc-color-muted); }
.cpc-package-price-row b { white-space:nowrap; }
.cpc-package-benefits { margin:0; padding-left:1.1rem; display:grid; gap:.45rem; }
.cpc-package-services { display:flex; flex-wrap:wrap; gap:.45rem .8rem; align-items:center; padding-top:1rem; border-top:1px solid var(--cpc-color-line); }
.cpc-package-services > span { font-weight:900; margin-right:.2rem; }
.cpc-package-services a { font-size:var(--cpc-text-sm); }
.cpc-package-card__recommended,.cpc-package-card__pricing-note { color:var(--cpc-color-muted); }
.cpc-package-card__cta { margin-top:auto; align-self:flex-start; }
.cpc-service-section--packages { background:var(--cpc-color-paper); }
.cpc-service-section--packages .cpc-container { display:grid; grid-template-columns:minmax(12rem,.45fr) minmax(0,1.55fr); gap:clamp(2rem,5vw,6rem); align-items:start; }
.cpc-service-section--packages .cpc-heading { position:sticky; top:2rem; }
@media (max-width:900px) {
  .cpc-package-grid { grid-template-columns:1fr; }
  .cpc-service-section--packages .cpc-container { grid-template-columns:1fr; }
  .cpc-service-section--packages .cpc-heading { position:static; }
}
@media (max-width:520px) {
  .cpc-package-price-row { grid-template-columns:2.2rem minmax(0,1fr); gap:.65rem; }
  .cpc-package-price-row b { grid-column:2; }
  .cpc-package-card__cta { width:100%; }
}
.cpc-service-section--vehicle-pricing { background:#fff; }
.cpc-service-section--vehicle-pricing .cpc-container { display:grid; grid-template-columns:minmax(12rem,.45fr) minmax(0,1.55fr); gap:clamp(2rem,5vw,6rem); align-items:start; }
.cpc-service-section--vehicle-pricing .cpc-heading { position:sticky; top:2rem; }
@media (max-width:900px) {
  .cpc-service-section--vehicle-pricing .cpc-container { grid-template-columns:1fr; }
  .cpc-service-section--vehicle-pricing .cpc-heading { position:static; }
}

/* Service directory / product catalogue */
.cpc-directory-hero .cpc-copy { color:rgba(255,255,255,.72); max-width:56rem; }
.cpc-service-directory { display:grid; gap:clamp(4rem,8vw,8rem); }
.cpc-service-directory__group { display:grid; grid-template-columns:minmax(12rem,.4fr) minmax(0,1.6fr); gap:clamp(2rem,5vw,6rem); align-items:start; }
.cpc-service-directory__heading { position:sticky; top:2rem; }
.cpc-service-directory__heading h2 { margin-top:.65rem; font-size:clamp(2rem,1.4rem + 2vw,4rem); line-height:.95; letter-spacing:-.055em; }
.cpc-service-directory__group .cpc-service-list { min-width:0; }
.cpc-service-directory__repair { padding:clamp(1.5rem,4vw,3rem); display:grid; gap:1rem; }
.cpc-service-directory__repair h2 { font-size:clamp(2rem,1.4rem + 2vw,4rem); letter-spacing:-.055em; }
.cpc-service-directory__repair p { max-width:54ch; color:rgba(255,255,255,.72); }
.cpc-service-directory__repair .cpc-button { justify-self:start; }
.cpc-directory-final .cpc-copy { color:rgba(255,255,255,.72); }
@media (max-width:900px) {
  .cpc-service-directory__group { grid-template-columns:1fr; gap:1.5rem; }
  .cpc-service-directory__heading { position:static; }
}


/* =========================================================
   CPC HEADER INTEGRATION — v0.9.6
   Dark navigation shell continuous with hero.
   ========================================================= */
.cpc-site-header{
  position:sticky !important;
  top:0;
  z-index:120;
  width:100%;
  padding:0 !important;
  background:#0b0c0d !important;
  color:#fff !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  box-shadow:none !important;
}
.admin-bar .cpc-site-header{top:32px;}
.cpc-site-header .cpc-site-header__inner{
  width:min(calc(100% - 48px),1180px) !important;
  max-width:1180px !important;
  min-height:72px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:clamp(24px,4vw,54px) !important;
}
.cpc-site-brand{display:flex !important;align-items:center !important;min-width:max-content;}
.cpc-wordmark-link{display:inline-flex;align-items:center;color:#fff !important;text-decoration:none !important;}
.cpc-site-header .cpc-wordmark{font-size:13px !important;line-height:1 !important;letter-spacing:.075em !important;gap:7px !important;}
.cpc-site-header .cpc-wordmark__carpoint{color:#fff !important;}
.cpc-site-header .cpc-wordmark__care{padding:5px 7px 4px !important;background:#ffd400 !important;color:#0b0c0d !important;}
.cpc-site-nav-embed{min-width:0;justify-self:center;}
.cpc-site-navigation{display:flex;align-items:center;justify-content:center;min-width:0;}
.cpc-site-nav__desktop{display:flex;align-items:center;justify-content:center;gap:clamp(20px,2.1vw,31px);white-space:nowrap;}
.cpc-site-nav__desktop a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:72px;
  color:rgba(255,255,255,.66) !important;
  font-size:13px;
  font-weight:650;
  line-height:1;
  text-decoration:none !important;
  transition:color 180ms ease;
}
.cpc-site-nav__desktop a::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:#ffd400;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform 180ms ease;
}
.cpc-site-nav__desktop a:hover,
.cpc-site-nav__desktop a.is-current{color:#fff !important;}
.cpc-site-nav__desktop a:hover::after,
.cpc-site-nav__desktop a.is-current::after{transform:scaleX(1);}
.cpc-site-header__cta-embed{margin:0 !important;justify-self:end;}
.cpc-site-header .cpc-site-header__cta{
  width:auto !important;
  min-height:42px !important;
  padding:0 18px !important;
  border:1px solid #ffd400 !important;
  border-radius:0 !important;
  background:#ffd400 !important;
  color:#0b0c0d !important;
  font-size:12px !important;
  font-weight:900 !important;
  box-shadow:none !important;
}
.cpc-site-header .cpc-site-header__cta:hover{background:#fff !important;border-color:#fff !important;}
.cpc-site-nav__mobile{display:none;position:relative;}
.cpc-site-nav__mobile summary{list-style:none;cursor:pointer;}
.cpc-site-nav__mobile summary::-webkit-details-marker{display:none;}
@media (max-width:900px){
  .admin-bar .cpc-site-header{top:46px;}
  .cpc-site-header .cpc-site-header__inner{
    width:min(calc(100% - 32px),1180px) !important;
    min-height:64px !important;
    grid-template-columns:auto 1fr auto !important;
    gap:16px !important;
  }
  .cpc-site-nav-embed{justify-self:end;}
  .cpc-site-nav__desktop{display:none;}
  .cpc-site-nav__mobile{display:block;}
  .cpc-site-nav__mobile summary{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:42px;
    padding:0 2px;
    color:#fff;
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
  }
  .cpc-site-nav__mobile summary i,
  .cpc-site-nav__mobile summary i::before,
  .cpc-site-nav__mobile summary i::after{
    display:block;
    width:20px;
    height:1.5px;
    background:#ffd400;
  }
  .cpc-site-nav__mobile summary i{position:relative;}
  .cpc-site-nav__mobile summary i::before,
  .cpc-site-nav__mobile summary i::after{content:'';position:absolute;left:0;}
  .cpc-site-nav__mobile summary i::before{top:-6px;}
  .cpc-site-nav__mobile summary i::after{top:6px;}
  .cpc-site-nav__mobile-panel{
    position:absolute;
    top:calc(100% + 11px);
    right:0;
    width:min(340px,calc(100vw - 32px));
    padding:18px;
    background:#0b0c0d;
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 20px 45px rgba(0,0,0,.32);
  }
  .cpc-site-nav__mobile-panel nav{display:grid;}
  .cpc-site-nav__mobile-panel nav a{
    padding:14px 2px;
    color:rgba(255,255,255,.76) !important;
    border-bottom:1px solid rgba(255,255,255,.10);
    font-size:15px;
    font-weight:750;
    text-decoration:none !important;
  }
  .cpc-site-nav__mobile-panel nav a.is-current{color:#ffd400 !important;}
  .cpc-site-nav__mobile-cta{width:100% !important;margin-top:18px !important;justify-content:center !important;}
}
@media (max-width:680px){
  .cpc-site-header__cta-embed{display:none !important;}
  .cpc-site-header .cpc-site-header__inner{grid-template-columns:auto 1fr !important;}
  .cpc-site-header .cpc-wordmark{font-size:12px !important;}
}

/* =========================================================
   CPC HEADER LIGHT SHELL — v0.9.7
   Reference pattern: clean cream shell, centered navigation,
   contact + CTA on the right. Global and intentionally simple.
   ========================================================= */
.cpc-site-header{
  position:sticky !important;
  top:0 !important;
  z-index:120 !important;
  width:100% !important;
  padding:0 !important;
  background:#f7f0df !important;
  color:#111820 !important;
  border:0 !important;
  box-shadow:none !important;
}
.admin-bar .cpc-site-header{top:32px !important;}
.cpc-site-header .cpc-site-header__inner{
  position:relative !important;
  width:min(calc(100% - 48px),1240px) !important;
  max-width:1240px !important;
  min-height:76px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:clamp(28px,4vw,60px) !important;
}
.cpc-site-header .cpc-site-header__inner::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:rgba(17,24,32,.12);
}
.cpc-site-brand{display:flex !important;align-items:center !important;min-width:max-content !important;}
.cpc-wordmark-link{display:inline-flex !important;align-items:center !important;color:#111820 !important;text-decoration:none !important;}
.cpc-site-header .cpc-wordmark{
  gap:8px !important;
  font-size:16px !important;
  line-height:1 !important;
  letter-spacing:.035em !important;
  color:#111820 !important;
}
.cpc-site-header .cpc-wordmark__carpoint{color:#111820 !important;}
.cpc-site-header .cpc-wordmark__care{
  padding:5px 7px 4px !important;
  background:#ffd400 !important;
  color:#111820 !important;
  border-radius:2px !important;
}
.cpc-site-nav-embed{min-width:0 !important;justify-self:center !important;}
.cpc-site-navigation{display:flex !important;align-items:center !important;justify-content:center !important;min-width:0 !important;}
.cpc-site-nav__desktop{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(22px,2.5vw,34px) !important;
  white-space:nowrap !important;
}
.cpc-site-nav__desktop a{
  display:inline-flex !important;
  align-items:center !important;
  min-height:76px !important;
  padding:0 !important;
  color:#76726a !important;
  font-size:14px !important;
  font-weight:650 !important;
  line-height:1 !important;
  text-decoration:none !important;
  transition:color 160ms ease !important;
}
.cpc-site-nav__desktop a::after{display:none !important;}
.cpc-site-nav__desktop a:hover,
.cpc-site-nav__desktop a.is-current{color:#111820 !important;}
.cpc-site-header__cta-embed{margin:0 !important;justify-self:end !important;}
.cpc-site-header__actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:18px !important;
  white-space:nowrap !important;
}
.cpc-site-header__contact{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  color:#111820 !important;
  font-size:14px !important;
  font-weight:750 !important;
  text-decoration:none !important;
  transition:opacity 160ms ease !important;
}
.cpc-site-header__contact span{color:#d7ae00 !important;font-size:13px !important;}
.cpc-site-header__contact:hover{opacity:.65 !important;}
.cpc-site-header .cpc-site-header__cta{
  width:auto !important;
  min-height:46px !important;
  padding:0 22px !important;
  border:1px solid #ffd400 !important;
  border-radius:10px !important;
  background:#ffd400 !important;
  color:#111820 !important;
  font-size:13px !important;
  font-weight:900 !important;
  box-shadow:0 4px 10px rgba(17,24,32,.14) !important;
  transition:transform 160ms ease,box-shadow 160ms ease,background 160ms ease !important;
}
.cpc-site-header .cpc-site-header__cta:hover{
  background:#ffe13b !important;
  border-color:#ffe13b !important;
  transform:translateY(-1px) !important;
  box-shadow:0 7px 16px rgba(17,24,32,.16) !important;
}
.cpc-site-nav__mobile{display:none !important;position:relative !important;}
@media (max-width:1080px){
  .cpc-site-header__contact{display:none !important;}
  .cpc-site-header .cpc-site-header__inner{gap:24px !important;}
  .cpc-site-nav__desktop{gap:20px !important;}
}
@media (max-width:900px){
  .admin-bar .cpc-site-header{top:46px !important;}
  .cpc-site-header .cpc-site-header__inner{
    width:min(calc(100% - 32px),1240px) !important;
    min-height:68px !important;
    grid-template-columns:auto 1fr auto !important;
    gap:16px !important;
  }
  .cpc-site-nav-embed{justify-self:end !important;}
  .cpc-site-nav__desktop{display:none !important;}
  .cpc-site-nav__mobile{display:block !important;}
  .cpc-site-nav__mobile summary{
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
    min-height:42px !important;
    padding:0 !important;
    color:#111820 !important;
    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:.1em !important;
  }
  .cpc-site-nav__mobile summary i,
  .cpc-site-nav__mobile summary i::before,
  .cpc-site-nav__mobile summary i::after{background:#111820 !important;}
  .cpc-site-nav__mobile-panel{
    top:calc(100% + 12px) !important;
    right:0 !important;
    width:min(340px,calc(100vw - 32px)) !important;
    padding:18px !important;
    background:#f7f0df !important;
    border:1px solid rgba(17,24,32,.12) !important;
    border-radius:10px !important;
    box-shadow:0 20px 45px rgba(17,24,32,.18) !important;
  }
  .cpc-site-nav__mobile-panel nav a{
    color:#5f5b54 !important;
    border-bottom:1px solid rgba(17,24,32,.10) !important;
  }
  .cpc-site-nav__mobile-panel nav a.is-current{color:#111820 !important;}
  .cpc-site-nav__mobile-cta{
    width:100% !important;
    margin-top:18px !important;
    justify-content:center !important;
    background:#ffd400 !important;
    color:#111820 !important;
    border-radius:9px !important;
  }
}
@media (max-width:680px){
  .cpc-site-header__cta-embed{display:none !important;}
  .cpc-site-header .cpc-site-header__inner{grid-template-columns:auto 1fr !important;}
  .cpc-site-header .cpc-wordmark{font-size:14px !important;}
}

/* =========================================================
   CPC HEADER MEGA MENU — v0.9.8
   Reference-led information architecture: category rail + service grid.
   ========================================================= */
.cpc-mega-menu{
  position:static !important;
  margin:0 !important;
  padding:0 !important;
}
.cpc-mega-menu > summary{
  list-style:none !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:76px !important;
  margin:0 !important;
  padding:0 !important;
  color:#76726a !important;
  font-size:14px !important;
  font-weight:650 !important;
  line-height:1 !important;
  cursor:pointer !important;
  user-select:none !important;
}
.cpc-mega-menu > summary::-webkit-details-marker{display:none !important;}
.cpc-mega-menu > summary::marker{display:none !important;content:'' !important;}
.cpc-mega-menu > summary i{
  width:7px !important;
  height:7px !important;
  border-right:1.5px solid currentColor !important;
  border-bottom:1.5px solid currentColor !important;
  transform:rotate(45deg) translateY(-2px) !important;
  transform-origin:center !important;
  transition:transform 160ms ease !important;
}
.cpc-mega-menu[open] > summary,
.cpc-mega-menu[data-current="1"] > summary,
.cpc-mega-menu > summary:hover{color:#111820 !important;}
.cpc-mega-menu[open] > summary i{transform:rotate(225deg) translate(-1px,-1px) !important;}
.cpc-mega-menu__panel{
  position:fixed !important;
  z-index:150 !important;
  top:76px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:min(calc(100vw - 48px),1240px) !important;
  max-height:calc(100vh - 100px) !important;
  overflow:auto !important;
  display:grid !important;
  grid-template-columns:270px minmax(0,1fr) !important;
  align-items:stretch !important;
  background:#fff !important;
  color:#111820 !important;
  border:1px solid rgba(17,24,32,.10) !important;
  border-top:0 !important;
  border-radius:0 0 14px 14px !important;
  box-shadow:0 26px 70px rgba(17,24,32,.18) !important;
}
.cpc-mega-menu:not([open]) > .cpc-mega-menu__panel{display:none !important;}
.admin-bar .cpc-mega-menu__panel{top:108px !important;}
.cpc-mega-menu__rail{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  padding:30px 26px 24px !important;
  background:#f1f4f7 !important;
  border-right:1px solid rgba(17,24,32,.08) !important;
}
.cpc-mega-menu__label{
  display:block !important;
  margin:0 0 16px !important;
  color:#6d7785 !important;
  font-size:11px !important;
  font-weight:850 !important;
  letter-spacing:.08em !important;
  line-height:1 !important;
}
.cpc-mega-menu__rail nav{
  display:grid !important;
  gap:3px !important;
}
.cpc-mega-menu__rail nav a{
  display:grid !important;
  grid-template-columns:30px minmax(0,1fr) !important;
  align-items:center !important;
  gap:7px !important;
  min-height:0 !important;
  padding:12px 10px !important;
  color:#27313d !important;
  border-radius:8px !important;
  font-size:14px !important;
  font-weight:750 !important;
  line-height:1.25 !important;
  text-decoration:none !important;
  white-space:normal !important;
  transition:background 140ms ease,color 140ms ease !important;
}
.cpc-mega-menu__rail nav a::after{display:none !important;}
.cpc-mega-menu__rail nav a span{
  color:#9aa2ad !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
}
.cpc-mega-menu__rail nav a:hover,
.cpc-mega-menu__rail nav a.is-current{
  background:#fff !important;
  color:#111820 !important;
}
.cpc-mega-menu__all{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  min-height:0 !important;
  margin-top:auto !important;
  padding:18px 10px 2px !important;
  color:#111820 !important;
  border-top:1px solid rgba(17,24,32,.10) !important;
  font-size:13px !important;
  font-weight:850 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
}
.cpc-mega-menu__all::after{display:none !important;}
.cpc-mega-menu__all b{font-size:20px !important;font-weight:500 !important;}
.cpc-mega-menu__content{
  min-width:0 !important;
  padding:30px 34px 34px !important;
  background:#fff !important;
}
.cpc-mega-menu__grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:30px 34px !important;
  align-items:start !important;
}
.cpc-mega-menu__group{
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.cpc-mega-menu__group h3{
  margin:0 0 7px !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  letter-spacing:-.01em !important;
}
.cpc-mega-menu__group h3 a{
  display:inline-flex !important;
  min-height:0 !important;
  padding:0 !important;
  color:#111820 !important;
  font:inherit !important;
  text-decoration:none !important;
  white-space:normal !important;
}
.cpc-mega-menu__group h3 a::after{display:none !important;}
.cpc-mega-menu__services{
  display:grid !important;
  gap:2px !important;
}
.cpc-mega-menu__service{
  display:block !important;
  min-height:0 !important;
  padding:8px 0 !important;
  color:#343c47 !important;
  text-decoration:none !important;
  white-space:normal !important;
}
.cpc-mega-menu__service::after{display:none !important;}
.cpc-mega-menu__service strong{
  display:block !important;
  margin:0 0 3px !important;
  color:#202833 !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  transition:color 140ms ease !important;
}
.cpc-mega-menu__service small{
  display:block !important;
  color:#77818e !important;
  font-size:11px !important;
  font-weight:450 !important;
  line-height:1.42 !important;
}
.cpc-mega-menu__service:hover strong,
.cpc-mega-menu__service.is-current strong{color:#b99400 !important;}
.cpc-site-nav__mobile-label{
  display:block !important;
  padding:16px 2px 7px !important;
  color:#9a9489 !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
.cpc-site-nav__mobile-panel nav a.cpc-site-nav__mobile-sub{
  padding-left:16px !important;
  font-size:13px !important;
  color:#777168 !important;
}
@media (max-width:1080px){
  .cpc-mega-menu__panel{
    width:min(calc(100vw - 32px),1040px) !important;
    grid-template-columns:230px minmax(0,1fr) !important;
  }
  .cpc-mega-menu__grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:900px){
  .cpc-mega-menu{display:none !important;}
}

/* =========================================================
   CPC MEGA MENU POLISH — v0.9.9
   Prevent top-nav anchor rules from collapsing service cards.
   ========================================================= */
.cpc-site-nav__desktop .cpc-mega-menu__panel a{
  min-height:0 !important;
}
.cpc-site-nav__desktop .cpc-mega-menu__service{
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  padding:9px 0 10px !important;
  color:#343c47 !important;
  white-space:normal !important;
  text-decoration:none !important;
}
.cpc-site-nav__desktop .cpc-mega-menu__service strong{
  display:block !important;
  width:100% !important;
  margin:0 0 5px !important;
  color:#202833 !important;
  font-size:14px !important;
  font-weight:850 !important;
  line-height:1.22 !important;
  letter-spacing:-.01em !important;
}
.cpc-site-nav__desktop .cpc-mega-menu__service small{
  display:block !important;
  width:100% !important;
  max-width:31ch !important;
  color:#737d8a !important;
  font-size:12px !important;
  font-weight:450 !important;
  line-height:1.48 !important;
}
.cpc-site-nav__desktop .cpc-mega-menu__service:hover strong,
.cpc-site-nav__desktop .cpc-mega-menu__service.is-current strong{
  color:#9d7f00 !important;
}
.cpc-mega-menu__content{
  padding:32px 38px 36px !important;
}
.cpc-mega-menu__grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:34px 42px !important;
}
.cpc-mega-menu__group h3{
  margin:0 0 10px !important;
  font-size:14px !important;
  line-height:1.25 !important;
}
.cpc-mega-menu__services{
  gap:4px !important;
}
.cpc-mega-menu__rail{
  padding:32px 26px 26px !important;
}
.cpc-mega-menu__rail nav{
  gap:5px !important;
}
.cpc-mega-menu__rail nav a{
  padding:12px 11px !important;
  line-height:1.3 !important;
}
@media (max-width:1180px){
  .cpc-mega-menu__panel{
    width:min(calc(100vw - 32px),1120px) !important;
    grid-template-columns:245px minmax(0,1fr) !important;
  }
  .cpc-mega-menu__content{padding:30px 30px 34px !important;}
  .cpc-mega-menu__grid{gap:28px 30px !important;}
  .cpc-site-nav__desktop .cpc-mega-menu__service small{max-width:none !important;}
}
@media (max-width:980px) and (min-width:901px){
  .cpc-mega-menu__grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

/* CPC MOBILE HEADER ALIGNMENT — v0.9.10 */
@media (max-width:680px){
  .cpc-site-header .cpc-site-header__inner{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    align-items:center !important;
    width:calc(100% - 32px) !important;
    max-width:none !important;
    margin:0 auto !important;
  }
  .cpc-site-brand{
    justify-self:start !important;
  }
  .cpc-site-nav-embed{
    justify-self:end !important;
    margin-left:auto !important;
    width:auto !important;
  }
  .cpc-site-navigation{
    justify-content:flex-end !important;
    width:auto !important;
  }
  .cpc-site-nav__mobile{
    margin-left:auto !important;
    width:auto !important;
  }
  .cpc-site-nav__mobile > summary{
    justify-content:flex-end !important;
    width:auto !important;
    margin-left:auto !important;
  }
  .cpc-site-nav__mobile-panel{
    right:0 !important;
    left:auto !important;
  }
}

/* =========================================================
   CPC HOMEPAGE SECTION 02 — NEED-FIRST EDITORIAL NAV v0.9.11
   Asymmetric, text-led, interactive; intentionally not a card grid.
   ========================================================= */
body.home .cpc-home-section--needs{
  position:relative;
  overflow:clip;
  padding:0 !important;
  background:#f1f0e8 !important;
  color:#0b0c0d !important;
}
body.home .cpc-home-section--needs::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:7px;
  background:#ffd400;
}
body.home .cpc-home-section--needs .cpc-home-needs__container{
  width:min(calc(100% - 48px),1240px) !important;
  max-width:1240px !important;
  margin:0 auto !important;
  padding:clamp(76px,8vw,118px) 0 !important;
  display:block !important;
}
body.home .cpc-home-needs__grid{
  display:grid;
  grid-template-columns:minmax(280px,.68fr) minmax(0,1.32fr);
  gap:clamp(54px,7vw,108px);
  align-items:start;
}
body.home .cpc-home-needs__intro{
  position:sticky;
  top:118px;
  align-self:start;
  min-width:0;
}
body.home .cpc-home-needs__intro::after{
  content:'02';
  position:absolute;
  z-index:-1;
  right:0;
  top:-38px;
  color:rgba(11,12,13,.035);
  font-family:var(--cpc-font-display);
  font-size:clamp(110px,12vw,190px);
  font-weight:950;
  line-height:.8;
  letter-spacing:-.08em;
  pointer-events:none;
}
body.home .cpc-home-needs__eyebrow{
  display:inline-flex;
  margin:0 0 24px;
  color:#9c8200;
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.14em;
}
body.home .cpc-home-needs__intro h2{
  max-width:8.6ch;
  margin:0;
  color:#0b0c0d;
  font-family:var(--cpc-font-display);
  font-size:clamp(50px,5.1vw,76px);
  font-weight:950;
  line-height:.91;
  letter-spacing:-.065em;
}
body.home .cpc-home-needs__intro h2 span{
  color:#c8a700;
}
body.home .cpc-home-needs__intro p{
  max-width:34ch;
  margin:28px 0 0;
  color:#62615c;
  font-size:16px;
  line-height:1.65;
}
body.home .cpc-home-needs__all{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:32px;
  padding-bottom:7px;
  border-bottom:1px solid #0b0c0d;
  color:#0b0c0d !important;
  font-size:13px;
  font-weight:900;
  text-decoration:none !important;
}
body.home .cpc-home-needs__all span{
  font-size:19px;
  line-height:1;
  transition:transform 180ms ease;
}
body.home .cpc-home-needs__all:hover span{transform:translate(3px,-3px);}
body.home .cpc-home-needs__lanes{
  min-width:0;
  border-top:2px solid #0b0c0d;
}
body.home .cpc-home-need{
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 32px;
  gap:18px;
  align-items:start;
  width:auto;
  min-height:126px;
  margin:0;
  padding:24px 18px 24px 8px;
  border-bottom:1px solid #bcbab2;
  color:#0b0c0d !important;
  text-decoration:none !important;
  transition:background-color 180ms ease,color 180ms ease,transform 180ms ease,box-shadow 180ms ease,padding 180ms ease;
}
body.home .cpc-home-need:nth-child(even){
  margin-left:clamp(0px,2vw,28px);
}
body.home .cpc-home-need__index{
  padding-top:5px;
  color:#b39400;
  font-size:11px;
  font-weight:950;
  line-height:1;
  letter-spacing:.1em;
}
body.home .cpc-home-need__main{
  display:block;
  min-width:0;
}
body.home .cpc-home-need__title{
  display:block;
  margin:0 0 8px;
  color:inherit;
  font-family:var(--cpc-font-display);
  font-size:clamp(23px,1.65vw,29px);
  font-weight:950;
  line-height:1.02;
  letter-spacing:-.035em;
}
body.home .cpc-home-need__problem{
  display:block;
  max-width:54ch;
  color:#6d6b65;
  font-size:13px;
  line-height:1.5;
  transition:color 180ms ease;
}
body.home .cpc-home-need__services{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px 9px;
  margin-top:12px;
  color:#8b8880;
  font-size:10px;
  font-weight:850;
  line-height:1.3;
  letter-spacing:.055em;
  text-transform:uppercase;
  transition:color 180ms ease;
}
body.home .cpc-home-need__services b{font:inherit;}
body.home .cpc-home-need__services > span{opacity:.45;}
body.home .cpc-home-need__arrow{
  display:block;
  justify-self:end;
  padding-top:1px;
  color:#0b0c0d;
  font-size:24px;
  font-weight:400;
  line-height:1;
  transition:color 180ms ease,transform 180ms ease;
}
@media (hover:hover){
  body.home .cpc-home-need:hover{
    padding-left:20px;
    background:#0b0c0d;
    color:#fff !important;
    box-shadow:inset 6px 0 0 #ffd400;
    transform:translateX(5px);
  }
  body.home .cpc-home-need:hover .cpc-home-need__index{color:#ffd400;}
  body.home .cpc-home-need:hover .cpc-home-need__problem{color:rgba(255,255,255,.68);}
  body.home .cpc-home-need:hover .cpc-home-need__services{color:rgba(255,255,255,.56);}
  body.home .cpc-home-need:hover .cpc-home-need__arrow{
    color:#ffd400;
    transform:translate(3px,-3px);
  }
}
@media (max-width:900px){
  body.home .cpc-home-section--needs .cpc-home-needs__container{
    width:min(calc(100% - 36px),1240px) !important;
    padding:68px 0 76px !important;
  }
  body.home .cpc-home-needs__grid{
    grid-template-columns:1fr;
    gap:48px;
  }
  body.home .cpc-home-needs__intro{position:relative;top:auto;}
  body.home .cpc-home-needs__intro h2{max-width:10ch;font-size:clamp(46px,9vw,68px);}
  body.home .cpc-home-needs__intro p{max-width:44ch;}
  body.home .cpc-home-needs__intro::after{right:0;top:-24px;font-size:128px;}
  body.home .cpc-home-need:nth-child(even){margin-left:0;}
}
@media (max-width:560px){
  body.home .cpc-home-section--needs::before{width:4px;}
  body.home .cpc-home-section--needs .cpc-home-needs__container{
    width:calc(100% - 32px) !important;
    padding:56px 0 62px !important;
  }
  body.home .cpc-home-needs__grid{gap:38px;}
  body.home .cpc-home-needs__eyebrow{margin-bottom:18px;font-size:9px;}
  body.home .cpc-home-needs__intro h2{font-size:clamp(42px,13vw,58px);max-width:9ch;}
  body.home .cpc-home-needs__intro p{margin-top:20px;font-size:14px;}
  body.home .cpc-home-needs__all{margin-top:24px;}
  body.home .cpc-home-need{
    grid-template-columns:34px minmax(0,1fr) 24px;
    gap:10px;
    min-height:0;
    padding:20px 4px 20px 0;
  }
  body.home .cpc-home-need__title{font-size:22px;}
  body.home .cpc-home-need__problem{font-size:12px;}
  body.home .cpc-home-need__services{font-size:9px;gap:4px 7px;margin-top:10px;}
  body.home .cpc-home-need__arrow{font-size:20px;}
}

/* =========================================================
   CPC HOMEPAGE PRODUCT SHOWCASE — v0.9.12
   Reference-inspired product cards, reworked for CarPoint Care.
   ========================================================= */
.cpc-home-section--products{
  position:relative;
  overflow:hidden;
  background:#f7f4ec !important;
  color:#111820;
  padding-block:clamp(72px,8vw,120px) !important;
}
.cpc-home-section--products::before{
  content:'';
  position:absolute;
  top:0;
  left:50%;
  width:min(calc(100% - 48px),1240px);
  height:1px;
  transform:translateX(-50%);
  background:rgba(17,24,32,.12);
}
.cpc-home-products__container{
  width:min(calc(100% - 48px),1240px) !important;
  max-width:1240px !important;
  margin-inline:auto !important;
}
.cpc-home-products__embed,
.cpc-home-products{width:100%;}
.cpc-home-products__intro{
  max-width:820px;
  margin:0 auto clamp(42px,5vw,66px);
  text-align:center;
}
.cpc-home-products__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  margin-bottom:18px;
  padding:0 14px;
  border:1px solid rgba(17,24,32,.12);
  border-radius:999px;
  background:#fff;
  color:#8b7200;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.cpc-home-products__intro h2{
  max-width:16ch;
  margin:0 auto 16px;
  color:#111820;
  font-size:clamp(38px,4.5vw,66px);
  line-height:.98;
  letter-spacing:-.055em;
}
.cpc-home-products__intro p{
  max-width:700px;
  margin:0 auto;
  color:#6f746f;
  font-size:clamp(15px,1.25vw,18px);
  line-height:1.6;
}
.cpc-home-products__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.cpc-home-product-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(17,24,32,.10);
  border-radius:16px;
  box-shadow:0 12px 34px rgba(17,24,32,.06);
  transition:transform 220ms ease,border-color 220ms ease,box-shadow 220ms ease;
}
.cpc-home-product-card:nth-child(2),
.cpc-home-product-card:nth-child(5){transform:translateY(14px);}
.cpc-home-product-card__media{
  position:relative;
  display:block;
  height:230px;
  overflow:hidden;
  background:#111820;
  text-decoration:none !important;
}
.cpc-home-product-card__image,
.cpc-home-product-card__image-placeholder{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 420ms ease,filter 220ms ease;
}
.cpc-home-product-card__image{filter:saturate(.92) contrast(1.03);}
.cpc-home-product-card__flag{
  position:absolute;
  z-index:2;
  top:18px;
  left:18px;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 24px 0 12px;
  clip-path:polygon(0 0,100% 0,calc(100% - 12px) 50%,100% 100%,0 100%);
  background:#ffd400;
  color:#111820;
  font-size:10px;
  font-weight:950;
  letter-spacing:.07em;
}
.cpc-home-product-card__body{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:24px 24px 20px;
  flex:1;
}
.cpc-home-product-card__body h3{
  margin:0;
  font-size:clamp(22px,1.55vw,28px);
  line-height:1.02;
  letter-spacing:-.035em;
}
.cpc-home-product-card__body h3 a{
  color:#111820 !important;
  text-decoration:none !important;
}
.cpc-home-product-card__body p{
  margin:0;
  min-height:4.6em;
  color:#707781;
  font-size:14px;
  line-height:1.55;
}
.cpc-home-product-card__tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:auto;
  padding-top:4px;
}
.cpc-home-product-card__tags span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 9px;
  border:1px solid rgba(17,24,32,.12);
  border-radius:999px;
  background:#fafafa;
  color:#555d66;
  font-size:10px;
  font-weight:800;
  line-height:1;
}
.cpc-home-product-card__footer{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  min-height:86px;
  padding:16px 20px 18px 24px;
  border-top:1px dashed rgba(17,24,32,.18);
  background:#fff;
}
.cpc-home-product-card__price{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:3px;
}
.cpc-home-product-card__price span{
  color:#888e96;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.cpc-home-product-card__price strong{
  color:#111820;
  font-size:17px;
  line-height:1.15;
  letter-spacing:-.02em;
}
.cpc-home-product-card__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:44px;
  padding:0 16px;
  border-radius:10px;
  background:#111820;
  color:#fff !important;
  font-size:12px;
  font-weight:900;
  text-decoration:none !important;
  white-space:nowrap;
  transition:background 180ms ease,color 180ms ease,transform 180ms ease;
}
.cpc-home-product-card__cta span{font-size:16px;transition:transform 180ms ease;}
.cpc-home-products__more{
  display:flex;
  justify-content:center;
  margin-top:clamp(44px,5vw,70px);
}
.cpc-home-products__more a{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#111820 !important;
  font-size:14px;
  font-weight:900;
  text-decoration:none !important;
  border-bottom:2px solid #ffd400;
  padding-bottom:5px;
}
@media (hover:hover){
  .cpc-home-product-card:hover{
    transform:translateY(-6px);
    border-color:#d5b300;
    box-shadow:0 22px 48px rgba(17,24,32,.11);
  }
  .cpc-home-product-card:nth-child(2):hover,
  .cpc-home-product-card:nth-child(5):hover{transform:translateY(8px);}
  .cpc-home-product-card:hover .cpc-home-product-card__image{transform:scale(1.035);filter:saturate(1) contrast(1.05);}
  .cpc-home-product-card__cta:hover{background:#ffd400;color:#111820 !important;transform:translateY(-1px);}
  .cpc-home-product-card__cta:hover span{transform:translateX(3px);}
}
@media (max-width:980px){
  .cpc-home-products__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cpc-home-product-card:nth-child(2),
  .cpc-home-product-card:nth-child(5){transform:none;}
}
@media (max-width:620px){
  .cpc-home-section--products{padding-block:64px 76px !important;}
  .cpc-home-products__container{width:min(calc(100% - 32px),1240px) !important;}
  .cpc-home-products__intro{text-align:left;margin-bottom:34px;}
  .cpc-home-products__eyebrow{margin-bottom:14px;}
  .cpc-home-products__intro h2{max-width:11ch;margin-left:0;font-size:clamp(36px,11vw,50px);}
  .cpc-home-products__intro p{margin-left:0;font-size:15px;}
  .cpc-home-products__grid{grid-template-columns:1fr;gap:18px;}
  .cpc-home-product-card__media{height:210px;}
  .cpc-home-product-card__body{padding:22px 20px 18px;}
  .cpc-home-product-card__body p{min-height:0;}
  .cpc-home-product-card__footer{padding:15px 16px 16px 20px;}
  .cpc-home-product-card__price strong{font-size:15px;}
  .cpc-home-product-card__cta{padding-inline:14px;}
}

/* =========================================================
   CPC HOMEPAGE PRODUCT EDITORIAL HIERARCHY — v0.9.13
   1 featured + 2 medium + 3 compact. Intentionally asymmetric.
   ========================================================= */
.cpc-home-section--products{
  background:#f4efe5 !important;
  padding-block:clamp(78px,8.5vw,132px) !important;
}
.cpc-home-products__intro{
  max-width:none !important;
  margin:0 0 clamp(38px,5vw,62px) !important;
  text-align:left !important;
}
.cpc-home-products__eyebrow{
  margin-bottom:20px !important;
  background:#ffd400 !important;
  color:#111820 !important;
  border:0 !important;
  border-radius:0 !important;
  min-height:30px !important;
  padding:0 11px !important;
}
.cpc-home-products__intro-row{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:clamp(28px,6vw,90px);
  align-items:end;
  padding-bottom:28px;
  border-bottom:1px solid rgba(17,24,32,.16);
}
.cpc-home-products__intro h2{
  max-width:11ch !important;
  margin:0 !important;
  font-size:clamp(44px,5.2vw,78px) !important;
  line-height:.93 !important;
  letter-spacing:-.06em !important;
}
.cpc-home-products__intro p{
  max-width:520px !important;
  margin:0 0 5px !important;
  font-size:16px !important;
  line-height:1.65 !important;
}
.cpc-home-products__grid--editorial{
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  grid-template-rows:repeat(2,minmax(300px,1fr)) auto !important;
  gap:20px !important;
  align-items:stretch !important;
}
.cpc-home-products__grid--editorial .cpc-home-product-card{
  margin:0 !important;
  transform:none !important;
  border-radius:14px !important;
  min-height:0;
}
.cpc-home-product-card--featured{
  grid-column:1 / span 7;
  grid-row:1 / span 2;
  min-height:640px !important;
  background:#111820 !important;
  border-color:#111820 !important;
  color:#fff;
  box-shadow:0 22px 52px rgba(17,24,32,.14) !important;
}
.cpc-home-product-card--featured .cpc-home-product-card__media{
  height:350px !important;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.cpc-home-product-card--featured .cpc-home-product-card__flag{
  top:22px !important;
  left:22px !important;
  min-height:34px !important;
  padding-inline:14px 28px !important;
  font-size:11px !important;
}
.cpc-home-product-card--featured .cpc-home-product-card__body{
  padding:30px 30px 24px !important;
  gap:15px !important;
}
.cpc-home-product-card--featured .cpc-home-product-card__body h3{
  font-size:clamp(34px,3.1vw,52px) !important;
  line-height:.96 !important;
  letter-spacing:-.055em !important;
}
.cpc-home-product-card--featured .cpc-home-product-card__body h3 a{color:#fff !important;}
.cpc-home-product-card--featured .cpc-home-product-card__body p{
  max-width:52ch;
  min-height:0 !important;
  color:rgba(255,255,255,.68) !important;
  font-size:15px !important;
}
.cpc-home-product-card--featured .cpc-home-product-card__tags span{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.14) !important;
  color:rgba(255,255,255,.76) !important;
}
.cpc-home-product-card--featured .cpc-home-product-card__footer{
  min-height:96px !important;
  padding:18px 22px 18px 30px !important;
  background:#ffd400 !important;
  border-top:0 !important;
}
.cpc-home-product-card--featured .cpc-home-product-card__price span,
.cpc-home-product-card--featured .cpc-home-product-card__price strong{color:#111820 !important;}
.cpc-home-product-card--featured .cpc-home-product-card__price strong{font-size:20px !important;}
.cpc-home-product-card--featured .cpc-home-product-card__cta{
  background:#111820 !important;
  color:#fff !important;
}
.cpc-home-product-card--medium{
  grid-column:8 / -1;
  display:grid !important;
  grid-template-columns:minmax(180px,42%) minmax(0,58%) !important;
  grid-template-rows:1fr auto !important;
  min-height:300px !important;
}
.cpc-home-product-card--medium:nth-child(2){grid-row:1;}
.cpc-home-product-card--medium:nth-child(3){grid-row:2;}
.cpc-home-product-card--medium .cpc-home-product-card__media{
  grid-column:1;
  grid-row:1 / 3;
  width:100%;
  height:100% !important;
  min-height:300px;
}
.cpc-home-product-card--medium .cpc-home-product-card__flag{
  top:16px !important;
  left:14px !important;
}
.cpc-home-product-card--medium .cpc-home-product-card__body{
  grid-column:2;
  grid-row:1;
  padding:24px 24px 16px !important;
  gap:10px !important;
}
.cpc-home-product-card--medium .cpc-home-product-card__body h3{
  font-size:clamp(25px,2vw,34px) !important;
  line-height:.98 !important;
}
.cpc-home-product-card--medium .cpc-home-product-card__body p{
  min-height:0 !important;
  font-size:13px !important;
  line-height:1.5 !important;
}
.cpc-home-product-card--medium .cpc-home-product-card__tags{padding-top:0 !important;}
.cpc-home-product-card--medium .cpc-home-product-card__footer{
  grid-column:2;
  grid-row:2;
  min-height:78px !important;
  padding:13px 16px 14px 24px !important;
}
.cpc-home-product-card--medium .cpc-home-product-card__price strong{font-size:14px !important;}
.cpc-home-product-card--medium .cpc-home-product-card__cta{min-height:40px !important;padding:0 13px !important;}
.cpc-home-product-card--compact{
  grid-column:span 4;
  min-height:360px !important;
}
.cpc-home-product-card--compact .cpc-home-product-card__media{height:155px !important;}
.cpc-home-product-card--compact .cpc-home-product-card__body{
  padding:20px 20px 15px !important;
  gap:9px !important;
}
.cpc-home-product-card--compact .cpc-home-product-card__body h3{
  font-size:clamp(22px,1.55vw,28px) !important;
  line-height:1 !important;
}
.cpc-home-product-card--compact .cpc-home-product-card__body p{
  min-height:0 !important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:13px !important;
}
.cpc-home-product-card--compact .cpc-home-product-card__tags span:nth-child(3){display:none !important;}
.cpc-home-product-card--compact .cpc-home-product-card__footer{
  min-height:76px !important;
  padding:13px 14px 14px 20px !important;
}
.cpc-home-product-card--compact .cpc-home-product-card__price strong{font-size:14px !important;}
.cpc-home-product-card--compact .cpc-home-product-card__cta{
  min-height:40px !important;
  padding:0 12px !important;
  font-size:11px !important;
}
/* Small tone shifts keep the lower row from looking like a repeated template. */
.cpc-home-product-card--detailing-interior-mobil{
  background:#fff8d9 !important;
  border-color:#e8d883 !important;
}
.cpc-home-product-card--anti-karat-mobil{
  background:#171b20 !important;
  border-color:#171b20 !important;
}
.cpc-home-product-card--anti-karat-mobil .cpc-home-product-card__body h3 a,
.cpc-home-product-card--anti-karat-mobil .cpc-home-product-card__price strong{color:#fff !important;}
.cpc-home-product-card--anti-karat-mobil .cpc-home-product-card__body p,
.cpc-home-product-card--anti-karat-mobil .cpc-home-product-card__price span{color:rgba(255,255,255,.62) !important;}
.cpc-home-product-card--anti-karat-mobil .cpc-home-product-card__tags span{
  background:rgba(255,255,255,.05) !important;
  border-color:rgba(255,255,255,.14) !important;
  color:rgba(255,255,255,.72) !important;
}
.cpc-home-product-card--anti-karat-mobil .cpc-home-product-card__footer{
  background:#171b20 !important;
  border-top-color:rgba(255,255,255,.14) !important;
}
.cpc-home-products__more{justify-content:flex-end !important;margin-top:36px !important;}
@media (hover:hover){
  .cpc-home-products__grid--editorial .cpc-home-product-card:hover{
    transform:translateY(-5px) !important;
  }
}
@media (max-width:1020px){
  .cpc-home-products__intro-row{grid-template-columns:1fr;gap:18px;}
  .cpc-home-products__intro p{max-width:650px !important;}
  .cpc-home-products__grid--editorial{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-rows:auto !important;
  }
  .cpc-home-product-card--featured{
    grid-column:1 / -1 !important;
    grid-row:auto !important;
    min-height:0 !important;
  }
  .cpc-home-product-card--featured .cpc-home-product-card__media{height:390px !important;}
  .cpc-home-product-card--medium,
  .cpc-home-product-card--compact{
    grid-column:auto !important;
    grid-row:auto !important;
    display:flex !important;
    flex-direction:column !important;
  }
  .cpc-home-product-card--medium .cpc-home-product-card__media{
    width:100% !important;
    height:220px !important;
    min-height:0 !important;
  }
}
@media (max-width:650px){
  .cpc-home-products__grid--editorial{grid-template-columns:1fr !important;gap:16px !important;}
  .cpc-home-products__intro h2{font-size:clamp(40px,11vw,54px) !important;}
  .cpc-home-product-card--featured .cpc-home-product-card__media{height:250px !important;}
  .cpc-home-product-card--featured .cpc-home-product-card__body{padding:24px 20px 20px !important;}
  .cpc-home-product-card--featured .cpc-home-product-card__footer{padding:16px 16px 16px 20px !important;}
  .cpc-home-product-card--medium .cpc-home-product-card__media,
  .cpc-home-product-card--compact .cpc-home-product-card__media{height:200px !important;}
  .cpc-home-product-card--compact{min-height:0 !important;}
  .cpc-home-products__more{justify-content:flex-start !important;}
}

/* CPC HEADER NAV ORDER — v0.9.14 */
.cpc-site-header__actions--contact-only{gap:0 !important;}
.cpc-site-header__actions--contact-only .cpc-site-header__contact{
  font-weight:850 !important;
  color:#111820 !important;
}
.cpc-site-nav__mobile-panel nav a.cpc-site-nav__mobile-contact{
  margin-top:12px !important;
  padding:16px 2px 2px !important;
  border-bottom:0 !important;
  color:#111820 !important;
  font-weight:900 !important;
}
@media (max-width:1180px) and (min-width:901px){
  .cpc-site-header .cpc-site-header__inner{gap:22px !important;}
  .cpc-site-nav__desktop{gap:16px !important;}
  .cpc-site-nav__desktop > a,
  .cpc-mega-menu > summary{font-size:13px !important;}
}
