/* SITOR 2026 — Experiência 3D e Scroll Interativo */
.s3d-section{
    --s3d-bg:#05080d;
    --s3d-text:#fff;
    --s3d-accent:#3bd6c6;
    --s3d-overlay:.32;
    --s3d-height:78vh;
    --s3d-height-mobile:68vh;
    --s3d-scroll:380vh;
    position:relative;
    z-index:2;
    display:block;
    flex:0 0 100%;
    min-width:0;
    max-width:100%;
    width:100%;
    clear:both;
    box-sizing:border-box;
    color:var(--s3d-text);
    background:var(--s3d-bg);
    font-family:inherit;
    isolation:isolate;
    overflow:clip;
}
.s3d-section.s3d-width-full{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;}
.s3d-section.s3d-width-container{
    width:min(1380px,calc(100% - 38px));
    margin:56px auto;
    border-radius:32px;
    overflow:hidden;
}
.s3d-scroll-space{
    position:relative;
    min-height:calc(var(--s3d-scroll) + var(--s3d-height));
    background:var(--s3d-bg);
}

/* Pin real: no desktop o documento para e o progresso passa a ser interno. */
.s3d-section.s3d-guided-mode{overflow:visible!important}
.s3d-section.s3d-guided-mode .s3d-scroll-space{min-height:var(--s3d-height)!important;height:var(--s3d-height)}
.s3d-section.s3d-guided-mode .s3d-stage.is-sticky{position:relative;top:auto}
.s3d-section.s3d-guided-mode.is-scroll-captured .s3d-stage{
    position:fixed!important;
    inset:0!important;
    top:0!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100vh!important;
    min-height:100dvh!important;
    z-index:100000!important;
    margin:0!important;
    border-radius:0!important;
}
.s3d-section.s3d-guided-mode.is-scroll-captured{z-index:100000}
html.s3d-page-captured,body.s3d-page-captured{overscroll-behavior:none;overflow:hidden!important}
.s3d-section.s3d-guided-mode.is-scroll-captured .s3d-scroll-hint{opacity:1}

.s3d-section.is-guided-active .s3d-scroll-hint{opacity:1}
.s3d-section.is-guided-complete .s3d-scroll-hint{opacity:.72}
.s3d-section.is-guided-complete .s3d-scroll-hint i::after{animation:none;top:11px;height:2px}
.s3d-stage{
    position:relative;
    min-height:var(--s3d-height);
    height:var(--s3d-height);
    overflow:hidden;
    background:var(--s3d-bg);
    perspective:1400px;
    transform-style:preserve-3d;
}
.s3d-stage.is-sticky{position:sticky;top:0}
.s3d-media,
.s3d-video,
.s3d-model,
.s3d-fallback,
.s3d-placeholder{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.s3d-media{
    z-index:0;
    overflow:hidden;
    transform-style:preserve-3d;
    will-change:transform;
    transition:transform .18s ease-out;
    background:
      radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--s3d-accent) 18%,transparent),transparent 42%),
      var(--s3d-bg);
}
.s3d-video,.s3d-fallback{object-fit:cover;object-position:center;display:block}
.s3d-video{z-index:1;opacity:0;transition:opacity .45s ease;filter:saturate(1.04) contrast(1.03)}
.s3d-section.is-media-ready .s3d-video{opacity:1}
.s3d-fallback{z-index:0;opacity:1;transition:opacity .45s ease}
.s3d-section.is-media-ready:not(.is-reduced) .s3d-fallback{opacity:0;pointer-events:none}
.s3d-model{z-index:1;display:block;background:transparent;--poster-color:transparent}
.s3d-overlay{
    position:absolute;
    z-index:3;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(90deg,rgba(0,0,0,calc(var(--s3d-overlay) + .18)) 0%,rgba(0,0,0,var(--s3d-overlay)) 38%,rgba(0,0,0,calc(var(--s3d-overlay) * .45)) 72%,rgba(0,0,0,calc(var(--s3d-overlay) + .08)) 100%),
      linear-gradient(0deg,rgba(0,0,0,.56),transparent 35%,rgba(0,0,0,.22));
}
.s3d-theme-claro .s3d-overlay{
    background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(255,255,255,.38) 48%,rgba(255,255,255,.08)),linear-gradient(0deg,rgba(255,255,255,.42),transparent 45%);
}
.s3d-theme-vidro .s3d-overlay{background:linear-gradient(90deg,rgba(4,12,24,.62),rgba(4,12,24,.12) 64%),linear-gradient(0deg,rgba(4,12,24,.52),transparent 48%)}
.s3d-cursor-light{
    position:absolute;
    z-index:4;
    left:var(--mouse-x,50%);
    top:var(--mouse-y,50%);
    width:46vw;
    height:46vw;
    max-width:720px;
    max-height:720px;
    border-radius:50%;
    transform:translate(-50%,-50%);
    pointer-events:none;
    opacity:.42;
    filter:blur(8px);
    background:radial-gradient(circle,color-mix(in srgb,var(--s3d-accent) 24%,transparent),transparent 66%);
    mix-blend-mode:screen;
    transition:left .12s linear,top .12s linear,opacity .25s ease;
}
.s3d-placeholder{
    display:grid;
    place-items:center;
    overflow:hidden;
    background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--s3d-accent) 20%,transparent),transparent 30%),linear-gradient(135deg,#05080d,#101b2a 55%,#071019);
}
.s3d-placeholder span,.s3d-placeholder i{
    position:absolute;
    width:42vw;height:42vw;max-width:620px;max-height:620px;border-radius:42%;
    border:1px solid color-mix(in srgb,var(--s3d-accent) 34%,transparent);
    transform:rotate(35deg);animation:s3d-orbit 17s linear infinite;
}
.s3d-placeholder i{width:26vw;height:26vw;animation-direction:reverse;animation-duration:12s}
.s3d-placeholder b{display:none!important}
@keyframes s3d-orbit{to{transform:rotate(395deg)}}

.s3d-base-copy{
    position:absolute;
    z-index:12;
    left:clamp(24px,6vw,96px);
    top:50%;
    width:min(620px,calc(100% - 48px));
    transform:translateY(-50%);
    transition:opacity .28s ease,transform .38s ease;
    pointer-events:none;
}
.s3d-section.has-active-scene .s3d-base-copy{opacity:0;transform:translateY(-46%) scale(.98)}
.s3d-base-copy>*{pointer-events:auto}
.s3d-kicker,.s3d-scene-card>span{
    display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;
    color:var(--s3d-accent);font-size:.72rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;
}
.s3d-kicker::before,.s3d-scene-card>span::before{content:"";width:28px;height:1px;background:currentColor}
.s3d-base-copy h2,.s3d-scene-card h3{
    margin:0;color:inherit;font-weight:800;letter-spacing:-.055em;line-height:.98;text-wrap:balance;
}
.s3d-base-copy h2{font-size:clamp(2.5rem,6vw,6.5rem)}
.s3d-base-copy p,.s3d-scene-card p{margin:22px 0 0;color:color-mix(in srgb,currentColor 78%,transparent);font-size:clamp(1rem,1.45vw,1.24rem);line-height:1.65;max-width:56ch}
.s3d-base-copy small{display:block;margin-top:22px;color:color-mix(in srgb,currentColor 56%,transparent);font-size:.76rem;font-weight:700}
.s3d-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:30px}
.s3d-btn,.s3d-scene-card a,.s3d-floating-button{
    min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 21px;border:1px solid transparent;border-radius:14px;
    text-decoration:none!important;font-size:.8rem;font-weight:900;letter-spacing:.02em;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease;
}
.s3d-btn.is-primary,.s3d-scene-card a,.s3d-floating-button{background:var(--s3d-accent);color:#071113!important;box-shadow:0 16px 42px color-mix(in srgb,var(--s3d-accent) 28%,transparent)}
.s3d-btn.is-secondary{border-color:color-mix(in srgb,var(--s3d-text) 30%,transparent);background:color-mix(in srgb,var(--s3d-bg) 38%,transparent);color:var(--s3d-text)!important;backdrop-filter:blur(15px)}
.s3d-btn:hover,.s3d-scene-card a:hover,.s3d-floating-button:hover{transform:translateY(-3px);box-shadow:0 22px 55px color-mix(in srgb,var(--s3d-accent) 34%,transparent)}

.s3d-scenes,.s3d-layers{position:absolute;z-index:14;inset:0;pointer-events:none;transform-style:preserve-3d}
.s3d-scene{position:absolute;inset:0;display:flex;padding:clamp(26px,6vw,92px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease;align-items:center;justify-content:flex-start}
.s3d-scene.is-active{opacity:1;visibility:visible;pointer-events:auto}
.s3d-scene-card{
    width:min(570px,100%);padding:clamp(22px,3vw,38px);color:var(--scene-text,var(--s3d-text));
    border:1px solid color-mix(in srgb,var(--scene-text,var(--s3d-text)) 18%,transparent);border-radius:24px;
    background:color-mix(in srgb,var(--scene-bg,#000) 58%,transparent);box-shadow:0 30px 90px rgba(0,0,0,.26);
    backdrop-filter:blur(22px);transform:translate3d(0,24px,0);opacity:0;transition:transform .48s cubic-bezier(.2,.8,.2,1),opacity .36s ease;
}
.s3d-scene.is-active .s3d-scene-card{transform:translate3d(0,0,0);opacity:1}
.s3d-scene-card h3{font-size:clamp(2rem,4.4vw,5rem)}
.s3d-scene-card a{margin-top:24px}
.s3d-pos-topo_esquerda{align-items:flex-start;justify-content:flex-start}.s3d-pos-topo_centro{align-items:flex-start;justify-content:center;text-align:center}.s3d-pos-topo_direita{align-items:flex-start;justify-content:flex-end;text-align:right}
.s3d-pos-centro_esquerda{align-items:center;justify-content:flex-start}.s3d-pos-centro{align-items:center;justify-content:center;text-align:center}.s3d-pos-centro_direita{align-items:center;justify-content:flex-end;text-align:right}
.s3d-pos-base_esquerda{align-items:flex-end;justify-content:flex-start}.s3d-pos-base_centro{align-items:flex-end;justify-content:center;text-align:center}.s3d-pos-base_direita{align-items:flex-end;justify-content:flex-end;text-align:right}
.s3d-effect-esquerda .s3d-scene-card{transform:translate3d(-60px,0,0)}.s3d-effect-direita .s3d-scene-card{transform:translate3d(60px,0,0)}
.s3d-effect-descer .s3d-scene-card{transform:translate3d(0,-50px,0)}.s3d-effect-zoom .s3d-scene-card{transform:scale(.86)}
.s3d-effect-blur .s3d-scene-card{filter:blur(18px);transform:scale(1.04)}.s3d-effect-blur.is-active .s3d-scene-card{filter:blur(0)}
.s3d-effect-revelar .s3d-scene-card{clip-path:inset(0 100% 0 0)}.s3d-effect-revelar.is-active .s3d-scene-card{clip-path:inset(0 0 0 0)}
.s3d-effect-nenhum .s3d-scene-card{transform:none}

.s3d-layer{
    --local-x:0px;--local-y:0px;
    position:absolute;left:var(--x);top:var(--y);width:min(var(--w),calc(100% - 24px));
    opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(calc(-50% + var(--local-x)),calc(-50% + var(--local-y)),0) scale(.88);
    transition:opacity .24s ease,visibility .24s ease,transform .34s cubic-bezier(.2,.8,.2,1);color:var(--layer-text);will-change:transform;
}
.s3d-layer.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(calc(-50% + var(--local-x)),calc(-50% + var(--local-y)),0) scale(1)}
.s3d-layer img{display:block;width:100%;height:auto;filter:drop-shadow(0 20px 34px rgba(0,0,0,.3))}
.s3d-layer a{text-decoration:none}
.s3d-hotspot{
    position:relative;display:flex;align-items:center;gap:9px;min-height:42px;padding:5px 12px 5px 5px;border:1px solid color-mix(in srgb,var(--layer-color) 45%,transparent);border-radius:999px;
    color:var(--layer-text);background:rgba(5,10,18,.62);backdrop-filter:blur(16px);box-shadow:0 12px 36px rgba(0,0,0,.22);cursor:pointer;font:inherit;font-size:.69rem;font-weight:850;
}
.s3d-hotspot i{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:var(--layer-color);color:#071113;box-shadow:0 0 0 7px color-mix(in srgb,var(--layer-color) 13%,transparent)}
.s3d-hotspot::after{content:"";position:absolute;left:20px;top:20px;width:28px;height:28px;border:1px solid var(--layer-color);border-radius:50%;transform:translate(-50%,-50%);animation:s3d-pulse 1.9s ease-out infinite}
@keyframes s3d-pulse{0%{opacity:.9;transform:translate(-50%,-50%) scale(.6)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.3)}}
.s3d-hotspot-pop{
    position:absolute;left:0;top:calc(100% + 12px);width:min(300px,calc(100vw - 38px));padding:16px 17px;border:1px solid rgba(255,255,255,.15);border-radius:17px;
    background:rgba(5,10,18,.92);color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.38);backdrop-filter:blur(20px);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s ease;
}
.s3d-layer.is-pop-open{z-index:50}.s3d-layer.is-pop-open .s3d-hotspot-pop{opacity:1;visibility:visible;transform:translateY(0)}
.s3d-hotspot-pop strong{display:block;font-size:.82rem}.s3d-hotspot-pop p{margin:8px 0 0;color:rgba(255,255,255,.7);font-size:.72rem;line-height:1.55}.s3d-hotspot-pop a{display:inline-flex;gap:7px;margin-top:12px;color:var(--layer-color);font-size:.7rem;font-weight:900}
.s3d-floating-text{padding:15px 17px;border:1px solid color-mix(in srgb,var(--layer-color) 30%,transparent);border-radius:17px;background:rgba(5,10,18,.64);backdrop-filter:blur(17px);box-shadow:0 18px 50px rgba(0,0,0,.24)}
.s3d-floating-text strong{display:block;font-size:.88rem}.s3d-floating-text p{margin:7px 0 0;font-size:.72rem;line-height:1.5;color:color-mix(in srgb,var(--layer-text) 70%,transparent)}
.s3d-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:var(--layer-color);color:#071113;font-size:.67rem;font-weight:950;box-shadow:0 15px 38px color-mix(in srgb,var(--layer-color) 25%,transparent)}
.s3d-decor{display:block;width:var(--w);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--layer-color),transparent 68%);filter:blur(8px);opacity:.7;mix-blend-mode:screen}
.s3d-layer-effect-pulso.is-active{animation:s3d-layer-pulse 2.2s ease-in-out infinite}.s3d-layer-effect-girar.is-active{animation:s3d-layer-spin 12s linear infinite}.s3d-layer-effect-flutuar.is-active{animation:s3d-layer-float 4.2s ease-in-out infinite}
@keyframes s3d-layer-pulse{50%{filter:brightness(1.25);scale:1.04}}@keyframes s3d-layer-spin{to{rotate:360deg}}@keyframes s3d-layer-float{50%{translate:0 -10px}}

.s3d-progress{position:absolute;z-index:22;left:clamp(20px,4vw,56px);right:clamp(20px,4vw,56px);bottom:22px;height:3px;background:rgba(255,255,255,.18);border-radius:999px;pointer-events:none}
.s3d-progress i{display:block;width:0;height:100%;border-radius:inherit;background:var(--s3d-accent);box-shadow:0 0 16px var(--s3d-accent)}
.s3d-progress span{position:absolute;right:0;bottom:10px;color:rgba(255,255,255,.68);font-size:.62rem;font-weight:900}
.s3d-controls{position:absolute;z-index:23;right:clamp(20px,4vw,56px);top:20px;display:flex;align-items:center;gap:12px}
.s3d-controls button{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(5,10,18,.48);color:#fff;backdrop-filter:blur(14px);cursor:pointer}
.s3d-scroll-hint{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(5,10,18,.38);color:rgba(255,255,255,.72);font-size:.63rem;font-weight:800;backdrop-filter:blur(12px)}
.s3d-scroll-hint i{width:14px;height:22px;border:1px solid currentColor;border-radius:10px;position:relative}.s3d-scroll-hint i::after{content:"";position:absolute;left:50%;top:4px;width:2px;height:5px;background:currentColor;border-radius:2px;transform:translateX(-50%);animation:s3d-scroll-dot 1.5s ease infinite}
@keyframes s3d-scroll-dot{70%{transform:translate(-50%,8px);opacity:0}}
.s3d-loading{position:absolute;z-index:30;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--s3d-bg);color:color-mix(in srgb,var(--s3d-text) 72%,transparent);font-size:.72rem;font-weight:850;transition:opacity .35s ease,visibility .35s ease}
.s3d-loading i{width:23px;height:23px;border:2px solid color-mix(in srgb,var(--s3d-accent) 24%,transparent);border-top-color:var(--s3d-accent);border-radius:50%;animation:s3d-spin .75s linear infinite}@keyframes s3d-spin{to{transform:rotate(360deg)}}
.s3d-section.is-media-ready .s3d-loading,.s3d-section.is-reduced .s3d-loading{opacity:0;visibility:hidden;pointer-events:none}

/* Layouts */
.s3d-layout-dividido .s3d-media{left:48%;width:52%}.s3d-layout-dividido .s3d-overlay{background:linear-gradient(90deg,var(--s3d-bg) 0 47%,transparent 68%)}.s3d-layout-dividido .s3d-base-copy{width:min(520px,43vw)}
.s3d-layout-flutuante .s3d-video,.s3d-layout-flutuante .s3d-model,.s3d-layout-flutuante .s3d-fallback{inset:7%;width:86%;height:86%;border-radius:34px;box-shadow:0 50px 140px rgba(0,0,0,.42);object-fit:contain}.s3d-layout-flutuante .s3d-overlay{background:radial-gradient(circle,transparent 30%,rgba(0,0,0,.52) 82%)}
.s3d-layout-tecnico .s3d-media::after{content:"";position:absolute;z-index:2;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:38px 38px;pointer-events:none}.s3d-layout-tecnico .s3d-scene-card{border-radius:8px}.s3d-layout-tecnico .s3d-kicker{font-family:monospace}
.s3d-layout-tour .s3d-video,.s3d-layout-tour .s3d-fallback{object-fit:cover}.s3d-layout-tour .s3d-overlay{background:linear-gradient(0deg,rgba(0,0,0,.68),transparent 42%),linear-gradient(90deg,rgba(0,0,0,.34),transparent)}.s3d-layout-tour .s3d-base-copy{top:auto;bottom:9%;transform:none}
.s3d-layout-minimalista .s3d-overlay{background:linear-gradient(90deg,rgba(0,0,0,.48),transparent 68%)}.s3d-layout-minimalista .s3d-scene-card{padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}

.s3d-preview-control{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 18px;background:#fff;color:#172033;border-top:1px solid #dce5ef}.s3d-preview-control label{font-size:.68rem;font-weight:900}.s3d-preview-control input{width:100%;accent-color:var(--s3d-accent)}.s3d-preview-control output{font-size:.68rem;font-weight:900;min-width:38px;text-align:right}
.s3d-section.is-preview .s3d-scroll-space{min-height:auto}.s3d-section.is-preview .s3d-stage{position:relative!important;height:min(68vh,640px);min-height:460px}.s3d-section.is-preview{border-radius:24px;overflow:hidden}
.s3d-section.is-reduced .s3d-video,.s3d-section.is-reduced .s3d-model{display:none}.s3d-section.is-reduced .s3d-fallback{opacity:1!important}.s3d-section.is-reduced .s3d-media{transform:none!important}.s3d-section.is-reduced .s3d-cursor-light{display:none}

@media (max-width:900px){
    .s3d-stage{height:var(--s3d-height-mobile);min-height:var(--s3d-height-mobile)}
    .s3d-section.s3d-width-container{width:calc(100% - 22px);margin:28px auto;border-radius:22px}
    .s3d-base-copy{left:22px;top:auto;bottom:54px;transform:none;width:calc(100% - 44px)}
    .s3d-base-copy h2{font-size:clamp(2.25rem,12vw,4.6rem)}
    .s3d-base-copy p{font-size:.96rem;line-height:1.55;margin-top:16px}
    .s3d-section.has-active-scene .s3d-base-copy{transform:translateY(10px)}
    .s3d-scene{padding:22px;align-items:flex-end!important;justify-content:flex-start!important;text-align:left!important}
    .s3d-scene-card{width:100%;padding:20px;border-radius:20px;margin-bottom:30px}
    .s3d-scene-card h3{font-size:clamp(2rem,10vw,3.6rem)}
    .s3d-scene-card p{font-size:.92rem;line-height:1.5;margin-top:14px}
    .s3d-layout-dividido .s3d-media{left:0;width:100%}.s3d-layout-dividido .s3d-overlay{background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.05) 70%)}.s3d-layout-dividido .s3d-base-copy{width:calc(100% - 44px)}
    .s3d-layout-flutuante .s3d-video,.s3d-layout-flutuante .s3d-model,.s3d-layout-flutuante .s3d-fallback{inset:4%;width:92%;height:72%;border-radius:22px;object-fit:cover}
    .s3d-controls{right:15px;top:14px}.s3d-scroll-hint{display:none}.s3d-progress{left:18px;right:18px;bottom:14px}
    .s3d-layer.hide-mobile,.s3d-scene.hide-mobile{display:none!important}
    .s3d-layer{max-width:72vw}.s3d-hotspot span{display:none}.s3d-hotspot{padding:5px}.s3d-hotspot-pop{left:50%;transform:translate(-50%,-8px)}.s3d-layer.is-pop-open .s3d-hotspot-pop{transform:translate(-50%,0)}
    .s3d-cursor-light{display:none}
}
@media (max-width:560px){
    .s3d-actions{gap:8px}.s3d-btn{width:100%}.s3d-base-copy small{display:none}.s3d-kicker{font-size:.62rem}.s3d-scene-card a{width:100%}
    .s3d-preview-control{grid-template-columns:1fr auto}.s3d-preview-control label{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){
    .s3d-section *{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}

/* Ultra Smooth: duas faixas de vídeo para avançar e voltar sem reprodução negativa. */
.s3d-video{
    will-change:opacity,transform;
    transform:translateZ(0);
    backface-visibility:hidden;
    contain:paint;
}
.s3d-video-reverse{
    z-index:2!important;
    opacity:0!important;
    pointer-events:none!important;
}
.s3d-section.is-media-ready:not(.is-reverse-playback) .s3d-video:not(.s3d-video-reverse){opacity:1!important}
.s3d-section.is-media-ready:not(.is-reverse-playback) .s3d-video-reverse{opacity:0!important}
.s3d-section.is-media-ready.is-reverse-playback .s3d-video:not(.s3d-video-reverse){opacity:0!important}
.s3d-section.is-media-ready.is-reverse-playback .s3d-video-reverse{opacity:1!important}
.s3d-section.is-navigation-bypassed .s3d-scroll-hint{opacity:.35}


/* ================================================================
   SITOR 2026 — 20260807i
   Frases sem caixas + entradas cinematográficas + mídia surgindo.
   Este bloco é somente visual e não altera o motor Ultra Smooth.
   ================================================================ */

/* O vídeo não deve "cair pronto" na tela: ele entra com uma revelação
   curta e elegante quando a seção passa a fazer parte do viewport. */
.s3d-section:not(.is-preview) .s3d-video,
.s3d-section:not(.is-preview) .s3d-fallback,
.s3d-section:not(.is-preview) .s3d-model{
    transform:translate3d(0,18px,0) scale(1.045);
    filter:blur(7px) saturate(.92) contrast(.98);
    transition:
        opacity .9s cubic-bezier(.16,.84,.24,1),
        transform 1.05s cubic-bezier(.16,.84,.24,1),
        filter .9s cubic-bezier(.16,.84,.24,1)!important;
    will-change:opacity,transform,filter;
}
.s3d-section:not(.is-preview):not(.is-in-view) .s3d-video,
.s3d-section:not(.is-preview):not(.is-in-view) .s3d-video-reverse{
    opacity:0!important;
}
.s3d-section:not(.is-preview):not(.is-in-view) .s3d-fallback,
.s3d-section:not(.is-preview):not(.is-in-view) .s3d-model{
    opacity:.12!important;
}
.s3d-section:not(.is-preview).is-in-view .s3d-video,
.s3d-section:not(.is-preview).is-in-view .s3d-fallback,
.s3d-section:not(.is-preview).is-in-view .s3d-model,
.s3d-section:not(.is-preview).is-scroll-captured .s3d-video,
.s3d-section:not(.is-preview).is-scroll-captured .s3d-fallback,
.s3d-section:not(.is-preview).is-scroll-captured .s3d-model{
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0) saturate(1.04) contrast(1.03);
}
/* Mantém a troca forward/reverse do Ultra Smooth depois da revelação. */
.s3d-section:not(.is-preview).is-in-view.is-media-ready:not(.is-reverse-playback) .s3d-video:not(.s3d-video-reverse),
.s3d-section:not(.is-preview).is-scroll-captured.is-media-ready:not(.is-reverse-playback) .s3d-video:not(.s3d-video-reverse){opacity:1!important}
.s3d-section:not(.is-preview).is-in-view.is-media-ready:not(.is-reverse-playback) .s3d-video-reverse,
.s3d-section:not(.is-preview).is-scroll-captured.is-media-ready:not(.is-reverse-playback) .s3d-video-reverse{opacity:0!important}
.s3d-section:not(.is-preview).is-in-view.is-media-ready.is-reverse-playback .s3d-video:not(.s3d-video-reverse),
.s3d-section:not(.is-preview).is-scroll-captured.is-media-ready.is-reverse-playback .s3d-video:not(.s3d-video-reverse){opacity:0!important}
.s3d-section:not(.is-preview).is-in-view.is-media-ready.is-reverse-playback .s3d-video-reverse,
.s3d-section:not(.is-preview).is-scroll-captured.is-media-ready.is-reverse-playback .s3d-video-reverse{opacity:1!important}

/* Entrada do texto principal, também sem caixa. */
.s3d-base-copy .s3d-kicker,
.s3d-base-copy h2,
.s3d-base-copy p,
.s3d-base-copy .s3d-actions,
.s3d-base-copy small{
    opacity:0;
    transform:translate3d(0,22px,0);
    filter:blur(9px);
    transition:
        opacity .62s ease,
        transform .76s cubic-bezier(.16,.84,.24,1),
        filter .62s ease;
}
.s3d-section.is-in-view .s3d-base-copy .s3d-kicker,
.s3d-section.is-scroll-captured .s3d-base-copy .s3d-kicker{opacity:1;transform:none;filter:none;transition-delay:.04s}
.s3d-section.is-in-view .s3d-base-copy h2,
.s3d-section.is-scroll-captured .s3d-base-copy h2{opacity:1;transform:none;filter:none;transition-delay:.10s}
.s3d-section.is-in-view .s3d-base-copy p,
.s3d-section.is-scroll-captured .s3d-base-copy p{opacity:1;transform:none;filter:none;transition-delay:.17s}
.s3d-section.is-in-view .s3d-base-copy .s3d-actions,
.s3d-section.is-scroll-captured .s3d-base-copy .s3d-actions{opacity:1;transform:none;filter:none;transition-delay:.24s}
.s3d-section.is-in-view .s3d-base-copy small,
.s3d-section.is-scroll-captured .s3d-base-copy small{opacity:1;transform:none;filter:none;transition-delay:.31s}

/* FRASES/CENAS: nenhuma caixa, nenhuma tarja, nenhum fundo, em nenhum layout. */
.s3d-section .s3d-scene-card,
.s3d-section.s3d-layout-minimalista .s3d-scene-card,
.s3d-section.s3d-layout-tecnico .s3d-scene-card{
    width:min(594px,100%);
    padding:0!important;
    margin:0;
    border:0!important;
    border-radius:0!important;
    background:none!important;
    background-color:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    overflow:visible;
    position:relative;
    color:var(--scene-text,var(--s3d-text));
    opacity:0;
    will-change:opacity,transform,filter,clip-path;
    transition:
        opacity .58s ease,
        transform .78s cubic-bezier(.16,.84,.24,1),
        filter .65s ease,
        clip-path .82s cubic-bezier(.16,.84,.24,1);
}

/* Pequena assinatura visual: apenas uma linha luminosa, nunca uma caixa. */
.s3d-section .s3d-scene-card::before{
    content:"";
    position:absolute;
    left:-20px;
    top:4px;
    width:2px;
    height:0;
    border-radius:999px;
    background:var(--s3d-accent);
    box-shadow:0 0 18px color-mix(in srgb,var(--s3d-accent) 58%,transparent);
    opacity:0;
    transition:height .72s cubic-bezier(.16,.84,.24,1) .12s,opacity .35s ease .08s;
    pointer-events:none;
}
.s3d-section .s3d-scene.is-active .s3d-scene-card::before{
    height:58px;
    opacity:.88;
}

/* Conteúdo de cada frase entra em sequência. */
.s3d-section .s3d-scene-card > span,
.s3d-section .s3d-scene-card h3,
.s3d-section .s3d-scene-card p,
.s3d-section .s3d-scene-card a{
    opacity:0;
    transform:translate3d(0,22px,0);
    filter:blur(9px);
    transition:
        opacity .56s ease,
        transform .7s cubic-bezier(.16,.84,.24,1),
        filter .56s ease;
}
.s3d-section .s3d-scene.is-active .s3d-scene-card > span{opacity:1;transform:none;filter:none;transition-delay:.05s}
.s3d-section .s3d-scene.is-active .s3d-scene-card h3{opacity:1;transform:none;filter:none;transition-delay:.11s}
.s3d-section .s3d-scene.is-active .s3d-scene-card p{opacity:1;transform:none;filter:none;transition-delay:.18s}
.s3d-section .s3d-scene.is-active .s3d-scene-card a{opacity:1;transform:none;filter:none;transition-delay:.25s}

/* Cada efeito escolhido no admin continua existindo, agora aplicado ao texto
   puro, sem card de fundo. */
.s3d-section .s3d-effect-subir .s3d-scene-card{transform:translate3d(0,52px,0) scale(.985)}
.s3d-section .s3d-effect-esquerda .s3d-scene-card{transform:translate3d(-72px,0,0) scale(.985)}
.s3d-section .s3d-effect-direita .s3d-scene-card{transform:translate3d(72px,0,0) scale(.985)}
.s3d-section .s3d-effect-descer .s3d-scene-card{transform:translate3d(0,-48px,0) scale(.985)}
.s3d-section .s3d-effect-zoom .s3d-scene-card{transform:scale(.88);filter:blur(6px)}
.s3d-section .s3d-effect-blur .s3d-scene-card{transform:scale(1.025);filter:blur(15px)}
.s3d-section .s3d-effect-revelar .s3d-scene-card{clip-path:inset(0 100% 0 0);transform:translate3d(18px,0,0)}
.s3d-section .s3d-effect-nenhum .s3d-scene-card{transform:translate3d(0,20px,0)}
.s3d-section .s3d-scene.is-active .s3d-scene-card{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
    clip-path:inset(0 0 0 0);
}

/* Tipografia com presença sem pesar no vídeo. */
.s3d-section .s3d-scene-card h3{
    font-size:clamp(2.2rem,4.8vw,5.6rem);
    text-shadow:0 5px 26px rgba(0,0,0,.32),0 1px 2px rgba(0,0,0,.38);
}
.s3d-section .s3d-scene-card p{
    max-width:52ch;
    color:color-mix(in srgb,var(--scene-text,var(--s3d-text)) 86%,transparent);
    text-shadow:0 2px 16px rgba(0,0,0,.32);
}
.s3d-section .s3d-scene-card > span{
    text-shadow:0 2px 14px rgba(0,0,0,.3);
}

/* Camadas de texto flutuante seguem o mesmo padrão: texto puro, sem caixa. */
.s3d-section .s3d-floating-text{
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:none!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    text-shadow:0 3px 18px rgba(0,0,0,.34);
}
.s3d-section .s3d-floating-text strong{font-size:clamp(.95rem,1.2vw,1.2rem)}
.s3d-section .s3d-floating-text p{font-size:clamp(.78rem,1vw,.96rem);color:color-mix(in srgb,var(--layer-text) 84%,transparent)}

/* Movimento mínimo ao apontar para uma frase: dá vida sem ficar cansativo. */
@media (hover:hover) and (pointer:fine){
    .s3d-section .s3d-scene.is-active .s3d-scene-card:hover{
        transform:translate3d(0,-4px,0) scale(1.004);
    }
}

@media (max-width:900px){
    .s3d-section .s3d-scene-card{
        width:100%;
        padding:0!important;
        margin-bottom:34px;
    }
    .s3d-section .s3d-scene-card::before{left:-12px;height:0}
    .s3d-section .s3d-scene.is-active .s3d-scene-card::before{height:44px}
    .s3d-section .s3d-scene-card h3{font-size:clamp(2.15rem,10vw,4rem)}
}

@media (prefers-reduced-motion:reduce){
    .s3d-section:not(.is-preview) .s3d-video,
    .s3d-section:not(.is-preview) .s3d-fallback,
    .s3d-section:not(.is-preview) .s3d-model,
    .s3d-section .s3d-scene-card,
    .s3d-section .s3d-scene-card > *{
        transform:none!important;
        filter:none!important;
    }
}


/* ================================================================
   SITOR 2026 — 20260807j
   Refinamento final: tipografia maior, chegada premium e mídia com
   impacto limpo. Sem caixa atrás das frases. Motor Ultra preservado.
   ================================================================ */

/* Entrada do vídeo: impacto por escala + máscara + luz, sem blur pesado.
   O blur da versão anterior podia parecer "quebrado" em alguns GPUs. */
.s3d-section:not(.is-preview) .s3d-media{
    opacity:.08;
    transform:translate3d(0,34px,0) scale(1.105);
    clip-path:inset(8% 5% 8% 5% round 34px);
    filter:saturate(.82) brightness(.72) contrast(.98);
    transition:
        opacity .78s cubic-bezier(.16,.84,.24,1),
        transform 1.22s cubic-bezier(.12,.88,.18,1),
        clip-path 1.18s cubic-bezier(.12,.88,.18,1),
        filter 1.05s ease!important;
    will-change:opacity,transform,clip-path,filter;
}
.s3d-section:not(.is-preview).is-in-view .s3d-media,
.s3d-section:not(.is-preview).is-scroll-captured .s3d-media,
.s3d-section:not(.is-preview).is-guided-active .s3d-media{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    clip-path:inset(0 0 0 0 round 0);
    filter:saturate(1.04) brightness(1) contrast(1.025);
}
/* O vídeo em si fica limpo; a revelação acontece no container. */
.s3d-section:not(.is-preview) .s3d-video,
.s3d-section:not(.is-preview) .s3d-video-reverse,
.s3d-section:not(.is-preview) .s3d-fallback,
.s3d-section:not(.is-preview) .s3d-model{
    transform:none!important;
    filter:none!important;
    transition:opacity .34s linear!important;
}
/* Flash/luz de entrada curto para dar presença sem exagero. */
.s3d-stage::after{
    content:"";
    position:absolute;
    z-index:11;
    inset:-8%;
    pointer-events:none;
    opacity:0;
    transform:translate3d(-32%,0,0) skewX(-11deg);
    background:linear-gradient(105deg,transparent 20%,color-mix(in srgb,var(--s3d-accent) 20%,rgba(255,255,255,.14)) 46%,rgba(255,255,255,.18) 50%,transparent 72%);
    mix-blend-mode:screen;
}
.s3d-section.is-in-view .s3d-stage::after,
.s3d-section.is-scroll-captured .s3d-stage::after{
    animation:s3d-media-impact 1.15s cubic-bezier(.16,.84,.24,1) 1 both;
}
@keyframes s3d-media-impact{
    0%{opacity:0;transform:translate3d(-42%,0,0) skewX(-11deg)}
    22%{opacity:.72}
    100%{opacity:0;transform:translate3d(45%,0,0) skewX(-11deg)}
}

/* Nenhuma cena recebe caixa de fundo, mesmo se houver cor salva no admin. */
.s3d-section .s3d-scene-card,
.s3d-section.s3d-layout-minimalista .s3d-scene-card,
.s3d-section.s3d-layout-tecnico .s3d-scene-card{
    width:min(594px,100%);
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:none!important;
    background-color:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    overflow:visible!important;
}

/* Mais presença tipográfica. Shadow é suave e só ajuda a leitura no vídeo. */
.s3d-section .s3d-scene-card h3{
    font-size:clamp(2.65rem,5.7vw,6.75rem)!important;
    line-height:.94;
    letter-spacing:-.06em;
    text-shadow:0 4px 18px rgba(0,0,0,.26),0 1px 3px rgba(0,0,0,.20)!important;
    transform-origin:50% 100%;
}
.s3d-section .s3d-scene-card p{
    max-width:56ch;
    font-size:clamp(1.08rem,1.55vw,1.34rem)!important;
    line-height:1.58;
    text-shadow:0 3px 14px rgba(0,0,0,.24)!important;
}
.s3d-section .s3d-scene-card > span{
    font-size:clamp(.76rem,.85vw,.92rem)!important;
    text-shadow:0 2px 12px rgba(0,0,0,.22)!important;
}

/* Chegada mais sofisticada: cada parte tem seu próprio gesto. */
.s3d-section .s3d-scene-card > span{
    opacity:0;
    transform:translate3d(-22px,0,0);
    filter:blur(5px);
    letter-spacing:.24em;
    transition:opacity .52s ease,transform .72s cubic-bezier(.12,.88,.18,1),filter .52s ease,letter-spacing .8s cubic-bezier(.12,.88,.18,1)!important;
}
.s3d-section .s3d-scene-card h3{
    opacity:0;
    transform:translate3d(0,54px,0) rotateX(9deg) scale(.965);
    filter:blur(8px);
    clip-path:inset(0 0 72% 0);
    transition:opacity .58s ease,transform .88s cubic-bezier(.12,.88,.18,1),filter .62s ease,clip-path .88s cubic-bezier(.12,.88,.18,1)!important;
}
.s3d-section .s3d-scene-card p{
    opacity:0;
    transform:translate3d(0,28px,0);
    filter:blur(6px);
    transition:opacity .62s ease,transform .78s cubic-bezier(.12,.88,.18,1),filter .58s ease!important;
}
.s3d-section .s3d-scene-card a{
    opacity:0;
    transform:translate3d(0,18px,0) scale(.94);
    filter:blur(4px);
    transition:opacity .58s ease,transform .72s cubic-bezier(.12,.88,.18,1),filter .5s ease,box-shadow .22s ease!important;
}
.s3d-section .s3d-scene.is-active .s3d-scene-card > span{
    opacity:1;transform:none;filter:none;letter-spacing:.15em;transition-delay:.03s!important;
}
.s3d-section .s3d-scene.is-active .s3d-scene-card h3{
    opacity:1;transform:translate3d(0,0,0) rotateX(0) scale(1);filter:none;clip-path:inset(0 0 0 0);transition-delay:.09s!important;
}
.s3d-section .s3d-scene.is-active .s3d-scene-card p{
    opacity:1;transform:none;filter:none;transition-delay:.18s!important;
}
.s3d-section .s3d-scene.is-active .s3d-scene-card a{
    opacity:1;transform:none;filter:none;transition-delay:.27s!important;
}

/* Linha de acento também entra com impacto leve, sem virar caixa. */
.s3d-section .s3d-scene-card::before{
    left:-24px!important;
    width:3px!important;
    box-shadow:0 0 18px color-mix(in srgb,var(--s3d-accent) 42%,transparent)!important;
}
.s3d-section .s3d-scene.is-active .s3d-scene-card::before{height:72px!important}

/* Texto principal inicial recebe o mesmo tratamento de leitura. */
.s3d-base-copy h2{
    font-size:clamp(2.9rem,6.5vw,7.2rem)!important;
    text-shadow:0 4px 18px rgba(0,0,0,.25),0 1px 3px rgba(0,0,0,.18);
}
.s3d-base-copy p{font-size:clamp(1.08rem,1.5vw,1.3rem)!important;text-shadow:0 3px 14px rgba(0,0,0,.22)}

@media (max-width:900px){
    .s3d-section .s3d-scene-card{width:100%}
    .s3d-section .s3d-scene-card h3{font-size:clamp(2.45rem,11vw,4.65rem)!important}
    .s3d-section .s3d-scene-card p{font-size:clamp(1rem,4vw,1.16rem)!important}
    .s3d-section .s3d-scene-card::before{left:-13px!important}
    .s3d-section .s3d-scene.is-active .s3d-scene-card::before{height:54px!important}
    .s3d-section:not(.is-preview) .s3d-media{clip-path:inset(5% 3% 5% 3% round 22px);transform:translate3d(0,22px,0) scale(1.065)}
    .s3d-section:not(.is-preview).is-in-view .s3d-media,
    .s3d-section:not(.is-preview).is-scroll-captured .s3d-media{clip-path:inset(0 0 0 0 round 0);transform:none}
}

@media (prefers-reduced-motion:reduce){
    .s3d-stage::after{display:none!important}
    .s3d-section:not(.is-preview) .s3d-media{opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important}
}


/* ================================================================
   SITOR 2026 — 20260807k
   Correção de narrativa: título principal só na abertura quando há
   cenas complementares + tipografia sem cortes de acentos/sombras.
   Motor Ultra Smooth preservado.
   ================================================================ */

/* Havendo cenas complementares, a base é somente a abertura. Depois
   que a primeira cena inicia, ela não reaparece nos espaços entre cenas. */
.s3d-section.has-complementary-scenes.is-base-past-intro .s3d-base-copy{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-46%) scale(.985)!important;
    transition:opacity .34s ease,transform .48s cubic-bezier(.16,.84,.24,1),visibility 0s linear .34s!important;
}
.s3d-section.has-complementary-scenes.is-base-intro .s3d-base-copy{
    visibility:visible!important;
}
@media (max-width:900px){
    .s3d-section.has-complementary-scenes.is-base-past-intro .s3d-base-copy{
        transform:translateY(12px) scale(.985)!important;
    }
}

/* A cena e o card precisam deixar a sombra e os glifos respirarem. */
.s3d-section .s3d-scene,
.s3d-section .s3d-scene-card,
.s3d-section.s3d-layout-minimalista .s3d-scene-card,
.s3d-section.s3d-layout-tecnico .s3d-scene-card{
    overflow:visible!important;
}

/* O reveal antigo usava clip-path e cortava acentos e text-shadow.
   Mantemos a sensação de revelação usando movimento/blur, sem recorte. */
.s3d-section .s3d-effect-revelar .s3d-scene-card,
.s3d-section .s3d-effect-revelar.is-active .s3d-scene-card,
.s3d-section .s3d-scene.is-active .s3d-scene-card{
    clip-path:none!important;
}
.s3d-section .s3d-effect-revelar .s3d-scene-card{
    transform:translate3d(46px,0,0) scale(.985)!important;
    filter:blur(7px)!important;
}
.s3d-section .s3d-effect-revelar.is-active .s3d-scene-card{
    transform:translate3d(0,0,0) scale(1)!important;
    filter:none!important;
}

/* Títulos: mais folga vertical para Á/É/Ê/Ã/Ó e sombra sem recorte. */
.s3d-section .s3d-scene-card h3{
    display:block!important;
    overflow:visible!important;
    clip-path:none!important;
    line-height:1.075!important;
    letter-spacing:-.052em!important;
    padding:.08em .035em .13em!important;
    margin:-.08em -.035em -.13em!important;
    text-shadow:
        0 5px 22px rgba(0,0,0,.28),
        0 2px 7px rgba(0,0,0,.18)!important;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
    transform-origin:50% 62%!important;
}

/* A animação do próprio título também deixa de recortar o glifo. */
.s3d-section .s3d-scene-card h3{
    opacity:0;
    transform:translate3d(0,46px,0) rotateX(7deg) scale(.97);
    filter:blur(7px);
    transition:
        opacity .58s ease,
        transform .88s cubic-bezier(.12,.88,.18,1),
        filter .60s ease!important;
}
.s3d-section .s3d-scene.is-active .s3d-scene-card h3{
    opacity:1!important;
    transform:translate3d(0,0,0) rotateX(0) scale(1)!important;
    filter:none!important;
    clip-path:none!important;
    transition-delay:.09s!important;
}

/* Principal também ganha respiro para fontes com acentos altos. */
.s3d-base-copy,
.s3d-base-copy h2{
    overflow:visible!important;
}
.s3d-base-copy h2{
    line-height:1.045!important;
    letter-spacing:-.052em!important;
    padding:.075em .035em .12em!important;
    margin:-.075em -.035em -.12em!important;
    text-shadow:
        0 5px 22px rgba(0,0,0,.27),
        0 2px 7px rgba(0,0,0,.16)!important;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
}

/* Descrições e kicker mantêm sombra leve, sem recortes. */
.s3d-section .s3d-scene-card p,
.s3d-section .s3d-scene-card > span,
.s3d-base-copy p,
.s3d-base-copy .s3d-kicker{
    overflow:visible!important;
    text-shadow:0 3px 15px rgba(0,0,0,.23)!important;
}

@media (max-width:900px){
    .s3d-section .s3d-scene-card h3{
        line-height:1.08!important;
        letter-spacing:-.047em!important;
        padding-top:.09em!important;
    }
    .s3d-base-copy h2{
        line-height:1.06!important;
        letter-spacing:-.047em!important;
    }
}

/* ================================================================
   SITOR 2026 — 20260807p
   Ultra é motor de performance, não um layout. O tamanho/posição do vídeo
   volta a ser 100% comandado pelas opções já escolhidas no admin.
   ================================================================ */
.s3d-section.is-ultra-performance .s3d-video,
.s3d-section.is-ultra-performance .s3d-video-reverse{
    transition:opacity .16s linear!important;
    image-rendering:auto;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
}
/* Por padrão o backdrop Ultra não interfere no layout. */
.s3d-section.is-ultra-performance .s3d-ultra-backdrop{
    display:none!important;
    opacity:0!important;
}
/* Somente o layout FLUTUANTE usa o blur lateral, pois nele o admin já pediu
   mídia contida. Nos demais layouts o vídeo mantém exatamente o CSS original. */
.s3d-section.is-ultra-performance.s3d-layout-flutuante.is-scroll-captured .s3d-ultra-backdrop,
.s3d-section.is-ultra-performance.s3d-layout-flutuante.is-guided-active .s3d-ultra-backdrop{
    display:block!important;
    opacity:.76!important;
    position:absolute;
    z-index:0;
    inset:-10%;
    width:120%;
    height:120%;
    filter:blur(30px) saturate(1.14) brightness(.72);
    transform:scale(1.10) translateZ(0);
    pointer-events:none;
}
/* Restaura explicitamente o comportamento original do layout flutuante após
   os antigos overrides Ultra que diminuíam a mídia para 960x540. */
.s3d-section.is-ultra-performance.s3d-layout-flutuante.is-scroll-captured .s3d-video,
.s3d-section.is-ultra-performance.s3d-layout-flutuante.is-guided-active .s3d-video{
    inset:7%!important;
    width:86%!important;
    height:86%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    border-radius:34px!important;
    box-shadow:0 50px 140px rgba(0,0,0,.42)!important;
}
@media(max-width:900px){
    .s3d-section.is-ultra-performance.s3d-layout-flutuante.is-scroll-captured .s3d-video,
    .s3d-section.is-ultra-performance.s3d-layout-flutuante.is-guided-active .s3d-video{
        inset:4%!important;
        width:92%!important;
        height:72%!important;
        border-radius:22px!important;
        object-fit:cover!important;
    }
}


/* ================================================================
   SITOR 2026 — 20260807q
   Ajuste EXCLUSIVO dos textos:
   - remove a barra/risco vertical das cenas
   - chegada tipográfica mais premium
   - nenhum impacto no vídeo, Ultra, layout, fullscreen ou navegação
   ================================================================ */

/* Remove definitivamente a assinatura vertical ao lado das frases. */
.s3d-section .s3d-scene-card::before,
.s3d-section .s3d-scene.is-active .s3d-scene-card::before{
    content:none!important;
    display:none!important;
    width:0!important;
    height:0!important;
    opacity:0!important;
    box-shadow:none!important;
}

/* Entrada premium dos títulos complementares: foco + profundidade + encaixe.
   Sem clip-path para preservar acentos e sombras. */
.s3d-section .s3d-scene-card h3{
    clip-path:none!important;
    overflow:visible!important;
    transform-origin:38% 72%!important;
    will-change:opacity,transform,filter;
}
.s3d-section .s3d-scene.is-active .s3d-scene-card h3{
    animation:s3d-title-premium-in .86s cubic-bezier(.16,.88,.22,1) .035s both!important;
}
@keyframes s3d-title-premium-in{
    0%{
        opacity:0;
        transform:translate3d(0,42px,0) scale(.965) rotateX(6deg);
        filter:blur(10px);
        text-shadow:0 14px 42px rgba(0,0,0,.12);
    }
    58%{
        opacity:1;
        transform:translate3d(0,-3px,0) scale(1.006) rotateX(0deg);
        filter:blur(.5px);
        text-shadow:0 7px 28px rgba(0,0,0,.26),0 2px 8px rgba(0,0,0,.16);
    }
    100%{
        opacity:1;
        transform:translate3d(0,0,0) scale(1) rotateX(0deg);
        filter:none;
        text-shadow:0 5px 22px rgba(0,0,0,.28),0 2px 7px rgba(0,0,0,.18);
    }
}

/* Kicker entra com deslocamento lateral curto e fecha o tracking suavemente. */
.s3d-section .s3d-scene-card > span{
    will-change:opacity,transform,filter,letter-spacing;
}
.s3d-section .s3d-scene.is-active .s3d-scene-card > span{
    animation:s3d-kicker-premium-in .66s cubic-bezier(.16,.84,.24,1) both!important;
}
@keyframes s3d-kicker-premium-in{
    0%{opacity:0;transform:translate3d(-18px,0,0);filter:blur(5px);letter-spacing:.25em}
    100%{opacity:1;transform:translate3d(0,0,0);filter:none;letter-spacing:.15em}
}

/* Descrição vem logo depois, limpa e sem salto. */
.s3d-section .s3d-scene.is-active .s3d-scene-card p{
    animation:s3d-copy-premium-in .74s cubic-bezier(.16,.84,.24,1) .14s both!important;
}
@keyframes s3d-copy-premium-in{
    0%{opacity:0;transform:translate3d(0,24px,0);filter:blur(6px)}
    65%{opacity:1;transform:translate3d(0,-1px,0);filter:blur(.35px)}
    100%{opacity:1;transform:translate3d(0,0,0);filter:none}
}

/* Botão fecha a composição com uma subida curta e escala discreta. */
.s3d-section .s3d-scene.is-active .s3d-scene-card a{
    animation:s3d-cta-premium-in .68s cubic-bezier(.16,.84,.24,1) .23s both!important;
}
@keyframes s3d-cta-premium-in{
    0%{opacity:0;transform:translate3d(0,16px,0) scale(.965);filter:blur(4px)}
    100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:none}
}

/* O título principal recebe a mesma linguagem na abertura. */
.s3d-section.is-in-view .s3d-base-copy h2,
.s3d-section.is-scroll-captured .s3d-base-copy h2{
    animation:s3d-main-title-premium-in .9s cubic-bezier(.16,.88,.22,1) .04s both!important;
}
@keyframes s3d-main-title-premium-in{
    0%{opacity:0;transform:translate3d(0,40px,0) scale(.97);filter:blur(10px)}
    60%{opacity:1;transform:translate3d(0,-3px,0) scale(1.005);filter:blur(.4px)}
    100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:none}
}

@media (prefers-reduced-motion:reduce){
    .s3d-section .s3d-scene.is-active .s3d-scene-card h3,
    .s3d-section .s3d-scene.is-active .s3d-scene-card > span,
    .s3d-section .s3d-scene.is-active .s3d-scene-card p,
    .s3d-section .s3d-scene.is-active .s3d-scene-card a,
    .s3d-section.is-in-view .s3d-base-copy h2,
    .s3d-section.is-scroll-captured .s3d-base-copy h2{
        animation:none!important;
        opacity:1!important;
        transform:none!important;
        filter:none!important;
    }
}


/* ================================================================
   SITOR 2026 — 20260808a
   Mobile Story + chegada alpha desktop + indicador somente ícone.
   Desktop Ultra/Pin permanece intacto fora destes overrides.
   ================================================================ */

/* Indicador: apenas o ícone, centralizado no topo. O botão de som continua
   independente no canto direito. */
.s3d-controls{
    left:0!important;
    right:0!important;
    top:18px!important;
    width:100%!important;
    justify-content:center!important;
    pointer-events:none!important;
}
.s3d-controls button{
    position:absolute!important;
    right:clamp(16px,4vw,56px)!important;
    top:0!important;
    pointer-events:auto!important;
}
.s3d-scroll-hint{
    display:grid!important;
    place-items:center!important;
    width:34px!important;
    height:44px!important;
    padding:0!important;
    gap:0!important;
    border:0!important;
    border-radius:18px!important;
    background:rgba(5,10,18,.16)!important;
    color:rgba(255,255,255,.88)!important;
    box-shadow:0 8px 28px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.08)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
    pointer-events:none!important;
    animation:s3d-scroll-icon-float 2.2s ease-in-out infinite!important;
}
.s3d-scroll-hint i{
    width:14px!important;
    height:22px!important;
    border:1.5px solid currentColor!important;
    border-radius:10px!important;
}
@keyframes s3d-scroll-icon-float{
    0%,100%{transform:translate3d(0,0,0);opacity:.78}
    50%{transform:translate3d(0,5px,0);opacity:1}
}

/* Desktop: a experiência entra por alfa/escala mínima quando o pin captura.
   Removemos máscara/flash da chegada para não parecer que o vídeo "quebrou". */
@media (min-width:901px) and (pointer:fine){
    .s3d-section.s3d-guided-mode:not(.is-preview) .s3d-media,
    .s3d-section.s3d-guided-mode:not(.is-preview).is-in-view:not(.is-scroll-captured) .s3d-media{
        opacity:.12!important;
        transform:translate3d(0,0,0) scale(1.018)!important;
        clip-path:none!important;
        filter:none!important;
        transition:opacity 1.02s cubic-bezier(.16,.84,.24,1),transform 1.18s cubic-bezier(.16,.84,.24,1)!important;
    }
    .s3d-section.s3d-guided-mode:not(.is-preview).is-scroll-captured .s3d-media,
    .s3d-section.s3d-guided-mode:not(.is-preview).is-guided-active .s3d-media{
        opacity:1!important;
        transform:translate3d(0,0,0) scale(1)!important;
        clip-path:none!important;
        filter:none!important;
    }
    .s3d-section.s3d-guided-mode .s3d-stage::after{display:none!important}
}

/* Mobile Story: Safari/Chrome mobile recebem uma trilha sticky própria.
   overflow:visible é essencial para o sticky não ser neutralizado pelo
   overflow:clip do container principal. */
@media (max-width:900px){
    .s3d-section.s3d-mobile-story{
        overflow:visible!important;
        --s3d-mobile-safe-height:100svh;
    }
    .s3d-section.s3d-mobile-story.s3d-width-container{
        overflow:visible!important;
    }
    .s3d-section.s3d-mobile-story .s3d-scroll-space{
        min-height:var(--s3d-mobile-track,286vh)!important;
        height:auto!important;
        overflow:visible!important;
        background:var(--s3d-bg)!important;
    }
    .s3d-section.s3d-mobile-story .s3d-stage.is-sticky{
        position:sticky!important;
        position:-webkit-sticky!important;
        top:0!important;
        height:var(--s3d-mobile-safe-height)!important;
        min-height:var(--s3d-mobile-safe-height)!important;
        max-height:none!important;
    }
    .s3d-section.s3d-mobile-story .s3d-media{
        opacity:1!important;
        transform:none!important;
        clip-path:none!important;
        filter:none!important;
        transition:none!important;
    }
    .s3d-section.s3d-mobile-story .s3d-stage::after{display:none!important}
    .s3d-section.s3d-mobile-story .s3d-scene{
        min-height:100%!important;
        padding:clamp(22px,6vw,34px)!important;
    }
    .s3d-section.s3d-mobile-story .s3d-scene-card{
        margin-bottom:clamp(48px,10vh,92px)!important;
    }
    .s3d-section.s3d-mobile-story .s3d-base-copy{
        bottom:clamp(62px,10vh,110px)!important;
    }
    .s3d-section.s3d-mobile-story .s3d-scroll-hint{
        display:grid!important;
        width:32px!important;
        height:42px!important;
        background:rgba(5,10,18,.12)!important;
    }
    .s3d-section.s3d-mobile-story .s3d-progress{
        bottom:18px!important;
    }
}


/* ================================================================
   SITOR 2026 — 20260808 MOBILE VIDEO + TEXT CAROUSEL
   Mobile somente: vídeo em autoplay/loop no fundo e cenas navegáveis
   por setas. Desktop permanece integralmente no motor de scroll atual.
   ================================================================ */
@media (max-width:900px){
    .s3d-section.s3d-mobile-video-text-carousel{
        position:relative!important;
        height:auto!important;
        min-height:100svh!important;
        overflow:hidden!important;
        touch-action:auto!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-scroll-space{
        position:relative!important;
        height:100svh!important;
        min-height:100svh!important;
        max-height:none!important;
        overflow:hidden!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-stage,
    .s3d-section.s3d-mobile-video-text-carousel .s3d-stage.is-sticky{
        position:relative!important;
        inset:auto!important;
        top:auto!important;
        left:auto!important;
        right:auto!important;
        bottom:auto!important;
        width:100%!important;
        height:100svh!important;
        min-height:100svh!important;
        max-height:none!important;
        transform:none!important;
        overflow:hidden!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-media{
        position:absolute!important;
        z-index:1!important;
        inset:0!important;
        width:100%!important;
        height:100%!important;
        opacity:1!important;
        transform:none!important;
        clip-path:none!important;
        filter:none!important;
        overflow:hidden!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-video{
        display:block!important;
        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!important;
        transform:none!important;
        border-radius:0!important;
        box-shadow:none!important;
        opacity:1!important;
        visibility:visible!important;
        filter:none!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-video-reverse,
    .s3d-section.s3d-mobile-video-text-carousel .s3d-mobile-scrub-canvas,
    .s3d-section.s3d-mobile-video-text-carousel .s3d-layers,
    .s3d-section.s3d-mobile-video-text-carousel .s3d-controls,
    .s3d-section.s3d-mobile-video-text-carousel .s3d-progress,
    .s3d-section.s3d-mobile-video-text-carousel .s3d-scroll-hint{
        display:none!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-overlay{
        z-index:3!important;
        background:linear-gradient(180deg,rgba(0,0,0,.24),rgba(0,0,0,.38) 48%,rgba(0,0,0,.28))!important;
        opacity:1!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-base-copy{
        display:none!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel.s3d-mobile-video-text-no-scenes .s3d-base-copy{
        display:flex!important;
        z-index:16!important;
        position:absolute!important;
        inset:0!important;
        width:100%!important;
        max-width:none!important;
        padding:28px!important;
        align-items:center!important;
        justify-content:center!important;
        flex-direction:column!important;
        text-align:center!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-scenes{
        position:absolute!important;
        z-index:15!important;
        inset:0!important;
        width:100%!important;
        height:100%!important;
        pointer-events:none!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-scene{
        position:absolute!important;
        inset:0!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        padding:clamp(26px,7vw,38px)!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        text-align:center!important;
        opacity:0!important;
        visibility:hidden!important;
        pointer-events:none!important;
        transform:none!important;
        transition:opacity .32s ease,visibility .32s ease!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-scene.hide-mobile{
        display:none!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-scene.is-mobile-carousel-active{
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-scene-card,
    .s3d-section.s3d-mobile-video-text-carousel.s3d-layout-minimalista .s3d-scene-card,
    .s3d-section.s3d-mobile-video-text-carousel.s3d-layout-tecnico .s3d-scene-card{
        width:min(100%,680px)!important;
        max-width:680px!important;
        margin:0 0 clamp(72px,12vh,110px)!important;
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        backdrop-filter:none!important;
        -webkit-backdrop-filter:none!important;
        text-align:center!important;
        color:var(--scene-text,var(--s3d-text,#fff))!important;
        transform:none!important;
        filter:none!important;
        clip-path:none!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-scene-card > span{
        justify-content:center!important;
        margin-inline:auto!important;
        font-size:clamp(.92rem,3.6vw,1.08rem)!important;
        line-height:1.25!important;
        letter-spacing:.035em!important;
        color:inherit!important;
        text-shadow:0 2px 14px rgba(0,0,0,.48)!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-scene-card h3{
        margin:10px auto 0!important;
        max-width:13ch!important;
        font-size:clamp(2.5rem,11.5vw,4.35rem)!important;
        line-height:.98!important;
        text-align:center!important;
        text-wrap:balance!important;
        color:inherit!important;
        text-shadow:0 4px 24px rgba(0,0,0,.58),0 1px 6px rgba(0,0,0,.5)!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-scene-card p{
        margin:18px auto 0!important;
        max-width:34ch!important;
        font-size:clamp(1.08rem,4.5vw,1.28rem)!important;
        line-height:1.55!important;
        text-align:center!important;
        color:inherit!important;
        text-shadow:0 2px 14px rgba(0,0,0,.56)!important;
    }
    /* Pedido: no mobile ficam apenas os textos sobre o vídeo. */
    .s3d-section.s3d-mobile-video-text-carousel .s3d-scene-card a{
        display:none!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-mobile-text-nav{
        position:absolute!important;
        z-index:28!important;
        left:50%!important;
        bottom:max(28px,calc(env(safe-area-inset-bottom) + 22px))!important;
        transform:translateX(-50%)!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:14px!important;
        pointer-events:auto!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-mobile-text-arrow{
        appearance:none!important;
        -webkit-appearance:none!important;
        width:48px!important;
        height:48px!important;
        border:1px solid rgba(255,255,255,.26)!important;
        border-radius:999px!important;
        background:rgba(8,12,18,.42)!important;
        color:#fff!important;
        display:grid!important;
        place-items:center!important;
        padding:0!important;
        font-size:1rem!important;
        box-shadow:0 12px 34px rgba(0,0,0,.22)!important;
        backdrop-filter:blur(10px)!important;
        -webkit-backdrop-filter:blur(10px)!important;
        touch-action:manipulation!important;
        cursor:pointer!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-mobile-text-arrow:active{
        transform:scale(.94)!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-mobile-text-arrow:disabled{
        opacity:.35!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-mobile-text-counter{
        min-width:48px!important;
        color:rgba(255,255,255,.84)!important;
        font-size:.76rem!important;
        line-height:1!important;
        font-weight:850!important;
        letter-spacing:.08em!important;
        text-align:center!important;
        text-shadow:0 2px 8px rgba(0,0,0,.4)!important;
    }
    .s3d-section.s3d-mobile-video-text-carousel .s3d-mobile-text-nav.is-single{
        display:none!important;
    }
}

/* ================================================================
   SITOR 2026 — Indicador de scroll minimalista e animado
   Apenas visual: sem bola externa e sem setas.
   ================================================================ */
.s3d-scroll-hint{
    position:relative!important;
    width:34px!important;
    height:50px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:rgba(255,255,255,.98)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    overflow:visible!important;
    animation:none!important;
}
.s3d-scroll-hint::before,
.s3d-scroll-hint::after{
    content:none!important;
    display:none!important;
}
.s3d-scroll-hint i{
    position:absolute!important;
    left:50%!important;
    top:2px!important;
    width:27px!important;
    height:42px!important;
    margin:0!important;
    border:2px solid rgba(255,255,255,.96)!important;
    border-radius:15px!important;
    background:rgba(255,255,255,.015)!important;
    transform:translate3d(-50%,0,0)!important;
    box-sizing:border-box!important;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.035),
        0 0 12px rgba(255,255,255,.08),
        0 0 18px color-mix(in srgb,var(--s3d-accent) 12%,transparent)!important;
    filter:drop-shadow(0 6px 9px rgba(0,0,0,.26))!important;
    transform-origin:50% 50%!important;
    animation:s3d-scroll-mouse-float 1.7s cubic-bezier(.45,0,.2,1) infinite!important;
}
.s3d-scroll-hint i::before{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:6px!important;
    width:4px!important;
    height:8px!important;
    border-radius:999px!important;
    background:var(--s3d-accent)!important;
    box-shadow:
        0 0 5px color-mix(in srgb,var(--s3d-accent) 90%,white),
        0 0 12px color-mix(in srgb,var(--s3d-accent) 58%,transparent)!important;
    transform:translate3d(-50%,0,0)!important;
    opacity:1!important;
    animation:s3d-scroll-wheel-flow 1.25s cubic-bezier(.2,.72,.2,1) infinite!important;
}
.s3d-scroll-hint i::after{
    content:""!important;
    position:absolute!important;
    inset:3px!important;
    border-radius:12px!important;
    border:1px solid transparent!important;
    background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 42%) border-box!important;
    opacity:.45!important;
    pointer-events:none!important;
    animation:s3d-scroll-inner-pulse 1.7s ease-in-out infinite!important;
}
@keyframes s3d-scroll-mouse-float{
    0%,100%{
        transform:translate3d(-50%,0,0) scale(1)!important;
        border-color:rgba(255,255,255,.82)!important;
        box-shadow:
            inset 0 0 0 1px rgba(255,255,255,.025),
            0 0 10px rgba(255,255,255,.05),
            0 0 14px color-mix(in srgb,var(--s3d-accent) 8%,transparent)!important;
    }
    45%{
        transform:translate3d(-50%,4px,0) scale(1.035)!important;
        border-color:rgba(255,255,255,1)!important;
        box-shadow:
            inset 0 0 0 1px rgba(255,255,255,.05),
            0 0 13px rgba(255,255,255,.10),
            0 0 22px color-mix(in srgb,var(--s3d-accent) 18%,transparent)!important;
    }
    68%{
        transform:translate3d(-50%,7px,0) scale(.985)!important;
    }
}
@keyframes s3d-scroll-wheel-flow{
    0%{transform:translate3d(-50%,0,0);opacity:0}
    14%{opacity:1}
    58%{transform:translate3d(-50%,12px,0);opacity:1}
    88%,100%{transform:translate3d(-50%,17px,0);opacity:0}
}
@keyframes s3d-scroll-inner-pulse{
    0%,100%{opacity:.18;transform:scale(.96)}
    48%{opacity:.5;transform:scale(1)}
}
@media (max-width:900px){
    .s3d-section.s3d-mobile-story .s3d-scroll-hint{
        width:31px!important;
        height:46px!important;
    }
    .s3d-section.s3d-mobile-story .s3d-scroll-hint i{
        top:2px!important;
        width:24px!important;
        height:38px!important;
        border-radius:13px!important;
    }
}
@media (prefers-reduced-motion:reduce){
    .s3d-scroll-hint i,
    .s3d-scroll-hint i::before,
    .s3d-scroll-hint i::after{
        animation:none!important;
    }
}
