/* Avaersa Design B / Blue Horizon — V7 photographic solutions section.
   The images are explicit <img> elements (not custom-property backgrounds)
   to avoid missing photographs after a Hostinger ZIP upload or cache refresh. */
.tm-solutions .tm-solutions-row {
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:9px !important;
  align-items:stretch !important;
}
.tm-solutions .tm-solution {
  position:relative !important;
  height:170px !important;
  min-width:0 !important;
  overflow:hidden !important;
  isolation:isolate !important;
  border:1px solid #dbe7f4 !important;
  border-radius:11px !important;
  background:#eff6ff !important;
  box-shadow:0 6px 16px rgba(15,57,101,.09) !important;
  transition:transform .24s ease, box-shadow .24s ease !important;
}
.tm-solutions .tm-tile-photo {
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  display:block !important;
  background:none !important;
  filter:none !important;
  transform:none !important;
  pointer-events:none !important;
}
.tm-solutions .tm-tile-photo img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 70% !important;
  position:absolute !important;
  inset:0 !important;
  opacity:1 !important;
}
/* The photo stays visible across the lower 45–50%, while headings remain readable. */
.tm-solutions .tm-tile-photo::after {
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(to bottom,
     rgba(245,250,255,.985) 0%,
     rgba(245,250,255,.985) 22%,
     rgba(245,250,255,.95) 38%,
     rgba(245,250,255,.74) 51%,
     rgba(245,250,255,.28) 67%,
     rgba(245,250,255,0) 83%);
  pointer-events:none;
}
.tm-solutions .tm-solution:nth-child(1) img{object-position:60% 65% !important;}
.tm-solutions .tm-solution:nth-child(2) img{object-position:66% 58% !important;}
.tm-solutions .tm-solution:nth-child(3) img{object-position:center 61% !important;}
.tm-solutions .tm-solution:nth-child(4) img{object-position:63% 69% !important;}
.tm-solutions .tm-solution:nth-child(5) img{object-position:center 53% !important;}
.tm-solutions .tm-solution:nth-child(6) img{object-position:70% 65% !important;}
.tm-solutions .tm-solution-body {
  position:relative !important;
  z-index:2 !important;
  padding:12px 11px !important;
  background:transparent !important;
}
.tm-solutions .tm-blue-icon{
  display:block !important;
  color:#0877d2 !important;
  margin-bottom:5px !important;
}
.tm-solutions .tm-blue-icon svg{width:23px !important;height:23px !important;}
.tm-solutions .tm-solution h3 {
  color:#0a2c59 !important;
  font-size:clamp(.77rem,1vw,.97rem) !important;
  font-family:Georgia, "Times New Roman", serif !important;
  font-weight:800 !important;
  letter-spacing:-.027em !important;
  line-height:1.15 !important;
  margin:0 0 5px !important;
}
.tm-solutions .tm-solution p {
  color:#254669 !important;
  font-size:clamp(.59rem,.73vw,.72rem) !important;
  line-height:1.28 !important;
  font-weight:650 !important;
  margin:0 !important;
  max-width:100% !important;
}
.tm-solutions .tm-round-link{
  position:absolute !important;
  z-index:3 !important;
  left:10px !important;
  bottom:9px !important;
  width:25px !important;
  height:25px !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:0 2px 8px rgba(18,65,116,.16) !important;
}
.tm-solutions .tm-round-link svg{width:14px !important;height:14px !important;}
.tm-solutions .tm-solution:hover {transform:translateY(-3px) !important;box-shadow:0 11px 24px rgba(15,57,101,.16) !important;}
.tm-solutions .tm-solution:focus-visible{outline:3px solid #0b7cda !important;outline-offset:3px;}
@media (max-width:1120px) {
  .tm-solutions .tm-solutions-row{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:12px !important;}
  .tm-solutions .tm-solution{height:180px !important;}
  .tm-solutions .tm-solution h3{font-size:.91rem !important;}
  .tm-solutions .tm-solution p{font-size:.69rem !important;}
}
@media (max-width:650px) {
  .tm-solutions .tm-solutions-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
  .tm-solutions .tm-solution{height:188px !important;}
  .tm-solutions .tm-solution h3{font-size:.82rem !important;}
  .tm-solutions .tm-solution p{font-size:.64rem !important;}
}
@media (max-width:350px){
  .tm-solutions .tm-solutions-row{grid-template-columns:1fr !important;}
}
@media (prefers-reduced-motion:reduce){.tm-solutions .tm-solution{transition:none !important;}}
