.legal-skip { position:absolute; top:-100px; left:16px; z-index:10000; padding:12px 20px; background:var(--ink-900); color:#fff; border-radius:8px; }
.legal-skip:focus { top:12px; }
.legal-hero { padding:calc(var(--header-h) + 40px) 0 40px; background:var(--copper-50); border-bottom:1px solid var(--ink-100); }
.legal-hero .breadcrumb { justify-content:flex-start; margin-bottom:24px; }
.legal-hero h1 { font-size:clamp(2.2rem,4vw,3.6rem); letter-spacing:-.04em; margin:16px 0; }
.legal-hero p { max-width:700px; color:var(--ink-600); font-size:var(--fs-lg); line-height:1.7; }
.legal-updated { font-size:.8rem; color:var(--ink-500); margin-top:24px; }
.legal-layout { display:grid; grid-template-columns:250px minmax(0,760px); gap:64px; justify-content:center; padding-top:48px; padding-bottom:72px; }
.legal-contents { position:sticky; top:calc(var(--header-h) + 24px); align-self:start; font-size:.86rem; }
.legal-contents details { padding:20px; border:1px solid var(--ink-100); border-radius:var(--r-md); }
.legal-contents summary { font-weight:700; cursor:pointer; min-height:32px; color:var(--ink-800); }
.legal-contents ol { padding-left:18px; display:grid; gap:12px; margin:14px 0 0; }
.legal-contents a { color:var(--ink-700); text-decoration:none; }
.legal-contents a:hover { color:var(--copper-700); text-decoration:underline; }
.legal-contents>a { display:block; padding:16px 8px; margin-top:12px; }
.legal-prose { min-width:0; color:var(--ink-700); font-size:1.04rem; line-height:1.85; overflow-wrap:break-word; }
.legal-prose section { margin-bottom:36px; scroll-margin-top:calc(var(--header-h) + 24px); }
.legal-prose h2 { font-size:1.5rem; line-height:1.3; letter-spacing:-.02em; margin:0 0 18px; color:var(--ink-900); }
.legal-prose p { margin:0 0 18px; }
.legal-prose a { color:var(--copper-800); text-decoration:underline; text-underline-offset:3px; }
.legal-prose ul { padding-left:22px; }
.legal-prose li { margin:10px 0; }
.legal-other { display:flex; flex-wrap:wrap; gap:24px; padding-top:24px; border-top:1px solid var(--ink-100); }
.legal-page :is(a,summary):focus-visible { outline:2px solid var(--copper-600); outline-offset:4px; }
@media(max-width:900px) { .legal-layout { grid-template-columns:1fr; gap:28px; } .legal-contents { position:static; } .legal-contents ol { grid-template-columns:1fr 1fr; column-gap:32px; } }
@media(max-width:600px) { .legal-hero { padding-top:calc(var(--header-h) + 24px); } .legal-contents ol { grid-template-columns:1fr; } .legal-layout { padding-top:28px; padding-bottom:44px; } }
