.privacy-link-row { display:flex; gap:1rem; flex-wrap:wrap; align-items:center; margin-top:1.4rem; font-size:1rem; }
.privacy-link-row a { color:var(--gold, #edce72); text-decoration:underline; text-underline-offset:4px; }
.privacy-prompt { max-width:1040px; margin:1.5rem auto; padding:1.25rem; border:1px solid #617568; border-radius:14px; background:#142d25; color:#f5f6ef; }
.privacy-prompt[hidden] { display:none; }
.privacy-prompt h2 { font:600 1.25rem 'DM Sans',sans-serif; margin:0 0 .5rem; }
.privacy-prompt p { font-size:1rem; line-height:1.6; margin:.5rem 0 1rem; color:#e0e8df; }
.privacy-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin:1rem 0; }
.privacy-actions button,.privacy-actions a { min-height:48px; padding:.8rem 1rem; font:600 1rem 'DM Sans',sans-serif; border:1px solid #d2ddce; border-radius:8px; background:#183b30; color:#fff; cursor:pointer; text-align:center; text-decoration:none; }
.privacy-actions button:hover,.privacy-actions a:hover { background:#275443; }
.privacy-actions button:disabled { opacity:.55; cursor:default; }
.privacy-actions button[aria-pressed=true] { border:2px solid #edce72; }
.privacy-actions :focus-visible,.privacy-link-row a:focus-visible { outline:3px solid #edce72; outline-offset:4px; }
.privacy-page { max-width:900px; padding:3rem clamp(1.25rem,4vw,3.75rem) 6rem; margin:2rem auto; border:1px solid #d8d3c7; border-radius:18px; background:#fffdf7; color:#18231f; box-shadow:0 18px 50px rgba(26,38,33,.09); }
.privacy-page h1,.privacy-page h2 { font-family:'DM Sans',system-ui,sans-serif; color:#12241f; letter-spacing:-.025em; }
.privacy-page h1 { max-width:760px; font-size:clamp(2.35rem,6vw,3.75rem); line-height:1.04; margin:1.25rem 0 1rem; }
.privacy-page h2 { font-size:clamp(1.45rem,3vw,1.8rem); line-height:1.2; margin:2.5rem 0 .8rem; padding-top:.25rem; }
.privacy-page p,.privacy-page li { max-width:74ch; font-size:1.125rem; line-height:1.75; color:#33443d; }
.privacy-page .privacy-intro { font-size:1.1875rem; color:#263832; }
.privacy-page ul { padding-left:1.5rem; }
.privacy-page li { margin:.5rem 0; }
.privacy-page a { color:#0b5e4a; font-weight:650; text-decoration-thickness:1.5px; text-underline-offset:4px; }
.privacy-page a:hover { color:#873715; }
.privacy-page code { padding:.12em .35em; border-radius:4px; background:#ebe8de; color:#263832; font-size:.95em; }
.privacy-page [role=status] { min-height:1.75rem; font-size:1rem; font-weight:650; color:#263832; }
.external-consent { padding:1.5rem; max-width:620px; margin:auto; color:#f5f6ef; }
.external-consent strong { display:block; font-size:1.4rem; }
.external-consent p { font-size:1.0625rem; line-height:1.6; color:#dce7df; margin:.8rem 0; }
.festival-map:has(.external-consent) { display:flex; align-items:center; background:#142a23; }
.video-frame:has(.external-consent) { aspect-ratio:auto; min-height:300px; display:flex; align-items:center; }
@media(max-width:600px) { .privacy-prompt { margin:1rem; } .privacy-page { margin:0; padding:2rem 1.25rem 4rem; border:0; border-radius:0; box-shadow:none; } .privacy-page h1 { font-size:2.35rem; } .privacy-page p,.privacy-page li { font-size:1.0625rem; line-height:1.72; } .privacy-actions > * { flex:1 1 180px; } .external-consent { padding:1.2rem; } }
