/* Hello Gym branding and the redesigned company-demo footer. */
.best-footer { background:#101216; color:#fff; border-top:4px solid #ef4647; position:relative; }
.best-footer-inner { width:min(1110px, calc(100% - 60px)); margin:0 auto; }
.best-footer-cta { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:65px 0 55px; border-bottom:1px solid #ffffff20; }
.best-footer-eyebrow { display:block; font:500 15px/1.5 Ubuntu,sans-serif; letter-spacing:3px; color:#f47465; margin-bottom:16px; }
.best-footer-cta h2 { font:600 66px/.98 Teko,sans-serif; letter-spacing:.2px; color:#fff; margin:0; }
.best-footer-cta h2 > span:not(.motion-word) { color:#f15a51; }
.best-footer a { text-decoration:none; }
.best-footer .best-footer-button { display:inline-flex; align-items:center; justify-content:space-between; gap:38px; padding:18px 22px 18px 28px; min-width:242px; border-radius:40px; background:linear-gradient(110deg,#eb343f,#ed7455); color:#fff; font:500 17px/1.5 Ubuntu,sans-serif; transition:transform .2s,box-shadow .2s; }
.best-footer-button span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#ffffff20; font-size:23px; }
.best-footer-button:hover { transform:translateY(-3px); box-shadow:0 8px 30px #e83a3c30; }
.best-footer-grid { display:grid; grid-template-columns:1.05fr .8fr 1.15fr; gap:80px; padding:58px 0 62px; }
.best-footer-brand img { display:block; width:152px; height:97px; margin-bottom:22px; }
.best-footer-brand p { color:#aeb1b8; font:300 16px/1.8 Ubuntu,sans-serif; margin:0 0 24px; }
.best-footer-tag { font:500 11px/1.5 Ubuntu,sans-serif; letter-spacing:2px; border:1px solid #ffffff24; border-radius:4px; padding:8px 12px; display:inline-block; color:#d4d5d8; }
.best-footer h3 { color:#fff; font:500 25px/1.2 Teko,sans-serif; letter-spacing:1px; margin:0 0 26px; }
.best-footer-nav ul { list-style:none; padding:0; margin:0; }
.best-footer-nav li { margin:0 0 12px; }
.best-footer-nav a { color:#b7bac1; font:300 16px/1.5 Ubuntu,sans-serif; display:flex; justify-content:space-between; align-items:center; gap:20px; transition:color .2s; }
.best-footer-nav a span { color:#656871; font-size:16px; }
.best-footer-nav a:hover,.best-footer-nav a:hover span { color:#f47465; }
.best-footer-contact .best-footer-phone { color:#fff; font:500 36px/1.1 Teko,sans-serif; letter-spacing:1px; margin:0 0 9px; }
.best-footer-contact .best-footer-email { color:#f47465; font:400 17px/1.5 Ubuntu,sans-serif; margin:0 0 27px; overflow-wrap:anywhere; }
.best-footer-address { display:flex; gap:13px; align-items:flex-start; }
.best-footer-address svg { width:20px; height:22px; flex:0 0 20px; fill:none; stroke:#f47465; stroke-width:1.5; margin-top:4px; }
.best-footer address { color:#aeb1b8; font:300 15px/1.8 Ubuntu,sans-serif; margin:0; }
.best-footer-contact .best-footer-website { color:#aeb1b8; font:300 15px/1.5 Ubuntu,sans-serif; margin:17px 0 0 33px; }
.best-footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 28px; padding:24px 0; border-top:1px solid #ffffff20; }
.best-footer-bottom p,.best-footer-bottom a { color:#969aa3; font:300 12px/1.5 Ubuntu,sans-serif; margin:0; }
.best-footer-bottom strong { font-weight:500; color:#d4d5d8; }
.best-footer-bottom a { color:#d4d5d8; }
.best-footer-bottom a span { margin-left:14px; color:#f47465; font-size:18px; }
.best-footer a:focus-visible { outline:2px solid #f47465; outline-offset:6px; }
.best-contact-note { color:#fff; text-align:center; font:300 15px/1.8 Ubuntu,sans-serif; width:100%; margin:5px 0 20px; }
.best-contact-note strong { font-weight:400; }
@media(max-width:1024px) {
  .best-footer-grid { gap:40px; grid-template-columns:1fr .8fr 1.2fr; }
  .best-footer-cta h2 { font-size:55px; }
  .best-footer-contact .best-footer-phone { font-size:30px; }
}
@media(max-width:767px) {
  .best-footer-inner { width:calc(100% - 40px); }
  .best-footer-cta { align-items:flex-start; flex-direction:column; padding:44px 0 35px; gap:25px; }
  .best-footer-eyebrow { font-size:12px; letter-spacing:2px; margin-bottom:13px; }
  .best-footer-cta h2 { font-size:49px; }
  .best-footer .best-footer-button { min-width:222px; padding:14px 18px 14px 24px; font-size:15px; }
  .best-footer-grid { grid-template-columns:1fr 1fr; gap:38px 25px; padding:38px 0; }
  .best-footer-contact { grid-column:1 / -1; border-top:1px solid #ffffff20; padding-top:30px; }
  .best-footer h3 { font-size:23px; margin-bottom:20px; }
  .best-footer-brand img { width:122px; height:78px; margin-bottom:18px; }
  .best-footer-brand p,.best-footer-nav a { font-size:14px; }
  .best-footer-tag { font-size:9px; letter-spacing:1px; padding:7px 8px; }
  .best-footer-bottom { align-items:flex-start; flex-direction:column; gap:12px; padding:23px 0 28px; }
}
@media(prefers-reduced-motion:reduce) { .best-footer a { transition:none; } }
