.hero {
  background: #fff;

  /* M3/Elevation Light/2 */
  box-shadow:
    0 1px 2px 0 rgba(0, 0, 0, 0.3),
    0 2px 6px 2px rgba(0, 0, 0, 0.15);

  position: relative;
  min-height: 794px;
  z-index: 1;
}

.nav-hero {
  max-width: 1477px;
  margin: auto;
  width: 100%;
  padding: 10px;
  display: flex;
  gap: 10px;
}

.nav-hero a {
  color: var(--bleu-1-vivactis, #000082);
  font-family: "Quicksand", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 166.667% */
  text-decoration: none;
  text-transform: uppercase;
}

.nav-hero span {
  color: var(--bleu-1-vivactis, #000082);
  font-family: "Quicksand", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
  text-transform: uppercase;
}

.hero-grid {
  width: 100%;
  max-width: 1477px;
  padding: 0 10px;
  margin: 53px auto 66px;
}

.hero-grid h1 {
  color: var(--bleu-1-vivactis, #000082);

  /* Titre header */
  font-family: "Unica One";
  font-size: 100px;
  font-style: normal;
  font-weight: 400;
  line-height: 94%; /* 94px */
  text-transform: uppercase;
}

.hero-content {
  width: 100%;
  max-width: 952px;
}

.hero-p {
  width: 100%;
  max-width: 709px;
  margin: auto;
  margin-top: 58px;
  position: relative;
  z-index: 1;
}

.hero-p p {
  color: var(--bleu-1-vivactis, #000082);
  font-family: "Quicksand", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 140.069%;
  text-align: justify;
}

.hero-p p strong {
  color: var(--bleu-1-vivactis, #000082);
  text-align: justify;
  font-family: "Quicksand", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 140.069%; /* 33.617px */
}

.hero-content .cta-row {
  margin-top: 131px;
  display: flex;
  flex-direction: column;
  align-items: end;
  gap: 10px;
}

.img--1 {
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: 100%;
}

.our-section h2 {
  color: var(--blanc, #fff);
  text-align: justify;
  font-family: "Unica One", sans-serif;
  font-size: 100px;
  font-style: normal;
  font-weight: 400;
  line-height: 83%; /* 83px */
  text-transform: uppercase;
  text-align: justify;
}

.our-section h3 {
  color: var(--blanc, #fff);
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 200%;
  text-transform: uppercase;
}

.our-section p {
  color: var(--blanc, #fff);

  /* texte */
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 140.069%;
}

.our-section p strong {
  color: var(--blanc, #fff);
  text-align: justify;

  /* text bold */
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 140.069%; /* 28.014px */
}

.our-section {
  padding: 0 10px;
  position: relative;
  margin: auto;
  overflow-x: clip;
}

.our-section .our-content {
  width: 100%;
  max-width: 1544px;
  padding: 80px 0 40px;
  margin: auto;
  position: relative;
  z-index: 1;
}

.section-head-our {
  max-width: 1544px;
  padding-left: 47px;
}

.section-head-our .our-p {
  margin: 10px 0 40px 122px;
  width: 100%;
  max-width: 828px;
}

.expertise-panel {
  border-radius: 48px;
  background: rgba(255, 255, 255, 0.7);
  padding: 70px 0 69px 52px;
  width: 100%;
  display: flex;
  position: relative;
  min-height: 768px;
  z-index: 1;
}

.expertise-panel .expertise-tabs .expertise-tab {
  display: flex;
  padding: 12px 16px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 48px;
  border: 0.75px solid var(--bleu-1-vivactis, #000082);
  background: var(--blanc, #fff);
  color: var(--bleu-1-vivactis, #000082);
  text-align: left;

  /* Button */
  font-family: "Quicksand", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 140.069%; /* 33.617px */
  text-transform: uppercase;

  width: 100%;
  max-width: 332px;
  margin-right: 129px;
  cursor: pointer;
  transition:
    background-color 0.35s ease,
    color 0.35s ease;
}

.expertise-panel .expertise-tabs .expertise-tab.active,
.expertise-panel .expertise-tabs .expertise-tab:hover {
  border-radius: 48px;
  border: 0.75px solid var(--bleu-1-vivactis, #000082);
  background: var(--bleu-1-vivactis, #000082);
  color: var(--blanc, #fff);

  /* Button */
  font-family: "Quicksand", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 140.069%; /* 33.617px */
}

.expertise-panel .expertise-panels {
  width: 100%;
  max-width: 725px;
}

.expertise-panel .expertise-tabs .expertise-tab:not(:last-child) {
  margin-bottom: 34px;
}

.expertise-panels .expertise-content {
  display: none;
}

.expertise-panels .expertise-content.active {
  display: block;
  max-width: 725px;
  width: 100%;
}

.expertise-content > div {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Cambio de pestaña (ver expertises.js): el panel saliente se desvanece y el
   entrante aparece por bloques escalonados; la foto lateral se funde */
.expertise-panels.is-switching {
  overflow: hidden;
  transition: height 0.45s cubic-bezier(0.65, 0, 0.35, 1);
}

/* Se anima el bloque de texto y la foto por separado: un translate en
   .expertise-content movería la foto, que va en position: absolute */
.expertise-content.is-leaving > div {
  opacity: 0;
  translate: 0 -8px;
  transition:
    opacity 0.25s ease,
    translate 0.25s ease;
}

.expertise-content.is-leaving .img-panel {
  opacity: 0;
  transition: opacity 0.25s ease;
}

.expertise-content.is-entering > div > div {
  animation: expertise-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.expertise-content.is-entering > div > div:nth-child(2) {
  animation-delay: 0.08s;
}

.expertise-content.is-entering > div > div:nth-child(3) {
  animation-delay: 0.16s;
}

.expertise-content.is-entering .img-panel {
  animation: expertise-img-in 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes expertise-in {
  from {
    opacity: 0;
    translate: 0 14px;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}

@keyframes expertise-img-in {
  from {
    opacity: 0;
    scale: 1.04;
  }
  to {
    opacity: 1;
    scale: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .expertise-content.is-entering > div > div,
  .expertise-content.is-entering .img-panel {
    animation-name: expertise-fade;
  }

  .expertise-content.is-leaving > div {
    translate: none;
  }
}

@keyframes expertise-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.expertise-content ul li,
.expertise-content p {
  color: var(--bleu-1-vivactis, #000082);

  /* texte */
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 140.069%;
}

.expertise-content ul {
  padding-left: 19px;
}

.expertise-content .img-panel {
  position: absolute;
  right: 0;
  top: 0;
  height: 768px;
  width: auto;
  max-height: 768px;
}

.expertise-content .text-underline {
  text-decoration: underline;
}

.expertise-content .text-bold {
  color: var(--bleu-1-vivactis, #000082);
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 151%;
}

.expertise-content .img-p {
  display: flex;
  flex-direction: row;
  gap: 2px;
}

.expertise-content .img-p img {
  width: 26px;
  height: 26px;
}

.img--2 {
  position: absolute;
  top: -66px;
  right: 55px;
  max-width: 207px;
  rotate: 118deg;
}

.img--3 {
  position: absolute;
  right: -113px;
  bottom: 228px;
  max-width: 367px;
  rotate: -172deg;
}

.work-section {
  padding: 0 10px;
  position: relative;
}

.work-section .work-content {
  max-width: 1477px;
  width: 100%;
  margin: 90px auto 70px;
  z-index: 1;
  position: relative;
}

.work-section .work-content .section-head h2 {
  color: var(--blanc, #fff);
  text-align: justify;
  font-family: "Unica One", sans-serif;
  font-size: 100px;
  font-style: normal;
  font-weight: 400;
  line-height: 83%; /* 83px */
  text-transform: uppercase;
}

.work-section .work-content .section-head .subtitle {
  color: var(--blanc, #fff);
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 200%;
  text-transform: uppercase;
}

.work-section .work-content .section-head .work-p {
  margin-left: 122px;
  max-width: 828px;
  margin-bottom: 57px;
}

.work-section .work-content .section-head .work-p p {
  color: var(--blanc, #fff);
  text-align: justify;

  /* texte */
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 140.069%; /* 28.014px */
}

.steps-track .section-icon {
  min-height: 80px;
}

.steps-track > div {
  position: relative;
}

.steps-track .point-section {
  position: absolute;
  top: 18px;
  left: -52px;
  width: 126px;
}

.steps-track > div:not(:last-child) .section-icon {
  border-bottom: 2px solid #fff;
}

.steps-track .section-icon div {
  display: inline-flex;
  padding: 10px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 48px;
  background: radial-gradient(50% 50% at 50% 50%, #ecebeb 0%, #fff 100%);
  border-bottom: 2px solid #fff;
}

.steps-track .section-content {
  padding-top: 20px;
  max-width: 78%;
}

.steps-track .section-content p {
  color: var(--blanc, #fff);

  /* texte */
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 140.069%;
}

.steps-track .section-content p strong {
  color: var(--blanc, #fff);

  /* text bold */
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 140.069%; /* 28.014px */
}

.steps-track {
  display: flex;
}

.steps-track .section-icon span {
  color: var(--bleu-1-vivactis, #000082);
  text-align: justify;
  font-family: "Quicksand", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 140.069%; /* 22.411px */
}

.img--4 {
  position: absolute;
  top: -143px;
  left: -74px;
  max-width: 415px;
}

.img--5 {
  position: absolute;
  right: 182px;
  top: -42px;
  max-width: 164px;
}

.therapeutic-section {
  padding: 0 10px;
  position: relative;
  overflow-x: clip;
}

.therapeutic-section .therapeutic-content {
  margin: 167px auto 100px;
  border-radius: 48px;
  background: rgba(255, 255, 255, 0.4);
  max-width: 1544px;
  width: 100%;
  padding: 33px 33px 0;
  position: relative;
  z-index: 1;
}

.therapeutic-section .therapeutic-content h2 {
  color: var(--blanc, #fff);
  text-align: justify;
  font-family: "Unica One", sans-serif;
  font-size: 100px;
  font-style: normal;
  font-weight: 400;
  line-height: 83%; /* 83px */
  text-transform: uppercase;
}

.therapeutic-section .therapeutic-content .subtitle {
  color: var(--bleu-1-vivactis, #000082);
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 200%;
  text-transform: uppercase;
}

.therapeutic-section .therapeutic-content p {
  color: var(--bleu-1-vivactis, #000082);
  text-align: justify;

  /* texte */
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 140.069%; /* 28.014px */
}

.therapeutic-section .therapeutic-content .pill-panel {
  margin-top: 33px;
}

.therapeutic-section .pill-panel .pill-row {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: start;
  margin-bottom: 33px;
  flex-wrap: wrap;
}

.therapeutic-section .pill-panel .pill-row .pill {
  border-radius: 48px;
  border: 0.75px solid var(--bleu-1-vivactis, #000082);
  background: var(--blanc, #fff);
  display: inline-flex;
  padding: 12px 16px;
  justify-content: center;
  align-items: center;
  color: var(--bleu-1-vivactis, #000082);
  text-align: justify;

  /* Button */
  font-family: "Quicksand", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 140.069%; /* 33.617px */
  text-transform: uppercase;
}

.therapeutic-section .pill-panel .pill-row .pill:hover {
  background: var(--bleu-1-vivactis, #000082);
  color: var(--blanc, #fff);
}

.therapeutic-section .therapeutic-content .section-head,
.therapeutic-section .therapeutic-content .pill-panel {
  transform: translateY(-90px);
}

.img--6 {
  position: absolute;
  top: 20px;
  left: 67px;
  max-width: 113px;
}

.img--7 {
  position: absolute;
  right: -108px;
  top: 0;
  max-width: 367px;
  rotate: -172deg;
}

.case-section {
  padding: 0 10px;
  position: relative;
}

.case-section .case-content {
  margin: 40px auto 0;
  max-width: 1544px;
  width: 100%;
  position: relative;
  z-index: 1;
  padding-bottom: 190px;
}

.case-section .case-content h2 {
  color: var(--blanc, #fff);
  text-align: justify;
  font-family: "Unica One", sans-serif;
  font-size: 100px;
  font-style: normal;
  font-weight: 400;
  line-height: 83%; /* 83px */
  text-transform: uppercase;
  margin-bottom: 45px;
}

.case-section .case-content .case-tabs {
  display: flex;
  width: 100%;
  padding: 10px;
  align-items: center;
  justify-content: center;
  gap: 144px;
  border-radius: 48px;
  background: rgba(255, 255, 255, 0.4);
}

.case-section .case-content .case-tabs .case-tab {
  border-radius: 48px;
  border: 0.75px solid var(--bleu-1-vivactis, #000082);
  background: var(--blanc, #fff);
  display: inline-flex;
  padding: 12px 16px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  color: var(--bleu-1-vivactis, #000082);
  text-align: justify;

  /* Button */
  font-family: "Quicksand", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 140.069%; /* 33.617px */
  cursor: pointer;
  transition:
    background-color 0.35s ease,
    color 0.35s ease;
}

.case-section .case-content .case-tabs .case-tab.active,
.case-section .case-content .case-tabs .case-tab:hover {
  border-radius: 48px;
  border: 0.75px solid var(--bleu-1-vivactis, #000082);
  background: var(--bleu-1-vivactis, #000082);
  color: var(--blanc, #fff);
  text-align: justify;

  /* Button */
  font-family: "Quicksand", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 140.069%; /* 33.617px */
}

.case-section .case-content .case-panels {
  padding-top: 50px;
}

.case-section .case-content .case-panel {
  display: none;
}

.case-section .case-content .case-panel.active {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.case-section .case-content .case-panel .case-img {
  width: 468px;
  max-width: 100%;
}

/* Cambio de caso (ver expertises.js): misma transición que las expertises.
   Entran escalonados el título, los tres pasos y la imagen */
.case-section .case-panels.is-switching {
  overflow: hidden;
  transition: height 0.45s cubic-bezier(0.65, 0, 0.35, 1);
}

.case-panel.is-leaving > * {
  opacity: 0;
  translate: 0 -8px;
  transition:
    opacity 0.25s ease,
    translate 0.25s ease;
}

.case-panel.is-entering .title-case,
.case-panel.is-entering .box-row {
  animation: expertise-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.case-panel.is-entering .box-row:nth-child(1) {
  animation-delay: 0.08s;
}

.case-panel.is-entering .box-row:nth-child(2) {
  animation-delay: 0.16s;
}

.case-panel.is-entering .box-row:nth-child(3) {
  animation-delay: 0.24s;
}

.case-panel.is-entering .case-img {
  animation: expertise-img-in 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@media (prefers-reduced-motion: reduce) {
  .case-panel.is-entering .title-case,
  .case-panel.is-entering .box-row,
  .case-panel.is-entering .case-img {
    animation-name: expertise-fade;
  }

  .case-panel.is-leaving > * {
    translate: none;
  }
}

.box-step-case .box-row:not(:last-child) {
  border-left: 1px dashed #fff;
}

.case-panel-content .title-case {
  color: var(--blanc, #fff);
  text-align: justify;
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 200%; /* 40px */
  text-transform: uppercase;
  margin-bottom: 55px;
}

.case-panel-content .point {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-13px, -4px);
  width: 26px;
  height: 26px;
}

.case-panel-content .box-row {
  position: relative;
  display: flex;
  gap: 45px;
  padding-bottom: 30px;
}

.box-row .box-title-step p,
.box-row .box-text-step p {
  transform: translateY(-6px);
}

.box-row .box-title-step p {
  color: var(--blanc, #fff);

  /* text bold */
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 140.069%; /* 28.014px */
  min-width: 155px;
  padding-left: 20px;
}

.box-row .box-text-step p {
  color: var(--blanc, #fff);
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 140.069%; /* 28.014px */
}

.box-row .box-text-step {
  max-width: 732px;
  width: 100%;
}

.img--8 {
  position: absolute;
  left: -113px;
  top: 305px;
  max-width: 294px;
  rotate: -57deg;
}

.img--9 {
  position: absolute;
  bottom: -56px;
  left: 136px;
  max-width: 113px;
}

.img--10 {
  position: absolute;
  bottom: 55px;
  right: 45%;
  max-width: 367px;
}

@media (max-width: 1530px) {
  .expertise-content .img-panel {
    display: none;
  }

  .expertise-panel .expertise-panels {
    max-width: 100%;
    padding-right: 30px;
  }

  .expertise-panels .expertise-content.active {
    max-width: 100%;
  }
}

@media (max-width: 1450px) {
  .case-panel-content {
    padding-right: 15px;
  }
}

/* ==========================================================================
   1300px hacia abajo
   ========================================================================== */
@media (max-width: 1320px) {
  .hero {
    min-height: auto;
  }

  .hero-grid {
    margin: 40px auto 50px;
  }

  .hero-grid h1 {
    font-size: 70px;
  }

  .hero-p {
    max-width: 600px;
    margin-top: 32px;
  }

  .hero-p p,
  .hero-p p strong {
    font-size: 20px;
  }

  .hero-content .cta-row {
    margin-top: 80px;
  }

  .our-section .our-content {
    padding: 0 10px 32px;
  }

  .our-section h2 {
    font-size: 70px;
  }

  .section-head-our .our-p {
    margin: 10px 0 32px 60px;
  }

  .expertise-panel {
    padding: 40px 0 40px 32px;
    min-height: auto;
  }

  .expertise-panel .expertise-tabs .expertise-tab {
    font-size: 18px;
    max-width: 260px;
    margin-right: 60px;
    padding: 10px 14px;
  }

  .expertise-panel .expertise-tabs .expertise-tab.active {
    font-size: 18px;
  }

  .expertise-content .img-panel {
    max-height: 500px;
  }

  .work-section .work-content {
    margin: 60px auto 50px;
  }

  .work-section .work-content .section-head h2 {
    font-size: 70px;
  }

  .work-section .work-content .section-head .work-p {
    margin-left: 60px;
  }

  .therapeutic-section .therapeutic-content {
    margin: 120px auto 70px;
    padding: 24px 24px 0;
  }

  .therapeutic-section .therapeutic-content h2 {
    font-size: 70px;
  }

  .case-section .case-content h2 {
    font-size: 70px;
  }

  .case-section .case-content .case-tabs {
    gap: 32px;
    flex-wrap: wrap;
  }

  .case-section .case-content .case-tabs .case-tab {
    font-size: 18px;
    padding: 10px 14px;
  }

  .case-section .case-content h2 {
    text-align: left;
  }

  .hero-content {
    max-width: 100%;
    padding-bottom: 50px;
  }

  .section-head-our {
    padding-left: 0;
  }

  .expertise-panels .expertise-content.active {
    padding-left: 30px;
  }

  .therapeutic-section .therapeutic-content .section-head,
  .therapeutic-section .therapeutic-content .pill-panel {
    transform: translateY(-60px);
  }

  .contact-row {
    flex-direction: column;
    gap: 20px;
    align-items: center;
  }
}

/* ==========================================================================
   992px hacia abajo
   ========================================================================== */
@media (max-width: 992px) {
  .nav-hero {
    flex-wrap: wrap;
  }

  .hero-grid h1 {
    font-size: 52px;
  }

  .hero-content .cta-row {
    align-items: center;
  }

  .our-section h2,
  .work-section .work-content .section-head h2,
  .therapeutic-section .therapeutic-content h2,
  .case-section .case-content h2 {
    font-size: 44px;
  }

  .section-head-our {
    padding-left: 0;
  }

  .section-head-our .our-p {
    margin-left: 0;
  }

  .expertise-panel {
    flex-direction: column;
    padding: 32px 24px;
  }

  .expertise-panel .expertise-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 32px;
  }

  .expertise-panel .expertise-tabs .expertise-tab {
    max-width: none;
    margin-right: 0;
    width: auto;
  }

  .expertise-panel .expertise-tabs .expertise-tab:not(:last-child) {
    margin-bottom: 0;
  }

  .expertise-panel .expertise-panels {
    max-width: 100%;
  }

  .expertise-panels .expertise-content.active {
    max-width: 100%;
  }

  .expertise-content .img-panel {
    position: relative;
    top: auto;
    right: auto;
    max-height: none;
    width: 100%;
    height: auto;
    margin-top: 24px;
  }

  .work-section .work-content .section-head .work-p {
    margin-left: 0;
  }

  .steps-track {
    flex-wrap: wrap;
    gap: 20px;
  }

  .steps-track > div {
    width: calc(50% - 12px); /* 6 pasos → 2 columnas */
  }

  .steps-track .section-content {
    max-width: 100%;
  }

  .therapeutic-section .therapeutic-content .pill-panel .pill-row {
    gap: 10px;
  }

  .therapeutic-section .pill-panel .pill-row .pill {
    font-size: 18px;
    padding: 10px 14px;
  }

  .case-section .case-content .case-tabs {
    gap: 16px;
  }

  .case-section .case-content .case-panel.active {
    flex-direction: column;
    gap: 24px;
  }

  .case-panel-content .box-row {
    gap: 24px;
  }

  .box-row .box-title-step p {
    min-width: 120px;
  }

  .contact-grid {
    transform: none !important;
    padding: 10px 0;
  }

  .contact-grid h2 {
    font-size: 36px !important;
  }

  .steps-track > div:not(:last-child) .section-icon {
    border-bottom: 0;
  }

  .steps-track .section-icon {
    min-height: auto;
  }

  .steps-track .section-content {
    padding-top: 10px;
  }

  .case-img {
    max-width: 350px;
    margin: auto;
    width: 100%;
  }
}

/* ==========================================================================
   768px hacia abajo
   ========================================================================== */
@media (max-width: 768px) {
  .hero-grid h1 {
    font-size: 38px;
  }

  .hero-p p,
  .hero-p p strong {
    font-size: 18px;
  }

  .our-section h2,
  .work-section .work-content .section-head h2,
  .therapeutic-section .therapeutic-content h2,
  .case-section .case-content h2 {
    font-size: 34px;
  }

  .our-section h3,
  .work-section .work-content .section-head .subtitle,
  .therapeutic-section .therapeutic-content .subtitle {
    font-size: 16px;
  }

  .our-section p,
  .our-section p strong,
  .work-section .work-content .section-head .work-p p,
  .steps-track .section-content p,
  .therapeutic-section .therapeutic-content p,
  .expertise-content ul li,
  .expertise-content p {
    font-size: 16px;
  }

  .expertise-panel .expertise-tabs .expertise-tab,
  .expertise-panel .expertise-tabs .expertise-tab.active {
    font-size: 15px;
  }

  .steps-track > div {
    width: 100%; /* 1 columna */
  }

  .therapeutic-section .pill-panel .pill-row .pill {
    font-size: 15px;
    padding: 8px 12px;
  }

  .case-section .case-content .case-tabs {
    flex-wrap: wrap;
    justify-content: center;
  }

  .case-section .case-content .case-tabs .case-tab {
    font-size: 15px;
  }

  .case-panel-content .title-case {
    font-size: 16px;
  }

  .box-row .box-title-step p,
  .box-row .box-text-step p {
    font-size: 16px;
  }
}

/* ==========================================================================
   480px hacia abajo
   ========================================================================== */
@media (max-width: 480px) {
  .hero-grid h1 {
    font-size: 28px;
  }

  .hero-p p,
  .hero-p p strong {
    font-size: 15px;
  }

  .our-section h2,
  .work-section .work-content .section-head h2,
  .therapeutic-section .therapeutic-content h2,
  .case-section .case-content h2 {
    font-size: 26px;
  }

  .expertise-panel {
    padding: 24px 16px;
    border-radius: 24px;
  }

  .therapeutic-section .therapeutic-content {
    padding: 16px 16px 0;
    border-radius: 24px;
  }

  .therapeutic-section .pill-panel .pill-row .pill {
    font-size: 13px;
    padding: 6px 10px;
  }

  .case-section .case-content .case-tabs {
    gap: 8px;
    border-radius: 24px;
  }

  .case-section .case-content .case-tabs .case-tab {
    font-size: 13px;
    padding: 8px 10px;
  }

  .box-row .box-title-step p {
    min-width: 100%;
    padding-left: 0;
  }

  .case-panel-content .box-row {
    flex-direction: column;
    gap: 8px;
  }
}

@media (max-width: 1100px) {
  .contact-grid h2 {
    text-align: left !important;
  }
}

@media (max-width: 992px) {
  .steps-track .point-section {
    display: none;
  }
}

.hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: -2;
  transform: scale(1);
  transform-origin: center;
  pointer-events: none;
}

/* Safari: sin botón de play encima si bloquea el autoplay (se ve el poster) */
.hero-video::-webkit-media-controls,
.hero-video::-webkit-media-controls-start-playback-button,
.hero-video::-webkit-media-controls-overlay-play-button {
  display: none !important;
  -webkit-appearance: none;
}

/* Overlay opcional para mejorar la legibilidad del texto */
.hero-grid::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
}

.hero-content {
  position: relative;
  z-index: 1;
}
