.experience-page .practice-opening,
.experience-page .practice-areas,
.experience-page .practice-learning,
.experience-page .practice-next {
  max-width: 1120px;
  width: 88%;
  margin: 0 auto;
  color: #171a20;
}
.practice-opening {
  padding: 42px 0 70px;
}
.practice-label {
  text-align: center;
  margin-bottom: 42px;
}
.practice-label .section-opening-label {
  margin: 0;
}
.practice-heading-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 7%;
  padding: 28px 0 32px;
  border-top: 1px solid #7c8ba233;
  border-bottom: 1px solid #7c8ba233;
  background: repeating-linear-gradient(90deg, #7c8ba212 0 1px, transparent 1px calc(100% / 12));
}
.experience-page .practice-heading-grid h1 {
  font-size: clamp(64px, 7.5vw, 104px);
  font-weight: 600 !important;
  letter-spacing: -0.065em !important;
  line-height: 0.97;
  margin: 4px 0 10px;
  color: #141619;
}
.practice-heading-grid h1 span {
  color: #7c7fac;
}
.practice-intro {
  align-self: end;
  padding: 30px 8px 6px 0;
}
.experience-page #contenido .practice-serif {
  font:
    italic 400 clamp(28px, 3vw, 42px) / 1.1 Georgia,
    serif !important;
  letter-spacing: -0.055em;
  color: #333846;
  margin: 0 0 24px;
}
.practice-intro > p:not(.practice-serif),
.practice-section-heading > p,
.practice-learning-copy p {
  font-size: 16px;
  line-height: 1.75;
  color: #505866;
}
.practice-link {
  display: inline-flex;
  align-items: center;
  gap: 30px;
  padding: 14px 0;
  color: #202631;
  font-size: 13px;
  text-decoration: none;
  border-bottom: 1px solid #8994a85c;
}
.practice-link:focus-visible {
  outline: 2px solid #747bad;
  outline-offset: 5px;
}
.practice-intro .practice-link {
  margin-top: 12px;
}
.practice-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 32px;
}
.practice-section-heading h2,
.practice-learning h2,
.practice-next h2 {
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 500 !important;
  line-height: 1.08;
  letter-spacing: -0.05em;
  margin: 0;
}
.practice-section-heading h2 em,
.practice-learning h2 em,
.practice-next h2 em {
  font-family: Georgia, serif;
  font-weight: 400;
}
.practice-section-heading > p {
  max-width: 30ch;
  margin: 0;
}
.practice-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.experience-page .experience-card.practice-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 430px;
  padding: 26px;
  border: 1px solid #fffffff0;
  border-radius: 26px;
  background: linear-gradient(125deg, #ffffffb0, #e2eaf370 58%, #ffffffc2);
  box-shadow:
    0 16px 26px #28374915,
    inset 0 2px 8px #fffb;
  overflow: hidden;
  transform: none;
  color: #202632;
}
.practice-symbol {
  height: 150px;
  display: grid;
  place-items: center;
  margin-bottom: 30px;
  color: #555e82;
}
.practice-symbol svg {
  width: 160px;
  height: 145px;
}
.practice-symbol-digital {
  color: #57788a;
}
.practice-symbol-print {
  color: #576f68;
}
.practice-index,
.practice-small {
  font-size: 10px;
  letter-spacing: 0.12em;
  color: #626c7e;
}
.experience-page .practice-card h3 {
  font-size: 25px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.12;
  margin: 15px 0;
}
.experience-page .practice-card p {
  color: #505866;
  font-size: 15px;
  line-height: 1.7;
  margin: 0 0 24px;
}
.practice-card-note {
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid #8190a52b;
  font-size: 11px;
  color: #636e7e;
}
.experience-page .practice-learning {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 42px 8%;
  padding: 90px 0 70px;
}
.practice-small {
  display: block;
  margin-bottom: 20px;
}
.practice-learning-copy p {
  margin: 0 0 18px;
}
.practice-flow {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #8290a54d;
}
.practice-flow li {
  padding: 24px 24px 0 0;
}
.practice-flow li > span {
  font-size: 12px;
  color: #787fa0;
}
.practice-flow h3 {
  font-size: 23px;
  font-weight: 500;
  margin: 16px 0 10px;
}
.practice-flow p {
  font-size: 14px;
  line-height: 1.65;
  max-width: 27ch;
  color: #505866;
}
.experience-page .practice-next {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  padding: 42px 0;
  border-top: 1px solid #8290a54d;
}
.practice-next > div {
  display: flex;
  gap: 28px;
  align-items: center;
}
.practice-motion {
  margin: 16px auto 54px;
}
@media (max-width: 899px) {
  .practice-heading-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .practice-intro {
    margin-left: 25%;
    padding-top: 0;
  }
  .practice-card-grid {
    gap: 14px;
  }
  .experience-page .experience-card.practice-card {
    padding: 22px 18px;
  }
  .experience-page .practice-card h3 {
    font-size: 23px;
  }
  .practice-section-heading > p {
    max-width: 24ch;
  }
  .practice-next > div {
    flex-direction: column;
    gap: 12px;
  }
}
@media (max-width: 599px) {
  .practice-opening {
    padding: 12px 0 46px;
  }
  .practice-label {
    margin-bottom: 28px;
  }
  .experience-page .practice-heading-grid h1 {
    font-size: clamp(52px, 14vw, 82px);
  }
  .practice-heading-grid {
    padding: 24px 0;
  }
  .practice-intro {
    margin-left: 12%;
  }
  .practice-intro > p:not(.practice-serif) {
    font-size: 14px;
  }
  .practice-section-heading {
    display: block;
    margin-bottom: 26px;
  }
  .practice-section-heading > p {
    margin-top: 20px;
    max-width: 32ch;
    font-size: 14px;
  }
  .practice-card-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .experience-page .experience-card.practice-card {
    padding: 26px;
    min-height: 0;
  }
  .practice-symbol {
    height: 128px;
    margin-bottom: 26px;
  }
  .practice-symbol svg {
    height: 125px;
  }
  .experience-page .practice-learning {
    display: block;
    padding: 56px 0 30px;
  }
  .practice-learning-copy {
    margin-top: 26px;
  }
  .practice-learning-copy p {
    font-size: 14px;
  }
  .practice-flow {
    display: block;
    margin-top: 30px;
  }
  .practice-flow li {
    padding: 22px 0;
    border-bottom: 1px solid #8290a52b;
  }
  .practice-flow h3 {
    display: inline-block;
    margin: 0 0 10px 20px;
  }
  .practice-flow p {
    margin: 0 0 0 36px;
    max-width: none;
  }
  .experience-page .practice-next {
    display: block;
    padding: 32px 0;
  }
  .practice-next > div {
    align-items: flex-start;
    margin-top: 26px;
    gap: 16px;
  }
  .practice-motion {
    margin-bottom: 90px;
  }
}
