/* ═══════════════════════════════════════════════════════════════════
   THE A/C GUYS — STYLESHEET (service-business layout)
   ───────────────────────────────────────────────────────────────────
   THEME block below is the only part that changes per client.
   (Business text lives in js/config.js.)
   Visual language: his logo is white + ice blue on BLACK, so the
   chrome goes black too — dark header carrying the logo lockup,
   heavy slab headlines (Anton, like the logo lettering), flat
   bordered cards, blue owns brand/Request — heat owns Call only.
   ═══════════════════════════════════════════════════════════════════ */

/* ═══ THEME — EDIT PER CLIENT ═══ */
:root {
  --color-primary:      #3579C2;   /* logo blue (the outlines) — brand + Request */
  --color-primary-dark: #275D9C;   /* hover / active */
  --color-heat:         #D2491C;   /* heat red-orange — Call/emergency ONLY, stars, alerts */
  --color-heat-dark:    #A83914;   /* hover / active */
  --color-ink:          #0B0F13;   /* logo black; header, dark bands */
  --color-ink-muted:    #55636E;   /* secondary text */
  --color-bg:           #FFFFFF;   /* page background */
  --color-bg-alt:       #F2F7FB;   /* alternating sections (ice tint) */
  --color-surface:      #FFFFFF;   /* cards */
  --color-sand:         #D8E7F4;   /* neutral placeholder fill only */
  --color-success:      #2F6B4F;   /* request confirmation */
  --color-open:         #55C57A;   /* open-now dot */
  --color-heat-bright:  #FF7A4D;   /* heat, legible on dark bands */

  /* RGB triplets — every translucent tint derives from these, so
     re-theming for a new client stays inside this block */
  --primary-rgb: 53 121 194;
  --ink-rgb:     11 15 19;
  --sand-rgb:    216 231 244;
  --muted-rgb:   85 99 110;
  --scrim-rgb:   4 8 12;      /* hero overlay/chip fill */
  --open-rgb:    85 197 122;  /* open-dot pulse halo */
  --border:      1px solid rgb(var(--ink-rgb) / 0.14);

  /* the wordmark itself is the logo PNG (assets/img/); --font-block
     stands in for the logo's heavy slanted lettering on headlines */
  --font-block: "Anton", "Arial Narrow", sans-serif;    /* h1/h2 slab headlines */
  --font-script: "Anton", "Arial Narrow", sans-serif;   /* print/no-image wordmark fallback */
  --font-display: "Barlow Condensed", "Arial Narrow", sans-serif;  /* buttons, chips, numbers */
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               Helvetica, Arial, sans-serif;
}
/* ═══ /THEME ═══ */

@font-face {
  font-family: "Anton";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  /* embedded as data: URI so the demo renders correctly from file:// (Chrome blocks font fetches on local files) */
  src: url(data:font/woff2;base64,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) format("woff2");
}
@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  /* embedded as data: URI so the demo renders correctly from file:// (Chrome blocks font fetches on local files) */
  src: url(data:font/woff2;base64,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) format("woff2");
}

/* ── Base ─────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

[hidden] { display: none !important; }

html {
  color-scheme: light;
  scroll-padding-top: 5rem;
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-ink);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 767px) {
  body { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
  html { scroll-padding-top: 1rem; }
}

img { max-width: 100%; display: block; }

h1, h2, h3 { line-height: 1.12; margin: 0 0 0.6em; }
h2 {
  /* slab headlines in the logo's voice — slight oblique echoes its slant */
  font-family: var(--font-block);
  font-weight: 400;
  font-style: oblique 6deg;
  font-size: clamp(1.6rem, 3.6vw, 2.2rem);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
p { margin: 0 0 1em; }
a { color: var(--color-primary); }
a:hover { color: var(--color-primary-dark); }

:focus-visible {
  outline: 2px solid var(--color-ink);
  outline-offset: 2px;
  border-radius: 2px;
}
/* Ink outline vanishes on dark surfaces — use white there */
#demo-banner :focus-visible, .utility-strip :focus-visible,
.hero :focus-visible, .dark-band :focus-visible,
.site-footer :focus-visible { outline-color: #fff; }

.container {
  max-width: 68rem;
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 2rem);
}
.container-narrow { max-width: 46rem; }

.visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.microcopy {
  font-size: 0.875rem;
  color: var(--color-ink-muted);
}

.kicker {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.9rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 0.35rem;
}
.kicker-heat { color: var(--color-heat); }
.dark-band .kicker-heat { color: var(--color-heat-bright); } /* heat legible on ink */

.icon {
  width: 1.1em; height: 1.1em;
  fill: currentColor;
  vertical-align: -0.15em;
}

/* Numbers read like an invoice, not a menu */
.price-chip, .hours-table td, .cal-grid, .option-grid,
.header-phone strong, .utility-phone strong {
  font-variant-numeric: tabular-nums;
}

/* ── Buttons ──────────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 48px;
  padding: 0.55rem 1.4rem;
  border-radius: 6px;
  border: 2px solid var(--color-primary);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.05rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.btn-solid {
  background: var(--color-primary);
  color: #fff;
}
.btn-solid:hover { background: var(--color-primary-dark); border-color: var(--color-primary-dark); color: #fff; }
.btn-outline {
  background: transparent;
  color: var(--color-primary);
}
.btn-outline:hover { background: rgb(var(--primary-rgb) / 0.06); color: var(--color-primary-dark); }
.btn-heat {
  background: var(--color-heat);
  border-color: var(--color-heat);
  color: #fff;
}
.btn-heat:hover { background: var(--color-heat-dark); border-color: var(--color-heat-dark); color: #fff; }
/* Dark-band Request variant — deliberate exception to "blue owns
   Request": on the ink final-CTA band a white fill outpops blue while
   orange stays reserved for Call. Do not use on light backgrounds. */
.btn-white {
  background: #fff;
  border-color: #fff;
  color: var(--color-ink);
}
.btn-white:hover { background: var(--color-bg-alt); border-color: var(--color-bg-alt); color: var(--color-ink); }
.btn-big { font-size: 1.15rem; padding: 0.7rem 1.7rem; min-height: 52px; }
.btn-small { font-size: 0.95rem; padding: 0.35rem 1rem; min-height: 42px; }
@media (prefers-reduced-motion: no-preference) {
  .btn { transition: background-color 180ms ease-out, border-color 180ms ease-out, transform 180ms ease-out; }
  .btn:hover { transform: translateY(-1px); }
}

/* ── Demo banner ──────────────────────────────────────────────── */
#demo-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.45rem 1rem;
  background: var(--color-primary-dark);
  color: #fff;
  font-size: 0.85rem;
  text-align: center;
}
#demo-banner button {
  background: none;
  border: 1px solid rgb(255 255 255 / 0.6);
  border-radius: 4px;
  color: inherit;
  font-size: 0.8rem;
  padding: 0.1rem 0.6rem;
  cursor: pointer;
}

/* ── Utility strip ────────────────────────────────────────────── */
.utility-strip {
  background: var(--color-ink);
  color: #fff;
}
.utility-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 34px;
}
.utility-text, .utility-phone, .utility-mobile {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.utility-text { color: rgb(var(--sand-rgb) / 0.85); }
.utility-phone {
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
}
.utility-phone span { color: rgb(var(--sand-rgb) / 0.7); }
.utility-phone strong { color: var(--color-heat-bright); margin-left: 0.35rem; }
.utility-phone:hover { color: #fff; }
.utility-phone:hover strong { text-decoration: underline; }
.utility-mobile { display: none; color: rgb(var(--sand-rgb) / 0.9); }
.utility-mobile a { color: var(--color-heat-bright); text-decoration: none; }
@media (max-width: 767px) {
  .utility-text, .utility-phone { display: none; }
  .utility-mobile { display: block; width: 100%; text-align: center; font-size: 0.78rem; }
}

/* ── Header ───────────────────────────────────────────────────────
   BLACK, like his logo was designed for — the white/blue lockup PNG
   (assets/img/logo-wordmark.png) drops straight onto it.          */
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 0.6rem clamp(1rem, 4vw, 2rem);
  background: var(--color-ink);
  border-bottom: 3px solid var(--color-primary);
}
.lockup {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  text-decoration: none;
  line-height: 1.1;
}
.wordmark-img {
  height: 30px;
  width: auto;
}
.wordmark {
  font-family: var(--font-script);
  font-size: 1.6rem;
  color: #fff;
  text-decoration: none;
}
.lockup-sub {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgb(255 255 255 / 0.75);
}
.site-nav { display: none; }
.site-nav a {
  color: rgb(var(--sand-rgb) / 0.9);
  text-decoration: none;
  font-weight: 500;
}
.site-nav a:hover { color: #fff; }

.header-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.header-phone {
  display: none;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.15;
  text-decoration: none;
}
.header-phone-lead {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgb(var(--sand-rgb) / 0.6);
}
.header-phone strong {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.3rem;
  color: #fff;
}
.header-phone:hover strong { color: var(--color-heat-bright); }
.site-header .btn { display: none; }
.header-call-mobile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  border-radius: 6px;
  background: var(--color-heat);
  color: #fff;
}
.header-call-mobile .icon { width: 1.3em; height: 1.3em; }
.header-call-mobile:hover { background: var(--color-heat-dark); color: #fff; }

@media (min-width: 768px) {
  .site-header {
    position: sticky;
    top: 0;
    z-index: 20;
  }
  .header-phone { display: flex; }
  .site-header .btn { display: inline-flex; }
  .header-call-mobile { display: none; }
}
@media (min-width: 1024px) {
  .site-nav { display: flex; gap: 1.4rem; }
}

/* ── Hero ─────────────────────────────────────────────────────── */
.hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(100deg, #0F1E2C 0%, var(--color-primary-dark) 100%);
  display: flex;
  align-items: center;
  min-height: min(78svh, 640px);
  padding: clamp(3rem, 8vw, 5rem) 0;
}
.hero-media { position: absolute; inset: 0; }
.hero-media video,
.hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
}
.hero-media video.is-active,
.hero-media img.is-active { opacity: 1; }
.hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgb(var(--scrim-rgb) / 0.88) 0%, rgb(var(--scrim-rgb) / 0.58) 55%, rgb(var(--scrim-rgb) / 0.3) 100%);
}
.hero .container { position: relative; width: 100%; }
.hero-inner {
  max-width: 36rem;
  text-align: left;
}
.open-status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
}
.open-dot {
  flex-shrink: 0;
  width: 9px; height: 9px;
  border-radius: 50%;
  background: var(--color-open);
}
.open-status.is-closed .open-dot { background: var(--color-heat-bright); }
@media (prefers-reduced-motion: no-preference) {
  .open-dot { animation: open-pulse 2.4s ease-in-out infinite; }
  .open-status.is-closed .open-dot { animation: none; }
  @keyframes open-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgb(var(--open-rgb) / 0.5); }
    50%      { box-shadow: 0 0 0 5px rgb(var(--open-rgb) / 0); }
  }
}
.hero-headline {
  font-family: var(--font-block);
  font-weight: 400;
  font-style: oblique 6deg;   /* the logo's slant */
  font-size: clamp(2.1rem, 5.6vw, 3.3rem);
  text-transform: uppercase;
  letter-spacing: 0.015em;
  color: #fff;
  margin-bottom: 0.3em;
}
.hero-subhead {
  font-size: clamp(1rem, 2.2vw, 1.15rem);
  color: rgb(255 255 255 / 0.92);
  max-width: 52ch;
  margin-bottom: 1.6rem;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.hero-chips {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 1.4rem 0 0;
  padding: 0;
}
.hero-chip {
  padding: 0.2rem 0.65rem;
  background: rgb(var(--scrim-rgb) / 0.6);
  border: 1px solid rgb(255 255 255 / 0.38);
  border-radius: 4px;
  font-size: 0.78rem;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .hero { min-height: 70svh; }
  .hero-actions .btn { flex: 1 1 100%; }
  .hero-actions .btn-heat { order: -1; }  /* Call first on phones */
  .hero-chip { font-size: 0.72rem; }
}

.hero-pause {
  position: absolute;
  right: clamp(0.75rem, 2vw, 1.5rem);
  bottom: clamp(0.75rem, 2vw, 1.5rem);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  padding: 0;
  border: 1px solid rgb(255 255 255 / 0.45);
  border-radius: 6px;
  background: rgb(var(--scrim-rgb) / 0.55);
  color: #fff;
  cursor: pointer;
}
.hero-pause:hover { background: rgb(var(--scrim-rgb) / 0.8); }
.hero-pause svg { width: 20px; height: 20px; }

/* ── Trust bar ────────────────────────────────────────────────── */
.trust-bar {
  background: var(--color-surface);
  border-bottom: var(--border);
}
.trust-bar-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem 1.5rem;
  padding-block: 1.1rem;
}
@media (min-width: 900px) {
  .trust-bar-grid { grid-template-columns: repeat(4, 1fr); }
}
.trust-item {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}
.trust-icon {
  flex-shrink: 0;
  width: 30px; height: 30px;
  color: var(--color-primary);
}
.trust-icon svg { width: 100%; height: 100%; }
.trust-text { display: flex; flex-direction: column; line-height: 1.3; }
.trust-text strong { font-size: 0.92rem; }
.trust-text span { font-size: 0.78rem; color: var(--color-ink-muted); }

/* ── Sections ─────────────────────────────────────────────────── */
.section { padding: clamp(2.75rem, 7vw, 5rem) 0; }
.section-alt { background: var(--color-bg-alt); }
.section h2 { text-align: left; }
.section-link { margin-top: 1.5rem; }
.section-link a { font-weight: 600; text-decoration: none; }
.section-link a:hover { text-decoration: underline; }

/* Dark utility bands */
.dark-band {
  background: var(--color-ink);
  color: #fff;
  padding: clamp(2.5rem, 6vw, 4rem) 0;
}
.emergency-band { border-top: 3px solid var(--color-heat); }  /* heat = emergency only */
.dark-band h2 { color: #fff; }

/* ── Services (fix-it tiles) ──────────────────────────────────── */
.svc-cat-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.9rem;
  margin: 2.25rem 0 0.8rem;
}
#services-list > .svc-cat-head:first-child { margin-top: 1.5rem; }
.svc-cat-label {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.05rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-ink);
  margin: 0;
}
.svc-cat-blurb {
  margin: 0;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-primary);
}
.svc-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}
@media (min-width: 768px) {
  .svc-grid { grid-template-columns: repeat(3, 1fr); }
}
.svc-tile {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4rem;
  min-height: 108px;
  padding: 0.9rem 1rem;
  background: var(--color-surface);
  border: var(--border);
  border-radius: 6px;
  font-family: var(--font-body);
  text-align: left;
  color: var(--color-ink);
  cursor: pointer;
}
.svc-tile:hover, .svc-tile:focus-visible {
  border-color: var(--color-primary);
}
.svc-tile:hover .svc-tile-name { color: var(--color-primary); }
.svc-tile-icon {
  width: 30px; height: 30px;
  color: var(--color-primary);
}
.svc-tile-icon svg { width: 100%; height: 100%; }
/* v2.1: full-bleed photo strip when a service sets img */
.svc-tile--photo { padding-top: 0; }
.svc-tile-photo {
  width: calc(100% + 2rem);
  margin: 0 -1rem 0.15rem;
  height: 108px;
  object-fit: cover;
  border-radius: 5px 5px 0 0;
}
.svc-tile-name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.12rem;
  line-height: 1.15;
}
.svc-tile-note {
  font-size: 0.78rem;
  color: var(--color-ink-muted);
  line-height: 1.35;
}
.price-chip {
  display: inline-block;
  margin-top: auto;
  padding: 0.12rem 0.55rem;
  background: rgb(var(--primary-rgb) / 0.08);
  border: 1px solid rgb(var(--primary-rgb) / 0.35);
  border-radius: 4px;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--color-primary-dark);
  white-space: nowrap;
}
.plan-rows, .offer-rows {
  list-style: none;
  margin: 0.25rem 0 0;
  padding: 0;
  max-width: 46rem;
}
.plan-row, .offer-row {
  border-left: 3px solid var(--color-primary);
  padding: 0.35rem 0 0.35rem 0.9rem;
  margin-bottom: 0.9rem;
}
.plan-row-head {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  margin: 0;
  font-size: 1rem;
}
.plan-row-note {
  margin: 0.15rem 0 0;
  font-size: 0.85rem;
  color: var(--color-ink-muted);
}
.offer-row strong { display: block; font-size: 0.95rem; }
.offer-row span { font-size: 0.85rem; color: var(--color-ink-muted); }
.offer-rows { margin-top: 1.75rem; }
#services .microcopy { margin-top: 1.75rem; max-width: 60ch; }

/* ── Emergency band ───────────────────────────────────────────── */
.emergency-grid {
  display: grid;
  gap: 2rem;
}
@media (min-width: 900px) {
  .emergency-grid { grid-template-columns: 3fr 2fr; align-items: center; }
}
.emergency-body {
  color: rgb(var(--sand-rgb) / 0.88);
  font-size: 0.98rem;
  max-width: 52ch;
}
.emergency-brands {
  margin: 1.25rem 0 0;
  font-size: 0.85rem;
  color: rgb(var(--sand-rgb) / 0.7);
}
.emergency-brands strong {
  display: block;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgb(var(--sand-rgb) / 0.9);
  margin-bottom: 0.15rem;
}
.emergency-actions { display: flex; flex-direction: column; gap: 0.9rem; }
.emergency-actions .btn { width: 100%; min-height: 56px; }
.emergency-note {
  margin: 0;
  font-size: 0.85rem;
  color: rgb(var(--sand-rgb) / 0.8);
}
.emergency-pm {
  align-self: flex-start;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-weight: 600;
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.emergency-pm:hover { color: rgb(var(--sand-rgb) / 0.85); }

/* ── Process ──────────────────────────────────────────────────── */
.process-steps {
  list-style: none;
  display: grid;
  gap: 1.5rem;
  margin: 2rem 0;
  padding: 0;
}
@media (min-width: 768px) {
  .process-steps { grid-template-columns: repeat(3, 1fr); }
}
.process-step {
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
}
.process-num {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 2.1rem;
  line-height: 1;
  color: var(--color-primary);
}
.process-step strong { display: block; font-size: 1.02rem; margin-bottom: 0.2rem; }
.process-step p { margin: 0; font-size: 0.92rem; color: var(--color-ink-muted); }
.process-cta { margin: 0; }

/* ── Reviews ──────────────────────────────────────────────────── */
#reviews .microcopy { max-width: 60ch; }
.review-cards {
  display: grid;
  gap: 1rem;
  margin-top: 1.75rem;
}
@media (min-width: 768px) {
  .review-cards { grid-template-columns: repeat(3, 1fr); align-items: start; }
}
.review-card {
  background: var(--color-surface);
  border: var(--border);
  border-radius: 6px;
  padding: 1.1rem 1.25rem;
  margin: 0;
}
.stars {
  display: flex;
  gap: 0.15rem;
  color: var(--color-heat);
  margin-bottom: 0.6rem;
}
.stars svg { width: 0.95rem; height: 0.95rem; fill: currentColor; }
.review-card blockquote {
  margin: 0 0 0.75rem;
  font-size: 0.98rem;
}
.review-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
}
.review-foot strong { font-size: 0.88rem; }
.job-tag {
  padding: 0.1rem 0.55rem;
  border: 1px solid rgb(var(--ink-rgb) / 0.18);
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-ink-muted);
  white-space: nowrap;
}
.review-source-link { color: var(--color-ink-muted); }
a.review-source-link:hover { color: var(--color-primary); }
.review-logo { display: inline-flex; line-height: 0; }
.review-logo svg { width: 18px; height: 18px; }
.logo-yelp {
  font-weight: 800;
  font-size: 0.95rem;
  letter-spacing: -0.02em;
  color: #D32323;
}
.review-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 44px;
  padding: 0.5rem 1.1rem;
  background: var(--color-surface);
  border: var(--border);
  border-radius: 6px;
  color: var(--color-ink);
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
}
.badge:hover { border-color: var(--color-primary); color: var(--color-ink); }

/* ── Recent jobs ──────────────────────────────────────────────── */
#gallery .microcopy { margin-top: -0.5rem; }
.job-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 1.75rem;
}
.job-card {
  position: relative;
  display: flex;
  flex-direction: column;
  aspect-ratio: 4 / 3;
  margin: 0;
  border: var(--border);
  border-radius: 6px;
  overflow: hidden;
  background: rgb(var(--primary-rgb) / 0.06);
}
.job-card-icon {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
}
.job-card-icon svg { width: 42px; height: 42px; }
.job-card-cap {
  display: flex;
  flex-direction: column;
  padding: 0.55rem 0.8rem 0.65rem;
  border-top: var(--border);
  background: var(--color-surface);
}
.job-card--photo img {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
.job-card--photo .job-card-cap {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  border-top: none;
  background: rgb(var(--ink-rgb) / 0.92);
}
.job-card--photo .job-card-label { color: #fff; }
.job-card--photo .job-card-sub { color: rgb(var(--sand-rgb) / 0.75); }
.job-card-label {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.job-card-sub { font-size: 0.75rem; color: var(--color-ink-muted); }
@media (max-width: 767px) {
  .job-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 78vw;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 0.5rem;
    -webkit-overflow-scrolling: touch;
  }
  .job-card { scroll-snap-align: center; }
}

/* ── About + credentials ──────────────────────────────────────── */
.about-grid {
  display: grid;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 900px) {
  .about-grid { grid-template-columns: 7fr 5fr; gap: 3rem; }
}
.about-body h2 { text-align: left; }
.about-body p { max-width: 58ch; }
.cred-card {
  border: var(--border);
  border-radius: 6px;
  background: var(--color-surface);
  padding: 1.4rem 1.5rem;
}
.cred-badge {
  display: flex;
  flex-direction: column;
  margin: 0 0 1rem;
  padding-bottom: 1rem;
  border-bottom: var(--border);
  line-height: 1.15;
}
.cred-wordmark {
  font-family: var(--font-script);
  font-weight: 700;
  font-size: 1.9rem;
  color: var(--color-ink);
}
.cred-lockup {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-primary);
}
.cred-list { margin: 0; }
.cred-list > div {
  display: grid;
  grid-template-columns: 8.5rem 1fr;
  gap: 0.75rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid rgb(var(--ink-rgb) / 0.07);
}
.cred-list > div:last-child { border-bottom: none; }
.cred-list dt {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-ink-muted);
  padding-top: 0.15rem;
}
.cred-list dd {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
}
.cred-verify {
  margin: 1rem 0 0;
  font-size: 0.9rem;
}
.cred-verify a { font-weight: 600; }
/* Template-parity fallback (salon-style clones) */
.about-media img,
.about-monogram {
  width: clamp(160px, 30vw, 220px);
  height: clamp(160px, 30vw, 220px);
  border-radius: 6px;
  object-fit: cover;
}
.about-monogram {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary);
  color: #fff;
  font-family: var(--font-script);
  font-weight: 700;
  font-size: clamp(5rem, 12vw, 7rem);
}

/* ── Service area & hours ─────────────────────────────────────── */
.visit-grid {
  display: grid;
  gap: 2.5rem;
  margin-top: 1.5rem;
}
@media (min-width: 900px) {
  .visit-grid { grid-template-columns: 1fr 1fr; align-items: start; }
}
.visit-lead { font-size: 1.05rem; max-width: 48ch; }
.area-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.25rem 0 1.5rem;
}
.area-chip {
  display: inline-block;
  padding: 0.15rem 0.7rem;
  border: 1px solid rgb(var(--ink-rgb) / 0.18);
  border-radius: 4px;
  background: var(--color-surface);
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--color-ink);
  white-space: nowrap;
}
.hours-table {
  width: 100%;
  max-width: 22rem;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
}
.hours-table td {
  padding: 0.35rem 0.6rem;
  border-bottom: 1px solid rgb(var(--ink-rgb) / 0.08);
}
.hours-table td:last-child { text-align: right; white-space: nowrap; }
.hours-table .is-today td { font-weight: 700; }
.hours-table .is-today td:first-child {
  border-left: 3px solid var(--color-primary);
  padding-left: 0.75rem;
}
.hours-table .is-closed td:last-child { color: var(--color-heat); font-weight: 600; }
.visit-address { font-style: normal; }
.visit-address a { color: var(--color-ink); }
.visit-address a:hover { color: var(--color-primary); }
.visit-note { margin-bottom: 0.35em; color: var(--color-ink-muted); }
.visit-note a { color: var(--color-primary); font-weight: 600; }
.visit-map {
  background: var(--color-sand);
  border: var(--border);
  border-radius: 6px;
  overflow: hidden;
  min-height: 320px;
}
.visit-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  border: 0;
}

/* ── Good to Know ─────────────────────────────────────────────── */
.policies-list { margin: 1.75rem 0 0; }
.policies-list > div {
  border-left: 3px solid var(--color-primary);
  padding-left: 1rem;
  margin-bottom: 1.5rem;
}
.policies-list dt {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 0.25rem;
}
.policies-list dd { margin: 0; font-size: 0.95rem; color: var(--color-ink-muted); }

/* ── Final CTA band ───────────────────────────────────────────── */
.final-cta {
  position: relative;
  overflow: hidden;
  text-align: center;
  border-top: 3px solid var(--color-primary);
}
.final-cta::before {
  /* the one sanctioned motif moment — faint snowflake, from his logo */
  content: "";
  position: absolute;
  inset: 0;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='560' viewBox='0 0 560 560'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.055)' stroke-width='10' stroke-linecap='round'%3E%3Cpath d='M280 90 V470 M115 185 L445 375 M115 375 L445 185'/%3E%3Cpath d='M280 150 L240 110 M280 150 L320 110 M280 410 L240 450 M280 410 L320 450'/%3E%3Cpath d='M167 215 L112 230 M167 215 L152 160 M393 345 L448 330 M393 345 L408 400'/%3E%3Cpath d='M167 345 L152 400 M167 345 L112 330 M393 215 L408 160 M393 215 L448 230'/%3E%3C/g%3E%3C/svg%3E")
    right -70px center / 520px no-repeat;
  pointer-events: none;
}
.final-cta-inner { position: relative; }
.final-cta-sub {
  color: rgb(var(--sand-rgb) / 0.85);
  margin-bottom: 1.5rem;
}
.final-cta .hero-actions { justify-content: center; }
@media (max-width: 767px) {
  .final-cta .hero-actions .btn { flex: 1 1 100%; }
}

/* ── Footer ───────────────────────────────────────────────────── */
.site-footer {
  background: var(--color-ink);
  color: rgb(var(--sand-rgb) / 0.9);
  padding: 2.75rem 0 1.5rem;
}
.footer-grid {
  display: grid;
  gap: 2rem;
  padding-bottom: 1.75rem;
}
@media (min-width: 768px) {
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
}
.wordmark-footer {
  font-family: var(--font-script);
  font-weight: 400;
  font-size: 1.9rem;
  color: #F5F9FC;
  margin: 0;
  line-height: 1.15;
}
/* full logo lockup (phone + license included) — footer is already black */
.logo-footer {
  width: min(230px, 78%);
  height: auto;
  margin: 0 0 0.9rem;
}
.footer-positioning {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgb(var(--sand-rgb) / 0.75);
  margin: 0 0 0.9rem;
}
.footer-tagline {
  font-size: 0.9rem;
  color: rgb(var(--sand-rgb) / 0.75);
  max-width: 34ch;
  margin: 0;
}
.site-footer h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgb(var(--sand-rgb) / 0.6);
  margin-bottom: 0.6rem;
}
.footer-license p, .footer-hours p {
  margin: 0 0 0.35rem;
  font-size: 0.9rem;
}
.site-footer a { color: #fff; }
.footer-bottom {
  border-top: 1px solid rgb(var(--sand-rgb) / 0.15);
  padding-top: 1.25rem;
}
.footer-bottom .microcopy { color: rgb(var(--sand-rgb) / 0.55); margin: 0; }

/* ── Sticky mobile action bar ─────────────────────────────────── */
.sticky-bar {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 30;
  display: flex;
  gap: 0.6rem;
  padding: 0.7rem clamp(1rem, 4vw, 2rem);
  padding-bottom: calc(0.7rem + env(safe-area-inset-bottom));
  background: var(--color-surface);
  border-top: var(--border);
}
.sticky-bar .btn { flex: 1; min-height: 52px; font-size: 0.98rem; padding-inline: 0.5rem; }
@media (max-width: 360px) {
  .sticky-bar .btn { min-width: 0; }
  .sticky-bar .btn-heat span[data-text] { display: none; }  /* icon + CALL still dials */
}
@media (min-width: 768px) {
  .sticky-bar { display: none; }
}

/* ── No-JS card ───────────────────────────────────────────────── */
.noscript-card {
  max-width: 40rem;
  margin: 2rem auto;
  padding: 1.5rem;
  background: var(--color-surface);
  border: 2px solid var(--color-primary);
  border-radius: 6px;
  text-align: center;
}

/* ── Request dialog ───────────────────────────────────────────── */
#booking-dialog {
  width: min(560px, calc(100vw - 2rem));
  max-height: min(85vh, 720px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border: none;
  border-radius: 10px;
  padding: clamp(1.25rem, 4vw, 2rem);
  background: var(--color-bg);
  color: var(--color-ink);
  box-shadow: 0 12px 40px rgb(var(--ink-rgb) / 0.3);
}
#booking-dialog::backdrop { background: rgb(var(--ink-rgb) / 0.6); }
@media (prefers-reduced-motion: no-preference) {
  #booking-dialog[open] { animation: dialog-in 180ms ease-out; }
  @keyframes dialog-in {
    from { opacity: 0; transform: translateY(8px) scale(0.98); }
    to   { opacity: 1; transform: none; }
  }
}

.dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 2rem;
}
.dialog-stepcount {
  margin: 0;
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-ink-muted);
}
.dialog-close {
  background: none;
  border: none;
  padding: 0.4rem;
  margin: -0.4rem;
  color: var(--color-ink-muted);
  cursor: pointer;
  line-height: 0;
}
.dialog-close:hover { color: var(--color-ink); }
.dialog-close .icon { width: 1.4rem; height: 1.4rem; }
.dialog-kicker {
  margin: 0 0 0.2rem;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-primary);
}
.dialog-title {
  font-size: clamp(1.35rem, 4vw, 1.7rem);
  text-align: left;
  margin-bottom: 0.25rem;
}
.dialog-context {
  min-height: 1.2em;
  font-size: 0.9rem;
  color: var(--color-ink-muted);
  margin-bottom: 1rem;
}

.step[hidden] { display: none; }

/* Service radio-cards */
.svc-fieldset {
  border: none;
  padding: 0;
  margin: 0 0 1rem;
}
.svc-fieldset legend {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0;
  margin-bottom: 0.5rem;
}
.radio-card { display: block; position: relative; margin-bottom: 0.5rem; }
.radio-card input {
  position: absolute;
  opacity: 0;
  width: 100%; height: 100%;
  margin: 0;
  cursor: pointer;
}
.radio-card-body {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.7rem 1rem;
  min-height: 44px;
  background: var(--color-surface);
  border: 2px solid rgb(var(--ink-rgb) / 0.14);
  border-radius: 6px;
}
.radio-card input:checked + .radio-card-body {
  border-color: var(--color-primary);
  background: rgb(var(--primary-rgb) / 0.05);
}
.radio-card input:focus-visible + .radio-card-body {
  outline: 2px solid var(--color-ink);
  outline-offset: 2px;
}
.radio-card .svc-name { flex-shrink: 1; }
.radio-card .svc-price { margin-left: auto; font-weight: 600; white-space: nowrap; }
.radio-card .svc-duration {
  font-size: 0.8rem;
  color: var(--color-ink-muted);
  white-space: nowrap;
}

/* Date / time option grids */
.option-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.option-grid button {
  min-height: 52px;
  padding: 0.4rem 0.3rem;
  border: 2px solid rgb(var(--ink-rgb) / 0.14);
  border-radius: 6px;
  background: var(--color-surface);
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-ink);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.1rem;
}
.option-grid button:hover:not(:disabled) { border-color: var(--color-primary); }
.option-grid button:disabled {
  cursor: not-allowed;
  background: transparent;
  color: rgb(var(--muted-rgb) / 0.75);
  border-style: dashed;
}
.option-grid button .opt-sub {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--color-ink-muted);
}
.option-grid button:disabled .opt-sub { color: var(--color-heat); }
.slot-group-label {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 0.5rem;
}
.time-hours {
  font-weight: 600;
  margin: 0 0 0.9rem;
}

/* Request calendar */
.cal-month {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.05rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 0 0.6rem;
}
.cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 1rem;
}
.cal-dow {
  text-align: center;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-ink-muted);
  padding-bottom: 2px;
}
.cal-grid button {
  min-height: 52px;
  padding: 0.25rem 0.1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  border: 2px solid rgb(var(--ink-rgb) / 0.14);
  border-radius: 6px;
  background: var(--color-surface);
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: var(--color-ink);
  cursor: pointer;
}
.cal-grid button:hover:not(:disabled) { border-color: var(--color-primary); }
.cal-grid .cal-num { font-weight: 600; }
.cal-grid .cal-tag {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-heat);
}
.cal-grid .cal-tag-month { color: var(--color-ink-muted); }
.cal-grid button.cal-closed {
  border-style: dashed;
  border-color: rgb(var(--ink-rgb) / 0.15);
  background: transparent;
  color: rgb(var(--muted-rgb) / 0.85);
  cursor: not-allowed;
}
.cal-grid button.cal-past,
.cal-grid button.cal-out {
  border-color: transparent;
  background: transparent;
  color: var(--color-ink-muted);
  opacity: 0.4;
  cursor: default;
}
.cal-grid button.cal-today .cal-num {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: var(--color-primary);
  text-decoration-thickness: 2px;
}

/* Card-hold step (dormant for this clone) */
.field-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.75rem;
}
.hold-policy {
  background: var(--color-bg-alt);
  border: var(--border);
  border-radius: 6px;
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
  margin-bottom: 1rem;
}
.card-demo-note {
  font-size: 0.8rem;
  color: var(--color-ink-muted);
  margin: 0.5rem 0 0;
}

/* Contact fields */
.booking-summary {
  background: var(--color-bg-alt);
  border: var(--border);
  border-radius: 6px;
  padding: 0.6rem 1rem;
  font-size: 0.95rem;
}
.booking-summary button {
  background: none;
  border: none;
  padding: 0;
  color: var(--color-primary);
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.field { margin-bottom: 1rem; }
.field label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.3rem;
}
.field input, .field textarea {
  width: 100%;
  min-height: 44px;
  padding: 0.5rem 0.8rem;
  font-size: 1rem;
  font-family: var(--font-body);
  line-height: 1.5;
  color: var(--color-ink);
  background: var(--color-surface);
  border: 2px solid rgb(var(--ink-rgb) / 0.2);
  border-radius: 6px;
}
.field textarea { resize: vertical; }
.field input:focus-visible, .field textarea:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 1px; }
.field input[aria-invalid="true"], .field textarea[aria-invalid="true"] { border-color: var(--color-heat); }
.field-optional { font-weight: 400; font-size: 0.85rem; color: var(--color-ink-muted); }
.field-error {
  margin: 0.3rem 0 0;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-heat-dark);
}

/* Confirmation */
#step-confirm { text-align: center; }
.confirm-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--color-success);
  color: #fff;
  margin-bottom: 1rem;
}
.confirm-icon svg { width: 36px; height: 36px; }
.confirm-summary {
  background: var(--color-surface);
  border: var(--border);
  border-radius: 6px;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
  text-align: left;
}
.confirm-summary p { margin: 0.25em 0; }
.confirm-demo-note {
  background: var(--color-bg-alt);
  border: var(--border);
  border-radius: 6px;
  padding: 0.75rem 1rem;
  font-size: 0.85rem;
  color: var(--color-ink-muted);
  text-align: left;
}

.dialog-actions {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.5rem;
}
.dialog-actions .btn { flex: 1; }
#booking-back[hidden], #booking-next[hidden] { display: none; visibility: hidden; }

/* ── Print: credentials one-pager for commercial prospects ────── */
@media print {
  .utility-strip, .site-header .btn, .header-call-mobile, .hero-media,
  .sticky-bar, #demo-banner, #booking-dialog, .emergency-actions .btn,
  .emergency-pm, .hero-pause,
  .final-cta, .process-cta, iframe { display: none !important; }
  .kicker, .dark-band .kicker-heat { color: #000; }
  .hero {
    min-height: 0;
    padding: 1rem 0;
    background: none;
    color: #000;
  }
  .hero-headline, .hero-subhead, .open-status, .hero-chip { color: #000; }
  .hero-chip { border-color: #000; }
  .dark-band { background: none; color: #000; border-top: 2px solid #000; }
  .dark-band h2, .emergency-body, .emergency-brands,
  .emergency-brands strong, .emergency-note { color: #000; }
  .site-footer { background: none; color: #000; }
  .site-header { background: none; border-bottom-color: #000; }
  /* white logo would vanish on paper — print it as a black silhouette,
     same look as his cream business card */
  .wordmark-img, .logo-footer { filter: brightness(0); }
  .site-nav a, .header-phone strong, .header-phone-lead { color: #000; }
  .wordmark-footer, .site-footer h3, .footer-positioning,
  .footer-tagline, .footer-license p, .footer-hours p,
  .footer-bottom .microcopy { color: #000; }
  .svc-tile, .job-card, .review-card, .cred-card { break-inside: avoid; }
}
