/* Product composition of the real Shark Web atmosfera/dither/travessia pieces. */
.mg-page main>.sw-atmosfera-host{overflow:clip}
.mg-page main>.sw-atmosfera-host>.mg-wrap,.mg-page .mg-risk-banner{position:relative;z-index:1}
.mg-page main>.sw-atmosfera-host:before{display:none}
.mg-page .sw-atmosfera{max-height:100%;opacity:.8}
.mg-page .sw-atmosfera>canvas{mask-image:linear-gradient(var(--sw-fundo),var(--sw-fundo) 65%,transparent)}
.mg-page .mg-section-head h2,.mg-page .mg-risk-grid h2{text-shadow:0 2px 28px var(--sw-fundo)}
.mg-page .mg-predator{position:relative;height:180px;overflow:hidden;background:var(--sw-fundo);border-bottom:1px solid var(--mg-line);isolation:isolate}
.mg-predator>svg{position:absolute;inset:10% 18%;width:64%;height:80%;fill:transparent;stroke:var(--mg-blue);stroke-width:.5;opacity:.45}
.mg-predator[data-renderer]>svg{opacity:0}
.mg-predator-label{position:absolute;left:20px;bottom:12px;z-index:2;font:8px 'JetBrains Mono',monospace;letter-spacing:.16em;color:var(--mg-muted);pointer-events:none}
.mg-page .mg-predator .mg-scene{inset:0;z-index:1;opacity:1;transform:none}
.mg-page .mg-predator .sw-atmosfera{opacity:1;z-index:1}
.mg-page .mg-predator .sw-atmosfera>canvas{opacity:1;mask-image:none}
.mg-page .mg-hero-grid{padding-top:85px;gap:50px}
.mg-page .mg-film{transform-origin:center;align-self:center}
.mg-page .mg-grain{display:none}
.mg-page #inicio>.sw-atmosfera{opacity:.55}
.mg-page #resultado{--sw-acento:var(--mg-green)}
.mg-page #meses>.sw-atmosfera{opacity:.42}
.mg-page #consistencia>.sw-atmosfera{opacity:.72}
.mg-page #licenca{--sw-acento:var(--mg-green)}
.mg-page #licenca>.sw-atmosfera{opacity:.7}
.mg-page .mg-risk-cross{color:var(--mg-blue)}
.mg-page .mg-metrics.sw-faixa-numeros{background:transparent}
.mg-page .mg-metrics>div{background:var(--sw-fundo)}
.mg-page .mg-section-head{transform:translateY(calc((.5 - var(--mg-section-travel,.5))*32px))}
.mg-page .mg-rule-art>.sw-colossal{transform:scale(calc(.85 + var(--mg-section-travel,.5)*.22))}
.mg-page .mg-chart-stage{transform:scale(calc(.94 + var(--mg-section-travel,.5)*.07));transform-origin:50% 50%}
.mg-page .mg-question-mark{transform:translateY(calc(var(--mg-section-travel,0)*-70px)) rotate(calc(var(--mg-section-travel,0)*-12deg))}
.mg-page .mg-month-heading .sw-colossal{transform:translateX(calc((var(--mg-section-travel,.5) - .5)*-140px))}
.mg-page .mg-cal-toolbar{position:relative;overflow:hidden}
.mg-page .mg-cal-toolbar:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,color-mix(in srgb,var(--mg-blue) 13%,transparent) 50%,transparent 70%);translate:-100% 0;animation:mg-toolbar-scan 5s linear infinite;animation-play-state:paused}
.mg-page .is-fx-visible .mg-cal-toolbar:after{animation-play-state:running}
.mg-page .mg-flow i{animation:mg-route-pulse 2.4s ease-in-out infinite;animation-play-state:paused}
.mg-page .is-fx-visible .mg-flow i{animation-play-state:running}
.mg-page .mg-flow i:nth-of-type(2){animation-delay:1.2s}
.mg-page .mg-rule-art path{stroke-dasharray:40 12;animation:mg-signal 3s linear infinite;animation-play-state:paused}
.mg-page .is-fx-visible .mg-rule-art path{animation-play-state:running}
.mg-page .mg-offer.sw-dither:after{z-index:0;pointer-events:none}
.mg-page .mg-offer>*{position:relative;z-index:1}
.mg-page .mg-fx-index{position:absolute;right:30px;top:32px;z-index:1;font:9px 'JetBrains Mono',monospace;letter-spacing:.16em;color:var(--mg-muted);display:flex;gap:12px;align-items:center;pointer-events:none}
.mg-fx-index i{width:32px;height:2px;background:var(--mg-blue);transform:scaleX(calc(.2 + var(--mg-section-travel,0)*.8));transform-origin:left;box-shadow:0 0 15px var(--mg-halo)}
.mg-page .mg-traverse{height:110px;opacity:.35;position:absolute;inset:auto 0 12px;z-index:0;pointer-events:none;--sw-travessia-dur:20s}
.mg-page .mg-traverse .sw-travessia-bicho{animation-play-state:paused}
.mg-page .is-fx-visible .mg-traverse .sw-travessia-bicho{animation-play-state:running}
@keyframes mg-toolbar-scan{to{translate:100% 0}}
@keyframes mg-route-pulse{0%,100%{opacity:.25;translate:-4px 0}50%{opacity:1;translate:4px 0}}
@keyframes mg-signal{to{stroke-dashoffset:-104}}
@media(pointer:coarse){.mg-page .mg-hero-grid{padding-top:60px}.mg-page .mg-predator{height:145px}.mg-page .mg-film{width:100%}.mg-page .mg-predator .mg-scene{display:none}.mg-page .mg-section-head{transform:translateY(calc((.5 - var(--mg-section-travel,.5))*20px))}.mg-page .mg-fx-index{right:20px;top:24px;font-size:8px}.mg-page .sw-atmosfera{opacity:.7}.mg-page .mg-predator .sw-atmosfera{opacity:1}.mg-page .mg-rule-art>.sw-colossal{transform:scale(calc(.9 + var(--mg-section-travel,.5)*.1))}}
@media(prefers-reduced-motion:reduce){.mg-page :is(.mg-section-head,.mg-chart-stage,.mg-question-mark,.mg-rule-art>.sw-colossal,.mg-month-heading .sw-colossal){transform:none!important}.mg-page *,.mg-page *:before,.mg-page *:after{animation:none!important}}
.mg-effects-off .mg-page :is(.mg-section-head,.mg-chart-stage,.mg-question-mark,.mg-rule-art>.sw-colossal,.mg-month-heading .sw-colossal){transform:none!important}
/* Pause decoration, never the dialogs that must remain visible and usable. */
.mg-effects-conserve .mg-page>:not(.vsl-cinema):not(.modal),.mg-effects-conserve .mg-page>:not(.vsl-cinema):not(.modal) *,.mg-effects-conserve .mg-page>:not(.vsl-cinema):not(.modal) *:before,.mg-effects-conserve .mg-page>:not(.vsl-cinema):not(.modal) *:after{animation-play-state:paused!important}
/* Legacy global pause rules also exist in cinema/journey. A functional modal
   must never depend on a from-opacity:0 animation reaching its final frame. */
.mg-page #copy-cinema .vc-stage,.mg-page #termos .modal-in{animation:none!important;opacity:1;transform:none;filter:none}
/* Keep the close control inside the scroll container's painted bounds. */
.mg-page #copy-cinema .vc-stage{padding-top:44px;overflow-x:hidden}
.mg-page #copy-cinema .vc-close{top:0;right:0}
.mg-page #copy-cinema .vc-frame{margin-top:0}
