/* Webflow rules for the rebuilt CMS listing/detail templates
   (blog + case-studies card design, article hero/body). These selectors were
   removed by the CSS purge in commit e3cf01e because no built page used them at
   the time; restored here in a separate file so the perf-purged main stylesheet
   stays untouched. Extracted verbatim from the pre-purge stylesheet. */

.button.is-icon.is-tertiary.is-small.hover-pink-stroke:hover {
  border-color: var(--pink--4);
}
.button.is-icon.is-tertiary.is-career {
  grid-column-gap: .625rem;
  grid-row-gap: .625rem;
  padding: 1.25rem 1.5rem;
}
.button.is-icon.is-tertiary.is-career:hover {
  border-color: var(--pink--4);
}
.button.is-secondary.is-small.is-icon.is-alternate.is-jobs {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.section_case_studies {
  margin-bottom: 1rem;
}
.training_header-component {
  background-color: var(--blue--4);
  border-radius: 1rem;
  padding: 6rem 5rem;
  position: relative;
  overflow: hidden;
}
.allign-center {
  flex-direction: column;
  align-items: center;
  display: flex;
}
.training_header_content-wrapper {
  z-index: 2;
  position: relative;
}
.training_main-content {
  background-color: var(--neutral--1);
  border-top-right-radius: 1rem;
  border-bottom-right-radius: 1rem;
}
.training_main-component {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  border-radius: 1.25rem;
  grid-template-rows: auto;
  grid-template-columns: 30% 70%;
  grid-auto-columns: 1fr;
  display: grid;
  /* No overflow:hidden here on desktop — live's base rule doesn't clip this
     container (confirmed via its compiled CSS), and doing so here creates a
     new scroll-container context that breaks position:sticky on the child
     .sidebar-wrapper. Each child (.training_main-sidebar / .training_main-content)
     already rounds its own corners independently, so nothing relies on this
     parent clipping. The mobile breakpoint below still clips (sidebar is
     hidden there, so sticky doesn't apply and matches live's own mobile rule). */
}
.training_main-sidebar {
  background-color: var(--neutral--3);
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
  position: relative;
}
.sidebar-wrapper {
  padding: 1.5rem 2rem 2rem;
  position: sticky;
  top: 4.5rem;
}
.toc {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  flex-direction: column;
  align-items: stretch;
  max-height: 20rem;
  display: flex;
  overflow: auto;
}
.toc a {
  color: var(--neutral--12);
  text-decoration: none;
}
.toc a:hover, .toc a.is-active {
  color: var(--blue--4);
}
.other_trainings-list {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: column;
  display: flex;
}
.other_training-item {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  align-items: center;
  width: 100%;
  display: flex;
}
.other_training-item:hover {
  color: var(--blue--4);
}
.training_seo-image {
  object-fit: cover;
  border-radius: 4px;
  flex: none;
  width: 3rem;
  height: 2rem;
}
.training-rich_text-wrapper {
  padding-left: 1rem;
  padding-right: 1rem;
}
.training-rich_text h2 {
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  line-height: 105%;
}
.training-rich_text h5 {
  margin-top: .75rem;
  margin-bottom: .75rem;
  line-height: 100%;
}
.training-rich_text p {
  margin-bottom: .5rem;
}
.training-rich_text h1 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.training-rich_text h3 {
  margin-top: .75rem;
  margin-bottom: 1rem;
  padding-top: 5rem;
}
.training-rich_text blockquote {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.training-rich_text ol, .training-rich_text ul {
  margin-top: .5rem;
  margin-bottom: .5rem;
  margin-left: 1rem;
  padding-left: 0;
  list-style-type: none;
}
.training-rich_text li {
  margin-top: .5rem;
  margin-bottom: .75rem;
  padding-left: 1.25rem;
  font-size: 1.125rem;
  position: relative;
}
.training-rich_text li::before {
  content: "⌄";
  position: absolute;
  left: 0;
  color: var(--neutral--12);
  font-weight: 700;
}
.training-rich_text a {
  color: var(--blue--4);
}
.case_study-wrapper {
  background-color: var(--neutral--1);
  border-radius: 20px;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding-top: 2.5rem;
  display: flex;
  overflow: hidden;
}
.case_study-wrapper.is-other_cases {
  padding-top: 2rem;
}
.case_study-featured-header {
  margin-bottom: 2rem;
  margin-left: 6.375rem;
  margin-right: 6.375rem;
}
.case_study-heading-01 {
  font-size: 2.375rem;
  font-weight: 600;
  line-height: 2.625rem;
}
.case_study-image {
  object-fit: cover;
  height: 8rem;
  transition: transform 0.45s ease;
}
.case_study-wrapper:hover .case_study-image {
  transform: scale(1.05);
}
.case_study-image.is-other_cases {
  height: 8rem;
}
.case_study-image.is-other_cases.is-blog {
  height: 14rem;
}
.case_study-image.is-blog {
  aspect-ratio: 3.2;
  width: 100%;
  height: auto;
}
.case_study-image.is-blog.is-main {
  aspect-ratio: auto;
}
.case_study-image-wrapper {
  justify-content: center;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  display: flex;
  position: relative;
}
.case_study-image-wrapper.is-blog {
  padding-top: 0;
  padding-bottom: 0;
}
.case_study-image-filter {
  background-color: #676a851a;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}
.case_studies-wrapper {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  flex-direction: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: flex;
}
.case_studies-list {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}
.case_study-header {
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  margin-bottom: 2rem;
  margin-left: 4rem;
  margin-right: 4rem;
  display: flex;
}
.case_study-header.is-other_cases {
  margin-left: 1.75rem;
  margin-right: 1.75rem;
}
.case_study-heading-03 {
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 2.25rem;
}
.hero_header-wrapper {
  justify-content: center;
  display: flex;
  position: relative;
  overflow: hidden;
}
.hero_header {
  z-index: 2;
  position: relative;
}
.case_study-hero-wrapper {
  z-index: 2;
  padding-left: 5rem;
  padding-right: 5rem;
  position: relative;
}
.case_study-main_image-wrapper {
  justify-content: center;
  display: flex;
}
.case_study-main_image-wrapper.is-blog {
  height: auto;
}
/* Missing from the original scrape: without this, the color-swatch box behind a
   case study's lead image stretches full-width with the (narrower) image left-
   aligned inside it, leaving a visible gap on the right. Extracted verbatim from
   the live stylesheet — centers the image in a fixed-height box instead. */
.case_study-img-wrapper {
  border-radius: 1rem;
  justify-content: center;
  align-items: center;
  height: 10rem;
  display: flex;
}
.case_study-main_image {
  object-fit: cover;
  border-radius: .625rem;
  height: 8rem;
}
.case_study-main_image.is-blog {
  aspect-ratio: 3.5;
  width: 100%;
  height: auto;
}
.case_study-rich_text {
  color: var(--neutral--1);
}
.case_study-rich_text h2 {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  font-size: 2.375rem;
  line-height: 2.625rem;
}
.case_study-rich_text h1 {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  font-size: 2.875rem;
  line-height: 3rem;
}
.case_study-rich_text h3 {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  font-size: 2rem;
  line-height: 2.25rem;
}
.case_study-rich_text h4 {
  margin-top: 2rem;
  margin-bottom: 2rem;
  font-size: 1.75rem;
  line-height: 2rem;
}
.case_study-rich_text h5 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.case_study-rich_text h6 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.case_study-rich_text a {
  color: var(--blue--4);
}
.case_study-rich_text.text-color-black {
  color: var(--neutral--12);
}
.case_study-rich_text.text-color-black p {
  margin-bottom: 1.5rem;
}
.case_study-rich_text p {
  margin-top: .5rem;
  margin-bottom: 1.5rem;
}
.integrations_hero-content {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  padding-right: 2.5rem;
}
.integrations-loop-container {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-direction: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: flex-start;
  display: grid;
  position: absolute;
  inset: 0% 3.5rem 0% auto;
}
.integrations-loop-container.is-horizontal {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  display: none;
  position: static;
  overflow: hidden;
}
.integrations-row {
  flex-direction: column;
  overflow: hidden;
}
.integrations-row.direction-down {
  display: flex;
}
.integrations-row.is-horizontal {
  flex-direction: row;
  width: 100%;
  display: flex;
}
.integrations-row.is-horizontal.to-right, .integrations-row.is-horizontal.to-left {
  overflow: visible;
}
.integrations-wrapper {
  flex-direction: column;
  align-items: center;
  display: flex;
}
.integrations-wrapper.is-horizontal {
  flex-direction: row;
}
.integrations-top-wrapper {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  display: flex;
}
.filter-form {
  margin-bottom: 0;
}
.integrations-list {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}
.integration-item {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  background-color: var(--neutral--1);
  border-radius: 1.25rem;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 2rem 1.9rem;
  display: flex;
}
.integration-item-top {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}
.integrations-image {
  width: 4rem;
  height: 4rem;
}
.integration_hero-wrapper {
  z-index: 4;
  grid-column-gap: 1rem;
  grid-row-gap: 0rem;
  flex-wrap: wrap;
  justify-content: center;
  padding-left: 3rem;
  padding-right: 3rem;
  display: flex;
  position: relative;
}
.integration-about_header-wrapper {
  grid-column-gap: 1rem;
  justify-content: space-between;
  align-items: center;
  display: flex;
}
.integration_image-wrapper {
  background-color: var(--neutral--11);
  border-radius: 1rem;
  flex: none;
  justify-content: center;
  align-items: center;
  height: 4.375rem;
  padding: .75rem 1.25rem;
  display: flex;
}
.integration_img {
  width: auto;
  height: 2.5rem;
}
.integration_header {
  grid-column-gap: .5rem;
  grid-row-gap: 0rem;
  flex-wrap: wrap;
  align-items: center;
  display: flex;
}
.heading-style-h1-mobile {
  font-size: 2.375rem;
  font-weight: 600;
  line-height: 2.625rem;
}
.heading-style-h1-mobile.text-color-neutral-12 {
  color: var(--neutral--12);
}
.integration-rich_text {
  color: var(--neutral--1);
}
.integration-rich_text ul {
  grid-row-gap: 1.25rem;
  flex-direction: column;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-left: 0;
  list-style-type: none;
  display: flex;
}
.integration-rich_text a {
  color: var(--blue--4);
}
.integration-rich_text h2 {
  font-size: 2.375rem;
  font-weight: 600;
  line-height: 2.625rem;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
.integration-rich_text > h2:first-child {
  margin-top: 0;
}
.integration-rich_text p {
  margin-bottom: 1rem;
}
.integration-rich_text img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.integration-section-wrapper {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  flex-direction: column;
  padding-left: 1rem;
  padding-right: 1rem;
  display: flex;
}
.integration-section-wrapper.padding-0 {
  padding-left: 0;
  padding-right: 0;
}
.integration_body-wrapper {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  flex-direction: column;
  display: flex;
}
.training_center-filters {
  justify-content: space-between;
  display: flex;
}
.trainings-list {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  flex-flow: column;
  display: flex;
}
.trainings_item-wrapper {
  background-color: var(--neutral--1);
  border-radius: 1.25rem;
  padding: 2.5rem;
}
.trainings_item-container {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 300px 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}
.trainings_item-image-wrapper {
  border-radius: 20px;
  overflow: hidden;
}
.trainings_image {
  object-fit: cover;
  width: 100%;
  height: 300px;
}
.trainings_item-content {
  grid-column-gap: 1.125rem;
  grid-row-gap: 1.125rem;
  flex-flow: column;
  display: flex;
}
.job_header-sticky {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  border-bottom: 1px solid var(--neutral--5);
  background-color: var(--neutral--1);
  justify-content: space-between;
  padding-top: .5rem;
  padding-bottom: 2rem;
  display: flex;
  position: sticky;
  top: 5.25rem;
}
.job-category {
  border: 1px solid var(--neutral--6);
  background-color: var(--neutral--2a);
  color: var(--neutral--10);
  letter-spacing: -.3px;
  text-transform: uppercase;
  border-radius: 2.5rem;
  padding: .5rem 1.5rem;
  font-size: .875rem;
  font-weight: 600;
}
.job_header-bottom {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  vertical-align: baseline;
  display: inline-flex;
}
.job_content {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  vertical-align: baseline;
  flex-flow: column;
  margin-top: 2rem;
  display: flex;
}
.job-rich_text {
  color: var(--neutral--9);
  line-height: 1.375;
}
.job-rich_text p {
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.375rem;
}
.job-rich_text ul {
  margin-top: 0;
}
.job-rich_text h1 {
  color: var(--neutral--12);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.3;
}
.job-rich_text h2 {
  color: var(--neutral--12);
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 1.75rem;
  line-height: 1.3;
}
.job-rich_text h3 {
  color: var(--neutral--12);
  margin-top: 1rem;
  margin-bottom: .75rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3;
}
.job-rich_text h4 {
  color: var(--neutral--12);
  margin-top: .75rem;
  margin-bottom: .75rem;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
}
.job-rich_text h5 {
  margin-top: .5rem;
  margin-bottom: .5rem;
  font-size: 1.125rem;
  line-height: 1.3;
}
.job-rich_text h6 {
  font-size: 1rem;
  line-height: 1.3;
}
.other_jobs-header {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-flow: column;
  justify-content: space-between;
  margin-bottom: 1.5rem;
  display: flex;
}
.career1_perks-grid {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-rows: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}
.career1_perks-card {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  background-color: var(--blue--2);
  border-radius: .75rem;
  flex-flow: column;
  padding: 1.5rem;
  display: flex;
}
.career1_perks-card_icon {
  background-color: var(--neutral--1);
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: .5rem;
  display: flex;
}
.jobs-list {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}
.jobs-list-content-wrapper {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  display: flex;
}
.padding-custom-2-5 {
  padding: 2.5rem;
}
.jobs_hero-wrapper {
  border-radius: 1rem;
  justify-content: flex-start;
  align-items: flex-start;
  min-height: 34rem;
  padding: 3rem;
  display: flex;
  position: relative;
  overflow: hidden;
}
.jobs_hero-bg {
  z-index: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}
.jobs_hero-bg_img {
  z-index: 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: relative;
}
.jobs_hero-bg_overlay {
  z-index: 2;
  background-image: radial-gradient(circle farthest-corner at 0% 0%, var(--blue--3) 31%, transparent 72%);
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0% auto auto 0%;
}
.jobs-filters {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  justify-content: space-between;
  align-items: stretch;
  display: flex;
}
.hide-mobile-landscape {
  flex: none;
  align-items: center;
  display: flex;
}
.full-width {
  max-width: none;
  font-weight: 400;
}
.fs-select-5 {
  z-index: 99;
  width: 16rem;
  margin-left: 0;
  margin-right: 0;
}
.fs-select_toggle-5 {
  background-color: var(--neutral--1);
  color: var(--neutral--10);
  border: 0 solid #000;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  font-size: 1.25rem;
  font-weight: 500;
  display: flex;
  cursor: pointer;
}
.fs-select_text-5 {
  max-width: 9rem;
  color: var(--neutral--8);
  background-image: linear-gradient(90deg, #0000, #fff);
  flex: 1;
  font-size: 1.125rem;
  line-height: 1.75rem;
  overflow: hidden;
}
.fs-select_list-5 {
  background-color: #0000;
}
.fs-select_link-5 {
  color: var(--neutral--10);
  background-color: #fff;
  border-bottom: 1px solid #e7e7e7;
  padding: .75rem 1rem;
  font-size: 1.125rem;
}
.recruitment-item {
  border: 1px solid var(--pink--4);
  border-radius: 1.5rem;
  padding: 2rem 1.5rem 2.5rem;
}
.recruitment-item-top-wrapper {
  border-style: none none solid;
  border-width: 1px 0 1px 1px;
  border-color: var(--neutral--10);
  justify-content: space-between;
  align-items: center;
  padding-bottom: 2rem;
  display: flex;
}
.recruitment-item-bottom-wrapper {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  justify-content: flex-start;
  align-items: center;
  margin-top: 2rem;
  display: flex;
}
.recruitment-icon-wrapper {
  border-radius: .5rem;
  width: 100px;
  height: 100px;
}
._2col-wrapper {
  grid-column-gap: 3.5rem;
  grid-row-gap: 3.5rem;
  grid-template-rows: auto;
  grid-template-columns: 1.25fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}
.about-text-wrapper {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  display: flex;
}
.about-image-wrapper {
  border-radius: 1rem;
  overflow: hidden;
}
.swiper.is-career {
  width: 100%;
}
.swiper-wrapper.is-career {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-flow: column;
}
.swiper-slide.is-career {
  width: 100%;
}
.values-list {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}
.values-item {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  background-color: #fff6;
  border-radius: .75rem;
  flex-flow: column;
  padding: 1.5rem;
  display: flex;
}
.values-icon {
  background-color: var(--base-color-neutral--white\<deleted\|relume-variable-color-neutral-2\>);
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
}
.values_content-wrapper {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  flex-flow: column;
  display: flex;
}
.swiper-nav.is-career {
  display: none;
}
.values-list-wrapper {
  grid-column-gap: 3.5rem;
  grid-row-gap: 3.5rem;
  flex-flow: column;
  display: flex;
}
.jobs_hero-header {
  z-index: 2;
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-flow: column;
  max-width: 30rem;
  display: flex;
  position: relative;
}
.heading-5 {
  font-family: var(--_typography---font--body);
  font-size: var(--_typography---size--h2);
  font-weight: 500;
}
.v_button.is-icon.is-tertiary.is-small.hover-pink-stroke:hover {
  border-color: var(--pink--4);
}
.v_button.is-icon.is-tertiary.is-career {
  grid-column-gap: .625rem;
  grid-row-gap: .625rem;
  padding: 1.25rem 1.5rem;
}
.v_button.is-icon.is-tertiary.is-career:hover {
  border-color: var(--pink--4);
}
.v_button.is-secondary.is-small.is-icon.is-alternate.is-jobs {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media screen and (max-width: 479px) {
  .case_study-img-wrapper {
    padding: 2rem;
  }
  .fs-select-5 {
    width: 100%;
  }
  .button.is-icon.is-tertiary.is-career {
    padding-top: .75rem;
    padding-bottom: .75rem;
  }
  .button.is-secondary.is-small.is-icon.is-alternate.is-jobs {
    color: var(--base--white);
  }
  .button.is-secondary.is-small.is-icon.is-alternate.is-jobs:hover {
    color: var(--base--black);
  }
  .text-weight-normal.is-default {
    white-space: nowrap;
  }
  .training_header-component {
    padding: 2rem 1.5rem;
  }
  .training_main-content {
    border-radius: 1rem;
    width: 100%;
  }
  .case_study-wrapper, .case_study-wrapper.is-other_cases {
    padding-top: 1rem;
  }
  .case_study-featured-header {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .case_study-heading-01 {
    line-height: 1.7rem;
  }
  .case_study-image, .case_study-image.is-other_cases {
    height: 8rem;
  }
  .case_studies-wrapper, .case_studies-list {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }
  .case_study-header, .case_study-header.is-other_cases {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .case_study-heading-03 {
    line-height: 1.7rem;
  }
  .case_study-hero-wrapper {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .case_study-main_image {
    height: auto;
    max-height: 8rem;
  }
  .case_study-rich_text {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .case_study-rich_text p {
    margin-top: .5rem;
    margin-bottom: 1.5rem;
  }
  .integrations_hero-content {
    padding: 2rem 1rem;
  }
  .filter-form, .search-text-input {
    width: 100%;
  }
  .integration-item {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .integration_hero-wrapper {
    justify-content: flex-start;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .integration_body-wrapper {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .trainings_image {
    height: 150px;
  }
  .job-category {
    font-size: .75rem;
  }
  .job_header-bottom {
    grid-row-gap: .5rem;
    flex-flow: wrap;
  }
  .other_jobs-header {
    margin-bottom: 1rem;
  }
  .padding-custom-2-5 {
    padding: 1.5rem 1rem;
  }
  .jobs_hero-wrapper {
    padding-top: 2rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .recruitment-item {
    height: 38rem;
  }
  .recruitment-item-top-wrapper, ._2col-wrapper, .about-text-wrapper {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }
  .values-list-wrapper {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }
  .jobs_hero-header {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    max-width: 100%;
  }
  .v_button.is-icon.is-tertiary.is-career {
    padding-top: .75rem;
    padding-bottom: .75rem;
  }
  .v_button.is-secondary.is-small.is-icon.is-alternate.is-jobs {
    color: var(--base--white);
  }
  .v_button.is-secondary.is-small.is-icon.is-alternate.is-jobs:hover {
    color: var(--base--black);
  }
}

@media screen and (max-width: 767px) {
  .hide-mobile-landscape {
    display: none;
  }
  .text-size-medium.text-color-neutral-9.is-trainings, .text-style-quote {
    font-size: 1.125rem;
  }
  .button.is-icon.is-tertiary.is-career {
    padding-top: .75rem;
    padding-bottom: .75rem;
  }
  .career1_perks-grid {
    grid-column-gap: .75rem;
    grid-row-gap: .75rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }
  .training_header-component {
    padding: 4rem 2rem;
  }
  .training_main-content {
    border-radius: 1px;
  }
  .training_main-component {
    border-radius: 1rem;
    display: block;
    overflow: hidden;
  }
  .sidebar-wrapper {
    display: none;
  }
  .training-rich_text p {
    font-size: 1rem;
    line-height: 1.5;
  }
  .case_study-featured-header {
    margin-left: 2rem;
    margin-right: 2rem;
  }
  .case_study-heading-01 {
    font-size: 1.375rem;
    line-height: 1.5rem;
  }
  .case_study-image, .case_study-image.is-blog {
    height: auto;
  }
  .case_study-image-filter {
    pointer-events: none;
  }
  .case_studies-list {
    flex-direction: column;
    display: flex;
  }
  .case_study-header.is-other_cases {
    margin-left: 2rem;
    margin-right: 2rem;
  }
  .case_study-heading-03 {
    font-size: 1.375rem;
    line-height: 1.5rem;
  }
  .case_study-hero-wrapper, .case_study-rich_text {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .case_study-rich_text h2, .case_study-rich_text h1, .case_study-rich_text h3 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .case_study-rich_text h4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .case_study-rich_text h5, .case_study-rich_text h6 {
    margin-top: .5rem;
    margin-bottom: .5rem;
  }
  .social_share-wrapper, .integrations_hero-content {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .integrations-top-wrapper {
    flex-direction: column;
    align-items: flex-start;
  }
  .integrations-list {
    grid-column-gap: 1rem;
    flex-direction: column;
    display: flex;
  }
  .integrations-image {
    width: 3rem;
    height: 3rem;
  }
  .integration_hero-wrapper {
    justify-content: flex-start;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .integration-about_header-wrapper {
    grid-row-gap: 1rem;
    flex-direction: column;
    align-items: flex-start;
  }
  .integration_image-wrapper {
    display: none;
  }
  .heading-style-h1-mobile {
    font-size: 2rem;
    font-weight: 500;
    line-height: 100%;
  }
  .heading-style-h1-mobile.is-trainings {
    font-size: 1.375rem;
    font-weight: 600;
  }
  .integration-rich_text ul {
    margin-left: 0;
  }
  .integration-rich_text h2 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .integration-section-wrapper {
    grid-column-gap: .75rem;
    grid-row-gap: .75rem;
    padding-left: 0;
    padding-right: 0;
  }
  .integration_body-wrapper {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .training_center-filters {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column;
  }
  .trainings-list {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
  }
  .trainings_item-wrapper {
    padding: 1.25rem;
  }
  .trainings_image {
    object-position: 50% 40%;
    height: 200px;
  }
  .trainings_item-content {
    grid-column-gap: .75rem;
    grid-row-gap: .75rem;
  }
  .job_header-sticky {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column;
    padding-bottom: 1.5rem;
    top: 4rem;
  }
  .job_content {
    margin-top: 1.5rem;
  }
  .job-rich_text h1 {
    font-size: 1.5rem;
  }
  .job-rich_text h2 {
    font-size: 1.375rem;
  }
  .job-rich_text h3 {
    margin-top: .75rem;
    font-size: 1.25rem;
  }
  .job-rich_text h4 {
    font-size: 1.125rem;
  }
  .job-rich_text h5 {
    font-size: 1rem;
  }
  .other_jobs-header {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column;
    margin-bottom: 1rem;
  }
  .jobs-list-content-wrapper {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    flex-flow: column;
  }
  .jobs_hero-wrapper {
    border-radius: .625rem;
    flex-flow: column;
    height: auto;
    min-height: auto;
    padding-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .jobs_hero-bg {
    justify-content: flex-end;
    align-items: center;
    width: calc(100% + 3rem);
    height: 30vh;
    margin-top: -70px;
    margin-left: -1.5rem;
    display: flex;
    position: relative;
  }
  .jobs_hero-bg_img {
    object-position: 100% 100%;
    width: 100%;
    max-width: none;
  }
  .jobs_hero-bg_overlay {
    background-image: linear-gradient(180deg, var(--blue--3), #151c5f66);
  }
  .jobs_hero-header {
    max-width: 100%;
  }
  .padding-custom-2-5 {
    padding: 2rem;
  }
  .section_recruitment {
    overflow: hidden;
  }
  .recruitment-item {
    flex-flow: column;
    justify-content: space-between;
    align-items: stretch;
    height: 30rem;
    margin-right: 1rem;
    display: flex;
  }
  .recruitment-item.slide {
    height: 100%;
    margin-right: 0;
  }
  .recruitment-item-top-wrapper {
    border-top-style: solid;
    border-bottom-style: none;
    padding-top: 2rem;
    padding-bottom: 0;
  }
  .recruitment-item-bottom-wrapper {
    flex-flow: column;
    order: -1;
    justify-content: flex-start;
    align-items: flex-start;
    margin-top: 0;
    margin-bottom: 2rem;
  }
  ._2col-wrapper {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }
  .about-text-wrapper {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }
  .careers-filters {
    margin-bottom: 0;
  }
  .swiper.is-career {
    height: auto;
  }
  .swiper-wrapper.is-career {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-flow: row;
    height: auto;
  }
  .swiper-slide.is-career {
    max-width: 93%;
    height: auto;
  }
  .values-list {
    grid-column-gap: .9375rem;
    grid-row-gap: .9375rem;
    grid-template-columns: 1fr;
  }
  .swiper-nav.is-career {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    margin-top: 1.5rem;
    display: flex;
  }
  .values-list-wrapper {
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
  }
  .v_button.is-icon.is-tertiary.is-career {
    padding-top: .75rem;
    padding-bottom: .75rem;
  }
}

@media screen and (max-width: 991px) {
  .career1_perks-grid {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
  }
  .training-rich_text-wrapper {
    padding-left: 0;
    padding-right: 0;
  }
  .sidebar-wrapper {
    padding-top: 2rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .toc {
    max-height: 15rem;
  }
  .training_seo-image {
    width: 2rem;
    height: 1.5rem;
  }
  .case_study-featured-header {
    margin-left: 4rem;
    margin-right: 4rem;
  }
  .case_study-image {
    height: 13rem;
  }
  .case_study-image.is-other_cases.is-blog {
    height: auto;
    min-height: auto;
  }
  .case_studies-wrapper, .case_studies-list {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
  }
  .case_study-header {
    margin-left: 2rem;
    margin-right: 2rem;
  }
  .case_study-header.is-other_cases {
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }
  .case_study-rich_text {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .integrations_hero-content {
    padding-left: 2.5rem;
  }
  .integrations-loop-container {
    display: none;
  }
  .integrations-loop-container.is-horizontal {
    padding-top: 1.5rem;
    display: flex;
    overflow: hidden;
  }
  .integrations-row.is-horizontal.to-left {
    overflow: visible;
  }
  .integrations-list {
    grid-template-columns: 1fr 1fr;
  }
  .integration_hero-wrapper {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .integration-rich_text ul {
    margin-left: 2rem;
  }
  .integration-section-wrapper, .integration_heading {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .trainings_item-container {
    grid-template-columns: auto;
  }
  .jobs_hero-wrapper {
    aspect-ratio: auto;
    justify-content: flex-start;
    align-items: flex-start;
    min-height: 36rem;
    padding-top: 2.5rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .jobs_hero-bg_img {
    object-position: 84% 50%;
  }
  ._2col-wrapper {
    grid-template-columns: 1.25fr;
  }
  .values-list {
    grid-template-columns: 1fr 1fr;
  }
  .jobs_hero-header {
    max-width: 21rem;
  }
}

@media screen and (min-width: 1280px) {
  .other_jobs-header {
    flex-flow: row;
  }
  .jobs_hero-header {
    max-width: 31rem;
  }
}

@media screen and (min-width: 1440px) {
  .case_study-rich_text.text-color-black p {
    margin-bottom: 1.25rem;
  }
  .integrations-loop-container {
    right: 7rem;
  }
  .other_jobs-header {
    flex-flow: row;
    margin-bottom: 1.5rem;
  }
  .jobs-filters {
    justify-content: flex-start;
    align-items: stretch;
  }
  .jobs_hero-wrapper {
    min-height: 38rem;
  }
  .jobs_hero-header {
    max-width: 35rem;
    padding-top: 2rem;
  }
}

/* ============================================================================
   PARTNER templates — detail page (partner_hero2-* / partner_main2-*) and the
   listing search/filter row (.partners-filters / .search-text-input). Same
   purge story as above: these classes were dropped by e3cf01e and never
   restored, leaving /partners/<slug> unstyled and the listing filters stacked.
   Rules extracted verbatim from the production Webflow sheet
   (vidalytics-new.webflow ...opt.min + shared), reformatted; the only edit is
   the .partner_main2-accent color, whose source var was a corrupted Webflow
   token — set to --base--white (white) to match the rendered production page.
   ========================================================================= */

/* ---- Detail: hero ---- */
.partner_hero2-container {
  background-color: var(--blue--3);
  border-radius: 1rem;
  padding: 3.75rem;
}
.partner_hero2-wrapper {
  grid-column-gap: 3.5rem;
  grid-row-gap: 3.5rem;
  flex-flow: column;
  display: flex;
}
.partner_hero2-top {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}
.partner_hero2-content {
  grid-column-gap: 3.5rem;
  grid-row-gap: 3.5rem;
  flex-flow: column;
  display: flex;
}
.partner_hero2-title {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}
.partner_hero2-logo-wrap {
  background-color: var(--base--white);
  border-radius: .5rem;
  flex: none;
  width: 5rem;
  height: 5rem;
  overflow: hidden;
}
.partner_hero2-logo {
  object-fit: scale-down;
  width: 100%;
  height: 100%;
}
.partner_hero2-description {
  color: var(--neutral--11);
  font-family: Poppins, Georgia, sans-serif;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.2;
}
.partner_hero2-video {
  border-radius: 1.5rem;
  width: 100%;
  overflow: hidden;
}
.partner_image {
  aspect-ratio: 3 / 2;
  object-fit: cover;
  width: 100%;
}
.partner_hero2-bottom {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  background-color: var(--blue--2);
  border-radius: 1.5rem;
  flex-flow: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 2rem;
  display: flex;
}
.partner_hero2-info {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

/* ---- Detail: main (sidebar + content) ---- */
.partner_main2-component {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  border-radius: 1.25rem;
  grid-template-rows: auto;
  grid-template-columns: 30% 70%;
  grid-auto-columns: 1fr;
  display: grid;
}
.partner_main2-sidebar {
  background-color: var(--neutral--3);
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
  position: relative;
}
.partner_main2-content {
  background-color: var(--neutral--1);
  border-top-right-radius: 1rem;
  border-bottom-right-radius: 1rem;
}
.partner_main2-container {
  padding: 2.5rem;
}
.partner_main2-wrapper {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  flex-flow: column;
  display: flex;
}
.partner_main2-block {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: column;
  display: flex;
}
.partner_main2-heading {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.2;
  display: inline;
}
.partner_main2-accent {
  background-color: var(--blue--4);
  color: var(--base--white);
  text-align: center;
  background-image: url(https://cdn.prod.website-files.com/65b238d27cb5b7a80889e3de/660597263109820648f2d457_circles%20x1%20bg.svg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 100%;
  border-radius: 1.5rem;
  padding: 2.5rem;
}
.partner_main2-service-list {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-rows: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}
.partner_service-card {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  background-color: var(--blue--2);
  border-radius: .75rem;
  flex-flow: column;
  height: 100%;
  padding: 1.5rem;
  display: flex;
}
.partner_service-icon {
  background-color: var(--blue--3);
  border-radius: .75rem;
  justify-content: center;
  align-items: center;
  width: 3.75rem;
  height: 3.75rem;
  display: flex;
}

/* ---- Detail: sidebar internals ---- */
.sidebar2-wrapper {
  padding: 1.5rem 2rem 2rem;
  position: sticky;
  top: 4.5rem;
}
.sidebar2-wrapper.sticky-with-navbar {
  top: 4rem;
}
.sidebar-section {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-direction: column;
  display: flex;
}
.sidebar-list {
  grid-column-gap: 1.875rem;
  grid-row-gap: 1.875rem;
  flex-direction: column;
  display: flex;
}
.sidebar-item {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 24px 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

/* ---- Listing: container + search/filter row ---- */
.partners-container {
  padding: 3rem 0;
}
.partners-filters {
  justify-content: space-between;
  align-items: center;
  display: flex;
}
.search-text-input {
  color: var(--neutral--10);
  background-image: url(https://cdn.prod.website-files.com/65b238d27cb5b7a80889e3de/65c33f1e26df7ccbae680776_Search.svg);
  background-position: 16px;
  background-repeat: no-repeat;
  background-size: 1.5rem 1.5rem;
  border-radius: 10px;
  width: 22rem;
  height: 3.75rem;
  margin-bottom: 0;
  padding: 1rem 1rem 1rem 3.5rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.search-text-input::placeholder {
  color: var(--neutral--8);
  font-size: 1.125rem;
  line-height: 1.75rem;
}

/* ---- Responsive (mirrors production breakpoints) ---- */
@media screen and (min-width: 1440px) {
  .partner_hero2-info {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }
}
@media screen and (max-width: 991px) {
  .partners-container { padding: 2rem 0; }
  .partner_hero2-container { padding: 3rem 2.5rem; }
  .partner_hero2-wrapper { grid-column-gap: 1rem; grid-row-gap: 1rem; }
  .partner_hero2-top { flex-flow: column; display: flex; }
  .partner_hero2-content { grid-column-gap: 2rem; grid-row-gap: 2rem; }
  .partner_hero2-title {
    flex-flow: row-reverse;
    justify-content: space-between;
    align-items: center;
  }
  .partner_hero2-bottom {
    flex-flow: column;
    justify-content: flex-start;
    align-items: stretch;
  }
  .partner_hero2-info {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-rows: auto;
    grid-template-columns: 200px 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }
  .partner_main2-sidebar { border-radius: 1rem; }
  .partner_main2-component {
    grid-template-rows: auto;
    grid-template-columns: 30% 70%;
    display: grid;
  }
  .partner_main2-component.custom {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column;
    display: flex;
  }
  .partner_main2-content {
    border-top-left-radius: 1rem;
    border-bottom-left-radius: 1rem;
  }
  .sidebar2-wrapper {
    padding-top: 2rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .partners-container { padding: 1rem 2rem 2rem; }
  .partners-filters {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-direction: column;
    align-items: stretch;
  }
  .sidebar-list { grid-column-gap: 1rem; grid-row-gap: 1rem; }
  .partner_hero2-container { padding: 1.5rem; }
  .partner_hero2-video { border-radius: 1rem; }
  .partner_hero2-logo-wrap { flex: none; width: 4.375rem; height: 4.375rem; }
  .partner_hero2-description { font-size: 1.625rem; }
  .partner_hero2-bottom {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    border-radius: 1rem;
    padding: 1rem;
  }
  .partner_hero2-info {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
  }
  .partner_main2-container { padding: 1.5rem; }
  .partner_main2-wrapper { grid-column-gap: 1.5rem; grid-row-gap: 1.5rem; }
  .partner_main2-heading { font-size: 1.375rem; }
  .partner_main2-accent { background-position: 0%; background-size: 300%; }
  .partner_main2-service-list { grid-template-columns: 1fr; }
  .partner_main2-sidebar { position: static; }
  .partner_main2-component { border-radius: 1rem; display: block; overflow: hidden; }
  .sidebar2-wrapper { display: none; }
  .sidebar2-wrapper.sticky-with-navbar { display: block; }
  .search-text-input { width: 100%; }
}
@media screen and (max-width: 479px) {
  .partners-container { padding: 0 1rem 2rem; }
  .partner_hero2-container { padding-top: 1.5rem; padding-left: 1rem; padding-right: 1rem; }
  .partner_hero2-bottom { overflow: hidden; }
  .partner_main2-container { padding: 1rem; }
  .partner_main2-content { border-radius: 1rem; width: 100%; }
}

/* Blog-detail "Ready to Increase Your Conversions?" CTA (section_cta3) and the
   "Popular Blogs" related-posts grid (section_other_cases) — also purged, since
   no built page used them yet. Extracted verbatim from the live stylesheet. */
.cta3-container {
  background-color: var(--blue--4);
  border-radius: 1rem;
}
.cta3-container.background-color-black {
  background-color: var(--neutral--12);
}
.cta3_content-wrapper {
  grid-column-gap: 5rem;
  grid-row-gap: 5rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}
.other_cases-list {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}
@media screen and (max-width: 991px) {
  .cta3_content-wrapper {
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
    flex-direction: column;
    display: flex;
  }
  .cta3-right_column {
    order: 1;
  }
  .other_cases-list {
    flex-direction: column;
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .cta3_content-wrapper {
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
  }
  .cta3-right_column {
    order: -1;
  }
}
@media screen and (max-width: 479px) {
  .cta3_content-wrapper {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
  }
}

/* Training page in-card CTA banner + "Don't Just Take Our Word For It!" testimonials
   (Webflow `training-cta-*` / `training-testimonials-*` / `testimonial-slider`),
   restored the same way as the rest of this file — purged because no built page
   used them at the time. */
.training-cta-component {
  padding-left: 1rem;
  padding-right: 1rem;
}
.training-cta-wrapper {
  background-color: var(--blue--4);
  border-radius: 1rem;
}
.training-testimonials-item {
  background-color: var(--neutral--2a);
  border-radius: 1rem;
  flex: 1;
  width: 100%;
}
.training_testimonials-item-top {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  align-items: center;
  display: flex;
}
.testimonial_writer-image {
  border-radius: 20rem;
}
/* Testimonial carousel controls — the training-testimonials carousel is a
   custom scroll-snap track (see TrainingTestimonials.astro), not the generic
   Webflow .w-slider component, so it needs its own arrow-button styling
   rather than the (unused) .w-slider-arrow-left/right base. */
.training_testimonial-slider {
  border: 1px solid var(--neutral--12);
  color: var(--neutral--12);
  background-color: transparent;
  border-radius: 1000rem;
  justify-content: center;
  align-items: center;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
}

@media screen and (max-width: 767px) {
  .training-testimonials-wrapper,
  .training-cta-component {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Mid-body training CTA (Webflow `training-cta-middle-container`) — only
   next-gen-video-funnel populates it on live; the other 3 trainings leave it
   empty (w-condition-invisible there), so it's plain markdown content, not a
   template-level component. */
.training-cta-middle-container {
  background-color: var(--blue--4);
  border-radius: 1rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
/* Tighten only the box's own vertical padding (not the heading size — that's
   meant to stay at its original bare-h3 size). Best-effort without a
   reference screenshot; flag if still off. */
.training-cta-middle-container > .padding-medium {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

/* Social-share row (Webflow `social_share-wrapper`/`socials-share`) — live's own
   button icons come from a hosted sprite we don't have; these are plain inline
   SVGs instead, laid out with the same container/gap classes. */
.social_share-wrapper {
  margin-bottom: 1.5rem;
}
.socials-share {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.social-share-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 100%;
  background-color: var(--neutral--3);
  color: var(--neutral--10);
  transition: background-color 0.2s, color 0.2s;
}
.social-share-btn:hover {
  background-color: var(--blue--4);
  color: var(--neutral--1);
}

/* Vertical variant (training page hero corner) — verified via live's computed
   CSS: black rounded-left pill pinned to the hero's bottom-right, hidden on
   tablet/mobile where the hero doesn't have room for it. */
.social_share {
  z-index: 3;
  background-color: var(--neutral--12);
  border-top-left-radius: 1.5rem;
  border-bottom-left-radius: 1.5rem;
  padding: 1.5rem 2rem 1.5rem 1.5rem;
  position: absolute;
  inset: auto 0% 1rem auto;
}
.socials-share-vertical {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.socials-share-vertical .social-share-btn {
  background-color: transparent;
  color: var(--neutral--1);
  width: auto;
  height: auto;
  border-radius: 0;
}
.socials-share-vertical .social-share-btn:hover {
  color: var(--blue--3);
}
@media screen and (max-width: 767px) {
  .social_share {
    display: none;
  }
}

/* The <aside> also carries the generic .hide-mobile-landscape utility (used
   sitewide on small icon-sized elements, where flex+center is correct) — on
   this large sidebar column it vertically centers the sticky child within the
   full (thousands-of-px-tall) column instead of anchoring it to the top, so
   the TL;DR box doesn't appear until the page is scrolled roughly halfway.
   Scoped override, not a change to .hide-mobile-landscape itself. */
.training_main-sidebar.hide-mobile-landscape {
  display: block;
  align-items: unset;
}

.text-color-blue-5 {
  color: var(--blue--5);
}

/* Demo/screenshot image frame on engagement-bridge and gate-tagging only. */
[data-training="engagement-bridge"] img,
[data-training="gate-tagging"] img {
  border: 22px solid #c1ccff;
  border-radius: 1.5rem;
}

/* Video embed frame — targets the outer embed container (the div with the
   padding-top aspect-ratio hack), not the inner <video> tag, so the frame
   wraps the whole player (video + its own overlaid UI, e.g. the Play Gate
   form) as one piece. Uses `border` like the plain images do, for the same
   visual treatment and alignment — this container is already box-sizing:
   border-box (confirmed via computed styles), so the border doesn't push
   it wider than the surrounding text column the way it would on a
   content-box element. */
[data-training="gate-tagging"] .w-embed.w-script > div:first-child {
  border: 22px solid #c1ccff;
  border-radius: 1.5rem;
}

/* Vertical breathing room above/below every demo image AND video embed in the
   training body — these sit in their own wrapper divs that don't pick up
   normal paragraph spacing, so the gap has to be set explicitly. Values
   measured directly against live (getBoundingClientRect gaps, not guessed):
   images get 48px top/bottom, video embeds get 16px top/bottom — live uses
   two different values here, not one shared one. */
.training-rich_text img {
  display: block;
  margin-top: 48px;
  margin-bottom: 48px;
}
.training-rich_text video,
.training-rich_text .w-embed {
  display: block;
  margin-top: 16px;
  margin-bottom: 16px;
}

.testimonial-rich_text p {
  font-size: 16px;
  line-height: 22px;
}
