/* FAQ block v3.14 (tools/faq_block.py): navy header with search + illustration, topic menu, grouped answers, ask banner. */
.fq{margin:var(--sec) 0;display:grid;gap:var(--card-gap)}
.fq-top{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:var(--s5);align-items:center;padding:clamp(28px,4vw,48px);border-radius:32px;background:#0B2A4A;color:#fff;overflow:hidden}
.fq-top:before{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.05)}
.fq-tt{position:relative;display:grid;gap:var(--s2);max-width:640px}
.fq-tt .ln-kick{margin:0;color:#F6C27E}
.fq-top h2{margin:0;color:#fff!important;font-size:var(--fs-h2);letter-spacing:-.03em}
.fq-sub{margin:0;color:rgba(255,255,255,.8);line-height:1.6}
.fq-s{display:flex;align-items:center;gap:10px;height:58px;margin-top:var(--s1);padding:0 var(--s3);background:#fff;border-radius:18px;box-shadow:0 18px 40px -20px rgba(0,0,0,.5);transition:box-shadow .2s}
.fq-s:focus-within{box-shadow:0 0 0 4px rgba(232,137,29,.45),0 18px 40px -20px rgba(0,0,0,.5)}
.fq-s svg{width:22px;height:22px;flex:none;fill:none;stroke:#2D5FA8;stroke-width:2;stroke-linecap:round}
.fq-s input{flex:1;min-width:0;border:0;background:none;font:400 16px Poppins,sans-serif;color:var(--ink);outline:none}
.fq-art{position:relative;width:100%;height:auto}
.fq-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--card-gap);align-items:start}
.fq-one .fq-body{grid-template-columns:minmax(0,1fr)}
/* topic menu */
.fq-tabs{position:sticky;top:100px;display:grid;gap:4px;padding:var(--s2);background:#fff;border:1px solid var(--rule);border-radius:24px}
.fq-tabs button{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 10px;border:0;border-radius:14px;background:none;text-align:left;font:500 15px Poppins,sans-serif;color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
.fq-tabs button span{flex:1}
.fq-tabs button small{min-width:26px;padding:2px 8px;border-radius:99px;background:#F6F3EC;font-size:12px;font-weight:700;text-align:center;color:#5B6B7D}
.fq-tabs button:hover{background:#F6F3EC}
.fq-tabs button.on{background:#0B2A4A;color:#fff}.fq-tabs button.on small{background:rgba(255,255,255,.16);color:#fff}.fq-tabs button.on .fq-gi{background:rgba(255,255,255,.14);color:#fff}
.fq-gi{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#EEEAE2;color:var(--ink)}
.fq-gi svg{width:18px;height:18px}
.c0 .fq-gi,.fq-gh.c0 .fq-gi{background:#E7EEF8;color:#2D5FA8}.c1 .fq-gi,.fq-gh.c1 .fq-gi{background:#FBEEDD;color:#C66F0C}
.c2 .fq-gi,.fq-gh.c2 .fq-gi{background:#E8F3EA;color:#1A7F33}.c3 .fq-gi,.fq-gh.c3 .fq-gi{background:#EEEAE2;color:#0B2A4A}
/* grouped answers */
.fq-l{display:grid;gap:var(--s4)}
.fq-grp{display:grid;gap:var(--s2)}
.fq-gh{display:flex;align-items:center;gap:10px;margin:0 0 4px;font-size:18px;color:var(--ink)}
.fq-i{background:#fff;border:1px solid var(--rule);border-radius:20px;scroll-margin-top:120px;transition:border-color .25s,box-shadow .25s}
.fq-i:hover{border-color:rgba(11,42,74,.3)}
.fq-i[open]{border-color:transparent;box-shadow:0 0 0 2px #0B2A4A,0 24px 44px -32px rgba(11,42,74,.55)}
.fq-i summary{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);min-height:68px;cursor:pointer;list-style:none;border-radius:20px}
.fq-i summary::-webkit-details-marker{display:none}
.fq-i summary:after,.fq-i summary::after{content:none!important;display:none!important}
.fq-i summary:focus-visible{outline:3px solid #2D5FA8;outline-offset:2px}
.fq-n{flex:none;font-size:13px;font-weight:700;color:#8A97A6;font-variant-numeric:tabular-nums;transition:color .25s}
.fq-i[open] .fq-n{color:#E8891D}
.fq-q{flex:1;font-weight:600;font-size:16.5px;line-height:1.4;color:var(--ink)}
.fq-x{flex:none;position:relative;width:36px;height:36px;border-radius:50%;background:#F6F3EC;transition:background .25s,transform .35s cubic-bezier(.2,.8,.2,1)}
.fq-x:before,.fq-x:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:var(--ink);transition:transform .35s cubic-bezier(.2,.8,.2,1),background .25s}
.fq-x:after{transform:rotate(90deg)}
.fq-i[open] .fq-x{background:#0B2A4A;transform:rotate(180deg)}.fq-i[open] .fq-x:before,.fq-i[open] .fq-x:after{background:#fff}.fq-i[open] .fq-x:after{transform:rotate(0)}
.fq-a{margin:0 var(--s4) var(--s4);padding:var(--s3) var(--s4);border-radius:16px;background:#FBFAF6;border-left:4px solid #E8891D}
.fq-a p{margin:0;color:#2B3B4D;line-height:1.7;max-width:64ch}
.fq-a p a{color:#2D5FA8;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.fq-ft{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2);margin-top:var(--s3);padding-top:var(--s2);border-top:1px dashed rgba(11,42,74,.15)}
.fq-hp{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:#5B6B7D}
.fq-hp button{min-height:32px;padding:0 12px;border:1px solid var(--rule);border-radius:99px;background:#fff;font:600 13px Poppins,sans-serif;color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
.fq-hp button:hover{border-color:var(--ink)}
.fq-hp.done{color:#1A7F33;font-weight:600}
.fq-f{font-size:14px;font-weight:600;color:#1A7F33}.fq-f:hover{text-decoration:underline;text-underline-offset:3px}
.fq mark{background:#FBE3C4;color:inherit;border-radius:3px;padding:0 1px}
.fq-empty{display:grid;justify-items:start;gap:var(--s2);padding:var(--s4);border:1px dashed rgba(11,42,74,.25);border-radius:20px;background:#fff}
.fq-empty p{margin:0;color:#2B3B4D}
.fq [hidden]{display:none!important}
/* ask banner */
.fq-ask{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;padding:var(--s4) var(--card-pad);border-radius:26px;background:#FBEEDD}
.fq-ask div{display:grid;gap:4px}.fq-ask b{font-size:19px;color:var(--ink)}.fq-ask span{color:#2B3B4D;font-size:15px}
/* smooth open where supported */
@supports (interpolate-size:allow-keywords){
 .fq-i{interpolate-size:allow-keywords}
 .fq-i::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .4s cubic-bezier(.2,.8,.2,1),opacity .3s,content-visibility .4s allow-discrete}
 .fq-i[open]::details-content{block-size:auto;opacity:1}
}
@media (max-width:1020px){
 .fq-body{grid-template-columns:minmax(0,1fr)}
 .fq-tabs{top:72px;z-index:10;display:flex;overflow-x:auto;scrollbar-width:none;padding:6px;border-radius:18px}
 .fq-tabs::-webkit-scrollbar{display:none}
 .fq-tabs button{flex:none;min-height:40px;padding:4px 12px 4px 4px;border:1px solid var(--rule);border-radius:99px;font-size:14px}
 .fq-tabs .fq-gi{width:30px;height:30px;border-radius:50%}
}
@media (max-width:640px){
 .fq-top{grid-template-columns:minmax(0,1fr);border-radius:24px;padding:var(--s4) var(--s3)}
 .fq-art{display:none}
 .fq-i summary{padding:14px var(--s3);gap:var(--s2);min-height:60px}
 .fq-q{font-size:15.5px}
 .fq-a{margin:0 var(--s2) var(--s2);padding:var(--s3)}
 .fq-ask{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.fq-i::details-content,.fq-x,.fq-x:before,.fq-x:after{transition:none!important}}
