/* Halcyon · site.css — estilos compartidos: accesibilidad, banner de cookies, logo */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:12px;top:-60px;z-index:200;background:#fff;color:#0b1626;padding:12px 18px;border-radius:10px;font-weight:600;text-decoration:none;transition:top .2s}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #7ee0ff;outline-offset:3px;border-radius:6px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px}

/* Logo H */
.hm{display:inline-block;line-height:0;flex:none}
.hm .vivid{animation:hm-color 5s ease-in-out infinite}
@keyframes hm-color{0%,100%{opacity:0}35%,65%{opacity:1}}

/* Pausar animaciones (botón o preferencia del sistema) */
html.no-motion *,html.no-motion *::before,html.no-motion *::after{animation-play-state:paused!important;transition:none!important;scroll-behavior:auto!important}
html.no-motion .hm .vivid{animation:none!important;opacity:1}
html.no-motion #intro{display:none!important}
html.no-motion .reveal{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .hm .vivid{opacity:1}
}

/* Botón de texto en el pie */
.link-btn{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.link-btn:hover{color:#fff}

/* Banner de cookies */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:560px;margin-left:auto;padding:20px;border-radius:18px;
  background:rgba(14,26,46,.96);border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 60px rgba(0,0,0,.5);color:#f5f8fc;
  font-family:Inter,system-ui,sans-serif;font-size:14.5px;line-height:1.55}
@supports (backdrop-filter:blur(10px)){.cookie{background:rgba(14,26,46,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}}
.cookie[hidden]{display:none}
.cookie h2{font-family:"Space Grotesk",Inter,sans-serif;font-size:18px;margin:0 0 6px}
.cookie p{margin:0;color:#d5dde7}
.cookie a{color:#7ee0ff;text-underline-offset:3px}
.ck-prefs{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.ck-prefs[hidden]{display:none}
.ck-opt{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.ck-opt input{width:20px;height:20px;margin-top:2px;accent-color:#7837fd;flex:none}
.ck-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ck-btn{flex:1 1 auto;min-height:44px;padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff;font:600 14px Inter,system-ui,sans-serif;cursor:pointer}
.ck-btn:hover{background:rgba(255,255,255,.12)}
.ck-btn.primary{background:#5b2fd9;border-color:#5b2fd9}
.ck-btn.primary:hover{background:#4a22c4}
.ck-btn[hidden]{display:none}
@media (max-width:599px){.cookie{left:10px;right:10px;bottom:10px;padding:16px}.ck-btn{flex:1 1 45%}}
@media (forced-colors:active){.cookie,.ck-btn{border:1px solid CanvasText}}
