.legal-hero { padding-block:clamp(64px,8vw,112px); border-bottom:1px solid var(--ink); background:radial-gradient(circle at 84% 20%,rgba(31,91,255,.12),transparent 28rem); }
.legal-hero h1 { max-width:980px; margin-bottom:24px; font-size:clamp(48px,7vw,92px); }
.legal-hero__contractor { margin-bottom:clamp(36px,5vw,64px); font-size:clamp(20px,2vw,28px); font-weight:700; }
.legal-hero__meta { display:flex; justify-content:space-between; gap:24px; margin:0; padding-top:20px; border-top:1px solid var(--line); font-size:14px; }
.legal-layout { display:grid; grid-template-columns:minmax(0,760px) minmax(220px,1fr); gap:clamp(48px,8vw,120px); align-items:start; padding-block:clamp(64px,8vw,112px); }
.legal-document { min-width:0; }
.legal-section { padding-block:clamp(28px,4vw,48px); border-top:1px solid var(--line); }
.legal-section:first-child { padding-top:0; border-top:0; }
.legal-section h2 { margin-bottom:24px; font-size:clamp(24px,3vw,34px); line-height:1.12; letter-spacing:-.025em; }
.legal-section p { margin-bottom:1em; font-size:clamp(16px,1.35vw,19px); line-height:1.65; }
.legal-section p:last-child { margin-bottom:0; }
.legal-section a { color:var(--blue); text-underline-offset:4px; overflow-wrap:anywhere; }
.legal-source { position:sticky; top:112px; padding:24px; border:1px solid var(--ink); border-radius:var(--radius-card); background:var(--soft-blue); }
.legal-source p:last-child { margin-bottom:0; }
@media (max-width:760px) {
  .legal-hero__meta { flex-direction:column; gap:8px; }
  .legal-layout { grid-template-columns:1fr; gap:40px; }
  .legal-source { position:static; order:-1; }
  .legal-section h2 { overflow-wrap:anywhere; }
}
