/* Abertura com foto real e catálogo visual — versão 5 */
.home-hero-photo,
.service-hero-photo {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  background: var(--deep);
  box-shadow: 0 28px 65px #2d0c152e;
}

.service-hero-photo::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, #2d0c15d9);
  content: "";
  pointer-events: none;
}

.home-hero-photo > img,
.service-hero-photo > img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: block;
  object-fit: cover;
}

.home-hero-photo > img { object-position: center 22%; }

.artist-photo-real::before,
.artist-photo-real::after { display: none; }

.artist-photo-real .artist-image {
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  display: block;
  object-fit: cover;
  object-position: center 20%;
}

.service-hero-photo > div {
  position: absolute;
  z-index: 2;
  right: 30px;
  bottom: 27px;
  left: 30px;
  color: white;
}

.service-hero-photo span,
.service-hero-photo small {
  display: block;
  color: #ffffffad;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.service-hero-photo strong {
  display: block;
  margin: 8px 0;
  font-family: Georgia, serif;
  font-size: 38px;
  font-weight: 400;
  line-height: 1;
}

.service-grid {
  gap: 16px;
  background: transparent;
}

.service-grid article {
  min-height: 520px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #ffffff1f;
}

.service-card-media {
  position: relative;
  min-height: 245px;
  overflow: hidden;
  background: #42131f;
}

.service-card-media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #2d0c1514, #2d0c15a3);
  content: "";
}

.service-card-media img {
  width: 100%;
  height: 245px;
  display: block;
  object-fit: cover;
}

.service-card-media > span {
  position: absolute;
  z-index: 2;
  top: 20px;
  left: 21px;
  padding: 7px 9px;
  background: #2d0c15b8;
  color: white;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .15em;
  backdrop-filter: blur(5px);
}

.service-card-body {
  min-height: 275px;
  padding: 25px 27px 28px;
  display: flex;
  flex-direction: column;
}

.service-grid .service-card-body h3 { margin: 0 0 13px; }
.service-grid .service-card-body a { margin-top: auto; }

.related-grid a {
  min-height: 335px;
  padding: 0 0 25px;
  overflow: hidden;
}

.related-photo {
  position: relative;
  min-height: 205px;
  margin-bottom: 22px;
  display: block;
  overflow: hidden;
  background: var(--blush);
}

.related-photo img {
  width: 100%;
  height: 205px;
  display: block;
  object-fit: cover;
}

.related-grid .related-number,
.related-grid strong,
.related-grid small { margin-right: 25px; margin-left: 25px; }
.related-grid .related-number { color: var(--rose); font-size: 8px; }
.related-grid strong { margin-top: 13px; }

@media (max-width: 1050px) {
  .home-hero-photo,
  .service-hero-photo {
    width: min(100%, 620px);
    min-height: 600px;
    justify-self: center;
  }
}

@media (max-width: 700px) {
  .home-page .header {
    border-bottom: 0;
    background: #2d0c1547;
    box-shadow: none;
    backdrop-filter: blur(8px);
  }

  .home-page .header .mark {
    border-color: #ffffff7a;
    color: white;
  }

  .home-page .header .brand strong { color: white; }
  .home-page .header .brand small { color: #ffffffb8; }

  .home-page .home-hero {
    position: relative;
    min-height: 100svh;
    padding: 112px 20px max(30px, env(safe-area-inset-bottom));
    display: flex;
    align-items: flex-end;
    isolation: isolate;
    background: var(--deep);
    color: white;
  }

  .home-page .home-hero::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(180deg, #1a050a38 0%, #1a050a14 31%, #1a050ad6 72%, #1a050af5 100%);
    content: "";
    pointer-events: none;
  }

  .home-page .home-hero-copy { width: 100%; }
  .home-page .home-hero .eyebrow { margin-bottom: 15px; color: #ffffffd1; }
  .home-page .home-hero h1 { max-width: 520px; color: white; font-size: clamp(45px, 13vw, 61px); }
  .home-page .home-hero h1 em { color: #e4a698; }
  .home-page .home-hero .lead,
  .home-page .home-hero .actions .text-link,
  .home-page .home-hero .notes { display: none; }
  .home-page .home-hero .actions { margin-top: 24px; }
  .home-page .home-hero .button {
    min-height: 58px;
    align-items: center;
    justify-content: center;
    background: #25d366;
    box-shadow: 0 15px 34px #00000047;
    font-size: 12px;
  }

  .home-page .home-hero-photo {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    min-height: 0;
    box-shadow: none;
  }

  .home-page .home-hero-photo > img { height: 100%; min-height: 100%; object-position: center 17%; }

  .service-grid article { min-height: 0; }
  .service-card-media { min-height: 270px; }
  .service-card-media img { height: 270px; }
  .service-card-body { min-height: 238px; padding: 25px; }
  .service-hero-photo { min-height: 390px; }
  .service-hero-photo > img { min-height: 390px; }
  .service-hero-photo > div { right: 22px; bottom: 22px; left: 22px; }
  .service-hero-photo strong { font-size: 33px; }
  .related-grid a { min-height: 0; }
  .related-photo,
  .related-photo img { min-height: 250px; height: 250px; }
}
