:root{color-scheme:light;--navy:#142f40;--ink:#26343c;--muted:#5e6e78;--paper:#fbfaf8;--line:#e6e0d3;--rose:#a6445d;--green:#4d7a66;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;}
a{color:var(--rose);text-underline-offset:3px;}
a:hover{color:#843348;}
.legal-header{position:sticky;top:0;z-index:10;background:rgba(251,250,248,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);}
.legal-header-inner{width:min(1120px,calc(100% - 48px));height:76px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.legal-wordmark{display:flex;align-items:center;}
.legal-wordmark img{width:auto;height:58px;margin-left:-20px;display:block;}
.legal-back{color:var(--navy);font-size:14px;font-weight:600;text-decoration:none;}
.legal-back:hover{color:var(--rose);}
.legal-hero{border-bottom:1px solid var(--line);}
.legal-hero-inner{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:92px 0 72px;}
.legal-kicker{margin:0 0 18px;color:var(--rose);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.legal-title{max-width:850px;margin:0;color:var(--navy);font-family:"Source Serif 4",Georgia,serif;font-size:clamp(48px,7vw,76px);font-weight:400;letter-spacing:-.035em;line-height:1.02;}
.legal-version{margin:24px 0 0;color:var(--muted);font-size:14px;}
.legal-layout{width:min(1120px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:240px minmax(0,720px);gap:88px;align-items:start;padding:76px 0 112px;}
.legal-toc{position:sticky;top:112px;padding-top:3px;}
.legal-toc-title{margin:0 0 18px;color:var(--navy);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.legal-toc ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line);}
.legal-toc li{border-bottom:1px solid var(--line);}
.legal-toc a{display:block;padding:10px 0;color:var(--muted);font-size:13px;line-height:1.35;text-decoration:none;}
.legal-toc a:hover{color:var(--rose);}
.legal-content{font-size:15px;line-height:1.72;}
.legal-intro{margin:0 0 56px;color:#425966;font-family:"Source Serif 4",Georgia,serif;font-size:22px;line-height:1.55;}
.legal-section{padding:0 0 44px;margin:0 0 44px;border-bottom:1px solid var(--line);scroll-margin-top:112px;}
.legal-section h2{margin:0 0 20px;color:var(--navy);font-family:"Source Serif 4",Georgia,serif;font-size:30px;font-weight:500;letter-spacing:-.015em;line-height:1.18;}
.legal-section h3{margin:26px 0 9px;color:var(--navy);font-size:15px;font-weight:700;}
.legal-section p{margin:0 0 16px;}
.legal-section p:last-child{margin-bottom:0;}
.legal-section ul{margin:12px 0 18px;padding-left:22px;}
.legal-section li{margin:7px 0;}
.legal-note{margin:28px 0 0;padding:22px 24px;background:#f1f3f2;border-left:3px solid var(--green);}
.legal-summary{padding:30px;background:#eef3f0;border:1px solid #d7e2dc;}
.legal-summary h2{margin:0 0 16px;color:var(--navy);font-family:"Source Serif 4",Georgia,serif;font-size:27px;font-weight:500;}
.legal-summary ul{margin:0;padding:0;list-style:none;}
.legal-summary li{margin:9px 0;}
.legal-footer{background:var(--navy);color:rgba(244,241,234,.68);}
.legal-footer-inner{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:44px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:13px;}
.legal-footer a{color:#e9a6b6;}
@media(max-width:820px){.legal-layout{grid-template-columns:1fr;gap:40px}.legal-toc{position:static}.legal-toc ol{columns:2;column-gap:32px}.legal-toc li{break-inside:avoid}.legal-hero-inner{padding:70px 0 56px}.legal-layout{padding:56px 0 84px}}
@media(max-width:520px){.legal-header-inner,.legal-hero-inner,.legal-layout,.legal-footer-inner{width:min(100% - 36px,1120px)}.legal-header-inner{height:68px}.legal-wordmark img{height:50px;margin-left:-16px}.legal-title{font-size:44px}.legal-toc ol{columns:1}.legal-section{margin-bottom:36px;padding-bottom:36px}.legal-section h2{font-size:26px}.legal-summary{padding:24px}.legal-footer-inner{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
