:root {
    color-scheme: light;
    --background: #fff;
    --surface: #f5f5f7;
    --ink: #1d1d1f;
    --muted: #59595f;
    --accent: #0064c8;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: var(--ink);
    background: var(--background);
    line-height: 1.6;
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: var(--accent); text-underline-offset: .25em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; border-radius: 3px; }
.container { width: min(100% - 48px, 980px); margin-inline: auto; }
.skip-link { position: absolute; top: -100px; left: 16px; padding: 12px; background: white; z-index: 5; }
.skip-link:focus { top: 12px; }
.site-nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 20px; }
.brand { display: flex; align-items: center; gap: 12px; font-weight: 600; color: var(--ink); text-decoration: none; }
.brand img { width: 52px; height: 52px; object-fit: contain; }
.nav-links { display: flex; gap: 24px; align-items: center; }
.nav-links a { display: inline-flex; align-items: center; min-height: 44px; }
.intro { padding-block: 64px 48px; max-width: 760px; }
h1, h2 { letter-spacing: -.025em; line-height: 1.12; }
h1 { font-size: clamp(2.4rem, 5.5vw, 3.8rem); margin: 0 0 24px; font-weight: 650; }
h2 { font-size: clamp(1.85rem, 3.5vw, 2.7rem); margin: 0 0 22px; }
p { max-width: 64ch; }
.intro p { font-size: 1.2rem; color: var(--muted); margin: 0; }
.partner { display: grid; grid-template-columns: 300px 1fr; align-items: center; gap: 48px; padding: 48px; border-radius: 18px; background: var(--surface); }
.partner-logo { width: 100%; height: auto; border-radius: 50%; }
.location { margin: 0 0 12px; color: var(--muted); }
.description { margin: 0 0 20px; font-size: 1.06rem; }
address { font-style: normal; color: var(--muted); font-size: .95rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; margin-top: 24px; padding: 12px 24px; background: var(--accent); color: white; border-radius: 980px; text-decoration: none; font-weight: 500; }
.button:hover { background: #0055aa; }
.program { padding-block: 40px 64px; max-width: 760px; }
.program h2 { font-size: 1.25rem; letter-spacing: 0; margin-bottom: 12px; }
.program p { color: var(--muted); margin: 0; }
footer { padding-block: 28px; background: var(--surface); color: var(--muted); font-size: .9rem; }
footer p { margin: 0; }
@media (max-width: 700px) {
    .container { width: min(100% - 36px, 980px); }
    .site-nav { gap: 12px; flex-wrap: wrap; padding-block: 12px; }
    .brand { gap: 8px; }
    .brand img { width: 44px; height: 44px; }
    .nav-links { gap: 20px; }
    .intro { padding-block: 44px 32px; }
    .partner { grid-template-columns: 1fr; gap: 28px; padding: 28px; }
    .partner-logo { max-width: 210px; justify-self: center; }
    .program { padding-block: 32px 48px; }
}
