/* [c1] */

.lg {
    display: grid;
    grid-template-columns: 252px minmax(0, 68ch);
    justify-content: center;
    column-gap: clamp(32px, 5vw, 72px);
    row-gap: 0;
    width: 100%;
    max-width: calc(var(--ss-maxw) + 2 * var(--ss-gutter));
    margin: 0 auto;
    padding: clamp(32px, 6vw, 72px) max(var(--ss-gutter), env(safe-area-inset-left)) 72px;
    line-height: 1.65;
    font-size: 1.0625rem;
}
.lg > * { grid-column: 2; }
.lg > .st-legal-toc {
    grid-column: 1;
    grid-row: 1 / span 300;
    align-self: start;
    position: sticky;
    top: calc(var(--ss-topbar-h) + 24px);
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-left: 14px;
    border-left: 1px solid var(--ss-border);
}
.lg > .st-legal-toc::before {
    content: "On this page";
    display: block;
    margin: 0 0 10px;
    font-size: var(--ss-fs-xs);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ss-text-faint);
}
.lg > .st-legal-toc a {
    display: flex;
    align-items: center;
    min-height: 36px;
    padding: 4px 10px;
    margin-left: -10px;
    border-radius: 8px;
    font-size: var(--ss-fs-sm);
    line-height: 1.35;
    color: var(--ss-text-soft);
    text-decoration: none;
    transition: color var(--ss-dur-micro) var(--ss-ease), background-color var(--ss-dur-micro) var(--ss-ease);
}
.lg > .st-legal-toc a:hover { color: var(--ss-text); background: var(--ss-surface-2); }
.lg > .st-legal-toc a[aria-current] { color: var(--ss-text); font-weight: 600; box-shadow: inset 2px 0 0 var(--ss-accent); }
.lg > .st-legal-toc a:focus-visible { outline: none; box-shadow: var(--ss-ring); }
.lg h1 {
    font-size: clamp(2rem, 1.2rem + 2.6vw, 3rem);
    font-stretch: var(--ss-stretch-display);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.015em;
}
.lg .st-legal-updated { margin-top: 10px; font-size: var(--ss-fs-sm); color: var(--ss-text-soft); }
.lg .st-legal-lead { margin-top: 24px; font-size: var(--ss-fs-lg); color: var(--ss-text-soft); line-height: 1.6; }
.lg h2 {
    margin-top: 48px;
    padding-top: 20px;
    border-top: 1px solid var(--ss-border);
    font-size: var(--ss-fs-xl);
    font-weight: 600;
    line-height: 1.3;
    scroll-margin-top: calc(var(--ss-topbar-h) + 24px);
}
.lg h3 { margin-top: 28px; font-size: var(--ss-fs-lg); font-weight: 600; }
.lg p { margin-top: 14px; }
.lg ul, .lg ol { margin: 14px 0 0; padding-left: 1.3em; }
.lg li { margin-top: 10px; }
.lg li::marker { color: var(--ss-text-faint); }
.lg strong { font-weight: 600; }
.lg a:not(.st-legal-toc a) { color: var(--ss-text); text-decoration: underline; text-decoration-color: var(--ss-accent-line); text-underline-offset: 0.2em; }
.lg a:not(.st-legal-toc a):hover { text-decoration-color: var(--ss-accent); }
.lg table { width: 100%; margin-top: 16px; font-size: var(--ss-fs-sm); }
.lg th, .lg td { padding: 10px 12px; border-bottom: 1px solid var(--ss-border); text-align: left; vertical-align: top; }
.lg .st-legal-contact { margin-top: 18px; padding: 20px 22px; border-radius: var(--ss-r-card); background: var(--ss-surface-2); }
.lg .st-legal-contact p { margin-top: 4px; }
.lg .st-legal-contact-name { font-weight: 600; margin-top: 0; }
.lg .st-fineprint { margin-top: 32px; font-size: 0.9375rem; line-height: 1.6; color: var(--ss-text-soft); }
:root[data-theme="dark"] .lg .st-fineprint { color: color-mix(in srgb, var(--ss-text) 82%, transparent); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .lg .st-fineprint { color: color-mix(in srgb, var(--ss-text) 82%, transparent); } }

@media (max-width: 1023px) {
    .lg { grid-template-columns: minmax(0, 68ch); }
    .lg > *, .lg > .st-legal-toc { grid-column: 1; }
    .lg > .st-legal-toc {
        grid-row: auto;
        position: static;
        margin-top: 28px;
        padding: 16px 18px;
        border: 0;
        border-radius: var(--ss-r-card);
        background: var(--ss-surface-2);
    }
    .lg > .st-legal-toc a { min-height: 44px; }
}
@media (max-width: 1023px) {
    .lg > .st-legal-toc a[aria-current] { box-shadow: none; }
}
@media (max-width: 640px) {
    .lg > .st-legal-toc a { font-size: var(--ss-fs-sm); }
}
@media (max-width: 640px) {
    .lg { font-size: 1rem; padding-top: 24px; }
    .lg h2 { margin-top: 36px; }
}

.lg-top {
    position: fixed;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    z-index: 20;
    color: var(--ss-text);
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
    transition: opacity var(--ss-dur-comp) var(--ss-ease), transform var(--ss-dur-comp) var(--ss-ease);
}
.lg-top.is-on { opacity: 1; transform: none; pointer-events: auto; }
.lg-top:focus-visible { outline: none; box-shadow: var(--ss-ring); }
.lg-top:active { transform: scale(.97); }

@media (max-width: 640px) {
    .lg > .st-legal-toc {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 8px;
        overflow-x: auto;
        scrollbar-width: none;
        margin-inline: calc(-1 * var(--ss-gutter));
        margin-top: 22px;
        padding: 2px var(--ss-gutter);
        border-radius: 0;
        background: none;
        -webkit-mask-image: linear-gradient(to right, transparent 0, #000 12px, #000 calc(100% - 28px), transparent 100%);
        mask-image: linear-gradient(to right, transparent 0, #000 12px, #000 calc(100% - 28px), transparent 100%);
    }
    .lg > .st-legal-toc::-webkit-scrollbar { display: none; }
    .lg > .st-legal-toc::before { display: none; }
    .lg > .st-legal-toc a {
        flex: none;
        margin: 0;
        padding: 0 14px;
        white-space: nowrap;
        border-radius: var(--ss-r-pill);
        border: 1px solid var(--ss-border-strong);
        background: var(--ss-surface);
        color: var(--ss-text);
        font-weight: 500;
    }
    .lg > .st-legal-toc a::after { content: none; }
}
