/* TOTIQ — baseado em design_reference/DESIGN.md (midnight precision instrument) */
:root{
  --void:#08090a; --carbon:#0f1011; --obsidian:#161718; --graphite:#23252a; --smoke:#383b3f;
  --ash:#62666d; --fog:#8a8f98; --mist:#d0d6e0; --bone:#e5e5e6; --paper:#fff;
  --lime:#e4f222; --green:#27a644; --coral:#eb5757; --teal:#02b8cc; --iris:#6366f1; --lav:#8b5cf6;
  --azure:#4A90D9;
  --font:'Inter',ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--void);color:var(--mist);font-family:var(--font);font-size:16px;line-height:1.5;font-feature-settings:"cv01","ss03","zero";-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.mono{font-family:var(--mono);letter-spacing:-.013em}

/* type */
h1,h2,h3{color:var(--paper);font-weight:510}
h1{font-size:clamp(44px,7vw,72px);line-height:1;letter-spacing:-.022em}
h2{font-size:clamp(34px,4.6vw,48px);line-height:1.02;letter-spacing:-.022em}
h3{font-size:20px;line-height:1.33;letter-spacing:-.012em}
p{color:var(--fog)}
.lead{font-size:20px;line-height:1.4;letter-spacing:-.012em;color:var(--fog);max-width:440px}
.tag{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--fog);margin-bottom:20px}
.tag i{width:6px;height:6px;border-radius:2px;background:var(--lime)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;font:510 14px var(--font);letter-spacing:-.011em;border-radius:6px;border:1px solid var(--graphite);color:var(--mist);background:transparent;cursor:pointer;transition:background .25s,border-color .25s,transform .25s var(--ease)}
.btn:hover{border-color:var(--smoke);background:rgba(255,255,255,.04)}
.btn.lime{background:var(--lime);color:var(--void);border-color:transparent;box-shadow:rgba(0,0,0,.01) 0 5px 2px,rgba(0,0,0,.04) 0 3px 2px,rgba(0,0,0,.07) 0 1px 1px;position:relative;overflow:hidden}
.btn.lime::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn.lime:hover{transform:translateY(-1px);background:#eef84a}
.btn.lime:hover::after{transform:translateX(120%)}
.btn.pill{background:var(--paper);color:var(--void);border-radius:9999px;padding:8px 16px;font-size:13px;border:0}
.btn.pill:hover{background:var(--bone)}
.link{font-size:15px;color:var(--mist);display:inline-flex;gap:8px;align-items:center;transition:color .2s}
.link span{transition:transform .3s var(--ease)}
.link:hover{color:var(--paper)}.link:hover span{transform:translateX(4px)}

/* nav */
nav{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
nav.sc{background:rgba(8,9,10,.72);backdrop-filter:blur(14px);border-color:var(--graphite)}
nav .wrap{display:flex;align-items:center;height:60px;gap:40px}
nav .logo img{height:22px}
.links{display:flex;gap:4px;margin-right:auto}
.links a{font-size:13px;padding:8px 12px;color:var(--mist);position:relative}
.links a::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:1px;background:var(--mist);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.links a:hover::after{transform:scaleX(1)}

/* hero */
.hero{padding:150px 0 0;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;left:50%;top:-220px;width:1100px;height:700px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(74,144,217,.16),transparent);animation:breathe 9s ease-in-out infinite;pointer-events:none}
@keyframes breathe{50%{opacity:.5;transform:translateX(-50%) scale(1.12)}}
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--graphite) 1px,transparent 1px),linear-gradient(90deg,var(--graphite) 1px,transparent 1px);background-size:80px 80px;opacity:.35;mask-image:radial-gradient(ellipse 70% 60% at 50% 0,#000,transparent);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 0,#000,transparent)}
.hero .wrap{position:relative}
.hero-top{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:end}
.hero h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.hero h1 .w span{display:inline-block;transform:translateY(110%);animation:up .9s var(--ease) forwards;animation-delay:calc(var(--i)*70ms + 150ms)}
@keyframes up{to{transform:none}}
.hero-side{padding-bottom:8px}
.hero-side p{font-size:18px;line-height:1.45;margin-bottom:28px}
.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.fade{opacity:0;transform:translateY(16px);animation:fadeUp .9s var(--ease) forwards;animation-delay:var(--d,0ms)}
@keyframes fadeUp{to{opacity:1;transform:none}}

/* window (product mock) */
.win{background:var(--carbon);border-radius:12px;box-shadow:rgb(35,37,42) 0 0 0 1px inset,rgba(8,9,10,.6) 0 4px 32px;overflow:hidden;position:relative}
.win-bar{display:flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:1px solid var(--graphite);font-size:12px;color:var(--ash)}
.win-bar i{width:9px;height:9px;border-radius:50%;background:var(--graphite)}
.win-bar span{margin-left:10px}
.win-bar .live{margin-left:auto;display:flex;align-items:center;gap:6px;color:var(--fog)}
.live b{width:6px;height:6px;border-radius:50%;background:var(--lime);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(228,242,34,.6)}100%{box-shadow:0 0 0 8px rgba(228,242,34,0)}}

.hero-visual{margin-top:80px;position:relative}
.floor{position:absolute;left:4%;right:4%;bottom:-120px;height:300px;background:linear-gradient(180deg,rgba(8,9,10,0) 0%,rgba(208,214,224,.20) 70%,rgba(8,9,10,0) 100%);filter:blur(30px);z-index:0}
.hero-visual .win{z-index:1;transform:perspective(1600px) rotateX(5deg);transform-origin:center top;opacity:0;animation:tilt 1.4s var(--ease) .7s forwards}
@keyframes tilt{from{opacity:0;transform:perspective(1600px) rotateX(14deg) translateY(60px)}to{opacity:1;transform:perspective(1600px) rotateX(0)}}
.dash{display:grid;grid-template-columns:200px 1fr;min-height:420px}
.side{border-right:1px solid var(--graphite);padding:16px 10px;font-size:13px;display:grid;gap:2px;align-content:start}
.side div{padding:7px 10px;border-radius:6px;color:var(--fog);display:flex;gap:10px;align-items:center}
.side div.on{background:rgba(255,255,255,.05);color:var(--paper)}
.side small{font-size:11px;color:var(--ash);padding:14px 10px 6px;text-transform:uppercase;letter-spacing:.06em}
.main{padding:24px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.kpi{border:1px solid var(--graphite);border-radius:8px;padding:14px 16px}
.kpi small{font-size:12px;color:var(--ash);display:block}
.kpi b{font-size:28px;color:var(--paper);font-weight:510;letter-spacing:-.022em;display:block;margin-top:4px;font-variant-numeric:tabular-nums;white-space:nowrap}
.kpi em{font-style:normal;font-size:12px;color:var(--green)}
.rows{border:1px solid var(--graphite);border-radius:8px;overflow:hidden}
.row{display:grid;grid-template-columns:70px 1fr 120px 112px;gap:12px;align-items:center;padding:11px 16px;font-size:13px;border-bottom:1px solid var(--graphite);min-height:48px}
.row:last-child{border:0}
.row .id{font-family:var(--mono);color:var(--ash);font-size:12px}
.row .nm{color:var(--mist)}
.bar{height:4px;border-radius:4px;background:var(--graphite);overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--coral);border-radius:4px;transition:width 1.4s var(--ease),background .6s}
.badge{font-size:12px;padding:1px 8px;border-radius:4px;background:rgba(255,255,255,.05);color:var(--fog);text-align:center;transition:background .5s,color .5s;white-space:nowrap}
.row.ok .bar i{background:var(--green)}
.row.ok .badge{background:rgba(39,166,68,.16);color:#5fd27c}
.row.bad .badge{background:rgba(235,87,87,.15);color:#f08a8a}

/* logo strip */
.strip{padding:90px 0 40px;text-align:center}
.strip p{font-size:13px;margin-bottom:28px}
.marq{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
.marq div{display:flex;gap:64px;width:max-content;animation:scroll 32s linear infinite}
.marq span{font-size:20px;font-weight:510;color:var(--ash);letter-spacing:-.02em;white-space:nowrap;transition:color .3s}
.marq span:hover{color:var(--mist)}
.brand{height:30px;width:auto;opacity:.45;filter:invert(1);transition:opacity .3s}
.brand:hover{opacity:.9}
@keyframes scroll{to{transform:translateX(-50%)}}

/* feature sections */
.sec{padding:96px 0;border-top:1px solid var(--graphite)}
.sec.nb{border:0}
.split{display:grid;grid-template-columns:1fr 1.25fr;gap:72px;align-items:center}
.split.rev{grid-template-columns:1.25fr 1fr}.split.rev .copy{order:2}
.copy h2{margin-bottom:20px}
.copy p{font-size:17px;line-height:1.55;margin-bottom:28px;max-width:420px}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{font-size:13px;color:var(--fog);display:flex;gap:8px;align-items:center}
.chip::before{content:"";width:5px;height:5px;border-radius:1px;background:var(--smoke)}
.spot{--mx:50%;--my:50%}
.spot::before{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx) var(--my),rgba(255,255,255,.06),transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none;z-index:2}
.spot:hover::before{opacity:1}

/* mock: diagnosis */
.diag{padding:20px}
.diag h4{font-size:12px;color:var(--ash);font-weight:400;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
.leak{display:grid;grid-template-columns:150px 1fr 70px;gap:14px;align-items:center;padding:10px 0;font-size:13px;border-bottom:1px solid var(--graphite)}
.leak:last-of-type{border:0}
.leak .bar{height:6px}
.leak .bar i{background:linear-gradient(90deg,var(--azure),#88bdf2)}
.leak b{font-family:var(--mono);font-weight:400;color:var(--mist);text-align:right;font-size:12px}
.reveal-in .leak .bar i{width:var(--w)}
.note-card{margin-top:16px;border:1px solid var(--graphite);border-radius:8px;padding:12px 14px;font-size:13px;display:flex;gap:12px;align-items:center;color:var(--fog);background:rgba(255,255,255,.02)}
.note-card b{color:var(--paper);font-weight:510}

/* mock: flow */
.flowbox{padding:0;aspect-ratio:3/2;position:relative;background-image:radial-gradient(var(--graphite) 1px,transparent 1px);background-size:22px 22px}
.flowbox svg{position:absolute;inset:0;width:100%;height:100%}
.path{fill:none;stroke:var(--smoke);stroke-width:1.2}
.pulse{fill:none;stroke:var(--lime);stroke-width:1.6;stroke-dasharray:6 100;stroke-linecap:round;animation:dash 3.6s linear infinite;animation-delay:var(--dl,0s);filter:drop-shadow(0 0 4px rgba(228,242,34,.7))}
@keyframes dash{from{stroke-dashoffset:6}to{stroke-dashoffset:-100}}
.nd{position:absolute;transform:translate(-50%,-50%);background:var(--carbon);border-radius:8px;box-shadow:rgb(35,37,42) 0 0 0 1px inset;padding:10px 14px;font-size:12px;color:var(--mist);white-space:nowrap;display:flex;gap:8px;align-items:center;animation:glow 3.6s infinite;animation-delay:var(--dl,0s)}
.nd small{font-family:var(--mono);color:var(--ash);font-size:10px}
.nd.core{background:var(--paper);color:var(--void);font-weight:510;padding:12px 18px;animation:none;box-shadow:0 0 0 6px rgba(255,255,255,.06),0 0 40px rgba(228,242,34,.18)}
.nd.core::after{content:"";position:absolute;inset:-1px;border-radius:8px;border:1px solid var(--lime);animation:ring 2.4s infinite}
@keyframes ring{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.35,1.6);opacity:0}}
@keyframes glow{0%,100%{box-shadow:rgb(35,37,42) 0 0 0 1px inset}12%,30%{box-shadow:rgb(74,144,217) 0 0 0 1px inset,0 0 24px rgba(74,144,217,.35)}}

/* mock: chat */
.chatbox{padding:20px;height:480px;display:flex;flex-direction:column;gap:12px;font-size:14px;overflow:hidden;position:relative}
.msg{max-width:78%;padding:10px 14px;border-radius:12px;display:none}
.msg.show{display:block;animation:msgIn .5s var(--ease) forwards}
@keyframes msgIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.msg.u{background:var(--obsidian);color:var(--mist);align-self:flex-start;border-top-left-radius:4px}
.msg.a{background:rgba(74,144,217,.14);color:var(--paper);align-self:flex-end;border-top-right-radius:4px;box-shadow:rgba(74,144,217,.3) 0 0 0 1px inset}
.msg .meta{display:block;font-size:11px;color:var(--ash);margin-bottom:2px;font-family:var(--mono)}
.typing{align-self:flex-end;display:none;gap:4px;padding:12px 14px;background:rgba(74,144,217,.14);border-radius:12px}
.typing.show{display:flex;animation:msgIn .3s forwards}
.typing i{width:5px;height:5px;border-radius:50%;background:var(--fog);animation:bounce 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes bounce{40%{transform:translateY(-4px);opacity:.4}}
.crm{margin-top:auto;border:1px solid var(--graphite);border-radius:8px;padding:10px 14px;font-size:12px;display:none;gap:10px;align-items:center;color:var(--fog)}
.crm.show{display:flex;animation:msgIn .6s forwards}
.crm b{color:var(--paper);font-weight:510}

/* mock: data */
.chart{padding:20px}
.chart-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:8px}
.chart-head b{font-size:36px;color:var(--paper);font-weight:510;letter-spacing:-.022em;line-height:1}
.chart-head small{display:block;color:var(--ash);font-size:12px;margin-bottom:6px}
.chart svg{width:100%;height:220px;overflow:visible}
.ln{fill:none;stroke:var(--lime);stroke-width:2;stroke-dasharray:700;stroke-dashoffset:700;transition:stroke-dashoffset 2.2s var(--ease)}
.ar{fill:url(#ag);opacity:0;transition:opacity 1.2s .9s}
.reveal-in .ln{stroke-dashoffset:0}.reveal-in .ar{opacity:1}
.gl{stroke:var(--graphite);stroke-width:1}
.dot{fill:var(--lime);opacity:0;transition:opacity .4s 2s}.reveal-in .dot{opacity:1}

/* method */
.method{padding:96px 0;border-top:1px solid var(--graphite)}
.method-head{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:64px}
.method-head p{font-size:17px;max-width:420px}
.tl{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.tl::before,.tl::after{content:"";position:absolute;top:5px;left:0;height:1px;background:var(--graphite);width:100%}
.tl::after{background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform 2.4s var(--ease) .2s}
.reveal-in.tl::after{transform:scaleX(1)}
.st{padding:36px 28px 0 0;position:relative}
.st::before{content:"";position:absolute;top:0;left:0;width:11px;height:11px;border-radius:50%;background:var(--void);box-shadow:0 0 0 1px var(--smoke);z-index:1;transition:.5s}
.reveal-in .st::before{background:var(--lime);box-shadow:0 0 0 4px rgba(228,242,34,.15);transition-delay:calc(var(--i)*.55s)}
.st .no{font-size:12px;color:var(--ash);margin-bottom:10px;display:block}
.st h3{margin-bottom:10px}
.st p{font-size:15px;line-height:1.55}
.st em{font-style:normal;display:inline-block;margin-top:16px;font-size:12px;padding:1px 8px;border-radius:4px;background:rgba(255,255,255,.05);color:var(--fog)}

/* results */
.results{padding:96px 0;border-top:1px solid var(--graphite)}
.results h2{max-width:620px;margin-bottom:56px}
.nums{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--graphite);border-bottom:1px solid var(--graphite)}
.num{padding:36px 24px 36px 0;border-right:1px solid var(--graphite);padding-left:24px}
.num:first-child{padding-left:0}.num:last-child{border:0}
.num b{display:block;color:var(--paper);font-weight:510;font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:-.022em;font-variant-numeric:tabular-nums}
.num>span{display:block;margin-top:14px;font-size:14px;color:var(--fog);max-width:200px}
.foot-note{font-size:12px;color:var(--ash);margin-top:20px}

/* faq */
.faq-wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:64px}
.faq-wrap h2{position:sticky;top:100px;align-self:start}
details{border-bottom:1px solid var(--graphite);padding:22px 0}
details:first-child{border-top:1px solid var(--graphite)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;color:var(--paper);font-size:17px;font-weight:510;letter-spacing:-.011em}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--mono);color:var(--fog);transition:transform .35s var(--ease)}
details[open] summary::after{transform:rotate(135deg)}
details p{margin-top:12px;font-size:15px;line-height:1.6;max-width:540px;animation:fadeUp .5s var(--ease)}

/* cta */
.cta{padding:120px 0;border-top:1px solid var(--graphite);position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;left:50%;bottom:-300px;width:900px;height:500px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(208,214,224,.18),transparent);pointer-events:none}
.cta-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:72px;align-items:center;position:relative}
.cta h2{margin-bottom:20px}
.cta p{font-size:18px;max-width:420px}
.form{padding:28px;display:grid;gap:10px}
.form label{font-size:12px;color:var(--ash)}
input,select{width:100%;padding:12px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);color:var(--mist);font:400 14px var(--font);transition:border-color .2s,background .2s;appearance:none}
input::placeholder{color:var(--ash)}
input:focus,select:focus{outline:0;border-color:var(--mist);background:rgba(255,255,255,.04)}
select option{background:var(--carbon)}
.form .btn{justify-content:center;margin-top:8px;padding:12px}
.ok{display:none;text-align:center;font-size:12px;color:var(--green);font-family:var(--mono)}

footer{border-top:1px solid var(--graphite);padding:56px 0 40px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;font-size:13px}
.fgrid img{height:22px;margin-bottom:16px}
.fgrid h5{font-weight:510;color:var(--paper);font-size:13px;margin-bottom:14px}
.fgrid a{display:block;color:var(--fog);margin-bottom:10px;transition:color .2s}
.fgrid a:hover{color:var(--paper)}
.fgrid p{font-size:13px;max-width:260px}
.copy-r{margin-top:48px;font-size:12px;color:var(--ash);display:flex;justify-content:space-between;border-top:1px solid var(--graphite);padding-top:20px}

/* scroll reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0ms)}
.rv.in{opacity:1;transform:none}

@media(max-width:900px){
  .links{display:none}nav .wrap{justify-content:space-between}
  .hero-top,.split,.split.rev,.method-head,.faq-wrap,.cta-grid{grid-template-columns:1fr;gap:40px}
  .split.rev .copy{order:0}
  .dash{grid-template-columns:1fr}.side{display:none}
  .kpis{grid-template-columns:1fr}
  .row{grid-template-columns:56px 1fr 106px;height:64px}.row .bar{display:none}
  .tl{grid-template-columns:1fr;gap:32px}.tl::before,.tl::after{width:1px;height:100%;left:5px;top:0}.tl::after{transform:scaleY(0);transform-origin:top}.reveal-in.tl::after{transform:scaleY(1)}
  .st{padding:0 0 0 32px}.st::before{top:4px}
  .nums{grid-template-columns:1fr 1fr}.num{padding-left:0;border-bottom:1px solid var(--graphite)}
  .fgrid{grid-template-columns:1fr 1fr}
  .faq-wrap h2{position:static}
  .nd{font-size:10px;padding:6px 8px}
}
