/* Shared public-footer contract. Product colours and approved optical logos remain distinct. */
.ex-footer{--ex-wordmark-width:72px;--ex-footer-bg:#072c48;--ex-footer-text:#c4d6e1;--ex-footer-heading:#fff;--ex-footer-border:#ffffff25;--ex-footer-focus:#f3b54b;background:var(--ex-footer-bg);color:var(--ex-footer-text);padding:42px 0 0;font:400 14px/1.65 Inter,Arial,sans-serif;overflow-wrap:anywhere}
.ex-footer--kids{--ex-footer-bg:#edf4ef;--ex-footer-text:#49655a;--ex-footer-heading:#163e30;--ex-footer-border:#ceded4;--ex-footer-focus:#217b5e}
.ex-footer>.shell{width:min(1184px,calc(100% - 48px));margin-inline:auto}
.ex-footer .ex-footer-grid{display:grid;align-items:start;gap:32px;padding:0;grid-template-columns:minmax(220px,1.45fr) repeat(4,minmax(0,1fr))}
.ex-footer--kids .ex-footer-grid{grid-template-columns:minmax(240px,1.4fr) minmax(0,1fr) minmax(0,1fr)}
.ex-footer--crm .ex-footer-grid{grid-template-columns:minmax(220px,1.3fr) repeat(3,minmax(0,1fr))}
.ex-footer-grid>*{min-width:0}
.ex-footer .ex-footer-brand{--brand-wordmark-width:var(--ex-wordmark-width);--kids-wordmark-width:var(--ex-wordmark-width);display:inline-flex;align-items:center;gap:calc(var(--ex-wordmark-width)*.068);min-height:44px;margin:0 0 17px;padding:0;white-space:nowrap;text-decoration:none}
.ex-footer .ex-footer-brand .ex-footer-symbol{display:block;flex:0 0 auto;width:calc(var(--ex-wordmark-width)*.318*189/192);height:calc(var(--ex-wordmark-width)*.318);margin:0;transform:translateY(calc(var(--ex-wordmark-width)*.044))}
.ex-footer .ex-footer-brand .ex-footer-symbol img{display:block;width:100%;height:100%;margin:0;transform:none;object-fit:contain}
.ex-footer .ex-footer-brand .ex-footer-wordmark{display:block;flex:0 0 auto;width:var(--ex-wordmark-width);height:auto;margin:0;transform:none}
.ex-footer--kids .ex-footer-brand{gap:0}
.ex-footer--kids .ex-footer-brand .ex-footer-symbol{margin-right:calc(var(--ex-wordmark-width)*.068)}
.ex-footer .ex-footer-brand .brand-product{height:calc(var(--ex-wordmark-width)*.318);transform:translateY(calc(var(--ex-wordmark-width)*.044))}
.ex-footer .ex-footer-about p{max-width:280px;margin:0 0 17px;font-size:13px;line-height:1.75;color:var(--ex-footer-text)}
.ex-footer .ex-footer-parent,.ex-footer .footer-parent{display:inline-block;margin:0 0 14px;font-size:13px;line-height:1.6;color:var(--ex-footer-heading)}
.ex-footer .ex-footer-email{display:inline-block;margin:0 0 12px;padding:3px 0;font-size:13px;line-height:1.6;color:var(--ex-footer-heading)}
.ex-footer .ex-footer-socials{display:flex;gap:8px;align-items:center;margin:0}
.ex-footer .ex-footer-socials a{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;margin:0;padding:0;border:1px solid var(--ex-footer-border);border-radius:50%;color:var(--ex-footer-heading);transition:background .18s,border-color .18s}
.ex-footer .ex-footer-socials svg{display:block;width:17px;height:17px}
.ex-footer .ex-footer-socials a:hover{background:#ffffff0d;border-color:var(--ex-footer-focus)}
.ex-footer .ex-footer-team{display:inline-block;margin-top:12px;padding:3px 0;color:var(--ex-footer-text);font-size:11px}
.ex-footer .ex-footer-column h2{margin:5px 0 13px;font:650 14px/1.5 Inter,Arial,sans-serif;letter-spacing:0;color:var(--ex-footer-heading)}
.ex-footer .ex-footer-column ul{display:grid;gap:3px;list-style:none;margin:0;padding:0}
.ex-footer .ex-footer-column li{min-width:0;margin:0;padding:0}
.ex-footer .ex-footer-column a{display:inline-block;margin:0;padding:4px 0;font-size:13px;font-weight:400;line-height:1.55;color:var(--ex-footer-text)}
.ex-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.ex-footer .ex-footer-brand:hover,.ex-footer .ex-footer-socials a:hover{text-decoration:none}
.ex-footer a:focus-visible{outline:2px solid var(--ex-footer-focus);outline-offset:4px;border-radius:3px}
.ex-footer .ex-footer-socials a:focus-visible{border-radius:50%}
/* Keep one clear bottom zone so the floating contact control cannot cover legal links. */
.ex-footer .ex-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px 32px;margin-top:30px;padding:18px 0 calc(84px + env(safe-area-inset-bottom));border-top:1px solid var(--ex-footer-border);font-size:12px;line-height:1.6}
.ex-footer .ex-footer-copyright{flex:0 0 auto;margin:0;white-space:nowrap}
footer.ex-footer .ex-footer-legal{position:static;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px 24px;width:auto;max-height:none;margin:0;padding:0;border:0;background:transparent;box-shadow:none;color:inherit;font-size:12px;font-weight:400}
footer.ex-footer .ex-footer-legal a{display:inline-block;position:static;margin:0;padding:4px 0;color:var(--ex-footer-text);font-size:12px;font-weight:400;line-height:1.6;white-space:normal}
@media(max-width:1120px){
 .ex-footer{--ex-wordmark-width:68px}
 .ex-footer .ex-footer-grid{gap:28px;grid-template-columns:repeat(4,minmax(0,1fr))}
 .ex-footer--corporate .ex-footer-about{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:start;gap:32px}
 .ex-footer--corporate .ex-footer-about p{max-width:390px}
 .ex-footer--corporate .ex-footer-connect{justify-self:end}
 .ex-footer--kids .ex-footer-grid{grid-template-columns:minmax(220px,1.2fr) 1fr 1fr}
 .ex-footer--crm .ex-footer-grid{grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(0,1fr))}
}
@media(min-width:761px) and (max-width:900px){
 .ex-footer--crm .ex-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ex-footer--crm .ex-footer-about{grid-column:1/-1}
}
@media(max-width:760px){
 .ex-footer{--ex-wordmark-width:64px;padding-top:30px}
 .ex-footer>.shell{width:calc(100% - 40px)}
 .ex-footer .ex-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .ex-footer .ex-footer-about{grid-column:1/-1;display:block}
 .ex-footer--crm .ex-footer-column:last-child{grid-column:1/-1}
 .ex-footer .ex-footer-about p{max-width:390px}
 .ex-footer--corporate .ex-footer-connect{justify-self:stretch}
 .ex-footer .ex-footer-column h2{margin:0 0 10px}
 .ex-footer .ex-footer-column ul{gap:0}
 .ex-footer .ex-footer-column a{display:inline-flex;align-items:center;min-height:44px;padding:7px 0}
 .ex-footer .ex-footer-socials a{width:44px;height:44px}
 .ex-footer .ex-footer-bottom{align-items:flex-start;flex-direction:column;gap:10px;margin-top:26px;padding:18px 0 calc(84px + env(safe-area-inset-bottom))}
 footer.ex-footer .ex-footer-legal{justify-content:flex-start;gap:8px 24px}
 footer.ex-footer .ex-footer-legal a{display:inline-flex;align-items:center;min-height:44px;padding:5px 0}
}
@media(max-width:360px){.ex-footer{--ex-wordmark-width:60px}.ex-footer .ex-footer-grid{gap:22px 18px}}
@media(prefers-reduced-motion:reduce){.ex-footer .ex-footer-socials a{transition:none}}
@media print{.ex-footer{display:none}}
