body[data-site] {
  --paper: #fffdf9;
  --ink: #302a25;
  --accent: #795018;
  --tint: #fff4e2;
  --line: #e5d7c8;
  --hero-bg: #f6d8b6;
  --hero-light: #fff6e5;
}

body[data-site="home-health"] {
  --accent: #235951;
  --tint: #eaf5ee;
  --line: #d5e4da;
  --hero-bg: #d5e6d9;
  --hero-light: #f0f7ee;
}

body[data-site="home-healthcare"] {
  --accent: #8b4b34;
  --tint: #faefe7;
  --line: #e8d8ce;
  --hero-bg: #eecdb9;
  --hero-light: #fff4e9;
}

.site-header { min-height: 68px; justify-content: flex-end; }
.site-nav a { font-weight: 600; }
.hero { grid-template-columns: 1fr 1fr; min-height: 0; background: linear-gradient(125deg, var(--hero-light), var(--hero-bg)); }
.hero-copy { padding: clamp(28px, 4.5vw, 65px); }
.hero h1 { max-width: 16ch; font-size: clamp(2.5rem, 4.5vw, 4.65rem); }
.hero-copy > p:not(.kicker) { max-width: 44ch; }
.hero-visual { margin: 0; padding: 0; display: block; min-height: 0; }
.hero-visual img { display: block; width: 100%; height: 100%; min-height: 380px; object-fit: cover; }
.hero-visual figcaption { position: absolute; bottom: 1.2rem; right: 1.2rem; left: 1.2rem; max-width: max-content; background: var(--paper); color: var(--ink); border-radius: 999px; padding: .38rem .8rem; font-size: .76rem; font-weight: 600; }
.button { min-height: 48px; }
.hero-actions a:not(.button) { font-size: .88rem; font-weight: 600; display: inline-flex; align-items: center; min-height: 44px; }
.service-note { margin-top: .85rem; font-size: .85rem !important; }
.resource-card { border-top: 3px solid var(--accent); }
.resource-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.resource-card h3 { text-wrap: balance; }
.guide-callout { border: 1px solid var(--line); border-radius: 20px; padding: clamp(20px, 4vw, 42px); background: var(--tint); }
.guide-callout p { margin-top: .65rem; max-width: 68ch; }
.guide-callout .button { margin-top: 1.15rem; }
.guide-links { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; margin-top: .7rem; }
.guide-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: .89rem; }
.source-list { margin-top: .8rem; }
.site-footer .wrap { align-items: center; }
.footer-name { font-size: .9rem; font-weight: 600; }

@media (max-width: 780px) {
  .site-header { min-height: 53px; justify-content: flex-start; }
  .site-nav a:not(.button) { display: inline-flex; }
  .hero, .resource-grid.two { grid-template-columns: 1fr; }
  .hero h1 { font-size: clamp(2.35rem, 8vw, 3.4rem); }
  .hero-visual img { min-height: 0; max-height: 310px; aspect-ratio: 4 / 3; }
  .hero-visual figcaption { bottom: .75rem; left: .75rem; right: .75rem; }
}
