
/* ===== integracao storyscroll + site corrigir (pacote completo, sem @layer) ===== */
/* tema do mundo */
.sw-root { --sw-bg: #0a0f1a; --sw-ink: #f4f7fb; --sw-ink-soft: #9fb0c7; --sw-accent: #ef4444; }
/* fora: chrome generico do engine */
#sw-world .sw-topbar, #sw-world .sw-scrollbar { display: none !important; }
#sw-lcp { position: fixed; inset: 0; width: 100vw; height: 100vh; object-fit: cover; object-position: center 42%; z-index: 5; }
/* espelho semantico: estilizado como fallback; some quando o mundo monta */
#sw-narrative { max-width: 720px; margin: 0 auto; padding: 110px 24px 48px; font-family: Sora, system-ui, sans-serif; color: #f4f7fb; }
#sw-narrative h2 { font-size: 1.9rem; line-height: 1.15; }
#sw-narrative h3 { margin-top: 1.6em; }
html.sw-mounted #sw-narrative, html.sw-js #sw-narrative { display: none !important; }
/* cortina antecipada: o site sobe enquanto a cena final ainda esta nitida (corta a cauda desbotada) */
#sw-world { margin-bottom: -130vh; }
/* sizing do video: reset do site (height:auto/max-width) nao pode espremer o cover */
#sw-world .sw-scene__video, #sw-world .sw-scene__still {
  position: absolute !important; inset: 0 !important;
  width: 100% !important; height: 100% !important;
  max-width: none !important; max-height: none !important;
  object-fit: cover !important; object-position: center 42% !important;
}
/* tipografia (CSS sem layer do site atropela o @layer do engine) */
#sw-world .sw-copy__eyebrow { font-family: Sora, system-ui, sans-serif !important; font-weight: 700 !important; font-size: .82rem !important; letter-spacing: .18em !important; text-transform: uppercase !important; }
#sw-world .sw-copy__title { font-family: Sora, system-ui, sans-serif !important; font-size: clamp(2.1rem, 3.6vw, 3.4rem) !important; line-height: 1.07 !important; font-weight: 800 !important; letter-spacing: -.015em !important; color: #f4f7fb !important; margin: 14px 0 0 !important; }
#sw-world .sw-copy__body { font-family: Sora, system-ui, sans-serif !important; font-size: clamp(1rem, 1.15vw, 1.15rem) !important; line-height: 1.55 !important; color: #b9c6d9 !important; max-width: 42ch !important; }
#sw-world .sw-copy__tags span, #sw-world .sw-copy__tags li { font-family: Sora, system-ui, sans-serif !important; }
/* cortina: site desliza por cima da ultima cena */
#__nuxt { position: relative; z-index: 30; background: #0a0f1a; padding-top: 84px; overflow-x: clip; }
/* menu oficial do site sempre visivel + retratil */
.site-nav { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; z-index: 400 !important; width: 100% !important; max-width: none !important; margin: 0 !important; background: rgba(10,15,26,.88) !important; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 1px 0 rgba(244,247,251,.08); transition: transform .32s ease !important; }
html.nav-hide .site-nav { transform: translateY(-110%) !important; }
/* mobile: hint sobrepoe as tags */
@media (max-width: 860px), (hover: none) and (pointer: coarse) { #sw-world .sw-hint { display: none !important; } }
/* rail e hint somem quando o site assume; mundo desliga quando coberto */

/* botoes CTA: estilo da marca, imune a resets e ao @layer do engine */
#sw-world .sw-btn { font-family: Sora, system-ui, sans-serif !important; font-weight: 700 !important; font-size: .95rem !important; line-height: 1.1 !important; padding: 15px 26px !important; border-radius: 999px !important; text-decoration: none !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; letter-spacing: .01em !important; transition: transform .2s, box-shadow .2s !important; }
#sw-world .sw-btn--primary { background: linear-gradient(135deg, #dc2626, #ef4444) !important; color: #ffffff !important; border: 0 !important; box-shadow: 0 10px 28px rgba(239,68,68,.4) !important; }
#sw-world .sw-btn--primary:hover { transform: translateY(-2px) !important; }
#sw-world .sw-btn--ghost { background: transparent !important; color: #f4f7fb !important; border: 1.5px solid rgba(244,247,251,.4) !important; box-shadow: none !important; }
#sw-world .sw-btn--ghost:hover { transform: translateY(-2px) !important; }

html.sw-past #sw-world .sw-route, html.sw-past #sw-world .sw-hint { opacity: 0 !important; pointer-events: none !important; }
html.sw-covered #sw-world { visibility: hidden; }
/* camadas decorativas fixed do site (canvas de particulas, scrim, noise) criam veu opaco
   sobre o mundo — so aparecem quando o site assume a tela */
html:not(.sw-covered) #__nuxt canvas,
html:not(.sw-covered) #__nuxt .field-scrim,
html:not(.sw-covered) #__nuxt .field-noise { display: none !important; }
/* scroll-behavior smooth do site conflita com scrub \u2014 neutro */
html { scroll-behavior: auto !important; }
