/* announcement.css (v13): Typography variables, senior boost, font scale memory */
.topbar-ann{
  position:sticky;top:0;z-index:10000;width:100%;
  background:var(--ann-bg,#0ea5e9);color:var(--ann-fg,#fff);
  /* Font size & line-height via clamp + user scale + senior boost */
  --ann-fmin:14px; --ann-fmax:18px; --ann-lmin:1.35; --ann-lmax:1.5;
  --ann-scale:1; --ann-senior-boost:0px;
  font-weight:500;
  font-size: calc(clamp(var(--ann-fmin), 1.2vw, var(--ann-fmax)) * var(--ann-scale) + var(--ann-senior-boost));
  line-height: clamp(var(--ann-lmin), 2.2vw, var(--ann-lmax));
  letter-spacing:.2px;
  /* Vertical padding via clamp */
  --ann-pmin:6px; --ann-pmax:10px;
  padding: clamp(var(--ann-pmin), 1vw, var(--ann-pmax)) 0;
  overflow:hidden; opacity:1; visibility:visible; transform:translateY(0);
  transition:opacity .35s ease, transform .35s ease, visibility .35s ease
}
.topbar-ann.topbar-is-hidden{opacity:0;visibility:hidden;transform:translateY(-10px);padding-top:0;padding-bottom:0;border:0;height:0;pointer-events:none}
.topbar-ann.topbar-show{animation:bannerFadeSlide .35s ease both}
@keyframes bannerFadeSlide{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
.topbar-inner{max-width:100%;margin:0 auto;padding:0 10px}
.ann-rotator{position:relative;min-height:1.8em}
.ann-item{position:absolute;inset:0;opacity:1}
.topbar-row{display:flex;align-items:center;gap:10px;white-space:nowrap}
.topbar-row.center{justify-content:center}
.topbar-text{display:flex;gap:48px}
.topbar-text-static{justify-content:center;text-align:center;align-items:center;animation:none}
.topbar-text-slide-down{animation:slideDown .6s ease both}
.topbar-text-slide-up{animation:slideUp .6s ease both}
.topbar-text-scroll{animation:ann-scroll var(--ann-duration,24s) linear infinite; transform:translateZ(0)}
.topbar-text-scroll>span{padding-left:100vw}
@keyframes slideDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes slideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes ann-scroll{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-100%,0,0)}}
.topbar-cta{display:inline-block;margin-left:14px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);color:currentColor;text-decoration:none;border:1px solid rgba(255,255,255,.25)}
.topbar-cta:hover{background:rgba(255,255,255,.18)}
/* respects prefers-reduced-motion; plus bonus: class ann-senior adds the boost already */
@media (prefers-reduced-motion:reduce){
  .topbar-text-slide-down, .topbar-text-slide-up, .topbar-text-scroll{animation:none}
}
@media (max-width:767.98px){
  .topbar-text{gap:24px}
}
