/* ------------------------------------------------------------------
   Cookie consent banner. Brand navy, bottom of viewport, equal-weight
   Accept / Decline so consent is a free choice (GDPR). Hidden until the
   JS adds .is-open, so it never flashes for visitors who already chose.
   ------------------------------------------------------------------ */
.ks-consent{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:200;
  max-width:720px; margin:0 auto;
  display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px;
  background:#1B2740; color:#F1F5FB;
  border:1px solid rgba(241,245,251,.14); border-radius:14px;
  padding:18px 20px;
  box-shadow:0 18px 48px rgba(10,16,30,.38);
  font-family:'Montserrat',system-ui,sans-serif;
  transform:translateY(130%); opacity:0;
  transition:transform .32s cubic-bezier(.22,.61,.36,1), opacity .32s ease;
}
.ks-consent.is-open{ transform:translateY(0); opacity:1; }
.ks-consent__text{
  flex:1 1 320px; margin:0;
  font-size:.86rem; line-height:1.5; color:#D7DEEB;
}
.ks-consent__text a{ color:#8FB9E8; text-decoration:underline; }
.ks-consent__text a:hover{ color:#F1F5FB; }
.ks-consent__actions{ display:flex; gap:10px; flex:0 0 auto; margin-left:auto; }
.ks-consent__btn{
  font:inherit; font-size:.8rem; font-weight:600; letter-spacing:.02em;
  padding:10px 20px; border-radius:999px; cursor:pointer;
  border:1px solid transparent; transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.ks-consent__btn--primary{ background:#8FB9E8; color:#13203A; }
.ks-consent__btn--primary:hover{ background:#F1F5FB; }
.ks-consent__btn--ghost{ background:transparent; color:#F1F5FB; border-color:rgba(241,245,251,.45); }
.ks-consent__btn--ghost:hover{ background:rgba(241,245,251,.12); }

@media (max-width:520px){
  .ks-consent{ padding:16px; }
  .ks-consent__actions{ width:100%; margin-left:0; }
  .ks-consent__btn{ flex:1 1 auto; text-align:center; }
}
@media (prefers-reduced-motion:reduce){
  .ks-consent{ transition:opacity .2s ease; transform:none; }
}
