@font-face { font-family: 'STIX Two Text'; src: url('/assets/berkeley-stix-two-text.d1ff10c618.woff') format('woff'); font-style: normal; font-weight: 400 700; font-display: swap; }
:root { --ground: #eaf0f8; --paper: #ffffff; --ink: #203149; --blue: #294e87; --blue-deep: #23436f; --muted: #4b5e75; --line: #ccd7e7; --wash: #e0e9f6; --soft: #f3f6fb; --display: 'Lora', 'STIX Two Text', Georgia, serif; --body: 'STIX Two Text', Georgia, serif; }
* { box-sizing: border-box; }
html { font-size: 100%; scroll-padding-top: 1.5rem; }
body { margin: 0; background: var(--ground); color: var(--ink); font: 1.1875rem/1.57 var(--body); }
body, input { -webkit-text-size-adjust: 100%; }
h1, h2, h3, p, ul, ol, figure { margin: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 600; }
h1 { font-size: clamp(2.5rem, 4.1vw, 3.75rem); line-height: 1.12; letter-spacing: -.025em; text-wrap: balance; }
h2, .c-section__heading { font-size: clamp(1.65rem, 2.3vw, 2.1rem); line-height: 1.25; letter-spacing: -.012em; }
h3 { font-size: 1.35rem; line-height: 1.3; }
p, li { max-width: 68ch; }
a { color: var(--blue-deep); text-decoration-thickness: .07em; text-underline-offset: .2em; }
a:hover { color: #122d54; text-decoration-thickness: .13em; }
a:focus-visible, input:focus-visible, label:has(input:focus-visible) { outline: 3px solid #775314; outline-offset: 5px; }
img { display: block; max-width: 100%; height: auto; color: var(--muted); font: 1rem/1.5 var(--body); }
button, input, label, a { -webkit-tap-highlight-color: #ccd9ee; }
strong { font-weight: 700; }
.c-skip { position: fixed; z-index: 5; top: .75rem; left: 1rem; transform: translateY(-180%); background: white; padding: .65rem 1rem; min-height: 44px; }
.c-skip:focus { transform: none; }
.c-shell { width: min(1160px, calc(100% - 5rem)); margin-inline: auto; }
.c-link { display: inline-flex; align-items: center; min-height: 46px; padding-block: .5rem; gap: .75rem; }
.c-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: .7rem 1.35rem; border-radius: 999px; background: var(--blue); color: white; text-decoration: none; font-size: 1.125rem; }
.c-button:hover { background: var(--blue-deep); color: white; }
.c-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 1.5rem; }
@media (max-width: 650px) { body { font-size: 1.125rem; } .c-shell { width: calc(100% - 2rem); } h1 { font-size: 2.45rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
