/* Minimal reset replacing the framework reset; no utility CSS dependency. */
*, *::before, *::after { box-sizing: border-box; border: 0 solid; }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; scroll-padding-top: 90px; }
body, h1, h2, h3, h4, p, ul, ol { margin: 0; }
h1, h2, h3, h4 { font-size: inherit; font-weight: inherit; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; padding: 0; }
img, svg { display: block; vertical-align: middle; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; color: inherit; }
button { background: transparent; }
button, [type="submit"] { cursor: pointer; }
textarea { resize: vertical; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
.band :focus-visible, .hero :focus-visible, .final-cta :focus-visible { outline-color: var(--white); }
.icon { flex: none; }
.skip-link { position: fixed; left: 12px; top: -100px; z-index: 100; padding: 10px 16px; color: var(--white); background: var(--ink); }
.skip-link:focus { top: 12px; }
.logo img { object-fit: contain; max-width: 140px; max-height: 44px; }
.no-script-nav { padding: 16px var(--page-gutter); display: flex; gap: 20px; flex-wrap: wrap; background: var(--white); }
@media (min-width: 901px) { .no-script-nav { display: none; } }
