.faq-section{width:100%;background-color:var(--invitation-section-bg);padding:var(--invitation-section-padding);display:flex;flex-direction:column;align-items:center}.invitation-reveal.is-visible .faq-section .faq-title{animation:invitation-fade-in var(--invitation-fade-duration, .65s) cubic-bezier(.25,1,.5,1) .1s both}.invitation-reveal.is-visible .faq-section .faq-list{animation:invitation-fade-in var(--invitation-fade-duration, .65s) cubic-bezier(.25,1,.5,1) .2s both}.faq-section .faq-title{font-family:var(--font-secondary);font-size:3.5rem;color:var(--invitation-text-secondary);margin:0 0 2.5rem;font-weight:400;text-align:center}.faq-section .faq-list{max-width:700px;width:100%;display:flex;flex-direction:column;gap:1rem}.faq-section .faq-subtitle{font-family:var(--font-primary);font-size:1rem;color:var(--invitation-text-muted);margin:-1.25rem 0 2rem;text-align:center}.faq-section .faq-item{background:var(--invitation-card-bg);border-radius:12px;overflow:hidden;box-shadow:var(--invitation-card-shadow-soft)}.faq-section .faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;cursor:pointer;font-family:var(--font-primary);font-weight:400;font-size:1rem;color:var(--invitation-text-primary);background:none;border:none;text-align:left}.faq-section .faq-chevron{color:var(--invitation-accent);font-size:1.25rem;transition:transform .3s ease;flex-shrink:0;margin-left:1rem}.faq-section .faq-item.is-open .faq-chevron{transform:rotate(180deg)}.faq-section .faq-answer{display:grid;grid-template-rows:minmax(0,0fr);transition:grid-template-rows .35s ease}.faq-section .faq-item.is-open .faq-answer{grid-template-rows:minmax(0,1fr)}.faq-section .faq-answer-inner{padding:0 1.5rem 1.5rem;border-top:1px solid var(--invitation-border-soft);overflow:hidden;min-height:0}.faq-section .faq-answer-inner p{font-family:var(--font-primary);font-weight:300;font-size:.95rem;line-height:1.7;color:var(--invitation-text-dim);margin:1rem 0 0}.faq-section .faq-question:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}@media(max-width:480px){.faq-section .faq-title{font-size:2.8rem}.faq-section .faq-question{padding:1rem 1.25rem;font-size:.95rem}}@media(prefers-reduced-motion:reduce){.invitation-reveal.is-visible .faq-section .faq-title,.invitation-reveal.is-visible .faq-section .faq-list{animation:none;opacity:1;transform:none}.faq-section .faq-chevron,.faq-section .faq-answer{transition:none}}
