:root{--ink:#102422;--muted:#526461;--line:#d7dfdc;--paper:#f7f8f5;--gold:#c8a45b}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 system-ui,-apple-system,Segoe UI,sans-serif}
header{width:min(1180px,calc(100% - 36px));margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
main,footer{width:min(920px,calc(100% - 36px));margin:auto}
header a,footer a{color:inherit}
.brand{font-weight:850;text-decoration:none;white-space:nowrap}
main{padding:46px 0 64px}
h1{font-size:clamp(36px,7vw,64px);line-height:1.02;margin:.2em 0}
h2{margin-top:2em}
h3{margin-top:1.5em}
p,li{color:var(--muted)}
.notice{padding:18px;border-left:4px solid var(--gold);background:#fff}
.meta{font-size:14px}
.legal-nav{display:flex;align-items:center;justify-content:flex-end;gap:8px 14px;flex-wrap:wrap}
.legal-nav a,.legal-back{font:inherit;font-size:14px;font-weight:650}
.legal-back{padding:7px 11px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#fff;cursor:pointer}
.legal-back:hover,.legal-back:focus-visible{border-color:var(--gold)}
.legal-qualify{padding:7px 11px;border-radius:6px;color:#fff!important;background:var(--ink);text-decoration:none}
footer{padding:24px 0 40px;border-top:1px solid var(--line);font-size:14px}
.cookie-settings{border:0;background:none;color:inherit;text-decoration:underline;padding:0;font:inherit;cursor:pointer}
.legal-cookie-banner{position:fixed;z-index:999;left:16px;right:16px;bottom:16px;width:min(900px,calc(100% - 32px));margin:auto;padding:20px;color:#fff;background:#102422;border-radius:10px;box-shadow:0 18px 60px #0006}
.legal-cookie-banner[hidden]{display:none}
.legal-cookie-banner p{color:#d8e1de}
.legal-cookie-banner div{display:flex;gap:10px;flex-wrap:wrap}
.legal-cookie-banner button{padding:10px 14px;border:1px solid #fff;border-radius:6px;background:#fff;color:#102422;font-weight:700;cursor:pointer}
.legal-cookie-banner a{display:inline-block;margin-top:12px;color:#efd38e}
@media(max-width:760px){header{align-items:flex-start;gap:14px;flex-direction:column}.legal-nav{justify-content:flex-start}main{padding-top:28px}}
