/* Legal documents reuse the site's type, colour and spacing tokens. */
.legal-page .legal-hero,
.legal-page .legal-hero .product-hero__inner { min-height: auto; }
.legal-page .legal-hero .product-hero__inner { padding-block: calc(var(--space-xxl) * 3); grid-template-columns: minmax(0, 1fr); }
.legal-page .legal-hero h1 { max-width: 20ch; }
.legal-page .legal-hero .product-hero__lead { max-width: 65ch; }
.legal-switch { display: flex; flex-wrap: wrap; gap: var(--space-xl); margin-top: var(--space-xxl); }
.legal-switch a { color: var(--text-secondary); padding-block: var(--space-s); border-bottom: 1px solid var(--divider); text-decoration: none; }
.legal-switch a[aria-current], .legal-switch a:hover { color: var(--accent); border-color: var(--accent); }
.legal-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: calc(var(--space-xxl) * 2); padding-block: calc(var(--space-xxl) * 2) var(--space-section); align-items: start; }
.legal-toc { position: sticky; top: calc(var(--header-h) + var(--space-xl)); min-width: 0; }
.legal-toc nav > p { color: var(--text-primary); font-weight: var(--font-weight-heading); }
.legal-toc ol { padding-left: var(--space-xl); margin: 0; color: var(--text-secondary); }
.legal-toc li { padding-block: var(--space-s); font-size: var(--font-body-lg); }
.legal-toc a { text-decoration: none; }
.legal-toc li a { color: var(--text-secondary); }
.legal-toc li a:hover { color: var(--accent); }
.legal-contact { display: flex; align-items: center; gap: var(--space-s); margin-top: var(--space-xxl); font-size: var(--font-body-lg); overflow-wrap: anywhere; }
.legal-content { min-width: 0; max-width: 75ch; }
.legal-section { padding-bottom: var(--space-xxl); margin-bottom: var(--space-xxl); border-bottom: 1px solid var(--divider); scroll-margin-top: calc(var(--header-h) + var(--space-xl)); }
.legal-section:last-child { margin-bottom: 0; }
.legal-section h2 { font-size: var(--font-hero); line-height: 1.3; margin-bottom: var(--space-xl); }
.legal-section p, .legal-section li { color: var(--text-secondary); font-size: var(--font-text); line-height: 1.75; }
.legal-section ul { padding-left: var(--space-xl); }
.legal-section li + li { margin-top: var(--space-m); }
.legal-section strong { color: var(--text-primary); }
.legal-section .legal-pending { padding: var(--space-l); background: var(--surface-control); border-left: var(--space-xs) solid var(--accent); }
@media (min-width: 1024px) and (max-width: 1199px) { .legal-page .site-header__bar { gap: var(--space-s); } }
@media (max-width: 820px) {
 .legal-page .legal-hero .product-hero__inner { padding-block: calc(var(--space-xxl) * 2); }
 .legal-layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-xxl); }
 .legal-toc { position: static; padding-bottom: var(--space-xxl); border-bottom: 1px solid var(--divider); }
 .legal-toc ol { columns: 2; column-gap: var(--space-xxl); }
 .legal-toc li { break-inside: avoid; }
}
@media (max-width: 480px) { .legal-toc ol { columns: 1; } }

/* Avoid stacking the product hero offset with legal document padding. */
.legal-page .legal-hero .product-hero__copy { padding-top: 0; }
.legal-page .legal-hero .product-hero__inner { padding-top: calc(var(--space-xxl) * 1.5); padding-bottom: calc(var(--space-xxl) * 2); }
@media (max-width: 820px) { .legal-page .legal-hero .product-hero__inner { padding-top: var(--space-xxl); padding-bottom: var(--space-xxl); } }

/* Match the visible bg5 hero motif used on Support and Contact. */
.legal-page .legal-hero .product-hero__pattern {
 background: url("../assets/images/bg5.png") right center / min(960px, 100vw) auto no-repeat;
 opacity: .58;
 -webkit-mask-image: linear-gradient(90deg, transparent 8%, #000 70%);
 mask-image: linear-gradient(90deg, transparent 8%, #000 70%);
}
@media (max-width: 820px) {
 .legal-page .legal-hero .product-hero__pattern { opacity: .36; background-position: right center; }
}

.legal-page .legal-layout { padding-block: var(--subpage-section-space); }


/* Quieter texture for legal documents. */
.legal-page .legal-hero .product-hero__pattern { opacity: .24; }
@media (max-width: 820px) { .legal-page .legal-hero .product-hero__pattern { opacity: .18; } }

/* Keep the privacy policy background barely visible. */
.legal-page .legal-hero .product-hero__pattern { opacity: .1; }
@media (max-width: 820px) { .legal-page .legal-hero .product-hero__pattern { opacity: .07; } }
