/* Public legal and support pages share the homepage's brand and navigation. */
.legal-page .header{background:rgba(245,244,240,.97);border-bottom:1px solid var(--line)}
.legal-main{width:min(100% - 8vw,1120px);margin:auto;padding:160px 0 90px;min-height:65vh;animation:legal-enter .6s ease-out}
.legal-main h1{font-size:clamp(48px,7.5vw,100px);line-height:1.04;letter-spacing:-.075em;font-weight:800;margin:24px 0 28px;max-width:950px}
.legal-main h1 span,.legal-main .gradient{color:var(--ink);background:none;-webkit-text-fill-color:currentColor}
.legal-main h2{font-size:clamp(23px,2.5vw,32px);line-height:1.25;letter-spacing:-.045em;margin:0 0 20px;font-weight:700}
.legal-main h3{font-size:21px;line-height:1.35;letter-spacing:-.035em;margin:28px 0 12px}
.legal-main p,.legal-main li{font-size:16px;line-height:1.85;color:#55544f}
.legal-main p{margin:12px 0}.legal-main strong{color:var(--ink)}
.legal-main>p{max-width:820px}.legal-main>h2{margin-top:38px}
.legal-main ul,.legal-main ol{padding-left:24px}.legal-main li{margin:7px 0}
.legal-main a{color:inherit;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.legal-main a:hover{text-decoration-thickness:2px}
.legal-main .eyebrow,.legal-main .pill{display:block;padding:0;border:0;border-radius:0;background:none;color:#62615b;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.legal-main .hero{width:100%;margin:0;padding:0 0 55px;min-height:0;height:auto;overflow:visible;background:none;display:block;border-bottom:1px solid var(--line)}
.legal-main .hero p,.legal-main .lead{max-width:780px;font-size:19px;line-height:1.8;color:#65645f}
.legal-main .intro,.legal-main .legal-intro{padding:0 0 40px;border-bottom:1px solid var(--line);margin:0 0 32px}
.legal-main .date-row{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:30px}
.legal-main .date-chip,.legal-main .date{font-size:13px;color:#65645f;padding:0;background:none;border:0;border-radius:0}
.legal-main .layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;padding:48px 0 0;width:100%;margin:0}
.legal-main .toc{position:sticky;top:120px;max-height:calc(100vh - 145px);overflow:auto;border:0;border-radius:0;background:none;padding:0 22px 0 0;box-shadow:none;border-right:1px solid var(--line)}
.legal-main .toc b{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px}
.legal-main .toc a{display:block;padding:7px 0;font-size:13px;line-height:1.5;color:#6a6963;text-decoration:none}
.legal-main .toc a:hover{color:var(--ink);text-decoration:underline}
.legal-main .policy{min-width:0}.legal-main .body-copy{max-width:820px;padding:0}
.legal-main .policy-section,.legal-main .policy,.legal-main .section{scroll-margin-top:120px}
.legal-main .policy-section,.legal-main section.policy,.legal-main .section{padding:35px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none;margin:0}
.legal-main .policy-section:first-child{padding-top:0}
.legal-main .notice,.legal-main .note{padding:18px 22px;background:#eae9e3;color:#4f4e49;border:0;border-left:2px solid #555;border-radius:0;margin:18px 0}
.legal-main .contents{display:flex;gap:12px 26px;flex-wrap:wrap;padding:0 0 28px;border-bottom:1px solid var(--line);font-size:13px}
.legal-main .contact{background:#111;color:#eeeae2;padding:32px;border:0;margin-top:36px}
.legal-main .contact h2,.legal-main .contact p,.legal-main .contact strong{color:inherit}
.legal-main .visual{display:none}
.legal-main .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:25px}
.legal-main .card{padding:26px;border:1px solid var(--line);border-radius:0;background:#efeee8}
.legal-main .card h3{margin-top:0}
.legal-main .button{display:inline-flex;align-items:center;justify-content:center;padding:17px 25px;margin-top:18px;border:1px solid #111;border-radius:50px;background:#111;color:#fff;text-decoration:none;font-size:13px;font-weight:700;transition:background .2s,transform .2s}
.legal-main .button:hover{background:#333;transform:translateY(-2px)}
.legal-main.error-page{padding-top:180px;padding-bottom:110px}
.legal-main.error-page h1{font-size:clamp(70px,12vw,150px)}
.legal-main.error-page h1 .outline-dark{color:transparent;-webkit-text-fill-color:transparent}
.legal-main.redirect-page{min-height:55vh}
@keyframes legal-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:900px){.legal-main .layout{grid-template-columns:1fr;gap:30px}.legal-main .toc{position:static;max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;border:0;border-bottom:1px solid var(--line);padding:0 0 28px}.legal-main .toc b{grid-column:1/-1}}
@media(max-width:760px){.legal-main{width:calc(100% - 40px);padding:120px 0 55px}.legal-main h1{font-size:clamp(43px,12vw,74px)}.legal-main .hero{padding-bottom:35px}.legal-main .hero p,.legal-main .lead{font-size:17px}.legal-main .grid{grid-template-columns:1fr}.legal-main .contact{padding:24px}.legal-main .policy-section,.legal-main section.policy,.legal-main .section{padding:28px 0}.legal-main section.contact{padding:24px}.legal-main.error-page{padding:135px 0 70px}}
@media(max-width:480px){.legal-main .toc{grid-template-columns:1fr}.legal-main .date-row{gap:12px}.legal-main .contents{gap:12px 20px}}
@media(prefers-reduced-motion:reduce){.legal-main{animation:none}}
