/* Shared brand tokens and layouts for program, profile, and utility pages. */
body[data-page="about"] .about-copy { max-width: 900px; }
body[data-page="about"] .about-philosophy { background: #e7e5df; }
body[data-page="about"] .about-bio .content-photo { aspect-ratio: auto; max-height: 680px; object-fit: contain; }
:root {
  --color-page: #efeeea;
  --color-section-alt: #e7e5df;
  --color-surface: #f5f3ee;
  --color-surface-2: #e7e5df;
  --color-ink: #171819;
  --color-muted: #555650;
  --color-line: #d4d0c7;
  --color-brand: #dbb45f;
  --color-brand-hover: #ebca83;
  --color-accent: #987031;
  --color-accent-soft: rgba(219, 180, 95, .12);
  --font-display: "Teko", "Arial Narrow", sans-serif;
  --font-body: "Segoe UI", Arial, sans-serif;
  --radius: 3px;
  --button-radius: 3px;
}
body:not([data-page="home"]) { color: #171819; }
body:not([data-page="home"]) .hero {
  background: #080909;
  color: #f5f3ee;
  padding-block: 72px;
}
body:not([data-page="home"]) .hero h1 { font-size: clamp(44px, 5vw, 72px); line-height: 1.02; }
body:not([data-page="home"]) .hero p { color: #d0d0c9; max-width: 620px; font-size: 16px; }
body:not([data-page="home"]) .section { padding-block: 72px; }
body:not([data-page="home"]) .section h2 { font-size: clamp(36px, 4vw, 56px); }
body:not([data-page="home"]) .section p { color: inherit; }
body:not([data-page="home"]) .section-eyebrow {
  display: flex; align-items: center; gap: 14px; color: inherit;
  font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
}
body:not([data-page="home"]) .section-eyebrow::before { content: ""; width: 38px; height: 3px; background: #c91418; }
body:not([data-page="home"]) .content-photo { border-radius: 0; object-fit: cover; aspect-ratio: 4 / 3; }
body:not([data-page="home"]) .hero .content-photo { aspect-ratio: 4 / 5; max-height: 620px; }
body:not([data-page="home"]) .services-benefits,
body:not([data-page="home"]) .about-story { background: #111212; color: #eeece6; }
body:not([data-page="home"]) .service-detail,
body:not([data-page="home"]) .about-intro,
body:not([data-page="home"]) .about-bio,
body:not([data-page="home"]) .faq { background: transparent; }
body:not([data-page="home"]) .text-link { color: inherit; border-bottom: 2px solid #c91418; padding-bottom: 5px; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; }
body:not([data-page="home"]) .faq-list { border: 0; border-radius: 0; }
body:not([data-page="home"]) .faq-list details { background: transparent; padding: 22px 0; border-bottom: 1px solid #ccc8bd; }
body:not([data-page="home"]) .faq-list summary { font-weight: 650; font-size: 16px; }
body:not([data-page="home"]) .faq-list summary::after { color: #987031; font-size: 24px; }
body:not([data-page="home"]) .faq-list p { margin: 16px 0 0; color: #50514e; }
body:not([data-page="home"]) .location-contact { background: #080909; color: #eeece6; }
body:not([data-page="home"]) .contact-card { background: transparent; border: 0; border-top: 1px solid #58492d; border-radius: 0; padding: 24px 0 0; }
body:not([data-page="home"]) .contact-details,
body:not([data-page="home"]) .contact-details a,
body:not([data-page="home"]) .card-kicker { color: #d9c69c; }
body:not([data-page="home"]) .location-contact .button { background: #c60f16; border-color: #c60f16; color: #fff; }
body:not([data-page="home"]) .map-placeholder { border: 1px solid #58492d; border-radius: 0; overflow: hidden; }
body:not([data-page="home"]) .legal-document { background: #f5f3ee; border-color: #d4d0c7; border-radius: 3px; box-shadow: none; }
body:not([data-page="home"]) .legal-document h2 { font-size: 32px; margin-top: 32px; }
body:not([data-page="home"]) .schedule { background: transparent; }
.isolated-header { background: #080909; border-bottom: 1px solid #242424; }
.isolated-header .home-logo { width: 235px; height: auto; }
.isolated-footer { background: #080909; color: #b8b8b4; }
@media (max-width: 720px) {
  body:not([data-page="home"]) .hero,
  body:not([data-page="home"]) .section { padding-block: 44px; }
  body:not([data-page="home"]) .hero .content-photo { aspect-ratio: 4 / 3; }
  body:not([data-page="home"]) .photo-split { gap: 30px; }
  body:not([data-page="home"]) .legal-document { padding: 24px 18px; }
}
