/* Shared KADE footer: a clear destination map within a single glass surface. */
footer.kade-footer{--footer-muted:#a8c3d5;--footer-line:#91bfd52f;position:relative;isolation:isolate;display:block;overflow:hidden;padding:54px var(--gutter,5.5vw) 0;background:radial-gradient(ellipse at 0 0,#20455988,transparent 65%),linear-gradient(120deg,#0b2232,#061521 85%);color:#dceef8;border-top:1px solid #98c9df77}
footer.kade-footer::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 49.8%,#add9ed08 50%,transparent 50.2%);background-size:100px 100%;mask-image:linear-gradient(#000,transparent)}
footer.kade-footer::after{content:'';position:absolute;top:0;left:var(--gutter,5.5vw);width:96px;height:2px;background:#bce9fa;box-shadow:0 0 24px #bce9fa66}
.kade-footer .footer-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:38px;border-bottom:1px solid var(--footer-line)}
.kade-footer .footer-brand{display:block;width:172px;flex:none;filter:invert(1);mix-blend-mode:screen}
.kade-footer .footer-brand .kade-wordmark{display:block;filter:none;mix-blend-mode:normal}
.kade-footer .footer-heading p{margin:0;font-size:clamp(20px,2vw,28px);line-height:1.4;letter-spacing:-.025em;text-align:right;color:var(--footer-muted)}
.kade-footer .footer-heading strong{font-weight:400;color:#e8f6ff}
.kade-footer .footer-main{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.8fr);gap:64px;padding:42px 0 36px}
.kade-footer .footer-contact{position:relative;align-self:start;padding:25px 27px;background:linear-gradient(135deg,#24495d66,#13314522);border:1px solid #94c6dd44}
.kade-footer .footer-contact::before,.kade-footer .footer-contact::after{content:'';position:absolute;width:18px;height:18px;pointer-events:none;border-color:#b4daeb;border-style:solid}
.kade-footer .footer-contact::before{left:-1px;top:-1px;border-width:1px 0 0 1px}.kade-footer .footer-contact::after{right:-1px;bottom:-1px;border-width:0 1px 1px 0}
.kade-footer .footer-caption{display:block;font-size:12px;letter-spacing:.18em;color:var(--footer-muted)}
.kade-footer a{color:inherit;text-decoration:none;transition:color .22s,background .22s,transform .22s}
.kade-footer .footer-enquiry{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:clamp(20px,1.9vw,27px);line-height:1.4;margin:22px 0 10px;min-height:44px;letter-spacing:-.025em}
.kade-footer .footer-enquiry span{font-size:25px;color:#b8e4f8;transition:transform .25s}.kade-footer .footer-enquiry:hover span{transform:translate(3px,-3px)}
.kade-footer .footer-email{display:flex;align-items:center;min-height:44px;font-size:14px;overflow-wrap:anywhere;color:var(--footer-muted)}
.kade-footer .trust-identity{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:20px 0 0;margin:17px 0 0;border:0;border-top:1px solid var(--footer-line);font-size:13px;line-height:1.6;color:var(--footer-muted)}
.kade-footer .trust-identity strong{font-size:14px;color:#dceef8;font-weight:500}
.kade-footer .footer-social-links{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 0;width:100%;padding:0;border:0}
.kade-footer .footer-social-links a.footer-social{display:flex;align-items:center;justify-content:center;gap:7px;min-width:40px;min-height:40px;padding:8px;border:1px solid var(--footer-line);font-size:12px;color:#bad7e7;background:#19374b44}
.kade-footer .footer-social-links a:hover{background:#2c526b66;border-color:#b1dcf0}
.kade-footer .footer-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-self:start}
.kade-footer .footer-group h2{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;letter-spacing:.015em;color:#dceef8;margin:0 0 20px;padding:0 0 20px;border-bottom:1px solid var(--footer-line);line-height:1.5}
.kade-footer .footer-group h2 span{font-size:12px;letter-spacing:.1em;color:#88afc7}
.kade-footer .footer-group a{position:relative;display:flex;align-items:center;min-height:44px;padding:8px 0;font-size:14px;line-height:1.6;color:var(--footer-muted)}
.kade-footer .footer-group a::before{content:'';position:absolute;left:-10px;width:2px;height:0;background:#b7e4f9;transition:height .2s}.kade-footer .footer-group a:hover::before,.kade-footer .footer-group a:focus-visible::before{height:16px}
.kade-footer a:hover{color:#fff}.kade-footer a:focus-visible{outline:2px solid #c1eaff;outline-offset:4px}
.kade-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 32px;padding:19px 0;border-top:1px solid var(--footer-line);font-size:12px;line-height:1.6;color:var(--footer-muted)}
.kade-footer .footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.kade-footer .footer-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.kade-footer .footer-top{gap:16px}.kade-footer .footer-top span{font-size:20px;color:#b5e2f7}
@media(max-width:1050px){.kade-footer .footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:30px}.kade-footer .footer-navigation{gap:20px}.kade-footer .footer-contact{padding:22px}.kade-footer .footer-enquiry{font-size:22px}}
@media(max-width:800px){.kade-footer .footer-main{grid-template-columns:1fr;gap:36px}.kade-footer .footer-contact{max-width:none}.kade-footer .footer-navigation{gap:24px}.kade-footer .footer-heading p{font-size:22px}.kade-footer .footer-bottom{gap:8px 24px}}
@media(max-width:550px){footer.kade-footer{padding-top:36px}.kade-footer .footer-heading{align-items:flex-start;flex-direction:column;gap:24px;padding-bottom:28px}.kade-footer .footer-heading p{text-align:left;font-size:24px}.kade-footer .footer-brand{width:142px}.kade-footer .footer-main{padding-top:28px;gap:32px}.kade-footer .footer-navigation{grid-template-columns:1fr 1fr;gap:28px 24px}.kade-footer .footer-group h2{margin-bottom:9px;padding-bottom:13px}.kade-footer .footer-group:last-child{grid-column:1/-1}.kade-footer .footer-group:last-child a{display:flex}.kade-footer .footer-bottom{align-items:flex-start;flex-direction:column}.kade-footer .footer-top{align-self:flex-end}.kade-footer .footer-legal{gap:22px}}
@media(prefers-reduced-motion:reduce){.kade-footer *,.kade-footer *::before{transition:none!important;scroll-behavior:auto!important}}
.kade-footer nav.footer-navigation{position:static;top:auto;z-index:auto;background:none;backdrop-filter:none;border:0;padding:0;overflow:visible;white-space:normal}
/* White closing surface, with the enquiry section above as the primary contact route. */
footer.kade-footer{--footer-muted:#53647b;--footer-line:#233f6029;background:#fff;color:#0f1f3d;border-top-color:#c8d3df}
footer.kade-footer::before,footer.kade-footer::after{display:none}
.kade-footer .footer-brand{filter:none;mix-blend-mode:multiply}
.kade-footer .footer-heading strong,.kade-footer .trust-identity strong,.kade-footer .footer-group h2{color:#0f1f3d}
.kade-footer .footer-contact{padding:0;background:none;border:0}
.kade-footer .footer-contact::before,.kade-footer .footer-contact::after{display:none}
.kade-footer .trust-identity{margin-top:10px;padding-top:15px}
.kade-footer .footer-social-links a.footer-social{background:#f5f8fb;color:#264669;border-color:#ccd8e3}
.kade-footer .footer-social-links a:hover{background:#e8f0f8;border-color:#799cbe;color:#093ce0}
.kade-footer .footer-group h2 span,.kade-footer .footer-top span{color:#456b92}
.kade-footer .footer-group a::before{background:#093ce0}
.kade-footer a:hover{color:#093ce0}.kade-footer a:focus-visible{outline-color:#093ce0}

/* Architectural white footer: navigation panels and restrained instrument details. */
footer.kade-footer{padding-top:64px;background:#fff}
footer.kade-footer::before{display:block;inset:0 0 auto;height:180px;background:linear-gradient(90deg,transparent 49.8%,#163c6810 50%,transparent 50.2%);background-size:96px 100%;mask-image:linear-gradient(#000,transparent)}
footer.kade-footer::after{display:block;width:72px;background:#194ed1;box-shadow:none}
.kade-footer .footer-heading{padding-bottom:36px;align-items:center}
.kade-footer .footer-brand{width:clamp(172px,17vw,245px)}
.kade-footer .footer-heading p{font-size:clamp(21px,2.2vw,32px);line-height:1.45;color:#65758b}
.kade-footer .footer-main{gap:48px;padding:40px 0 44px;grid-template-columns:minmax(0,.85fr) minmax(0,2fr)}
.kade-footer .footer-contact{padding:8px 0}
.kade-footer .footer-email{font-size:15px;color:#1a3657}
.kade-footer .footer-navigation{gap:18px}
.kade-footer .footer-group{position:relative;padding:20px 18px 16px;border:1px solid #dce4ec;background:linear-gradient(140deg,#f7fafd,#fff 70%);transition:border-color .25s,box-shadow .25s}
.kade-footer .footer-group::before{content:'';position:absolute;left:-1px;top:-1px;width:21px;height:21px;border-top:1px solid #507ca4;border-left:1px solid #507ca4;pointer-events:none}
.kade-footer .footer-group:hover,.kade-footer .footer-group:focus-within{border-color:#90aac8;box-shadow:0 8px 25px #12335208}
.kade-footer .footer-group h2{font-size:14px;gap:12px;margin-bottom:10px;padding-bottom:17px}
.kade-footer .footer-group h2 span{font-size:10px;border:1px solid #cbd9e7;padding:4px 5px;letter-spacing:.06em}
.kade-footer .footer-group a{padding:9px 18px 9px 0;font-size:13px;color:#415770}
.kade-footer .footer-group a::before{left:-9px}
.kade-footer .footer-group a::after{content:'↗︎';position:absolute;right:0;color:#7892ac;opacity:0;transform:translate(-3px,3px);transition:opacity .2s,transform .2s}
.kade-footer .footer-group a:hover::after,.kade-footer .footer-group a:focus-visible::after{opacity:1;transform:none}
.kade-footer .footer-bottom{position:relative;padding:17px 0 20px}
.kade-footer .footer-top{border:1px solid #cddbe8;padding:0 14px;gap:22px;background:#f7fafd}
.kade-footer .footer-top span{display:grid;place-items:center;width:26px;height:26px;border:1px solid #afc3d8;border-radius:50%;font-size:15px;transition:transform .2s}
.kade-footer .footer-top:hover span{transform:translateY(-2px)}
@media(max-width:1050px){.kade-footer .footer-main{grid-template-columns:1fr;gap:26px}.kade-footer .footer-contact{display:flex;gap:24px;justify-content:space-between;align-items:center;flex-wrap:wrap}.kade-footer .trust-identity{border:0;margin:0;padding:0}}
@media(max-width:550px){footer.kade-footer{padding-top:40px}.kade-footer .footer-heading{align-items:flex-start}.kade-footer .footer-main{padding:26px 0}.kade-footer .footer-navigation{gap:14px}.kade-footer .footer-group{padding:18px 14px 12px}.kade-footer .footer-group:last-child{grid-column:1/-1}.kade-footer .footer-contact{display:block}.kade-footer .trust-identity{margin-top:14px}.kade-footer .footer-heading p{font-size:24px}}
@media(prefers-reduced-motion:reduce){.kade-footer *, .kade-footer *::after{transition:none!important}}

/* Compact, independently expandable destination panels. */
.kade-footer .footer-navigation{align-items:start}
.kade-footer details.footer-group{min-width:0;padding:0}
.kade-footer .footer-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:76px;padding:18px;cursor:pointer;list-style:none;box-sizing:border-box}
.kade-footer .footer-group>summary::-webkit-details-marker{display:none}
.kade-footer .footer-group>summary::after{content:'+';flex:none;font-size:24px;line-height:1;color:#456b92;font-weight:300}
.kade-footer .footer-group[open]>summary::after{content:'−'}
.kade-footer .footer-group>summary h2{margin:0;padding:0;border:0;font-size:14px;min-width:0}
.kade-footer .footer-group>summary:focus-visible{outline:2px solid #093ce0;outline-offset:4px}
.kade-footer .footer-group-links{margin:0 18px;padding:10px 0 16px;border-top:1px solid var(--footer-line)}
.kade-footer .footer-group[open] .footer-group-links{animation:footer-reveal .2s ease-out}
@keyframes footer-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(max-width:550px){.kade-footer .footer-navigation{grid-template-columns:1fr;gap:12px}.kade-footer .footer-group>summary{min-height:68px}.kade-footer .footer-group:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.kade-footer .footer-group-links{animation:none!important}}

/* Keep footer navigation independent of the dark page navigation. */
.kade-footer nav.footer-social-links{position:static;inset:auto;z-index:auto;background:transparent;backdrop-filter:none;box-shadow:none;white-space:normal;overflow:visible}
.kade-footer .footer-heading p{font-family:Poppins,Arial,sans-serif;font-weight:700;letter-spacing:-.035em;line-height:1.2}
.kade-footer .footer-heading strong{font-family:inherit;font-weight:inherit}
/* Clip the animated body on Safari and hide links at the start of closing. */
.kade-footer .footer-group>.disclosure-body{overflow:hidden;min-height:0}
.kade-footer .footer-group[data-expanded="false"] .footer-group-links,
.kade-footer .footer-group:not([open]) .footer-group-links{visibility:hidden;pointer-events:none}
.kade-footer .footer-group.smooth-disclosure>summary::after{content:none}
.kade-footer .footer-group .disclosure-indicator{color:#456b92}
