/* Shared legal/support layout; no scripts or remote fonts required. */
.legal-page { background:var(--paper); color:#172019; font:17px/1.75 var(--sans); overflow-wrap:anywhere; }
.legal-header { background:var(--black); color:var(--white); }
.legal-header-inner { max-width:1100px; margin:auto; padding:22px 28px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.legal-header a { min-height:44px; display:inline-flex; align-items:center; }
.legal-header .brand img { width:122px; }
.legal-header .back { font-size:14px; color:var(--lime); }
.legal-main { max-width:820px; margin:auto; padding:64px 28px 80px; }
.legal-main .eyebrow { font:12px/1.6 var(--mono); text-transform:uppercase; letter-spacing:.12em; color:#536056; }
.legal-main h1 { font-size:clamp(38px,7vw,64px); line-height:1.08; letter-spacing:-.055em; margin:12px 0 24px; }
.legal-main h2 { font-size:25px; line-height:1.3; letter-spacing:-.025em; margin:44px 0 14px; scroll-margin-top:24px; }
.legal-main h3 { font-size:18px; margin:24px 0 8px; }
.legal-main p { margin:0 0 18px; }
.legal-main a { text-decoration:underline; text-underline-offset:4px; }
.legal-main ul { padding-left:24px; }
.legal-main li { margin-bottom:10px; }
.legal-main .notice { padding:22px; border:1px solid #b8c2ae; border-left:4px solid #568800; background:#e5eadc; border-radius:0 16px 16px 0; margin:26px 0; }
.legal-main .notice p:last-child { margin-bottom:0; }
.legal-main .contact { display:inline-flex; align-items:center; min-height:48px; padding:10px 18px; background:var(--lime); color:#102000; border-radius:12px; font-weight:700; }
.legal-toc { border-block:1px solid #c5cdbf; padding:16px 0; margin:28px 0; display:flex; flex-wrap:wrap; gap:4px 22px; }
.legal-toc a { min-height:44px; display:inline-flex; align-items:center; font-size:14px; }
.legal-footer { background:var(--black); color:#b9c1b4; padding:34px 28px; font-size:14px; }
.legal-footer-inner { max-width:1100px; margin:auto; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 28px; }
.legal-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; }
.legal-links a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.legal-page a:focus-visible { outline-color:#568800; }
.legal-header a:focus-visible,.legal-footer a:focus-visible { outline-color:var(--lime); }
@media(max-width:480px) { .legal-main { padding:40px 20px 56px; } .legal-header-inner { padding:16px 20px; } .legal-footer { padding:24px 20px; } .legal-main .notice { padding:18px; } }
@media print { .legal-header,.legal-footer,.legal-toc,.skip-link { display:none; } .legal-main { max-width:none; padding:0; } .legal-page { background:white; font-size:11pt; } .legal-main h2 { break-after:avoid; } }

