/* Shared dark palette. Layout and the mobile door-handle clearance stay in style.css. */
:root {
  color-scheme: dark;
  --canvas: #111d1a;
  --surface: #15231f;
  --surface-raised: #1b2d26;
  --surface-hover: #22382f;
  --text: #f3f1e8;
  --muted: #c1c9bc;
  --soft: #a3b1a5;
  --line: #35483f;
  --field-border: #7b8e80;
  --gold: #d2b480;
  --gold-hover: #ead2a0;
  --ink: #101a18;
  --paper: #f3f1e8;
}

body { background: var(--canvas); color: var(--text); }
::selection { background: var(--gold); color: var(--ink); }
.eyebrow { color: var(--gold); }
.skip { background: var(--gold); color: var(--ink); }
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible,
[tabindex]:focus-visible { outline-color: var(--gold); }

.site-header { background: var(--canvas); border-color: var(--line); }
.site-header nav { background: var(--canvas); }
.site-header nav a:after { background: var(--gold); }
.site-header nav a:hover { color: var(--gold); }
.header-phone { border-color: var(--field-border); }
.header-phone:hover { background: var(--surface-hover); border-color: var(--gold); }
.menu-toggle > span { background: var(--text); }
/* The same approved source artwork is used in both locations. */
.logo-image, .footer-main .logo-image { filter: invert(1); mix-blend-mode: screen; }

.hero { background: var(--canvas); }
.hero .eyebrow { color: var(--gold-hover); }
h1 em { color: var(--gold-hover); }
.hero-lead, .hero-bottom { color: var(--text); }
.image-note { color: var(--muted); }
.button.gold, .button.dark { background: var(--gold); color: var(--ink); }
.button.gold:hover, .button.dark:hover { background: var(--gold-hover); }
.text-link, .text-link.light { border-color: var(--field-border); }
.text-link:hover { color: var(--gold-hover); border-color: var(--gold); }
.hero-bottom a { border-color: var(--field-border); }
.hero-bottom a:hover { background: #d2b48020; border-color: var(--gold); }

.quick-strip { background: var(--surface); }
.quick-inner > span .icon, .service-icon { color: var(--gold); }
.quick-inner > a:hover { color: var(--gold-hover); }
.service-card { background: var(--surface); }
.service-card:hover { background: var(--surface-hover); }
.card-top > span { color: var(--soft); }
.service-card summary span, .faq-list summary span { color: var(--gold); }
.service-card summary:hover, .faq-list summary:hover { color: var(--gold-hover); }
.detail-content a { color: var(--gold-hover); }

.audience-section { background: var(--surface); color: var(--text); }
.audience-intro .eyebrow, .audience-panel .eyebrow { color: var(--gold); }
.audience-intro > p:not(.eyebrow),
.audience-panel > p:not(.eyebrow) { color: var(--muted); }
.audience-tabs, .audience-tabs button, .audience-tabs button:last-child { border-color: var(--line); }
.audience-tabs button { color: var(--muted); }
.audience-tabs button[aria-selected=true], .audience-tabs button:hover { color: var(--gold); }
.audience-panel { background: var(--surface-raised); }
.audience-panel li { color: var(--text); }
.audience-panel .text-link { border-color: var(--field-border); color: var(--gold); }
.audience-panel .text-link:hover { color: var(--gold-hover); border-color: var(--gold); }
.building-art svg { stroke: var(--field-border); }
.building-art .art-accent { stroke: var(--gold); }

.process-grid article, .faq-list { border-color: var(--line); }
.step-number { color: var(--gold); }
.brand-list { color: var(--text); }
.brand-note { color: var(--soft); }

.contact-section { background: var(--surface); }
.contact-copy .eyebrow { color: var(--gold); }
.contact-copy > p:not(.eyebrow), .contact-small,
.contact-info > span:last-child, .contact-note { color: var(--muted); }
.contact-note .icon { color: var(--gold); }
.contact-phone, .contact-email { border-color: var(--field-border); }
.contact-phone:hover, .contact-email:hover { color: var(--gold-hover); border-color: var(--gold); }
.request-card { background: var(--surface-raised); box-shadow: 0 12px 34px #00000012; }
label { color: var(--text); }
label > span { color: var(--gold); }
input, select, textarea { color: var(--text); border-color: var(--field-border); }
input::placeholder, textarea::placeholder { color: var(--soft); opacity: 1; }
input:focus, select:focus, textarea:focus { border-color: var(--gold); }
select option { background: var(--surface-raised); color: var(--text); }
input:autofill { color: var(--text); background: var(--surface-hover); }
input:-webkit-autofill {
  -webkit-text-fill-color: var(--text);
  -webkit-box-shadow: 0 0 0 1000px var(--surface-raised) inset;
  caret-color: var(--text);
}
.form-info { color: var(--muted); }
.copy-button { color: var(--gold); }
.copy-button:hover { color: var(--gold-hover); }
.form-status { color: var(--text); }

footer { background: var(--canvas); color: var(--text); }
.footer-main p, .back-top, .footer-bottom { color: var(--muted); }
.footer-bottom { border-color: var(--line); }
.back-top:hover, .footer-bottom button:hover { color: var(--gold-hover); }
dialog { background: var(--surface-raised); color: var(--text); border-color: var(--field-border); }
dialog::backdrop { background: #060d0bd9; }
dialog p:not(.eyebrow) { color: var(--muted); }
dialog a { color: var(--gold-hover); }
.dialog-close { color: var(--text); }
.dialog-close:hover { color: var(--gold); }

@media (max-width: 700px) {
  .site-header nav { box-shadow: 0 12px 24px #00000040; }
}
