/* WEB54 — FAQ knowledge hub */
.w54-faq-main{width:min(1140px,calc(100% - 38px));margin:0 auto;padding:36px 0 74px}
.w54-faq-hero{padding:clamp(30px,5vw,66px);background:radial-gradient(circle at 92% 18%,#e0f5ff,transparent 32%),linear-gradient(135deg,#f0f6fc,#fff);border:1px solid #dce8f4;border-radius:28px;position:relative;overflow:hidden}
.w54-faq-hero h1{font-size:clamp(2.15rem,5.3vw,5rem);letter-spacing:-.06em;line-height:1.06;color:#102a45;margin:12px 0 22px}
.w54-faq-hero h1 em{font-style:normal;color:#1768b7}
.w54-faq-hero p{max-width:650px;font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.75;color:#526980;margin-bottom:25px}
.w54-hero-cta{display:inline-flex;background:#1b496f;color:white!important;border-radius:30px;padding:13px 23px;text-decoration:none;font-weight:750}
.w54-faq-content{max-width:950px;margin:35px auto}
.w54-controls label{display:block;font-weight:700;color:#2a405a;margin:0 0 12px}
.w54-controls input{width:100%;border-radius:15px;background:#fff;border:1px solid #bed0e4;padding:16px 18px;font:inherit;color:#122a42;box-shadow:0 9px 22px rgba(20,65,110,.04)}
.w54-filter-wrap{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 15px}
.w54-filter-wrap button{border-radius:30px;border:1px solid #cfdfed;background:#fff;padding:8px 14px;font-size:.8rem;color:#405a75;cursor:pointer}
.w54-filter-wrap button.active{background:#214b70;color:white;border-color:#214b70}
#w54-count{font-size:.78rem;color:#6a7d8e}
.w54-faq-list{margin-top:22px;display:grid;gap:10px}
.w54-faq-item{border:1px solid #dbe5f0;border-radius:16px;background:#fff;box-shadow:0 7px 24px rgba(10,39,71,.025);overflow:hidden}
.w54-faq-item[open]{border-color:#aac7e0;box-shadow:0 10px 29px rgba(10,39,71,.06)}
.w54-faq-item summary{list-style:none;display:flex;align-items:center;gap:20px;padding:21px 23px;cursor:pointer;color:#19324c;font-size:clamp(.95rem,1.6vw,1.11rem);font-weight:700;line-height:1.5}
.w54-faq-item summary::-webkit-details-marker{display:none}
.w54-faq-num{font-size:.72rem;letter-spacing:.06em;color:#6097c6;flex:0 0 24px}
.w54-faq-item summary>span:nth-child(2){flex:1}
.w54-plus{font-size:1.4rem;color:#4775a0;font-weight:400;transition:transform .2s}
.w54-faq-item[open] .w54-plus{transform:rotate(45deg)}
.w54-faq-answer{margin:0 25px 22px 65px;padding-top:13px;border-top:1px solid #e3edf5;color:#526b80}
.w54-faq-answer p{line-height:1.8}
.w54-faq-answer a{font-size:.86rem;color:#1d5d98;font-weight:750;text-underline-offset:4px}
.w54-bottom,.w54-home-faq{border-radius:24px;padding:clamp(22px,4vw,42px);background:#142f4d;color:#fff;display:flex;justify-content:space-between;gap:25px;align-items:center;margin:45px 0}
.w54-bottom h2,.w54-home-faq h2{font-size:clamp(1.5rem,2.6vw,2.6rem);line-height:1.2;letter-spacing:-.04em;margin:7px 0}
.w54-bottom p,.w54-home-faq p{color:#d2e4f4;line-height:1.7}
.w54-bottom .w52-eyebrow,.w54-home-faq .w52-eyebrow{color:#96d7fa}
.w54-action-pair{display:flex;flex-direction:column;gap:10px;flex-shrink:0}
.w54-action-pair a,.w54-home-faq>a{display:inline-block;border:1px solid #a9c9e4;background:white;border-radius:30px;text-decoration:none;padding:13px 20px;color:#133d65;font-weight:750;white-space:nowrap}
.w54-home-faq{max-width:1140px;margin:22px auto 40px;flex-direction:column;align-items:flex-start}
.w54-home-faq a{align-self:flex-start}
@media(max-width:720px){.w54-faq-main{width:calc(100% - 28px);padding-top:16px}.w54-faq-hero{border-radius:19px;padding:26px 22px}.w54-faq-item summary{padding:17px 14px;gap:9px}.w54-faq-answer{margin:0 17px 20px 46px}.w54-bottom{flex-direction:column;align-items:stretch}.w54-action-pair{flex-direction:column}.w54-home-faq{margin:20px 14px 35px}}
@media(prefers-reduced-motion:reduce){.w54-plus{transition:none}}
