*{box-sizing:border-box;margin:0;padding:0;}

:root{
  --navy:rgba(16,42,67,0.87);
  --navy-full:#102A43;
  --blue:#0878FF;
  --blue-deep:#005FD6;
  --cyan:#2BC0C0;
  --blue-soft:#EAF5FF;
  --bg:#FFFFFF;
  --paper:#F6FAFF;
  --card:#FFFFFF;
  --muted:rgba(16,42,67,0.68);
  --muted-low:rgba(16,42,67,0.38);
  --border:rgba(16,42,67,0.10);
  --bh:rgba(8,120,255,0.32);
  --nav-offset:6rem;
}

html{scroll-behavior:smooth;color-scheme:light;scroll-padding-top:var(--nav-offset);}

body{
  background:var(--paper);
  color:var(--navy);
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{max-width:100%;height:auto;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;}
canvas,video,svg{display:block;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;}

/* Foco visivel */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
[tabindex]:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:3px;
  border-radius:8px;
}

/* Skip link */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:300;
  background:var(--blue);color:#fff;
  padding:.85rem 1.25rem;border-radius:0 0 10px 0;
  font-weight:600;font-size:.9rem;text-decoration:none;
  min-height:44px;display:inline-flex;align-items:center;
}
.skip-link:focus{left:0;}

/* Texto em gradiente */
.gt,.gt-b{
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.gt{background-image:linear-gradient(100deg,#0878FF 0%,#1466C8 45%,#102A43 100%);}
.gt-b{background-image:linear-gradient(100deg,#0878FF 0%,#0E7C9E 50%,#0B3B7A 100%);}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .gt,.gt-b{background-image:none;-webkit-text-fill-color:currentColor;color:var(--blue);}
}

/* Scroll reveal */
.js .rv,.js .rv-l,.js .rv-r{
  opacity:0;
  filter:blur(14px);
  transition:opacity .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);
}
.js .rv{transform:translateY(46px) scale(.985);}
.js .rv-l{transform:translateX(-44px) scale(.985);}
.js .rv-r{transform:translateX(44px) scale(.985);}
.js .rv.vis,.js .rv-l.vis,.js .rv-r.vis{opacity:1;filter:blur(0);transform:none;}
.d1{transition-delay:.08s!important}
.d2{transition-delay:.16s!important}
.d3{transition-delay:.24s!important}
.d4{transition-delay:.32s!important}
.d5{transition-delay:.40s!important}

/* Botoes */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.625rem;
  padding:.9rem 1.875rem;border-radius:12px;
  font-weight:600;font-size:.875rem;font-family:inherit;
  text-decoration:none;cursor:pointer;border:none;
  transition:all .22s;
  min-height:44px;
}
.btn-blue{background:linear-gradient(135deg,var(--blue),var(--blue-deep));color:#fff;box-shadow:0 4px 14px rgba(8,120,255,0.28),inset 0 1px 0 rgba(255,255,255,.32);}
.btn-blue:hover{background:linear-gradient(135deg,#006FEF,#004FBA);transform:translateY(-2px) scale(1.01);box-shadow:0 6px 18px rgba(8,120,255,0.32),inset 0 1px 0 rgba(255,255,255,.38);}
.btn-outline{background:#fff;border:1.5px solid var(--border);color:var(--navy);}
.btn-outline:hover{border-color:rgba(5,117,222,0.35);transform:translateY(-2px);}

/* Tag / eyebrow */
.tag{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.35rem .95rem;border-radius:9999px;
  border:1px solid rgba(8,120,255,0.18);
  background:rgba(255,255,255,.7);
  box-shadow:0 10px 34px rgba(8,120,255,.08),inset 0 1px 0 rgba(255,255,255,.8);
  font-size:.68rem;color:#0060D6;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}

/* NAV (unificada) */
.site-nav{
  position:sticky;top:.8rem;z-index:100;
  display:flex;justify-content:center;
  padding:0 1rem;margin-bottom:1.2rem;
}
.site-nav.is-floating{
  position:fixed;top:1.5rem;left:0;right:0;
  margin-bottom:0;pointer-events:none;
}
.site-nav.is-floating .npill{pointer-events:auto;}

.npill{
  display:flex;align-items:center;gap:.15rem;
  width:100%;max-width:1040px;
  padding:.4rem .55rem;border-radius:14px;
  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,0.95);
  box-shadow:0 4px 24px rgba(21,58,100,0.1);
  transition:box-shadow .3s;
}
.site-nav.is-floating .npill{max-width:max-content;}
.npill.is-scrolled{box-shadow:0 8px 40px rgba(21,58,100,0.15);}

.npill .brand{
  display:flex;align-items:center;gap:.3rem;
  text-decoration:none;padding:.3rem .5rem;
  margin-right:auto;min-height:44px;
}
.site-nav.is-floating .npill .brand{margin-right:.25rem;}
.npill .brand img{width:32px;height:30px;object-fit:contain;flex-shrink:0;}
.npill .brand span{font-weight:750;font-size:.88rem;color:var(--navy);letter-spacing:-.02em;}

.npill .nl{
  display:inline-flex;align-items:center;
  min-height:44px;padding:.5rem .8rem;
  color:rgba(16,42,67,0.60);text-decoration:none;
  font-size:.825rem;font-weight:500;border-radius:8px;
  transition:color .2s,background .2s;white-space:nowrap;
}
.npill .nl:hover{color:var(--navy);background:rgba(8,120,255,0.07);text-decoration:none;}
.npill .nl[aria-current="page"]{color:var(--blue);background:rgba(8,120,255,0.08);}
.npill .sep{width:1px;height:.9rem;background:rgba(21,58,100,0.1);margin:0 .22rem;flex-shrink:0;}
.npill .cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:.5rem 1rem;
  background:linear-gradient(135deg,var(--blue),var(--blue-deep));
  color:#fff;border-radius:10px;
  font-size:.8rem;font-weight:600;text-decoration:none;
  white-space:nowrap;flex-shrink:0;
}
.npill .cta:hover{text-decoration:none;filter:brightness(1.06);}

@media(max-width:960px){
  .site-nav{padding:0 .75rem;}
  .site-nav.is-floating{top:.75rem;}
  .npill{justify-content:space-between;}
}
@media(max-width:640px){
  .npill .nl{font-size:.76rem;padding:.5rem .45rem;}
  .npill .sep{display:none;}
  .npill .brand span{font-size:.8rem;}
  .npill .brand img{width:28px;height:26px;}
  .npill .cta{padding:.5rem .7rem;font-size:.74rem;}
}
@media(max-width:640px){
  .site-nav:not(.is-floating) .npill .nl{display:none;}
}
@media(max-width:400px){
  .npill .nl{font-size:.7rem;padding:.5rem .3rem;}
  .npill .cta{padding:.5rem .55rem;font-size:.7rem;}
}

/* Breadcrumbs */
.crumbs{
  max-width:820px;margin:0 auto;padding:.4rem 1.5rem 0;
  font-size:.78rem;color:var(--muted-low);
}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:0;padding:0;}
.crumbs li::after{content:'/';margin-left:.4rem;color:var(--muted-low);}
.crumbs li:last-child::after{content:'';}
.crumbs a{color:var(--muted);text-decoration:none;}
.crumbs a:hover{color:var(--blue);text-decoration:underline;}

/* WhatsApp flutuante */
.wa-fab{
  position:fixed;right:1.1rem;bottom:1.1rem;z-index:200;
  width:3.4rem;height:3.4rem;border-radius:50%;
  background:#25D366;box-shadow:0 8px 24px rgba(0,0,0,.22);
  display:flex;align-items:center;justify-content:center;
  transition:transform .2s;
}
.wa-fab:hover{transform:scale(1.06);}
.wa-fab svg{width:1.85rem;height:1.85rem;}

/* RODAPE (compartilhado) */
.lvfoot{background:#0A1628;padding:3rem 1.5rem 1.8rem;}
.lvfoot-inner{max-width:1080px;margin:0 auto;}
.lvfoot-cols{display:grid;grid-template-columns:1.7fr .85fr .85fr .85fr 1.25fr;gap:2.25rem;margin-bottom:2.5rem;}
.lvfoot-brand{display:flex;align-items:center;gap:.4rem;margin-bottom:.9rem;}
.lvfoot-brand img{width:32px;height:30px;object-fit:contain;filter:brightness(0) invert(1);}
.lvfoot-brand span{font-weight:800;font-size:.95rem;color:#fff;letter-spacing:-.02em;}
.lvfoot-tagline{color:rgba(255,255,255,.5);font-size:.86rem;line-height:1.65;max-width:20rem;}
.lvfoot h2{
  font-size:.68rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.14em;color:rgba(255,255,255,.42);margin-bottom:.9rem;
}

.lvfoot-lnk{
  display:flex;align-items:center;width:fit-content;
  min-height:44px;
  color:rgba(255,255,255,.55);text-decoration:none;
  font-size:.86rem;transition:color .2s;
}
.lvfoot-lnk:hover{color:#fff;}
.lvfoot-social{display:flex;gap:.7rem;margin-top:1.2rem;}
.lvfoot-social a{
  width:2.75rem;height:2.75rem;border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.55);text-decoration:none;
  transition:border-color .2s,color .2s;
}
.lvfoot-social a:hover{border-color:rgba(5,117,222,0.5);color:#fff;}

.lvfoot-contact{list-style:none;margin:0;padding:0;}
.lvfoot-contact li{margin-bottom:.15rem;}
.lvfoot-contact a,.lvfoot-contact span{
  display:inline-flex;align-items:center;gap:.5rem;min-height:44px;
  color:rgba(255,255,255,.55);text-decoration:none;font-size:.86rem;
  transition:color .2s;
}
.lvfoot-contact a:hover{color:#fff;}
.lvfoot-contact svg{width:14px;height:14px;flex-shrink:0;opacity:.7;}

.lvfoot-bottom{
  border-top:1px solid rgba(255,255,255,.07);padding-top:1.3rem;
  display:flex;justify-content:space-between;gap:1rem;
  flex-wrap:wrap;align-items:center;
}
.lvfoot-bottom p{color:rgba(255,255,255,.5);font-size:.76rem;line-height:1.9;}
.lvfoot-bottom .status-group{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.lvfoot-bottom .status{display:flex;align-items:center;gap:.45rem;color:rgba(255,255,255,.5);font-size:.76rem;}
.lvfoot-bottom .status i{width:.45rem;height:.45rem;border-radius:50%;background:#22C55E;display:inline-block;}

@media(max-width:1080px){
  .lvfoot-cols{grid-template-columns:1.4fr 1fr 1fr;gap:2rem;}
  .lvfoot-cols>div:first-child{grid-column:1/-1;}
}
@media(max-width:560px){
  .lvfoot-cols{grid-template-columns:1fr 1fr;gap:1.5rem;}
  .lvfoot-cols>div:last-child{grid-column:1/-1;}
  .lvfoot-tagline{max-width:none;font-size:.82rem;}
  .lvfoot-bottom{flex-direction:column;align-items:flex-start;gap:.5rem;}
  .lvfoot-bottom p{font-size:.72rem;}
}

/* Movimento reduzido */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  .js .rv,.js .rv-l,.js .rv-r{opacity:1!important;filter:none!important;transform:none!important;}
}
