/* Shared footer layout across home, support, and feature pages. */
body.home-v4 .footer .footer-main { display: grid; grid-template-columns: minmax(200px, .75fr) minmax(0, 1.5fr); align-items: start; gap: 56px; padding: 62px 0 52px; }
body.home-v4 .footer .footer-brand { max-width: 430px; }
body.home-v4 .footer .footer-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
body.home-v4 .footer .footer-link-group { gap: 4px; }
body.home-v4 .footer .footer-link-group a { display: inline-flex; min-height: 44px; align-items: center; padding-block: 6px; }
body.home-v4 .footer .footer-link-group h3, body.home-v4 .footer .footer-language h3 { color: #bfc3bc; }
body.home-v4 .footer .footer-language { grid-column: 1 / -1; justify-self: start; width: 100%; }
body.home-v4 .footer .footer-language nav { display: flex; flex-wrap: wrap; gap: 4px 24px; }
body.home-v4 .footer .footer-language nav a { display: inline-flex; align-items: center; min-height: 44px; }
body.home-v4 .footer .footer-cta h2 { text-wrap: balance; }
body.home-v4 .footer .footer-summary { text-wrap: pretty; }
@media (max-width: 980px) {
 body.home-v4 .footer .footer-main { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 720px) {
 body.home-v4 .footer .footer-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 22px; }
 body.home-v4 .footer .footer-nav .footer-link-group:first-child { grid-column: 1 / -1; }
}

/* China contact footer, matching teacher_web's contact treatment. */
body.home-v4 .footer .footer-main { grid-template-columns: 1fr; gap: 38px; }
body.home-v4 .footer .footer-brand { max-width: 560px; }
body.home-v4 .footer .footer-nav { grid-template-columns: 1.3fr 1fr 1fr; gap: 64px; }
body.home-v4 .footer .footer-link-group { align-items: stretch; }
body.home-v4 .footer .footer-link-group h3 { color: #fff; border-bottom: 1px solid rgba(255,255,255,.18); font-size: 18px; font-weight: 760; letter-spacing: -.015em; margin: 0 0 16px; padding-bottom: 17px; }
body.home-v4 .footer .footer-link-group a { text-decoration: none; color: rgba(255,255,255,.62); }
body.home-v4 .footer .footer-link-group a:hover { color: #fff; }
.footer-discover-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; }
.footer-social-links { display: flex; align-items: center; gap: 7px; margin-top: 3px; }
body.home-v4 .footer .footer-social-link { display: inline-flex; justify-content: center; align-items: center; width: 44px; height: 44px; padding: 0; border-radius: 50%; color: #fff; opacity: .82; }
.footer-social-link img,.footer-social-link svg { display: block; width: 26px; height: 26px; }
.footer-social-link img { filter: brightness(0) invert(1); }
.footer-social-link svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: square; stroke-linejoin: miter; }
body.home-v4 .footer .footer-social-link:hover { background: rgba(255,255,255,.1); opacity: 1; }
.footer-social-link:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media(max-width:980px) { body.home-v4 .footer .footer-nav { gap: 30px; grid-template-columns: repeat(2,minmax(0,1fr)); } body.home-v4 .footer .footer-nav .footer-link-group:first-child { grid-column: 1 / -1; } }
@media(max-width:520px) { body.home-v4 .footer .footer-nav { grid-template-columns: 1fr; } }
