/* P4k — client palette: navy / ivory / sand; copper only for fine accents.
   Keep the original logo artwork and the existing THICCCBOI typography. */
.carpa-hero[data-palette='p4k'] {
  --hero-outer: var(--carpa-background);
  --hero-paper: var(--carpa-surface);
  --hero-ink: var(--carpa-heading);
  --hero-muted: var(--carpa-muted);
  --hero-link: var(--carpa-link);
  --hero-card: var(--carpa-surface);
  --hero-card-ink: var(--carpa-text);
  --hero-card-title: var(--carpa-heading);
  --hero-field: var(--carpa-surface-alternate);
  --hero-button: var(--carpa-button);
  --hero-button-ink: var(--carpa-button-text);
  --hero-nav-button: var(--carpa-button);
  --hero-nav-button-ink: var(--carpa-button-text);
  --hero-badge: var(--carpa-surface);
  background-image: linear-gradient(var(--carpa-background), var(--carpa-surface-alternate) 65%, var(--carpa-background));
}
.carpa-hero[data-palette='p4k'] .carpa-hero__nav-cta,
.carpa-hero[data-palette='p4k'] .carpa-hero__submit { --button-fill: var(--carpa-button-hover); }
.carpa-hero[data-palette='p4k'] .carpa-hero__nav .carpa-hero__nav-cta--secondary {
  --button-fill: var(--carpa-surface-alternate);
  background-color: transparent;
  color: var(--carpa-color-brand);
  box-shadow: inset 0 0 0 1px var(--carpa-color-brand);
}
.carpa-hero[data-palette='p4k'] .carpa-hero__field select { color: var(--carpa-text); }
.carpa-hero[data-palette='p4k'] .carpa-hero__dropdown ul { border-color: var(--carpa-surface-alternate); }
.carpa-hero[data-palette='p4k'] .carpa-hero__dropdown li a:hover { background: var(--carpa-surface-alternate); color: var(--carpa-color-brand); }
.carpa-care[data-palette='p4k'] {
  --care-paper: var(--carpa-background);
  --care-card: var(--carpa-surface);
  --care-ink: var(--carpa-text);
  --care-muted: var(--carpa-muted);
  --care-accent: var(--carpa-link);
  --care-button: var(--carpa-button);
  --care-button-ink: var(--carpa-button-text);
  --area-fill: var(--carpa-color-navy);
  --area-fill-ink: var(--carpa-surface);
}
.carpa-care[data-palette='p4k'] .carpa-care__areas a { background-color: var(--carpa-surface-alternate); }
.carpa-care[data-palette='p4k'] :is(h2, h3) { color: var(--carpa-color-brand); }
.carpa-care[data-palette='p4k'] a.carpa-care__cta { --button-fill: var(--carpa-button-hover); }
.carpa-care[data-palette='p4k'] .carpa-care__controls button[aria-pressed='true'] { border-color: var(--carpa-accent); }
.carpa-home[data-palette='p4k'] {
  --home-paper: var(--carpa-background);
  --home-card: var(--carpa-surface);
  --home-ink: var(--carpa-text);
  --home-muted: var(--carpa-muted);
  --home-accent: var(--carpa-link);
  --home-band: var(--carpa-band);
  --home-band-ink: var(--carpa-background);
  --home-highlight: var(--carpa-background);
  --home-footer: var(--carpa-band);
  --home-line: var(--carpa-surface-alternate);
}
.carpa-home[data-palette='p4k'] :is(h2, h3) { color: var(--carpa-color-brand); }
.carpa-home[data-palette='p4k'] .carpa-home__clinic { background-image: none; }
.carpa-home[data-palette='p4k'] .carpa-home__clinic h2,
.carpa-home[data-palette='p4k'] .carpa-home__footer h3 { color: var(--carpa-background); }
.carpa-home[data-palette='p4k'] .carpa-home__locations { background: linear-gradient(var(--carpa-background), var(--carpa-surface-alternate) 55%, var(--carpa-background)); }
.carpa-home[data-palette='p4k'] a.carpa-home__button { --button-fill: var(--carpa-button-hover); background-color: var(--carpa-button); color: var(--carpa-button-text); }
.carpa-home[data-palette='p4k'] :is(.carpa-home__footer-legal, .carpa-home__footer-bottom) { border-color: color-mix(in srgb, var(--carpa-accent) 50%, transparent); }
.carpa-care[data-palette='p4k'] .carpa-care__eyebrow::before,
.carpa-home[data-palette='p4k'] .carpa-home__eyebrow::before,
.clinic-page[data-palette='p4k'] .clinic-eyebrow::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 2px;
  margin-right: 12px;
  vertical-align: middle;
  background: var(--carpa-accent);
}
:is(.carpa-hero, .carpa-care, .carpa-home)[data-palette='p4k'] :focus-visible { outline-color: var(--carpa-color-brand); }
.carpa-home[data-palette='p4k'] :is(.carpa-home__clinic, .carpa-home__footer) :focus-visible { outline-color: var(--carpa-background); }
/* About page: the same navy hierarchy, with white cards on ivory and sand. */
.clinic-page[data-palette='p4k'] {
  --clinic-ink: var(--carpa-text);
  --clinic-muted: var(--carpa-muted);
  --clinic-blue: var(--carpa-color-brand);
  --clinic-ice: var(--carpa-surface-alternate);
  --clinic-cream: var(--carpa-surface);
  --clinic-gold: var(--carpa-accent);
  --clinic-line: var(--carpa-surface-alternate);
  --clinic-top: var(--carpa-background);
  --clinic-band: var(--carpa-band);
  background: var(--carpa-background);
}
.clinic-page[data-palette='p4k'] :is(h1, h2, h3) { color: var(--carpa-color-brand); }
.clinic-page[data-palette='p4k'] .carpa-home { --home-paper: var(--carpa-background); }
.clinic-page[data-palette='p4k'] .clinic-intro { background: var(--carpa-background); }
.clinic-page[data-palette='p4k'] .clinic-intro__portraits::before { background: linear-gradient(var(--carpa-surface-alternate), var(--carpa-background)); }
.clinic-page[data-palette='p4k'] .clinic-intro__aside > p:first-child { color: var(--carpa-color-brand); }
.clinic-page[data-palette='p4k'] .clinic-process { background: linear-gradient(var(--carpa-background), var(--carpa-surface-alternate) 25%, var(--carpa-surface-alternate) 70%, var(--carpa-background)); }
.clinic-page[data-palette='p4k'] .clinic-process__copy > p,
.clinic-page[data-palette='p4k'] .clinic-history__copy p,
.clinic-page[data-palette='p4k'] .clinic-area:not(.clinic-area--sleep) .clinic-area__copy > p:not(.clinic-eyebrow) { color: var(--carpa-text); }
.clinic-page[data-palette='p4k'] .clinic-process__controls button[aria-pressed='true'] { border-color: var(--carpa-accent); }
.clinic-page[data-palette='p4k'] .carpa-hero__nav a[aria-current='page'] { text-decoration-color: var(--carpa-accent); }
.clinic-page[data-palette='p4k'] .clinic-area--sleep :is(h3, a, .clinic-eyebrow) { color: var(--carpa-background); }
.clinic-page[data-palette='p4k'] .carpa-home__booking { background: var(--carpa-surface-alternate); }
.clinic-page[data-palette='p4k'] .carpa-home__booking .carpa-home__button { --button-fill: var(--carpa-button-hover); background-color: var(--carpa-button); color: var(--carpa-button-text); }
.clinic-page[data-palette='p4k'] .carpa-home__footer h3 { color: var(--carpa-background); }

/* Global geometry and type bindings for the selected identity. */
:is(.carpa-hero, .carpa-care, .carpa-home, .clinic-page)[data-palette='p4k'] { font-family: var(--carpa-font-family); }
[data-palette='p4k'] :is(button, select) { font-family: var(--carpa-font-family); }
.carpa-hero[data-palette='p4k'] .carpa-hero__visual::after { background: linear-gradient(transparent, color-mix(in srgb, var(--carpa-band) 82%, transparent)); }
.carpa-hero[data-palette='p4k'] .carpa-hero__header-band { border-radius: var(--carpa-radius-navigation); }
.carpa-hero[data-palette='p4k'].is-menu-open .carpa-hero__header-band { border-radius: var(--carpa-radius-navigation-open); }
.carpa-hero[data-palette='p4k'] .carpa-hero__visual { border-radius: var(--carpa-radius-hero); }
.carpa-hero[data-palette='p4k'] .carpa-hero__appointment { border-radius: var(--carpa-radius-form); }
.carpa-hero[data-palette='p4k'] .carpa-hero__field select { border-radius: var(--carpa-radius-field); }
.carpa-home[data-palette='p4k'] :is(.carpa-home__card, .carpa-home__location) { border-radius: var(--carpa-radius-card); }
.carpa-care[data-palette='p4k'] :is(.carpa-care__copy, .carpa-care__panel img),
.clinic-page[data-palette='p4k'] :is(.clinic-area, .clinic-process__copy, .clinic-process__panel > img, .clinic-portraits img) { border-radius: var(--carpa-radius-panel); }
.carpa-home[data-palette='p4k'] .carpa-home__clinic-photo { border-radius: var(--carpa-radius-image); }
.carpa-hero[data-palette='p4k'] :is(.carpa-hero__nav-cta, .carpa-hero__submit),
.carpa-care[data-palette='p4k'] .carpa-care__cta,
.carpa-home[data-palette='p4k'] .carpa-home__button { border-radius: var(--carpa-radius-button); }
.carpa-home[data-palette='p4k'] .carpa-home__container,
.carpa-care[data-palette='p4k'] .carpa-care__inner,
.clinic-page[data-palette='p4k'] .clinic-container { max-width: var(--carpa-content-width); }
@media (min-width: 1101px) {
  .carpa-hero[data-palette='p4k'] :is(.carpa-hero__header, .carpa-hero__stage) { max-width: var(--carpa-content-width); }
  .carpa-hero[data-palette='p4k'] h1 { font-size: var(--carpa-type-hero); }
  .clinic-page[data-palette='p4k'] .clinic-intro h1 { font-size: var(--carpa-type-editorial); }
  .carpa-home[data-palette='p4k'] h2 { font-size: var(--carpa-type-section); }
}
@media (max-width: 600px) {
  .carpa-hero[data-palette='p4k'] .carpa-hero__visual { border-radius: var(--carpa-radius-hero-mobile); }
  .carpa-hero[data-palette='p4k'] .carpa-hero__visual::after { background: linear-gradient(transparent, color-mix(in srgb, var(--carpa-band) 94%, transparent)); }
}

/* Current website: copper consistently identifies exam booking actions. */
body.site-current :is(.carpa-hero[data-palette='p4k'] .carpa-hero__nav, .carpa-home[data-palette='p4k'], main) a.carpa-exam-action {
  --button-fill: color-mix(in srgb, var(--carpa-accent) 86%, #000);
  background-color: var(--carpa-accent);
  background-image: linear-gradient(var(--button-fill), var(--button-fill));
  color: var(--carpa-button-text);
  border-color: var(--carpa-accent);
  box-shadow: none;
}
body.site-current .exam-card__book { color: var(--carpa-accent); }
body.site-current .exam-card__book:is(:hover, :focus-visible) {
  color: color-mix(in srgb, var(--carpa-accent) 86%, #000);
  text-decoration: underline;
  text-underline-offset: 4px;
}
