/* Quem Somos — recriação da página Wix (desktop medido a 1440px). */
.ipv7-p-quem-somos { overflow: hidden; }
.ipv7-p-quem-somos .wp-block-group > * { margin-block: 0; }

/* ---------- Hero (fundo + caixa branca) ---------- */
.ipv7-p-quem-somos .qs-hero { position: relative !important; background: #000; height: 1478px; }
.ipv7-p-quem-somos .qs-hero__bg { position: absolute !important; inset: 0; }
.ipv7-p-quem-somos .qs-hero__bg img { width: 100%; height: 100% !important; object-fit: cover; object-position: 50% 50%; opacity: .4; }
.ipv7-p-quem-somos .qs-box {
  position: absolute !important; left: 50%; top: 35px; width: 980px; height: 1395px; margin-left: -489px;
  background: #fff; box-shadow: 0 1px 50px 3px var(--red);
}
.ipv7-p-quem-somos .qs-seven { position: absolute !important; left: 164px; top: 45px; width: 406px; }
.ipv7-p-quem-somos .qs-seven img { width: 406px; height: 406px !important; }
.ipv7-p-quem-somos .qs-title {
  position: absolute !important; left: 433px; top: 48px; width: 380px; margin: 0;
  font-family: var(--ff-display); font-weight: 400; font-size: 125px; line-height: 100px;
  color: var(--red); text-align: center; letter-spacing: -0.01em;
}
.ipv7-p-quem-somos .qs-title .dot { font-family: var(--ff-body); font-weight: 700; }
.ipv7-p-quem-somos .qs-lead {
  position: absolute !important; left: 574px; top: 282px; width: 210px;
  font-size: 23px; line-height: 33.81px; color: #000;
}
.ipv7-p-quem-somos .qs-text { position: absolute !important; left: 121px; top: 498px; width: 738px; }
.ipv7-p-quem-somos .qs-text p { font-size: 20px; line-height: 36px; text-align: justify; color: #000; margin: 0; }

/* ---------- Cards das empresas ---------- */
.ipv7-p-quem-somos .qs-cards { position: absolute !important; left: 119px; top: 834px; width: 741px; height: 482px; }
.ipv7-p-quem-somos .qs-card {
  position: absolute !important; width: 245px; height: 233px; box-sizing: border-box; padding: 42px 30px 0;
  background: rgb(246, 235, 228) center/cover no-repeat; color: #fff; text-align: center; text-decoration: none;
}
.ipv7-p-quem-somos .qs-card--tic { left: 0; top: 0; }
.ipv7-p-quem-somos .qs-card--niis { left: 248px; top: 0; }
.ipv7-p-quem-somos .qs-card--valuex { left: 496px; top: 0; height: 277px; background-color: #000; }
.ipv7-p-quem-somos .qs-card--security { left: 0; top: 236px; }
.ipv7-p-quem-somos .qs-card--software { left: 248px; top: 236px; height: 255px; }
.ipv7-p-quem-somos .qs-card h3 { margin: 0; font-family: var(--ff-display); font-weight: 400; font-size: 26px; line-height: 31px; color: #fff; }
.ipv7-p-quem-somos .qs-card p {
  margin: 23px auto 0; max-width: 196px; letter-spacing: -0.02em; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 300;
  font-size: 14px; line-height: 21px; color: #fff;
}
.ipv7-p-quem-somos .qs-cta { position: absolute !important; left: 523px; top: 294px; width: 218px; }
.ipv7-p-quem-somos .qs-cta__text {
  display: block; font-family: var(--ff-display); font-size: 35px; line-height: 42px; color: var(--gray); text-decoration: none;
}
.ipv7-p-quem-somos .qs-cta__text:hover { color: var(--red); }
.ipv7-p-quem-somos .qs-cta__btn {
  position: absolute !important; left: 0; top: 142px; width: 134px; height: 61px; border-radius: 31px; background: var(--red);
  display: flex; align-items: center; justify-content: center; transition: background .2s;
}
.ipv7-p-quem-somos .qs-cta__btn:hover { background: var(--red-dark); }
.ipv7-p-quem-somos .qs-cta__btn svg { width: 56px; height: 56px; display: block; }

/* ---------- Faixa "Somos um BSP" ---------- */
.ipv7-p-quem-somos .qs-bsp {
  height: 247px; box-sizing: border-box; padding-top: 27px; text-align: center; color: #fff;
  background: conic-gradient(from 90deg at 27.5% 44.1667%, var(--red-dark) 0%, var(--red-mid) 100%);
}
.ipv7-p-quem-somos .qs-bsp__title { margin: 0; font-size: 60px; line-height: 72px; color: #fff; font-weight: 400; }
.ipv7-p-quem-somos .qs-bsp__text { width: 806px; max-width: calc(100% - 32px); margin: 44px auto 0 !important; font-size: 25px; line-height: 30.5px; color: #fff; }

/* ---------- Propósito ---------- */
.ipv7-p-quem-somos .qs-purpose { height: 556px; box-sizing: border-box; padding-top: 66px; }
.ipv7-p-quem-somos .qs-purpose__img { width: 829px; max-width: calc(100% - 32px); margin: 0 auto; }
.ipv7-p-quem-somos .qs-purpose__img img { width: 100%; height: auto !important; }

/* ---------- Celular ---------- */
@media (max-width: 1000px) {
  .ipv7-p-quem-somos .qs-hero { height: auto; padding: 24px 12px; }
  .ipv7-p-quem-somos .qs-box {
    position: relative !important; left: auto; top: auto; width: auto; height: auto; margin: 0 auto; max-width: 720px;
    padding: 28px 20px 36px; box-sizing: border-box;
  }
  .ipv7-p-quem-somos .qs-seven, .ipv7-p-quem-somos .qs-title, .ipv7-p-quem-somos .qs-lead,
  .ipv7-p-quem-somos .qs-text, .ipv7-p-quem-somos .qs-cards, .ipv7-p-quem-somos .qs-cta { position: relative !important; left: auto; top: auto; width: auto; height: auto; }
  .ipv7-p-quem-somos .qs-seven { width: 130px; float: left; margin: 0 10px 0 -6px; }
  .ipv7-p-quem-somos .qs-seven img { width: 130px; height: 130px !important; }
  .ipv7-p-quem-somos .qs-title { font-size: 52px; line-height: 50px; text-align: left; padding-top: 12px; white-space: nowrap; }
  .ipv7-p-quem-somos .qs-title .dot { position: static !important; }
  .ipv7-p-quem-somos .qs-lead { clear: both; padding-top: 20px; font-size: 20px; line-height: 29px; }
  .ipv7-p-quem-somos .qs-text { margin-top: 20px !important; }
  .ipv7-p-quem-somos .qs-text p { font-size: 16px; line-height: 28px; text-align: left; }
  .ipv7-p-quem-somos .qs-cards { margin-top: 32px; display: grid; grid-template-columns: 1fr; gap: 3px; }
  .ipv7-p-quem-somos .qs-card { position: relative !important; left: auto !important; top: auto !important; width: auto; height: auto !important; min-height: 200px; padding: 36px 24px 30px; }
  .ipv7-p-quem-somos .qs-card p { max-width: 260px; }
  .ipv7-p-quem-somos .qs-cta { padding: 24px 0 0; text-align: center; }
  .ipv7-p-quem-somos .qs-cta__text { font-size: 30px; line-height: 36px; }
  .ipv7-p-quem-somos .qs-cta__btn { position: relative !important; top: auto; margin: 16px auto 0; }

  .ipv7-p-quem-somos .qs-bsp { height: auto; padding: 28px 16px 32px; background: linear-gradient(135deg, var(--red-mid), var(--red-dark)); }
  .ipv7-p-quem-somos .qs-bsp__title { font-size: 40px; line-height: 48px; }
  .ipv7-p-quem-somos .qs-bsp__text { margin-top: 16px !important; font-size: 18px; line-height: 26px; max-width: 100%; }
  .ipv7-p-quem-somos .qs-purpose { height: auto; padding: 40px 0; }
  .ipv7-p-quem-somos .qs-purpose__img { transform: none; }
}
