/* Final visual polish: preserves the existing content, interactions and service data. */
main {
  display: flex;
  flex-direction: column;
}

#home { order: 0; }
#services { order: 1; }
.statement { order: 2; }
#industries { order: 3; }
#why { order: 4; }
#gallery { order: 5; }
#amc { order: 6; }
#about { order: 7; }
#contact { order: 8; }
#quote { order: 9; }

/* Services: image-led cards with one clean, protected information strip. */
.service-card.service-card-compact {
  min-height: 360px;
  padding: 0;
  justify-content: flex-end;
}

.service-card.service-card-compact .service-card-content {
  width: 100%;
  padding: 18px 20px 19px;
  background: rgba(7, 28, 43, .91);
}

.service-card.service-card-compact h3 {
  margin: 0 0 9px;
  color: #fff;
  font-size: 17px;
  line-height: 1.3;
}

.service-card.service-card-compact .enquire {
  margin-top: 0;
  color: #fff;
}

.service-card.service-card-compact .enquire span {
  color: var(--aqua);
}

/* Premium contact cards: location, facility response and official communication. */
.contact-visual-card {
  min-height: 355px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  border: 0;
  padding: 28px;
  color: #fff;
  background-position: center;
  background-size: cover;
  box-shadow: 0 12px 28px rgba(15, 44, 61, .1);
}

.contact-visual-card.address-card {
  background-image: linear-gradient(180deg, rgba(7, 28, 43, .38), rgba(7, 28, 43, .94)), url('assets/contact-location-map.svg');
  background-position: center;
}

.contact-visual-card.contact-call-card {
  background-image: linear-gradient(180deg, rgba(7, 28, 43, .24), rgba(7, 28, 43, .93)), url('assets/services/facility-management.png');
  background-position: 54% center;
}

.contact-visual-card.email-card {
  background-image: linear-gradient(180deg, rgba(7, 28, 43, .3), rgba(7, 28, 43, .95)), url('assets/services/amc.png');
  background-position: 63% center;
}

.contact-visual-card .card-icon,
.contact-visual-card h3,
.contact-visual-card p,
.contact-visual-card a {
  color: #fff;
}

.contact-visual-card .card-icon {
  color: var(--aqua);
  font-size: 24px;
}

.contact-visual-card h3 {
  margin: 12px 0 8px;
  font-size: 19px;
}

.contact-visual-card p {
  margin: 0;
  color: #e2edf1;
  font-size: 14px;
  line-height: 1.62;
}

.contact-visual-card .directions {
  margin-top: 17px;
  color: var(--aqua) !important;
  font-size: 12px !important;
  font-weight: 800;
}

.contact-visual-card .contact-phone {
  display: block;
  width: max-content;
  color: #fff !important;
  font: 800 clamp(22px, 2vw, 29px)/1.22 var(--display) !important;
  letter-spacing: .03em;
}

.contact-visual-card .contact-phone + .contact-phone {
  margin-top: 5px;
}

.contact-visual-card .contact-email {
  color: #fff !important;
  font: 700 16px/1.45 var(--display) !important;
  overflow-wrap: anywhere;
}

.contact-visual-card.email-card .card-icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(100, 209, 209, .66);
  background: rgba(7, 28, 43, .35);
}

.contact-visual-card .founder-contact {
  margin-top: 18px;
  padding-top: 15px;
  border-top: 1px solid rgba(255, 255, 255, .24);
  color: #dce9ed;
}

/* A map-style, office-location panel using the exact existing directions link. */
.location-visual {
  position: relative;
  display: grid;
  grid-template-columns: minmax(180px, .62fr) minmax(280px, 1fr) auto;
  gap: 28px;
  align-items: center;
  min-height: 285px;
  margin-top: 20px;
  padding: 28px 31px;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(90deg, rgba(7, 28, 43, .96), rgba(7, 28, 43, .82)), url('assets/services/facility-management.png') center/cover;
}

.location-map-grid {
  display: grid;
  min-height: 205px;
  place-items: center;
  border: 1px solid rgba(139, 225, 222, .42);
  background-color: rgba(14, 52, 74, .45);
  background-image: linear-gradient(rgba(118, 214, 213, .16) 1px, transparent 1px), linear-gradient(90deg, rgba(118, 214, 213, .16) 1px, transparent 1px);
  background-size: 28px 28px;
}

.map-pin {
  display: grid;
  width: 59px;
  height: 59px;
  place-items: center;
  border: 1px solid var(--aqua);
  border-radius: 50%;
  color: var(--aqua);
  font-size: 33px;
  background: rgba(7, 28, 43, .68);
  box-shadow: 0 0 0 12px rgba(100, 209, 209, .1);
}

.location-copy .section-label {
  margin-bottom: 10px;
}

.location-copy h3 {
  margin: 0 0 11px;
  color: #fff;
  font: 700 clamp(22px, 2.2vw, 31px)/1.18 var(--display);
}

.location-copy p {
  max-width: 490px;
  margin: 0;
  color: #d7e6eb;
  font-size: 13px;
}

/* The quote form becomes the final, action-led contact section. */
.final-cta .quote-copy > p {
  max-width: 430px;
}

.quote-phone-links {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin: 25px 0;
}

.quote-phone-links a {
  color: #fff;
  text-decoration: none;
  font: 750 23px/1 var(--display);
  letter-spacing: .02em;
}

.final-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.final-cta-actions .button {
  padding: 13px 16px;
}

.whatsapp-cta {
  background: #1fba6b;
  color: #fff;
}

.whatsapp-cta:hover {
  background: #169453;
  color: #fff;
}

@media (max-width: 900px) {
  .location-visual {
    grid-template-columns: .7fr 1fr;
  }

  .location-visual > .button {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 700px) {
  .service-card.service-card-compact {
    min-height: 330px;
  }

  .service-card.service-card-compact .service-card-content {
    padding: 17px 18px;
  }

  .service-card.service-card-compact h3 {
    font-size: 16px;
  }

  .contact-visual-card {
    min-height: 325px;
    padding: 24px 21px;
  }

  .location-visual {
    display: block;
    padding: 23px 20px;
  }

  .location-map-grid {
    min-height: 150px;
    margin-bottom: 23px;
  }

  .location-visual > .button {
    margin-top: 21px;
  }

  .quote-phone-links {
    gap: 13px 19px;
  }

  .quote-phone-links a {
    font-size: 21px;
  }

  .final-cta-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .final-cta-actions .button:last-child {
    grid-column: 1 / -1;
  }
}
