/* Compact consent panel adapted from Epix Works to Paperclip's graphite palette. */
.analytics-consent{position:fixed;z-index:500;inset:auto 18px 18px auto;width:min(320px,calc(100vw - 36px));box-sizing:border-box;padding:16px;background:#17191b;color:#f7f7f2;border:1px solid #41464b;box-shadow:0 8px 28px #00000026;font-family:Arial,sans-serif}
.analytics-consent[hidden]{display:none}
.analytics-consent h2{margin:0 0 6px;color:inherit;font:500 14px/1.3 Arial,sans-serif;letter-spacing:normal}
.analytics-consent p{margin:0;color:#c8cbd0;font-size:12px;line-height:1.5}
.analytics-consent-actions{display:flex;gap:8px;margin-top:12px}
.analytics-consent button{flex:1;min-height:36px;padding:8px 12px;border:1px solid #747b82;background:transparent;color:#f7f7f2;font:500 12px/1.3 Arial,sans-serif;cursor:pointer}
.analytics-consent button:hover{background:#2b3035}
.analytics-consent button:focus-visible,.analytics-privacy-link:focus-visible{outline:2px solid var(--yellow,#f8d447);outline-offset:4px}
.analytics-privacy-link{display:inline-block;margin-top:6px;color:#c8cbd0;font:12px/1.5 Arial,sans-serif;text-decoration:underline;text-underline-offset:3px}
.analytics-privacy-link:hover{color:#fff}
.footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:32px;padding-top:24px;border-top:1px solid #41464b;font-size:12px;line-height:1.5;color:#c8cbd0}
.footer-legal a:hover,.footer-legal button:hover{text-decoration:underline;text-underline-offset:4px}
.form-privacy{margin-top:20px;font-size:12px;line-height:1.6;color:var(--muted)}
.form-privacy a{text-decoration:underline;text-underline-offset:3px}
body:has(.analytics-consent:not([hidden])) .back-top{bottom:240px}
.legal-page{background:var(--paper);color:var(--ink)}
.legal-header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:32px var(--gutter)}
.legal-header img{width:130px;height:auto}
.legal-header select{width:auto;padding:8px;font-size:14px}
.legal-content{max-width:880px;margin:0 auto;padding:64px var(--gutter) 100px}
.legal-content h1{font-size:clamp(32px,5vw,54px);line-height:1.1;letter-spacing:-.03em;margin:0 0 24px}
.legal-content>p{margin:0 0 32px;color:var(--muted)}
.legal-content section{padding:28px 0;border-top:1px solid var(--rule);scroll-margin-top:24px}
.legal-content h2{font-size:26px;margin:0 0 16px;line-height:1.25}
.legal-content h3{font-size:18px;margin:24px 0 10px;line-height:1.4}
.legal-content p{font-size:15px;line-height:1.8;margin:10px 0;overflow-wrap:anywhere}
.legal-content a{text-decoration:underline;text-underline-offset:4px}
.legal-content .legal-action{display:inline-block;padding:12px 18px;border:1px solid var(--ink);font-size:14px;margin-top:16px}
.legal-footer{min-height:0;padding:32px var(--gutter);background:var(--ink);color:var(--paper)}
.legal-footer .footer-legal{margin:0;padding:0;border:0}
.privacy-request-form{max-width:640px}
.privacy-request-form label{display:block;margin-top:24px;font-size:14px;line-height:1.5}
.privacy-request-form textarea{min-height:160px}
.privacy-request-form .legal-action{cursor:pointer}
.privacy-request-status{margin-top:24px;padding:18px 0;border-top:1px solid var(--rule)}
.privacy-request-status[hidden],#privacy-request-challenge[hidden]{display:none}
.privacy-request-form [type=submit]:disabled{cursor:wait;opacity:.65}
.privacy-honeypot{position:absolute!important;width:1px;height:1px;padding:0;margin:0!important;overflow:hidden;clip-path:inset(50%)}
#privacy-request-challenge,#contact-request-challenge{margin-top:24px}
#contact-request-challenge[hidden]{display:none}
.legal-panel{position:fixed;inset:0 auto 0 0;margin:0 auto 0 0;width:min(760px,100vw);height:100svh;max-height:100svh;overflow:hidden;box-shadow:30px 0 100px rgb(0 0 0/.2)}
.legal-panel>.close-button{position:absolute;z-index:2;top:22px;right:24px;background:var(--paper)}
.legal-panel .close-button svg{stroke:currentColor;stroke-width:1.5}
.legal-panel .legal-content{height:100%;overflow-y:auto;overscroll-behavior:contain;max-width:none;padding:74px 48px 48px;margin:0}
.legal-panel .legal-content h1{font-size:36px}
.legal-panel .legal-content section{scroll-margin-top:74px}
@media(max-width:640px){.legal-panel .legal-content{padding:74px 24px 40px}.legal-panel .legal-content h1{font-size:28px}}
@media(max-width:640px){.analytics-consent{inset:auto 12px 12px auto;width:min(320px,calc(100vw - 24px))}.legal-header{padding:24px;gap:20px}.legal-content{padding-top:36px}.footer-legal{gap:14px 20px}}
