.faq-page { padding: 20px 60px 80px; background: #f4f7f9; color: #334b5c; margin-top: 20px; }
.faq-inner { padding: 60px 0; max-width: 1040px; margin: 0 auto; }

.faq-section { margin-bottom: 48px; }
.faq-section h2 {
    font-size: 22px; font-weight: 800; margin-bottom: 20px;
    padding-bottom: 12px; border-bottom: 2px solid var(--brand-navy);
}

.faq-item {
    background: white; border: 1px solid #d4dde2; border-radius: 8px;
    margin-bottom: 10px; transition: border-color .2s;
}
.faq-item:hover { border-color: var(--brand-teal); }
.faq-item summary {
    display: flex; justify-content: space-between; align-items: center;
    padding: 18px 22px; font-weight: 600; font-size: 15px;
    cursor: pointer; list-style: none; gap: 16px;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
    content: "+"; color: var(--brand-teal); font-size: 24px; font-weight: 300;
    transition: transform .2s; line-height: 1; flex-shrink: 0;
}
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item .answer { padding: 0 22px 20px; font-size: 14px; opacity: 0.8; line-height: 1.6; }
.faq-item .answer a { color: var(--brand-teal); font-weight: 600; }

.contact-cta {
    margin-top: 48px; padding: 32px; background: var(--brand-navy); color: white;
    border-radius: 8px; text-align: center;
}
.contact-cta h3 { font-size: 22px; font-weight: 800; margin-bottom: 10px; }
.contact-cta p { opacity: 0.75; margin-bottom: 20px; font-size: 14px; }
.contact-cta a { display: inline-block; padding: 12px 24px; background: var(--brand-teal); color: white; border-radius: 6px; font-weight: 600; font-size: 14px; }

@media (max-width: 768px) {
    .faq-page { padding: 0 20px 60px; }
}
.faq-page { background: linear-gradient(180deg, #f4f8f9, #fff); color: #334b5c; }
.faq-section h2 { color: #002B49; border-bottom-color: rgba(0,43,73,0.18); }
.faq-item { background: #fff; border-color: rgba(0,43,73,0.14); box-shadow: 0 14px 34px rgba(0,43,73,0.06); }
.faq-item summary { color: #002B49; }
.faq-item .answer { color: #526678; opacity: 1; }
.faq-item .answer a { color: #005F6B; }
.faq-rate-table {
    border: 1px solid rgba(0,43,73,0.12);
    border-radius: 8px;
    display: grid;
    margin-top: 14px;
    overflow: hidden;
}
.faq-rate-row {
    display: grid;
    grid-template-columns: minmax(126px, 1.1fr) repeat(2, minmax(92px, .8fr));
}
.faq-rate-row + .faq-rate-row { border-top: 1px solid rgba(0,43,73,0.10); }
.faq-rate-cell {
    background: #fff;
    color: #526678;
    font-size: 13px;
    line-height: 1.35;
    padding: 11px 12px;
}
.faq-rate-cell + .faq-rate-cell { border-left: 1px solid rgba(0,43,73,0.10); }
.faq-rate-head .faq-rate-cell {
    background: #f3f8fa;
    color: #002B49;
    font-weight: 900;
}
.faq-rate-price {
    color: #005F6B;
    font-weight: 900;
    white-space: nowrap;
}
.faq-note {
    color: #647889;
    display: block;
    font-size: 12px;
    line-height: 1.45;
    margin-top: 10px;
}
@media (max-width: 640px) {
    .faq-rate-table {
        overflow-x: auto;
    }
    .faq-rate-row {
        min-width: 430px;
    }
}
.contact-cta { background: radial-gradient(circle at 90% 0%, rgba(0,170,210,0.20), transparent 36%), linear-gradient(135deg, #002B49, #001D31); color: #fff; }
.contact-cta h3, .contact-cta p { color: #fff; opacity: 1; }
.contact-cta a { background: #FF5E00; color: #001D31; text-decoration: none; font-weight: 900; }
