.jrrs-legal-page {
    padding: clamp(72px, 8vw, 120px) 0;
    background: var(--jrrs-color-surface, #ffffff);
}

.jrrs-legal-page__container {
    width: min(100% - (var(--jrrs-container-padding, 24px) * 2), 900px);
    margin-inline: auto;
}

.jrrs-legal-page__breadcrumb {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 24px;
    color: var(--jrrs-color-text-muted, #737373);
    font-size: 0.875rem;
}

.jrrs-legal-page__breadcrumb a {
    color: var(--jrrs-color-primary, #2d8a5f);
}

.jrrs-legal-page h1 {
    margin: 0 0 14px;
    color: var(--jrrs-color-text, #242424);
    font-size: clamp(2rem, 5vw, 3.25rem);
    line-height: 1.1;
}

.jrrs-legal-page__intro {
    max-width: 720px;
    margin: 0 0 44px;
    color: var(--jrrs-color-text-muted, #737373);
    line-height: 1.8;
}

.jrrs-legal-page__content {
    display: grid;
    gap: 28px;
}

.jrrs-legal-page__section {
    padding: clamp(24px, 4vw, 36px);
    border: 1px solid var(--jrrs-color-border, #e8e5e2);
    border-radius: var(--jrrs-radius-lg, 24px);
    background: var(--jrrs-color-background-soft, #faf9f8);
}

.jrrs-legal-page__section h2 {
    margin: 0 0 12px;
    color: var(--jrrs-color-text, #242424);
    font-size: 1.2rem;
}

.jrrs-legal-page__section p,
.jrrs-legal-page__section li {
    color: var(--jrrs-color-text-muted, #737373);
    line-height: 1.75;
}

.jrrs-legal-page__section p:last-child,
.jrrs-legal-page__section ul:last-child {
    margin-bottom: 0;
}

.jrrs-legal-page__section a {
    color: var(--jrrs-color-primary, #2d8a5f);
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .jrrs-legal-page {
        padding-top: 52px;
    }

    .jrrs-legal-page__section {
        border-radius: var(--jrrs-radius-md, 18px);
    }
}
