/* Shared premium TeacherOn footer */
.site-footer.page-wrap{position:relative;isolation:isolate;display:block;width:min(1320px,calc(100% - 64px));margin:42px auto 24px;padding:42px 42px 20px;overflow:hidden;border:1px solid #dfe8e3;border-radius:24px;background:linear-gradient(140deg,#f7faf8 0%,#f4f7f2 56%,#f6f5fa 100%);box-shadow:0 18px 50px #1f49300b;color:var(--ink)}
.site-footer.page-wrap::before{position:absolute;z-index:-1;top:-132px;right:-94px;width:330px;height:330px;border:1px solid #c9dcd7;border-radius:50%;box-shadow:0 0 0 22px #dcebe055,0 0 0 48px #e4e9f455;content:"";pointer-events:none}
.site-footer.page-wrap::after{position:absolute;z-index:-1;right:70px;top:70px;width:7px;height:7px;border-radius:50%;background:#8cb5a8;box-shadow:-75px 95px 0 #a5b98b,60px 180px 0 #cab7df;content:"";pointer-events:none}
.footer-main{display:grid;grid-template-columns:minmax(340px,.95fr) minmax(0,2.05fr);gap:92px;padding-bottom:38px;align-items:start}
.site-footer.page-wrap .footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:0;max-width:380px;justify-self:start}
.footer-brand-mark{display:inline-flex;align-items:center;gap:2px;font-size:28px;letter-spacing:-1.8px}
.footer-brand-mark .brand-mark{width:38px;height:38px;margin-right:7px;border-radius:13px 13px 13px 4px;font-size:24px;line-height:38px}
.footer-brand-mark .brand-dot{color:#d78c69}
.footer-tagline{max-width:345px;margin:30px 0 14px;color:#203b35;font:750 21px/1.4 var(--display);letter-spacing:-.55px}
.footer-description{max-width:345px;margin:0;color:#65766f;font-size:14px;line-height:1.85}
.footer-brand-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:18px;width:100%;margin-top:32px;padding-top:21px;border-top:1px solid #dde6e0}
.footer-global-link{display:inline-flex;align-items:center;gap:10px;color:#456b5b;font-size:11px;font-weight:750;line-height:1.25;letter-spacing:.85px;text-transform:uppercase}
.footer-globe{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d9e5dd;border-radius:50%;background:linear-gradient(145deg,#edf5ee,#eef0f7);color:#3e7764}
.footer-globe svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.footer-social-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid #d8e2dd;border-radius:999px;background:#ffffff9c;color:#45645b;font-size:12px;font-weight:650;transition:background .2s,border-color .2s,color .2s,transform .2s}
.footer-social-link svg{width:15px;height:15px;fill:currentColor}
.footer-social-link:hover{transform:translateY(-2px);border-color:#91b4a4;background:#fff;color:#1e6b55}
.footer-socials{display:flex;align-items:center;gap:10px}
.footer-socials .footer-social-link{width:42px;height:42px;min-height:42px;padding:0;border-radius:50%}
.footer-socials .footer-social-link svg{width:18px;height:18px}
.footer-social-placeholder{border:1px solid #d8e2dd;cursor:not-allowed;opacity:.72}
.footer-social-placeholder:hover{transform:none;border-color:#d8e2dd;background:#ffffff9c;color:#45645b}
.footer-socials .footer-social-placeholder[aria-disabled="true"]{background:#ffffff75}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.footer-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.site-footer.page-wrap .footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
.footer-links h2{margin:4px 0 15px;color:#274a40;font:750 13px/1.2 var(--display);letter-spacing:.55px}
.footer-links a{display:flex;align-items:center;min-height:37px;color:#62736d;font-size:13px;line-height:1.45;transition:color .18s,transform .18s}
.footer-links a:hover{transform:translateX(3px);color:#19725b}
.footer-cta{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:146px;margin:0 0 24px;padding:26px 32px;overflow:hidden;border:1px solid #d7e5df;border-radius:18px;background:linear-gradient(110deg,#e8f2ed 0%,#edf1f5 55%,#f1edf7 100%)}
.footer-cta::before{position:absolute;z-index:-1;top:-140px;right:22%;width:250px;height:250px;border:1px solid #b9d1c5;border-radius:50%;box-shadow:0 0 0 18px #ffffff45,0 0 0 38px #dce8e877;content:"";pointer-events:none}
.footer-cta-copy{max-width:650px}
.footer-cta-kicker{color:#5b806e;font-size:9px;font-weight:800;letter-spacing:1.35px}
.footer-cta h2{margin:7px 0 5px;color:#203d35;font:750 clamp(20px,2.2vw,28px)/1.2 var(--display);letter-spacing:-.8px}
.footer-cta p{margin:0;color:#687970;font-size:13px;line-height:1.6}
.footer-cta-button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:50px;flex:none;padding:0 19px;border:1px solid #285c4b;border-radius:10px;background:#285c4b;color:#fff;font-size:13px;font-weight:750;box-shadow:0 6px 15px #285c4b20;transition:transform .2s,background .2s,box-shadow .2s}
.footer-cta-button:hover{transform:translateY(-2px);background:#183e34;box-shadow:0 10px 22px #285c4b2b}
.footer-cta-button span{font-size:17px;color:#d9e99d}
.footer-bottom{display:flex;align-items:center;gap:22px;min-height:42px;padding-top:14px;border-top:1px solid #dce5df;color:#77857f;font-size:11px}
.footer-bottom a{color:#62776d;transition:color .18s}
.footer-bottom a:hover{color:#19725b}
.footer-bottom-network{margin-left:auto;color:#4c6b5e;font-size:10px;font-weight:750;letter-spacing:.75px;text-transform:uppercase}
.site-footer a:focus-visible{outline:3px solid #6a9e87;outline-offset:4px;border-radius:4px}
@media(max-width:1080px){.site-footer.page-wrap{width:calc(100% - 48px);padding:34px 30px 18px}.footer-main{grid-template-columns:minmax(280px,.95fr) minmax(0,2fr);gap:52px}.footer-nav{gap:16px}.footer-links a{font-size:12px}}
@media(max-width:960px){.footer-main{grid-template-columns:1fr;gap:30px}.site-footer.page-wrap .footer-brand{max-width:unset;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;align-items:start}.footer-brand-mark{grid-column:1/-1}.footer-tagline{margin-top:20px}.footer-description{max-width:540px}.footer-brand-bottom{grid-column:1/-1;max-width:540px;margin-top:24px}.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 30px}.footer-links h2{margin-bottom:9px}.footer-cta{min-height:130px;padding:22px 24px}}
@media(max-width:560px){.site-footer.page-wrap{width:calc(100% - 28px);margin:28px auto 14px;padding:26px 20px 15px;border-radius:19px}.site-footer.page-wrap::before{top:-90px;right:-175px;width:270px;height:270px}.footer-main{gap:26px;padding-bottom:27px}.site-footer.page-wrap .footer-brand{display:flex;align-items:flex-start}.footer-brand-mark{font-size:25px}.footer-brand-mark .brand-mark{width:35px;height:35px;line-height:35px;font-size:22px}.footer-tagline{max-width:320px;margin:17px 0 8px;font-size:19px}.footer-description{font-size:13px}.footer-brand-bottom{max-width:none;margin-top:18px;padding-top:15px}.footer-nav{gap:22px 16px}.footer-links h2{font-size:12px;margin-bottom:7px}.footer-links a{min-height:40px;font-size:12px}.footer-cta{align-items:flex-start;flex-direction:column;gap:16px;min-height:0;margin-bottom:18px;padding:20px 19px}.footer-cta h2{max-width:300px;font-size:22px}.footer-cta p{max-width:320px;font-size:12px}.footer-cta-button{width:100%;min-height:48px}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:8px 14px;padding-top:13px;font-size:10px}.footer-bottom-network{grid-column:1/-1;margin-left:0}.footer-social-link{min-height:40px}}
@media(prefers-reduced-motion:reduce){.footer-social-link,.footer-links a,.footer-cta-button{transition:none}.footer-social-link:hover,.footer-links a:hover,.footer-cta-button:hover{transform:none}}
