:root { color-scheme: light; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #242b46; background: #f7f5fc; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(ellipse at 0 0, #e7e0fa, transparent 65%), radial-gradient(ellipse at 100% 90%, #dff4f2, transparent 65%); }
main { max-width: 48rem; margin: 0 auto; padding: 4.5rem 1.5rem 3rem; }
.eyebrow, .label { font-size: .8rem; font-weight: 750; letter-spacing: .13em; color: #5b477c; }
h1 { font-size: clamp(2.2rem, 7vw, 3.5rem); line-height: 1.12; letter-spacing: -.035em; margin: .8rem 0 2rem; }
h2 { font-size: 1.4rem; line-height: 1.35; margin: .5rem 0 1rem; }
p { line-height: 1.7; }
section { padding: 1.6rem; margin: 1.25rem 0; border: 1px solid #fff; border-radius: 1.5rem; background: #ffffffbf; box-shadow: 0 8px 36px #34315108; }
.contact { display: inline-block; color: #483476; font-weight: 650; padding: .65rem 0; overflow-wrap: anywhere; text-underline-offset: .22em; }
a:focus-visible { outline: 3px solid #5b477c; outline-offset: 5px; border-radius: 2px; }
.note, footer { font-size: .9rem; line-height: 1.6; color: #555d70; }
footer { padding: 1rem .2rem; }
nav { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin: 1.5rem 0; }
nav a { padding: .45rem 0; }
a { color: #483476; text-underline-offset: .22em; overflow-wrap: anywhere; }
address { font-style: normal; line-height: 1.7; }
li { line-height: 1.7; margin-bottom: .75rem; }
ul { padding-left: 1.25rem; }
.updated { font-size: .9rem; color: #555d70; }
html { scroll-padding-top: 1rem; }
@media print { body { background: white; } main { max-width: none; padding: 0; } section { box-shadow: none; border: 0; padding: .5rem 0; } nav { display: none; } h2 { break-after: avoid; } address { break-inside: avoid; } }
@media (max-width: 400px) { main { padding: 2rem 1rem; } section { padding: 1.2rem; } }
