:root {
  color-scheme: light;
  --vesta-background: #f7f7f4;
  --vesta-surface: #ffffff;
  --vesta-stone: #e7e3da;
  --vesta-text: #24282b;
  --vesta-muted: #596166;
  --vesta-accent: #365f78;
  --vesta-accent-hover: #284a60;
  --vesta-accent-soft: #e5edf1;
  --vesta-line: #d3d6d5;
  --vesta-field-line: #808b90;
  --ink: var(--vesta-text);
  --paper: var(--vesta-background);
  --soft-ink: var(--vesta-muted);
  --rule: var(--vesta-line);
  --line: var(--vesta-line);
  --story-line: var(--vesta-line);
}

body[data-page] {
  background: var(--vesta-background);
  color: var(--vesta-text);
  --nav-menu-bg: var(--vesta-surface);
}
body[data-page="/"]:not(.home-theatre-scrolled) {
  --nav-menu-bg: var(--vesta-surface);
}
.vesta-home {
  --vh-paper: var(--vesta-background);
  --vh-muted: var(--vesta-muted);
  --vh-line: var(--vesta-line);
}
.product-story, .partner-programme { --story-line: var(--vesta-line); }
::selection { background: var(--vesta-accent); color: #fff; }
:is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--vesta-accent);
  outline-offset: 5px;
}

/* A continuous light navigation, including the opening and mobile menu. */
body[data-page] > header,
body[data-page="/"]:not(.home-theatre-scrolled) > header {
  background: #f7f7f4f5;
  border-bottom: 1px solid var(--vesta-line);
}
body[data-page] header .brand,
body[data-page] header .menu,
body[data-page="/"]:not(.home-theatre-scrolled) header .brand,
body[data-page="/"]:not(.home-theatre-scrolled) header .menu {
  color: var(--vesta-text);
}
body[data-page] header .links a:not(.nav-cta),
body[data-page="/"]:not(.home-theatre-scrolled) header .links a:not(.nav-cta) {
  color: var(--vesta-muted);
}
body[data-page] header .links a[aria-current="page"]:not(.nav-cta),
body[data-page] header .links a:not(.nav-cta):hover,
body[data-page="/"]:not(.home-theatre-scrolled) header .links a[aria-current="page"]:not(.nav-cta),
body[data-page="/"]:not(.home-theatre-scrolled) header .links a:not(.nav-cta):hover {
  color: var(--vesta-accent);
  text-decoration-color: var(--vesta-accent);
}
body[data-page] header .links a[href="/board-planner"] { border-color: var(--vesta-line); }
body[data-page] header .nav-cta,
body[data-page="/"]:not(.home-theatre-scrolled) header .nav-cta,
.primary, .button-dark, .vh-button {
  background: var(--vesta-text);
  border-color: var(--vesta-text);
  color: #fff;
}
body[data-page] header .nav-cta:hover,
body[data-page="/"]:not(.home-theatre-scrolled) header .nav-cta:hover,
.primary:hover, .button-dark:hover, .vh-button:hover {
  background: var(--vesta-accent);
  border-color: var(--vesta-accent);
  color: #fff;
  opacity: 1;
}
.button-light, .vh-button-light {
  background: var(--vesta-surface);
  color: var(--vesta-accent);
  border-color: var(--vesta-line);
}
.button-light:hover, .vh-button-light:hover {
  background: var(--vesta-accent-soft);
  color: var(--vesta-accent-hover);
  border-color: var(--vesta-accent);
  opacity: 1;
}
.secondary, .button-outline {
  color: var(--vesta-accent);
  border-color: var(--vesta-accent);
}
.text-link, .vh-link { color: var(--vesta-accent); }
.text-link:hover, .vh-link:hover { color: var(--vesta-accent-hover); opacity: 1; }

/* Quiet backgrounds and consistent, readable supporting text. */
.paper, .planner, .contact-section, .warranty, .partner-programme {
  background: var(--vesta-background);
  color: var(--vesta-text);
}
.page-hero, .article-hero { background: var(--vesta-background); }
.page-hero h1 span, .product-intro h1 span, .statement em { color: var(--vesta-accent); }
.eyebrow, .section-tag, .vh-kicker, .story-kicker,
.story-section .section-tag, .story-section.paper .section-tag,
.purpose-grid .section-tag, .page-cta .eyebrow, .warranty .eyebrow {
  color: var(--vesta-accent);
}
.breadcrumb, .planner .breadcrumb, .page-jumps,
.page-hero-copy > p, .page-cta p, .section-head p,
.story-section p, .story-section.paper p, .craft-section p,
.values-grid p, .purpose-grid p, .founder-line div > span,
.article-hero .shell > p, .article-byline, .article-body p,
.article-sidebar nav a, .journal-card p, .article-meta, .journal-heading,
.support-grid > div > p, .warranty .support-grid > div > p,
.faq-list p, .fine-print, .support .fine-print, .field-hint {
  color: var(--vesta-muted);
}
.story-section .story-lead, .story-section.paper .story-lead,
.article-body p a, .article-takeaway p { color: var(--vesta-text); }
.story-section:not(.paper), .craft-section, .mission-section,
.journal-section, .next-story { background: var(--vesta-surface); }
.philosophy, .assurance, .support, .page-cta, .article-takeaway {
  background: var(--vesta-stone);
  color: var(--vesta-text);
}
.journal-art { background: var(--vesta-stone); color: var(--vesta-text); }
.art-02 { background: var(--vesta-accent-soft); color: var(--vesta-accent); }
.art-03 { background: var(--vesta-accent); color: #fff; }
.next-story h2 a:hover, .article-sidebar nav a:hover { color: var(--vesta-accent); }

/* The product floats over a light architectural surface. */
.vesta-home .product-theatre {
  background: var(--vesta-background);
  color: var(--vesta-text);
}
.product-theatre:before {
  background: radial-gradient(ellipse at 50% 55%, #e7e3da 0%, #e5edf159 42%, transparent 70%);
}

/* Product features: white detail panels, blue selections, stone specifications. */
.control-guide { background: var(--vesta-stone); }
.product-coverage { background: var(--vesta-accent-soft); }
.product-story .product-room-story, .partner-programme .partner-opening { color: #fff; }
.product-room-story .story-kicker, .partner-opening .story-kicker { color: #fff; }
.product-room-story .vh-link, .partner-opening .vh-link { color: #fff; }

/* Partners and real enquiry forms use the same light working surfaces. */
.partner-principle > p:last-child, .partner-support-rows p,
.partner-application-copy > p:not(.story-kicker) { color: var(--vesta-muted); }
.partner-support-rows article > span { color: var(--vesta-accent); }
.form-panel, .contact-section .form-panel, .planner .form-panel,
.partner-application .form-panel, .form-on-dark {
  background: var(--vesta-surface);
  color: var(--vesta-text);
  border-color: var(--vesta-line);
}
.field-grid label, .contact-section .field-grid label,
.planner .field-grid label, .partner-application .field-grid label,
.consent, .contact-section .consent, .form-on-dark .consent {
  color: var(--vesta-muted);
}
.field-grid :is(input, select, textarea),
.contact-section .field-grid :is(input, select, textarea),
.planner .field-grid :is(input, select, textarea),
.partner-application .field-grid :is(input, select, textarea),
.form-on-dark .field-grid :is(input, select, textarea) {
  background: var(--vesta-background);
  color: var(--vesta-text);
  border-color: var(--vesta-field-line);
  color-scheme: light;
}
.field-grid input::placeholder, .field-grid textarea::placeholder,
.form-on-dark .field-grid textarea::placeholder { color: var(--vesta-muted); }
.contact-section .field-grid :is(input, select, textarea):focus,
.planner .field-grid :is(input, select, textarea):focus,
.partner-application .field-grid :is(input, select, textarea):focus,
.form-on-dark .field-grid :is(input, select, textarea):focus {
  background: var(--vesta-surface);
  border-color: var(--vesta-accent);
}
.consent input, .plan-attachment-choice input { accent-color: var(--vesta-accent); }
.form-intro, .board-fieldset, .contact-meta, .contact-notes > div,
.planner-help { border-color: var(--vesta-line); }
.form-intro p, .planner .form-heading p, .planner .section-head p,
.planner-help p, .contact-meta p, .contact-notes p { color: var(--vesta-muted); }
.board-fieldset legend, .enquiry-fields legend, .contact-notes span { color: var(--vesta-text); }
.planner .step-label { color: var(--vesta-accent); border-color: var(--vesta-line); }
.enquiry-plan { background: var(--vesta-accent-soft); border-color: var(--vesta-line); }
.attached-plan { color: var(--vesta-muted); }
.form-on-dark .form-status[data-state="error"] { color: #a72b21; }
.form-on-dark .form-status[data-state="success"] { color: #216342; }

/* Retain the planner's familiar two-panel layout and charcoal summary. */
.planner .project-panel {
  --line: #ffffff38;
  background: var(--vesta-text);
  color: #fff;
  border-color: var(--vesta-text);
}
.planner .project-panel .form-heading p,
.planner .project-panel .field-hint,
.planner .board-summary p, .planner .board-summary button { color: #cbd1d4; }
.planner .project-panel .step-label, .planner #plan-total {
  color: #eef1f3;
  border-color: #ffffff38;
}
.planner .empty-plan { background: #30373b; color: #d8dfe2; border-color: #758088; }
.project-panel .button-outline { color: #fff; border-color: #9faeb6; }
.project-panel .button-outline:hover:not(:disabled) { background: var(--vesta-accent); }

/* Full-photo inspection stays neutral, with blue indicating the selected view. */

footer { background: var(--vesta-stone); color: var(--vesta-text); }
.footnote { color: var(--vesta-muted); }

@media (max-width: 1120px) {
  body[data-page] header .links,
  body[data-page="/"]:not(.home-theatre-scrolled) header .links {
    background: var(--vesta-surface);
    border-color: var(--vesta-line);
    box-shadow: 0 18px 40px #24282b12;
  }
  body[data-page] header .links a[aria-current="page"]:not(.nav-cta),
  body[data-page="/"]:not(.home-theatre-scrolled) header .links a[aria-current="page"]:not(.nav-cta) {
    background: var(--vesta-accent-soft);
  }
}
