.faq-screen { position:relative; isolation:isolate; min-width:320px; min-height:100svh; background:#fff; color:var(--text-primary); }
.faq-page { position:relative; z-index:1; width:min(100%,760px); margin:0 auto; padding:28px 20px calc(34px + var(--bottom-nav-total-height)); overflow:hidden; }
body.app-has-footer.app-has-bottom-nav .faq-page { padding-bottom:0; }
.faq-header { position:relative; min-height:156px; padding:0 0 24px; }
.faq-header__copy { position:relative; z-index:1; }
.faq-header h1 { margin:0; color:var(--text-primary); font-family:var(--font-sans); font-size:var(--font-size-page-title); font-weight:var(--font-weight-bold); line-height:var(--line-height-page-title); }
.faq-intro { max-width:52ch; margin:10px 0 0; color:var(--text-secondary); font-size:16px; line-height:1.45; }
.faq-list { display:grid; gap:10px; }
.faq-item { overflow:hidden; border:1px solid rgba(29,29,31,.09); border-radius:18px; background:#fff; box-shadow:0 4px 14px rgba(29,29,31,.045); }
.faq-question { display:grid; min-height:60px; grid-template-columns:minmax(0,1fr) 18px; align-items:center; gap:14px; padding:16px 18px; color:var(--text-primary); font-size:16px; font-weight:var(--font-weight-semibold); line-height:1.3; list-style:none; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.faq-question::-webkit-details-marker { display:none; }
.faq-question::after { width:8px; height:8px; justify-self:center; border-right:2px solid var(--orange); border-bottom:2px solid var(--orange); content:""; transform:rotate(45deg) translate(-1px,-1px); transition:transform 150ms ease; }
.faq-item[open] > .faq-question::after { transform:rotate(225deg) translate(-1px,-1px); }
.faq-question:focus-visible { outline:2px solid var(--orange); outline-offset:-3px; border-radius:16px; }
.faq-answer { padding:0 18px 18px; }
.faq-answer p { margin:0; color:var(--text-secondary); font-size:15px; line-height:1.5; }
.faq-cta { margin-top:30px; padding:22px 18px; border:1px solid rgba(249,115,22,.14); border-radius:20px; background:#fffaf6; text-align:center; }
.faq-cta h2 { margin:0; color:var(--text-primary); font-size:var(--font-size-section-title); font-weight:var(--font-weight-bold); line-height:var(--line-height-section-title); }
.faq-cta p { max-width:43ch; margin:10px auto 0; color:var(--text-secondary); font-size:15px; line-height:1.45; }
.faq-cta .button { display:grid; width:min(100%,320px); place-items:center; margin:18px auto 0; color:#fff; text-decoration:none; }
@media (min-width:700px) { .faq-page { padding-top:42px; } .faq-header { min-height:170px; } .faq-question { padding-right:20px; padding-left:20px; font-size:17px; } .faq-answer { padding-right:20px; padding-left:20px; } }
@media (prefers-reduced-motion:reduce) { .faq-question::after { transition:none; } }
