.legal-hero {
  position: relative;
  padding-block: calc(var(--header-height) + clamp(4rem, 8vw, 7rem)) clamp(3rem, 6vw, 5rem);
  overflow: hidden;
  background: radial-gradient(circle at 75% 15%, rgba(37, 99, 235, 0.14), transparent 28rem);
}
.legal-hero::after { content: ""; position: absolute; inset-inline: 0; inset-block-end: 0; block-size: 1px; background: linear-gradient(90deg, transparent, var(--color-border-strong), transparent); }
.legal-hero .breadcrumbs { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-block-end: 2rem; color: var(--color-text-muted); font-size: 0.76rem; }
.legal-hero .breadcrumbs a:hover { color: var(--color-cyan); }
.legal-hero h1 { max-inline-size: 58rem; margin-block-end: 1rem; font-size: clamp(2.75rem, 7vw, 5.75rem); line-height: 0.98; letter-spacing: -0.05em; }
html[dir="rtl"] .legal-hero h1 { letter-spacing: -0.02em; }
.legal-hero p { max-inline-size: 46rem; color: var(--color-text-secondary); }
.legal-content { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.legal-layout { display: grid; grid-template-columns: minmax(12rem, 0.3fr) minmax(0, 0.7fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: start; }
.legal-layout--single { grid-template-columns: minmax(0, 1fr); }
.legal-layout--single .legal-article { max-inline-size: 58rem; }
.legal-aside { position: sticky; inset-block-start: calc(var(--header-height) + 1.5rem); padding: 1.25rem; border: 1px solid var(--color-border); border-radius: var(--radius-medium); background: var(--color-surface); }
.legal-aside strong { display: block; margin-block-end: 0.65rem; font-size: 0.78rem; }
.legal-aside p { color: var(--color-text-muted); font-size: 0.76rem; }
.legal-article { max-inline-size: 52rem; }
.legal-notice { margin-block-end: 2.5rem; padding: 1.25rem; border-inline-start: 3px solid var(--color-blue-light); border-radius: var(--radius-small); background: rgba(37, 99, 235, 0.09); color: var(--color-text-secondary); font-size: 0.85rem; }
.legal-article section { padding-block: 0 2.25rem; }
.legal-article h2 { margin-block-end: 0.75rem; font-size: clamp(1.35rem, 3vw, 1.8rem); letter-spacing: -0.02em; }
.legal-article h3 { margin-block-end: 0.6rem; font-size: 1.05rem; }
.legal-article p, .legal-article li { color: var(--color-text-secondary); }
.legal-article ul { padding-inline-start: 1.25rem; }
.legal-name { color: var(--color-text-primary) !important; font-size: 1rem; font-weight: 750; }
.legal-preparation-note { max-inline-size: 46rem; margin-block-start: 0.7rem; padding-inline-start: 0.85rem; border-inline-start: 2px solid rgba(56, 189, 248, 0.55); color: var(--color-text-muted) !important; font-size: 0.78rem; }

.error-page { min-block-size: 100svh; min-block-size: 100dvh; display: grid; place-items: center; padding-block: calc(var(--header-height) + 3rem) 3rem; overflow: hidden; }
.error-layout { display: grid; grid-template-columns: 1fr 0.9fr; align-items: center; gap: clamp(2rem, 7vw, 6rem); }
.error-code { display: inline-block; margin-block-end: 0.4rem; color: transparent; background: linear-gradient(135deg, var(--color-blue-light), var(--color-cyan)); background-clip: text; -webkit-background-clip: text; font-size: clamp(5rem, 18vw, 12rem); font-weight: 900; line-height: 0.85; letter-spacing: -0.08em; }
.error-copy h1 { margin-block-end: 1rem; font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1.05; }
.error-copy p { max-inline-size: 38rem; margin-block-end: 2rem; color: var(--color-text-secondary); }
.error-visual { position: relative; aspect-ratio: 1; display: grid; place-items: center; }
.error-visual::before, .error-visual::after { content: ""; position: absolute; border: 1px solid rgba(56, 189, 248, 0.22); border-radius: 50%; }
.error-visual::before { inset: 8%; }
.error-visual::after { inset: 21%; border-style: dashed; animation: orbit-spin 26s linear infinite; }
.error-node { inline-size: 42%; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--color-border-strong); border-radius: 34%; background: radial-gradient(circle at 30% 20%, rgba(56, 189, 248, 0.2), rgba(13, 24, 40, 0.95)); box-shadow: var(--shadow-glow); color: var(--color-cyan); }
.error-node svg { inline-size: 42%; block-size: 42%; }

@media (max-width: 767px) {
  .legal-layout, .error-layout { grid-template-columns: 1fr; }
  .legal-aside { position: static; }
  .error-copy { text-align: center; }
  .error-copy p { margin-inline: auto; }
  .error-visual { inline-size: min(100%, 23rem); margin-inline: auto; }
}

@media (prefers-reduced-motion: reduce) { .error-visual::after { animation: none; } }
