:root{
  --legal-max:900px;
}
.legal-page{background:#f7f9fc;color:var(--text)}
.legal-page .site-header{background:rgba(255,255,255,.98)}
.legal-shell{width:min(var(--legal-max),calc(100% - 40px));margin-inline:auto}
.legal-hero{padding:64px 0 34px;background:linear-gradient(180deg,#eef5ff 0%,#f7f9fc 100%);border-bottom:1px solid var(--line)}
.legal-kicker{margin:0 0 10px;color:var(--blue);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em}
.legal-hero h1{margin:0;color:var(--navy);font-size:clamp(2.25rem,5vw,3.75rem);line-height:1.04;letter-spacing:-.04em}
.legal-updated{margin:14px 0 0;color:var(--muted);font-size:.9rem}
.legal-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:44px;align-items:start;padding:48px 0 82px}
.legal-toc{position:sticky;top:104px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 12px 34px rgba(22,46,88,.06)}
.legal-toc strong{display:block;color:var(--navy);font-size:.85rem;margin-bottom:8px}
.legal-toc a{display:block;color:#5d6879;font-size:.83rem;padding:7px 0;text-decoration:none}
.legal-toc a:hover{color:var(--blue)}
.legal-content{background:#fff;border:1px solid var(--line);border-radius:20px;padding:38px 42px;box-shadow:0 18px 55px rgba(22,46,88,.07)}
.legal-content h2{scroll-margin-top:105px;color:var(--navy);font-size:1.38rem;line-height:1.25;margin:38px 0 12px;letter-spacing:-.015em}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{color:var(--navy);font-size:1rem;margin:24px 0 8px}
.legal-content p,.legal-content li{color:#526078;font-size:.96rem}
.legal-content p{margin:0 0 14px}
.legal-content ul{padding-left:21px;margin:10px 0 18px}
.legal-content li{margin-bottom:7px}
.legal-content a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.legal-box{background:var(--soft2);border:1px solid #d5e4fa;border-radius:14px;padding:18px 20px;margin:16px 0 20px;color:#42516a}
.legal-box strong{color:var(--navy)}
.legal-note{border-left:4px solid var(--blue);background:#f4f8ff;padding:15px 18px;border-radius:0 12px 12px 0;margin:18px 0;color:#4e5c72}
.legal-table-wrap{overflow-x:auto;margin:18px 0 26px}
.legal-table{width:100%;border-collapse:collapse;min-width:620px;font-size:.88rem}
.legal-table th,.legal-table td{padding:13px 14px;border:1px solid #dfe6f0;vertical-align:top;text-align:left}
.legal-table th{background:#f5f8fd;color:var(--navy);font-weight:800}
.legal-table td{color:#526078;background:#fff}
.legal-page .site-footer{margin-top:0}
.legal-page .footer-grid a,.legal-page .footer-grid p{text-decoration:none}
.legal-page .footer-credit a{text-decoration:none}
@media(max-width:980px){
  .legal-layout{grid-template-columns:1fr;gap:22px}
  .legal-toc{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
  .legal-toc strong{grid-column:1/-1}
}
@media(max-width:620px){
  .legal-shell{width:min(100% - 32px,var(--legal-max))}
  .legal-hero{padding:42px 0 26px}
  .legal-hero h1{font-size:2.25rem}
  .legal-layout{padding:28px 0 58px}
  .legal-toc{display:block;padding:15px 17px}
  .legal-content{padding:25px 20px;border-radius:16px}
  .legal-content h2{font-size:1.24rem;margin-top:32px}
  .legal-content p,.legal-content li{font-size:.93rem}
}

/* Keep the cookies document within narrow screens. */
@media(max-width:980px){
  .cookies-page .legal-layout{grid-template-columns:minmax(0,1fr)}
  .cookies-page .legal-content{min-width:0;overflow-wrap:anywhere}
  .cookies-page .legal-table-wrap{max-width:100%}
}
