.legal-hero{
background:linear-gradient(180deg,#f8f4ec,#f2eadb);
padding:6rem 1.5rem 4rem;
text-align:center;
position:relative;
}

.legal-hero::after{
content:'';
position:absolute;
inset:0;
background:radial-gradient(circle at top,rgba(201,162,74,.08),transparent 70%);
}

.legal-container{
max-width:1200px;
margin:auto;
display:grid;
grid-template-columns:320px 1fr;
gap:3rem;
padding:4rem 1.5rem;
}

@media(max-width:900px){
.legal-container{grid-template-columns:1fr;}
}

.toc{
position:sticky;
top:90px;
max-height:calc(100vh - 120px);
overflow:auto;
background:rgba(255,255,255,.96);
border:1.5px solid rgba(201,162,74,.35);
border-radius:1.25rem;
padding:2.25rem;
box-shadow:0 18px 55px rgba(0,0,0,.1);
}

.toc a{
display:block;
padding:.65rem 1rem;
border-radius:.6rem;
color:rgba(31,32,35,.75);
font-weight:500;
transition:.3s;
}

.toc a:hover,
.toc a.active{
background:rgba(201,162,74,.12);
color:var(--gold);
transform:translateX(6px);
}

.legal-card{
background:rgba(255,255,255,.9);
border:1.5px solid rgba(201,162,74,.28);
border-radius:1.5rem;
padding:3rem;
margin-bottom:2.5rem;
box-shadow:0 18px 60px rgba(31,32,35,.08);
transition:.35s;
}

.legal-card:hover{
transform:translateY(-4px);
box-shadow:0 26px 80px rgba(31,32,35,.12);
}

.section-number{
width:48px;
height:48px;
border-radius:12px;
display:flex;
align-items:center;
justify-content:center;
background:linear-gradient(135deg,#c9a24a,#e6c98b);
font-weight:900;
margin-bottom:1rem;
color:#1f2023;
}

.legal-title{
font-family:'Playfair Display',serif;
font-size:1.75rem;
margin-bottom:1rem;
color:#1f2023;
}

.legal-content p{
color:rgba(31,32,35,.85);
line-height:1.9;
margin-bottom:1rem;
font-size:1.05rem;
}

.effective-pill{
display:inline-block;
background:rgba(201,162,74,.12);
padding:.6rem 1.6rem;
border-radius:999px;
border:1px solid rgba(201,162,74,.3);
font-weight:600;
color:#1f2023;
}