.site-footer{display:block;padding:0;background:#eff4e7;border-top:5px solid #8fd123;font-size:14px;line-height:1.65;color:#363a35;position:relative;overflow:hidden}
.footer-main{display:grid;grid-template-columns:1.25fr .85fr 1fr;gap:6%;padding:52px 5% 43px}
.footer-main>*{min-width:0}
.footer-lockup{display:flex;gap:18px;align-items:center;text-decoration:none;width:fit-content}
.footer-lockup img{width:88px;height:88px;object-fit:contain;mix-blend-mode:multiply}
.footer-lockup span{font:600 30px/1.05 'Ibarra Real Nova',Georgia,serif;color:#3d3dc4}
.footer-about>p{margin:17px 0 16px;line-height:1.7}
.footer-recognition{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;text-decoration:none;color:#37321e;background:#fff3bb;padding:7px 12px;border-radius:40px}
.footer-recognition>span:first-child{font-size:18px;color:#3d3dc4}
.footer-social{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.footer-social a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:9px 14px;background:#fff;border:1px solid #d1dbc7;border-radius:40px;text-decoration:none;font-size:13px;font-weight:600;color:#3d3dc4;transition:background .15s,border-color .15s}
.footer-social a:hover{background:#dbe6d7;border-color:#7fb923}
.footer-social svg{width:18px;height:18px;fill:currentColor;flex-shrink:0}
.site-footer h2{font:600 13px/1.5 Inter,Arial,sans-serif;letter-spacing:1.1px;text-transform:uppercase;color:#3d3dc4;margin:5px 0 18px}
.footer-explore ul{list-style:none;margin:0;padding:0}
.footer-explore li{margin:0}
.footer-explore a{display:inline-block;padding:5px 0;text-decoration:none;color:#363a35;min-height:34px}
.footer-explore a:hover,.footer-email:hover{text-decoration:underline;text-underline-offset:4px}
.footer-contact .footer-phone{display:block;font:600 27px/1.35 'Ibarra Real Nova',Georgia,serif;text-decoration:none;color:#3d3dc4;width:fit-content;padding:2px 0}
.footer-contact .footer-email{display:block;margin-top:8px;font-size:13px;text-decoration:none;overflow-wrap:anywhere;color:#363a35;min-height:28px}
.footer-contact address{font-style:normal;margin:15px 0 0;line-height:1.7}
.site-footer .footer-hours{margin-top:12px;font-size:13px}
.footer-hours span{font-size:18px;vertical-align:middle;margin-right:5px;color:#3d3dc4}
.footer-tour{display:inline-flex;align-items:center;gap:18px;background:#3d3dc4;color:#fff;padding:11px 17px;border-radius:40px;text-decoration:none;font-size:13px;font-weight:600;margin-top:18px;min-height:44px}
.footer-tour:hover{background:#2d2d9d}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#3434ad;color:#fff;padding:17px 5%;font-size:12px;border-bottom:4px solid #8fd123}
.site-footer .footer-bottom p{margin:0}
.footer-bottom a{color:#fff;text-decoration:none;min-height:30px;display:inline-flex;align-items:center;gap:10px}
.footer-bottom a:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer a:focus-visible{outline:3px solid #3737b4;outline-offset:4px}
.footer-bottom a:focus-visible,.footer-tour:focus-visible{outline-color:#ffda36}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.footer-main{grid-template-columns:1.05fr 1fr;gap:34px 8%}.footer-about{grid-column:1/-1}.footer-lockup span{font-size:31px}.footer-about>p br{display:none}}
@media(max-width:650px){.footer-main{padding:35px 6% 32px;gap:28px;grid-template-columns:1fr}.footer-about{grid-column:auto}.footer-lockup img{width:75px;height:75px}.footer-lockup{gap:15px}.footer-lockup span{font-size:28px}.footer-about>p{font-size:14px;margin:15px 0}.site-footer h2{margin:0 0 12px}.footer-explore a{min-height:40px;padding:8px 0}.footer-contact{border-top:1px solid #cbd7c1;padding-top:26px}.footer-contact .footer-phone{min-height:40px}.footer-contact .footer-email{padding:5px 0;min-height:36px}.footer-bottom{padding:16px 6%;align-items:flex-start;flex-wrap:wrap;gap:8px 20px}.footer-bottom p{flex:1;min-width:185px}.footer-bottom a{white-space:nowrap}.footer-social{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.footer-social a{transition:none}}

/* Quiet service attribution; academy branding remains primary. */
.site-footer .footer-bottom{border-bottom:0}
.footer-credit{display:flex;justify-content:center;padding:2px 5%;background:#3434ad;border-top:1px solid #ffffff26;border-bottom:4px solid #8fd123;font-size:12px;line-height:1.4}
.footer-credit a{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;min-height:40px;color:#e8e8ff;text-decoration:none;text-align:center}
.footer-credit strong{font-weight:600}.footer-credit a:hover{text-decoration:underline;text-underline-offset:3px}.site-footer .footer-credit a:focus-visible{outline-color:#ffda36}

.footer-credit--badge{padding:8px 5%}.footer-credit--badge a{display:block;width:min(270px,100%);line-height:0}.footer-credit--badge img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}.footer-credit--badge a:focus-visible{outline-offset:4px}
