/* ==============================================================
   Correções mobile finais — Estúdio Órbita
   Objetivo: eliminar estouros horizontais, estabilizar menu e tornar
   hero/CTA/experiência 360º responsivos sem alterar o desktop.
   ============================================================== */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

@supports not (overflow-x: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
}

body.mobile-nav-active,
body.hero-niche-modal-open {
  overflow: hidden !important;
  touch-action: none;
}

/* Header editorial: estado compacto e previsível em telas de toque */
@media (max-width: 991px) {
  .header.orbita-editorial-header,
  body.scrolled .header.orbita-editorial-header,
  body.mobile-nav-active .header.orbita-editorial-header {
    padding: 22px 0 0 !important;
    height: 72px !important;
    min-height: 72px !important;
    background: transparent !important;
  }

  .header.orbita-editorial-header .container-fluid {
    min-height: 40px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .orbita-editorial-logo {
    width: clamp(92px, 25vw, 118px) !important;
    height: 24px !important;
  }

  .orbita-menu-toggle {
    gap: 12px !important;
    min-width: 0 !important;
  }

  .orbita-menu-label {
    font-size: 13px !important;
    line-height: 1 !important;
    letter-spacing: .06em !important;
  }

  .orbita-menu-toggle .mobile-nav-toggle,
  body.scrolled .orbita-menu-toggle .mobile-nav-toggle,
  body.mobile-nav-active .orbita-menu-toggle .mobile-nav-toggle {
    font-size: 27px !important;
    line-height: 1 !important;
  }
}

@media (max-width: 420px) {
  .header.orbita-editorial-header .container-fluid {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .orbita-menu-toggle {
    gap: 8px !important;
  }

  .orbita-menu-label {
    font-size: 12px !important;
  }
}

/* Menu aberto: overlay estável no mobile, inclusive landscape/tablet */
@media (max-width: 1199px) {
  body.mobile-nav-active .orbita-editorial-nav {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    display: block !important;
    background:
      radial-gradient(circle at 18% 10%, rgba(255,255,255,.08), transparent 32%),
      rgba(10, 12, 18, .96) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
    z-index: 10004 !important;
  }

  body.mobile-nav-active .orbita-editorial-nav > ul,
  html body.mobile-nav-active nav#navmenu.orbita-editorial-nav > ul {
    position: static !important;
    display: flex !important;
    width: 100% !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: clamp(96px, 14vh, 132px) 24px 34px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(12px, 2.1vh, 20px) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html body.mobile-nav-active nav#navmenu.orbita-editorial-nav > ul > li {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  html body.mobile-nav-active nav#navmenu.orbita-editorial-nav > ul > li > a,
  html body.mobile-nav-active nav#navmenu.orbita-editorial-nav > ul > li > a:focus,
  html body.mobile-nav-active nav#navmenu.orbita-editorial-nav > ul > li > a:hover,
  html body.mobile-nav-active nav#navmenu.orbita-editorial-nav > ul > li > a.active {
    width: auto !important;
    max-width: calc(100vw - 48px) !important;
    padding: 2px 0 !important;
    color: #ffffff !important;
    font-size: clamp(20px, 5.2vw, 31px) !important;
    line-height: 1.12 !important;
    letter-spacing: .045em !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body.mobile-nav-active .orbita-editorial-logo {
    position: fixed !important;
    top: 24px !important;
    left: 22px !important;
    z-index: 10006 !important;
  }

  body.mobile-nav-active .orbita-menu-toggle {
    position: fixed !important;
    top: 22px !important;
    right: 22px !important;
    z-index: 10006 !important;
  }
}

@media (max-width: 767px) and (orientation: landscape) {
  body.mobile-nav-active .orbita-editorial-nav > ul,
  html body.mobile-nav-active nav#navmenu.orbita-editorial-nav > ul {
    justify-content: flex-start !important;
    gap: 9px !important;
    padding-top: 78px !important;
    padding-bottom: 22px !important;
  }

  html body.mobile-nav-active nav#navmenu.orbita-editorial-nav > ul > li > a,
  html body.mobile-nav-active nav#navmenu.orbita-editorial-nav > ul > li > a:focus,
  html body.mobile-nav-active nav#navmenu.orbita-editorial-nav > ul > li > a:hover,
  html body.mobile-nav-active nav#navmenu.orbita-editorial-nav > ul > li > a.active {
    font-size: clamp(17px, 3.5vw, 22px) !important;
    line-height: 1.06 !important;
  }
}

/* Hero home: composição mobile sem sobreposição com controles da RV */
@media (max-width: 991px) {
  .hero.hero-orbita-editorial {
    min-height: 100vh !important;
    min-height: 100svh !important;
    overflow: hidden !important;
  }

  .hero.hero-orbita-editorial .hero-editorial-content {
    width: 100% !important;
    min-height: 100vh !important;
    min-height: 100svh !important;
    padding: 106px 24px 126px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }

  .hero.hero-orbita-editorial .hero-title-block {
    width: min(100%, 640px) !important;
    max-width: calc(100vw - 48px) !important;
  }

  .hero.hero-orbita-editorial h1,
  .hero.hero-orbita-editorial h1 span {
    max-width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
    word-break: normal !important;
  }

  .hero.hero-orbita-editorial h1 > span:not(.hero-title-row) {
    font-size: clamp(3.25rem, 12vw, 5.6rem) !important;
    line-height: .86 !important;
    letter-spacing: -.062em !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-row {
    display: block !important;
    margin-top: 10px !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline {
    display: block !important;
    max-width: min(21ch, 100%) !important;
    margin: 14px 0 14px !important;
    font-size: clamp(1.15rem, 4.3vw, 1.75rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -.025em !important;
  }

  .hero.hero-orbita-editorial h1 .title-shift {
    display: block !important;
    margin: 0 !important;
    font-size: clamp(3.05rem, 11.2vw, 5.15rem) !important;
    line-height: .86 !important;
    letter-spacing: -.062em !important;
  }

  .hero.hero-orbita-editorial .hero-niche-tags,
  .hero.hero-orbita-editorial .hero-actions {
    width: min(100%, 420px) !important;
    max-width: min(100%, 420px) !important;
  }

  .hero.hero-orbita-editorial .hero-niche-tags {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 22px !important;
    margin-bottom: 10px !important;
  }

  .hero.hero-orbita-editorial .hero-niche-tags .hero-niche-tag {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 36px !important;
    padding: 7px 8px !important;
    font-size: clamp(8.8px, 2.3vw, 10.5px) !important;
    letter-spacing: .065em !important;
    white-space: nowrap !important;
  }

  .hero.hero-orbita-editorial .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 9px !important;
  }

  .hero.hero-orbita-editorial .hero-action,
  .hero.hero-orbita-editorial .hero-action:link,
  .hero.hero-orbita-editorial .hero-action:visited {
    min-height: 42px !important;
    padding: 10px 11px !important;
    font-size: clamp(9.5px, 2.5vw, 11px) !important;
    line-height: 1.15 !important;
    letter-spacing: .035em !important;
    white-space: normal !important;
  }

  .hero.hero-orbita-editorial .hero-rv-cta-wrap {
    left: 24px !important;
    right: 24px !important;
    bottom: max(20px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    align-items: center !important;
    z-index: 18 !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo {
    display: none !important;
  }

  .hero.hero-orbita-editorial .hero-rv-activate-btn {
    width: min(300px, 100%) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 48px !important;
    padding: 8px 14px !important;
    gap: 8px !important;
    border-radius: 999px !important;
  }

  .hero.hero-orbita-editorial .hero-rv-activate-btn__icon {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
  }

  .hero.hero-orbita-editorial .hero-rv-activate-btn__label {
    max-width: 210px !important;
    font-size: 12px !important;
    line-height: 1.18 !important;
  }
}

@media (max-width: 575px) {
  .hero.hero-orbita-editorial .hero-editorial-content {
    padding: 96px 18px 114px !important;
  }

  .hero.hero-orbita-editorial .hero-title-block {
    max-width: calc(100vw - 36px) !important;
  }

  .hero.hero-orbita-editorial h1 > span:not(.hero-title-row) {
    font-size: clamp(2.85rem, 13.1vw, 4.15rem) !important;
  }

  .hero.hero-orbita-editorial h1 .title-shift {
    font-size: clamp(2.65rem, 12vw, 3.8rem) !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline {
    max-width: 20ch !important;
    font-size: clamp(1.02rem, 4.45vw, 1.28rem) !important;
  }

  .hero.hero-orbita-editorial .hero-actions {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 374px) {
  .hero.hero-orbita-editorial h1 > span:not(.hero-title-row) {
    font-size: clamp(2.55rem, 12.3vw, 3.2rem) !important;
  }

  .hero.hero-orbita-editorial h1 .title-shift {
    font-size: clamp(2.42rem, 11.4vw, 3.05rem) !important;
  }

  .hero.hero-orbita-editorial .hero-niche-tags {
    grid-template-columns: 1fr !important;
  }
}

/* Mobile: evita que o botão flutuante cubra formulários e CTAs */
@media (max-width: 767px) {
  .scroll-top,
  .whatsapp-float {
    right: 14px !important;
  }

  .scroll-top {
    bottom: 16px !important;
    width: 40px !important;
    height: 40px !important;
  }

  .whatsapp-float {
    bottom: 64px !important;
    width: 48px !important;
    height: 48px !important;
  }
}

/* Página da experiência: título e player 360º sem estouro no mobile */
@media (max-width: 991px) {
  .page-title.orbita-project-hero-v36 {
    min-height: 520px !important;
    padding: 118px 0 52px !important;
  }

  .orbita-project-hero-v36__content {
    max-width: 100% !important;
  }

  .orbita-project-hero-v36 h1 {
    max-width: 12ch !important;
    font-size: clamp(2.7rem, 10vw, 4.7rem) !important;
    line-height: .94 !important;
  }

  .orbita-project-hero-v36 p {
    max-width: 36rem !important;
    font-size: 1rem !important;
  }

  .orbita-project-section-head-v36 {
    grid-template-columns: 1fr !important;
  }

  .orbita-project-section-head-v36 h2 {
    white-space: normal !important;
    font-size: clamp(2rem, 8.2vw, 3.35rem) !important;
    line-height: 1 !important;
    letter-spacing: -.055em !important;
  }

  .orbita-project-section-head-v36 h2 .orbita-title-nowrap {
    white-space: nowrap !important;
  }

  .orbita-project-section-head-v36 p {
    max-width: 100% !important;
    text-align: left !important;
  }

  #orbitaVrExperience.orbita-vr-embed,
  .orbita-vr-embed {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 520px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  #orbitaVrExperience.orbita-vr-embed .topbar {
    left: 12px !important;
    right: 12px !important;
    top: 12px !important;
    width: auto !important;
    transform: none !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: 10px 12px !important;
    border-radius: 18px !important;
  }

  #orbitaVrExperience.orbita-vr-embed .brand-wrap span,
  #orbitaVrExperience.orbita-vr-embed .topbar-actions {
    display: none !important;
  }

  #orbitaVrExperience.orbita-vr-embed .brand-wrap strong {
    font-size: 12px !important;
  }

  #orbitaVrExperience.orbita-vr-embed .brand-logo-text {
    font-size: 12px !important;
    min-height: 28px !important;
    padding: 0 10px !important;
  }

  #orbitaVrExperience.orbita-vr-embed .mini-controls {
    top: auto !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    width: auto !important;
    max-width: none !important;
    justify-content: center !important;
    overflow-x: auto !important;
    border-radius: 999px !important;
    padding: 7px !important;
  }

  #orbitaVrExperience.orbita-vr-embed .mini-controls button {
    flex: 1 0 auto !important;
    min-width: 82px !important;
    min-height: 34px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }

  #orbitaVrExperience.orbita-vr-embed .panel {
    left: 12px !important;
    right: 12px !important;
    bottom: 70px !important;
    top: auto !important;
    width: auto !important;
    max-height: min(58vh, 430px) !important;
    border-radius: 22px !important;
  }

  #orbitaVrExperience.orbita-vr-embed .intro-screen {
    padding: 14px !important;
    align-items: flex-end !important;
  }

  #orbitaVrExperience.orbita-vr-embed .intro-card {
    width: 100% !important;
    max-height: calc(100% - 20px) !important;
    overflow: auto !important;
    padding: 20px !important;
    border-radius: 22px !important;
  }

  #orbitaVrExperience.orbita-vr-embed .intro-card h3 {
    max-width: 13ch !important;
    font-size: clamp(1.85rem, 8vw, 2.55rem) !important;
  }

  #orbitaVrExperience.orbita-vr-embed .intro-card p {
    font-size: .94rem !important;
    line-height: 1.48 !important;
  }

  #orbitaVrExperience.orbita-vr-embed .intro-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  #orbitaVrExperience.orbita-vr-embed .intro-actions button {
    width: 100% !important;
    min-height: 42px !important;
    white-space: normal !important;
  }
}

@media (max-width: 575px) {
  .page-title.orbita-project-hero-v36 {
    min-height: 500px !important;
    padding-top: 108px !important;
  }

  .orbita-project-hero-v36 h1 {
    font-size: clamp(2.35rem, 12vw, 3.6rem) !important;
  }

  .orbita-project-meta-v36 {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .orbita-project-meta-v36 span {
    max-width: 100% !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
    white-space: normal !important;
    text-align: left !important;
  }

  .orbita-project-section-head-v36 h2 {
    font-size: clamp(1.85rem, 9.2vw, 2.55rem) !important;
  }

  #orbitaVrExperience.orbita-vr-embed,
  .orbita-vr-embed {
    min-height: 480px !important;
    border-radius: 20px !important;
  }

  .portfolio-details.section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Cards e formulários: reforço geral contra larguras fixas no mobile */
@media (max-width: 767px) {
  .container,
  .container-fluid {
    max-width: 100% !important;
  }

  .commercial-benefit-card,
  .service-item,
  .recent-posts article,
  .pricing .package-card,
  .contact .info-item,
  .contact .php-email-form,
  .orbita-project-notes article,
  .orbita-related-projects {
    max-width: 100% !important;
  }

  .contact .php-email-form input,
  .contact .php-email-form select,
  .contact .php-email-form textarea,
  .contact .php-email-form button,
  .orbita-form .form-control {
    width: 100% !important;
    max-width: 100% !important;
  }

  .footer p {
    max-width: 100% !important;
  }
}

/* ==============================================================
   Correções mobile v2 — solicitadas após validação visual
   Escopo: apenas mobile/tablet. Desktop permanece intacto.
   ============================================================== */
@media (max-width: 991px) {
  /* O iframe 360º do hero não deve capturar toque no mobile; a rolagem da página fica livre. */
  .hero.hero-orbita-editorial .hero-rv-background,
  .hero.hero-orbita-editorial .hero-rv-background iframe,
  .hero.hero-orbita-editorial #heroRvFrame {
    pointer-events: none !important;
    touch-action: pan-y !important;
  }

  .hero.hero-orbita-editorial {
    min-height: 100svh !important;
    height: auto !important;
    overflow: visible !important;
  }

  .hero.hero-orbita-editorial .hero-editorial-content {
    min-height: 100svh !important;
    height: auto !important;
    padding-top: clamp(94px, 16svh, 126px) !important;
    padding-bottom: 42px !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }

  .hero.hero-orbita-editorial .hero-title-block {
    width: min(100%, 420px) !important;
    max-width: calc(100vw - 48px) !important;
  }

  .hero.hero-orbita-editorial h1 {
    width: 100% !important;
    margin-bottom: 0 !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-row {
    display: flex !important;
    width: 100% !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    margin-top: 4px !important;
  }

  /* CRIATIVO: no mobile o início do “CR” fica alinhado sob o “IO” de ESTUDIO. */
  .hero.hero-orbita-editorial h1 .title-shift {
    order: 1 !important;
    display: block !important;
    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: clamp(96px, 36vw, 148px) !important;
    max-width: calc(100vw - 36px - clamp(96px, 36vw, 148px)) !important;
    white-space: nowrap !important;
    font-size: clamp(2.38rem, 11.2vw, 3.72rem) !important;
    line-height: .86 !important;
    letter-spacing: -.064em !important;
    transform: none !important;
  }

  /* Frase abaixo de CRIATIVO, ocupando a mesma largura visual das tags/botões. */
  .hero.hero-orbita-editorial h1 .hero-title-tagline {
    order: 2 !important;
    display: block !important;
    width: min(100%, 420px) !important;
    max-width: min(100%, 420px) !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    font-size: clamp(.98rem, 4vw, 1.18rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.018em !important;
    text-align: justify !important;
    text-align-last: left !important;
    text-justify: inter-word !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline br {
    display: none !important;
  }

  .hero.hero-orbita-editorial .hero-niche-tags,
  .hero.hero-orbita-editorial .hero-actions {
    width: min(100%, 420px) !important;
    max-width: min(100%, 420px) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: flex-start !important;
  }

  .hero.hero-orbita-editorial .hero-niche-tags {
    margin-top: 14px !important;
  }

  .hero.hero-orbita-editorial .hero-actions {
    margin-top: 10px !important;
  }

  /* Demonstração interativa acima do botão, em fluxo normal para não cobrir o conteúdo. */
  .hero.hero-orbita-editorial .hero-rv-cta-wrap {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: min(100%, 420px) !important;
    max-width: min(100%, 420px) !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    text-align: center !important;
    align-self: flex-start !important;
    z-index: 18 !important;
    pointer-events: auto !important;
  }

  body:not(.hero-rv-camera-active) .hero.hero-orbita-editorial .hero-rv-demo {
    order: 1 !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    pointer-events: none !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-eyebrow {
    display: block !important;
    margin: 0 !important;
    font-size: 8.5px !important;
    line-height: 1 !important;
    letter-spacing: .16em !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-frame {
    display: flex !important;
    width: 72px !important;
    height: 56px !important;
    min-height: 0 !important;
    max-height: 56px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-frame img {
    display: block !important;
    width: 72px !important;
    max-width: 72px !important;
    height: auto !important;
    max-height: 56px !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
    transform: none !important;
    filter: drop-shadow(0 5px 10px rgba(0,0,0,.18)) !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-caption {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-caption strong {
    display: block !important;
    margin: 0 !important;
    font-size: 10.5px !important;
    line-height: 1.12 !important;
    color: rgba(255,255,255,.96) !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-caption p,
  .hero.hero-orbita-editorial .hero-rv-demo-dots {
    display: none !important;
  }

  .hero.hero-orbita-editorial .hero-rv-activate-btn {
    order: 2 !important;
    width: min(230px, 100%) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 42px !important;
    margin: 0 auto !important;
    padding: 7px 12px !important;
    gap: 7px !important;
    border-radius: 999px !important;
  }

  .hero.hero-orbita-editorial .hero-rv-activate-btn__icon {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    font-size: 11px !important;
  }

  .hero.hero-orbita-editorial .hero-rv-activate-btn__label {
    max-width: 162px !important;
    font-size: 11px !important;
    line-height: 1.16 !important;
  }
}

@media (max-width: 575px) {
  .hero.hero-orbita-editorial .hero-editorial-content {
    padding-left: 18px !important;
    padding-right: 18px !important;
    padding-top: clamp(92px, 16svh, 116px) !important;
    padding-bottom: 34px !important;
  }

  .hero.hero-orbita-editorial .hero-title-block {
    width: 100% !important;
    max-width: calc(100vw - 36px) !important;
  }

  .hero.hero-orbita-editorial h1 > span:not(.hero-title-row) {
    font-size: clamp(2.8rem, 12.6vw, 4.05rem) !important;
    line-height: .86 !important;
  }

  .hero.hero-orbita-editorial h1 .title-shift {
    margin-left: clamp(94px, 35.5vw, 134px) !important;
    max-width: calc(100vw - 36px - clamp(94px, 35.5vw, 134px)) !important;
    font-size: clamp(2.3rem, 10.8vw, 3.55rem) !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(.94rem, 4.05vw, 1.08rem) !important;
    line-height: 1.08 !important;
  }

  .hero.hero-orbita-editorial .hero-niche-tags,
  .hero.hero-orbita-editorial .hero-actions,
  .hero.hero-orbita-editorial .hero-rv-cta-wrap {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 374px) {
  .hero.hero-orbita-editorial .hero-editorial-content {
    padding-top: 88px !important;
  }

  .hero.hero-orbita-editorial h1 > span:not(.hero-title-row) {
    font-size: clamp(2.48rem, 12.1vw, 3rem) !important;
  }

  .hero.hero-orbita-editorial h1 .title-shift {
    margin-left: clamp(84px, 33.5vw, 112px) !important;
    max-width: calc(100vw - 36px - clamp(84px, 33.5vw, 112px)) !important;
    font-size: clamp(2.08rem, 10.2vw, 2.78rem) !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline {
    font-size: clamp(.88rem, 3.9vw, 1rem) !important;
  }
}

/* ==============================================================
   Correções mobile v3 — scroll desktop + composição hero solicitada
   ============================================================== */

/* O bloqueio de rolagem do menu deve existir só no menu mobile. */
@media (min-width: 1200px) {
  html,
  body {
    overflow-y: auto !important;
    touch-action: auto !important;
  }

  body.mobile-nav-active {
    overflow: auto !important;
    touch-action: auto !important;
  }

  body.hero-niche-modal-open {
    overflow: hidden !important;
  }
}

@media (max-width: 1199px) {
  body.mobile-nav-active {
    overflow: hidden !important;
    touch-action: none !important;
  }
}

@media (max-width: 991px) {
  .hero.hero-orbita-editorial {
    --orbita-mobile-hero-width: min(225px, calc(100vw - 54px));
    position: relative !important;
    min-height: 100svh !important;
    height: auto !important;
    overflow: visible !important;
    margin-bottom: 158px !important;
  }

  .hero.hero-orbita-editorial .hero-editorial-content {
    width: 100% !important;
    min-height: 100svh !important;
    height: auto !important;
    padding-top: clamp(118px, 20svh, 144px) !important;
    padding-right: 18px !important;
    padding-bottom: 36px !important;
    padding-left: 18px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    overflow: visible !important;
  }

  .hero.hero-orbita-editorial .hero-title-block {
    width: var(--orbita-mobile-hero-width) !important;
    max-width: var(--orbita-mobile-hero-width) !important;
    margin: 0 auto !important;
    align-self: center !important;
  }

  .hero.hero-orbita-editorial h1 {
    width: 100% !important;
    margin: 0 !important;
  }

  .hero.hero-orbita-editorial h1 > span:not(.hero-title-row) {
    display: block !important;
    width: 100% !important;
    font-size: clamp(2.52rem, 11.65vw, 4.08rem) !important;
    line-height: .86 !important;
    letter-spacing: -.064em !important;
    white-space: nowrap !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-row {
    display: flex !important;
    width: 100% !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    margin-top: 5px !important;
  }

  .hero.hero-orbita-editorial h1 .title-shift {
    order: 1 !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: clamp(82px, 31vw, 126px) !important;
    font-size: clamp(2.14rem, 9.75vw, 3.45rem) !important;
    line-height: .86 !important;
    letter-spacing: -.064em !important;
    white-space: nowrap !important;
    transform: none !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline {
    order: 2 !important;
    display: block !important;
    width: var(--orbita-mobile-hero-width) !important;
    max-width: var(--orbita-mobile-hero-width) !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
    font-size: clamp(.73rem, 3.42vw, 1.02rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -.012em !important;
    text-align: justify !important;
    text-align-last: left !important;
    text-justify: inter-word !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-spacing: .01em !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline br {
    display: initial !important;
  }

  .hero.hero-orbita-editorial .hero-niche-tags,
  .hero.hero-orbita-editorial .hero-actions {
    width: var(--orbita-mobile-hero-width) !important;
    max-width: var(--orbita-mobile-hero-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
  }

  .hero.hero-orbita-editorial .hero-niche-tags {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin-top: 18px !important;
    margin-bottom: 0 !important;
  }

  .hero.hero-orbita-editorial .hero-niche-tags .hero-niche-tag {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 30px !important;
    padding: 6px 5px !important;
    font-size: clamp(7.1px, 2.15vw, 9.5px) !important;
    line-height: 1 !important;
    letter-spacing: .05em !important;
    white-space: nowrap !important;
  }

  .hero.hero-orbita-editorial .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    margin-top: 12px !important;
  }

  .hero.hero-orbita-editorial .hero-action,
  .hero.hero-orbita-editorial .hero-action:link,
  .hero.hero-orbita-editorial .hero-action:visited {
    width: 100% !important;
    min-height: 36px !important;
    padding: 9px 14px !important;
    font-size: clamp(8.3px, 2.45vw, 10.5px) !important;
    line-height: 1.12 !important;
    letter-spacing: .04em !important;
    white-space: normal !important;
    text-align: center !important;
  }

  /* A demo e o botão saem do miolo do hero e ficam abaixo da primeira dobra. */
  .hero.hero-orbita-editorial .hero-rv-cta-wrap {
    position: absolute !important;
    top: calc(100% + 18px) !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: var(--orbita-mobile-hero-width) !important;
    max-width: var(--orbita-mobile-hero-width) !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    text-align: center !important;
    transform: translateX(-50%) !important;
    z-index: 18 !important;
    pointer-events: auto !important;
  }

  body:not(.hero-rv-camera-active) .hero.hero-orbita-editorial .hero-rv-demo,
  .hero.hero-orbita-editorial .hero-rv-demo {
    order: 1 !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 80px !important;
    margin: 0 !important;
    padding: 9px 10px 8px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    background: rgba(14, 15, 18, .88) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 20px !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .18) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    pointer-events: none !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-eyebrow {
    color: rgba(255,255,255,.78) !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-frame {
    width: 58px !important;
    height: 40px !important;
    max-height: 40px !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-frame img {
    width: 58px !important;
    max-width: 58px !important;
    max-height: 40px !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-caption strong {
    color: #ffffff !important;
    font-size: 9.8px !important;
    line-height: 1.12 !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-caption p,
  .hero.hero-orbita-editorial .hero-rv-demo-dots {
    display: none !important;
  }

  .hero.hero-orbita-editorial .hero-rv-activate-btn {
    order: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 7px 12px !important;
    gap: 7px !important;
    border-radius: 999px !important;
  }
}

@media (max-width: 575px) {
  .hero.hero-orbita-editorial {
    --orbita-mobile-hero-width: min(218px, calc(100vw - 54px));
    margin-bottom: 154px !important;
  }

  .hero.hero-orbita-editorial .hero-editorial-content {
    padding-top: clamp(116px, 20.5svh, 136px) !important;
  }

  .hero.hero-orbita-editorial h1 > span:not(.hero-title-row) {
    font-size: clamp(2.48rem, 11.7vw, 3.35rem) !important;
  }

  .hero.hero-orbita-editorial h1 .title-shift {
    margin-left: clamp(78px, 30vw, 110px) !important;
    font-size: clamp(2.08rem, 9.75vw, 2.92rem) !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline {
    font-size: clamp(.71rem, 3.38vw, .92rem) !important;
    line-height: 1.14 !important;
  }
}

@media (max-width: 374px) {
  .hero.hero-orbita-editorial {
    --orbita-mobile-hero-width: min(210px, calc(100vw - 48px));
    margin-bottom: 148px !important;
  }

  .hero.hero-orbita-editorial .hero-editorial-content {
    padding-top: 112px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .hero.hero-orbita-editorial h1 > span:not(.hero-title-row) {
    font-size: clamp(2.3rem, 11.35vw, 2.86rem) !important;
  }

  .hero.hero-orbita-editorial h1 .title-shift {
    margin-left: clamp(73px, 29vw, 95px) !important;
    font-size: clamp(1.92rem, 9.35vw, 2.42rem) !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline {
    font-size: clamp(.69rem, 3.30vw, .84rem) !important;
  }
}

/* O iframe do hero fica como plano visual; assim o wheel/scroll no desktop e no mobile não é capturado pela RV. */
.hero.hero-orbita-editorial .hero-rv-background,
.hero.hero-orbita-editorial .hero-rv-background iframe,
.hero.hero-orbita-editorial #heroRvFrame {
  pointer-events: none !important;
}

/* ==============================================================
   Correções mobile v4 — composição inferior do hero
   Escopo: somente mobile/tablet. Desktop preservado.
   ============================================================== */
@media (min-width: 992px) {
  /* Mantém o desktop livre para rolagem, sem herdar bloqueios de toque do mobile. */
  html,
  body {
    overflow-y: auto !important;
    touch-action: auto !important;
  }
}

@media (max-width: 991px) {
  .hero.hero-orbita-editorial {
    --orbita-mobile-hero-width: min(320px, calc(100vw - 48px));
    --orbita-mobile-cta-width: min(282px, calc(100vw - 72px));
    position: relative !important;
    height: 100svh !important;
    min-height: 640px !important;
    max-height: none !important;
    margin-bottom: 0 !important;
    overflow: hidden !important;
  }

  .hero.hero-orbita-editorial .hero-editorial-content {
    position: relative !important;
    z-index: 4 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    padding: 92px 24px 190px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    overflow: visible !important;
  }

  .hero.hero-orbita-editorial .hero-title-block {
    width: var(--orbita-mobile-hero-width) !important;
    max-width: var(--orbita-mobile-hero-width) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    align-self: center !important;
  }

  .hero.hero-orbita-editorial h1 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  .hero.hero-orbita-editorial h1 > span:not(.hero-title-row) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(2.88rem, 13.15vw, 4.18rem) !important;
    line-height: .86 !important;
    letter-spacing: -.064em !important;
    white-space: nowrap !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-row {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    margin: 5px 0 0 !important;
    padding: 0 !important;
  }

  .hero.hero-orbita-editorial h1 .title-shift {
    order: 1 !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 0 0 clamp(102px, 32vw, 132px) !important;
    padding: 0 !important;
    font-size: clamp(2.42rem, 10.95vw, 3.58rem) !important;
    line-height: .86 !important;
    letter-spacing: -.064em !important;
    white-space: nowrap !important;
    transform: none !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline {
    order: 2 !important;
    display: block !important;
    width: var(--orbita-mobile-hero-width) !important;
    max-width: var(--orbita-mobile-hero-width) !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    font-size: clamp(.82rem, 3.48vw, 1.03rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.018em !important;
    color: rgba(255,255,255,.98) !important;
    text-align: left !important;
    text-align-last: left !important;
    text-justify: auto !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-spacing: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline br {
    display: initial !important;
  }

  .hero.hero-orbita-editorial .hero-niche-tags,
  .hero.hero-orbita-editorial .hero-actions {
    width: var(--orbita-mobile-hero-width) !important;
    max-width: var(--orbita-mobile-hero-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
  }

  .hero.hero-orbita-editorial .hero-niche-tags {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 16px !important;
    margin-bottom: 0 !important;
  }

  .hero.hero-orbita-editorial .hero-niche-tags .hero-niche-tag {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 7px 8px !important;
    font-size: clamp(8.2px, 2.25vw, 10px) !important;
    line-height: 1 !important;
    letter-spacing: .055em !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  .hero.hero-orbita-editorial .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 12px !important;
  }

  .hero.hero-orbita-editorial .hero-action,
  .hero.hero-orbita-editorial .hero-action:link,
  .hero.hero-orbita-editorial .hero-action:visited,
  .hero.hero-orbita-editorial .hero-actions a {
    width: 100% !important;
    min-height: 40px !important;
    padding: 10px 16px !important;
    font-size: clamp(9.4px, 2.48vw, 11px) !important;
    line-height: 1.12 !important;
    letter-spacing: .04em !important;
    white-space: normal !important;
    text-align: center !important;
  }

  .hero.hero-orbita-editorial .hero-rv-cta-wrap {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: max(22px, env(safe-area-inset-bottom)) !important;
    width: var(--orbita-mobile-cta-width) !important;
    max-width: var(--orbita-mobile-cta-width) !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    text-align: center !important;
    transform: translateX(-50%) !important;
    z-index: 18 !important;
    pointer-events: auto !important;
  }

  body:not(.hero-rv-camera-active) .hero.hero-orbita-editorial .hero-rv-demo,
  .hero.hero-orbita-editorial .hero-rv-demo {
    order: 1 !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 82px !important;
    margin: 0 !important;
    padding: 9px 12px 8px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    background: rgba(14, 15, 18, .82) !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .18) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    pointer-events: none !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-eyebrow {
    margin: 0 !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 8.5px !important;
    line-height: 1 !important;
    letter-spacing: .16em !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-frame {
    display: flex !important;
    width: 62px !important;
    height: 42px !important;
    max-height: 42px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-frame img {
    display: block !important;
    width: 62px !important;
    max-width: 62px !important;
    height: auto !important;
    max-height: 42px !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
    transform: none !important;
    filter: drop-shadow(0 5px 10px rgba(0,0,0,.18)) !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-caption {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-caption strong {
    display: block !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 10.2px !important;
    line-height: 1.12 !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-caption p,
  .hero.hero-orbita-editorial .hero-rv-demo-dots {
    display: none !important;
  }

  .hero.hero-orbita-editorial .hero-rv-activate-btn {
    order: 2 !important;
    width: min(250px, 100%) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 42px !important;
    margin: 0 auto !important;
    padding: 7px 13px !important;
    gap: 8px !important;
    border-radius: 999px !important;
  }

  .hero.hero-orbita-editorial .hero-rv-activate-btn__icon {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    font-size: 11px !important;
  }

  .hero.hero-orbita-editorial .hero-rv-activate-btn__label {
    max-width: 174px !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
  }

  .hero.hero-orbita-editorial .hero-rv-background,
  .hero.hero-orbita-editorial .hero-rv-background iframe,
  .hero.hero-orbita-editorial #heroRvFrame {
    pointer-events: none !important;
    touch-action: pan-y !important;
  }
}

@media (max-width: 575px) {
  .hero.hero-orbita-editorial {
    --orbita-mobile-hero-width: min(306px, calc(100vw - 40px));
    --orbita-mobile-cta-width: min(266px, calc(100vw - 56px));
    min-height: 620px !important;
  }

  .hero.hero-orbita-editorial .hero-editorial-content {
    padding-top: 84px !important;
    padding-right: 20px !important;
    padding-bottom: 174px !important;
    padding-left: 20px !important;
  }

  .hero.hero-orbita-editorial h1 > span:not(.hero-title-row) {
    font-size: clamp(2.62rem, 12.8vw, 3.62rem) !important;
  }

  .hero.hero-orbita-editorial h1 .title-shift {
    margin-left: clamp(92px, 31vw, 118px) !important;
    font-size: clamp(2.2rem, 10.75vw, 3.08rem) !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline {
    margin-top: 13px !important;
    font-size: clamp(.76rem, 3.42vw, .95rem) !important;
    line-height: 1.08 !important;
  }

  .hero.hero-orbita-editorial .hero-niche-tags {
    margin-top: 15px !important;
  }
}

@media (max-width: 374px) {
  .hero.hero-orbita-editorial {
    --orbita-mobile-hero-width: min(284px, calc(100vw - 34px));
    --orbita-mobile-cta-width: min(248px, calc(100vw - 46px));
    min-height: 600px !important;
  }

  .hero.hero-orbita-editorial .hero-editorial-content {
    padding-top: 78px !important;
    padding-right: 17px !important;
    padding-bottom: 164px !important;
    padding-left: 17px !important;
  }

  .hero.hero-orbita-editorial h1 > span:not(.hero-title-row) {
    font-size: clamp(2.38rem, 12.35vw, 3.02rem) !important;
  }

  .hero.hero-orbita-editorial h1 .title-shift {
    margin-left: clamp(82px, 30vw, 104px) !important;
    font-size: clamp(1.98rem, 10.35vw, 2.56rem) !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline {
    font-size: clamp(.72rem, 3.36vw, .86rem) !important;
  }

  .hero.hero-orbita-editorial .hero-niche-tags .hero-niche-tag {
    min-height: 32px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    font-size: clamp(7.8px, 2.2vw, 9px) !important;
  }

  .hero.hero-orbita-editorial .hero-action,
  .hero.hero-orbita-editorial .hero-action:link,
  .hero.hero-orbita-editorial .hero-action:visited,
  .hero.hero-orbita-editorial .hero-actions a {
    min-height: 38px !important;
    font-size: clamp(8.9px, 2.45vw, 10px) !important;
  }
}

/* ==============================================================
   Correções mobile v5 — ajuste fino solicitado
   - desktop: RV com arraste por mouse novamente, sem bloquear o scroll
   - mobile: bloco do título um pouco mais alto
   - mobile: frase alinhada à largura das tags/botões, sem quebras forçadas
   - mobile: demonstração interativa com fundo transparente
   ============================================================== */
@media (min-width: 992px) {
  .hero.hero-orbita-editorial .hero-rv-background,
  .hero.hero-orbita-editorial .hero-rv-background iframe,
  .hero.hero-orbita-editorial #heroRvFrame {
    pointer-events: auto !important;
    touch-action: auto !important;
    cursor: grab !important;
  }

  body.hero-rv-dragging .hero.hero-orbita-editorial .hero-rv-background iframe,
  body.hero-rv-dragging .hero.hero-orbita-editorial #heroRvFrame {
    cursor: grabbing !important;
  }
}

@media (max-width: 991px) {
  .hero.hero-orbita-editorial .hero-editorial-content {
    padding-bottom: 208px !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline {
    width: var(--orbita-mobile-hero-width) !important;
    max-width: var(--orbita-mobile-hero-width) !important;
    margin-top: 12px !important;
    font-size: clamp(.78rem, 3.18vw, .96rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.018em !important;
    text-align: justify !important;
    text-align-last: left !important;
    text-justify: inter-word !important;
    white-space: normal !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline br {
    display: none !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo {
    min-height: 74px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-frame,
  .hero.hero-orbita-editorial .hero-rv-demo-frame img {
    filter: none !important;
  }

  .hero.hero-orbita-editorial .hero-rv-background,
  .hero.hero-orbita-editorial .hero-rv-background iframe,
  .hero.hero-orbita-editorial #heroRvFrame {
    pointer-events: none !important;
    touch-action: pan-y !important;
  }
}

@media (max-width: 575px) {
  .hero.hero-orbita-editorial .hero-editorial-content {
    padding-top: 82px !important;
    padding-bottom: 190px !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline {
    font-size: clamp(.74rem, 3.26vw, .88rem) !important;
    line-height: 1.08 !important;
  }
}

@media (max-width: 374px) {
  .hero.hero-orbita-editorial .hero-editorial-content {
    padding-top: 76px !important;
    padding-bottom: 180px !important;
  }

  .hero.hero-orbita-editorial h1 .hero-title-tagline {
    font-size: clamp(.70rem, 3.18vw, .80rem) !important;
  }
}


/* ==============================================================
   Correções mobile v6 — transparência real, fonte consistente,
   giroscópio mobile e scroll desktop fluido
   ============================================================== */
@media (min-width: 992px) {
  /* O iframe deixa de capturar wheel/scroll; o arraste no desktop continua via ponte JS no hero. */
  .hero.hero-orbita-editorial,
  .hero.hero-orbita-editorial .hero-rv-background {
    cursor: grab !important;
  }

  body.hero-rv-dragging .hero.hero-orbita-editorial,
  body.hero-rv-dragging .hero.hero-orbita-editorial .hero-rv-background {
    cursor: grabbing !important;
  }

  .hero.hero-orbita-editorial .hero-rv-background,
  .hero.hero-orbita-editorial .hero-rv-background iframe,
  .hero.hero-orbita-editorial #heroRvFrame {
    pointer-events: none !important;
    touch-action: auto !important;
  }

  .hero.hero-orbita-editorial .hero-rv-overlay {
    pointer-events: none !important;
  }

  .hero.hero-orbita-editorial .hero-actions,
  .hero.hero-orbita-editorial .hero-actions *,
  .hero.hero-orbita-editorial .hero-niche-tags,
  .hero.hero-orbita-editorial .hero-niche-tags *,
  .hero.hero-orbita-editorial .hero-rv-cta-wrap,
  .hero.hero-orbita-editorial .hero-rv-cta-wrap *,
  .orbita-menu-toggle,
  .orbita-menu-toggle *,
  .orbita-editorial-nav,
  .orbita-editorial-nav * {
    pointer-events: auto !important;
  }
}

@media (max-width: 991px) {
  /* CRIATIVO com o mesmo peso/tamanho visual de ORBITA e ESTUDIO, sem alterar a ordem das palavras. */
  .hero.hero-orbita-editorial h1 > span:not(.hero-title-row),
  .hero.hero-orbita-editorial h1 .title-shift {
    font-size: clamp(2.62rem, 12.8vw, 3.62rem) !important;
    line-height: .86 !important;
    letter-spacing: -.064em !important;
  }

  .hero.hero-orbita-editorial h1 .title-shift {
    margin-left: clamp(86px, 30vw, 118px) !important;
    white-space: nowrap !important;
  }

  /* A caixa preta vinha da imagem e de regras antigas; aqui o demonstrativo fica 100% transparente. */
  body:not(.hero-rv-camera-active) .hero.hero-orbita-editorial .hero-rv-demo,
  .hero.hero-orbita-editorial .hero-rv-demo {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-color: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 !important;
    min-height: 0 !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo::before,
  .hero.hero-orbita-editorial .hero-rv-demo::after,
  .hero.hero-orbita-editorial .hero-rv-demo-frame::before,
  .hero.hero-orbita-editorial .hero-rv-demo-frame::after {
    content: none !important;
    display: none !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-frame,
  .hero.hero-orbita-editorial .hero-rv-demo-caption,
  .hero.hero-orbita-editorial .hero-rv-demo-eyebrow {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .hero.hero-orbita-editorial .hero-rv-demo-frame img {
    background: transparent !important;
    filter: none !important;
  }

  /* No mobile o toque continua livre para rolar; a navegação fica pelo giroscópio/câmera, não por arraste. */
  .hero.hero-orbita-editorial .hero-rv-background,
  .hero.hero-orbita-editorial .hero-rv-background iframe,
  .hero.hero-orbita-editorial #heroRvFrame {
    pointer-events: none !important;
    touch-action: pan-y !important;
  }
}

@media (max-width: 575px) {
  .hero.hero-orbita-editorial h1 > span:not(.hero-title-row),
  .hero.hero-orbita-editorial h1 .title-shift {
    font-size: clamp(2.56rem, 12.55vw, 3.42rem) !important;
  }

  .hero.hero-orbita-editorial h1 .title-shift {
    margin-left: clamp(82px, 29.4vw, 108px) !important;
  }
}

@media (max-width: 374px) {
  .hero.hero-orbita-editorial h1 > span:not(.hero-title-row),
  .hero.hero-orbita-editorial h1 .title-shift {
    font-size: clamp(2.34rem, 11.95vw, 2.86rem) !important;
  }

  .hero.hero-orbita-editorial h1 .title-shift {
    margin-left: clamp(74px, 28.4vw, 94px) !important;
  }
}
