/* =====================================================================
   v2 — tema grafite/azul-noite, um acento (esmeralda) + âmbar de alerta.
   Sem CDN, sem fontes externas: funciona offline.
   ===================================================================== */
:root{
  --bg:#080c13; --bg2:#0c121b; --ink:#eef2f7; --mut:#8e9aad; --dim:#5d6a7e;
  --em:#19c27a; --em-d:#0f8a56; --am:#ff8a3d; --line:rgba(255,255,255,.085);
  --glass:rgba(255,255,255,.045); --glass2:rgba(255,255,255,.075);
  --font:Inter,"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.22,.8,.2,1); --ease2:cubic-bezier(.65,0,.35,1);
  --top:64px; --peek:clamp(170px,27vh,290px);
}
*{box-sizing:border-box;margin:0}
html{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{min-height:100vh;overflow-x:hidden;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--em);outline-offset:3px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
::selection{background:rgba(25,194,122,.35)}
/* grão leve */
body::after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* ---------------- barra superior ---------------- */
.top{position:fixed;z-index:60;top:0;left:0;right:0;height:var(--top);display:flex;align-items:center;gap:22px;padding:0 clamp(16px,2.6vw,40px);
  background:linear-gradient(#080c13 0%,rgba(8,12,19,.82) 55%,rgba(8,12,19,0));transition:opacity .6s var(--ease),transform .6s var(--ease)}
.top.hide{opacity:0;transform:translateY(-14px);pointer-events:none}
.brand{display:flex;align-items:center;gap:11px;min-width:0;flex:0 1 auto}
.logo{width:30px;height:30px;flex:none;border-radius:9px;background:linear-gradient(145deg,#1ee08c,#0c7a4d);display:grid;place-items:center;box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 6px 18px rgba(25,194,122,.28)}
.logo svg{width:17px;height:17px}
.brand b{display:block;font-size:14.5px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:26vw}
.brand small{display:block;font-size:11px;color:var(--mut);letter-spacing:.02em;white-space:nowrap}
.chapters{flex:1;display:flex;align-items:center;justify-content:center;min-width:0}
.chapters ol{list-style:none;display:flex;align-items:center;padding:0;gap:2px;position:relative}
.chapters li{position:relative}
.chapters button{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:44px;min-height:44px;padding:5px 7px;justify-content:center;color:var(--dim);transition:color .4s}
.chapters button i{display:block;width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.6;transition:all .5s var(--ease)}
.chapters button span{font-size:10.5px;font-variant-numeric:tabular-nums;letter-spacing:.03em;white-space:nowrap}
.chapters button.done{color:#7e8da3}
.chapters button.cur{color:var(--ink)}
.chapters button.cur i{width:22px;border-radius:4px;background:var(--em);opacity:1;box-shadow:0 0 14px rgba(25,194,122,.7)}
.chapters button:hover{color:var(--ink)}
.chapters button .tip{position:absolute;top:100%;left:50%;transform:translate(-50%,-2px);font-size:11px;padding:4px 8px;border-radius:7px;background:#141b27;border:1px solid var(--line);color:var(--ink);opacity:0;pointer-events:none;white-space:nowrap;transition:.25s}
.chapters button:hover .tip{opacity:1;transform:translate(-50%,2px)}
.meter{flex:none;text-align:right;padding:6px 14px 7px;border-radius:14px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:border-color .5s,box-shadow .5s}
.meter.bump{border-color:rgba(255,138,61,.55);box-shadow:0 0 30px rgba(255,138,61,.18)}
.meter small{display:block;font-size:10.5px;color:var(--mut);letter-spacing:.04em;text-transform:uppercase}
.meter b{display:block;font-size:21px;font-weight:700;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--am)}
.meter em{font-style:normal;font-size:10px;color:var(--dim)}
.prog{position:fixed;z-index:61;left:0;top:0;height:2px;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--em-d),var(--em));transition:transform .7s var(--ease)}
.help{position:fixed;z-index:60;left:clamp(16px,2.6vw,40px);bottom:16px;font-size:11.5px;color:var(--dim);display:flex;gap:14px;align-items:center;transition:opacity .6s}
.help kbd{font:600 10.5px var(--font);padding:2px 6px;border-radius:5px;border:1px solid var(--line);background:var(--glass);color:var(--mut);margin-right:5px}
.help.hide{opacity:0}
.fsbtn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border-radius:9px;color:var(--mut);transition:.3s}
.fsbtn:hover{color:var(--ink);background:var(--glass)}

/* ---------------- cenas ---------------- */
main{position:relative}
.scene{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:calc(var(--top) + 10px) clamp(18px,3.4vw,64px) 40px;overflow:hidden;isolation:isolate}
.scene::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(900px 520px at 12% 0%,rgba(25,194,122,.07),transparent 60%),radial-gradient(900px 600px at 100% 100%,rgba(60,90,160,.09),transparent 60%),var(--bg)}
.wrap{width:100%;max-width:1760px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);gap:clamp(24px,3.6vw,72px);align-items:center}
.left{min-width:0}
.right{min-width:0;display:flex;flex-direction:column;gap:clamp(10px,1.9vh,22px);padding-bottom:calc(var(--peek) - 36px)}
.scene.nophone .right{padding-bottom:0}

/* entrada escalonada */
.rv{opacity:0;transform:translateY(22px);filter:blur(5px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);transition-delay:calc(var(--d,0)*90ms + 120ms)}
.scene.in .rv{opacity:1;transform:none;filter:none}
.rv-l{transform:translateX(-30px) scale(.985)}

.kicker{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--mut);letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.kicker .hr{font-variant-numeric:tabular-nums;color:var(--em);padding:3px 9px;border-radius:99px;background:rgba(25,194,122,.1);border:1px solid rgba(25,194,122,.25)}
h2{font-size:clamp(28px,min(3.3vw,5.6vh),60px);line-height:1.04;letter-spacing:-.035em;font-weight:720;text-wrap:balance}
.big{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px}
.big .n{font-size:clamp(54px,min(7.2vw,12vh),128px);font-weight:760;letter-spacing:-.055em;line-height:.9;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#fff,#a9b6c9);-webkit-background-clip:text;background-clip:text;color:transparent}
.big .of{font-size:clamp(24px,3vw,48px);color:var(--dim);font-weight:600;letter-spacing:-.03em}
.big .un{font-size:clamp(14px,1.25vw,19px);color:var(--ink);font-weight:550;max-width:15ch;line-height:1.2}
.big .sub{width:100%;font-size:13.5px;color:var(--mut)}
.lbl{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-weight:650;margin-bottom:5px}
.txt{font-size:clamp(14.5px,min(1.2vw,2.3vh),18px);color:#c3ccda;line-height:1.5;max-width:56ch}
.txt b{color:var(--ink);font-weight:650}
.val{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.chip-val{display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:9px 16px 10px;border-radius:16px;background:linear-gradient(180deg,rgba(255,138,61,.15),rgba(255,138,61,.06));border:1px solid rgba(255,138,61,.35);box-shadow:0 10px 40px rgba(255,138,61,.08)}
.chip-val strong{font-size:clamp(26px,2.6vw,42px);font-weight:740;letter-spacing:-.04em;color:var(--am);font-variant-numeric:tabular-nums;line-height:1}
.chip-val span{font-size:14px;color:#ffc7a0}
.chip-val em{font-style:normal;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:#d8a07a;border:1px solid rgba(255,138,61,.35);border-radius:6px;padding:1px 6px;align-self:center}
.conta-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;color:var(--mut);font-size:14px;transition:color .3s}
.conta-btn:hover{color:var(--ink)}
.conta-btn svg{width:14px;height:14px;transition:transform .5s var(--ease)}
.conta-btn[aria-expanded=true] svg{transform:rotate(180deg)}
.conta{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.conta.open{grid-template-rows:1fr}
.conta>div{overflow:hidden}
.conta pre{font:500 14px/1.65 var(--font);white-space:pre-wrap;padding:12px 16px;border-radius:14px;background:var(--glass);border:1px solid var(--line);color:#d1d9e6;margin-top:2px;max-width:56ch}
.todo{display:flex;gap:12px;align-items:flex-start;padding:13px 16px;border-radius:16px;background:rgba(25,194,122,.08);border:1px solid rgba(25,194,122,.24)}
.todo svg{flex:none;width:20px;height:20px;margin-top:2px;color:var(--em)}
.todo .lbl{color:#4fd69b;margin-bottom:2px}
.todo .txt{color:#dbe7e0;font-size:clamp(14px,min(1.15vw,2.2vh),17px)}
.semia{display:none;padding:12px 15px;border-radius:14px;background:rgba(255,138,61,.08);border:1px dashed rgba(255,138,61,.4);font-size:14.5px;color:#ffd0b0}
.scene.noai-on .semia{display:block;animation:fadein .6s var(--ease)}
.scene.noai-on .viu-b,.scene.noai-on .val,.scene.noai-on .big{opacity:.28;filter:saturate(0);transition:.6s}
@keyframes fadein{from{opacity:0;transform:translateY(8px)}}
.nota{font-size:12.5px;color:var(--mut);padding-left:12px;border-left:2px solid var(--line)}

/* ---------------- câmera ---------------- */
.cam{position:relative;width:100%}
.stage{position:relative;aspect-ratio:16/9;width:100%;border-radius:clamp(14px,1.6vw,26px);overflow:hidden;background:#05080d;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 40px 100px -20px rgba(0,0,0,.8),0 0 120px -30px rgba(25,194,122,.18);transform:translateZ(0)}
.stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.stage .dim{position:absolute;inset:0;background:radial-gradient(120% 100% at 50% 40%,transparent 55%,rgba(4,7,12,.5));pointer-events:none}
.stage .desat{position:absolute;inset:0;-webkit-backdrop-filter:grayscale(1) contrast(.9) brightness(.8);backdrop-filter:grayscale(1) contrast(.9) brightness(.8);clip-path:inset(0 0 0 calc(var(--w)*1%));pointer-events:none}
.stage canvas.ov{position:absolute;inset:0;width:100%;height:100%;clip-path:inset(0 calc((100 - var(--w))*1%) 0 0);pointer-events:none}
.sweepline{position:absolute;top:0;bottom:0;left:calc(var(--w)*1%);width:2px;margin-left:-1px;opacity:var(--wo,0);pointer-events:none;background:linear-gradient(180deg,transparent,#d8fff0 12%,#d8fff0 88%,transparent);box-shadow:0 0 22px 4px rgba(25,194,122,.9),0 0 90px 24px rgba(25,194,122,.35)}
.stage .chip{position:absolute;top:12px;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 10px;border-radius:99px;font-size:12px;font-weight:600;letter-spacing:.02em;background:rgba(8,12,19,.62);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#e6ecf5;pointer-events:none}
.chip-cam{left:12px}.chip-ia{right:12px}
.rec{width:7px;height:7px;border-radius:50%;background:#ff5a4d;box-shadow:0 0 0 0 rgba(255,90,77,.6);animation:rec 1.6s infinite}
@keyframes rec{70%{box-shadow:0 0 0 8px rgba(255,90,77,0)}}
.ia-dot{width:7px;height:7px;border-radius:50%;background:var(--em);box-shadow:0 0 10px var(--em)}
.stage.noai .ia-dot{background:#7b8798;box-shadow:none}
.stage.noai .chip-ia{color:#9aa6b8}
.cam-hero{position:absolute;inset:0}
.cam-hero .stage{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;box-shadow:none;height:100%}
.cam-hero .stage .dim{background:linear-gradient(90deg,rgba(6,9,14,.88) 0%,rgba(6,9,14,.55) 45%,rgba(6,9,14,.25)),linear-gradient(0deg,rgba(6,9,14,.75),transparent 40%);transition:opacity 1.2s}
.live{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:clamp(10px,1.8vh,18px)}
.seg{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:14px;background:var(--glass);border:1px solid var(--line)}
.seg .thumb{position:absolute;top:4px;bottom:4px;left:50%;width:calc(50% - 4px);border-radius:10px;background:linear-gradient(180deg,rgba(25,194,122,.28),rgba(25,194,122,.14));border:1px solid rgba(25,194,122,.5);transition:transform .6s var(--ease),background .4s,border-color .4s}
.seg.off .thumb{transform:translateX(-100%);background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.2)}
.seg button{position:relative;z-index:1;min-height:44px;padding:0 16px;font-size:14px;font-weight:600;color:var(--mut);transition:color .3s;white-space:nowrap}
.seg button.on{color:var(--ink)}
.metrics{display:flex;gap:clamp(14px,1.8vw,30px);flex-wrap:wrap}
.m{position:relative;display:flex;flex-direction:column;min-width:64px}
.mv{font-size:clamp(26px,2.3vw,38px);font-weight:720;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1;transition:color .3s}
.ml{font-size:12px;color:var(--mut);margin-top:3px;white-space:nowrap}
.m-em .mv{color:var(--em)}.m-am .mv{color:var(--am)}.m-ink .mv{color:var(--ink)}
.m .plus{position:absolute;left:0;top:-10px;font-size:13px;color:var(--em);opacity:0;pointer-events:none}
.m.bump .mv{animation:pop .5s var(--ease)}
.m.bump .plus{animation:plus 1s var(--ease)}
@keyframes pop{35%{transform:scale(1.18)}}
@keyframes plus{0%{opacity:0;transform:translateY(8px)}25%{opacity:1}100%{opacity:0;transform:translateY(-14px)}}

/* ---------------- introdução / hero ---------------- */
.intro{padding:0;align-items:stretch;background:#05080d}
.intro::before{display:none}
.intro .content{position:relative;z-index:3;width:100%;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--top) + 20px) clamp(22px,6vw,110px) 60px;max-width:1500px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--em);font-weight:650;margin-bottom:clamp(14px,3vh,30px)}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--em)}
h1{font-size:clamp(40px,min(7vw,13vh),132px);line-height:.98;letter-spacing:-.05em;font-weight:760;max-width:14ch;text-wrap:balance}
h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
h1 .w>span{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--ease);transition-delay:calc(var(--i)*70ms + 350ms)}
.scene.in h1 .w>span{transform:none}
h1 .g{background:linear-gradient(100deg,#35e6a0,#19c27a 40%,#a5f5d2);-webkit-background-clip:text;background-clip:text;color:transparent}
.intro .sub{margin-top:clamp(14px,3vh,28px);font-size:clamp(16px,1.5vw,22px);color:#b9c4d4;max-width:46ch}
.startrow{margin-top:clamp(20px,4.4vh,44px);display:flex;gap:14px;flex-wrap:wrap;align-items:stretch}
.field{display:flex;flex-direction:column;justify-content:center;min-width:min(340px,100%);padding:8px 18px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:.3s}
.field:focus-within{border-color:var(--em);box-shadow:0 0 0 4px rgba(25,194,122,.15)}
.field label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.field input{background:none;border:0;outline:0;font-size:20px;font-weight:600;letter-spacing:-.02em;padding:2px 0 3px;min-height:30px;width:100%}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 28px;border-radius:16px;font-size:17px;font-weight:650;letter-spacing:-.01em;background:linear-gradient(180deg,#25d78b,#12a566);color:#04150d;box-shadow:0 0 0 1px rgba(255,255,255,.25) inset,0 14px 40px -8px rgba(25,194,122,.55);transition:transform .35s var(--ease),box-shadow .35s;text-decoration:none;position:relative;overflow:hidden}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(255,255,255,.3) inset,0 20px 50px -8px rgba(25,194,122,.7)}
.btn:active{transform:none}
.btn svg{width:18px;height:18px;transition:transform .35s var(--ease)}.btn:hover svg{transform:translateX(4px)}
.btn.ghost{background:var(--glass2);color:var(--ink);box-shadow:0 0 0 1px var(--line) inset}
.btn.big{min-height:66px;padding:0 36px;font-size:19px}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.45),transparent 70%);transform:translateX(-120%)}
.btn:hover::after{transform:translateX(120%);transition:transform .9s var(--ease)}
.fine{margin-top:18px;font-size:12.5px;color:#8b97aa;max-width:60ch}
.ph1,.ph2{transition:opacity .8s var(--ease),transform .8s var(--ease),filter .8s}
.intro.p2 .ph1{opacity:0;transform:translateY(-24px);pointer-events:none;position:absolute;filter:blur(6px)}
.ph2{display:none}
.intro.p2 .ph2{display:block;animation:fadein .9s var(--ease) .2s both}
.intro.p2 .cam-hero .dim{opacity:.55}
.scanhud{display:flex;flex-direction:column;gap:14px;max-width:560px}
.scanhud h2{font-size:clamp(34px,4.6vw,76px)}
.scanbar{height:4px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden;max-width:420px}
.scanbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--em-d),#7dffc8);box-shadow:0 0 14px var(--em);transition:width .2s linear}
.scancnt{display:flex;align-items:baseline;gap:12px}
.scancnt b{font-size:clamp(56px,8vw,120px);font-weight:760;letter-spacing:-.05em;line-height:.9;font-variant-numeric:tabular-nums;color:var(--ink)}
.scancnt span{font-size:18px;color:#c4cfdd}
.scandone{opacity:0;transform:translateY(12px);transition:.8s var(--ease);pointer-events:none}
.intro.done .scandone{opacity:1;transform:none;pointer-events:auto}
.scrollhint{position:absolute;z-index:4;left:50%;bottom:22px;transform:translateX(-50%);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8b97aa;display:none}

/* ---------------- planta / mapa de calor ---------------- */
.tabs{display:inline-flex;padding:4px;border-radius:12px;background:var(--glass);border:1px solid var(--line);margin-bottom:12px}
.tabs button{min-height:44px;padding:0 16px;border-radius:9px;font-size:14px;font-weight:600;color:var(--mut);transition:.3s}
.tabs button.on{background:rgba(255,255,255,.1);color:var(--ink)}
.plant{position:relative;aspect-ratio:1376/768;border-radius:clamp(14px,1.6vw,26px);overflow:hidden;background:#0a0f17;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 40px 100px -20px rgba(0,0,0,.8)}
.plant img.base{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.78) contrast(1.05)}
.plant canvas{position:absolute;inset:0;width:100%;height:100%}
.plant::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(110% 100% at 50% 40%,transparent 55%,rgba(5,8,13,.55))}
.zl{position:absolute;z-index:3;transform:translate(-50%,-50%);display:flex;align-items:baseline;gap:6px;padding:5px 11px;border-radius:99px;background:rgba(8,12,19,.7);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:clamp(10.5px,.95vw,14px);white-space:nowrap;transition:border-color .5s,background .5s;pointer-events:none}
.zl b{font-size:1.25em;font-weight:720;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.zl span{color:#c6d0de}
.zl.hot{border-color:rgba(255,138,61,.7)}.zl.hot b{color:var(--am)}
.zl.cold{border-color:rgba(120,170,255,.6)}.zl.cold b{color:#8fb4ff}
.plant .door{position:absolute;z-index:3;transform:translate(-50%,-50%);font-size:11px;color:#cfd8e6;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:6px;pointer-events:none}
.plant .door i{width:9px;height:9px;border-radius:50%;background:var(--em);box-shadow:0 0 0 0 rgba(25,194,122,.6);animation:rec 2s infinite}
.timebar{display:flex;align-items:center;gap:16px;margin-top:clamp(10px,1.8vh,18px)}
.playb{flex:none;width:48px;height:48px;border-radius:50%;background:var(--glass2);border:1px solid var(--line);display:grid;place-items:center;transition:.3s}
.playb:hover{background:rgba(255,255,255,.14)}
.playb svg{width:16px;height:16px}
.tl{flex:1;min-width:0}
.tl .row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2px}
.tl .hh{font-size:clamp(28px,2.6vw,42px);font-weight:720;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}
.tl .pp{font-size:13px;color:var(--mut)}
.tl .pp b{color:var(--ink);font-variant-numeric:tabular-nums}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:44px;background:transparent;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:linear-gradient(90deg,var(--em) 0 var(--p,0%),rgba(255,255,255,.14) var(--p,0%) 100%)}
input[type=range]::-moz-range-track{height:6px;border-radius:6px;background:rgba(255,255,255,.14)}
input[type=range]::-moz-range-progress{height:6px;border-radius:6px;background:var(--em)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;margin-top:-9px;background:#fff;border:0;box-shadow:0 2px 12px rgba(0,0,0,.5),0 0 0 6px rgba(25,194,122,.25)}
input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:0;box-shadow:0 2px 12px rgba(0,0,0,.5),0 0 0 6px rgba(25,194,122,.25)}
.ticks{display:flex;justify-content:space-between;font-size:10.5px;color:var(--dim);margin-top:-6px;padding:0 2px;font-variant-numeric:tabular-nums}
.heatreal{position:relative}
.heatreal img.hm{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:screen;opacity:.85;pointer-events:none;transition:opacity .6s}

/* ---------------- estoque / anúncio / resumo ---------------- */
.panel{padding:clamp(16px,2vw,30px);border-radius:clamp(14px,1.6vw,26px);background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 40px 100px -30px rgba(0,0,0,.7)}
.bars{display:flex;flex-direction:column;gap:clamp(8px,1.5vh,14px)}
.bar{display:grid;grid-template-columns:minmax(110px,170px) 1fr 70px;align-items:center;gap:14px;font-size:clamp(13px,1.1vw,16px)}
.bar .t{height:clamp(14px,2.4vh,22px);border-radius:7px;background:rgba(255,255,255,.06);overflow:hidden}
.bar .t i{display:block;height:100%;width:0;border-radius:7px;background:linear-gradient(90deg,var(--em-d),var(--em));transition:width 1.4s var(--ease);transition-delay:calc(var(--d,0)*140ms + 400ms)}
.bar .t i.am{background:linear-gradient(90deg,#c25a1a,var(--am))}
.bar b{text-align:right;font-variant-numeric:tabular-nums;font-weight:680}
.scene.in .bar .t i{width:var(--w)}
.ptitle{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-weight:650;margin-bottom:clamp(10px,1.8vh,18px);display:flex;justify-content:space-between;gap:12px}
.sep{height:1px;background:var(--line);margin:clamp(14px,2.4vh,26px) 0}
.chart{position:relative;height:clamp(180px,34vh,340px);display:flex;align-items:flex-end;gap:clamp(4px,.7vw,12px);padding-top:30px}
.chart .c{flex:1;position:relative;border-radius:8px 8px 3px 3px;background:rgba(255,255,255,.12);height:0;transition:height 1.1s var(--ease);transition-delay:calc(var(--d,0)*60ms + 300ms)}
.scene.in .chart .c{height:var(--h)}
.chart .c.ad{background:linear-gradient(180deg,#35e6a0,var(--em-d))}
.chart .c span{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-size:10.5px;color:var(--dim);font-variant-numeric:tabular-nums}
.chart .c b{position:absolute;top:-20px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--mut);font-variant-numeric:tabular-nums;font-weight:600}
.chart .avg{position:absolute;left:0;right:0;height:0;border-top:1.5px dashed;display:flex;justify-content:flex-end;transition:bottom 1s var(--ease)}
.chart .avg em{position:absolute;right:0;top:-24px;font-style:normal;font-size:12px;padding:2px 9px;border-radius:99px;background:#0a0f17;border:1px solid currentColor;white-space:nowrap}
.legend{display:flex;gap:18px;margin-top:34px;font-size:13px;color:var(--mut)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:7px;vertical-align:-1px}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ba .card{padding:16px 18px;border-radius:16px;background:var(--glass);border:1px solid var(--line)}
.ba .card.hl{background:rgba(25,194,122,.09);border-color:rgba(25,194,122,.3)}
.ba small{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.ba b{display:block;font-size:clamp(34px,3.6vw,58px);font-weight:740;letter-spacing:-.045em;line-height:1.05;font-variant-numeric:tabular-nums}
.ba .card.hl b{color:var(--em)}
.acts{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.acts div{display:flex;justify-content:space-between;gap:14px;padding:11px 14px;border-radius:12px;background:var(--glass);border:1px solid var(--line);font-size:14.5px}
.acts div span:last-child{color:var(--mut);font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---------------- celular ---------------- */
.phone{position:relative;width:var(--pw,300px);aspect-ratio:9/19;border-radius:calc(var(--pw,300px)*.15);padding:calc(var(--pw,300px)*.032);background:linear-gradient(145deg,#2b3340,#0d1118 40%,#1d2430);box-shadow:0 0 0 1.5px #3a4352 inset,0 0 0 1px #05070b,0 50px 100px -20px rgba(0,0,0,.9),0 0 90px -20px rgba(25,194,122,.25)}
.phone::before,.phone::after{content:"";position:absolute;width:3px;background:#2a323f;border-radius:2px}
.phone::before{left:-3px;top:18%;height:7%;box-shadow:0 52px 0 #2a323f}
.phone::after{right:-3px;top:24%;height:11%}
.screen{position:relative;width:100%;height:100%;border-radius:calc(var(--pw,300px)*.12);overflow:hidden;background:#0b141a;display:flex;flex-direction:column;isolation:isolate}
.island{position:absolute;z-index:6;top:2.2%;left:50%;transform:translateX(-50%);width:29%;height:3.1%;border-radius:20px;background:#000}
.lock{position:absolute;inset:0;z-index:2;background:radial-gradient(120% 70% at 30% 0%,#1d4a45 0%,#10242f 45%,#0a1119 100%);display:flex;flex-direction:column;align-items:center;padding:9% 6% 0}
.lock .sb{position:absolute;top:2.4%;left:9%;right:9%;display:flex;justify-content:space-between;font-size:calc(var(--pw,300px)*.04);font-weight:650;color:#fff}
.lock .dt{margin-top:14%;font-size:calc(var(--pw,300px)*.045);color:#cfe0e0;letter-spacing:.02em}
.lock .tm{font-size:calc(var(--pw,300px)*.2);font-weight:300;letter-spacing:-.04em;line-height:1.05;color:#fff;font-variant-numeric:tabular-nums}
.nlist{width:100%;margin-top:6%;display:flex;flex-direction:column;gap:7px}
.notif{display:grid;grid-template-columns:auto 1fr;gap:9px;padding:9px 10px;border-radius:calc(var(--pw,300px)*.065);background:rgba(245,248,250,.86);color:#0f1720;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 10px 30px rgba(0,0,0,.35);transform:translateY(-14px) scale(.96);opacity:0;transition:transform .7s var(--ease),opacity .5s}
.notif.show{transform:none;opacity:1}
.notif .ic{width:calc(var(--pw,300px)*.105);height:calc(var(--pw,300px)*.105);border-radius:22%;background:#25d366;display:grid;place-items:center}
.notif .ic svg{width:62%;height:62%}
.notif .hd{display:flex;justify-content:space-between;font-size:calc(var(--pw,300px)*.04);color:#4a5563}
.notif .hd b{color:#0f1720;font-weight:650}
.notif .bd{font-size:calc(var(--pw,300px)*.0455);line-height:1.28;margin-top:1px;white-space:pre-line}
.notif.alerta{box-shadow:0 10px 30px rgba(0,0,0,.35),0 0 0 2px var(--am)}
.notif.alerta .hd b::after{content:" · ALERTA";color:#d4601a}
.fixedphone{position:fixed;z-index:50;right:clamp(14px,3vw,56px);bottom:0;--pw:clamp(210px,19vw,300px);transform:translateY(100%);transition:transform 1s var(--ease);pointer-events:none}
.fixedphone.up{transform:translateY(calc(100% - var(--peek)))}
.fixedphone .lock .dt{display:none}
.fixedphone .lock .tm{margin-top:15%;font-size:calc(var(--pw,300px)*.15)}
.fixedphone .nlist{margin-top:4%}
.chat{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;background:#0b141a}
.chat .ch{display:flex;align-items:center;gap:9px;padding:calc(var(--pw,300px)*.13) 10px 9px;background:#1f2c34;color:#e9edef}
.chat .av{width:calc(var(--pw,300px)*.1);height:calc(var(--pw,300px)*.1);border-radius:50%;background:linear-gradient(145deg,#1ee08c,#0c7a4d);display:grid;place-items:center;flex:none}
.chat .av svg{width:56%;height:56%}
.chat .ch b{font-size:calc(var(--pw,300px)*.05);font-weight:600;display:block;line-height:1.15}
.chat .ch small{font-size:calc(var(--pw,300px)*.037);color:#8ca0a8}
.chat .body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:10px 9px 14px;background:#0b141a radial-gradient(circle at 20% 10%,rgba(255,255,255,.03),transparent 40%)}
.chat .bub{max-width:90%;padding:7px 9px 5px;border-radius:9px 9px 9px 2px;background:#202c33;color:#e9edef;font-size:calc(var(--pw,300px)*.0445);line-height:1.3;white-space:pre-line;align-self:flex-start;opacity:0;transform:translateY(12px) scale(.97);transition:opacity .5s,transform .6s var(--ease)}
.chat .bub.show{opacity:1;transform:none}
.chat .bub.out{align-self:flex-end;background:#005c4b;border-radius:9px 9px 2px 9px}
.chat .bub b{font-weight:650}
.chat .bub i{display:block;text-align:right;font-style:normal;font-size:calc(var(--pw,300px)*.034);color:#8ca0a8;margin-top:2px}
.chat .bub.al{border-left:3px solid var(--am)}
.chat .typing{align-self:flex-start;padding:9px 12px;border-radius:9px;background:#202c33;display:none;gap:4px}
.chat .typing.on{display:flex}
.chat .typing i{width:6px;height:6px;border-radius:50%;background:#8ca0a8;animation:ty 1.1s infinite}
.chat .typing i:nth-child(2){animation-delay:.15s}.chat .typing i:nth-child(3){animation-delay:.3s}
@keyframes ty{40%{transform:translateY(-4px);opacity:.5}}
.chat .inp{display:flex;align-items:center;gap:7px;padding:7px 9px 12px;background:#0b141a}
.chat .inp div{flex:1;height:calc(var(--pw,300px)*.1);border-radius:99px;background:#202c33}
.chat .inp span{width:calc(var(--pw,300px)*.1);height:calc(var(--pw,300px)*.1);border-radius:50%;background:#00a884}
.bigphone{--pw:clamp(250px,min(22vw,40vh),380px);margin:0 auto}
.scene.resumo .left{display:flex;justify-content:center;align-items:center}

/* ---------------- como funciona / simulação ---------------- */
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,24px)}
.step{position:relative;padding:clamp(18px,2vw,30px);border-radius:24px;background:var(--glass);border:1px solid var(--line);overflow:hidden}
.step .no{font-size:clamp(60px,7vw,110px);font-weight:760;letter-spacing:-.06em;line-height:.85;color:transparent;-webkit-text-stroke:1.2px rgba(255,255,255,.22)}
.step h3{font-size:clamp(20px,1.8vw,28px);letter-spacing:-.03em;margin:14px 0 8px;font-weight:700}
.step p{color:#b5c0d0;font-size:clamp(14px,1.1vw,16.5px)}
.step svg{position:absolute;right:16px;top:16px;width:72px;height:72px;opacity:.9}
.priv{margin-top:clamp(14px,2.4vh,24px);display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.priv div{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:rgba(25,194,122,.07);border:1px solid rgba(25,194,122,.22);font-size:14.5px;color:#cfdad6}
.priv svg{flex:none;width:22px;height:22px;color:var(--em);margin-top:1px}
.priv b{display:block;color:var(--ink);margin-bottom:1px}
.head{margin-bottom:clamp(14px,3vh,34px)}
.head h2{max-width:20ch}
.sim{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(20px,3.5vw,64px);align-items:center}
.rr{padding:6px 0 4px}
.rr .tr{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.rr label{font-size:14.5px;color:#c3ccda}
.rr output{font-size:22px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.res{display:flex;flex-direction:column;gap:12px}
.rc{padding:clamp(14px,2.2vh,22px) clamp(16px,1.6vw,26px);border-radius:20px;background:var(--glass);border:1px solid var(--line)}
.rc span{font-size:13px;color:var(--mut);letter-spacing:.02em}
.rc b{display:block;font-size:clamp(34px,min(4.2vw,7.4vh),78px);font-weight:760;letter-spacing:-.05em;line-height:1.05;font-variant-numeric:tabular-nums}
.rc small{display:block;font-size:12.5px;color:var(--dim);margin-top:2px}
.rc.hl{background:linear-gradient(180deg,rgba(25,194,122,.15),rgba(25,194,122,.05));border-color:rgba(25,194,122,.35)}
.rc.hl b{color:var(--em)}
.rc.top b{color:var(--ink)}
.cta{margin-top:6px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.cta p{font-size:12.5px;color:var(--mut);max-width:54ch}
.tag{position:absolute;z-index:3;top:calc(var(--top) + 6px);right:clamp(18px,3.4vw,64px);font-size:11.5px;color:#aab6c8;letter-spacing:.04em;padding:4px 10px;border:1px solid var(--line);border-radius:99px;background:rgba(8,12,19,.5)}

/* ---------------- responsivo ---------------- */
@media (max-width:1100px){
  .chapters button span{display:none}
  .chapters button{min-width:30px}
  .chapters button.cur span{display:none}
}
@media (max-width:899px){
  :root{--top:54px}
  html{scroll-snap-type:none}
  .scene{min-height:0;align-items:flex-start;padding:calc(var(--top) + 8px) 16px 44px}
  .wrap{grid-template-columns:1fr;gap:18px}
  .right{padding-bottom:0}
  .stage{border-radius:14px}
  .scene.intro{min-height:100svh}
  .top{gap:10px;padding:0 12px}
  .brand small{display:none}
  .brand b{max-width:34vw;font-size:13.5px}
  .chapters{display:none}
  .meter{padding:5px 11px}
  .meter b{font-size:17px}
  .meter small{font-size:9.5px}
  .help{display:none}
  h1{font-size:clamp(40px,12.4vw,64px)}
  .intro .content{padding:calc(var(--top) + 6px) 20px 40px;justify-content:flex-end}
  .live{gap:12px}
  .seg{width:100%}
  .seg button{padding:0 10px}
  .metrics{width:100%;justify-content:space-between}
  .tag{display:none}
  .how,.priv,.sim{grid-template-columns:1fr}
  .ba{grid-template-columns:1fr 1fr}
  .bar{grid-template-columns:96px 1fr 44px;gap:10px}
  .fixedphone{--pw:230px;right:50%;margin-right:-115px;--peek:190px}
  .scene.resumo .left{order:2}
  .bigphone{--pw:min(300px,78vw)}
  .btn{width:100%}
  .field{min-width:0;width:100%}
  .scrollhint{display:block}
  .step svg{width:56px;height:56px}
  .chart{height:200px}
}
@media (max-height:700px) and (min-width:900px){
  :root{--top:56px}
  .scene{padding-bottom:20px}
  .right{gap:9px}
  .help{display:none}
  .live{margin-top:8px}
  .todo{padding:10px 14px}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;transition-delay:0s!important}
}
@media (min-width:900px) and (min-height:600px){
  html{scroll-snap-type:y proximity}
  .scene{scroll-snap-align:start}
}

/* calor no piso + painel ao vivo */
.heatwrap{position:absolute;inset:0;clip-path:inset(0 calc((100 - var(--w))*1%) 0 0);pointer-events:none}
.heatimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:screen;opacity:.1;filter:saturate(.8) blur(1px)}
.occ{position:absolute;left:clamp(12px,1.6vw,26px);bottom:clamp(12px,1.6vw,26px);padding:clamp(8px,1vw,14px) clamp(12px,1.3vw,20px);border-radius:16px;background:rgba(8,12,19,.7);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none}
.occ-h{display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:clamp(10.5px,.85vw,13px);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:6px}
.occ-h span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#ff5a4d;margin-right:7px;animation:rec 1.6s infinite}
.occ-h time{font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:.04em}
.occ-g{display:flex;gap:clamp(14px,1.8vw,30px)}
.oc b{display:block;font-size:clamp(26px,2.9vw,50px);font-weight:740;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.oc span{display:block;font-size:clamp(11px,.9vw,14px);color:#b9c4d4;margin-top:3px;white-space:nowrap}
.oc-em b{color:var(--em)}.oc-ink b{color:var(--ink)}
.oc.bump b{animation:pop .5s var(--ease)}
@media (max-width:899px){.occ{display:none}}
