.legal-page h1{margin:0;color:#fff;font-size:var(--h1-size);line-height:1;letter-spacing:-.04em}
.legal-hero{padding:var(--hero-pad) 0;color:#fff}
.legal-hero>.shell{position:relative;z-index:3}
.legal-hero .legal-updated{margin:22px 0 0;font-size:14px;color:rgba(255,255,255,.62)}
.legal-content{padding:var(--section-pad) 0}
.legal-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:56px;align-items:start}
.legal-layout .legal-card{max-width:none}
.legal-toc{position:sticky;top:120px;padding:26px 28px;background:#f7f7f7;border:1px solid rgba(24,24,24,.07);border-radius:14px 0 14px 0}
.legal-toc strong{display:block;margin-bottom:14px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#777}
.legal-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:toc}
.legal-toc li{counter-increment:toc}
.legal-toc a{display:flex;gap:10px;font-size:14px;line-height:1.4;font-weight:700;color:#333;transition:color .2s ease}
.legal-toc a:before{content:counter(toc,decimal-leading-zero);flex:0 0 auto;color:var(--red);font-weight:800}
.legal-toc a:hover{color:var(--red)}
.legal-card{max-width:900px;padding:48px;border:0;background:#fff;border-radius:18px 0 18px 0;box-shadow:0 18px 42px rgba(24,24,24,.06)}
.legal-card h2{margin:0 0 42px;line-height:1.1}
.legal-group{padding:26px 0;border-top:1px solid #e8e8e8;scroll-margin-top:110px}
.legal-group:first-of-type{border-top:0;padding-top:0}
.legal-group h3{margin:0 0 10px}
.legal-group p{margin:0 0 12px;color:#555;font-size:17px;line-height:1.7}
.legal-group p:last-child{margin-bottom:0}
.legal-group ul{margin:0 0 12px;padding-left:22px;color:#555;font-size:17px;line-height:1.7}
.legal-group li{margin-bottom:4px}
.legal-group a{color:var(--red);font-weight:700}
.legal-group a:hover{text-decoration:underline}
.legal-group h4{margin:18px 0 8px;font-size:16px!important;line-height:1.3}
.legal-placeholder{display:inline-block;padding:1px 8px;background:rgba(227,0,23,.08);border:1px dashed rgba(227,0,23,.5);border-radius:6px;color:#9a0010;font-weight:700;font-size:.92em}
@media(max-width:1100px){
  .legal-layout{grid-template-columns:1fr;gap:36px}
  .legal-toc{position:static}
}
@media(max-width:760px){
  .legal-page h1{hyphens:auto;overflow-wrap:anywhere}
  .legal-card{padding:30px 24px;border-radius:14px 0 14px 0}
  .legal-toc{padding:20px 22px}
}
