/* ============ PARCEIROS PAGE ============ */

/* Hero */
.hero-page{
  padding:150px 0 90px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(1000px 500px at 80% -10%, #e9f4fb 0%, rgba(233,244,251,0) 60%),
    radial-gradient(700px 400px at 5% 110%, #eef6fc 0%, rgba(238,246,252,0) 55%),
    #fff;
}
.hero-page__inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
}
.hero-page__wave{position:absolute;right:-4%;top:52%;width:62%;opacity:.38;transform:translateY(-50%);pointer-events:none;z-index:0;mix-blend-mode:multiply}
.hero-page__copy{max-width:600px;position:relative;z-index:2}
.hero-page h1{font-size:clamp(34px,4.2vw,58px);font-weight:800;letter-spacing:-.04em;margin-bottom:22px;line-height:1.08}
.hero-page h1 .em{color:var(--ocean-600)}
.hero-page__sub{font-size:clamp(17px,1.4vw,20px);color:var(--slate-500);max-width:500px;margin-bottom:32px;font-weight:500;line-height:1.6}
.hero-page__stats{display:flex;gap:36px;flex-wrap:wrap}
.hero-page__stat .n{font-family:'Sora',sans-serif;font-weight:800;font-size:32px;letter-spacing:-.03em;color:var(--navy-900);line-height:1}
.hero-page__stat .n span{color:var(--ocean-600)}
.hero-page__stat .lb{font-size:13px;color:var(--slate-500);font-weight:600;margin-top:4px}

/* Partner mosaic on the right */
.hero-mosaic{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  position:relative;
}
.mosaic-logo{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease),box-shadow .3s;
  aspect-ratio:16/8;
}
.mosaic-logo:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.mosaic-logo img{width:100%;height:100%;object-fit:contain;max-height:44px;filter:grayscale(30%)}

/* ============ INTRO SECTION ============ */
.intro-band{
  background:var(--mist);
  padding:72px 0;
  border-top:1px solid var(--line-soft);
}
.intro-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.intro-inner h2{font-size:clamp(26px,3vw,40px);font-weight:700;line-height:1.18;letter-spacing:-.025em}
.intro-inner h2 b{color:var(--ocean-600)}
.intro-inner p{font-size:17px;color:var(--slate-500);line-height:1.7}

/* ============ PARTNER CARDS GRID ============ */
.partner-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.partner-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:30px 28px 28px;
  box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;
  display:flex;
  flex-direction:column;
}
.partner-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-lg);
  border-color:#d4e2ef;
}
.partner-card__logo{
  height:52px;
  display:flex;
  align-items:center;
  margin-bottom:20px;
}
.partner-card__logo img{
  max-height:52px;
  max-width:140px;
  width:auto;
  object-fit:contain;
  object-position:left center;
}
.partner-card__name{
  font-family:'Sora',sans-serif;
  font-weight:700;
  font-size:17px;
  color:var(--navy-900);
  margin-bottom:8px;
  line-height:1.2;
}
.partner-card__desc{
  font-size:14.5px;
  color:var(--slate-500);
  line-height:1.65;
  flex:1;
}
.partner-card__tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:600;
  font-family:'Sora',sans-serif;
  color:var(--ocean-600);
  background:var(--mist-2);
  padding:5px 11px;
  border-radius:999px;
  margin-top:16px;
  width:fit-content;
}

/* ============ TESTIMONIAL ============ */
.quote{position:relative;z-index:2;max-width:880px;margin:0 auto;text-align:center}
.quote__mark{font-family:'Sora',sans-serif;font-size:90px;line-height:.6;color:var(--cyan-400);opacity:.6}
.quote__txt{font-family:'Sora',sans-serif;font-weight:600;font-size:clamp(22px,2.6vw,32px);line-height:1.36;letter-spacing:-.02em;color:#fff;margin:14px 0 28px}
.quote__txt em{color:var(--cyan-300);font-style:normal}
.quote__by{display:flex;flex-direction:column;gap:3px;align-items:center}
.quote__by b{font-family:'Sora',sans-serif;font-weight:600;color:#fff;font-size:16px}
.quote__by span{color:#8fb0d0;font-size:14px}

/* ============ WHY PARTNER ============ */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.why-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:34px 30px;
  box-shadow:var(--shadow-sm);
}
.why-card .ic{
  width:52px;height:52px;border-radius:14px;
  display:grid;place-items:center;
  margin-bottom:20px;
}
.why-card .ic svg{width:26px;height:26px}
.why-card h3{font-size:20px;margin-bottom:10px;color:var(--navy-900)}
.why-card p{font-size:15px;color:var(--slate-500);line-height:1.65}

/* ============ CTA FINAL ============ */
.cta-final{position:relative;overflow:hidden;background:var(--navy-950);border-radius:var(--r-xl);padding:72px 56px;text-align:center;color:#fff}
.cta-final h2{font-size:clamp(28px,3.4vw,44px);font-weight:800;letter-spacing:-.03em;margin-bottom:16px;max-width:720px;margin-inline:auto}
.cta-final p{color:#9fb6cf;font-size:18px;max-width:520px;margin:0 auto 32px}
.cta-final .glow{position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(110px)}

/* ============ MOBILE MENU ============ */
.mobile-menu{position:fixed;inset:78px 0 0;background:#fff;z-index:99;padding:24px;transform:translateX(100%);transition:transform .3s var(--ease);overflow-y:auto;display:flex;flex-direction:column;gap:4px}
.mobile-menu.open{transform:none}
.mobile-menu a{font-family:'Sora',sans-serif;font-weight:600;font-size:18px;padding:15px 6px;border-bottom:1px solid var(--line-soft);color:var(--navy-900)}
.mobile-menu .mm-cta{margin-top:18px;display:flex;flex-direction:column;gap:12px}
.nav__burger.x span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__burger.x span:nth-child(2){opacity:0}
.nav__burger.x span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:980px){
  .hero-page__inner,.intro-inner,.why-grid{grid-template-columns:1fr}
  .hero-mosaic{display:none}
  .partner-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .partner-grid{grid-template-columns:1fr}
  .hero-page__stats{gap:24px}
  .cta-final{padding:48px 26px}
}

/* ===== Compatibilidade blocos nativos Gutenberg -> design DataOcean ===== */
/* Botao: as classes .btn* ficam no wrapper .wp-block-button; reaplica no <a>. */
.wp-block-button.btn > .wp-block-button__link,
.wp-block-button[class*="btn--"] > .wp-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:'Sora',sans-serif;font-weight:600;font-size:15.5px;
  padding:14px 26px;border-radius:999px;border:1.5px solid transparent;
  cursor:pointer;white-space:nowrap;text-decoration:none;
  transition:transform .2s var(--ease),box-shadow .25s var(--ease),background .2s,color .2s,border-color .2s;
}
.wp-block-button.btn--sm > .wp-block-button__link{padding:10px 18px;font-size:14px}
.wp-block-button.btn--lg > .wp-block-button__link{padding:17px 32px;font-size:16.5px}
.wp-block-button.btn--primary > .wp-block-button__link{background:var(--grad-ocean);color:#fff;box-shadow:var(--shadow-cyan)}
.wp-block-button.btn--primary > .wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 26px 60px -22px rgba(18,182,207,.7)}
.wp-block-button.btn--solid > .wp-block-button__link{background:var(--navy-900);color:#fff}
.wp-block-button.btn--ghost > .wp-block-button__link{background:transparent;color:var(--navy-900);border-color:var(--line)}
.wp-block-button.btn--light > .wp-block-button__link{background:#fff;color:var(--navy-900)}
.wp-block-button.btn--outline-light > .wp-block-button__link{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.28)}
/* No hero o CTA ocupa a largura total, como no design (.hero__cta .btn{width:100%}). */
.hero__cta.wp-block-buttons{width:100%}
.hero__cta .wp-block-button{width:100%}
.hero__cta .wp-block-button > .wp-block-button__link{width:100%}
/* Imagem/logo: a className vai na <figure>; ajusta a <img> interna. */
.wp-block-image.hero__logo{margin:0 0 64px}
.wp-block-image.hero__logo img{height:30px;width:auto;display:block}
/* Grupos nativos nao devem reintroduzir espacamento/constrangimento proprios. */
.hero .wp-block-group{margin-block:0}

