/* Scrollytelling Vídeo Pro — estilos isolados pelo prefixo svp- */
[data-plugin="parallax"] { margin: 0 !important; padding: 0 !important; max-width: none !important; width: 100% !important; overflow: visible !important; }
[data-plugin="parallax"] *, [data-plugin="parallax"] *::before, [data-plugin="parallax"] *::after { box-sizing: border-box; }
.svp-root { --svp-scroll-height: 8000px; --svp-overlay: rgba(0,0,0,.3); --svp-x: 50%; --svp-y: 50%; --svp-scale: 1;  --svp-title-weight:800; --svp-text-weight:400; --svp-title-line-height:.98; --svp-text-line-height:1.55; --svp-mobile-typography-scale:.82; position: relative; width: 100%; height: var(--svp-scroll-height); margin: 0; background: #050505; overflow: visible; }
.svp-sticky { position: sticky; top: 0; width: 100%; height: 100vh; height: 100svh; min-height: 0; overflow: hidden; isolation: isolate; background: #050505; color: #fff; font-family: var(--svp-banner-font, var(--body, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif)); }
.svp-media, .svp-video, .svp-poster, .svp-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.svp-media { z-index: 0; overflow: hidden; background: #050505; contain: paint; }
.svp-video, .svp-poster { object-fit: var(--svp-fit, cover); object-position: var(--svp-x) var(--svp-y); transform: translateZ(0) scale(var(--svp-scale)); transform-origin: center; transition: opacity .45s ease; backface-visibility: hidden; will-change: transform, opacity; }
.svp-video { opacity: 0; }
.svp-root.svp-video-ready .svp-video { opacity: 1; }
.svp-root.svp-video-ready .svp-poster { opacity: 0; }
.svp-overlay { z-index: 1; background: var(--svp-overlay); pointer-events: none; }
.svp-content-layer { position: absolute; inset: 0; z-index: 5; pointer-events: none; overflow: hidden; padding: max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left)); }
.svp-hero { --svp-card-pad: 28px; --svp-card-gap: 14px; --svp-eyebrow-size: 12px; --svp-title-size: 56px; --svp-subtitle-size: 20px; --svp-text-size: 16px; --svp-button-size: 14px; --svp-button-height: 48px; --svp-image-height: 160px; --svp-card-max-h: calc(100% - 48px); position: absolute; display: flex; flex-direction: column; font-family: var(--svp-point-font, var(--svp-banner-font, var(--body, inherit))); gap: var(--svp-card-gap); width: min(var(--svp-width, 620px), calc(100% - 48px)); max-width: calc(100% - 48px); max-height: var(--svp-card-max-h); overflow: hidden; overflow-wrap: anywhere; padding: var(--svp-card-pad); border: 1px solid rgba(255,255,255,.14); border-radius: 24px; background: linear-gradient(135deg, rgba(8,12,18,.72), rgba(8,12,18,.34)); box-shadow: 0 22px 70px rgba(0,0,0,.28); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .5s ease, transform .65s cubic-bezier(.2,.75,.25,1), filter .65s ease; }
.svp-hero.svp-active { opacity: var(--svp-opacity, 1); visibility: visible; pointer-events: auto; }
.svp-hero[data-position="top-left"] { top: max(28px, env(safe-area-inset-top)); left: max(28px, env(safe-area-inset-left)); }
.svp-hero[data-position="top-center"] { top: max(28px, env(safe-area-inset-top)); left: 50%; translate: -50% 0; }
.svp-hero[data-position="top-right"] { top: max(28px, env(safe-area-inset-top)); right: max(28px, env(safe-area-inset-right)); }
.svp-hero[data-position="center-left"] { top: 50%; left: max(28px, env(safe-area-inset-left)); translate: 0 -50%; }
.svp-hero[data-position="center"] { top: 50%; left: 50%; translate: -50% -50%; }
.svp-hero[data-position="center-right"] { top: 50%; right: max(28px, env(safe-area-inset-right)); translate: 0 -50%; }
.svp-hero[data-position="bottom-left"] { bottom: max(34px, env(safe-area-inset-bottom)); left: max(28px, env(safe-area-inset-left)); }
.svp-hero[data-position="bottom-center"] { bottom: max(34px, env(safe-area-inset-bottom)); left: 50%; translate: -50% 0; }
.svp-hero[data-position="bottom-right"] { bottom: max(34px, env(safe-area-inset-bottom)); right: max(28px, env(safe-area-inset-right)); }
.svp-hero-eyebrow { margin: 0; font-family:var(--svp-eyebrow-font,var(--svp-point-font,var(--svp-banner-font,var(--heading,var(--body,inherit))))); font-size: var(--svp-eyebrow-size); line-height: 1.3; letter-spacing: .18em; text-transform: uppercase; font-weight: 800; color: #b7f7d1; }
.svp-hero-title { margin: 0; font-family:var(--svp-title-font,var(--svp-point-font,var(--svp-banner-font,var(--heading,inherit)))); font-size: var(--svp-title-size); line-height: var(--svp-point-title-line-height,var(--svp-title-line-height,.98)); font-weight:var(--svp-point-title-weight,var(--svp-title-weight,800)); text-transform:var(--svp-title-transform,none); letter-spacing: -.045em; text-wrap: balance; overflow-wrap: anywhere; }
.svp-hero-subtitle { margin: 0; font-family:var(--svp-title-font,var(--svp-point-font,var(--svp-banner-font,var(--heading,inherit)))); font-size: var(--svp-subtitle-size); font-weight: 700; overflow-wrap: anywhere; }
.svp-hero-text { margin: 0; max-width: 62ch; font-family:var(--svp-text-font,var(--svp-point-font,var(--svp-banner-font,var(--body,inherit)))); font-size: var(--svp-text-size); line-height: var(--svp-point-text-line-height,var(--svp-text-line-height,1.55)); font-weight:var(--svp-point-text-weight,var(--svp-text-weight,400)); text-transform:var(--svp-text-transform,none); color: rgba(255,255,255,.86); overflow-wrap: anywhere; }
.svp-hero-image { width: min(220px, 42%); max-width: 100%; max-height: var(--svp-image-height); object-fit: cover; border-radius: 16px; }
.svp-hero-button { align-self: flex-start; display: inline-flex; align-items: center; justify-content: center; min-height: var(--svp-button-height); padding: 0 max(12px, calc(var(--svp-card-pad) * .72)); border-radius: 999px; background: #fff; color: #111; font-size: var(--svp-button-size); font-weight: 800; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.svp-hero-button:hover, .svp-hero-button:focus-visible { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.25); }
.svp-align-center { text-align: center; align-items: center; }.svp-align-center .svp-hero-button { align-self: center; }
.svp-align-right { text-align: right; align-items: flex-end; }.svp-align-right .svp-hero-button { align-self: flex-end; }
/* Estados iniciais das animações. As posições centrais preservam seus translates. */
.svp-hero[data-animation="fade-up"]:not(.svp-active) { transform: translateY(34px); }
.svp-hero[data-animation="fade-down"]:not(.svp-active) { transform: translateY(-34px); }
.svp-hero[data-animation="slide-left"]:not(.svp-active) { transform: translateX(56px); }
.svp-hero[data-animation="slide-right"]:not(.svp-active) { transform: translateX(-56px); }
.svp-hero[data-animation="zoom-in"]:not(.svp-active) { transform: scale(.88); }
.svp-hero[data-animation="zoom-out"]:not(.svp-active) { transform: scale(1.12); }
.svp-hero[data-animation="blur-in"]:not(.svp-active) { filter: blur(18px); transform: scale(.96); }
.svp-loading { position: absolute; inset: 0; z-index: 20; display: grid; place-content: center; justify-items: center; gap: 12px; background: #07090d; transition: opacity .5s ease, visibility .5s ease; }
.svp-root.svp-loaded .svp-loading { opacity: 0; visibility: hidden; pointer-events: none; }
.svp-loading-ring { width: 42px; height: 42px; border: 3px solid rgba(255,255,255,.18); border-top-color: #fff; border-radius: 50%; animation: svp-spin .8s linear infinite; }
.svp-loading-label { color: rgba(255,255,255,.72); }.svp-loading-percent { font-size: 1.2rem; }
@keyframes svp-spin { to { transform: rotate(360deg); } }
.svp-error { position: absolute; z-index: 10; left: 50%; bottom: 22px; transform: translateX(-50%); padding: 10px 14px; border-radius: 10px; background: rgba(0,0,0,.68); font-size: .82rem; text-align: center; }
.svp-progress { position: absolute; z-index: 12; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(255,255,255,.16); }
.svp-progress span { display: block; width: 100%; height: 100%; background: #fff; transform: scaleX(0); transform-origin: left; will-change: transform; }
.svp-scroll-hint { position: absolute; z-index: 12; left: 50%; bottom: max(26px, env(safe-area-inset-bottom)); transform: translateX(-50%); display: flex; align-items: center; gap: 9px; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; opacity: .8; transition: opacity .35s ease; }
.svp-scroll-hint-icon { width: 19px; height: 30px; border: 1px solid rgba(255,255,255,.7); border-radius: 99px; position: relative; flex: 0 0 auto; }
.svp-scroll-hint-icon::before { content:""; display:none; }
.svp-scroll-hint-icon::after { content:""; position:absolute; left:50%; top:6px; width:3px; height:6px; border-radius:9px; background:#fff; transform:translateX(-50%); animation:svp-wheel 1.5s infinite; }
.svp-root.svp-card-standby .svp-scroll-hint{display:flex!important;opacity:.96;z-index:14;padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(0,0,0,.34);box-shadow:0 10px 30px rgba(0,0,0,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.svp-root.svp-card-standby .svp-scroll-hint-icon{border-color:rgba(255,255,255,.88)}
@keyframes svp-wheel { 0%{opacity:0;transform:translate(-50%,0)} 30%{opacity:1} 100%{opacity:0;transform:translate(-50%,11px)} }
@keyframes svp-swipe-up { 0%{opacity:0;transform:translate(-50%,8px) rotate(-45deg)} 32%{opacity:1} 100%{opacity:0;transform:translate(-50%,-7px) rotate(-45deg)} }
/* No mobile o gesto físico é para cima; o hint deixa de imitar a roda do mouse. */
.svp-root.svp-is-mobile .svp-scroll-hint {
  display:block; min-width:max-content; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none;
  backdrop-filter:none; -webkit-backdrop-filter:none; text-align:center; isolation:isolate;
}
.svp-root.svp-is-mobile .svp-scroll-hint-label {
  position:relative; z-index:2; display:block; padding:8px 12px; border:1px solid rgba(255,255,255,.18); border-radius:999px;
  background:rgba(0,0,0,.38); box-shadow:0 10px 30px rgba(0,0,0,.18); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.svp-root.svp-is-mobile .svp-scroll-hint-icon {
  position:absolute; z-index:1; left:50%; bottom:calc(100% - 5px); transform:translateX(-50%); width:28px; height:30px; border:0; border-radius:0; pointer-events:none;
}
.svp-root.svp-is-mobile .svp-scroll-hint-icon::before,
.svp-root.svp-is-mobile .svp-scroll-hint-icon::after { content:""; display:block; position:absolute; left:50%; width:11px; height:11px; border:solid rgba(255,255,255,.96); border-width:2px 2px 0 0; border-radius:0; background:transparent; animation:svp-swipe-up 1.35s ease-in-out infinite; }
.svp-root.svp-is-mobile .svp-scroll-hint-icon::before { top:13px; animation-delay:.16s; }
.svp-root.svp-is-mobile .svp-scroll-hint-icon::after { top:4px; animation-delay:0s; }
.svp-root.svp-is-mobile.svp-card-standby .svp-scroll-hint { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
.svp-toolbar { position: absolute; z-index: 13; display: flex; gap: 8px; align-items: center; pointer-events: auto; }
/* Reiniciar + Pular ficam fora do eixo visual do hint central. */
.svp-toolbar-primary { left: max(18px, env(safe-area-inset-left)); bottom: max(20px, env(safe-area-inset-bottom)); max-width: calc(50% - 82px); }
.svp-toolbar-secondary { top: max(18px, env(safe-area-inset-top)); right: max(18px, env(safe-area-inset-right)); }
.svp-control { min-height: 38px; border: 1px solid rgba(255,255,255,.20); border-radius: 999px; padding: 0 13px; background: rgba(0,0,0,.30); color: rgba(255,255,255,.88); font: inherit; font-size: .78rem; cursor: pointer; opacity: .78; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: opacity .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.svp-control:hover, .svp-control:focus-visible { opacity: 1; background: rgba(0,0,0,.52); border-color: rgba(255,255,255,.38); transform: translateY(-1px); outline: none; }
.svp-chapters { position: absolute; z-index: 13; top: 50%; right: max(15px, env(safe-area-inset-right)); transform: translateY(-50%); display: flex; flex-direction: column; gap: 9px; }
.svp-chapter { width: 11px; height: 11px; padding: 0; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; background: transparent; cursor: pointer; transition: transform .2s, background .2s; }
.svp-chapter.svp-current { background:#fff; transform:scale(1.35); }
.svp-debug-time { position:absolute; z-index:14; left:max(16px, env(safe-area-inset-left)); bottom:max(16px, env(safe-area-inset-bottom)); padding:6px 9px; background:rgba(0,0,0,.6); border-radius:7px; font:700 12px/1 ui-monospace, monospace; }
.svp-root:not(.svp-show-progress) .svp-progress, .svp-root:not(.svp-show-hint):not(.svp-card-standby) .svp-scroll-hint, .svp-root:not(.svp-show-skip) .svp-skip, .svp-root:not(.svp-show-restart) .svp-restart, .svp-root:not(.svp-show-sound) .svp-sound, .svp-root:not(.svp-show-chapters) .svp-chapters, .svp-root:not(.svp-debug) .svp-debug-time { display:none; }
@media (max-width: 760px) {
  .svp-root { --svp-x: var(--svp-mobile-x); --svp-y: var(--svp-mobile-y); --svp-scale: var(--svp-mobile-scale); }
  .svp-sticky { min-height: 0; }
  .svp-content-layer { padding: max(72px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(76px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); }
  .svp-hero { width:min(var(--svp-width,620px),calc(100% - 36px)); max-width:calc(100% - 36px); max-height:var(--svp-card-max-h); backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); }
  .svp-hero[data-position="top-left"] { top:max(76px,env(safe-area-inset-top)); bottom:auto; left:max(18px,env(safe-area-inset-left)); right:auto; translate:none; }
  .svp-hero[data-position="top-center"] { top:max(76px,env(safe-area-inset-top)); bottom:auto; left:50%; right:auto; translate:-50% 0; }
  .svp-hero[data-position="top-right"] { top:max(76px,env(safe-area-inset-top)); bottom:auto; left:auto; right:max(18px,env(safe-area-inset-right)); translate:none; }
  .svp-hero[data-position="center-left"] { top:50%; bottom:auto; left:max(18px,env(safe-area-inset-left)); right:auto; translate:0 -50%; }
  .svp-hero[data-position="center"] { top:50%; bottom:auto; left:50%; right:auto; translate:-50% -50%; }
  .svp-hero[data-position="center-right"] { top:50%; bottom:auto; left:auto; right:max(18px,env(safe-area-inset-right)); translate:0 -50%; }
  .svp-hero[data-position="bottom-left"] { top:auto; bottom:max(82px,env(safe-area-inset-bottom)); left:max(18px,env(safe-area-inset-left)); right:auto; translate:none; }
  .svp-hero[data-position="bottom-center"] { top:auto; bottom:max(82px,env(safe-area-inset-bottom)); left:50%; right:auto; translate:-50% 0; }
  .svp-hero[data-position="bottom-right"] { top:auto; bottom:max(82px,env(safe-area-inset-bottom)); left:auto; right:max(18px,env(safe-area-inset-right)); translate:none; }
  .svp-hero[data-animation="blur-in"]:not(.svp-active) { filter:none; transform:translateY(18px); }
  .svp-toolbar-primary { left: max(12px, env(safe-area-inset-left)); bottom: max(12px, env(safe-area-inset-bottom)); top: auto; right: auto; flex-direction: column; align-items: flex-start; gap: 6px; max-width: 104px; }
  .svp-toolbar-secondary { top: max(12px, env(safe-area-inset-top)); right: max(12px, env(safe-area-inset-right)); }
  .svp-control { min-height: 32px; padding:0 10px; font-size:.68rem; opacity:.74; backdrop-filter:none; -webkit-backdrop-filter:none; }
  .svp-toolbar-primary .svp-control { max-width:104px; white-space:nowrap; }
  .svp-chapters { right: 8px; }
  .svp-scroll-hint { font-size:.65rem; }
}
@media (prefers-reduced-motion: reduce) {
  .svp-hero, .svp-video, .svp-poster, .svp-loading, .svp-scroll-hint { transition-duration: .01ms !important; animation: none !important; }
  .svp-loading-ring { animation-duration: 1.6s !important; }
}

/* v1.1 — mobile visibility and point-specific visibility */
.svp-root.svp-mobile-disabled { display: none !important; }
.svp-root.svp-is-mobile .svp-hero.svp-hide-mobile { display: none !important; }

/* Parallax 2.9.0 — engine dedicado para iOS/Safari móvel.
   Durante a tomada o decoder ganha prioridade: blur/backdrop-filter são suspensos
   e retornam assim que o vídeo estaciona na próxima chave. */
.svp-root.svp-engine-ios.svp-cinematic-running .svp-hero,
.svp-root.svp-engine-ios.svp-cinematic-running .svp-scroll-hint,
.svp-root.svp-engine-ios.svp-cinematic-running .svp-control {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.svp-root.svp-engine-ios.svp-cinematic-running .svp-hero {
  filter: none !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.22);
}
.svp-root.svp-engine-ios .svp-video {
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
