.policy-page {
    min-height: 100vh;
    color: #20324d;
    background:
        repeating-linear-gradient(135deg, rgba(24, 139, 177, 0.08) 0, rgba(24, 139, 177, 0.08) 1px, transparent 1px, transparent 28px),
        linear-gradient(145deg, #b8e9f2 0%, #e8f8ed 54%, #ffd7c9 100%);
}

.faq-page {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.38) 0, rgba(255, 255, 255, 0.38) 1px, transparent 1px, transparent 42px),
        linear-gradient(145deg, #9edcf5 0%, #c9f0d3 52%, #ffd4bf 100%);
}

.policy-layout {
    width: min(920px, 92%);
    margin: 0 auto;
    padding: 42px 0 76px;
}

.policy-intro {
    max-width: 700px;
    margin: 0 auto 34px;
    text-align: center;
}

.policy-intro p {
    margin: 0 0 10px;
    color: #147a9d;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.policy-intro h1 {
    margin: 0;
    color: #173f67;
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.15;
}

.policy-intro span { display: inline-block; margin-top: 14px; color: #55708a; font-size: 0.9rem; }

.policy-content,
.faq-list { display: grid; gap: 14px; }

.policy-content article,
.faq-list details {
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 12px 26px rgba(26, 100, 133, 0.12);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.policy-content article { padding: 22px 24px; }
.policy-content h2 { margin: 0 0 8px; color: #1f4a76; font-size: 1.12rem; }
.policy-content p,
.faq-list p { margin: 0; color: #4e6981; font-size: 0.95rem; line-height: 1.75; }

.faq-list details { overflow: hidden; }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; color: #1f4a76; cursor: pointer; font-weight: 700; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; display: grid; width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; background: #227ebd; color: #fff; font-size: 1.25rem; font-weight: 500; place-items: center; }
.faq-list details[open] summary::after { content: "-"; background: #e6755e; }
.faq-list details p { padding: 0 22px 20px; }

@media (max-width: 640px) {
    .policy-layout { width: min(100% - 32px, 920px); padding: 28px 0 54px; }
    .policy-intro { margin-bottom: 24px; }.policy-content article { padding: 18px; }.faq-list summary { padding: 18px; }.faq-list details p { padding: 0 18px 18px; }
}