:root {
  --bg: #ffffff; --fg: #1a1a1a; --muted: #555; --line: #ddd;
  --accent: #8b0000; --accent-fg: #ffffff;
  --card: #f7f6f4; --thank: #0b5e33; --chip: #eee;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #141414; --fg: #ececec; --muted: #a5a5a5; --line: #333;
    --accent: #c0392b; --card: #1f1f1f; --thank: #4caf7d; --chip: #2a2a2a;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--fg);
  font: 17px/1.55 Georgia, 'Times New Roman', serif;
}
main, .hero, .news, footer { max-width: 46rem; margin: 0 auto; padding: 0 1.25rem; }
h1, h2, .kicker, button, select, input, .chip, .record li, .phone, summary {
  font-family: -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
}

.hero { padding-top: 3rem; }
.kicker {
  text-transform: uppercase; letter-spacing: .08em; font-size: .78rem;
  color: var(--accent); font-weight: 700; margin: 0 0 .75rem;
}
h1 { font-size: clamp(1.9rem, 5.5vw, 3rem); line-height: 1.12; margin: 0 0 1rem; }
.lede { font-size: 1.08rem; color: var(--muted); }

.news { margin-top: 2.5rem; border-left: 4px solid var(--accent); padding-left: 1rem; }
.news h2 { font-size: 1rem; text-transform: uppercase; letter-spacing: .06em; margin: 0 0 .5rem; }
.news-item { margin-bottom: .75rem; }
.news-item .date { color: var(--muted); font-size: .85rem; }
.news-item a { color: inherit; }

.finder { margin-top: 3rem; }
#addr-form { display: flex; gap: .5rem; flex-wrap: wrap; }
#addr {
  flex: 1 1 16rem; padding: .7rem .9rem; font-size: 1rem;
  border: 1.5px solid var(--line); border-radius: 8px; background: var(--bg); color: var(--fg);
}
button {
  padding: .7rem 1.2rem; font-size: 1rem; font-weight: 700; cursor: pointer;
  background: var(--accent); color: var(--accent-fg); border: 0; border-radius: 8px;
}
button:hover { filter: brightness(1.12); }
.fallback { margin-top: .9rem; color: var(--muted); }
.fallback-row { display: flex; gap: .5rem; margin-top: .6rem; }
select {
  padding: .55rem; border: 1.5px solid var(--line); border-radius: 8px;
  background: var(--bg); color: var(--fg); font-size: .95rem;
}
#status { min-height: 1.4em; color: var(--muted); }

#results { margin-top: 1.5rem; }
.card {
  background: var(--card); border: 1px solid var(--line); border-radius: 12px;
  padding: 1.25rem 1.25rem 1rem; margin-bottom: 1.25rem;
}
.card h3 { margin: 0; font-size: 1.3rem; }
.card .role { color: var(--muted); margin: .15rem 0 .6rem; font-size: .95rem; }
.phone { font-weight: 700; text-decoration: none; color: var(--accent); font-size: 1.05rem; }
.record { margin: .8rem 0; padding: 0; list-style: none; }
.record li { font-size: .92rem; margin: .3rem 0; padding-left: 1.3rem; position: relative; }
.record li::before { content: "\2022"; position: absolute; left: .4rem; color: var(--accent); }
.record a { color: inherit; }
.chip {
  display: inline-block; font-size: .74rem; font-weight: 700; padding: .15rem .55rem;
  border-radius: 99px; background: var(--chip); margin-left: .5rem; vertical-align: middle;
}

.script { border-top: 1px dashed var(--line); padding-top: .8rem; margin-top: .8rem; }
.script .label {
  font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em;
  font-family: -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
}
.script.thank .label { color: var(--thank); }
.script.ask .label { color: var(--accent); }
.script p { margin: .35rem 0 .5rem; font-size: .98rem; }
.copy {
  background: none; border: 1.5px solid var(--line); color: var(--muted);
  font-size: .8rem; font-weight: 600; padding: .25rem .7rem; border-radius: 6px;
}
.copy:hover { filter: none; border-color: var(--accent); color: var(--accent); }

.how { margin-top: 3rem; }
footer {
  margin-top: 4rem; padding-top: 1.5rem; padding-bottom: 3rem;
  border-top: 1px solid var(--line); color: var(--muted); font-size: .88rem;
}
footer a { color: inherit; }
