/* ══════════════════════════════════════════════════════════════════════
   O filme do topo da home nova (/novo). Linguagem do filme da Marítima:
   palco fixo em px (960×540 no computador, 480×660 no celular) que escala inteiro,
   uma mesa de criação ao fundo com câmera que viaja, um cartão branco que muda
   de forma, carimbos que batem, legenda grande e capítulos com barra.
   Quem mexe em tudo é o novo-filme.js, quadro a quadro (nvFilmeQuadro(t)).
   ══════════════════════════════════════════════════════════════════════ */
.hf-wrap{position:relative;max-width:1120px;margin:0 auto}
.hf{position:absolute;left:0;top:0;transform-origin:0 0;border-radius:26px;overflow:hidden;background:#0B0D12;box-shadow:0 70px 120px -60px rgba(0,0,0,.9),0 0 0 1px rgba(157,139,255,.16);font-family:var(--sans);color:#fff;contain:layout paint}
.hf *{box-sizing:border-box}

/* ── O mundo: mesa de criação com grade, pranchetas e fragmentos de design ── */
.hf-cam{position:absolute;left:0;top:0;width:2400px;height:1400px;transform-origin:0 0;will-change:transform,filter;
  background:
    radial-gradient(circle at 30% 40%,rgba(108,92,231,.22),transparent 28%),
    radial-gradient(circle at 72% 62%,rgba(157,139,255,.16),transparent 30%),
    linear-gradient(rgba(157,139,255,.07) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg,rgba(157,139,255,.07) 1px,transparent 1px) 0 0/48px 48px,
    radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px) 0 0/12px 12px,
    #0B0D12}
.hf-ab{position:absolute;border:1px solid rgba(157,139,255,.24);border-radius:20px;background:rgba(255,255,255,.012)}
.hf-ab span{position:absolute;left:0;top:-30px;font:600 12px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(214,208,255,.45);white-space:nowrap}
.hf-ab span b{color:#9D8BFF;margin-right:10px}
.hf-ab::after{content:"";position:absolute;inset:-5px;border-radius:24px;border:1px dashed rgba(157,139,255,.1)}
.hf-fr{position:absolute;color:rgba(214,208,255,.5);font:500 12px var(--sans);letter-spacing:.06em}
.hf-cores{display:flex;gap:10px}
.hf-cores i{width:34px;height:34px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.08)}
.hf-aa{font:700 96px/1 var(--display);color:rgba(255,255,255,.08);letter-spacing:-.04em}
.hf-aa small{display:block;margin-top:8px;font:600 12px var(--sans);letter-spacing:.2em;color:rgba(214,208,255,.4)}
.hf-medida{width:220px;height:1px;background:rgba(157,139,255,.5)}
.hf-medida::before,.hf-medida::after{content:"";position:absolute;top:-6px;width:1px;height:13px;background:rgba(157,139,255,.5)}
.hf-medida::before{left:0}.hf-medida::after{right:0}
.hf-medida em{position:absolute;left:50%;top:-24px;transform:translateX(-50%);font-style:normal;font:600 11px var(--sans);color:#9D8BFF;letter-spacing:.1em}
.hf-seta{width:28px;height:28px}
.hf-seta path{fill:#fff;stroke:#0B0D12;stroke-width:1.5}
.hf-seta b{position:absolute;left:24px;top:24px;padding:3px 9px;border-radius:6px;background:#6C5CE7;color:#fff;font:600 11px var(--sans);white-space:nowrap}
.hf-veu{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 40%,rgba(5,6,10,.7) 100%);pointer-events:none}

/* ── A busca do Google (só no capítulo 1) ── */
.hf-busca{position:absolute;display:flex;align-items:center;gap:12px;height:54px;padding:0 22px;border-radius:27px;background:#fff;color:#202124;font:400 18px var(--sans);box-shadow:0 20px 50px -18px rgba(0,0,0,.7)}
.hf-busca svg{width:20px;height:20px;flex:none}
.hf-busca .hf-caret{width:2px;height:22px;background:#1a73e8;animation:hfpisca 1s steps(2) infinite}
@keyframes hfpisca{50%{opacity:0}}
.hf-busca small{margin-left:auto;font:600 12px var(--sans);color:#5f6368;white-space:nowrap}

/* ── O cartão que muda de forma ── */
.hf-card{position:absolute;overflow:hidden;background:#fff;color:#111;box-shadow:0 40px 80px -30px rgba(0,0,0,.85),0 2px 10px rgba(0,0,0,.3)}
.hf-l{position:absolute;left:0;top:0;opacity:0}

/* perfil do Instagram (300×420) */
.hf-perfil{width:300px;height:420px;padding:24px 20px 0}
.hf-perfil-topo{display:flex;align-items:center;gap:14px}
.hf-perfil-topo img{width:66px;height:66px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #fff,0 0 0 5.5px #d62976}
.hf-perfil-topo b{display:block;font:700 17px/1.2 var(--sans)}
.hf-perfil-topo span{display:block;font-size:13px;color:#737373}
.hf-num{display:flex;gap:18px;margin:16px 0 12px}
.hf-num i{display:block;width:52px;height:9px;border-radius:5px;background:#efefef}
.hf-bio{display:grid;gap:7px}
.hf-bio i{display:block;height:9px;border-radius:5px;background:#f0f0f0}
.hf-bio i:nth-child(2){width:78%}.hf-bio i:nth-child(3){width:52%}
.hf-link{display:flex;align-items:center;gap:7px;margin-top:12px;font:600 13px var(--sans);color:#b0b0b0}
.hf-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.hf-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin:16px -20px 0}
.hf-posts img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.hf-post-t{margin:0;aspect-ratio:1;min-width:0;overflow:hidden;display:grid;place-content:center;gap:4px;padding:6px;text-align:center;font:400 9px/1.25 var(--sans);letter-spacing:.04em}
.hf-post-t b{font:italic 500 13.5px/1.12 Georgia,"Times New Roman",serif;letter-spacing:0}
.hf-post-t.t1{background:#3c8f7a;color:#e8f4ef}.hf-post-t.t1 b{color:#fff}
.hf-post-t.t2{background:#f6efe6;color:#6b4fa0}.hf-post-t.t2 b{color:#5a3f8f}
.hf-post-t.t3{background:#6b4fa0;color:#e6dcf7}.hf-post-t.t3 b{color:#fff}
.hf-selo{position:absolute;padding:8px 16px;border:3.5px solid currentColor;border-radius:10px;font:700 21px var(--display);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;mix-blend-mode:multiply;opacity:0}
.hf-selo.sem{left:70px;top:112px;color:#e5484d}
.hf-selo.ok{color:#159a52;mix-blend-mode:normal;background:rgba(255,255,255,.92)}

/* conversa do WhatsApp (340×400) */
.hf-zap{width:100%;height:100%;background:#efeae2}
.hf-zap-topo{display:flex;align-items:center;gap:11px;height:62px;padding:0 16px;background:#075e54;color:#fff}
.hf-zap-topo img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.hf-zap-topo b{display:block;font:600 15px var(--sans)}
.hf-zap-topo small{display:block;font-size:12px;opacity:.8}
.hf-bolha{position:absolute;max-width:72%;padding:9px 12px 8px;border-radius:12px;font:400 14.5px/1.4 var(--sans);color:#111;box-shadow:0 1px 1.5px rgba(0,0,0,.12);opacity:0}
.hf-bolha time{display:block;margin-top:2px;text-align:right;font-size:11px;color:#667781}
.hf-bolha.dele{left:14px;background:#fff;border-top-left-radius:3px;transform-origin:0 0}
.hf-bolha.meu{right:14px;background:#d9fdd3;border-top-right-radius:3px;transform-origin:100% 0}
.hf-bolha.hf-cartao{display:flex;align-items:center;gap:10px;padding:8px 10px}
.hf-bolha.hf-cartao img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.hf-bolha.hf-cartao b{display:block;font:600 14px var(--sans)}
.hf-bolha.hf-cartao small{display:block;font-size:12px;color:#667781}

/* navegador (prévia e site no ar) */
.hf-nav{width:100%;height:100%}
.hf-barra{position:absolute;left:0;right:0;top:0;height:38px;display:flex;align-items:center;gap:7px;padding:0 14px;background:#ECEAF3;border-bottom:1px solid rgba(0,0,0,.06)}
.hf-barra>i{width:11px;height:11px;border-radius:50%;background:#FF6159}
.hf-barra>i:nth-child(2){background:#FFBD2E}.hf-barra>i:nth-child(3){background:#28C941}
.hf-url{display:flex;align-items:center;gap:7px;margin-left:12px;height:24px;padding:0 12px;border-radius:7px;background:#fff;font:500 13px var(--sans);color:#3c3c43;min-width:280px}
.hf-url svg{width:13px;height:13px;flex:none;fill:none;stroke:#1a9c52;stroke-width:2.6}
.hf-tela{position:absolute;left:0;right:0;top:38px;bottom:0;overflow:hidden;background:#faf7f2}
.hf-tela>img{position:absolute;left:0;top:0;width:100%;height:auto;opacity:0}
.hf-arame i{position:absolute;display:block;border-radius:6px;background:#e9e4f7;opacity:0}
.hf-arame .w-nav{left:5%;right:5%;top:5%;height:6%;background:#f0edf7}
.hf-arame .w-olho{left:7%;width:26%;top:21%;height:3%}
.hf-arame .w-t1{left:7%;width:44%;top:28%;height:9%;background:#d8d0f0}
.hf-arame .w-t2{left:7%;width:34%;top:39%;height:9%;background:#d8d0f0}
.hf-arame .w-p1{left:7%;width:42%;top:53%;height:3.4%}
.hf-arame .w-p2{left:7%;width:37%;top:59%;height:3.4%}
.hf-arame .w-bt{left:7%;width:18%;top:69%;height:8%;border-radius:20px;background:#3c8f7a}
.hf-arame .w-ft{right:7%;width:33%;top:16%;height:70%;border-radius:200px 200px 14px 14px;background:#e3dcef}
.hf-voa-txt{display:flex;align-items:center;padding:0 12px;background:#fff;color:#2b2b2b;font-family:Georgia,"Times New Roman",serif;font-weight:500;white-space:nowrap;overflow:hidden}
.hf-voa{position:absolute;left:0;top:0;object-fit:cover;opacity:0;box-shadow:0 14px 34px -10px rgba(0,0,0,.6);will-change:transform}

/* celular (o cartão vira o aparelho) */
.hf-cel{width:100%;height:100%;background:#16171b;border-radius:inherit;box-shadow:inset 0 0 0 1.5px #4a4c52}
.hf-cel-tela{position:absolute;inset:7px;border-radius:34px;overflow:hidden;background:#faf7f2}
.hf-cel-tela::before{content:"";position:absolute;z-index:3;left:50%;top:10px;width:76px;height:22px;margin-left:-38px;border-radius:12px;background:#000}
.hf-cel-tela>img{position:absolute;left:0;top:0;width:100%;height:auto}
.hf-aprovar{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:34px 16px 18px;background:linear-gradient(transparent,rgba(250,247,242,.96) 38%)}
.hf-aprovar p{margin:0 0 9px;text-align:center;font:600 13px var(--sans);color:#3c3c43}
.hf-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:46px;border-radius:14px;font:700 16px var(--sans);color:#fff;background:linear-gradient(150deg,#9D8BFF,#6C5CE7);box-shadow:0 10px 24px -10px rgba(108,92,231,.8)}
.hf-btn.ok{background:linear-gradient(150deg,#34c26b,#159a52);box-shadow:0 10px 24px -10px rgba(21,154,82,.8)}
.hf-dedo{position:absolute;left:0;top:0;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.3);border:3px solid #fff;box-shadow:0 10px 26px rgba(0,0,0,.45);opacity:0}

/* o ponto (o cartão no fim) */
.hf-ponto{position:absolute;inset:0;background:#9D8BFF;opacity:0;box-shadow:0 0 30px rgba(157,139,255,.9)}

/* contador e selo de "no ar", fora do cartão */
.hf-cont{position:absolute;display:grid;gap:4px;padding:14px 18px;border-radius:16px;background:rgba(21,22,30,.9);border:1px solid rgba(157,139,255,.3);box-shadow:0 20px 40px -14px rgba(0,0,0,.7);opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hf-cont span{font:600 11px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:rgba(214,208,255,.6)}
.hf-cont b{font:600 34px/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:#fff}
.hf-cont b small{font-size:16px;color:#9D8BFF;margin-left:2px}
.hf-noar{position:absolute;display:flex;align-items:center;gap:12px;height:58px;padding:0 22px 0 9px;border-radius:29px;background:#22c26b;color:#fff;box-shadow:0 20px 40px -14px rgba(0,0,0,.6);opacity:0;white-space:nowrap}
.hf-noar i{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center}
.hf-noar svg{width:22px;height:22px;fill:none;stroke:#159a52;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.hf-noar b{display:block;font:600 17px/1.1 var(--sans)}
.hf-noar small{display:block;font-size:12.5px;opacity:.9}

/* legenda e assinatura */
.hf-leg{position:absolute;display:grid;gap:5px}
.hf-leg-n{font:700 12px var(--sans);letter-spacing:.26em;color:#9D8BFF}
.hf-leg-t{font:600 30px/1.05 var(--display);letter-spacing:-.02em;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.6)}
.hf-marca{position:absolute;left:0;top:0;font:700 62px/1 var(--display);letter-spacing:-.035em;color:#fff;white-space:nowrap}
.hf-assina{position:absolute;left:0;right:0;text-align:center;font:500 19px var(--sans);color:rgba(255,255,255,.75);opacity:0}
.hf-assina b{color:#9D8BFF;font-weight:600}

/* capítulos, fora do palco */
.hf-caps{list-style:none;max-width:1120px;margin:20px auto 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.hf-caps li{display:grid;gap:9px}
.hf-caps i{position:relative;display:block;height:3px;border-radius:3px;background:rgba(var(--faixa-titulo-rgb),.14);overflow:hidden}
.hf-caps i b{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--violeta-claro),var(--violeta))}
.hf-caps span{font:600 13px var(--sans);color:rgba(var(--faixa-texto-rgb),.45);transition:color .4s}
.hf-caps span em{font-style:normal;color:var(--faixa-acento);margin-right:6px}
.hf-caps li.on span{color:var(--faixa-titulo)}
@media (max-width:700px){
  .hf{border-radius:20px}
  .hf-caps{gap:6px}
  .hf-caps span{font-size:10.5px}
  .hf-caps span em{display:block}
}
