.terms-page--public {
    --legal-text: #f5efeb;
    --legal-muted: rgba(245, 239, 235, .76);
    --legal-line: rgba(255, 255, 255, .14);
    --legal-red: #d82134;
    --legal-gold: #d4b679;
    min-height: 100vh;
    overflow-x: hidden;
    color: var(--legal-text);
    background: #050303;
    line-height: 1.75;
}

.terms-page--public,
.terms-page--public * {
    box-sizing: border-box;
}

.terms-page--public a {
    color: var(--legal-gold);
    text-decoration-color: rgba(212, 182, 121, .55);
    text-underline-offset: 3px;
    transition: color .2s ease, text-decoration-color .2s ease;
}

.terms-page--public a:hover,
.terms-page--public a:focus-visible {
    color: #fff;
    text-decoration-color: var(--legal-red);
}

.terms-page--public a:focus-visible {
    outline: 2px solid var(--legal-red);
    outline-offset: 4px;
}

.terms-page--public .terms-page__hero {
    padding: clamp(128px, 14vw, 188px) 20px 46px;
}

.terms-page--public .terms-page__hero-content {
    width: min(920px, 100%);
    margin-inline: auto;
}

.terms-page--public .terms-page__eyebrow {
    margin-bottom: 16px;
    color: var(--legal-red);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.terms-page--public h1,
.terms-page--public h2 {
    margin: 0;
    color: var(--legal-text);
    font-family: "Agenda One", "Essonnes Display", Georgia, serif;
    font-weight: 400;
    text-transform: uppercase;
}

.terms-page--public h1 {
    max-width: 900px;
    font-size: clamp(38px, 6vw, 72px);
    line-height: 1.04;
    letter-spacing: .035em;
}

.terms-page--public .terms-page__hero-subtitle {
    max-width: 820px;
    margin-top: 22px;
    color: var(--legal-muted);
    font-size: 15px;
    line-height: 1.65;
}

.terms-page--public .terms-page__hero-subtitle p {
    margin: 3px 0;
}

.terms-page--public .terms-page__wrap {
    width: min(920px, calc(100% - 40px));
    margin-inline: auto;
    padding-bottom: 92px;
}

.terms-page--public .terms-page__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-bottom: 18px;
    padding: 18px 0 24px;
    border-bottom: 1px solid var(--legal-line);
}

.terms-page--public .terms-page__nav strong {
    flex: 0 0 100%;
    color: var(--legal-gold);
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.terms-page--public .terms-page__nav a {
    color: var(--legal-muted);
    font-size: 12px;
    line-height: 1.4;
}

.terms-page--public .terms-page__card {
    min-width: 0;
}

.terms-page--public .terms-page__section {
    padding: 38px 0;
    border-top: 1px solid var(--legal-line);
}

.terms-page--public .terms-page__section:first-child {
    border-top: 0;
}

.terms-page--public .terms-page__section-number {
    display: block;
    margin-bottom: 10px;
    color: var(--legal-red);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
}

.terms-page--public .terms-page__section h2 {
    margin-bottom: 22px;
    font-size: clamp(27px, 4vw, 40px);
    line-height: 1.12;
    letter-spacing: .025em;
}

.terms-page--public .terms-page__section p {
    margin: 0 0 16px;
    color: var(--legal-muted);
    font-size: 16px;
    line-height: 1.78;
}

.terms-page--public .terms-page__section p:last-child {
    margin-bottom: 0;
}

@media (max-width: 640px) {
    .terms-page--public .terms-page__hero {
        padding: 104px 16px 34px;
    }

    .terms-page--public h1 {
        font-size: clamp(34px, 11vw, 50px);
    }

    .terms-page--public .terms-page__wrap {
        width: min(100% - 30px, 920px);
        padding-bottom: 68px;
    }

    .terms-page--public .terms-page__nav {
        display: block;
    }

    .terms-page--public .terms-page__nav strong,
    .terms-page--public .terms-page__nav a {
        display: block;
    }

    .terms-page--public .terms-page__nav a {
        padding: 5px 0;
    }

    .terms-page--public .terms-page__section {
        padding: 30px 0;
    }

    .terms-page--public .terms-page__section p {
        font-size: 15px;
        line-height: 1.76;
        overflow-wrap: anywhere;
    }
}
