*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--ic-paper); color: var(--ic-ink); font-family: var(--ic-sans); font-size: 1rem; line-height: 1.65; overflow-wrap: break-word; }
img { display: block; max-width: 100%; height: auto; }
figure { margin: 0; }
a { color: var(--ic-blue); text-underline-offset: .2em; }
a:hover { color: var(--ic-blue-dark); }
button, input, textarea, select { font: inherit; }
button, .button, input[type="submit"] { cursor: pointer; border: 1px solid var(--ic-blue); border-radius: var(--ic-radius); background: var(--ic-blue); color: var(--ic-paper); padding: .65rem 1.1rem; font-weight: 650; text-decoration: none; }
button:hover, .button:hover, input[type="submit"]:hover { background: var(--ic-blue-dark); color: var(--ic-paper); }
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), textarea, select { max-width: 100%; min-width: 0; padding: .65rem .8rem; border: 1px solid var(--ic-control-border); border-radius: var(--ic-radius); color: var(--ic-ink); background: var(--ic-paper); }
textarea { width: 100%; }
:focus-visible { outline: 3px solid var(--ic-focus); outline-offset: 4px; }
h1, h2, h3, h4, h5, h6 { line-height: 1.15; text-wrap: balance; }
h1, h2, h3 { font-family: var(--ic-serif); font-weight: 400; }
h1 { font-size: clamp(2.25rem, 4.5vw, 4rem); letter-spacing: -.035em; margin: .3em 0 .5em; }
h2 { font-size: clamp(1.65rem, 3vw, 2.25rem); }
h3 { font-size: 1.5rem; }
p { margin: 0 0 1.25em; }
[hidden] { display: none; }
.screen-reader-text { clip-path: inset(50%); height: 1px; width: 1px; overflow: hidden; position: absolute; white-space: nowrap; }
.skip-link:focus { clip-path: none; width: auto; height: auto; top: 1rem; left: 1rem; padding: 1rem; z-index: 100; background: var(--ic-paper); box-shadow: var(--ic-shadow); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto; transition-duration: 0s; animation-duration: 0s; } }
