/* Only the Home actions requested by the client. Keep links and editor-owned
   frames intact; the inner label rolls without duplicating accessible text. */
body.home-floating-nav #main a[data-home-cta]{
  --home-cta-border:rgba(var(--ink-rgb),.3);
  box-sizing:border-box;position:relative;align-items:center;justify-content:center;
  gap:16px;min-height:46px;max-width:100%;width:fit-content;padding:12px 20px;
  border:1px solid var(--home-cta-border);border-bottom-color:var(--home-cta-border)!important;
  border-radius:8px;background:transparent;color:var(--ink);text-decoration:none!important;
  line-height:1.3;white-space:normal;text-align:center;
  transition:background-color .22s ease,color .22s ease,border-color .22s ease;
}
/* Read-more stays hidden on small screens as in the existing News layout. */
body.home-floating-nav #main a[data-home-cta]:not(.news-view-link){display:inline-flex}
body.home-floating-nav #main a[data-home-cta]::after{content:none!important;animation:none!important}
body.home-floating-nav #main a[data-home-cta] .home-cta-window,
body.home-floating-nav #main a[data-home-cta] .home-cta-label{
  min-width:0;font:inherit;letter-spacing:inherit;color:inherit;
  transform:none;transition:none;
}
body.home-floating-nav #main a[data-home-cta] .home-cta-window{
  display:block;flex:0 1 auto;overflow:hidden;overflow-wrap:anywhere;
}
body.home-floating-nav #main a[data-home-cta] .home-cta-label{display:block}
body.home-floating-nav #main a[data-home-cta]>[aria-hidden="true"]{
  display:block;flex:0 0 auto;font-size:1.25em;line-height:1;color:inherit;transform:none;
}
/* A white resting surface contrasts with the blue upcoming-event card. */
body.home-floating-nav #main a[data-home-cta]:where(#upcoming-wpd-details){
  --home-cta-border:rgba(255,255,255,.8);background:#fff;color:var(--ink);
}
body.home-floating-nav #main a[data-home-cta]:focus-visible{
  outline:2px solid var(--copper);outline-offset:4px;
}
body.home-floating-nav #main a[data-home-cta]:is(:focus-visible,[data-spa-button-hover-preview]){
  background:var(--copper);color:#fff;border-color:var(--copper);border-bottom-color:var(--copper)!important;
}
body.home-floating-nav #main a[data-home-cta]:is(:focus-visible,[data-spa-button-hover-preview]) :is(.home-cta-label,[aria-hidden="true"]){color:#fff!important}
@media(hover:hover) and (pointer:fine){
  body.home-floating-nav #main a[data-home-cta]:hover{
    background:var(--copper);color:#fff;border-color:var(--copper);border-bottom-color:var(--copper)!important;
  }
  body.home-floating-nav #main a[data-home-cta]:hover :is(.home-cta-label,[aria-hidden="true"]){color:#fff!important}
}
/* Keep a white edge on the already-blue card, including during blue hover. */
body.home-floating-nav #main #upcoming-wpd-details[data-home-cta]:is(:hover,:focus-visible,[data-spa-button-hover-preview]){border-color:#fff;border-bottom-color:#fff!important}
body.home-floating-nav #main #upcoming-wpd-details[data-home-cta]:focus-visible{outline-color:#fff}
@media(prefers-reduced-motion:no-preference){
  body.home-floating-nav #main a[data-home-cta]:is(:focus-visible,[data-spa-button-hover-preview]) .home-cta-label{animation:spa-cta-label-roll .55s cubic-bezier(.22,1,.36,1)}
  @media(hover:hover) and (pointer:fine){
    body.home-floating-nav #main a[data-home-cta]:hover .home-cta-label{animation:spa-cta-label-roll .55s cubic-bezier(.22,1,.36,1)}
  }
  @keyframes spa-cta-label-roll{
    0%{transform:translateY(0);opacity:1}
    44%{transform:translateY(-125%);opacity:1}
    45%{transform:translateY(-125%);opacity:0}
    54%{transform:translateY(125%);opacity:0}
    55%{transform:translateY(125%);opacity:1}
    100%{transform:translateY(0);opacity:1}
  }
}
@media(prefers-reduced-motion:reduce){
  body.home-floating-nav #main a[data-home-cta]{transition:none}
  body.home-floating-nav #main a[data-home-cta] .home-cta-label{animation:none;transform:none}
}
