body{padding-bottom:var(--privacy-space,0px)}
.privacy-banner[hidden],.privacy-overlay[hidden]{display:none!important}
.privacy-banner{position:fixed;left:16px;bottom:16px;z-index:60;width:min(740px,calc(100vw - 32px));max-height:55dvh;overflow:auto;background:var(--panel);border:var(--bold);border-radius:18px;box-shadow:5px 5px 0 var(--ink);padding:1.1rem 1.3rem}
.privacy-banner h2{font-size:1rem;margin:0 0 .4rem}.privacy-banner p{font-size:.86rem;line-height:1.55;color:var(--muted);margin:.3rem 0 .8rem}
.privacy-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}
.privacy-actions button{background:var(--panel);color:var(--ink);border:2px solid var(--ink);border-radius:10px;min-height:44px;padding:.5rem .8rem;font-size:.76rem;box-shadow:none;transform:none}
.privacy-actions button:hover{background:var(--accent-soft);transform:none;box-shadow:none}
.privacy-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1rem;background:rgb(7 42 32 / .55)}
.privacy-dialog{width:min(560px,100%);max-height:calc(100dvh - 2rem);overflow:auto;padding:1.4rem;background:var(--panel);border:var(--bold);border-radius:20px;box-shadow:5px 5px 0 var(--ink)}
.privacy-dialog h2{margin:0;font-size:1.5rem}.privacy-title{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.privacy-close{border:2px solid var(--ink);border-radius:9px;background:var(--panel);color:var(--ink);padding:.25rem .55rem;min-height:40px;font-size:1.2rem;line-height:1}
.privacy-dialog p{font-size:.9rem;color:var(--muted)}.privacy-option{display:block;padding:1rem 0;border-top:1px solid var(--line)}
.privacy-option input{margin-right:.45rem}.privacy-option span{display:block;color:var(--muted);font-size:.85rem;margin:.3rem 0 0 1.65rem}
.privacy-footer-button{font:inherit;background:none;color:inherit;border:0;border-radius:0;min-height:0;padding:0;letter-spacing:normal;text-transform:none;text-align:left;text-decoration:underline;text-underline-offset:3px;box-shadow:none}
.privacy-footer-button:hover{color:#fff;transform:none;box-shadow:none;background:none}
.privacy-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.newsletter-card{background:var(--accent-soft);margin-top:2rem;scroll-margin-top:140px}.newsletter-card h2{margin-bottom:.5rem}
.newsletter-card>p{max-width:65ch}.newsletter-fields{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}
.newsletter-fields label{display:flex;flex:1 1 200px;flex-direction:column;gap:.35rem;font-weight:700;font-size:.88rem}
.newsletter-fields input{width:100%;background:var(--panel);min-height:48px}.newsletter-fields button{min-height:48px}
.newsletter-card .newsletter-note{font-size:.84rem;color:var(--muted);margin-bottom:0}.newsletter-status{font-weight:600;margin:.7rem 0 0}
.contact-email{font-size:clamp(1.1rem,3vw,1.5rem);overflow-wrap:anywhere;font-weight:800}
@media(max-width:640px){.has-privacy-banner .hg-launcher{bottom:calc(var(--privacy-space) + 14px)}.has-privacy-banner .hg-dialog{bottom:calc(var(--privacy-space) + 76px);max-height:calc(100dvh - var(--privacy-space) - 95px)}.newsletter-fields button{width:100%}.newsletter-card{scroll-margin-top:200px}}
@media(prefers-reduced-motion:reduce){.privacy-banner,.privacy-dialog{scroll-behavior:auto}}
