.privacy-panel { position:fixed; bottom:1rem; right:1rem; z-index:50; width:calc(100% - 2rem); max-width:30rem; max-height:calc(100dvh - 2rem); overflow:auto; padding:1.2rem; background:#f6f3ec; color:#191919; border:1px solid #191919; box-shadow:0 8px 28px #0002; }
.privacy-panel[hidden], [hidden] { display:none !important; }
.privacy-panel h2 { font-size:1.25rem; margin:0 1.8rem .6rem 0; line-height:1.25; }
.privacy-panel p { font-size:1rem; line-height:1.5; margin:.6rem 0; }
.privacy-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
.privacy-actions button { flex:1; min-width:9rem; padding:.75rem 1rem; border:1px solid #191919; color:#191919; background:transparent; font:inherit; cursor:pointer; }
.privacy-actions button:hover, .privacy-actions button:focus-visible { background:#191919; color:#fff; }
.privacy-actions [data-analytics-accept] { background:#dce7da; }
.privacy-actions [data-analytics-accept]:hover, .privacy-actions [data-analytics-accept]:focus-visible { background:#191919; color:#fff; }
.privacy-close { position:absolute; top:.35rem; right:.35rem; width:2.75rem; height:2.75rem; border:0; background:transparent; color:inherit; font-size:1.5rem; cursor:pointer; }
.privacy-details { margin-top:.75rem; font-size:.9rem; }
.privacy-details summary { cursor:pointer; text-decoration:underline; width:fit-content; padding:.3rem 0; }
.privacy-details p, .privacy-panel #analytics-status { font-size:.875rem; }
.privacy-panel :focus-visible { outline:2px solid #215732; outline-offset:3px; }
.privacy-link { font:inherit; cursor:pointer; background:none; border:0; padding:0; text-decoration:underline; }
.privacy-panel a, .legal-copy a { text-decoration:underline; }
.site-footer>div { flex-wrap:wrap; }
.legal-copy { max-width:55rem; padding-top:4rem; padding-bottom:4rem; line-height:1.65; overflow-wrap:anywhere; }
.legal-copy h1 { font-size:clamp(2.2rem,6vw,4rem); margin-bottom:1rem; }
.legal-copy h2 { font-size:1.4rem; margin:2rem 0 .7rem; }
.legal-copy p, .legal-copy ul { margin-bottom:1rem; }
.legal-copy table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:.95rem; }
.legal-copy th:first-child { width:35%; }
.legal-copy th, .legal-copy td { border-bottom:1px solid #aaa; padding:.6rem; text-align:left; vertical-align:top; }
.legal-draft { border:2px solid #936900; padding:1rem; }
.legal-review { border-top:1px solid #aaa; margin-top:2rem; padding-top:1rem; }
.legal-review summary { cursor:pointer; font-weight:600; padding:.5rem 0; }
.legal-review summary:focus-visible { outline:2px solid #215732; outline-offset:3px; }
.legal-review ul { padding-left:1.5rem; }
@media (max-width:699px) {
  .site-footer {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    min-height:0;
    padding-block:32px;
    gap:16px;
  }
  .site-footer>div {
    width:100%;
    justify-content:flex-start;
  }
  .site-footer>.wordmark {
    min-height:44px;
    align-items:baseline;
    padding-block:calc((44px - 1em)/2);
    justify-self:start;
  }
  .site-footer>div:not(.privacy-options) {
    gap:24px;
  }
  .site-footer .privacy-options {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:24px;
    row-gap:0;
    padding-top:16px;
    border-top:1px solid var(--rule);
  }
  .site-footer .privacy-options>* {
    display:flex;
    align-items:center;
    justify-self:start;
    min-height:44px;
    padding:11px 0;
    font-size:14px;
    line-height:22px;
    text-align:left;
  }
}
@media (max-width:600px) { .privacy-panel { width:auto; left:.75rem; right:.75rem; bottom:.75rem; padding:1rem; } .privacy-panel>p { font-size:.9375rem; line-height:1.4; } .privacy-actions button { min-width:0; padding:.7rem .35rem; font-size:.875rem; } }
