/* Page-specific styles. All theme colors come from the site's existing palette. */
.faq-page{background:var(--paper)}
.faq-hero{padding:30px 0 64px;background:var(--sage)}
.faq-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 38px;color:var(--muted);font-size:13px}
.faq-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.faq-hero h1{max-width:850px;font-size:clamp(42px,5.8vw,70px)}
.faq-hero .lead{max-width:650px;margin-bottom:30px}
.faq-topics{display:flex;flex-wrap:wrap;gap:10px}
.faq-topics a{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:46px;padding:10px 17px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:14px;font-weight:700}
.faq-topics a:hover{border-color:var(--blue);background:var(--blue-light)}
.faq-content{padding:64px 0 80px}
.faq-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:64px;align-items:start}
.faq-group{padding:0;margin:0 0 48px;scroll-margin-top:30px}
.faq-group:last-child{margin-bottom:0}
.faq-group-heading h2{font-size:clamp(29px,3vw,38px);margin:10px 0 12px}
.faq-group-heading p{margin:0 0 24px}
.faq-list{display:grid;gap:12px}
.faq-item{background:var(--cream);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:22px 24px;list-style:none;cursor:pointer;font-weight:700;line-height:1.5;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:""}
.faq-item summary::after{content:"+";flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--blue-light);color:var(--blue);font-size:20px;font-weight:400;line-height:1}
.faq-item[open]{border-color:var(--blue)}
.faq-item[open] summary::after{content:"−"}
.faq-item summary:hover{color:var(--blue)}
.faq-item summary:focus-visible{outline:2px solid var(--blue);outline-offset:-5px;border-radius:10px}
.faq-answer{padding:0 24px 24px;line-height:1.75}
.faq-answer p{margin:0 0 16px}
.faq-answer p:last-child{margin-bottom:0}
.faq-answer a,.faq-text-link{color:var(--blue);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.faq-answer ul,.faq-answer ol{padding-left:22px;color:var(--muted)}
.faq-help{position:sticky;top:24px;padding:30px;background:var(--sage);border:1px solid var(--line);border-radius:16px}
.faq-help h2{font-size:31px;line-height:1.2;margin:14px 0 18px}
.faq-help .button{width:100%;padding:12px;font-size:14px}
.faq-tty{font-size:13px;margin:10px 0 22px}
.faq-help-divider{height:1px;background:var(--line);margin:26px 0}
.faq-help-small{font-size:14px}
.faq-topics a:focus-visible,.faq-text-link:focus-visible,.faq-answer a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.theme-transition .faq-page,.theme-transition .faq-hero,.theme-transition .faq-topics a,.theme-transition .faq-item,.theme-transition .faq-item summary,.theme-transition .faq-help,.theme-transition .faq-item summary::after{transition:background-color 400ms ease,color 400ms ease,border-color 400ms ease}
@media(max-width:950px){.faq-layout{gap:30px;grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:850px){.faq-layout{grid-template-columns:1fr}.faq-help{position:static;max-width:none}.faq-help .button{width:auto}.faq-hero{padding-bottom:45px}.faq-content{padding:45px 0 60px}}
@media(max-width:500px){.faq-topics{display:grid;grid-template-columns:1fr}.faq-item summary{padding:18px;gap:12px;min-height:70px}.faq-answer{padding:0 18px 20px}.faq-help{padding:24px}.faq-breadcrumb{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.theme-transition .faq-page,.theme-transition .faq-hero,.theme-transition .faq-topics a,.theme-transition .faq-item,.theme-transition .faq-item summary,.theme-transition .faq-help,.theme-transition .faq-item summary::after{transition:none}}
