/* Shared owner-approved palette; concrete color swatches keep their product values. */
html:root {
  --bg: #191919;
  --bg-2: #292929;
  --ink: #242424;
  --paper: #fff;
  --paper-2: #f4f4f4;
  --muted: #595959;
  --line: #dcdcdc;
  --bronze: #9a3a10;
  --bronze-deep: #762b0b;
  --bronze-soft: #f7ddcb;
  --bronze-glow: rgba(154, 58, 16, .16);
}

header.site-contact-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  padding: 0;
}
header.site-contact-header:not(.bar) > .wrap { min-height: 72px; padding-block: 12px; }
header.site-contact-header:not(.bar) .nav-menu { position: relative; top: auto; left: auto; }
header.site-contact-header:not(.bar) > .wrap > a { min-width: 0; }
header.site-contact-header:not(.bar) > .wrap > a > span { font-size: 16px; }
header.bar.site-contact-header { background: #191919; }
.premium-home header.bar.site-contact-header { background: #fff; }
body.site-fixed-header header.site-contact-header {
  position: fixed;
  inset: 0 0 auto;
  width: 100%;
}
header.site-contact-header > .site-call-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  padding: 8px 16px;
  background: #9a3a10;
  color: #fff;
  font: 600 16px/1.5 Inter, system-ui, sans-serif;
  letter-spacing: 0;
  text-decoration: none;
  text-align: center;
  transition: background-color .18s ease;
}
header.site-contact-header > .site-call-strip:hover { background: #762b0b; }
header.site-contact-header > .site-call-strip:focus-visible {
  outline: 3px solid #f7ddcb;
  outline-offset: -5px;
}
.site-call-strip strong { font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
header.site-contact-header > .site-call-strip span { font: inherit; color: inherit; }
header.site-contact-header .bar-phone { display: none; }

body:not(.premium-home) .btn-gold { background: #9a3a10; color: #fff; border-color: #9a3a10; box-shadow: none; }
body:not(.premium-home) .btn-gold:hover { background: #762b0b; color: #fff; }
body:not(.premium-home) .btn-gold::before { display: none; }
footer a { text-decoration: underline; text-underline-offset: 3px; }
header.site-contact-header .nav-menu summary {
  background: #191919;
  color: #f7ddcb;
  border-color: #949494;
  box-shadow: none;
}
header.site-contact-header .nav-menu[open] summary {
  background: #292929;
  color: #f7ddcb;
  border-color: #f7ddcb;
  box-shadow: none;
}
.premium-home header.site-contact-header .nav-menu summary { background: transparent; color: #242424; }
.premium-home header.site-contact-header .nav-menu[open] summary { background: #f4f4f4; color: #242424; }
header.site-contact-header .nav-panel { background: #191919; border-color: #949494; }
header.site-contact-header .nav-panel a,
header.site-contact-header .nav-panel a span { color: #f7ddcb; }
header.site-contact-header .nav-panel a:hover,
header.site-contact-header .nav-panel a:focus-visible { background: #762b0b; color: #fff; }
header.site-contact-header .nav-panel a:focus-visible { outline: 2px solid #f7ddcb; outline-offset: -3px; }

/* Native details remains usable before JavaScript measures the fixed header. */
body:not(.site-fixed-header) header.site-contact-header { padding-top: 44px; }
body:not(.site-fixed-header) header.site-contact-header > .site-call-strip {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1001;
}
body:not(.site-fixed-header) header.site-contact-header .nav-panel {
  position: absolute;
  top: calc(100% + 8px);
  left: auto;
  right: 0;
  width: min(330px, calc(100vw - 32px));
  max-height: calc(100svh - 180px);
}
@media (prefers-reduced-motion: reduce) {
  header.site-contact-header > .site-call-strip { transition: none; }
}
@media print {
  header.site-contact-header > .site-call-strip { display: none; }
}
