
.p2-shell {
  width: min(calc(100% - 2rem), var(--wf-shell));
  margin: 0 auto;
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.p2-items-lane {
  width: min(calc(100% - 2rem), var(--shell-width));
  min-width: 0;
  max-width: 100%;
  margin-inline: auto;
}

.p2-items-lane.c-section__items--narrow {
  width: min(calc(100% - 2rem), var(--shell-width-narrow));
}

.p2-items-lane.c-section__items--wide {
  width: min(calc(100% - 2rem), var(--shell-width-wide));
}

.p2-items-lane.c-section__items--bleed {
  width: 100%;
}

.p2-stack > * + * {
  margin-top: var(--p2-stack-space, 1.5rem);
}

.o-stack > [hidden] + * {
  margin-top: 0;
}

.c-page-content:has(.p2-section__intro[hidden]) {
  display: none;
}

.p2-items-stack {
  --stack-space: var(--space-8);
  min-width: 0;
  max-width: 100%;
}

.p2-heading {
  max-width: 60rem;
  --p2-stack-space: var(--space-4);
  container-type: inline-size;
}

.p2-heading--center {
  margin-inline: auto;
  text-align: center;
}

.p2-heading--center .c-section__cta {
  justify-content: center;
}

.p2-heading--center .p2-heading__lead {
  margin-inline: auto;
}

.p2-heading__kicker {
  margin: 0 0 0.5rem;
  color: var(--theme-primary-current);
  font-size: var(--p2-body-meta-size, 0.875rem);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: uppercase;
}

.p2-heading__title {
  margin: 0;
  color: var(--p2-ink, var(--text-default, #231f20));
  font-family: var(--font-display);
  font-size: var(--p2-section-title-size, 2.25rem);
  font-weight: 600;
  line-height: var(--p2-section-title-line-height, 1.2);
  letter-spacing: var(--p2-section-title-tracking, 0);
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.p2-heading__title::after {
  content: "";
  display: block;
  width: var(--p2-section-title-divider-width, 5.625rem);
  height: var(--p2-section-title-divider-height, 0.1875rem);
  margin-top: 0.625rem;
  background: var(--theme-primary-current, #12aeb4);
}

.p2-heading--center .p2-heading__title::after {
  margin-inline: auto;
}

.p2-heading__title + .p2-heading__lead {
  margin-top: var(--space-4);
}

.p2-heading__lead {
  margin: 0;
  max-width: 60rem;
  color: var(--p2-ink, var(--section-fg-soft));
  font-size: var(--p2-body-large-size, 1.0625rem);
  line-height: 1.55;
}

.p2-richtext,
.p2-richtext > :first-child,
.p2-richtext > :last-child {
  margin-block-start: 0;
}

.p2-richtext {
  color: var(--section-fg-soft);
  font-size: var(--p2-body-size, 1rem);
  line-height: 1.55;
}

:where(.p2-heading, .p2-split__body, .c-page-content) .p2-richtext {
  font-size: clamp(0.9375rem, calc(0.9rem + 0.3cqw), var(--p2-body-size, 1rem));
}

.p2-heading__lead {
  font-size: var(--p2-body-large-size, 1.0625rem);
  font-size: clamp(0.9375rem, calc(0.9rem + 0.45cqw), var(--p2-body-large-size, 1.0625rem));
}

.p2-post-header .p2-richtext {
  color: inherit;
}

.c-section {
  padding-block: var(--section-padding-start, var(--section-space)) var(--section-padding-end, var(--section-space));
}

.c-section--banner:not(.c-section--banner-boxed),
.c-section--frame-bleed {
  --section-padding-start: 0;
  --section-padding-end: 0;
  padding-block: 0;
}

/*
 * Same-surface section runs should read as one continuous band.
 * components.css handles direct sibling sections; Elemental wraps each section
 * in .element, so the same top-padding collapse has to account for that wrapper.
 */
.element:has(> .c-section--surface-white:not(.c-section--divider):not(.c-section--frame-bleed)) + .element > .c-section--surface-white:not(.c-section--divider):not(.c-section--frame-bleed),
.element:has(> .c-section--surface-soft:not(.c-section--divider):not(.c-section--frame-bleed)) + .element > .c-section--surface-soft:not(.c-section--divider):not(.c-section--frame-bleed),
.element:has(> .c-section--surface-dark:not(.c-section--divider):not(.c-section--frame-bleed)) + .element > .c-section--surface-dark:not(.c-section--divider):not(.c-section--frame-bleed),
.element:has(> .c-section--surface-primary:not(.c-section--divider):not(.c-section--frame-bleed)) + .element > .c-section--surface-primary:not(.c-section--divider):not(.c-section--frame-bleed),
.l-page__main > .c-section--surface-white:not(.c-section--divider):not(.c-section--frame-bleed) + .element > .c-section--surface-white:not(.c-section--divider):not(.c-section--frame-bleed),
.l-page__main > .c-section--surface-soft:not(.c-section--divider):not(.c-section--frame-bleed) + .element > .c-section--surface-soft:not(.c-section--divider):not(.c-section--frame-bleed),
.l-page__main > .c-section--surface-dark:not(.c-section--divider):not(.c-section--frame-bleed) + .element > .c-section--surface-dark:not(.c-section--divider):not(.c-section--frame-bleed),
.l-page__main > .c-section--surface-primary:not(.c-section--divider):not(.c-section--frame-bleed) + .element > .c-section--surface-primary:not(.c-section--divider):not(.c-section--frame-bleed) {
  padding-top: var(--section-padding-start-same-surface, 0);
}

.c-section--surface-dark,
.c-section--surface-primary,
.c-section--frame-bleed {
  color: var(--ink-inverse);
}

.c-section--surface-dark,
.c-section--frame-bleed {
  --theme-primary-current: var(--theme-primary-inverse, var(--theme-primary));
  --theme-secondary-current: var(--theme-secondary-inverse, var(--theme-secondary));
  --theme-primary-current-rgb: var(--theme-primary-inverse-rgb, var(--theme-primary-rgb));
  --theme-secondary-current-rgb: var(--theme-secondary-inverse-rgb, var(--theme-secondary-rgb));
}

.c-section--surface-dark .p2-heading__lead,
.c-section--surface-primary .p2-heading__lead,
.c-section--frame-bleed .p2-heading__lead,
.c-section--surface-dark .p2-richtext,
.c-section--surface-primary .p2-richtext,
.c-section--frame-bleed .p2-richtext {
  color: rgba(245, 248, 252, 0.78);
}

.c-section--surface-dark .p2-split__fact-label,
.c-section--surface-primary .p2-split__fact-label,
.c-section--frame-bleed .p2-split__fact-label {
  color: rgba(245, 248, 252, 0.64);
}

.c-section--surface-dark .p2-split__fact,
.c-section--surface-primary .p2-split__fact,
.c-section--frame-bleed .p2-split__fact {
  border-top-color: rgba(255, 255, 255, 0.14);
}

.c-section--surface-white {
  --p2-card-surface: var(--p2-surface-muted, #f4f5f7);
}

.c-section--surface-soft {
  --p2-card-surface: var(--p2-surface, #fff);
}

.p2-banner-list {
  display: grid;
  gap: 1.5rem;
}

.p2-section-grid {
  display: grid;
  grid-template-columns: repeat(var(--p2-grid-columns-mobile, 1), minmax(0, 1fr));
  gap: var(--p2-grid-gap, var(--space-5));
}

.p2-section-grid--gap-tight {
  --p2-grid-gap: var(--space-4);
}

.p2-section-grid--gap-roomy {
  --p2-grid-gap: var(--space-7);
}

.p2-section-grid > * {
  min-width: 0;
}

.p2-items-layout--equal-height {
  align-items: stretch;
}

.p2-section-grid.p2-items-layout--equal-height > * {
  height: 100%;
}

.c-carousel.p2-items-layout--equal-height [data-embla-track] {
  align-items: stretch;
}

.c-carousel.p2-items-layout--equal-height [data-embla-track] > * {
  align-self: stretch;
}

.c-carousel.p2-items-layout--equal-height [data-embla-track] > :is(.p2-page-card, .p2-team-card, .p2-feature-card, .p2-news-card) {
  height: auto;
}

.p2-items-layout--equal-height :is(.p2-page-card, .p2-page-card__link, .p2-team-card, .p2-feature-card, .p2-news-card) {
  height: 100%;
}

.p2-page-card {
  height: 100%;
}

.el-items--page-grid .p2-page-card {
  container-type: inline-size;
}

.el-items--page-grid {
  --section-padding-end: 4.75rem;
}

.el-items--page-grid .p2-items-stack {
  --stack-space: 2.75rem;
}

.el-items--page-grid .c-carousel {
  --reel-gap-desktop: 2.5rem !important;
}

.p2-page-card__link {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background: var(--p2-card-surface, var(--p2-surface-muted, var(--surface-box, #f4f5f7)));
  border: 0;
  border-radius: var(--ui-radius);
}

.p2-page-card__media {
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.p2-page-card__media img,
.p2-page-card__media .image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p2-page-card__body {
  display: grid;
  gap: var(--space-3);
  align-content: start;
  align-self: stretch;
  padding: 1.875rem;
}

.el-items--page-grid .p2-page-card__body {
  padding: clamp(1.25rem, calc(0.9rem + 3cqw), 1.875rem);
}

.p2-page-card__title {
  margin: 0;
  color: var(--theme-primary-current, #12aeb4);
  font-size: var(--p2-card-title-size, 1.375rem);
  font-weight: 600;
  line-height: 1.5;
}

.el-items--page-grid .p2-page-card__title {
  font-size: clamp(1.125rem, calc(1rem + 1.2cqw), var(--p2-card-title-size, 1.375rem));
}

.p2-page-card__text {
  color: var(--p2-ink, var(--text-default, #231f20));
  font-size: var(--p2-body-size, 1rem);
  line-height: 1.5;
}

.el-items--page-grid .p2-page-card__text {
  font-size: clamp(0.9375rem, calc(0.84rem + 0.55cqw), 1rem);
}

.p2-page-card__text > * {
  margin-block: 0;
}

.p2-page-card__more {
  box-sizing: border-box;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  min-height: var(--p2-button-height, 3.125rem);
  border: 1px solid var(--theme-primary-current, #12aeb4);
  color: var(--theme-primary-current, #12aeb4);
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  margin-top: 0.25rem;
  padding: 0.75rem var(--p2-button-padding-x, 1.5625rem);
  font-size: var(--p2-button-font-size, 1.0625rem);
  font-weight: 600;
  line-height: 1.529;
  text-transform: uppercase;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.p2-page-card__more::after {
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  width: 1.125rem;
  height: 0.75rem;
  background: currentColor;
  mask: var(--p2-button-arrow) center / contain no-repeat;
  -webkit-mask: var(--p2-button-arrow) center / contain no-repeat;
}

.p2-page-card__link:is(:hover, :focus-visible, :active) .p2-page-card__more {
  background: var(--theme-primary-current, #12aeb4);
  border-color: var(--theme-primary-current, #12aeb4);
  color: #fff;
}

.p2-price-list-stack {
  container-type: inline-size;
  display: grid;
  gap: clamp(2rem, 4vw, 3.75rem);
}

.p2-price-list {
  container-type: inline-size;
  display: grid;
  gap: clamp(0.875rem, calc(0.7rem + 0.8cqw), 1rem);
}

.p2-price-list__title {
  margin: 0;
  color: var(--theme-primary-current, #12aeb4);
  font-size: clamp(1.125rem, 1.4vw, 1.5rem);
  font-size: clamp(1.125rem, calc(1rem + 0.6cqw), 1.5rem);
  font-weight: 600;
  line-height: 1.25;
  text-transform: uppercase;
}

.p2-price-list__content {
  min-width: 0;
  overflow-x: auto;
}

.p2-price-list__content table {
  width: 100%;
  min-width: 40rem;
  border-collapse: collapse;
  background: #fff;
  color: var(--p2-ink, #231f20);
  font-size: var(--p2-body-small-size, 0.9375rem);
  font-size: clamp(0.875rem, calc(0.82rem + 0.3cqw), var(--p2-body-small-size, 0.9375rem));
  line-height: 1.5;
}

.p2-price-list__content th,
.p2-price-list__content td {
  padding: clamp(0.75rem, calc(0.62rem + 0.55cqw), 0.875rem) clamp(0.75rem, calc(0.55rem + 0.9cqw), 1rem);
  border-bottom: 1px solid var(--p2-border, #c0c7cc);
  text-align: left;
  vertical-align: top;
}

.p2-price-list__content th {
  background: var(--p2-surface-muted, #f4f5f7);
  color: var(--p2-ink, #231f20);
  font-weight: 600;
}

.p2-price-list__content tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--p2-surface-muted, #f4f5f7) 52%, #fff);
}

.p2-price-list__content td:last-child,
.p2-price-list__content th:last-child {
  width: 14rem;
  color: var(--theme-primary-current, #12aeb4);
  font-weight: 600;
}

.p2-price-list__cta {
  display: flex;
  justify-content: flex-start;
  margin-top: 0.5rem;
}

.p2-news-card {
  display: grid;
  height: 100%;
  overflow: hidden;
  background: var(--p2-card-surface, var(--p2-surface, #fff));
  border: 0;
  border-bottom: 1px solid var(--p2-border, rgba(12, 25, 36, 0.1));
  border-radius: var(--ui-radius);
}

.p2-news-card__media {
  aspect-ratio: 12 / 7;
  overflow: hidden;
}

.p2-news-card__media img,
.p2-news-card__media .image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p2-news-card__body {
  display: grid;
  gap: var(--space-3);
  align-content: start;
  padding: clamp(1rem, 2vw, 1.45rem);
}

.p2-news-card__date {
  color: var(--theme-primary-current, #12aeb4);
  font-size: var(--p2-body-tiny-size, 0.8125rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.p2-news-card__date strong {
  font-size: 1.25em;
}

.p2-news-card__title {
  margin: 0;
  color: var(--p2-ink, var(--text-default, #231f20));
  font-size: var(--p2-card-title-size, 1.375rem);
  font-weight: 600;
  line-height: 1.5;
}

.p2-news-card__text {
  color: var(--p2-ink, var(--text-default, #231f20));
  line-height: 1.5;
}

.p2-news-grid__cta {
  justify-content: center;
}

.el-items--blog-list .p2-items-lane {
  width: min(calc(100% - (var(--page-gutter) * 2)), 72.5rem);
}

.p2-blog-list {
  display: grid;
  gap: 2.5rem;
}

.p2-blog-list__heading {
  display: block;
}

.p2-blog-list__heading .p2-heading__title {
  margin: 0;
}

.p2-blog-list__layout {
  display: grid;
  grid-template-columns: minmax(0, 53.75rem);
  gap: 2.5rem;
  align-items: start;
}

.p2-blog-list__layout--with-popular {
  grid-template-columns: minmax(0, 53.75rem) minmax(13rem, 16.25rem);
}

.p2-blog-list__posts {
  display: grid;
}

.p2-news-list-item {
  container-type: inline-size;
  position: relative;
  display: grid;
  grid-template-columns: minmax(18rem, 21.25rem) minmax(0, 30rem);
  gap: 2.5rem;
  min-width: 0;
  padding-bottom: 2.4375rem;
  border-bottom: 1px solid #c0c7cc;
}

.p2-news-list-item + .p2-news-list-item {
  padding-top: 2.5rem;
}

.p2-news-list-item__media-wrap {
  position: relative;
  min-width: 0;
  padding-left: 2.5rem;
}

.p2-news-list-item__media {
  width: 18.75rem;
  max-width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.p2-news-list-item__media img,
.p2-news-list-item__media .image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p2-news-list-item__date {
  position: absolute;
  left: 0;
  top: 6.25rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 6.25rem;
  padding: 0.5rem 0.5rem 0.75rem;
  background: var(--theme-primary-current, #12aeb4);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
}

.el-items--blog-list .p2-news-list-item__date {
  width: clamp(4.375rem, calc(3.8rem + 2cqw), 5rem);
  height: clamp(5.5rem, calc(4.7rem + 3cqw), 6.25rem);
  font-size: clamp(1rem, calc(0.82rem + 0.7cqw), 1.25rem);
}

.p2-news-list-item__date strong {
  display: block;
  width: 3.75rem;
  margin-block: 0.125rem 0.375rem;
  padding-bottom: 0.375rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.85);
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1;
}

.el-items--blog-list .p2-news-list-item__date strong {
  width: clamp(3.125rem, calc(2.65rem + 1.7cqw), 3.75rem);
  font-size: clamp(1.375rem, calc(1.05rem + 1.2cqw), 1.75rem);
}

.p2-news-list-item__date span:last-child {
  font-size: 1.125rem;
  font-weight: 400;
}

.el-items--blog-list .p2-news-list-item__date span:last-child {
  font-size: clamp(0.9375rem, calc(0.78rem + 0.6cqw), 1.125rem);
}

.p2-news-list-item__body {
  position: relative;
  display: grid;
  gap: 0.625rem;
  align-content: start;
  min-width: 0;
  padding-top: 0.5625rem;
}

.p2-news-list-item__title {
  max-width: 30rem;
  margin: 0;
  color: var(--theme-primary-current, #12aeb4);
  font-size: var(--p2-card-title-size, 1.375rem);
  font-weight: 600;
  line-height: 1.33;
}

.el-items--blog-list .p2-news-list-item__title {
  font-size: clamp(1.125rem, calc(1rem + 0.9cqw), 1.375rem);
  line-height: 1.3;
}

.p2-news-list-item__title a {
  color: inherit;
  text-decoration: none;
}

.p2-news-list-item__text {
  display: inline;
  color: var(--p2-ink, #231f20);
  font-size: var(--p2-body-size, 1rem);
  line-height: 1.5;
}

.el-items--blog-list .p2-news-list-item__text,
.el-items--blog-list .p2-news-list-item__summary {
  font-size: clamp(0.9375rem, calc(0.84rem + 0.45cqw), 1rem);
  line-height: 1.45;
}

.p2-news-list-item__text p {
  display: inline;
  margin: 0;
}

.p2-news-list-item__more {
  display: inline-grid;
  margin-left: 0.35rem;
  width: 1em;
  height: 1em;
  color: var(--theme-primary-current, #12aeb4);
  font-size: 1rem;
  line-height: 1;
  text-decoration: none;
  vertical-align: -0.05em;
}

.p2-news-list-item__summary {
  max-width: 30rem;
  color: var(--p2-ink, #231f20);
  font-size: var(--p2-body-size, 1rem);
  line-height: 1.5;
}

.p2-blog-list__popular {
  container-type: inline-size;
  min-width: 0;
}

.p2-blog-list__popular-title {
  width: fit-content;
  margin: 0 0 0.9375rem;
  padding: 0.3125rem 0.9375rem;
  background: var(--theme-primary-current, #12aeb4);
  color: #fff;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.5;
  text-transform: uppercase;
}

.el-items--blog-list .p2-blog-list__popular-title {
  margin-bottom: clamp(0.75rem, calc(0.6rem + 1cqw), 0.9375rem);
  padding: clamp(0.25rem, calc(0.16rem + 0.7cqw), 0.3125rem) clamp(0.75rem, calc(0.55rem + 1.5cqw), 0.9375rem);
  font-size: clamp(1rem, calc(0.84rem + 1.1cqw), 1.125rem);
  line-height: 1.35;
}

.p2-blog-list__popular-list {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding-left: 1.5rem;
  color: var(--p2-ink, #231f20);
  font-size: var(--p2-body-size, 1rem);
  line-height: 1.45;
}

.el-items--blog-list .p2-blog-list__popular-list {
  gap: clamp(0.75rem, calc(0.55rem + 1.3cqw), 1rem);
  padding-left: clamp(1.125rem, calc(0.85rem + 1.6cqw), 1.5rem);
  font-size: clamp(0.9375rem, calc(0.84rem + 0.45cqw), 1rem);
  line-height: 1.4;
}

.p2-blog-list__popular-item a,
.p2-blog-list__popular-item span:first-child {
  color: inherit;
}

.p2-blog-list__popular-score {
  color: #c0c7cc;
}

.p2-blog-list__cta {
  width: min(100%, 53.75rem);
  justify-content: center;
  margin-top: -0.25rem;
}

.p2-blog-list__pagination {
  margin-top: 0.5rem;
}

.p2-blog-list__empty {
  margin: 0;
  color: var(--p2-ink, #231f20);
  font-size: var(--p2-body-size, 1rem);
  line-height: 1.5;
}

.p2-blog-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(13rem, 16.25rem);
  gap: clamp(2rem, 5vw, 4.375rem);
  align-items: start;
}

.p2-service-aside {
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 20rem);
  gap: clamp(2rem, 4vw, 3.5rem);
}

.p2-service-aside-section > .c-section__items {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--p2-shell-max, var(--shell-width)));
  max-width: 100%;
  margin-inline: auto;
}

.p2-blog-detail__content {
  min-width: 0;
}

.p2-blog-detail__sidebar {
  container-type: inline-size;
  display: grid;
  gap: clamp(1.25rem, 3vw, 2rem);
  min-width: 0;
}

.p2-blog-detail__sidebar-media {
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: var(--p2-surface-muted, #f4f5f7);
}

.p2-blog-detail__sidebar-media img,
.p2-blog-detail__sidebar-media .image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p2-service-aside__cta,
.p2-service-aside__popular {
  container-type: inline-size;
  display: grid;
  gap: clamp(0.75rem, calc(0.55rem + 1.2cqw), 1rem);
  align-items: start;
  min-width: 0;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  padding: clamp(1rem, calc(0.8rem + 2.4cqw), 1.75rem);
  background: var(--p2-surface-muted, #f4f5f7);
  border-left: 0.3125rem solid var(--theme-primary-current, #12aeb4);
  overflow-wrap: anywhere;
}

.p2-service-aside__cta-title,
.p2-service-aside__popular .p2-blog-list__popular-title {
  margin: 0;
  padding: 0;
  background: transparent;
  color: var(--p2-ink, #231f20);
  font-size: var(--p2-card-title-size, 1.375rem);
  font-size: clamp(1.125rem, calc(0.95rem + 1.6cqw), var(--p2-card-title-size, 1.375rem));
  font-weight: 600;
  line-height: 1.35;
  text-transform: none;
}

.p2-service-aside__cta-text {
  min-width: 0;
  color: var(--p2-ink, #231f20);
  font-size: var(--p2-body-size, 1rem);
  font-size: clamp(0.9375rem, calc(0.84rem + 0.55cqw), var(--p2-body-size, 1rem));
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.p2-service-aside__cta-text p {
  margin: 0;
}

.p2-service-aside__cta .c-button {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding-inline: clamp(0.875rem, calc(0.65rem + 1.5cqw), var(--p2-button-padding-x, 1rem));
  white-space: normal;
  text-align: center;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}

.p2-service-aside__popular .p2-blog-list__popular-list {
  min-width: 0;
  gap: clamp(0.625rem, calc(0.45rem + 1.1cqw), 0.875rem);
  padding-left: clamp(1rem, calc(0.8rem + 1.4cqw), 1.25rem);
  font-size: var(--p2-body-small-size, 0.9375rem);
  font-size: clamp(0.875rem, calc(0.8rem + 0.55cqw), var(--p2-body-small-size, 0.9375rem));
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.p2-service-aside__all-link {
  width: fit-content;
  color: var(--theme-primary-current, #12aeb4);
  font-size: var(--p2-body-size, 1rem);
  font-size: clamp(0.9375rem, calc(0.84rem + 0.55cqw), var(--p2-body-size, 1rem));
  font-weight: 600;
  line-height: 1.45;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.p2-service-aside__all-link:is(:hover, :focus-visible, :active) {
  color: var(--theme-secondary-current, var(--theme-primary-current, #12aeb4));
}

.p2-blog-list__cta .c-button {
  border: 1px solid var(--theme-primary-current, #12aeb4);
  background: #fff;
  color: var(--theme-primary-current, #12aeb4);
}

.p2-blog-list__cta .c-button:is(:hover, :focus-visible, :active) {
  background: var(--theme-primary-current, #12aeb4);
  border-color: var(--theme-primary-current, #12aeb4);
  color: #fff;
}

@media (max-width: 63.99rem) {
  .el-items--blog-list .p2-blog-list__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1.75rem, 4vw, 2.25rem);
  }

  .el-items--blog-list .p2-news-list-item {
    grid-template-columns: 5rem minmax(0, 1fr);
    gap: clamp(0.875rem, 2.5vw, 1.25rem);
    align-items: start;
    padding-bottom: clamp(1.75rem, 4vw, 2.25rem);
  }

  .el-items--blog-list .p2-news-list-item + .p2-news-list-item {
    padding-top: clamp(1.75rem, 4vw, 2.25rem);
  }

  .el-items--blog-list .p2-news-list-item__media-wrap {
    min-height: clamp(5.5rem, calc(4.7rem + 3cqw), 6.25rem);
    padding-left: 0;
  }

  .el-items--blog-list .p2-news-list-item__media {
    display: none;
  }

  .el-items--blog-list .p2-news-list-item__date {
    position: static;
  }

  .el-items--blog-list .p2-news-list-item__body {
    padding-top: 0;
  }

  .el-items--blog-list .p2-blog-list__popular-title {
    width: 100%;
  }
}

.p2-feature-card {
  display: grid;
  height: 100%;
  gap: var(--space-3);
  align-content: start;
  padding: 3.75rem 1.875rem 2.375rem;
  background: var(--p2-card-surface, var(--p2-surface, #fff));
  border: 0;
  border-radius: var(--ui-radius);
}

.p2-items-stack:has(.p2-items--features .p2-feature-card__icon) {
  --stack-space: 5rem;
}

#element-155 .p2-items-stack:has(.p2-items--features .p2-feature-card__icon) {
  --stack-space: clamp(2.25rem, 4vw, 3rem);
}

.p2-items--features:has(.p2-feature-card__icon) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16.25rem), 16.25rem));
  justify-content: center;
  column-gap: 2.5rem;
  row-gap: 5rem;
}

.el-items--features-grid .p2-items--features {
  --visible-mobile: 1.25 !important;
}

.p2-items--features .p2-feature-card:has(.p2-feature-card__icon) {
  container-type: inline-size;
  position: relative;
  width: 16.25rem;
  min-height: 18.375rem;
  padding: 4rem 1.875rem 1.5rem;
  gap: 0;
  justify-items: center;
  text-align: center;
  background: var(--p2-card-surface, #fff);
  border-radius: 0;
}

.el-items--features-grid .p2-items--features .p2-feature-card:has(.p2-feature-card__icon) {
  padding: clamp(3.5rem, calc(3rem + 2cqw), 4rem) clamp(1.125rem, calc(0.75rem + 7cqw), 1.875rem) clamp(1.125rem, calc(0.75rem + 3cqw), 1.5rem);
}

.p2-section .c-carousel.p2-items--features .c-carousel__viewport {
  padding-top: 2.5rem;
}

.p2-feature-card__icon {
  display: inline-grid;
  place-items: center;
  color: var(--theme-primary-current, #12aeb4);
  font-size: 2rem;
}

.p2-items--features .p2-feature-card__icon {
  position: absolute;
  top: -2.5rem;
  left: 50%;
  width: 5rem;
  height: 5rem;
  color: #fff;
  background: var(--theme-primary-current, #12aeb4);
  transform: translateX(-50%);
}

.p2-feature-card__icon-glyph {
  display: inline-grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  line-height: 0;
}

.p2-feature-card__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.p2-items--features .p2-feature-card__icon svg {
  width: 100%;
  height: 100%;
}

.p2-items--features .p2-feature-card__icon svg[viewBox="0 0 54 42"] {
  width: 3.375rem;
  height: 2.625rem;
}

.p2-items--features .p2-feature-card__icon svg[viewBox="0 0 51 40"] {
  width: 3.1875rem;
  height: 2.5rem;
}

.p2-feature-card__title {
  margin: 0;
  color: var(--p2-ink, var(--text-default, #231f20));
  font-size: var(--p2-card-title-size, 1.375rem);
  font-weight: 600;
  line-height: 1.5;
}

.p2-items--features .p2-feature-card:has(.p2-feature-card__icon) .p2-feature-card__title {
  color: var(--theme-primary-current, #12aeb4);
  font-size: var(--p2-card-title-size, 1.375rem);
  line-height: 1.25;
}

.el-items--features-grid .p2-items--features .p2-feature-card:has(.p2-feature-card__icon) .p2-feature-card__title {
  font-size: clamp(1.125rem, calc(0.95rem + 1.6cqw), 1.375rem);
}

.p2-feature-card__text {
  color: var(--p2-ink, var(--text-default, #231f20));
  line-height: 1.5;
}

.p2-items--features .p2-feature-card:has(.p2-feature-card__icon) .p2-feature-card__text {
  margin-top: 1rem;
  font-size: var(--p2-body-size, 1rem);
  line-height: 1.35;
}

.el-items--features-grid .p2-items--features .p2-feature-card:has(.p2-feature-card__icon) .p2-feature-card__text {
  font-size: clamp(0.9375rem, calc(0.84rem + 1cqw), 1rem);
}

.p2-items--features .p2-feature-card:has(.p2-feature-card__icon) .p2-feature-card__text strong {
  font-weight: 700;
}

.p2-items--features .p2-feature-card:has(.p2-feature-card__title:first-child) {
  text-align: center;
}

.p2-items--features .p2-feature-card__title:first-child {
  color: var(--theme-primary-current, #12aeb4);
  font-size: var(--p2-stat-number-size, 3rem);
  line-height: 1.5;
}

@media (max-width: 47.99rem) {
  .p2-items--features:has(.p2-feature-card__icon) {
    column-gap: 1rem;
    row-gap: 4rem;
  }

  .p2-items--features .p2-feature-card:has(.p2-feature-card__icon) {
    width: min(100%, 14rem);
    min-height: 15.75rem;
    padding: 3.5rem 1.125rem 1.125rem;
  }

  .p2-items--features .p2-feature-card:has(.p2-feature-card__icon) .p2-feature-card__title {
    font-size: clamp(1.0625rem, calc(0.92rem + 0.8cqw), 1.125rem);
    line-height: 1.22;
  }

  .p2-items--features .p2-feature-card:has(.p2-feature-card__icon) .p2-feature-card__text {
    margin-top: 0.625rem;
    font-size: var(--p2-body-meta-size, 0.875rem);
    line-height: 1.34;
  }
}

.el-items--faq-accordion .p2-items-stack {
  --stack-space: var(--space-6);
}

.p2-items--faq {
  align-items: start;
}

.p2-faq-item {
  container-type: inline-size;
  min-width: 0;
  overflow: hidden;
  background: var(--p2-card-surface, var(--p2-surface, #fff));
  border: 1px solid color-mix(in srgb, var(--p2-border, #c0c7cc) 62%, transparent);
  border-radius: var(--ui-radius);
  box-shadow: 0 0.5rem 1.625rem rgba(35, 31, 32, 0.08);
}

.p2-faq-item__summary {
  container-type: inline-size;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1.5rem;
  gap: clamp(0.875rem, calc(0.65rem + 1.2cqw), var(--space-4));
  align-items: center;
  min-height: 4.25rem;
  padding: clamp(1rem, calc(0.8rem + 1.2cqw), 1.25rem) clamp(1rem, calc(0.75rem + 1.6cqw), 1.5rem);
  color: var(--p2-ink, #231f20);
  cursor: pointer;
  list-style: none;
}

.p2-faq-item__summary::-webkit-details-marker {
  display: none;
}

.p2-faq-item__summary:focus-visible {
  outline: 2px solid var(--theme-primary-current, #12aeb4);
  outline-offset: -0.25rem;
}

.p2-faq-item__title {
  min-width: 0;
  font-size: var(--p2-faq-title-size, 1.1875rem);
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.p2-faq-item__icon {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 1.25rem;
  height: 1.25rem;
  color: var(--theme-primary-current, #12aeb4);
}

.p2-faq-item__icon::before,
.p2-faq-item__icon::after {
  content: "";
  position: absolute;
  width: 1rem;
  height: 0.125rem;
  background: currentColor;
  transition: transform 160ms ease;
}

.p2-faq-item__icon::after {
  transform: rotate(90deg);
}

.p2-faq-item[open] .p2-faq-item__icon::after {
  transform: rotate(0deg);
}

.p2-faq-item__content {
  container-type: inline-size;
  padding: 0 clamp(1rem, calc(0.75rem + 1.6cqw), 1.5rem) clamp(1rem, calc(0.75rem + 1.6cqw), 1.5rem);
  color: var(--p2-ink-muted, #56626a);
  font-size: var(--p2-body-size, 1rem);
  font-size: clamp(0.9375rem, calc(0.84rem + 0.55cqw), var(--p2-body-size, 1rem));
  line-height: 1.6;
}

.p2-faq-item__content a {
  color: var(--theme-primary-current, #12aeb4);
  font-weight: 600;
}

.p2-faq-item__content ul,
.p2-faq-item__content ol {
  padding-left: 1.25rem;
}

.p2-faq-item__content li + li {
  margin-top: 0.35rem;
}

.el-items--stats-strip {
  --section-padding-start: 3.75rem;
  --section-padding-end: 3.75rem;
}

.el-items--stats-strip .p2-items-lane {
  width: min(calc(100% - 2rem), 75rem);
}

.p2-stats-strip {
  display: grid;
  min-height: 11.875rem;
}

.p2-stats-strip .p2-feature-card {
  container-type: inline-size;
  min-height: 11.875rem;
  padding: 0 1.5rem;
  place-items: center;
  align-content: center;
  gap: 0.625rem;
  text-align: center;
  background: transparent;
  border-radius: 0;
}

.p2-stats-strip .p2-feature-card__title {
  margin: 0;
  color: var(--theme-primary-current, #12aeb4);
  font-size: var(--p2-stat-number-size, 3rem);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}

.p2-stats-strip .p2-feature-card__title {
  font-size: clamp(2.5rem, calc(2rem + 4cqw), 3rem);
}

.p2-stats-strip .p2-feature-card__text {
  width: min(100%, 18.75rem);
  color: var(--p2-ink, #231f20);
  font-size: var(--p2-stat-text-size, 1.25rem);
  font-weight: 400;
  line-height: 1.25;
}

.p2-stats-strip .p2-feature-card__text {
  font-size: clamp(1.0625rem, calc(0.9rem + 1.3cqw), 1.25rem);
}

.p2-stats-strip .p2-feature-card__text strong {
  font-weight: 700;
}

.p2-stats-strip .p2-feature-card__text p {
  margin: 0;
}

@media (min-width: 48rem) {
  .p2-stats-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .p2-stats-strip .p2-feature-card + .p2-feature-card {
    border-left: 1px solid var(--p2-border, #c0c7cc);
  }
}

@media (max-width: 47.99rem) {
  .el-items--stats-strip {
    --section-padding-start: var(--section-space);
    --section-padding-end: var(--section-space);
  }

  .p2-stats-strip {
    min-height: 0;
  }

  .p2-stats-strip .p2-feature-card {
    min-height: 0;
    padding: clamp(1.25rem, calc(1rem + 2cqw), 1.75rem) 0;
  }

  .p2-stats-strip .p2-feature-card:first-child {
    padding-top: 0;
  }

  .p2-stats-strip .p2-feature-card:last-child {
    padding-bottom: 0;
  }

  .p2-stats-strip .p2-feature-card + .p2-feature-card {
    border-top: 1px solid var(--p2-border, #c0c7cc);
  }

  .p2-stats-strip .p2-feature-card__title {
    font-size: clamp(2.5rem, calc(2rem + 4cqw), 3rem);
  }

  .p2-stats-strip .p2-feature-card__text {
    font-size: clamp(1.0625rem, calc(0.9rem + 1.3cqw), 1.25rem);
  }
}

.el-page--dataling-about-intro {
  --section-padding-start: 6.25rem;
  --section-padding-end: 3.75rem;
}

.el-page--dataling-about-intro .p2-heading {
  max-width: 60rem;
}

.el-page--dataling-about-intro .p2-heading__title + .p2-heading__lead {
  margin-top: 1.6875rem;
}

.el-page--dataling-about-intro .p2-heading__lead {
  color: var(--p2-ink, #231f20);
  font-size: var(--p2-body-large-size, 1.0625rem);
  font-size: clamp(0.9375rem, calc(0.9rem + 0.45cqw), var(--p2-body-large-size, 1.0625rem));
  line-height: 1.55;
}

.el-page--dataling-about-intro .p2-heading__lead a {
  color: var(--theme-primary-current, #12aeb4);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.08em;
}

.el-page--dataling-podcast {
  --section-padding-start: 3.75rem;
  --section-padding-end: 6.25rem;
}

@media (max-width: 47.99rem) {
  .el-items--page-grid,
  .el-page--dataling-about-intro,
  .el-page--dataling-podcast {
    --section-padding-start: var(--section-space);
    --section-padding-end: var(--section-space);
  }
}

.el-page--dataling-podcast .p2-items-lane {
  width: min(calc(100% - 2rem), 47.5rem);
}

.el-page--dataling-podcast .p2-split {
  gap: 2.5rem;
}

.p2-podcast__media-card {
  position: relative;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.p2-podcast__media-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.p2-podcast__media-link:focus-visible {
  outline: 3px solid var(--theme-primary-current, #12aeb4);
  outline-offset: 4px;
}

.p2-podcast__media-card img,
.p2-podcast__media-card .image {
  width: 100%;
  height: auto;
}

.p2-podcast__play {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  width: 3.75rem;
  height: 3.75rem;
  color: rgba(255, 255, 255, 0.88);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.p2-podcast__play svg {
  display: block;
  width: 100%;
  height: 100%;
}

.p2-podcast__body {
  display: grid;
  gap: 0.625rem;
  align-content: start;
}

.p2-podcast__title {
  margin: 0;
  color: var(--theme-primary-current, #12aeb4);
  font-size: var(--p2-card-title-size, 1.375rem);
  font-weight: 600;
  line-height: 1.5;
}

.p2-podcast__text {
  color: var(--p2-ink, #231f20);
  font-size: var(--p2-body-size, 1rem);
  line-height: 1.5;
}

.p2-podcast__text > :first-child {
  margin-top: 0;
}

.p2-podcast__text > :last-child {
  margin-bottom: 0;
}

.p2-podcast-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5, 1.5rem);
}

.p2-podcast-card {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  overflow: hidden;
  background: var(--p2-card-surface, var(--p2-surface, #fff));
  border: 0;
  border-bottom: 1px solid var(--p2-border, rgba(12, 25, 36, 0.1));
  border-radius: var(--ui-radius);
}

.p2-podcast-card__media {
  position: relative;
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}

.p2-podcast-card__media img,
.p2-podcast-card__media .image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p2-podcast-card__body {
  display: grid;
  gap: var(--space-3, 0.75rem);
  align-content: start;
  padding: clamp(1rem, 2vw, 1.45rem);
}

.p2-podcast-card__date {
  margin: 0;
  color: var(--theme-primary-current, #12aeb4);
  font-size: var(--p2-body-tiny-size, 0.8125rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.p2-podcast-card__title {
  margin: 0;
  color: var(--p2-ink, var(--text-default, #231f20));
  font-size: var(--p2-card-title-size, 1.375rem);
  font-weight: 600;
  line-height: 1.5;
}

.p2-podcast-card__text {
  color: var(--p2-ink, var(--text-default, #231f20));
  font-size: var(--p2-body-small-size, 0.9375rem);
  line-height: 1.5;
}

.p2-podcast-card__text > :first-child {
  margin-top: 0;
}

.p2-podcast-card__text > :last-child {
  margin-bottom: 0;
}

@media (max-width: 56rem) {
  .p2-podcast-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 40rem) {
  .p2-podcast-list {
    grid-template-columns: 1fr;
  }
}

.p2-video-modal {
  width: min(64rem, calc(100vw - 2rem));
  max-width: 64rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
}

.p2-video-modal::backdrop {
  background: rgba(11, 17, 32, 0.78);
}

.p2-video-modal__panel {
  position: relative;
  padding: clamp(0.75rem, 2vw, 1rem);
  border-radius: var(--ui-radius);
  background: #111827;
  box-shadow: 0 2rem 4rem rgba(11, 17, 32, 0.35);
}

.p2-video-modal__close {
  position: absolute;
  z-index: 2;
  top: 0.5rem;
  right: 0.5rem;
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: rgba(17, 24, 39, 0.72);
  color: #fff;
  font-size: 1.625rem;
  line-height: 1;
  cursor: pointer;
}

.p2-video-modal__close:is(:hover, :focus-visible) {
  background: #fff;
  color: #111827;
}

.p2-video-modal__frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: calc(var(--ui-radius) * 0.75);
  background: #000;
}

.p2-video-modal__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (min-width: 48rem) {
  .p2-section-grid {
    grid-template-columns: repeat(var(--p2-grid-columns-tablet, var(--p2-grid-columns, 2)), minmax(0, 1fr));
  }
}

@media (min-width: 64rem) {
  .p2-section-grid {
    grid-template-columns: repeat(var(--p2-grid-columns-desktop, var(--p2-grid-columns, 2)), minmax(0, 1fr));
  }
}

.p2-reference {
  min-width: 0;
}

.p2-reference__surface {
  display: grid;
  gap: var(--space-4);
  height: 100%;
  padding: clamp(1rem, 2vw, 1.4rem);
  border: 1px solid rgba(23, 32, 43, 0.08);
  border-radius: var(--ui-radius);
  background: var(--p2-card-surface, rgba(255, 255, 255, 0.92));
  box-shadow: var(--ui-shadow);
}

.c-section--surface-soft .p2-reference__surface {
  background: var(--p2-card-surface, rgba(255, 255, 255, 0.96));
}

.c-section--surface-dark .p2-reference__surface,
.c-section--surface-primary .p2-reference__surface {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.14);
}

.p2-reference--logo .p2-reference__surface {
  place-items: center;
  align-content: center;
  min-height: 12rem;
}

.p2-reference__logo {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 6rem;
}

.p2-reference__logo img,
.p2-reference__avatar img,
.p2-reference__person-logo img {
  display: block;
  max-width: 100%;
  height: auto;
}

.p2-reference__logo-title {
  margin: 0;
  text-align: center;
  color: var(--section-fg-soft);
  font-size: var(--p2-body-meta-size, 0.875rem);
}

.p2-reference__quote-mark {
  color: var(--theme-primary-current);
  font-size: 2.8rem;
  line-height: 1;
  font-weight: 700;
}

.p2-reference__quote {
  color: var(--section-fg-soft);
}

.p2-reference__quote > :first-child,
.p2-reference__quote > :last-child {
  margin-block-start: 0;
  margin-block-end: 0;
}

.p2-reference__person {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  align-items: center;
}

.p2-reference__avatar img {
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
  object-fit: cover;
}

.p2-reference__person-copy {
  display: grid;
  gap: 0.2rem;
}

.p2-reference__name,
.p2-reference__role,
.p2-reference__rating {
  display: block;
}

.p2-reference__name {
  font-size: var(--p2-body-small-size, 0.9375rem);
}

.p2-reference__role,
.p2-reference__rating {
  color: var(--section-fg-soft);
  font-size: var(--p2-body-tiny-size, 0.8125rem);
}

.p2-reference__person-logo {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
}

.c-section--surface-dark .p2-reference__logo-title,
.c-section--surface-primary .p2-reference__logo-title,
.c-section--surface-dark .p2-reference__quote,
.c-section--surface-primary .p2-reference__quote,
.c-section--surface-dark .p2-reference__role,
.c-section--surface-primary .p2-reference__role,
.c-section--surface-dark .p2-reference__rating,
.c-section--surface-primary .p2-reference__rating {
  color: rgba(245, 248, 252, 0.78);
}

.p2-supported-child-card {
  min-width: 0;
  height: 100%;
  container-type: inline-size;
}

.p2-supported-child-card__link {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100%;
  min-height: 15rem;
  color: var(--section-fg, var(--theme-text, #25313b));
  text-decoration: none;
}

.p2-supported-child-card__media {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  background: color-mix(in srgb, var(--theme-primary-current, #12aeb4) 10%, #ffffff);
}

.p2-supported-child-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: url("../images/supported-child-overlay-1.png") no-repeat 50%;
  background-size: 100% 100%;
  pointer-events: none;
}

.p2-section-grid > .p2-supported-child-card:nth-child(even) .p2-supported-child-card__media::after,
.o-reel > .p2-supported-child-card:nth-child(even) .p2-supported-child-card__media::after {
  background-image: url("../images/supported-child-overlay-2.png");
}

.p2-supported-child-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms ease;
}

.p2-supported-child-card__body {
  display: grid;
  align-items: center;
  min-height: 4.4rem;
  margin-top: clamp(0.875rem, 4cqw, 1rem);
  padding: clamp(0.875rem, 4cqw, 1.125rem) clamp(0.75rem, 4cqw, 1rem);
  border-top: 4px solid var(--theme-primary-current, #12aeb4);
  background: var(--p2-surface, #ffffff);
}

.p2-supported-child-card__title {
  margin: 0;
  color: inherit;
  font-family: var(--font-body);
  font-size: var(--p2-card-title-size, 1.125rem);
  font-size: clamp(0.95rem, calc(0.82rem + 1.2cqw), var(--p2-card-title-size, 1.125rem));
  font-weight: 700;
  line-height: 1.22;
  text-align: center;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.p2-supported-child-card__link:is(:hover, :focus-visible) .p2-supported-child-card__media img {
  transform: scale(1.1);
}

.p2-supported-child-card__link:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--theme-primary-current, #12aeb4) 42%, #ffffff);
  outline-offset: 3px;
}

.c-section--surface-dark .p2-supported-child-card__link,
.c-section--surface-primary .p2-supported-child-card__link {
  color: var(--section-fg, #ffffff);
}

.c-section--surface-dark .p2-supported-child-card__body,
.c-section--surface-primary .p2-supported-child-card__body {
  background: rgb(255 255 255 / 0.08);
}

.p2-section .c-carousel,
.p2-section .c-carousel__viewport,
.p2-section .c-carousel [data-embla-track],
.p2-section .c-carousel [data-embla-track] > * {
  min-width: 0;
  max-width: 100%;
}

.p2-section .c-carousel {
  width: 100%;
  overflow: hidden;
  contain: layout paint;
}

.p2-section .c-carousel__viewport {
  width: 100%;
  overflow: hidden;
  overscroll-behavior-x: contain;
  touch-action: pan-y;
}

.p2-section .c-carousel.is-grid-mode {
  overflow: visible;
  contain: layout;
}

.p2-section .c-carousel.is-grid-mode .c-carousel__viewport {
  overflow: visible;
}

.p2-section .c-carousel [data-embla-track] {
  display: flex;
  width: 100%;
  max-width: none;
  gap: var(--reel-gap-mobile, var(--space-4));
  will-change: transform;
  user-select: none;
}

.p2-section .c-carousel [data-embla-track] :is(a, img) {
  -webkit-user-drag: none;
  touch-action: pan-y;
  user-select: none;
}

.p2-section .c-carousel.is-dragging [data-embla-track],
.p2-section .c-carousel.is-dragging [data-embla-track] * {
  cursor: grabbing;
}

.p2-section .c-carousel [data-embla-track] > * {
  flex: 0 0 auto;
  width: calc((100% - ((var(--visible-mobile, 1) - 1) * var(--reel-gap-mobile, var(--space-4)))) / var(--visible-mobile, 1));
  max-width: none;
}

.p2-section .c-carousel.is-grid-mode [data-embla-track] {
  display: grid;
  grid-template-columns: repeat(var(--p2-grid-columns-mobile, 1), minmax(0, 1fr));
  grid-auto-flow: row;
  grid-auto-columns: auto;
  gap: var(--p2-grid-gap, var(--reel-gap-mobile, var(--space-4)));
  transform: none !important;
  transition: none !important;
  will-change: auto;
}

.p2-section .c-carousel.is-grid-mode [data-embla-track] > * {
  width: auto;
  max-width: 100%;
}

.p2-section .c-carousel.is-grid-mode .c-carousel__controls,
.p2-section .c-carousel.is-grid-mode .c-carousel__status,
.p2-section .c-carousel.is-grid-mode .c-carousel__dots,
.p2-section .c-carousel.is-grid-mode .c-carousel__arrows {
  display: none;
}

@media (max-width: 47.999rem) {
  .p2-section .c-carousel[data-embla-mode-mobile="grid"] {
    overflow: visible;
    contain: layout;
  }

  .p2-section .c-carousel[data-embla-mode-mobile="grid"] .c-carousel__viewport {
    overflow: visible;
  }

  .p2-section .c-carousel[data-embla-mode-mobile="grid"] [data-embla-track] {
    display: grid;
    grid-template-columns: repeat(var(--p2-grid-columns-mobile, 1), minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: auto;
    gap: var(--p2-grid-gap, var(--reel-gap-mobile, var(--space-4)));
    transform: none !important;
    transition: none !important;
    will-change: auto;
  }

  .p2-section .c-carousel[data-embla-mode-mobile="grid"] [data-embla-track] > * {
    width: auto;
    max-width: 100%;
  }

  .p2-section .c-carousel[data-embla-mode-mobile="grid"] .c-carousel__controls,
  .p2-section .c-carousel[data-embla-mode-mobile="grid"] .c-carousel__status,
  .p2-section .c-carousel[data-embla-mode-mobile="grid"] .c-carousel__dots,
  .p2-section .c-carousel[data-embla-mode-mobile="grid"] .c-carousel__arrows {
    display: none;
  }
}

@media (min-width: 48rem) {
  .p2-section .c-carousel [data-embla-track] {
    gap: var(--reel-gap-tablet, var(--space-5));
  }

  .p2-section .c-carousel [data-embla-track] > * {
    width: calc((100% - ((var(--visible-tablet, var(--visible-mobile, 1)) - 1) * var(--reel-gap-tablet, var(--space-5)))) / var(--visible-tablet, var(--visible-mobile, 1)));
  }
}

@media (min-width: 48rem) and (max-width: 63.999rem) {
  .p2-section .c-carousel[data-embla-mode-tablet="grid"] {
    overflow: visible;
    contain: layout;
  }

  .p2-section .c-carousel[data-embla-mode-tablet="grid"] .c-carousel__viewport {
    overflow: visible;
  }

  .p2-section .c-carousel[data-embla-mode-tablet="grid"] [data-embla-track] {
    display: grid;
    grid-template-columns: repeat(var(--p2-grid-columns-tablet, var(--p2-grid-columns, 2)), minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: auto;
    gap: var(--p2-grid-gap, var(--reel-gap-tablet, var(--space-5)));
    transform: none !important;
    transition: none !important;
    will-change: auto;
  }

  .p2-section .c-carousel[data-embla-mode-tablet="grid"] [data-embla-track] > * {
    width: auto;
    max-width: 100%;
  }

  .p2-section .c-carousel[data-embla-mode-tablet="grid"] .c-carousel__controls,
  .p2-section .c-carousel[data-embla-mode-tablet="grid"] .c-carousel__status,
  .p2-section .c-carousel[data-embla-mode-tablet="grid"] .c-carousel__dots,
  .p2-section .c-carousel[data-embla-mode-tablet="grid"] .c-carousel__arrows {
    display: none;
  }
}

@media (min-width: 64rem) {
  .p2-section .c-carousel [data-embla-track] {
    gap: var(--reel-gap-desktop, var(--space-5));
  }

  .p2-section .c-carousel [data-embla-track] > * {
    width: calc((100% - ((var(--visible-desktop, 3) - 1) * var(--reel-gap-desktop, var(--space-5)))) / var(--visible-desktop, 3));
  }

  .p2-section .c-carousel[data-embla-mode-desktop="grid"] {
    overflow: visible;
    contain: layout;
  }

  .p2-section .c-carousel[data-embla-mode-desktop="grid"] .c-carousel__viewport {
    overflow: visible;
  }

  .p2-section .c-carousel[data-embla-mode-desktop="grid"] [data-embla-track] {
    display: grid;
    grid-template-columns: repeat(var(--p2-grid-columns-desktop, var(--p2-grid-columns, var(--visible-desktop, 3))), minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: auto;
    gap: var(--p2-grid-gap, var(--reel-gap-desktop, var(--space-5)));
    transform: none !important;
    transition: none !important;
    will-change: auto;
  }

  .p2-section .c-carousel[data-embla-mode-desktop="grid"] [data-embla-track] > * {
    width: auto;
    max-width: 100%;
  }

  .p2-section .c-carousel[data-embla-mode-desktop="grid"] .c-carousel__controls,
  .p2-section .c-carousel[data-embla-mode-desktop="grid"] .c-carousel__status,
  .p2-section .c-carousel[data-embla-mode-desktop="grid"] .c-carousel__dots,
  .p2-section .c-carousel[data-embla-mode-desktop="grid"] .c-carousel__arrows {
    display: none;
  }
}

.p2-section .c-carousel--controls-bottom,
.p2-section .c-carousel--controls-side-arrows-dots {
  position: relative;
  overflow: visible;
  contain: layout;
}

.p2-section .c-carousel--controls-bottom .c-carousel__controls,
.p2-section .c-carousel--controls-side-arrows-dots .c-carousel__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-top: var(--space-5);
}

.p2-section .c-carousel--controls-bottom .c-carousel__status,
.p2-section .c-carousel--controls-side-arrows-dots .c-carousel__status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.p2-section .c-carousel--controls-bottom .c-carousel__dots,
.p2-section .c-carousel--controls-bottom .c-carousel__arrows,
.p2-section .c-carousel--controls-side-arrows-dots .c-carousel__dots,
.p2-section .c-carousel--controls-side-arrows-dots .c-carousel__arrows {
  display: flex;
  align-items: center;
}

.p2-section .c-carousel--controls-bottom .c-carousel__arrows,
.p2-section .c-carousel--controls-side-arrows-dots .c-carousel__arrows {
  gap: 0.25rem;
}

.p2-section .c-carousel--controls-bottom .c-carousel__dots,
.p2-section .c-carousel--controls-side-arrows-dots .c-carousel__dots {
  justify-content: flex-start;
  gap: 0.375rem;
}

.p2-section .c-carousel--controls-bottom .c-carousel__dot,
.p2-section .c-carousel--controls-side-arrows-dots .c-carousel__dot {
  width: 0.5rem;
  height: 0.5rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #c0c7cc;
  cursor: pointer;
}

.p2-section .c-carousel--controls-bottom .c-carousel__dot.is-active,
.p2-section .c-carousel--controls-side-arrows-dots .c-carousel__dot.is-active {
  background: #737b82;
}

.p2-section .c-carousel--controls-bottom .c-carousel__arrow,
.p2-section .c-carousel--controls-side-arrows-dots .c-carousel__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #12aeb4;
  line-height: 1;
  cursor: pointer;
}

.p2-section .c-carousel--controls-bottom .c-carousel__arrow-icon,
.p2-section .c-carousel--controls-side-arrows-dots .c-carousel__arrow-icon {
  width: 1rem;
  height: 2rem;
  display: block;
}

.p2-section .c-carousel--controls-bottom .c-carousel__arrow:disabled,
.p2-section .c-carousel--controls-side-arrows-dots .c-carousel__arrow:disabled {
  color: #c0c7cc;
  cursor: default;
}

@media (min-width: 64rem) {
  .p2-section .c-carousel--controls-side-arrows-dots .c-carousel__controls {
    justify-content: center;
    margin-top: var(--space-6);
  }

  .p2-section .c-carousel--controls-side-arrows-dots .c-carousel__arrows {
    display: block;
  }

  .p2-section .c-carousel--controls-side-arrows-dots .c-carousel__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
  }

  .p2-section .c-carousel--controls-side-arrows-dots .c-carousel__arrow-icon {
    width: 1.25rem;
    height: 2.5rem;
  }

  .p2-section .c-carousel--controls-side-arrows-dots [data-embla-prev] {
    left: calc(-1 * clamp(2rem, 4vw, 4.5rem));
  }

  .p2-section .c-carousel--controls-side-arrows-dots [data-embla-next] {
    right: calc(-1 * clamp(2rem, 4vw, 4.5rem));
  }

}

.p2-section .c-carousel--banner [data-embla-track] {
  display: flex;
  grid-auto-flow: initial;
  grid-auto-columns: auto;
  width: 100%;
  gap: 0;
}

.p2-section .c-carousel--banner [data-embla-track] > * {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
}

.c-section--frame-bleed .p2-banner-list {
  gap: 0;
}

.c-section--banner.c-section--banner-boxed .c-carousel--banner {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.c-section--banner.c-section--banner-boxed .c-carousel--banner .c-carousel__viewport {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.c-section--banner.c-section--banner-boxed .c-carousel--banner [data-embla-track] {
  display: flex;
  width: 100%;
  max-width: 100%;
  gap: 0;
}

.c-section--banner.c-section--banner-boxed .c-carousel--banner [data-embla-track] > * {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}

.p2-section .c-banner {
  position: relative;
  display: grid;
  min-height: 0;
  block-size: var(--p2-banner-set-height, auto);
  overflow: clip;
  background: #11161a;
  color: #fff;
}

.c-section--frame-bleed .c-banner {
  border-radius: 0;
}

.c-section--banner:not(.c-section--frame-bleed) .c-banner {
  border-radius: calc(var(--ui-radius) * 1.25);
  box-shadow: var(--ui-shadow);
}

.p2-section .c-banner__media,
.p2-section .c-banner__overlay,
.p2-section .c-banner__content {
  grid-area: 1 / 1;
}

.p2-section .c-banner__media,
.p2-section .c-banner__media picture,
.p2-section .c-banner__media .image,
.p2-section .c-banner__media img {
  display: block;
  width: 100%;
  height: 100%;
}

.p2-section .c-banner__media img,
.p2-section .c-banner__media .image {
  object-fit: cover;
}

.p2-section .c-banner.c-banner--media-cover .c-banner__media img,
.p2-section .c-banner.c-banner--media-cover .c-banner__media .image {
  object-fit: cover;
}

.p2-section .c-banner.c-banner--media-contain {
  block-size: auto;
  min-block-size: 0;
  background: transparent;
}

.p2-section .c-banner.c-banner--media-contain .c-banner__media {
  position: relative;
  inset: auto;
}

.p2-section .c-banner.c-banner--media-contain .c-banner__media,
.p2-section .c-banner.c-banner--media-contain .c-banner__media picture,
.p2-section .c-banner.c-banner--media-contain .c-banner__media .image,
.p2-section .c-banner.c-banner--media-contain .c-banner__media img {
  height: auto;
}

.p2-section .c-banner.c-banner--media-contain .c-banner__media img,
.p2-section .c-banner.c-banner--media-contain .c-banner__media .image {
  object-fit: contain;
}

.p2-section .c-banner__overlay {
  position: relative;
}

.p2-section .c-banner__overlay.c-banner__overlay--plain {
  background: transparent;
  mix-blend-mode: normal;
}

.p2-section .c-banner__overlay.c-banner__overlay--soft {
  background: linear-gradient(90deg, rgba(12, 18, 24, 0.72) 0%, rgba(12, 18, 24, 0.42) 38%, rgba(12, 18, 24, 0.12) 100%), linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.08));
  backdrop-filter: blur(2px);
}

.p2-section .c-banner__overlay.c-banner__overlay--solid {
  background: linear-gradient(90deg, rgba(12, 18, 24, 0.92) 0%, rgba(12, 18, 24, 0.84) 40%, rgba(12, 18, 24, 0.52) 100%);
}

.p2-section .c-banner__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 0 0 auto;
  align-items: stretch;
  width: 100%;
  min-height: 0;
  padding-block: clamp(0.7rem, 1.8vw, 1.35rem);
  padding-inline: 0;
}

.p2-section .c-banner__panel {
  --banner-panel-measure-current: var(--banner-measure, 60rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  width: 100%;
  min-height: 100%;
  padding-inline: max(var(--page-gutter), calc((100% - var(--shell-width)) / 2));
}

.p2-section .c-banner__panel > * {
  box-sizing: border-box;
  min-width: 0;
  width: min(var(--banner-panel-measure-current), 100%);
}

.p2-section .c-banner__panel.c-banner__panel--narrow {
  --banner-panel-measure-current: var(--banner-measure-narrow, 44rem);
}

.p2-section .c-banner__panel.c-banner__panel--default {
  --banner-panel-measure-current: var(--banner-measure, 52.5rem);
}

.p2-section .c-banner__panel.c-banner__panel--wide {
  --banner-panel-measure-current: var(--banner-measure-wide, 72rem);
}

.p2-section .c-banner__panel.c-banner__panel--center {
  margin-inline: auto;
  text-align: center;
  align-items: center;
}

.p2-section .c-banner__panel.c-banner__panel--center .c-banner__copy {
  margin-inline: auto;
}

.p2-section .c-banner__panel.c-banner__panel--bottom {
  justify-content: flex-end;
}

.p2-section .c-banner__panel.c-banner__panel--top {
  justify-content: flex-start;
}

.p2-section .c-banner:not(.c-banner--myth) .c-banner__panel:not(:has(.c-banner__kicker, .c-banner__subtitle, .c-banner__copy > :is(h1, h2, h3):first-child + :is(h2, h3, p))) {
  transform: translateY(-0.625rem);
}

.p2-section .c-banner__kicker {
  margin: 0 0 2.5rem;
  font-size: var(--p2-banner-subtitle-size, 2rem);
  font-weight: 600;
  line-height: var(--p2-banner-subtitle-line-height, 1.25);
  letter-spacing: 0;
  text-transform: uppercase;
  color: #fff;
}

.p2-section .c-banner__title,
.p2-section .c-banner__copy > :is(h1, h2, h3):first-child {
  margin: 0;
  max-width: 100%;
  font-size: var(--p2-banner-title-size, 3rem);
  font-weight: 600;
  line-height: var(--p2-banner-title-line-height, 1.2);
  letter-spacing: -0.03rem;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.p2-section .c-banner__subtitle,
.p2-section .c-banner__copy > :is(h1, h2, h3):first-child + :is(h2, h3, p) {
  margin: var(--p2-banner-title-subtitle-gap, 0.625rem) 0 0;
  color: #fff;
  font-size: var(--p2-banner-subtitle-size, 2rem);
  font-weight: 600;
  line-height: var(--p2-banner-subtitle-line-height, 1.25);
  letter-spacing: 0;
  text-transform: none;
  overflow-wrap: anywhere;
}

.p2-section .c-banner__copy {
  margin: 0.625rem 0 0;
  color: #fff;
  font-size: var(--p2-banner-copy-size, 1.375rem);
  line-height: var(--p2-banner-copy-line-height, 1.5);
}

.p2-section .c-banner__copy:has(> :is(h1, h2, h3):first-child) {
  margin-top: 0;
}

.p2-section .c-banner__copy > * {
  margin-block: 0;
}

.p2-section .c-banner__copy > * + * {
  margin-top: 0.75em;
}

.p2-section .c-banner:not(.c-banner--myth) .c-banner__title {
  order: 1;
}

.p2-section .c-banner:not(.c-banner--myth) .c-banner__subtitle {
  order: 2;
  margin: var(--p2-banner-title-subtitle-gap, 0.625rem) 0 0;
}

.p2-section .c-banner:not(.c-banner--myth) .c-banner__copy {
  order: 3;
  margin-top: var(--p2-banner-title-copy-gap, 0.875rem);
}

.p2-section .c-banner:not(.c-banner--myth) .c-banner__cta {
  order: 4;
}

.p2-section .c-banner__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: var(--p2-banner-cta-gap, 2.5rem);
}

.p2-section .c-banner--myth,
.el-items--dataling-myth .c-banner {
  --banner-myth-title-offset: 5.625rem;
  --banner-myth-copy-offset: 0.625rem;
}

.p2-section .c-banner--myth .c-banner__content,
.el-items--dataling-myth .c-banner__content {
  padding-block: 0;
}

.p2-section .c-banner--myth .c-banner__kicker,
.el-items--dataling-myth .c-banner__kicker {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 50%;
  z-index: 2;
  transform: translateX(-50%);
  width: fit-content;
  margin: 0;
  padding: 0.84375rem 1.5625rem;
  border-radius: 0;
  background-color: var(--theme-secondary-current, #ff8500);
  opacity: 1;
  mix-blend-mode: normal;
  color: #fff;
  font-size: var(--p2-card-title-size, 1.375rem);
  line-height: 1.5;
  letter-spacing: 0;
}

.p2-section .c-banner--myth .c-banner__title,
.el-items--dataling-myth .c-banner__title {
  width: min(60rem, 100%);
  margin-inline: auto;
  font-size: var(--p2-section-title-size, 2.25rem);
  font-size: clamp(2rem, calc(1.65rem + 1.4vw), 2.5rem);
  line-height: var(--p2-section-title-line-height, 1.2);
  letter-spacing: -0.025rem;
}

.p2-section .c-banner--myth .c-banner__panel--top .c-banner__title {
  margin-top: var(--banner-myth-title-offset);
}

.p2-section .c-banner--myth .c-banner__copy,
.el-items--dataling-myth .c-banner__copy {
  width: min(60rem, 100%);
  margin: var(--banner-myth-copy-offset) auto 0;
  font-size: var(--p2-body-large-size, 1.0625rem);
  font-size: clamp(1rem, calc(0.92rem + 0.35vw), 1.25rem);
  line-height: 1.5;
}

.p2-section .c-banner--foundation-hearts {
  min-block-size: clamp(19rem, 38vw, 32rem);
  isolation: isolate;
  background: #fff;
  color: var(--p2-text-color, #242424);
}

.p2-section .c-banner--foundation-hearts .c-banner__overlay {
  z-index: 0;
}

.p2-section .c-banner--foundation-hearts .c-banner__content {
  z-index: 1;
  padding-block: clamp(3rem, 8vw, 6.5rem);
}

.p2-section .c-banner--foundation-hearts .c-banner__panel {
  position: relative;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
}

.p2-section .c-banner--foundation-hearts .c-banner__panel > * {
  width: min(57rem, 100%);
}

.p2-section .c-banner--foundation-hearts .c-banner__title,
.p2-section .c-banner--foundation-hearts .c-banner__copy > :is(h1, h2, h3):first-child,
.p2-section .c-banner--foundation-hearts .c-banner__copy > h2 {
  color: var(--theme-primary-current, #e6a600);
  font-size: clamp(1.75rem, calc(1.28rem + 2vw), 3.125rem);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: 0;
  text-transform: uppercase;
}

.p2-section .c-banner--foundation-hearts .c-banner__subtitle,
.p2-section .c-banner--foundation-hearts .c-banner__copy > :is(h1, h2, h3):first-child + :is(h2, h3, p),
.p2-section .c-banner--foundation-hearts .c-banner__copy,
.p2-section .c-banner--foundation-hearts .c-banner__copy p {
  color: var(--theme-primary-current, #e6a600);
  text-shadow: none;
}

.p2-section .c-banner--foundation-hearts .c-banner__copy {
  margin-block-start: 0;
  font-size: clamp(1.1rem, calc(0.96rem + 0.62vw), 1.5rem);
  font-weight: 400;
  line-height: 1.38;
}

.p2-section .c-banner--foundation-hearts .c-banner__copy > * + * {
  margin-top: 0.7em;
}

@media (min-width: 1120px) {
  .p2-section .c-banner--foundation-hearts .c-banner__panel {
    padding-inline: max(var(--page-gutter), calc((100% - var(--shell-width)) / 2 + 10rem));
  }

  .p2-section .c-banner--foundation-hearts .c-banner__panel::before,
  .p2-section .c-banner--foundation-hearts .c-banner__panel::after {
    content: "";
    position: absolute;
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }

  .p2-section .c-banner--foundation-hearts .c-banner__panel::before {
    inset-block-end: 0;
    inset-inline-start: calc(max(var(--page-gutter), (100% - var(--shell-width)) / 2) + 3.333rem);
    inline-size: 100px;
    block-size: 89px;
    background-image: url("../images/foundation-special-heart-1.svg");
  }

  .p2-section .c-banner--foundation-hearts .c-banner__panel::after {
    inset-block-start: -20px;
    inset-inline-end: calc(max(var(--page-gutter), (100% - var(--shell-width)) / 2) + 5.556rem);
    inline-size: 70px;
    block-size: 91px;
    background-image: url("../images/foundation-special-heart-2.svg");
  }
}

.el-items--affiliation-cards {
  --section-padding-end: 0;
}

.p2-items--affiliations {
  align-items: stretch;
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p2-affiliation-card {
  display: grid;
  min-height: 8.25rem;
  overflow: clip;
  border-radius: 0;
  color: var(--p2-ink, #231f20);
  box-shadow: none;
}

.p2-affiliation-card__media,
.p2-affiliation-card__media picture,
.p2-affiliation-card__media .image,
.p2-affiliation-card__media img {
  display: block;
  width: 100%;
  height: 100%;
}

.p2-affiliation-card__media img,
.p2-affiliation-card__media .image {
  object-fit: cover;
}

.p2-affiliation-card__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.p2-affiliation-card__title {
  margin: 0;
  font-size: var(--p2-list-title-size, 1.125rem);
  font-weight: 600;
  line-height: 1.3889;
}

.p2-affiliation-card__text {
  font-size: var(--p2-body-size, 1rem);
  font-weight: 400;
  line-height: 1.5625;
}

.p2-affiliation-card__text strong {
  font-weight: 600;
}

.p2-affiliation-card__text > :first-child {
  margin-top: 0;
}

.p2-affiliation-card__text > :last-child {
  margin-bottom: 0;
}

.p2-affiliation-card--zusk {
  grid-template-columns: 16.25rem 1px minmax(0, 1fr);
  background: linear-gradient(90deg, rgba(160, 255, 134, 0.4), #78ffd5);
}

.p2-affiliation-card--zusk .p2-affiliation-card__media {
  display: grid;
  place-items: center;
  padding-inline: 2.375rem;
}

.p2-affiliation-card--zusk .p2-affiliation-card__media picture {
  display: grid;
  place-items: center;
}

.p2-affiliation-card--zusk .p2-affiliation-card__media img,
.p2-affiliation-card--zusk .p2-affiliation-card__media .image {
  width: 11.5rem;
  height: auto;
  object-fit: contain;
}

.p2-affiliation-card--zusk .p2-affiliation-card__divider {
  align-self: center;
  width: 1px;
  height: 4.75rem;
  background: rgba(231, 111, 81, 0.7);
}

.p2-affiliation-card--zusk .p2-affiliation-card__body {
  padding: 1.25rem 1.875rem;
}

.p2-affiliation-card--zusk .p2-affiliation-card__text {
  max-width: 16.1875rem;
}

.p2-affiliation-card--foundation {
  grid-template-columns: 16.25rem minmax(0, 1fr);
  background: #eeab00;
  color: #fff;
}

.p2-affiliation-card--foundation .p2-affiliation-card__body {
  padding: 1.875rem 1.875rem 1.75rem 1.9375rem;
}

.p2-affiliation-card--foundation .p2-affiliation-card__title,
.p2-affiliation-card--foundation .p2-affiliation-card__text {
  color: #fff;
}

.p2-affiliation-card--foundation .p2-affiliation-card__title + .p2-affiliation-card__text {
  margin-top: 0;
}

.p2-affiliation-card--foundation .p2-affiliation-card__text {
  max-width: 16.1875rem;
}

@media (max-width: 63.99rem) {
  .p2-items--affiliations {
    gap: 0;
  }

  .p2-affiliation-card {
    min-height: 0;
  }

  .p2-affiliation-card--zusk,
  .p2-affiliation-card--foundation {
    grid-template-columns: 1fr;
  }

  .p2-affiliation-card--zusk .p2-affiliation-card__media {
    min-height: clamp(6rem, 16vw, 8.5rem);
    padding-inline: clamp(0.75rem, 3vw, 1.5rem);
  }

  .p2-affiliation-card--zusk .p2-affiliation-card__media img,
  .p2-affiliation-card--zusk .p2-affiliation-card__media .image {
    width: min(8.25rem, 82%);
  }

  .p2-affiliation-card--zusk .p2-affiliation-card__divider {
    display: none;
  }

  .p2-affiliation-card--zusk .p2-affiliation-card__body,
  .p2-affiliation-card--foundation .p2-affiliation-card__body {
    padding: clamp(1rem, 2.8vw, 1.5rem);
  }

  .p2-affiliation-card--foundation .p2-affiliation-card__media {
    height: clamp(6rem, 16vw, 9rem);
  }

  .p2-affiliation-card--zusk .p2-affiliation-card__text,
  .p2-affiliation-card--foundation .p2-affiliation-card__text {
    max-width: none;
  }
}

@media (max-width: 39.99rem) {
  .p2-affiliation-card__title {
    font-size: var(--p2-body-size, 1rem);
    line-height: 1.3;
  }

  .p2-affiliation-card__text {
    font-size: var(--p2-body-meta-size, 0.875rem);
    line-height: 1.45;
  }
}

.p2-split {
  display: grid;
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: start;
  --split-first-span: 6;
  --split-second-span: 6;
  --gallery-hero-width: 720px;
  --gallery-hero-height: 540px;
  --gallery-thumb-size: 152px;
}

.p2-split__media,
.p2-split__body {
  min-width: 0;
}

.p2-split__body,
.c-page-content {
  container-type: inline-size;
}

.p2-split__card {
  overflow: clip;
  border-radius: var(--ui-radius);
  background: var(--p2-card-surface, #fff);
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: var(--ui-shadow);
}

.p2-split__card img,
.p2-split__card .image {
  display: block;
  width: 100%;
  height: auto;
}

.p2-split__body.p2-stack {
  --p2-stack-space: 1.25rem;
}

.p2-split__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
  padding-top: 0.5rem;
}

.p2-split__fact {
  padding: 0.9rem 0;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.p2-split__fact-label {
  display: block;
  margin-bottom: 0.2rem;
  color: var(--section-fg-soft);
  font-size: var(--p2-body-tiny-size, 0.8125rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.p2-split__fact-value {
  font-weight: 700;
}

.p2-gallery {
  display: grid;
  gap: 0.85rem;
}

.p2-gallery__hero,
.p2-gallery__thumb {
  display: block;
  overflow: clip;
  border-radius: var(--ui-radius);
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: var(--ui-shadow);
}

.p2-gallery__hero {
  inline-size: min(100%, var(--gallery-hero-width));
  aspect-ratio: var(--gallery-hero-ratio, 4 / 3);
}

.p2-gallery__thumb {
  inline-size: 100%;
  block-size: var(--gallery-thumb-size);
}

.p2-gallery__hero img,
.p2-gallery__hero .image,
.p2-gallery__hero a,
.p2-gallery__hero .c-media-photo,
.p2-gallery__thumb img,
.p2-gallery__thumb .image,
.p2-gallery__thumb a,
.p2-gallery__thumb .c-media-photo {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
}

.p2-gallery__hero img,
.p2-gallery__hero .image,
.p2-gallery__thumb img,
.p2-gallery__thumb .image {
  object-fit: cover;
}

.p2-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}

.c-content-split--gallery-thumbs-only .p2-gallery__hero {
  display: none;
}

.c-content-split--gallery-matted .p2-gallery__hero,
.c-content-split--gallery-matted .p2-gallery__thumb {
  padding: 0.6rem;
  background: var(--surface-box-soft);
}

.c-content-split--gallery-matted .p2-gallery__hero img,
.c-content-split--gallery-matted .p2-gallery__hero .image,
.c-content-split--gallery-matted .p2-gallery__hero a {
  border-radius: calc(var(--ui-radius) * 0.82);
}

.c-content-split--gallery-matted .p2-gallery__thumb img,
.c-content-split--gallery-matted .p2-gallery__thumb .image,
.c-content-split--gallery-matted .p2-gallery__thumb a {
  border-radius: calc(var(--ui-radius) * 0.68);
}

.c-section--surface-soft .c-content-split--gallery-matted .p2-gallery__hero,
.c-section--surface-soft .c-content-split--gallery-matted .p2-gallery__thumb {
  background: #fff;
}

.c-section--surface-dark .c-content-split--gallery-matted .p2-gallery__hero,
.c-section--surface-dark .c-content-split--gallery-matted .p2-gallery__thumb,
.c-section--surface-primary .c-content-split--gallery-matted .p2-gallery__hero,
.c-section--surface-primary .c-content-split--gallery-matted .p2-gallery__thumb,
.c-section--frame-bleed .c-content-split--gallery-matted .p2-gallery__hero,
.c-section--frame-bleed .c-content-split--gallery-matted .p2-gallery__thumb {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.14);
}

.c-section--surface-dark .p2-split__card,
.c-section--surface-primary .p2-split__card {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.14);
}

.p2-items--team.p2-items-layout--equal-height {
  align-items: stretch;
}

.el-items--team-grid {
  padding-block-end: var(--section-space);
}

.el-items--team-grid .p2-items-stack {
  --stack-space: 2.75rem;
}

.el-items--team-grid .c-carousel {
  --reel-gap-desktop: 2.5rem !important;
}

.el-items--team-grid .c-carousel.p2-items-layout--equal-height [data-embla-track] {
  align-items: stretch;
}

.el-items--team-grid .c-carousel.p2-items-layout--equal-height [data-embla-track] > .p2-team-card {
  align-self: stretch;
}

.p2-team-card {
  display: grid;
  gap: 0;
}

.el-items--team-grid .p2-team-card {
  container-type: inline-size;
}

.p2-items-layout--equal-height .p2-team-card {
  grid-template-rows: auto 1fr;
  height: 100%;
}

.p2-team-card__media {
  overflow: clip;
  aspect-ratio: 1 / 1;
  border-radius: 0;
  background: #f4f5f7;
  box-shadow: none;
}

.p2-team-card__media img,
.p2-team-card__media .image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p2-team-card__avatar {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: var(--theme-primary-current, #12aeb4);
  background: color-mix(in srgb, var(--theme-primary-current, #12aeb4) 9%, #ffffff);
}

.p2-team-card__avatar svg {
  width: clamp(4.5rem, 24%, 6.5rem);
  height: clamp(4.5rem, 24%, 6.5rem);
  padding: 1.1rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-primary-current, #12aeb4) 14%, transparent);
}

.p2-team-card__avatar--modal svg {
  width: clamp(5.5rem, 32%, 8rem);
  height: clamp(5.5rem, 32%, 8rem);
}

.p2-team-card__body {
  display: grid;
  gap: 0.3125rem;
  align-content: start;
  padding: 1.25rem 1.5625rem;
  background: #f4f5f7;
  text-align: center;
}

.el-items--team-grid .p2-team-card__body {
  padding: clamp(1rem, calc(0.75rem + 2cqw), 1.25rem) clamp(1rem, calc(0.7rem + 4cqw), 1.5625rem);
}

.p2-items-layout--equal-height .p2-team-card__body {
  height: 100%;
}

.p2-team-card__title {
  margin: 0;
  color: var(--theme-primary-current, #12aeb4);
  font-size: var(--p2-list-title-size, 1.125rem);
  font-weight: 600;
  line-height: 1.5;
}

.el-items--team-grid .p2-team-card__title {
  font-size: clamp(1.0625rem, calc(0.92rem + 0.8cqw), 1.125rem);
  line-height: 1.3;
}

.p2-team-card__position,
.p2-team-card__text {
  margin: 0;
  color: var(--p2-ink, #231f20);
  font-size: var(--p2-body-size, 1rem);
  line-height: 1.5;
}

.el-items--team-grid .p2-team-card__position,
.el-items--team-grid .p2-team-card__text {
  font-size: clamp(0.9375rem, calc(0.84rem + 0.55cqw), 1rem);
  line-height: 1.4;
}

.p2-team-card__position {
  font-weight: 400;
}

.p2-team-card__contact {
  display: grid;
  gap: 0.25rem;
}

.p2-team-card__contact p {
  margin: 0;
}

.p2-team-card__contact a {
  color: inherit;
  text-decoration: none;
}

.p2-section .c-carousel .p2-team-card__contact {
  display: none;
}

.p2-team-card--contact-hidden .p2-team-card__contact,
.p2-team-card--contact-hidden .p2-person-modal__contact {
  display: none;
}

.p2-team-card--contact .p2-team-card__body {
  gap: 0.5rem;
}

.p2-team-card__bio-trigger {
  justify-self: center;
  margin-top: 0.25rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--theme-primary-current, #12aeb4);
  font: inherit;
  font-size: var(--p2-body-size, 1rem);
  font-size: clamp(0.9375rem, calc(0.84rem + 0.55cqw), 1rem);
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  text-underline-offset: 0.18em;
  cursor: pointer;
}

.p2-team-card__bio-trigger:is(:hover, :focus-visible) {
  text-decoration: underline;
}

.p2-team-card--bio-hidden .p2-team-card__bio-trigger,
.p2-team-card--bio-hidden [data-person-modal] {
  display: none;
}

.p2-person-modal {
  inline-size: min(56rem, calc(100vw - 2rem));
  max-inline-size: 56rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #122033;
  text-align: left;
}

.p2-person-modal::backdrop {
  background: rgba(11, 17, 32, 0.72);
}

.p2-person-modal__panel {
  position: relative;
  display: grid;
  gap: 1.25rem;
  max-block-size: min(88vh, 56rem);
  overflow: auto;
  padding: clamp(1rem, 2vw, 1.5rem);
  border-radius: var(--ui-radius);
  background: #ffffff;
  color: #122033;
  box-shadow: 0 2rem 4rem rgba(11, 17, 32, 0.22);
}

.p2-person-modal__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  inline-size: 2.5rem;
  block-size: 2.5rem;
  padding: 0;
  border: 1px solid var(--ui-border);
  border-radius: 999px;
  background: #ffffff;
  color: #122033;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}

.p2-person-modal__media img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  border-radius: var(--ui-radius);
}

.p2-person-modal__body {
  display: grid;
  gap: 0.75rem;
}

.p2-person-modal__title,
.p2-person-modal__position,
.p2-person-modal__contact p,
.p2-person-modal__text > *:first-child {
  margin-top: 0;
}

.p2-person-modal__title,
.p2-person-modal__text > *:last-child,
.p2-person-modal__contact p {
  margin-bottom: 0;
}

.p2-person-modal__position {
  margin-bottom: 0;
  color: #4d6178;
  font-weight: 700;
}

.p2-person-modal__contact {
  display: grid;
  gap: 0.25rem;
}

.p2-person-modal__contact a {
  color: #122033;
  text-decoration: none;
}

.p2-person-modal__text {
  color: #304256;
}

@media (min-width: 48rem) {
  .p2-person-modal__panel {
    grid-template-columns: minmax(0, 16rem) minmax(0, 1fr);
    align-items: start;
  }
}

@media (min-width: 64rem) {
  .p2-split {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .p2-split__media {
    grid-column: span var(--split-first-span);
  }

  .p2-split__body {
    grid-column: span var(--split-second-span);
  }

  .c-content-split--reverse .p2-split__media {
    order: 2;
  }

  .c-content-split--reverse .p2-split__body {
    order: 1;
  }

  .c-content-split--align-center {
    align-items: center;
  }

  .c-content-split--align-bottom {
    align-items: end;
  }
}

@media (max-width: 63.99rem) {
  .p2-section .c-banner__cta {
    width: fit-content;
    max-width: 100%;
  }

  .p2-section .c-banner__cta .c-button {
    width: auto;
    max-width: 100%;
  }
}

@media (max-width: 47.99rem) {
  .p2-section .c-banner {
    block-size: auto;
    min-block-size: 31rem;
  }

  .p2-section .c-banner.c-banner--media-contain {
    min-block-size: 0;
  }

  .p2-section .c-banner__content {
    inline-size: 100%;
    max-inline-size: 100vw;
    box-sizing: border-box;
    padding-block: 1.5rem;
    overflow: hidden;
  }

  .p2-section .c-banner__panel {
    box-sizing: border-box;
    inline-size: 100%;
    max-inline-size: 100%;
    padding-inline: max(1rem, var(--page-gutter));
  }

  .p2-section .c-banner__panel > * {
    max-width: 100%;
    min-width: 0;
  }

  .p2-section .c-banner__kicker {
    margin-bottom: 1rem;
    font-size: var(--p2-banner-mobile-subtitle-size, 1.25rem);
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .p2-section .c-banner__subtitle,
  .p2-section .c-banner__copy > :is(h1, h2, h3):first-child + :is(h2, h3, p) {
    font-size: var(--p2-banner-mobile-subtitle-size, 1.25rem);
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .p2-section .c-banner__title,
  .p2-section .c-banner__copy > :is(h1, h2, h3):first-child {
    max-inline-size: calc(100vw - 2rem);
    font-size: var(--p2-banner-mobile-title-size, 2rem);
    font-size: clamp(1.875rem, calc(1.55rem + 1.3vw), var(--p2-banner-mobile-title-size, 2rem));
    line-height: var(--p2-banner-title-line-height, 1.2);
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .p2-section .c-banner__copy {
    max-width: 100%;
    font-size: var(--p2-banner-mobile-copy-size, 1rem);
    line-height: 1.45;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .p2-section .c-banner__cta {
    margin-top: var(--p2-banner-mobile-cta-gap, 1.5rem);
  }

  .p2-section .c-banner--myth,
  .el-items--dataling-myth .c-banner {
    --banner-myth-title-offset: 5.5rem;
    --banner-myth-copy-offset: 1rem;
  }

  .p2-section .c-banner--myth .c-banner__kicker,
  .el-items--dataling-myth .c-banner__kicker {
    padding: 0.625rem 1rem;
    font-size: var(--p2-body-size, 1rem);
    line-height: 1.5;
  }

  .p2-section .c-banner--myth .c-banner__title,
  .el-items--dataling-myth .c-banner__title {
    font-size: var(--p2-banner-mobile-title-size, 2rem);
    font-size: clamp(1.875rem, calc(1.55rem + 1.3vw), var(--p2-banner-mobile-title-size, 2rem));
    line-height: var(--p2-banner-title-line-height, 1.2);
    letter-spacing: 0;
  }

  .p2-section .c-banner--myth .c-banner__copy,
  .el-items--dataling-myth .c-banner__copy {
    font-size: var(--p2-body-size, 1rem);
    line-height: 1.45;
  }

  .p2-section .c-banner__cta {
    flex-direction: column;
    align-items: flex-start;
  }

  .p2-section .c-banner__cta .c-button {
    box-sizing: border-box;
    width: auto;
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    text-align: center;
  }

  .p2-heading__title {
    width: 100%;
    max-width: 100%;
    font-size: min(var(--p2-section-title-size, 2.25rem), 1.75rem);
    white-space: normal;
    word-break: break-word;
  }

  .p2-heading__lead {
    max-width: 100%;
  }

  .p2-heading__lead,
  .p2-heading__lead * {
    overflow-wrap: anywhere;
  }

  .p2-split__facts {
    grid-template-columns: 1fr;
  }

  .p2-gallery__hero {
    inline-size: 100%;
  }

  .p2-gallery__thumbs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p2-blog-list__layout,
  .p2-news-list-item {
    grid-template-columns: minmax(0, 1fr);
  }

  .p2-blog-list__layout {
    gap: 2rem;
  }

  .p2-news-list-item {
    gap: 1.25rem;
    padding-bottom: 1.75rem;
  }

  .p2-news-list-item + .p2-news-list-item {
    padding-top: 1.75rem;
  }

  .p2-news-list-item__media-wrap {
    padding-left: 0;
  }

  .p2-news-list-item__media {
    width: 100%;
  }

  .p2-news-list-item__date {
    top: auto;
    bottom: 0;
    width: 4.5rem;
    height: 5.625rem;
  }

  .p2-news-list-item__body {
    padding-top: 0;
  }

  .p2-news-list-item__title {
    font-size: var(--p2-list-title-size, 1.25rem);
  }

  .p2-blog-list__popular-title {
    width: 100%;
  }

  .el-items--blog-list .p2-news-list-item {
    grid-template-columns: 5rem minmax(0, 1fr);
    gap: clamp(0.875rem, 2.5vw, 1.25rem);
    align-items: start;
  }

  .el-items--blog-list .p2-news-list-item__media-wrap {
    min-height: clamp(5.5rem, calc(4.7rem + 3cqw), 6.25rem);
  }

  .el-items--blog-list .p2-news-list-item__media {
    display: none;
  }

  .el-items--blog-list .p2-news-list-item__date {
    position: static;
  }

  .p2-faq-item__summary {
    min-height: 3.75rem;
    padding: clamp(0.875rem, 3vw, 1rem) clamp(1rem, 4vw, 1.125rem);
  }

  .p2-faq-item__title {
    font-size: var(--p2-faq-title-size, 1.0625rem);
  }

  .p2-faq-item__content {
    padding: 0 clamp(1rem, 4vw, 1.125rem) clamp(1rem, 4vw, 1.125rem);
  }

  .p2-blog-detail {
    grid-template-columns: 1fr;
  }

  .p2-blog-detail__sidebar {
    gap: clamp(1.25rem, 4vw, 1.5rem);
  }
}

.el-contacts--cards .p2-contact-layout {
  display: grid;
  gap: clamp(2rem, 4vw, 3.5rem);
}

.el-contacts--cards .p2-items-stack {
  --stack-space: clamp(2.25rem, 5vw, 2.75rem);
}

.el-contacts-map {
  padding: 0;
}

.l-page__top .el-contacts-map {
  margin: 0;
}

.p2-contact-map {
  position: relative;
  min-height: 33.75rem;
  overflow: hidden;
  background: var(--surface-dark);
  color: var(--ink-inverse);
  isolation: isolate;
}

.p2-contact-map--no-map {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 58%),
    var(--surface-dark);
}

.p2-contact-map__map {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--surface-soft);
}

.p2-contact-map__map iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 100%;
  border: 0 !important;
  filter: grayscale(1) contrast(1.08) brightness(0.76);
  pointer-events: none;
  transition: filter 320ms ease, transform 520ms ease;
}

.p2-contact-map__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(14, 18, 24, 0.88), rgba(14, 18, 24, 0.66) 45%, rgba(14, 18, 24, 0.3)),
    linear-gradient(0deg, rgba(14, 18, 24, 0.48), rgba(14, 18, 24, 0.12));
  transition: opacity 260ms ease, transform 420ms ease;
}

.p2-section .p2-contact-map__content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  align-items: center;
  align-content: center;
  transition: opacity 260ms ease, visibility 260ms ease, transform 420ms ease;
}

.p2-section .p2-contact-map__panel {
  min-height: 0;
  justify-content: center;
}

.p2-contact-map__title {
  color: inherit;
}

.p2-contact-map__address {
  white-space: pre-line;
}

.p2-contact-map__button {
  width: auto;
}

.p2-contact-map__restore {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  display: grid;
  width: clamp(7.5rem, 15vw, 11rem);
  height: clamp(7.5rem, 15vw, 11rem);
  place-items: start end;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 0;
  clip-path: polygon(100% 0, 100% 100%, 0 0);
  background: rgba(14, 18, 24, 0.82);
  color: #fff;
  cursor: pointer;
  opacity: 0;
  transform: translate(0.75rem, -0.75rem);
  transition: opacity 220ms ease, transform 300ms ease;
  pointer-events: none;
}

.p2-contact-map__restore-icon {
  display: grid;
  width: clamp(2.75rem, 5vw, 3.5rem);
  height: clamp(2.75rem, 5vw, 3.5rem);
  place-items: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #101820;
  box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.18);
}

.p2-contact-map__restore-icon svg {
  width: 62%;
  height: 62%;
  transform: rotate(180deg);
}

.p2-contact-map.is-map-active .p2-contact-map__overlay,
.p2-contact-map.is-map-active .p2-contact-map__content {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.p2-contact-map.is-map-active .p2-contact-map__overlay {
  transform: translateX(-2rem);
}

.p2-contact-map.is-map-active .p2-contact-map__content {
  transform: translateY(1rem);
}

.p2-contact-map.is-map-active .p2-contact-map__map iframe {
  filter: none;
  pointer-events: auto;
  transform: scale(1.015);
}

.p2-contact-map.is-map-active .p2-contact-map__restore {
  opacity: 1;
  transform: translate(0, 0);
  pointer-events: auto;
}

.p2-contact-quick {
  display: grid;
  gap: var(--space-4);
}

.p2-contact-quick__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 1.4rem);
  align-items: center;
  min-width: 0;
  padding: clamp(1.25rem, 1rem + 1vw, 2rem);
  border: 1px solid rgba(20, 50, 74, 0.12);
  border-radius: var(--ui-radius);
  background: var(--p2-card-surface, rgba(255, 255, 255, 0.96));
  color: inherit;
  text-decoration: none;
  box-shadow: var(--ui-shadow);
}

.p2-contact-quick__item--content {
  align-items: start;
}

.p2-contact-quick__item:is(:hover, :focus-visible) {
  border-color: color-mix(in srgb, var(--theme-primary-current, #12aeb4) 46%, transparent);
}

.p2-contact-quick__icon {
  display: grid;
  place-items: center;
  width: clamp(3.5rem, 7vw, 5.25rem);
  height: clamp(3.5rem, 7vw, 5.25rem);
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-primary-current, #12aeb4) 14%, transparent);
  color: var(--theme-primary-current, #12aeb4);
}

.p2-contact-quick__icon svg {
  width: 52%;
  height: 52%;
}

.p2-contact-quick__label {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--section-muted, var(--ink-muted));
  font-size: var(--p2-body-tiny-size, 0.8125rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.p2-contact-quick__value {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: clamp(1.2rem, 1rem + 0.72vw, 1.65rem);
  font-weight: 700;
  line-height: 1.18;
}

.p2-contact-quick__preline {
  white-space: pre-line;
}

.p2-contact-quick__richtext {
  display: block;
  color: var(--section-fg, var(--ink-default));
}

.p2-contact-quick__richtext > * {
  margin-top: 0;
}

.p2-contact-quick__richtext > :last-child {
  margin-bottom: 0;
}

.p2-contact-quick__richtext p {
  margin-bottom: 0.65rem;
}

.p2-contact-quick__richtext a {
  color: inherit;
  text-underline-offset: 0.18em;
}

@media (min-width: 48rem) {
  .p2-contact-quick {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .p2-contact-quick__item {
    grid-template-columns: 1fr;
    align-content: start;
  }
}

@media (max-width: 47.99rem) {
  .p2-contact-map {
    min-height: 31rem;
  }
}

.p2-page-form {
  width: min(100%, 48rem);
}
