/* Shared legal pages and local-only contact form. */
[hidden]{display:none!important}
:where(input,textarea,select,button,a,summary,[tabindex]):focus-visible{outline:3px solid #97582b;outline-offset:4px}
:where(p,li){overflow-wrap:anywhere}
.legal-header{padding:22px max(6%,calc((100% - 1100px)/2));display:flex;gap:25px;align-items:center;border-bottom:1px solid var(--line)}
.legal-header>a:first-child{margin-right:auto;flex-shrink:0}.legal-header a{font-size:14px}
.legal-main{max-width:860px;margin:auto;padding:55px 28px 65px}.legal-main h1{font-size:clamp(40px,6vw,62px);margin:18px 0}.legal-date{color:#52665e;font-size:14px;margin-bottom:40px}.legal-main section{margin:30px 0}.legal-main h2{font-family:var(--sans);font-size:22px;letter-spacing:0;line-height:1.4;margin-bottom:12px}.legal-main p{line-height:1.85}.legal-source{font-size:13px;border-top:1px solid var(--line);padding-top:25px;margin-top:35px}.legal-main a,.legal-footer a,.contact-section p a,.consent-row a,.policy-links a,.purchase-notice a,.dialog-note a{text-decoration:underline;text-underline-offset:3px}.legal-footer{padding:35px 6%;border-top:1px solid var(--line)}.legal-footer nav,.policy-links{display:flex;gap:15px;flex-wrap:wrap}.legal-footer p{font-size:12px;margin:22px 0}
.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:7%;border-top:1px solid var(--line)}.contact-section h2{margin:15px 0 25px}.contact-section p{margin:15px 0}.contact-section label{display:block;margin:17px 0 7px}.contact-section input:not([type=checkbox]),.contact-section textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid #687b70;border-radius:4px;padding:12px;width:100%;max-width:100%}.contact-section textarea{resize:vertical}.consent-row{display:flex;align-items:flex-start;gap:12px;margin:20px 0}.consent-row input{margin-top:5px;width:22px;height:22px;flex-shrink:0;accent-color:var(--ink)}.consent-row label{margin:0;font-size:13px}.contact-section button[type=reset]{margin:15px}.form-errors{border:2px solid #a12d26;padding:15px;margin:15px 0;color:#79251f}.form-errors a{text-decoration:underline}#contact-draft{padding-top:20px;border-top:1px solid var(--line)}#contact-draft h3{font-size:21px}#contact-draft .button{margin-top:18px}.legal-availability{font-size:13px;color:#52665e}.purchase-notice{padding:10px 20px;font-size:11px;display:flex;gap:8px;flex-wrap:wrap}.footer-bottom{align-items:flex-start;flex-wrap:wrap}.policy-links{font-size:12px;line-height:2}.footer-bottom>span{font-size:11px}.dialog-note a{color:#193f36}.contact-section [aria-invalid=true]{border:2px solid #a12d26!important}#storage-status{margin-top:18px}
@media(max-width:760px){.contact-section{grid-template-columns:1fr;gap:25px}.legal-header{padding:18px 6%;gap:15px;flex-wrap:wrap}.legal-main{padding:35px 6% 45px}.legal-main h1{font-size:42px}.policy-links{font-size:12px}.contact-section .button{white-space:normal}.floating-chat{max-width:calc(100vw - 30px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
:where(input,textarea,button,a,[tabindex]){scroll-margin-block:125px 100px}body:has(#contact-form:focus-within) .floating-chat{display:none}

body:has(.policy-links:focus-within) .floating-chat{display:none}
