/* =============================================================
   HERO "DOM real" (debake) — portado de home-rebuild.html.
   TUDO escopado em #hero para não vazar para o resto do index.
   Os tokens próprios do hero ficam em #hero (NÃO no :root global),
   pra não colidir com variables.css (--s0..s5/--t0..t4 diferentes).
   ============================================================= */

/* ---- tokens + layout do hero (escopados) ---- */
#hero {
  --green:#1DB954; --green-hi:#25d066; --green-lo:#179648; --green-deep:#14803d;
  --green-mist:rgba(29,185,84,.08); --green-glow:rgba(29,185,84,.16);
  --grad:linear-gradient(135deg,#1DB954,#179648);
  --s0:#03090a; --s1:#071110; --s2:#0c1716; --s3:#141f20; --s4:#1c2827; --s5:#26302f;
  --t0:#f4f7f7; --t1:#bcc3c6; --t2:#868f92; --t3:#576065; --t4:#39423f;
  --red:#c0392b; --red-hi:#e05a4c; --red-lo:#7e2620;
  --sans:'Inter',system-ui,-apple-system,sans-serif;
  --spring:cubic-bezier(.22,1,.36,1); --smooth:cubic-bezier(.4,0,.2,1);
  --hair:1px solid rgba(255,255,255,.07); --div:1px solid rgba(255,255,255,.06);
  --shadow:0 34px 80px -38px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.04) inset;
  /* anula o html{zoom:.8} dentro do hero: 1.25 x 0.8 = 1.0 => hero renderiza em
     escala real (texto + card proporcionais, igual ao home-rebuild). Com zoom
     neutralizado, min-height:100vh volta a preencher a viewport inteira. */
  zoom:1.25;
  position:relative; height:auto; min-height:100vh; display:flex; align-items:center;
  overflow:hidden; padding:5.5rem 0 3rem; background:var(--s0);
  font-family:var(--sans); color:var(--t1); line-height:1.6; letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased;
}
#hero::before{content:none}                 /* mata o tint .hero:before do main.css */
#hero::after{z-index:3}                      /* mantém a vinheta fade-to-black do ultramodern.css */
#hero *{box-sizing:border-box}
#hero h1,#hero h2,#hero h3,#hero h4,#hero h5,#hero h6,#hero p,#hero ul,#hero li{margin:0;padding:0}
#hero a{color:inherit;text-decoration:none}
#hero :focus-visible{outline:2px solid var(--green-hi);outline-offset:3px;border-radius:4px}

/* ---- barra superior PRÓPRIA (substitui o #header antigo no desktop) ---- */
#header{display:none !important}               /* esconde a nav antiga (vence o .d-flex!important do bootstrap; restaurada no mobile) */
/* top:0 !important vence o body.has-beta-banner header{top:46px!important} do beta-banner.js
   (que era pra nav fixa antiga e empurrava a nossa pra baixo, criando o espaço vazio) */
#hero .site-header{position:absolute;top:0 !important;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;max-width:1300px;margin:0 auto;padding:1.2rem clamp(1.2rem,4vw,3rem)}
#hero .brand{display:flex;align-items:center;gap:.55rem}
/* reset do position:absolute/inset/cover que o .hero img (main.css) vazava na logo */
/* barra harmonizada: todo o texto a 0.92rem; marca se destaca pelo negrito; logo proporcional */
#hero .brand img{height:38px;width:auto;display:block;position:static;inset:auto;object-fit:initial;z-index:auto}
#hero .brand .nm{font-weight:700;font-size:1.32rem;color:var(--t0);letter-spacing:-.01em}
#hero .brand .nm b{color:var(--green)}
#hero .navmenu{display:flex;gap:1.6rem;font-weight:500;color:var(--t1);background:none;border:none;padding:0;margin:0;list-style:none}
/* font-size no <a> p/ vencer o main.css .navmenu a */
#hero .navmenu a{position:relative;font-size:.92rem;transition:color .3s;display:inline-flex;align-items:center;gap:.3rem}
#hero .navmenu a:hover{color:var(--t0)} #hero .navmenu a.active{color:var(--green)}
#hero .navmenu a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1.5px;background:var(--green);transition:width .35s var(--spring)}
#hero .navmenu a:hover::after,#hero .navmenu a.active::after{width:100%}
#hero .head-actions{display:flex;align-items:center;gap:.55rem}
#hero .head-ghost{font-size:.92rem;color:var(--t1);padding:.5rem .85rem;border-radius:9px;transition:.3s}
/* "Registrar" sem caps (vence o text-transform:uppercase!important herdado do .btn-fill) */
#hero .head-actions .btn-fill{text-transform:none !important}
#hero .head-ghost:hover{color:var(--t0);background:rgba(255,255,255,.04)}

/* ---- ambiente (fundo gerado: gradientes + waves + globo) ---- */
#hero .bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
#hero .bg::before{content:"";position:absolute;inset:0;background:
  radial-gradient(130% 90% at 50% -15%, rgba(20,40,35,.5), transparent 55%),
  linear-gradient(180deg,#06100e 0%,var(--s0) 60%)}
#hero .halo{position:absolute;width:860px;height:860px;border-radius:50%;top:42%;right:-200px;transform:translateY(-50%);
  background:radial-gradient(circle,rgba(29,185,84,.14),rgba(29,185,84,.04) 42%,transparent 66%);filter:blur(22px)}
#hero .wave{position:absolute;left:-10%;bottom:-18%;width:62%;height:62%;
  background:radial-gradient(circle at 30% 72%,rgba(29,185,84,.28),rgba(29,185,84,.08) 36%,transparent 60%);filter:blur(20px)}
#hero .wave2{position:absolute;left:-6%;bottom:-6%;width:46%;height:42%;
  background:radial-gradient(ellipse at 28% 80%,rgba(37,208,102,.22),transparent 58%);filter:blur(30px)}
#hero #hero-globe{position:absolute;inset:0;width:100%;height:100%;opacity:.42;z-index:1;pointer-events:none}
#hero .vignette{position:absolute;inset:0;z-index:2;background:
  linear-gradient(90deg,var(--s0) 2%,rgba(3,9,10,.55) 30%,rgba(3,9,10,.05) 62%,transparent),
  linear-gradient(0deg,var(--s0),transparent 26%)}

/* ---- hero (texto + CTAs) ---- */
#hero .hero-inner{position:relative;z-index:5;width:100%;max-width:1300px;margin:0 auto;padding:0 clamp(1.2rem,4vw,3rem);
  display:grid;grid-template-columns:.86fr 1.3fr;gap:clamp(1.6rem,3.4vw,3.4rem);align-items:center}
#hero .hdg{font-weight:800;color:var(--t0);font-size:clamp(2.15rem,3.8vw,3.55rem);line-height:1.07;letter-spacing:-.025em;margin:0 0 1.2rem}
#hero .hdg .g{color:var(--green)}
#hero .desc{font-size:clamp(.95rem,1.05vw,1.05rem);color:var(--t2);max-width:27rem;margin-bottom:1.8rem}
#hero .hero-cta{display:flex;flex-direction:column;align-items:center;gap:.9rem;width:fit-content}
#hero .btn-fill{display:inline-flex;align-items:center;gap:.55rem;padding:.92rem 1.9rem;font-size:.92rem;font-weight:600;color:#04130d;
  background:var(--grad);border:none;border-radius:100px;cursor:pointer;position:relative;overflow:hidden;
  box-shadow:0 12px 32px -12px rgba(29,185,84,.5);transition:transform .4s var(--spring),box-shadow .4s var(--spring)}
#hero .btn-fill .shine{position:absolute;top:0;left:-65%;width:45%;height:100%;transform:skewX(-20deg);background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transition:left .7s var(--smooth)}
#hero .btn-fill:hover{transform:translateY(-2px);box-shadow:0 18px 42px -14px rgba(29,185,84,.6)}
#hero .btn-fill:hover .shine{left:150%}
#hero .btn-text{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:500;color:var(--t1);transition:color .3s}
#hero .btn-text i{color:var(--green);font-size:1.05rem}
#hero .btn-text:hover{color:var(--t0)}

/* ====== DASHBOARD "DESEMPENHO" ====== */
#hero .appshot{position:relative}
#hero .dash{position:relative;z-index:2;
  --ap-bg:#0F1719;--ap-card:#151D1F;--ap-low:#1F292B;--ap-high:#2d3b3e;--ap-line:rgba(51,65,85,.45);
  --ap-tx:#F2F4F7;--ap-soft:#94A3B8;--ap-em:#10b981;--ap-em2:#059669;
  --ap-good:#34d399;--ap-mid:#fbbf24;--ap-bad:#f87171;--ap-cyan:#22d3ee;--ap-gold:#d4a017;
  --ap-bar:rgba(148,163,184,.28);--ap-r:14px;
  font-family:'Manrope',system-ui,-apple-system,sans-serif;color:var(--ap-tx);letter-spacing:0;
  background:var(--ap-bg);border:1px solid var(--ap-line);border-radius:18px;
  box-shadow:var(--shadow),0 0 0 1px rgba(16,185,129,.05),0 50px 100px -60px rgba(0,0,0,.85);padding:1.05rem 1.15rem 1.2rem;
  transform:scale(var(--ds,1));transform-origin:top center}
#hero .dash-h{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
#hero .dash-h h4{font-family:'Newsreader',Georgia,serif;font-weight:600;font-size:1.25rem;color:var(--ap-tx);letter-spacing:-.01em}
#hero .dash-h p{font-size:.7rem;color:var(--ap-soft);margin-top:.2rem}
#hero .seg{display:inline-flex;background:var(--ap-high);border-radius:999px;padding:3px;flex-shrink:0}
#hero .seg button{font-size:.62rem;font-weight:600;color:var(--ap-soft);background:none;border:none;padding:.34rem .62rem;border-radius:999px;cursor:pointer;transition:.2s}
#hero .seg button.on{background:var(--ap-card);color:var(--ap-em);box-shadow:0 1px 3px rgba(0,0,0,.35)}

/* cards KPI */
#hero .kstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;background:var(--ap-card);border:1px solid var(--ap-line);border-radius:var(--ap-r);padding:.7rem;margin-bottom:.7rem}
#hero .k{display:flex;flex-direction:column;gap:.12rem;padding:.3rem .15rem .3rem .6rem;border-left:3px solid var(--ap-em);border-radius:1px}
#hero .k.gold{border-left-color:var(--ap-gold)}
#hero .k .kn{font-weight:700;font-size:1.4rem;color:var(--ap-tx);line-height:1.04;letter-spacing:-.02em;display:block}
#hero .k .kn small{font-size:.6rem;font-weight:600;color:var(--ap-soft)}
#hero .k .kn.good{color:var(--ap-good)} #hero .k .kn.mid{color:var(--ap-mid)} #hero .k .kn.bad{color:var(--ap-bad)}
#hero .k .kl{font-size:.5rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--ap-soft);line-height:1.3}
#hero .k .ksub{font-size:.54rem;color:var(--ap-soft);opacity:.85}
#hero .k .kbar{display:block;height:5px;border-radius:999px;background:var(--ap-high);margin-top:.32rem;overflow:hidden}
#hero .k .kbar span{display:block;height:100%;width:0;background:var(--ap-good);border-radius:999px;transition:width 1.1s var(--spring) .3s}
#hero .dash.in .k .kbar span{width:var(--w)}

/* painel */
#hero .panel{background:var(--ap-card);border:1px solid var(--ap-line);border-radius:var(--ap-r);padding:.85rem .95rem .8rem;margin-bottom:.7rem}
#hero .aq-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}
#hero .aq-top h5{font-size:.82rem;font-weight:700;color:var(--ap-tx)}
#hero .aq-ctrl{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
#hero .dd{display:inline-flex;align-items:center;gap:.3rem;font-size:.56rem;font-weight:600;color:var(--ap-tx);background:var(--ap-high);border:1px solid var(--ap-line);border-radius:999px;padding:.3rem .55rem;cursor:pointer}
#hero .dd i{font-size:.6rem;color:var(--ap-soft)}
#hero .ctl{display:inline-flex;align-items:center;gap:.2rem;background:var(--ap-high);border-radius:999px;padding:2px}
#hero .ctl button{font-size:.54rem;font-weight:600;color:var(--ap-soft);background:none;border:none;border-radius:999px;padding:.24rem .5rem;cursor:pointer;transition:.2s}
#hero .ctl button.on{background:var(--ap-card);color:var(--ap-em);box-shadow:0 1px 3px rgba(0,0,0,.35)}

#hero .aq-sub{font-size:.55rem;color:var(--ap-soft);margin-top:.1rem;display:block}
#hero .chart{position:relative;height:150px;padding:0 12px 14px 26px}
#hero .yax{position:absolute;top:0;bottom:14px;display:flex;flex-direction:column;justify-content:space-between;font-size:.46rem;color:var(--ap-soft);opacity:.75}
#hero .yax.yl{left:0;align-items:flex-start} #hero .yax.yr{right:0;align-items:flex-end}
#hero .plot{position:absolute;left:26px;right:12px;top:0;bottom:14px;background-image:repeating-linear-gradient(0deg,transparent 0 calc(25% - 1px),rgba(148,163,184,.12) 25%)}
#hero .bars{position:absolute;inset:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:end}
#hero .bars .b{width:11px;margin:0 auto;background:var(--ap-bar);border-radius:3px 3px 0 0;height:0;transition:height .85s var(--spring)}
#hero .chart.in .bars .b{height:var(--h)}
#hero .lsvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#hero .lsvg path.area{fill:url(#accArea);stroke:none;opacity:0;transition:opacity .6s var(--smooth) .1s}
#hero .chart.in .lsvg path.area{opacity:1}
#hero .lsvg path.accline{fill:none;stroke:var(--ap-em);stroke-width:2.4;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .5s var(--smooth) .15s}
#hero .chart.in .lsvg path.accline{opacity:1}
#hero .dots{position:absolute;inset:0;pointer-events:none}
#hero .dots .dot{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--ap-em);box-shadow:0 0 0 1.5px var(--ap-card);transform:translate(-50%,-50%);opacity:0;transition:opacity .3s}
#hero .chart.in .dots .dot{opacity:1}
#hero .xax{position:absolute;left:26px;right:26px;bottom:0;display:flex;justify-content:space-between;font-size:.44rem;color:var(--ap-soft);opacity:.75;white-space:nowrap}

/* top fortes / fracas */
#hero .mat{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
#hero .mat h6{font-size:.52rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.5rem;display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .6rem}
#hero .mat h6.up{color:var(--ap-good);background:rgba(16,185,129,.16)}
#hero .mat h6.down{color:var(--ap-bad);background:rgba(248,113,113,.16)}
#hero .mrow{margin:.45rem 0}
#hero .mrow .mh{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.24rem}
#hero .mrow .mn{font-size:.64rem;color:var(--ap-tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#hero .mrow .mv{font-size:.6rem;font-weight:700;color:var(--ap-soft);flex-shrink:0}
#hero .mrow .mt{height:6px;border-radius:999px;background:var(--ap-high);overflow:hidden}
#hero .mrow .mf{height:100%;width:0;border-radius:999px;background:var(--ap-good);transition:width 1s var(--spring) .15s}
#hero .mrow .mf.red{background:var(--ap-bad)}
#hero .dash.in .mrow .mf{width:var(--w)}

/* heatmap de regularidade */
#hero .hm-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.6rem}
#hero .hm-h h5{font-size:.82rem;font-weight:700;color:var(--ap-tx)}
#hero .hm-h .hm-meta{font-size:.55rem;color:var(--ap-soft)}
#hero .hm-row{display:flex;flex-direction:column;gap:.75rem}
#hero .hmgrid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);grid-auto-columns:1fr;gap:2px;width:100%}
#hero .hmcell{aspect-ratio:1;border-radius:2px;background:#161b22}
#hero .hmcell.l1{background:#0e4429} #hero .hmcell.l2{background:#006d32} #hero .hmcell.l3{background:#26a641} #hero .hmcell.l4{background:#39d353}
#hero .hmstats{display:grid;grid-template-columns:repeat(6,1fr);gap:.55rem .8rem}
#hero .hs{display:flex;flex-direction:column;gap:.08rem}
#hero .hs .hv{font-size:.95rem;font-weight:700;color:var(--ap-tx);line-height:1}
#hero .hs .hv small{font-size:.6rem;font-weight:500;color:var(--ap-soft)}
#hero .hs .hl{font-size:.46rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--ap-soft)}

/* entrada */
#hero .fx{opacity:0;transform:translateY(20px);animation:heroUp .85s var(--spring) forwards}
#hero .fx.r{transform:translateY(0) translateX(26px)}
#hero .d1{animation-delay:.04s} #hero .d2{animation-delay:.12s} #hero .d3{animation-delay:.2s} #hero .d4{animation-delay:.3s} #hero .d5{animation-delay:.42s} #hero .d6{animation-delay:.16s} #hero .d7{animation-delay:.6s}
@keyframes heroUp{to{opacity:1;transform:none}}

@media (max-width:1040px){
  #header{display:flex !important}      /* mobile: volta a nav antiga (tem hambúrguer) */
  #hero .site-header{display:none}      /* mobile: esconde a nossa (menu não cabe) */
  #hero .hero-inner{grid-template-columns:1fr;gap:2.6rem}
  #hero .appshot{order:2}
  #hero .vignette{background:linear-gradient(0deg,var(--s0),rgba(3,9,10,.4) 45%,transparent)}
}
@media (max-width:620px){
  #hero .kstrip{grid-template-columns:repeat(2,1fr)}
  #hero .mat{grid-template-columns:1fr}
  #hero .hm-row{grid-template-columns:1fr}
  #hero .aq-ctrl .ctl:last-child{display:none}
}
@media (prefers-reduced-motion:reduce){
  #hero .fx{animation:none;opacity:1;transform:none}
  #hero .mf,#hero .lsvg path.area,#hero .lsvg path.accline,#hero .kbar span{transition:none;transform:none}
  #hero .dots .dot{transition:none}
}
