﻿/* JNSOFT - Home de startup (azul, branco, amarelo e preto; tema claro). Camada propria, carregada depois de inicio.css */
:root { --jn-azul:#0b57d0; --jn-azul2:#0842a0; --jn-am:#ffc400; --jn-tx:#101828; --jn-mudo:#5b6677; --jn-suave:#f5f8fd; }
/* Slides */
.hero.jn-hero .carousel-item::before { background: linear-gradient(90deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.46) 55%, rgba(0,0,0,.24) 100%); }
.jn-hero .carousel { min-height: 92vh; }
.hero.jn-hero .carousel > .carousel-inner { position:absolute !important; inset:0 !important; height:auto !important; }
.jn-hero .carousel-indicators { z-index:4; }
.jn-hero .info h1, .jn-hero .info h2 { text-align:left; color:#fff; font-size:clamp(34px,5vw,60px); line-height:1.08; font-weight:800; letter-spacing:-1.2px; padding-bottom:0; margin-bottom:18px; }
.jn-hero .info h1:after, .jn-hero .info h2:after { display:none; }
.jn-hero .info h1 .a, .jn-hero .info h2 .a { color: var(--jn-am); }
.jn-hero .info p { color:rgba(255,255,255,.92); font-size:clamp(16px,1.6vw,20px); max-width:620px; text-align:left; }
.jn-hero-txt { max-width: 720px; }
.jn-hchip { display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:8px; background:rgba(255,255,255,.16); color:#fff; font-size:.85rem; font-weight:600; margin-bottom:18px; backdrop-filter: blur(6px); }
.jn-hchip i { color: var(--jn-am); }
.jn-hbtns { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.jn-hbtn { display:inline-flex; align-items:center; padding:13px 26px; border-radius:8px; font-weight:700; font-size:.98rem; text-decoration:none; background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.55); transition:.2s; }
.jn-hbtn:hover { background:#fff; color:var(--jn-azul); }
.jn-hbtn--p { background:var(--jn-am); color:#101828; border-color:var(--jn-am); }
.jn-hbtn--p:hover { background:#ffd54a; color:#101828; }
.jn-hbtn--l { background:#fff; color:var(--jn-azul); border-color:#cfd8e6; }
.jn-hbtn--l:hover { background:var(--jn-suave); color:var(--jn-azul2); }
.jn-hbtn--y { background:var(--jn-am); color:#101828; border-color:var(--jn-am); }
/* Secoes */
.jn-sec { padding:84px 0; background:#fff; }
.jn-sec--suave { background: var(--jn-suave); }
.jn-cab { max-width:760px; margin:0 auto 44px; text-align:center; }
.jn-cab--esq { text-align:left; margin-left:0; }
.jn-cab small { display:block; color:var(--jn-azul); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.8rem; margin-bottom:10px; }
.jn-cab h2 { font-size:clamp(28px,3.6vw,44px); font-weight:800; color:var(--jn-tx); letter-spacing:-.8px; line-height:1.12; }
.jn-cab h2 span { color:var(--jn-azul); }
.jn-cab p { color:var(--jn-mudo); font-size:1.08rem; margin-top:12px; }
.jn-pilar { display:block; height:100%; padding:32px 28px; background:#fff; border:1px solid #e3e9f2; border-radius:16px; text-decoration:none; transition:.2s; }
.jn-pilar:hover { transform:translateY(-4px); box-shadow:0 14px 34px rgba(11,87,208,.14); border-color:#bcd0f5; }
.jn-pilar__ic { width:56px; height:56px; display:grid; place-items:center; border-radius:14px; background:#eaf1fe; color:var(--jn-azul); font-size:1.6rem; margin-bottom:18px; }
.jn-pilar h3 { font-size:1.3rem; font-weight:700; color:var(--jn-tx); }
.jn-pilar p { color:var(--jn-mudo); margin:8px 0 16px; }
.jn-mais { color:var(--jn-azul); font-weight:700; }
.jn-sis { display:block; height:100%; background:#fff; border:1px solid #e3e9f2; border-radius:16px; overflow:hidden; text-decoration:none; transition:.2s; }
.jn-sis:hover { transform:translateY(-4px); box-shadow:0 14px 34px rgba(16,24,40,.12); }
.jn-sis__img { width:100%; height:170px; object-fit:cover; display:block; }
.jn-sis__corpo { position:relative; padding:34px 24px 22px; }
.jn-sis__ic { position:absolute; top:-28px; left:22px; width:56px; height:56px; border-radius:14px; border:3px solid #fff; background:#fff; object-fit:cover; box-shadow:0 4px 12px rgba(0,0,0,.15); }
.jn-sis h3 { font-size:1.2rem; font-weight:700; color:var(--jn-tx); }
.jn-sis p { color:var(--jn-mudo); margin:4px 0 10px; font-size:.95rem; }
.jn-sis strong { color:var(--jn-azul); }
.jn-serv { display:flex; flex-direction:column; gap:4px; height:100%; padding:22px; background:#fff; border:1px solid #e3e9f2; border-radius:14px; text-decoration:none; color:var(--jn-tx); transition:.2s; }
.jn-serv:hover { border-color:var(--jn-azul); box-shadow:0 10px 26px rgba(11,87,208,.12); }
.jn-serv i { font-size:1.7rem; color:var(--jn-azul); }
.jn-serv span { color:var(--jn-mudo); font-size:.92rem; }
.jn-eng { display:flex; align-items:center; gap:12px; padding:18px 20px; background:var(--jn-suave); border:1px solid #e3e9f2; border-radius:12px; text-decoration:none; color:var(--jn-tx); font-weight:600; transition:.2s; }
.jn-eng:hover { border-color:var(--jn-azul); color:var(--jn-azul); }
.jn-eng i { font-size:1.4rem; color:var(--jn-azul); }
.jn-final { padding:76px 0; background:linear-gradient(120deg,#0842a0,#0b57d0); color:#fff; }
.jn-final h2 { font-size:clamp(26px,3.4vw,40px); font-weight:800; }
.jn-final p { opacity:.92; margin:10px 0 24px; font-size:1.08rem; }
@media (max-width:768px){ .jn-sec{padding:56px 0} .jn-hero .carousel{min-height:86vh} }

body:has(.jn-hero) .navbar > ul > li.jn-nav-cta > a { color:#ffc400 !important; }
body:has(.jn-hero) .header-scrolled .navbar > ul > li.jn-nav-cta > a { color:#0b57d0 !important; }

/* Depoimentos */
.jn-dep { height:100%; margin:0; padding:26px; background:#fff; border:1px solid #e3e9f2; border-radius:16px; }
.jn-dep blockquote { margin:0 0 16px; color:#374151; font-size:1rem; line-height:1.6; }
.jn-dep blockquote::before { content:"\201C"; display:block; font-size:2.4rem; line-height:1; color:#ffc400; font-weight:800; }
.jn-dep figcaption strong { display:block; color:#101828; }
.jn-dep figcaption span { color:#5b6677; font-size:.9rem; }
