:root { color-scheme: light; font-family: "Segoe UI", "Nirmala UI", Tahoma, Arial, sans-serif; color: #20344c; background: #f2f6fb; }
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.7; }
a { color: #155a97; text-underline-offset: .2em; overflow-wrap: anywhere; }
a:focus-visible, summary:focus-visible { outline: 3px solid #2371b4; outline-offset: 4px; border-radius: 3px; }
.skip { position: absolute; inset-inline-start: 1rem; top: -5rem; padding: .5rem 1rem; background: white; z-index: 2; }
.skip:focus { top: .5rem; }
header { background: #20374f; color: #f4f8ff; padding: 2.5rem max(1.25rem, calc((100% - 940px) / 2)); }
.brand { font-size: 1.8rem; font-weight: 700; letter-spacing: .04em; }
.brand a { color: inherit; text-decoration: none; }
header p { margin: .35rem 0 0; opacity: .88; }
main, footer { max-width: 980px; margin: auto; padding: 1.5rem 1.25rem; }
nav { display: flex; flex-wrap: wrap; gap: .4rem .8rem; margin-block: .5rem 1.5rem; }
.languages { padding: 1rem 1.25rem; border: 1px solid #cbd8e6; border-radius: 12px; background: white; }
.languages span { flex-basis: 100%; font-weight: 600; }
.languages a { padding: .15rem .3rem; }
.languages a[aria-current="page"] { color: #20344c; font-weight: 700; background: #e5effa; border-radius: 4px; }
h1 { font-size: clamp(1.65rem, 4vw, 2.25rem); line-height: 1.3; margin-block: 1.75rem 1rem; overflow-wrap: anywhere; }
h2 { font-size: 1.25rem; line-height: 1.5; margin-block: 1.75rem .75rem; overflow-wrap: anywhere; }
h3 { font-size: 1.1rem; line-height: 1.5; margin-block: 1.5rem .5rem; overflow-wrap: anywhere; }
.availability { border-inline-start: 4px solid #68a5df; background: #e5eff9; padding: 1rem 1.25rem; border-radius: 4px; }
details { margin-block: .8rem; border: 1px solid #cbd8e6; border-radius: 12px; background: white; padding: 1rem 1.25rem; }
summary { cursor: pointer; font-size: 1.05rem; font-weight: 600; overflow-wrap: anywhere; }
details p { margin-block: .75rem .1rem; }
article { padding: 1.25rem 1.5rem; margin-block: 1.25rem; background: white; border: 1px solid #cbd8e6; border-radius: 12px; }
p { overflow-wrap: anywhere; }
footer { border-block-start: 1px solid #cbd8e6; color: #53677d; }
footer nav { margin-block: 0 .5rem; }
@media (max-width: 420px) { header { padding: 1.75rem 1.25rem; } article, details { padding: 1rem; } main { padding-inline: .9rem; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto; } }
