/* Shared, native HTML FAQ: content and disclosure controls also work without JavaScript. */
.faq-description{color:var(--muted);font-size:17px;line-height:1.85;max-width:58ch}
.faq-intro{padding:28px 0 58px;background:linear-gradient(135deg,#edf3ef 0%,#f8faf8 75%)}
.faq-breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:34px}
.faq-breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.faq-intro-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(32px,5vw,80px)}
.faq-intro-copy .eyebrow{color:var(--sea);margin-bottom:22px}
.faq-intro h1{font-size:clamp(42px,4.6vw,72px);line-height:1.12;letter-spacing:-.045em;margin-bottom:24px}
.faq-intro h1 em,.faq-home h2 em{color:var(--sea);font-style:normal}
.faq-intro-copy>.text-link{margin-top:22px}
.faq-intro-photo{position:relative;min-width:0}
.faq-intro-photo>img{width:100%;height:clamp(280px,28vw,405px);object-fit:cover;border-radius:24px 24px 80px 24px}
.faq-intro-photo figcaption{position:absolute;bottom:22px;left:22px;right:22px;width:fit-content;max-width:calc(100% - 44px);display:flex;align-items:center;gap:15px;border:1px solid #ffffff80;border-radius:14px;padding:13px 20px;background:#f8faf8f5;color:var(--ink)}
.faq-intro-photo figcaption strong{font-size:32px;letter-spacing:-.04em;font-weight:600;line-height:1.15;white-space:nowrap}
.faq-intro-photo figcaption strong span{font-size:17px;font-weight:400}
.faq-intro-photo figcaption>span{max-width:16ch;font-size:12px;line-height:1.5}
.faq-content{padding-top:36px}
.faq-topics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:58px}
.faq-topics a{display:flex;align-items:center;gap:12px;padding:16px 18px;min-height:68px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:14px;font-weight:550;line-height:1.45}
.faq-topics a>span:first-child{font-size:12px;font-weight:400;color:var(--sea)}
.faq-topics a>span:last-child{margin-left:auto;font-size:20px}
.faq-topics a:hover{background:var(--sand);border-color:var(--sea)}
.faq-content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.38fr);gap:clamp(30px,5vw,80px);align-items:start}
.faq-group{scroll-margin-top:24px}
.faq-group+.faq-group{margin-top:52px}
.faq-group-heading{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.faq-group-heading>span{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:var(--sand);font-size:12px;color:var(--sea)}
.faq-group h2{font-size:clamp(25px,2.4vw,34px);line-height:1.25;letter-spacing:-.025em}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line);scroll-margin-top:24px}
.faq-item summary{display:grid;grid-template-columns:24px minmax(0,1fr) 34px;align-items:center;gap:16px;min-height:86px;padding:22px 6px;cursor:pointer;list-style:none;font-size:16px;font-weight:550;line-height:1.6}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:''}
.faq-number{font-size:11px;font-weight:400;letter-spacing:.05em;color:var(--muted);align-self:start;padding-top:6px}
.faq-toggle{position:relative;display:block;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;transition:background .2s,border-color .2s}
.faq-toggle::before,.faq-toggle::after{content:'';position:absolute;top:50%;left:50%;width:12px;height:1px;background:currentColor;transform:translate(-50%,-50%)}
.faq-toggle::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
.faq-item[open] .faq-toggle{background:var(--ink);border-color:var(--ink);color:#fff}
.faq-item[open] .faq-toggle::after{transform:translate(-50%,-50%) rotate(0)}
.faq-item summary:hover{color:var(--sea)}
.faq-answer{padding:0 56px 26px 46px;color:var(--muted);font-size:15px;line-height:1.9;overflow-wrap:normal}
.faq-answer p{max-width:70ch}
.faq-related{display:inline-flex;align-items:center;gap:14px;margin-top:14px;min-height:44px;color:var(--ink);font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.faq-related:hover{color:var(--sea)}
.faq-related>span{font-size:19px}
.faq-help{position:sticky;top:calc(var(--anchor-header-height,var(--header)) + 28px);padding:30px;border-radius:20px;background:var(--ink);color:#fff;overflow:hidden}
.faq-help-symbol{display:grid;place-items:center;width:46px;height:46px;margin-bottom:30px;border:1px solid #ffffff55;border-radius:50%;font-size:24px;line-height:1}
.faq-help .eyebrow{font-size:10px;letter-spacing:.12em;color:#c5dcd2;margin-bottom:16px}
.faq-help h2{font-size:34px;line-height:1.22;margin-bottom:22px}
.faq-help h2 em{color:#c5dcd2;font-style:normal}
.faq-help>p:not(.eyebrow){font-size:14px;line-height:1.85;color:#e0eae5}
.faq-help .button{margin-top:26px;width:100%;font-size:13px;padding:15px 18px;gap:12px}
.faq-phone{display:block;margin-top:26px;padding-top:20px;border-top:1px solid #ffffff30;font-size:17px;line-height:1.8;white-space:nowrap}
.faq-phone>span{display:block;font-size:12px;color:#c5dcd2}
.faq-phone:hover{text-decoration:underline;text-underline-offset:4px}
.faq-home{background:var(--sand)}
.faq-home-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(35px,6vw,95px);align-items:start}
.faq-home h2{font-size:clamp(36px,3.6vw,54px);line-height:1.16;margin-bottom:24px}
.faq-home-intro>.eyebrow{color:var(--sea)}
.faq-home .faq-description{font-size:16px;max-width:44ch}
.faq-home-intro>.text-link{margin-top:22px}
.faq-home-photo{margin-top:28px;max-width:360px}
.faq-home-photo img{width:100%;height:180px;object-fit:cover;border-radius:14px 14px 48px 14px}
.faq-home .faq-list{border-top:0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:2px 24px}
.faq-home .faq-item:last-child{border-bottom:0}
.faq-home .faq-item summary{font-size:16px;min-height:92px}
.faq-home .faq-answer{padding-right:10px}
@media(max-width:1050px){
 .faq-content-grid{grid-template-columns:minmax(0,1fr) 270px;gap:28px}
 .faq-help{padding:24px}.faq-help h2{font-size:30px}
 .faq-topics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .faq-home-grid{gap:30px}.faq-home .faq-list{padding-inline:18px}
}
@media(max-width:760px){
 .faq-intro{padding:22px 0 32px}.faq-breadcrumbs{margin-bottom:28px;font-size:12px}
 .faq-intro-grid{grid-template-columns:1fr;gap:30px}
 .faq-intro h1{font-size:clamp(36px,7.6vw,54px);line-height:1.16;max-width:100%}
 .faq-intro-copy .eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:18px}
 .faq-description{font-size:16px;line-height:1.8}
 .faq-intro-photo>img{height:240px;border-radius:18px 18px 56px 18px}
 .faq-intro-photo figcaption{bottom:16px;left:16px;padding:11px 16px}
 .faq-content{padding-top:26px}.faq-topics{gap:9px;margin-bottom:36px}
 .faq-topics a{padding:13px 12px;gap:8px;font-size:13px;min-height:66px}
 .faq-topics a>span:first-child{display:none}
 .faq-content-grid,.faq-home-grid{grid-template-columns:minmax(0,1fr);gap:38px}
 .faq-group+.faq-group{margin-top:36px}.faq-group-heading{gap:12px;margin-bottom:12px}
 .faq-group h2{font-size:26px;line-height:1.3}
 .faq-item summary{grid-template-columns:20px minmax(0,1fr) 30px;gap:10px;padding:20px 0;font-size:15px;min-height:80px}
 .faq-toggle{width:30px;height:30px}.faq-answer{padding:0 10px 22px 30px;font-size:15px}
 .faq-help{position:static;padding:28px}.faq-help h2{font-size:34px}
 .faq-help-symbol{margin-bottom:24px}.faq-help .button{width:auto;min-width:220px}
 .faq-home h2{font-size:clamp(32px,6.9vw,48px)}
 .faq-home-photo{display:none}.faq-home .faq-list{padding:0 16px;border-radius:16px}
 .faq-home .faq-item summary{font-size:15px;min-height:84px}
}
@media(prefers-reduced-motion:reduce){.faq-toggle,.faq-toggle::after{transition:none}}

/* On short screens the contact card must scroll naturally, with every link reachable. */
@media(max-height:800px){.faq-help{position:static}}

/* Give whole words and contact links enough room on narrow screens. */
@media(max-width:360px){.faq-answer,.faq-home .faq-answer{padding-inline:0}.faq-help{padding:24px 20px}.faq-help h2{font-size:30px}.faq-help .button{min-width:0;width:100%}}
