/* Site palette: white, warm ivory, charcoal and antique gold. */
body:not(.home-page) {
  --bg: #FFFFFF;
  --bg-deep: #F5F2ED;
  --paper: #FFFFFF;
  --ink: #10151C;
  --ink-80: #4D555D;
  --ink-60: #59616A;
  --ink-40: #59616A;
  /* Keep the shared token names while replacing the former orange accents. */
  --orange: #806331;
  --orange-lo: #6C5229;
  --sun: #DBBD7B;
  --night: #10151C;
  --night-2: #181D24;
  --rule: #E5DCCF;
  --rule-soft: rgba(169, 142, 97, .14);
  --rule-dark: rgba(255, 255, 255, .16);
  --service-accent: #10151C;
  --service-accent-hover: #28323D;
  --service-accent-soft: rgba(169, 142, 97, .08);
  --service-accent-shadow: rgba(16, 21, 28, .18);
}
body:not(.home-page)::selection,
body:not(.home-page) ::selection { background: #DBBD7B; color: #10151C; }
body:not(.home-page) .header.is-stuck { background: #FFFFFF; }
body:not(.home-page) .eyebrow { color: #806331; }
body:not(.home-page) .eyebrow--light { color: #DBBD7B; }
/* Labels over photography need white text rather than the gold section color. */
body:not(.home-page) .hero__eyebrow {
  color: #FFFFFF;
  text-shadow: 0 1px 3px rgba(16, 21, 28, .95), 0 2px 14px rgba(16, 21, 28, .8);
}
body:not(.home-page) .btn--primary { background: #10151C; color: #FFFFFF; }
body:not(.home-page) .btn--primary:hover { background: #28323D; }
body:not(.home-page) .header__cta { box-shadow: 0 6px 18px rgba(16, 21, 28, .18); }
body:not(.home-page) .header__cta:hover { box-shadow: 0 10px 26px rgba(16, 21, 28, .24); }
body:not(.home-page) .nav-services__trigger:hover,
body:not(.home-page) .nav-services__trigger[aria-expanded="true"] {
  color: #10151C;
  background: #EBE9E4;
}
body:not(.home-page) .nav-services.is-open .nav-services__link { color: #10151C; }
body:not(.home-page) .nav-services__panel {
  background: #FFFFFF;
  border-color: #E5E5E2;
  box-shadow: 0 18px 50px rgba(16, 21, 28, .12), 0 2px 8px rgba(16, 21, 28, .05);
}
body:not(.home-page) .nav-services__eyebrow { color: #59616A; }
body:not(.home-page) .nav-service[href],
body:not(.home-page) .menu-services__inner a[href] {
  --nav-accent: #10151C;
  --nav-soft: #F3F3F0;
  --nav-border: #E3E4E2;
  --nav-icon-bg: #F8F8F5;
}
body:not(.home-page) .menu-services__trigger:hover,
body:not(.home-page) .menu-services__trigger:focus-visible { background: rgba(169, 142, 97, .08); }
body:not(.home-page) .menu__cta::before { background: radial-gradient(circle, rgba(219, 189, 123, .25), transparent 68%); }
body:not(.home-page) .menu__cta__btn { box-shadow: 0 10px 26px rgba(16, 21, 28, .18); }
body:not(.home-page) .menu__cta__btn:hover { box-shadow: 0 14px 32px rgba(16, 21, 28, .24); }
/* Shared form and mobile action surfaces. */
body:not(.home-page) .form__ok { background: rgba(169, 142, 97, .07); }
body:not(.home-page) .service-mobile-call {
  border-top-color: #EBE5DB;
  background: #F5F2ED;
  box-shadow: 0 -12px 34px rgba(16, 21, 28, .12);
}
body:not(.home-page) .service-mobile-call .btn--primary .btn__ico {
  box-shadow: 0 5px 12px rgba(16, 21, 28, .22);
}

/* Page-specific accent families use the same palette, with dark action fills. */
body:not(.home-page) {
  --service-accent-border: rgba(169, 142, 97, .38);
  --service-alt: #F5F2ED;
  --journey-alt: #F5F2ED;
  --journey-signal: #806331;
  --journey-soft: rgba(169, 142, 97, .1);
  --about-accent: #806331;
  --about-soft: rgba(169, 142, 97, .09);
  --inspect-alt: #F5F2ED;
  --roof-repair-alt: #F5F2ED;
  --roof-repair-accent-glow: rgba(219, 189, 123, .5);
  --roof-repair-replace-bg: #F5F2ED;
}
body:not(.home-page) main,
body:not(.home-page) .service-mobile-call {
  --orange: #806331;
  --orange-lo: #6C5229;
}
body:not(.home-page) main .btn--primary,
body:not(.home-page) .service-mobile-call .btn--primary,
body:not(.home-page) .inspect-mobile-call .btn--primary {
  color: #FFFFFF;
  border-color: #10151C;
  background: #10151C;
}
body:not(.home-page) main .btn--primary:hover,
body:not(.home-page) .service-mobile-call .btn--primary:hover,
body:not(.home-page) .inspect-mobile-call .btn--primary:hover {
  color: #FFFFFF;
  border-color: #28323D;
  background: #28323D;
}
/* A light action remains legible inside charcoal callout panels. */
body:not(.home-page) :is(.endcta, .midcta, .menu__cta) .btn--primary {
  background: #DBBD7B;
  border-color: #DBBD7B;
  color: #10151C;
}
body:not(.home-page) :is(.endcta, .midcta, .menu__cta) .btn--primary:hover {
  background: #E8CE98;
  border-color: #E8CE98;
  color: #10151C;
}
body:not(.home-page) :is(.endcta, .midcta, .menu__cta) .btn--primary .btn__ico { color: #10151C; }
/* Prevent the section-label color from overriding text on photography. */
body:not(.home-page) :is(.subhero, .service-detail-hero, .inspect-hero, .hub-hero, .book-story, .about-hero) .eyebrow,
body:not(.home-page) figcaption .eyebrow {
  color: #FFFFFF;
  text-shadow: 0 1px 3px rgba(16, 21, 28, .95), 0 2px 14px rgba(16, 21, 28, .8);
}
/* Bright gold signals on dark panels; muted gold on ivory/white surfaces. */
body:not(.home-page) :is(.sec-dark, .endcta, .midcta, .journey-visual, .journey-dark, .inspect-report, .roof-repair-scope__media, .materials-assembly, .materials-final, .hub-router) {
  --orange: #DBBD7B;
  --orange-lo: #E8CE98;
}
body:not(.home-page) :is(.sec-dark, .endcta, .midcta, .journey-visual, .inspect-report, .roof-repair-scope__media, .materials-assembly, .hub-router) .eyebrow { color: #DBBD7B; }
body:not(.home-page) :is(.inspect-scope__lesson-icon, .roof-repair-lesson__icon) { color: #DBBD7B; }
body:not(.home-page) .hub-directory .service-directory__item[data-service] { --item-accent: #10151C; }
body:not(.home-page) .inspect-mobile-call { background: #F5F2ED; border-top-color: #EBE5DB; }
body:not(.home-page) :is(input, textarea)::placeholder { color: #59616A; }

/* Explicit contrast for dark feature sections and their small labels. */
body:not(.home-page) :is(.journey-proof, .roof-repair-proof, .about-final) {
  --orange: #DBBD7B;
  --orange-lo: #E8CE98;
}
body:not(.home-page) :is(.journey-proof, .roof-repair-proof, .about-final) .eyebrow { color: #DBBD7B; }
body:not(.home-page) :is(.hub-router, .materials-assembly) { --service-accent: #DBBD7B; }
body:not(.home-page) .journey-visual { --journey-signal: #DBBD7B; }
body:not(.home-page) .about-final { --about-accent: #DBBD7B; }
body:not(.home-page) .about-hero__signature { --about-accent: #DBBD7B; }
body:not(.home-page) .about-hero__signature svg { color: #10151C; }
body:not(.home-page) .about-review__avatar--blue { background: #59616A; }
body:not(.home-page) .about-review__avatar--green { background: #69727C; }
/* Preserve white labels after the general section-label rule above. */
body:not(.home-page) :is(.subhero, .service-detail-hero, .inspect-hero, .hub-hero, .book-story, .about-hero) .eyebrow,
body:not(.home-page) figcaption .eyebrow { color: #FFFFFF; }
body:not(.home-page) :is(.sec-dark, .endcta, .midcta, .journey-visual, .inspect-report, .roof-repair-scope__media, .materials-assembly, .hub-router) .eyebrow { color: #DBBD7B; }

body:not(.home-page) .footer { --orange: #DBBD7B; }
body:not(.home-page) .about-final .btn--primary {
  color: #10151C;
  background: #DBBD7B;
  border-color: #DBBD7B;
}
body:not(.home-page) .about-final .btn--primary:hover {
  color: #10151C;
  background: #E8CE98;
  border-color: #E8CE98;
}
body:not(.home-page) .about-final .btn--primary .btn__ico { color: #10151C; }
body:not(.home-page) :is(.service-detail-hero__note, .inspect-hero__note, .hub-hero__note) { color: rgba(255, 255, 255, .88); }

/* Keep the opening canvas white on every page; photography stays within it. */
body:not(.home-page) .header { background: #FFFFFF; }
body:not(.home-page) :is(.about-shell, .book-intake, .legal-intro, .error-modern) {
  background: #FFFFFF;
}
body:not(.home-page) .book-next { background: var(--bg-deep); }
