/* Next Matter Pro light theme (site-wide).
   Loaded by includes/header.php after styles.css on every marketing page and applied via
   body.theme-light, so the whole site matches the homepage: light background, navy type,
   white cards, navy and gold buttons. The footer stays navy as the anchor. */

body.theme-light {
  --t-navy: #0B2A4A;
  --t-navy-2: #123B6D;
  --t-blue: #1D5FA0;
  --t-ice: #EAF2FB;
  --t-ice-2: #D6E6F7;
  --t-line: #DDE6F0;
  --t-field: #C9D6E6;
  --t-muted: #52627A;
  --t-soft: #F6F9FC;
  --t-gold: #F2C166;
  --t-gold-ink: #3B2906;
  --t-shadow: 0 14px 34px rgba(11, 42, 74, 0.07);
  background: #fff;
}

/* Old glass background layers */
body.theme-light::before,
body.theme-light .bg-stage,
body.theme-light .j-halo,
body.theme-light .j-bloom,
body.theme-light .j-glass {
  display: none;
}

body.theme-light .scroll-bar {
  background: var(--t-blue);
  box-shadow: none;
}

body.theme-light main {
  color: var(--t-navy);
  background: #fff;
}

body.theme-light main h1,
body.theme-light main h2,
body.theme-light main h3,
body.theme-light main h4 {
  color: var(--t-navy);
}

body.theme-light main p,
body.theme-light main li {
  color: var(--t-muted);
}

/* ---------- Header ---------- */
body.theme-light .site-header {
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid var(--t-line);
  box-shadow: 0 6px 24px rgba(11, 42, 74, 0.06);
  backdrop-filter: blur(10px);
}

body.theme-light .site-header .brand-logo-mark {
  background: var(--t-navy);
  border-color: var(--t-navy);
  box-shadow: none;
}

body.theme-light .site-header .brand-name {
  color: var(--t-navy);
}

body.theme-light .site-header .header-pill-link {
  color: var(--t-navy-2);
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  font-weight: 700;
  font-size: 0.8rem;
}

body.theme-light .site-header .header-pill-link::before {
  display: none;
}

body.theme-light .site-header .header-pill-link:hover,
body.theme-light .site-header .header-pill-link.is-current {
  background: var(--t-ice);
  border-color: var(--t-ice);
  box-shadow: none;
}

body.theme-light .site-header .header-pill-link.is-primary {
  background: var(--t-navy);
  border-color: var(--t-navy);
  color: #fff;
  padding-inline: 16px;
}

body.theme-light .site-header .header-pill-link.is-primary .pill-icon {
  background: rgba(255, 255, 255, 0.16);
}

body.theme-light .site-header .mobile-menu-toggle {
  background: #fff;
  border-color: var(--t-line);
  box-shadow: none;
}

body.theme-light .site-header .mobile-menu-toggle svg {
  stroke: var(--t-navy);
}

@media (min-width: 700px) {
  body.theme-light #cookie-banner {
    left: auto !important;
    right: 20px !important;
    max-width: 560px;
  }
}

/* ---------- Page title bands ---------- */
body.theme-light .page-hero,
body.theme-light .blog-hero,
body.theme-light .post-hero,
body.theme-light .policy-hero {
  background: linear-gradient(160deg, #F2F7FD 0%, var(--t-ice) 60%, var(--t-ice-2) 100%);
  border-bottom: 1px solid var(--t-line);
}

body.theme-light .page-hero h1,
body.theme-light .blog-hero h1,
body.theme-light .post-hero h1,
body.theme-light .policy-hero h1 {
  color: var(--t-navy);
}

body.theme-light .page-hero .hero-text,
body.theme-light .hero-text {
  color: #34506F;
}

body.theme-light .breadcrumbs,
body.theme-light .breadcrumbs a {
  color: var(--t-blue);
}

body.theme-light .eyebrow {
  background: #fff;
  border-color: var(--t-ice-2);
  color: var(--t-blue);
  box-shadow: 0 4px 14px rgba(11, 42, 74, 0.06);
}

body.theme-light .eyebrow::before {
  background: var(--t-blue);
  box-shadow: 0 0 0 5px rgba(29, 95, 160, 0.14);
}

body.theme-light .badge {
  background: #fff;
  border-color: var(--t-ice-2);
  color: var(--t-navy-2);
}

/* ---------- Sections ---------- */
body.theme-light .section,
body.theme-light .section-light {
  background: #fff;
  border-bottom: 1px solid #EEF3F8;
}

body.theme-light .section-soft,
body.theme-light .section-dark {
  background: var(--t-soft);
  border-bottom: 1px solid #EEF3F8;
}

body.theme-light .section-head h2,
body.theme-light .intro-grid h2,
body.theme-light .about-grid h2 {
  color: var(--t-navy);
}

body.theme-light .section-head p,
body.theme-light .intro p,
body.theme-light .about-grid p {
  color: var(--t-muted);
}

/* ---------- Cards and panels ---------- */
body.theme-light .card,
body.theme-light .card.light,
body.theme-light .intro-grid,
body.theme-light .about-grid,
body.theme-light .contact-grid,
body.theme-light .form-panel,
body.theme-light .form-card,
body.theme-light .material-card,
body.theme-light .summary-card,
body.theme-light .booking-panel,
body.theme-light .career-card,
body.theme-light .support-pill-card,
body.theme-light .intake-card,
body.theme-light .start-panel,
body.theme-light .summary-box,
body.theme-light .blog-card,
body.theme-light .post-card,
body.theme-light .team-card,
body.theme-light .toc,
body.theme-light .policy-card {
  background: #fff;
  border: 1px solid var(--t-line);
  box-shadow: var(--t-shadow);
  color: var(--t-navy);
}

body.theme-light .card::before,
body.theme-light .card::after,
body.theme-light .card h3::before,
body.theme-light .shell-card::before,
body.theme-light .callout::before {
  display: none;
}

body.theme-light .card:hover,
body.theme-light .blog-card:hover,
body.theme-light .team-card:hover {
  border-color: var(--t-ice-2);
  box-shadow: 0 20px 44px rgba(11, 42, 74, 0.10);
}

body.theme-light .card h3,
body.theme-light .summary-card h3,
body.theme-light .booking-panel h4,
body.theme-light .team-card-content h3,
body.theme-light .blog-card h2,
body.theme-light .policy-card h2,
body.theme-light .policy-card h3,
body.theme-light .post-body h2,
body.theme-light .post-body h3,
body.theme-light .post-body h4 {
  color: var(--t-navy);
}

body.theme-light .card p,
body.theme-light .card.light p,
body.theme-light .summary-card p,
body.theme-light .booking-panel p,
body.theme-light .career-intro-shell p,
body.theme-light .list-check,
body.theme-light .start-panel p,
body.theme-light .question-copy,
body.theme-light .team-bio,
body.theme-light .blog-excerpt,
body.theme-light .blog-section-head p,
body.theme-light .blog-empty,
body.theme-light .post-excerpt,
body.theme-light .policy-card,
body.theme-light .post-body {
  color: var(--t-muted);
}

body.theme-light .policy-card li,
body.theme-light .policy-card p {
  color: #3E5068;
}

body.theme-light .policy-card a,
body.theme-light .post-body a,
body.theme-light .summary-meta-value a {
  color: var(--t-blue);
}

body.theme-light .summary-meta-row {
  border-top-color: var(--t-line);
}

body.theme-light .summary-meta-label,
body.theme-light .support-pill-card strong,
body.theme-light .summary-item strong,
body.theme-light .progress-label,
body.theme-light .blog-section-kicker,
body.theme-light .blog-meta,
body.theme-light .post-author-date {
  color: var(--t-muted);
}

body.theme-light .support-pill-card a,
body.theme-light .support-pill-card span,
body.theme-light .summary-item,
body.theme-light .blog-author-name,
body.theme-light .post-back-link {
  color: var(--t-navy);
}

body.theme-light .team-title {
  color: var(--t-blue);
}

body.theme-light .team-photo {
  background: var(--t-ice);
  border-color: #fff;
  box-shadow: 0 10px 24px rgba(11, 42, 74, 0.14);
}

body.theme-light .toc h2 {
  color: var(--t-muted);
}

body.theme-light .toc a {
  color: var(--t-navy);
  border-bottom-color: #EEF3F8;
}

body.theme-light .toc a:hover {
  color: var(--t-blue);
}

body.theme-light .post-body blockquote {
  border-left-color: var(--t-blue);
  background: var(--t-ice);
}

/* Closing call-to-action boxes: the one navy panel per page, like the homepage */
body.theme-light .callout {
  background: linear-gradient(135deg, var(--t-navy) 0%, var(--t-navy-2) 100%);
  border: 0;
  box-shadow: 0 24px 60px rgba(11, 42, 74, 0.18);
}

body.theme-light .callout h2 {
  color: #fff;
}

body.theme-light .callout p {
  color: #C9DAEE;
}

body.theme-light .callout .btn-primary {
  background: var(--t-gold);
  border-color: var(--t-gold);
  color: var(--t-gold-ink);
}

body.theme-light .callout .btn-primary .pill-icon {
  background: rgba(59, 41, 6, 0.1);
}

/* ---------- Buttons ---------- */
body.theme-light .btn::before {
  display: none;
}

body.theme-light .btn-primary,
body.theme-light .wizard-btn {
  background: var(--t-navy);
  border: 1px solid var(--t-navy);
  color: #fff;
  box-shadow: 0 10px 24px rgba(11, 42, 74, 0.18);
}

body.theme-light .btn-primary .pill-icon {
  background: rgba(255, 255, 255, 0.16);
}

body.theme-light .btn-secondary,
body.theme-light .wizard-btn.secondary {
  background: #fff;
  border: 1px solid var(--t-ice-2);
  color: var(--t-navy);
  box-shadow: none;
}

body.theme-light .btn-secondary .pill-icon {
  background: var(--t-ice);
}

/* ---------- Forms ---------- */
body.theme-light main label,
body.theme-light .field label {
  color: var(--t-navy);
}

body.theme-light main input,
body.theme-light main select,
body.theme-light main textarea {
  background: #fff;
  border: 1px solid var(--t-field);
  color: var(--t-navy);
}

body.theme-light main input::placeholder,
body.theme-light main textarea::placeholder {
  color: #8A9AB0;
}

body.theme-light main input:focus,
body.theme-light main select:focus,
body.theme-light main textarea:focus {
  background: #fff;
  border-color: var(--t-blue);
  box-shadow: 0 0 0 4px rgba(29, 95, 160, 0.14);
}

body.theme-light main input[type=file] {
  background: var(--t-soft);
}

body.theme-light main input[type=checkbox],
body.theme-light main input[type=radio] {
  accent-color: var(--t-navy);
}

body.theme-light .form-alert,
body.theme-light .alert {
  background: #FDECEC;
  border-color: #F5C2C2;
  color: #8B1D18;
}

body.theme-light .submit-success {
  background: #E7F6EE;
  border-color: #B9E4CB;
  color: #0D5A31;
}

/* ---------- Project intake wizard ---------- */
body.theme-light .progress-track {
  background: var(--t-ice);
}

body.theme-light .progress-bar {
  background: linear-gradient(90deg, var(--t-navy), var(--t-blue));
}

body.theme-light .start-badge {
  background: var(--t-ice);
  color: var(--t-navy-2);
}

body.theme-light .choice-button {
  background: #fff;
  border: 1px solid var(--t-line);
  color: var(--t-navy);
}

body.theme-light .choice-button:hover {
  background: var(--t-soft);
  border-color: var(--t-ice-2);
}

body.theme-light .choice-button.is-selected {
  background: var(--t-ice);
  border-color: var(--t-blue);
  box-shadow: 0 8px 20px rgba(11, 42, 74, 0.08);
}

body.theme-light .choice-main strong {
  color: var(--t-navy);
}

body.theme-light .choice-main span {
  color: var(--t-muted);
}

body.theme-light .choice-check {
  background: var(--t-ice);
  color: var(--t-navy);
}

body.theme-light .choice-button.is-selected .choice-check {
  background: var(--t-navy);
  color: #fff;
}

/* ---------- Page width ----------
   Edge to edge on every screen (owner 2026-10-09): the header, every page and the footer
   use the full width with a side gutter. Phones keep their existing side spacing. */
body.theme-light {
  --container: 100%;
}

@media (min-width: 700px) {
  body.theme-light .container {
    width: calc(100% - 2 * clamp(24px, 3vw, 48px));
  }
}

/* Comfortable reading length on the policy pages at the wider width */
body.theme-light .policy-card p,
body.theme-light .policy-card li {
  max-width: 88ch;
}
