.privacy-footer,.consent-banner,.consent-dialog{font:400 14px/1.65 'Work Sans',sans-serif;color:#29434a;box-sizing:border-box;overflow-wrap:anywhere}
.privacy-footer{padding:2rem clamp(1.2rem,5vw,5rem);background:#faf8f2;border-top:1px solid #d8ddd4}
.privacy-footer button{padding:0;background:none;border:0;text-decoration:underline;text-underline-offset:5px;cursor:pointer;font:inherit;color:inherit;min-height:44px}
.privacy-footer details{max-width:70ch;margin-top:.5rem}.privacy-footer summary{cursor:pointer;min-height:44px;display:list-item}.privacy-footer p{margin:1rem 0}.privacy-footer #privacy-status:empty{display:none}
.consent-banner{position:fixed;z-index:1000;inset:auto 1rem 1rem;background:#faf8f2;border:1px solid #bcc9c1;padding:1.2rem 1.5rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 4px 20px #29434a0d;max-height:85svh;overflow:auto}
.consent-banner[hidden]{display:none}.consent-banner h2{font:400 23px/1.2 'Fraunces',serif;margin:0 0 .5rem}.consent-banner p{margin:0;max-width:76ch}
.consent-actions{display:flex;flex-wrap:wrap;gap:.65rem;flex-shrink:0}.consent-actions button{font:inherit;color:inherit;background:transparent;border:1px solid #6e8585;padding:.65rem 1rem;min-height:44px;cursor:pointer}
.consent-actions button:hover{background:#eaf0e9}.consent-dialog{max-width:640px;width:calc(100% - 2rem);max-height:85svh;padding:clamp(1.2rem,4vw,2.5rem);border:1px solid #8da4a0;background:#faf8f2;overflow:auto}.consent-dialog::backdrop{background:#193a424d}.consent-dialog h2{font:400 clamp(24px,4vw,32px)/1.2 'Fraunces',serif}.consent-category{border-top:1px solid #cad3ca;padding:1rem 0}.consent-category h3,.consent-category label{font:500 16px/1.5 'Work Sans',sans-serif}.consent-category input{width:20px;height:20px;vertical-align:middle;accent-color:#294a55}.consent-category label{display:flex;align-items:center;gap:.7rem;min-height:44px}.consent-category p{margin:.5rem 0 0}
:is(.privacy-footer,.consent-banner,.consent-dialog) :is(button,summary,input):focus-visible{outline:2px solid #2a4d5c;outline-offset:4px}
@media(max-width:1050px){.consent-banner{display:block}.consent-banner .consent-actions{margin-top:1rem}}@media(max-width:450px){.consent-banner{inset:auto .5rem .5rem;padding:1rem}.consent-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.consent-actions button{padding:.6rem .5rem}.consent-actions button:last-child{grid-column:1/-1}}
