
:root{--navy:#1F3864;--navy2:#16294A;--blue:#2E75B6;--teal:#17B8A6;--teal-d:#0E7C70;--bg:#f4f6fb;--card:#fff;--line:#e6eaf2;--ink:#1f2937;--muted:#64748b}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}
a{text-decoration:none;color:inherit}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.top{display:flex;align-items:center;gap:12px;height:60px}
.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:21px;letter-spacing:1px;color:var(--navy)}
.brand .dot{color:var(--teal)}
.brand small{font-size:11px;letter-spacing:2px;color:var(--blue);font-weight:700;background:#eaf1fb;padding:2px 7px;border-radius:6px;margin-left:2px}
.hlinks{margin-left:auto;display:flex;gap:8px;align-items:center}
.hbtn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;font-size:12.5px;color:var(--navy);font-weight:600}
.hbtn.teal{background:var(--teal);color:var(--navy2);border-color:var(--teal)}
.vittobar{background:linear-gradient(90deg,var(--navy),var(--navy2));color:#fff}
.vittobar .in{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:13.5px}
.vittobar .av{width:30px;height:30px;border-radius:50%;background:var(--teal);color:var(--navy2);display:flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 auto}
.vittobar b{color:var(--teal)}
.crumbs{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.crumbs a{color:var(--blue);font-weight:600}.crumbs a:hover{text-decoration:underline}.crumbs .sep{color:#cbd5e1}
main{padding:24px 0 60px}
h1{color:var(--navy)}
h2{color:var(--navy);font-size:22px;margin:0 0 4px}
.sub{color:var(--muted);font-size:14px;margin:0 0 22px;max-width:780px}
.hero{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;border-radius:18px;padding:40px 34px;margin-bottom:26px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-40px;top:-40px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(23,184,166,.35),transparent 70%)}
.hero h1{font-size:30px;line-height:1.15;margin:0 0 12px;max-width:720px;position:relative;color:#fff}
.hero h1 .ac{color:var(--teal)}
.hero p{color:#c8d4e6;font-size:15.5px;max-width:640px;margin:0 0 20px;position:relative}
.kpis{display:flex;gap:26px;flex-wrap:wrap;position:relative}
.kpi b{display:block;font-size:26px;color:var(--teal)}.kpi span{font-size:12px;color:#aab9d1}
.esferas{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:10px}
.ecard{border:1px solid var(--line);border-radius:14px;padding:20px;background:#fff;transition:.15s;border-top:4px solid var(--navy);display:block}
.ecard:hover{box-shadow:0 8px 22px rgba(31,56,100,.10);transform:translateY(-2px)}
.ecard.F{border-top-color:#1d4ed8}.ecard.E{border-top-color:var(--teal-d)}.ecard.M{border-top-color:var(--blue)}
.ecard .et{display:flex;align-items:center;gap:10px}
.ecard .ei{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px}
.ecard.F .ei{background:#1d4ed8}.ecard.E .ei{background:var(--teal-d)}.ecard.M .ei{background:var(--blue)}
.ecard h3{margin:0;font-size:18px;color:var(--navy)}.ecard .cnt{font-size:12px;color:var(--muted)}
.ecard p{font-size:13px;color:#475569;margin:12px 0 0;line-height:1.5}
.secgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px}
.sec{border:1px solid var(--line);border-radius:13px;padding:16px;background:#fff;transition:.15s;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden}
.sec:hover{box-shadow:0 6px 18px rgba(31,56,100,.10);transform:translateY(-2px)}
.sec .ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:23px}
.sec h3{margin:0;font-size:15.5px;color:var(--navy);line-height:1.25}
.sec p{margin:0;font-size:12px;color:var(--muted);line-height:1.4;flex:1}
.sec .n{font-size:11.5px;font-weight:700;color:var(--teal-d);display:flex;align-items:center;gap:5px}
.sec .arw{position:absolute;right:14px;bottom:14px;color:#cbd5e1;font-size:18px}
.solgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:16px}
.sol{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;display:flex;flex-direction:column;transition:.15s}
.sol:hover{border-color:var(--blue);box-shadow:0 6px 16px rgba(31,56,100,.09)}
.sol .band{height:8px}
.sol .bd{padding:15px;display:flex;flex-direction:column;flex:1}
.sol .tag{font-size:10.5px;color:var(--blue);text-transform:uppercase;font-weight:700;letter-spacing:.4px}
.sol h3{margin:5px 0 6px;font-size:15.5px;color:var(--navy);line-height:1.3}
.sol .d{font-size:12.5px;color:#475569;line-height:1.5;flex:1}
.sol .foot{display:flex;align-items:center;gap:5px;margin-top:12px;flex-wrap:wrap}
.eb{font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px}
.eb.F{background:#dbeafe;color:#1d4ed8}.eb.E{background:#d1faf3;color:var(--teal-d)}.eb.M{background:#e0eefb;color:var(--blue)}
.tp{font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;background:#f1f5f9;color:#475569;margin-left:auto}
.sec-head{display:flex;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.sec-head .ic{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:29px;flex:0 0 auto}
.sec-head h2{margin:0}
.filter{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 20px}
.filter .lb{font-size:12px;color:var(--muted)}
.pill{border:1px solid var(--line);background:#fff;border-radius:20px;padding:6px 14px;font-size:12.5px;color:var(--ink);font-weight:600}
.pill:hover{border-color:var(--blue)}
.pill.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.detail{display:grid;grid-template-columns:1fr;gap:20px;max-width:820px}
.dcard{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.dhead{padding:26px 26px;color:#fff}
.dhead .tag{font-size:11px;text-transform:uppercase;letter-spacing:.5px;opacity:.85;font-weight:700}
.dhead h1{color:#fff;margin:8px 0 0;font-size:25px}
.dbody{padding:24px 26px}
.dbody .lead{font-size:15px;line-height:1.65;color:#334155;margin:0 0 22px}
.row{margin-bottom:20px}
.row .lb{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;margin-bottom:8px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{background:#f1f5f9;border-radius:8px;padding:6px 12px;font-size:12.5px;color:#334155}
.note{background:#f0fdfa;border:1px solid #ccf2ec;border-radius:10px;padding:13px 15px;font-size:12.5px;color:var(--teal-d);line-height:1.5;display:flex;gap:9px}
.note i{font-size:16px;flex:0 0 auto}
.mfoot{display:flex;gap:10px;padding:22px 26px 26px;flex-wrap:wrap;border-top:1px solid var(--line)}
.btn{border:none;border-radius:10px;padding:11px 18px;font-size:13.5px;cursor:pointer;font-family:inherit;font-weight:600;display:inline-flex;align-items:center;gap:7px}
.btn.teal{background:var(--teal);color:var(--navy2)}.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--blue)}
.btn.mail{background:var(--blue);color:#fff}.btn.wa{background:#25D366;color:#0b3d24}
.btn:hover{filter:brightness(1.05)}
/* botões de contato em destaque */
.actrow{display:flex;gap:12px;flex-wrap:wrap;padding:22px 26px 6px}
.actbtn{flex:1 1 190px;display:flex;align-items:center;gap:11px;padding:14px 15px;border-radius:13px;color:#fff;font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;border:none;text-align:left;box-shadow:0 5px 16px rgba(31,56,100,.14);transition:.15s;text-decoration:none}
.actbtn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.actbtn .ic{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-size:21px;flex:0 0 auto}
.actbtn .tt{line-height:1.2}
.actbtn .tt small{display:block;font-weight:600;font-size:11px;opacity:.92;margin-top:2px}
.actbtn.mail{background:linear-gradient(135deg,#2E75B6,#1F3864)}
.actbtn.wa{background:linear-gradient(135deg,#25D366,#0e9e4e)}
.actbtn.chat{background:linear-gradient(135deg,#17B8A6,#0E7C70)}
footer{border-top:1px solid var(--line);padding:24px 0;color:var(--muted);font-size:12px;text-align:center;background:#fff}
.disc{max-width:820px;margin:0 auto;line-height:1.6}
/* ---- Vitto chat ---- */
.vfab{position:fixed;right:22px;bottom:22px;z-index:80;width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,var(--teal),var(--teal-d));color:#fff;font-weight:800;font-size:22px;box-shadow:0 8px 24px rgba(14,124,112,.4);display:flex;align-items:center;justify-content:center}
.vfab:hover{transform:scale(1.05)}
.vfab .png{position:absolute;top:-3px;right:-3px;width:16px;height:16px;background:#ef4444;border-radius:50%;border:2px solid #fff}
.vpanel{position:fixed;right:22px;bottom:90px;z-index:81;width:360px;max-width:calc(100vw - 44px);height:520px;max-height:calc(100vh - 130px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(15,23,42,.28);display:none;flex-direction:column;overflow:hidden}
.vpanel.open{display:flex;animation:vpop .18s ease}
@keyframes vpop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.vhead{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;padding:13px 15px;display:flex;align-items:center;gap:10px}
.vhead .vava{width:34px;height:34px;border-radius:50%;background:var(--teal);color:var(--navy2);display:flex;align-items:center;justify-content:center;font-weight:800}
.vhead b{font-size:15px;display:block;line-height:1.1}.vhead small{font-size:11px;color:#aec3e0}
.vhead .vx{margin-left:auto;background:rgba(255,255,255,.18);border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer}
.vbody{flex:1;overflow-y:auto;padding:14px;background:var(--bg);display:flex;flex-direction:column;gap:9px}
.vmsg{max-width:82%;padding:9px 12px;border-radius:13px;font-size:13.2px;line-height:1.5}
.vmsg.bot{background:#fff;border:1px solid var(--line);color:var(--ink);align-self:flex-start;border-bottom-left-radius:4px}
.vmsg.me{background:var(--navy);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.vmsg.bot b{color:var(--navy)}
.vquick{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px;background:var(--bg)}
.vqbtn{border:1px solid var(--blue);background:#fff;color:var(--navy);border-radius:18px;padding:7px 12px;font-size:12px;cursor:pointer;font-weight:600;font-family:inherit}
.vqbtn:hover{background:#eef4fb}
.vqbtn.wa{border-color:#25D366;color:#0b7a3b}.vqbtn.mail{border-color:var(--blue)}
.vinput{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:#fff}
.vinput input{flex:1;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:13px;font-family:inherit}
.vinput input:focus{outline:none;border-color:var(--blue)}
.vinput button{border:none;background:var(--teal);color:var(--navy2);border-radius:10px;width:40px;font-size:16px;cursor:pointer;font-weight:800}
@media(max-width:720px){.esferas{grid-template-columns:1fr}.hero h1{font-size:23px}.vpanel{right:12px;left:12px;width:auto;bottom:84px}}
