/* Public legal documents and confirmation use the same identity as the site. */
@font-face {
    font-family: 'Manrope';
    src: url('/ge_web_portal/static/src/fonts/Manrope.ttf') format('truetype');
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}

body.document-page {
    --document-paper: #e9eceb;
    --document-ink: #232a2c;
    --document-muted: #59666b;
    --document-copper: #a65332;
    --document-line: #c8cfcd;
    --document-edge: clamp(28px, 3.125vw, 56px);
    margin: 0;
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    background: var(--document-paper);
    color: var(--document-ink);
    font-family: 'Manrope', Arial, Helvetica, sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.75;
    color-scheme: light;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
.document-page *, .document-page *::before, .document-page *::after { box-sizing: border-box; }
.document-page [hidden] { display: none !important; }
.document-page :where(h1, h2, p) { margin: 0; }
.document-page :where(a, button) { -webkit-tap-highlight-color: transparent; }
.document-page a { color: inherit; text-decoration: none; }
.document-page button { font: inherit; cursor: pointer; }
.document-page svg { display: block; flex-shrink: 0; }
.document-page img { display: block; max-width: 100%; }
.document-page :focus-visible { outline: 2px solid var(--document-copper); outline-offset: 5px; }
.document-page ::selection { background: #b46a4a; color: #fff; }
.document-skip {
    position: absolute;
    top: 8px;
    left: var(--document-edge);
    z-index: 300;
    padding: 10px 18px;
    background: var(--document-ink);
    color: #fff !important;
    transform: translateY(-150%);
}
.document-skip:focus { transform: none; }
.document-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    min-height: 104px;
    padding: 24px var(--document-edge);
}
.document-brand { display: inline-flex; align-items: center; gap: 15px; min-height: 48px; min-width: 0; }
.document-mark { width: 46px; height: 46px; flex: 0 0 auto; }
.document-wordmark { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.document-wordmark strong { font-size: 32px; font-weight: 500; line-height: 1.15; letter-spacing: -.045em; }
.document-wordmark small { font-size: 8.5px; font-weight: 650; line-height: 1.4; letter-spacing: .3em; text-transform: uppercase; }
.document-contact {
    display: inline-flex;
    align-items: center;
    gap: 17px;
    min-height: 44px;
    padding: 8px 0 8px 12px;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.035em;
}
.document-contact svg { width: 25px; height: 25px; color: var(--document-copper); transition: transform 200ms ease; }
.document-layout {
    width: 100%;
    max-width: 1216px;
    margin: 58px auto 104px;
    padding-inline: var(--document-edge);
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    align-items: start;
    gap: clamp(40px, 5.2vw, 80px);
    flex: 1;
}
.document-sidebar { position: sticky; top: 32px; }
.document-back { display: inline-flex; align-items: center; gap: 11px; min-height: 44px; color: var(--document-muted) !important; font-size: 15px; }
.document-back svg { width: 20px; height: 20px; }
.document-navigation { display: flex; flex-direction: column; align-items: stretch; gap: 5px; margin-top: 37px; }
.document-navigation a { position: relative; padding: 10px 0 10px 18px; font-size: 18px; line-height: 1.5; color: var(--document-muted); }
.document-navigation a[aria-current='page'] { color: var(--document-copper); }
.document-navigation a[aria-current='page']::before { content: ''; position: absolute; left: 0; top: 12px; bottom: 12px; width: 1.5px; background: currentColor; }
.document-article { min-width: 0; max-width: 74ch; }
.document-heading { margin-bottom: 48px; }
.document-context { color: var(--document-muted); font-size: 13px; line-height: 1.5; margin-bottom: 17px !important; }
.document-page h1 { font-size: clamp(40px, 4.2vw, 64px); font-weight: 300; line-height: 1.1; letter-spacing: -.055em; text-wrap: balance; }
.document-updated { color: var(--document-muted); font-size: 13px; line-height: 1.5; margin-top: 22px !important; }
.document-intro { margin-top: 32px !important; font-size: 18px; line-height: 1.75; letter-spacing: -.015em; }
.document-section { margin-top: 38px; }
.document-section:first-child { margin-top: 0; }
.document-section h2 { margin-bottom: 15px; font-size: 23px; font-weight: 500; line-height: 1.35; letter-spacing: -.035em; }
.document-section p { color: #465257; }
.document-section p + p { margin-top: 15px; }
.document-section ul { padding-left: 21px; margin: 15px 0 0; color: #465257; }
.document-section li { padding-left: 4px; overflow-wrap: anywhere; }
.document-section li + li { margin-top: 10px; }
.document-section li::marker { color: var(--document-copper); }
.document-cookie-preferences { padding-top: 25px; margin-top: 34px; border-top: 1px solid var(--document-line); color: #465257; }
.document-preferences-button {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    margin-top: 20px;
    padding: 12px 18px;
    border: 1px solid var(--document-ink);
    border-radius: 2px;
    background: transparent;
    color: var(--document-ink);
    font-size: 15px !important;
    line-height: 1.45;
    text-align: left;
}
.document-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 35px; margin-top: 46px; }
.document-link { display: inline-flex; align-items: center; gap: 13px; min-height: 46px; font-size: 17px; }
.document-link svg { width: 22px; height: 22px; color: var(--document-copper); }
.document-phone { min-height: 46px; display: inline-flex; align-items: center; font-size: 16px; color: var(--document-muted) !important; text-decoration: underline !important; text-underline-offset: 5px; text-decoration-thickness: 1px !important; }
.document-confirmation { padding-top: clamp(8px, 3vw, 40px); min-width: 0; }
.document-confirmation h1 { max-width: 17ch; }
.document-confirmation-copy { margin-top: 28px !important; max-width: 47ch; color: #465257; font-size: 18px; line-height: 1.75; }
.document-confirmation-copy strong { font-weight: 600; color: var(--document-ink); overflow-wrap: anywhere; }
.document-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 30px; padding: 26px var(--document-edge); font-size: 13px; color: var(--document-muted); }
.document-footer a { display: inline-flex; align-items: center; min-height: 44px; }
@media (hover: hover) {
    .document-page a:hover { color: var(--document-copper) !important; }
    .document-contact:hover svg { transform: translate(2px, -2px); }
    .document-preferences-button:hover { color: #fff; background: var(--document-ink); }
}
@media (max-width: 900px) {
    .document-layout { grid-template-columns: 154px minmax(0, 1fr); gap: 36px; }
    .document-navigation a { font-size: 16px; padding-left: 13px; }
    .document-wordmark strong { font-size: 27px; }
    .document-wordmark small { font-size: 7.5px; letter-spacing: .26em; }
}
@media (max-width: 700px) {
    body.document-page { --document-edge: 22px; font-size: 16px; line-height: 1.75; }
    .document-header { gap: 15px; min-height: 78px; padding: 17px var(--document-edge); }
    .document-brand { gap: 9px; min-height: 44px; }
    .document-mark { width: 38px; height: 38px; }
    .document-wordmark strong { font-size: 20px; font-weight: 650; letter-spacing: -.04em; }
    .document-wordmark small { font-size: 7px; font-weight: 650; letter-spacing: .1em; }
    .document-contact { gap: 9px; padding-left: 4px; font-size: 16px; }
    .document-contact svg { width: 20px; height: 20px; }
    .document-layout { display: block; margin: 20px auto 72px; }
    .document-sidebar { position: static; margin-bottom: 34px; }
    .document-back { font-size: 14px; }
    .document-navigation { flex-direction: row; flex-wrap: wrap; gap: 6px 25px; margin-top: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--document-line); }
    .document-navigation a { padding: 9px 0; font-size: 14px; line-height: 1.8; }
    .document-navigation a[aria-current='page']::before { inset: auto 0 -15px; width: auto; height: 1.5px; }
    .document-context { font-size: 12px; margin-bottom: 15px !important; }
    .document-page h1 { font-size: clamp(37px, 10.4vw, 46px); }
    .document-updated { font-size: 12px; margin-top: 19px !important; }
    .document-intro { margin-top: 27px !important; font-size: 17px; }
    .document-heading { margin-bottom: 36px; }
    .document-section { margin-top: 31px; }
    .document-section h2 { font-size: 21px; }
    .document-actions { margin-top: 32px; gap: 15px 30px; }
    .document-confirmation { padding-top: 20px; }
    .document-confirmation-copy { font-size: 17px; }
    .document-footer { gap: 8px 24px; padding-block: 20px; font-size: 12px; }
}
@media (max-width: 360px) {
    body.document-page { --document-edge: 17px; }
    .document-header { gap: 9px; }
    .document-brand { gap: 7px; }
    .document-mark { width: 34px; height: 34px; }
    .document-wordmark strong { font-size: 18px; }
    .document-wordmark small { font-size: 6.5px; letter-spacing: .075em; }
    .document-contact { gap: 6px; font-size: 15px; }
    .document-navigation { gap: 6px 23px; }
}
@media (prefers-reduced-motion: reduce) { .document-contact svg { transition: none; } }
