  :root{
    --cream:#FFFDF6;
    --cream-2:#FFF3DE;
    --ink:#132039;
    --ink-soft:#4B5768;
    --navy:#132C5E;
    --navy-2:#0B1D42;
    --blue:#2E63E7;
    --teal:#0FA394;
    --orange:#F2811D;
    --gold:#F7B500;
    --pink:#EF4770;
    --green:#39A35A;
    --purple:#8B5CF6;
    --line: rgba(19,44,94,.13);
    --shadow: 0 24px 55px -22px rgba(11,29,66,.35);
  }
  *{box-sizing:border-box;}
  body{margin:0; background:var(--cream); font-family:'Manrope',sans-serif;}
  h1,h2,h3{font-family:'Baloo 2',sans-serif; margin:0; color:var(--ink); font-weight:700;}
  p{font-family:'Manrope',sans-serif; color:var(--ink-soft); line-height:1.65; margin:0;}
  a{text-decoration:none; color:inherit; font-family:'Manrope',sans-serif;}
  button{font-family:'Manrope',sans-serif;}
  .eyebrow{font-family:'Manrope',sans-serif; font-weight:800; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--pink);}
  .section{padding:88px 32px; max-width:1500px; margin:0 auto;}
  .section-head{max-width:680px; margin:0 auto 48px; text-align:center; display:flex; flex-direction:column; gap:12px; align-items:center;}
  .section-head h2{font-size:clamp(28px,3.4vw,42px); line-height:1.15;}
  @keyframes floatA{0%,100%{transform:translate(0,0) rotate(0deg) scale(1);}50%{transform:translate(24px,-30px) rotate(8deg) scale(1.06);}}
  @keyframes floatB{0%,100%{transform:translate(0,0) rotate(0deg) scale(1);}50%{transform:translate(-28px,24px) rotate(-6deg) scale(.95);}}
  @keyframes pulseDot{0%,100%{box-shadow:0 0 0 0 rgba(247,181,0,.6);}50%{box-shadow:0 0 0 9px rgba(247,181,0,0);}}
  @keyframes fadeUp{from{opacity:0; transform:translateY(18px);}to{opacity:1; transform:translateY(0);}}

  /* ---- Nav ---- */
  .nav{position:sticky; top:0; z-index:50; background:var(--navy); box-shadow:0 6px 24px -10px rgba(11,29,66,.5);}
  .nav-top{background:var(--navy-2); padding:6px 32px; display:flex; justify-content:center; gap:28px; flex-wrap:wrap;}
  .nav-top span{font-family:'Manrope',sans-serif; font-size:12px; color:#BFD0F5; display:flex; align-items:center; gap:6px;}
  .nav-inner{max-width:1500px; margin:0 auto; padding:14px 32px; display:flex; align-items:center; justify-content:space-between; gap:24px;}
  .brand{display:flex; flex-direction:row; align-items:center; gap:10px;}
  .brand-badge{height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden; box-shadow:0 0 0 2.5px rgba(247,181,0,.55), 0 8px 18px -8px rgba(0,0,0,.55);}
  .brand-badge img{height:100%; width:auto; display:block; object-fit:contain;}
  .brand-name{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:19px; color:#fff;}
  .brand-tag{font-family:'Manrope',sans-serif; font-size:10.5px; letter-spacing:.05em; color:var(--gold); font-weight:700;}
  .nav-links{display:flex; align-items:center; gap:4px;}
  .nav-links > a{display:flex; align-items:center; gap:7px; padding:10px 13px; border-radius:12px; font-size:14.5px; font-weight:700; color:#EAF0FF; transition:background .2s ease, color .2s ease, transform .2s ease;}
  .nav-links > a:hover{background:rgba(255,255,255,.12); color:var(--gold); transform:translateY(-1px);}
  .nav-ico{width:20px; height:20px; border-radius:7px; display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#fff;}
  .dropdown{position:relative;}
  .dropdown::before{content:""; position:absolute; top:100%; left:0; right:0; height:14px;}
  .dropdown-trigger{display:flex; align-items:center; gap:7px; padding:10px 13px; border-radius:12px; border:none; background:none; font-size:14.5px; font-weight:700; color:#EAF0FF; cursor:pointer; transition:background .2s ease, color .2s ease;}
  .dropdown-trigger:hover{background:rgba(255,255,255,.12); color:var(--gold);}
  .dropdown-trigger svg{transition:transform .25s ease;}
  .dropdown:hover .dropdown-trigger svg{transform:rotate(180deg);}
  .dropdown-panel{position:absolute; top:calc(100% + 12px); left:0; min-width:260px; background:#fff; border-radius:18px; box-shadow:var(--shadow); padding:10px; display:flex; flex-direction:column; gap:2px; opacity:0; pointer-events:none; transform:translateY(-8px); transition:opacity .25s ease, transform .25s ease; border-top:4px solid var(--gold);}
  .dropdown:hover .dropdown-panel{opacity:1; pointer-events:auto; transform:translateY(0);}
  .dropdown-panel a{display:flex; align-items:center; gap:10px; padding:11px 12px; border-radius:12px; font-size:14px; font-weight:700; color:var(--navy);}
  .dropdown-panel a:hover{background:var(--cream-2); color:var(--orange);}
  .nav-cta{margin-left:6px; background:var(--orange); color:#fff !important; box-shadow:0 8px 20px -8px rgba(242,129,29,.7);}
  .nav-cta:hover{background:#D9700F; color:#fff !important; transform:translateY(-2px);}
  .hamburger{display:none; flex-direction:column; justify-content:center; gap:5px; width:42px; height:42px; border-radius:12px; border:none; background:rgba(255,255,255,.14); cursor:pointer; padding:0; align-items:center;}
  .hamburger span{display:block; width:19px; height:2.5px; background:#fff; border-radius:2px; transition:transform .3s ease, opacity .3s ease;}
  .hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .hamburger.is-open span:nth-child(2){opacity:0;}
  .hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .mobile-panel{display:none; flex-direction:column; padding:10px 20px 22px; gap:2px; background:var(--navy); animation:fadeUp .25s ease both;}
  .mobile-panel.is-open{display:flex;}
  .mobile-panel a, .mobile-accordion-trigger{padding:13px 12px; font-size:15px; font-weight:700; color:#EAF0FF; border-radius:12px; border:none; background:none; text-align:left; display:flex; align-items:center; justify-content:space-between; cursor:pointer; width:100%;}
  .mobile-panel a:hover, .mobile-accordion-trigger:hover{background:rgba(255,255,255,.1); color:var(--gold);}
  .mobile-sub{display:none; flex-direction:column; padding-left:14px; border-left:3px solid var(--gold); margin:2px 0 6px 14px;}
  .mobile-sub.is-open{display:flex;}
  .mobile-accordion-trigger svg{transition:transform .25s ease;}
  .mobile-accordion-trigger.is-open svg{transform:rotate(180deg);}
  @media (max-width:960px){ .nav-links{display:none;} .hamburger{display:flex;} }

  /* ---- Buttons ---- */
  .btn{display:inline-flex; align-items:center; gap:10px; padding:16px 28px; border-radius:999px; font-weight:800; font-size:14.5px; letter-spacing:.01em; border:2px solid transparent; cursor:pointer; transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;}
  .btn-primary{background:linear-gradient(135deg,var(--orange),#D9700F); color:#fff; box-shadow:0 14px 30px -12px rgba(242,129,29,.75);}
  .btn-primary:hover{transform:translateY(-3px) scale(1.02); box-shadow:0 0 0 3px rgba(247,181,0,.5), 0 20px 40px -16px rgba(242,129,29,.8);}
  .btn-glass{background:rgba(255,255,255,.16); color:#fff; border:2px solid rgba(255,255,255,.55);}
  .btn-glass:hover{background:rgba(255,255,255,.28); border-color:var(--gold); box-shadow:0 0 0 3px rgba(247,181,0,.35); transform:translateY(-3px);}
  .btn-outline{background:#fff; color:var(--navy); border:2px solid var(--navy);}
  .btn-outline:hover{background:var(--navy); color:#fff; box-shadow:0 10px 26px -12px rgba(19,44,94,.6); transform:translateY(-3px);}
  .btn-teal{background:linear-gradient(135deg,var(--teal),#0B7A70); color:#fff; box-shadow:0 14px 30px -12px rgba(15,163,148,.7);}
  .btn-teal:hover{transform:translateY(-3px) scale(1.02); box-shadow:0 0 0 3px rgba(15,163,148,.35), 0 20px 40px -16px rgba(15,163,148,.75);}

  /* ---- Hero carousel ---- */
  .hero{position:relative; overflow:hidden; background:var(--navy-2);}
  .hero-slides{position:relative; width:100%; aspect-ratio:1504/495; min-height:140px; background:var(--navy-2);}
  .hero-slide{position:absolute; inset:0; opacity:0; animation:heroFade 30s infinite;}
  .hero-slide img{width:100%; height:100%; object-fit:contain; object-position:center; display:block;}
  .hero-slide.s1{opacity:1; animation-delay:0s;}
  .hero-slide.s2{animation-delay:6s;}
  .hero-slide.s3{animation-delay:12s;}
  .hero-slide.s4{animation-delay:18s;}
  .hero-slide.s5{animation-delay:24s;}
  @keyframes heroFade{0%{opacity:0;}1%{opacity:1;}21%{opacity:1;}23%{opacity:0;}100%{opacity:0;}}
  .hero-dots{position:absolute; left:50%; bottom:16px; transform:translateX(-50%); display:flex; gap:9px; z-index:3;}
  .hero-dot{width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.55); border:none; padding:0; cursor:default; box-shadow:0 1px 4px rgba(0,0,0,.4); animation:heroDot 30s infinite;}
  .hero-dot.d1{background:var(--gold); box-shadow:0 0 0 3px rgba(247,181,0,.3); animation-delay:0s;}
  .hero-dot.d2{animation-delay:6s;}
  .hero-dot.d3{animation-delay:12s;}
  .hero-dot.d4{animation-delay:18s;}
  .hero-dot.d5{animation-delay:24s;}
  @keyframes heroDot{0%{background:rgba(255,255,255,.55); box-shadow:0 1px 4px rgba(0,0,0,.4);}1%{background:var(--gold); box-shadow:0 0 0 3px rgba(247,181,0,.3);}21%{background:var(--gold); box-shadow:0 0 0 3px rgba(247,181,0,.3);}23%{background:rgba(255,255,255,.55); box-shadow:0 1px 4px rgba(0,0,0,.4);}100%{background:rgba(255,255,255,.55); box-shadow:0 1px 4px rgba(0,0,0,.4);}}
  .hero-bar{background:linear-gradient(135deg,var(--navy) 0%,#1B3E80 100%); padding:20px 32px 58px; display:flex; align-items:center; justify-content:center; gap:22px; flex-wrap:wrap; position:relative; z-index:3;}
  .badge{display:inline-flex; align-items:center; gap:10px; padding:10px 20px; border-radius:999px; background:var(--gold); color:var(--navy-2); font-size:12.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; box-shadow:0 10px 26px -10px rgba(247,181,0,.7);}
  .badge .dot{width:8px; height:8px; border-radius:50%; background:var(--pink); animation:pulseDot 2.2s ease-in-out infinite;}
  .hero-actions{display:flex; gap:14px; flex-wrap:wrap; justify-content:center; align-items:center;}
  .insta-pill-btn{display:inline-flex; align-items:center; gap:9px; padding:10px 20px 10px 14px; border-radius:999px; background:linear-gradient(135deg,#F58529 0%,#DD2A7B 45%,#8134AF 75%,#515BD4 100%); color:#fff; font-weight:800; font-size:13.5px; letter-spacing:.01em; box-shadow:0 10px 26px -10px rgba(221,42,123,.75); transition:transform .25s ease, box-shadow .25s ease;}
  .insta-pill-btn svg{width:18px; height:18px; flex-shrink:0;}
  .insta-pill-btn:hover{transform:translateY(-3px) scale(1.03); box-shadow:0 0 0 3px rgba(255,255,255,.3), 0 18px 36px -12px rgba(221,42,123,.85);}

  /* ---- Atalhos coloridos ---- */
  .quick-wrap{max-width:1500px; margin:-42px auto 0; padding:0 32px; position:relative; z-index:4;}
  .quick-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; background:#fff; border-radius:26px; padding:18px; box-shadow:var(--shadow);}
  .quick-item{display:flex; flex-direction:column; align-items:center; gap:8px; padding:16px 8px; border-radius:18px; color:#fff; font-family:'Manrope',sans-serif; font-weight:800; font-size:12.5px; text-align:center; letter-spacing:.01em; transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;}
  .quick-item:hover{transform:translateY(-5px) scale(1.04); filter:brightness(1.06); box-shadow:0 16px 30px -14px rgba(0,0,0,.35);}
  .quick-item svg{width:26px; height:26px;}
  @media (max-width:640px){ .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }

  /* ---- Parceria Bernoulli (destaque grande) ---- */
  .bernoulli{background:linear-gradient(135deg,var(--navy) 0%,#1B3E80 55%,#0E2A63 100%); border-radius:40px; max-width:1436px; position:relative; overflow:hidden; padding:72px 48px; margin:36px auto 0;}
  .bernoulli .blob{position:absolute; border-radius:50%; filter:blur(2px); pointer-events:none;}
  .bernoulli-swoosh{position:absolute; right:-40px; bottom:-30px; z-index:1; pointer-events:none;}
  .bernoulli .bernoulli-kids{position:absolute; left:0; right:0; bottom:0; height:94px; z-index:1; opacity:.5; pointer-events:none;}
  .bernoulli .bernoulli-kid{position:absolute; bottom:0; left:0; will-change:transform;}
  .bernoulli .bernoulli-kid-bob{animation:kidBob 1.1s ease-in-out infinite;}
  .bernoulli .bernoulli-kid svg{display:block; transform:translateY(19px);}
  @keyframes kidBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}

  /* entrance animations — gated by .is-visible, added once via IntersectionObserver */
  .bernoulli .bn-anim{opacity:0; transform:translateX(-22px); transition:opacity .65s ease, transform .65s ease; transition-delay:var(--d,0s);}
  .bernoulli.is-visible .bn-anim{opacity:1; transform:translateX(0);}
  .bernoulli-panel-wrap{position:relative; opacity:0; transform:translateX(30px); transition:opacity .7s ease .1s, transform .7s ease .1s;}
  .bernoulli.is-visible .bernoulli-panel-wrap{opacity:1; transform:translateX(0);}
  @keyframes bnFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}

  .bernoulli-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:center; position:relative; z-index:2;}
  .bernoulli-text{display:flex; flex-direction:column; gap:18px; align-items:center; text-align:center;}
  .bernoulli-eyebrow{display:inline-flex; align-items:center; gap:10px; padding:7px 18px 7px 8px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22); color:#fff; font-weight:800; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase;}
  .be-ico{width:22px; height:22px; border-radius:50%; background:var(--gold); color:var(--navy-2); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .bernoulli-text h2{color:#fff; font-size:clamp(28px,3.6vw,42px); line-height:1.15;}
  .bn-highlight{color:var(--teal);}
  .bernoulli-text p{color:#D7E0F5; font-size:16px; max-width:640px; margin-left:auto; margin-right:auto;}
  .bernoulli-features{display:grid; grid-template-columns:repeat(3,1fr); column-gap:16px; row-gap:16px; margin-top:6px; max-width:640px; margin-left:auto; margin-right:auto;}
  .bernoulli-feature{display:flex; flex-direction:column; align-items:center; gap:10px; min-width:0; text-align:center;}
  .bernoulli-feature + .bernoulli-feature{border-left:1px solid rgba(255,255,255,.16); padding-left:16px;}
  .bernoulli-feature .f-ico{width:42px; height:42px; border-radius:50%; background:rgba(15,163,148,.16); border:1px solid rgba(15,163,148,.35); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--teal); transition:transform .25s ease, background .25s ease;}
  .bernoulli-feature:hover .f-ico{transform:scale(1.08); background:rgba(15,163,148,.3);}
  .bf-text{display:flex; flex-direction:column; align-items:center; gap:2px; font-size:12.5px; line-height:1.38; color:#B9C8EE; text-align:center;}
  .bf-text strong{color:#fff; font-size:14px; font-weight:800;}
  .btn-gold{background:linear-gradient(135deg,var(--gold),#E29E00); color:#fff; box-shadow:0 14px 30px -12px rgba(247,181,0,.55);}
  .btn-gold:hover{transform:translateY(-3px) scale(1.02); box-shadow:0 0 0 3px rgba(255,255,255,.35), 0 20px 40px -16px rgba(247,181,0,.65);}
  .btn-arrow{transition:transform .25s ease;}
  .btn:hover .btn-arrow{transform:translateX(4px);}
  .bernoulli-panel{position:relative; background:#fff; border-radius:28px; padding:34px 18px; display:flex; flex-direction:column; align-items:center; gap:22px; box-shadow:0 30px 60px -24px rgba(0,0,0,.45); animation:bnFloat 5.5s ease-in-out infinite;}
  .bernoulli-panel img{width:100%; max-width:480px; height:auto; transform:scale(.94); opacity:0; transition:opacity .6s ease .35s, transform .6s ease .35s;}
  .bernoulli.is-visible .bernoulli-panel img{opacity:1; transform:scale(1);}
  .bernoulli-panel-tag{font-family:'Baloo 2',sans-serif; font-weight:800; color:var(--navy); font-size:18px; text-align:center; margin-top:2px; display:flex; align-items:center; gap:10px;}
  .bernoulli-panel-tag i{display:block; width:22px; height:2px; background:var(--teal); border-radius:2px; flex-shrink:0;}
  @media (max-width:900px){ .bernoulli-grid{grid-template-columns:1fr;} .bernoulli{padding:48px 28px;} .bernoulli-text{align-items:center; text-align:center;} .bernoulli-features{grid-template-columns:1fr; row-gap:14px; max-width:340px; margin-left:auto; margin-right:auto;} .bernoulli-feature{flex-direction:column; align-items:center;} .bernoulli-feature + .bernoulli-feature{border-left:none; padding-left:0; border-top:1px solid rgba(255,255,255,.14); padding-top:14px;} .bf-text{align-items:center; text-align:center;} .bernoulli-panel-wrap{max-width:360px; margin:0 auto;} }
  @media (prefers-reduced-motion: reduce){
    .bernoulli .bn-anim, .bernoulli-panel-wrap, .bernoulli-panel img{opacity:1 !important; transform:none !important; transition:none !important;}
    .bernoulli-panel, .bernoulli .bernoulli-kid-bob{animation:none !important;}
  }

  /* ---- Faixa visual: escola + campanhas (antes dos contadores) ---- */
  .home-visual-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:60px;}
  .home-visual-strip-2{grid-template-columns:repeat(2,1fr); gap:28px;}
  .visual-card{cursor:zoom-in;}

  /* ---- Lightbox (visualização em tela cheia) ---- */
  .img-lightbox{position:fixed; inset:0; background:rgba(8,14,28,.94); display:flex; align-items:center; justify-content:center; padding:32px; z-index:9999; opacity:0; visibility:hidden; transition:opacity .28s ease; cursor:zoom-out;}
  .img-lightbox.is-open{opacity:1; visibility:visible;}
  .img-lightbox img{max-width:94vw; max-height:90vh; width:auto; height:auto; object-fit:contain; border-radius:14px; box-shadow:0 40px 90px -20px rgba(0,0,0,.65); cursor:default;}
  .lightbox-close{position:fixed; top:22px; right:26px; width:46px; height:46px; border-radius:50%; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s ease, transform .2s ease;}
  .lightbox-close:hover{background:rgba(255,255,255,.24); transform:scale(1.06);}
  @media (max-width:600px){ .img-lightbox{padding:16px;} .lightbox-close{top:14px; right:14px; width:40px; height:40px;} }
  .visual-card{border-radius:24px; overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column; background:#fff;}
  .visual-card img{width:100%; aspect-ratio:1024/512; object-fit:cover; display:block; transition:transform .5s ease;}
  .visual-card:hover img{transform:scale(1.04);}
  .visual-cap{padding:14px 18px; font-weight:800; font-size:13.5px; color:var(--navy); text-align:center;}
  @media (max-width:900px){ .home-visual-strip{grid-template-columns:1fr;} }

  /* ---- Nossa história + contador (centralizado) ---- */
  .historia{display:flex; flex-direction:column; align-items:center; gap:44px;}
  .historia-text{display:flex; flex-direction:column; gap:16px; align-items:center; text-align:center; max-width:1300px;}
  .historia-text .hero-actions{justify-content:center;}
  .historia-badge{display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:999px; background:var(--cream-2); color:var(--orange); font-weight:800; font-size:12.5px;}
  .historia-more{display:none; flex-direction:column; gap:14px; text-align:center;}
  .historia-more.is-open{display:flex;}
  .counters{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; width:100%; max-width:1300px;}
  .counter-card{background:var(--navy); border-radius:22px; padding:28px 16px; text-align:center; display:flex; flex-direction:column; gap:4px; box-shadow:var(--shadow); position:relative; overflow:hidden;}
  .counter-card:nth-child(2){background:linear-gradient(135deg,var(--teal),#0B7A70);}
  .counter-card:nth-child(3){background:linear-gradient(135deg,var(--pink),#C22F58);}
  .counter-num{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:clamp(24px,2.8vw,34px); color:#fff; display:block; line-height:1.15;}
  .counter-label{font-family:'Manrope',sans-serif; font-size:11.5px; font-weight:700; color:rgba(255,255,255,.85); letter-spacing:.02em; line-height:1.3;}
  @media (max-width:900px){ .counters{grid-template-columns:1fr;} }

  /* ---- GPI+ ---- */
  .gpiplus{background:linear-gradient(160deg,var(--navy) 0%, #1B3E80 60%, var(--blue) 100%); border-radius:40px; padding:64px 48px; position:relative; overflow:hidden; color:#fff;}
  .gpiplus .blob{position:absolute; border-radius:50%; filter:blur(50px); pointer-events:none;}
  .gpiplus-grid{position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;}
  .gpiplus-grid > div:first-child{text-align:center; display:flex; flex-direction:column; align-items:center;}
  .gpiplus-mark{display:inline-flex; align-items:center; gap:10px; font-family:'Baloo 2',sans-serif; font-weight:800; font-size:34px; color:#fff;}
  .gpiplus-mark .plus{color:var(--gold); font-size:30px;}
  .gpiplus-sub{display:flex; flex-direction:column; align-items:center; gap:4px; margin-top:4px;}
  .gpiplus-sub span{font-weight:800; font-size:14.5px; letter-spacing:.04em; text-transform:uppercase; color:#9FD9CF;}
  .gpiplus-text{color:#DCE6FF; margin-top:16px; max-width:none; width:100%; margin-left:auto; margin-right:auto; font-size:17.5px; line-height:1.7;}
  .gpiplus-grid > div:last-child > span{font-size:14.5px;}
  .offer-list{display:flex; flex-direction:column; gap:10px; margin-top:6px;}
  .offer-item{display:flex; align-items:center; gap:12px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:14px; padding:14px 16px; font-weight:700; font-size:16.5px; color:#fff; transition:transform .25s ease, background .25s ease;}
  .offer-item:hover{transform:translateX(6px); background:rgba(255,255,255,.16);}
  .offer-dot{width:9px; height:9px; border-radius:50%; flex-shrink:0;}
  @media (max-width:900px){ .gpiplus-grid{grid-template-columns:1fr; gap:32px;} .gpiplus{padding:48px 26px;} }

  /* ---- Diferenciais ---- */
  .grid-diff{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:44px;}
  .card{background:#fff; border:1px solid var(--line); border-top:5px solid var(--card-color, var(--teal)); border-radius:22px; padding:30px 26px; display:flex; flex-direction:column; gap:14px; transition:transform .3s ease, box-shadow .3s ease;}
  .card:hover{transform:translateY(-7px); box-shadow:0 26px 50px -24px rgba(19,44,94,.35);}
  .card-icon{width:54px; height:54px; border-radius:16px; background:var(--card-color, var(--teal)); display:flex; align-items:center; justify-content:center; color:#fff; box-shadow:0 10px 22px -10px var(--card-color, var(--teal));}
  .card h3{font-size:18px; font-weight:700;}
  .card p{font-size:14.5px;}
  @media (max-width:900px){ .grid-diff{grid-template-columns:1fr 1fr;} }
  @media (max-width:640px){ .grid-diff{grid-template-columns:1fr;} }

  /* ---- Equipe GPI ---- */
  .gpi-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:44px;}
  .gpi-card{margin:0; border-radius:24px; overflow:hidden; border:4px solid #fff; box-shadow:0 22px 50px -26px rgba(19,44,94,.45); transition:transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s cubic-bezier(.22,1,.36,1); position:relative; z-index:1; cursor:zoom-in;}
  .gpi-card::after{content:""; position:absolute; inset:0; border-radius:20px; box-shadow:inset 0 0 0 3px var(--gpi-color,var(--gold)); pointer-events:none;}
  .gpi-card img{display:block; width:100%; aspect-ratio:1/1; object-fit:cover;}
  .gpi-card:hover{transform:scale(1.25); box-shadow:0 48px 100px -22px rgba(19,44,94,.6); z-index:20;}
  .gpi-grid > .gpi-item:first-child .gpi-card:hover{transform-origin:left center;}
  .gpi-grid > .gpi-item:last-child .gpi-card:hover{transform-origin:right center;}
  @media (max-width:900px){ .gpi-grid{grid-template-columns:1fr; max-width:360px; margin-left:auto; margin-right:auto;} .gpi-card:hover{transform:scale(1.15);} }
  .gpi-item{display:flex; flex-direction:column; gap:16px;}
  .gpi-caption{display:flex; flex-direction:column; gap:8px; text-align:center; padding:0 6px;}
  .gpi-caption-row strong{display:block; font-family:'Baloo 2',sans-serif; font-size:15.5px; color:var(--ink);}
  .gpi-caption-row span{display:block; font-size:12.5px; font-weight:700; color:var(--ink-soft); margin-top:1px;}
  .gpi-caption-divider{height:1px; background:var(--line); margin:2px auto; width:56%;}

  /* ---- Estrutura ---- */
  .split{display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:center;}
  .split-text{display:flex; flex-direction:column; gap:18px; align-items:center; text-align:center;}
  .split-text h2{font-size:clamp(26px,3vw,36px); line-height:1.18;}
  .split-text p{max-width:520px; margin-left:auto; margin-right:auto;}
  .photo-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:10px;}
  .photo-slot{aspect-ratio:1/1; border-radius:14px; overflow:hidden; border:3px solid #fff; box-shadow:0 10px 22px -12px rgba(19,44,94,.4); transition:transform .3s ease, box-shadow .3s ease;}
  .photo-slot img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease;}
  .photo-slot:hover{transform:translateY(-4px) scale(1.03); box-shadow:0 18px 34px -14px rgba(19,44,94,.5); z-index:1; position:relative;}
  .photo-slot:hover img{transform:scale(1.08);}
  @media (max-width:960px){ .photo-grid{grid-template-columns:repeat(4,1fr);} }
  @media (max-width:640px){ .photo-grid{grid-template-columns:repeat(3,1fr);} }

  /* ---- Como ingressar ---- */
  .ingressar-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:48px; align-items:start; margin-top:44px;}
  .checklist{display:flex; flex-direction:column; gap:10px;}
  .check-item{display:flex; align-items:flex-start; gap:12px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:13px 16px; font-size:14px; color:var(--ink); transition:transform .2s ease, box-shadow .2s ease;}
  .check-item:hover{transform:translateX(4px); box-shadow:0 12px 24px -16px rgba(19,44,94,.3);}
  .check-ico{width:22px; height:22px; border-radius:50%; background:var(--green); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px;}
  .legis-card{background:var(--navy); border-radius:22px; padding:28px 26px; color:#fff; display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px;}
  .legis-card h3{color:#fff; font-size:19.5px;}
  .legis-card p{color:#C7D4F2; font-size:15.5px; line-height:1.7;}
  @media (max-width:900px){ .ingressar-grid{grid-template-columns:1fr;} }

  /* ---- FAQ ---- */
  .faq-list{display:flex; flex-direction:column; gap:12px; margin-top:40px;}
  .faq-item{border:1px solid var(--line); border-left:5px solid var(--teal); border-radius:16px; background:#fff; overflow:hidden;}
  .faq-q{width:100%; text-align:left; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; background:none; border:none; cursor:pointer; font-size:16px; font-weight:700; color:var(--ink); font-family:'Manrope',sans-serif;}
  .faq-q span{flex:1; text-align:center;}
  .faq-q:hover{color:var(--teal);}
  .faq-q svg{flex-shrink:0; transition:transform .3s ease; color:var(--teal);}
  .faq-q.is-open svg{transform:rotate(180deg);}
  .faq-a{display:none; padding:0 24px 22px; max-width:none; margin-left:auto; margin-right:auto; text-align:center;}
  .faq-a.is-open{display:block;}

  /* ---- CTA band ---- */
  .cta-band{background:linear-gradient(135deg,var(--navy) 0%,#1B3E80 60%,var(--blue) 100%); border-radius:36px; padding:56px; position:relative; overflow:hidden;}
  .cta-band .blob{position:absolute; border-radius:50%; filter:blur(50px); pointer-events:none;}
  .cta-band h2{color:#fff; font-size:clamp(26px,3.2vw,38px); max-width:520px; margin-left:auto; margin-right:auto;}
  .cta-band p{color:#DCE6FF; max-width:480px; margin-left:auto; margin-right:auto;}
  .cta-grid{position:relative; z-index:1; display:grid; grid-template-columns:0.62fr 1.38fr; gap:40px; align-items:center; width:100%;}
  .cta-text{display:flex; flex-direction:column; gap:18px; align-items:center; text-align:center;}
  .cta-photo{width:100%; aspect-ratio:1801/900; max-height:600px; object-fit:cover; border-radius:22px; box-shadow:0 30px 70px -18px rgba(0,0,0,.55); border:4px solid rgba(255,255,255,.85);}
  @media (max-width:860px){ .cta-grid{grid-template-columns:1fr;} .cta-text{align-items:center; text-align:center;} .cta-band h2, .cta-band p{max-width:100%;} }

  /* ---- Footer ---- */
  .footer{background:var(--navy-2); color:#B9CAF2; padding:70px 32px 26px;}
  .footer-inner{max-width:1500px; margin:0 auto; display:grid; grid-template-columns:1.3fr 0.9fr 1fr 1fr; gap:44px;}
  .footer h4{color:var(--gold); font-family:'Manrope',sans-serif; font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:18px;}
  .footer a{display:block; padding:6px 0; font-size:14.5px; color:#CBD8F5; transition:color .2s ease;}
  .footer a:hover{color:var(--gold);}
  .footer-brand p{color:#9FB2DC; font-size:14px; margin-top:10px;}
  .social-row{display:flex; gap:10px; margin-top:20px;}
  .social-btn{width:42px; height:42px; border-radius:13px; display:flex; align-items:center; justify-content:center; color:#fff; transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;}
  .social-btn:hover{transform:translateY(-3px) scale(1.05); filter:brightness(1.1);}
  .contact-row{display:flex; align-items:center; gap:10px; font-size:14px; color:#CBD8F5; padding:6px 0;}
  .footer-bottom{max-width:1500px; margin:52px auto 0; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12.5px; color:#7C90BE;}

  @media (max-width:900px){
    .grid-diff{grid-template-columns:1fr 1fr;}
    .split{grid-template-columns:1fr; gap:36px;}
    .footer-inner{grid-template-columns:1fr 1fr; gap:36px;}
    .counters{grid-template-columns:1fr; }
  }
  @media (max-width:640px){
    .section{padding:60px 20px;}
    .grid-diff{grid-template-columns:1fr;}
    .footer-inner{grid-template-columns:1fr;}
  }

  /* ---- Contato: formulário + mapa ---- */
  .contact-wrap{display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:stretch; margin-bottom:32px;}
  .contact-form-card{background:#fff; border:1px solid var(--line); border-radius:26px; padding:36px; box-shadow:var(--shadow);}
  .contact-form-card h3{font-size:20px; margin-bottom:6px;}
  .contact-form-card > p{margin-bottom:22px; font-size:14px;}
  .form-row{display:flex; flex-direction:column; gap:6px; margin-bottom:16px;}
  .form-row label{font-size:12.5px; font-weight:800; color:var(--navy); letter-spacing:.03em; text-transform:uppercase;}
  .form-row input, .form-row textarea{font-family:'Manrope',sans-serif; font-size:14.5px; padding:12px 14px; border:1.5px solid var(--line); border-radius:12px; background:var(--cream); color:var(--ink); resize:vertical;}
  .form-row input:focus, .form-row textarea:focus{outline:none; border-color:var(--teal); background:#fff;}
  .form-row-pair{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  .form-submit-btn{background:var(--orange); color:#fff; border:none; padding:14px 28px; border-radius:14px; font-weight:800; font-size:14.5px; cursor:pointer; transition:transform .2s ease, background .2s ease; width:100%;}
  .form-submit-btn:hover{background:#D9700F; transform:translateY(-2px);}
  .map-card{border-radius:26px; overflow:hidden; box-shadow:var(--shadow); min-height:340px; position:relative; border:1px solid var(--line);}
  .map-card iframe{width:100%; height:100%; min-height:340px; border:0; display:block;}
  .map-address-chip{position:absolute; left:16px; bottom:16px; background:#fff; border-radius:14px; padding:12px 16px; box-shadow:0 14px 30px -14px rgba(19,44,94,.4); display:flex; align-items:center; gap:10px; font-size:13px; font-weight:700; color:var(--navy); max-width:calc(100% - 32px);}
  @media (max-width:900px){ .contact-wrap{grid-template-columns:1fr;} .form-row-pair{grid-template-columns:1fr;} }
