
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100}
.skip-link:focus{left:1rem;top:1rem}
#main:focus{outline:none}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
details>summary{list-style:none;cursor:pointer}
details>summary::-webkit-details-marker{display:none}
.faq-mark{flex:none;width:1.25rem;height:1.25rem;position:relative}
.faq-mark::before,.faq-mark::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:currentColor;transform:translate(-50%,-50%);transition:transform .25s}
.faq-mark::after{transform:translate(-50%,-50%) rotate(90deg)}
details[open] .faq-mark::after{transform:translate(-50%,-50%) rotate(0)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:6rem}

:root{--accent:#14315C;--focus:#1D4E89;--focus-hero:#FFFFFF;--onband:#FFFFFF}
html{color-scheme:light}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.zone-hero :focus-visible{outline-color:var(--focus-hero)}
.zone-band :focus-visible{outline-color:var(--onband)}
.skip-link{background:#14315C;color:#FFFFFF;padding:.75rem 1.25rem;font-weight:700;text-transform:uppercase}
.ph{display:inline-block;border:1.5px dashed currentColor;padding:.35rem .7rem;font-size:.92em;background:rgba(127,127,127,.08)}
.angle-b{clip-path:polygon(0 0,100% 0,100% calc(100% - 5vw),0 100%)}
.angle-t{clip-path:polygon(0 5vw,100% 0,100% 100%,0 100%)}
.angle-both{clip-path:polygon(0 5vw,100% 0,100% calc(100% - 5vw),0 100%)}
.outline-text{color:transparent;-webkit-text-stroke:2px var(--accent)}
.zone-hero .outline-text{-webkit-text-stroke-color:var(--focus-hero)}
.giant{font-size:clamp(9rem,30vw,22rem);line-height:.8}
@keyframes pulse-dot{0%{box-shadow:0 0 0 0 #FFFFFFb3}70%{box-shadow:0 0 0 14px #FFFFFF00}100%{box-shadow:0 0 0 0 #FFFFFF00}}
.live-dot{width:.7rem;height:.7rem;border-radius:999px;background:#FFFFFF;animation:pulse-dot 1.8s infinite}
.scan{background-image:linear-gradient(rgba(15,34,64,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(15,34,64,.06) 1px,transparent 1px);background-size:44px 44px}
h1,h2,h3{text-wrap:balance}
dialog::backdrop{background:rgba(0,0,0,.6)}
