 /* ---- FOOTER ---- */
  footer{ background:var(--navy-900); color:rgba(255,255,255,0.7); border-top:1px solid rgba(255,255,255,0.08); padding:64px 0 32px; }
  .foot-col h4{ font-size:13px; color:rgba(255,255,255,0.5); font-weight:500; margin-bottom:14px; text-transform:uppercase; letter-spacing:0.03em; }
  .foot-col a{ display:block; font-size:14px; color:rgba(255,255,255,0.85); margin-bottom:10px; transition: color 0.2s ease, transform 0.2s ease; }
  .foot-col a:hover{ color:var(--coral); transform:translateX(3px); }
  .foot-bottom{ margin-top:48px; padding-top:24px; border-top:1px solid rgba(255,255,255,0.1); font-size:13px; color:rgba(255,255,255,0.5); }

/* =====================================
   UNIVERSAL BACKMEUP LOGO
===================================== */

.bm-logo{
    --logo-size: 44px;
    --logo-font: 1.75rem;

    display:inline-flex;
    align-items:center;
    gap:.75rem;

    text-decoration:none;
    white-space:nowrap;
}

/* Icon */

.bm-logo-icon{
    width:var(--logo-size);
    height:var(--logo-size);

    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;

    border-radius:14px;

    background:
        linear-gradient(
            135deg,
            #FF5A36 0%,
            #D94A63 40%,
            #7650D9 75%,
            #4B2FCB 100%
        );

    border:1px solid rgba(255,255,255,.15);

    box-shadow:
        0 8px 18px rgba(255,90,54,.15),
        0 10px 28px rgba(75,47,203,.18);

    position:relative;
    overflow:hidden;

    transition:.35s ease;
}

.bm-logo-icon::before{
    content:"";
    position:absolute;
    inset:2px;

    border-radius:12px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.18),
            rgba(255,255,255,.03)
        );
}

.bm-logo-icon svg{
    width:55%;
    height:55%;

    stroke:#fff;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;

    position:relative;
    z-index:2;
}

/* Text */

.bm-logo-text{
    font-family:'Fraunces', serif;
    font-size:var(--logo-font);
    line-height:1;
    letter-spacing:-0.04em;
}

.bm-logo-back{
    color:#F1F2F5;
    font-weight:700;
}

.bm-logo-meup{
    color:#FF5A36;
    font-style:italic;
}

/* Hover */

.bm-logo:hover .bm-logo-icon{
    transform:translateY(-2px) scale(1.05);

    box-shadow:
        0 12px 24px rgba(255,90,54,.22),
        0 14px 35px rgba(75,47,203,.25);
}

/* =====================================
   SIZE VARIANTS
===================================== */

/* Small (footer/sidebar) */
.bm-logo.sm{
    --logo-size:32px;
    --logo-font:1.2rem;
}

/* Medium (navbar) */
.bm-logo.md{
    --logo-size:44px;
    --logo-font:1.75rem;
}

/* Large (hero/login page) */
.bm-logo.lg{
    --logo-size:62px;
    --logo-font:2.5rem;
}

/* =====================================
   RESPONSIVE
===================================== */

@media (max-width:768px){

    .bm-logo{
        --logo-size:38px;
        --logo-font:1.45rem;
        gap:.6rem;
    }
}

@media (max-width:480px){

    .bm-logo{
        --logo-size:34px;
        --logo-font:1.25rem;
        gap:.5rem;
    }
}


/* Social media icons */
/* =====================================
   FOOTER — SOCIAL ICONS
   ===================================== */
.foot-social{
  display:flex;
  align-items:center;
  gap:10px;
}

.foot-social-link{
  --fs-size: 40px;
  width:var(--fs-size);
  height:var(--fs-size);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;

  border-radius:11px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.6);
  font-size:16px;

  position:relative;
  overflow:hidden;
  text-decoration:none;

  transition:color .3s ease, border-color .3s ease, transform .3s ease, box-shadow .3s ease;
  animation: bmuSocialFloat 3.6s ease-in-out infinite;
}

/* stagger the idle float so icons don't move in sync */
.foot-social-link:nth-child(1){ animation-delay:0s; }
.foot-social-link:nth-child(2){ animation-delay:.15s; }
.foot-social-link:nth-child(3){ animation-delay:.3s; }
.foot-social-link:nth-child(4){ animation-delay:.45s; }
.foot-social-link:nth-child(5){ animation-delay:.6s; }

@keyframes bmuSocialFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-3px); }
}

/* gradient fill sweep, sits under the icon, expands on hover */
.foot-social-link::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(135deg, #FF5A36 0%, #D94A63 40%, #7650D9 75%, #4B2FCB 100%);
  opacity:0;
  transform:scale(.6);
  transition:opacity .35s ease, transform .35s ease;
  z-index:0;
}

.foot-social-link i{
  position:relative;
  z-index:1;
  transition:transform .35s ease;
}

.foot-social-link:hover,
.foot-social-link:focus-visible{
  color:#fff;
  border-color:rgba(255,255,255,.28);
  transform:translateY(-4px) scale(1.06);
  box-shadow:0 10px 22px rgba(255,90,54,.28), 0 12px 28px rgba(75,47,203,.22);
  animation-play-state:paused;
  outline:none;
}

.foot-social-link:hover::before,
.foot-social-link:focus-visible::before{
  opacity:1;
  transform:scale(1);
}

.foot-social-link:hover i,
.foot-social-link:focus-visible i{
  transform:rotate(8deg) scale(1.08);
}

.foot-social-link:active{
  transform:translateY(-1px) scale(.97);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:767.98px){
  .foot-bottom{
    justify-content:center !important;
    text-align:center;
    gap:14px;
  }
  .foot-social{
    justify-content:center;
    width:100%;
  }
}

@media (max-width:575.98px){
  .foot-social-link{
    --fs-size:36px;
    font-size:15px;
    border-radius:10px;
  }
  .foot-social{ gap:8px; }
}

@media (max-width:400px){
  .foot-social-link{
    --fs-size:34px;
    font-size:14px;
  }
}

@media (prefers-reduced-motion: reduce){
  .foot-social-link{ animation:none; }
}