.access-page { color: var(--ink, #222); }
.access-intro > p:not(.section-kicker) { max-width: 52em; }
.base-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 32px; }
.base-links a { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--border, #ddd); border-bottom: 3px solid var(--crimson); padding: 22px 24px; color: var(--crimson); text-decoration: none; font-weight: 700; }
.base-links a > span:first-child { flex-basis: 100%; font-size: calc(12px + var(--page-font-increase, 0pt)); letter-spacing: .08em; color: #555; }
.base-links a:hover { background: #f8f4f4; }
.base-section { margin-top: 64px; padding-top: 48px; border-top: 1px solid var(--border, #ddd); scroll-margin-top: 180px; }
.base-heading { display: flex; gap: 24px; align-items: center; margin-bottom: 32px; }
.base-number { font: calc(64px + var(--page-font-increase, 0pt))/1 Georgia, serif; color: var(--crimson); }
.base-category { font-size: calc(12px + var(--page-font-increase, 0pt)); font-weight: 700; letter-spacing: .1em; color: var(--crimson); margin: 0 0 8px; }
.base-heading h2 { font-size: calc(clamp(24px, 3vw, 32px) + var(--page-font-increase, 0pt)); line-height: 1.5; margin: 0 0 8px; }
.base-heading p:last-child { margin: 0; color: #555; }
.base-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.base-info h3 { font-size: calc(20px + var(--page-font-increase, 0pt)); line-height: 1.6; margin: 0 0 16px; }
.base-info > p { margin: 0 0 24px; }
.base-facts { margin: 24px 0; }
.base-facts > div { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 16px; padding: 16px 0; border-top: 1px solid var(--border, #ddd); }
.base-facts dt { font-size: calc(13px + var(--page-font-increase, 0pt)); font-weight: 700; color: var(--crimson); }
.base-facts dd { margin: 0; }
.base-facts small { display: block; color: #555; margin-top: 8px; }
.base-map { min-width: 0; background: #f5f3f0; border: 1px solid var(--border, #ddd); }
.base-map iframe { display: block; width: 100%; height: 420px; border: 0; }
.base-map p { font-size: calc(12px + var(--page-font-increase, 0pt)); line-height: 1.8; padding: 16px 20px; margin: 0; color: #555; }
.access-button { display: inline-flex; align-items: center; justify-content: center; padding: 14px 22px; background: var(--crimson); border: 1px solid var(--crimson); color: #fff; text-decoration: none; font-weight: 700; line-height: 1.6; }
.access-button:hover { background: #520012; color: #fff; }
.base-info .source-link { margin-top: 16px; font-size: calc(12px + var(--page-font-increase, 0pt)); }
.source-link a { text-underline-offset: 4px; }
.access-visit { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 64px; padding: 36px; background: #f7f5f3; border-top: 3px solid var(--crimson); }
.access-visit h2 { font-size: calc(24px + var(--page-font-increase, 0pt)); margin: 0 0 12px; }
.access-visit p:last-child { margin: 0; max-width: 42em; }
.access-visit .access-button { flex-shrink: 0; }
.access-page a:focus-visible { outline: 3px solid var(--crimson); outline-offset: 4px; }
@media (max-width: 768px) {
  .base-links, .base-layout { grid-template-columns: minmax(0, 1fr); }
  .base-links { gap: 14px; }
  .base-layout { gap: 24px; }
  .base-heading { gap: 16px; }
  .base-number { font-size: calc(48px + var(--page-font-increase, 0pt)); }
  .base-section { margin-top: 44px; padding-top: 32px; scroll-margin-top: 140px; }
  .base-facts > div { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .base-map iframe { height: 320px; }
  .access-visit { flex-direction: column; align-items: stretch; padding: 24px; margin-top: 44px; }
}
.other-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 32px; }
.other-field-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--border, #ddd); }
.other-field-info { flex: 1; padding: 28px; }
.other-field-info h3 { font-size: calc(24px + var(--page-font-increase, 0pt)); line-height: 1.5; margin: 0 0 16px; }
.other-field-info .source-link { font-size: calc(12px + var(--page-font-increase, 0pt)); margin: 16px 0 0; }
.other-field-card .base-map { border-width: 1px 0 0; }
.other-field-card .base-map iframe { height: 320px; }
@media (max-width: 768px) {
  .other-field-grid { grid-template-columns: minmax(0, 1fr); }
  .other-field-info { padding: 24px; }
}