/* 3S Mídia — tema espacial (sobrescreve tokens de style.css) */
:root{--bg-0:#030712;--bg-1:#050d1f;--bg-card:rgba(9,24,48,.72);--border:#14305a;--border-soft:#0e2140;--cyan:#2FD6E6;--green:#8FD14A;--grad:linear-gradient(120deg,#2FD6E6,#8FD14A);--text-1:#B4C2D8;--text-2:#7F90AA;--align:left}
body{background:radial-gradient(1100px 600px at 85% -5%,rgba(22,86,170,.38),transparent 70%),radial-gradient(900px 600px at 0% 40%,rgba(10,60,120,.25),transparent 70%),var(--bg-0);background-attachment:fixed}
.section-dark{background:rgba(3,10,26,.55)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
.btn-primary{box-shadow:0 0 0 1px rgba(143,209,74,.35),0 10px 30px -12px rgba(47,214,230,.5)}
.nav.scrolled{background:rgba(3,10,26,.78)}
h1{text-shadow:0 0 60px rgba(47,214,230,.18)}
/* hero */
.hero::before{content:"";position:absolute;inset:0;z-index:0;opacity:.9;background-image:radial-gradient(1px 1px at 20px 30px,#fff,transparent),radial-gradient(1.5px 1.5px at 90px 120px,#bfe9ff,transparent),radial-gradient(1px 1px at 160px 60px,#fff,transparent),radial-gradient(1px 1px at 210px 190px,#9fe,transparent),radial-gradient(1.5px 1.5px at 60px 200px,#fff,transparent);background-size:240px 240px;animation:twinkle 8s ease-in-out infinite alternate}
.hero::after{content:"";position:absolute;width:70vmax;height:70vmax;right:-25vmax;top:-20vmax;z-index:0;background:radial-gradient(closest-side,rgba(47,214,230,.18),rgba(20,70,160,.18) 45%,transparent 70%);animation:drift 24s ease-in-out infinite alternate;pointer-events:none}
@keyframes twinkle{from{opacity:.55}to{opacity:1}}@keyframes drift{to{transform:translate3d(-6vmax,5vmax,0) scale(1.08)}}
.hero-inner,.scroll-cue{position:relative;z-index:2}
/* fundos por seção (imagem decorativa) */
[data-bg]{position:relative;overflow:hidden}
.sec-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.sec-bg-img{position:absolute;inset:0;opacity:0;transition:opacity .8s}.sec-bg.on .sec-bg-img{opacity:1}
.sec-bg-ov{position:absolute;inset:0;background:var(--ov,#020611);opacity:var(--ova,.55)}
.carousel-fade{z-index:2}
[data-bg] .wrap{text-align:var(--align)}
.hero{z-index:0}
/* filtros e setas */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 auto 22px;max-width:1180px;padding:0 28px}
.filters button{background:rgba(255,255,255,.03);color:var(--text-1);border:1px solid var(--border);border-radius:999px;padding:7px 16px;font:500 .82rem var(--font-body);cursor:pointer;transition:.25s}
.filters button:hover,.filters button.on{color:#06110C;background:var(--grad);border-color:transparent}
.carousel{position:relative}
.carousel-viewport{scroll-snap-type:x proximity}.carousel-track>*{scroll-snap-align:start}
.c-arrow{position:absolute;top:42%;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:rgba(3,10,26,.82);color:#fff;font-size:1.2rem;cursor:pointer;backdrop-filter:blur(8px);transition:.25s}
.c-arrow:hover{border-color:var(--cyan);box-shadow:0 0 22px -4px var(--cyan)}.c-arrow.prev{left:14px}.c-arrow.next{right:14px}
.asset-media img,.mock-screen img{height:auto}
.desc{color:var(--text-1);font-size:.85rem;margin-top:6px}
.review-card{background:var(--bg-card);border:1px solid var(--border);backdrop-filter:blur(6px)}.review-src{font-size:.72rem;color:var(--text-2);margin-top:10px}
/* escada A→B→C */
.stair{position:relative;height:380px;margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:90px;align-items:start}
.stair-step{padding:26px;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);border-top:2px solid var(--cyan);box-shadow:0 -14px 40px -22px var(--cyan);opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}
.stair-step[data-s=A]{margin-top:140px}.stair-step[data-s=B]{margin-top:80px;transition-delay:.35s}.stair-step[data-s=C]{margin-top:20px;transition-delay:.7s}
.stair.in .stair-step{opacity:1;transform:none}
.stair-step p{color:var(--text-1);font-size:.92rem}
.stair-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.stair-line path{fill:none;stroke:url(#none);stroke:#2FD6E6;stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 6px #2FD6E6);transform:translateY(-14px)}
.stair.in .stair-line path{animation:draw 4.5s ease-out .2s forwards}@keyframes draw{to{stroke-dashoffset:0}}
.rocket{position:absolute;left:4%;top:250px;opacity:0;z-index:3;transform:translate(-50%,0) rotate(78deg);transform-origin:center}
.stair.in .rocket{animation:fly 7s cubic-bezier(.45,.05,.3,1) .4s forwards}
@keyframes fly{0%{left:4%;top:210px;opacity:0}8%{opacity:1}30%{left:16.7%;top:150px}58%{left:50%;top:92px}100%{left:83.3%;top:-6px;opacity:1}}
.rocket .fl{transform-origin:0 24px;animation:flick .18s ease-in-out infinite alternate}@keyframes flick{to{transform:scaleY(1.35)}}
@media(max-width:760px){.stair{display:flex;flex-direction:column;height:auto;padding:0 0 0 22px;border-left:2px solid rgba(47,214,230,.4)}.stair-line,.rocket{display:none}.stair-step[data-s]{margin-top:0}}
/* chamada final: logo oficial sutil */
.cta-band{background:radial-gradient(700px 400px at 20% 20%,rgba(47,214,230,.16),transparent 70%),radial-gradient(600px 400px at 90% 90%,rgba(20,80,170,.35),transparent 70%),var(--bg-1)}
.cta-band::before{content:"";position:absolute;right:-4%;top:50%;width:min(560px,70vw);aspect-ratio:1;transform:translateY(-50%);background:url(../assets/fundo-3smidia.png) center/contain no-repeat;opacity:.09;z-index:0;pointer-events:none;animation:drift 20s ease-in-out infinite alternate}
.cta-band .logo-icon{display:none}
@media(prefers-reduced-motion:reduce){.stair-step{opacity:1;transform:none}.stair-line path{stroke-dashoffset:0}.rocket{opacity:1;left:83.3%;top:-6px;animation:none!important}}
/* ---- correções rodada 2 ---- */
.sec-bg~*:not(.carousel-fade):not(.scroll-cue):not(.orbit-field){position:relative;z-index:1}
.hero-inner{max-width:1180px;width:100%}.hero-inner h1{max-width:800px}
.sec-bg-ov{opacity:0}.sec-bg.on .sec-bg-ov{opacity:var(--ova,.55)}
/* escada: linha atrás dos cards */
.stair-line{z-index:0}.stair-step{position:relative;z-index:1;background:rgba(5,14,32,.97)}
/* artes sociais: sem espaço sobrando abaixo da imagem */
.carousel-track{align-items:flex-start}
.asset-card--square .asset-media{aspect-ratio:1/1}.asset-media img{width:100%;height:100%;object-fit:cover}
/* logo na chamada final */
.cta-band::before{z-index:1;opacity:.2}
/* avaliações em duas faixas */
.rv{display:flex;flex-direction:column;gap:22px}
.rv-row{overflow-x:auto;scrollbar-width:none;cursor:grab}.rv-row::-webkit-scrollbar{display:none}
.rv-track{display:flex;gap:24px;width:max-content;padding:4px 12px}
.rv .review-card{flex:0 0 min(440px,82vw);height:auto;padding:26px}
.rv .c-arrow{top:calc(50% - 22px)}
/* carrossel em arco */
.arc-stage{position:relative;height:610px;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none}
.arc-card{position:absolute;left:50%;top:24px;width:260px;border-radius:20px;overflow:hidden;background:rgba(8,22,46,.92);border:1px solid var(--border);box-shadow:0 30px 60px -30px #000;transition:transform .7s var(--ease),opacity .7s var(--ease),border-color .4s,box-shadow .4s;will-change:transform}
.arc-card.on{border-color:rgba(47,214,230,.6);box-shadow:0 0 0 1px rgba(47,214,230,.3),0 0 60px -10px rgba(47,214,230,.45)}
.arc-media{aspect-ratio:3/4;overflow:hidden;background:#06122a}.arc-media img{width:100%;height:100%;object-fit:cover;object-position:top;pointer-events:none}
.arc-info{padding:16px 18px 20px}.arc-info .name{font:600 1.05rem var(--font-display);margin-top:6px}
.arc-link{display:inline-block;margin-top:10px;font-size:.82rem;color:var(--cyan)}
@media(max-width:760px){.arc-card{width:min(250px,64vw)}.arc-stage{height:560px}}
@media(prefers-reduced-motion:reduce){.arc-card{transition:none}}
.cta-band::before{opacity:.32;filter:brightness(1.7) saturate(1.15);right:2%;width:min(620px,75vw)}
/* ---- rodada 3: desempenho no celular, menu e avaliações ---- */
body{background-attachment:scroll}
.review-card,.c-arrow{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.arc-card{will-change:auto}
.rv .rv-row{opacity:1;transition:opacity .5s}.rv:not(.ready) .rv-row{opacity:0}
@media(max-width:900px){
  .noise-overlay{display:none}
  .hero::before,.hero::after,.cta-band::before{animation:none!important}
  .hero::after{width:120vw;height:120vw;right:-40vw;top:-30vw}
  .nav.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(3,10,26,.95)}
  .stair-line path{filter:none}
  .cta-band::before{filter:none;opacity:.38}
  }
/* ---- menu em botão (desktop) ---- */
.nav-menu{position:relative;flex-shrink:0}
.nav-menu-btn{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 14px;background:rgba(3,10,26,.6);border:1px solid var(--border);border-radius:12px;color:#fff;font:500 .9rem var(--font-body);cursor:pointer;transition:border-color .25s,box-shadow .25s}
.nav-menu-btn:hover,.nav-menu-btn[aria-expanded=true]{border-color:var(--cyan);box-shadow:0 0 18px -6px var(--cyan)}
.nav-menu-btn i{display:block;width:16px;height:2px;border-radius:2px;background:currentColor;box-shadow:0 5px 0 currentColor,0 -5px 0 currentColor}
@media(min-width:901px){
  .lang-switch{margin-left:auto}
  .nav-links{display:none;position:absolute;top:calc(100% + 12px);right:0;margin:0;min-width:220px;padding:18px 20px;flex-direction:column;gap:14px;background:rgba(3,10,26,.97);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 50px -20px #000;font-size:.95rem}
  .nav-menu.open .nav-links{display:flex}
}
@media(max-width:900px){.nav-menu{display:contents}.nav-menu-btn{display:none}}

/* GIFs animados nas artes */
.asset-media img{transition:opacity .3s}
img[data-gif]:not([src]){opacity:0}
