/* ===== Footer (desktop styles stay exactly as-is) ===== */
.footer{
  background:#000; color:#FFFFFF;
  padding-top: clamp(60px, calc(76 / 1440 * 100vw), 76px);
  padding-bottom: clamp(40px, calc(44 / 1440 * 100vw), 44px);
}

.footer-container{
  width:min(1440px,100%);
  margin:0 auto;
  padding-left:min(calc(117 / 1440 * 100vw),117px);
  padding-right:min(calc(117 / 1440 * 100vw),117px);
  display:grid;
  row-gap:min(calc(60 / 1440 * 100vw),60px);
  box-sizing:border-box;
}

/* --- Desktop "5 columns" row --- */
.footer-top{
  display:grid;
  grid-template-columns:minmax(0,2fr) repeat(4,1fr);
  column-gap:min(calc(45 / 1440 * 100vw),45px);
  align-items:start;
}

.footer-heading{
  font-size:clamp(30px, calc(40 / 1440 * 100vw), 40px);
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Outfit', Roboto, sans-serif;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}
.footer-col h3{
  font-size:clamp(17px, calc(18 / 1440 * 100vw), 18px);
  font-weight:600; margin:0 0 22px;
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Outfit', Roboto, sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.03em;
}
.footer-col a{
  display:block; color:#cccccc; text-decoration:none;
  font-size:clamp(15px, calc(18 / 1440 * 100vw), 18px);
  line-height:1; 
  transition:color .2s;
  margin-bottom: 24px;
  font-weight: 10 !important;
  letter-spacing: 0.015em;
}
.footer-col a:hover{ color:#FFFFFF; }

/* --- Bottom row (desktop) --- */
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}
.footer-legal{
  margin:0;
  font-size:clamp(10px, calc(14 / 1440 * 100vw), 14px);
  color:#cccccc;
  text-decoration:none;
}

/* Socials (desktop) */
.footer-social{ display:flex; align-items:center; }
.footer-social p{
  margin:0 42px 0 0;
  font-weight:600;
  font-size:clamp(10px, calc(18 / 1440 * 100vw), 18px);
  color: #cccccc;
  letter-spacing: 0.03em;
}
.social-icons{ display:flex; gap:21px; }
.social-icon{
  display:inline-block;
  width:clamp(30px, calc(44 / 1440 * 100vw), 44px);
  height:clamp(30px, calc(44 / 1440 * 100vw), 44px);
  opacity:.9; transition:opacity .3s;
}
.social-icon:hover{ opacity:1; }
/* Ensure embedded SVGs scale to the icon box */
.social-icon img{
  display:block;
  width:100%;
  height:100%;
}

/* --- Mobile-only CTA list (hidden on desktop) --- */
.footer-cta-group{ display:none; }
.footer-cta{
  display:block; color:#FFFFFF; text-decoration:none; font-weight:600;
  font-size:10px;
  line-height:1.5; padding:6px 0;
  letter-spacing: 0.03em;
}
.footer-cta:hover{ text-decoration:underline; }

/* Scoped link styling for the footer heading "Contact us" */
.footer-col h3 a.link-h3{
  display:inline;
  color:inherit;
  text-decoration:none;       
  font-size:clamp(17px, calc(18 / 1440 * 100vw), 18px);
  font-weight:600; margin:0 0 22px;
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Outfit', Roboto, sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.03em;
}
.footer-col h3 a.link-h3:hover,
.footer-col h3 a.link-h3:focus{
  text-decoration:underline;  /* only underline on hover/focus */
}

/* ===== Mobile ≤ 768px (exact layout) ===== */
@media (max-width:768px){

  /* hide desktop 5-column row */
  .footer-top{ display:none; }

  /* gutters: 45px max from edges */
  .footer-container{
    padding-left: min(45px, calc(45 / 375 * 100vw));
    padding-right: min(45px, calc(45 / 375 * 100vw));
    row-gap: 40px;
  }

  /* 2-col bottom grid: CTAs left, socials right; legal full width */
  .footer-bottom{
    display:grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "ctas socials"
      "legal legal";
    align-items:start;
    column-gap: min(60px, calc(60 / 375 * 100vw));
    row-gap: 20px;
  }

  /* left column – CTA list */
  .footer-cta-group{ display:block; grid-area: ctas; }

  /* right column – socials: label above icons, right wall = 45px */
  .footer-social{
    grid-area: socials;
    justify-self: end;            /* pushes icons to the right edge */
    display:flex;
    flex-direction: column;       /* label above icons */
    align-items: flex-start;      /* label aligns with leftmost icon */
    gap: 19px;
    width: max-content;           /* hug icons so rightmost sits at 45px */
  }
  .footer-social p{
    margin:0;
    font-size: 10px;
    font-weight: 600;
    opacity: .8;
    letter-spacing: 0.03em;
  }
  .social-icons{ display:flex; gap: 16px; }
  .social-icon{
    width:  30px;
    height: 30px;
  }

}