/* Force images visible + banner layout */
img { max-width: 100%; height: auto; }
.header-inner .logo img { display: inline-block !important; max-height: 56px !important; }

.fl-photo-banner {
  position: relative;
  background: #0d47a1;
  overflow: hidden;
}
.fl-photo-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  min-height: 280px;
}
.fl-photo { margin: 0; overflow: hidden; }
.fl-photo img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
  filter: brightness(0.75);
}
.fl-photo-caption {
  position: absolute;
  left: 0; right: 0; top: 0; bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  padding: 1.5rem;
  background: linear-gradient(180deg, rgba(13,71,161,0.35), rgba(13,71,161,0.55));
  pointer-events: none;
}
.fl-photo-caption a { pointer-events: auto; }
.fl-photo-caption h1 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.8rem, 5vw, 2.8rem);
  color: #fff !important;
  font-weight: 700;
}
.fl-photo-caption p { color: #e3f2fd !important; margin: 0.35rem 0; max-width: 36rem; }
.fl-btn-main, .fl-btn-wa {
  display: inline-block;
  margin: 0.35rem;
  padding: 0.65rem 1.25rem;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none !important;
}
.fl-btn-main { background: #fff; color: #0d47a1 !important; }
.fl-btn-wa { border: 2px solid #fff; color: #fff !important; }

.fl-content-wrap { max-width: 1100px; margin: 1.5rem auto; padding: 0 1rem; }
.fl-content-wrap img { max-width: 100%; height: auto; display: inline-block; }

.fl-projects-sec { max-width: 1100px; margin: 2rem auto 3rem; padding: 0 1rem; }
.fl-projects-sec h2 { color: #0d47a1; margin-bottom: 1rem; }
.fl-proj-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
}
.fl-proj {
  display: block;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e3e8ef;
  text-decoration: none !important;
  color: #0d47a1;
  font-weight: 600;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}
.fl-proj img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  display: block;
  background: #e3f2fd;
}
.fl-proj span { display: block; padding: 0.85rem 1rem; }

@media (max-width: 767px) {
  .fl-photo-row { grid-template-columns: 1fr; }
  .fl-photo:nth-child(n+2) { display: none; }
  .fl-photo img { height: 260px; }
}
