/* Shared by the FAQ pages and the three home previews. Native disclosures work without JavaScript. */
.faq-hero{background:var(--surface);border-block:1px solid var(--line)}
.faq-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);align-items:center;gap:clamp(40px,6vw,92px);padding-block:clamp(48px,6vw,88px)}
.faq-hero h1{font-size:clamp(2.6rem,4.4vw,4.5rem);line-height:1.13;margin:0 0 28px}
.faq-hero h1 em{font-style:normal;color:var(--teal)}
.faq-hero-copy>p{max-width:640px;font-size:1.1875rem;line-height:1.8}
.faq-guide{padding:clamp(26px,3vw,44px);background:var(--navy-deep);color:var(--paper);border-top:3px solid var(--mint);position:relative}
.faq-guide:before{content:'';position:absolute;right:24px;top:24px;width:52px;height:52px;border-top:1px solid #709c95;border-right:1px solid #709c95;pointer-events:none}
.faq-guide .eyebrow{color:var(--mint);font-size:.8125rem;letter-spacing:.1em;padding-right:35px;margin-bottom:20px}
.faq-guide h2{font-size:clamp(1.7rem,2.5vw,2.4rem);line-height:1.25;margin-bottom:30px;max-width:16ch}
.faq-guide nav{display:grid}
.faq-guide a{display:grid;grid-template-columns:24px minmax(0,1fr) 20px;gap:16px;padding:20px 0;border-top:1px solid #436066;align-items:center;font-size:1.0625rem;line-height:1.45}
.faq-guide a>span:first-child{font-size:.8125rem;color:var(--mint);font-variant-numeric:tabular-nums}
.faq-guide a strong{display:block;font-weight:600}
.faq-guide a small{display:block;font-size:.875rem;color:#c0d4d1;margin-top:5px}
.faq-guide a svg{width:20px;height:20px;color:var(--mint)}
.faq-guide a:hover{color:var(--mint)}
.faq-guide a:focus-visible{outline-color:var(--mint)}
.faq-body{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(36px,5vw,80px);align-items:start}
.faq-help{position:sticky;top:calc(var(--header-height,100px) + 28px);padding:32px;background:#e8efea;border:1px solid #c5d7ce}
.faq-help .eyebrow{font-size:.8125rem;line-height:1.65;letter-spacing:.07em;margin-bottom:22px}
.faq-help-mark{display:grid;place-items:center;width:52px;height:52px;border:1px solid #99b8ae;margin-bottom:28px;color:var(--teal)}
.faq-help-mark svg{width:28px;height:28px}
.faq-help h2{font-size:clamp(1.75rem,2.5vw,2.5rem);line-height:1.2;margin-bottom:22px}
.faq-help p{font-size:1.0625rem;line-height:1.8}
.faq-help .button{width:100%;font-size:1rem;padding-inline:16px}
.faq-help .faq-phone-label{margin-top:22px;margin-bottom:0;font-size:.875rem}
.faq-help .faq-phone{display:inline-block;min-height:44px;padding-top:6px;font-size:1.1875rem;font-weight:650;text-decoration:underline;text-underline-offset:5px}
.faq-groups{min-width:0}
.faq-topic+.faq-topic{margin-top:64px}
.faq-topic{scroll-margin-top:28px}
.faq-topic-heading{display:flex;align-items:baseline;gap:18px;border-bottom:2px solid var(--navy);padding-bottom:20px;margin-bottom:0}
.faq-topic-heading>span{color:var(--teal);font-size:.9375rem;font-variant-numeric:tabular-nums}
.faq-topic-heading h2{font-size:clamp(1.8rem,2.8vw,2.6rem);line-height:1.2;margin:0}
.faq-topic-intro{font-size:1.0625rem;line-height:1.75;margin:20px 0 24px}
.faq-item{background:white;border:1px solid var(--line);margin-top:12px;scroll-margin-top:28px;transition:border-color .2s,background .2s}
.faq-item summary{display:grid;grid-template-columns:25px minmax(0,1fr) 34px;gap:16px;align-items:center;padding:24px;font-size:1.125rem;line-height:1.6;letter-spacing:-.012em;font-weight:650;list-style:none;cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after,.faq-item[open] summary:after{content:none}
.faq-number{font-size:.8125rem;font-weight:500;color:var(--teal);font-variant-numeric:tabular-nums;align-self:start;padding-top:4px}
.faq-toggle{width:34px;height:34px;border:1px solid #91b4a7;border-radius:50%;position:relative;color:var(--teal)}
.faq-toggle:before,.faq-toggle:after{content:'';position:absolute;background:currentColor;inset:15px 9px auto;height:1px}
.faq-toggle:after{transform:rotate(90deg);transition:transform .2s}
.faq-item[open]{background:#f3f7f1;border-color:#93b5a5}
.faq-item[open] summary{color:var(--navy)}
.faq-item[open] .faq-toggle{background:var(--teal);border-color:var(--teal);color:white}
.faq-item[open] .faq-toggle:after{transform:rotate(0deg)}
.faq-item summary:hover{color:var(--teal)}
.faq-item summary:focus-visible{outline-offset:4px}
.faq-answer{padding:0 74px 28px 65px}
.faq-item .faq-answer p{font-size:1.0625rem;line-height:1.85;margin:0;padding:0}
.faq-answer a{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:14px;font-size:1rem;line-height:1.65;font-weight:650;color:var(--teal);text-decoration:underline;text-underline-offset:5px}
.faq-answer a svg{width:17px;height:17px;flex-shrink:0}
.faq-back{display:inline-flex;min-height:44px;align-items:center;gap:10px;margin-top:36px;font-size:1rem;color:var(--teal);text-decoration:underline;text-underline-offset:5px}
.faq-home{border-top:1px solid var(--line);background:var(--surface)}
.faq-home-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,90px);align-items:start}
.faq-home-copy .eyebrow{font-size:.875rem}
.faq-home-copy h2{font-size:clamp(2rem,3.4vw,3.4rem);line-height:1.17}
.faq-home-copy>p{max-width:480px;font-size:1.125rem}
.faq-home .faq-item:first-child{margin-top:0}
.faq-home .text-link{gap:15px}
.faq-home .text-link svg{width:20px;height:20px;flex-shrink:0}
@media(max-width:1100px){.faq-body{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.faq-help{padding:26px}.faq-hero-grid{gap:36px}}
@media(max-width:900px){.faq-hero-grid,.faq-home-grid{grid-template-columns:1fr}.faq-hero-copy>p{max-width:720px}.faq-guide h2{max-width:none}.faq-guide nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.faq-guide a{grid-template-columns:minmax(0,1fr) 20px;gap:10px}.faq-guide a>span:first-child{grid-column:1/-1}.faq-body{grid-template-columns:1fr}.faq-help{position:static;order:2;max-width:none}.faq-help .button{width:auto}.faq-help h2 br{display:none}.faq-help p{max-width:640px}}
@media(max-width:600px){.faq-hero-grid{padding-block:40px}.faq-hero h1{font-size:clamp(2.25rem,8vw,3rem);line-height:1.2}.faq-hero-copy>p{font-size:1.0625rem}.faq-guide{padding:26px}.faq-guide nav{grid-template-columns:1fr;gap:0}.faq-guide a{grid-template-columns:24px minmax(0,1fr) 20px;gap:14px;padding-block:18px}.faq-guide a>span:first-child{grid-column:auto}.faq-guide h2{font-size:1.75rem;margin-bottom:22px}.faq-item summary{grid-template-columns:20px minmax(0,1fr) 30px;gap:12px;padding:20px 16px;font-size:1.0625rem}.faq-toggle{width:30px;height:30px}.faq-toggle:before,.faq-toggle:after{inset:13px 7px auto}.faq-answer{padding:0 20px 24px 48px}.faq-topic+.faq-topic{margin-top:44px}.faq-topic-heading{gap:14px}.faq-topic-heading h2{font-size:1.8rem}.faq-help{padding:28px 24px}.faq-home-copy h2{font-size:2.25rem}}
@media(max-width:360px){.faq-answer{padding-left:20px}.faq-guide{padding:22px}.faq-item summary{gap:8px;padding-inline:12px}}
/* Keep the entire contact card reachable on short laptop and landscape screens. */
@media(max-height:800px){.faq-help{position:static}}
@media(prefers-reduced-motion:reduce){.faq-item,.faq-toggle:after{transition:none}}
@media print{.faq-guide,.faq-help,.faq-back,.faq-toggle{display:none}.faq-body,.faq-home-grid,.faq-hero-grid{display:block}.faq-hero,.faq-item,.faq-item[open]{background:white}.faq-item{break-inside:avoid}.faq-item::details-content{display:block;content-visibility:visible}.faq-item>.faq-answer{display:block}.faq-answer{padding:0 24px 24px}.faq-item summary{grid-template-columns:25px minmax(0,1fr)}}
