.legal-hero {
    padding: calc(var(--site-chrome-height) + clamp(3rem, 6vw, 5rem)) 0 clamp(4rem, 7vw, 6rem);
    background:
        radial-gradient(circle at 82% 15%, rgba(45, 103, 167, 0.16), transparent 34rem),
        var(--color-ink, #07152f);
    color: #fff;
}

.legal-hero .eyebrow { color: #85b8f1; }
.legal-hero h1 { max-width: 15ch; margin-top: 1.4rem; font-size: clamp(2.85rem, 3.45vw, 3.75rem); line-height: 1.08; letter-spacing: -0.045em; }
.legal-hero p:last-child { max-width: 40rem; margin-top: 1.8rem; color: #b9c6d8; font-size: clamp(1rem, 1.6vw, 1.25rem); line-height: 1.8; }

.legal-layout { display: grid; grid-template-columns: minmax(12rem, 0.35fr) minmax(0, 1fr); gap: clamp(3rem, 8vw, 8rem); padding-block: clamp(4.5rem, 9vw, 8rem); }
.legal-aside { align-self: start; position: sticky; top: calc(var(--site-chrome-height) + 1.5rem); }
.legal-aside span { display: block; color: #5f6e83; font-size: var(--type-label); font-weight: 800; letter-spacing: 0.08em; }
.legal-aside strong { display: block; margin-top: 0.8rem; color: #15213a; font-size: 1rem; }
.legal-aside a { display: inline-flex; margin-top: 1.6rem; color: #255f9e; font-weight: 800; text-decoration: underline; text-underline-offset: 0.35rem; }
.legal-copy { max-width: 52rem; }
.legal-copy > p { color: #4f5d70; font-size: 1.05rem; line-height: 1.9; }
.legal-copy article { padding-block: 2.4rem; border-bottom: 1px solid #dce2ea; }
.legal-copy article:first-of-type { margin-top: 1.5rem; border-top: 1px solid #dce2ea; }
.legal-copy h2 { color: #12203a; font-size: clamp(1.3rem, 2.2vw, 1.75rem); letter-spacing: -0.035em; }
.legal-copy article p,
.legal-copy article li { margin-top: 0.85rem; color: #526074; line-height: 1.85; }
.legal-copy ul { margin: 0.6rem 0 0; padding-left: 1.2rem; }
.legal-copy a { color: #1f5592; font-weight: 750; text-decoration: underline; text-decoration-thickness: 0.08em; text-underline-offset: 0.25em; }
.legal-copy .legal-note { padding: 1.35rem 1.5rem; border: 1px solid #cfd8e5; background: #f5f8fb; color: #33445c; }
.legal-copy .legal-note strong { display: block; margin-bottom: 0.35rem; color: #9b3f16; }

.error-page { min-height: 100svh; display: grid; grid-template-rows: auto 1fr auto; background: #07152f; color: #fff; }
.error-page .site-header { background: rgba(255, 255, 255, 0.98); }
.error-main { display: grid; place-items: center; padding: clamp(9rem, 18vw, 13rem) 0 5rem; overflow: hidden; }
.error-grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(18rem, 1.2fr); align-items: center; gap: clamp(3rem, 8vw, 8rem); }
.error-code { position: relative; color: #d8e8fb; font-size: clamp(7rem, 16vw, 13rem); font-weight: 850; line-height: 0.8; letter-spacing: -0.08em; }
.error-code::after { content: ""; position: absolute; inset: 48% -10% auto 3%; height: 2px; background: #39bd84; box-shadow: 0 0 0 0.45rem rgba(57, 189, 132, 0.08); }
.error-copy .eyebrow { color: #85b8f1; }
.error-copy h1 { max-width: 14ch; margin-top: 1.2rem; font-size: clamp(2.5rem, 3.8vw, 3.75rem); line-height: 1.08; letter-spacing: -0.045em; }
.error-copy > p { max-width: 34rem; margin-top: 1.5rem; color: #b8c7da; font-size: 1.08rem; line-height: 1.8; }
.error-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2.2rem; }
.error-page .site-footer { border-top: 1px solid rgba(255,255,255,0.12); background: transparent; }

@media (max-width: 50rem) {
    .legal-layout { grid-template-columns: 1fr; gap: 2rem; }
    .legal-aside { position: static; padding-bottom: 1.5rem; border-bottom: 1px solid #dce2ea; }
    .error-grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .error-code { font-size: clamp(7rem, 38vw, 10rem); }
}
