:root{
  --brand-600:#0047bb;/* azul principal */
  --brand-100:#d9e3f5;/* azul claro */
  --ink-900:#0a0f1a;
  --ink-700:#273043;
  --ink-500:#4b5563;
  --bg:#ffffff;
  --surface:#f7f9fc;
  --radius-8:12px;
  --radius-20:20px;
  --shadow-1:0 8px 24px rgba(0,0,0,.08);
  --shadow-2:0 16px 40px rgba(0,32,91,.18);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
  color:var(--ink-700);
  background:var(--bg);
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}

.container{width:min(1120px,92%);margin:0 auto}
.grid-2{display:grid;grid-template-columns:1.15fr 0.85fr;gap:40px}
.center{text-align:center}
.mt-32{margin-top:32px}

h1,h2,h3{color:var(--ink-900);margin:0 0 12px}
h1{font-family:Syncopate,Inter,sans-serif;font-size:clamp(28px,5vw,48px);line-height:1.1}
h2{font-family:Syncopate,Inter,sans-serif;font-size:clamp(22px,3.2vw,34px)}
h3{font-weight:700;font-size:20px}
.kicker{color:var(--brand-600);font-size:.9em;letter-spacing:.12em;text-transform:uppercase}

.btn{display:inline-block;padding:14px 20px;border-radius:999px;border:2px solid transparent;font-weight:700;text-decoration:none;transition:.2s ease;will-change:transform}
.btn--primary{background:var(--brand-600);color:#fff;box-shadow:var(--shadow-2)}
.btn--whatsapp{background:#25D366;color:#fff;box-shadow:0 8px 20px rgba(37, 211, 102, 0.3)}
.btn--primary:hover{transform:translateY(-2px);filter:saturate(1.1)}
.btn--ghost{background:transparent;border-color:var(--brand-600);color:var(--brand-600)}
.btn--ghost:hover{background:var(--brand-100)}
.btn--light{background:#fff;color:var(--brand-600);box-shadow:var(--shadow-1)}
.btn--outline-light{background:transparent;border-color:#fff;color:#fff}

/* Header */
.header{position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid #e8eef8;box-shadow:0 6px 20px rgba(0,0,0,.06)}
.header .container{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand__logo{height:auto;width:auto;max-height:clamp(24px,3vw,34px)}
.nav__toggle{display:none}
.nav__list{display:flex;gap:22px;align-items:center;margin:0;padding:0;list-style:none}
.nav__list a{color:var(--ink-700);text-decoration:none;font-weight:600}
.nav__list a:hover{color:var(--brand-600)}
.nav__cta .btn{padding:10px 14px}

/* Hero */
.hero{position:relative;padding:140px 0 96px;background:linear-gradient(180deg,var(--surface),#fff);overflow:hidden}
.hero .container{position:relative;z-index:1}
.hero__text p{max-width:56ch}
.hero__media{display:flex;align-items:center;justify-content:center}
.floating{border-radius:var(--radius-20);box-shadow:var(--shadow-2);padding:16px;background:#fff;transform:translateY(0);animation:float 6s ease-in-out infinite}
.floating img{display:block;max-width:120px;height:auto;object-fit:contain}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.wave{position:absolute;left:0;right:0;bottom:0;display:block;width:100%;height:72px;fill:none;pointer-events:none;z-index:0}
.wave path{fill:var(--brand-100)}

/* Sections */
.section{padding:80px 0}
.section--alt{background:var(--surface)}
.section__title{margin-bottom:8px}
.section__subtitle{margin:0 0 24px;color:var(--ink-500)}
/* imagens internas de seções (ex.: Sobre) */
.section img.rounded{max-width:420px;margin-inline:auto}

.services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service{position:relative;background:#fff;border:1px solid #eaf0fb;border-radius:16px;padding:20px;box-shadow:var(--shadow-1);overflow:visible;min-height:280px;display:flex;flex-direction:column;z-index:1}
.service::after{display:none}
.service:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,32,91,.16)}
.service ul{margin:0;padding-left:18px}
.service li{position:relative;margin:6px 0;color:var(--ink-500)}
.service li[data-tip]{cursor:help}
.service li[data-tip]::after{content:attr(data-tip);position:absolute;left:0;top:100%;transform:translateY(8px);min-width:240px;max-width:360px;background:#0a1f3f;color:#e7edff;border-radius:10px;padding:10px 12px;font-size:.9rem;line-height:1.4;box-shadow:0 12px 28px rgba(0,0,0,.22);opacity:0;pointer-events:none;transition:opacity .2s ease, transform .2s ease;z-index:10}
.service li[data-tip]:hover::after{opacity:1;transform:translateY(4px)}
.checks{padding-left:18px}
.checks li{margin:8px 0}

.portfolio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:#fff;border:1px solid #eaf0fb;border-radius:var(--radius-8);overflow:hidden;box-shadow:var(--shadow-1)}
.card img{width:100%;height:200px;object-fit:contain;background:#fff}
.card figcaption{padding:12px 14px;color:var(--ink-500)}

.section--cta{background:linear-gradient(180deg,var(--brand-600),#012a72);color:#fff}
.video-wrapper{border-radius:16px;overflow:hidden;box-shadow:var(--shadow-2);background:#000}
video{display:block}
.section--cta h2{color:#fff}
.section--cta p{opacity:.9}
.section--cta .actions{display:flex;gap:12px;justify-content:center;margin:16px 0 8px}
.social{display:flex;align-items:center;gap:10px;margin-top:12px}
.social a{text-decoration:none;color:var(--ink-500)}
.social a:hover{color:var(--brand-600)}
.with-icon{display:inline-flex;align-items:center;gap:8px}
.with-icon .icon{display:inline-flex;width:16px;height:16px}
.with-icon .icon svg{width:16px;height:16px}
.with-icon .icon::before{content:''}
.social--invert a{color:#e7edff}
.social--invert a:hover{color:#fff}

/* Footer */
.footer{background:#0a1f3f;color:#dbe8ff;padding:28px 0}
.footer .container{display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer__brand{display:flex;align-items:center;gap:14px}
.footer img{height:32px;width:auto}
.footer nav{display:flex;align-items:center;gap:18px}
.footer a{color:#cddcff;text-decoration:none}
.footer a:hover{color:#fff}

.to-top{position:fixed;right:20px;bottom:20px;background:var(--brand-600);color:#fff;text-decoration:none;width:40px;height:40px;border-radius:999px;display:grid;place-items:center;box-shadow:var(--shadow-2);opacity:.9}
.to-top:hover{opacity:1}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.reveal.is-visible{opacity:1;transform:none}

/* Responsive */
@media (max-width:980px){
  .grid-2{grid-template-columns:1fr}
  .services{grid-template-columns:1fr 1fr}
  .nav__toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #e2e8f0;background:#fff;border-radius:8px}
  .nav__list{position:fixed;inset:64px 16px auto 16px;flex-direction:column;gap:14px;background:#fff;padding:16px;border-radius:12px;box-shadow:var(--shadow-2);transform:scale(.98);opacity:0;pointer-events:none}
  .nav__list.is-open{transform:scale(1);opacity:1;pointer-events:auto}
  .brand__logo{max-height:28px}
  .floating img{max-width:110px}
}
@media (max-width:640px){
  .services{grid-template-columns:1fr}
  .card img{height:180px}
}


