:root {
    --ivory: #f6f0e8;
    --ivory-soft: #fbf8f3;
    --paper: #fffdf9;
    --blush: #e8aaa9;
    --rose: #9e4f53;
    --rose-dark: #853f42;
    --cocoa: #35251f;
    --cocoa-soft: #59453c;
    --sand: #d9c7b2;
    --line: rgba(53, 37, 31, .17);
    --white: #fff;
    --serif: "Bodoni 72", Didot, "Iowan Old Style", Baskerville, Georgia, serif;
    --sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
    --container: 1240px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--cocoa);
    background: var(--ivory);
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--rose); outline-offset: 4px; }
::selection { color: var(--white); background: var(--rose); }
.skip-link {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 12px;
    padding: 10px 14px;
    color: var(--white);
    background: var(--cocoa);
    transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.serif { font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; line-height: .98; }

/* Same navigation, brand treatment, and mobile overlay as the home page. */
.site-header {
    position: relative;
    z-index: 100;
    color: var(--ivory);
    background: var(--cocoa);
}
.nav { display: flex; align-items: center; min-height: 94px; gap: 34px; }
.brand { display: inline-flex; flex: 0 0 auto; }
.brand img { width: 158px; height: auto; filter: brightness(0) invert(1); }
.nav-links { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.nav-links > a:not(.nav-cta) { font-size: .82rem; font-weight: 680; letter-spacing: .02em; }
.nav-links > a:not(.nav-cta):hover { color: var(--blush); }
.nav-cta, .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 51px;
    padding: 0 24px;
    border: 1px solid transparent;
    color: var(--white);
    background: var(--rose);
    font-size: .86rem;
    font-weight: 720;
    line-height: 1.1;
    text-align: center;
    transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}
.nav-cta:hover, .button:hover { background: var(--rose-dark); }
.menu-toggle {
    display: none;
    padding: 11px 0 11px 18px;
    border: 0;
    color: var(--ivory);
    background: transparent;
    font: 720 .77rem/1 var(--sans);
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
}

/* Editorial reading area; no cards or floating panels. */
.legal-main { padding: clamp(72px, 8vw, 126px) 0 clamp(100px, 10vw, 160px); }
.legal-grid { display: grid; grid-template-columns: minmax(170px, 225px) minmax(0, 1fr); gap: clamp(48px, 6vw, 108px); align-items: start; }
.legal-aside { padding-top: 12px; }
.legal-kicker { display: block; margin-bottom: 24px; color: var(--rose); font-size: .72rem; font-weight: 760; letter-spacing: .16em; text-transform: uppercase; }
.legal-nav { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; position: sticky; top: 32px; }
.legal-nav a { color: var(--cocoa-soft); font-size: .88rem; font-weight: 650; }
.legal-nav a:hover, .legal-nav a[aria-current="page"] { color: var(--rose); }
.legal-nav a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.legal-article { width: min(100%, 72ch); }
.legal-article h1 { margin: 0 0 22px; font: 400 clamp(3.6rem, 7vw, 6.5rem)/.94 var(--serif); letter-spacing: -.055em; }
.legal-article h2 { margin: 48px 0 15px; padding-top: 25px; border-top: 1px solid var(--line); font: 400 clamp(1.9rem, 3vw, 2.45rem)/1.08 var(--serif); letter-spacing: -.035em; }
.legal-article p { margin: 0 0 17px; color: var(--cocoa-soft); line-height: 1.7; }
.legal-article p.lead { max-width: 58ch; font-size: clamp(1.1rem, 2vw, 1.25rem); line-height: 1.56; }
.legal-article p.date { margin-top: 24px; color: var(--rose); font-size: .8rem; font-weight: 700; letter-spacing: .04em; }
.legal-article ul { margin: 0 0 19px; padding-left: 1.25rem; color: var(--cocoa-soft); }
.legal-article li { padding-left: .25rem; line-height: 1.65; }
.legal-article li + li { margin-top: 12px; }
.legal-article strong { color: var(--cocoa); }
.legal-article a:not(.button) { color: var(--rose); text-decoration: underline; text-underline-offset: 3px; }
.legal-article a { overflow-wrap: anywhere; }
.legal-article a:not(.button):hover { color: var(--rose-dark); }
.contact-line, .support-contact { margin: 42px 0 0; padding: 24px 0 0; border-top: 1px solid var(--line); }
.support-contact p { margin-bottom: 24px; }
.support-contact .button { text-decoration: none; }

/* Footer reproduced from the home page, with the legal destinations added. */
.site-footer { padding: 38px 0; border-top: 1px solid rgba(246, 240, 232, .16); color: var(--ivory); background: var(--cocoa); }
.footer-content { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.footer-brand img { width: 128px; height: auto; }
.footer-brand { display: inline-flex; }
.footer-links { display: flex; flex-wrap: wrap; gap: 20px; font-size: .76rem; font-weight: 680; }
.footer-links a:hover { color: var(--blush); }
.footer-bottom { display: grid; grid-template-columns: minmax(0, .65fr) minmax(360px, 1.35fr); gap: 32px; margin-top: 34px; padding-top: 28px; border-top: 1px solid rgba(246, 240, 232, .16); }
.footer-bottom p, .footer-legal { margin: 0; color: rgba(246, 240, 232, .62); font-size: .75rem; }
.footer-legal { font-style: normal; text-align: right; }
.footer-legal span { display: block; }

@media (max-width: 980px) {
    .nav-links > a:not(.nav-cta) { display: none; }
    .menu-toggle { display: block; margin-left: auto; }
    .nav-cta { margin-left: auto; }
    .nav-links { position: fixed; display: none; align-items: stretch; top: 0; right: 0; bottom: 0; left: 0; margin: 0; padding: 104px 24px 30px; overflow-y: auto; color: var(--ivory); background: var(--cocoa); }
    .nav-links.is-open { display: flex; flex-direction: column; gap: 0; }
    .nav-links.is-open > a:not(.nav-cta) { display: block; padding: 19px 0; border-bottom: 1px solid rgba(246, 240, 232, .16); font: 400 2rem/1 var(--serif); }
    .nav-links.is-open .mobile-login { display: block; }
    .nav-links.is-open .nav-cta { margin: 28px 0 0; }
    .menu-toggle { position: relative; z-index: 2; }
    .menu-toggle[aria-expanded="true"] { color: var(--ivory); }
    .legal-grid { grid-template-columns: 1fr; gap: 52px; }
    .legal-aside { padding-top: 0; }
    .legal-nav { position: static; flex-direction: row; flex-wrap: wrap; gap: 12px 24px; }
}
@media (min-width: 981px) { .mobile-login { display: none; } }
@media (max-width: 720px) {
    .container { width: min(calc(100% - 30px), var(--container)); }
    .nav { min-height: 76px; }
    .brand img { width: 128px; }
    .nav-cta { display: none; }
    .nav-links.is-open .nav-cta { display: inline-flex; }
    .legal-main { padding: 54px 0 96px; }
    .legal-grid { gap: 42px; }
    .legal-article h1 { font-size: clamp(3.25rem, 12vw, 4.9rem); }
    .legal-article h2 { margin-top: 38px; }
    .footer-content { flex-direction: column; align-items: flex-start; }
    .footer-bottom { grid-template-columns: 1fr; gap: 12px; }
    .footer-legal { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

.nav-legal { display: none; }
@media (max-width: 980px) {
    .nav-links { overflow-y: auto; }
    .nav-links.is-open .nav-cta { flex-shrink: 0; }
    .nav-links.is-open .nav-legal { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-shrink: 0; margin-top: 16px; }
    .nav-legal a { display: inline-flex; align-items: center; min-height: 44px; font-size: .82rem; font-weight: 650; }
    .nav-legal a:hover { color: var(--blush); }
}
