/* Home page lower sections: services grid, "Let's talk" contact block with
   offices. The WhatsApp chat is in assets/css/whatsapp.css. */

/* ---------- services grid ---------- */

.home-svc {
  padding-bottom: 96px;
  background: radial-gradient(900px 520px at 12% 6%, rgb(76 134 240 / 11%), transparent 55%), var(--night-2);
}
.home-svc__head { max-width: 780px; margin-bottom: 48px; }
.home-svc__head .display-2 { margin-bottom: 8px; text-wrap: balance; }
.on-dark .home-svc__head .lead { max-width: 520px; color: #8f8c85; }

.home-svc__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }

.home-svc__card {
  overflow: hidden;
  border: 1px solid var(--night-line);
  border-radius: 20px;
  background: #232b3d;
  transition: border-color .25s;
}

.home-svc__top { display: flex; flex-direction: column; min-height: 288px; padding: 26px 26px 24px; }

.home-svc__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #2b3548;
  font-weight: 700;
  font-size: 15px;
  color: var(--gold);
}
.home-svc__body { margin-top: auto; }
.home-svc__title { margin-bottom: 14px; font-weight: 600; font-size: 23px; line-height: 1.12; letter-spacing: -.5px; color: var(--night-ink); }
.home-svc__text { padding-top: 14px; border-top: 2px dotted #34405a; font-size: 13.5px; line-height: 1.5; color: #928f88; }

.home-svc__subs {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows .45s cubic-bezier(.4, 0, .2, 1), opacity .35s;
}
.home-svc__subs > div { min-height: 0; overflow: hidden; }
.home-svc__subs ul { display: flex; flex-direction: column; gap: 15px; padding: 8px 26px 26px; }

.home-svc__link {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: -3px -10px;
  padding: 7px 10px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 13.5px;
  line-height: 1.3;
  color: var(--night-soft);
  transition: background-color .25s, color .25s, transform .25s;
}
.home-svc__link:hover { background: #2b3548; color: var(--white); transform: translateX(6px); }
.home-svc__link-icon { display: flex; flex: none; align-items: center; justify-content: center; width: 34px; height: 34px; }

.home-svc__arrow {
  margin-left: auto;
  opacity: 0;
  color: var(--gold);
  transform: translateX(-6px);
  transition: opacity .25s, transform .25s;
}
.home-svc__link:hover .home-svc__arrow { opacity: 1; transform: none; }

/* Hovering (or tabbing into) any card opens the sub-service list on every card. */
.home-svc__grid:has(.home-svc__card:hover, .home-svc__card:focus-within) .home-svc__subs { grid-template-rows: 1fr; opacity: 1; }
.home-svc__grid:has(.home-svc__card:hover, .home-svc__card:focus-within) .home-svc__card { border-color: #47421f; }

@media (hover: none) {
  .home-svc__subs { grid-template-rows: 1fr; opacity: 1; }
}

@media (max-width: 1100px) {
  .home-svc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .home-svc__grid { grid-template-columns: 1fr; }
  .home-svc__top { min-height: 220px; }
}
