/* With love, FMB footer v2: quiet luxury across desktop and mobile. */

html body .footer,
body.organized-route .footer,
body.music-app.organized-route .footer{
  position:relative!important;
  padding:clamp(54px,6vw,78px) 0 30px!important;
  overflow:hidden!important;
  border-top:1px solid rgba(81,11,119,.09)!important;
  background:
    radial-gradient(circle at 10% 6%,rgba(194,139,217,.18),transparent 28%),
    radial-gradient(circle at 92% 82%,rgba(214,170,66,.12),transparent 24%),
    linear-gradient(180deg,#fbf9fc 0%,#f5eff7 100%)!important;
  color:#2f1738!important;
  isolation:isolate;
}

body .footer::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(108px,24vw);
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#d6aa42,#7b2b98,#d6aa42);
  transform:translateX(-50%);
}

body .footer::after{display:none!important}
body .footer>.wrap{position:relative;z-index:1;width:min(1180px,calc(100% - 40px))!important}

body .footer .footer-grid{
  display:grid!important;
  grid-template-columns:minmax(300px,1.2fr) minmax(180px,.7fr) minmax(220px,.9fr)!important;
  gap:0!important;
  overflow:hidden;
  padding:0!important;
  border:1px solid rgba(81,11,119,.1);
  border-radius:34px;
  background:rgba(255,255,255,.68);
  box-shadow:0 28px 80px rgba(57,25,68,.08),inset 0 1px 0 rgba(255,255,255,.96);
  backdrop-filter:blur(24px) saturate(130%);
  -webkit-backdrop-filter:blur(24px) saturate(130%);
}

body .footer .footer-grid>div{
  min-width:0;
  padding:clamp(30px,4vw,48px)!important;
}

body .footer .footer-grid>div:not(:first-child){
  border-left:1px solid rgba(81,11,119,.08);
}

body .footer .footer-brand-lockup{
  display:flex!important;
  width:min(252px,100%)!important;
  max-width:100%!important;
  min-height:0!important;
  margin:0 0 18px!important;
  padding:0!important;
  align-items:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body .footer .footer-brand-lockup .footer-icon{display:none!important}
body .footer .footer-logo,
body .footer .footer-brand-lockup .footer-logo{
  display:block!important;
  width:min(242px,100%)!important;
  max-width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}

body .footer p{
  max-width:360px;
  margin:0!important;
  color:#6b5b70!important;
  font-size:13px!important;
  line-height:1.65!important;
}

body .footer h4{
  margin:2px 0 17px!important;
  color:#4d155f!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:10px!important;
  font-weight:850!important;
  line-height:1.2!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}

body .footer .footer-links{display:grid!important;gap:2px!important}
body .footer .footer-links a,
body .footer .footer-links span{
  position:relative;
  width:fit-content;
  max-width:100%;
  padding:6px 0!important;
  color:#493d4d!important;
  font-size:12.5px!important;
  font-weight:620!important;
  line-height:1.35!important;
  text-decoration:none;
  transition:color .18s ease,transform .18s ease;
}

body .footer .footer-links a::after{
  content:"";
  position:absolute;
  right:0;
  bottom:3px;
  left:0;
  height:1px;
  background:linear-gradient(90deg,#7b2b98,#d6aa42);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .18s ease;
}

body .footer .footer-links a:hover,
body .footer .footer-links a:focus-visible{color:#6d1f87!important;transform:translateX(3px)}
body .footer .footer-links a:hover::after,
body .footer .footer-links a:focus-visible::after{transform:scaleX(1)}
body .footer .footer-contact-address{color:#756779!important;font-size:11.5px!important;line-height:1.55!important}

body .footer .socials{display:flex!important;gap:9px!important;margin-top:20px!important}
body .footer .social{
  display:grid!important;
  width:42px!important;
  height:42px!important;
  padding:0!important;
  place-items:center!important;
  border:1px solid rgba(81,11,119,.1)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.78)!important;
  color:#5c176e!important;
  box-shadow:0 8px 24px rgba(56,19,68,.06)!important;
  transition:transform .18s ease,background .18s ease!important;
}
body .footer .social:hover,
body .footer .social:focus-visible{background:#fff!important;transform:translateY(-2px)}

body .footer .footer-bottom{
  display:flex!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:16px 4px 0!important;
  padding:16px 18px 0!important;
  border-top:1px solid rgba(81,11,119,.08)!important;
}
body .footer .footer-bottom span{
  color:#7a6d7e!important;
  font-size:10.5px!important;
  font-weight:600!important;
  line-height:1.5!important;
}

@media(max-width:800px){
  html body.fmb-mobile-menu-ready .footer,
  html body .footer,
  body.organized-route .footer,
  body.music-app.organized-route .footer{
    padding:48px 0 calc(112px + env(safe-area-inset-bottom,0px))!important;
  }
  body .footer>.wrap{width:calc(100% - 24px)!important}
  body .footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    border-radius:28px!important;
  }
  body .footer .footer-grid>div{padding:22px 18px!important}
  body .footer .footer-grid>div:first-child{
    display:grid!important;
    grid-column:1/-1!important;
    justify-items:center!important;
    padding:28px 22px 25px!important;
    text-align:center!important;
  }
  body .footer .footer-grid>div:nth-child(2){display:block!important}
  body .footer .footer-grid>div:not(:first-child){
    border-top:1px solid rgba(81,11,119,.08)!important;
    border-left:0!important;
  }
  body .footer .footer-grid>div:nth-child(3){border-left:1px solid rgba(81,11,119,.08)!important}
  body .footer .footer-brand-lockup{width:210px!important;margin:0 auto 14px!important}
  body .footer .footer-logo,
  body .footer .footer-brand-lockup .footer-logo{width:210px!important;object-position:center!important}
  body .footer p{max-width:290px!important;font-size:12px!important;line-height:1.6!important}
  body .footer h4{margin-bottom:12px!important;font-size:9px!important}
  body .footer .footer-links a,
  body .footer .footer-links span{padding:5px 0!important;font-size:11px!important;line-height:1.3!important}
  body .footer .footer-contact-address{font-size:10px!important}
  body .footer .socials{justify-content:center!important;margin-top:16px!important}
  body .footer .social{width:40px!important;height:40px!important;border-radius:14px!important}
  body .footer .footer-bottom{
    align-items:center!important;
    flex-direction:column!important;
    gap:4px!important;
    margin:14px 0 0!important;
    padding:15px 12px 0!important;
    text-align:center!important;
  }
  body .footer .footer-bottom span{font-size:9.5px!important}
}

@media(max-width:360px){
  body .footer .footer-grid{grid-template-columns:1fr!important}
  body .footer .footer-grid>div:first-child{grid-column:auto!important}
  body .footer .footer-grid>div:nth-child(3){border-left:0!important}
}

@media(prefers-reduced-motion:reduce){
  body .footer .footer-links a,
  body .footer .social{transition:none!important}
}
