:root { --navy:#092744; --gold:#e9a735; --teal:#277f82; --ink:#263840; --paper:#f8f8f5; --line:#dce1e0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter, Arial, sans-serif; line-height:1.65; }
a { color:inherit; }
.legal-header, .legal-main, .legal-footer { width:min(72rem, calc(100% - 3rem)); margin-inline:auto; }
.legal-header { padding:2rem 0; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }
.legal-header a { text-decoration:none; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.legal-brand { color:var(--navy); font-size:1rem !important; }
.legal-main { max-width:48rem; padding:clamp(4rem, 10vw, 8rem) 0; }
.eyebrow { margin:0 0 1rem; color:var(--teal); font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
h1 { max-width:44rem; margin:0; color:var(--navy); font-size:clamp(3rem, 8vw, 6rem); line-height:.95; letter-spacing:-.07em; }
.updated { margin:1.5rem 0 4rem; color:#68777a; font-size:.82rem; }
h2 { margin:3rem 0 .75rem; color:var(--navy); font-size:1.45rem; letter-spacing:-.03em; }
p, li { font-size:1rem; }
ul { padding-left:1.25rem; }
.notice { margin:2.5rem 0; padding:1.3rem 1.5rem; border-left:4px solid var(--gold); background:#fff; }
.legal-footer { padding:2rem 0 3rem; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:1rem; color:#647276; font-size:.78rem; }
.legal-footer nav { display:flex; flex-wrap:wrap; gap:1rem; }
@media (max-width:600px) { .legal-header { align-items:flex-start; flex-direction:column; gap:1rem; } .legal-footer { align-items:flex-start; flex-direction:column; } }
