/* ============================================================
   faq.css — FAQ page. Leans on city.css for the .faq-list /
   .faq-item accordion; this file adds the hero, category jump
   bar and group headings.
   ============================================================ */

.faq-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    /* Full height, same as the home, services and city heroes. */
    min-height: 100vh;
    min-height: 100svh;
    padding: clamp(120px, 16vh, 180px) 0 clamp(48px, 7vh, 80px);
    overflow: hidden;

    background-color: #060606;
}
/* The FAQ hero reuses .city-hero-photo for the graded plate; only the image
   and the crop differ. Ambient highlights come from the shared ::before rule. */
.faq-hero .city-hero-photo {
    background-image:
        linear-gradient(180deg, rgba(14,11,7,0.44) 0%, rgba(10,9,7,0.62) 50%, rgba(5,5,6,0.97) 100%),
        radial-gradient(ellipse 132% 98% at 50% 32%, rgba(58,45,23,0.10) 0%, rgba(5,5,7,0.86) 76%),
        url('../assets/City/okc-faq.webp');
    background-image:
        linear-gradient(180deg, rgba(14,11,7,0.44) 0%, rgba(10,9,7,0.62) 50%, rgba(5,5,6,0.97) 100%),
        radial-gradient(ellipse 132% 98% at 50% 32%, rgba(58,45,23,0.10) 0%, rgba(5,5,7,0.86) 76%),
        image-set(url('../assets/City/okc-faq.avif') type('image/avif'),
                  url('../assets/City/okc-faq.webp') type('image/webp'));
    background-position: center 46%;
}
@media (max-width: 760px) {
    .faq-hero .city-hero-photo {
        background-image:
            linear-gradient(180deg, rgba(14,11,7,0.44) 0%, rgba(10,9,7,0.62) 50%, rgba(5,5,6,0.97) 100%),
            radial-gradient(ellipse 132% 98% at 50% 32%, rgba(58,45,23,0.10) 0%, rgba(5,5,7,0.86) 76%),
            image-set(url('../assets/City/okc-faq-sm.avif') type('image/avif'),
                      url('../assets/City/okc-faq-sm.webp') type('image/webp'));
    }
}

.faq-page { padding: clamp(40px, 6vh, 70px) 0 clamp(80px, 12vh, 140px); }

/* — Category jump bar — */
.faq-jump {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin: 0 0 clamp(38px, 6vh, 64px);
}
.faq-jump a {
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--c-grey-light);
    padding: 9px 16px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 999px;
    transition: color 220ms var(--ease-soft), border-color 220ms var(--ease-soft), background 220ms var(--ease-soft);
}
.faq-jump a:hover,
.faq-jump a:focus-visible {
    color: var(--c-chrome);
    border-color: rgba(215,187,127,0.5);
    background: rgba(205,173,110,0.07);
}

/* — Groups — */
.faq-group {
    max-width: 900px;
    margin: 0 auto clamp(40px, 6vh, 68px);
    /* Anchor offset so a jump link does not tuck the heading under the fixed bar. */
    scroll-margin-top: 110px;
}
.faq-group-title {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(1.5rem, 3vw, 2.1rem);
    color: var(--c-white);
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,0.09);
}

/* — Closing CTA — */
.faq-cta {
    max-width: 720px;
    margin: clamp(50px, 8vh, 90px) auto 0;
    text-align: center;
    padding: clamp(32px, 5vh, 52px) clamp(24px, 4vw, 44px);
    border: 1px solid rgba(255,255,255,0.09);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(205,173,110,0.05) 0%, rgba(255,255,255,0.012) 100%);
}
.faq-cta h2 {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(1.5rem, 3vw, 2.1rem);
    color: var(--c-white);
    margin: 0 0 10px;
}
.faq-cta p { color: var(--c-grey-light); margin: 0 0 24px; line-height: 1.7; }

.faq-item abbr { text-decoration: none; border-bottom: 1px dotted rgba(215,187,127,0.6); cursor: help; }

@media (max-width: 560px) {
    .faq-hero { min-height: 92svh; padding-top: 130px; }
    .faq-jump { gap: 8px; }
    .faq-jump a { padding: 8px 13px; letter-spacing: 0.12em; }
}
