:root {
    --navy-950: #081827;
    --navy-900: #102a43;
    --navy-800: #173f5f;
    --aqua: #2bb3a3;
    --aqua-light: #c7f0e9;
    --gold: #f2b84b;
    --ink: #162536;
    --muted: #5c6d7e;
    --paper: #f7f5ef;
    --white: #ffffff;
    --line: #dce3e7;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0 !important;
    color: var(--ink) !important;
    background: var(--paper) !important;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    -webkit-font-smoothing: antialiased;
}

a { color: inherit; }
a:hover { color: inherit; text-decoration: none; }

.wrapper { display: block !important; width: 100%; }
#sidebar,
.overlay { display: none !important; }

#content {
    width: 100% !important;
    min-height: 100vh;
    margin: 0 !important;
    padding: 0 !important;
    transition: none !important;
}

.legal-header.navbar {
    min-height: 96px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: var(--ink);
    background: var(--paper) !important;
    box-shadow: none;
}

.legal-header .container-fluid {
    width: min(1180px, calc(100% - 48px));
    min-height: 96px;
    margin: 0 auto;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.legal-brand,
.footer-brand {
    display: flex;
    align-items: center;
    gap: 13px;
    text-decoration: none;
}

.legal-brand img { width: 58px; height: auto; }
.legal-brand span,
.footer-brand span { display: grid; gap: 3px; }
.legal-brand strong { color: var(--ink); font-size: 16px; letter-spacing: -.02em; }
.legal-brand small { color: var(--muted); font-size: 11px; letter-spacing: .02em; }

.legal-nav {
    display: flex;
    align-items: center;
    gap: 24px;
    color: #435569;
    font-size: 13px;
    font-weight: 650;
}

.legal-nav a:hover { color: var(--navy-900); }

.nav-current {
    padding: 12px 18px;
    border: 1px solid var(--navy-900);
    border-radius: 999px;
    color: var(--navy-900);
}

.legal-intro {
    width: min(940px, calc(100% - 48px));
    margin: 0 auto;
    padding: 80px 0 54px;
}

.eyebrow {
    margin: 0 0 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--navy-800);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.eyebrow span {
    width: 28px;
    height: 2px;
    background: var(--aqua);
}

.legal-intro h1 {
    margin: 0;
    color: var(--navy-950);
    font-size: clamp(48px, 5vw, 70px);
    font-weight: 760;
    line-height: 1;
    letter-spacing: -.055em;
}

.legal-intro h1 em {
    color: var(--aqua);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
}

.legal-intro > p:last-child {
    max-width: 700px;
    margin: 25px 0 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.7;
}

.legal-page.container {
    width: min(940px, calc(100% - 48px));
    max-width: none;
    margin: 0 auto 110px !important;
    padding: 48px 54px;
    overflow: hidden;
    color: var(--ink);
    background: var(--white);
    border: 1px solid #d7e0e5;
    border-radius: 18px;
    box-shadow: 0 30px 80px rgba(16, 42, 67, .1);
}

.legal-page h1,
.legal-page h2,
.legal-page h3 {
    color: var(--navy-900) !important;
    font-family: inherit !important;
    letter-spacing: -.025em;
}

.legal-page h1 {
    margin: 0 0 12px;
    font-size: 32px;
    line-height: 1.2;
}

.legal-page h3 {
    margin: 0 0 28px;
    color: var(--aqua) !important;
    font-size: 17px;
    line-height: 1.5;
}

.legal-page h2 {
    margin: 42px 0 16px;
    padding-top: 34px;
    border-top: 1px solid #e6ecef;
    font-size: 23px;
    line-height: 1.3;
}

.legal-page > h2:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.legal-page p,
.legal-page li,
.legal-page address {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.78;
}

.legal-page p { margin: 0 0 17px; }
.legal-page ol,
.legal-page ul { margin: 0 0 20px; padding-left: 25px; }
.legal-page li { margin-bottom: 8px; }
.legal-page li::marker { color: var(--aqua); font-weight: 800; }

.legal-page address {
    margin: 12px 0 24px;
    padding: 16px 18px;
    border-left: 3px solid var(--aqua);
    background: #f2f8f7;
    font-style: normal;
}

.legal-page a {
    color: var(--navy-800);
    font-weight: 650;
    text-decoration: underline;
    text-decoration-color: rgba(43, 179, 163, .55);
    text-underline-offset: 3px;
}

.site-footer {
    min-height: 120px;
    padding: 26px max(24px, calc((100% - 1180px) / 2));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    color: #94a7b5;
    background: #06121e;
    font-size: 11px;
}

.footer-brand img { width: 47px; height: auto; }
.footer-brand strong { color: var(--white); font-size: 12px; }
.footer-brand small { color: #7f94a4; font-size: 9px; }
.footer-links { display: flex; gap: 20px; }
.site-footer a:hover { color: var(--white); }

@media (max-width: 660px) {
    .legal-header .container-fluid,
    .legal-intro,
    .legal-page.container { width: min(100% - 32px, 940px); }
    .legal-header.navbar,
    .legal-header .container-fluid { min-height: 78px; }
    .legal-brand img { width: 46px; }
    .legal-brand small { display: none; }
    .legal-brand strong { font-size: 14px; }
    .legal-nav > a:first-child { display: none; }
    .nav-current { padding: 10px 14px; }
    .legal-intro { padding: 56px 0 38px; }
    .legal-intro h1 { font-size: clamp(43px, 13vw, 60px); }
    .legal-page.container { margin-bottom: 78px !important; padding: 28px 22px; border-radius: 14px; }
    .legal-page h1 { font-size: 27px; }
    .legal-page h2 { font-size: 21px; }
    .site-footer { align-items: flex-start; flex-direction: column; padding-top: 36px; padding-bottom: 36px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}
