/* Shared additions. Keep alongside index.html and spaces.html. */
html { scroll-padding-top:110px; }
body { overflow-wrap:break-word; }
a:focus-visible, summary:focus-visible { outline:3px solid #685628; outline-offset:5px; }
.skip-link { position:fixed; top:-100px; left:16px; z-index:100; padding:12px; background:#fff; color:#222; }
.skip-link:focus { top:12px; }
.brand { flex-shrink:0; }
.nav-links a { padding:6px 0; }
.nav-links a:hover { text-decoration:underline; text-underline-offset:5px; }
.hero-copy .sub { max-width:70ch; margin:16px auto 0; }
.hero-band.image-card { min-height:0; }
.heritage-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 36px; margin:28px 0; }
.section-intro { max-width:76ch; }
details { margin:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:16px 0; }
summary { cursor:pointer; font-weight:600; }
details[open] summary { margin-bottom:16px; }
.funding { padding:24px 0 30px; border-top:1px solid var(--line); }
.funding img { width:min(680px,100%); height:auto; background:white; margin-top:16px; }
.footer-row a { display:inline-block; padding:8px 0; }
.legal { max-width:850px; padding-top:40px; padding-bottom:40px; }
.legal h1 { font-size:clamp(32px,6vw,56px); margin-bottom:24px; }
.legal h2 { font-size:25px; margin-top:32px; margin-bottom:12px; }
.legal p { max-width:76ch; }
.legal address { font-style:normal; margin-bottom:20px; }
.legal ul { padding-left:22px; }
.legal li { margin-bottom:10px; }
@media(max-width:980px) { .nav { flex-wrap:wrap; gap:8px; } }
@media(max-width:760px) {
  header { position:relative; }
  .nav { flex-direction:column; }
  .nav-links { gap:6px 16px; }
  .heritage-grid { grid-template-columns:1fr; }
  .hero-copy .lead { font-size:23px; }
  html { scroll-padding-top:20px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
