/* A clear, generous reading space with the full free service visible up front. */
#faq{max-width:900px;padding:56px 28px 64px}
#faq .faq-heading{text-align:center;margin-bottom:28px}
#faq .faq-eyebrow{margin:0 0 14px;color:#176772;font-size:13px;line-height:1.5;font-weight:700;letter-spacing:.06em}
#faq .faq-heading h2{margin:0;font-size:clamp(26px,3vw,34px);line-height:1.65;letter-spacing:.01em;color:#194b55}
#faq .faq-heading h2 span{display:block}
#faq .faq-free{margin:0 0 28px;padding:23px 0 21px;border-block:1px solid #d5e1db;text-align:center}
#faq .faq-free-heading{margin:0;color:#30545a;font-size:16px;line-height:1.8;font-weight:500;letter-spacing:.01em}
#faq .faq-free-heading strong{font-size:22px;font-weight:600;color:#145967}
#faq .faq-free-services{margin:10px 0 0;color:#627777;font-size:12px;line-height:1.9;letter-spacing:.02em}
#faq .faq-free-services>span{display:block}
#faq .faq-list{display:grid;gap:14px}
#faq .faq-item{min-width:0;border:1px solid #d3e1df;border-radius:15px;background:#fff;box-shadow:0 5px 0 #e9f0ed,0 12px 26px -24px #31564f60;overflow:hidden;transition:border-color .2s,box-shadow .2s}
#faq .faq-item>summary{display:grid;grid-template-columns:38px minmax(0,1fr) 30px;align-items:center;gap:16px;min-height:90px;padding:22px 24px;font-size:16px;font-weight:700;line-height:1.75;color:#1b4d57;list-style:none;cursor:pointer}
#faq .faq-item>summary:before,#faq .faq-item>summary:after{content:none}
#faq .faq-item>summary::-webkit-details-marker{display:none}
#faq .faq-item>summary::marker{content:''}
#faq .faq-q{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#edf5f3;color:#176b75;font:700 19px/1 var(--sans);transition:background .2s,color .2s}
#faq .faq-toggle{position:relative;display:block;width:30px;height:30px;border:1px solid #c6d9d5;border-radius:50%;background:#fff;color:#3c7b79;transition:background .2s,border-color .2s,color .2s}
#faq .faq-toggle:before,#faq .faq-toggle:after{content:'';position:absolute;top:50%;left:50%;width:10px;height:2px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%)}
#faq .faq-toggle:after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .22s}
#faq .faq-answer{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:16px;margin:0 24px;padding:22px 0 25px;border-top:1px solid #d8e6e2}
#faq .faq-a{display:grid;place-items:center;width:38px;height:32px;color:#19707b;font:700 19px/1.6 var(--sans)}
#faq .faq-answer p{margin:0;color:#42636a;font-size:15px;line-height:1.95;overflow-wrap:anywhere}
#faq .faq-answer strong{color:#195d68;font-weight:700}
#faq .faq-item[open]{border-color:#83b4b0;background:linear-gradient(#fff 30%,#f5f9f7);box-shadow:0 5px 0 #dceae6,0 16px 28px -24px #27595070}
#faq .faq-item[open] .faq-q{background:#156b76;color:#fff}
#faq .faq-item[open] .faq-toggle{border-color:#156b76;background:#156b76;color:#fff}
#faq .faq-item[open] .faq-toggle:after{transform:translate(-50%,-50%) rotate(0)}
#faq .faq-item[open] .faq-answer{animation:faq-answer-enter .24s ease-out both}
#faq .faq-item>summary:focus-visible{outline:3px solid #bf9c47;outline-offset:-4px;border-radius:14px}
@keyframes faq-answer-enter{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(hover:hover){#faq .faq-item:hover{border-color:#98bbb6;box-shadow:0 5px 0 #e0ece6,0 14px 26px -23px #31564f70}}
@media(max-width:760px){
  #faq{padding:40px 20px 48px}
  #faq .faq-heading{margin-bottom:23px}
  #faq .faq-heading h2{font-size:26px;line-height:1.65}
  #faq .faq-eyebrow{font-size:12px;margin-bottom:12px}
  #faq .faq-free{padding:19px 0 20px;margin-bottom:24px}
  #faq .faq-free-heading{font-size:15px;letter-spacing:0}
  #faq .faq-free-heading strong{display:block;margin-top:1px;font-size:22px;line-height:1.65}
  #faq .faq-free-services{font-size:12px;margin-top:9px;letter-spacing:0}
  #faq .faq-list{gap:13px}
  #faq .faq-item>summary{grid-template-columns:32px minmax(0,1fr) 26px;gap:11px;min-height:85px;padding:20px 16px;font-size:15px;line-height:1.75}
  #faq .faq-q{width:32px;height:34px;border-radius:9px;font-size:17px}
  #faq .faq-toggle{width:26px;height:26px}
  #faq .faq-answer{grid-template-columns:32px minmax(0,1fr);gap:11px;margin:0 16px;padding:18px 0 22px}
  #faq .faq-a{width:32px;font-size:17px}
  #faq .faq-answer p{font-size:15px;line-height:1.9}
}
@media(max-width:359px){
  #faq{padding-inline:16px}
  #faq .faq-item>summary{padding-inline:13px;gap:9px}
  #faq .faq-answer{margin-inline:13px;gap:9px}
}
@media(prefers-reduced-motion:reduce){#faq .faq-item,#faq .faq-q,#faq .faq-toggle,#faq .faq-toggle:after{transition:none}#faq .faq-item[open] .faq-answer{animation:none}}
