:root{
  --bg:#0b0b0c;
  --card:#0f1112;
  --accent:#F2BF03;
  --accent-2:#D99B00;
  --muted:#c7c7c7;
  --white:#ffffff;
  --container:1200px;
  --radius:12px;
  --glass: rgba(255,255,255,0.04);
  font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

/* Reset and base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:linear-gradient(180deg,#070709 0%, #0b0b0c 100%);
  color:var(--white);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.6;
  font-size:16px;
}

.container{max-width:var(--container);margin:0 auto;padding:28px}

/* Header */
.site-header{
  position:sticky;
  top:0;
  background:linear-gradient(180deg, rgba(11,11,12,0.9), rgba(11,11,12,0.6));
  backdrop-filter:blur(6px);
  z-index:60;
  border-bottom:1px solid rgba(255,255,255,0.04);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.logo img{height:80px; display:block;}

/* Nav */
.main-nav a{
  color:var(--muted);
  margin-left:20px;
  text-decoration:none;
  font-weight:600;
  padding:8px 10px;
  border-radius:8px;
  transition:all .18s;
}
.main-nav a:hover{color:var(--white);background:rgba(255,255,255,0.03)}

/* HERO - unchanged */
.hero{position:relative;padding:40px 0 80px}
.hero-bg-gradient{position:absolute;inset:0;background:linear-gradient(135deg, rgba(15,15,16,0.45), rgba(10,10,12,0.45));pointer-events:none}
.hero-wrap{display:flex;align-items:center;gap:36px}
.hero-left{flex:1;z-index:2;padding:30px}
.hero-right{flex:1;display:flex;justify-content:center;align-items:center;z-index:2;padding:20px}
.hero-logo-img{height:64px;margin-bottom:18px}

.hero-title{
  margin:0;
  font-family:"Montserrat",sans-serif;
  font-weight:800;
  color:var(--white);
  line-height:1.02;
  text-transform:uppercase;
  font-size:clamp(28px, 6vw, 64px);
  text-shadow: 0 6px 20px rgba(0,0,0,0.6);
}
.hero-strong{
  display:block;
  color:var(--accent);
  -webkit-text-stroke: 0.6px rgba(0,0,0,0.25);
  font-size:inherit;
}
.hero-sub{color:var(--muted);margin-top:12px;font-size:16px}

/* highlight boxes: lighter */
.hero-highlights{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px}
.text-box{
  background:linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
  border-left:8px solid var(--accent);
  padding:14px 18px;border-radius:12px;min-width:240px;box-shadow:0 16px 40px rgba(0,0,0,0.5);
  transition:transform .45s cubic-bezier(.2,.9,.2,1), box-shadow .45s;
  opacity:0; transform:translateY(18px);
}
.text-box.in-view{opacity:1;transform:none}
.text-box h4{margin:0 0 6px 0;font-family:"Montserrat",sans-serif;font-size:17px;color:var(--white)}
.text-box p{margin:0;color:var(--muted);font-size:15px}

/* video frame */
.video-frame{
  width:100%;max-width:820px;border-radius:18px;overflow:hidden;
  box-shadow:0 36px 70px rgba(0,0,0,0.65);
  border:8px solid rgba(242,191,3,0.18);
  background:#000;
}
.video-frame video{width:100%;height:100%;display:block}

/* animated separator */
.section-sep{
  height:8px;
  background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent));
  background-size:200% 100%;
  animation: move-gradient 6s linear infinite;
  margin:22px 0 0;
}
@keyframes move-gradient{ from { background-position:0 0 } to { background-position:200% 0 } }

/* sections */
.section{padding:72px 0;font-size:19px}
.section-alt{background:linear-gradient(180deg,#060607 0%, #071018 100%);font-size:19px}
.section-card{background:linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.007));border-radius:16px;padding:32px;margin:22px 0;box-shadow:0 12px 36px rgba(0,0,0,0.45);border-left:6px solid rgba(242,191,3,0.12);font-size:19px}

/* cards */
.grid-3cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.card{background:var(--glass);padding:20px;border-radius:14px;border:1px solid rgba(255,255,255,0.03);box-shadow:0 12px 30px rgba(0,0,0,0.45)}
.card h4{margin-top:0;color:var(--accent);font-size:20px}
.card p{color:var(--muted);font-size:17px}

/* solution boxes (new) */
.solution-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:18px}
.solution-box{
  display:flex;gap:14px;align-items:flex-start;
  background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
  border-left:8px solid var(--accent);
  padding:16px;border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,0.35);
  opacity:0;transform:translateY(18px);transition:all .6s cubic-bezier(.2,.9,.2,1)
}
.solution-box.in-view{opacity:1;transform:none}
.solution-icon{width:46px;height:46px;flex-shrink:0;color:var(--accent)}
.solution-icon svg{width:100%;height:100%}
.solution-body h4{margin:0;font-size:18px}
.solution-body p{margin:6px 0 0;color:var(--muted);font-size:16px}

/* feature card (right screenshot) */
.card-feature{display:flex;gap:28px;align-items:center}
.card-left{flex:1}
.card-right{flex:0 0 460px;display:flex;justify-content:center}
.screenshot{width:100%;max-width:460px;border-radius:14px;box-shadow:0 24px 48px rgba(0,0,0,0.5);border:6px solid rgba(255,255,255,0.03)}

/* gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:16px}
.gallery-grid img{width:100%;height:260px;object-fit:cover;border-radius:12px;box-shadow:0 22px 48px rgba(0,0,0,0.45)}

/* Rede */
.section-accent{
  background:linear-gradient(180deg, rgba(242,191,3,0.03), rgba(255,255,255,0));
  border-top:6px solid var(--accent-2);
  padding-top:44px;
  padding-bottom:44px;
  margin-top:20px;
}
.accent-header h3{color:var(--white); margin-bottom:6px}
.network-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:18px;
  margin-top:18px;
  padding:18px;
}
.network-card{
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  padding:16px;border-radius:12px;border-left:6px solid var(--accent);
  box-shadow:0 18px 40px rgba(0,0,0,0.45);display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  opacity:0; transform:translateY(18px); transition:all .7s cubic-bezier(.2,.9,.2,1);
}
.network-card.in-view{opacity:1;transform:none}
.network-card .icon{width:28px;height:28px;color:var(--accent);margin-bottom:8px;flex-shrink:0;transform-origin:center;animation: float 4s ease-in-out infinite, pulse 2.6s ease-in-out infinite;}
@keyframes float {0%{transform:translateY(0)}50%{transform:translateY(-6px)}100%{transform:translateY(0)}}
@keyframes pulse {0%{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:0.9}100%{transform:scale(1);opacity:1}}

/* Technology */
.section-tech{background:linear-gradient(180deg,#081018,#071018);padding:48px 0}
.two-column{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}
.tech-left{flex:1;min-width:320px}
.tech-right{flex:0 0 420px}
.tech-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:18px}
.tech-feature{display:flex;gap:14px;align-items:flex-start;background:rgba(255,255,255,0.02);padding:14px;border-radius:12px;border-left:6px solid rgba(242,191,3,0.12);opacity:0;transform:translateY(18px);transition:all .7s cubic-bezier(.2,.9,.2,1)}
.tech-feature.in-view{opacity:1;transform:none}
.feature-icon{width:56px;height:56px;border-radius:10px;background:linear-gradient(180deg, rgba(242,191,3,0.15), rgba(242,191,3,0.06));display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}
.feature-body h4{margin:0 0 6px 0;color:var(--white);font-size:18px}
.feature-body p{margin:0;color:var(--muted);font-size:17px}

/* Tech cards on right */
.tech-card{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:16px;border-radius:14px;margin-bottom:12px;border-left:6px solid rgba(255,255,255,0.03)}
.tech-card.highlight{border-left-color:var(--accent);box-shadow:0 20px 40px rgba(0,0,0,0.45)}

/* Communicacao */
.section-comms{background:linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.007));padding:36px;border-radius:12px;margin-top:18px}
.comms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:18px}
.comms-item{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:16px;border-radius:12px;display:flex;gap:12px;align-items:flex-start;border-left:6px solid rgba(242,191,3,0.08);opacity:0;transform:translateY(18px);transition:all .7s cubic-bezier(.2,.9,.2,1)}
.comms-item.in-view{opacity:1;transform:none}
.comms-icon{width:48px;height:48px;color:var(--accent);flex-shrink:0}
.comms-item h4{margin:0 0 6px 0;font-size:18px}
.comms-item p{margin:0;color:var(--muted);font-size:17px}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:20px}
.team-member{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border-left:6px solid rgba(242,191,3,0.08);padding:18px;border-radius:12px;display:flex;gap:14px;align-items:flex-start;box-shadow:0 18px 40px rgba(0,0,0,0.35);transition:transform .25s ease, box-shadow .25s ease}
.team-member:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(0,0,0,0.45)}
.member-badge{width:64px;height:64px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 20px rgba(0,0,0,0.35);background:linear-gradient(180deg, rgba(242,191,3,0.95), rgba(255,255,255,0.06))}
.member-badge svg{width:34px;height:34px;fill:#0b0b0c}
.member-body h4{margin:0;font-size:20px}
.member-body p{margin:6px 0 0;color:var(--muted);font-size:16px}
.team-member.team-highlight{border-left-color:var(--accent);background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01))}

/* Footer */
.site-footer{padding:32px 0;background:linear-gradient(180deg,#050506,#071018);border-top:1px solid rgba(255,255,255,0.03)}
.footer-inner{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:16px}

/* helper */
.in-view{opacity:1;transform:none}

/* Responsive */
@media(max-width:1000px){
  .hero-wrap{flex-direction:column-reverse}
  .hero-right{order:1;width:100%}
  .video-frame{max-width:100%}
  .card-feature{flex-direction:column-reverse}
  .card-right{flex:1}
  .two-column{flex-direction:column}
  .tech-right{flex:1}
}
@media(max-width:700px){
  .network-grid{padding:18px 8px}
  .member-badge{width:56px;height:56px}
  .member-body h4{font-size:18px}
  .member-body p{font-size:15px}
}
@media(max-width:600px){
  .logo img{height:64px}
  .hero-title{font-size:30px}
  .text-box{min-width:unset;width:100%}
  .hero-left{padding:18px}
  .hero-right{padding:12px}
  .card-right{flex:1}
  .gallery-grid img{height:200px}
}
