/* ============================================================
   Devint - estilos compartilhados das paginas internas
   (tokens e componentes iguais aos da homepage)
   ============================================================ */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#011C4C;--navy2:#052258;--navybdr:#16345F;--navybdr2:#1B3A6F;
  --acc:#1239DB;--teal:#2FDCC9;--pink:#E8A3DC;--cyan:#AAFFFF;
  --ink:#16181D;--body:#3E4046;--muted:#767983;
  --page:#F7F8FA;--card:#FFFFFF;--bdr:#E6E8EE;--bdr2:#D8DBE2;
}
html{scroll-behavior:smooth}
body{font-family:'Manrope',-apple-system,"Segoe UI",sans-serif;background:var(--page);color:var(--body);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}

.rv{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(247,248,250,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--bdr)}
.hbar{height:62px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}
.brand svg{width:23px;height:27px}
.brand span{font-family:'PT Sans',sans-serif;font-weight:700;font-size:19px;color:var(--navy);letter-spacing:.2px}
nav.mainnav{display:flex;align-items:center;gap:24px}
nav.mainnav a.nl{font-size:13px;font-weight:600;color:#4A4D55;white-space:nowrap;padding:6px 0;transition:color .2s}
nav.mainnav a.nl:hover{color:var(--navy)}
nav.mainnav a.nl.on{color:var(--navy);font-weight:800}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:13.5px;font-weight:700;padding:9px 18px;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s,border-color .2s,box-shadow .2s;white-space:nowrap;letter-spacing:-.005em}
.btn:active{transform:translateY(1px) scale(.98)}
.btn.pri{background:var(--acc);color:#fff}
.btn.pri:hover{background:#0F2FBB;transform:translateY(-1px);box-shadow:0 8px 20px rgba(18,57,219,.25)}
.btn.sec{background:var(--card);color:var(--ink);border-color:var(--bdr2)}
.btn.sec:hover{border-color:#A9ADB8;transform:translateY(-1px)}
.btn.lg{font-size:14.5px;padding:12px 24px}
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px}
.burger span{display:block;width:22px;height:2px;background:var(--navy);margin:5px 0;border-radius:2px}

/* Hero compacto das paginas internas */
.pagehero{position:relative;overflow:hidden;padding:76px 0 64px;background:
  radial-gradient(640px 420px at 82% -12%, rgba(170,255,255,.34), transparent 62%),
  radial-gradient(560px 400px at 12% -8%, rgba(232,163,220,.16), transparent 60%),
  var(--page)}
.pagehero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(1,28,76,.10) 1px, transparent 1.1px);background-size:20px 20px;mask-image:linear-gradient(to bottom, rgba(0,0,0,.55), transparent 75%);-webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.55), transparent 75%);pointer-events:none}
.pagehero .wrap{position:relative;z-index:1}
.pagehero .crumb{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}
.pagehero h1{font-size:clamp(2rem,4vw,2.9rem);line-height:1.1;letter-spacing:-.03em;font-weight:800;color:var(--navy);max-width:24ch}
.pagehero p.sub{margin-top:18px;font-size:16px;color:var(--body);max-width:58ch}

section{padding:88px 0}
h2.st{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.12;letter-spacing:-.03em;font-weight:800;color:var(--navy);max-width:26ch}
p.sl{margin-top:16px;font-size:15.5px;color:var(--body);max-width:60ch}

/* Faixa final de CTA das paginas internas */
.ctastrip{border-top:1px solid var(--bdr);background:
  radial-gradient(560px 380px at 82% 120%, rgba(170,255,255,.28), transparent 65%),
  radial-gradient(480px 340px at 6% 110%, rgba(232,163,220,.16), transparent 60%),
  var(--card)}
.ctastrip .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding-top:56px;padding-bottom:56px}
.ctastrip h2{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800;color:var(--navy);letter-spacing:-.025em;line-height:1.15;max-width:24ch}

/* Footer */
footer{background:var(--navy);color:#C9D4EA;position:relative;overflow:hidden}
footer::before{content:"";position:absolute;left:-120px;bottom:-200px;width:480px;height:560px;background:url("hex-stroke.svg") no-repeat center/contain;filter:invert(1);opacity:.05;pointer-events:none}
.ftop{display:grid;grid-template-columns:minmax(0,2fr) 1fr 1fr 1fr;gap:48px;padding:68px 0 52px;position:relative;z-index:1}
.ftop .brand span{color:#fff}
.ftop .fdesc{margin-top:16px;font-size:13px;line-height:1.7;color:#8FA2C9;max-width:32ch}
.fcol h4{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#4C6698;margin-bottom:18px}
.fcol a{display:block;font-size:13.5px;font-weight:500;color:#C9D4EA;padding:5px 0;transition:color .2s}
.fcol a:hover{color:var(--teal)}
.fbottom{border-top:1px solid var(--navybdr);padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12.5px;color:#8FA2C9;position:relative;z-index:1}
.fbottom strong{color:#fff;font-weight:700}

/* Mobile */
@media (max-width:1180px){
  nav.mainnav{display:none;position:fixed;top:62px;left:0;right:0;height:calc(100vh - 62px);height:calc(100dvh - 62px);background:rgba(1,20,54,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);flex-direction:column;align-items:flex-start;gap:0;padding:28px 28px 40px;overflow-y:auto}
  nav.mainnav.open{display:flex}
  nav.mainnav a.nl{padding:16px 0;font-size:19px;font-weight:600;width:100%;color:#EFF3FA;border-bottom:1px solid rgba(255,255,255,.08)}
  nav.mainnav a.nl:hover{color:var(--teal)}
  nav.mainnav a.nl.on{color:var(--teal);font-weight:800}
  nav.mainnav .btn{margin-top:26px;width:100%;padding:14px 22px;font-size:15px}
  .burger{display:block}
  body.menu-open{overflow:hidden}
}
@media (max-width:960px){
  section{padding:64px 0}
  .ftop{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:600px){
  .ftop{grid-template-columns:1fr}
}
