html { scroll-behavior: smooth; }
body { font-family: Arial, sans-serif; }
[hidden] { display: none !important; }
.legal-links a, .legal-links button { color: #fff; text-decoration: underline; }
.legal-links button { background: transparent; border: 0; cursor: pointer; font: inherit; padding: .5rem; }
.cookie-banner { position: fixed; bottom: 1rem; left: 1rem; right: 1rem; max-width: 680px; margin: auto; padding: 1.5rem; padding-right: 3rem; background: #fff; color: #172a30; border: 2px solid #168a8a; border-radius: .5rem; box-shadow: 0 8px 32px #0004; z-index: 2000; max-height: 75vh; overflow: auto; text-align: left; }
.cookie-banner h2 { font-size: 1.4rem; }
.cookie-banner a, .policy-page a { color: #086565; text-decoration: underline; }
.cookie-button { background: #086565; color: white; padding: .65rem 1.1rem; border: 2px solid #086565; border-radius: .25rem; cursor: pointer; font: inherit; }
.cookie-close { position: absolute; right: .5rem; top: .5rem; width: 44px; height: 44px; border: 0; background: transparent; font-size: 1.8rem; color: #172a30; cursor: pointer; }
:focus-visible { outline: 3px solid #b26800; outline-offset: 3px; }
.policy-page { background: #f5faf9; color: #172a30; line-height: 1.7; }
.policy-page main { max-width: 850px; margin: auto; padding: 2rem 1.2rem; }
.policy-page h1 { font-size: 2rem; }
.policy-page h2 { font-size: 1.4rem; margin-top: 2rem; }
.policy-page table { width: 100%; border-collapse: collapse; }
.policy-page td, .policy-page th { padding: .6rem; border: 1px solid #a8bfbc; text-align: left; overflow-wrap: anywhere; }
.policy-page .table-wrap { overflow-x: auto; }
.policy-draft { border-left: 4px solid #b26800; padding: 1rem; background: #fff4dd; }
.privacy-noscript { background: #fff; color: #172a30; padding: 1rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
