/* FUS priority improvements — 2026-08-28 */
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #8bdd35; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
.fus-page-update { width:min(1180px,calc(100% - 48px)); margin:1.25rem auto 0; padding:.9rem 1rem; border-left:4px solid #8bdd35; background:#eef4e8; color:#23423b; line-height:1.55; }
.fus-page-update strong { display:block; }
.fus-priority-cta { width:min(1180px,calc(100% - 48px)); margin:0 auto 4rem; padding:1.5rem; border:1px solid rgba(18,54,48,.2); border-radius:14px; background:#f4f7f3; color:#123630; }
.fus-priority-cta :where(strong,p) { color:#123630; }
.fus-priority-cta a { color:#075c4e; font-weight:800; text-underline-offset:.2rem; }
.ibd-practical-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.fo-page { color:#102f2a; background:#f8faf7; }
.fo-header { display:flex; justify-content:space-between; gap:2rem; align-items:center; padding:1rem max(1.25rem,calc((100% - 1120px)/2)); background:#0b302c; color:#fff; }
.fo-header a { color:inherit; }.fo-brand { display:flex; gap:.8rem; align-items:center; text-decoration:none; }.fo-brand img{width:46px;height:46px;object-fit:contain}.fo-brand span{display:grid}.fo-brand small{opacity:.75}.fo-header nav{display:flex;gap:1.25rem;flex-wrap:wrap}
.fo-hero,.fo-grid,.fo-section,.fo-footer{width:min(1120px,calc(100% - 40px));margin-inline:auto}.fo-hero{padding:clamp(4rem,9vw,8rem) 0 3rem}.fo-hero h1{max-width:900px;font-size:clamp(2.5rem,7vw,5.75rem);line-height:.98}.fo-lead{max-width:760px;font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.65}.fo-status{display:grid;gap:.25rem;margin-top:2rem;padding:1rem 1.25rem;border-left:5px solid #d3a63b;background:#fff8e7}
.fo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-bottom:4rem}.fo-grid article,.fo-funding-grid article{padding:1.5rem;border:1px solid rgba(18,54,48,.18);border-radius:14px;background:#fff}.fo-grid span,.fo-funding-grid small{font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#417067}.fo-grid h2{font-size:1.35rem}
.fo-section{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);padding:clamp(3.5rem,7vw,6rem) 0;border-top:6px solid #123630}.fo-section h2{font-size:clamp(2rem,4vw,3.4rem)}.fo-section p,.fo-section li,.fo-section dd{line-height:1.7}.fo-checks{margin:0;padding-left:1.25rem}.fo-checks li{margin:.5rem 0}.fo-funding{display:block}.fo-funding>div:first-child{max-width:850px}.fo-funding-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.fo-funding-grid strong{display:block;font-size:2.5rem}.fo-funding-grid span{display:block}.fo-caveat{margin-top:1.5rem;padding:1rem;background:#fff8e7}.fo-measures{margin:0}.fo-measures div{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:.85rem 0;border-top:1px solid rgba(18,54,48,.18)}.fo-measures dt{font-weight:900}.fo-measures dd{margin:0}.fo-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.fo-actions>a:not(.button){font-weight:800;color:#0b5b4e}.fo-footer{padding:2rem 0 4rem;border-top:1px solid rgba(18,54,48,.2);font-size:.9rem}.fo-footer p{margin:.4rem 0}.fo-footer a{color:inherit}
@media(max-width:980px){.ibd-practical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.fus-page-update,.fus-priority-cta{width:min(100% - 24px,1180px)}.fo-header{align-items:flex-start;flex-direction:column}.fo-grid,.fo-funding-grid{grid-template-columns:1fr}.fo-section{grid-template-columns:1fr}.fo-measures div{grid-template-columns:1fr;gap:.25rem}}
@media(max-width:680px){.ibd-practical-grid{grid-template-columns:1fr}}
@media print{.fo-header nav,.fo-actions{display:none}.fo-page{background:#fff}.fo-hero{padding-top:2rem}.fo-section{break-inside:avoid;padding:2rem 0}.fo-footer{padding-bottom:0}}

/* FUS iPhone 17 / Chrome homepage repair — 2026-08-29
   Critical status-hub rules are repeated here so the section remains styled
   even if the older accessibility stylesheet is served stale or delayed. */
.fus-status-hub {
  box-sizing: border-box;
  padding: clamp(3rem, 6vw, 5.5rem) clamp(1.5rem, 7.5vw, 7.75rem);
  color: #112a2c;
  background: #f3efe5;
}
.fus-status-heading {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: end;
  gap: clamp(1.5rem, 5vw, 5rem);
}
.fus-status-kicker {
  margin: 0 0 .8rem;
  color: #06483c;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.fus-status-heading h2 {
  margin: 0;
  color: #112a2c;
  font: 400 clamp(2.4rem, 4.8vw, 5.4rem)/.96 Georgia, "Times New Roman", serif;
  letter-spacing: -.045em;
  overflow-wrap: anywhere;
}
.fus-status-heading > p {
  margin: 0;
  color: #526967;
  font-size: 1rem;
  line-height: 1.7;
}
.fus-status-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: clamp(2rem, 5vw, 4rem) 0 0;
  padding: 1px;
  background: rgba(17, 42, 44, .16);
}
.fus-status-facts > div {
  min-width: 0;
  padding: 1.35rem;
  background: #fbfaf5;
}
.fus-status-facts dt {
  color: #526967;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.fus-status-facts dd {
  margin: .65rem 0 0;
  color: #112a2c;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
}
.fus-route-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.fus-route-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 1.25rem;
  min-width: 0;
  padding: 1.35rem;
  border: 1px solid rgba(17, 42, 44, .16);
  background: #fbfaf5;
}
.fus-route-card h3 { margin: 0; color: #112a2c; font-size: 1.15rem; }
.fus-route-card p { margin: .65rem 0 0; color: #526967; line-height: 1.6; }
.fus-route-card a { color: #06483c; font-weight: 800; text-underline-offset: .2rem; }

@media (max-width: 61.25rem) {
  .fus-status-heading,
  .fus-status-facts,
  .fus-route-grid,
  .fus-route-card { grid-template-columns: minmax(0, 1fr); }
  .fus-route-card a { width: 100%; }
}

@media (max-width: 680px) {
  body { overflow-x: hidden; padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
  .fus-status-hub { padding: 2.5rem 1rem; }
  .fus-status-heading { display: block; }
  .fus-status-heading h2 {
    max-width: 11ch;
    font-size: clamp(2.15rem, 10.5vw, 3.25rem);
    line-height: 1;
  }
  .fus-status-heading > p { margin-top: 1.25rem; font-size: .98rem; }
  .fus-status-facts { margin-top: 1.75rem; }
  .fus-status-facts > div { padding: 1rem; }
  .fus-route-grid { margin-top: 1rem; }
  .fus-route-card { padding: 1rem; }

  .section-jump {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .25rem .9rem;
    overflow: visible;
    padding: 1rem;
  }
  .section-jump span { grid-column: 1 / -1; margin-bottom: .2rem; }
  .section-jump a { min-width: 0; padding: .45rem 0; font-size: .78rem; white-space: normal; }

  .mobile-register-cta {
    left: 12px;
    right: 12px;
    bottom: calc(8px + env(safe-area-inset-bottom));
    width: auto;
    min-height: 52px;
    padding-inline: 14px;
    font-size: .7rem;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .24);
  }
}
