/* Original vector identity; no text reconstruction or logo tile. */
.brand,
header .brand {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none;
}
.brand img {
  display: block;
  object-fit: contain;
  filter: none;
}

/* Small Italian-origin marker beside the hero device. */
.italy-badge {
  position: absolute;
  top: 8%;
  right: 8%;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 14px 10px 11px;
  border: 1px solid #88ffffb8;
  border-radius: 10px;
  background: #06263bd9;
  box-shadow: 0 12px 30px #00111e66, inset 0 1px #ffffff20;
  color: #eaffff;
  backdrop-filter: blur(14px);
}
.italy-badge > span:last-child { display: grid; gap: 2px; }
.italy-badge b {
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: .13em;
  white-space: nowrap;
}
.italy-badge small {
  color: #a9d4dc;
  font-size: 10px;
  line-height: 1.25;
  white-space: nowrap;
}
.italy-flag {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  width: 27px;
  height: 18px;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 0 0 1px #ffffff55;
}
.italy-flag i:nth-child(1) { background: #159447; }
.italy-flag i:nth-child(2) { background: #fff; }
.italy-flag i:nth-child(3) { background: #ce2b37; }

@media(max-width:520px) {
  .italy-badge { top: 6%; right: 6%; gap: 8px; padding: 8px 10px 8px 8px; }
  .italy-badge b, .italy-badge small { font-size: 8px; }
  .italy-flag { width: 23px; height: 15px; }
}

/* Real clinic photography, with full-size originals available on click. */
.clinic-photo-link {
  position: relative;
  display: block;
  min-width: 0;
  overflow: hidden;
  border-radius: 12px;
  line-height: 0;
  isolation: isolate;
}
.clinic-photo-link:focus-visible {
  outline: 3px solid #88ffff;
  outline-offset: 5px;
}
.clinic-photo {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.photo-expand {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid #ffffff66;
  border-radius: 50%;
  background: #061b2ee6;
  color: #fff;
  font-size: 21px;
  line-height: 1;
  pointer-events: none;
}
.clinic-photo-link:hover .photo-expand {
  color: #06233b;
  background: #88ffff;
}

/* The landscape photograph leads naturally to the standalone video. */
.working-photo {
  min-width: 0;
  margin: 0;
}
.working-photo .clinic-photo {
  aspect-ratio: 1280 / 591;
  object-fit: contain;
}
.working-photo figcaption {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 24px;
  padding: 20px 0 0;
  color: #c2d9e8;
  font-size: 13px;
  line-height: 1.6;
}
.working-photo figcaption a {
  color: #88ffff;
  text-underline-offset: 5px;
}
.procedure-demo__cta {
  margin-top: 28px;
}
.procedure-demo__media video {
  aspect-ratio: 16 / 9;
}

/* Two full-height portraits: the equipment and the specialist in practice. */
#programs .program-image--clinic {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
  align-self: center;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  overflow: visible;
}
#programs .program-image--clinic .clinic-photo {
  width: 100%;
  height: auto;
  aspect-ratio: 591 / 1280;
  object-fit: cover;
}
#programs .program-image--clinic > span {
  grid-column: 1 / -1;
  margin-top: 4px;
  color: #365164;
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: .06em;
  text-align: left;
}
.service-catalog .clinic-photo-link {
  border-radius: 0;
}
.service-catalog .clinic-photo {
  aspect-ratio: 4 / 5;
  object-position: 50% 57%;
}
.service-catalog .photo-body-treatment {
  object-position: 50% 84%;
}
.service-catalog .photo-face-treatment {
  object-position: 50% 57%;
}
.service-catalog .photo-body-led-treatment {
  object-position: 50% 55%;
}
#equipment .equipment-card > .clinic-photo-link {
  margin-bottom: 26px;
}
#equipment .equipment-card .clinic-photo {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  margin: 0;
  object-fit: cover;
  object-position: 50% 54%;
}
#equipment .equipment-card .photo-face-handpiece {
  object-position: 50% 60%;
}

/* Large supporting photographs in the training and clinic visit sections. */
#training {
  width: 100%;
  max-width: 1600px;
  margin-inline: auto;
  align-items: start;
}
.training-photo {
  margin: 32px 0 0;
}
.training-photo .clinic-photo {
  aspect-ratio: 1 / 1;
  object-position: 50% 48%;
}
.training-photo figcaption {
  margin-top: 14px;
  color: #f0f6ff;
  font-size: 13px;
  line-height: 1.7;
}
#service .clinic-visit {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 64px);
  padding: clamp(24px, 4vw, 56px);
  align-items: center;
}
.clinic-visit .clinic-photo {
  width: 100%;
  height: auto;
  aspect-ratio: 591 / 1280;
  object-fit: contain;
}
.clinic-visit h3 {
  max-width: 650px;
  color: #062b40;
  font-size: clamp(26px, 2.8vw, 40px);
  line-height: 1.2;
}
.clinic-visit p {
  max-width: 640px;
  color: #064456;
  font-size: 17px;
  line-height: 1.8;
}
.clinic-visit .button {
  margin-top: 28px;
}

/* Native dialog keeps photographs readable without cropping the original. */
.photo-viewer {
  max-width: min(94vw, 1200px);
  max-height: 94dvh;
  padding: 0;
  margin: auto;
  overflow: auto;
  border: 1px solid #36546b;
  border-radius: 14px;
  background: #071b2e;
  color: #fff;
}
.photo-viewer::backdrop {
  background: #020b16ed;
}
.photo-viewer__bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 16px 20px;
}
.photo-viewer__title {
  max-width: 70ch;
  margin: 0;
  color: #e1eff7;
  font-size: 14px;
  line-height: 1.6;
}
.photo-viewer__close {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #5c788c;
  border-radius: 50%;
  background: #122c43;
  color: #fff;
  font-size: 28px;
  cursor: pointer;
}
.photo-viewer__image {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 78dvh;
  margin-inline: auto;
  object-fit: contain;
}
html.photo-viewer-open {
  overflow: hidden;
}

/* Final header lock: keep the original vector mark visible and inside the
   existing navigation container at every desktop width. */
header .brand {
  display: inline-flex !important;
  flex: 0 0 150px !important;
  width: 150px;
  min-width: 150px;
  min-height: 46px;
  visibility: visible !important;
  opacity: 1 !important;
}
header .brand img {
  display: block !important;
  width: 150px !important;
  height: 46px !important;
  min-width: 150px;
  visibility: visible !important;
  opacity: 1 !important;
}
header .nav-language-links {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
header .nav-language-links a.language {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
@media (max-width: 850px) {
  .service-catalog .clinic-photo-link {
    height: 100%;
  }
  .service-catalog article:last-child .clinic-photo {
    height: 100%;
    max-height: none;
    aspect-ratio: 4 / 5;
  }
  .training-photo {
    max-width: 600px;
  }
  .training-photo .clinic-photo {
    aspect-ratio: 4 / 5;
  }
}
@media (max-width: 600px) {
  header .brand,
  header .brand img {
    width: 125px !important;
    min-width: 125px;
  }
  header .brand img {
    height: auto !important;
  }
  #programs .program-image--clinic {
    gap: 10px;
  }
  #service .clinic-visit {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .clinic-visit > .clinic-photo-link {
    max-width: 280px;
    margin-inline: auto;
  }
  #equipment .equipment-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  #equipment .equipment-card .clinic-photo {
    aspect-ratio: 1 / 1;
  }
  #equipment .specs {
    grid-column: 1;
  }
  .photo-viewer__bar {
    gap: 12px;
    padding: 12px 14px;
  }
}
