.privacy-footer{padding:.75rem max(5vw,1rem);border-top:1px solid #ccc;color:#252b27;background:#f6f5f0;font:400 .875rem/1.5 'Libre Franklin',sans-serif}
.privacy-footer nav,.privacy-actions{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
.privacy-footer a,.privacy-footer button{min-height:44px;display:inline-flex;align-items:center;color:inherit;text-decoration:underline;text-underline-offset:.2em}
.privacy-footer button,[data-open-privacy],[data-load-external],.privacy-actions button{font:inherit;cursor:pointer;padding:.65rem 1rem;border:1px solid currentColor;background:transparent;color:inherit}
.privacy-footer p{max-width:90ch;margin:.25rem 0;font-size:inherit;line-height:inherit}
.privacy-footer button{padding:0;border:0;font-size:inherit}
.privacy-footer nav{font-size:inherit}
.policy-page{padding:clamp(2rem,6vw,5rem) max(5vw,1rem);max-width:85ch;margin:auto;overflow-wrap:anywhere;font-size:1rem;line-height:1.75}
.policy-page h1{font-size:clamp(2rem,5vw,3.5rem)}.policy-page h2{font-size:1.4rem;line-height:1.3;margin:2rem 0 .75rem}
.policy-page a{color:inherit;text-decoration:underline}.policy-draft{padding:1rem;border:1px solid #665938;background:#f6f0df;color:#332b1c}
#privacy-preferences{margin:auto;max-width:38rem;width:calc(100% - 2rem);max-height:85dvh;overflow:auto;padding:clamp(1.25rem,4vw,2rem);border:1px solid #555;background:#f6f5f0;color:#252b27;font:400 1rem/1.65 'Libre Franklin',sans-serif;box-sizing:border-box}
#privacy-preferences::backdrop{background:rgb(0 0 0/.55)}#privacy-preferences h2{font-size:1.65rem;line-height:1.3}#privacy-preferences label{display:flex;align-items:center;gap:.75rem;min-height:44px}#privacy-preferences input{width:1.25rem;height:1.25rem;accent-color:#31452f}#privacy-preferences p{margin:1rem 0}.privacy-actions{margin-top:1.5rem}
.external-media{padding:1.5rem;background:#f6f5f0;color:#252b27;border:1px solid #ccc}.external-media iframe{display:block;width:100%;min-height:22rem;border:0}
:where(.privacy-footer,.policy-page,#privacy-preferences,.external-media) :focus-visible{outline:3px solid #276746;outline-offset:4px}
@media(max-width:480px){.privacy-actions{display:grid}.privacy-actions button{width:100%}.external-media iframe{min-height:14rem}}
/* Non-modal first-visit choice. Both decisions get the same one-click treatment. */
.analytics-notice[hidden]{display:none}
.analytics-notice{position:fixed;z-index:1000;bottom:1rem;left:1rem;right:1rem;margin:auto;max-width:76rem;box-sizing:border-box;display:flex;align-items:center;gap:1.5rem;padding:1rem 1.25rem;border:1px solid #8c9488;background:#f6f5f0;color:#252b27;box-shadow:0 3px 18px rgb(0 0 0/.12);font:400 1rem/1.45 'Libre Franklin',sans-serif;max-height:45dvh;overflow:auto}
.analytics-notice h2{font:600 1rem/1.4 'Libre Franklin',sans-serif;margin:0 0 .25rem}
.analytics-notice p{font:inherit;margin:0;max-width:65ch}
.analytics-notice-actions{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap}
.analytics-notice button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem .9rem;border:1px solid #455140;background:#f6f5f0;color:#252b27;font:600 .9375rem/1.3 'Libre Franklin',sans-serif;cursor:pointer}
.analytics-notice button:hover{background:#e7eadd}
.analytics-notice button:focus-visible{outline:3px solid #276746;outline-offset:3px}
@media(max-width:900px){.analytics-notice{display:block}.analytics-notice-actions{margin-top:.75rem}.analytics-notice-actions button{flex:1}}
@media(max-width:480px){.analytics-notice{bottom:.5rem;left:.5rem;right:.5rem;padding:1rem}.analytics-notice-actions{gap:.4rem}.analytics-notice button{padding:.6rem .45rem;font-size:.875rem}}
