/* Shared desktop dropdown behavior: all destinations remain crawlable HTML. */
@media (min-width: 961px) {
  .nav-dropdown { position: relative; }
  .nav-dropdown > .nav-panel {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    width: 19rem;
    max-height: min(75vh, 36rem);
    overflow: auto;
    grid-template-columns: 1fr;
    gap: .12rem;
    padding: .55rem;
    border: 1px solid #2a3a52;
    border-radius: 1rem;
    background: #0d1523;
    box-shadow: 0 18px 46px #0009;
    z-index: 60;
  }
  .nav-dropdown:hover > .nav-panel,
  .nav-dropdown:focus-within > .nav-panel,
  .nav-dropdown[open] > .nav-panel { display: grid; }
  .nav-dropdown > .nav-panel a { display: block; line-height: 1.35; }
}

/* Consistent cookie banner and settings dialog on every page. */
.cookie-banner {
  position: fixed; left: 50%; bottom: 1rem; transform: translateX(-50%);
  width: min(72rem, calc(100vw - 2rem)); display: grid;
  grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1.2rem;
  padding: 1.2rem 1.4rem; border: 1px solid #304158; border-radius: 1rem;
  background: #101827; color: #f2f6fc; box-shadow: 0 18px 48px #000b; z-index: 100;
}
.cookie-banner-copy { max-width: 48rem; }
.cookie-banner h2 { font-size: 1.05rem; margin: 0 0 .4rem; line-height: 1.25; }
.cookie-banner p { color: #aab8cc; font-size: .86rem; line-height: 1.45; margin: .35rem 0 0; }
.cookie-banner-copy a { color: #71dde1; }
.cookie-banner-actions { display: flex; gap: .55rem; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.cookie-banner button {
  white-space: nowrap; border: 1px solid #304158; border-radius: .6rem;
  padding: .65rem .8rem; background: #172438; color: #f2f6fc;
  font: inherit; font-size: .88rem; font-weight: 750; cursor: pointer;
}
.cookie-banner button[data-action="accept"] { background: #71dde1; color: #07111f; border-color: #71dde1; }
.cookie-banner button[data-action="settings"] { background: transparent; color: #d8e6f6; }
.cookie-banner button:hover, .cookie-preferences-actions button:hover { filter: brightness(1.12); }
.cookie-preferences {
  width: min(34rem, calc(100vw - 2rem)); max-width: none;
  max-height: calc(100dvh - 2rem); padding: 1.5rem;
  border: 1px solid #304158; border-radius: 1rem; background: #101827;
  color: #f2f6fc; box-shadow: 0 24px 80px #000b;
}
.cookie-preferences::backdrop { background: #020610b8; backdrop-filter: blur(3px); }
.cookie-preferences h2 { margin: 0 0 .5rem; font-size: 1.4rem; line-height: 1.2; }
.cookie-preferences > p { color: #aab8cc; margin: .4rem 0 1rem; }
.cookie-category { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-top: 1px solid #26354a; }
.cookie-category strong, .cookie-category small { display: block; }
.cookie-category small { color: #aab8cc; margin-top: .15rem; }
.cookie-category input { accent-color: #71dde1; width: 1.1rem; height: 1.1rem; }
.cookie-preferences-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.cookie-preferences-actions button {
  border: 1px solid #304158; border-radius: 999px; background: #172438;
  color: #f2f6fc; padding: .7rem 1rem; font: inherit; font-weight: 750; cursor: pointer;
}
.cookie-preferences-actions button[data-action="save"] { background: #71dde1; color: #07111f; border-color: #71dde1; }
.cookie-settings-link { border: 0; background: transparent; color: #aab8cc; font: inherit; padding: .24rem 0; cursor: pointer; }
.cookie-settings-link:hover { color: #5de1e6; }
@media (max-width: 760px) {
  .cookie-banner { grid-template-columns: 1fr; gap: .65rem; padding: 1rem; }
  .cookie-banner-actions { justify-content: flex-start; }
  .cookie-banner button { flex: 1 1 auto; }
}
