/* Bloco CSS 1 */

:root{--navy:#091c32;--blue:#173a5c;--blue2:#245c82;--teal:#17a6a3;--cyan:#56d6cd;--paper:#f4f7fa;--white:#fff;--ink:#182f42;--muted:#667b8b;--line:#e2eaf0;--shadow:0 18px 55px rgba(12,39,60,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper)}button,a{font:inherit}a{text-decoration:none;color:inherit}button{cursor:pointer} .container{max-width:1200px;margin:auto;padding:0 26px}header{height:82px;background:#fff;position:sticky;z-index:20;top:0;border-bottom:1px solid var(--line);box-shadow:0 4px 20px rgba(17,39,55,.025)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{display:flex;align-items:center;gap:12px;min-width:190px}.mark{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:var(--navy);color:white;font-weight:800;font-family:Manrope;font-size:20px;letter-spacing:-2px}.brand{display:flex;flex-direction:column;line-height:1.16}.brand strong{letter-spacing:.08em;font-size:13px}.brand span{font-size:10px;color:var(--muted);margin-top:5px;letter-spacing:.06em}.links{display:flex;gap:27px;align-items:center}.links a{font-size:13px;font-weight:700;color:#42596d;transition:.2s}.links a:hover{color:var(--teal)}.navcta{border:1px solid #d3e2e9;border-radius:9px;padding:11px 15px;font-weight:700;font-size:12px;white-space:nowrap}.menu{display:none;background:none;border:0;font-size:24px}.hero{background:linear-gradient(112deg,rgba(6,25,44,.98),rgba(9,38,62,.95) 55%,rgba(15,66,88,.91)),radial-gradient(circle at 80% 50%,#298ab4,transparent 42%);color:#fff;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:630px;height:630px;border:1px solid rgba(112,221,225,.16);border-radius:50%;right:-105px;top:5px;box-shadow:0 0 0 75px rgba(112,221,225,.025),0 0 0 155px rgba(112,221,225,.03);pointer-events:none}.hero-inner{min-height:530px;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:60px;padding-top:60px;padding-bottom:75px;position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:9px;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800;color:var(--teal)}.hero .eyebrow{color:var(--cyan)}.dot{display:inline-block;width:7px;height:7px;background:currentColor;border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.045em}h1{font-size:clamp(42px,5.4vw,69px);line-height:1.12;margin:21px 0 20px;font-weight:800;max-width:740px}h1 em{color:var(--cyan);font-style:normal}.lead{font-size:17px;line-height:1.8;color:#bdd0dc;max-width:590px;margin-bottom:30px}.actions{display:flex;gap:13px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:9px;font-weight:800;font-size:13px;border:1px solid transparent}.btn.primary{background:#2bc4ba;color:#062e3c}.btn.outline{border-color:#65859a;color:white}.network{height:360px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px dashed rgba(115,215,218,.33);border-radius:50%;width:320px;height:320px}.orbit.second{width:240px;height:240px;border-style:solid;opacity:.5}.center-node{width:126px;height:126px;border-radius:30px;background:linear-gradient(135deg,#1b7492,#0c3d5b);box-shadow:0 24px 80px rgba(0,0,0,.17),inset 0 0 0 1px #80e2da55;display:flex;flex-direction:column;justify-content:center;align-items:center;font-weight:800;font-size:29px}.center-node small{font-size:9px;letter-spacing:.15em;color:#91e0e1}.sat{position:absolute;width:57px;height:57px;border-radius:15px;background:#d9f8f4;color:#0d4559;display:grid;place-items:center;font-size:25px;box-shadow:0 10px 30px #001a2b50}.sat.one{top:18px;left:53%}.sat.two{left:7px;top:43%}.sat.three{right:0;top:53%}.sat.four{bottom:13px;left:42%}.miniinfo{position:absolute;right:3px;top:20px;display:flex;align-items:center;gap:8px;background:#ffffff18;border:1px solid #ffffff27;border-radius:9px;padding:10px 13px;font-size:10px;color:#d8f4f6}.miniinfo:before{content:"";height:7px;width:7px;border-radius:50%;background:#4cdfb6}.hero-foot{position:relative;z-index:2;border-top:1px solid #ffffff20}.hero-foot .container{padding-top:18px;padding-bottom:18px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}.hero-foot span{font-size:11px;color:#a8c5d3;letter-spacing:.04em}.hero-foot b{color:#fff;margin-right:8px}section{padding:95px 0}.section-top{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}.section-top h2{font-size:clamp(31px,4vw,44px);line-height:1.2;margin:11px 0 0}.section-top p{max-width:420px;line-height:1.75;color:var(--muted);font-size:14px;margin:0}.introgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:17px;padding:32px;box-shadow:var(--shadow)}.introtext{font-size:17px;line-height:1.85;color:#455e6f;margin:13px 0 22px}.introbanner{background:#e8f8f6;color:#126866;border-radius:11px;padding:14px 17px;font-size:12px;font-weight:700}.pillar{display:flex;align-items:start;gap:15px;margin-bottom:22px}.pillar:last-child{margin-bottom:0}.number{flex:none;display:grid;place-items:center;border-radius:10px;width:37px;height:37px;background:#e9f3f7;color:#19617a;font-weight:800}.pillar h3{font-size:15px;margin:0 0 5px}.pillar p{color:var(--muted);font-size:13px;line-height:1.65;margin:0}.offwhite{background:#fff}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:26px}.filter{padding:10px 15px;border-radius:8px;border:1px solid #dae5e9;background:#fff;font-size:12px;color:#5a7080;font-weight:700}.filter.active{background:var(--navy);border-color:var(--navy);color:#fff}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:27px;min-height:252px;display:flex;flex-direction:column;transition:.2s}.service:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.symbol{font-size:28px;margin-bottom:20px}.service h3{font-size:17px;margin:0 0 9px}.service p{color:#657b89;font-size:13px;line-height:1.75;flex:1;margin-bottom:20px}.tag{font-size:10px;letter-spacing:.04em;text-transform:uppercase;font-weight:800;color:#177f80}.case{background:var(--navy);color:#fff;padding:0}.case-layout{display:grid;grid-template-columns:1fr 1fr;min-height:500px}.case-copy{padding:75px 60px 70px max(26px,calc((100vw - 1148px)/2));}.case h2{font-size:clamp(32px,4vw,48px);line-height:1.16;margin:18px 0}.case p{font-size:15px;color:#bdd0dc;line-height:1.85;max-width:540px}.case ul{padding:0;list-style:none;margin:26px 0 30px}.case li{font-size:13px;color:#dde9ee;padding:9px 0;display:flex;gap:12px}.case li:before{content:'✓';font-weight:800;color:var(--cyan)}.case-art{background:radial-gradient(circle at 75% 25%,#3b8393,transparent 55%),linear-gradient(140deg,#123b59,#0a243b);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:390px}.case-art:before{content:"";width:310px;height:310px;border:1px dashed #9dffec70;border-radius:50%;box-shadow:0 0 0 45px #2dd8cb07,0 0 0 100px #2dd8cb09}.case-icon{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.case-icon .big{font-size:98px;line-height:1.2}.case-icon strong{font-size:22px;letter-spacing:.12em}.case-icon small{font-size:10px;color:#addbdc;letter-spacing:.12em;margin-top:10px}.case-note{position:absolute;bottom:27px;left:30px;right:30px;padding:15px;border:1px solid #ffffff35;background:#071c3066;border-radius:10px;font-size:12px;color:#ccdfeb}.delivery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{border-radius:16px;background:white;border:1px solid var(--line);padding:28px}.step .stepnum{display:inline-block;color:#128f91;font-size:12px;font-weight:800;margin-bottom:26px}.step h3{font-size:18px}.step p{font-size:13px;line-height:1.8;color:var(--muted)}.provider-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.provider{background:white;border:1px solid var(--line);padding:27px;border-radius:15px}.provider .initials{border:1px solid #dce8ed;border-radius:10px;padding:11px 13px;display:inline-block;color:#1d5b75;font-size:13px;font-weight:800;margin-bottom:20px}.provider h3{font-size:17px}.provider p{font-size:13px;color:var(--muted);line-height:1.7}.provider small{font-weight:800;font-size:10px;text-transform:uppercase;color:#13898b}.notice{margin-top:18px;font-size:12px;line-height:1.7;color:#6e8191}.contact{background:#e7f2f4;padding:68px 0}.contactbox{display:flex;align-items:center;justify-content:space-between;gap:25px}.contact h2{font-size:34px;margin:12px 0}.contact p{color:#607784;line-height:1.65;margin:0}.contact .btn{background:var(--navy);color:#fff}footer{background:#0a2138;color:#bfd1dd;padding:36px 0}footer .container{display:flex;justify-content:space-between;gap:20px;align-items:center}footer strong{color:#fff;font-size:15px}footer p{font-size:12px;margin:6px 0 0}.footlinks{font-size:12px;display:flex;gap:20px}@media(max-width:850px){.links{display:none;position:absolute;top:81px;left:0;right:0;background:#fff;padding:20px 26px;box-shadow:var(--shadow);flex-direction:column;align-items:start}.links.open{display:flex}.menu{display:block}.navcta{margin-left:auto}.hero-inner{grid-template-columns:1fr}.network{display:none}.hero-inner{min-height:440px}.introgrid,.case-layout{grid-template-columns:1fr}.case-copy{padding:60px 27px}.services,.delivery,.provider-grid{grid-template-columns:repeat(2,1fr)}.section-top{flex-direction:column;align-items:start}.case-art{min-height:300px}}@media(max-width:560px){header{height:74px}.links{top:73px}.container{padding:0 20px}.hero-inner{padding-top:65px;padding-bottom:65px}.lead{font-size:15px}section{padding:65px 0}.services,.delivery,.provider-grid{grid-template-columns:1fr}.panel{padding:25px}.navcta{display:none}.section-top h2{font-size:32px}.contactbox,footer .container{flex-direction:column;align-items:start}.case-copy{padding:56px 20px}.hero-foot .container{gap:10px}.hero-foot span{flex:1 1 140px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service{transition:none}}

/* Portfólio executivo */
.catalog-intro{background:#eaf4f6;border-radius:14px;padding:18px 22px;margin-bottom:23px;font-size:13px;color:#416374;line-height:1.7}
.service{cursor:pointer;text-align:left;font:inherit}.service:focus-visible{outline:3px solid #17a6a3}.service .more{color:#087f88;font-weight:800;font-size:12px;margin-top:13px}.service[hidden]{display:none!important}
.service-detail{background:#f2f7fa;border-top:1px solid var(--line);padding:70px 0;display:none}.service-detail.open{display:block}.detail-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.detail-header h2{font-size:clamp(29px,4vw,43px);margin:12px 0}.close-detail{border:1px solid #cee2e9;background:#fff;color:#315166;border-radius:9px;padding:11px 15px;font-weight:800}.detail-overview{color:#536f7e;line-height:1.8;max-width:800px}.contract-panel{background:#fff;border:1px solid #dce8ee;border-radius:16px;margin-top:23px;padding:27px;box-shadow:var(--shadow)}.contract-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;align-items:center}.contract-heading h3{font-size:21px;margin:7px 0}.status{font-size:10px;font-weight:800;letter-spacing:.08em;background:#dff2ef;color:#136a67;padding:9px 13px;border-radius:30px}.status.pending{background:#f4eee2;color:#866a26}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:23px 0}.metric{border:1px solid #dce7ef;border-radius:12px;padding:17px;background:#f7fafb}.metric .value{font-weight:800;font-family:Manrope;font-size:22px;color:#173b55;overflow-wrap:anywhere}.metric small{font-size:11px;line-height:1.6;color:#657e8c;display:block;margin-top:8px}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.chart-card{background:#fff;border:1px solid #dce7ed;padding:22px;border-radius:13px}.chart-card h4{margin:0 0 9px;font-size:15px}.chart-card p{font-size:11px;color:#718593;line-height:1.55}.bars{display:grid;gap:15px;margin-top:20px}.barline{display:grid;grid-template-columns:130px 1fr 110px;gap:10px;align-items:center;font-size:11px}.bartrack{height:12px;background:#e5eff3;border-radius:15px;overflow:hidden}.barfill{height:100%;background:#1e8d9a;border-radius:15px}.barline strong{text-align:right;font-size:11px;white-space:nowrap}.stackbar{height:27px;border-radius:8px;overflow:hidden;display:flex;margin:28px 0 15px}.stackbar span{display:block;height:100%}.legend{display:grid;gap:10px;font-size:12px;color:#526d7a}.legend i{width:10px;height:10px;display:inline-block;border-radius:2px;margin-right:8px}.data-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:15px}.data-table th,.data-table td{padding:12px 10px;text-align:left;border-bottom:1px solid #edf1f4}.data-table th{color:#47677b;font-size:11px;background:#f5f9fb}.data-table td:last-child,.data-table th:last-child{text-align:right}.scroll-table{overflow-x:auto}.notes{padding:14px 17px;background:#f2f7f8;border-left:3px solid #20a5a6;border-radius:5px;font-size:12px;color:#516c78;line-height:1.7;margin-top:21px}.placeholder{padding:25px;border:1px dashed #c8d9e1;border-radius:12px;background:#f8fafb;color:#637887;line-height:1.8;font-size:13px}.breadcrumb{font-size:12px;color:#648090;font-weight:700}.breadcrumb strong{color:#124765}.details-list{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.details-list p{background:#f7fafb;border-radius:10px;padding:17px;font-size:13px;color:#52707f}.details-list b{display:block;color:#183c51;margin-bottom:6px}.detail-action{color:#0a727b;border:0;background:none;text-decoration:underline;font-weight:800;cursor:pointer;padding:0}.service-kicker{font-size:10px;color:#108c91;letter-spacing:.08em;font-weight:800;text-transform:uppercase}
@media(max-width:850px){.metric-grid{grid-template-columns:repeat(2,1fr)}.chart-grid{grid-template-columns:1fr}}@media(max-width:560px){.metric-grid,.details-list{grid-template-columns:1fr}.barline{grid-template-columns:85px 1fr 78px;font-size:10px}.barline strong{font-size:9px}.detail-header{flex-direction:column}.contract-panel{padding:17px}}


/* Bloco CSS 2 */

#mapa-cit{padding:78px 0;background:#eaf2f7}#mapa-cit .maphead{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:23px}#mapa-cit h2{font-size:clamp(26px,3.5vw,40px);margin:9px 0}#mapa-cit p{color:#5d7383;max-width:700px;line-height:1.65}.mapmetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.mapmetric{background:white;border-radius:15px;padding:18px;border:1px solid #e2edf4;box-shadow:0 6px 18px #0b32500c}.mapmetric strong{display:block;font-size:25px;color:#112b45;font-weight:800}.mapmetric small{display:block;margin-top:5px;color:#60788a}.mapworkspace{border-radius:20px;overflow:hidden;background:#fff;border:1px solid #d9e9f3;box-shadow:0 14px 50px #0d32501a}.maptools{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:10px;padding:18px;background:#102f4c}.maptools select,.maptools input{height:43px;padding:0 13px;border:1px solid #345873;background:#173c5b;color:white;border-radius:9px;width:100%;min-width:0;font-size:13px}.maptools input::placeholder{color:#b4cedd}.mapview{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:570px;align-items:stretch;width:100%}#cit-leaflet-map{height:570px;width:100%;min-width:0;z-index:1;background:#d9eaf0}.map-side{background:#f9fcfe;padding:20px;overflow-y:auto;overflow-x:hidden;min-width:0;min-height:0;height:570px;max-height:570px}.map-side h3{margin:0 0 7px;font-size:18px}.map-side p{font-size:12px;margin:0 0 15px}.maplegend{display:flex;flex-wrap:wrap;gap:10px;background:#fff;border-top:1px solid #e2edf4;padding:13px 18px;font-size:12px;color:#526b7b}.maplegend span{display:flex;align-items:center;gap:7px}.legend-dot{width:11px;height:11px;border-radius:50%;display:inline-block}.maplist{display:flex;flex-direction:column;gap:7px}.maplist button{border:1px solid #e3ecf3;border-radius:10px;text-align:left;background:white;padding:10px 12px;color:#1b3a50;font-size:12px;line-height:1.5}.maplist button:hover{border-color:#2ea5ba;background:#effaff}.maplist small{display:block;color:#678191;margin-top:3px}.mapfootnote{font-size:12px;line-height:1.65;color:#607b88;margin-top:13px}.cit-marker{border:2px solid white;border-radius:50%;box-shadow:0 2px 10px #132b4670}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:#3ca9b84f}.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:#0f7190;color:white;font-weight:800}.leaflet-popup-content{line-height:1.55} @media(max-width:760px){.mapview{grid-template-columns:1fr}.map-side{height:290px;max-height:290px}.maptools{grid-template-columns:1fr 1fr}.mapmetrics{grid-template-columns:1fr 1fr}}@media(max-width:520px){.maptools{grid-template-columns:1fr}.mapmetrics{gap:8px}.mapmetric{padding:12px}.mapmetric strong{font-size:22px}#cit-leaflet-map{height:470px}}

@media (min-width:761px){#mapa-cit .mapview{display:grid!important;grid-template-columns:minmax(0,1fr) 310px!important;align-items:stretch}#mapa-cit #cit-leaflet-map{min-width:0;width:100%!important;height:570px!important}#mapa-cit .map-side{height:570px!important;max-height:570px!important;overflow-y:auto}}
@media (max-width:760px){#mapa-cit .mapview{grid-template-columns:minmax(0,1fr)!important}#mapa-cit .map-side{height:290px;max-height:290px}#mapa-cit #cit-leaflet-map{height:470px!important}}
#mapa-cit .mapview{position:relative}
#mapa-cit .cit-screenreader{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@media(min-width:761px){
 #mapa-cit .mapview{display:grid!important;grid-template-columns:minmax(0,1fr) 310px!important;grid-template-rows:570px!important}
 #mapa-cit #cit-leaflet-map{grid-column:1!important;grid-row:1!important}
 #mapa-cit .map-side{grid-column:2!important;grid-row:1!important;margin:0!important;min-width:0!important}
}


/* Bloco CSS 3 */

:root{
  --navy:#0a1f44;
  --blue:#173f74;
  --blue2:#1f6fb2;
  --teal:#0ea5a4;
  --cyan:#5de2da;
  --paper:#eef4f8;
  --ink:#102a43;
  --muted:#4f6475;
  --line:#d7e3ec;
  --shadow:0 20px 60px rgba(10,31,68,.10);
  --warm:#f59e0b;
  --violet:#7c3aed;
  --rose:#e85d75;
  --emerald:#10b981;
}
body{font-size:16px;line-height:1.65;background:linear-gradient(180deg,#edf4f9 0%,#f6fafc 100%)}
header{box-shadow:0 8px 26px rgba(10,31,68,.07)}
.brand strong{font-size:14px}.brand span{font-size:11px}
.links a,.navcta,.filter{font-size:14px}
.hero{background:linear-gradient(120deg,#071b36 0%,#0b3464 53%,#0b6d88 100%),radial-gradient(circle at 82% 22%,rgba(93,226,218,.32),transparent 34%)}
.lead{font-size:19px;line-height:1.85;color:#d6e6f0;max-width:680px}
.hero-foot span{font-size:12px}
.section-top h2{font-size:clamp(34px,4vw,48px)}
.section-top p,.introtext,.notice,.contact p{font-size:16px;line-height:1.85;color:var(--muted)}
.introbanner{font-size:13px;padding:16px 18px;background:linear-gradient(90deg,#dbf7f4,#edfdfb)}
.pillar h3,.step h3,.provider h3{font-size:18px}.pillar p,.step p,.provider p{font-size:14px;line-height:1.8}
.panel,.provider,.step,.contract-panel,.chart-card,.metric,.year-panel{box-shadow:var(--shadow)}
.services{gap:20px}
.service{background:#fff;border:1px solid #dfe8f0;border-radius:18px;padding:30px;min-height:275px;box-shadow:0 14px 36px rgba(10,31,68,.06);position:relative;overflow:hidden}
.service:before{content:"";position:absolute;left:0;top:0;right:0;height:6px;background:linear-gradient(90deg,var(--teal),var(--blue2))}
.service:nth-child(2):before{background:linear-gradient(90deg,var(--warm),#f97316)}
.service:nth-child(3):before{background:linear-gradient(90deg,var(--violet),#8b5cf6)}
.service:nth-child(4):before{background:linear-gradient(90deg,var(--rose),#fb7185)}
.service:nth-child(5):before{background:linear-gradient(90deg,var(--emerald),#34d399)}
.service:nth-child(6):before{background:linear-gradient(90deg,#0ea5e9,#38bdf8)}
.service:nth-child(7):before{background:linear-gradient(90deg,#14b8a6,#2dd4bf)}
.service:nth-child(8):before{background:linear-gradient(90deg,#6366f1,#8b5cf6)}
.service:nth-child(9):before{background:linear-gradient(90deg,#f43f5e,#fb7185)}
.service:hover{transform:translateY(-7px);box-shadow:0 24px 54px rgba(10,31,68,.13)}
.symbol{font-size:34px;margin-bottom:16px}
.service-kicker,.tag{font-size:11px;letter-spacing:.09em}
.service h3{font-size:21px;line-height:1.35;margin-bottom:10px}
.service p{font-size:15px;line-height:1.8;color:#5c7181}
.service .more{font-size:13px;color:#0f5d86}
.filters{gap:12px}.filter{padding:12px 16px;border-radius:10px}
.filter.active{background:linear-gradient(135deg,#0a1f44,#0b6d88)}
.case-copy p,.case li{font-size:15px}.case-note{font-size:13px;line-height:1.7}
.detail-overview,.placeholder,.notes,.details-list p{font-size:14px;line-height:1.8}
.contract-heading h3{font-size:24px}.status{font-size:11px;padding:10px 14px}
.metric-grid{gap:16px}
.metric{padding:19px 18px;border-radius:15px;background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%)}
.metric:nth-child(1){background:linear-gradient(180deg,#effaf9,#ffffff);border-color:#cdeee8}
.metric:nth-child(2){background:linear-gradient(180deg,#eef4ff,#ffffff);border-color:#d2e0fb}
.metric:nth-child(3){background:linear-gradient(180deg,#fff7eb,#ffffff);border-color:#f6dfb2}
.metric:nth-child(4){background:linear-gradient(180deg,#f6f0ff,#ffffff);border-color:#e4d4fb}
.metric .value{font-size:31px;line-height:1.1}
.metric small{font-size:13px;line-height:1.65;color:#5f7383}
.chart-card{padding:24px;border-radius:15px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
.chart-card h4{font-size:18px;margin-bottom:10px}
.chart-card p,.legend,.notes{font-size:13px;line-height:1.7}
.barline{font-size:13px;grid-template-columns:150px 1fr 125px}
.data-table{font-size:14px}.data-table th{font-size:12px}.data-table th,.data-table td{padding:14px 12px}
.year-label{font-size:13px}.monthly-grid{gap:18px}.year-panel{background:linear-gradient(180deg,#ffffff,#f9fcff)}
#mapa-cit .panel{padding:22px}
.maptools{background:linear-gradient(135deg,#0a1f44,#113b68);padding:16px;border-radius:16px 16px 0 0}
.maptools select,.maptools input{height:50px;font-size:15px;border-radius:11px;padding:0 14px;background:#16456f;border-color:#356995;color:#fff}
.mapview{border:1px solid #d5e2ec;border-top:0;border-radius:0 0 16px 16px;overflow:hidden;box-shadow:0 18px 44px rgba(10,31,68,.08)}
.map-side{background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);padding:22px}
.map-side h3{font-size:24px;margin-bottom:8px;color:#10375a}.map-side p{font-size:14px;line-height:1.7;color:#5f7383}
.maplegend{font-size:14px;padding:15px 18px}.legend-dot{width:12px;height:12px}
.maplist{gap:10px}.maplist button{padding:14px 16px;border-radius:12px}.maplist button strong{font-size:15px;line-height:1.45}.maplist button small{font-size:12px;line-height:1.5}
.leaflet-popup-content{font-size:14px;line-height:1.65}.leaflet-control-zoom a{font-size:22px!important}
.contact{background:linear-gradient(135deg,#e6f4fa,#f3fcfb)}
.contact .btn{background:linear-gradient(135deg,#0a1f44,#0b6d88);font-size:14px}
footer{background:linear-gradient(135deg,#081a31,#0e3053)}footer p,.footlinks{font-size:13px}
@media(max-width:980px){
  body{font-size:15px}
  .services{grid-template-columns:repeat(2,1fr)}
  .service h3{font-size:19px}
  .maptools select,.maptools input{height:47px;font-size:14px}
}
@media(max-width:760px){
  .services{grid-template-columns:1fr}
  .section-top p,.introtext,.notice,.contact p{font-size:15px}
  .barline{grid-template-columns:100px 1fr 90px;font-size:11px}
  .metric .value{font-size:26px}
  .map-side h3{font-size:20px}
}


/* Bloco CSS 4 */

:root{
  --tech-bg-1:#061426;
  --tech-bg-2:#0a2342;
  --tech-bg-3:#0e4b78;
  --tech-accent:#3ee7ff;
  --tech-accent-2:#6f7cff;
  --tech-accent-3:#00d1a7;
  --tech-glow:0 0 0 1px rgba(62,231,255,.12), 0 12px 40px rgba(5,20,39,.22), 0 0 32px rgba(62,231,255,.08);
}
body{
  background:
    radial-gradient(circle at 20% 0%, rgba(62,231,255,.08), transparent 26%),
    radial-gradient(circle at 100% 20%, rgba(111,124,255,.09), transparent 28%),
    linear-gradient(180deg,#edf4fa 0%,#f5f9fc 44%,#eef4f9 100%);
}
header{background:rgba(255,255,255,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hero{background:
  radial-gradient(circle at 78% 22%, rgba(62,231,255,.28), transparent 18%),
  radial-gradient(circle at 85% 65%, rgba(111,124,255,.22), transparent 23%),
  linear-gradient(135deg,#04111f 0%,#0b2241 38%,#0b3b67 68%,#0a6f91 100%);
}
.hero:after{opacity:.75;box-shadow:0 0 0 80px rgba(62,231,255,.025),0 0 0 165px rgba(111,124,255,.035)}
.mark{background:linear-gradient(135deg,#091a35,#0c6a87);box-shadow:0 12px 26px rgba(9,26,53,.25)}
.btn.primary{background:linear-gradient(135deg,#34d4e6,#42f5c5);color:#06273a;box-shadow:0 10px 25px rgba(52,212,230,.28)}
.btn.outline{border-color:rgba(180,220,235,.48);background:rgba(255,255,255,.04)}
.hero-foot{background:linear-gradient(90deg,rgba(255,255,255,.02),rgba(255,255,255,.05),rgba(255,255,255,.02))}
.panel,.service,.provider,.step,.contract-panel,.chart-card,.year-panel,.metric{
  border-color:#d7e3ef;
}
.services{gap:22px}
.service{
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,255,.98));
  box-shadow:0 18px 44px rgba(10,31,68,.08);
}
.service:after{
  content:"";position:absolute;right:-30px;top:-28px;width:115px;height:115px;border-radius:50%;
  background:radial-gradient(circle, rgba(62,231,255,.16), rgba(62,231,255,0));pointer-events:none;
}
.service .symbol{
  width:58px;height:58px;border-radius:16px;display:grid;place-items:center;
  background:linear-gradient(135deg,#eaf8fe,#d8f3ff);color:#0a5474;box-shadow:inset 0 0 0 1px rgba(62,231,255,.14);
}
.service:nth-child(2) .symbol{background:linear-gradient(135deg,#fff2df,#ffe4ba);color:#8b5200}
.service:nth-child(3) .symbol{background:linear-gradient(135deg,#f0eaff,#e1d6ff);color:#5430a6}
.service:nth-child(4) .symbol{background:linear-gradient(135deg,#ffebf0,#ffd7df);color:#a92e4f}
.service:nth-child(5) .symbol{background:linear-gradient(135deg,#e9fff8,#cdf9eb);color:#0b7a5e}
.service:nth-child(6) .symbol{background:linear-gradient(135deg,#e6f4ff,#cde7ff);color:#005ea1}
.service:nth-child(7) .symbol{background:linear-gradient(135deg,#ebfffe,#d0f6f4);color:#006f6d}
.service:nth-child(8) .symbol{background:linear-gradient(135deg,#edeeff,#d9ddff);color:#3946b7}
.service:nth-child(9) .symbol{background:linear-gradient(135deg,#fff0f4,#ffdce5);color:#b4234b}
.service-kicker,.tag{color:#0a7280}
.service .more{display:inline-flex;align-items:center;gap:8px}
.service .more:after{content:"↗";font-size:14px}

/* modern detail and charts */
.service-detail{
  background:
    radial-gradient(circle at 15% 0%, rgba(62,231,255,.06), transparent 18%),
    radial-gradient(circle at 92% 15%, rgba(111,124,255,.07), transparent 22%),
    linear-gradient(180deg,#eef5fa,#f8fbfd);
}
.contract-panel{
  border-radius:20px;
  overflow:hidden;
}
.contract-panel.financial{
  background:linear-gradient(135deg,#07162a 0%,#0b2441 48%,#0c3156 100%);
  color:#edf8ff;border:1px solid rgba(96,204,255,.18);box-shadow:var(--tech-glow);
}
.contract-panel.financial .contract-heading h3,
.contract-panel.financial h4,
.contract-panel.financial strong,
.contract-panel.financial .value{color:#fff}
.contract-panel.financial .contract-heading{padding-bottom:8px;border-bottom:1px solid rgba(169,219,255,.12)}
.contract-panel.financial .eyebrow{color:#73ebff}
.contract-panel.financial .metric{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border-color:rgba(168,219,255,.15);box-shadow:none}
.contract-panel.financial .metric:nth-child(1){background:linear-gradient(180deg,rgba(62,231,255,.18),rgba(62,231,255,.05))}
.contract-panel.financial .metric:nth-child(2){background:linear-gradient(180deg,rgba(111,124,255,.18),rgba(111,124,255,.05))}
.contract-panel.financial .metric:nth-child(3){background:linear-gradient(180deg,rgba(0,209,167,.16),rgba(0,209,167,.05))}
.contract-panel.financial .metric:nth-child(4){background:linear-gradient(180deg,rgba(255,180,65,.16),rgba(255,180,65,.05))}
.contract-panel.financial .metric small,
.contract-panel.financial p,
.contract-panel.financial .legend,
.contract-panel.financial .notes,
.contract-panel.financial .year-label,
.contract-panel.financial .month-col span{color:#c9deee}
.contract-panel.financial .chart-card{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  border-color:rgba(168,219,255,.14);
  color:#ecf6fc;
  box-shadow:none;
}
.contract-panel.financial .bartrack{background:rgba(255,255,255,.09)}
.contract-panel.financial .barfill{
  background-image:linear-gradient(90deg,rgba(62,231,255,.95),rgba(111,124,255,.95))!important;
  box-shadow:0 0 16px rgba(62,231,255,.24);
}
.contract-panel.financial .bars .barline:nth-child(2) .barfill{background-image:linear-gradient(90deg,#00d1a7,#42f5c5)!important}
.contract-panel.financial .bars .barline:nth-child(3) .barfill{background-image:linear-gradient(90deg,#ffb347,#ff7b54)!important}
.contract-panel.financial .stackbar{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.contract-panel.financial .stackbar span:nth-child(1){background:linear-gradient(90deg,#3ee7ff,#5bbcff)!important}
.contract-panel.financial .stackbar span:nth-child(2){background:linear-gradient(90deg,#00d1a7,#6bf8c7)!important}
.contract-panel.financial .stackbar span:nth-child(3){background:linear-gradient(90deg,#ffb347,#ff7a59)!important}
.contract-panel.financial .notes{background:rgba(255,255,255,.05);border-left-color:#3ee7ff}
.contract-panel.financial .data-table th{background:rgba(255,255,255,.07);color:#ddf3ff}
.contract-panel.financial .data-table td,.contract-panel.financial .data-table th{border-bottom-color:rgba(255,255,255,.09)}
.contract-panel.financial .year-panel{border-color:rgba(168,219,255,.16);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))}
.chart-card{
  position:relative;overflow:hidden;
}
.chart-card:before{
  content:"";position:absolute;right:-45px;top:-45px;width:110px;height:110px;border-radius:50%;
  background:radial-gradient(circle, rgba(62,231,255,.14), transparent 70%);pointer-events:none;
}
.metric .value{letter-spacing:-.03em}
.metric small{max-width:24ch}
.bars{gap:18px}
.barline strong{font-variant-numeric:tabular-nums}
.year-panel{border-radius:16px}
.month-bar{box-shadow:0 0 12px rgba(62,231,255,.18)}
.data-table tbody tr:hover td{background:rgba(62,231,255,.04)}

/* map area tech upgrade */
#mapa-cit .panel{
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(249,252,255,.98));
  border-radius:24px;
}
.maptools{
  background:linear-gradient(135deg,#071a34 0%,#0b2749 52%,#0d4466 100%);
  border-radius:18px 18px 0 0;position:relative;overflow:hidden;
}
.maptools:before{
  content:"";position:absolute;inset:0;background:
    linear-gradient(90deg, transparent 0%, rgba(62,231,255,.08) 45%, transparent 100%);
  pointer-events:none;
}
.maptools select,.maptools input{
  background:rgba(15,54,89,.92);
  border:1px solid rgba(117,200,236,.24);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.maptools select:focus,.maptools input:focus{
  outline:none;border-color:rgba(62,231,255,.7);box-shadow:0 0 0 4px rgba(62,231,255,.12), inset 0 0 0 1px rgba(255,255,255,.04)
}
.mapview{
  border:1px solid #d7e3ec;border-top:0;border-radius:0 0 20px 20px;overflow:hidden;
  box-shadow:0 20px 50px rgba(8,23,44,.10);
  background:linear-gradient(180deg,#d8eaf2,#eff6fb);
}
#cit-leaflet-map{
  height:620px;background:linear-gradient(180deg,#d9edf6,#f2f8fc);position:relative;
}
#cit-leaflet-map:after{
  content:"";position:absolute;left:18px;right:18px;bottom:18px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(62,231,255,.5),transparent);pointer-events:none;z-index:390;
}
.map-side{
  height:620px;max-height:620px;
  background:
    radial-gradient(circle at 85% 15%, rgba(62,231,255,.10), transparent 16%),
    linear-gradient(180deg,#fcfeff 0%,#f6fbfe 100%);
  border-left:1px solid #dbe8f0;
}
.map-side h3{font-size:26px;color:#0b3154}
.map-side p{font-size:14px;line-height:1.75;color:#5d7284}
.maplegend{
  background:linear-gradient(90deg,#fbfeff,#f3f9fc);
  border-top:1px solid #dbe7ef;
  font-size:13px;
}
.maplegend span{padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #e4edf4;box-shadow:0 8px 18px rgba(10,31,68,.04)}
.maplist{gap:10px}
.maplist button{
  background:linear-gradient(180deg,#ffffff,#f8fbfd);
  border:1px solid #dce7ef;
  box-shadow:0 10px 22px rgba(10,31,68,.04);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.maplist button:hover{transform:translateY(-2px);border-color:#9fdcf0;box-shadow:0 16px 28px rgba(10,31,68,.08)}
.maplist button strong{color:#113d60}
.maplist button small{color:#617787}
.leaflet-container{font-family:'DM Sans',Arial,sans-serif}
.leaflet-control-zoom{
  border:none!important;box-shadow:0 14px 30px rgba(7,26,52,.18)!important;border-radius:14px!important;overflow:hidden
}
.leaflet-control-zoom a{
  background:#ffffff!important;color:#0a365c!important;border:none!important;width:42px!important;height:42px!important;line-height:42px!important
}
.leaflet-popup-content-wrapper{
  border-radius:16px;box-shadow:0 20px 50px rgba(8,23,44,.18);border:1px solid rgba(62,231,255,.18)
}
.leaflet-popup-tip{box-shadow:none}
.leaflet-popup-content{margin:14px 16px;font-size:14px;line-height:1.7}
.leaflet-popup-content b{color:#0b3154}
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{
  background:rgba(62,231,255,.16)!important
}
.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{
  background:linear-gradient(135deg,#0c6b8a,#0a355f)!important;color:#fff!important;border:4px solid rgba(189,246,255,.72)!important;
  box-shadow:0 0 0 1px rgba(62,231,255,.2),0 12px 26px rgba(10,31,68,.18);
  font-weight:800!important
}

/* Make graph and map sections breathe more */
.financial .scroll-table,.contract-panel .scroll-table{border-radius:14px;overflow:hidden;border:1px solid rgba(220,231,237,.7)}
.contract-panel.financial .scroll-table{border-color:rgba(168,219,255,.14)}

@media(max-width:980px){
  #cit-leaflet-map,.map-side{height:560px;max-height:560px}
}
@media(max-width:760px){
  #cit-leaflet-map{height:420px}
  .map-side{height:auto;max-height:none;border-left:0;border-top:1px solid #dbe8f0}
  .mapview{border-radius:0 0 18px 18px}
  .maptools{border-radius:16px 16px 0 0}
  .contract-panel.financial{padding:22px}
}


/* Bloco CSS 5 */

html{scroll-padding-top:96px}.cit-team-section{background:linear-gradient(180deg,#eaf2f9,#f7fbff);padding:92px 0 108px}.cit-team-hero{position:relative;overflow:hidden;border-radius:28px;padding:52px 56px;background:radial-gradient(circle at 85% 5%,rgba(62,231,255,.27),transparent 30%),linear-gradient(120deg,#06152b,#0b315a 65%,#086b87);box-shadow:0 25px 60px rgba(7,27,55,.16);color:white}.cit-team-hero:after{content:"";position:absolute;border:1px solid rgba(88,227,240,.25);border-radius:50%;width:400px;height:400px;right:-105px;top:-150px;box-shadow:0 0 0 65px rgba(77,226,241,.04),0 0 0 128px rgba(77,226,241,.025)}.cit-team-eyebrow{font-size:12px;letter-spacing:.16em;font-weight:800;color:#62ebea}.cit-team-hero h2{font-size:clamp(42px,5.1vw,66px);margin:16px 0}.cit-team-hero h2 span{color:#63e7df}.cit-team-hero p{max-width:760px;color:#d0e4ee;line-height:1.85;font-size:18px}.cit-team-kpis{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px;position:relative;z-index:1}.cit-team-kpis div{min-width:165px;padding:17px 20px;border:1px solid rgba(140,231,243,.24);border-radius:15px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px)}.cit-team-kpis strong{font:800 32px Manrope,sans-serif;color:#fff;display:block}.cit-team-kpis small{display:block;font-size:12px;color:#c2e1eb}.cit-team-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:55px 0 25px}.cit-team-head h3,.cit-team-activities-heading h3{font-size:clamp(28px,3vw,39px);margin:8px 0}.cit-team-head p,.cit-team-activities-heading p{font-size:15px;color:#516a7d;max-width:740px;line-height:1.85;margin:0}.cit-team-search-label{font-size:13px;font-weight:700;color:#234762;display:flex;flex-direction:column;gap:8px;min-width:230px}.cit-team-search-label input{padding:14px 16px;border:1px solid #c9dce9;border-radius:12px;background:#fff;outline-color:#24bec7;font:inherit;font-size:14px}.cit-people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.cit-person{background:#fff;min-width:0;border-radius:19px;border:1px solid #dce7f0;overflow:hidden;box-shadow:0 14px 36px rgba(5,35,65,.07);transition:transform .2s,box-shadow .2s}.cit-person:hover{transform:translateY(-5px);box-shadow:0 24px 45px rgba(5,35,65,.13)}.cit-person-image{height:240px;position:relative;background:#dceaf4;overflow:hidden}.cit-person-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}.cit-member-id{position:absolute;top:13px;left:13px;font-size:11px;font-weight:800;letter-spacing:.08em;padding:6px 10px;color:#fff;background:#072647bf;border:1px solid #ffffff55;border-radius:8px}.cit-person-text{padding:20px}.cit-person-kicker{font-size:10px;color:#087c90;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.cit-person h3{margin:7px 0 8px;font-size:22px;color:#0e3150}.cit-person-desc{font-size:13px;color:#5b7181;line-height:1.7;margin-bottom:14px}.cit-person-fields{border-top:1px solid #e4edf4}.cit-person-fields div{padding:11px 0;border-bottom:1px solid #edf2f6}.cit-person-fields b{display:block;font-size:12px;color:#234761;margin-bottom:3px}.cit-person-fields span{font-size:13px;color:#728596}.cit-person-footnote{color:#7891a2;font-size:11px;margin:12px 0 0;line-height:1.6}.cit-team-activities{margin-top:68px}.cit-activities-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:25px}.cit-act{border:1px solid #d8e5ed;padding:24px;border-radius:17px;background:linear-gradient(180deg,#fff,#f5fbff);box-shadow:0 12px 30px rgba(5,35,65,.05);border-top:4px solid #00a4b9}.cit-act:nth-child(4n+2){border-top-color:#755cf1}.cit-act:nth-child(4n+3){border-top-color:#f59e0b}.cit-act:nth-child(4n){border-top-color:#0bbb8e}.cit-act-icon{font-size:29px;margin-bottom:12px}.cit-act h3{font-size:16px;color:#102d4a;margin:0 0 9px}.cit-act p{font-size:13px;line-height:1.8;color:#567083;margin:0}.cit-team-flow{background:#0b2543;border-radius:17px;color:white;margin-top:23px;padding:23px}.cit-team-flow>b{font-size:15px}.cit-team-flow>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:15px}.cit-team-flow span{background:#183e60;border:1px solid #31627d;border-radius:10px;padding:9px 14px;font-size:13px}.cit-team-flow i{font-style:normal;color:#60e4da;font-weight:800}@media(max-width:1020px){.cit-people-grid,.cit-activities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.cit-team-section{padding:54px 0}.cit-team-hero{padding:34px 24px}.cit-team-kpis div{min-width:120px}.cit-team-head{flex-direction:column;align-items:stretch}.cit-people-grid,.cit-activities-grid{grid-template-columns:1fr}.cit-person-image{height:310px}.cit-team-search-label{min-width:0}}


/* Bloco CSS 6 */

/* Header principal: espaço real entre marca, navegação e contato */
header{height:90px;min-height:90px}
header .container.nav{max-width:1560px;width:100%;padding:0 34px;gap:32px;display:flex;align-items:center;justify-content:space-between}
header .logo{flex:0 0 242px;min-width:242px;gap:13px}
header .brand strong{font-size:15px;letter-spacing:.045em;white-space:nowrap}
header .brand span{font-size:10.5px;letter-spacing:.045em;line-height:1.25;max-width:180px}
header .mark{flex:0 0 46px;width:46px;height:46px}
header .links{display:flex;flex:1 1 auto;min-width:0;align-items:center;justify-content:center;gap:clamp(14px,1.75vw,30px)}
header .links a{font-size:14px;line-height:1.25;white-space:nowrap;flex:0 0 auto;padding:16px 0;font-weight:700;letter-spacing:0}
header .links a:hover{color:#087b94}
header .navcta{flex:0 0 auto;margin-left:0;white-space:nowrap;font-size:13px;padding:12px 17px}
header .menu{display:none}
@media(max-width:1450px){
 header .container.nav{padding:0 28px;gap:18px}
 header .logo{flex-basis:225px;min-width:225px}
 header .links{gap:14px}
 header .links a{font-size:13px}
}
@media(max-width:1320px){
 header .container.nav{position:relative;justify-content:space-between;gap:16px}
 header .logo{margin-right:auto;flex:0 0 230px;min-width:230px}
 header .navcta{margin-left:auto}
 header .menu{display:block!important;flex:0 0 auto;background:#eef7fb;border:1px solid #cfdfeb;color:#153b5b;border-radius:10px;padding:8px 13px;font-size:24px;line-height:1.2}
 header .links{display:none!important;position:absolute;top:calc(100% + 1px);left:22px;right:22px;z-index:40;background:#fff;border:1px solid #d9e7f1;border-radius:0 0 18px 18px;box-shadow:0 20px 38px rgba(7,31,56,.14);padding:16px;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - 115px);overflow-y:auto}
 header .links.open{display:flex!important}
 header .links a{display:block;width:100%;font-size:15px;padding:13px 15px;border-bottom:1px solid #edf3f7;white-space:normal}
 header .links a:last-child{border-bottom:0}
}
@media(max-width:610px){
 header{height:76px;min-height:76px}
 header .container.nav{padding:0 14px;gap:9px}
 header .logo{min-width:0;flex:1 1 auto;gap:8px}
 header .mark{width:39px;height:39px;flex-basis:39px;font-size:17px}
 header .brand strong{font-size:12px}
 header .brand span{font-size:9px;max-width:140px}
 header .navcta{font-size:0;padding:10px;min-width:41px;min-height:39px}
 header .navcta:after{content:'✉';font-size:18px}
 header .menu{padding:7px 10px;font-size:21px}
 header .links{top:calc(100% + 1px);left:10px;right:10px}
}


/* Bloco CSS 7 */

.logo{gap:16px;min-width:300px}
.mark{width:62px;height:62px;border-radius:18px;background:linear-gradient(135deg,#f4fbff,#eaf7fb);box-shadow:0 10px 28px rgba(10,31,68,.10);padding:6px;overflow:hidden;flex:none}
.mark img{width:100%;height:100%;object-fit:contain;display:block}
.brand{max-width:290px}
.brand strong{font-size:14px;letter-spacing:.12em;color:#17324d}
.brand span{font-size:11px;letter-spacing:.08em;line-height:1.25;color:#4e6475}
@media(min-width:1200px){.brand{max-width:330px} .brand strong{font-size:15px} .brand span{font-size:12px}}
.center-logo{background:linear-gradient(180deg,#ffffff,#ecf8fb);padding:10px;gap:6px;box-shadow:0 24px 70px rgba(0,0,0,.17), inset 0 0 0 1px rgba(128,226,218,.30)}
.center-logo img{width:100%;height:68px;object-fit:contain;display:block;filter:drop-shadow(0 6px 10px rgba(10,31,68,.12))}
.center-logo small{font-size:10px;color:#4a6f79}
.footer-brand{display:flex;align-items:center;gap:18px;max-width:620px}
.footer-logo{height:88px;width:auto;display:block;filter:drop-shadow(0 10px 18px rgba(0,0,0,.18));border-radius:10px;background:rgba(255,255,255,.96);padding:6px}
footer strong{font-size:16px;letter-spacing:.04em}
footer p{font-size:13px;line-height:1.65;max-width:460px}
@media(max-width:980px){.logo{min-width:0;gap:12px} .mark{width:54px;height:54px} .brand{max-width:230px} .brand strong{font-size:13px} .brand span{font-size:10px} .footer-brand{align-items:flex-start} .footer-logo{height:74px} }
@media(max-width:560px){.brand span{display:none} .mark{width:48px;height:48px;border-radius:14px} .footer-brand{flex-direction:column} .footer-logo{height:66px} }


/* Bloco CSS 8 */

:root{
  --navy:#0b3f8f;
  --blue:#11579f;
  --blue2:#1676a9;
  --teal:#2ba99a;
  --cyan:#56cfbf;
  --paper:#eff5f9;
  --ink:#133254;
  --muted:#537087;
  --line:#d9e5ee;
  --shadow:0 18px 48px rgba(11,63,143,.10);
}
body{background:radial-gradient(circle at top right, rgba(43,169,154,.07), transparent 24%),linear-gradient(180deg,#eff5f9 0%,#f8fbfd 100%);color:var(--ink)}
header{height:auto;padding:12px 0;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(17,87,159,.10);box-shadow:0 10px 32px rgba(17,87,159,.06)}
.nav{display:grid;grid-template-columns:minmax(290px,370px) 1fr auto auto;align-items:center;gap:18px;max-width:1380px}
.logo{display:flex;align-items:center;gap:16px;min-width:0}
.mark{width:76px;height:76px;border-radius:22px;padding:10px;background:linear-gradient(180deg,#ffffff,#eef8fa);box-shadow:0 14px 34px rgba(19,50,84,.12);border:1px solid rgba(43,169,154,.12);overflow:hidden;flex:none}
.mark img{width:100%;height:100%;display:block;object-fit:contain}
.brand{display:flex;flex-direction:column;line-height:1.16;min-width:0;max-width:270px}
.brand strong{font-size:15px;letter-spacing:.16em;color:#17365f}
.brand span{font-size:11.5px;line-height:1.35;color:#4d6781;margin-top:6px;letter-spacing:.07em}
.links{display:flex;justify-content:center;gap:20px;align-items:center;flex-wrap:wrap}
.links a{font-size:14px;font-weight:700;color:#385571;padding:8px 0;position:relative}
.links a:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:linear-gradient(90deg,var(--teal),var(--navy));transform:scaleX(0);transform-origin:left;transition:.22s}
.links a:hover{color:var(--navy)}
.links a:hover:after{transform:scaleX(1)}
.navcta{background:linear-gradient(135deg,#ffffff,#f2fbfb);border:1px solid rgba(43,169,154,.22);border-radius:14px;padding:13px 18px;font-size:13px;font-weight:800;color:#184770;box-shadow:0 10px 22px rgba(19,50,84,.06)}
.navcta:hover{background:linear-gradient(135deg,#2ba99a,#0b3f8f);color:#fff;border-color:transparent}
.menu{color:#183d69}
.hero{background:radial-gradient(circle at 84% 18%, rgba(86,207,191,.24), transparent 18%),radial-gradient(circle at 78% 70%, rgba(20,117,169,.18), transparent 24%),linear-gradient(135deg,#09254f 0%,#0c3b79 38%,#136491 70%,#24a59a 100%)}
.hero:after{display:none}
.hero-inner{grid-template-columns:1.05fr .95fr;gap:52px;padding-top:72px;padding-bottom:82px;max-width:1380px}
.hero-copy{position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);font-size:12px;font-weight:700;letter-spacing:.05em;color:#d8eff8;margin:14px 0 18px}
.hero-showcase{position:relative;min-height:490px;display:flex;align-items:center;justify-content:center}
.hero-logo-card{position:relative;width:min(100%,430px);padding:24px;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(243,250,252,.94));box-shadow:0 30px 80px rgba(3,18,43,.28), inset 0 0 0 1px rgba(255,255,255,.52);z-index:2}
.hero-logo-card img{width:100%;height:auto;display:block;position:relative;z-index:2;filter:drop-shadow(0 14px 28px rgba(19,50,84,.14))}
.hero-logo-glow{position:absolute;inset:auto 10% -24px 10%;height:46px;background:radial-gradient(circle, rgba(43,169,154,.28), rgba(43,169,154,0) 68%);filter:blur(10px);z-index:1}
.hero-chip{position:absolute;padding:12px 16px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);color:#fff;font-size:13px;font-weight:800;letter-spacing:.03em;box-shadow:0 14px 32px rgba(5,18,43,.18)}
.chip-1{left:12px;top:48px}
.chip-2{right:0;top:92px}
.chip-3{left:34px;bottom:78px}
.chip-4{right:22px;bottom:40px}
.hero-foot{background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border-top:1px solid rgba(255,255,255,.08)}
.hero-foot .container{max-width:1380px}
.eyebrow{color:var(--cyan)}
.dot{background:var(--cyan)}
.btn.primary{background:linear-gradient(135deg,#5ddfd5,#2ba99a);color:#103052;box-shadow:0 14px 26px rgba(43,169,154,.30)}
.btn.outline{border-color:rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.05)}
.btn.outline:hover{background:rgba(255,255,255,.12)}
.filter.active,.service:before,.contact .btn{background:linear-gradient(135deg,#2ba99a,#0b3f8f)}
.service-kicker,.eyebrow,.tag{color:#1a9f98}
.service .more,.detail-action{color:#0d5a93}
.metric:nth-child(1){background:linear-gradient(180deg,#eefcf9,#ffffff);border-color:#cdeee8}
.metric:nth-child(2){background:linear-gradient(180deg,#eef6ff,#ffffff);border-color:#d4e3fa}
.metric:nth-child(3){background:linear-gradient(180deg,#f3fbfe,#ffffff);border-color:#ceeaf2}
.metric:nth-child(4){background:linear-gradient(180deg,#eefdff,#ffffff);border-color:#d5eef0}
.maptools{background:linear-gradient(135deg,#0b3f8f 0%,#11579f 50%,#2ba99a 100%)}
.contract-panel.financial{background:linear-gradient(135deg,#0a2758 0%,#0b3f8f 46%,#136491 100%)}
.contract-panel.financial .eyebrow{color:#7ef1df}
.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:linear-gradient(135deg,#2ba99a,#0b3f8f)!important}
.footer-logo{height:98px;padding:7px;background:#fff}
@media(max-width:1180px){
  .nav{grid-template-columns:minmax(250px,320px) 1fr auto auto;gap:14px}
  .brand{max-width:230px}
  .brand strong{font-size:14px}
  .brand span{font-size:10.5px}
  .links{gap:14px}
  .links a{font-size:13px}
  .hero-inner{grid-template-columns:1fr;gap:34px}
  .hero-showcase{min-height:0}
  .hero-logo-card{max-width:390px}
}
@media(max-width:900px){
  .nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between}
  .logo{flex:1 1 auto;min-width:0}
  .brand{max-width:210px}
  .links{display:none;position:absolute;top:96px;left:18px;right:18px;background:#fff;padding:22px;border-radius:18px;box-shadow:0 24px 50px rgba(19,50,84,.16);flex-direction:column;align-items:flex-start;justify-content:flex-start;z-index:30}
  .links.open{display:flex}
  .menu{display:block;margin-left:auto}
  .navcta{order:3}
}
@media(max-width:560px){
  .mark{width:62px;height:62px;border-radius:18px}
  .brand strong{font-size:13px;letter-spacing:.12em}
  .brand span{display:block;font-size:10px}
  .hero-inner{padding-top:58px;padding-bottom:60px}
  .hero-showcase{padding-bottom:16px}
  .hero-logo-card{padding:16px;border-radius:22px}
  .hero-chip{font-size:11px;padding:10px 12px;border-radius:14px}
  .chip-1{left:2px;top:16px} .chip-2{right:0;top:44px} .chip-3{left:10px;bottom:54px} .chip-4{right:4px;bottom:16px}
  .navcta{display:none}
}


/* Bloco CSS 9 */

/* Hero: logomarca proporcionada sem sobreposição de chips */
.hero-inner{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(24px,4vw,62px);align-items:center}
.hero-copy{min-width:0}
.hero-showcase{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-width:0;min-height:0;padding:20px 0}
.hero-logo-card{width:min(100%,335px);max-width:335px;flex:none;padding:18px;border-radius:25px;box-shadow:0 24px 65px rgba(3,18,43,.25)}
.hero-logo-card img{display:block;width:100%;height:auto;max-height:365px;object-fit:contain}
.hero-chip-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,335px)}
.hero-chip,.chip-1,.chip-2,.chip-3,.chip-4{position:static;inset:auto;display:flex;align-items:center;justify-content:center;min-width:0;text-align:center;font-size:12px;white-space:nowrap;padding:10px 8px;box-shadow:none;border-radius:12px}
.hero .lead{max-width:600px}
/* Navigation adapts before items become compressed */
@media(max-width:1320px){
 .nav{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:14px}
 .logo{flex:0 1 auto}
 .links{display:none;position:absolute;top:100%;left:18px;right:18px;background:#fff;padding:20px 24px;border-radius:0 0 18px 18px;box-shadow:0 20px 44px rgba(19,50,84,.15);flex-direction:column;align-items:stretch;gap:7px;z-index:40}
 .links.open{display:flex}
 .links a{display:block;padding:10px 6px;font-size:15px;white-space:normal}
 .menu{display:block;margin-left:0;order:4;padding:10px 12px;border:1px solid #dce8ee;border-radius:12px;background:white;line-height:1}
 .navcta{margin-left:auto;white-space:nowrap}
}
@media(min-width:1000px) and (max-width:1320px){.hero-inner{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
@media(max-width:999px){
 .hero-inner{grid-template-columns:1fr;gap:20px;padding-top:55px;padding-bottom:62px}
 .hero-showcase{padding:0 0 8px}
 .hero-logo-card{max-width:280px}
 .hero-logo-card img{max-height:320px}
 .hero-chip-row{width:min(100%,420px);grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
 .hero-chip{font-size:10px;padding:9px 5px;white-space:normal}
}
@media(max-width:600px){
 header{padding:7px 0}
 .nav{gap:9px}
 .mark{width:48px;height:48px;padding:7px;border-radius:13px}
 .brand strong{font-size:12px}
 .brand span{font-size:9px;max-width:190px}
 .navcta{display:none}
 .menu{margin-left:auto}
 .hero-inner{padding-top:43px}
 .hero-logo-card{max-width:240px;padding:12px;border-radius:18px}
 .hero-logo-card img{max-height:270px}
 .hero-chip-row{grid-template-columns:repeat(2,minmax(0,1fr));max-width:290px}
 .hero-chip{font-size:11px}
}


/* Bloco CSS 10 */

.ops-section{padding:92px 0;background:linear-gradient(165deg,#071b39 0%,#103b68 55%,#0a606b 100%);color:#effbff;position:relative;overflow:hidden}
.ops-section:before{content:"";position:absolute;width:600px;height:600px;border:1px solid rgba(80,229,218,.14);border-radius:50%;right:-160px;top:-300px;pointer-events:none}
.ops-section .section-top h2{color:#fff}.ops-section .section-top p{color:#c6dfeb;font-size:16px}.ops-section .eyebrow{color:#66edda}
.ops-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}
.ops-stat{background:rgba(255,255,255,.075);border:1px solid rgba(183,238,252,.18);border-radius:18px;padding:24px;backdrop-filter:blur(6px)}
.ops-stat b{display:block;font-size:clamp(27px,3.4vw,40px);font-family:Manrope,sans-serif;color:#6ee9df;line-height:1.18}
.ops-stat span{font-size:14px;color:#e0f0f7;display:block;margin-top:9px}
.ops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ops-card{padding:29px 30px;border-radius:20px;background:linear-gradient(150deg,rgba(255,255,255,.115),rgba(255,255,255,.045));border:1px solid rgba(180,234,248,.21);box-shadow:0 24px 44px rgba(4,15,30,.12)}
.ops-card:nth-child(2){background:linear-gradient(150deg,rgba(80,218,211,.18),rgba(255,255,255,.045))}
.ops-card:nth-child(3){background:linear-gradient(150deg,rgba(96,142,238,.17),rgba(255,255,255,.045))}
.ops-mark{font-size:11px;letter-spacing:.11em;font-weight:800;color:#73f3df}
.ops-card h3,.ops-incident h3{font-size:23px;margin:14px 0 10px;color:#fff;letter-spacing:-.03em}
.ops-card p,.ops-incident p{font-size:15px;line-height:1.75;color:#deedf4;margin-bottom:14px}
.ops-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ops-tags span{padding:8px 11px;border-radius:99px;background:rgba(100,236,219,.12);border:1px solid rgba(100,236,219,.24);font-size:12px;color:#e2fffa;font-weight:700}
.ops-hint{font-size:12px!important;color:#bed4df!important;margin-top:14px}
.ops-channel-list{display:grid;gap:8px;margin-top:14px}
.ops-channel-list>div{padding:10px 12px;border-radius:11px;background:rgba(6,23,44,.28);display:flex;align-items:flex-start;gap:14px}
.ops-channel-list strong{min-width:145px;color:#fff;font-size:13px}.ops-channel-list span{font-size:13px;color:#d3e8f0;line-height:1.5}
.ops-incident{display:flex;align-items:flex-start;gap:25px;margin-top:20px;padding:28px 31px;border-radius:21px;background:linear-gradient(110deg,rgba(94,231,223,.12),rgba(103,115,240,.12));border:1px solid rgba(152,224,250,.24)}
.ops-incident-icon{width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,#5de0cf,#318bda);flex:none;display:grid;place-items:center;color:#062544;font-size:26px}
.ops-incident small{color:#bbd8e5;font-size:12px}
@media(max-width:800px){.ops-grid{grid-template-columns:1fr}.ops-kpis{grid-template-columns:1fr 1fr}.ops-channel-list>div{flex-direction:column;gap:2px}.ops-incident{flex-direction:column}}
@media(max-width:540px){.ops-kpis{grid-template-columns:1fr}.ops-card,.ops-incident{padding:20px}.ops-section{padding:64px 0}}


/* Bloco CSS 11 */

#tecnologias .container{max-width:1380px}
.tech-groups{display:grid;gap:22px}
.tech-group{background:linear-gradient(180deg,#ffffff,#f8fbfd);border:1px solid #d9e6ef;border-radius:24px;padding:24px 24px 22px;box-shadow:0 16px 42px rgba(11,63,143,.07)}
.tech-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;flex-wrap:wrap}.tech-kicker{display:inline-flex;padding:8px 12px;border-radius:999px;background:#e8f8f5;color:#177c79;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.tech-head h3{margin:0;font-size:24px;color:#16385f}
.tech-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.tech-card{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #dbe7ef;border-radius:20px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;min-height:210px;box-shadow:0 10px 24px rgba(19,50,84,.05);transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease}.tech-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(19,50,84,.09);border-color:#a7d8d3}.tech-logo{width:72px;height:72px;border-radius:18px;background:linear-gradient(180deg,#ffffff,#eef7fb);border:1px solid #dce8ef;padding:10px;display:grid;place-items:center;margin-bottom:16px;box-shadow:inset 0 0 0 1px rgba(43,169,154,.06);overflow:hidden}.tech-logo svg{width:100%;height:100%;display:block}.tech-card strong{font-size:18px;line-height:1.35;color:#17365f;margin-bottom:8px}.tech-card small{font-size:14px;line-height:1.7;color:#5a7386}.tech-note{margin-top:18px;padding:16px 18px;border-left:4px solid #2ba99a;border-radius:0 14px 14px 0;background:linear-gradient(90deg,#ecfaf6,#f8fbfd);color:#4e687e;font-size:14px;line-height:1.8}.tech-note strong{color:#17365f}
@media(max-width:1100px){.tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.tech-group{padding:18px}.tech-head h3{font-size:21px}.tech-grid{grid-template-columns:1fr}.tech-card{min-height:auto}}


/* Bloco CSS 12 */
.service[hidden]{display:none!important}
/* Portfólio executivo */
.catalog-intro{background:#eaf4f6;border-radius:14px;padding:18px 22px;margin-bottom:23px;font-size:13px;color:#416374;line-height:1.7}
.service{cursor:pointer;text-align:left;font:inherit}.service:focus-visible{outline:3px solid #17a6a3}.service .more{color:#087f88;font-weight:800;font-size:12px;margin-top:13px}.service[hidden]{display:none!important}
.service-detail{background:#f2f7fa;border-top:1px solid var(--line);padding:70px 0;display:none}.service-detail.open{display:block}.detail-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.detail-header h2{font-size:clamp(29px,4vw,43px);margin:12px 0}.close-detail{border:1px solid #cee2e9;background:#fff;color:#315166;border-radius:9px;padding:11px 15px;font-weight:800}.detail-overview{color:#536f7e;line-height:1.8;max-width:800px}.contract-panel{background:#fff;border:1px solid #dce8ee;border-radius:16px;margin-top:23px;padding:27px;box-shadow:var(--shadow)}.contract-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;align-items:center}.contract-heading h3{font-size:21px;margin:7px 0}.status{font-size:10px;font-weight:800;letter-spacing:.08em;background:#dff2ef;color:#136a67;padding:9px 13px;border-radius:30px}.status.pending{background:#f4eee2;color:#866a26}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:23px 0}.metric{border:1px solid #dce7ef;border-radius:12px;padding:17px;background:#f7fafb}.metric .value{font-weight:800;font-family:Manrope;font-size:22px;color:#173b55;overflow-wrap:anywhere}.metric small{font-size:11px;line-height:1.6;color:#657e8c;display:block;margin-top:8px}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.chart-card{background:#fff;border:1px solid #dce7ed;padding:22px;border-radius:13px}.chart-card h4{margin:0 0 9px;font-size:15px}.chart-card p{font-size:11px;color:#718593;line-height:1.55}.bars{display:grid;gap:15px;margin-top:20px}.barline{display:grid;grid-template-columns:130px 1fr 110px;gap:10px;align-items:center;font-size:11px}.bartrack{height:12px;background:#e5eff3;border-radius:15px;overflow:hidden}.barfill{height:100%;background:#1e8d9a;border-radius:15px}.barline strong{text-align:right;font-size:11px;white-space:nowrap}.stackbar{height:27px;border-radius:8px;overflow:hidden;display:flex;margin:28px 0 15px}.stackbar span{display:block;height:100%}.legend{display:grid;gap:10px;font-size:12px;color:#526d7a}.legend i{width:10px;height:10px;display:inline-block;border-radius:2px;margin-right:8px}.data-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:15px}.data-table th,.data-table td{padding:12px 10px;text-align:left;border-bottom:1px solid #edf1f4}.data-table th{color:#47677b;font-size:11px;background:#f5f9fb}.data-table td:last-child,.data-table th:last-child{text-align:right}.scroll-table{overflow-x:auto}.notes{padding:14px 17px;background:#f2f7f8;border-left:3px solid #20a5a6;border-radius:5px;font-size:12px;color:#516c78;line-height:1.7;margin-top:21px}.placeholder{padding:25px;border:1px dashed #c8d9e1;border-radius:12px;background:#f8fafb;color:#637887;line-height:1.8;font-size:13px}.breadcrumb{font-size:12px;color:#648090;font-weight:700}.breadcrumb strong{color:#124765}.details-list{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.details-list p{background:#f7fafb;border-radius:10px;padding:17px;font-size:13px;color:#52707f}.details-list b{display:block;color:#183c51;margin-bottom:6px}.detail-action{color:#0a727b;border:0;background:none;text-decoration:underline;font-weight:800;cursor:pointer;padding:0}.service-kicker{font-size:10px;color:#108c91;letter-spacing:.08em;font-weight:800;text-transform:uppercase}
@media(max-width:850px){.metric-grid{grid-template-columns:repeat(2,1fr)}.chart-grid{grid-template-columns:1fr}}@media(max-width:560px){.metric-grid,.details-list{grid-template-columns:1fr}.barline{grid-template-columns:85px 1fr 78px;font-size:10px}.barline strong{font-size:9px}.detail-header{flex-direction:column}.contract-panel{padding:17px}}


/* Bloco CSS 13 */
/* Gráficos financeiros multicoloridos */.financial{border-top:4px solid #8b5cf6}.highlight-metric{background:#f3f0ff;border-color:#dcd2ff}.monthly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}.year-panel{padding:15px;border:1px solid #e0e9ef;border-radius:12px}.year-label{display:flex;justify-content:space-between;gap:6px;font-size:12px}.mini-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;align-items:end;height:160px;margin-top:16px}.month-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0;gap:5px}.month-bar{width:100%;border-radius:5px 5px 0 0;min-height:2px}.month-col span{font-size:8px;color:#6b7b86}.financial .data-table td:last-child{font-variant-numeric:tabular-nums}@media(max-width:950px){.monthly-grid{grid-template-columns:1fr}.mini-months{height:115px}}@media(max-width:580px){.financial .barline{grid-template-columns:75px 1fr 77px}.financial .chart-card{padding:12px}}

/* Bloco CSS 14 */

.sys-section{background:linear-gradient(160deg,#eef5f9,#f9fcff 60%,#edf7f6);padding:92px 0}
.sys-hero{border-radius:23px;padding:32px 38px;background:linear-gradient(110deg,#07264b,#095077 68%,#138b89);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:26px;box-shadow:0 22px 48px #0b315b25}
.sys-label{font-size:11px;letter-spacing:.12em;font-weight:800;color:#65e9dc}
.sys-hero h3{font-size:clamp(23px,3vw,32px);margin:13px 0 10px;color:white}
.sys-hero p{font-size:15px;line-height:1.8;color:#d9eaf2;max-width:750px;margin:0}
.sys-hero-number{text-align:center;flex:none;min-width:160px;border-left:1px solid #ffffff30;padding-left:30px}
.sys-hero-number strong{font-size:65px;font-family:Manrope;line-height:1;color:#65e9dc;display:block}.sys-hero-number span{font-size:13px;color:#deeff4}
.sys-indicators{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.sys-indicators>div{background:white;border:1px solid #dbe9f0;padding:22px;border-radius:15px;box-shadow:0 10px 25px #173b5510}.sys-indicators b{display:block;font:800 28px Manrope;color:#10416d}.sys-indicators span{display:block;font-size:13px;color:#577081;margin-top:6px}
.sys-tools{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:28px 0 18px}.sys-tools label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:800;color:#214764}.sys-search-label{flex:1;min-width:280px}.sys-tools input,.sys-tools select{height:48px;padding:0 15px;border:1px solid #cbdde9;border-radius:11px;background:#fff;color:#143b58;font-size:15px;min-width:240px}.sys-tools input:focus,.sys-tools select:focus{outline:3px solid #40c5c344}.sys-total{font-size:13px;color:#587184;padding-bottom:12px}
.sys-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:21px;align-items:start}.sys-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.sys-item{background:white;border:1px solid #d9e8f1;border-radius:16px;text-align:left;padding:21px;min-height:175px;display:flex;flex-direction:column;gap:9px;box-shadow:0 12px 25px #1336510c;transition:transform .2s,box-shadow .2s,border-color .2s}.sys-item:hover{transform:translateY(-3px);border-color:#73c9d0;box-shadow:0 18px 30px #1336511c}.sys-item small{font-size:11px;letter-spacing:.07em;color:#168e91;font-weight:800;text-transform:uppercase}.sys-item strong{font:800 17px/1.35 Manrope;color:#153b5c}.sys-item span{font-size:13px;color:#657c8b;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sys-item em{font-style:normal;font-size:12px;font-weight:800;color:#096c87;margin-top:auto}
.sys-side{background:#fff;border:1px solid #d9e8f1;border-radius:16px;padding:24px;position:sticky;top:110px}.sys-side h3{font-size:19px;margin:0 0 7px}.sys-side>p{font-size:13px;color:#61798b;line-height:1.65}.sys-chart-row{margin:16px 0}.sys-chart-head{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#345773;font-weight:700;margin-bottom:6px}.sys-chart-track{height:11px;background:#eaf1f5;border-radius:11px;overflow:hidden}.sys-chart-track span{display:block;height:100%;border-radius:11px}.sys-note{margin-top:25px;padding:18px;background:#eff8f9;border-left:4px solid #13a69d;border-radius:10px}.sys-note b{font-size:14px}.sys-note p{font-size:12px;line-height:1.7;color:#49687a;margin:9px 0 0}.sys-source{font-size:12px;color:#597385;line-height:1.7;margin:21px 0 0}
.sys-dialog{width:min(850px,calc(100vw - 30px));max-height:88vh;overflow:auto;padding:29px;border:1px solid #d4e6ec;border-radius:20px;box-shadow:0 30px 80px #051e3988;color:#163b5b}.sys-dialog::backdrop{background:#071d37ad;backdrop-filter:blur(3px)}.sys-modal-head{display:flex;align-items:center;justify-content:space-between}.sys-modal-head button{background:#eaf4f7;border:0;border-radius:10px;padding:9px 13px;font-size:18px}.sys-dialog h2{font-size:26px;line-height:1.3;margin:15px 0}.sys-dialog p{font-size:15px;color:#405d72;line-height:1.8}.sys-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:20px 0}.sys-fields div{background:#eff7fa;padding:13px;border-radius:9px}.sys-fields span{display:block;font-size:11px;color:#647b8a}.sys-fields strong{font-size:13px;display:block;margin-top:5px;overflow-wrap:anywhere}.sys-dialog h3{font-size:17px;margin:20px 0 6px}.sys-dialog ul{font-size:14px;line-height:1.8;color:#405d72;padding-left:21px}
@media(max-width:1020px){.sys-layout{grid-template-columns:1fr}.sys-side{position:static}.sys-chart{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.sys-indicators{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.sys-list{grid-template-columns:1fr}.sys-hero{flex-direction:column;align-items:start;padding:24px}.sys-hero-number{border:0;padding:0;text-align:left}.sys-indicators{grid-template-columns:repeat(2,1fr)}.sys-indicators b{font-size:22px}.sys-fields{grid-template-columns:1fr}}


/* Estilos de elementos migrados do HTML */
.cit-style-1{margin-top:15px}
.cit-style-2{color:#0e8aa0}
.cit-style-3{background:#0da5be}
.cit-style-4{background:#f3a34c}
.cit-style-5{background:#8062dc}
.cit-style-6{background:#8397a8}
/* Integração com o Observatório */
.cit-observatorio-invite{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#e7f4fa;border:1px solid #badbea;border-radius:18px;padding:24px;margin:18px 0 26px}.cit-observatorio-invite h3{font-size:1.35rem;color:#163a5b;margin:7px 0}.cit-observatorio-invite p{color:#405b70;max-width:690px;line-height:1.65}.cit-observatorio-invite small{display:block;color:#597081;max-width:680px;margin-top:7px}.cit-observatorio-invite .btn{white-space:nowrap;text-decoration:none}@media(max-width:850px){.cit-observatorio-invite{flex-direction:column;align-items:flex-start}.cit-observatorio-invite .btn{white-space:normal}}
