.policy-page { background: var(--bg); }

.policy-page__content,
.policy-page__support,
.policy-page__notice {
    border: 1px solid var(--border);
    border-radius: var(--ert-radius-lg);
    background: var(--white);
    box-shadow: var(--ert-shadow-sm);
}

.policy-page__content { padding: clamp(28px, 5vw, 52px); }

.policy-page__eyebrow,
.policy-page__support > span {
    display: block;
    margin-bottom: 9px;
    color: var(--theme);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.policy-page__content > h2,
.policy-page__support h2 {
    margin-bottom: 24px;
    color: var(--header);
}

.policy-page__rich-text h2,
.policy-page__rich-text h3 {
    margin: 32px 0 12px;
    color: var(--header);
}

.policy-page__rich-text h3 { font-size: 25px; }
.policy-page__rich-text p,
.policy-page__rich-text li { color: var(--text); line-height: 1.85; }
.policy-page__rich-text ul { padding-left: 20px; }

.policy-page__rich-text .cancellation-schedule {
    display: grid;
    gap: 12px;
    padding: 0;
    margin: 18px 0 28px;
    list-style: none;
}

.policy-page__rich-text .cancellation-schedule li {
    position: relative;
    padding: 17px 18px 17px 46px;
    border: 1px solid var(--border);
    border-radius: var(--ert-radius-sm);
    background: var(--ert-surface-soft);
}

.policy-page__rich-text .cancellation-schedule li::before {
    position: absolute;
    top: 22px;
    left: 20px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--theme);
    content: "";
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--theme) 12%, transparent);
}

.policy-page__rich-text .cancellation-schedule strong { color: var(--header); }

.policy-page__support {
    position: sticky;
    top: 115px;
    padding: 30px;
}

.policy-page__support p { color: var(--text); line-height: 1.75; }
.policy-page__support ol { display: grid; gap: 13px; margin: 24px 0; padding: 0; list-style: none; }
.policy-page__support li { display: flex; align-items: center; gap: 12px; color: var(--header); }

.policy-page__support li strong {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border-radius: 50%;
    color: var(--header);
    background: var(--ert-gold-soft);
    font-size: 13px;
}

.policy-page__direct-link {
    display: block;
    margin-top: 18px;
    color: var(--theme-2);
    font-size: 14px;
    text-align: center;
}

.policy-page__direct-link:hover { color: var(--theme); }

.policy-page__notice {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-top: 34px;
    padding: 22px 26px;
    border-color: color-mix(in srgb, var(--theme) 35%, transparent);
    background: var(--ert-champagne);
}

.policy-page__notice i { padding-top: 4px; color: var(--ert-gold-dark); font-size: 20px; }
.policy-page__notice p { margin: 0; color: var(--header); line-height: 1.7; }

@media (max-width: 991.98px) {
    .policy-page__support { position: static; }
}

@media (max-width: 575.98px) {
    .policy-page__content,
    .policy-page__support { padding: 24px; }
    .policy-page__notice { padding: 20px; }
}
