.page-hero { padding: calc(var(--header-h) + clamp(48px, 7vw, 104px)) 0 clamp(56px, 7vw, 96px); }
.page-hero__breadcrumb { display: flex; align-items: center; gap: 10px; margin: 0 0 28px; }
.page-hero__breadcrumb a { color: var(--ink); transition: color 0.3s var(--ease); }
.page-hero__breadcrumb a:hover { color: var(--accent); }
.page-hero__breadcrumb span:not([data-unit]) { width: 28px; height: 1px; background: var(--accent); }
.page-hero h1 {
  font-size: clamp(2.6rem, 7vw, 6.4rem);
  line-height: 0.95;
  letter-spacing: -0.045em;
  max-width: 13ch;
  margin-bottom: 28px;
}
.page-hero__lead { max-width: 520px; font-size: 17px; margin: 0; }
.page-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 48px clamp(40px, 6vw, 112px);
  align-items: end;
}
.page-hero__label { margin: 0 0 14px; }
.page-hero__links { display: flex; flex-wrap: wrap; gap: 0 28px; }
.page-hero .facts { max-width: 520px; }

.page-banner { padding-bottom: var(--section-y); }

.timeline li {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(0, 2fr);
  gap: 12px clamp(24px, 4vw, 64px);
  padding: clamp(22px, 3vw, 36px) 0;
}
.timeline time {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3.6vw, 3rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1;
  color: var(--ink);
}
.timeline h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); margin-bottom: 8px; }
.timeline p { margin: 0; max-width: 560px; }

.pillars {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px clamp(24px, 4vw, 64px);
}
.pillars li { border-top: 1px solid var(--ink); padding-top: 22px; }
.pillars h3 { font-size: clamp(1.3rem, 2.2vw, 1.75rem); margin-bottom: 12px; }
.pillars p { margin: 0; font-size: 15px; }

.feature {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: 48px clamp(40px, 7vw, 128px);
  align-items: center;
}
.feature h2 { font-size: clamp(2rem, 4.2vw, 3.6rem); max-width: 14ch; }
.feature p { font-size: 17px; max-width: 480px; }

.unit { scroll-margin-top: calc(var(--header-h) + 24px); }
.unit__link {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) minmax(200px, 340px);
  gap: 20px clamp(24px, 4vw, 64px);
  align-items: start;
  padding: clamp(24px, 3vw, 40px) 0;
}
.unit__link .index { padding-top: 0.7em; }
.unit h2 {
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  letter-spacing: -0.04em;
  margin: 10px 0 18px;
  transition: translate 0.6s var(--ease);
}
.unit p { margin: 0 0 6px; font-size: 15px; }
.unit__distance { color: var(--accent); font-weight: 600; }
.unit__link:hover .index, .unit:target .index { color: var(--accent); }
.unit__link:hover h2 { translate: 8px 0; }

.unit-hero__tag { margin: 0 0 14px; }
.page-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 32px; }

.details {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: 48px clamp(40px, 7vw, 128px);
  align-items: start;
}
.details__list > div { padding: 20px 0 22px; }
.details__list dd {
  margin: 8px 0 0;
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.2vw, 1.7rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.details__list dd a { transition: color 0.3s var(--ease); }
.details__list dd a:hover { color: var(--accent); }

iframe.photo__media { inset: 0; height: 100%; border: 0; }

.unit-gallery { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(16px, 2vw, 32px); align-items: start; }
.unit-gallery__a { grid-column: 1 / span 7; }
.unit-gallery__b { grid-column: 9 / span 4; margin-top: clamp(64px, 10vw, 180px); }
.unit-gallery__c { grid-column: 3 / span 5; margin-top: clamp(-120px, -6vw, -24px); }

@media (max-width: 960px) {
  .page-hero__inner { grid-template-columns: 1fr; }
  .timeline li { grid-template-columns: 1fr; }
  .pillars { grid-template-columns: 1fr; }
  .feature { grid-template-columns: 1fr; }

  .unit__link { grid-template-columns: 36px minmax(0, 1fr); }
  .unit .photo { grid-column: 2; max-width: 420px; }
  .details { grid-template-columns: 1fr; }
  .unit-gallery__a { grid-column: 1 / -1; }
  .unit-gallery__b { grid-column: 5 / -1; margin-top: 0; }
  .unit-gallery__c { grid-column: 1 / span 9; margin-top: 0; }
}
