/* ═══════ BENEFITS ═══════ */
.benefits {
  padding: 100px 0;
  background: var(--white);
  overflow: hidden;
  position: relative;
  transition: background 0.3s;
}
.aurora-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.aurora-layer {
  position: absolute;
  inset: -10px;
  opacity: 0.50;
  will-change: transform;
  filter: blur(10px) invert(1);
  background-image:
    repeating-linear-gradient(100deg, #fff 0%, #fff 7%, transparent 10%, transparent 12%, #fff 16%),
    repeating-linear-gradient(100deg, #7A0348 10%, #B3046B 15%, #7A0348 20%, #FCE3F0 25%, #7A0348 30%);
  background-size: 300% 200%;
  background-position: 50% 50%;
  animation: aurora 60s linear infinite;
  pointer-events: none;
}
.aurora-layer::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(100deg, #fff 0%, #fff 7%, transparent 10%, transparent 12%, #fff 16%),
    repeating-linear-gradient(100deg, #7A0348 10%, #B3046B 15%, #7A0348 20%, #FCE3F0 25%, #7A0348 30%);
  background-size: 200% 100%;
  background-attachment: fixed;
  animation: aurora 60s linear infinite;
  mix-blend-mode: difference;
}
.aurora-mask {
  mask-image: radial-gradient(ellipse at 100% 0%, black 10%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at 100% 0%, black 10%, transparent 70%);
}
.gallery-aurora-mask {
  opacity: 0.5;
}
@media (min-width: 901px) {
  .aurora-layer,
  .aurora-layer::after {
    animation-duration: 120s;
  }
}
@keyframes aurora {
  from {
    background-position: 50% 50%, 50% 50%;
  }
  to {
    background-position: 350% 50%, 350% 50%;
  }
}
/* ═══════ BORDER TRAIL (botões) ═══════ */
.border-trail-wrap {
  position: relative;
}
.border-trail {
  pointer-events: none;
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid transparent;
  mask-clip: padding-box, border-box;
  -webkit-mask-clip: padding-box, border-box;
  mask-composite: intersect;
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(transparent, transparent), linear-gradient(#000, #000);
  -webkit-mask-image: linear-gradient(transparent, transparent), linear-gradient(#000, #000);
}
.border-trail-dot {
  position: absolute;
  width: 60px;
  aspect-ratio: 1;
  border-radius: 50%;
  offset-path: rect(0 auto auto 0 round 50px);
  animation: borderTrail 5s linear infinite;
}
.hero-cta .border-trail-dot {
  background: linear-gradient(135deg, var(--teal-light), var(--white));
  box-shadow: 0 0 15px var(--teal-light);
}
.benefits-cta .border-trail-dot {
  background: linear-gradient(135deg, var(--teal-light), var(--blue-light));
  box-shadow: 0 0 15px var(--blue-light);
}
.form-submit .border-trail-dot {
  background: linear-gradient(135deg, var(--teal-light), var(--white));
  box-shadow: 0 0 15px var(--teal-light);
}
@keyframes borderTrail {
  from {
    offset-distance: 0%;
  }
  to {
    offset-distance: 100%;
  }
}
.benefits .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
  position: relative;
  z-index: 1;
}
.benefits-illustration {
  position: relative;
}
.benefits-img-box {
  background: linear-gradient(135deg, var(--baby-blue) 0%, #FAEDE9 100%);
  border-radius: 24px;
  padding: 24px;
  position: relative;
  overflow: visible;
}
.benefits-img-box::before {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 150px;
  height: 150px;
  background: linear-gradient(135deg, rgba(179, 4, 107, 0.1), rgba(122, 3, 72, 0.1));
  border-radius: 50%;
}
.benefits-img-box::after {
  content: '';
  position: absolute;
  bottom: -30px;
  left: -30px;
  width: 100px;
  height: 100px;
  background: rgba(214, 59, 146, 0.06);
  border-radius: 50%;
}
.benefits-img-icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.benefits-floating-card {
  position: absolute;
  bottom: -20px;
  right: -20px;
  background: var(--white);
  border-radius: 16px;
  padding: 16px 22px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 3;
}
.benefits-floating-card .icon-circle {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--teal), var(--teal-light));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.benefits-floating-card .icon-circle svg {
  width: 20px;
  height: 20px;
  color: white;
}
.benefits-floating-card .text strong {
  display: block;
  font-size: 0.85rem;
  color: var(--gray-800);
}
.benefits-floating-card .text span {
  font-size: 0.75rem;
  color: var(--gray-400);
}
.section-label {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--blue);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 14px;
}
.benefits-content h2 {
  font-size: 2.2rem;
  font-weight: 800;
  line-height: 1.15;
  color: var(--gray-800);
  margin-bottom: 20px;
  letter-spacing: -0.5px;
}
.check-list {
  list-style: none;
}
.check-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--gray-100);
}
.check-list li:last-child {
  border-bottom: none;
}
.check-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 3px;
}
.check-icon svg {
  width: 18px;
  height: 18px;
  color: var(--teal);
  stroke-width: 2.5;
}
.check-list li .check-text strong {
  display: block;
  font-size: 0.95rem;
  color: var(--gray-800);
  margin-bottom: 2px;
}
.check-list li .check-text span {
  font-size: 0.85rem;
  color: var(--gray-600);
  line-height: 1.5;
}
.benefits-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--white);
  color: var(--blue);
  border: 2px solid var(--blue);
  padding: 14px 32px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  transition: all 0.3s ease;
  margin-top: 28px;
  position: relative;
  overflow: hidden;
}
.benefits-cta:hover {
  background: var(--blue);
  color: var(--white);
  box-shadow: 0 8px 25px rgba(179, 4, 107, 0.3);
}
/* ═══════ TESTIMONIALS ═══════ */
.testimonials {
  padding: 100px 0;
  background: var(--gray-50);
  overflow: hidden;
  position: relative;
}
.testimonials .section-header {
  text-align: center;
  margin-bottom: 60px;
}
.testimonials .section-header h2 {
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--gray-800);
  letter-spacing: -0.5px;
  margin-bottom: 12px;
}
.testimonials .section-header p {
  font-size: 1.02rem;
  color: var(--gray-600);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.6;
}
.testimonials-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  max-height: 600px;
  overflow: hidden;
  mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);
}
.testimonials-col {
  overflow: hidden;
}
.testimonials-scroll {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-bottom: 24px;
  animation: scrollUp 25s linear infinite;
}
.testimonials-col:nth-child(2) .testimonials-scroll {
  animation-duration: 20s;
}
.testimonials-col:nth-child(3) .testimonials-scroll {
  animation-duration: 30s;
}
@keyframes scrollUp {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50%);
  }
}
.testimonial-card {
  padding: 28px;
  border-radius: 20px;
  border: 1px solid var(--gray-100);
  background: var(--white);
  box-shadow: 0 4px 20px rgba(179, 4, 107, 0.06);
}
.testimonial-card p {
  font-size: 0.92rem;
  color: var(--gray-600);
  line-height: 1.65;
  margin-bottom: 20px;
}
.testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
}
.testimonial-stars {
  color: #FBBF24;
  font-size: 0.9rem;
  margin-bottom: 12px;
  letter-spacing: 2px;
}
.testimonial-photo {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid var(--gray-100);
}
.testimonial-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--blue), var(--teal));
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 700;
  font-size: 0.85rem;
  flex-shrink: 0;
}
.testimonial-author-info .name {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--gray-800);
  line-height: 1.3;
}
.testimonial-author-info .role {
  font-size: 0.78rem;
  color: var(--gray-400);
  line-height: 1.3;
}
@media (max-width: 900px) {
  .testimonials-grid {
    grid-template-columns: 1fr 1fr;
  }
  .testimonials-col:nth-child(3) {
    display: none;
  }
}
@media (max-width: 640px) {
  .testimonials-grid {
    grid-template-columns: 1fr;
    max-height: 500px;
  }
  .testimonials-col:nth-child(2) {
    display: none;
  }
}
/* ═══════ ADVANTAGES ═══════ */
.advantages {
  padding: 100px 0;
  background: var(--baby-blue);
  position: relative;
  overflow: hidden;
}
.advantages::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -100px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(179, 4, 107, 0.06) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}
.advantages .section-header {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
  z-index: 1;
}
.advantages .section-header h2 {
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -0.5px;
  margin-bottom: 12px;
}
.advantages .section-header p {
  font-size: 1.05rem;
  color: var(--gray-600);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.6;
}
.advantages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  position: relative;
  z-index: 1;
}
.advantage-card {
  background: var(--white);
  border-radius: 20px;
  padding: 36px 30px;
  transition: all 0.35s ease;
  border: 1px solid rgba(179, 4, 107, 0.06);
  position: relative;
  overflow: hidden;
}
.advantage-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--blue), var(--teal));
  opacity: 0;
  transition: opacity 0.3s ease;
}
.advantage-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(179, 4, 107, 0.12);
}
.advantage-card:hover::before {
  opacity: 1;
}
.advantage-card h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--gray-800);
  margin-bottom: 10px;
  line-height: 1.3;
}
.advantage-card p {
  font-size: 0.88rem;
  color: var(--gray-600);
  line-height: 1.65;
}
/* ═══════ VIDEO ═══════ */
.video-section {
  padding: 100px 0;
  background: var(--navy);
  position: relative;
  overflow: hidden;
}
.video-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 55% at 50% 30%, rgba(179, 4, 107, 0.28) 0%, transparent 60%),
    radial-gradient(ellipse 55% 50% at 15% 70%, rgba(214, 59, 146, 0.16) 0%, transparent 55%),
    radial-gradient(ellipse 45% 45% at 85% 60%, rgba(122, 3, 72, 0.12) 0%, transparent 50%);
  pointer-events: none;
}
.video-section .container {
  position: relative;
  z-index: 1;
}
.video-section .section-header {
  text-align: center;
  margin-bottom: 50px;
}
.video-section .section-header .section-label {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--teal-light);
  margin-bottom: 12px;
}
.video-section .section-header h2 {
  color: var(--white);
  font-size: 2.2rem;
  font-weight: 800;
  letter-spacing: -0.6px;
  line-height: 1.15;
  margin-bottom: 12px;
}
.video-section .section-header p {
  color: rgba(255, 255, 255, 0.68);
  font-size: 1.02rem;
  line-height: 1.65;
  max-width: 600px;
  margin: 0 auto;
}
.video-wrapper {
  max-width: 420px;
  margin: 0 auto;
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
  border: 2px solid rgba(255, 255, 255, 0.08);
  aspect-ratio: 9 / 16;
  background: rgba(255, 255, 255, 0.04);
}
.video-wrapper video, .video-wrapper iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.video-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  background: radial-gradient(circle at 50% 40%, rgba(179, 4, 107, 0.15), transparent 60%),
    radial-gradient(circle at 30% 70%, rgba(122, 3, 72, 0.08), transparent 50%),
    rgba(255, 255, 255, 0.03);
}
.video-play-btn {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--magenta), var(--magenta-light));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 30px rgba(214, 59, 146, 0.4);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}
.video-play-btn:hover {
  transform: scale(1.1);
  box-shadow: 0 12px 40px rgba(214, 59, 146, 0.6);
}
.video-play-btn svg {
  width: 32px;
  height: 32px;
  color: white;
  margin-left: 4px;
}
.video-placeholder span {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
@media (max-width: 640px) {
  .video-wrapper {
    max-width: 300px;
  }
}
/* ═══════ GALERIA ═══════ */
.gallery {
  padding: 100px 0;
  background: var(--white);
  overflow: hidden;
  position: relative;
}
.gallery-falling {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-color: var(--white);
  background-image:
    radial-gradient(4px 100px at 0px 235px, #7A0348, transparent),
    radial-gradient(4px 100px at 300px 235px, #7A0348, transparent),
    radial-gradient(1.5px 1.5px at 150px 117.5px, #7A0348 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 252px, #7A0348, transparent),
    radial-gradient(4px 100px at 300px 252px, #7A0348, transparent),
    radial-gradient(1.5px 1.5px at 150px 126px, #7A0348 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 150px, #7A0348, transparent),
    radial-gradient(4px 100px at 300px 150px, #7A0348, transparent),
    radial-gradient(1.5px 1.5px at 150px 75px, #7A0348 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 253px, #7A0348, transparent),
    radial-gradient(4px 100px at 300px 253px, #7A0348, transparent),
    radial-gradient(1.5px 1.5px at 150px 126.5px, #7A0348 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 204px, #7A0348, transparent),
    radial-gradient(4px 100px at 300px 204px, #7A0348, transparent),
    radial-gradient(1.5px 1.5px at 150px 102px, #7A0348 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 134px, #7A0348, transparent),
    radial-gradient(4px 100px at 300px 134px, #7A0348, transparent),
    radial-gradient(1.5px 1.5px at 150px 67px, #7A0348 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 179px, #7A0348, transparent),
    radial-gradient(4px 100px at 300px 179px, #7A0348, transparent),
    radial-gradient(1.5px 1.5px at 150px 89.5px, #7A0348 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 299px, #7A0348, transparent),
    radial-gradient(4px 100px at 300px 299px, #7A0348, transparent),
    radial-gradient(1.5px 1.5px at 150px 149.5px, #7A0348 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 215px, #7A0348, transparent),
    radial-gradient(4px 100px at 300px 215px, #7A0348, transparent),
    radial-gradient(1.5px 1.5px at 150px 107.5px, #7A0348 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 281px, #7A0348, transparent),
    radial-gradient(4px 100px at 300px 281px, #7A0348, transparent),
    radial-gradient(1.5px 1.5px at 150px 140.5px, #7A0348 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 158px, #7A0348, transparent),
    radial-gradient(4px 100px at 300px 158px, #7A0348, transparent),
    radial-gradient(1.5px 1.5px at 150px 79px, #7A0348 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 210px, #7A0348, transparent),
    radial-gradient(4px 100px at 300px 210px, #7A0348, transparent);
  background-size:
    300px 235px, 300px 235px, 300px 235px,
    300px 252px, 300px 252px, 300px 252px,
    300px 150px, 300px 150px, 300px 150px,
    300px 253px, 300px 253px, 300px 253px,
    300px 204px, 300px 204px, 300px 204px,
    300px 134px, 300px 134px, 300px 134px,
    300px 179px, 300px 179px, 300px 179px,
    300px 299px, 300px 299px, 300px 299px,
    300px 215px, 300px 215px, 300px 215px,
    300px 281px, 300px 281px, 300px 281px,
    300px 158px, 300px 158px, 300px 158px,
    300px 210px, 300px 210px;
  animation: fallingPattern 150s linear infinite;
}
.gallery-falling-blur {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  backdrop-filter: blur(1em);
  -webkit-backdrop-filter: blur(1em);
  background-image: radial-gradient(circle at 50% 50%, transparent 0, transparent 2px, var(--white) 2px);
  background-size: 8px 8px;
}
@keyframes fallingPattern {
  from {
    background-position:
      0px 220px, 3px 220px, 151.5px 337.5px,
      25px 24px, 28px 24px, 176.5px 150px,
      50px 16px, 53px 16px, 201.5px 91px,
      75px 224px, 78px 224px, 226.5px 230.5px,
      100px 19px, 103px 19px, 251.5px 121px,
      125px 120px, 128px 120px, 276.5px 187px,
      150px 31px, 153px 31px, 301.5px 120.5px,
      175px 235px, 178px 235px, 326.5px 384.5px,
      200px 121px, 203px 121px, 351.5px 228.5px,
      225px 224px, 228px 224px, 376.5px 364.5px,
      250px 26px, 253px 26px, 401.5px 105px,
      275px 75px, 278px 75px;
  }
  to {
    background-position:
      0px 6800px, 3px 6800px, 151.5px 6917.5px,
      25px 13632px, 28px 13632px, 176.5px 13758px,
      50px 5416px, 53px 5416px, 201.5px 5491px,
      75px 17175px, 78px 17175px, 226.5px 17301.5px,
      100px 5119px, 103px 5119px, 251.5px 5221px,
      125px 8428px, 128px 8428px, 276.5px 8495px,
      150px 9876px, 153px 9876px, 301.5px 9965.5px,
      175px 13391px, 178px 13391px, 326.5px 13540.5px,
      200px 14741px, 203px 14741px, 351.5px 14848.5px,
      225px 18770px, 228px 18770px, 376.5px 18910.5px,
      250px 5082px, 253px 5082px, 401.5px 5161px,
      275px 6375px, 278px 6375px;
  }
}
.gallery .container {
  position: relative;
  z-index: 1;
}
.gallery .section-header {
  text-align: center;
  margin-bottom: 60px;
}
.gallery .section-header .section-label {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--blue);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 14px;
}
.gallery .section-header h2 {
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--gray-800);
  letter-spacing: -0.5px;
  margin-bottom: 12px;
}
.gallery .section-header p {
  font-size: 1.02rem;
  color: var(--gray-600);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.6;
}
.gallery-grid {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.gallery-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  background: var(--gray-50);
  border-radius: 20px;
  padding: 24px;
  border: 1px solid var(--gray-100);
  transition: all 0.3s ease;
  min-width: 0;
}
.gallery-item > * { min-width: 0; }
.gallery-item:hover {
  box-shadow: 0 12px 40px rgba(179, 4, 107, 0.08);
  transform: translateY(-2px);
}
.gallery-item:nth-child(even) .gallery-img {
  order: 2;
}
.gallery-item:nth-child(even) .gallery-text {
  order: 1;
}
.gallery-img {
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(135deg, var(--baby-blue), var(--baby-blue-darker));
  position: relative;
}
.gallery-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
}
.gallery-img-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.gallery-img-placeholder svg {
  width: 40px;
  height: 40px;
  color: var(--blue);
  opacity: 0.3;
}
.gallery-img-placeholder span {
  font-size: 0.75rem;
  color: var(--gray-400);
  font-weight: 600;
}
.gallery-text {
  padding: 10px 16px;
  min-width: 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: auto;
}
.gallery-text h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--gray-800);
  margin-bottom: 8px;
  line-height: 1.3;
  overflow-wrap: break-word;
}
.gallery-text p {
  font-size: 0.9rem;
  color: var(--gray-600);
  line-height: 1.65;
}
/* Reveal on Scroll — foto desliza lateralmente ao entrar na viewport */
.gallery-item .gallery-img {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.gallery-item .gallery-text {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.8s ease 0.15s, transform 0.8s ease 0.15s;
}
.gallery-item:nth-child(even) .gallery-img {
  transform: translateX(40px);
}
.gallery-item:nth-child(even) .gallery-text {
  transform: translateX(-40px);
}
.gallery-item.visible .gallery-img,
.gallery-item.visible .gallery-text {
  opacity: 1;
  transform: translateX(0);
}
@media (max-width: 900px) {
  .gallery-item {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 16px;
    align-items: start;
  }
  .gallery-img {
    aspect-ratio: 16 / 9;
  }
  .gallery-img img {
    height: 100%;
  }
  .gallery-text {
    padding: 0;
  }
  .gallery-item:nth-child(even) .gallery-img,
  .gallery-item:nth-child(even) .gallery-text {
    order: 0;
  }
  /* desativa reveal animation no mobile (estava deslocando cards 2 e 4) */
  .gallery-item .gallery-img,
  .gallery-item .gallery-text,
  .gallery-item:nth-child(even) .gallery-img,
  .gallery-item:nth-child(even) .gallery-text {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .gallery-item .gallery-img,
  .gallery-item .gallery-text,
  .gallery-item:nth-child(even) .gallery-img,
  .gallery-item:nth-child(even) .gallery-text {
    transform: translateY(30px);
  }
}
/* ═══════ ACCORDION ═══════ */
.accordion-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 800px;
  margin: 0 auto;
}
.accordion-item {
  background: var(--white);
  border-radius: 16px;
  border: 1px solid var(--gray-100);
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}
.accordion-item:hover {
  box-shadow: 0 8px 30px rgba(179, 4, 107, 0.08);
}
.accordion-item.active {
  box-shadow: 0 8px 30px rgba(179, 4, 107, 0.1);
}
.accordion-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  cursor: pointer;
  user-select: none;
  position: relative;
}
.accordion-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  border-radius: 16px 0 0 16px;
}
.accordion-item:nth-child(3n+1) .accordion-header::before {
  background: linear-gradient(180deg, var(--blue), var(--teal));
}
.accordion-item:nth-child(3n+2) .accordion-header::before {
  background: linear-gradient(180deg, var(--teal), var(--teal-light));
}
.accordion-item:nth-child(3n+3) .accordion-header::before {
  background: linear-gradient(180deg, var(--magenta), var(--magenta-light));
}
.accordion-num {
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.5px;
  white-space: nowrap;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.accordion-item:nth-child(3n+1) .accordion-num {
  background: linear-gradient(135deg, var(--blue), var(--teal));
  -webkit-background-clip: text;
  background-clip: text;
}
.accordion-item:nth-child(3n+2) .accordion-num {
  background: linear-gradient(135deg, var(--teal), var(--teal-light));
  -webkit-background-clip: text;
  background-clip: text;
}
.accordion-item:nth-child(3n+3) .accordion-num {
  background: linear-gradient(135deg, var(--magenta), var(--magenta-light));
  -webkit-background-clip: text;
  background-clip: text;
}
.accordion-title {
  flex: 1;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--gray-800);
  line-height: 1.3;
}
.accordion-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--gray-50);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease, background 0.3s ease;
}
.accordion-item.active .accordion-icon {
  transform: rotate(180deg);
  background: var(--baby-blue);
}
.accordion-icon svg {
  width: 16px;
  height: 16px;
  color: var(--gray-400);
}
.accordion-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s ease;
  padding: 0 24px 0 64px;
}
.accordion-item.active .accordion-body {
  max-height: 300px;
  padding: 0 24px 24px 64px;
}
.accordion-body ul {
  padding-left: 18px;
  font-size: 0.88rem;
  color: var(--gray-600);
  line-height: 1.9;
}
.accordion-bonus-badge {
  display: inline-block;
  background: linear-gradient(135deg, var(--teal), var(--teal-light));
  color: #fff;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 20px;
  margin-right: 8px;
}
/* ═══════ FACULTY ═══════ */
.faculty {
  padding: 100px 0;
  background: var(--faculty-bg);
  position: relative;
  overflow: hidden;
}
.faculty::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 30% 45%, rgba(244, 222, 217, 0.18) 0%, transparent 60%),
    radial-gradient(ellipse 55% 55% at 80% 60%, rgba(255, 255, 255, 0.10) 0%, transparent 55%),
    radial-gradient(ellipse 45% 45% at 65% 15%, rgba(46, 2, 25, 0.10) 0%, transparent 55%);
  pointer-events: none;
}
.faculty .container {
  position: relative;
  z-index: 1;
}
.faculty .section-header {
  text-align: center;
  margin-bottom: 56px;
}
.faculty .section-header .section-label {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.95);
  margin-bottom: 12px;
}
.faculty .section-header h2 {
  color: var(--white);
  font-size: 2.2rem;
  font-weight: 800;
  letter-spacing: -0.6px;
  line-height: 1.15;
  margin-bottom: 12px;
}
.faculty .section-header p {
  color: rgba(255, 255, 255, 0.85);
  font-size: 1.02rem;
  line-height: 1.65;
  max-width: 760px;
  margin: 0 auto;
}
.faculty-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 22px;
}
.faculty-grid > .faculty-card:nth-child(4) {
  grid-column: 3 / span 4;
}
.faculty-grid > .faculty-card:nth-child(5) {
  grid-column: 7 / span 4;
}
.faculty-seal {
  position: absolute;
  bottom: 8px;
  right: 10px;
  width: 78px;
  height: auto;
  z-index: 3;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.3));
  pointer-events: none;
  transition: transform 0.3s ease;
}
.faculty-card:hover .faculty-seal {
  transform: scale(1.08) rotate(-3deg);
}
@media (max-width: 640px) {
  .faculty-seal {
    width: 64px;
    bottom: 6px;
    right: 8px;
  }
}
.faculty-grid--single {
  max-width: 520px;
  margin: 0 auto;
  grid-template-columns: 1fr;
}
.faculty-grid--single .faculty-card {
  grid-column: 1 / -1;
}
.faculty-grid--duo {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 22px;
}
.faculty-grid--duo > .faculty-card,
.faculty-grid--duo > .faculty-card:nth-child(4),
.faculty-grid--duo > .faculty-card:nth-child(5) {
  grid-column: auto !important;
  flex: 0 0 calc((100% - 66px) / 4);
  min-width: 260px;
  max-width: 340px;
}
@media (max-width: 1103px) {
  .faculty-grid--duo > .faculty-card,
  .faculty-grid--duo > .faculty-card:nth-child(4),
  .faculty-grid--duo > .faculty-card:nth-child(5) {
    flex: 0 0 calc((100% - 22px) / 2);
  }
}
@media (max-width: 720px) {
  .faculty-grid--duo > .faculty-card,
  .faculty-grid--duo > .faculty-card:nth-child(4),
  .faculty-grid--duo > .faculty-card:nth-child(5) {
    flex: 0 0 100%;
    max-width: 360px;
  }
}
.faculty-card {
  grid-column: span 4;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.40);
  border-radius: 22px;
  overflow: hidden;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 14px 45px rgba(46, 2, 25, 0.20);
}
.faculty-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, 0.7);
  box-shadow: 0 18px 60px rgba(46, 2, 25, 0.30);
}
.faculty-media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: rgba(255, 255, 255, 0.04);
}
.faculty-photo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center 20%;
  display: block;
}
.faculty-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(46, 2, 25, 0.0) 50%, rgba(46, 2, 25, 0.38) 70%, rgba(46, 2, 25, 0.70) 100%);
  pointer-events: none;
}
.faculty-initials {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  letter-spacing: 1px;
  font-size: 2rem;
  color: rgba(255, 255, 255, 0.85);
  background: radial-gradient(circle at 30% 25%, rgba(74, 122, 255, 0.25), transparent 55%), radial-gradient(circle at 70% 70%, rgba(0, 212, 196, 0.18), transparent 55%), rgba(255, 255, 255, 0.04);
}
.faculty-card.no-photo .faculty-photo {
  display: none;
}
.faculty-card.no-photo .faculty-initials {
  display: flex;
}
.faculty-body {
  padding: 22px 22px 24px;
}
.faculty-name {
  color: var(--gray-800);
  font-size: 1.06rem;
  font-weight: 800;
  margin-bottom: 6px;
  line-height: 1.25;
}
.faculty-role {
  color: var(--blue);
  font-size: 0.88rem;
  font-weight: 700;
  margin-bottom: 10px;
}
.faculty-meta {
  color: var(--gray-600);
  font-size: 0.86rem;
  line-height: 1.55;
}
.faculty-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.faculty-tag {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.4px;
  color: var(--blue);
  background: var(--baby-blue);
  border: 1px solid rgba(179, 4, 107, 0.18);
  padding: 6px 12px;
  border-radius: 999px;
  box-shadow: 0 1px 3px rgba(179, 4, 107, 0.08);
  transition: background 0.2s ease, transform 0.2s ease;
}
.faculty-tag:hover {
  background: #F5D5E5;
  transform: translateY(-1px);
}
.faculty-card--no-overlay .faculty-media::after {
  display: none !important;
}
.faculty-card--no-overlay .faculty-photo {
  object-fit: contain;
  object-position: center 20%;
}
/* ═══════ FORM ═══════ */
.form-section {
  padding: 100px 0;
  background: var(--white);
  overflow: hidden;
}
.form-section .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}
.form-info h2 {
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--gray-800);
  line-height: 1.15;
  margin-bottom: 18px;
  letter-spacing: -0.5px;
}
.form-info h2 span {
  background: linear-gradient(90deg, var(--blue), var(--teal));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.form-perks {
  list-style: none;
}
.form-perks li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  color: var(--gray-600);
  font-size: 0.92rem;
}
.form-perks li svg {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--teal);
}
.form-card {
  background: var(--gray-50);
  border: 1px solid var(--gray-100);
  border-radius: 24px;
  padding: 44px;
  position: relative;
  overflow: hidden;
}
.form-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--magenta), var(--blue), var(--teal));
}
.form-card h3 {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--gray-800);
  margin-bottom: 6px;
}
.form-card > p {
  font-size: 0.85rem;
  color: var(--gray-400);
  margin-bottom: 28px;
}
.form-group {
  margin-bottom: 18px;
}
.form-group label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--gray-600);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.form-group input, .form-group select {
  width: 100%;
  padding: 14px 18px;
  border-radius: 12px;
  border: 1.5px solid var(--gray-200);
  background: var(--white);
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  color: var(--gray-800);
  transition: all 0.3s ease;
  outline: none;
}
.form-group input::placeholder {
  color: var(--gray-400);
}
.form-group input:focus, .form-group select:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 4px rgba(179, 4, 107, 0.1);
}
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.form-submit {
  width: 100%;
  padding: 16px;
  border: none;
  border-radius: 50px;
  background: linear-gradient(135deg, var(--magenta), var(--magenta-light));
  color: var(--white);
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 8px;
  box-shadow: 0 8px 25px rgba(214, 59, 146, 0.3);
  position: relative;
  overflow: hidden;
}
.form-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 35px rgba(214, 59, 146, 0.45);
}
.form-disclaimer {
  text-align: center;
  font-size: 0.72rem;
  color: var(--gray-400);
  margin-top: 14px;
  line-height: 1.5;
}
.form-section input[type="text"]._has_error,
.form-section select._has_error, .button-check._has_error {
  background-color: #ffdddd !important;
}
/* ═══════ FOOTER ═══════ */
.footer {
  background: var(--navy);
  padding: 40px 0;
  text-align: center;
  overflow: hidden;
}
.footer p {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.8rem;
  line-height: 1.7;
}
.footer a {
  color: rgba(255, 255, 255, 0.55);
  text-decoration: underline;
}
/* ═══════ RESPONSIVE ═══════ */
@media (max-width: 980px) {
  .faculty-card {
    grid-column: span 6;
  }
  .faculty-grid > .faculty-card:nth-child(4) {
    grid-column: span 6;
  }
  .faculty-grid > .faculty-card:nth-child(5) {
    grid-column: 4 / span 6;
  }
  .faculty .section-header h2 {
    font-size: 1.95rem;
  }
}
@media (max-width: 900px) {
  .hero .container {
    grid-template-columns: 1fr;
    padding-top: 50px;
    gap: 40px;
  }
  .hero h1 {
    font-size: 2.2rem;
  }
  .hero h2 {
    font-size: 1.45rem !important;
    margin: -6px 0 14px 0 !important;
    line-height: 1.32 !important;
  }
  .benefits .container {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .benefits-illustration {
    order: -1;
  }
  .benefits-floating-card {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    white-space: nowrap;
  }
  .benefits-floating-card .text strong,
  .benefits-floating-card .text span {
    white-space: nowrap;
  }
  .advantages-grid {
    grid-template-columns: 1fr;
  }
  .form-section .container {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .form-row {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .faculty {
    padding: 80px 0;
  }
  .faculty-card {
    grid-column: span 12;
  }
  .faculty-grid > .faculty-card:nth-child(4),
  .faculty-grid > .faculty-card:nth-child(5) {
    grid-column: span 12;
  }
  .faculty .section-header h2 {
    font-size: 1.65rem;
  }
  .faculty .section-header p {
    font-size: 0.98rem;
  }
}
@media (max-width: 600px) {
  .hero h1 {
    font-size: 1.8rem;
  }
  .hero h2 {
    font-size: 1.45rem !important;
    margin: -8px 0 12px 0 !important;
    line-height: 1.32 !important;
  }
  .hero .container {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .benefits-content h2, .advantages .section-header h2, .form-info h2 {
    font-size: 1.7rem;
  }
  .hero-stats {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .form-card {
    padding: 28px;
  }
}
/* ───── WhatsApp + Práticas grids ───── */
.wpp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.wpp-img {
  width: 100%;
  aspect-ratio: 9/16;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid var(--gray-100);
  background: var(--gray-50);
  display: block;
}
@media (max-width: 720px) {
  .wpp-grid {
    grid-template-columns: 1fr 1fr;
  }
  .wpp-grid > .wpp-img:nth-child(3) {
    grid-column: 1 / -1;
    aspect-ratio: 9/12;
    object-position: top;
  }
}
@media (max-width: 460px) {
  .wpp-grid {
    grid-template-columns: 1fr;
  }
  .wpp-grid > .wpp-img:nth-child(3) {
    aspect-ratio: 9/16;
    object-position: center;
  }
}

.praticas-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 32px;
}
.pratica-img {
  flex: 0 1 calc(25% - 11px);
  min-width: 220px;
  max-width: 320px;
  aspect-ratio: 3/2;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid var(--gray-100);
  background: var(--white);
  display: block;
}
@media (max-width: 720px) {
  .pratica-img {
    flex: 0 1 100%;
    min-width: 0;
    max-width: 100%;
  }
}

/* ───── Lightbox ───── */
.zoomable {
  cursor: zoom-in;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.zoomable:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(46, 2, 25, 0.22);
}
.lightbox-overlay {
  position: fixed;
  inset: 0;
  background: rgba(46, 2, 25, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
  padding: 24px;
}
.lightbox-overlay.active {
  opacity: 1;
  pointer-events: auto;
}
.lightbox-overlay img {
  max-width: 95vw;
  max-height: 90vh;
  width: auto;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.6);
  cursor: zoom-out;
  transform: scale(0.96);
  transition: transform 0.25s ease;
}
.lightbox-overlay.active img {
  transform: scale(1);
}
.lightbox-close,
.lightbox-nav {
  position: absolute;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  line-height: 1;
  font-weight: 400;
  transition: background 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
  padding: 0;
}
.lightbox-close {
  top: 22px;
  right: 28px;
  width: 44px;
  height: 44px;
  font-size: 1.4rem;
}
.lightbox-nav {
  top: 50%;
  width: 52px;
  height: 52px;
  transform: translateY(-50%);
  font-size: 1.5rem;
}
.lightbox-nav.prev { left: 28px; }
.lightbox-nav.next { right: 28px; }
.lightbox-close:hover {
  background: rgba(255, 255, 255, 0.22);
  transform: scale(1.08);
}
.lightbox-nav:hover {
  background: rgba(255, 255, 255, 0.22);
  transform: translateY(-50%) scale(1.08);
}
.lightbox-nav[hidden] {
  display: none;
}
.lightbox-counter {
  position: absolute;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
}
.lightbox-counter[hidden] {
  display: none;
}
@media (max-width: 720px) {
  .lightbox-nav {
    width: 44px;
    height: 44px;
    font-size: 1.2rem;
  }
  .lightbox-nav.prev { left: 12px; }
  .lightbox-nav.next { right: 12px; }
  .lightbox-close {
    top: 14px;
    right: 14px;
  }
  .lightbox-counter {
    bottom: 14px;
    font-size: 0.78rem;
    padding: 6px 14px;
  }
}
body.no-scroll {
  overflow: hidden;
}
.faculty .container {
  max-width: 1500px;
}

/* ───── Correções mobile ───── */
@media (max-width: 900px) {
  .wpp-block {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}
@media (max-width: 720px) {
  .lp-grid--3 {
    grid-template-columns: 1fr !important;
  }
  .benefits-content h2,
  .advantages .section-header h2,
  .form-info h2 {
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
  }
}

/* Bloco decorativo do institucional — esconde no mobile pra evitar overflow */
@media (max-width: 720px) {
  .benefits-img-box {
    display: none;
  }
}
html, body {
  overflow-x: hidden;
}

@media (max-width: 720px) {
  .lp-grid--2 {
    grid-template-columns: 1fr !important;
  }
}

/* ───── Seção Práticas Presenciais: fundo distinto (dark green + orbs dourados) ───── */
.praticas-section {
  position: relative;
  background:
    radial-gradient(ellipse 60% 45% at 90% 10%, rgba(212, 160, 23, 0.18) 0%, transparent 65%),
    radial-gradient(ellipse 55% 40% at 8% 92%, rgba(212, 160, 23, 0.12) 0%, transparent 60%),
    radial-gradient(ellipse 40% 30% at 50% 50%, rgba(232, 91, 164, 0.08) 0%, transparent 70%),
    linear-gradient(160deg, var(--navy) 0%, #3D0724 45%, var(--navy) 100%);
  overflow: hidden;
}
.praticas-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle 1.5px at 20% 30%, rgba(255, 255, 255, 0.10) 0, transparent 100%),
    radial-gradient(circle 1.5px at 70% 20%, rgba(255, 255, 255, 0.08) 0, transparent 100%),
    radial-gradient(circle 1.5px at 40% 70%, rgba(212, 160, 23, 0.18) 0, transparent 100%),
    radial-gradient(circle 1.5px at 85% 65%, rgba(255, 255, 255, 0.10) 0, transparent 100%),
    radial-gradient(circle 1.5px at 15% 85%, rgba(212, 160, 23, 0.14) 0, transparent 100%);
  background-repeat: no-repeat;
  pointer-events: none;
}
.praticas-section .container { position: relative; z-index: 1; }
.praticas-section .section-header h2,
.praticas-section .section-header h2 strong { color: #fff; -webkit-text-fill-color: #fff; }
.praticas-section .section-header h2 strong { color: var(--magenta) !important; -webkit-text-fill-color: var(--magenta) !important; }
.praticas-section .section-header p {
  color: rgba(255, 255, 255, 0.75) !important;
}
.praticas-section .section-header p strong {
  color: #fff !important;
}
.praticas-section .lp-grid--2 > div {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.praticas-section .lp-grid--2 > div span {
  color: #fff !important;
}
.praticas-section .pratica-img {
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: rgba(255, 255, 255, 0.04) !important;
}
