.faq-page [hidden]{display:none!important}
.faq-hero{background:var(--paper);padding:48px 0 50px}
.faq-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.faq-hero h1{font-size:clamp(40px,5vw,68px);line-height:1.06;letter-spacing:-.035em;margin:0 0 24px}
.faq-hero .lede{max-width:43ch;margin:0}
.faq-search-area>label{display:block;font-size:18px;font-weight:600;margin-bottom:12px}
.faq-search-field{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--line-strong);padding:0 16px;min-height:60px}
.faq-search-field:focus-within{outline:2px solid var(--ink);outline-offset:3px}
.faq-search-field svg{flex-shrink:0}
.faq-search-field input{background:transparent;min-width:0;width:100%;border:0;outline:0;padding:17px 0;font:inherit;font-size:16px;color:var(--ink)}
.faq-search-field button{font-size:28px;min-width:36px;min-height:44px}
.faq-search-area #faq-search-hint{font-size:14px;margin:12px 0;color:var(--ink-soft)}
.faq-popular{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;font-size:14px}
.faq-popular button{text-decoration:underline;text-underline-offset:4px;min-height:36px}
.faq-suggestions{background:var(--white);padding:16px 20px;margin-top:16px}
.faq-suggestions p{font-size:14px;margin:0 0 8px;color:var(--ink-soft)}
.faq-suggestions ul{list-style:none;margin:0;padding:0}
.faq-suggestions button{text-align:left;font:inherit;font-size:15px;min-height:44px;padding:8px 0;width:100%}
.faq-body{padding:44px 0 64px}
.faq-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:64px;align-items:start}
.faq-sidebar{position:sticky;top:130px}
.faq-sidebar h2{font-family:var(--font-body);font-size:18px;margin:0 0 16px}
.faq-topics{display:flex;flex-direction:column;gap:4px}
.faq-topics>a,.faq-topics>button{display:flex;justify-content:space-between;gap:16px;text-align:left;padding:13px 16px;font:inherit;font-size:15px;min-height:48px;color:var(--ink)}
.faq-topics [aria-pressed=true],.faq-topics [aria-current=true]{background:var(--ink);color:var(--paper)}
.faq-topics span{font-size:13px;align-self:center}
.faq-topics>a:hover,.faq-topics>button:hover{background:var(--surface-sunk);color:var(--ink)}
.faq-direct{margin-top:28px;padding:22px 16px;background:var(--surface-sunk)}
.faq-direct h3{font-family:var(--font-body);font-size:17px;margin:0 0 10px}
.faq-direct p{font-size:15px;margin:0 0 18px}
.faq-results{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px;font-size:14px}
.faq-results p{margin:0}.faq-results button{text-decoration:underline;text-underline-offset:4px;min-height:44px;flex-shrink:0}
.faq-group{scroll-margin-top:140px;margin-bottom:44px}
.faq-group h2{font-size:clamp(26px,3vw,34px);line-height:1.15;margin:0 0 12px;letter-spacing:-.02em}
.faq-description{margin:0 0 22px;font-size:16px;color:var(--ink-soft)}
.faq-questions{display:grid;gap:6px}
.faq-question{background:var(--white);scroll-margin-top:140px}
.faq-question summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 24px;cursor:pointer;list-style:none;font-size:17px;line-height:1.5;font-weight:500}
.faq-question summary::-webkit-details-marker{display:none}
.faq-toggle{flex:0 0 18px;height:18px;position:relative;transition:transform .2s}
.faq-toggle:before,.faq-toggle:after{content:'';position:absolute;left:0;top:8px;width:18px;height:2px;background:currentColor}
.faq-toggle:after{transform:rotate(90deg)}
.faq-question[open] .faq-toggle{transform:rotate(180deg)}
.faq-question[open] .faq-toggle:after{display:none}
.faq-question[open]{background:var(--surface-sunk)}
.faq-answer{font-size:16px;line-height:1.75;padding:0 24px 24px;max-width:76ch;color:var(--ink)}
.faq-answer a{text-decoration:underline;text-underline-offset:3px}.faq-answer p:last-child{margin-bottom:0}
.faq-empty{padding:32px;background:var(--surface-sunk)}.faq-empty h2{font-size:28px}.faq-empty p{margin:16px 0 24px}.faq-empty .text-link{display:inline-block;margin:20px}
.faq-contact{padding:48px 0;background:var(--beige)}
.faq-contact-grid{display:flex;justify-content:space-between;align-items:center;gap:48px}.faq-contact h2{font-size:clamp(26px,3vw,36px);margin:0 0 16px;line-height:1.15}.faq-contact p{max-width:65ch;font-size:16px;margin:0}.faq-contact .btn{flex-shrink:0}
.faq-page button{cursor:pointer}.faq-page :is(a,button,summary):focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(max-width:900px){.faq-hero-grid{gap:32px}.faq-layout{grid-template-columns:210px minmax(0,1fr);gap:32px}.faq-contact-grid{gap:24px}}
@media(max-width:640px){.faq-hero{padding:24px 0 32px}.faq-hero-grid{grid-template-columns:1fr;gap:28px}.faq-hero h1{margin-bottom:16px}.faq-layout{grid-template-columns:1fr;gap:24px}.faq-sidebar{position:static}.faq-direct{display:none}.faq-topics{flex-direction:row;overflow:auto;padding-bottom:6px}.faq-topics>a,.faq-topics>button{flex-shrink:0;white-space:nowrap;padding:12px}.faq-sidebar h2{font-size:16px;margin-bottom:8px}.faq-body{padding-top:24px}.faq-question summary{padding:18px 16px;font-size:16px;gap:16px}.faq-answer{padding:0 16px 20px}.faq-contact-grid{display:block}.faq-contact .btn{margin-top:24px}.faq-group{margin-bottom:32px}.faq-search-field{padding:0 12px}.faq-search-field input{font-size:16px}.faq-results{margin-bottom:20px}.faq-contact{padding:32px 0}}
@media(prefers-reduced-motion:reduce){.faq-toggle{transition:none}}
.faq-layout>*{min-width:0}
