/* Homepage FAQ: sticky intro + filters + UK contact card beside grouped, numbered answers */
.fx-in{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(32px,5vw,88px);align-items:start}
.fx-side{position:sticky;top:calc(var(--tb,36px) + 104px);display:grid;gap:26px}
.fx-head .h-1{margin:.3em 0 .35em}
.fx-head .lede{margin:0;max-width:36ch}
.fx-chips{display:flex;flex-wrap:wrap;gap:8px}
.fx-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px 9px 16px;border-radius:999px;border:1px solid rgba(11,20,48,.12);background:#fff;font:600 14px/1 var(--f-display);color:#1C2F5F;cursor:pointer;transition:background .3s,color .3s,border-color .3s,box-shadow .3s}
.fx-chip span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#EEF3FA;color:#3C63B8;font-size:12px;transition:inherit}
.fx-chip:hover{border-color:#3C63B8}
.fx-chip[aria-pressed="true"]{background:#0B1430;border-color:#0B1430;color:#fff;box-shadow:0 10px 24px -14px rgba(11,20,48,.7)}
.fx-chip[aria-pressed="true"] span{background:#92D63C;color:#0B1430}
.fx-chip:focus-visible{outline:2px solid #3C63B8;outline-offset:3px}
.fx-card{position:relative;overflow:hidden;display:grid;gap:6px;justify-items:start;padding:28px 28px 30px;border-radius:24px;background:linear-gradient(150deg,#1C2F5F 0%,#0B1430 70%);color:#C9D5EE;box-shadow:0 30px 60px -36px rgba(11,20,48,.8)}
.fx-card::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(169,194,238,.06) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,rgba(169,194,238,.06) 1px,transparent 1px) 0 0/28px 28px;-webkit-mask:radial-gradient(90% 80% at 100% 0%,#000,transparent 70%);mask:radial-gradient(90% 80% at 100% 0%,#000,transparent 70%);pointer-events:none}
.fx-card>*{position:relative}
.fx-plus{position:absolute !important;right:24px;top:24px;width:30px;height:30px;border-radius:30%;background:linear-gradient(135deg,#B8EB4F,#5CCB33);box-shadow:0 0 22px rgba(146,214,60,.45)}
.fx-plus::before,.fx-plus::after{content:"";position:absolute;left:50%;top:50%;width:52%;height:14%;border-radius:2px;background:#0B1430;transform:translate(-50%,-50%)}
.fx-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.fx-k{font:600 12px/1 var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:#A9C2EE}
.fx-tel{font:600 clamp(28px,2.6vw,34px)/1.1 var(--f-display);letter-spacing:-.02em;color:#fff;margin-top:8px;text-decoration:none}
.fx-em{color:#92D63C;font-weight:600;text-decoration:none}
.fx-tel:hover,.fx-em:hover{text-decoration:underline;text-underline-offset:4px}
.fx-card p{margin:8px 0 14px;font-size:15px;line-height:1.55;max-width:34ch}
/* list */
.fx-list{display:grid;gap:34px;counter-reset:fq}
.fx-g[hidden]{display:none}
.fx-gt{display:flex;align-items:center;gap:12px;margin:0 0 14px;font:600 13px/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:#3C63B8}
.fx-gt::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(60,99,184,.35),transparent)}
.fx .faq{max-width:none;gap:10px}
.fx .faq details{counter-increment:fq;position:relative;overflow:hidden;border-radius:18px;border:1px solid rgba(11,20,48,.08);background:#fff;transition:border-color .35s,box-shadow .45s var(--ease),transform .45s var(--ease)}
.fx .faq details::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#3C63B8,#74C22D);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease)}
.fx .faq details:hover{border-color:rgba(60,99,184,.35)}
.fx .faq details[open]{border-color:rgba(11,20,48,.06);box-shadow:0 1px 2px rgba(11,20,48,.04),0 24px 48px -28px rgba(28,47,95,.4)}
.fx .faq details[open]::before{transform:none}
.fx .faq summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:20px 22px 20px 24px;font-size:var(--fs-lg);line-height:1.35}
.fx .faq summary::before{content:counter(fq,decimal-leading-zero);font:700 13px/1 var(--f-display);letter-spacing:.08em;color:#9AA6C2;transition:color .3s}
.fx .faq details[open] summary::before{color:#3C63B8}
.fx .faq summary:focus-visible{outline:2px solid #3C63B8;outline-offset:-2px;border-radius:18px}
.fx .faq summary i{width:32px;height:32px;background:#EEF3FA;transition:background .35s,transform .45s var(--ease)}
.fx .faq summary i::before,.fx .faq summary i::after{background:#1C2F5F;transition:transform .45s var(--ease),background .35s}
.fx .faq details:hover summary i{background:#E2EAF7}
.fx .faq details[open] summary i{background:#74C22D;transform:rotate(180deg)}
.fx .faq details[open] summary i::before,.fx .faq details[open] summary i::after{background:#0B1430}
.fx .faq .a{padding:0 26px 24px 62px;font-size:16px;line-height:1.65;max-width:none}
.fx .faq .a .link-arrow{display:inline-flex;margin-left:4px}
@media (max-width:1023px){.fx-in{grid-template-columns:1fr;gap:24px}.fx-side{display:contents}.fx-head{order:1}.fx-chips{order:2}.fx-list{order:3}.fx-card{order:4;margin-top:12px}}
@media (max-width:640px){.fx .faq summary{gap:12px;padding:18px 16px;font-size:17px}.fx .faq .a{padding:0 18px 20px 18px}.fx-chip{font-size:13px;padding:8px 12px 8px 14px}}
@media (prefers-reduced-motion:reduce){.fx *,.fx *::before,.fx *::after{transition:none !important}}
.fx-head .h-1{font-size:clamp(40px,4.2vw,60px);line-height:1.04;letter-spacing:-.025em}
.fx-g{counter-reset:fq}
/* m-floor:start (generated by scripts/gen_mfloor.py) */
@media (max-width:760px) and (max-width:640px){.fx-chip{font-size:max(14px, 13px)}}
@media (max-width:760px){.fx-chip span{font-size:max(14px, 12px)}.fx-k{font-size:max(14px, 12px)}.fx-gt{font-size:max(14px, 13px)}.fx .faq summary::before{font-size:max(14px, 13px)}}
/* m-floor:end */
