/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V5 */
/* Hallmark · macrostructure: 03 Marquee Hero (live sun-arc hero) + Letter-voice story · tone: editorial, warm, civic · anchor hue: magenta 352 · nav N9 edge-aligned · footer Ft6 letter close
   theme: custom "sun-arc" · vibe: "island family doctor, sun path, warm paper, bougainvillea" · paper oklch(97.2% 0.014 84) · accent oklch(47% 0.19 352) · Fraunces (roman) + Hanken Grotesk
   axes: light / classical-serif / warm-magenta · differs from perennos (warm paper, N6, Ft5), n4mu (Piazzolla, N12, Ft7), caymanrituals (Bodoni, photographic)
   deviation, on purpose: Marquee Hero normally carries no CTA in the fold; a clinic's phone number is the one action, so the N9 bar holds it. */

*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: var(--space-xl); }
body {
  margin: 0;
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 480; font-style: normal; line-height: 1.05; margin: 0; letter-spacing: -0.01em; overflow-wrap: anywhere; min-width: 0; }
p { margin: 0 0 var(--space-md); }
a { color: var(--color-accent); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; border-radius: 2px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.skip { position: absolute; left: var(--space-md); top: -100px; background: var(--color-ink); color: var(--color-paper); padding: var(--space-sm) var(--space-md); z-index: 10; }
.skip:focus { top: var(--space-md); }

/* emergency band */
.emergency {
  margin: 0;
  background: var(--color-alert);
  color: var(--color-alert-ink);
  font-size: var(--text-sm);
  padding: var(--space-xs) var(--gutter);
  text-align: left;
}
.emergency span { opacity: 0.88; }

/* N9 edge-aligned mast */
.mast {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  padding: var(--space-md) var(--gutter);
  border-bottom: var(--rule-hair) solid var(--color-rule);
  background: var(--color-paper);
}
.wordmark { display: flex; align-items: center; gap: var(--space-sm); color: var(--color-ink); text-decoration: none; font-family: var(--font-display); font-size: var(--text-lg); line-height: 1; font-weight: 560; letter-spacing: -0.005em; white-space: nowrap; }
.mono { width: 44px; height: 44px; flex: none; fill: none; stroke: var(--color-accent); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.call {
  display: inline-flex; flex-direction: column; align-items: flex-end;
  text-decoration: none; color: var(--color-ink);
  margin-left: auto;
  min-height: 44px; justify-content: center;
  white-space: nowrap;
}
.call-label { font-size: var(--text-xs); color: var(--color-ink-soft); letter-spacing: 0.02em; }
.call-num { font-family: var(--font-display); font-size: var(--text-xl); font-weight: 560; color: var(--color-accent); line-height: 1.1; font-variant-numeric: lining-nums tabular-nums; }
.call:hover .call-num { text-decoration: underline; text-decoration-thickness: 2px; }

/* the sky: hero */
.sky {
  --sky: var(--sky-day);
  --sky-ink: var(--color-ink);
  --sky-soft: var(--color-ink-soft);
  --sky-accent: var(--color-accent);
  --sky-top: var(--sky-day-top);
  background: var(--sky) linear-gradient(180deg, var(--sky-top) 0%, var(--sky) 72%);
  color: var(--sky-ink);
  border-bottom: var(--rule-thick) solid var(--color-ink);
  transition: background-color var(--dur-slow) var(--ease-in-out);
}
.sky[data-phase="dawn"] { --sky: var(--sky-dawn); --sky-top: var(--sky-dawn-top); }
.sky[data-phase="dusk"] { --sky: var(--sky-dusk); --sky-top: var(--sky-dusk-top); }
.sky[data-phase="night"] { --sky: var(--sky-night); --sky-top: var(--sky-night-top); --sky-ink: var(--sky-night-ink); --sky-soft: var(--sky-night-soft); --sky-accent: var(--sky-night-accent); }
.sky-inner {
  max-width: var(--page-max); margin: 0 auto;
  padding: var(--space-2xl) var(--gutter) var(--space-3xl);
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
  gap: var(--space-xl); align-items: end;
  min-height: min(78vh, 46rem);
}
.greeting { font-size: var(--text-lg); color: var(--sky-soft); margin-bottom: var(--space-lg); }
.sky h1 { font-size: var(--text-display-hero); font-weight: 420; line-height: 0.98; letter-spacing: -0.012em; font-variation-settings: "opsz" 144; max-width: 11ch; }
.status { display: flex; align-items: baseline; gap: var(--space-sm); margin: var(--space-xl) 0 var(--space-xs); font-size: var(--text-xl); font-weight: 600; line-height: 1.3; }
.status-dot { width: 0.7em; height: 0.7em; border-radius: 50%; background: var(--sky-soft); flex: none; transform: translateY(0.05em); }
.status[data-state="open"] .status-dot { background: var(--color-sun-deep); box-shadow: 0 0 0 4px color-mix(in oklch, var(--color-sun) 45%, transparent); }
.status[data-state="closing"] .status-dot { background: var(--color-sun-deep); }
.status-note { color: var(--sky-soft); font-size: var(--text-sm); max-width: 46ch; }
.sky[data-phase="night"] .status[data-state="open"] .status-dot { background: var(--color-sun); }

.arc { margin: 0 calc(-1 * var(--space-md)) 0 0; align-self: end; }
.arc svg { width: 100%; height: auto; overflow: visible; }
.arc-base { fill: none; stroke: var(--sky-soft); stroke-width: 1.5; stroke-dasharray: 2 7; stroke-linecap: round; }
.arc-open { fill: none; stroke: var(--sky-accent); stroke-width: 7; stroke-linecap: round; }
.arc-horizon { stroke: var(--sky-ink); stroke-width: 1.5; }
.arc-ticks line { stroke: var(--sky-soft); stroke-width: 1.5; }
.arc-label { fill: var(--sky-ink); font-family: var(--font-body); font-size: 15px; font-weight: 600; }
.arc-now-sun { fill: var(--color-sun); stroke: var(--color-sun-deep); stroke-width: 2.5; }
.arc-now-halo { fill: var(--color-sun); opacity: 0.35; }
.arc-now-drop { stroke: var(--color-sun-deep); stroke-width: 1.5; stroke-dasharray: 3 4; }
.arc-now-label { fill: var(--sky-ink); font-family: var(--font-body); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; }
.arc-now { opacity: 0; transition: opacity var(--dur-slow) var(--ease-out); }
.arc-now.is-in { opacity: 1; }
.arc-now[data-night] .arc-now-sun { fill: var(--sky-night-ink); stroke: var(--sky-night-soft); }
.arc-now[data-night] .arc-now-halo { fill: var(--sky-night-ink); opacity: 0.16; }

/* lede */
.lede { border-bottom: var(--rule-hair) solid var(--color-rule); }
.lede-inner { max-width: var(--page-max); margin: 0 auto; padding: var(--space-2xl) var(--gutter); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--space-2xl); align-items: center; }
.lede p { font-size: var(--text-lg); max-width: 48ch; margin: 0; }
.lede-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); }

.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: var(--space-sm) var(--space-lg);
  border-radius: var(--radius-pill);
  font: 600 var(--text-base)/1.2 var(--font-body);
  text-decoration: none; white-space: nowrap; cursor: pointer;
  border: 2px solid var(--color-accent);
  transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.btn-primary { background: var(--color-accent); color: var(--color-accent-ink); }
.btn-primary:hover { background: var(--color-ink); border-color: var(--color-ink); }
.btn-ghost { background: transparent; color: var(--color-accent); }
.btn-ghost:hover { background: var(--color-accent-wash); }
.btn:active { transform: translateY(1px); }

/* story */
.story { max-width: var(--page-max); margin: 0 auto; padding: var(--space-4xl) var(--gutter) var(--space-3xl); }
.story-head { max-width: 40rem; margin: 0 0 var(--space-2xl) clamp(0rem, 12vw, 11rem); }
.story-head h2 { font-size: var(--text-3xl); font-variation-settings: "opsz" 96; }
.creds { margin-top: var(--space-sm); color: var(--color-ink-soft); font-size: var(--text-sm); font-weight: 600; letter-spacing: 0.01em; }
.story-body { max-width: var(--measure); margin-left: clamp(0rem, 12vw, 11rem); font-size: var(--text-lg); line-height: 1.65; }
.dropcap::first-letter { font-family: var(--font-display); float: left; font-size: 4.1em; line-height: 0.86; padding: 0.06em 0.09em 0 0; color: var(--color-accent); font-weight: 500; }
.pull { margin: var(--space-2xl) 0 var(--space-2xl) calc(-1 * clamp(0rem, 6vw, 5rem)); padding: var(--space-lg) 0 var(--space-lg) var(--space-lg); border-left: var(--rule-thick) solid var(--color-accent); }
.pull p { font-family: var(--font-display); font-size: var(--text-2xl); line-height: 1.2; margin-bottom: var(--space-sm); font-variation-settings: "opsz" 72; }
.pull footer { font-size: var(--text-sm); color: var(--color-ink-soft); }
.pull cite { font-style: normal; }
.ledger { margin: var(--space-xl) 0; }
.ledger dl { margin: 0; border-top: var(--rule-thick) solid var(--color-ink); }
.ledger div { padding: var(--space-sm) 0; border-bottom: var(--rule-hair) solid var(--color-rule); }
.ledger dt { font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.03em; color: var(--color-accent); }
.ledger dd { margin: 0; font-family: var(--font-display); font-size: var(--text-lg); line-height: 1.25; }
@media (min-width: 1100px) {
  .story-body { display: grid; grid-template-columns: minmax(0, var(--measure)) minmax(0, 19rem); column-gap: var(--space-3xl); max-width: none; }
  .story-body > * { grid-column: 1; }
  .story-body > .ledger { grid-column: 2; grid-row: 1 / span 7; align-self: start; position: sticky; top: var(--space-xl); margin: var(--space-xs) 0 0; font-size: var(--text-base); }
}
.sources-line { font-size: var(--text-sm); color: var(--color-ink-soft); border-top: var(--rule-hair) solid var(--color-rule); padding-top: var(--space-md); margin-top: var(--space-xl); }

/* facts */
.facts { background: var(--color-accent-wash); border-block: var(--rule-hair) solid var(--color-rule); }
.facts-head, .deck { max-width: var(--page-max); margin: 0 auto; padding-inline: var(--gutter); }
.facts-head { padding-top: var(--space-3xl); display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-sm); }
.facts-head h2 { font-size: var(--text-3xl); }
.facts-head p { max-width: 52ch; color: var(--color-ink-soft); }
.deck { padding-bottom: var(--space-3xl); }
.deck-list { list-style: none; margin: var(--space-xl) 0 0; padding: 0; display: grid; gap: var(--space-xl); grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); }
.fact { border-top: var(--rule-thick) solid var(--color-ink); padding-top: var(--space-md); }
.fact-text { font-family: var(--font-display); font-size: var(--text-xl); line-height: 1.25; }
.fact-src { font-size: var(--text-sm); color: var(--color-ink-soft); margin: 0; }
/* deck mode, JS only */
.deck.is-deck .deck-list { display: block; min-height: 15rem; }
.deck.is-deck .fact { display: none; max-width: 52rem; }
.deck.is-deck .fact.is-current { display: block; animation: fact-in var(--dur-base) var(--ease-out); }
.deck.is-deck .fact-text { font-size: var(--text-3xl); line-height: 1.12; font-variation-settings: "opsz" 120; margin-bottom: var(--space-lg); }
.deck-controls { display: flex; align-items: center; gap: var(--space-lg); margin-top: var(--space-xl); flex-wrap: wrap; }
.deck-controls[hidden] { display: none; }
.deck-count { margin: 0; font-size: var(--text-sm); color: var(--color-ink-soft); font-variant-numeric: tabular-nums; }
@keyframes fact-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* visit */
.visit { max-width: var(--page-max); margin: 0 auto; padding: var(--space-4xl) var(--gutter) var(--space-3xl); }
.visit h2 { font-size: var(--text-3xl); margin-bottom: var(--space-2xl); }
.visit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2xl); }
.visit-block h3 { font-size: var(--text-xl); margin: 0 0 var(--space-md); }
.visit-block h3:not(:first-child) { margin-top: var(--space-xl); }
.hours { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.hours th, .hours td { text-align: left; padding: var(--space-xs) 0; border-bottom: var(--rule-hair) solid var(--color-rule); font-weight: 400; }
.hours th { font-weight: 600; padding-right: var(--space-md); }
.hours tr.is-today th, .hours tr.is-today td { color: var(--color-accent); font-weight: 700; }
.hours tr.is-today th::after { content: " · today"; font-weight: 600; }
.fine { font-size: var(--text-sm); color: var(--color-ink-soft); margin-top: var(--space-sm); }
.big-line { font-family: var(--font-display); font-size: var(--text-2xl); margin: 0; font-variant-numeric: lining-nums; }
.big-line a { text-decoration: none; }
.big-line a:hover { text-decoration: underline; }
address { font-style: normal; line-height: 1.55; margin-bottom: var(--space-sm); }
.arrow-link { font-weight: 600; display: inline-block; padding-block: var(--space-xs); }
.arrow-link::after { content: " →"; }
.visit-first ul { margin: 0 0 var(--space-sm); padding-left: 1.1em; }
.visit-first li { margin-bottom: var(--space-xs); }
.consul-note { margin-top: var(--space-3xl); padding: var(--space-lg) 0 0; border-top: var(--rule-hair) solid var(--color-rule); font-size: var(--text-sm); color: var(--color-ink-soft); max-width: 70ch; }

/* Ft6 letter close */
.close { background: var(--color-ink); color: var(--color-paper); padding: var(--space-3xl) var(--gutter) var(--space-2xl); }
.close > * { max-width: var(--page-max); margin-inline: auto; }
.close a { color: var(--color-paper); }
.close-sign { font-family: var(--font-display); font-size: var(--text-3xl); line-height: 1.1; margin-bottom: var(--space-xl); font-variation-settings: "opsz" 120; }
.close-addr, .close-emerg, .close-links { font-size: var(--text-sm); color: var(--sky-night-soft); }
.close-links a { display: inline-block; padding-block: var(--space-xs); }
.credit { border-top: var(--rule-hair) solid color-mix(in oklch, var(--color-paper) 25%, transparent); padding-top: var(--space-md); margin-top: var(--space-lg); font-size: var(--text-sm); }
.credit a { font-weight: 600; }

/* privacy page */
.doc { max-width: var(--measure); margin: 0 auto; padding: var(--space-3xl) var(--gutter); }
.doc h1 { font-size: var(--text-3xl); margin-bottom: var(--space-xl); }
.doc h2 { font-size: var(--text-xl); margin: var(--space-xl) 0 var(--space-sm); }

/* responsive */
@media (max-width: 960px) {
    .visit-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .sky-inner { grid-template-columns: minmax(0, 1fr); min-height: 0; padding-top: var(--space-2xl); gap: var(--space-lg); }
  .arc { max-width: 26rem; }
  .lede-inner { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
  .story-head, .story-body { margin-left: 0; }
  .pull { margin-left: 0; }
  .visit-grid { grid-template-columns: minmax(0, 1fr); }
  .story, .visit { padding-top: var(--space-3xl); }
}
@media (max-width: 420px) {
  .call-label { display: none; }
  .call { padding-left: var(--space-md); }
  .wordmark { font-size: var(--text-base); }
  .mono { width: 38px; height: 38px; }
  .btn { width: 100%; }
  .call-num { font-size: var(--text-lg); }
}
@media (max-width: 359px) {
  .wordmark span { display: none; }
  .status { font-size: var(--text-lg); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .sky, .arc-now, .btn { transition: none; }
  .deck.is-deck .fact.is-current { animation: none; }
}
.credit, .sources-line, .close-addr { line-height: 2; }

/* motion system: sun labels, scroll reveals, page transitions */
.arc-sun { fill: var(--sky-soft); font-family: var(--font-body); font-size: 13px; font-weight: 500; }
.will-reveal { opacity: 0; transform: translateY(var(--space-lg)); transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out); }
.will-reveal.is-shown { opacity: 1; transform: none; }
.ledger.will-reveal div { opacity: 0; transform: translateX(var(--space-sm)); transition: opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out); }
.ledger.is-shown div { opacity: 1; transform: none; }
.ledger.is-shown div:nth-child(2) { transition-delay: 80ms; }
.ledger.is-shown div:nth-child(3) { transition-delay: 160ms; }
.ledger.is-shown div:nth-child(4) { transition-delay: 240ms; }
.ledger.is-shown div:nth-child(5) { transition-delay: 320ms; }
.portrait { margin: 0 0 var(--space-lg); max-width: 15rem; }
.portrait img { width: 100%; height: auto; border-radius: var(--radius-sm); }
@view-transition { navigation: auto; }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
}
.arc-label, .arc-sun, .arc-now-label { paint-order: stroke; stroke: var(--sky); stroke-width: 6px; stroke-linejoin: round; }
.credit a { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; }

/* round 2 motion: countdown, story lines, ledger rules, pull-quote rule, deck, today sweep */
.countdown { margin: 0 0 var(--space-xs); font-size: var(--text-base); font-weight: 600; color: var(--sky-accent); font-variant-numeric: tabular-nums; }
.countdown:empty { display: none; }
.story-body p.will-reveal { transform: translateY(var(--space-md)); }
.ledger dl { border-top: 0; position: relative; }
.ledger dl::before { content: ""; position: absolute; inset: 0 0 auto; height: var(--rule-thick); background: var(--color-ink); transform-origin: left; }
.ledger div { position: relative; border-bottom: 0; }
.ledger div::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: var(--rule-hair); background: var(--color-rule); transform-origin: left; }
.ledger.will-reveal dl::before, .ledger.will-reveal div::after { transform: scaleX(0); transition: transform var(--dur-slow) var(--ease-out); }
.ledger.is-shown dl::before, .ledger.is-shown div::after { transform: scaleX(1); }
.ledger.is-shown div:nth-child(2)::after { transition-delay: 90ms; }
.ledger.is-shown div:nth-child(3)::after { transition-delay: 180ms; }
.ledger.is-shown div:nth-child(4)::after { transition-delay: 270ms; }
.ledger.is-shown div:nth-child(5)::after { transition-delay: 360ms; }
.ledger.is-shown div:nth-child(6)::after { transition-delay: 450ms; }
.ledger.is-shown div:nth-child(6) { transition-delay: 400ms; }
.pull { border-left: 0; position: relative; }
.pull::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: var(--rule-thick); background: var(--color-accent); transform-origin: top; }
.pull.will-reveal::before { transform: scaleY(0); transition: transform var(--dur-slow) var(--ease-out) 150ms; }
.pull.is-shown::before { transform: scaleY(1); }
.deck { position: relative; }
.deck-timer { height: var(--rule-thick); background: var(--color-accent); transform: scaleX(0); transform-origin: left; margin-top: var(--space-xl); max-width: 52rem; opacity: 0.55; }
.deck-timer.is-running { animation: deck-timer 9s linear forwards; }
@keyframes deck-timer { to { transform: scaleX(1); } }
.deck.is-deck .deck-list { margin-top: var(--space-lg); }
.deck.is-deck .fact.is-current { animation: fact-slide var(--dur-slow) var(--ease-out); }
@keyframes fact-slide { from { opacity: 0; transform: translateX(var(--space-2xl)); } to { opacity: 1; transform: none; } }
.deck-pause[hidden] { display: none; }
.deck-dots { display: flex; flex-wrap: wrap; }
.deck-dot { width: 32px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.deck-dot::before { content: ""; width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--color-accent); transition: transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out); }
.deck-dot[aria-current="true"]::before { background: var(--color-accent); transform: scale(1.25); }
.deck-dot:hover::before { transform: scale(1.25); }
.deck-dot:active::before { transform: scale(0.9); }
.today-line { font-weight: 600; color: var(--color-accent); margin: 0 0 var(--space-sm); font-variant-numeric: tabular-nums; }
.today-line:empty { display: none; }
.hours tr.is-today th, .hours tr.is-today td { background-image: linear-gradient(90deg, var(--color-accent-wash) 50%, transparent 50%); background-size: 200% 100%; background-position: 0 0; }
.visit-block.will-reveal .hours tr.is-today th, .visit-block.will-reveal .hours tr.is-today td { background-position: 100% 0; transition: background-position var(--dur-slow) var(--ease-out) 300ms; }
.visit-block.is-shown .hours tr.is-today th, .visit-block.is-shown .hours tr.is-today td { background-position: 0 0; }
.hours th, .hours td { padding-inline: var(--space-xs); }
@media (max-width: 760px) { .arc { margin-right: 0; } }
@media (prefers-reduced-motion: reduce) {
  .deck.is-deck .fact.is-current, .deck-timer.is-running { animation: none; }
  .deck-timer { display: none; }
}
/* decorative question mark beside the deck, drifting with scroll (CSS scroll-driven animation where supported) */
.facts { position: relative; overflow: clip; }
.facts::after {
  content: "?"; position: absolute; right: 4vw; top: 50%; translate: 0 -50%;
  font-family: var(--font-display); font-size: clamp(16rem, 30vw, 34rem); line-height: 1; font-weight: 300;
  color: color-mix(in oklch, var(--color-accent) 16%, transparent); pointer-events: none;
}
@supports (animation-timeline: view()) {
  .facts::after { animation: q-drift linear both; animation-timeline: view(); }
  @keyframes q-drift { from { transform: translateY(12%) rotate(-6deg); } to { transform: translateY(-12%) rotate(6deg); } }
}
@media (max-width: 960px) { .facts::after { display: none; } }
@media (prefers-reduced-motion: reduce) { .facts::after { animation: none; } }
.facts-head, .deck { position: relative; z-index: 1; }
/* night: a moon on the horizon, and a header that joins the night sky */
.arc-now[data-night] .arc-now-sun { fill: var(--sky-night-ink); stroke: var(--sky-night-soft); }
.arc-now[data-night] .arc-now-halo { fill: var(--sky-night-ink); opacity: 0.18; }
.arc-now[data-night] .arc-now-label { fill: var(--sky-night-ink); }
.arc-label { transition: opacity var(--dur-base) var(--ease-out); }
html[data-phase="night"] .mast { background: var(--sky-night-top); border-bottom-color: var(--sky-night-top); }
html[data-phase="night"] .wordmark, html[data-phase="night"] .call { color: var(--sky-night-ink); }
html[data-phase="night"] .call-label { color: var(--sky-night-soft); }
html[data-phase="night"] .call-num { color: var(--sky-night-accent); }
html[data-phase="night"] .mono { stroke: var(--sky-night-accent); }
html[data-phase="night"] .call { border-left-color: var(--sky-night-top); }
