:root{

  --bg-void:#04070c;
  --bg-panel:#080d16;
  --bg-panel-2:#0c1320;

  --blue:#0b5fff;
  --blue-mid:#1c7dff;
  --cyan:#33d6ff;

  --white:#eef3fb;
  --slate:#8291ab;

  --line:rgba(51,214,255,0.14);
  --line-strong:rgba(51,214,255,0.35);

}


/* =====================================================
   RESET
===================================================== */

*{

  margin:0;
  padding:0;
  box-sizing:border-box;

}


html{

  scroll-behavior:smooth;

}


body{

  background:var(--bg-void);

  color:var(--white);

  font-family:'Inter',sans-serif;

  overflow-x:hidden;

}


::selection{

  background:var(--cyan);

  color:#04070c;

}


a{

  color:inherit;

  text-decoration:none;

}


h1,
h2,
h3{

  font-family:'Sora',sans-serif;

  letter-spacing:-0.01em;

}


/* =====================================================
   EYEBROW
===================================================== */

.eyebrow{

  font-family:'JetBrains Mono',monospace;

  font-size:0.68rem;

  letter-spacing:0.20em;

  text-transform:uppercase;

  color:var(--cyan);

  display:inline-flex;

  align-items:center;

  gap:9px;

}


.eyebrow::before{

  content:'';

  width:20px;

  height:1px;

  background:var(--cyan);

  display:inline-block;

}


/* =====================================================
   CONTAINER
===================================================== */

.wrap{

  max-width:1180px;

  margin:0 auto;

  padding:0 32px;

}


/* =====================================================
   HEADER
===================================================== */

header{

  position:fixed;

  top:0;
  left:0;
  right:0;

  z-index:100;

  background:rgba(4,7,12,0.72);

  backdrop-filter:blur(14px);

  -webkit-backdrop-filter:blur(14px);

  border-bottom:1px solid var(--line);

}


nav{

  max-width:1180px;

  margin:0 auto;

  padding:18px 32px;

  display:flex;

  align-items:center;

  justify-content:space-between;

}


.brand{

  display:flex;

  align-items:center;

}


.brand-mark{

  height:52px;

  width:auto;

  display:block;

}


.nav-links{

  display:flex;

  align-items:center;

  gap:36px;

  font-size:0.85rem;

  color:var(--slate);

}


.nav-links a{

  position:relative;

  transition:color .2s ease;

}


.nav-links a::after{

  content:'';

  position:absolute;

  left:0;

  bottom:-7px;

  width:0;

  height:1px;

  background:var(--cyan);

  transition:width .25s ease;

}


.nav-links a:hover{

  color:var(--white);

}


.nav-links a:hover::after{

  width:100%;

}


/* =====================================================
   HERO
===================================================== */

.hero{

  position:relative;

  min-height:100vh;

  display:flex;

  flex-direction:column;

  justify-content:center;

  padding-top:120px;

  padding-bottom:80px;

  overflow:hidden;

}


.grid-bg{

  position:absolute;

  inset:0;

  background-image:

    linear-gradient(
      var(--line) 1px,
      transparent 1px
    ),

    linear-gradient(
      90deg,
      var(--line) 1px,
      transparent 1px
    );

  background-size:64px 64px;

  mask-image:

    radial-gradient(
      ellipse 70% 60% at 50% 30%,
      black 30%,
      transparent 75%
    );

  -webkit-mask-image:

    radial-gradient(
      ellipse 70% 60% at 50% 30%,
      black 30%,
      transparent 75%
    );

  opacity:0.5;

}


#nodeCanvas{

  position:absolute;

  inset:0;

  width:100%;

  height:100%;

  opacity:0.55;

  pointer-events:none;

}


.hero-glow{

  position:absolute;

  top:-10%;

  left:50%;

  transform:translateX(-50%);

  width:900px;

  height:900px;

  background:

    radial-gradient(

      circle,

      rgba(11,95,255,0.28) 0%,

      rgba(51,214,255,0.08) 40%,

      transparent 70%

    );

  filter:blur(10px);

  pointer-events:none;

}


.hero-inner{

  position:relative;

  z-index:2;

  max-width:1180px;

  margin:0 auto;

  padding:0 32px;

  width:100%;

}


.hero h1{

  margin-top:20px;

  font-size:clamp(
    2.15rem,
    4.5vw,
    3.65rem
  );

  font-weight:700;

  line-height:1.08;

  max-width:760px;

  color:var(--white);

  letter-spacing:-0.025em;

  text-shadow:

    0 0 40px
    rgba(51,214,255,0.08);

}


.hero h1 em{

  font-style:normal;

  background:

    linear-gradient(
      100deg,
      var(--blue-mid),
      var(--cyan)
    );

  -webkit-background-clip:text;

  background-clip:text;

  color:transparent;

}


.hero p.lead{

  margin-top:22px;

  font-size:0.92rem;

  color:var(--slate);

  max-width:570px;

  line-height:1.65;

}


/* =====================================================
   BOTÕES
===================================================== */

.hero-actions{

  display:flex;

  gap:14px;

  margin-top:34px;

  flex-wrap:wrap;

}


.btn-primary{

  position:relative;

  overflow:hidden;

  background:

    linear-gradient(
      100deg,
      var(--blue),
      var(--cyan)
    );

  color:#04070c;

  font-family:'Sora',sans-serif;

  font-weight:600;

  font-size:0.86rem;

  padding:13px 24px;

  border-radius:3px;

  transition:

    transform .2s ease,

    box-shadow .2s ease;

  display:inline-block;

}


.btn-primary::before{

  content:'';

  position:absolute;

  top:0;

  left:-100%;

  width:70%;

  height:100%;

  background:rgba(255,255,255,0.18);

  transform:skewX(-20deg);

  transition:left .5s ease;

}


.btn-primary:hover::before{

  left:140%;

}


.btn-primary:hover{

  transform:translateY(-2px);

  box-shadow:

    0 8px 30px
    rgba(51,214,255,0.25);

}


.btn-ghost{

  border:1px solid var(--line-strong);

  color:var(--white);

  font-family:'Sora',sans-serif;

  font-weight:600;

  font-size:0.86rem;

  padding:13px 24px;

  border-radius:3px;

  transition:all .2s ease;

}


.btn-ghost:hover{

  border-color:var(--cyan);

  color:var(--cyan);

  transform:translateY(-2px);

}


/* =====================================================
   WIX
===================================================== */

.wix-badge{

  margin-top:42px;

  display:inline-flex;

  align-items:center;

  gap:10px;

  border:1px solid var(--line-strong);

  border-radius:3px;

  padding:9px 15px;

  font-size:0.75rem;

  color:var(--slate);

  background:rgba(4,7,12,0.25);

}


.wix-badge .check{

  width:17px;

  height:17px;

  border-radius:50%;

  border:1.5px solid var(--cyan);

  display:flex;

  align-items:center;

  justify-content:center;

  color:var(--cyan);

  font-size:10px;

  flex-shrink:0;

}


.wix-badge b{

  color:var(--white);

  font-weight:600;

}


/* =====================================================
   SEÇÕES
===================================================== */

section{

  position:relative;

  padding:120px 0;

}


.section-head{

  max-width:700px;

  margin-bottom:60px;

}


.section-head h2{

  font-size:clamp(
    1.8rem,
    3vw,
    2.5rem
  );

  line-height:1.18;

  margin-top:16px;

  color:var(--white);

  font-weight:700;

}


/* =====================================================
   QUEM SOMOS
===================================================== */

.about{

  border-top:1px solid var(--line);

  padding:120px 0;

  background:

    radial-gradient(

      circle at 15% 50%,

      rgba(11,95,255,0.06),

      transparent 35%

    );

}


.about-grid{

  display:grid;

  grid-template-columns:
    0.85fr
    1.15fr;

  gap:70px;

  align-items:center;

}


/* =====================================================
   PAINEL DA IMAGEM
===================================================== */

.about-photo{

  position:relative;

  width:100%;

  max-width:560px;

  margin:0 auto;

  display:flex;

  align-items:center;

  justify-content:center;

}


/* =====================================================
   LOGO
===================================================== */

.about-logo{

  position:relative;

  z-index:2;

  width:100%;

  max-width:560px;

  height:auto;

  object-fit:contain;

  filter:

    drop-shadow(
      0 0 20px
      rgba(51,214,255,0.12)
    )

    drop-shadow(
      0 20px 45px
      rgba(0,0,0,0.45)
    );

  transition:

    transform .4s ease,

    filter .4s ease;

}


.about-photo:hover .about-logo{

  transform:scale(1.025);

  filter:

    drop-shadow(
      0 0 30px
      rgba(51,214,255,0.25)
    )

    drop-shadow(
      0 20px 55px
      rgba(0,0,0,0.55)
    );

}


/* =====================================================
   TEXTO
===================================================== */

.about-text{

  max-width:680px;

}


.about-eyebrow{

  font-size:0.68rem;

  letter-spacing:0.22em;

}


.about-text h2{

  margin-top:16px;

  font-family:'Sora',sans-serif;

  font-size:clamp(
    1.7rem,
    2.5vw,
    2.35rem
  );

  line-height:1.22;

  font-weight:600;

  letter-spacing:-0.02em;

  color:var(--white);

  max-width:620px;

}


.about-text > p{

  color:#9ba9bf;

  font-family:'Inter',sans-serif;

  font-size:0.88rem;

  line-height:1.7;

  margin-top:17px;

  max-width:610px;

}


/* =====================================================
   PILARES
===================================================== */

.pillars{

  margin-top:34px;

  display:grid;

  grid-template-columns:
    1fr
    1fr;

  gap:22px 28px;

}


.pillar{

  position:relative;

  border-left:
    2px solid
    var(--line-strong);

  padding:
    0
    0
    3px
    14px;

  transition:

    border-color .25s ease,

    transform .25s ease;

}


.pillar:hover{

  border-color:var(--cyan);

  transform:translateX(4px);

}


.pillar h4{

  font-family:'Sora',sans-serif;

  font-size:0.82rem;

  line-height:1.4;

  font-weight:600;

  color:var(--white);

}


.pillar p{

  margin-top:6px;

  font-family:'Inter',sans-serif;

  font-size:0.76rem;

  line-height:1.55;

  color:var(--slate);

}


/* =====================================================
   EQUIPE
===================================================== */

.team{

  border-top:1px solid var(--line);

  background:

    radial-gradient(

      circle at 85% 20%,

      rgba(11,95,255,0.045),

      transparent 30%

    );

}


.team-grid{

  display:grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:28px;

}


.card{

  position:relative;

  background:var(--bg-panel);

  border:1px solid var(--line);

  clip-path:

    polygon(

      0 0,

      calc(100% - 22px) 0,

      100% 22px,

      100% 100%,

      0 100%

    );

  padding:28px 26px 26px;

  transition:

    border-color .25s ease,

    transform .25s ease,

    background .25s ease;

}


.card:hover{

  border-color:var(--line-strong);

  transform:translateY(-4px);

  background:#0a101a;

}


.avatar{

  width:64px;

  height:64px;

  border-radius:50%;

  overflow:hidden;

  background:

    linear-gradient(
      135deg,
      var(--blue),
      var(--cyan)
    );

  display:flex;

  align-items:center;

  justify-content:center;

  font-family:'Sora',sans-serif;

  font-weight:700;

  font-size:1.05rem;

  color:#04070c;

}


.avatar img{

  width:100%;

  height:100%;

  object-fit:cover;

  display:block;

}


.card h3{

  margin-top:16px;

  font-size:0.98rem;

  font-weight:600;

  color:var(--white);

}


.card .role{

  margin-top:4px;

  font-family:'JetBrains Mono',monospace;

  font-size:0.67rem;

  letter-spacing:0.05em;

  color:var(--cyan);

  text-transform:uppercase;

}


.card p.bio{

  margin-top:12px;

  font-size:0.79rem;

  line-height:1.6;

  color:var(--slate);

}


.team-note{

  margin-top:44px;

  font-size:0.72rem;

  line-height:1.6;

  color:var(--slate);

  font-family:'JetBrains Mono',monospace;

  border:

    1px dashed
    var(--line-strong);

  padding:14px 18px;

  border-radius:2px;

}


/* =====================================================
   CONTATO
===================================================== */

.contact{

  border-top:1px solid var(--line);

  text-align:center;

  background:

    radial-gradient(

      circle at 50% 100%,

      rgba(11,95,255,0.08),

      transparent 50%

    );

}


.contact h2{

  font-family:'Sora',sans-serif;

  font-size:clamp(
    1.8rem,
    3.5vw,
    2.7rem
  );

  line-height:1.18;

  max-width:680px;

  margin:16px auto 0;

  font-weight:700;

}


.contact p{

  color:var(--slate);

  max-width:520px;

  margin:18px auto 0;

  line-height:1.65;

  font-size:0.88rem;

}


/* =====================================================
   NÚMERO DO WHATSAPP
===================================================== */

.contact-number{

  margin-top:20px;

  font-family:'JetBrains Mono',monospace;

  font-size:0.82rem;

  color:var(--cyan);

  letter-spacing:0.04em;

}


.contact .hero-actions{

  justify-content:center;

  margin-top:30px;

}


/* =====================================================
   FOOTER
===================================================== */

footer{

  border-top:1px solid var(--line);

  padding:32px 20px;

  text-align:center;

  color:var(--slate);

  font-size:0.72rem;

  font-family:'JetBrains Mono',monospace;

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width:1000px){

  .about-grid{

    grid-template-columns:1fr;

    gap:55px;

  }


  .about-photo{

    width:100%;

    max-width:480px;

  }


  .about-text{

    max-width:100%;

  }


  .about-text h2{

    max-width:700px;

  }


  .about-text > p{

    max-width:700px;

  }


  .team-grid{

    grid-template-columns:
      repeat(2,1fr);

  }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width:760px){

  nav{

    padding:14px 20px;

  }


  .brand-mark{

    height:40px;

  }


  .nav-links{

    display:flex;

    gap:14px;

    font-size:0.65rem;

  }


  .wrap{

    padding:0 20px;

  }


  .hero-inner{

    padding:0 20px;

  }


  .hero{

    min-height:90vh;

    padding-top:120px;

    padding-bottom:70px;

  }


  .hero h1{

    font-size:clamp(
      2rem,
      9vw,
      3rem
    );

    line-height:1.08;

  }


  .hero p.lead{

    font-size:0.88rem;

    line-height:1.65;

  }


  .hero-actions{

    margin-top:30px;

  }


  .btn-primary,
  .btn-ghost{

    font-size:0.82rem;

    padding:12px 20px;

  }


  .wix-badge{

    margin-top:36px;

  }


  .about{

    padding:90px 0;

  }


  .about-photo{

    max-width:100%;

  }


  .about-logo{

    width:100%;

    max-width:340px;

  }


  .about-eyebrow{

    font-size:0.65rem;

    letter-spacing:0.18em;

  }


  .about-text h2{

    font-size:1.65rem;

    line-height:1.22;

  }


  .about-text > p{

    font-size:0.86rem;

    line-height:1.65;

  }


  .pillars{

    grid-template-columns:1fr;

    gap:24px;

  }


  .pillar h4{

    font-size:0.8rem;

  }


  .pillar p{

    font-size:0.75rem;

  }


  .team-grid{

    grid-template-columns:1fr;

  }


  .hero-actions{

    flex-direction:column;

    width:100%;

  }


  .btn-primary,
  .btn-ghost{

    text-align:center;

    width:100%;

  }


  .contact h2{

    font-size:1.8rem;

  }


  .contact p{

    font-size:0.85rem;

  }


  .contact-number{

    font-size:0.78rem;

  }

}


/* =====================================================
   MOBILE PEQUENO
===================================================== */

@media (max-width:480px){

  .nav-links{

    gap:9px;

    font-size:0.60rem;

  }


  .brand-mark{

    height:36px;

  }


  section{

    padding:80px 0;

  }


  .about{

    padding:80px 0;

  }


  .about-logo{

    width:100%;

  }


  .section-head{

    margin-bottom:45px;

  }


  .section-head h2{

    font-size:1.8rem;

  }


  .card{

    padding:24px 22px;

  }


  .contact h2{

    font-size:1.7rem;

  }


  .contact p{

    font-size:0.83rem;

  }


  .contact-number{

    font-size:0.74rem;

  }

}


/* =====================================================
   REDUZIR MOVIMENTO
===================================================== */

@media (prefers-reduced-motion:reduce){

  html{

    scroll-behavior:auto;

  }


  *{

    transition:none !important;

    animation:none !important;

  }

}
