:root {
    /* --primary: #0e62f2;
    --primary-dark: #0845b7; */
    /* --secondary: #00c2a8; */
    --primary: #0066ff;
    --primary-dark:#0a1a3a;
    --secondary: #6a35d9;
    --dark: #071426;
    --dark-2: #0d2038;
    --light: #f5f8fc;
    --text: #586579;
    --white: #ffffff;
    --shadow: 0 20px 50px rgba(7, 20, 38, .12);
}

html { scroll-behavior: smooth; }
body {
    font-family: "Inter", Arial, sans-serif;
    color: var(--text);
    background: var(--white);
    overflow-x: hidden;
}
a { text-decoration: none; }
.section-padding { padding: 100px 0; }
.section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--primary);
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .15em;
    margin-bottom: 14px;
}
.section-kicker::before { content: ""; width: 34px; height: 3px; background: var(--secondary); border-radius: 10px; }
.section-title { color: var(--dark); font-weight: 800; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.1; }
.section-text { font-size: 1.04rem; line-height: 1.85; }

.navbar { transition: all .3s ease; padding: 20px 0; }
.navbar.scrolled { background: rgba(7,20,38,.96); padding: 11px 0; box-shadow: 0 10px 30px rgba(0,0,0,.15); }
.navbar-brand { color: #fff !important; font-weight: 900; font-size: 1.55rem; letter-spacing: -.04em; }
.navbar-brand span { color: var(--secondary); }
.nav-link { color: rgba(255,255,255,.8) !important; font-weight: 600; margin: 0 7px; }
.nav-link:hover, .nav-link.active { color: #fff !important; }
.navbar-toggler { border: 0; box-shadow: none !important; }
.navbar-toggler-icon { background-color: #6a35d9;border-radius: 5px; }
.dropdown-menu { border: 0; box-shadow: var(--shadow); border-radius: 14px; padding: 12px; }
.dropdown-item { border-radius: 8px; padding: 9px 12px; }
.dropdown-item:hover { background: #edf4ff; color: var(--primary); }

.btn-main, .btn-outline-main {
    border-radius: 50px;
    padding: 13px 25px;
    font-weight: 800;
    transition: .3s ease;
}
.btn-main { background: var(--secondary); color: #fff; border: 2px solid var(--secondary); }
.btn-main:hover { background: #0a1a3a; color: #fff; transform: translateY(-2px); }
.btn-outline-main { border: 2px solid rgba(255,255,255,.65); color: #fff; }
.btn-outline-main:hover { background: #fff; color: var(--dark); transform: translateY(-2px); }

.hero {
    min-height: 780px;
    display: flex;
    align-items: center;
    position: relative;
    color: #fff;
    
    /* background:
        radial-gradient(circle at 75% 35%, rgba(0,194,168,.28), transparent 24%),
        radial-gradient(circle at 15% 80%, rgba(14,98,242,.4), transparent 30%),
        linear-gradient(125deg, #071426 0%, #0a2c54 55%, #0e62f2 150%); */
    overflow: hidden;
}
/* .hero::before, .hero::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.09); border-radius:50%; } */
.hero::before { width:540px; height:540px; right:-170px; top:70px; }
.hero::after { width:360px; height:360px; right:30px; top:160px; }
.hero-content { position: relative; z-index: 2; padding-top: 90px; }
.hero h1 { font-weight: 900; font-size: 70px; line-height: .98; letter-spacing: -.055em; }
.hero h1 span { color: var(--secondary); }
.hero p { font-size: 1.15rem; line-height: 1.75; max-width: 620px; color: rgba(255,255,255,.8); }
.hero-card {
    position: relative; z-index: 2; background: rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(14px); padding: 28px; border-radius: 28px; box-shadow: 0 30px 80px rgba(0,0,0,.25);
}
.hero-card .mini-stat { background: rgba(255,255,255,.08); border-radius: 18px; padding: 20px; height:100%; }
.hero-card i { color: var(--secondary); font-size: 1.5rem; }
.signal-bars { height: 210px; display:flex; align-items:flex-end; justify-content:center; gap:14px; padding:20px; }
.signal-bars span { width: 42px; border-radius:12px 12px 4px 4px; background:linear-gradient(var(--secondary), var(--primary)); animation:pulseBars 2.4s ease-in-out infinite; }
.signal-bars span:nth-child(1){height:25%;}.signal-bars span:nth-child(2){height:48%;animation-delay:.2s}.signal-bars span:nth-child(3){height:72%;animation-delay:.4s}.signal-bars span:nth-child(4){height:100%;animation-delay:.6s}
@keyframes pulseBars { 50% { transform:translateY(-10px); filter:brightness(1.15); } }
.hero-scroll { position:absolute; bottom:28px; left:50%; transform:translateX(-50%); z-index:2; color:#fff; opacity:.7; animation:bounce 1.7s infinite; }
@keyframes bounce { 50% { transform:translate(-50%,8px); } }

.about-visual { min-height: 540px; border-radius: 30px; position:relative; overflow:hidden; background:linear-gradient(145deg,#0b1f37,#0f66f4); box-shadow:var(--shadow); }
.about-visual::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 30% 30%, rgba(0,194,168,.8), transparent 22%); }
.network-node { position:absolute; width:16px; height:16px; background:#fff; border-radius:50%; box-shadow:0 0 0 12px rgba(255,255,255,.1); }
.network-node::after { content:""; position:absolute; width:180px; height:1px; background:rgba(255,255,255,.35); transform-origin:left center; }
.node-1{left:20%;top:30%}.node-1::after{transform:rotate(25deg)}
.node-2{left:52%;top:45%}.node-2::after{transform:rotate(-45deg)}
.node-3{left:72%;top:22%}.node-3::after{transform:rotate(85deg)}
.node-4{left:64%;top:72%}.node-4::after{transform:rotate(170deg)}
.about-badge { position:absolute; right:24px; bottom:24px; background:#fff; border-radius:22px; padding:24px; width:210px; box-shadow:var(--shadow); }
.about-badge strong { display:block; color:var(--dark); font-size:2.4rem; }
.check-list { list-style:none; padding:0; margin:25px 0 0; }
.check-list li { margin-bottom:14px; }
.check-list i { color:var(--secondary); margin-right:10px; }

.features { background:var(--light); }
.feature-card { background:#fff; border-radius:22px; padding:32px; height:100%; box-shadow:0 12px 35px rgba(7,20,38,.07); transition:.3s; border:1px solid transparent; }
.feature-card:hover { transform:translateY(-8px); border-color:rgba(14,98,242,.15); box-shadow:var(--shadow); }
.icon-box { width:62px; height:62px; display:grid; place-items:center; border-radius:17px; background:#eaf2ff; color:var(--primary); font-size:1.5rem; margin-bottom:22px; }
.feature-card h4 { color:var(--dark); font-weight:800; }

.stats { background:linear-gradient(120deg,var(--dark),var(--dark-2)); color:#fff; }
.stat-item { text-align:center; padding:25px 12px; }
.stat-item i { color:var(--secondary); font-size:2rem; margin-bottom:14px; }
.stat-number { display:block; font-size:clamp(2.2rem,5vw,4rem); font-weight:900; line-height:1; }
.stat-label { color:rgba(255,255,255,.65); margin-top:9px; }

.solution-card { border-radius:24px; overflow:hidden; background:#fff; border:1px solid #e8eef7; height:100%; transition:.3s; }
.solution-card:hover { transform:translateY(-7px); box-shadow:var(--shadow); }
.solution-top { min-height:180px; padding:32px; color:#fff; display:flex; align-items:flex-end; background:linear-gradient(135deg,#530466,#0e62f2); }
.solution-card:nth-child(even) .solution-top { background:linear-gradient(135deg,#062b2a,#00a58e); }
.solution-top i { font-size:3rem; opacity:.9; }
.solution-body { padding:28px; }
.solution-body h4 { color:var(--dark); font-weight:800; }
.solution-link { color:var(--primary); font-weight:800; }

.logos { background:#fff; }
.logo-box { height:90px; display:flex; align-items:center; justify-content:center; background:var(--light); border-radius:16px; color:#7f8b9d; font-weight:900; letter-spacing:.04em; transition:.3s; }
.logo-box:hover { background:#edf4ff; color:var(--primary); }

.testimonials { background:var(--light); }
.testimonial-card { background:#fff; border-radius:24px; padding:36px; box-shadow:0 14px 40px rgba(7,20,38,.08); }
.testimonial-card .quote { font-size:2.4rem; color:var(--secondary); }
.avatar { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:var(--dark); color:#fff; font-weight:900; }
.carousel-indicators { position:static; margin-top:25px; }
.carousel-indicators [data-bs-target] { background-color:var(--primary); width:9px; height:9px; border-radius:50%; }

.cta { background:linear-gradient(120deg,#0066ff,#0a1a3a); color:#fff; border-radius:32px; padding:55px; position:relative; overflow:hidden; }
.cta::after { content:""; position:absolute; width:250px; height:250px; border:50px solid rgba(255,255,255,.07); border-radius:50%; right:-60px; top:-70px; }

.contact-section { background:#fff; }
.contact-info { background:var(--dark); color:#fff; border-radius:26px; padding:38px; height:100%; }
.contact-info p { color:rgba(255,255,255,.7); }
.contact-item { display:flex; gap:16px; margin-top:24px; }
.contact-item i { width:42px; height:42px; border-radius:12px; background:rgba(0,194,168,.15); display:grid; place-items:center; color:var(--secondary); flex:0 0 auto; }
.form-control, .form-select { min-height:52px; border-radius:12px; border-color:#dfe6ef; padding:12px 15px; }
.form-control:focus, .form-select:focus { border-color:var(--primary); box-shadow:0 0 0 .25rem rgba(14,98,242,.12); }
textarea.form-control { min-height:140px; }

footer { background:#050d18; color:rgba(255,255,255,.65); padding:70px 0 25px; }
footer h5 { color:#fff; font-weight:800; margin-bottom:20px; }
footer a { color:rgba(255,255,255,.65); display:block; margin-bottom:9px; }
footer a:hover { color:var(--secondary); }
.social-links a { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.08); margin-right:8px; color:#fff; }
.social-links a:hover { background:var(--secondary); color:var(--dark); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); margin-top:45px; padding-top:22px; }

.page-hero { padding:180px 0 100px; color:#fff; background:linear-gradient(120deg,#071426,#0d4fae); }
.page-hero h1 { font-weight:900; font-size:clamp(2.5rem,5vw,4.5rem); }
.breadcrumb-item, .breadcrumb-item a { color:rgba(255,255,255,.7); }
.breadcrumb-item.active { color:#fff; }
.breadcrumb-item + .breadcrumb-item::before { color:rgba(255,255,255,.4); }

.back-to-top { position:fixed; right:22px; bottom:22px; width:46px; height:46px; border:0; border-radius:50%; background:var(--primary); color:#fff; display:none; z-index:99; box-shadow:0 10px 30px rgba(14,98,242,.35); }
.cookie-box { position:fixed; left:20px; bottom:20px; width:min(380px,calc(100% - 40px)); background:#fff; padding:22px; border-radius:18px; box-shadow:var(--shadow); z-index:100; display:none; }
.icone {padding:10px;border-radius: 50px; max-width:55px;}
#solucoes {
    background-color: #f5f8fc;
}
@media (max-width: 991.98px) {
    .navbar { background:rgba(7,20,38,.96); padding:12px 0; }
    .navbar-collapse { padding:16px 0; }
    .hero { min-height:auto; padding:235px 0 80px; }
    .hero-card { margin-top:45px; }
    .section-padding { padding:75px 0; }
    .about-visual { min-height:420px; margin-bottom:35px; }
}
@media (max-width: 575.98px) {
    .hero h1 { font-size:1.75rem; }
    .cta { padding:38px 25px; }
    .about-badge { width:180px; padding:18px; }
    .section-padding { padding:60px 0; }
    .stat-number { display:block; font-size:clamp(1.2rem,5vw,4rem); font-weight:900; line-height:1; }
    .hero-content { position: relative; z-index: 2; padding-top: 40px; }
    .hero p { font-size: 1rem; line-height: 1.05; max-width: 620px; color: rgba(255,255,255,.8); }
    .section-text { font-size: 1.04rem; line-height: 1.25; }
}
