.wrap { max-inline-size: 1320px; margin-inline: auto; padding-inline: var(--pad); }
.section { padding-block: var(--sp-section); }
.section--blue { background: var(--blue); color: var(--snow); }
.section--alu { background: var(--alu); color: var(--snow); }
.section--paper { background: var(--paper); }
.screen-reader-text { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100001; inset-block-start: 12px; inset-inline-start: var(--pad); transform: translateY(-200%); background: var(--snow); color: var(--blue-deep); padding: 12px 20px; border-radius: 10px; min-block-size: 48px; }
.skip-link:focus { transform: none; }
#main { min-inline-size: 0; }
#main:focus { outline: none; }
[id] { scroll-margin-block-start: 110px; }
.page-head { background: var(--blue); color: var(--snow); padding-block: calc(var(--header-h) + var(--admin-bar-h) + clamp(48px,6vw,88px)) clamp(48px,6vw,88px); }
.page-head h1 { max-inline-size: 24ch; overflow-wrap: anywhere; }
.shead { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: 32px; align-items: end; margin-block-end: clamp(36px,5vw,64px); }
.shead h2 { font-size: var(--fs-h2); color: var(--alu); }
.shead p { max-inline-size: 52ch; color: var(--alu-2); }
.section--blue .shead h2, .section--alu .shead h2 { color: var(--snow); }
.section--blue .shead p, .section--alu .shead p { color: var(--snow); opacity: .85; }
.rv { opacity: 1; translate: 0 0; }
.rz-reveals .rv { opacity: 0; translate: 0 26px; transition: opacity .9s var(--ease), translate 1s var(--ease); }
.rz-reveals .rv.in { opacity: 1; translate: 0 0; }
.error-page { position: relative; isolation: isolate; overflow: hidden; background: var(--blue); color: var(--snow); min-block-size: 75svh; padding-block: calc(var(--header-h) + var(--admin-bar-h) + 70px) 100px; }
.error-page__mark { position: absolute; z-index: -1; inset-inline-end: -12%; inset-block-end: -20%; inline-size: min(70vw,780px); opacity: .09; pointer-events: none; }
.error-page__code { font-size: clamp(70px,12vw,160px); font-weight: 800; line-height: 1; margin-block-end: 24px; }
.error-page p:not(.error-page__code) { max-inline-size: 52ch; margin-block: 24px 32px; }
@media (max-width: 1080px) { .shead { grid-template-columns: minmax(0,1fr); } }
@media (prefers-reduced-motion: reduce) { .rz-reveals .rv { opacity: 1; translate: none; transition: none; } }
