
.faq-page{overflow:hidden}
.faq-hero{padding:clamp(85px,11vw,165px) var(--pad) clamp(65px,8vw,110px);border-bottom:1px solid var(--border);background:radial-gradient(circle at 80% 15%,rgba(216,255,69,.08),transparent 28%),radial-gradient(circle at 15% 75%,rgba(169,120,255,.10),transparent 28%)}
.faq-kicker{margin:0;color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.faq-hero h1{margin:16px 0 24px;font-size:clamp(5.2rem,15vw,14rem);line-height:.75;letter-spacing:-.08em}
.faq-hero>p:last-child{max-width:760px;margin:0;color:var(--text-muted);font-size:clamp(1.2rem,2.3vw,2rem);line-height:1.15}
.faq-chat{max-width:1180px;margin:0 auto;padding:clamp(55px,8vw,110px) var(--pad) clamp(95px,12vw,170px)}
.faq-thread{position:relative;display:grid;gap:18px;margin-bottom:clamp(55px,8vw,105px)}
.faq-thread:not(:last-child)::after{content:"";position:absolute;left:50%;bottom:calc(clamp(55px,8vw,105px) / -2);width:1px;height:32px;background:var(--border)}
.faq-message{display:flex;flex-direction:column;width:min(760px,88%)}
.faq-message-question{justify-self:end;align-items:flex-end}
.faq-message-answer{justify-self:start;align-items:flex-start}
.faq-meta{display:flex;gap:10px;margin:0 10px 7px;color:var(--text-muted);font-size:.63rem;font-weight:900;letter-spacing:.12em}
.faq-bubble{position:relative;padding:20px 22px;border:1px solid var(--border);font-size:clamp(1rem,1.5vw,1.28rem);line-height:1.5}
.faq-message-question .faq-bubble{border-radius:24px 24px 4px 24px;background:rgba(169,120,255,.10)}
.faq-message-answer .faq-bubble{border-radius:24px 24px 24px 4px;background:rgba(216,255,69,.07);border-color:rgba(216,255,69,.28)}
.faq-message-answer .faq-meta{color:var(--accent)}
.faq-empty{color:var(--text-muted)}
@media(max-width:650px){
    .faq-hero h1{font-size:clamp(4.4rem,22vw,7rem)}
    .faq-chat{padding-top:42px}
    .faq-thread{gap:13px;margin-bottom:58px}
    .faq-message{width:94%}
    .faq-bubble{padding:16px 17px;font-size:1rem}
}


.faq-question-toggle{
    appearance:none;
    border:0;
    padding:0;
    background:transparent;
    color:inherit;
    font:inherit;
    text-align:inherit;
    cursor:pointer;
}
.faq-question-toggle .faq-bubble{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.faq-question-toggle:hover .faq-bubble{
    border-color:rgba(169,120,255,.55);
    background:rgba(169,120,255,.14);
}
.faq-expand-indicator{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:8px;
    margin-left:10px;
}
.faq-expand-label{
    font-size:.58rem;
    font-weight:900;
    letter-spacing:.11em;
    color:var(--text-muted);
}
.faq-expand-icon{
    display:grid;
    place-items:center;
    width:29px;
    height:29px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:50%;
    font-size:1.15rem;
    line-height:1;
    transition:transform .25s ease,border-color .2s ease,color .2s ease;
}
.faq-question-toggle:hover .faq-expand-icon{
    border-color:var(--accent);
    color:var(--accent);
}
.faq-answer-wrap{
    display:grid;
    grid-template-rows:0fr;
    opacity:0;
    transition:grid-template-rows .32s ease,opacity .24s ease;
}
.faq-answer-wrap>.faq-message{
    min-height:0;
    overflow:hidden;
}
.faq-thread.is-open .faq-answer-wrap{
    grid-template-rows:1fr;
    opacity:1;
}
.faq-thread.is-open .faq-expand-icon{
    transform:rotate(45deg);
    border-color:var(--accent);
    color:var(--accent);
}
.faq-thread.is-open .faq-question-toggle .faq-bubble{
    border-color:rgba(169,120,255,.5);
}
@media(max-width:650px){
    .faq-question-toggle .faq-bubble{align-items:center;gap:10px}
    .faq-expand-label{display:none}
    .faq-expand-icon{width:27px;height:27px}
}


/* FAQ kompakter: geschlossene Fragen dichter zusammen */
.faq-thread{
    margin-bottom:18px;
    gap:10px;
}
.faq-thread:not(:last-child)::after{
    display:none;
}
.faq-thread.is-open{
    margin-bottom:34px;
}
@media(max-width:650px){
    .faq-thread{
        margin-bottom:14px;
        gap:9px;
    }
    .faq-thread.is-open{
        margin-bottom:28px;
    }
}
