/* Correções locais. A faixa de altura exclui celulares em paisagem. */
@media (min-width: 750px) and (max-width: 1100px) and (min-height: 600px) {
  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .section-nav-wrap {
    top: 76px;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .case-pair:not(.case-pair-intraoral) > div {
    aspect-ratio: 4 / 3;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .case-pair-intraoral > div {
    aspect-ratio: 16 / 9;
    height: auto !important;
    width: 100%;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .case-pair-intraoral {
    width: min(1120px, calc(100vw - 64px));
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .case-card,
  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .case-card img,
  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .case-image-frame,
  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .case-image-frame img {
    height: 100%;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .case-card img,
  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .case-image-frame img {
    object-fit: contain !important;
  }
}

@media (min-width: 1101px) and (min-height: 500px) and (hover: hover) and (pointer: fine) {
  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .section-nav-wrap {
    top: 88px;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .vip {
    align-items: start;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .vip-visual {
    position: sticky;
    top: 138px;
    align-self: start;
    width: 100%;
    height: calc(100svh - 138px);
    min-height: 0;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .case-pair:not(.case-pair-intraoral) {
    width: min(560px, calc(66.67svh - 120px), calc(100vw - 80px)) !important;
    min-height: 0;
  }

  :root[data-irp-responsive-candidate="active"] .home-clinical-case .home-case-pair:not(.home-case-pair-intraoral) {
    width: min(1120px, calc((100svh - 160px) * 16 / 9), calc(100vw - 80px));
    min-height: 0;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .case-pair:not(.case-pair-intraoral) > div {
    height: auto;
    aspect-ratio: 2 / 3;
  }

  :root[data-irp-responsive-candidate="active"] .home-clinical-case .home-case-pair:not(.home-case-pair-intraoral) .home-case-transition {
    height: auto;
    aspect-ratio: 16 / 9;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .case-pair-intraoral {
    width: min(1120px, calc((100svh - 210px) * 16 / 9), calc(100vw - 80px)) !important;
    min-height: 0;
  }

  :root[data-irp-responsive-candidate="active"] .home-clinical-case .home-case-pair-intraoral {
    width: min(1120px, calc((100svh - 210px) * 16 / 9), calc(100vw - 80px));
    min-height: 0;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .case-pair-intraoral > div,
  :root[data-irp-responsive-candidate="active"] .home-clinical-case .home-case-pair-intraoral .home-case-transition {
    height: auto;
    aspect-ratio: 16 / 9;
    width: 100%;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .case-card img,
  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .case-image-frame img,
  :root[data-irp-responsive-candidate="active"] .home-clinical-case .home-case-card img {
    object-fit: contain !important;
  }
}

@media (min-width: 750px) and (max-width: 1100px) and (min-height: 600px) {
  :root[data-irp-responsive-candidate="active"] .home-clinical-case .home-case-pair:not(.home-case-pair-intraoral) {
    width: min(1120px, calc(100vw - 80px));
    min-height: 0;
  }

  :root[data-irp-responsive-candidate="active"] .home-clinical-case .home-case-pair:not(.home-case-pair-intraoral) .home-case-transition {
    height: auto;
    aspect-ratio: 16 / 9;
  }

  :root[data-irp-responsive-candidate="active"] .home-clinical-case .home-case-pair-intraoral {
    width: min(1120px, calc(100vw - 64px));
    min-height: 0;
  }

  :root[data-irp-responsive-candidate="active"] .home-clinical-case .home-case-pair-intraoral .home-case-transition {
    height: auto;
    aspect-ratio: 16 / 9;
  }

  :root[data-irp-responsive-candidate="active"] .home-clinical-case .home-case-card img {
    object-fit: contain !important;
  }
}

@media (min-width: 750px) and (min-height: 600px) {
  :root[data-irp-responsive-candidate="active"] .experience-home .treatment-film-pair {
    inset: 6%;
  }

  :root[data-irp-responsive-candidate="active"] .experience-home .treatment-film-pair img {
    object-fit: contain;
  }
}

/* Mídias cinematográficas controladas pela rolagem: preserva o quadro inteiro. */
@media (min-width: 750px) and (min-height: 600px),
       (min-width: 1101px) and (min-height: 500px) and (hover: hover) and (pointer: fine) {
  :root[data-irp-responsive-candidate="active"] .irp-treatment-hub .clinical-case .case-pair,
  :root[data-irp-responsive-candidate="active"] .irp-treatment-hub .clinical-case .case-pair-wide {
    grid-column: span 12;
  }

  :root[data-irp-responsive-candidate="active"] .irp-treatment-hub .clinical-case .case-card {
    aspect-ratio: 16 / 9;
  }

  :root[data-irp-responsive-candidate="active"] .irp-treatment-hub .clinical-case .case-card img,
  :root[data-irp-responsive-candidate="active"] .irp-treatment-hub .clinical-case .case-image-frame,
  :root[data-irp-responsive-candidate="active"] .irp-treatment-hub .clinical-case .case-image-frame img {
    aspect-ratio: auto !important;
    object-fit: contain !important;
  }

  /* Os palcos de História usam grid. Fixar a caixa da mídia evita que a
     proporção intrínseca volte a aumentar o frame para além do viewport. */
  :root[data-irp-responsive-candidate="active"] .cinematic-history :is(.document, .fousp-photo, .rafa-moments figure) > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    box-sizing: border-box;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-history .fousp-sequence > * {
    min-height: 0 !important;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-history .fousp-sequence .fousp-photo {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100%;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-history .rafa-moments .family-crop {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-history .rafa-moments .family-crop > img {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    box-sizing: border-box;
    object-fit: contain !important;
  }

  :root[data-irp-responsive-candidate="active"] .experience-home .cinema-scene .cinema-film,
  :root[data-irp-responsive-candidate="active"] .experience-home .people-film img,
  :root[data-irp-responsive-candidate="active"] .experience-home .history-film img,
  :root[data-irp-responsive-candidate="active"] .experience-home .process-film img,
  :root[data-irp-responsive-candidate="active"] .experience-home .education-film img,
  :root[data-irp-responsive-candidate="active"] .experience-home .legacy-cinema img,
  :root[data-irp-responsive-candidate="active"] .experience-home .treatment-film > img,
  :root[data-irp-responsive-candidate="active"] .home-clinical-case .home-case-card img,
  :root[data-irp-responsive-candidate="active"] .irp-treatment-hub .clinical-case .case-card img,
  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .immersive-list-film img,
  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .editorial-figure img,
  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .patient-slide img,
  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .vip img,
  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .root-portrait img,
  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .rafa-photography .rafa-photo img,
  :root[data-irp-responsive-candidate="active"] .cinematic-professionals [data-media-key="irp-profissionais-bastidores-01"] img,
  :root[data-irp-responsive-candidate="active"] .irp-personalities-page .archive-prologue__film img,
  :root[data-irp-responsive-candidate="active"] .irp-personalities-page .public-presence__film img,
  :root[data-irp-responsive-candidate="active"] .irp-contact-cinema-page .arrival-gallery__frame--identity img,
  :root[data-irp-responsive-candidate="active"] .irp-contact-cinema-page .arrival-landmark img,
  :root[data-irp-responsive-candidate="active"] .irp-treatment-hub .laboratory-art img,
  :root[data-irp-responsive-candidate="active"] .irp-facets .irp-facets__layers-art img,
  :root[data-irp-responsive-candidate="active"] .irp-facets .irp-facets__reconstruction-art img,
  :root[data-irp-responsive-candidate="active"] .cinematic-history .document img,
  :root[data-irp-responsive-candidate="active"] .cinematic-history .fousp-photo img,
  :root[data-irp-responsive-candidate="active"] .cinematic-history .rafa-portrait img,
  :root[data-irp-responsive-candidate="active"] .cinematic-history .rafa-moments img,
  :root[data-irp-responsive-candidate="active"] .cinematic-history .silvana-image img,
  :root[data-irp-responsive-candidate="active"] .cinematic-history .legacy-gallery img,
  :root[data-irp-responsive-candidate="active"] .courses-page .courses-timeline .timeline-entry figure > img,
  :root[data-irp-responsive-candidate="active"] .irp-plastica-gengival-v1 .pg-art img,
  :root[data-irp-responsive-candidate="active"] .irp-peeling-gengival-v1 .pgd-art img {
    object-fit: contain !important;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .cinema-scroll-frame,
  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .cinema-scroll-frame.is-current,
  :root[data-irp-responsive-candidate="active"] .cinematic-history .silvana-image img,
  :root[data-irp-responsive-candidate="active"] .cinematic-history .silvana.is-active .silvana-image img,
  :root[data-irp-responsive-candidate="active"] .cinematic-history .legacy-gallery img,
  :root[data-irp-responsive-candidate="active"] .cinematic-history .legacy-gallery figure.is-current img,
  :root[data-irp-responsive-candidate="active"] .courses-page .courses-timeline .timeline-entry figure > img,
  :root[data-irp-responsive-candidate="active"] .courses-page .courses-timeline .timeline-entry.is-current figure > img {
    transform: none !important;
  }

  :root[data-irp-responsive-candidate="active"] .irp-media-ambient-host {
    isolation: isolate;
    overflow: hidden;
    background: #141210;
  }

  /* Só cria um containing block quando a mídia original não possuía um.
     Preservar absolute/sticky é essencial para os capítulos por rolagem. */
  :root[data-irp-responsive-candidate="active"] .irp-media-ambient-host--static {
    position: relative;
  }

  :root[data-irp-responsive-candidate="active"] .irp-media-ambient-host > .irp-media-ambient-backdrop {
    position: absolute;
    z-index: 0;
    inset: -4%;
    display: block;
    pointer-events: none;
    background-image: linear-gradient(90deg, rgba(12, 10, 8, .28), rgba(12, 10, 8, .58) 50%, rgba(12, 10, 8, .28)), var(--irp-media-ambient-image);
    background-blend-mode: multiply;
    background-position: center 24%;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: .72;
    filter: blur(14px) saturate(.72) brightness(.68);
    transform: scale(1.16) scaleX(-1);
  }

  /* Sequências de várias fotos fazem crossfade também nas laterais. */
  :root[data-irp-responsive-candidate="active"] .irp-media-ambient-host > .irp-media-ambient-backdrop--crossfade {
    overflow: hidden;
    background: none;
    opacity: 1;
    filter: none;
    transform: none;
  }

  :root[data-irp-responsive-candidate="active"] .irp-media-ambient-host > .irp-media-ambient-backdrop--crossfade > .irp-media-ambient-layer {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(90deg, rgba(12, 10, 8, .28), rgba(12, 10, 8, .58) 50%, rgba(12, 10, 8, .28)), var(--irp-media-ambient-image);
    background-blend-mode: multiply;
    background-position: center 24%;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0;
    filter: blur(14px) saturate(.72) brightness(.68);
    transform: scale(1.16) scaleX(-1);
    transition: opacity 360ms ease;
  }

  :root[data-irp-responsive-candidate="active"] .irp-media-ambient-host > .irp-media-ambient-backdrop--crossfade > .irp-media-ambient-layer.is-visible {
    opacity: .72;
  }

  /* Pares Antes/Depois recebem duas camadas com o mesmo wipe do quadro central. */
  :root[data-irp-responsive-candidate="active"] .experience-home .treatment-film-pair > .irp-media-ambient-backdrop--layered {
    overflow: hidden;
    background: none;
    filter: none;
    transform: none;
  }

  :root[data-irp-responsive-candidate="active"] .experience-home .treatment-film-pair > .irp-media-ambient-backdrop--layered > .irp-media-ambient-layer {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(90deg, rgba(12, 10, 8, .28), rgba(12, 10, 8, .58) 50%, rgba(12, 10, 8, .28)), var(--irp-media-ambient-image);
    background-blend-mode: multiply;
    background-position: center 24%;
    background-repeat: no-repeat;
    background-size: cover;
    filter: blur(14px) saturate(.72) brightness(.68);
    transform: scale(1.16) scaleX(-1);
  }

  :root[data-irp-responsive-candidate="active"] .irp-media-ambient-host > .irp-media-ambient-source {
    z-index: 1 !important;
    background-color: transparent !important;
  }

  :root[data-irp-responsive-candidate="active"] .irp-media-ambient-host > .irp-media-ambient-source--static {
    position: relative;
  }

  /* Textos e legendas preservam o position original da cena. */
  :root[data-irp-responsive-candidate="active"] .irp-media-ambient-host > :not(.irp-media-ambient-backdrop):not(img):not(video) {
    z-index: 2;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .vip-visual > p {
    bottom: max(64px, 9svh);
  }
}

@media (prefers-reduced-motion: reduce) {
  :root[data-irp-responsive-candidate="active"] .irp-media-ambient-backdrop--crossfade > .irp-media-ambient-layer {
    transition: none;
  }
}

/* Notebooks de pouca altura: mantém conteúdo e palavras monumentais dentro da cena. */
@media (min-width: 1101px) and (min-height: 500px) and (max-height: 850px) and (hover: hover) and (pointer: fine) {
  :root[data-irp-responsive-candidate="active"] .cinematic-history .fousp-sequence .formation-passage .fousp-photo {
    position: absolute !important;
    inset: 0 0 0 auto;
    width: 61%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .vip-visual > p {
    bottom: 48px;
    font-size: clamp(3rem, 5.5vw, 4.8rem);
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .vip-copy {
    align-self: start;
    padding-top: 64px;
    padding-bottom: 64px;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .vip-copy h2 {
    margin-bottom: 22px;
    font-size: clamp(2.25rem, 3.6vw, 3.45rem);
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .vip-copy > p {
    font-size: .95rem;
    line-height: 1.55;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .vip-numbers {
    margin: 26px 0;
  }

  :root[data-irp-responsive-candidate="active"] .cinematic-professionals .vip-numbers p {
    padding-top: 16px;
    padding-bottom: 16px;
  }

  :root[data-irp-responsive-candidate="active"] .irp-treatment-hub .diagnostics {
    grid-template-columns: minmax(300px, .9fr) minmax(420px, 1.1fr);
    gap: 0 clamp(36px, 5vw, 80px);
    padding-top: 72px;
    padding-bottom: 72px;
  }

  :root[data-irp-responsive-candidate="active"] .irp-treatment-hub .diagnostics h2 {
    margin-bottom: 22px;
    font-size: clamp(3.25rem, 5vw, 4.6rem);
  }

  :root[data-irp-responsive-candidate="active"] .irp-treatment-hub .diagnostics blockquote {
    margin: 26px 0;
    font-size: clamp(1.8rem, 2.7vw, 2.5rem);
  }

  :root[data-irp-responsive-candidate="active"] .irp-treatment-hub .diagnostic-tools {
    margin-top: 28px;
  }

  :root[data-irp-responsive-candidate="active"] .irp-treatment-hub .laboratory-art {
    min-height: min(620px, calc(100svh - 170px));
  }
}

@media (min-width: 750px) and (max-width: 1100px) and (min-height: 600px) {
  :root[data-irp-responsive-candidate="active"] .courses-page .courses-timeline .timeline-entry figure {
    top: 76px;
    height: calc(100svh - 76px);
  }
}

@media (min-width: 1101px) and (min-height: 500px) and (hover: hover) and (pointer: fine) {
  :root[data-irp-responsive-candidate="active"] .courses-page .courses-timeline .timeline-entry figure {
    top: 88px;
    height: calc(100svh - 88px);
  }
}
