/* Shared palette taken from the CARVE homepage entrance. */
:root {
  color-scheme: dark;
  --theme-bg: #080b0f;
  --theme-surface: #10151c;
  --theme-raised: #171d25;
  --theme-heading: #f6f6f4;
  --theme-text: #c7cbd1;
  --theme-muted: #b4b9c0;
  --theme-accent: #c3b7a3;
  --theme-focus: #c8b89e;
  --theme-control: #e9e9e5;
  --theme-on-control: #10151c;
  --theme-line: #ffffff20;
  --theme-line-strong: #ffffff30;
  --theme-shadow: 0 28px 80px rgba(0,0,0,.28);
}

body,
.service-page,
.blog-page,
.article-page,
.services,
.gallery {
  background: var(--theme-bg);
  color: var(--theme-text);
}

.topbar,
.topbar.is-scrolled {
  background: var(--theme-bg);
  color: var(--theme-heading);
  border-color: var(--theme-line);
}

.page-hero,
.service-page .page-hero,
.blog-hero,
.watch-hero,
.utility-bar,
.site-footer {
  background: var(--theme-bg);
}

.corporate-band,
.service-cta,
.final-cta,
.mobile-menu,
.services-menu,
.call-sheet,
.cookie-banner {
  background: var(--theme-surface);
  color: var(--theme-text);
}

.header-cta,
.button.primary,
.button.white,
.button.dark,
.hero-actions .button.white,
.article-content a.button.primary,
.campaign-inline-cta > a.button,
.cookie-accept,
.mobile-menu a:last-child,
.mobile-bar a:nth-child(2) {
  background: var(--theme-control);
  color: var(--theme-on-control);
  border-color: var(--theme-control);
  box-shadow: none;
}

.header-cta:hover,
.button.primary:hover,
.button.white:hover,
.button.dark:hover,
.cookie-accept:hover {
  background: #fff;
  color: var(--theme-on-control);
  border-color: #fff;
}

.button.outline-blue,
.button.outline-light,
.button.secondary,
.cookie-reject {
  background: transparent;
  color: var(--theme-heading);
  border-color: var(--theme-line-strong);
}

.button.outline-blue:hover,
.button.outline-light:hover,
.button.secondary:hover,
.cookie-reject:hover {
  background: var(--theme-raised);
  border-color: var(--theme-accent);
}

.skip-link,
.article-note,
.truth-note,
.quote-checklist,
.guide-checklist,
.winter-offer {
  background: var(--theme-raised);
  color: var(--theme-text);
}

.winter-offer {
  border-color: var(--theme-accent);
}

.winter-offer h2,
.winter-offer-price,
.campaign-price strong {
  color: var(--theme-heading);
}

.campaign-price,
.article-aside .article-contact,
.choice-panel {
  background: var(--theme-surface);
}

.winter-offer-name,
.article-content a:not(.button),
.article-aside .article-contact a,
.footer-brand .group-endorsement {
  color: var(--theme-accent);
}

.seo-table thead,
.article-table th {
  background: var(--theme-raised);
  color: var(--theme-heading);
}

.call-sheet,
.cookie-banner {
  border: 1px solid var(--theme-line);
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
video:focus-visible {
  outline: 2px solid var(--theme-focus);
  outline-offset: 5px;
}

::selection {
  background: var(--theme-control);
  color: var(--theme-on-control);
}
