.faq-hero h1 { margin-bottom: 1.3rem; }
.faq-hero .kicker { color: var(--silver); font-size: .75rem; }
.faq-hero > .faq-hero-description { max-width: 650px; font-size: 1rem; color: var(--silver); }
.faq-content { width: min(1180px, calc(100% - 3rem)); margin: 0 auto; padding: 3rem 0 5rem; }
.faq-topics { display:flex; flex-wrap:wrap; gap:.7rem; margin-bottom:2.5rem; }
.faq-topics a { border:1px solid #ccd4db; padding:.55rem .9rem; border-radius:2rem; font-size:.85rem; font-weight:700; }
.faq-topics a:hover,.faq-topics a:focus-visible { background:var(--navy); color:white; border-color:var(--navy); }
.faq-video-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; align-items:start; }
.faq-video-card { border:1px solid #dce2e7; border-top:3px solid var(--red); background:white; border-radius:0 0 8px 8px; overflow:hidden; scroll-margin-top:2rem; }
.faq-card-heading { padding:1.6rem 1.6rem 1.3rem; min-height:193px; }
.faq-card-heading .kicker { color:#67798a; font-size:.7rem; margin:0 0 .65rem; }
.faq-card-heading h2 { margin:0 0 .65rem; font:800 clamp(1.3rem,2.2vw,1.7rem)/1.3 "Plus Jakarta Sans",sans-serif; }
.faq-card-heading > p:last-child { margin:0; font-size:.9rem; color:#566a7b; }
.faq-player { background:#071b30; display:flex; justify-content:center; }
.faq-player video { display:block; width:100%; max-height:560px; aspect-ratio:9/16; object-fit:contain; background:#071b30; }
.faq-card-footer { padding:1.2rem 1.6rem 1.4rem; }
.faq-card-footer summary { cursor:pointer; font-size:.9rem; font-weight:700; }
.faq-transcript { font-size:.9rem; color:#465d70; }
.faq-note { margin-top:2rem; color:#617385; font-size:.78rem; line-height:1.6; }
.faq-contact { margin-top:3rem; padding:2rem; background:var(--navy); color:white; display:flex; gap:2rem; align-items:center; justify-content:space-between; }
.faq-contact h2 { max-width:610px; font:700 clamp(1.6rem,3vw,2.2rem)/1.2 "Plus Jakarta Sans",sans-serif; margin:.5rem 0 1rem; }
.faq-contact p { color:var(--silver); }
.faq-contact .kicker { color:var(--red); }
.faq-contact .primary-button { flex-shrink:0; }
@media(max-width:700px) { .faq-content { width:calc(100% - 2rem); padding-top:1.5rem; } .faq-video-grid { grid-template-columns:1fr; gap:1.5rem; } .faq-card-heading { min-height:0; padding:1.3rem; } .faq-card-footer { padding:1.1rem 1.3rem; } .faq-player video { max-height:none; } .faq-contact { flex-direction:column; align-items:flex-start; padding:1.5rem; } }
