.legal-page{background:#fff}
.legal-hero{padding:82px 0 62px;background:linear-gradient(180deg,#f7f9fc 0%,#fff 100%);border-bottom:1px solid var(--line)}
.legal-hero-inner{max-width:900px}.legal-hero h1{font-size:clamp(2.7rem,5vw,4rem);margin-bottom:20px}.legal-hero .legal-intro{font-size:1.12rem;line-height:1.8;max-width:800px;color:#40506a;margin-bottom:14px}.legal-meta{display:flex;flex-wrap:wrap;gap:9px 18px;margin:24px 0 0;padding:0;list-style:none;color:#68758a;font-size:.82rem}.legal-meta strong{color:var(--navy)}
.legal-layout{display:grid;grid-template-columns:240px minmax(0,760px);gap:72px;align-items:start;justify-content:center;padding:72px 0 104px}.legal-toc{position:relative;align-self:stretch}.legal-toc-inner{position:sticky;top:108px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;box-shadow:var(--shadow-soft)}.legal-toc h2{font-family:"Inter",sans-serif;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;color:#6c788b}.legal-toc a{display:block;padding:8px 9px;border-radius:8px;font-size:.79rem;line-height:1.35;color:#53627a;font-weight:600}.legal-toc a:hover{background:var(--surface-alt);color:var(--blue)}
.legal-body{min-width:0}.legal-body section{padding:0 0 42px;margin:0 0 42px;border-bottom:1px solid var(--line)}.legal-body section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.legal-body h2{font-size:1.72rem;line-height:1.25;margin-bottom:15px}.legal-body h3{font-size:1.05rem;margin:25px 0 8px;letter-spacing:-.02em}.legal-body p,.legal-body li{font-size:.94rem;line-height:1.78;color:#4f5e75}.legal-body ul,.legal-body ol{padding-left:22px;margin:14px 0 0}.legal-body li+li{margin-top:8px}.legal-body a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.legal-body strong{color:#273a55}.legal-body code{font-size:.88em;background:#f1f4f8;padding:2px 5px;border-radius:5px}
.legal-callout{border:1px solid #d9e5fb;background:var(--surface-blue);border-radius:16px;padding:20px 22px;margin:20px 0}.legal-callout p:last-child{margin-bottom:0}.legal-warning{border-left:4px solid var(--blue);padding:4px 0 4px 18px;margin:20px 0}.legal-identity{display:grid;gap:5px;border:1px solid var(--line);border-radius:16px;padding:20px 22px;background:var(--surface-alt);margin-top:22px}.legal-identity strong{font-family:"Manrope",sans-serif;color:var(--navy);font-size:1rem}.legal-identity span{font-size:.83rem;line-height:1.55;color:#65728a}.legal-table-wrap{overflow-x:auto;margin:20px 0}.legal-table{width:100%;border-collapse:collapse;min-width:680px;font-size:.82rem}.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:13px 14px;border:1px solid var(--line);line-height:1.55}.legal-table th{background:var(--surface-alt);color:var(--navy);font-weight:700}.legal-table td{color:#53627a}.legal-table td strong{display:block;margin-bottom:2px}.legal-note{font-size:.82rem!important;color:#6c788b!important}.legal-contact-card{border-radius:18px;background:var(--navy);padding:26px 28px;color:#d7e1ef}.legal-contact-card h2{color:#fff;margin-bottom:10px}.legal-contact-card p{color:#b9c6d9}.legal-contact-card a{color:#fff}.legal-contact-card p:last-child{margin-bottom:0}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr;gap:32px;padding-top:48px}.legal-toc{align-self:auto}.legal-toc-inner{position:static}.legal-toc-inner nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.legal-hero{padding:64px 0 46px}}
@media(max-width:620px){.legal-hero{padding:52px 0 38px}.legal-layout{padding:38px 0 76px}.legal-toc-inner nav{grid-template-columns:1fr}.legal-body section{padding-bottom:32px;margin-bottom:32px}.legal-body h2{font-size:1.5rem}.legal-callout,.legal-identity{padding:18px}.legal-meta{display:grid;gap:7px}}

/* F legal page refinement: restore internal bottom padding on the final contact card.
   The generic last-section rule intentionally removes section spacing, but it also
   overrides the card's padding-bottom because of selector specificity. */
.legal-body section:last-child.legal-contact-card{
  padding:26px 28px;
}
