:root{
    --bg:#050505;
    --bg-panel:#0c0c0e;
    --bg-panel-2:#101012;
    --purple:#7B3CFF;
    --purple-bright:#9B6BFF;
    --purple-deep:#3A1B8C;
    --purple-glow:rgba(123,60,255,.35);
    --white:#FFFFFF;
    --gray-1:#A0A0A8;
    --gray-2:#68686f;
    --gray-3:#39393f;
    --line:rgba(255,255,255,.08);
    --line-strong:rgba(255,255,255,.14);
    --display: 'Bebas Neue', sans-serif;
    --body: 'Montserrat', sans-serif;
    --ease: cubic-bezier(.16,.84,.44,1);
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--white);
    font-family:var(--body);
    line-height:1.5;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;}
  }

  ::selection{background:var(--purple); color:var(--white);}

  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  img,svg{display:block; max-width:100%;}

  .wrap{
    width:min(1240px, 100% - 48px);
    margin-inline:auto;
  }
  @media (max-width:640px){ .wrap{width:min(1240px, 100% - 32px);} }

  h1,h2,h3,h4{font-family:var(--display); font-weight:400; text-transform:uppercase; letter-spacing:.01em; line-height:.96;}

  .eyebrow{
    display:none;
  }

  .idx{
    display:none;
  }

  ::-webkit-scrollbar{width:10px;}
  ::-webkit-scrollbar-track{background:var(--bg);}
  ::-webkit-scrollbar-thumb{background:var(--gray-3); border-radius:0;}

  /* ---------- NAV ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(5,5,5,.72);
    backdrop-filter:blur(14px) saturate(140%);
    -webkit-backdrop-filter:blur(14px) saturate(140%);
    border-bottom:1px solid var(--line);
    transition:border-color .3s var(--ease), background .3s var(--ease);
  }
  .navbar{
    display:flex; align-items:center; justify-content:space-between;
    height:76px; gap:1rem;
  }
  .logo{
    display:flex; align-items:center; flex-shrink:0;
  }
  .logo img{
    height:34px; width:auto; display:block;
  }
  .footer-brand .logo img{ height:30px; }
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:.5em;
    font-family:var(--body); font-weight:700; font-size:.76rem; letter-spacing:.14em; text-transform:uppercase;
    padding:.95em 1.7em;
    border:1px solid var(--purple);
    background:var(--purple);
    color:var(--white);
    cursor:pointer;
    transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease);
    white-space:nowrap;
  }
  .btn:hover{
    box-shadow:0 0 0 1px var(--purple-bright), 0 8px 30px -6px var(--purple-glow);
    transform:translateY(-2px);
  }
  .btn-sm{padding:.7em 1.3em; font-size:.7rem;}

  .nav-cta{display:flex; align-items:center; gap:1.2rem;}
  @media (max-width:480px){
    .navbar{height:68px;}
    .logo img{height:24px;}
    .nav-cta .btn{padding:.72em 1em; font-size:.62rem; letter-spacing:.1em;}
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:100vh;
    display:flex; flex-direction:column;
    padding-top:140px; padding-bottom:64px;
    overflow:hidden;
  }
  .hero-main{
    position:relative;
    flex:1;
    display:flex; flex-direction:column; justify-content:center;
    overflow:hidden;
  }
  #nodeCanvas{
    position:absolute; inset:0; z-index:0; opacity:.9;
    width:100%; height:100%; display:block;
  }
  .hero-main::before{
    content:"";
    position:absolute; inset:0;
    background:
      radial-gradient(ellipse 60% 50% at 78% 15%, var(--purple-glow), transparent 60%),
      radial-gradient(ellipse 40% 40% at 10% 90%, rgba(123,60,255,.14), transparent 60%);
    pointer-events:none; z-index:0;
  }
  .hero-inner{position:relative; z-index:1;}
  .hero-tag{
    font-family:var(--body); font-weight:700; font-size:.72rem; letter-spacing:.3em; text-transform:uppercase;
    color:var(--gray-1); margin-bottom:2rem;
    display:flex; align-items:center; gap:.9em;
  }
  .hero-tag span.line{width:40px; height:1px; background:var(--gray-3);}

  .hero h1{
    font-size:clamp(2.6rem, 8.4vw, 7.4rem);
    max-width:16ch;
  }
  .hero h1 .muted{
    color:#c2c2cc;
    position:relative;
  }
  .hero h1 .muted .strike{
    position:absolute; left:-2%; right:-2%; top:50%; height:3px; background:rgba(255,255,255,.7);
    transform:scaleX(0); transform-origin:left;
    animation:strikeIn 1s .9s var(--ease) forwards;
  }
  .hero h1 .glow{
    color:var(--purple-bright);
    text-shadow:0 0 40px var(--purple-glow);
  }
  @keyframes strikeIn{to{transform:scaleX(1);}}

  .hero p.lede{
    font-family:var(--body); font-weight:400; font-size:clamp(1rem,1.6vw,1.25rem);
    color:var(--gray-1); max-width:46ch; margin:2rem 0 2.6rem;
  }
  .hero-ctas{display:flex; gap:1rem; flex-wrap:wrap;}

  .hero-foot{
    position:relative; z-index:1;
    margin-top:2.6rem;
    display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem;
    border-top:1px solid rgba(255,255,255,.14); padding-top:1.6rem;
  }
  .marquee{
    overflow:hidden; white-space:nowrap; width:100%;
    -webkit-mask-image:linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
    mask-image:linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
  }
  .marquee-track{
    display:inline-flex; gap:2.6rem; animation:scrollLeft 32s linear infinite;
  }
  .marquee-track span{
    font-family:var(--display); font-size:1.05rem; letter-spacing:.05em; color:var(--gray-2);
  }
  .marquee-track span.on{color:var(--purple-bright);}
  @keyframes scrollLeft{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

  /* ---------- SECTION shell ---------- */
  section{position:relative; padding:120px 0;}
  @media (max-width:768px){ section{padding:76px 0;} }
  .section-head{
    display:grid; grid-template-columns:auto 1fr; gap:1.4rem; align-items:end;
    margin-bottom:3.4rem;
  }
  .section-head h2{font-size:clamp(2.1rem,5vw,4.2rem);}
  .divider{border:none; border-top:1px solid var(--line); margin:0;}

  .reveal{opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ---------- 02 PROBLEMA ---------- */
  .problem{background:var(--bg-panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .problem-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:3rem;
  }
  @media (max-width:860px){ .problem-grid{grid-template-columns:1fr;} }
  .problem-stmt{font-size:clamp(1.8rem,3.6vw,2.8rem); line-height:1.15; font-weight:600; letter-spacing:-.01em;}
  .problem-stmt .no{color:var(--gray-2);}
  .problem-stmt .yes{color:var(--white);}
  .problem-list{display:flex; flex-direction:column; gap:1.4rem;}
  .problem-item{
    display:flex; gap:1rem; padding:1.2rem 0; border-bottom:1px solid var(--line);
    color:var(--gray-1); font-size:.98rem;
  }
  .problem-item b{color:var(--white); font-weight:600;}
  .problem-item .mark{color:var(--purple-bright); font-family:var(--display); font-size:1.1rem;}

  /* ---------- 03 NOVA VISÃO ---------- */
  .vision{
    display:grid; grid-template-columns:.9fr 1.1fr; gap:4rem; align-items:center;
  }
  @media (max-width:900px){ .vision{grid-template-columns:1fr; gap:2.4rem;} }
  .vision-quote{
    font-family:var(--display); font-size:clamp(2rem,4.4vw,3.4rem); line-height:1.05;
  }
  .vision-quote em{font-style:normal; color:var(--purple-bright);}
  .vision-copy p{color:var(--gray-1); font-size:1.02rem; margin-bottom:1.2rem; max-width:52ch;}
  .vision-copy strong{color:var(--white);}

  /* ---------- 04 O QUE FAZEMOS ---------- */
  .pillars{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
    background:var(--line); border:1px solid var(--line);
  }
  @media (max-width:860px){ .pillars{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .pillars{grid-template-columns:1fr;} }
  .pillar{
    background:var(--bg); padding:2.6rem 2rem; position:relative; overflow:hidden;
    transition:background .4s var(--ease);
  }
  .pillar::before{
    content:""; position:absolute; inset:0; background:radial-gradient(circle at 30% 20%, var(--purple-glow), transparent 60%);
    opacity:0; transition:opacity .4s var(--ease);
  }
  .pillar:hover{background:var(--bg-panel-2);}
  .pillar:hover::before{opacity:1;}
  .pillar-num{display:none;}
  .pillar h3{font-size:1.7rem; margin:.9rem 0 .7rem; position:relative;}
  .pillar p{color:var(--gray-1); font-size:.92rem; position:relative; max-width:32ch;}

  /* ---------- 05 METODOLOGIA ---------- */
  .method{background:var(--bg-panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .method-steps{display:flex; flex-direction:column;}
  .method-step{
    display:grid; grid-template-columns:110px 1fr; gap:2rem; padding:2.4rem 0; border-bottom:1px solid var(--line);
    align-items:start;
  }
  .method-step:first-child{border-top:1px solid var(--line);}
  .method-step .step-n{font-family:var(--display); font-size:3.2rem; color:var(--gray-3); line-height:1;}
  .method-step:hover .step-n{color:var(--purple-bright); transition:color .3s var(--ease);}
  .method-step h3{font-family:var(--body); font-weight:700; font-size:1.2rem; text-transform:none; letter-spacing:0; margin-bottom:.5rem;}
  .method-step p{color:var(--gray-1); font-size:.95rem; max-width:56ch;}
  @media (max-width:640px){ .method-step{grid-template-columns:1fr; gap:.6rem;} }

  /* ---------- 06 PROVA ---------- */
  .commit-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);
  }
  @media (max-width:860px){ .commit-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:520px){ .commit-grid{grid-template-columns:1fr;} }
  .commit-card{
    background:var(--bg); padding:2.4rem 1.9rem; position:relative; overflow:hidden;
    transition:background .4s var(--ease);
  }
  .commit-card::before{
    content:""; position:absolute; inset:0; background:radial-gradient(circle at 25% 15%, var(--purple-glow), transparent 60%);
    opacity:0; transition:opacity .4s var(--ease);
  }
  .commit-card:hover{background:var(--bg-panel-2);}
  .commit-card:hover::before{opacity:1;}
  .commit-mark{
    width:34px; height:34px; border:1px solid var(--purple); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--purple-bright); font-family:var(--display); font-size:1.1rem;
    margin-bottom:1.4rem; position:relative;
  }
  .commit-card h3{
    font-family:var(--body); font-weight:700; text-transform:none; letter-spacing:0;
    font-size:1.08rem; line-height:1.3; margin-bottom:.6rem; position:relative;
  }
  .commit-card p{color:var(--gray-1); font-size:.88rem; line-height:1.55; position:relative; max-width:32ch;}
  .proof-note{margin-top:1.6rem; font-size:.8rem; color:var(--gray-2); font-style:normal; max-width:56ch;}

  /* ---------- 07 DIFERENCIAL ---------- */
  .diff{background:var(--bg-panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .diff-table{width:100%; border-collapse:collapse;}
  .diff-table thead th{
    text-align:left; padding:1rem 1.2rem; font-family:var(--display); font-size:1.1rem; letter-spacing:.04em;
    border-bottom:1px solid var(--line-strong);
  }
  .diff-table thead th.col-agencia{color:var(--gray-2);}
  .diff-table thead th.col-conecta{color:var(--purple-bright);}
  .diff-table td{padding:1.3rem 1.2rem; border-bottom:1px solid var(--line); font-size:.95rem; vertical-align:top;}
  .diff-table td.col-agencia{color:var(--gray-2);}
  .diff-table td.col-conecta{color:var(--white); font-weight:500; position:relative;}
  .diff-table tr:hover td.col-conecta{color:var(--purple-bright);}
  .diff-table td.col-conecta::before{content:"→"; color:var(--purple-bright); margin-right:.6em;}
  .diff-table .q{color:var(--gray-1); font-style:italic;}
  @media (max-width:700px){
    .diff-table thead{display:none;}
    .diff-table, .diff-table tbody, .diff-table tr, .diff-table td{display:block; width:100%;}
    .diff-table tr{border-bottom:1px solid var(--line-strong); padding:1.2rem 0;}
    .diff-table td{border:none; padding:.4rem 0;}
    .diff-table td.col-agencia::before{content:"AGÊNCIA — "; color:var(--gray-3); font-family:var(--body); font-weight:700; font-size:.68rem; letter-spacing:.1em;}
    .diff-table td.col-conecta::before{content:"CONECTA — "; font-family:var(--body); font-weight:700; font-size:.68rem; letter-spacing:.1em;}
  }

  /* ---------- 08 INSIGHTS ---------- */
  .insights-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;
  }
  @media (max-width:900px){ .insights-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:600px){ .insights-grid{grid-template-columns:1fr;} }
  .insight-card{
    border:1px solid var(--line); padding:1.8rem; display:flex; flex-direction:column; gap:1.6rem; min-height:280px;
    justify-content:space-between; transition:border-color .3s var(--ease), transform .3s var(--ease);
    position:relative; overflow:hidden;
  }
  .insight-card:hover{border-color:var(--purple); transform:translateY(-4px);}
  .insight-tag{font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--purple-bright);}
  .insight-card h3{font-family:var(--body); font-weight:700; text-transform:none; letter-spacing:0; font-size:1.15rem; line-height:1.35;}
  .insight-meta{display:flex; justify-content:space-between; color:var(--gray-2); font-size:.76rem;}

  /* ---------- 09 CTA ---------- */
  .cta-final{
    position:relative; text-align:center; overflow:hidden;
    background:
      radial-gradient(ellipse 70% 60% at 50% 0%, var(--purple-glow), transparent 65%),
      var(--bg);
    border-top:1px solid var(--line);
  }
  .cta-final .wrap{position:relative; z-index:1;}
  .cta-final h2{
    font-size:clamp(2.4rem,7vw,5.6rem); max-width:18ch; margin-inline:auto;
  }
  .cta-final h2 .glow{color:var(--purple-bright); text-shadow:0 0 50px var(--purple-glow);}
  .cta-final p{color:var(--gray-1); max-width:44ch; margin:1.6rem auto 2.4rem; font-size:1.05rem;}
  .cta-final .hero-ctas{justify-content:center;}

  /* ---------- FOOTER ---------- */
  footer{border-top:1px solid var(--line); padding:4rem 0 2.4rem;}
  .footer-top{
    display:grid; grid-template-columns:1.4fr 1fr; gap:2.4rem; padding-bottom:3rem; border-bottom:1px solid var(--line);
  }
  @media (max-width:600px){ .footer-top{grid-template-columns:1fr; row-gap:2.4rem;} }
  .footer-brand p{color:var(--gray-1); font-size:.9rem; max-width:32ch; margin-top:1rem;}
  .footer-col h4{
    font-family:var(--body); font-weight:700; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gray-2);
    margin-bottom:1.1rem;
  }
  .footer-col a, .footer-col p{
    display:block; color:var(--gray-1); font-size:.88rem; margin-bottom:.7rem; transition:color .25s var(--ease);
  }
  .footer-col a:hover{color:var(--purple-bright);}
  .footer-contact{display:flex; flex-direction:column; gap:1.1rem;}
  .contact-link{
    display:flex; align-items:center; gap:.8rem; color:var(--gray-1); font-size:.92rem; font-weight:500;
    transition:color .25s var(--ease);
  }
  .contact-link svg{
    width:19px; height:19px; flex:none;
    fill:none; stroke:currentColor; stroke-width:1.5;
  }
  .contact-link:hover{color:var(--purple-bright);}
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center; padding-top:2rem; flex-wrap:wrap; gap:1rem;
    color:var(--gray-3); font-size:.76rem;
  }
