/* Amostra v2 (03/11/2026): topo com título grande + bilhete de avaliação, e tratamentos com pílulas + cartão de informação.
   Carregada na página inicial (index.html) e na do HIFU, por cima de site.css. */

/* ===== Topo ===== */
.v2 .hero--video {
  align-items: flex-end;
  padding-bottom: clamp(90px, 12vh, 150px);
}
.v2 .hero--video .hero__in {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
}
.v2 .hero__bg,
.v2 .hero--video::before {
  filter: saturate(0.7) sepia(0.18) contrast(1) brightness(0.9) blur(1px);
}
/* véu só onde está o texto (em baixo e à esquerda): o vídeo vê-se mais */
.v2 .hero__veil {
  background:
    linear-gradient(180deg, rgba(30, 42, 35, 0.7) 0%, rgba(30, 42, 35, 0) 22%),
    linear-gradient(0deg, rgba(30, 42, 35, 0.92) 0%, rgba(30, 42, 35, 0.55) 34%, rgba(30, 42, 35, 0) 70%),
    linear-gradient(90deg, rgba(30, 42, 35, 0.6) 0%, rgba(30, 42, 35, 0) 60%);
}
.hv {
  max-width: 760px;
  text-align: left;
}
.hv__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  font: 700 12px/1 var(--sans);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--areia);
}
.hv__eyebrow img {
  width: 34px;
}
.hv__t {
  margin: 22px 0 0;
  font: 500 clamp(48px, 7.4vw, 112px)/0.95 var(--serif);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  color: var(--creme);
}
.hv__t span,
.hv__t em {
  display: block;
}
.hv__t em {
  font-style: italic;
  text-transform: none;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--ouro-2);
}
.hv__lead {
  margin: 22px 0 0;
  max-width: 44ch;
  font-size: 17px;
  color: rgba(246, 237, 223, 0.85);
}
.v2 .hv .cta {
  justify-content: flex-start;
  margin-top: 30px;
}

/* bilhete de avaliação: papel creme, ligeiramente inclinado, como um cartão pousado */
.hv__note {
  position: relative;
  flex: none;
  width: 300px;
  padding: 22px 22px 18px;
  border-radius: 14px;
  background:
    radial-gradient(120% 90% at 100% 0%, #fffaf1, #f4e9d8 60%, #eadbc3);
  color: var(--tinta);
  text-decoration: none;
  rotate: 2.5deg;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    0 2px 4px rgba(0, 0, 0, 0.12),
    0 30px 50px -22px rgba(0, 0, 0, 0.6);
  transition: rotate 0.6s var(--ease-out), translate 0.6s var(--ease-out);
}
.hv__note::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 9px;
  border: 1px solid rgba(62, 82, 67, 0.16);
  pointer-events: none;
}
.hv__note:hover {
  rotate: 0deg;
  translate: 0 -4px;
}
.hv__note-top {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 10px;
}
.hv__note-top b {
  font: 600 30px/1 var(--serif);
  color: var(--verde-3);
}
.hv__stars {
  color: var(--terracota);
  letter-spacing: 2px;
  font-size: 14px;
}
.hv__note-top small {
  width: 100%;
  font: 700 10px/1 var(--sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tinta-2);
}
.hv__note-txt {
  display: block;
  margin-top: 14px;
  min-height: 4.2em;
  font: italic 500 18px/1.35 var(--serif);
  color: var(--verde-3);
  transition: opacity 0.5s;
}
.hv__note-who {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  font: 600 13px/1 var(--sans);
  color: var(--tinta-2);
  transition: opacity 0.5s;
}
.hv__note-who img {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  object-fit: cover;
}
.hv__note.is-out .hv__note-txt,
.hv__note.is-out .hv__note-who {
  opacity: 0;
}
@media (max-width: 900px) {
  .v2 .hero--video .hero__in {
    flex-direction: column;
    align-items: flex-start;
  }
  .hv__note {
    width: min(320px, 100%);
    rotate: -1.5deg;
  }
}
@media (max-width: 640px) {
  .v2 .hero--video {
    padding-bottom: 70px;
  }
  .v2 .hero__veil {
    background:
      linear-gradient(180deg, rgba(30, 42, 35, 0.75) 0%, rgba(30, 42, 35, 0.2) 25%, rgba(30, 42, 35, 0.35) 45%, rgba(30, 42, 35, 0.92) 100%);
  }
  .hv__t {
    font-size: clamp(42px, 12.5vw, 60px);
  }
  .hv__lead {
    font-size: 15.5px;
  }
  .hv__note {
    display: none;
  }
}

/* ===== Tratamentos: título, 4 pílulas e um cartão de informação da mesma largura ===== */
.v2 #servicos.sec {
  padding: 100px 0 50px;
}
.trat__t {
  margin: 0;
  text-align: center;
  font-size: clamp(32px, 4vw, 50px);
  letter-spacing: 0.04em;
}
.trat__box {
  max-width: 940px;
  margin: 34px auto 0;
}
.trat__pills {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.trat__pills button {
  min-height: 50px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--linha);
  background: var(--creme);
  color: var(--verde-3);
  font: 600 15px/1.2 var(--sans);
  transition: background 0.25s, color 0.25s, border-color 0.25s;
}
.trat__pills button:hover {
  border-color: var(--terracota);
}
.trat__pills button.on {
  background: var(--verde-3);
  border-color: var(--verde-3);
  color: var(--creme);
}
/* cartão de informação (mesmo estilo dos "mais pedidos" da página de serviços) */
.tinfo {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  margin-top: 14px;
  border-radius: 20px;
  overflow: hidden;
  background: var(--creme);
  box-shadow: var(--sombra-3d);
}
/* os 4 cartões ficam empilhados no mesmo sítio: o espaço é sempre o do maior (não muda de tamanho ao trocar) */
.trat__box {
  display: grid;
}
.trat__pills {
  grid-row: 1;
}
.tinfo {
  grid-row: 2;
  grid-column: 1;
}
.tinfo[hidden] {
  display: grid;
  visibility: hidden;
}
.tinfo {
  position: relative;
}
.tinfo__img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
  /* algumas fotos têm uma faixa escura em baixo: cortar um pouco */
  transform: scale(1.06);
  transform-origin: 50% 20%;
}
.tinfo__body {
  padding: 30px 34px 32px;
}
.tinfo__meta {
  margin: 0;
  font: 700 11px/1 var(--sans);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--tinta-2);
}
.tinfo__meta b {
  color: var(--terracota);
}
.tinfo h3 {
  margin: 12px 0 0;
  font: 700 clamp(26px, 2.6vw, 34px)/1.05 var(--serif);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--verde-3);
}
.tinfo__intro {
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--tinta-2);
}
.tinfo__t {
  margin: 22px 0 6px;
  font: 700 11px/1 var(--sans);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--terracota);
}
.tinfo ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.tinfo li {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: baseline;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--linha);
  font-size: 15px;
  color: var(--verde-3);
}
.tinfo li small {
  font-size: 12.5px;
  color: var(--tinta-2);
}
.tinfo li b {
  min-width: 48px;
  text-align: right;
  font-size: 16px;
  color: var(--terracota);
}
.tinfo__acts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  margin-top: 22px;
}
.tinfo__more {
  font: 600 14px/1 var(--sans);
  color: var(--verde-3);
  text-decoration: none;
  border-bottom: 1px solid var(--terracota);
  padding-bottom: 3px;
}
@media (max-width: 760px) {
  .trat__pills {
    grid-template-columns: 1fr 1fr;
  }
  .trat__pills button {
    min-height: 46px;
    font-size: 14px;
  }
  .tinfo {
    grid-template-columns: 1fr;
  }
  .tinfo__img {
    min-height: 0;
    aspect-ratio: 16/10;
  }
  .tinfo__body {
    padding: 22px 20px 24px;
  }
}
@media (max-width: 640px) {
  .v2 #servicos.sec {
    padding: 64px 0 30px;
  }
}

/* cartões dos tratamentos mais simples: foto + nome, preço, uma frase e os botões */
.tinfo__img {
  min-height: 280px;
}
.tinfo__body {
  align-self: center;
}

/* ===== Topo: "Hanna's Spa" mais pequeno ===== */
.hv__eyebrow {
  gap: 10px;
  font-size: 10.5px;
  letter-spacing: 0.26em;
  color: rgba(236, 223, 203, 0.85);
}
.hv__eyebrow img {
  width: 24px;
}

/* ===== Frase "Mãos que cuidam": escrita à mão, aparece como se fosse a ser escrita ===== */
@font-face {
  font-family: "Dancing Script";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/dancing-script-600.woff2) format("woff2");
}
.frase--mao {
  padding-top: 46px;
}
.frase--mao blockquote::before,
.frase--mao blockquote::after {
  font-size: 58px;
  opacity: 0.28;
}
.frase--mao blockquote::before {
  top: -26px;
  left: -18px;
}
.frase--mao blockquote::after {
  right: -26px;
  bottom: -18px;
}
.frase--mao p {
  font: 600 clamp(42px, 4.6vw, 66px)/1.05 "Dancing Script", var(--serif);
  letter-spacing: 0.005em;
  color: var(--verde-3);
}
.frase--mao p em {
  padding-left: 1.4em;
  font-style: normal;
  color: var(--terracota);
}
.frase__traco {
  display: block;
  width: 62%;
  height: 16px;
  margin: 2px 0 0 auto;
  fill: none;
  stroke: var(--terracota);
  stroke-width: 1.4;
  stroke-linecap: round;
  opacity: 0.55;
}
/* efeito de escrita: cada linha revela-se da esquerda para a direita, uma vez */
.js .frase--mao p span,
.js .frase--mao p em {
  -webkit-mask-image: linear-gradient(90deg, #000 45%, transparent 55%);
  mask-image: linear-gradient(90deg, #000 45%, transparent 55%);
  -webkit-mask-size: 240% 100%;
  mask-size: 240% 100%;
  -webkit-mask-position: 100% 0;
  mask-position: 100% 0;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  transition: -webkit-mask-position 1.5s cubic-bezier(0.45, 0, 0.25, 1), mask-position 1.5s cubic-bezier(0.45, 0, 0.25, 1);
}
.js .frase--mao p em {
  transition-delay: 1.1s;
}
.js .frase--mao .frase__traco path {
  stroke-dasharray: 340;
  stroke-dashoffset: 340;
  transition: stroke-dashoffset 1.1s ease-out 2.4s;
}
.frase--mao.is-written p span,
.frase--mao.is-written p em {
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
}
.frase--mao.is-written .frase__traco path {
  stroke-dashoffset: 0;
}
@media (prefers-reduced-motion: reduce) {
  .js .frase--mao p span,
  .js .frase--mao p em {
    -webkit-mask-image: none;
    mask-image: none;
  }
  .js .frase--mao .frase__traco path {
    stroke-dashoffset: 0;
  }
}
@media (max-width: 640px) {
  .frase--mao p {
    font-size: 35px;
  }
  .frase--mao p em {
    padding-left: 0.8em;
    white-space: nowrap;
  }
  .frase--mao .frase__sym {
    width: 60px;
  }
}

/* ===== O Espaço: botões cheios em verde ===== */
.btn--verde {
  background: var(--verde-3);
  border-color: var(--verde-3);
  color: var(--creme);
}
.btn--verde:hover,
.btn--verde:active {
  background: var(--verde-4);
  border-color: var(--verde-4);
  color: var(--creme);
}
.v2 .esp__txt p {
  max-width: 40ch;
  margin-bottom: 0;
}
.tour__cta {
  margin-top: 18px;
}
.v2 .tour__b {
  border: 0;
  background: var(--verde-3);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: var(--creme);
  box-shadow: 0 6px 16px -6px rgba(0, 0, 0, 0.5);
}
.v2 .tour__b:hover {
  background: var(--verde-4);
  color: var(--creme);
}

/* ===== Contactos: título ao centro, cartão do horário, 3 botões, mapa em baixo ===== */
.ccard2 {
  padding: clamp(44px, 6vw, 70px) clamp(26px, 5vw, 60px);
  text-align: center;
}
.ccard2 > .h2 {
  margin: 0 auto;
  text-align: center;
  font-size: clamp(32px, 4vw, 50px);
  letter-spacing: 0.04em;
}
.ccard2 > * {
  max-width: 520px;
  margin-inline: auto;
}
/* o cartão do horário: papel creme, como o bilhete do topo */
.hcard {
  position: relative;
  margin-top: 28px;
  padding: 24px 26px 20px;
  border-radius: 16px;
  text-align: left;
  color: var(--tinta);
  background: radial-gradient(120% 90% at 100% 0%, #fffaf1, #f4e9d8 60%, #eadbc3);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    0 2px 4px rgba(0, 0, 0, 0.14),
    0 30px 50px -26px rgba(0, 0, 0, 0.65);
}
.hcard::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 10px;
  border: 1px solid rgba(62, 82, 67, 0.16);
  pointer-events: none;
}
.hcard__t {
  margin: 0 0 10px;
  font: 700 11px/1 var(--sans);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--terracota) !important;
}
.hcard .ccard__h li {
  color: var(--tinta-2);
}
.hcard .ccard__h li b {
  color: var(--verde-3);
}
.hcard .ccard__h li small {
  color: var(--tinta-2);
}
.hcard .ccard__h li.hoje {
  background: var(--verde-3);
  color: var(--creme);
}
.hcard .ccard__h li.hoje b,
.hcard .ccard__h li.hoje small {
  color: var(--creme);
}
.hcard__morada {
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--linha);
  font-size: 14.5px;
  color: var(--tinta) !important;
}
.hcard .ccard__metro {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0 0;
  font-size: 13.5px;
  color: var(--tinta-2) !important;
}
.ccard2 .ccard__acts {
  margin-top: 22px;
}
.ccard2 .ccard2__map {
  max-width: 520px;
  margin: 16px auto 0;
  border-radius: 18px;
  overflow: hidden;
}
.ccard2__map button {
  position: static;
  translate: none;
  width: 100%;
  min-height: 52px;
}
.ccard2 .ccard2__map.is-map {
  aspect-ratio: 16/10;
}
@media (max-width: 520px) {
  .hcard {
    padding: 20px 18px 18px;
  }
}
/* no cartão de contactos já há "Como chegar": sem os botões por cima do mapa */
.ccard2 .map__acts {
  display: none;
}

/* ===== Topo: o que fazem, em lista ===== */
.hv__list {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 8px 34px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.hv__list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  color: rgba(246, 237, 223, 0.9);
}
.hv__list li::before {
  content: "";
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ouro-2);
}
@media (max-width: 640px) {
  .hv__list {
    grid-template-columns: 1fr;
    gap: 6px;
    margin-top: 18px;
  }
  .hv__list li {
    font-size: 15px;
  }
}

/* ===== Avaliações: 4 cartões certinhos dentro da largura da página (o resto desliza) ===== */
@media (min-width: 641px) {
  .v2 .rev__rail {
    width: min(1200px, 100% - 64px);
    margin-inline: auto;
    padding: 6px 0 22px;
    scroll-padding-inline: 0;
    align-items: stretch;
  }
  .v2 .rcard {
    width: calc((100% - 3 * 18px) / 4);
  }
}
@media (min-width: 641px) and (max-width: 1080px) {
  .v2 .rcard {
    width: calc((100% - 18px) / 2);
  }
}

/* ===== Vouchers: nome do cartão em letra de assinatura ===== */
.v2 .mini b {
  font: italic 600 26px/1.1 var(--serif);
  letter-spacing: 0;
}
.v2 .mini small {
  font-weight: 700;
  letter-spacing: 0.22em;
}

/* ===== HIFU: foto a ocupar o cartão inteiro, texto por cima ===== */
.hifu2 {
  padding: 30px 0;
}
.hifu2__card {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 480px;
  border-radius: 24px;
  overflow: hidden;
  isolation: isolate;
  box-shadow:
    0 2px 6px rgba(20, 20, 15, 0.08),
    0 50px 90px -50px rgba(30, 30, 20, 0.65);
}
.hifu2__bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% 50%;
}
.hifu2__card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(30, 42, 35, 0.96) 0%, rgba(30, 42, 35, 0.85) 38%, rgba(30, 42, 35, 0.15) 75%, rgba(30, 42, 35, 0) 100%);
}
.hifu2__txt {
  max-width: 480px;
  padding: 50px clamp(28px, 5vw, 64px);
}
.hifu2 .eyebrow {
  color: var(--ouro-2);
}
.hifu2 .h2 {
  font-size: clamp(34px, 4.4vw, 56px);
  letter-spacing: 0.03em;
}
.hifu2 .h2 em {
  display: block;
  color: var(--ouro-2);
}
.hifu2__txt > p:not(.eyebrow) {
  margin: 16px 0 0;
  font-size: 16px;
}
.hifu2__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}
.hifu2__chips li {
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(246, 237, 223, 0.35);
  font: 600 13px/1 var(--sans);
  color: var(--creme);
}
.hifu2 .hifu2__cta {
  margin-top: 28px;
  background: var(--terracota);
  border-color: var(--terracota);
  color: #fff;
}
.hifu2 .hifu2__cta:hover {
  background: var(--terra-2);
  border-color: var(--terra-2);
  color: #fff;
}
@media (max-width: 760px) {
  .hifu2__card {
    min-height: 560px;
    align-items: flex-end;
  }
  .hifu2__card::before {
    background: linear-gradient(0deg, rgba(30, 42, 35, 0.97) 0%, rgba(30, 42, 35, 0.9) 50%, rgba(30, 42, 35, 0.35) 68%, rgba(30, 42, 35, 0) 85%);
  }
  .hifu2__bg {
    object-position: 50% 0;
  }
  .hifu2__txt {
    padding: 0 24px 30px;
  }
}

/* ===== O Espaço: contador da foto em verde ===== */
.v2 .tour__n {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--verde-3);
  color: var(--creme);
}
.hifu2 .h2 em {
  white-space: nowrap;
}
/* altura fixa do cartão no computador: a foto adapta-se (há fotos verticais que o esticavam) */
@media (min-width: 761px) {
  .tinfo {
    height: 300px;
  }
  .tinfo__img {
    min-height: 0;
  }
}

/* ===== Topo (PC): dois bilhetes de avaliação sobrepostos, como polaroids, e a nota do Google por baixo ===== */
.hv__side {
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 26px;
}
.hv__notes {
  position: relative;
  width: 340px;
  height: 250px;
}
.hv__notes .hv__note {
  position: absolute;
  width: 290px;
  padding: 20px 22px 18px;
}
.hv__note--tras {
  left: 0;
  top: 0;
  rotate: -6deg;
  filter: brightness(0.94);
}
.hv__note--frente {
  right: 0;
  bottom: 0;
  rotate: 3deg;
}
.hv__note--tras:hover,
.hv__note--frente:hover {
  z-index: 2;
  rotate: 0deg;
  filter: none;
}
.hv__notes .hv__stars {
  display: block;
}
.hv__notes .hv__note-txt {
  margin-top: 10px;
  min-height: 0;
  font-size: 17px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.hv__g {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px 9px 9px;
  border-radius: 999px;
  background: rgba(20, 30, 24, 0.55);
  border: 1px solid rgba(246, 237, 223, 0.18);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  color: var(--creme);
  text-decoration: none;
  font-size: 13.5px;
}
.hv__g-ico {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff;
}
.hv__g-ico svg {
  width: 18px;
  height: 18px;
}
.hv__g b {
  font: 600 18px/1 var(--serif);
}
.hv__g .hv__stars {
  font-size: 12px;
  letter-spacing: 1px;
  color: var(--ouro-2);
}
@media (max-width: 900px) {
  .hv__side {
    align-items: flex-start;
  }
}
/* telemóvel: só a nota do Google (os bilhetes não cabem) */
@media (max-width: 640px) {
  .hv__notes {
    display: none;
  }
  .hv .cta {
    margin-bottom: 0;
  }
}

/* botões verdes (Conhecer o espaço e setas): brilho fixo por cima, para se perceber logo que são botões */
.btn--verde,
.v2 .tour__b {
  background:
    radial-gradient(120% 90% at 30% 0%, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0) 55%),
    linear-gradient(180deg, #4f6855 0%, var(--verde-3) 55%, var(--verde-4) 100%);
  border-color: transparent;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.3),
    inset 0 -2px 0 rgba(0, 0, 0, 0.22),
    0 10px 22px -10px rgba(20, 30, 24, 0.8);
}
.btn--verde:hover,
.btn--verde:active,
.v2 .tour__b:hover {
  background:
    radial-gradient(120% 90% at 30% 0%, rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0) 55%),
    linear-gradient(180deg, #587260 0%, #364b3e 55%, var(--verde-3) 100%);
  border-color: transparent;
  color: var(--creme);
}

/* ======== 03/11 (tarde): ajustes pedidos pelo André ======== */
/* topo: o rasgo do fim fica mais abaixo dos botões */
.v2 .hero--video {
  padding-bottom: clamp(140px, 18vh, 210px);
}
/* serviços numa linha só, discreta */
.hv__srv {
  margin: 22px 0 0;
  font-size: 16px;
  letter-spacing: 0.02em;
  color: rgba(246, 237, 223, 0.88);
}
.hv__srv i {
  margin: 0 8px;
  font-style: normal;
  color: var(--ouro-2);
}
/* avaliações do topo: Google à esquerda (ao meio), os dois bilhetes à direita, afastados para se lerem os dois */
.hv__side {
  flex-direction: row;
  align-items: center;
  gap: 22px;
}
.hv__g {
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 16px 16px 14px;
  border-radius: 18px;
  text-align: center;
  line-height: 1.25;
  font-size: 12.5px;
}
.hv__g b {
  font-size: 26px;
}
.hv__notes {
  width: 360px;
  height: 300px;
}
.hv__notes .hv__note {
  width: 270px;
  cursor: default;
}
.hv__note--tras {
  left: 0;
  top: 0;
  rotate: -4deg;
  filter: none;
}
.hv__note--frente {
  right: 0;
  bottom: 0;
  rotate: 3deg;
}
.hv__note--tras:hover,
.hv__note--frente:hover {
  rotate: none;
  translate: none;
  z-index: auto;
}
.hv__note--tras:hover {
  rotate: -4deg;
}
.hv__note--frente:hover {
  rotate: 3deg;
}
.hv__notes .hv__note-txt {
  font-size: 16px;
  -webkit-line-clamp: 3;
}
@media (max-width: 900px) {
  .hv__side {
    flex-direction: column;
    align-items: flex-start;
  }
  .hv__g {
    flex-direction: row;
  }
}

/* frase: pequena, discreta, sem animação */
.frase--mao {
  padding-top: 40px;
}
.frase--mao p {
  font-size: clamp(28px, 2.4vw, 36px);
  line-height: 1.15;
}
.frase--mao p span,
.frase--mao p em {
  display: inline;
}
.frase--mao p em {
  padding-left: 0.25em;
}
.js .frase--mao p span,
.js .frase--mao p em {
  -webkit-mask-image: none;
  mask-image: none;
}
.frase--mao .frase__sym {
  width: 52px;
}
.frase--mao blockquote::before,
.frase--mao blockquote::after {
  font-size: 40px;
}
.frase--mao blockquote::before {
  top: -18px;
  left: -16px;
}
.frase--mao blockquote::after {
  right: -18px;
  bottom: -26px;
}
@media (max-width: 640px) {
  .frase--mao p {
    font-size: 27px;
  }
  .frase--mao p span,
  .frase--mao p em {
    display: block;
  }
  .frase--mao p em {
    padding-left: 0.8em;
  }
  .frase--mao .frase__sym {
    width: 46px;
  }
}

/* vouchers: letra clássica e fácil de ler no nome do cartão */
.v2 .mini b {
  font: italic 600 26px/1.1 var(--serif);
}

/* HIFU: a foto (vertical) fica só na metade direita, sem zoom exagerado; o verde funde-se com ela */
.hifu2__card {
  background: var(--verde-4);
}
.hifu2__bg {
  left: auto;
  right: 0;
  width: 58%;
  object-position: 50% 38%;
}
.hifu2__card::before {
  background: linear-gradient(90deg, var(--verde-4) 0%, var(--verde-4) 42%, rgba(30, 42, 35, 0.7) 52%, rgba(30, 42, 35, 0.15) 68%, rgba(30, 42, 35, 0) 100%);
}
@media (max-width: 760px) {
  .hifu2__bg {
    width: 100%;
    height: 58%;
    object-position: 50% 30%;
  }
  .hifu2__card::before {
    background: linear-gradient(0deg, var(--verde-4) 0%, var(--verde-4) 45%, rgba(30, 42, 35, 0.6) 55%, rgba(30, 42, 35, 0) 75%);
  }
}

/* O Espaço: setas de volta ao estilo original (vidro), botão com contorno */
.v2 .tour__b {
  border: 1px solid rgba(246, 237, 223, 0.5);
  background: rgba(30, 42, 35, 0.35);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  box-shadow: none;
}
.v2 .tour__b:hover {
  background: var(--ouro-2);
  color: var(--verde-4);
}

/* contactos: horário sem cartão, direto no verde */
.hcard--simples {
  padding: 0;
  background: none;
  box-shadow: none;
  border-radius: 0;
  color: var(--creme);
}
.hcard--simples::after {
  display: none;
}
.hcard--simples .hcard__t {
  text-align: center;
  color: var(--ouro-2) !important;
}
.hcard--simples .ccard__h li {
  color: rgba(246, 237, 223, 0.84);
}
.hcard--simples .ccard__h li b {
  color: var(--creme);
}
.hcard--simples .ccard__h li small {
  color: rgba(246, 237, 223, 0.6);
}
.hcard--simples .ccard__h li.hoje {
  background: rgba(224, 139, 104, 0.16);
}
.hcard--simples .ccard__h li.hoje b {
  color: var(--ouro-2);
}
.hcard--simples .hcard__morada {
  border-top-color: rgba(246, 237, 223, 0.14);
  color: rgba(246, 237, 223, 0.84) !important;
  text-align: center;
}
.hcard--simples .ccard__metro {
  justify-content: center;
  color: rgba(246, 237, 223, 0.75) !important;
}
/* antes de abrir o mapa, a caixa tem só a altura do botão (havia uma regra antiga que a punha quadrada) */
.ccard2 .ccard2__map:not(.is-map) {
  aspect-ratio: auto;
  overflow: visible;
}

/* ======== 03/11 (fim da tarde) ======== */
/* frase: letra manuscrita simples e calma (Dancing Script), só "acalmam" a terracota */
.frase--mao p {
  font-size: clamp(26px, 2.2vw, 34px);
  color: var(--verde-3);
}
.frase--mao p em {
  padding-left: 0;
  color: var(--terracota);
}
@media (max-width: 640px) {
  .frase--mao p {
    font-size: 26px;
  }
  .frase--mao p > span {
    display: block;
  }
  .frase--mao p > span + span {
    padding-left: 0.8em;
  }
  .frase--mao p em {
    display: inline;
    padding-left: 0;
  }
}
/* topo: nota do Google sem caixa: logo + 5,0 numa letra normal a negrito, estrelas e nº de avaliações por baixo */
.hv__g {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-items: start;
  gap: 4px 10px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  text-align: left;
}
.hv__g-ico {
  grid-row: span 2;
  width: 40px;
  height: 40px;
}
.hv__g-ico svg {
  width: 24px;
  height: 24px;
}
.hv__g b {
  font: 700 26px/1 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: #fff;
}
.hv__g .hv__stars {
  display: none;
}
.hv__g > span:last-child {
  font: 500 12.5px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: rgba(246, 237, 223, 0.8);
}
/* HIFU: no telemóvel a foto fica em cima e o texto todo no verde por baixo (nada de letra fina em cima da foto) */
.hifu2 .eyebrow {
  font-weight: 800;
}
@media (max-width: 760px) {
  .hifu2__card {
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
  }
  .hifu2__bg {
    position: relative;
    inset: auto;
    z-index: 0;
    width: 100%;
    height: 280px;
    object-position: 50% 35%;
    /* a foto desvanece para o verde: não se vê onde acaba */
    -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 60%, transparent 100%);
  }
  .hifu2__card::before {
    display: none;
  }
  .hifu2__txt {
    margin-top: -36px;
    position: relative;
    padding: 0 24px 30px;
  }
  .hifu2 .h2 {
    font-weight: 600;
  }
}
/* contactos: duas colunas no computador, mais composto (o horário fica num quadro com fio fino) */
.ccard2--duas {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: clamp(30px, 5vw, 70px);
  align-items: center;
  text-align: left;
}
.ccard2--duas > * {
  max-width: none;
  margin: 0;
}
.ccard2__sym {
  width: 54px;
  margin-bottom: 14px;
}
.ccard2--duas .h2 {
  margin: 0;
  text-align: left;
  font-size: clamp(32px, 4vw, 50px);
  letter-spacing: 0.04em;
}
.ccard2__sub {
  margin: 10px 0 0;
  font: italic 500 20px/1.3 var(--serif);
  color: rgba(246, 237, 223, 0.8) !important;
}
.ccard2__morada {
  margin: 24px 0 0;
  font-size: 15.5px;
  color: rgba(246, 237, 223, 0.88) !important;
}
.ccard2--duas .ccard__metro {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0 0;
  font-size: 14px;
  color: rgba(246, 237, 223, 0.75) !important;
}
.ccard2--duas .ccard__acts {
  margin-top: 26px;
}
.ccard2--duas .ccard2__map {
  max-width: none;
  margin: 12px 0 0;
}
.ccard2__b {
  padding: 28px 30px 24px;
  border: 1px solid rgba(224, 139, 104, 0.35);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.03);
}
.ccard2__b .hcard__t {
  margin: 0 0 14px;
  font: 700 11px/1 var(--sans);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ouro-2) !important;
}
.ccard2__b .ccard__h li {
  padding: 11px 12px;
  font-size: 16px;
  color: rgba(246, 237, 223, 0.84);
}
.ccard2__b .ccard__h li + li {
  border-top: 1px solid rgba(246, 237, 223, 0.08);
}
.ccard2__b .ccard__h li b {
  color: var(--creme);
}
.ccard2__b .ccard__h li.hoje {
  background: rgba(224, 139, 104, 0.16);
  border-top-color: transparent;
}
.ccard2__b .ccard__h li.hoje b {
  color: var(--ouro-2);
}
.ccard2__b .ccard__h li.hoje + li {
  border-top-color: transparent;
}
@media (max-width: 900px) {
  .ccard2--duas {
    grid-template-columns: minmax(0, 1fr);
    text-align: center;
  }
  .ccard2--duas .h2 {
    text-align: center;
  }
  .ccard2--duas .ccard__metro {
    justify-content: center;
  }
  .ccard2__b {
    padding: 22px 18px 18px;
    text-align: left;
  }
  .ccard2__b .hcard__t {
    text-align: center;
  }
}
/* telemóvel: título, horário, morada e botões, por esta ordem */
@media (max-width: 900px) {
  .ccard2--duas {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .ccard2--duas .ccard2__a {
    display: contents;
  }
  .ccard2__sym { order: 1; align-self: center; }
  .ccard2--duas .h2 { order: 2; }
  .ccard2__sub { order: 3; }
  .ccard2__b { order: 4; margin-top: 24px; }
  .ccard2__morada { order: 5; }
  .ccard2--duas .ccard__metro { order: 6; }
  .ccard2--duas .ccard__acts { order: 7; }
  .ccard2--duas .ccard2__map { order: 8; }
}

/* ordem nova (03/11): avaliações só com título + selo Odisseias; "Natal" legível no cartão terracota */
.v2 .rev__t {
  margin: 0;
  font-size: clamp(30px, 3.6vw, 44px);
  letter-spacing: 0.04em;
}
.v2 .rev__head {
  margin-bottom: 18px;
}
.v2 .gift .eyebrow {
  color: var(--areia);
}
/* a frase fica agora como fecho, por cima dos contactos */
.v2 .frase--mao {
  padding: 50px 20px 10px;
}
@media (max-width: 640px) {
  .v2 .rev__t {
    width: 100%;
    text-align: center;
  }
}

/* ======== 03/11 (noite) ======== */
/* topo: no computador o título novo; no telemóvel o topo original (logo grande + "O seu refúgio. O seu momento. O nosso cuidado.") */
.hl--movel {
  display: none;
}
@media (max-width: 640px) {
  .hl--movel {
    display: block;
  }
  .v2 .hv,
  .v2 .hv__side {
    display: none;
  }
  .v2 .hero--video {
    align-items: center;
    padding-bottom: 170px;
  }
  .v2 .hero--video .hero__in {
    display: grid;
  }
  .v2 .hero__bg,
  .v2 .hero--video::before {
    filter: saturate(0.55) sepia(0.25) contrast(0.95) brightness(0.85) blur(3px);
  }
  .v2 .hero__veil {
    background:
      linear-gradient(180deg, var(--verde-4) 0%, var(--verde-4) 8%, rgba(30, 42, 35, 0.78) 20%, rgba(30, 42, 35, 0.74) 60%, rgba(30, 42, 35, 0.8) 85%, var(--verde-4) 100%),
      radial-gradient(80% 50% at 50% 30%, rgba(181, 96, 63, 0.14), transparent 70%);
  }
}

/* topo (computador): avaliações ao meio, à altura do título; G sem fundo; link para as avaliações */
@media (min-width: 641px) {
  .v2 .hero--video .hero__in {
    align-items: center;
  }
}
.hv__g-ico {
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
}
.hv__g-ico svg {
  width: 30px;
  height: 30px;
}
.hv__col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.hv__notes .hv__note {
  padding: 20px 22px 18px;
  border-radius: 12px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.85) inset,
    0 1px 2px rgba(0, 0, 0, 0.12),
    0 24px 40px -20px rgba(0, 0, 0, 0.55);
}
.hv__notes .hv__note::after {
  inset: 7px;
  border-radius: 8px;
}
.hv__note--tras {
  rotate: -3deg;
}
.hv__note--frente {
  rotate: 2deg;
}
.hv__note--tras:hover {
  rotate: -3deg;
}
.hv__note--frente:hover {
  rotate: 2deg;
}
.hv__notes .hv__stars {
  color: #f4b400;
  letter-spacing: 2px;
}
.hv__notes .hv__note-who {
  color: var(--verde-3);
}
/* "Ver todas as avaliações": parece um link, não um botão */
.hv__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 2px;
  font: 600 14px/1 var(--sans);
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.55);
  transition: border-color 0.2s;
}
.hv__more:hover {
  border-bottom-color: #fff;
}

/* vouchers da inicial: cartão profissional (como um cartão de membro): logo e "VOUCHER" em cima, nome em letra limpa em baixo, padrão fino de fundo */
.mini--pro {
  aspect-ratio: 1.586;
  padding: 20px 22px;
  border-radius: 14px;
  overflow: hidden;
}
.mini--pro::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    repeating-radial-gradient(circle at 115% 120%, rgba(255, 255, 255, 0.07) 0 1px, transparent 1px 9px),
    linear-gradient(115deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0) 38%);
}
.mini--pro::after {
  display: none;
}
.mini--areia.mini--pro::before {
  background:
    repeating-radial-gradient(circle at 115% 120%, rgba(62, 82, 67, 0.07) 0 1px, transparent 1px 9px),
    linear-gradient(115deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 38%);
}
.mini__top,
.mini__bot {
  position: relative;
  display: flex;
}
.mini__top {
  justify-content: space-between;
  align-items: center;
}
.mini--pro .mini__top img {
  width: 96px;
}
.mini--pro small {
  margin: 0;
  font: 700 9.5px/1 var(--sans);
  letter-spacing: 0.24em;
  text-transform: uppercase;
  opacity: 0.8;
}
.mini__bot {
  flex-direction: column;
  gap: 6px;
}
.v2 .mini--pro b {
  font: 600 17px/1.15 var(--sans);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.mini--pro .mini__bot small {
  font-size: 8.5px;
  letter-spacing: 0.2em;
  opacity: 0.7;
}
/* telemóvel: cartões de voucher mais pequenos por dentro (o logo e o "VOUCHER" não se tocam) */
@media (max-width: 640px) {
  .mini--pro {
    padding: 11px 13px;
    border-radius: 10px;
  }
  .mini--pro .mini__top img {
    width: 60px;
  }
  .mini--pro small {
    font-size: 7px;
    letter-spacing: 0.18em;
  }
  .v2 .mini--pro b {
    font-size: 11.5px;
    letter-spacing: 0.04em;
  }
  .mini--pro .mini__bot {
    gap: 4px;
  }
  .mini--pro .mini__bot small {
    font-size: 6.5px;
  }
  .v2 .gift .h2 em {
    white-space: nowrap;
  }
}

/* computador: tratamentos mais perto do topo (metade do espaço) e da mesma largura do HIFU */
@media (min-width: 641px) {
  .v2 #servicos.sec {
    padding-top: 50px;
  }
  .trat__box {
    max-width: none;
  }
}

/* contactos: WhatsApp no verde da marca WhatsApp; "Como chegar" com a seta azul (como no Google Maps) */
.ccard2 .ccard__b--wa {
  background: #25d366;
  border-color: #25d366;
  color: #fff;
}
.ccard2 .ccard__b--wa:hover {
  background: #1ebe5b;
  border-color: #1ebe5b;
}
.ccard2 .ccard__b[href*="maps"] svg {
  color: #4285f4;
  fill: #4285f4;
  stroke: #4285f4;
}

/* ===== Contactos sem caixa (03/11): no fundo bege, letra à mão, horário claro, botões fáceis ===== */
.cont2 {
  padding: 40px 0 100px;
}
.cont2__in {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(36px, 6vw, 90px);
  align-items: center;
}
.cont2__mao {
  margin: 0;
  font: 600 clamp(28px, 2.6vw, 36px)/1 "Dancing Script", var(--serif);
  color: var(--terracota);
}
.cont2 .h2 {
  margin-top: 6px;
  font-size: clamp(34px, 4.2vw, 54px);
  letter-spacing: 0.04em;
}
.cont2__sub {
  margin: 14px 0 0;
  max-width: 40ch;
  font-size: 16px;
  color: var(--tinta-2);
}
.cont2__h {
  margin-top: 30px;
  max-width: 440px;
}
.cont2__t {
  margin: 0 0 8px;
  font: 700 11px/1 var(--sans);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--terracota);
}
.cont2 .ccard__h li {
  padding: 11px 12px;
  font-size: 16px;
  color: var(--tinta-2);
  border-radius: 10px;
}
.cont2 .ccard__h li + li {
  border-top: 1px solid var(--linha);
}
.cont2 .ccard__h li b {
  color: var(--verde-3);
}
.cont2 .ccard__h li small {
  color: var(--tinta-2);
}
.cont2 .ccard__h li.hoje {
  background: rgba(181, 96, 63, 0.1);
  color: var(--verde-3);
}
.cont2 .ccard__h li.hoje,
.cont2 .ccard__h li.hoje + li {
  border-top-color: transparent;
}
.cont2 .ccard__h li.hoje b {
  color: var(--terracota);
}
.cont2__morada {
  margin: 22px 0 0;
  font-size: 15.5px;
  color: var(--tinta);
}
.cont2 .cont2__metro {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px 0 0;
  font-size: 14px;
  color: var(--tinta-2);
}
.cont2 .ccard__acts {
  max-width: 520px;
  margin-top: 28px;
}
/* botões no bege: Ligar e Como chegar em creme com contorno; WhatsApp verde (regra própria acima) */
.cont2 .ccard__b {
  background: var(--creme);
  border-color: var(--linha);
  color: var(--verde-3);
  box-shadow: var(--sombra-3d);
}
.cont2 .ccard__b:hover {
  background: #fff;
}
.cont2 .ccard__b--wa {
  background: #25d366;
  border-color: #25d366;
  color: #fff;
}
.cont2 .ccard__b--wa:hover {
  background: #1ebe5b;
}
.cont2 .ccard__b[href*="maps"] svg {
  stroke: #4285f4;
  color: #4285f4;
}
/* foto da sala (o mapa abre aqui ao tocar), com legenda à mão */
.cont2__map {
  aspect-ratio: 4/5;
  border-radius: 22px;
  overflow: hidden;
  box-shadow:
    0 2px 6px rgba(58, 38, 22, 0.08),
    0 30px 60px -36px rgba(58, 38, 22, 0.55);
}
.cont2__map > img:first-child {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cont2__map .hframe__pill {
  left: 50%;
  translate: -50% 0;
}
.cont2__map.is-map {
  aspect-ratio: 4/5;
}
.cont2__leg {
  margin: 12px 0 0;
  text-align: center;
  font: 600 22px/1 "Dancing Script", var(--serif);
  color: var(--tinta-2);
}
@media (max-width: 900px) {
  .cont2__in {
    grid-template-columns: minmax(0, 1fr);
  }
  .cont2__txt {
    text-align: center;
  }
  .cont2__sub,
  .cont2__h,
  .cont2 .ccard__acts {
    margin-inline: auto;
  }
  .cont2__h {
    text-align: left;
  }
  .cont2__t {
    text-align: center;
  }
  .cont2 .cont2__metro {
    justify-content: center;
  }
  .cont2__map {
    aspect-ratio: 4/3;
  }
  .cont2__map.is-map {
    aspect-ratio: 4/3;
  }
}
.cont2 .ccard__b[href*="maps"] svg {
  fill: #4285f4;
}
/* contactos: sem a frase por cima, tudo mais junto */
.cont2 {
  padding: 30px 0 80px;
}
.cont2 .h2 {
  margin-top: 0;
}
.cont2__h {
  margin-top: 22px;
}
.cont2__morada {
  margin-top: 16px;
}
.cont2 .ccard__acts {
  margin-top: 22px;
}

/* vouchers da inicial: imagens fixas de cartões (desenhadas em tools/vouchers-cartoes.html), sem animação */
.vimg {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(340px, 82%);
  height: auto;
  border-radius: 6.5% / 10.3%;
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.18),
    0 34px 50px -24px rgba(0, 0, 0, 0.6);
}
.vimg--a {
  transform: translate(-50%, -50%) translate(-92px, 38px) rotate(-9deg);
}
.vimg--b {
  transform: translate(-50%, -50%) translate(84px, 22px) rotate(7deg);
}
.vimg--c {
  transform: translate(-50%, -50%) translate(0, -34px) rotate(-1.5deg);
}
@media (max-width: 640px) {
  .vimg {
    width: 62%;
  }
  .vimg--a {
    transform: translate(-50%, -50%) translate(-24%, 22px) rotate(-9deg);
  }
  .vimg--b {
    transform: translate(-50%, -50%) translate(22%, 14px) rotate(7deg);
  }
  .vimg--c {
    transform: translate(-50%, -50%) translate(0, -20px) rotate(-1.5deg);
  }
}

/* O Espaço (só computador): título em cima, alinhado com o topo da foto, e o texto por baixo */
@media (min-width: 901px) {
  .v2 .esp__in {
    align-items: start;
  }
  .v2 .esp__txt .h2 {
    margin-top: 0;
  }
}

/* telemóvel: o vídeo do topo vê-se como no computador (mesmo filtro leve, véu mais claro ao meio) */
@media (max-width: 640px) {
  .v2 .hero__bg,
  .v2 .hero--video::before {
    filter: saturate(0.7) sepia(0.18) contrast(1) brightness(0.9) blur(1px);
  }
  .v2 .hero__veil {
    background: linear-gradient(180deg, rgba(30, 42, 35, 0.72) 0%, rgba(30, 42, 35, 0.32) 22%, rgba(30, 42, 35, 0.38) 55%, rgba(30, 42, 35, 0.88) 100%);
  }
  .v2 .hl--movel .hl__slogan,
  .v2 .hl--movel .hl__lead {
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
  }
}

/* O Espaço: "Conhecer o espaço" por baixo do texto no computador; por baixo das fotos no telemóvel */
.esp__cta-pc {
  display: none;
}
@media (min-width: 901px) {
  .esp__cta-pc {
    display: inline-flex;
    margin-top: 26px;
  }
  .esp__cta-movel {
    display: none;
  }
  .v2 .esp {
    padding-top: 60px;
  }
}
/* HIFU da inicial: link para a página do HIFU, ao lado do botão */
.hifu2__mais {
  display: inline-block;
  margin: 28px 0 0 18px;
  font: 600 14px/1 var(--sans);
  color: var(--creme);
  text-decoration: none;
  border-bottom: 1px solid rgba(246, 237, 223, 0.6);
  padding-bottom: 3px;
}
@media (max-width: 640px) {
  .hifu2__mais {
    display: block;
    width: fit-content;
    margin: 18px 0 0;
  }
}
