/* One scale and one hero layout contract, after the older presentation layers. */
:root{--site-scale:1;--hero-inset:clamp(24px,5vw,80px);--hero-gap:clamp(48px,4vw,64px);--hero-top:92px;--hero-bottom:36px}
body{zoom:1!important}
section[id]{scroll-margin-top:100px}
@media(min-width:1020px){
 :root{--site-scale:1.25}
 body{zoom:1.25!important}
}
@media(min-width:768px){
 body:not(.legal-page) header{min-height:72px;padding:12px clamp(20px,3.2vw,48px)!important;gap:18px!important}
 body:not(.legal-page) header nav{gap:clamp(12px,1.5vw,22px)!important;font-size:13px!important;flex-shrink:0}
 body:not(.legal-page) header nav>a{white-space:nowrap}
 #topo[data-scene]>.inova-hero-stage,
 #topo[data-scene]>.rs-hero-stage,
 #topo[data-scene]>.ll-hero-stage{height:calc(100svh / var(--site-scale))!important;min-height:0!important;overflow:clip!important}
 #topo[data-scene]>.rs-hero-stage>.rs-hero-copy-initial,
 #topo[data-scene]>.rs-hero-stage>.rs-hero-copy-secondary,
 #topo[data-scene]>.ll-hero-stage>.ll-hero-copy{
  left:var(--hero-inset)!important;right:auto!important;top:var(--hero-top)!important;bottom:var(--hero-bottom)!important;
  width:calc((100% - var(--hero-inset)*2 - var(--hero-gap))/2)!important;max-width:none!important;
  display:flex!important;flex-direction:column;justify-content:center!important;height:auto!important;margin:0!important;padding:0!important
 }
 #topo[data-scene]>.rs-hero-stage>.rs-operation.rs-hero-visor,
 #topo[data-scene]>.ll-hero-stage>.ll-hero-simulator{
  left:auto!important;right:var(--hero-inset)!important;bottom:auto!important;
  top:calc(50% + (var(--hero-top) - var(--hero-bottom))/2)!important;
  width:calc((100% - var(--hero-inset)*2 - var(--hero-gap))/2)!important;max-width:none!important;
  margin:0!important;transform:translateY(-50%)!important;transform-origin:center!important;opacity:1!important
 }
 #topo[data-scene] .rs-hero-copy-initial h1,
 #topo[data-scene] .ll-hero-copy h1{font-size:clamp(27px,min(3vw,4.7vh),43px)!important;line-height:1.12!important;text-wrap:pretty!important}
 #topo[data-scene] .rs-hero-copy-initial>div:first-child,
 #topo[data-scene] .ll-hero-copy>div:first-child{font-size:10px!important;letter-spacing:.1em!important;margin-bottom:16px!important}
 #topo[data-scene] .rs-hero-copy-initial>p{font-size:15px!important;line-height:1.5!important;margin:18px 0 0!important}
 #topo[data-scene] .rs-hero-copy-initial>div:last-child,
 #topo[data-scene] .ll-hero-copy>div:nth-child(3){margin-top:22px!important;gap:10px!important}
 #topo[data-scene] .rs-hero-copy-initial a,
 #topo[data-scene] .ll-hero-copy a{font-size:12px!important;line-height:1.3!important;padding:13px 15px!important;white-space:nowrap}
 #topo[data-scene] .ll-hero-scroll-cue{margin-top:16px;font-size:9px}
 #topo[data-scene] .rs-hero-copy-secondary h2,
 #topo[data-scene] .rs-hero-copy-final h2,
 #topo[data-scene] .ll-hero-copy-next h2{font-size:clamp(22px,min(2.35vw,4.2vh),33px)!important;line-height:1.28!important}
 #topo[data-scene] .rs-operation-world{height:clamp(190px,calc(100svh / var(--site-scale) - 280px),340px)!important;min-height:0!important}
 #topo[data-scene] .rs-operation-caption{min-height:78px;padding-top:12px}
 #topo[data-scene] .rs-operation-caption h3{font-size:23px}
 #topo[data-scene] .rs-operation-caption p{font-size:12px;line-height:1.45}
 #topo[data-scene] .ll-training-world{height:clamp(150px,calc(100svh / var(--site-scale) - 310px),300px)!important;aspect-ratio:auto}
 #topo[data-scene] .ll-training-caption{padding:12px 0;min-height:100px}
 #topo[data-scene] .ll-training-caption h3{font-size:22px}
 #topo[data-scene] .ll-training-caption p{font-size:12px;line-height:1.45}
 #topo[data-scene]>.rs-hero-stage>.rs-hero-copy-final{
  left:var(--hero-inset)!important;right:auto!important;top:var(--hero-top)!important;bottom:auto!important;
  width:calc((100% - var(--hero-inset)*2 - var(--hero-gap))/2)!important;max-width:none!important;justify-content:flex-start!important
 }
 #topo[data-scene]>.rs-hero-stage>.rs-hero-events{
  left:var(--hero-inset)!important;right:auto!important;top:auto!important;bottom:var(--hero-bottom)!important;
  width:calc((100% - var(--hero-inset)*2 - var(--hero-gap))/2)!important;max-width:none!important;gap:6px
 }
 #topo[data-scene] .rs-hero-event{padding:8px 10px}
 #topo[data-scene] .rs-hero-event>div:last-child{font-size:11px!important;line-height:1.35!important}
 #topo[data-scene]>.rs-hero-stage>div:last-child{left:var(--hero-inset)!important;right:auto!important;bottom:22px!important;width:calc((100% - var(--hero-inset)*2 - var(--hero-gap))/2)!important;font-size:8px!important}
 #topo[data-scene]>.inova-hero-stage>.inova-hero-copy,
 #topo[data-scene]>.inova-hero-stage>.inova-hero-copy-next,
 #topo[data-scene]>.inova-hero-stage>.inova-hero-copy-final{
  left:var(--hero-inset)!important;top:var(--hero-top)!important;bottom:var(--hero-bottom)!important;
  width:76%!important;max-width:860px!important;display:flex;flex-direction:column;justify-content:center
 }
 #topo[data-scene] .inova-hero-copy h1{max-width:none!important;font-size:clamp(30px,min(3.3vw,5vh),49px)!important;line-height:1.08!important;text-wrap:pretty!important}
 #topo[data-scene] .inova-hero-copy>div:first-child,
 #topo[data-scene] .inova-hero-copy-next>div:first-child,
 #topo[data-scene] .inova-hero-copy-final>div:first-child{margin-bottom:16px!important;font-size:10px!important}
 #topo[data-scene] .inova-hero-copy p{max-width:650px!important;font-size:16px!important;line-height:1.55!important;margin-top:20px!important}
 #topo[data-scene] .inova-hero-copy>div:last-child{margin-top:24px!important;gap:10px!important}
 #topo[data-scene] .inova-hero-copy a{padding:13px 18px!important;font-size:13px!important}
 #topo[data-scene] .inova-hero-copy-next h2{font-size:clamp(30px,3vw,46px)!important}
 #topo[data-scene] .inova-hero-copy-next p{max-width:690px!important;font-size:16px!important;margin-top:20px!important;line-height:1.6!important}
 #topo[data-scene] .inova-hero-copy-final h2{max-width:760px;font-size:clamp(24px,2.5vw,36px)!important;line-height:1.28!important}
 #topo[data-scene]>.inova-hero-stage>div:last-child{bottom:22px!important;font-size:8px!important}
}
@media(min-width:768px) and (max-height:650px){
 :root{--hero-top:84px;--hero-bottom:28px}
 #topo[data-scene] .rs-hero-copy-initial h1,#topo[data-scene] .ll-hero-copy h1{font-size:27px!important}
 #topo[data-scene] .rs-hero-copy-initial>p{font-size:13px!important;margin-top:12px!important}
 #topo[data-scene] .rs-hero-copy-initial>div:last-child,#topo[data-scene] .ll-hero-copy>div:nth-child(3){margin-top:16px!important}
 #topo[data-scene] .rs-hero-copy-secondary h2,#topo[data-scene] .rs-hero-copy-final h2{font-size:21px!important;line-height:1.23!important}
 #topo[data-scene] .rs-hero-copy-final h2{font-size:20px!important}
 #topo[data-scene] .rs-hero-copy-final>div{margin-bottom:12px!important;font-size:10px!important}
 #topo[data-scene] .rs-operation-caption h3,#topo[data-scene] .ll-training-caption h3{font-size:20px}
}
/* On touch screens the initial copy reserves a real layout row, even while it fades out. */
@media(max-width:767px) and (min-height:501px){
 #topo[data-scene]>.rs-hero-stage,#topo[data-scene]>.ll-hero-stage{
  --copy-top:clamp(78px,11svh,100px);display:grid!important;grid-template-rows:auto auto;align-content:start;gap:22px;
  padding:var(--copy-top) 16px 38px!important
 }
 #topo[data-scene]>.rs-hero-stage>.rs-hero-copy-initial,
 #topo[data-scene]>.ll-hero-stage>.ll-hero-copy:not(.ll-hero-copy-next){
  position:relative!important;grid-row:1;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  width:100%!important;max-width:none!important;height:auto!important;min-width:0
 }
 #topo[data-scene]>.rs-hero-stage>.rs-operation.rs-hero-visor,
 #topo[data-scene]>.ll-hero-stage>.ll-hero-simulator{
  position:relative!important;grid-row:2;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  width:100%!important;max-width:none!important;margin:0!important;min-width:0
 }
 #topo[data-scene] .ll-training-world{height:clamp(155px,28svh,250px)!important;max-height:none!important}
 #topo[data-scene]>.rs-hero-stage>.rs-hero-copy-secondary,
 #topo[data-scene]>.rs-hero-stage>.rs-hero-copy-final,
 #topo[data-scene]>.ll-hero-stage>.ll-hero-copy-next{left:18px!important;right:18px!important;top:var(--copy-top)!important;width:calc(100% - 36px)!important}
}
@media(max-width:767px) and (min-height:501px) and (max-height:700px){
 #topo[data-scene] .ll-training-world{height:clamp(140px,25svh,180px)!important}
}

/* Previews dos módulos: zoom discreto que preserva os recortes e a leitura. */
.rs-module-visual{
 transform:translateZ(0);transform-origin:center;
 transition:transform .34s cubic-bezier(.2,.75,.2,1),box-shadow .34s ease;
}
@media(hover:hover) and (pointer:fine){
 .rs-module-visual:hover{z-index:2;transform:scale(1.025);box-shadow:0 24px 44px rgba(12,35,64,.18)}
}
