@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/manrope.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url(fonts/jbmono.woff2) format("woff2")}
:root{
  --blue:#1280C3;--blue-600:#0E6BA6;--blue-700:#0A5587;--blue-900:#083F68;
  --blue-100:#E1F0FA;--blue-50:#F3F9FD;--blue-line:#CFE5F4;
  --ink:#0C2233;--text:#41515F;--muted:#6B7A87;--line:#E2E9EF;--mint:#5FE3C0;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --w:1180px;--gut:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--text);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--blue-700)}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:3px solid rgba(18,128,195,.45);outline-offset:3px;border-radius:6px}
.wrap{width:100%;max-width:calc(var(--w) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;top:8px;z-index:50;padding:10px 14px;border-radius:10px;background:var(--ink);color:#fff}
.skip:focus{left:8px}
svg.i{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sprite{position:absolute;width:0;height:0;overflow:hidden}

/* ---------- tipografia ---------- */
.eyebrow{display:flex;align-items:center;gap:10px;font:500 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor}
h1{font-size:clamp(36px,5.6vw,64px);line-height:1.04;font-weight:800;letter-spacing:-.034em;color:var(--ink);text-wrap:balance}
h2{margin-top:14px;font-size:clamp(28px,3.4vw,40px);line-height:1.12;font-weight:800;letter-spacing:-.026em;color:var(--ink);text-wrap:balance}
h3{font-size:19px;line-height:1.25;font-weight:700;letter-spacing:-.012em;color:var(--ink)}
.lead{margin-top:16px;max-width:720px;font-size:clamp(17px,1.5vw,19px);line-height:1.55}
.lead strong{color:var(--ink)}
section{padding:88px 0}
.sec-h{margin-bottom:40px}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:48px;padding:0 22px;border-radius:14px;border:1.5px solid var(--blue);background:var(--blue);color:#fff;font:700 15px/1 var(--sans);white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:var(--blue-600);border-color:var(--blue-600);color:#fff}
.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--blue);color:var(--blue-700);background:#fff}
.btn.sm{height:40px;padding:0 16px;border-radius:12px;font-size:14px}
.btn.light{background:#fff;border-color:#fff;color:var(--blue-700)}
.btn.light:hover{background:var(--blue-100);border-color:var(--blue-100);color:var(--blue-900)}
.btn.line{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.btn.line:hover{background:rgba(255,255,255,.12);border-color:#fff}

/* ---------- topo ---------- */
.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:28px;height:72px}
.brand{display:flex;align-items:center;gap:14px;flex:none}
.brand img{height:26px;width:auto}
.nav{display:flex;align-items:center;gap:26px;margin-left:auto}
.nav a{font-size:14.5px;font-weight:600;color:var(--ink)}
.nav a:hover{color:var(--blue)}
.top-cta{display:flex;align-items:center;gap:10px}
.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-size:22px;place-items:center;cursor:pointer}

/* ---------- capa ---------- */
.hero{position:relative;padding:0;overflow:hidden;background:#083F68;color:#fff}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,63,104,.96) 0%,rgba(10,85,135,.88) 42%,rgba(18,128,195,.42) 100%)}
.hero .wrap{position:relative;z-index:1;padding-top:104px;padding-bottom:112px}
.hero .eyebrow{color:#BFE2F7}
.hero h1{margin-top:22px;max-width:900px;color:#fff}
.hero .lead{max-width:680px;margin-top:22px;color:#E3F1FB}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:56px}
.pill{display:flex;align-items:center;gap:9px;padding:10px 15px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);font-size:14px;font-weight:600;color:#fff}
.pill svg.i{font-size:17px;color:#BFE2F7}

/* ---------- faixa representante ---------- */
.rep-strip{padding:0;border-bottom:1px solid var(--line)}
.rep-strip .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:18px 40px;padding-top:22px;padding-bottom:22px}
.rep{display:flex;align-items:center;gap:12px;font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.rep img{height:18px;width:auto}
.rep-strip p{font-size:15px;color:var(--text)}

/* ---------- grades e cartões ---------- */
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}
.ico{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--blue-100);color:var(--blue);font-size:22px;flex:none}
.tag{display:inline-block;padding:6px 9px;border-radius:7px;background:var(--blue-100);color:var(--blue-700);font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.checks li{position:relative;padding-left:28px}
.checks li+li{margin-top:10px}
.checks li::before{content:"";position:absolute;left:0;top:.22em;width:18px;height:18px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 12.5l3.5 3.5 7.5-8'/%3E%3C/svg%3E") center/13px no-repeat}
.checks strong{color:var(--ink)}

/* ---------- o que fazemos ---------- */
.know{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.kn{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff}
.kn>img{width:100%;aspect-ratio:16/10;object-fit:cover}
.kn-b{display:flex;flex-direction:column;flex:1;padding:24px 26px 26px}
.kn h3{margin-top:14px;font-size:21px}
.kn p{margin-top:8px;font-size:15.5px}
.kn ul{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:14.5px}
.dots li{position:relative;padding-left:18px}
.dots li+li{margin-top:7px}
.dots li::before{content:"";position:absolute;left:2px;top:.66em;width:6px;height:6px;border-radius:50%;background:var(--blue)}

/* ---------- como trabalhamos ---------- */
.tint{background:var(--blue-50);border-top:1px solid var(--blue-line);border-bottom:1px solid var(--blue-line)}
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.fl{padding:22px 20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.fl .n{font:700 12px/1 var(--mono);letter-spacing:.1em;color:var(--blue)}
.fl h3{margin-top:12px;font-size:18px}
.fl p{margin-top:7px;font-size:14.5px;line-height:1.5}
.fl.on{background:var(--blue);border-color:var(--blue)}
.fl.on .n{color:#CFE8F8}.fl.on h3{color:#fff}.fl.on p{color:#E6F3FC}

/* ---------- plataformas ---------- */
.plat{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:48px;align-items:center}
.plat+.plat{margin-top:88px}
.plat.rev .plat-t{order:2}
.plat h3{margin-top:14px;font-size:clamp(24px,2.5vw,30px);line-height:1.15;letter-spacing:-.02em}
.plat p{margin-top:12px}
.plat .checks{margin-top:20px;font-size:15.5px}
.plat .btn{margin-top:26px}
.shots{min-width:0}
.win{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 30px 70px -40px rgba(10,47,76,.45)}
.win-bar{display:flex;align-items:center;gap:6px;height:34px;padding:0 14px;background:#F3F6F8;border-bottom:1px solid var(--line);font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.win-bar i{width:8px;height:8px;border-radius:50%;background:#CFD8DF}
.win-bar span{margin-left:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.win img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top left}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tabs button{height:36px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font:600 13.5px/1 var(--sans);cursor:pointer}
.tabs button:hover{border-color:var(--blue);color:var(--blue-700)}
.tabs button[aria-selected="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.note{margin-top:10px;font-size:12.5px;color:var(--muted)}

/* ---------- setores ---------- */
.sector{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff}
.sector>img{width:100%;height:100%;min-height:260px;object-fit:cover}
.sector-b{padding:28px 30px}
.sector h3{margin-top:14px;font-size:22px}
.sector p{margin-top:8px;font-size:15.5px}
.sector ul{margin-top:16px;font-size:14.5px}
.sectors{display:grid;grid-template-columns:1fr;gap:20px}
.sector.rev>img{order:2}
.mini{display:flex;gap:14px;align-items:flex-start;padding:20px 22px;border:1px solid var(--blue-line);border-radius:18px;background:var(--blue-50)}
.mini .ico{background:#fff}
.mini b{display:block;font-size:16px;color:var(--ink)}
.mini span{display:block;margin-top:3px;font-size:14.5px;line-height:1.45}

/* ---------- cases ---------- */
.dark{background:linear-gradient(118deg,#083F68 0%,#0C5F97 50%,#1280C3 100%);color:#E3F1FB}
.dark .eyebrow{color:#BFE2F7}
.dark h2{color:#fff}
.dark .lead{color:#E3F1FB}
.case{display:flex;flex-direction:column;padding:28px;border-radius:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24)}
.case .tag{align-self:flex-start;background:rgba(255,255,255,.18);color:#fff}
.case h3{margin-top:16px;font-size:21px;color:#fff}
.case p{margin-top:8px;font-size:15px;color:#DCEEFA}
.nums{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:auto;padding-top:22px}
.nums div{padding-top:14px;border-top:1px solid rgba(255,255,255,.28)}
.nums b{display:block;font-size:30px;line-height:1;font-weight:800;letter-spacing:-.025em;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.nums span{display:block;margin-top:8px;font-size:13px;line-height:1.4;color:#DCEEFA}

/* ---------- segurança ---------- */
.sec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sg{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}
.sg h3{margin-top:14px;font-size:17px}
.sg p{margin-top:6px;font-size:14.5px;line-height:1.5}

/* ---------- contato ---------- */
.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:stretch}
.contact-l{padding:44px;border-radius:26px;background:linear-gradient(150deg,#083F68,#1280C3);color:#E3F1FB}
.contact-l h2{margin-top:14px;color:#fff}
.contact-l .eyebrow{color:#BFE2F7}
.contact-l p{margin-top:14px;font-size:17px}
.contact-l .hero-cta{margin-top:28px}
.contact-r{display:flex;flex-direction:column;justify-content:center;gap:0;padding:14px 34px;border:1px solid var(--line);border-radius:26px}
.ct{display:flex;gap:16px;align-items:flex-start;padding:22px 0;border-top:1px solid var(--line)}
.ct:first-child{border-top:0}
.ct .k{display:block;font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ct b,.ct a,.ct address{display:block;margin-top:7px;font-size:16px;font-style:normal;font-weight:700;line-height:1.45;color:var(--ink)}
.ct a{color:var(--blue)}
.ct address{font-weight:600}

/* ---------- rodapé ---------- */
footer{padding:44px 0 36px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.foot{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:28px}
.foot img{height:54px;width:auto}
.foot nav{display:flex;flex-wrap:wrap;gap:10px 24px}
.foot nav a{font-weight:600;color:var(--ink)}
.foot nav a:hover{color:var(--blue)}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:13px}

/* ---------- 404 ---------- */
.lost{min-height:70vh;display:grid;place-items:center;text-align:center;padding:80px 24px}
.lost img{height:70px;width:auto;margin:0 auto 30px}
.lost .lead{margin-left:auto;margin-right:auto}
.lost .btn{margin-top:28px}

/* ---------- responsivo ---------- */
@media (max-width:1040px){
  .know,.g3{grid-template-columns:repeat(2,1fr)}
  .flow{grid-template-columns:repeat(2,1fr)}
  .sec-grid,.g4{grid-template-columns:repeat(2,1fr)}
  .plat{grid-template-columns:1fr;gap:28px}
  .plat.rev .plat-t{order:0}
  .contact{grid-template-columns:1fr}
  .nav{gap:18px}
}
@media (max-width:860px){
  .menu-btn{display:grid}
  .nav,.top-cta{display:none}
  .top.open .nav{display:flex;position:absolute;left:0;right:0;top:72px;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:8px var(--gut) 14px;background:#fff;border-bottom:1px solid var(--line)}
  .top.open .nav a{padding:14px 0;border-top:1px solid var(--line);font-size:16px}
  .top.open .nav a:first-child{border-top:0}
  section{padding:64px 0}
  .hero .wrap{padding-top:72px;padding-bottom:76px}
  .pills{margin-top:40px}
  .sector,.sector.rev{grid-template-columns:1fr}
  .sector>img,.sector.rev>img{order:0;min-height:0;aspect-ratio:16/9}
}
@media (max-width:640px){
  :root{--gut:16px}
  .know,.g2,.g3,.g4,.flow,.sec-grid{grid-template-columns:1fr}
  .nums b{font-size:26px}
  .contact-l{padding:30px 24px}
  .contact-r{padding:8px 22px}
  .plat+.plat{margin-top:64px}
  .hero-cta .btn{flex:1 1 100%}
  .card,.sector-b{padding:22px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.top,.menu-btn,.tabs{display:none}section{padding:32px 0}}

/* ---------- ajustes após revisão ---------- */
.plat.rev{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
.win img.zoom{cursor:zoom-in}
.sector{align-items:stretch}
.sector>img{min-height:0;aspect-ratio:16/10}
.sector-b{display:flex;flex-direction:column;justify-content:center;padding:32px 36px}
.sector-b .tag{align-self:flex-start}
.sector ul{font-size:15px}
.hero h1{max-width:980px;font-size:clamp(34px,5vw,58px)}
.hero .lead{max-width:760px}
@media (max-width:1040px){.plat.rev{grid-template-columns:1fr}}
