.service-facts {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  padding: clamp(28px, 4vw, 56px);
  background: #d9e8dc;
  color: #173e39;
  font-size: 18px;
}
.service-intro .service-facts { min-height: 230px; }
.home-page .service-card .service-facts { padding-inline: clamp(24px, 3vw, 44px); }
.service-facts strong { font: clamp(28px, 3.5vw, 52px)/1.1 var(--serif); }

/* Natural image proportions preserve the whole photograph in the gallery. */
.gallery-grid {
  display: block;
  columns: 3;
  column-gap: 24px;
}
.gallery-grid .gallery-tile {
  display: block;
  width: 100%;
  margin: 0 0 24px;
  break-inside: avoid;
  background: transparent;
}
.gallery-grid .gallery-tile img,
.gallery-grid .gallery-tile:nth-child(5n+1) img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: unset;
}
@media (max-width: 760px) {
  .gallery-grid { columns: 2; column-gap: 14px; }
  .gallery-grid .gallery-tile { margin-bottom: 14px; }
}
@media (max-width: 480px) {
  .gallery-grid { columns: 1; }
}

/* The recent room photograph is vertical; retain the whole frame. */
#residencia .service-photo {
  background: #d9e8dc;
}
#residencia .service-photo img {
  display: block;
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center 58%;
}
@media (max-width: 760px) {
  #residencia .service-photo img { height: 330px; }
}
/* Mostrar todos os acessos aos serviços sem os cortar em telemóvel. */
@media(max-width:760px){.service-jump-nav .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;overflow:visible}.service-jump-nav a{white-space:normal;font-size:16px;line-height:1.3;padding:12px 0}.service-feature{scroll-margin-top:190px}}
/* O botão de regresso não deve tapar as lupas da galeria no telemóvel. */
@media(max-width:760px){body:has(.gallery-grid) .back-top{left:16px;right:auto}}
