/* Shared accessibility and interaction safeguards. Page-specific artwork and
   layout remain in their existing stylesheets. */
.gd-skip-link{
  position:fixed;left:12px;top:10px;z-index:100000;
  padding:11px 16px;border:2px solid #8fff2e;border-radius:10px;
  background:#070a07;color:#f4f0df;font:700 1rem/1.2 system-ui,sans-serif;
  transform:translateY(-160%);transition:transform .15s ease;
}
.gd-skip-link:focus{transform:translateY(0)}
.gd-sr-only{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}

:where(button,a,input,select,textarea,summary,[role="button"],[tabindex]):focus-visible{
  outline:3px solid #8fff2e!important;
  outline-offset:3px!important;
}

@media (pointer:coarse){
  :where(button,[role="button"],summary){touch-action:manipulation}
  :where(input,select,textarea){font-size:16px!important}

  /* Keep the visual dot small while giving it a reliable finger-sized target. */
  :where(.cf-dot,.dc-dot,.lp2-or-dot,.carousel-dot,.slide-dot){
    position:relative;isolation:isolate;
  }
  :where(.cf-dot,.dc-dot,.lp2-or-dot,.carousel-dot,.slide-dot)::after{
    content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;
    transform:translate(-50%,-50%);border-radius:50%;
  }

  :where(.gd-index-tab,.gd-index-action,.gd-menu-row,.view-toggle,.filter-chip){
    min-height:44px;
  }
}

@media (prefers-reduced-motion:reduce){
  .gd-skip-link{transition:none}
}
