*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
:root{
  --az:#1a3a7c;--az2:#0d1f4a;--vd:#2da44e;--vd2:#5dd67a;
  --bg:#f0f4fb;--w:#fff;--gr:#6b7694;--tx:#0f1523;
  --amber:#c9762b;
}
body{font-family:'Inter',sans-serif;color:var(--tx);background:var(--bg);line-height:1.6;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Manrope',sans-serif;letter-spacing:-.01em;font-weight:700}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
ul{list-style:none}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:12px;font-weight:700;font-size:15px;transition:transform .2s,box-shadow .2s;cursor:pointer;border:none;font-family:inherit}
.btn:hover{transform:translateY(-2px)}
.btn-green{background:linear-gradient(135deg,#27a346,#38c45a);color:#fff;box-shadow:0 8px 26px rgba(45,164,78,.32)}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.35);backdrop-filter:blur(6px)}
.btn-dark{background:var(--az);color:#fff}
.btn-outline{background:transparent;border:1.5px solid var(--az);color:var(--az)}
.btn-block{width:100%;justify-content:center}

/* NAV */
nav{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;row-gap:10px;align-items:center;justify-content:space-between;padding:12px 5vw;background:rgba(240,244,251,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(26,58,124,.08)}
.nav-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;color:var(--az);min-width:0}
.nav-logo img{width:34px;height:34px;object-fit:contain;border-radius:8px;flex-shrink:0}
.nav-logo span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}
.nav-links a{font-weight:600;font-size:14.5px;color:var(--az2);opacity:.75}
.nav-links a:hover{opacity:1}
.nav-cta{padding:9px 16px;border-radius:10px;background:var(--vd);color:#fff;font-weight:700;font-size:13.5px;white-space:nowrap}
.nav-cta2{padding:9px 16px;border-radius:10px;background:var(--az);color:#fff;font-weight:700;font-size:13.5px;white-space:nowrap}
@media (max-width:900px){.nav-links a:not(.nav-cta):not(.nav-cta2){display:none}}
@media (max-width:480px){.nav-logo span{display:none}.nav-cta{display:none}nav{padding:10px 4vw}.nav-cta2{font-size:12.5px;padding:8px 12px}}

/* HERO (home) */
.hero{position:relative;padding:96px 5vw 120px;text-align:center;background:radial-gradient(1100px 620px at 50% -10%,#24407e 0%,var(--az2) 55%,#081231 100%);color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(93,214,122,.05) 0 2px,transparent 2px 90px);pointer-events:none}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(93,214,122,.14);border:1px solid rgba(93,214,122,.35);color:#a9f0bb;font-size:13px;font-weight:700;padding:7px 16px;border-radius:100px;margin-bottom:26px}
.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:600;max-width:820px;margin:0 auto 22px;line-height:1.12}
.hero h1 em{font-style:normal;color:var(--vd2)}
.hero-sub{max-width:600px;margin:0 auto 40px;color:#c4cee6;font-size:1.08rem}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}

/* PAGE HERO (sub-pages) */
.page-hero{position:relative;padding:64px 5vw 76px;text-align:center;background:radial-gradient(900px 480px at 50% -10%,#24407e 0%,var(--az2) 60%,#081231 100%);color:#fff}
.page-hero .tag{display:inline-flex;align-items:center;gap:8px;background:rgba(93,214,122,.14);border:1px solid rgba(93,214,122,.35);color:#a9f0bb;font-size:12.5px;font-weight:700;padding:6px 14px;border-radius:100px;margin-bottom:20px}
.page-hero h1{font-size:clamp(1.9rem,4vw,2.9rem);font-weight:600;max-width:760px;margin:0 auto 16px}
.page-hero p{max-width:560px;margin:0 auto 8px;color:#c4cee6}
.price-teaser{display:inline-block;margin-top:22px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);padding:10px 22px;border-radius:100px;font-size:14.5px;font-weight:700}
.price-teaser b{color:var(--vd2);font-size:16px}
.breadcrumb{font-size:13px;color:#9fb0d8;margin-bottom:18px}
.breadcrumb a{color:#c4cee6;font-weight:600}

/* MARQUEE */
.process-strip{background:var(--az2);color:#dfe6f7;padding:16px 0;overflow:hidden;white-space:nowrap;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.process-track{display:inline-flex;gap:48px;animation:scroll 28s linear infinite;font-size:14px;font-weight:600;letter-spacing:.02em}
.process-track span{opacity:.8}
.process-track span::after{content:"•";margin-left:48px;color:var(--vd2)}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTION helpers */
section{padding:88px 5vw}
.sec-label{text-transform:uppercase;letter-spacing:.14em;font-size:12.5px;font-weight:700;color:var(--vd);text-align:center;margin-bottom:10px}
.sec-title{text-align:center;font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:600;color:var(--az2);margin-bottom:16px}
.sec-sub{text-align:center;color:var(--gr);max-width:600px;margin:0 auto 56px;font-size:1rem}

/* SERVICES (home) */
.serv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;max-width:1180px;margin:0 auto}
.serv-card{background:var(--w);border-radius:20px;padding:32px 26px;border:1px solid rgba(26,58,124,.08);box-shadow:0 4px 24px rgba(26,58,124,.05);transition:transform .25s,box-shadow .25s;display:block}
.serv-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(26,58,124,.12)}
.serv-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px}
.serv-card h3{font-size:1.18rem;color:var(--az2);margin-bottom:10px;font-weight:700}
.serv-card p{color:var(--gr);font-size:.93rem;margin-bottom:12px}
.serv-link{color:var(--vd);font-weight:700;font-size:.85rem}

/* OUTROS SERVIÇOS */
.mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;max-width:1000px;margin:0 auto}
.mini-card{background:var(--w);border:1px solid rgba(26,58,124,.08);border-radius:16px;padding:22px;text-align:center}
.mini-card .ic{font-size:26px;margin-bottom:10px}
.mini-card h4{color:var(--az2);font-size:1rem;margin-bottom:6px;font-weight:700}
.mini-card p{color:var(--gr);font-size:.85rem}

@media (max-width:640px){
  .serv-grid,.mini-grid,.pilares,.feat-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}
  .serv-card{padding:18px 14px}
  .serv-card h3{font-size:.98rem;margin-bottom:6px}
  .serv-card p{font-size:.78rem;margin-bottom:8px}
  .serv-icon{width:38px;height:38px;font-size:18px;margin-bottom:10px;border-radius:10px}
  .mini-card{padding:16px 10px}
  .mini-card h4{font-size:.86rem}
  .mini-card p{font-size:.76rem}
  .pilar{padding:4px}
  .pilar h4{font-size:.9rem}
  .pilar p{font-size:.78rem}
  .feat-item .chk{width:24px;height:24px;font-size:.8rem}
  .feat-item h4{font-size:.86rem}
  .feat-item p{font-size:.76rem}
  section{padding:56px 5vw}
}

/* WHY */
.pilares{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px;max-width:1080px;margin:0 auto}
.pilar{text-align:center;padding:10px}
.pilar-icon{font-size:30px;margin-bottom:14px}
.pilar h4{color:var(--az2);margin-bottom:8px;font-size:1.05rem;font-weight:600}
.pilar p{color:var(--gr);font-size:.9rem}

/* PARTNERS */
#parceiros{background:var(--w)}
.parc-hint{text-align:center;font-size:.78rem;color:var(--gr);margin:0 auto 20px;font-weight:600}
.parc-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 18px;-webkit-overflow-scrolling:touch;max-width:1080px;margin:0 auto}
.parc-grid::-webkit-scrollbar{height:6px}
.parc-grid::-webkit-scrollbar-thumb{background:rgba(26,58,124,.22);border-radius:10px}
.parc-card{flex:0 0 62vw;max-width:260px;scroll-snap-align:start;background:linear-gradient(180deg,#fff,#f7f9ff);border:1.5px solid rgba(26,58,124,.1);border-radius:20px;padding:28px 22px;text-align:center;cursor:pointer;transition:transform .25s,box-shadow .25s;box-shadow:0 4px 20px rgba(26,58,124,.06)}
.parc-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(26,58,124,.13)}
@media (min-width:820px){
  .parc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));overflow:visible;padding:0}
  .parc-card{flex:none;max-width:none}
  .parc-hint{display:none}
}
.parc-logo{width:100%;height:64px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.parc-logo img{max-height:56px;max-width:100%;object-fit:contain}
.parc-badge{width:64px;height:64px;border-radius:16px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:600;font-size:24px;color:#fff}
.parc-card h4{color:var(--az2);font-size:1.05rem;margin-bottom:4px;font-weight:600}
.parc-card .parc-role{color:var(--gr);font-size:.8rem;margin-bottom:14px}
.parc-tags{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.parc-tags span{background:rgba(26,58,124,.08);color:var(--az);font-size:9.5px;font-weight:700;padding:4px 9px;border-radius:100px}
.parc-more{margin-top:14px;font-size:.78rem;color:var(--vd);font-weight:700}
.parc-empty{border-style:dashed;opacity:.65;cursor:default}
.parc-empty:hover{transform:none;box-shadow:none}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(8,18,49,.6);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal-overlay.open{display:flex}
.modal{background:#fff;max-width:520px;width:100%;border-radius:22px;padding:36px 32px;position:relative;max-height:88vh;overflow-y:auto}
.modal-close{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:100px;background:rgba(26,58,124,.08);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:var(--az2);border:none}
.modal h3{color:var(--az2);font-size:1.4rem;margin-bottom:4px}
.modal .modal-role{color:var(--gr);font-size:.85rem;margin-bottom:20px}
.modal ul{display:flex;flex-direction:column;gap:12px}
.modal ul li{padding-left:22px;position:relative;font-size:.92rem;color:#333}
.modal ul li::before{content:"✓";position:absolute;left:0;color:var(--vd);font-weight:700}
.modal-links{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}

/* FORMS */
.form-card{background:var(--w);border:1px solid rgba(26,58,124,.08);border-radius:22px;padding:40px;max-width:520px;margin:0 auto;box-shadow:0 10px 40px rgba(26,58,124,.08)}
.form-card h3{color:var(--az2);font-size:1.3rem;margin-bottom:6px}
.form-card .form-sub{color:var(--gr);font-size:.88rem;margin-bottom:26px}
.field{margin-bottom:16px}
.field label{display:block;font-size:.82rem;font-weight:700;color:var(--az2);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1.5px solid rgba(26,58,124,.15);border-radius:10px;font-family:inherit;font-size:.92rem;background:#fafbff}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--vd)}
.form-note{font-size:.76rem;color:var(--gr);margin-top:14px;text-align:center}

/* FEATURES LIST PAGE */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px;max-width:1080px;margin:0 auto}
.feat-item{display:flex;gap:14px;align-items:flex-start}
.feat-item .chk{width:30px;height:30px;border-radius:9px;background:rgba(45,164,78,.12);color:var(--vd);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.feat-item h4{color:var(--az2);font-size:1rem;margin-bottom:4px;font-weight:600}
.feat-item p{color:var(--gr);font-size:.87rem}

/* INSTAGRAM */
#instagram{background:var(--w)}
.insta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;max-width:1000px;margin:0 auto}
.insta-embed{border-radius:16px;overflow:hidden;border:1px solid rgba(26,58,124,.08);min-height:400px}
.insta-embed iframe{width:100%;border:none;min-height:400px}
.insta-fallback{background:linear-gradient(160deg,#fce4ec,#e1f5fe);border-radius:16px;padding:30px 20px;text-align:center;color:var(--az2);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:340px}

/* CTA final */
.cta-final{background:linear-gradient(135deg,var(--az2),#132759);color:#fff;text-align:center;border-radius:28px;margin:0 5vw 0;padding:64px 30px}
.cta-final h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:14px}
.cta-final p{color:#c4cee6;margin-bottom:30px}

/* FOOTER */
footer{padding:60px 5vw 40px;text-align:center;background:var(--az2);color:#c4cee6}
footer img{width:44px;margin:0 auto 14px;border-radius:10px}
footer h4{color:#fff;font-size:1.05rem;margin-bottom:6px}
.f-sub{font-size:.85rem;margin-bottom:20px;opacity:.8}
.f-links{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}
.f-link{font-size:.85rem;font-weight:600;opacity:.9}
.f-copy{font-size:.76rem;opacity:.55}

.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--az2);color:#fff;padding:14px 22px;border-radius:12px;font-size:.88rem;font-weight:600;opacity:0;pointer-events:none;transition:all .3s;z-index:200;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
