/* Additive policy shell and landing footer styles; original stylesheet is preserved. */
.policy-links { display:flex; flex-wrap:wrap; gap:0 20px; width:100%; }
.policy-links a { display:inline-flex; align-items:center; min-height:44px; font-size:16px; color:var(--muted); text-underline-offset:4px; }
.policy-links a:hover { color:var(--accent); }
.legal-page { font-size:18px; line-height:1.65; }
.legal-page a { overflow-wrap:anywhere; text-underline-offset:4px; }
.legal-page a:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.legal-page .wrap { max-width:1120px; }
.legal-header { padding-block:24px 18px; border-bottom:1px solid var(--line); }
.legal-header-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; }
.legal-header .brand { font-size:25px; text-decoration:none; }
.legal-back { display:inline-flex; align-items:center; min-height:44px; font-size:16px; }
.legal-nav { display:flex; flex-wrap:wrap; gap:4px 20px; margin-top:22px; }
.legal-nav a { display:inline-flex; align-items:center; min-height:44px; font-size:16px; }
.legal-nav [aria-current="page"] { color:var(--accent); font-weight:600; text-decoration-thickness:2px; }
.legal-main { padding-block:48px 36px; }
.legal-copy { max-width:72ch; margin-inline:auto; }
.legal-page h1 { font-family:Georgia,serif; font-size:clamp(34px,4.4vw,56px); line-height:1.12; font-weight:400; letter-spacing:-.025em; margin:14px 0 24px; overflow-wrap:anywhere; }
.legal-page h2 { font-family:Georgia,serif; font-size:clamp(27px,3vw,32px); font-weight:400; line-height:1.25; margin:0 0 16px; letter-spacing:-.015em; }
.legal-status { display:inline-block; padding:8px 14px; margin:0; background:var(--tint); color:var(--accent); border:1px solid var(--line); border-radius:4px; font-size:16px; }
.legal-date,.legal-operator { font-size:16px; color:var(--muted); margin:10px 0; }
.legal-summary { font-size:20px; line-height:1.55; margin:28px 0; }
.legal-contents { padding:20px 24px; background:var(--tint); border:1px solid var(--line); margin:30px 0; }
.legal-contents h2 { font-family:inherit; font-size:18px; font-weight:600; margin-bottom:8px; }
.legal-contents ul { list-style:none; padding:0; margin:0; }
.legal-contents a { display:flex; align-items:center; min-height:44px; }
.legal-section { margin-top:36px; scroll-margin-top:24px; }
.legal-section p { margin:0 0 18px; font-size:inherit; line-height:inherit; }
.legal-section li { margin:8px 0; }
.legal-section a { display:inline-flex; align-items:center; min-height:44px; max-width:100%; vertical-align:middle; }
.legal-table-wrap { max-width:100%; margin:20px 0 24px; }
.legal-page table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:16px; line-height:1.5; }
.legal-page caption { padding:0 0 10px; text-align:left; font-weight:600; }
.legal-page th,.legal-page td { padding:12px; border:1px solid var(--line); text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.legal-page thead th { background:var(--tint); }
.legal-page tbody th { font-weight:600; }
.legal-retention-table th:first-child { width:22%; }
.legal-retention-table td:nth-child(2) { width:34%; }
.legal-retention-table td:nth-child(3) { width:44%; }
.legal-storage-table th:first-child { width:31%; }
.legal-storage-table td { width:69%; }
.legal-contact-list { display:grid; gap:24px; padding:0; list-style:none; }
.legal-contact-list li { padding:22px 24px; background:var(--tint); border:1px solid var(--line); margin:0; }
.legal-contact-list h2 { margin-bottom:8px; }
.legal-contact-list a { display:inline-flex; align-items:center; min-height:44px; max-width:100%; vertical-align:middle; }
.legal-footer { padding-block:24px 36px; border-top:1px solid var(--line); }
.legal-footer p { color:var(--muted); font-size:16px; margin:10px 0; }
@media(max-width:760px) {
 .legal-header { padding-top:20px; }
 .legal-main { padding-block:32px; }
 .legal-page { font-size:17px; }
 .legal-nav { gap:4px 16px; }
 .legal-summary { font-size:19px; }
 .legal-contents { padding:16px 18px; }
 .legal-page th,.legal-page td { padding:9px 7px; }
 .legal-contact-list li { padding:18px; }
 .policy-links { gap:0 16px; }
}
@media(max-width:600px) {
 .legal-retention-table { display:block; }
 .legal-retention-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
 .legal-retention-table tbody { display:grid; gap:12px; }
 .legal-retention-table tbody tr { display:block; border:1px solid var(--line); background:var(--paper); }
 .legal-retention-table tbody th:first-child { display:block; width:auto; padding:12px; background:var(--tint); border:0; border-bottom:1px solid var(--line); }
 .legal-retention-table tbody td { display:block; width:auto; padding:10px 12px; border:0; }
 .legal-retention-table tbody td:nth-child(2),.legal-retention-table tbody td:nth-child(3) { width:auto; }
 .legal-retention-table tbody td+td { border-top:1px solid var(--line); }
 .legal-retention-table tbody td::before { display:block; margin-bottom:3px; font-weight:600; color:var(--ink); }
 .legal-retention-table tbody td:nth-child(2)::before { content:"Limit"; }
 .legal-retention-table tbody td:nth-child(3)::before { content:"How the limit works"; }
}
