/* INFOTECH — Site público. Base clara para conteúdo; azul-marinho para cabeçalho, banners e rodapé. */
:root{--navy:#0a1428;--navy2:#0f1d38;--bg:#ffffff;--bg2:#f4f7fc;--card:#ffffff;--line:#e2e8f2;--text:#0f172a;--soft:#5b6b82;--accent:#2563eb;--accent2:#38bdf8;--radius:18px;
  --shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px -12px rgba(15,23,42,.12);--shadow-hover:0 20px 40px -18px rgba(37,99,235,.35)}
/* Seções escuras: as mesmas classes de cor passam a funcionar em fundo marinho. */
.it-nav,.hero,.page-hero,.cta,.it-footer{--text:#eaf1fb;--soft:#a3b3cb;--line:rgba(148,163,184,.18);--card:rgba(255,255,255,.04);color:var(--text)}
body{background:var(--bg);color:var(--text);font-family:'Manrope',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,.brand{font-family:'Sora',sans-serif;letter-spacing:-.02em;color:inherit}
a{color:var(--text);text-decoration:none;transition:color .2s}a:hover{color:var(--accent)}
.text-soft{color:var(--soft)!important}
.py-6{padding:6rem 0}.section-alt{background:var(--bg2)}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}
.eyebrow::before{content:"";width:18px;height:2px;border-radius:2px;background:currentColor}
.hero .eyebrow,.page-hero .eyebrow{color:var(--accent2)}

/* Cabeçalho */
.it-nav{background:rgba(10,20,40,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;padding:1rem 0;transition:padding .3s,background .3s,border-color .3s,box-shadow .3s}
.it-nav.scrolled{background:rgba(10,20,40,.92);padding:.55rem 0;border-color:var(--line);box-shadow:0 10px 30px -15px rgba(0,0,0,.5)}
.it-nav .nav-link{color:var(--soft);font-weight:600;font-size:.95rem;position:relative;padding:.5rem .75rem!important}
.it-nav .nav-link::after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.2rem;height:2px;border-radius:2px;background:var(--accent2);transform:scaleX(0);transition:transform .25s}
.it-nav .nav-link.active,.it-nav .nav-link:hover{color:#fff}.it-nav .nav-link.active::after,.it-nav .nav-link:hover::after{transform:scaleX(1)}
.it-nav .navbar-toggler{border:1px solid var(--line);border-radius:10px;padding:.4rem .6rem}.it-nav .navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(56,189,248,.3)}
.brand{font-weight:800;font-size:1.25rem;color:#fff}.brand-mark{color:var(--accent2);margin-right:.25rem}

/* Botões */
.btn{transition:transform .2s,box-shadow .2s,filter .2s,background .2s}
.btn-accent{background:linear-gradient(135deg,var(--accent),#1d4ed8);color:#fff;font-weight:700;border:0;border-radius:999px;box-shadow:0 10px 24px -10px rgba(37,99,235,.7)}
.btn-accent:hover,.btn-accent:focus{color:#fff;transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(37,99,235,.8)}
.btn-outline-light{border-radius:999px;font-weight:600}.btn-outline-light:hover{transform:translateY(-2px)}
section:not(.hero):not(.page-hero) .btn-outline-light{color:var(--text);border-color:var(--line)}
.cta .btn-outline-light{color:#fff!important;border-color:rgba(255,255,255,.4)!important}

/* Banner principal */
.hero{padding:11rem 0 7rem;position:relative;overflow:hidden;background:radial-gradient(900px 450px at 85% 0,rgba(56,189,248,.22),transparent 60%),radial-gradient(700px 450px at 0 100%,rgba(37,99,235,.28),transparent 60%),linear-gradient(180deg,var(--navy),var(--navy2))}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 60% 40%,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000 20%,transparent 70%);opacity:.6}
.hero::after{content:"";position:absolute;width:420px;height:420px;right:-120px;top:20%;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.35),transparent 65%);filter:blur(30px);animation:drift 16s ease-in-out infinite}
.hero h1{line-height:1.08;background:linear-gradient(180deg,#fff,#c7d7ef);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stats{flex-wrap:wrap;row-gap:1rem}.stats strong{font-family:'Sora';font-size:2.2rem;color:#fff}.stats>div{color:var(--accent2);font-weight:700}.stats span{display:block;color:var(--soft);font-size:.85rem;font-weight:500}
.terminal{position:relative;background:rgba(8,15,32,.85);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 40px 80px -30px rgba(0,0,0,.7),0 0 0 1px rgba(56,189,248,.08);overflow:hidden;animation:bob 7s ease-in-out infinite}
.terminal .bar{display:flex;gap:6px;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--line)}
.terminal .bar i{width:11px;height:11px;border-radius:50%;background:#334155}.terminal .bar i:first-child{background:#f87171}.terminal .bar i:nth-child(2){background:#fbbf24}.terminal .bar i:nth-child(3){background:#34d399}
.terminal .bar span{margin-left:auto;color:var(--soft);font-size:.8rem}
.terminal pre{margin:0;padding:1.5rem;color:#cbd5e1;font-size:.9rem}.terminal .k{color:#93c5fd}.terminal .f{color:var(--accent2)}.terminal .s{color:#86efac}.terminal .c{color:#64748b}
.page-hero{padding:10rem 0 4.5rem;position:relative;overflow:hidden;background:radial-gradient(700px 320px at 80% 0,rgba(56,189,248,.2),transparent 60%),linear-gradient(180deg,var(--navy),var(--navy2))}
.page-hero h1{color:#fff}

/* Cards */
.it-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s;color:var(--text);box-shadow:var(--shadow);overflow:hidden}
.it-card:hover{border-color:rgba(37,99,235,.35);transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.it-card .icon{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;font-size:1.45rem;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));margin-bottom:1.1rem;flex-shrink:0;box-shadow:0 10px 20px -10px rgba(37,99,235,.7);transition:transform .3s}
.it-card:hover .icon{transform:rotate(-6deg) scale(1.06)}
.card-img{width:calc(100% + 3.5rem);margin:-1.75rem -1.75rem 1.1rem;height:210px;object-fit:cover;border-radius:var(--radius) var(--radius) 0 0;transition:transform .5s}
.it-card:hover .card-img{transform:scale(1.04)}
.tag,.badge-soft{display:inline-block;font-size:.74rem;font-weight:600;padding:.25rem .65rem;border-radius:999px;background:var(--bg2);color:var(--soft);border:1px solid var(--line)}
.badge-soft{color:var(--accent);background:rgba(37,99,235,.07);border-color:rgba(37,99,235,.15)}
.link-accent{color:var(--accent);font-weight:700}.link-accent i{transition:transform .2s;display:inline-block}.link-accent:hover i,.it-card:hover .link-accent i{transform:translateX(4px)}
.diff{display:flex;align-items:center;gap:.8rem;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:14px;background:var(--card);height:100%;font-weight:600;box-shadow:var(--shadow);transition:transform .25s,border-color .25s}
.diff:hover{transform:translateY(-3px);border-color:rgba(37,99,235,.3)}
.diff i{color:var(--accent);font-size:1.3rem;width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:rgba(37,99,235,.08);flex-shrink:0}
.step{text-align:center;padding:1.75rem 1rem;border:1px solid var(--line);border-radius:var(--radius);height:100%;background:var(--card);box-shadow:var(--shadow);font-weight:600}
.step b{display:grid;place-items:center;width:46px;height:46px;margin:0 auto .85rem;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-family:'Sora'}
.metric{font-family:'Sora';font-weight:800;font-size:1.6rem;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
blockquote{color:var(--soft);font-size:1.02rem}
.it-acc .accordion-item{background:var(--card);border:1px solid var(--line);color:var(--text);margin-bottom:.75rem;border-radius:14px!important;overflow:hidden;box-shadow:var(--shadow)}
.it-acc .accordion-button{background:transparent;color:var(--text);font-weight:700;box-shadow:none;font-family:'Sora';font-size:1rem}
.it-acc .accordion-button:not(.collapsed){color:var(--accent)}
.cta{position:relative;overflow:hidden;padding:4.5rem 2rem;border-radius:28px;background:radial-gradient(500px 250px at 100% 0,rgba(56,189,248,.35),transparent 60%),linear-gradient(135deg,var(--navy),#1e3a8a);box-shadow:0 30px 60px -30px rgba(15,23,42,.6)}
.cta h2{color:#fff}
.chip{padding:.45rem 1.05rem;border-radius:999px;border:1px solid var(--line);color:var(--soft);font-weight:600;background:var(--card);transition:all .2s}.chip.on,.chip:hover{border-color:var(--accent);color:#fff;background:var(--accent)}

/* Formulários */
.form-control,.form-select{background:#fff;border-color:var(--line);color:var(--text);border-radius:12px;padding:.7rem .9rem}
.form-control:focus,.form-select:focus{background:#fff;color:var(--text);border-color:var(--accent);box-shadow:0 0 0 .2rem rgba(37,99,235,.15)}
.form-label{color:var(--text);font-weight:600;font-size:.9rem}
.contact-line{display:flex;gap:1rem;align-items:center}.contact-line i{font-size:1.4rem;color:var(--accent);width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:rgba(37,99,235,.08)}

/* Rodapé */
.it-footer{background:linear-gradient(180deg,var(--navy2),#060d1c);border-top:1px solid var(--line)}.it-footer h6{font-family:'Sora';margin-bottom:1rem;color:#fff}
.it-footer li{margin-bottom:.55rem;color:var(--soft)}.it-footer a{color:var(--soft)}.it-footer a:hover{color:var(--accent2)}.it-footer hr{border-color:var(--line);opacity:1}
.it-footer .fs-5 a{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);font-size:1rem;transition:all .2s}
.it-footer .fs-5 a:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px)}
.wa-float{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:1.7rem;box-shadow:0 10px 30px rgba(37,211,102,.4);z-index:1000;transition:transform .2s}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:ping 2.4s ease-out infinite}
.wa-float:hover{color:#fff;transform:scale(1.08)}
.alert{border-radius:14px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Animações */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
@keyframes drift{50%{transform:translate(-60px,40px) scale(1.1)}}
@keyframes bob{50%{transform:translateY(-10px)}}
@keyframes ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

@media (max-width:991px){
  .hero{padding:8.5rem 0 4.5rem}.page-hero{padding:8rem 0 3.5rem}.py-6{padding:4rem 0}
  .it-nav{background:rgba(10,20,40,.95)}
  .it-nav .navbar-collapse{padding:1rem 0;margin-top:.5rem;border-top:1px solid var(--line)}
  .it-nav .nav-link::after{display:none}.it-nav .btn-accent{width:100%;margin-top:.5rem}
  .cta{padding:3rem 1.25rem}
}
