:root{
  --navy:#0A1F3C; --navy2:#0A2342; --azul:#0B4A86; --turq:#00D3C8; --turq2:#078BA3; --turq-claro:#3EE6DA;
  --fundo:#F3F7FA; --branco:#FFFFFF; --linha:#E2E9EC; --texto:#1B2B31; --mudo:#4D6177; --mudo2:#8FA8C6;
  --grad:linear-gradient(90deg,#078BA3,#00D3C8); --raio:20px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; font-family:"Montserrat",system-ui,sans-serif; color:var(--texto); background:var(--branco); line-height:1.55; -webkit-font-smoothing:antialiased;}
img{max-width:100%; display:block;}
a{color:inherit;}
.wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
h1,h2,h3,h4{margin:0; letter-spacing:-.02em; line-height:1.12;}
h2{font-size:clamp(30px,4vw,46px); font-weight:800;}
.g{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.escuro .g{background:linear-gradient(90deg,#1FD9CF,#6FF3E6); -webkit-background-clip:text; background-clip:text;}
.kick{display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:8px 16px; border-radius:999px; background:#DFF6F4; color:#05829E; border:1px solid #A6E6E0;}
.escuro .kick{background:rgba(0,211,200,.12); color:var(--turq-claro); border-color:rgba(0,211,200,.35);}
.sub{font-size:clamp(17px,1.6vw,19px); color:var(--mudo); max-width:640px;}
.escuro .sub{color:#C5D6EA;}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; font:inherit; font-weight:700; font-size:16px; padding:15px 26px; border-radius:999px; border:0; cursor:pointer; text-decoration:none; text-align:center; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
.btn-p{background:var(--grad); color:#fff; box-shadow:0 14px 30px -14px rgba(7,139,163,.8);}
.btn-p:hover{transform:translateY(-2px); box-shadow:0 18px 34px -14px rgba(7,139,163,.9);}
.btn-o{background:transparent; color:var(--navy); border:2px solid var(--linha);}
.btn-o:hover{border-color:var(--turq2); color:var(--turq2);}
.escuro .btn-o{color:#fff; border-color:rgba(255,255,255,.25);}
.escuro .btn-o:hover{border-color:var(--turq); color:var(--turq-claro);}
section{padding:96px 0; scroll-margin-top:74px;}
.cab-sec{text-align:center; max-width:760px; margin:0 auto 52px;}
.cab-sec .sub{margin:16px auto 0;}
.cab-sec h2{margin-top:18px;}
.escuro{background:radial-gradient(900px 600px at 10% 0%, #0E3F74 0%, rgba(14,63,116,0) 70%), var(--navy); color:#fff;}
.claro{background:var(--fundo);}

/* topo */
.topo{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--linha);}
.topo .wrap{display:flex; align-items:center; gap:28px; height:74px;}
.topo .logo img{height:38px; width:auto;}
.menu{display:flex; gap:26px; margin-left:auto; font-size:15px; font-weight:600;}
.menu a{text-decoration:none; color:var(--mudo);}
.menu a:hover{color:var(--turq2);}
.topo .btn{padding:11px 20px; font-size:14px;}
.burger{display:none; margin-left:auto; background:none; border:1px solid var(--linha); border-radius:10px; padding:8px 10px; cursor:pointer;}
@media (max-width:920px){
  .menu{display:none; position:absolute; top:74px; left:0; right:0; flex-direction:column; gap:0; background:#fff; border-bottom:1px solid var(--linha); padding:8px 24px 16px;}
  .menu.aberto{display:flex;}
  .menu a{padding:12px 0; border-bottom:1px solid var(--linha);}
  .burger{display:inline-flex;}
  .topo .btn{display:none;}
}

/* hero */
.hero{padding:72px 0 90px; position:relative; overflow:hidden;}
.hero .wrap{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:56px; align-items:center;}
.hero h1{font-size:clamp(38px,5.2vw,64px); font-weight:800; margin:22px 0 22px;}
.hero .acoes{display:flex; gap:14px; flex-wrap:wrap; margin-top:34px;}
.selos{display:flex; gap:10px; flex-wrap:wrap; margin-top:30px;}
.selos span{display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:#C5D6EA; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); padding:8px 14px; border-radius:999px;}
.selos span::before{content:""; width:8px; height:8px; border-radius:3px; background:var(--turq);}
.hero .simbolo-fundo{position:absolute; right:-160px; top:-60px; width:620px; opacity:.07; pointer-events:none;}
@media (max-width:920px){ .hero .wrap{grid-template-columns:minmax(0,1fr);} }

/* janela do sistema (ilustração) */
.janela{background:#F4F7F8; border-radius:18px; overflow:hidden; box-shadow:0 50px 100px -30px rgba(0,0,0,.6); border:1px solid rgba(255,255,255,.1);}
.janela .bar{height:38px; background:#fff; border-bottom:1px solid var(--linha); display:flex; align-items:center; gap:7px; padding:0 14px;}
.janela .bar b{width:11px; height:11px; border-radius:50%; background:var(--linha);}
.janela .bar span{margin-left:12px; flex:1; height:22px; border-radius:6px; background:#EEF3F5; font-size:12px; color:var(--mudo); display:flex; align-items:center; padding-left:10px; font-weight:600;}
.janela .corpo{display:flex; min-height:340px;}
.janela .lado{width:118px; background:var(--navy); padding:16px 12px; display:flex; flex-direction:column; gap:10px;}
.janela .lado img{width:30px; margin-bottom:8px;}
.janela .lado i{display:block; height:8px; border-radius:4px; background:rgba(182,204,230,.3);}
.janela .lado i.on{background:var(--turq);}
.janela .area{flex:1; padding:18px; color:var(--texto);}
.janela h4{font-size:16px; font-weight:800; margin-bottom:12px;}
.kpis{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
.kpi{background:#fff; border:1px solid var(--linha); border-radius:12px; padding:12px 14px;}
.kpi small{display:flex; align-items:center; gap:6px; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--mudo);}
.kpi small::before{content:""; width:7px; height:7px; border-radius:2px; background:var(--turq2);}
.kpi b{display:block; font-size:22px; font-weight:800; margin-top:4px;}
.kpi.ok b{color:#188A56;} .kpi.al b{color:#B97514;}
.barras{margin-top:12px; background:#fff; border:1px solid var(--linha); border-radius:12px; padding:12px 14px;}
.linha{display:flex; align-items:center; gap:10px; font-size:12px; font-weight:700; margin:7px 0;}
.linha span{width:78px;} .linha strong{width:40px; text-align:right;}
.linha em{flex:1; height:8px; border-radius:4px; background:#EEF3F5; position:relative; overflow:hidden;}
.linha em::after{content:""; position:absolute; inset:0; width:var(--p); background:var(--grad);}
.ilus{font-size:12px; color:var(--mudo2); margin-top:10px; text-align:center;}

/* pilares */
.pilares{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px;}
.pilar{background:#fff; border:1px solid var(--linha); border-radius:var(--raio); padding:30px 26px;}
.pilar .ic{width:54px; height:54px; border-radius:16px; background:var(--grad); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:20px;}
.pilar h3{font-size:21px; font-weight:800; margin-bottom:10px;}
.pilar p{margin:0; color:var(--mudo); font-size:15.5px;}
@media (max-width:980px){ .pilares{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:560px){ .pilares{grid-template-columns:minmax(0,1fr);} }

/* módulos */
.modulos{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;}
.mod{background:rgba(255,255,255,.05); border:1px solid rgba(0,211,200,.22); border-radius:var(--raio); padding:26px 24px; transition:border-color .15s ease, transform .15s ease;}
.mod:hover{border-color:var(--turq); transform:translateY(-3px);}
.mod h3{display:flex; align-items:center; gap:12px; font-size:19px; font-weight:800;}
.mod h3::before{content:""; width:12px; height:12px; border-radius:4px; background:var(--grad); flex:none;}
.mod p{margin:12px 0 0; color:#A9C0DA; font-size:14.5px;}
@media (max-width:980px){ .modulos{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:560px){ .modulos{grid-template-columns:minmax(0,1fr);} }

/* destaques */
.destaques{display:grid; gap:80px;}
.dest{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:center;}
.dest:nth-child(even) .dest-txt{order:2;}
.dest h3{font-size:clamp(26px,3vw,36px); font-weight:800; margin:16px 0 14px;}
.dest ul{list-style:none; padding:0; margin:22px 0 0; display:grid; gap:12px;}
.dest li{display:flex; gap:12px; font-size:16px; color:var(--mudo);}
.dest li::before{content:"✓"; flex:none; width:26px; height:26px; border-radius:8px; background:#DFF6F4; color:#05829E; font-weight:800; display:flex; align-items:center; justify-content:center; font-size:14px;}
.cartao{background:#fff; border:1px solid var(--linha); border-radius:22px; padding:26px; box-shadow:0 40px 80px -40px rgba(6,26,56,.35);}
.cartao h4{font-size:17px; font-weight:800; margin-bottom:14px;}
.reg{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;}
.reg div{background:var(--fundo); border-radius:14px; padding:14px;}
.reg small{display:block; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--mudo);}
.reg b{display:block; font-size:18px; font-weight:800; margin-top:4px;}
.reg .on{background:var(--navy); color:#fff;} .reg .on small{color:var(--turq-claro);}
.trilha div{display:flex; justify-content:space-between; gap:12px; font-size:14px; padding:11px 0; border-top:1px solid var(--linha);}
.trilha div:first-of-type{border-top:0;}
.trilha span{color:var(--mudo);}
.pill{font-size:12px; font-weight:700; padding:3px 10px; border-radius:999px; background:#E4F4EC; color:#188A56; white-space:nowrap;}
.bal{font-size:15px; line-height:1.45; padding:14px 16px; border-radius:16px; margin-top:10px; max-width:88%;}
.bal.eu{background:#EEF3F5; margin-left:auto; border-bottom-right-radius:5px;}
.bal.ela{background:#DFF6F4; border-bottom-left-radius:5px;}
.bal.sup{background:var(--grad); color:#fff; border-bottom-left-radius:5px;}
.bal.sup b{display:block; font-size:12px; opacity:.85; margin-bottom:3px;}
@media (max-width:920px){ .dest{grid-template-columns:minmax(0,1fr); gap:30px;} .dest:nth-child(even) .dest-txt{order:0;} }

/* vídeo */
.video{max-width:980px; margin:0 auto; border-radius:24px; overflow:hidden; box-shadow:0 50px 100px -30px rgba(0,0,0,.6); border:1px solid rgba(255,255,255,.1); background:#000;}
.video video,.video iframe{width:100%; display:block; aspect-ratio:16/9; border:0;}

/* growth */
.servicos{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;}
.serv{background:#fff; border:1px solid var(--linha); border-radius:var(--raio); padding:30px 28px; position:relative; overflow:hidden;}
.serv .n{font-size:13px; font-weight:800; color:var(--turq2); letter-spacing:.1em;}
.serv h3{font-size:21px; font-weight:800; margin:10px 0;}
.serv p{margin:0; color:var(--mudo); font-size:15px;}
.growth-cta{margin-top:40px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; background:var(--navy); color:#fff; border-radius:24px; padding:30px 34px;}
.growth-cta p{margin:6px 0 0; color:#C5D6EA;}
.growth-cta h3{font-size:24px; font-weight:800;}
@media (max-width:980px){ .servicos{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:620px){ .servicos{grid-template-columns:minmax(0,1fr);} }

/* tecclinic */
.clinic{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:56px; align-items:center;}
.breve{display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; padding:8px 16px; border-radius:999px; background:#FFF3D6; color:#9A6A00; border:1px solid #F2D58A;}
.publico{display:flex; gap:10px; flex-wrap:wrap; margin:24px 0;}
.publico span{font-size:15px; font-weight:700; padding:10px 16px; border-radius:14px; background:#fff; border:1px solid var(--linha);}
.clinic ul{list-style:none; padding:0; margin:0; display:grid; gap:12px;}
.clinic li{display:flex; gap:12px; color:var(--mudo); font-size:16px;}
.clinic li::before{content:"✦"; color:var(--turq2); font-weight:800;}
.clinic-card{background:var(--navy); color:#fff; border-radius:26px; padding:34px; position:relative; overflow:hidden;}
.clinic-card h3{font-size:28px; font-weight:800; margin:6px 0 10px;}
.clinic-card p{color:#C5D6EA; margin:0 0 22px;}
.clinic-card img.simb{position:absolute; right:-80px; bottom:-60px; width:300px; opacity:.12;}
.lista-espera{display:flex; gap:10px; flex-wrap:wrap; position:relative;}
.lista-espera input{flex:1 1 220px; font:inherit; font-size:15px; padding:14px 16px; border-radius:999px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.06); color:#fff;}
.lista-espera input::placeholder{color:#8FA8C6;}
@media (max-width:920px){ .clinic{grid-template-columns:minmax(0,1fr);} }

/* como funciona */
.passos{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; counter-reset:p;}
.passo{background:#fff; border:1px solid var(--linha); border-radius:var(--raio); padding:30px 26px;}
.passo::before{counter-increment:p; content:counter(p); display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:14px; background:var(--navy); color:var(--turq-claro); font-weight:800; font-size:20px; margin-bottom:18px;}
.passo h3{font-size:20px; font-weight:800; margin-bottom:8px;}
.passo p{margin:0; color:var(--mudo); font-size:15px;}
@media (max-width:820px){ .passos{grid-template-columns:minmax(0,1fr);} }

/* faq */
.faq{max-width:820px; margin:0 auto; display:grid; gap:12px;}
.faq details{background:#fff; border:1px solid var(--linha); border-radius:16px; padding:20px 24px;}
.faq summary{cursor:pointer; font-weight:700; font-size:17px; list-style:none; display:flex; justify-content:space-between; gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; color:var(--turq2); font-size:24px; line-height:1;}
.faq details[open] summary::after{content:"–";}
.faq p{margin:12px 0 0; color:var(--mudo);}

/* contato */
.contato{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:56px; align-items:start;}
.form{background:#fff; color:var(--texto); border-radius:24px; padding:32px; box-shadow:0 50px 100px -40px rgba(0,0,0,.6);}
.form label{display:block; font-size:14px; font-weight:700; margin:0 0 6px;}
.form input,.form select,.form textarea{width:100%; font:inherit; font-size:15px; padding:13px 15px; border-radius:12px; border:1px solid var(--linha); background:var(--fundo); color:var(--texto); margin-bottom:16px;}
.form input:focus,.form select:focus,.form textarea:focus{outline:none; border-color:var(--turq2); background:#fff;}
.form .duas{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px;}
.form .btn{width:100%;}
.form .aviso{font-size:12.5px; color:var(--mudo); margin:12px 0 0; text-align:center;}
.form .ok{display:none; background:#E4F4EC; color:#188A56; border-radius:12px; padding:12px 14px; font-weight:600; margin-bottom:14px;}
.contato ul{list-style:none; padding:0; margin:28px 0 0; display:grid; gap:14px;}
.contato li{display:flex; gap:12px; color:#C5D6EA;}
.contato li b{color:#fff;}
@media (max-width:920px){ .contato{grid-template-columns:minmax(0,1fr);} .form .duas{grid-template-columns:minmax(0,1fr); gap:0;} }

/* rodapé */
footer{background:#071730; color:#8FA8C6; padding:56px 0 34px; font-size:14px;}
footer .wrap{display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr); gap:34px;}
footer img{height:36px; width:auto; margin-bottom:16px;}
footer h4{color:#fff; font-size:14px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:14px;}
footer a{display:block; text-decoration:none; color:#8FA8C6; margin-bottom:9px;}
footer a:hover{color:var(--turq-claro);}
.copy{grid-column:1/-1; border-top:1px solid rgba(255,255,255,.08); padding-top:22px; margin-top:12px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;}
@media (max-width:820px){ footer .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);} }

.zap{position:fixed; right:22px; bottom:22px; z-index:60; width:60px; height:60px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px -10px rgba(0,0,0,.45); text-decoration:none;}
.zap:hover{transform:scale(1.05);}
@media (prefers-reduced-motion:reduce){ *{transition:none !important; scroll-behavior:auto !important;} }

@media (max-width:560px){
  .janela .lado{width:64px; padding:12px 10px;}
  .janela .lado img{width:24px;}
  .janela .area{padding:12px;}
  .kpi{padding:10px;} .kpi b{font-size:17px;} .kpi small{font-size:9px;}
  .linha span{width:60px;} .linha strong{width:42px;}
  .reg b{font-size:15px;}
  .hero .acoes .btn{width:100%;}
  .growth-cta{padding:26px 22px;}
}

/* ───── blog ───── */
.posts{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px;}
.post-card{display:flex; flex-direction:column; background:#fff; border:1px solid var(--linha); border-radius:var(--raio); overflow:hidden; text-decoration:none; color:inherit; transition:transform .15s ease, box-shadow .15s ease;}
.post-card:hover{transform:translateY(-3px); box-shadow:0 30px 60px -36px rgba(6,26,56,.45);}
.post-card .capa{aspect-ratio:16/9; background:linear-gradient(135deg,#0A1F3C,#0B4A86 60%,#078BA3); display:flex; align-items:center; justify-content:center; overflow:hidden;}
.post-card .capa img{width:100%; height:100%; object-fit:cover;}
.post-card .capa .sem{width:64px; opacity:.35;}
.post-card .txt{padding:22px 22px 24px; display:flex; flex-direction:column; gap:10px; flex:1;}
.post-card .meta{font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--turq2);}
.post-card h3{font-size:20px; font-weight:800; line-height:1.25;}
.post-card p{margin:0; color:var(--mudo); font-size:15px;}
.post-card .mais{margin-top:auto; font-weight:700; color:var(--turq2); font-size:15px;}
.ver-todos{text-align:center; margin-top:36px;}
@media (max-width:980px){ .posts{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:620px){ .posts{grid-template-columns:minmax(0,1fr);} }

.blog-hero{padding:64px 0 56px; text-align:center;}
.blog-hero h1{font-size:clamp(34px,4.6vw,52px); font-weight:800; margin:18px 0 12px;}
.blog-hero .sub{margin:0 auto;}
.blog-lista{padding:64px 0 90px;}
.vazio{text-align:center; color:var(--mudo); padding:40px 0;}
.paginacao{display:flex; justify-content:center; gap:8px; margin-top:44px; flex-wrap:wrap;}
.paginacao .page-numbers{min-width:44px; height:44px; padding:0 14px; border-radius:12px; border:1px solid var(--linha); display:inline-flex; align-items:center; justify-content:center; text-decoration:none; font-weight:700; color:var(--navy); background:#fff;}
.paginacao .page-numbers.current{background:var(--navy); color:#fff; border-color:var(--navy);}

.artigo-topo{padding:56px 0 40px;}
.artigo-topo .wrap,.artigo .wrap{max-width:820px;}
.artigo-topo h1{font-size:clamp(32px,4.4vw,48px); font-weight:800; margin:18px 0 14px;}
.artigo-topo .meta{color:#C5D6EA; font-size:15px;}
.voltar{display:inline-flex; gap:8px; color:var(--turq-claro); text-decoration:none; font-weight:700; font-size:15px; margin-bottom:22px;}
.artigo{padding:48px 0 80px;}
.artigo .destaque-img{border-radius:22px; overflow:hidden; margin:-90px 0 40px; box-shadow:0 40px 80px -40px rgba(6,26,56,.5);}
.conteudo{font-size:18px; line-height:1.75; color:#24363D;}
.conteudo h2{font-size:28px; font-weight:800; margin:44px 0 14px; color:var(--navy);}
.conteudo h3{font-size:22px; font-weight:800; margin:34px 0 10px; color:var(--navy);}
.conteudo p{margin:0 0 20px;}
.conteudo a{color:var(--turq2); font-weight:600;}
.conteudo ul,.conteudo ol{padding-left:24px; margin:0 0 20px;}
.conteudo li{margin-bottom:8px;}
.conteudo img{border-radius:16px; height:auto; margin:10px 0;}
.conteudo blockquote{margin:28px 0; padding:18px 24px; border-left:5px solid var(--turq); background:var(--fundo); border-radius:0 14px 14px 0; font-weight:500;}
.conteudo figure{margin:28px 0;} .conteudo figcaption{font-size:14px; color:var(--mudo); text-align:center; margin-top:8px;}
.cta-artigo{margin-top:56px; background:var(--navy); color:#fff; border-radius:24px; padding:32px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;}
.cta-artigo h3{font-size:24px; font-weight:800;}
.cta-artigo p{margin:6px 0 0; color:#C5D6EA;}
.menu a.on{color:var(--turq2);}
.mesmo-tema{padding:72px 0 90px;}
.mesmo-tema .cab-sec h2{font-size:clamp(26px,3vw,34px);}

/* ── Menu: topo compacto, seção ativa e progresso da página ── */
.topo{transition:box-shadow .3s ease, background .3s ease;}
.topo .wrap{transition:height .3s ease;}
.topo.compacto{box-shadow:0 10px 30px -18px rgba(10,31,60,.45); background:rgba(255,255,255,.97);}
.topo.compacto .wrap{height:62px;}
.menu a{position:relative; transition:color .2s ease;}
.menu a.on{color:var(--turq2);}
.menu a::after{content:""; position:absolute; left:0; right:0; bottom:-8px; height:2px; border-radius:2px; background:linear-gradient(90deg,#078BA3,#00D3C8); transform:scaleX(0); transition:transform .25s ease;}
.menu a.on::after,.menu a:hover::after{transform:scaleX(1);}
.tn-progresso{position:absolute; left:0; right:0; bottom:-1px; height:3px; background:linear-gradient(90deg,#078BA3,#00D3C8); transform-origin:0 50%; transform:scaleX(0); pointer-events:none;}
@media (max-width:900px){ .menu a::after{display:none;} .topo.compacto .wrap{height:74px;} .menu{top:100%;} }

/* ── Entrada dos blocos (só com o JS ativo) ── */
.tn-anima .tn-surge{opacity:0; transform:translateY(28px) scale(.97); filter:blur(6px);
  transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1), filter .7s ease;
  transition-delay:var(--atraso,0ms);}
.tn-anima .tn-surge.tn-visto{opacity:1; transform:none; filter:none;}
.tn-anima .mod.tn-surge,.tn-anima .pilar.tn-surge{transform:translateY(34px) rotateX(8deg) scale(.96); transform-origin:50% 100%;}
.tn-anima .mod.tn-surge.tn-visto,.tn-anima .pilar.tn-surge.tn-visto{transform:none;}

/* ── Hero entra ao abrir a página ── */
@media (prefers-reduced-motion:no-preference){
  .hero .wrap > div > *{animation:tnSobe .8s cubic-bezier(.2,.7,.2,1) both;}
  .hero .wrap > div > *:nth-child(2){animation-delay:.08s;}
  .hero .wrap > div > *:nth-child(3){animation-delay:.16s;}
  .hero .wrap > div > *:nth-child(4){animation-delay:.24s;}
  .hero .wrap > div > *:nth-child(5){animation-delay:.32s;}
  .hero .wrap > div:nth-child(2){animation:tnSobe 1s .2s cubic-bezier(.2,.7,.2,1) both;}
  .artigo-topo .wrap > *,.blog-hero .wrap > *{animation:tnSobe .7s cubic-bezier(.2,.7,.2,1) both;}
}
@keyframes tnSobe{from{opacity:0; transform:translateY(22px); filter:blur(4px);} to{opacity:1; transform:none; filter:none;}}

/* ── v1.6: entrada mais marcante, versão suave e painel vivo ── */
.tn-anima .tn-surge{transition-duration:.85s;}
.tn-anima .cab-sec.tn-surge .kick{display:inline-block; transition:transform .9s cubic-bezier(.2,.7,.2,1) .1s, opacity .9s ease .1s;}
.tn-anima .cab-sec.tn-surge:not(.tn-visto) .kick{transform:translateY(10px) scale(.9); opacity:0;}
.tn-anima .mod.tn-surge,.tn-anima .pilar.tn-surge,.tn-anima .post-card.tn-surge{position:relative;}
.tn-anima .mod.tn-visto::before{content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(0,211,200,.22) 50%,transparent 70%); background-size:250% 100%;
  animation:tnBrilho 1.4s ease var(--atraso,0ms) both;}
@keyframes tnBrilho{from{background-position:120% 0; opacity:1;} to{background-position:-60% 0; opacity:0;}}
.tn-anima.tn-suave .tn-surge,.tn-anima.tn-suave .mod.tn-surge,.tn-anima.tn-suave .pilar.tn-surge{transform:none; filter:none; transition:opacity .9s ease; transition-delay:var(--atraso,0ms);}
.tn-anima.tn-suave .cab-sec.tn-surge .kick{transform:none;}
.tn-anima.tn-suave .mod.tn-visto::before{animation:none;}
.hero .janela .linha em::after{transition:width 1.4s cubic-bezier(.2,.7,.2,1);}
.tn-anima .hero .janela:not(.tn-viva) .linha em::after{width:0;}
.tn-anima .hero .janela .lado i{transition:background .4s ease;}
@media (prefers-reduced-motion:no-preference){
  .hero .janela.tn-viva{animation:tnFlutua 7s ease-in-out 1.6s infinite;}
}
@keyframes tnFlutua{0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);}}
@media (prefers-reduced-motion:reduce){
  .hero .wrap > div > *,.hero .wrap > div:nth-child(2),.artigo-topo .wrap > *,.blog-hero .wrap > *{animation:tnEsmaece .9s ease both;}
}
@keyframes tnEsmaece{from{opacity:0;} to{opacity:1;}}

/* ── Botão de voltar ao topo ── */
.tn-subir{position:fixed; right:30px; bottom:96px; z-index:59; width:46px; height:46px; padding:0; border:0; border-radius:50%;
  background:var(--navy); color:#fff; cursor:pointer; box-shadow:0 12px 26px -10px rgba(10,31,60,.6);
  opacity:0; transform:translateY(12px) scale(.85); pointer-events:none; transition:opacity .3s ease, transform .3s ease, background .2s ease;}
.tn-subir.mostra{opacity:1; transform:none; pointer-events:auto;}
.tn-subir:hover{background:#0F2C52;}
.tn-subir:focus-visible{outline:3px solid #00D3C8; outline-offset:3px;}
.tn-subir svg{width:100%; height:100%; display:block; transform:rotate(-90deg);}
.tn-subir svg path{transform:rotate(90deg); transform-origin:24px 24px; fill:none; stroke:#fff; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round;}
.tn-subir .trilho{fill:none; stroke:rgba(255,255,255,.14); stroke-width:3;}
.tn-subir .anel{fill:none; stroke:#00D3C8; stroke-width:3; stroke-linecap:round; transition:stroke-dashoffset .15s linear;}
@media (max-width:600px){ .tn-subir{right:24px; bottom:92px; width:42px; height:42px;} }
/* Se a barra do WordPress aparecer (usuário logado), o topo fica logo abaixo dela. */
.topo{top:var(--wp-admin--admin-bar--height,0px);}

/* v1.6.2: no modo suave (Windows com animações desligadas) os cards também sobem um pouco ao aparecer */
.tn-anima.tn-suave .tn-surge{transform:translateY(22px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); transition-delay:var(--atraso,0ms);}
.tn-anima.tn-suave .pilar.tn-surge,.tn-anima.tn-suave .mod.tn-surge,.tn-anima.tn-suave .post-card.tn-surge,.tn-anima.tn-suave .faq details.tn-surge{transform:translateY(30px) scale(.97);}
.tn-anima.tn-suave .tn-surge.tn-visto{transform:none;}
.pilar,.mod,.post-card{transition:transform .25s ease, box-shadow .25s ease;}
.tn-visto.pilar:hover,.tn-visto.mod:hover,.tn-visto.post-card:hover{transform:translateY(-6px); box-shadow:0 24px 44px -24px rgba(10,31,60,.45);}
.tn-anima .tn-surge.tn-visto.pilar:hover,.tn-anima .tn-surge.tn-visto.mod:hover,.tn-anima .tn-surge.tn-visto.post-card:hover{transform:translateY(-6px); transition:transform .25s ease, box-shadow .25s ease; transition-delay:0s;}

/* v1.6.5: "ver todos" vira um link discreto, com menos espaço embaixo */
.ver-todos{margin-top:26px;}
.mais-link{display:inline-flex; align-items:center; gap:6px; font-size:15px; font-weight:700; color:var(--turq2); text-decoration:none; padding:6px 4px; border-bottom:2px solid transparent; transition:border-color .2s ease, gap .2s ease;}
.mais-link:hover{border-bottom-color:currentColor; gap:10px;}
#blog{padding-bottom:64px;}
.mesmo-tema{padding-bottom:64px;}

/* v1.7.0: faixa do TecNovo Growth */
.growth-faixa{padding:72px 0;}
.growth-card{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:44px; align-items:center;
  background:radial-gradient(120% 140% at 0% 0%,#0B4A86 0%,#0A2342 45%,#0A1F3C 100%); color:#fff;
  border-radius:28px; padding:52px 56px; position:relative; overflow:hidden; box-shadow:0 40px 80px -40px rgba(10,31,60,.55);}
.growth-card::after{content:""; position:absolute; right:-80px; top:-80px; width:280px; height:280px; border-radius:50%;
  background:radial-gradient(circle,rgba(0,211,200,.28),transparent 70%); pointer-events:none;}
.growth-txt h2{font-size:clamp(28px,3.2vw,40px); line-height:1.12; margin:16px 0 14px; color:#fff;}
.growth-txt .sub{color:#B6CCE6; margin:0 0 26px; max-width:520px;}
.growth-itens{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; position:relative; z-index:1;}
.growth-itens li{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:18px 18px 16px;}
.growth-itens b{display:flex; align-items:center; gap:8px; font-size:15px; margin-bottom:6px;}
.growth-itens b::before{content:""; width:8px; height:8px; border-radius:3px; background:var(--turq); flex:none;}
.growth-itens span{display:block; font-size:13.5px; color:#B6CCE6; line-height:1.45;}
@media (max-width:900px){
  .growth-card{grid-template-columns:minmax(0,1fr); padding:36px 24px; gap:28px;}
  .growth-faixa{padding:48px 0;}
}
@media (max-width:520px){ .growth-itens{grid-template-columns:minmax(0,1fr);} }
.growth-card .kick{background:rgba(0,211,200,.12); color:var(--turq-claro); border:1px solid rgba(0,211,200,.35);}

/* ── v1.8.0: menu novo ──────────────────────────────────────────────
   No topo da página o menu é escuro e translúcido, colado ao hero; ao rolar vira vidro claro.
   Os links ficam numa cápsula com um indicador que desliza até a seção ativa. */
.topo{background:rgba(10,31,60,.94); border-bottom:1px solid rgba(255,255,255,.08); backdrop-filter:saturate(160%) blur(14px); transition:background .35s ease, box-shadow .35s ease, border-color .35s ease;}
.topo.compacto{background:rgba(255,255,255,.9); border-bottom-color:var(--linha); box-shadow:0 14px 34px -20px rgba(10,31,60,.45);}
.topo .logo{position:relative; display:inline-flex;}
.topo .logo img{height:36px; transition:opacity .3s ease;}
.topo .logo .logo-claro{position:absolute; left:0; top:0; opacity:0;}
.topo.compacto .logo .logo-claro{opacity:1;}
.topo.compacto .logo .logo-escuro{opacity:0;}

.menu{position:relative; align-items:center; gap:2px; padding:5px; border-radius:999px; font-size:14.5px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); transition:background .35s ease, border-color .35s ease;}
.topo.compacto .menu{background:#F1F6F8; border-color:var(--linha);}
.menu a{position:relative; z-index:1; display:inline-flex; align-items:center; gap:6px; padding:9px 16px; border-radius:999px; color:#C9D8EA; transition:color .25s ease;}
.menu a::after{display:none;}
.menu a:hover,.menu a.on{color:#fff;}
.topo.compacto .menu a{color:var(--mudo);}
.topo.compacto .menu a:hover,.topo.compacto .menu a.on{color:var(--navy);}
.menu-pilula{position:absolute; z-index:0; top:5px; height:calc(100% - 10px); left:0; width:0; border-radius:999px; opacity:0;
  background:linear-gradient(135deg,rgba(0,211,200,.28),rgba(7,139,163,.28)); box-shadow:inset 0 0 0 1px rgba(62,230,218,.35);
  transition:left .4s cubic-bezier(.3,.9,.3,1), width .4s cubic-bezier(.3,.9,.3,1), opacity .25s ease;}
.topo.compacto .menu-pilula{background:#fff; box-shadow:0 4px 14px -6px rgba(10,31,60,.35), inset 0 0 0 1px var(--linha);}
.selo{font-style:normal; font-size:9.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:3px 7px; border-radius:999px; background:var(--grad); color:#fff; line-height:1;}
.menu-cta{display:none !important;}

.topo-cta{gap:8px;}
.topo-cta svg{transition:transform .25s ease;}
.topo-cta:hover svg{transform:translateX(4px);}

.burger{flex-direction:column; justify-content:center; gap:5px; width:44px; height:44px; padding:0; align-items:center; border-color:rgba(255,255,255,.2);}
.burger span{display:block; width:20px; height:2px; border-radius:2px; background:#fff; transition:transform .3s ease, opacity .2s ease, background .3s ease;}
.topo.compacto .burger{border-color:var(--linha);}
.topo.compacto .burger span{background:var(--navy);}
.burger.x span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.x span:nth-child(2){opacity:0;}
.burger.x span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width:920px){
  .burger{display:inline-flex;}
  .menu{display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:4px;
    padding:14px 20px 22px; border-radius:0 0 22px 22px; background:#0A1F3C; border:0; border-top:1px solid rgba(255,255,255,.08);
    box-shadow:0 30px 50px -20px rgba(0,0,0,.5); opacity:0; transform:translateY(-8px); pointer-events:none; transition:opacity .25s ease, transform .25s ease;}
  .menu.aberto{opacity:1; transform:none; pointer-events:auto;}
  .topo.compacto .menu{background:#0A1F3C; border-color:transparent;}
  .menu a,.topo.compacto .menu a{color:#E3ECF6; font-size:17px; padding:14px 16px; border-radius:14px; border-bottom:0;}
  .menu a:hover,.menu a.on,.topo.compacto .menu a.on{background:rgba(255,255,255,.06); color:#fff;}
  .menu-pilula{display:none;}
  .menu-cta{display:inline-flex !important; margin-top:10px; justify-content:center;}
  .menu .menu-cta{color:#fff;}
}

/* ── v1.9.0: blog com editorias ───────────────────────────────────── */
.etqs{display:flex; flex-wrap:wrap; gap:6px;}
.etq{display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  padding:5px 10px; border-radius:999px; color:var(--cor); background:color-mix(in srgb,var(--cor) 12%,#fff); border:1px solid color-mix(in srgb,var(--cor) 28%,#fff);}
.etq::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--cor);}
.escuro .etq,.artigo-topo .etq{background:color-mix(in srgb,var(--cor) 26%,#0A1F3C); color:#fff; border-color:color-mix(in srgb,var(--cor) 55%,#0A1F3C);}
.escuro .etq::before,.artigo-topo .etq::before{background:#fff;}
.artigo-topo .etqs{margin:14px 0 4px;}

.post-card .meta{order:4; font-size:12.5px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--mudo2);}
.post-card .mais{order:5;}
.post-card .capa img{transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.post-card:hover .capa img{transform:scale(1.05);}

.post-destaque{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); margin-bottom:28px; border-radius:26px;}
.post-destaque .capa{aspect-ratio:auto; min-height:340px;}
.post-destaque .txt{padding:40px 40px 36px; justify-content:center; gap:14px;}
.post-destaque h3{font-size:clamp(24px,2.6vw,34px); line-height:1.15;}
.post-destaque p{font-size:16.5px;}
@media (max-width:860px){ .post-destaque{grid-template-columns:minmax(0,1fr);} .post-destaque .capa{min-height:0; aspect-ratio:16/9;} .post-destaque .txt{padding:24px 22px 26px;} }

.blog-hero{padding:60px 0 48px;}
.busca{display:flex; align-items:center; gap:10px; max-width:460px; margin:26px auto 0; padding:4px 6px 4px 18px; border-radius:999px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); color:#B6CCE6; transition:border-color .2s ease, background .2s ease;}
.busca:focus-within{border-color:rgba(62,230,218,.7); background:rgba(255,255,255,.12);}
.busca input{flex:1; min-width:0; border:0; background:none; color:#fff; font:inherit; font-size:15px; padding:11px 4px; outline:none;}
.busca input::placeholder{color:#8FA8C6;}

.editorias-faixa{position:sticky; top:62px; z-index:40; background:rgba(243,247,250,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--linha);}
.editorias{display:flex; gap:8px; overflow-x:auto; padding:14px 0; scrollbar-width:none;}
.editorias::-webkit-scrollbar{display:none;}
.editorias a{flex:none; display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; font-size:14px; font-weight:700;
  text-decoration:none; color:var(--texto); background:#fff; border:1px solid var(--linha); transition:all .2s ease;}
.editorias a i{width:8px; height:8px; border-radius:50%; background:var(--cor,#078BA3);}
.editorias a:hover{border-color:var(--cor,#078BA3); transform:translateY(-1px);}
.editorias a.on{background:var(--cor,#0A1F3C); color:#fff; border-color:var(--cor,#0A1F3C);}
.editorias a.on i{background:#fff;}
.blog-lista{padding-top:40px;}
.vazio a{color:var(--turq2);}

/* ── v1.9.2: barra compacta do blog no lugar do banner ── */
.topo[data-claro]{background:rgba(255,255,255,.9);}
.blog-barra{position:sticky; top:62px; z-index:40; background:rgba(255,255,255,.94); backdrop-filter:saturate(160%) blur(12px); border-bottom:1px solid var(--linha);}
.blog-barra .wrap{display:flex; align-items:center; gap:22px; padding-top:12px; padding-bottom:12px;}
.blog-barra h1{flex:none; font-size:22px; font-weight:800; margin:0; padding-right:22px; border-right:1px solid var(--linha); color:var(--navy); white-space:nowrap;}
.blog-barra .editorias{flex:1; min-width:0; padding:2px 0;
  -webkit-mask-image:linear-gradient(90deg,#000 92%,transparent); mask-image:linear-gradient(90deg,#000 92%,transparent);}
.blog-barra .editorias a{padding:7px 14px; font-size:13.5px;}
.blog-barra .busca{flex:none; width:230px; margin:0; padding:2px 6px 2px 14px; background:#F1F6F8; border:1px solid var(--linha); color:var(--mudo); transition:width .3s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;}
.blog-barra .busca:focus-within{width:300px; background:#fff; border-color:var(--turq2); box-shadow:0 0 0 4px rgba(7,139,163,.12);}
.blog-barra .busca input{color:var(--texto); font-size:14px; padding:9px 4px;}
.blog-barra .busca input::placeholder{color:var(--mudo2);}
.blog-lista{padding-top:32px;}
@media (max-width:900px){
  .blog-barra .wrap{flex-wrap:wrap; gap:10px 14px;}
  .blog-barra h1{border:0; padding:0; font-size:20px;}
  .blog-barra .busca{margin-left:auto; width:auto; flex:1; max-width:260px;}
  .blog-barra .busca:focus-within{width:auto;}
  .blog-barra .editorias{order:3; flex-basis:100%;}
}
.blog-barra .wrap{gap:16px;}
.blog-barra h1{padding-right:16px;}
.blog-barra .editorias{gap:6px; -webkit-mask-image:none; mask-image:none;}
.blog-barra .editorias a{padding:6px 11px; font-size:13px; gap:6px;}
.blog-barra .editorias a i{width:6px; height:6px;}
.blog-barra .busca{width:190px;}
.blog-barra .busca:focus-within{width:250px;}
