:focus-visible {
  outline:3px solid #d6b15a!important;
  outline-offset:3px!important
}
.cookie-banner {
  position:fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:100000;
  display:none;
  max-width:980px;
  margin:auto;
  padding:20px;
  border:1px solid rgba(214,177,90,.45);
  border-radius:20px;
  background:rgba(12,12,12,.97);
  color:#f7ead6;
  box-shadow:0 20px 70px rgba(0,0,0,.45);
  font-family:Arial,sans-serif
}
.cookie-banner.show {
  display:block
}
.cookie-banner h2 {
  margin:0 0 7px;
  font-size:20px;
  color:#f0d4a3
}
.cookie-banner p {
  margin:0 0 14px;
  color:#c9c0b5;
  font-size:14px;
  line-height:1.55
}
.cookie-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap
}
.cookie-actions button,.cookie-actions a {
  font:600 13px Arial,sans-serif;
  padding:10px 15px;
  border-radius:999px;
  border:1px solid rgba(214,177,90,.45);
  background:#181512;
  color:#f0d4a3;
  text-decoration:none;
  cursor:pointer
}
.cookie-actions .accept {
  background:linear-gradient(135deg,#d6b15a,#9d7431);
  color:#120e08;
  border-color:#d6b15a
}
.cookie-actions .reject {
  background:#111;
  color:#f3eadf
}
.cookie-actions a {
  display:inline-flex;
  align-items:center
}
/* Targeted light theme for legal pages only. */
.legal-page {
  background:#fff8f7;
  color:#2b2026;
  min-height:100vh
}
.legal-shell {
  max-width:1000px;
  margin:0 auto;
  padding:100px 22px 80px
}
.legal-card {
  background:linear-gradient(145deg,#fffaf8,#f8e9ef);
  border:1px solid rgba(183,128,151,.30);
  border-radius:28px;
  padding:clamp(24px,5vw,55px);
  box-shadow:0 30px 90px rgba(100,55,75,.12)
}
.legal-back {
  display:inline-flex;
  margin-bottom:28px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(160,102,128,.35);
  color:#5b3a49;
  text-decoration:none;
  background:rgba(255,255,255,.72)
}
.legal-kicker {
  font:700 11px Arial,sans-serif;
  letter-spacing:3px;
  color:#8b5270
}
.legal-card h1 {
  font-size:clamp(44px,7vw,78px);
  font-weight:600;
  color:#2a1c23;
  margin:12px 0 10px
}
.legal-card h2 {
  font-size:28px;
  color:#3b2631;
  margin:35px 0 10px
}
.legal-card h3 {
  font-size:20px;
  color:#3b2631;
  margin:24px 0 8px
}
.legal-card p,.legal-card li {
  font:16px/1.75 Arial,sans-serif;
  color:#44343c
}
.legal-card ul {
  padding-left:22px
}
.legal-card a {
  color:#70465b;
  font-weight:600
}
.legal-meta {
  font:13px Arial,sans-serif;
  color:#6c5861
}
.legal-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:20px
}
.legal-tile {
  padding:18px;
  border:1px solid rgba(183,128,151,.22);
  border-radius:16px;
  background:rgba(255,255,255,.55)
}
.leo-legal-links {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
  align-items:center
}
.leo-legal-links a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 13px;
  border-radius:999px;
  border:1px solid rgba(177,139,70,.32);
  background:rgba(255,255,255,.42);
  color:#765a31!important;
  text-decoration:none;
  font:600 12px/1.2 Arial,sans-serif
}
.leo-legal-links a:hover {
  border-color:#b18b46;
  background:#fff8e8
}
.leo-footer-highlight .leo-privacy-btn {
  margin:0!important
}
@media(max-width:650px) {
  .legal-grid {
    grid-template-columns:1fr
  }
  .legal-shell {
    padding-top:90px
  }
  .cookie-banner {
    left:10px;
    right:10px;
    bottom:10px
  }
  .cookie-actions>* {
    flex:1 1 130px;
    text-align:center;
    justify-content:center
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important
  }
}
