/* =========================
   FOOTER CTA (responsive)
   ========================= */
.footer-cta {
  position: relative;
  width: 100%;
  padding: clamp(48px, 6vw, 96px) 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
}
.footer-cta__inner {
  position: relative;
  z-index: 1;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}
.footer-cta__eyebrow {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.footer-cta__heading {
  margin: 0;
  font-size: 36px;
  font-weight: 700;
  line-height: 46px;
  color: #fff;
  text-transform: uppercase;
  max-width: 900px;
  text-align: left;
}
@media (max-width: 1024px){ .footer-cta__heading { font-size: 28px; } }
.footer-cta__actions { margin-top: 4px; }
.btn-cta:hover{ transform: translateY(-1px); opacity: .95; }
.btn-cta:focus-visible{ outline: 2px solid #24f2fc; outline-offset: 2px; }
.btn-cta__label{ line-height: 1; }
.btn-cta__icon{ display:block; width:44px; height:44px; }
@media (max-width: 768px){
  .footer-cta__inner{ align-items:center; text-align:center; gap:14px; }
  .footer-cta__heading{ max-width:680px; }
  .footer-cta__actions .btn-cta{ justify-content:center; padding:12px 20px; }
}
@media (max-width: 420px){
  .footer-cta__inner{ padding:0 16px; }
  .btn-cta{ padding:11px 18px; }
  .btn-cta__icon{ width:18px; height:auto; }
}

/* =========================
   MAIN FOOTER
   ========================= */
.gipps-footer{
  --footer-gap: clamp(32px, 5vw, 64px);
  --footer-col: calc((100% - 3 * var(--footer-gap)) / 4);
  --right-col-max: 560px;
  background:#0E1418; color:#C9D1D9;
  background-repeat:no-repeat; background-size:cover; background-position:center;
}
.footer-inner{ position:relative; padding:72px 20px 48px; }
.footer-grid{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:nowrap; gap:var(--footer-gap); }
.footer-col{ flex:0 0 var(--footer-col); max-width:var(--footer-col); min-width:0; box-sizing:border-box; }

/* Left column */
.footer-logo img{ max-width:180px; height:auto; display:block; margin:0 0 16px; }
.footer-blurb{ max-width:520px; font-size:14px; line-height:1.8; color:#B5C0C9; margin-top:2px; }

/* Headings */
.footer-heading{
  margin:10px 0 30px; color:#fff; font-weight:700; line-height:30px; text-transform:uppercase; font-size:20px;
}

/* Menus */
.footer-links .footer-menu{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.footer-links .footer-menu li{ list-style:none; }
.footer-links .footer-menu li::marker{ content:none; }
.footer-links .footer-menu a{ color:#C9D1D9; text-decoration:none; font-size:15px; transition:color .15s ease; }
.footer-links .footer-menu a:hover{ color:#1790E3; }

/* Social */
.footer-social{ margin:18px 0 0; padding:0; list-style:none; display:flex; gap:16px; }
.footer-social li{ line-height:0; }
.footer-social img{ display:block; width:44px; height:44px; }

/* CONTACT — clean text version */
.footer-contact { display:block; }
.footer-contact p{
  margin: 0 0 16px;
  color: #C9D1D9;
  font-size: 15px;
  line-height: 1.7;
}
.footer-contact p:last-child{ margin-bottom:0; }
.footer-contact p strong{
  display:inline-block;
  min-width:auto;
  margin-right:8px;
  color:#999;
  font-size:13px;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.footer-contact a{
  color:#C9D1D9;             /* same as info text */
  text-decoration:none;
}
.footer-contact a:hover{
  color:#1790E3;             /* subtle hover to match menu links */
  text-decoration:none;
}

/* Desktop tuning */
@media (min-width: 1025px){
  .footer-col--right{
    display:flex; flex-direction:column; align-items:flex-start;
  }
  .footer-col--right > .footer-heading,
  .footer-col--right > .footer-contact{
    width:100%; max-width:var(--right-col-max); text-align:left;
  }
}

/* =========================
   BOTTOM BAR
   ========================= */
.footer-bottom{ border-top:1px solid rgba(255,255,255,.06); background:rgba(0,0,0,.12); }
.footer-bottom-inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px 20px; flex-wrap:wrap; }
.footer-bottom small{ color:#ccc; font-size:12px; }
.footer-bottom a{ color:#ccc; font-size:12px; text-decoration:none; }
.footer-bottom a:hover{ text-decoration:underline; }

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 1200px){
  .footer-col{ flex:1 1 calc(25% - (var(--footer-gap) * .75)); max-width:none; }
}
@media (max-width: 1024px){
  .footer-grid{ flex-wrap:wrap; row-gap:var(--footer-gap); }
  .footer-col{ flex:1 1 calc(50% - (var(--footer-gap) / 2)); max-width:calc(50% - (var(--footer-gap) / 2)); }
  .footer-bottom-inner{ padding:16px 24px; gap:12px 16px; }
}
@media (max-width: 640px){
  .footer-inner{ padding:56px 20px 36px; }
  .footer-col{ flex-basis:100%; max-width:100%; padding-inline:0; }
  .footer-bottom-inner{ flex-direction:column; align-items:flex-start; padding:16px 24px; }
}
