.consent-panel[hidden], .consent-panel [hidden], [data-privacy-language][hidden] { display: none !important; }
body.contact-open .consent-panel[data-explicit="false"] { display: none !important; }
.consent-panel { position: fixed; z-index: 10050; bottom: max(1rem, env(safe-area-inset-bottom)); left: 1rem; width: min(41rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; padding: 1.4rem; background: #faf9f6; color: #20211d; border: 1px solid rgba(32,33,29,.13); border-radius: 20px; box-shadow: 0 12px 45px rgba(20,20,15,.14); font-family: "Archivo", -apple-system, BlinkMacSystemFont, sans-serif; font-size: 14px; line-height: 1.5; text-align: left; cursor: auto; }
body:has(.consent-panel:hover, .site-privacy-controls:hover) #cursor { opacity: 0 !important; }
html.custom-cursor-ready .consent-panel :is(a, button, label, input), html.custom-cursor-ready .site-privacy-controls :is(a, button) { cursor: pointer; }
.consent-heading { font-size: 1.1rem; font-weight: 600; letter-spacing: -.025em; padding-right: 1rem; }
.consent-body { margin: .6rem 0 1rem; max-width: 58ch; color: #666861; font-size: .84rem; line-height: 1.55; }
.consent-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.consent-actions button { flex: 1 1 auto; min-height: 42px; padding: .65rem .85rem; border-radius: 999px; border: 1px solid #b9bbb2; background: transparent; color: #20211d; font: inherit; font-size: .76rem; font-weight: 500; letter-spacing: 0; text-transform: none; cursor: pointer; }
.consent-actions button:hover { background: #eeeee7; }
.consent-actions button:focus-visible, .consent-panel a:focus-visible, .site-privacy-controls :focus-visible, .consent-close:focus-visible { outline: 2px solid #20211d; outline-offset: 3px; }
.consent-privacy { display: inline-block; margin-top: .9rem; color: #666861; text-decoration: underline; text-underline-offset: 3px; font-size: .72rem; }
.consent-options { margin: .85rem 0 1rem; border-top: 1px solid #dedfd7; }
.consent-option { display: flex; align-items: flex-start; gap: .75rem; padding: .85rem 0; border-bottom: 1px solid #dedfd7; cursor: pointer; }
.consent-option input { width: 18px; height: 18px; flex: 0 0 18px; margin: .12rem 0 0; accent-color: #20211d; }
.consent-option strong { display: block; font-size: .82rem; font-weight: 500; }
.consent-option small { display: block; margin-top: .2rem; color: #666861; font-size: .76rem; }
.consent-close { display: block; margin-left: auto; margin-bottom: .75rem; padding: 0; border: 0; background: transparent; color: #666861; font: inherit; font-size: .72rem; text-decoration: underline; cursor: pointer; }
.site-privacy-controls { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1rem; padding: .8rem 1.25rem 1.15rem; font-size: .7rem; color: inherit; }
.site-privacy-controls a, .site-privacy-controls button { color: inherit; opacity: .72; font: inherit; text-decoration: underline; text-underline-offset: 3px; }
.site-privacy-controls button { border: 0; background: transparent; padding: 0; cursor: pointer; }
.contact-privacy-note { margin: 1rem 0 0; font-size: .68rem; line-height: 1.5; color: var(--muted, #666861); }
.contact-privacy-note a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 540px) { .consent-panel { bottom: max(.75rem, env(safe-area-inset-bottom)); left: .75rem; width: calc(100vw - 1.5rem); padding: 1.1rem; border-radius: 16px; } .consent-heading { font-size: 1rem; } .consent-actions { display: grid; grid-template-columns: 1fr; gap: .4rem; } .consent-actions button { width: 100%; } }
