/* ============ Light theme (default) — toggle in nav ============ */
/* Light-mode palette names per the brand guidelines (Woods_Brand-Guidelines v1) */
html[data-theme="light"] {
  --bg: #f6f2e9;     /* Cream Paper */
  --bg-2: #efe9db;   /* Paper 2 */
  --panel: #ffffff;  /* White */
  --line: #ddd4c2;   /* Line */
  --cream: #211b13;  /* Ink */
  --muted: #6f6552;  /* Muted */
  --gold: #b08502;   /* Gold, light mode (bright #fcc724 fails contrast on cream) */
}
html[data-theme="light"] .grain { opacity: 0.035; }

/* nav: dark chrome in BOTH themes. The bar keeps the dark glass and the
   dark palette's link/toggle/context colors so it never flips light. */
html[data-theme="light"] .nav.scrolled { background: rgba(19, 16, 9, 0.82); border-bottom-color: #322b1f; }
html[data-theme="light"] .nav-links a { color: #e9e2d3; }
html[data-theme="light"] .nav-links a:hover { color: #fcc724; }
html[data-theme="light"] .nav-links a.active { color: #ffffff; }
html[data-theme="light"] .theme-toggle { border-color: rgba(242, 237, 225, 0.28); }
html[data-theme="light"] .theme-toggle button { color: #a99d87; }
html[data-theme="light"] .theme-toggle button.on { color: #ffffff; }
html[data-theme="light"] .nav-context { color: #a99d87; }
html[data-theme="light"] .nav-context .ctx-label { color: #fcc724; }
/* keep the truck-stripe colors true on the dark bar (light theme mutes --gold) */
html[data-theme="light"] .nav::after {
  background: linear-gradient(to bottom,
    #cd142b 0, #cd142b 3px,
    #fcc724 3px, #fcc724 6px,
    var(--stripe-white) 6px, var(--stripe-white) 9px);
}
html[data-theme="light"] .nav-links a::after {
  background: linear-gradient(to bottom,
    #cd142b 0, #cd142b 2px,
    #fcc724 2px, #fcc724 4px,
    var(--stripe-white) 4px, var(--stripe-white) 6px);
}

/* hero stays cinematic-dark in both themes; fade into the light page */
html[data-theme="light"] .hero h1 { color: #f2ede1; }
html[data-theme="light"] .hero h1 .accent-2 { -webkit-text-stroke-color: #f2ede1; }
html[data-theme="light"] .hero-sub { color: #cfc5b0; }
html[data-theme="light"] .hero-sub strong { color: #f2ede1; }
html[data-theme="light"] .tod-chip { color: #f2ede1; }
html[data-theme="light"] .hero-veil {
  background:
    linear-gradient(to right,
      rgba(19, 16, 9, 0.72) 0%,
      rgba(19, 16, 9, 0.42) 40%,
      rgba(19, 16, 9, 0.08) 70%,
      transparent 100%),
    linear-gradient(to bottom,
      rgba(19, 16, 9, 0.60) 0%,
      rgba(19, 16, 9, 0.25) 24%,
      rgba(19, 16, 9, 0.22) 48%,
      rgba(19, 16, 9, 0.60) 70%,
      rgba(19, 16, 9, 0.50) 86%,
      var(--bg) 100%);
}

/* ghost buttons: dark-on-light outside the hero, unchanged inside it */
html[data-theme="light"] .btn-ghost { border-color: rgba(33, 27, 19, 0.4); color: #211b13; background: transparent; }
html[data-theme="light"] .btn-ghost:hover { border-color: #211b13; }
html[data-theme="light"] .hero .btn-ghost { border-color: rgba(242, 237, 225, 0.35); color: #f2ede1; background: rgba(19, 16, 9, 0.3); }
html[data-theme="light"] .hero .btn-ghost:hover { border-color: #f2ede1; }

/* marquee */
html[data-theme="light"] .marquee-track .mq-item { -webkit-text-stroke-color: rgba(33, 27, 19, 0.45); }

/* why section inverts to dark for rhythm + contrast */
html[data-theme="light"] .why { background: #211b13; }
html[data-theme="light"] .why .sec-eyebrow { color: #fcc724; }
html[data-theme="light"] .why-statement { color: #f2ede1; }
html[data-theme="light"] .why-body { color: #b3a791; }
html[data-theme="light"] .why-body strong { color: #f2ede1; }

/* cards & blocks */
html[data-theme="light"] .how-block:hover { background: #faf6ec; }
/* card depth in light mode: white top bevel, soft warm shadows */
html[data-theme="light"] .svc-card, html[data-theme="light"] .cap-card,
html[data-theme="light"] .person-card, html[data-theme="light"] .proj-feature,
html[data-theme="light"] .proj-list li, html[data-theme="light"] .service-row,
html[data-theme="light"] .how-grid {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    0 1px 2px rgba(33, 27, 19, 0.07),
    0 10px 24px -10px rgba(33, 27, 19, 0.14);
}
html[data-theme="light"] .svc-card:hover, html[data-theme="light"] .cap-card:hover {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    0 2px 4px rgba(33, 27, 19, 0.08),
    0 20px 40px -12px rgba(33, 27, 19, 0.2);
}
html[data-theme="light"] .pit-card {
  box-shadow:
    inset 0 1px 0 rgba(242, 237, 225, 0.1),
    0 3px 6px rgba(33, 27, 19, 0.16),
    0 20px 44px -12px rgba(33, 27, 19, 0.32);
}
html[data-theme="light"] .quote-pending { color: #ffffff; }

/* rates page */
html[data-theme="light"] .jump-bar { background: rgba(246, 242, 233, 0.92); }
html[data-theme="light"] .rate-table tr:nth-child(even) td { background: rgba(33, 27, 19, 0.025); }
html[data-theme="light"] .rate-table tbody tr:hover td { background: rgba(168, 121, 8, 0.07); }

/* ============ Theme toggle control ============ */
.theme-toggle {
  display: inline-flex; align-items: center; gap: 2px;
  border: 1px solid var(--line); border-radius: 99px; padding: 3px;
  background: transparent;
}
.theme-toggle button {
  appearance: none; border: 0; background: transparent; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--muted); border-radius: 99px; padding: 6px 9px;
  transition: background 0.2s ease, color 0.2s ease;
}
.theme-toggle button svg { display: block; }
.theme-toggle button.on { background: var(--red); color: #ffffff; }
@media (max-width: 700px) {
  .theme-toggle button { padding: 5px 8px; }
}

/* surface golds stay true brand gold in light mode (dark text on them keeps contrast) */
html[data-theme="light"] .btn-chev .chev-y { background: #fcc724; }
html[data-theme="light"] .stat .stat-big .gold { color: #fcc724; -webkit-text-stroke: 1.5px rgba(24, 20, 16, 0.3); }
html[data-theme="light"] .marquee-track .mq-item.solid { color: #fcc724; -webkit-text-stroke: 1.5px rgba(33, 27, 19, 0.35); }
html[data-theme="light"] .btn-gold { background: #fcc724; color: #181410; }
html[data-theme="light"] .btn-gold:hover { background: #e2ab0e; }
html[data-theme="light"] .quote-pending { background: #fcc724; color: #181410; }
html[data-theme="light"] .how-block .how-bar { background: #fcc724; }
html[data-theme="light"] .how-block:hover .how-bar { background: var(--red); }
html[data-theme="light"] .tl-item:last-child .tl-dot { background: #fcc724; }
html[data-theme="light"] .tod-chip .dot { background: #fcc724; box-shadow: 0 0 12px #fcc724; }

/* pit cards are always ink-dark; pin their text to the dark palette in light mode */
html[data-theme="light"] .pit-card { color: #f2ede1; }
html[data-theme="light"] .pit-card h3 { color: #f2ede1; }
html[data-theme="light"] .pit-card h3 .gold { color: #fcc724; }
html[data-theme="light"] .pit-card .pit-addr { color: #f2ede1; }
html[data-theme="light"] .pit-card p { color: #a99d87; }
html[data-theme="light"] .pit-card .pit-line { color: #fcc724; }

/* stats proof strip: recessed channel in light mode (warm shading, faint tread) */
html[data-theme="light"] .stats-band {
  background: linear-gradient(to bottom, rgba(33, 27, 19, 0.075), rgba(33, 27, 19, 0.025) 35%, rgba(33, 27, 19, 0.06));
  box-shadow: inset 0 2px 6px rgba(33, 27, 19, 0.12), inset 0 -1px 0 rgba(255, 255, 255, 0.7);
}
html[data-theme="light"] .stats-band::before { opacity: 0.045; }
html[data-theme="light"] .stat:hover { background: rgba(176, 133, 2, 0.06); }

/* rate tables: steel plate in light mode */
html[data-theme="light"] .rate-table {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    0 1px 2px rgba(33, 27, 19, 0.07),
    0 10px 24px -10px rgba(33, 27, 19, 0.14);
}
html[data-theme="light"] .rate-table thead th {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg stroke-width='7' stroke-linecap='round' fill='none'%3E%3Cg stroke='%23000000' stroke-opacity='0.05'%3E%3Cpath d='M10 25 L24 11'/%3E%3Cpath d='M42 57 L56 43'/%3E%3C/g%3E%3Cg stroke='%23ffffff' stroke-opacity='0.5'%3E%3Cpath d='M8 23 L22 9'/%3E%3Cpath d='M40 55 L54 41'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(to bottom, rgba(33, 27, 19, 0.085), rgba(33, 27, 19, 0.04));
  background-size: 46px 46px, auto;
}

/* quote form: steel plate in light mode, warm recessed slots */
html[data-theme="light"] .quote-form {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    0 1px 2px rgba(33, 27, 19, 0.07),
    0 10px 24px -10px rgba(33, 27, 19, 0.14);
}
html[data-theme="light"] .quote-form::before { opacity: 0.05; }
html[data-theme="light"] .qf-field input, html[data-theme="light"] .qf-field select, html[data-theme="light"] .qf-field textarea {
  background: #faf7f0;
  box-shadow: inset 0 2px 4px rgba(33, 27, 19, 0.07), inset 0 -1px 0 rgba(255, 255, 255, 0.8);
}
html[data-theme="light"] .qf-field input:focus, html[data-theme="light"] .qf-field select:focus, html[data-theme="light"] .qf-field textarea:focus {
  border-color: #b08502;
  box-shadow: inset 0 2px 4px rgba(33, 27, 19, 0.07), inset 0 -1px 0 rgba(255, 255, 255, 0.8), 0 0 0 3px rgba(176, 133, 2, 0.16);
}
html[data-theme="light"] .qf-file { background: rgba(33, 27, 19, 0.03); }

/* hero CTAs sit over the video in both themes; keep them light-on-dark */
html[data-theme="light"] .hero .btn-chev {
  color: #f2ede1;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.75), 0 0 3px rgba(0, 0, 0, 0.55);
}

/* ============ Machined button system: physical but modern ============
   Flat-forward faces, a hairline machined bevel, soft layered lift, and a
   press that sinks the button IN (no 2010 ledge, no gloss). */
.btn, .nav-cta, .form-switch button, .theme-toggle button, .rail-btn, .mnav-btn {
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, filter 0.2s ease,
              transform 0.08s ease-out, box-shadow 0.08s ease-out;
}
.btn:focus-visible, .nav-cta:focus-visible { outline: 2px solid #fcc724; outline-offset: 2px; }

/* red: the workhorse */
.btn-red, .nav-cta {
  background: linear-gradient(to bottom, #cf2733, #cd142b);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    inset 0 -1px 0 rgba(0, 0, 0, 0.2),
    0 1px 2px rgba(0, 0, 0, 0.3),
    0 8px 18px -8px rgba(0, 0, 0, 0.45);
}
.btn-red:hover, .nav-cta:hover { filter: brightness(1.07); }
.btn-red:active, .nav-cta:active {
  transform: translateY(1px) scale(0.99);
  filter: brightness(0.94);
  box-shadow:
    inset 0 2px 5px rgba(0, 0, 0, 0.35),
    0 1px 2px rgba(0, 0, 0, 0.25);
}

/* gold */
.btn-gold, html[data-theme="light"] .btn-gold {
  background: linear-gradient(to bottom, #ffce33, #fcc724);
  color: #181410;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    inset 0 -1px 0 rgba(0, 0, 0, 0.12),
    0 1px 2px rgba(0, 0, 0, 0.28),
    0 8px 18px -8px rgba(0, 0, 0, 0.4);
}
.btn-gold:hover, html[data-theme="light"] .btn-gold:hover { filter: brightness(1.05); }
.btn-gold:active, html[data-theme="light"] .btn-gold:active {
  transform: translateY(1px) scale(0.99);
  filter: brightness(0.93);
  box-shadow:
    inset 0 2px 5px rgba(0, 0, 0, 0.25),
    0 1px 2px rgba(0, 0, 0, 0.22);
}

/* ghost: hairline and quiet */
.btn-ghost {
  background: rgba(242, 237, 225, 0.05);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 1px 2px rgba(0, 0, 0, 0.25),
    0 6px 14px -8px rgba(0, 0, 0, 0.35);
}
.btn-ghost:active {
  transform: translateY(1px) scale(0.99);
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3);
}
html[data-theme="light"] .btn-ghost {
  background: #ffffff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 1px 2px rgba(33, 27, 19, 0.12),
    0 6px 14px -8px rgba(33, 27, 19, 0.2);
}
html[data-theme="light"] .btn-ghost:active {
  transform: translateY(1px) scale(0.99);
  box-shadow: inset 0 2px 5px rgba(33, 27, 19, 0.14);
}
html[data-theme="light"] .hero .btn-ghost {
  background: rgba(19, 16, 9, 0.35);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 1px 2px rgba(0, 0, 0, 0.25),
    0 6px 14px -8px rgba(0, 0, 0, 0.35);
}

/* hero chevron CTAs stay flat text links, not slabs */
.btn-chev, .btn-chev:hover, .btn-chev:active {
  background: none; box-shadow: none; transform: none; filter: none;
}

/* chevron text CTAs (hero, "Our Company" band, and any other .btn-chev) glow brand-gold on hover, same language as the footer socials. 9/3: was hero-only. */
.btn-chev { transition: color 0.25s ease, text-shadow 0.25s ease; }
.btn-chev .chev { transition: filter 0.25s ease; }
.btn-chev:hover, .btn-chev:focus-visible,
html[data-theme="light"] .btn-chev:hover, html[data-theme="light"] .btn-chev:focus-visible {
  color: #fcc724;
  text-shadow: 0 0 18px rgba(252, 199, 36, 0.55), 0 0 6px rgba(252, 199, 36, 0.35), 0 1px 10px rgba(0, 0, 0, 0.6);
}
.btn-chev:hover .chev, .btn-chev:focus-visible .chev {
  filter: drop-shadow(0 0 6px rgba(252, 199, 36, 0.6));
}

/* small controls: same language, lighter touch */
.form-switch button.on, .theme-toggle button.on {
  background: linear-gradient(to bottom, #cf2733, #cd142b);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 2px rgba(0, 0, 0, 0.3);
}
.form-switch button:active, .theme-toggle button:active { transform: translateY(1px); }
.rail-btn:active { transform: scale(0.94); }
.mnav-btn:active { transform: translateY(1px); }

/* sticky call bar presses too */

body[data-motion="off"] .btn, body[data-motion="off"] .nav-cta { transition: none; }

/* form switcher: three obvious buttons, not one quiet capsule */
.form-switch { border: 0; padding: 0; gap: 10px; flex-wrap: wrap; }
.form-switch button {
  border: 1px solid var(--line); padding: 10px 18px;
  background: rgba(242, 237, 225, 0.06);
  color: var(--muted);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 1px 2px rgba(0, 0, 0, 0.25),
    0 6px 14px -8px rgba(0, 0, 0, 0.3);
}
.form-switch button:hover { color: var(--cream); border-color: #fcc724; }
html[data-theme="light"] .form-switch button {
  background: #ffffff;
  color: #6f6552;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 1px 2px rgba(33, 27, 19, 0.1),
    0 6px 14px -8px rgba(33, 27, 19, 0.16);
}
html[data-theme="light"] .form-switch button:hover { color: #211b13; border-color: #b08502; }
.form-switch button.on, html[data-theme="light"] .form-switch button.on {
  border-color: #a91b26; color: #ffffff;
  background: linear-gradient(to bottom, #cf2733, #cd142b);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 2px rgba(0, 0, 0, 0.3), 0 6px 14px -8px rgba(0, 0, 0, 0.35);
}
.form-switch button:active, html[data-theme="light"] .form-switch button:active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25);
}

/* success-block follow icons: mute the glow to the light palette's gold */
html[data-theme="light"] .qf-social-links a:hover,
html[data-theme="light"] .qf-social-links a:focus-visible {
  border-color: rgba(176, 133, 2, 0.7);
  box-shadow: 0 0 16px rgba(176, 133, 2, 0.25), inset 0 0 8px rgba(176, 133, 2, 0.1);
}

/* Select fields: draw our own chevron and set it in from the edge (Dylan +
   Nate 8/17: the native arrow sat "claustrophobic" against the right edge,
   and padding cannot move a native arrow). Covers every form, both themes. */
.qf-field select {
  appearance: none; -webkit-appearance: none; -moz-appearance: none;
  padding-right: 52px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23a99d87' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-size: 14px 9px;
}
.qf-field select:hover, .qf-field select:focus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23fcc724' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
html[data-theme="light"] .qf-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%236f6552' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 20px center; background-size: 14px 9px;
}
html[data-theme="light"] .qf-field select:hover, html[data-theme="light"] .qf-field select:focus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23b08502' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.qf-field select::-ms-expand { display: none; }

/* Forms are ALWAYS the light plate, in both themes (Dylan 8/17: in dark
   mode the form sank into the page). Same trick as the nav, in reverse: the
   light tokens are re-scoped onto every .quote-form so its labels, inputs,
   consent copy, and file wells all read as the light form regardless of the
   page theme. Placed last so it wins by order. */
.quote-form {
  --bg: #f6f2e9; --bg-2: #efe9db; --panel: #ffffff; --line: #ddd4c2;
  --cream: #211b13; --muted: #6f6552; --gold: #b08502;
  background: #ffffff; border-color: #ddd4c2; color: #211b13;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 1px 2px rgba(33, 27, 19, 0.07), 0 10px 24px -10px rgba(33, 27, 19, 0.14);
}
html[data-theme="dark"] .quote-form { box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 18px 40px -12px rgba(0, 0, 0, 0.55); border-color: rgba(221, 212, 194, 0.7); }
.quote-form::before { opacity: 0.05; }
.quote-form h3, .quote-form .qf-field label, .quote-form .qf-legend, .quote-form .qf-done, .quote-form .qf-consent { color: #211b13; }
.quote-form .qf-field label { color: #6f6552; }
.quote-form .qf-field input, .quote-form .qf-field select, .quote-form .qf-field textarea {
  background: #faf7f0; color: #211b13; border-color: #ddd4c2;
  box-shadow: inset 0 2px 4px rgba(33, 27, 19, 0.07), inset 0 -1px 0 rgba(255, 255, 255, 0.8);
}
.quote-form .qf-field input::placeholder, .quote-form .qf-field textarea::placeholder { color: #8b8170; }
.quote-form .qf-field input:focus, .quote-form .qf-field select:focus, .quote-form .qf-field textarea:focus {
  border-color: #b08502;
  box-shadow: inset 0 2px 4px rgba(33, 27, 19, 0.07), inset 0 -1px 0 rgba(255, 255, 255, 0.8), 0 0 0 3px rgba(176, 133, 2, 0.16);
}
.quote-form .qf-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%236f6552' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 20px center; background-size: 14px 9px;
}
.quote-form .qf-field select:hover, .quote-form .qf-field select:focus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23b08502' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.quote-form .qf-file { background: rgba(33, 27, 19, 0.03); border-color: #ddd4c2; color: #6f6552; }
.quote-form .qf-file:hover { border-color: #b08502; color: #211b13; }
.quote-form .qf-consent { color: #6f6552; }
.quote-form .qf-consent strong, .quote-form .qf-done strong { color: #211b13; }
.quote-form .qf-done strong { color: #b08502; }
.quote-form a { color: #211b13; }

/* homepage card footer links: third chevron reads on the light card */
html[data-theme="light"] .cap-go .chev-w { background: #131009; }
html[data-theme="light"] .cap-card:hover .cap-go { color: #b8860b; }


/* ============ 9/3 readiness audit: WCAG 1.4.3 / 1.4.11 / 2.1.1 fixes ============
   Light theme gold (#b08502) reads 3.0 to 3.4:1 on cream and white; fine for
   large display type, short for 12 to 15px labels and prices. --gold-text is a
   darker gold for small text only; --gold itself (buttons, rules, accents) is
   untouched. Dark theme brand red (#cd142b) is 2.7:1 on the panel; small red
   text gets a lighter red. Form input borders lifted to a 3:1 boundary. */
:root { --gold-text: var(--gold); --red-text: #ff6b7a; }
html[data-theme="light"] { --gold-text: #856300; --red-text: #cd142b; }
html[data-theme="light"] .price.num,
html[data-theme="light"] .rate-cond,
html[data-theme="light"] .sec-eyebrow,
html[data-theme="light"] .contact-blocks h5,
html[data-theme="light"] .loc-list h5,
html[data-theme="light"] .person-path,
html[data-theme="light"] .job-cap span,
html[data-theme="light"] .quote-band cite,
html[data-theme="light"] .legal-date,
html[data-theme="light"] .county-sub,
html[data-theme="light"] .wwd-more a { color: var(--gold-text); }
.quote-form .qf-done strong { color: #856300; }
html:not([data-theme="light"]) .rate-table .unit,
html:not([data-theme="light"]) .rate-table .uni,
html:not([data-theme="light"]) .svc-num,
html:not([data-theme="light"]) .cap-num,
html:not([data-theme="light"]) .svc-no,
html:not([data-theme="light"]) .dept-card a { color: var(--red-text); }
.quote-form .qf-field input, .quote-form .qf-field select, .quote-form .qf-field textarea { border-color: #8f8570; }
.quote-form .qf-file { border-color: #8f8570; }
/* file inputs stay in the tab order (were display:none); the dashed well shows focus */
.qf-file { position: relative; }
.qf-file input { display: block; position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; clip: rect(0 0 0 0); left: 0; top: 0; }
.qf-file:focus-within { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(233, 169, 31, 0.25); color: var(--cream); }

/* 9/3 audit: screen-reader copy of kinetic headings (letters are aria-hidden) */
.k-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
