/* Explain: Styling for the FAQ page hero, items, and answers. */
.faq-hero {
    background: linear-gradient(180deg, var(--background-color) 0%, rgba(227, 241, 240, 0.55) 100%);
}

.faq-hero-title {
    font-family: var(--font-body);
    font-weight: 800;
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
    color: var(--text-color);
}

.faq-item {
    border: 1px solid var(--border-color);
    border-radius: 1.25rem;
    background: #ffffff;
    box-shadow: 0 18px 46px rgba(20, 52, 58, 0.06);
    overflow: hidden;
    transition: border-color 300ms ease, box-shadow 300ms ease;
}

.faq-item[open] {
    border-color: rgba(46, 158, 154, 0.45);
    box-shadow: 0 26px 64px rgba(20, 52, 58, 0.1);
}

.faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    cursor: pointer;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--text-color);
    list-style: none;
    transition: color 300ms ease;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary:hover {
    color: var(--accent-color);
}

.faq-chevron {
    flex: 0 0 auto;
    color: var(--accent-color);
    transition: transform 300ms ease;
}

.faq-item[open] .faq-chevron {
    transform: rotate(180deg);
}

.faq-answer {
    padding: 0 1.5rem 1.4rem;
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.85;
}