:root {
  --gold: #bd8a2b;
  --gold-deep: #8e641c;
  --gold-light: #ead39b;
  --gold-pale: #f8edcf;
  --paper: #fffaf0;
  --cream: #f2e6c6;
  --ink: #332817;
  --muted: #766c59;
  --line: #d9c99f;
  --forest: #45553b;
  --brown: #57421f;
  --sans: "Segoe UI", Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 82px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
.skip-link { position: absolute; left: -9999px; top: 8px; z-index: 50; padding: 10px 14px; background: var(--paper); color: var(--ink); }
.skip-link:focus { left: 12px; }

/* Header */
.site-header { min-height: 78px; padding: 0 6.3vw; display: flex; align-items: center; justify-content: space-between; gap: 30px; position: sticky; top: 0; z-index: 10; border-bottom: 1px solid rgba(142,100,28,.2); background: rgba(255,250,240,.95); backdrop-filter: blur(12px); }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); text-decoration: none; flex: 0 0 auto; }
.brand-mark { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-deep); font: 17px var(--serif); letter-spacing: -3px; padding-right: 3px; }
.brand-mark span { color: var(--forest); }
.brand-copy { display: flex; flex-direction: column; line-height: 1.2; }
.brand-copy strong { font-size: 10px; letter-spacing: .18em; }
.brand-copy small { margin-top: 5px; color: var(--muted); font-size: 8px; letter-spacing: .2em; }
.primary-nav { display: flex; align-items: center; gap: clamp(14px, 2.1vw, 31px); }
.primary-nav a { color: #55462c; font-size: 11px; text-decoration: none; transition: color .2s ease; }
.primary-nav a:hover, .primary-nav a:focus-visible { color: var(--gold-deep); }
.primary-nav .nav-cta { padding: 9px 15px; border: 1px solid var(--gold); color: var(--gold-deep); }
.menu-toggle { display: none; }

/* Horizontal catalogue reader */
.book-reader { padding: 42px max(5vw, 22px) 31px; border-bottom: 1px solid #b98a35; background: radial-gradient(ellipse at 50% 0%, #f5e4b8 0%, #e8cf91 48%, #dfbf73 100%); }
.book-heading { max-width: 1180px; margin: 0 auto 20px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.eyebrow { margin: 0 0 18px; color: var(--gold-light); font-size: 9px; font-weight: 700; letter-spacing: .2em; }
.eyebrow-dark { color: var(--gold-deep); }
.eyebrow-line { display: inline-block; width: 30px; height: 1px; margin-right: 10px; background: currentColor; vertical-align: middle; }
.book-heading .eyebrow { margin-bottom: 7px; }
.book-heading h2 { margin: 0; color: var(--brown); font: 500 clamp(25px, 3vw, 38px)/1.1 var(--serif); letter-spacing: -.035em; }
.book-heading h2 em { color: var(--gold-deep); font-weight: 400; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 11px 18px; border: 1px solid transparent; text-decoration: none; font-size: 11px; font-weight: 650; letter-spacing: .04em; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.book-download { background: var(--brown); color: var(--paper); }
.book-download:hover { background: #362914; }
.book-stage { width: min(100%, 1120px); aspect-ratio: 1.48 / 1; margin: auto; position: relative; display: flex; justify-content: center; align-items: center; perspective: 1600px; }
.book-page-wrap { width: 100%; height: 100%; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; position: relative; background: linear-gradient(rgba(255,250,240,.70),rgba(255,250,240,.70)),url("assets/resort-luxury-bg.jpg") center / cover no-repeat; border: 1px solid rgba(97,67,19,.24); box-shadow: 0 24px 60px rgba(74,51,13,.23), 0 3px 9px rgba(74,51,13,.12); transform-origin: center; transition: transform .32s ease, opacity .26s ease; }
.book-urban-background { display: none; position: absolute; z-index: 0; inset: 0 auto 0 0; width: 50%; background: linear-gradient(rgba(255,250,240,.70),rgba(255,250,240,.70)),url("assets/urban-district-bg.jpg") center / cover no-repeat; }
.book-page-wrap.is-cover-spread .book-urban-background { display: block; }
.book-page-wrap.turning { transform: rotateY(-4deg) scale(.995); opacity: .78; }
.book-page { position: relative; z-index: 1; display: block; width: 100%; height: 100%; min-width: 0; object-fit: contain; background: transparent; }
.book-page:first-child { border-right: 1px solid rgba(105,77,31,.22); }
.book-arrow { position: absolute; z-index: 2; top: 50%; width: 46px; height: 46px; display: grid; place-items: center; transform: translateY(-50%); border: 1px solid rgba(87,66,31,.24); border-radius: 50%; background: rgba(255,250,240,.96); color: var(--brown); font-size: 22px; cursor: pointer; box-shadow: 0 6px 18px rgba(74,51,13,.14); transition: background .2s ease, color .2s ease; }
.book-prev { left: -23px; }
.book-next { right: -23px; }
.book-arrow:hover:not(:disabled), .book-control:hover:not(:disabled) { background: var(--brown); color: var(--paper); }
.book-arrow:disabled, .book-control:disabled { opacity: .36; cursor: default; }
.book-controls { width: min(100%, 660px); margin: 17px auto 0; display: flex; align-items: center; gap: 13px; }
.book-control { width: 36px; height: 36px; flex: 0 0 auto; border: 1px solid rgba(87,66,31,.25); border-radius: 50%; background: rgba(255,250,240,.4); color: var(--brown); font-size: 16px; cursor: pointer; transition: background .2s ease, color .2s ease; }
.page-picker { display: flex; flex: 1; align-items: center; gap: 13px; }
.page-picker input { width: 100%; accent-color: var(--gold-deep); cursor: pointer; }
.page-picker output { min-width: 94px; color: var(--brown); font-size: 10px; letter-spacing: .08em; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.book-hint { margin: 10px 0 0; color: #6f5729; font-size: 10px; text-align: center; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.book-reader:fullscreen { overflow: auto; padding-top: 20px; background: #dfbf73; }
.book-reader:fullscreen .book-stage { width: min(94vw, 1500px); height: min(72vh, 930px); aspect-ratio: auto; }

/* Hero */
.hero { min-height: 650px; padding: 78px 8.5vw 74px; position: relative; overflow: hidden; display: flex; align-items: center; color: #fff8e9; background: #826021; }
.hero::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(51,37,15,.83) 0%, rgba(78,56,20,.68) 39%, rgba(111,79,22,.2) 100%), linear-gradient(0deg, rgba(69,48,15,.38), transparent 64%); }
.hero::after { content: ""; position: absolute; z-index: 1; width: min(47vw, 600px); aspect-ratio: 1; right: 10%; top: 50%; transform: translateY(-50%); border: 1px solid rgba(255,245,216,.25); border-radius: 50%; box-shadow: 0 0 0 36px rgba(255,245,216,.07), 0 0 0 76px rgba(255,245,216,.045); pointer-events: none; }
.hero-content { position: relative; z-index: 2; max-width: 610px; }
.hero h1, h2 { font-family: var(--serif); font-weight: 500; letter-spacing: -.04em; line-height: 1.08; }
.hero h1 { margin: 0; font-size: clamp(43px, 6vw, 76px); }
.hero h1 em, h2 em { color: var(--gold-light); font-weight: 400; }
.hero-lede { max-width: 470px; margin: 23px 0 0; color: rgba(255,248,233,.86); font-size: 15px; line-height: 1.8; }
.hero-actions { margin-top: 31px; display: flex; align-items: center; gap: 25px; }
.button-light { background: var(--paper); color: var(--brown); }
.button-light:hover { background: #f1dfb4; }
.text-link { font-size: 11px; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.text-link-light { color: #fff8e9; }
.text-link-dark { display: inline-block; margin-top: 16px; color: var(--gold-deep); font-weight: 650; }
.hero-note { display: flex; align-items: center; gap: 12px; margin-top: 58px; color: rgba(255,248,233,.76); font-size: 10px; line-height: 1.5; }
.note-icon { color: var(--gold-light); font-size: 20px; }
.hero-art { position: absolute; inset: 0; z-index: 0; }
.hero-art img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 53%; }
.hero-index { position: absolute; z-index: 2; right: 6.4vw; bottom: 30px; color: rgba(255,248,233,.7); font: 11px/1.6 var(--serif); letter-spacing: .14em; text-align: right; }

/* Editorial sections */
.section-pad { padding: 110px 8.5vw; }
.section-label { display: flex; align-items: center; gap: 15px; margin-bottom: 57px; color: var(--muted); font-size: 8px; font-weight: 750; letter-spacing: .2em; }
.section-label span:first-child { color: var(--gold-deep); }
.section-label-light { color: rgba(255,248,233,.64); }
.section-label-light span:first-child { color: var(--gold-light); }
h2 { margin: 0; font-size: clamp(35px, 4.5vw, 57px); color: var(--ink); }
h2 em { color: var(--gold-deep); }
.intro { background: var(--paper); }
.intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: start; }
.intro-grid .eyebrow { margin-bottom: 20px; }
.intro-copy { padding-top: 5px; }
.large-copy { margin: 0 0 20px; color: #514226; font: 22px/1.55 var(--serif); }
.muted-copy { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.9; }
.metrics { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 72px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.metric { min-height: 135px; padding: 25px 21px; border-right: 1px solid var(--line); }
.metric:last-child { border-right: 0; }
.metric strong { color: var(--gold-deep); font: 500 40px/1 var(--serif); letter-spacing: -.04em; }
.metric strong span { margin-left: 4px; color: var(--forest); font-size: 17px; }
.metric p { margin: 10px 0 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.source-note { margin: 13px 0 0; color: #81765f; font-size: 9px; line-height: 1.65; }

.home { position: relative; overflow: hidden; background: #f0e3c0; }
.home::after { content: ""; position: absolute; width: 420px; height: 420px; right: -210px; top: 80px; border: 1px solid rgba(142,100,28,.17); border-radius: 50%; box-shadow: 0 0 0 45px rgba(142,100,28,.035), 0 0 0 90px rgba(142,100,28,.025); }
.home-heading { max-width: 640px; position: relative; z-index: 1; }
.home-heading .eyebrow, .silver-heading .eyebrow, .library-heading .eyebrow { color: var(--gold-deep); }
.home h2, .silver h2, .library h2 { color: var(--ink); }
.home h2 em, .silver h2 em, .library h2 em { color: var(--gold-deep); }
.home-heading>p:last-child { max-width: 520px; margin: 20px 0 0; color: #65583d; font-size: 12px; line-height: 1.9; }
.home-diagram { max-width: 850px; margin: 57px auto 0; position: relative; z-index: 1; }
.house-spine { position: absolute; top: 0; bottom: 35px; left: -56px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; color: var(--gold-deep); font-size: 7px; letter-spacing: .14em; writing-mode: vertical-rl; }
.house-spine i { width: 1px; height: 18%; background: #c8ad70; }
.home-level { min-height: 117px; padding: 22px 25px; display: grid; grid-template-columns: 66px 1fr auto; gap: 20px; align-items: center; border-top: 1px solid #c9b782; }
.home-level:last-of-type { border-bottom: 1px solid #c9b782; }
.home-level-accent { background: rgba(255,250,240,.42); }
.level-num { color: var(--gold-deep); font: 34px/1 var(--serif); }
.home-level h3 { margin: 0; color: var(--ink); font: 500 21px/1.25 var(--serif); }
.home-level p { margin: 7px 0 0; color: #75684e; font-size: 10px; line-height: 1.7; }
.level-mark { color: var(--gold-deep); font-size: 8px; font-weight: 700; letter-spacing: .14em; white-space: nowrap; }
.diagram-caption { margin: 0; padding: 13px 25px; color: #796b50; font-size: 8px; text-align: right; }
.home-footnote { margin: 32px auto 0; display: flex; justify-content: center; gap: 11px; color: #5c513b; font: 15px var(--serif); }
.home-footnote span { color: var(--gold-deep); }

.care { background: #fffaf0; }
.care-top { display: grid; grid-template-columns: 1.15fr .85fr; gap: 8vw; align-items: end; }
.care-summary { max-width: 430px; margin: 0 0 5px; color: var(--muted); font-size: 12px; line-height: 1.9; }
.care-levels { margin-top: 54px; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.care-level { min-height: 265px; padding: 23px 20px; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.care-level:last-child { border-right: 0; }
.care-number { color: #d3bd86; font: 44px/1 var(--serif); }
.care-kicker { margin: 18px 0 11px; color: var(--gold-deep); font-size: 8px; font-weight: 750; letter-spacing: .15em; }
.care-level h3 { margin: 0; color: var(--ink); font: 500 19px/1.3 var(--serif); }
.care-level p:last-of-type { margin: 12px 0 0; color: var(--muted); font-size: 10px; line-height: 1.75; }
.care-arrow { margin-top: auto; align-self: flex-end; color: var(--gold); font-size: 20px; }
.care-level-hub { background: #f5ebd3; }
.care-bridge { margin: 25px auto 31px; display: flex; align-items: center; justify-content: center; gap: 20px; color: var(--gold-deep); font-size: 9px; letter-spacing: .04em; text-align: center; }
.care-bridge span { width: 50px; height: 1px; background: #d7c797; }
.model-figure { max-width: 760px; margin: 0 auto; padding: 14px; border: 1px solid var(--line); background: #fbf5e6; }
.model-figure img { width: 100%; display: block; }
.model-figure figcaption { padding: 8px 4px 0; color: var(--muted); font-size: 8px; }

.silver { position: relative; overflow: hidden; background: linear-gradient(130deg,#5a4825,#45391f); color: #fff8e9; }
.silver::before { content: ""; position: absolute; width: 560px; height: 560px; right: -210px; top: -250px; border: 1px solid rgba(234,211,155,.22); border-radius: 50%; box-shadow: 0 0 0 46px rgba(234,211,155,.05), 0 0 0 93px rgba(234,211,155,.035); }
.silver .section-label { color: rgba(255,248,233,.62); }
.silver .section-label span:first-child { color: var(--gold-light); }
.silver-heading { max-width: 670px; position: relative; z-index: 1; }
.silver-heading .eyebrow { color: var(--gold-light); }
.silver h2 { color: #fff8e9; }
.silver h2 em { color: var(--gold-light); }
.silver-heading>p:last-child { max-width: 520px; margin: 20px 0 0; color: rgba(255,248,233,.74); font-size: 12px; line-height: 1.9; }
.silver-grid { margin-top: 54px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(234,211,155,.3); border-left: 1px solid rgba(234,211,155,.3); }
.silver-grid article { min-height: 190px; padding: 23px; border-right: 1px solid rgba(234,211,155,.3); border-bottom: 1px solid rgba(234,211,155,.3); }
.silver-grid article>span { color: var(--gold-light); font: 11px var(--serif); }
.silver-grid h3 { margin: 24px 0 9px; color: #fff8e9; font: 500 18px/1.3 var(--serif); }
.silver-grid p { max-width: 240px; margin: 0; color: rgba(255,248,233,.67); font-size: 10px; line-height: 1.8; }
.silver-bottom { max-width: 770px; margin: 40px auto 0; display: flex; align-items: center; gap: 18px; }
.silver-star { color: var(--gold-light); font-size: 26px; }
.silver-bottom p { margin: 0; color: #fff4d8; font: 18px/1.5 var(--serif); }

.land { background: #f1e4c2; }
.land-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 10vw; }
.land-title>p:last-child { max-width: 420px; margin: 21px 0 0; color: #6e624a; font-size: 12px; line-height: 1.9; }
.timeline { padding-left: 25px; border-left: 1px solid #c8b47c; }
.timeline article { position: relative; padding: 0 0 29px 22px; }
.timeline article:last-child { padding-bottom: 0; }
.timeline-dot { position: absolute; left: -30px; top: 5px; width: 9px; height: 9px; border: 1px solid var(--gold-deep); border-radius: 50%; background: #f1e4c2; box-shadow: 0 0 0 5px #f1e4c2; }
.timeline-tag { margin: 0 0 8px; color: var(--gold-deep); font-size: 8px; font-weight: 750; letter-spacing: .16em; }
.timeline h3 { margin: 0; color: var(--ink); font: 500 19px/1.3 var(--serif); }
.timeline article>p:last-child { margin: 8px 0 0; color: #72664d; font-size: 10px; line-height: 1.75; }
.closing-verse { margin: 75px 0 0; padding: 30px 0 0; display: flex; justify-content: space-between; align-items: end; gap: 30px; border-top: 1px solid #c8b47c; }
.closing-verse p { margin: 0; color: #4f4024; font: clamp(22px,3vw,38px)/1.38 var(--serif); }
.closing-verse em { color: var(--gold-deep); font-weight: 400; }
.closing-verse cite { color: #76694e; font-size: 9px; font-style: normal; white-space: nowrap; }

.library { background: #6b5122; color: #fff8e9; }
.library .section-label { color: rgba(255,248,233,.63); }
.library .section-label span:first-child, .library-heading .eyebrow { color: var(--gold-light); }
.library h2 { color: #fff8e9; }
.library h2 em { color: var(--gold-light); }
.library-heading { margin-bottom: 40px; display: flex; justify-content: space-between; align-items: end; gap: 35px; }
.library-heading>p { max-width: 280px; margin: 0 0 5px; color: rgba(255,248,233,.72); font-size: 11px; }
.resource-list { border-top: 1px solid rgba(255,248,233,.36); }
.resource { min-height: 95px; display: grid; grid-template-columns: .72fr 1.5fr .7fr; align-items: center; gap: 20px; border-bottom: 1px solid rgba(255,248,233,.3); color: #fff8e9; text-decoration: none; transition: padding .2s ease, background .2s ease; }
.resource:hover { padding: 0 12px; background: rgba(255,248,233,.06); }
.resource-type { color: var(--gold-light); font-size: 8px; letter-spacing: .15em; }
.resource strong { font: 500 17px/1.4 var(--serif); }
.resource-meta { color: rgba(255,248,233,.65); font-size: 9px; text-align: right; }
.resource-meta b { margin-left: 9px; color: var(--gold-light); font-size: 16px; font-weight: 400; }
.source-note-light { margin-top: 20px; color: rgba(255,248,233,.56); }

/* Footer and focus */
.site-footer { padding: 29px 6.3vw 20px; display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 14px 30px; background: #372b18; color: #fff8e9; }
.brand-footer { color: #fff8e9; }
.brand-footer .brand-mark { color: #fff8e9; }
.brand-footer .brand-copy small { color: rgba(255,248,233,.6); }
.site-footer>p { margin: 0; color: #ead9ad; font: 14px var(--serif); }
.back-top { color: #f0dfb6; font-size: 9px; text-decoration: none; }
.copyright { grid-column: 1/-1; padding-top: 11px; border-top: 1px solid rgba(255,248,233,.18); color: rgba(255,248,233,.48); font-size: 8px; }
:focus-visible { outline: 2px solid var(--gold-deep); outline-offset: 4px; }
.book-reader :focus-visible, .silver :focus-visible, .library :focus-visible, .site-footer :focus-visible { outline-color: #fff4d8; }

@media (max-width: 900px) {
  .site-header { padding: 0 5vw; }
  .primary-nav { gap: 13px; }
  .primary-nav a { font-size: 10px; }
  .section-pad { padding: 88px 7vw; }
  .hero { padding-right: 7vw; padding-left: 7vw; }
  .hero::after { right: 2%; }
  .intro-grid, .care-top, .land-grid { gap: 5vw; }
  .care-levels { grid-template-columns: repeat(2,1fr); }
  .care-level:nth-child(2) { border-right: 0; }
  .care-level:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .silver-grid { grid-template-columns: repeat(2,1fr); }
  .resource { grid-template-columns: .7fr 1.4fr .7fr; }
}

@media (max-width: 640px) {
  html { scroll-padding-top: 68px; }
  .site-header { min-height: 68px; padding: 0 5vw; }
  .brand-mark { width: 35px; height: 35px; }
  .menu-toggle { display: block; border: 0; background: transparent; color: var(--ink); font-size: 11px; font-weight: 650; cursor: pointer; }
  .menu-toggle span { margin-left: 6px; color: var(--gold-deep); font-size: 16px; }
  .primary-nav { display: none; position: absolute; top: 67px; left: 0; right: 0; padding: 10px 5vw 19px; background: var(--paper); border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; gap: 0; }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: 11px 0; border-bottom: 1px solid rgba(142,100,28,.13); font-size: 11px; }
  .primary-nav .nav-cta { margin-top: 9px; padding: 10px; text-align: center; border: 1px solid var(--gold); }
  .book-reader { padding: 30px 16px 24px; }
  .book-heading { align-items: center; gap: 9px; }
  .book-heading h2 { font-size: 23px; }
  .book-heading .eyebrow { font-size: 7px; }
  .book-download { min-height: 38px; padding: 8px 11px; gap: 7px; font-size: 9px; white-space: nowrap; }
  .book-stage { width: calc(100% - 22px); aspect-ratio: 1.27 / 1; }
  .book-page-wrap { grid-template-columns: 1fr 1fr; }
  .book-page { object-fit: contain; }
  .book-arrow { width: 34px; height: 34px; font-size: 17px; }
  .book-prev { left: -17px; }
  .book-next { right: -17px; }
  .book-controls { gap: 8px; margin-top: 13px; }
  .book-control { width: 31px; height: 31px; font-size: 14px; }
  .page-picker { gap: 7px; }
  .page-picker output { min-width: 76px; font-size: 8px; }
  .book-hint { font-size: 8px; }
  .hero { min-height: 610px; padding: 65px 7vw 50px; align-items: flex-start; }
  .hero::before { background: linear-gradient(90deg,rgba(51,37,15,.78),rgba(78,56,20,.42)),linear-gradient(0deg,rgba(69,48,15,.48),transparent 65%); }
  .hero::after { width: 340px; right: -210px; top: 69%; }
  .hero-art img { object-position: 57% center; }
  .hero h1 { font-size: clamp(42px,12vw,61px); }
  .hero-lede { font-size: 13px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
  .hero-note { margin-top: 40px; }
  .hero-index { right: 7vw; bottom: 18px; }
  .section-pad { padding: 70px 7vw; }
  .section-label { margin-bottom: 39px; font-size: 7px; }
  .intro-grid, .care-top, .land-grid { grid-template-columns: 1fr; gap: 17px; }
  .large-copy { font-size: 19px; }
  .metrics { grid-template-columns: repeat(2,1fr); margin-top: 42px; }
  .metric { min-height: 118px; padding: 18px 12px; border-bottom: 1px solid var(--line); }
  .metric:nth-child(2) { border-right: 0; }
  .metric:nth-child(3), .metric:nth-child(4) { border-bottom: 0; }
  .metric:nth-child(3) { padding-left: 0; }
  .metric strong { font-size: 34px; }
  .home-diagram { margin: 39px 0 0 22px; }
  .house-spine { left: -24px; transform: translateX(-100%); font-size: 6px; }
  .home-level { min-height: 105px; grid-template-columns: 38px 1fr; gap: 10px; padding: 17px 11px; }
  .level-num { font-size: 27px; }
  .home-level h3 { font-size: 16px; }
  .home-level p { font-size: 9px; }
  .level-mark { grid-column: 2; justify-self: start; margin-top: 3px; font-size: 7px; }
  .diagram-caption { padding: 9px 11px; text-align: left; }
  .home-footnote { margin-left: 0; font-size: 12px; }
  .care-levels { grid-template-columns: 1fr; margin-top: 35px; }
  .care-level { min-height: 0; padding: 18px; border-right: 0; border-bottom: 1px solid var(--line); }
  .care-level:nth-child(3) { border-bottom: 1px solid var(--line); }
  .care-level:last-child { border-bottom: 0; }
  .care-kicker { margin-top: 11px; }
  .care-arrow { margin-top: 12px; }
  .care-bridge { gap: 8px; font-size: 8px; }
  .care-bridge span { max-width: 21px; }
  .model-figure { padding: 6px; }
  .model-figure figcaption { font-size: 7px; }
  .silver-grid { grid-template-columns: 1fr; margin-top: 35px; }
  .silver-grid article { min-height: 135px; padding: 19px; }
  .silver-grid h3 { margin-top: 13px; }
  .silver-bottom p { font-size: 14px; }
  .timeline { padding-left: 20px; }
  .timeline article { padding-left: 17px; }
  .timeline-dot { left: -25px; }
  .closing-verse { margin-top: 47px; display: block; }
  .closing-verse cite { display: block; margin-top: 18px; }
  .library-heading { display: block; margin-bottom: 27px; }
  .library-heading>p { margin-top: 14px; }
  .resource { min-height: 0; grid-template-columns: 1fr auto; gap: 7px 12px; padding: 17px 0; }
  .resource-type { grid-column: 1/-1; }
  .resource strong { font-size: 15px; }
  .resource-meta { grid-column: 1/-1; justify-self: start; text-align: left; }
  .site-footer { grid-template-columns: 1fr auto; padding: 25px 7vw 18px; }
  .site-footer>p { grid-column: 1/-1; grid-row: 2; }
  .back-top { grid-column: 2; grid-row: 1; }
  .copyright { grid-row: 3; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
