.policy-page {
    min-height: calc(100vh - var(--header-height));
    padding: calc(var(--header-height) + 4rem) 0 5rem;
    background: #E8F5FA;
}

.policy-document {
    max-width: 850px;
    margin: 0 auto;
    padding: clamp(2rem, 5vw, 4rem);
    background: #fff;
    border: 1px solid #dce3e8;
    border-radius: 1rem;
    box-shadow: 0 8px 24px rgba(36, 52, 61, 0.08);
}

.policy-header {
    padding-bottom: 2rem;
    border-bottom: 1px solid #dce3e8;
}

.policy-header h1 {
    margin-bottom: 1rem;
    color: var(--text-color);
    font-family: "Gotham", sans-serif;
    font-size: clamp(2rem, 5vw, 3rem);
    line-height: 1.15;
}

.policy-subtitle {
    color: #4b4d50;
    font-size: 1.2rem;
    line-height: 1.55;
}

.policy-effective {
    margin-top: 0.75rem;
    color: var(--primary-color);
    font-weight: 600;
}

.policy-intro {
    margin-top: 2rem;
    color: #4b4d50;
    font-size: 1.1rem;
    line-height: 1.75;
}

.policy-section {
    margin-top: 2.75rem;
}

.policy-section h2,
.policy-section h3 {
    color: var(--text-color);
    font-family: "Gotham", sans-serif;
    line-height: 1.3;
}

.policy-section h2 {
    margin-bottom: 1rem;
    font-size: 1.75rem;
}

.policy-section h3 {
    margin: 2rem 0 0.75rem;
    color: var(--primary-color);
    font-size: 1.2rem;
}

.policy-section p,
.policy-section li {
    color: #4b4d50;
    line-height: 1.75;
}

.policy-section p + p {
    margin-top: 1rem;
}

.policy-section ul {
    display: grid;
    gap: 0.65rem;
    margin: 1rem 0 1.25rem;
    padding-left: 1.4rem;
}

.policy-section li::marker {
    color: var(--primary-color);
}

.policy-section a {
    color: var(--primary-color);
    font-weight: 600;
}

.policy-section a:hover {
    color: #572374;
}

.policy-section a:focus-visible {
    border-radius: 0.25rem;
    outline: 3px solid var(--primary-color);
    outline-offset: 3px;
}

.policy-legal {
    padding: 2rem;
    background: #f7f3fa;
    border-left: 4px solid var(--primary-color);
    border-radius: 0.5rem;
}

@media (max-width: 768px) {
    .policy-page {
        padding: calc(var(--header-height) + 2rem) 0 3rem;
    }

    .policy-page .container {
        padding: 0 1rem;
    }

    .policy-document {
        padding: 1.5rem;
        border-radius: 0.75rem;
    }

    .policy-subtitle {
        font-size: 1.05rem;
    }

    .policy-intro {
        font-size: 1rem;
    }

    .policy-section {
        margin-top: 2.25rem;
    }

    .policy-section h2 {
        font-size: 1.5rem;
    }

    .policy-legal {
        padding: 1.5rem;
    }
}
