.legal-page{max-width:900px;padding-block:56px 80px;overflow-wrap:anywhere}
.legal-header{height:auto;min-height:90px;padding-block:12px}
.legal-header>.text-link{min-height:44px;text-align:right}
.legal-page h1{font-size:clamp(2.5rem,6vw,4.25rem);line-height:1.08;margin:20px 0 18px;letter-spacing:-.055em}
.legal-lead{color:var(--muted);font-size:1.125rem;line-height:1.7;max-width:750px}
.legal-updated{font-size:.875rem;color:var(--muted);margin-top:16px}
.legal-nav{display:flex;flex-wrap:wrap;gap:8px 12px;padding-block:26px;border-bottom:1px solid var(--line);margin-bottom:28px}
.legal-nav a{padding:12px 16px;min-height:46px;border:1px solid var(--line);border-radius:8px;font-size:.9375rem;font-weight:600;line-height:1.5}
.legal-nav a[aria-current=page]{background:var(--blue);border-color:var(--blue);color:white}
.legal-summary{background:var(--ice);border-left:4px solid var(--red);padding:24px 26px;border-radius:0 16px 16px 0;margin-block:24px 32px}
.legal-summary>strong{font-size:1.125rem;line-height:1.5}
.legal-summary p{margin-top:8px}
.legal-index{background:#f8f9fc;border:1px solid var(--line);padding:20px 24px;border-radius:16px}
.legal-index>p{font-weight:600}
.legal-index ol{columns:2;column-gap:30px;padding-left:20px;margin:12px 0 0}
.legal-index li{padding:0 0 5px 3px;break-inside:avoid;line-height:1.5}
.legal-index a{display:inline-block;min-height:36px;padding-block:6px}
.legal-content section{padding-top:32px;scroll-margin-top:24px}
.legal-content h2{font-size:1.5rem;letter-spacing:-.035em;line-height:1.3;margin-bottom:16px}
.legal-content h3{font-size:1.125rem;line-height:1.45;margin:20px 0 10px;letter-spacing:-.02em}
.legal-content p,.legal-summary p{font-size:1rem;line-height:1.8;color:var(--muted)}
.legal-content p+p{margin-top:14px}
.legal-content strong,.legal-summary strong{color:var(--ink)}
.legal-content ul,.legal-content ol{padding-left:24px;margin-block:14px;font-size:1rem;line-height:1.8;color:var(--muted)}
.legal-content li+li{margin-top:8px}
.legal-content a,.legal-summary a,.legal-index a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;color:var(--blue)}
.legal-content a:hover,.legal-index a:hover{color:var(--red)}
.legal-data{margin:0;border-top:1px solid var(--line)}
.legal-data>div{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(0,1.3fr);gap:18px;border-bottom:1px solid var(--line);padding:16px 0;line-height:1.7;font-size:1rem}
.legal-data dt{font-weight:600}
.legal-data dd{margin:0;color:var(--muted);min-width:0}
.legal-purpose{border:1px solid var(--line);border-radius:14px;padding:20px 24px;margin-top:16px}
.legal-purpose h3{margin-top:0}
.legal-contact{padding:24px;border-radius:16px;background:var(--ice);margin-top:32px}
.legal-contact h2{margin-bottom:10px}
.legal-contact .button{margin-top:18px;text-decoration:none;color:white;max-width:100%;white-space:normal}
@media(max-width:680px){
  .legal-page{padding-block:32px 48px}
  .legal-header{min-height:76px}
  .legal-header>.text-link{font-size:.875rem;gap:6px}
  .legal-page h1{font-size:clamp(2.2rem,9vw,3rem);margin-top:16px}
  .legal-lead{font-size:1rem}
  .legal-nav{gap:8px;padding-block:22px}
  .legal-nav a{padding:10px 12px;flex:1 1 auto;text-align:center;font-size:.875rem}
  .legal-summary,.legal-index,.legal-purpose,.legal-contact{padding:20px}
  .legal-index ol{columns:1}
  .legal-index a{min-height:44px}
  .legal-data>div{grid-template-columns:1fr;gap:4px}
  .legal-content section{padding-top:28px;scroll-margin-top:12px}
  .legal-content h2{font-size:1.35rem}
  .legal-contact .button{width:100%}
}
@media print{
  .legal-header,.legal-nav,.legal-index,.footer,.skip-link{display:none!important}
  .legal-page{width:auto;max-width:none;margin:0;padding:0}
  .legal-page h1{font-size:26pt}
  .legal-content h2{font-size:16pt;break-after:avoid}
  .legal-content h3{break-after:avoid}
  .legal-content p,.legal-content li{font-size:11pt;color:#111}
  .legal-summary,.legal-purpose,.legal-contact{background:white;box-shadow:none}
}
