.legal-page .brand-logo { width: 38px; height: 38px; }
.legal-hero { padding: 5rem 0; background: radial-gradient(circle at 12% 12%, rgba(239,192,167,.5), transparent 29%), radial-gradient(circle at 90% 86%, rgba(76,123,111,.16), transparent 25%); }
.legal-hero-grid { display: grid; grid-template-columns: 1fr 330px; gap: clamp(2rem,7vw,7rem); align-items: end; }
.legal-hero h1 { margin: 0; font: 400 clamp(3.8rem,8vw,7rem)/.94 Georgia,serif; letter-spacing: -.06em; }
.legal-hero-grid > div > p:last-child { max-width: 700px; color: var(--soft); font-size: 1.05rem; line-height: 1.7; }
.source-card { padding: 1.4rem; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,253,248,.94); box-shadow: 0 20px 45px rgba(36,62,57,.08); }
.source-card span { color: var(--coral); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.source-card strong { display: block; margin: .5rem 0; font: 400 1.1rem Georgia,serif; }
.source-card p { color: var(--soft); font-size: .74rem; line-height: 1.55; }
.source-card a, .legal-copy a { color: #286f67; text-decoration: underline; text-underline-offset: .2em; }
.legal-main { padding: 5rem 0; display: grid; grid-template-columns: 220px minmax(0,760px); gap: clamp(3rem,8vw,8rem); justify-content: center; align-items: start; }
.legal-nav { position: sticky; top: 1.5rem; display: grid; gap: .35rem; }
.legal-nav strong { margin-bottom: .6rem; color: var(--coral); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.legal-nav a { padding: .75rem .85rem; border-radius: 10px; color: var(--soft); font-size: .8rem; font-weight: 700; }
.legal-nav a.current { background: #dfeae6; color: var(--ink); }
.legal-copy section { padding: 0 0 2.2rem; margin: 0 0 2.2rem; border-bottom: 1px solid var(--line); }
.legal-copy section:last-child { border: 0; }
.legal-copy h2 { margin: 0 0 1rem; font: 400 clamp(1.8rem,3vw,2.4rem) Georgia,serif; letter-spacing: -.03em; }
.legal-copy p, .legal-copy li { color: #496661; font-size: .94rem; line-height: 1.75; }
.legal-copy li { margin: .55rem 0; }
.legal-alert { margin: 0 0 2.5rem; padding: 1.3rem; border-radius: 15px; background: #f4ded2; color: #623421; }
.legal-alert strong { font: 400 1.25rem Georgia,serif; }
.legal-alert p { margin: .5rem 0 0; color: #754832; font-size: .82rem; line-height: 1.55; }
.legal-table { overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; }
.legal-table table { width: 100%; min-width: 600px; border-collapse: collapse; background: white; font-size: .76rem; }
.legal-table th, .legal-table td { padding: .8rem; border-bottom: 1px solid var(--line); text-align: left; line-height: 1.45; }
.legal-table th { background: #e7f1ee; }
.legal-table tr:last-child td { border: 0; }
@media (max-width: 850px) { .legal-hero-grid, .legal-main { grid-template-columns: 1fr; } .legal-nav { position: static; grid-template-columns: repeat(2,1fr); } .legal-nav strong { grid-column: 1/-1; } }
@media (max-width: 600px) { .legal-page .brand { font-size: 1rem; white-space: nowrap; } .legal-hero { padding: 4rem 0; } .legal-hero h1 { font-size: clamp(3.2rem,16vw,5rem); } .legal-main { padding: 4rem 0; } .legal-nav { grid-template-columns: 1fr; } }
