/* =========================================================
   AgêncIA Imob — apresentação imersiva
   ========================================================= */

:root{
  --void:#04010c;
  --void-2:#0a0418;
  --ink:#f4f0ff;
  --ink-dim:rgba(238,232,255,.62);
  --ink-faint:rgba(238,232,255,.34);

  --violet:#8b5cf6;
  --violet-hi:#a78bfa;
  --blue:#3b82f6;
  --cyan:#22d3ee;
  --magenta:#e879f9;
  --red:#fb3b5c;
  --amber:#ffb347;

  --line:rgba(160,130,255,.16);
  --line-hi:rgba(180,150,255,.34);

  --glow-v:0 0 40px rgba(139,92,246,.45);
  --glow-c:0 0 40px rgba(34,211,238,.35);

  --ff-d:"Space Grotesk", "Inter", system-ui, sans-serif;
  --ff-b:"Inter", system-ui, sans-serif;
  --ff-m:"JetBrains Mono", ui-monospace, monospace;

  --pad:clamp(20px, 5vw, 84px);
  --maxw:1440px;
}

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:auto; -webkit-text-size-adjust:100%;}
body{
  background:var(--void);
  color:var(--ink);
  font-family:var(--ff-b);
  font-weight:300;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.is-locked{overflow:hidden;height:100vh;}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}

::selection{background:rgba(139,92,246,.42);color:#fff;}

::-webkit-scrollbar{width:9px;}
::-webkit-scrollbar-track{background:#06021040;}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--violet),var(--blue));border-radius:20px;}

/* ---------------- PRELOADER ---------------- */
#preloader{
  position:fixed; inset:0; z-index:200;
  background:radial-gradient(120% 100% at 50% 40%, #16093a 0%, #06010f 55%, #030008 100%);
  display:grid; place-items:center;
  transition:opacity .9s cubic-bezier(.2,.7,.2,1), visibility .9s;
}
#preloader.done{opacity:0;visibility:hidden;pointer-events:none;}
.pre-inner{width:min(340px,72vw);text-align:center;}
.pre-mark{
  font-family:var(--ff-d); font-weight:700; font-size:clamp(46px,8vw,72px);
  letter-spacing:-.05em; line-height:1;
  background:linear-gradient(120deg,var(--violet-hi),var(--cyan) 45%,var(--magenta));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 0 26px rgba(139,92,246,.55));
}
.pre-mark span{opacity:.4;}
.pre-bar{margin:26px 0 12px;height:1px;background:rgba(255,255,255,.12);overflow:hidden;}
.pre-bar i{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--violet),var(--cyan));box-shadow:0 0 14px var(--cyan);}
.pre-status{font-family:var(--ff-m);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);}
.pre-status em{font-style:normal;opacity:.6;}

/* ---------------- WEBGL STAGE ---------------- */
#stage{position:fixed;inset:0;z-index:0;pointer-events:none;}
#gl{position:absolute;inset:0;width:100%;height:100%;display:block;}
.stage-veil{
  position:absolute;inset:0;
  background:
    radial-gradient(80% 55% at 50% 50%, transparent 30%, rgba(4,1,12,.55) 78%, rgba(4,1,12,.9) 100%);
  mix-blend-mode:multiply;
}
.stage-grain{
  position:absolute;inset:-120px;opacity:.16;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  animation:grain 5.6s steps(6) infinite;
}
@keyframes grain{
  0%{transform:translate(0,0)}20%{transform:translate(-14px,9px)}40%{transform:translate(11px,-13px)}
  60%{transform:translate(-8px,-6px)}80%{transform:translate(13px,10px)}100%{transform:translate(0,0)}
}
.stage-scan{
  position:absolute;inset:0;opacity:.35;
  background:repeating-linear-gradient(180deg, rgba(255,255,255,.028) 0 1px, transparent 1px 4px);
}

/* ---------------- HUD ---------------- */
#hud{position:fixed;inset:0;z-index:60;pointer-events:none;}
.hud-top{
  position:absolute;top:0;left:0;right:0;
  display:flex;justify-content:space-between;align-items:center;
  padding:clamp(16px,2.4vw,28px) var(--pad);
}
.hud-brand{
  pointer-events:auto;
  font-family:var(--ff-d);font-weight:600;font-size:14px;letter-spacing:-.01em;
  display:flex;align-items:center;gap:9px;color:var(--ink);
}
.hud-brand em{font-style:normal;color:var(--violet-hi);}
.hud-brand .dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 12px var(--cyan);
  animation:pulse 2.4s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
.hud-sec{
  font-family:var(--ff-m);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ink-faint);
}
.hud-progress{position:absolute;top:0;left:0;right:0;height:2px;background:rgba(255,255,255,.05);}
.hud-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--violet),var(--cyan) 60%,var(--magenta));box-shadow:0 0 12px rgba(139,92,246,.9);}

.hud-dots{
  position:absolute;right:calc(var(--pad) * .55);top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;gap:11px;pointer-events:auto;
}
.hud-dots button{
  all:unset;cursor:pointer;width:22px;height:14px;display:grid;place-items:center;
}
.hud-dots button i{
  width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.22);
  transition:all .4s cubic-bezier(.2,.7,.2,1);display:block;
}
.hud-dots button.on i{background:var(--cyan);box-shadow:0 0 10px var(--cyan);transform:scale(1.5);}
.hud-dots button:hover i{background:var(--violet-hi);}

.hud-cta{
  pointer-events:auto;
  position:absolute;bottom:clamp(18px,2.6vw,30px);right:var(--pad);
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 20px;border-radius:100px;
  border:1px solid var(--line-hi);
  background:rgba(20,8,44,.5);backdrop-filter:blur(14px);
  font-size:12.5px;letter-spacing:.02em;font-weight:500;
  transition:all .45s cubic-bezier(.2,.7,.2,1);
  opacity:0;transform:translateY(14px);
}
.hud-cta.show{opacity:1;transform:translateY(0);}
.hud-cta svg{width:15px;height:15px;transition:transform .4s;}
.hud-cta:hover{border-color:var(--violet-hi);box-shadow:0 0 30px rgba(139,92,246,.4);background:rgba(35,14,70,.65);}
.hud-cta:hover svg{transform:translateX(4px);}

/* cursor */
#cursor{position:fixed;top:0;left:0;z-index:150;pointer-events:none;mix-blend-mode:screen;opacity:0;transition:opacity .4s;}
#cursor.on{opacity:1;}
#cursor i{
  display:block;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;
  background:radial-gradient(circle, rgba(139,92,246,.20) 0%, rgba(59,130,246,.09) 38%, transparent 66%);
}

/* ---------------- LAYOUT ---------------- */
#scroll-root{position:relative;z-index:10;}
.sec{
  position:relative;
  min-height:100svh;
  display:flex;align-items:center;
  padding:clamp(90px,13vh,170px) var(--pad);
}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;position:relative;}
.wrap.center{text-align:center;display:flex;flex-direction:column;align-items:center;}
.grid-2{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,6vw,90px);align-items:center;}
.sec-trilha.alt .grid-2{direction:rtl;}
.sec-trilha.alt .grid-2 > *{direction:ltr;}

/* ---------------- TYPE ---------------- */
.mega,.huge,.big{
  font-family:var(--ff-d);font-weight:700;
  letter-spacing:-.045em;line-height:.86;margin:0;
  text-transform:uppercase;
}
.mega{font-size:clamp(52px,12.5vw,190px);}
.huge{font-size:clamp(42px,8vw,116px);}
.big{
  font-size:clamp(34px,5.6vw,84px);
  text-transform:none;letter-spacing:-.035em;line-height:1.02;font-weight:600;
}
.mega .l,.huge .l,.big .l{display:block;}

.accent{
  background:linear-gradient(100deg,var(--violet-hi) 0%,var(--blue) 38%,var(--cyan) 62%,var(--magenta) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 34px rgba(139,92,246,.42));
}
.grad{
  background:linear-gradient(100deg,var(--violet-hi),var(--magenta) 55%,var(--red));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.outline{
  color:transparent;
  -webkit-text-stroke:1.4px rgba(190,170,255,.55);
  filter:drop-shadow(0 0 22px rgba(139,92,246,.28));
}

.eyebrow,.kicker{
  font-family:var(--ff-m);font-size:clamp(10px,1vw,12px);
  letter-spacing:.32em;text-transform:uppercase;color:var(--ink-faint);
  margin:0 0 clamp(18px,2.6vw,34px);
}
.kicker::before{
  content:"";display:inline-block;width:34px;height:1px;
  background:linear-gradient(90deg,var(--violet),transparent);
  vertical-align:middle;margin-right:14px;
}
.lede{
  font-size:clamp(15px,1.55vw,21px);line-height:1.62;color:var(--ink-dim);
  max-width:62ch;margin:clamp(24px,3.4vw,40px) auto 0;font-weight:300;
}
.wrap:not(.center) .lede{margin-left:0;}
.body{font-size:clamp(14.5px,1.25vw,17px);color:var(--ink-dim);margin:0;}
.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(24px,4vw,60px);margin-top:clamp(34px,5vw,64px);max-width:960px;}

/* ---------------- HERO ---------------- */
.sec-hero{min-height:100svh;}
.hero-foot{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:clamp(30px,4vw,48px);}
.chip{
  font-family:var(--ff-m);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  padding:8px 15px;border-radius:100px;border:1px solid var(--line);
  background:rgba(18,7,40,.4);backdrop-filter:blur(10px);color:var(--ink-dim);
}
.scroll-cue{
  position:absolute;bottom:clamp(24px,4vh,46px);left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:10px;
  font-family:var(--ff-m);font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);
}
.scroll-cue i{display:block;width:1px;height:46px;background:linear-gradient(180deg,transparent,var(--violet-hi));position:relative;overflow:hidden;}
.scroll-cue i::after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan);animation:cue 2.2s cubic-bezier(.6,.1,.3,1) infinite;}
@keyframes cue{0%{top:-50%}100%{top:100%}}

/* ---------------- TRILHAS ---------------- */
.t-head.center{text-align:center;display:flex;flex-direction:column;align-items:center;}
.t-num{
  display:block;font-family:var(--ff-m);font-weight:300;
  font-size:clamp(11px,1.05vw,13px);letter-spacing:.4em;color:var(--violet-hi);
  margin-bottom:clamp(14px,2vw,22px);
}
.t-num::after{content:"";display:inline-block;width:52px;height:1px;background:linear-gradient(90deg,var(--violet-hi),transparent);vertical-align:middle;margin-left:14px;}
.t-sub{font-size:clamp(14.5px,1.35vw,19px);color:var(--ink-dim);margin:clamp(20px,2.6vw,32px) 0 0;max-width:46ch;font-weight:300;}
.t-head.center .t-sub{max-width:56ch;margin-left:auto;margin-right:auto;}

.pivot-tag{
  display:inline-block;font-family:var(--ff-m);font-size:10px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--amber);border:1px solid rgba(255,179,71,.3);border-radius:100px;
  padding:6px 14px;margin:0 0 18px;background:rgba(255,179,71,.06);
  align-self:flex-start;
}

.t-list li{
  position:relative;
  padding:clamp(16px,1.9vw,22px) 0 clamp(16px,1.9vw,22px) clamp(20px,2.4vw,30px);
  border-top:1px solid var(--line);
  transition:padding-left .5s cubic-bezier(.2,.7,.2,1);
}
.t-list li:last-child{border-bottom:1px solid var(--line);}
.t-list li::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:5px;height:5px;border-radius:50%;background:var(--violet);
  box-shadow:0 0 0 rgba(139,92,246,0);transition:all .5s cubic-bezier(.2,.7,.2,1);
}
.t-list li:hover{padding-left:calc(clamp(20px,2.4vw,30px) + 12px);}
.t-list li:hover::before{background:var(--cyan);box-shadow:0 0 14px var(--cyan);transform:translateY(-50%) scale(1.5);}
.t-list b{
  display:block;font-family:var(--ff-d);font-weight:500;
  font-size:clamp(15px,1.5vw,20px);letter-spacing:-.015em;margin-bottom:5px;
}
.t-list span{display:block;font-size:clamp(13px,1.15vw,15px);color:var(--ink-dim);line-height:1.55;}

/* cards (trilha 7) */
.cards{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(220px,23vw,300px),1fr));
  gap:clamp(12px,1.4vw,18px);margin-top:clamp(46px,6vw,80px);
}
.card{
  position:relative;overflow:hidden;
  padding:clamp(20px,2.2vw,28px);
  border:1px solid var(--line);border-radius:16px;
  background:linear-gradient(160deg,rgba(28,12,58,.44),rgba(10,4,24,.28));
  backdrop-filter:blur(12px);
  transition:transform .55s cubic-bezier(.2,.7,.2,1),border-color .45s,box-shadow .45s;
}
.card::after{
  content:"";position:absolute;inset:0;opacity:0;transition:opacity .5s;
  background:radial-gradient(120% 90% at 0% 0%, rgba(139,92,246,.22), transparent 60%);
}
.card:hover{transform:translateY(-6px);border-color:var(--line-hi);box-shadow:0 22px 60px -22px rgba(139,92,246,.6);}
.card:hover::after{opacity:1;}
.card h3{
  position:relative;z-index:1;
  font-family:var(--ff-d);font-weight:500;font-size:clamp(15px,1.4vw,18.5px);
  letter-spacing:-.02em;margin:0 0 9px;
}
.card p{position:relative;z-index:1;margin:0;font-size:13.5px;line-height:1.55;color:var(--ink-dim);}

/* rows (trilha 8) */
.rows{margin-top:clamp(46px,6vw,80px);display:grid;gap:0;}
.row{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);
  gap:clamp(20px,4vw,60px);align-items:start;
  padding:clamp(26px,3.4vw,44px) 0;border-top:1px solid var(--line);
  transition:background .5s;
}
.row:last-child{border-bottom:1px solid var(--line);}
.row:hover{background:linear-gradient(90deg,rgba(139,92,246,.06),transparent 70%);}
.row h3{
  font-family:var(--ff-d);font-weight:600;font-size:clamp(19px,2.4vw,34px);
  letter-spacing:-.03em;margin:0;line-height:1.08;
}
.row p{margin:0;font-size:clamp(14px,1.2vw,16.5px);color:var(--ink-dim);line-height:1.68;}

/* ---------------- A CONTA ---------------- */
.ledger{margin-top:clamp(44px,6vw,74px);border-top:1px solid var(--line);}
.led-row{
  display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.1fr);
  gap:clamp(14px,3vw,40px);align-items:baseline;
  padding:clamp(20px,2.6vw,30px) 0;border-bottom:1px solid var(--line);
}
.led-lbl{font-family:var(--ff-d);font-weight:400;font-size:clamp(14px,1.4vw,19px);letter-spacing:-.01em;}
.led-mo,.led-yr{font-family:var(--ff-m);font-weight:300;font-size:clamp(13px,1.2vw,16px);color:var(--ink-dim);}
.led-mo em,.led-yr em{font-style:normal;display:block;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);margin-top:6px;}
.led-row.total{border-bottom:none;padding-top:clamp(26px,3.4vw,40px);}
.led-row.total .led-lbl{font-weight:600;font-size:clamp(15px,1.5vw,21px);}
.big-num{
  font-family:var(--ff-d)!important;font-weight:700!important;
  font-size:clamp(20px,3.2vw,44px)!important;letter-spacing:-.035em;color:var(--ink)!important;line-height:1.05;
}
.big-num i{
  font-style:normal;
  background:linear-gradient(100deg,var(--red),var(--magenta) 60%,var(--violet-hi));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 22px rgba(251,59,92,.35));
}
.note{margin-top:clamp(24px,3vw,36px);font-size:clamp(14px,1.25vw,17px);color:var(--ink-dim);max-width:52ch;}

/* ---------------- O QUE MUDA ---------------- */
.muda-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(16px,2vw,26px);margin-top:clamp(44px,6vw,74px);}
.muda{
  padding:clamp(24px,2.6vw,34px);border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(165deg,rgba(26,11,54,.42),rgba(8,3,20,.24));backdrop-filter:blur(12px);
  transition:transform .55s cubic-bezier(.2,.7,.2,1),border-color .4s,box-shadow .4s;
}
.muda:hover{transform:translateY(-6px);border-color:var(--line-hi);box-shadow:0 24px 60px -26px rgba(59,130,246,.55);}
.m-idx{font-family:var(--ff-m);font-size:11px;letter-spacing:.3em;color:var(--cyan);display:block;margin-bottom:16px;}
.muda h3{font-family:var(--ff-d);font-weight:500;font-size:clamp(16px,1.6vw,21px);letter-spacing:-.02em;margin:0 0 10px;}
.muda p{margin:0;font-size:14px;line-height:1.62;color:var(--ink-dim);}
.closing{
  margin-top:clamp(38px,5vw,60px);
  font-family:var(--ff-d);font-weight:400;
  font-size:clamp(17px,2.1vw,30px);letter-spacing:-.025em;line-height:1.3;max-width:24ch;
}

/* ---------------- PREÇO ---------------- */
.sec-preco{text-align:center;}
.price{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:clamp(10px,2vw,20px);}
.p-x{font-family:var(--ff-m);font-size:clamp(12px,1.3vw,16px);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-dim);}
.p-main{
  font-family:var(--ff-d);font-weight:700;
  font-size:clamp(58px,13vw,180px);letter-spacing:-.055em;line-height:.92;
  background:linear-gradient(100deg,#fff 0%,var(--violet-hi) 30%,var(--cyan) 62%,var(--magenta) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 60px rgba(139,92,246,.45));
}
.p-main em{font-style:normal;font-size:.42em;letter-spacing:-.02em;}
.p-alt{font-size:clamp(15px,1.6vw,21px);color:var(--ink-dim);margin:clamp(16px,2vw,26px) 0 0;font-weight:300;}
.p-alt b{color:var(--ink);font-weight:500;}
.btn-major{
  display:inline-flex;align-items:center;gap:12px;
  margin-top:clamp(30px,4vw,48px);
  padding:17px 34px;border-radius:100px;
  font-family:var(--ff-d);font-weight:500;font-size:clamp(14px,1.35vw,17px);letter-spacing:-.01em;
  color:#0a0418;
  background:linear-gradient(100deg,var(--violet-hi),var(--cyan) 55%,var(--magenta));
  box-shadow:0 0 0 rgba(139,92,246,0),0 18px 50px -18px rgba(34,211,238,.7);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,filter .45s;
  position:relative;overflow:hidden;
}
.btn-major svg{width:18px;height:18px;transition:transform .45s;}
.btn-major:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 0 44px rgba(139,92,246,.5),0 26px 60px -20px rgba(34,211,238,.8);filter:brightness(1.06);}
.btn-major:hover svg{transform:translateX(5px);}
.fine{font-family:var(--ff-m);font-size:11px;letter-spacing:.14em;color:var(--ink-faint);margin-top:clamp(22px,3vw,34px);}

/* ---------------- FOOTER ---------------- */
.sec-foot{min-height:52svh;}
.foot-mark{
  font-family:var(--ff-d);font-weight:600;font-size:clamp(22px,3vw,38px);letter-spacing:-.035em;
}
.foot-mark em{font-style:normal;color:var(--violet-hi);}
.sec-foot p{font-family:var(--ff-m);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin-top:16px;}

/* ---------------- REVEAL ---------------- */
.reveal,.reveal-lines .l{will-change:transform,opacity,filter;}
.js-on .reveal{opacity:0;transform:translateY(30px);filter:blur(9px);}
.js-on .reveal-lines .l{opacity:0;transform:translateY(.42em) rotateX(-38deg);filter:blur(11px);transform-origin:50% 100%;}
.reveal-lines{perspective:900px;}

/* ---------------- RESPONSIVE ---------------- */
@media (max-width:960px){
  .grid-2{grid-template-columns:1fr;gap:clamp(28px,6vw,44px);}
  .sec-trilha.alt .grid-2{direction:ltr;}
  .row{grid-template-columns:1fr;gap:14px;}
  .led-row{grid-template-columns:1fr;gap:10px;}
  .led-row .led-mo:empty{display:none;}
  .hud-dots{display:none;}
  #cursor{display:none;}
  .sec{padding:clamp(88px,15vh,130px) var(--pad);}
}
@media (max-width:640px){
  :root{--pad:20px;}
  .hud-cta{left:20px;right:20px;justify-content:center;}
  .mega{font-size:clamp(46px,15vw,88px);}
  .two-col{gap:22px;}
  .stage-scan{display:none;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
  .js-on .reveal,.js-on .reveal-lines .l{opacity:1!important;transform:none!important;filter:none!important;}
}
