/* Global rules and keyframes shared by every page of the new design (merged from the prototypes' <style> blocks). */
html{scroll-behavior:smooth}
body{margin:0;background:#fff;font-family:var(--font-sans);color:var(--fg-primary);-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}
a{color:var(--gds-blue);text-decoration:none}
a:hover{text-decoration:underline;color:var(--gds-navy-deep)}
img{display:block;max-width:100%}
/* Keyboard focus (WCAG 2.4.7): many controls use inline all:unset, which drops the browser outline; !important beats it.
   #2F7BFF keeps >= 3:1 against both white (3.9:1) and the dark navy sections #111F3D/#08122A (4.2:1/4.8:1).
   :focus-visible only, so mouse clicks show nothing. */
:focus-visible{outline:2px solid #2F7BFF !important;outline-offset:2px !important}

@keyframes gdsProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes gdsGrow{from{width:0}to{width:100%}}
@keyframes gdsUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes gdsLight{from{opacity:.3}to{opacity:1}}
@keyframes gdsMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes gdsS1{0%,3%{opacity:0;transform:translateY(6px)}9%,90%{opacity:1;transform:none}96%,100%{opacity:0}}
@keyframes gdsS2{0%,20%{opacity:0;transform:translateY(6px)}26%,90%{opacity:1;transform:none}96%,100%{opacity:0}}
@keyframes gdsS3{0%,40%{opacity:0;transform:translateY(6px)}46%,90%{opacity:1;transform:none}96%,100%{opacity:0}}
@keyframes gdsS4{0%,58%{opacity:0;transform:translateY(6px)}64%,90%{opacity:1;transform:none}96%,100%{opacity:0}}
@keyframes gdsT{0%,18%{opacity:0}22%,38%{opacity:1}42%,100%{opacity:0}}
@keyframes gdsDot{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes gdsBar{0%,4%{transform:scaleY(0)}18%,90%{transform:scaleY(1)}98%,100%{transform:scaleY(0)}}
@keyframes gdsLine2{0%,20%{transform:scaleX(0)}34%,90%{transform:scaleX(1)}98%,100%{transform:scaleX(0)}}
@keyframes gdsLine3{0%,34%{transform:scaleX(0)}48%,90%{transform:scaleX(1)}98%,100%{transform:scaleX(0)}}
@keyframes gdsLine4{0%,48%{transform:scaleX(0)}58%,90%{transform:scaleX(1)}98%,100%{transform:scaleX(0)}}
@keyframes gdsCell{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes gdsPick{0%,16%{background:#fff;border-color:var(--border-default)}20%,90%{background:var(--gds-blue-50);border-color:var(--gds-blue)}96%,100%{background:#fff}}
@keyframes gdsPickI{0%,16%{background:#E9E8E8;border-color:#C9CCCC}20%,90%{background:#DCE9FF;border-color:#0A66FF}96%,100%{background:#E9E8E8}}
@keyframes gdsOut{to{opacity:0;visibility:hidden}}
@keyframes gdsPickG{to{border-color:#1EB4F0;background:#EEF9FE}}
@keyframes gdsSpin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes gdsStepHi{0%{background:#111F3D;color:#F2C300;border-color:#111F3D;transform:scale(1);box-shadow:0 0 0 0 rgba(242,195,0,0)}4%{transform:scale(1.18);box-shadow:0 0 0 8px rgba(242,195,0,0.18)}9%{transform:scale(1.06)}14%{transform:scale(1.12);box-shadow:0 0 0 5px rgba(242,195,0,0.12)}18%{background:#111F3D;color:#F2C300;border-color:#111F3D;transform:scale(1.06);box-shadow:0 0 0 0 rgba(242,195,0,0)}22%,100%{background:#fff;color:#111F3D;border-color:#CFD3DA;transform:none;box-shadow:none}}
@keyframes gdsRipple{0%{transform:scale(1);opacity:0.9}14%{transform:scale(2);opacity:0}100%{transform:scale(2);opacity:0}}
@keyframes gdsFill{0%{transform:scaleX(0);opacity:1}80%{transform:scaleX(1);opacity:1}94%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
@keyframes gdsSeg0{0%,0.00%{transform:scaleY(0);opacity:1}14.29%,94%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
@keyframes gdsSeg1{0%,14.29%{transform:scaleY(0);opacity:1}28.57%,94%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
@keyframes gdsSeg2{0%,28.57%{transform:scaleY(0);opacity:1}42.86%,94%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
@keyframes gdsSeg3{0%,42.86%{transform:scaleY(0);opacity:1}57.14%,94%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
@keyframes gdsSeg4{0%,57.14%{transform:scaleY(0);opacity:1}71.43%,94%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
@keyframes gdsSeg5{0%,71.43%{transform:scaleY(0);opacity:1}85.71%,94%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
@keyframes gdsPop{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes gdsVc{0%{left:50%;top:15%;opacity:0;transform:translate(-50%,-50%) scale(.6)}6%{left:50%;top:15%;opacity:1;transform:translate(-50%,-50%) scale(1)}30%,44%{left:17%;top:76%;opacity:1;transform:translate(-50%,-50%)}68%,92%{left:83%;top:76%;opacity:1;transform:translate(-50%,-50%)}100%{left:83%;top:76%;opacity:0;transform:translate(-50%,-50%) scale(.6)}}
@keyframes gdsVok{0%,66%{box-shadow:0 0 0 0 rgba(242,195,0,0);background:#111F3D}72%,90%{box-shadow:0 0 0 10px rgba(242,195,0,0.18);background:#1A49AF}100%{box-shadow:0 0 0 0 rgba(242,195,0,0);background:#111F3D}}
@keyframes gdsVokTag{0%,68%{opacity:0;transform:translate(-50%,4px)}74%,92%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}
@keyframes gdsFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes gdsRot{to{transform:rotate(360deg)}}
@keyframes gdsPulse{0%,100%{opacity:.35}50%{opacity:1}}
