.hub-page { background: var(--paper); }
.hub-page .site-header { color: var(--ink); }
.hub-page main { padding-top: 78px; }
.hub-section { padding: clamp(82px, 8vw, 126px) 0; }

.breadcrumb { padding: 30px 0 24px; border-bottom: 1px solid var(--line); }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; color: var(--muted); font-size: .78rem; }
.breadcrumb li:not(:last-child)::after { content: ">"; margin-left: 8px; color: #aaa49c; }
.breadcrumb a:hover { color: var(--orange); }

.hub-hero { padding-bottom: clamp(72px, 8vw, 118px); }
.hub-hero-grid { display: grid; grid-template-columns: minmax(360px, .8fr) minmax(520px, 1.2fr); gap: clamp(55px, 7vw, 110px); align-items: center; padding-top: clamp(55px, 7vw, 92px); }
.hub-hero-copy h1 { margin: 0 0 28px; font-size: clamp(3rem, 4.9vw, 5.2rem); line-height: 1.04; white-space: nowrap; }
.hub-lead { margin: 0; font-family: var(--serif); font-size: clamp(1.2rem, 1.7vw, 1.55rem); line-height: 1.85; }
.hub-support { margin: 38px 0 0; padding-top: 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: .9rem; }
.hub-hero-image { margin: 0; }
.hub-hero-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 48%; }

.hub-heading { display: grid; grid-template-columns: 240px 1fr; gap: 60px; }
.hub-heading h2, .hub-split-heading h2, .hub-field h2 { margin: 0; font-size: clamp(2.2rem, 4.1vw, 4.4rem); }
.hub-principles { margin-top: 62px; border-top: 1px solid var(--ink); }
.hub-principle { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 22px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.hub-principle > span { color: var(--orange); font-family: var(--serif); }
.hub-principle h3 { margin: 0 0 7px; font-family: var(--serif); font-size: 1.25rem; }
.hub-principle p { margin: 0; color: var(--muted); }

.hub-split-heading { display: grid; grid-template-columns: 1fr .8fr; gap: 80px; align-items: end; }
.hub-split-heading > p { margin: 0; color: var(--muted); }
.report-index { margin-top: 58px; border-top: 1px solid var(--ink); }
.report-index-item { position: relative; border-bottom: 1px solid var(--line); }
.report-index-item > a, .report-index-item.report-unavailable { display: grid; grid-template-columns: 180px minmax(300px, .9fr) 1.1fr; gap: 35px; align-items: center; padding: 36px 10px; }
.report-index-item > a { color: inherit; transition: background-color .2s ease; }
.report-index-category { color: var(--orange); font-size: .78rem; font-weight: 700; }
.report-index-item h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.45rem, 2vw, 2rem); line-height: 1.45; }
.report-index-item p { margin: 0; color: var(--muted); font-size: .9rem; }
.report-index-status { grid-column: 2 / -1; justify-self: start; padding: 6px 11px; border: 1px solid var(--line); color: var(--muted); font-size: .75rem; }
.report-index-item > a:hover { background: rgba(197, 94, 43, .035); }
.report-index-item > a:hover h3 { color: var(--orange); }
.report-index-item > a:focus-visible { outline: 2px solid var(--orange); outline-offset: -2px; }

.hub-field-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; }
.field-lead { margin: 10px 0 0; color: var(--muted); font-size: 1.03rem; }
.field-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; margin-top: 44px; }
.field-photo { margin: 0; }
.field-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.field-photo figcaption { padding-top: 10px; color: var(--muted); font-size: .75rem; }

.hub-note { padding: 45px 0; border-top: 1px solid var(--line); }
.hub-note-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: 80px; align-items: start; }
.hub-note-grid div { display: flex; gap: 18px; align-items: baseline; }
.hub-note-grid span { color: var(--muted); font-size: .76rem; }
.hub-note-grid strong { font-family: var(--serif); font-size: 1.2rem; }
.hub-note-grid p { margin: 0; color: var(--muted); font-size: .85rem; }
.sources { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--line); }
.sources h2 { font: 700 1rem var(--sans); letter-spacing: 0; }

@media (max-width: 980px) {
  .hub-hero-grid { grid-template-columns: .8fr 1.2fr; gap: 42px; }
  .report-index-item > a, .report-index-item.report-unavailable { grid-template-columns: 130px minmax(240px, .9fr) 1fr; }
}

@media (max-width: 720px) {
  .hub-page main { padding-top: 68px; }
  .hub-section { padding: 72px 0; }
  .breadcrumb { padding: 20px 0; }
  .hub-hero { padding-bottom: 68px; }
  .hub-hero-grid { grid-template-columns: 1fr; gap: 40px; padding-top: 50px; }
  .hub-hero-copy h1 { font-size: clamp(2.8rem, 14vw, 4rem); }
  .hub-lead br, .hub-support br, .hub-split-heading > p br, .field-lead br, .hub-note-grid p br { display: none; }
  .hub-hero-image img { aspect-ratio: 4 / 3; }
  .hub-heading, .hub-split-heading, .hub-field-grid, .hub-note-grid { grid-template-columns: 1fr; gap: 28px; }
  .hub-heading h2, .hub-split-heading h2, .hub-field h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .hub-principles { margin-top: 42px; }
  .hub-principle { grid-template-columns: 42px 1fr; gap: 12px; padding: 23px 0; }
  .report-index { margin-top: 40px; }
  .report-index-item > a, .report-index-item.report-unavailable { grid-template-columns: 1fr; gap: 15px; padding: 28px 0; }
  .report-index-status { grid-column: auto; }
  .field-gallery { grid-template-columns: 1fr; }
  .hub-note-grid div { justify-content: space-between; }
}
