/* Font Face Declarations */
@font-face {
  font-family: 'PpNeueMontreal-Regular';
  src: url('../fonts/montreal/PPNeueMontreal-Regular.woff2') format('woff2'),
       url('../fonts/montreal/PPNeueMontreal-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PpNeueMontreal-Bold';
  src: url('../fonts/montreal/PPNeueMontreal-Bold.woff2') format('woff2'),
       url('../fonts/montreal/PPNeueMontreal-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PpNeueMontreal-Light';
  src: url('../fonts/montreal/PPNeueMontreal-Light.woff2') format('woff2'),
       url('../fonts/montreal/PPNeueMontreal-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PpNeueMontreal-Medium';
  src: url('../fonts/montreal/PPNeueMontreal-Medium.woff2') format('woff2'),
       url('../fonts/montreal/PPNeueMontreal-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PpNeueMontreal-Thin';
  src: url('../fonts/montreal/PPNeueMontreal-Thin.woff2') format('woff2'),
       url('../fonts/montreal/PPNeueMontreal-Thin.woff') format('woff');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PpEditorialOld-Regular';
  src: url('../fonts/editorial/PPEditorialOld-Regular.woff2') format('woff2'),
       url('../fonts/editorial/PPEditorialOld-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PpEditorialOld-Bold';
  src: url('../fonts/editorial/PPEditorialOld-Bold.woff2') format('woff2'),
       url('../fonts/editorial/PPEditorialOld-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PpEditorialOld-Thin';
  src: url('../fonts/editorial/PPEditorialOld-Thin.woff2') format('woff2'),
       url('../fonts/editorial/PPEditorialOld-Thin.woff') format('woff');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PpEditorialOld-Heavy';
  src: url('../fonts/editorial/PPEditorialOld-Heavy.woff2') format('woff2'),
       url('../fonts/editorial/PPEditorialOld-Heavy.woff') format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PpEditorialOld-Ultralight';
  src: url('../fonts/editorial/PPEditorialOld-Ultralight.woff2') format('woff2'),
       url('../fonts/editorial/PPEditorialOld-Ultralight.woff') format('woff');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

/* Italic variants */
@font-face {
  font-family: 'PpNeueMontreal-Regular';
  src: url('../fonts/montreal/PPNeueMontreal-Italic.woff2') format('woff2'),
       url('../fonts/montreal/PPNeueMontreal-Italic.woff') format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'PpNeueMontreal-Bold';
  src: url('../fonts/montreal/PPNeueMontreal-BoldItalic.woff2') format('woff2'),
       url('../fonts/montreal/PPNeueMontreal-BoldItalic.woff') format('woff');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'PpEditorialOld-Regular';
  src: url('../fonts/editorial/PPEditorialOld-Italic.woff2') format('woff2'),
       url('../fonts/editorial/PPEditorialOld-Italic.woff') format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'PpEditorialOld-Bold';
  src: url('../fonts/editorial/PPEditorialOld-BoldItalic.woff2') format('woff2'),
       url('../fonts/editorial/PPEditorialOld-BoldItalic.woff') format('woff');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

.website,
.website * {
  box-sizing: border-box;
}

body {
  -webkit-font-smoothing: antialiased;
}

p {
  margin-bottom: 12px;
}

.website {
  background: var(--white, #ffffff);
  padding: 36px 24px 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  overflow: hidden;
}

.menu {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.logo {
  flex-shrink: 0;
  width: 146px;
  height: 130px;
  position: relative;
  overflow: visible;
}

.navigation {
  padding: 0px 10px 0px 10px;
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
}

.nav-item-number {
  color: var(--gold, #d8ae00);
  text-align: left;
  font-family: var(--numbers-secondary-font-family, "PpEditorialOld-Regular", sans-serif);
  font-size: var(--numbers-secondary-font-size, 72px);
  line-height: var(--numbers-secondary-line-height, 72px);
  letter-spacing: var(--numbers-secondary-letter-spacing, -0.04em);
  font-weight: var(--numbers-secondary-font-weight, 400);
  position: relative;
}

.nav-item-number:hover {
  color: var(--black, #000000);
}

.uvp {
  padding: 24px 24px 0px 0px;
  display: flex;
  flex-direction: row;
  gap: 27px;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  flex-shrink: 0;
  max-width: 750px;
  position: relative;
}

.maria {
  border-radius: 1000px;
  flex-shrink: 0;
  width: 210px;
  height: 210px;
  position: relative;
  object-fit: cover;
  aspect-ratio: 1;
}

.text {
  color: var(--black, #000000);
  text-align: left;
  font-family: "-", sans-serif;
  font-weight: 400;
  position: relative;
  align-self: stretch;
  flex: 1;
}

.text .text-bold {
  font-family: var(--p-small-bold-font-family, "PpNeueMontreal-Bold", sans-serif);
  font-size: var(--p-small-bold-font-size, 24px);
  line-height: var(--p-small-bold-line-height, 34px);
  font-weight: var(--p-small-bold-font-weight, 700);
}

.text .text-regular {
  font-family: var(--p-small-regular-font-family, "PpNeueMontreal-Regular", sans-serif);
  font-size: var(--p-small-regular-font-size, 24px);
  line-height: var(--p-small-regular-line-height, 34px);
  font-weight: var(--p-small-regular-font-weight, 400);
}

.intro {
  padding: 40px 0px 40px 0px;
  display: flex;
  flex-direction: column;
  gap: 38px;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  flex-shrink: 0;
  max-width: 750px;
  position: relative;
}

.h-1 {
  color: var(--black, #000000);
  text-align: left;
  font-family: var(--h1-regular-font-family, "PpEditorialOld-Regular", sans-serif);
  font-size: var(--h1-regular-font-size, 124px);
  line-height: var(--h1-regular-line-height, 120px);
  letter-spacing: var(--h1-regular-letter-spacing, -0.04em);
  font-weight: var(--h1-regular-font-weight, 400);
  position: relative;
  align-self: stretch;
}

.p {
  color: var(--black, #000000);
  text-align: left;
  font-family: var(--p-primary-regular-font-family, "PpNeueMontreal-Regular", sans-serif);
  font-size: var(--p-primary-regular-font-size, 36px);
  line-height: var(--p-primary-regular-line-height, 48px);
  font-weight: var(--p-primary-regular-font-weight, 400);
  position: relative;
  align-self: stretch;
}

/* Desktop: Overlapping cards that fit screen width */
.artists {
  display: flex;
  flex-direction: row;
  gap: 0px;
  align-items: center;
  /* justify-content: center; */
  align-self: stretch;
  flex-shrink: 0;
  margin: 0 auto;
  position: relative;
  perspective: 1200px;
  overflow: visible;
  width: 100%;
  max-width: 750px;
}

.artist-card {
  background: var(--white, #ffffff);
  border-radius: 40px;
  margin-right: -345px;
  padding: 64px 0px 32px 0px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  justify-content: flex-end;
  flex-shrink: 0;
  width: 435px;
  height: 945px;
  position: relative;
  overflow: hidden;
  transform-style: preserve-3d;
  transition: transform 0.2s ease-out, box-shadow 0.3s ease-out;
  z-index: 1;
}

.artist-card-photo {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0px;
  top: 0px;
  object-fit: cover;
  object-position: center center;
}

.artist-card-gradient-overlay {
  background: var(--artist-card-gradient-strong); /* Stronger gradient by default */
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: 1;
  transition: background 0.4s ease-out; /* Smooth gradient change */
}

.artist-card .content {
  padding: 0px 24px 0px 24px;
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

.artist-card-review-text {
  color: var(--text-dimmed-color); /* Dimmed text by default */
  text-align: left;
  font-family: var(--p-primary-bold-font-family, "PpNeueMontreal-Bold", sans-serif);
  font-size: var(--p-primary-regular-font-size, 36px);
  line-height: var(--p-primary-regular-line-height, 48px);
  font-weight: var(--p-primary-bold-font-weight, 700);
  position: relative;
  flex: 1;
  transition: color 0.2s ease-out; /* Smooth color change */
}

.artist-card .author {
  padding: 0px 24px 0px 24px;
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

.artist-card-author-avatar {
  border-radius: 1000px;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  position: relative;
  object-fit: cover;
  aspect-ratio: 1;
}

.artist-card-author-name {
  color: var(--text-dimmed-color); /* Dimmed text by default */
  text-align: left;
  font-family: var(--p-small-regular-font-family, "PpNeueMontreal-Regular", sans-serif);
  font-size: var(--p-small-regular-font-size, 24px);
  line-height: var(--p-small-regular-line-height, 34px);
  font-weight: var(--p-small-regular-font-weight, 400);
  position: relative;
  align-self: stretch;
  flex: 1;
  text-overflow: ellipsis;
  overflow: hidden;
  transition: color 0.2s ease-out; /* Smooth color change */
}

.section-number {
  color: var(--black, #000000);
  text-align: left;
  font-family: var(--h1-regular-font-family, "PpEditorialOld-Regular", sans-serif);
  font-size: var(--h1-regular-font-size, 124px);
  line-height: var(--h1-regular-line-height, 120px);
  letter-spacing: var(--h2-regular-letter-spacing, -0.04em);
  font-weight: var(--h1-regular-font-weight, 400);
  position: relative;
  align-self: stretch;
}

.list-layout {
  background: var(--card, #f5f5f5);
  border-radius: 40px;
  padding: 24px 28px 24px 28px;
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: flex-start;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.list-layout .list {
  color: var(--black, #000000);
  text-align: left;
  font-family: "-", sans-serif;
  font-size: 24px;
  line-height: 34px;
  font-weight: 400;
  position: relative;
  flex: 1;
}

.list-layout .list .list-title {
  font-family: var(--p-small-bold-font-family, "PpNeueMontreal-Bold", sans-serif);
  font-size: var(--p-small-bold-font-size, 24px);
  line-height: var(--p-small-bold-line-height, 34px);
  font-weight: var(--p-small-bold-font-weight, 700);
  display: block;
  margin-bottom: 6px;
}

.list-layout .list .list-item-text {
  font-family: var(--p-small-regular-font-family, "PpNeueMontreal-Regular", sans-serif);
  font-size: var(--p-small-regular-font-size, 24px);
  line-height: var(--p-small-regular-line-height, 34px);
  font-weight: var(--p-small-regular-font-weight, 400);
}

.review-card {
  background: var(--card, #f5f5f5);
  border-radius: 40px;
  padding: 24px 60px 48px 28px;
  display: none;
  flex-direction: column;
  gap: 30px;
  align-items: flex-start;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  margin-bottom: 16px;
  opacity: 0;
  transform: translateY(50px) scale(0.9);
  transition: opacity 0.6s ease, transform 0.6s ease;
  will-change: transform, opacity;
}

.review-card.active-review {
  display: flex;
  opacity: 1;
  transform: translateY(0px) scale(1);
}

.review-card.is-visible {
  opacity: 1;
  transform: translateY(0px) scale(1);
}

.review-card-header {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.review-card-avatar {
  border-radius: 1000px;
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  position: relative;
  object-fit: cover;
  aspect-ratio: 1;
}

.review-card-user-data {
  display: flex;
  flex-direction: column;
  gap: 0px;
  align-items: flex-start;
  justify-content: center;
  flex: 1;
  position: relative;
}

.review-card-user-name {
  color: var(--black, #000000);
  text-align: left;
  font-family: var(--p-small-bold-font-family, "PpNeueMontreal-Bold", sans-serif);
  font-size: var(--p-small-regular-font-size, 24px);
  line-height: var(--p-small-regular-line-height, 34px);
  font-weight: var(--p-small-bold-font-weight, 700);
  position: relative;
  align-self: stretch;
  text-overflow: ellipsis;
  overflow: hidden;
}

.review-card-user-title {
  color: var(--black, #000000);
  text-align: left;
  font-family: var(--p-small-regular-font-family, "PpNeueMontreal-Regular", sans-serif);
  font-size: var(--p-small-regular-font-size, 24px);
  line-height: var(--p-small-regular-line-height, 34px);
  font-weight: var(--p-small-regular-font-weight, 400);
  position: relative;
  align-self: stretch;
  text-overflow: ellipsis;
  overflow: hidden;
}

.review-card-user-affiliation {
  color: var(--gray, rgba(0, 0, 0, 0.5));
  text-align: left;
  font-family: var(--p-small-regular-font-family, "PpNeueMontreal-Regular", sans-serif);
  font-size: var(--p-small-regular-font-size, 24px);
  line-height: var(--p-small-regular-line-height, 34px);
  font-weight: var(--p-small-regular-font-weight, 400);
  position: relative;
  align-self: stretch;
  text-overflow: ellipsis;
  overflow: hidden;
}

.review-card-text {
  color: var(--black, #000000);
  text-align: left;
  font-family: var(--p-small-regular-font-family, "PpNeueMontreal-Regular", sans-serif);
  font-size: var(--p-small-regular-font-size, 24px);
  line-height: var(--p-small-regular-line-height, 34px);
  font-weight: var(--p-small-regular-font-weight, 400);
  position: relative;
  align-self: stretch;
}

.review-slider-navigation {
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}

.review-slider-navigation .nav-button {
  color: var(--black, #000000);
  text-align: left;
  font-family: var(--p-small-bold-font-family, "PpNeueMontreal-Bold", sans-serif);
  font-size: var(--p-small-regular-font-size, 24px);
  line-height: var(--p-small-regular-line-height, 34px);
  font-weight: var(--p-small-bold-font-weight, 700);
  position: relative;
  cursor: pointer;
}

.review-slider-navigation .nav-button:hover {
  color: var(--gray, rgba(0, 0, 0, 0.5));
}

.pricing-card {
  border-radius: 40px;
  padding: 24px 28px 48px 28px;
  display: flex;
  flex-direction: column;
  gap: 48px;
  align-items: flex-start;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.pricing-card--dark {
  background: var(--black, #000000);
  color: var(--white, #ffffff);
}

.pricing-card--light {
  background: var(--card, #f5f5f5);
  color: var(--black, #000000);
}

.pricing-card-header-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  align-self: stretch;
}

.pricing-title {
  text-align: left;
  font-family: var(--h2-regular-font-family, "PpEditorialOld-Regular", sans-serif);
  font-size: var(--h2-regular-font-size, 124px);
  line-height: var(--h2-regular-line-height, 120px);
  letter-spacing: var(--h2-regular-letter-spacing, -0.04em);
  font-weight: var(--h2-regular-font-weight, 400);
  position: relative;
  align-self: stretch;
  text-overflow: ellipsis;
  overflow: hidden;
}

.pricing-card--dark .pricing-title {
  color: var(--white, #ffffff);
}

.pricing-card--light .pricing-title {
  color: var(--black, #000000);
}

.pricing-subtitle {
  text-align: left;
  font-family: var(--p-small-regular-font-family, "PpNeueMontreal-Regular", sans-serif);
  font-size: var(--p-small-regular-font-size, 24px);
  line-height: var(--p-small-regular-line-height, 34px);
  font-weight: var(--p-small-regular-font-weight, 400);
  position: relative;
  align-self: stretch;
  text-overflow: ellipsis;
  overflow: hidden;
}

.pricing-card--dark .pricing-subtitle {
  color: var(--white, #ffffff);
}

.pricing-card--light .pricing-subtitle {
  color: var(--black, #000000);
}

.pricing-item-list {
  display: flex;
  flex-direction: column;
  gap: 36px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.pricing-item {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.pricing-item-amount {
  text-align: left;
  font-family: var(--numbers-secondary-font-family, "PpEditorialOld-Regular", sans-serif);
  font-size: var(--numbers-secondary-font-size, 72px);
  line-height: var(--numbers-secondary-line-height, 72px);
  letter-spacing: var(--numbers-secondary-letter-spacing, -0.04em);
  font-weight: var(--numbers-secondary-font-weight, 400);
  position: relative;
}

.pricing-card--dark .pricing-item-amount {
  color: var(--white, #ffffff);
}

.pricing-card--light .pricing-item-amount {
  color: var(--black, #000000);
}

.pricing-item-description {
  text-align: left;
  font-family: var(--p-small-regular-font-family, "PpNeueMontreal-Regular", sans-serif);
  font-size: var(--p-small-regular-font-size, 24px);
  line-height: var(--p-small-regular-line-height, 34px);
  font-weight: var(--p-small-regular-font-weight, 400);
  position: relative;
  align-self: stretch;
}

.pricing-card--dark .pricing-item-description {
  color: var(--white, #ffffff);
}

.pricing-card--light .pricing-item-description {
  color: var(--black, #000000);
}

.pricing-item-detail {
  text-align: left;
  font-family: var(--p-small-regular-font-family, "PpNeueMontreal-Regular", sans-serif);
  font-size: var(--p-smallest-regular-font-size, 14px);
  line-height: var(--p-smallest-regular-line-height, 20px);
  font-weight: var(--p-small-regular-font-weight, 400);
  position: relative;
  align-self: stretch;
}

.pricing-card--dark .pricing-item-detail {
  color: var(--white, #ffffff);
}

.pricing-card--light .pricing-item-detail {
  color: var(--black, #000000);
}

.pricing-divider {
  margin-top: -1px;
  border-style: solid;
  border-width: 1px 0 0 0;
  align-self: stretch;
  flex-shrink: 0;
  height: 0px;
  position: relative;
}

.pricing-card--dark .pricing-divider {
  border-color: var(--lightinverted, rgba(255, 255, 255, 0.2));
}

.pricing-card--dark .pricing-divider.divider-emphasis {
  border-color: rgba(255, 255, 255, 0.4);
}

.pricing-card--light .pricing-divider {
  border-color: var(--light, rgba(0, 0, 0, 0.1));
}

.pricing-action-link-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
  align-self: stretch;
}

.pricing-action-link {
  text-align: left;
  font-family: var(--p-small-bold-font-family, "PpNeueMontreal-Bold", sans-serif);
  font-size: var(--p-small-bold-font-size, 24px);
  line-height: var(--p-small-bold-line-height, 34px);
  font-weight: var(--p-small-bold-font-weight, 700);
  position: relative;
  cursor: pointer;
}

.pricing-card--dark .pricing-action-link {
  color: var(--white, #ffffff);
}

.pricing-card--light .pricing-action-link {
  color: var(--black, #000000);
}

.footer-menu {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.footer-menu .footer-link {
  color: var(--black, #000000);
  text-align: left;
  font-family: var(--p-small-bold-font-family, "PpNeueMontreal-Bold", sans-serif);
  font-size: var(--p-small-bold-font-size, 24px);
  line-height: var(--p-small-bold-line-height, 34px);
  font-weight: var(--p-small-bold-font-weight, 700);
  position: relative;
  cursor: pointer;
}

.content {
  padding: 0px 24px 0px 24px;
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.author {
  padding: 0px 24px 0px 24px;
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.avatar {
  border-radius: 1000px;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  position: relative;
  object-fit: cover;
  aspect-ratio: 1;
}

/* Added for 1250px+ screens */
@media (min-width: 1250px) {
  .uvp {
    margin-top: -100px; /* Height of the .menu element */
    /* To ensure .uvp content appears above .menu if they truly overlap in z-stacking: */
    /* position: relative; */ /* Already set for .uvp */
    /* z-index: 10; */ /* Or a value higher than .menu if it had a z-index */
  }

  /* If .menu needs to be visually behind .uvp, and it doesn't have a background */
  /* .menu {
    position: relative; 
    z-index: 1; 
  } */
}

.reviews-slider-container {
  perspective: 1000px; /* Establishes 3D space for children */
  transform-style: preserve-3d; /* Ensures children can be 3D transformed */
  position: relative; /* Good to have for positioning contexts if needed later */
  /* Add any other existing styles for reviews-slider-container if necessary */
}

.review-card { 
  background: var(--card, #f5f5f5);
  border-radius: 40px;
  padding: 24px 60px 48px 28px;
  display: none;
  flex-direction: column;
  gap: 30px;
  align-items: flex-start;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  margin-bottom: 16px;
  opacity: 0;
  transform: translateY(50px) scale(0.9);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.review-card.active-review {
  display: flex;
  opacity: 1;
  transform: translateY(0px) scale(1);
}

.review-card.is-visible {
  opacity: 1;
  transform: translateY(0px) scale(1);
}

.review-card-header {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.review-card-avatar {
  border-radius: 1000px;
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  position: relative;
  object-fit: cover;
  aspect-ratio: 1;
}

.review-card-user-data {
  display: flex;
  flex-direction: column;
  gap: 0px;
  align-items: flex-start;
  justify-content: center;
  flex: 1;
  position: relative;
}

.review-card-user-name {
  color: var(--black, #000000);
  text-align: left;
  font-family: var(--p-small-bold-font-family, "PpNeueMontreal-Bold", sans-serif);
  font-size: var(--p-small-regular-font-size, 24px);
  line-height: var(--p-small-regular-line-height, 34px);
  font-weight: var(--p-small-bold-font-weight, 700);
  position: relative;
  align-self: stretch;
  text-overflow: ellipsis;
  overflow: hidden;
}

.review-card-user-title {
  color: var(--black, #000000);
  text-align: left;
  font-family: var(--p-small-regular-font-family, "PpNeueMontreal-Regular", sans-serif);
  font-size: var(--p-small-regular-font-size, 24px);
  line-height: var(--p-small-regular-line-height, 34px);
  font-weight: var(--p-small-regular-font-weight, 400);
  position: relative;
  align-self: stretch;
  text-overflow: ellipsis;
  overflow: hidden;
}

.review-card-user-affiliation {
  color: var(--gray, rgba(0, 0, 0, 0.5));
  text-align: left;
  font-family: var(--p-small-regular-font-family, "PpNeueMontreal-Regular", sans-serif);
  font-size: var(--p-small-regular-font-size, 24px);
  line-height: var(--p-small-regular-line-height, 34px);
  font-weight: var(--p-small-regular-font-weight, 400);
  position: relative;
  align-self: stretch;
  text-overflow: ellipsis;
  overflow: hidden;
}

.review-card-text {
  color: var(--black, #000000);
  text-align: left;
  font-family: var(--p-small-regular-font-family, "PpNeueMontreal-Regular", sans-serif);
  font-size: var(--p-small-regular-font-size, 24px);
  line-height: var(--p-small-regular-line-height, 34px);
  font-weight: var(--p-small-regular-font-weight, 400);
  position: relative;
  align-self: stretch;
}

.review-slider-navigation {
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}

.review-slider-navigation .nav-button {
  color: var(--black, #000000);
  text-align: left;
  font-family: var(--p-small-bold-font-family, "PpNeueMontreal-Bold", sans-serif);
  font-size: var(--p-small-regular-font-size, 24px);
  line-height: var(--p-small-regular-line-height, 34px);
  font-weight: var(--p-small-bold-font-weight, 700);
  position: relative;
  cursor: pointer;
}

.review-slider-navigation .nav-button:hover {
  color: var(--gray, rgba(0, 0, 0, 0.5));
}

/* Active state for artist card */
.artist-card.active {
  /* Scale is applied here, rotation will be via JS for dynamic effect */
  /* transform: scale(1.1); */ /* JS will handle the full transform string */
  box-shadow: 0 0 150px 45px rgba(255, 255, 228, 0.25); /* Bigger white glow */
  z-index: 10; /* Ensure active card is on top */
}

/* Desktop: Hover effects for overlapping cards */
@media (min-width: 769px) {
  .artist-card:hover {
    z-index: 5; /* Bring hovered card forward */
  }
  
  /* Make i61 card (data-card="3") appear hovered by default on desktop */
  .artist-card[data-card="3"]:not(.user-interacting) {
    box-shadow: 0 0 150px 45px rgba(255, 255, 228, 0.25); /* Same as active state */
    z-index: 10; /* Same as active state */
    transform: scale(1.1) rotateX(2deg) rotateY(3deg); /* Default 3D hover effect */
  }
  
  .artist-card[data-card="3"]:not(.user-interacting) .artist-card-gradient-overlay {
    background: var(--gradient); /* Same as active state */
  }
  
  .artist-card[data-card="3"]:not(.user-interacting) .artist-card-review-text,
  .artist-card[data-card="3"]:not(.user-interacting) .artist-card-author-name {
    color: var(--white); /* Same as active state */
  }
  
  .artist-card[data-card="3"]:not(.user-interacting) .instagram-icon path {
    fill: var(--white); /* Same as active state */
  }
  
  /* When user is interacting, i61 card returns to exact default styling like other cards */
  .artist-card[data-card="3"].user-interacting:not(.active) {
    box-shadow: none;
    z-index: 1; /* Same as default artist-card z-index */
    transform: none;
  }
  
  .artist-card[data-card="3"].user-interacting:not(.active) .artist-card-gradient-overlay {
    background: var(--artist-card-gradient-strong); /* Same as default cards */
  }
  
  .artist-card[data-card="3"].user-interacting:not(.active) .artist-card-review-text,
  .artist-card[data-card="3"].user-interacting:not(.active) .artist-card-author-name {
    color: var(--text-dimmed-color); /* Same as default cards */
  }
  
  .artist-card[data-card="3"].user-interacting:not(.active) .instagram-icon path {
    fill: rgba(255, 255, 255, 0.125); /* Same as default cards */
  }
}

.artist-card.active .artist-card-gradient-overlay {
  background: var(--gradient); /* Original, less intense gradient on active */
}

.artist-card.active .artist-card-review-text,
.artist-card.active .artist-card-author-name {
  color: var(--white); /* Brighter text on active */
}

.instagram-icon path {
  fill: rgba(255, 255, 255, 0.125); /* Default light gray state */
}

.artist-card.active .instagram-icon path {
  fill: var(--white); /* White Instagram icon on active */
}

@media (min-width: 561px) and (max-width: 590px) {
  .artist-card {
    width: 300px;
    height: 650px;
    margin-right: -280px;
  }
}

/* Mobile horizontal scrollable layout */
@media (max-width: 560px) {
  .artists {
    display: flex;
    flex-direction: row;
    gap: 1%;
    align-items: center;
    justify-content: flex-start;
    align-self: stretch;
    flex-shrink: 0;
    margin: 0;
    position: relative;
    perspective: none;
    width: 100%;
    max-width: none;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  
  .artist-card {
    flex-shrink: 0;
    width: 225px;
    height: 490px;
    margin-right: 0;
    scroll-snap-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.2s ease;
    opacity: 1;
  }
  
  /* Non-selectable text on mobile */
  .artist-card .artist-card-review-text,
  .artist-card .artist-card-author-name {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
  }
  
  /* Disappearing animation for cards */
  .artist-card.disappeared {
    transform: scale(0);
    opacity: 0;
    margin-left: -225px;
    transition: transform 0.4s ease, opacity 0.4s ease, margin-left 0.4s ease;
    pointer-events: none;
  }
  
  /* Active state on tap - same as desktop hover */
  .artist-card.active {
    transform: scale(1.05);
    box-shadow: 0 0 150px 45px rgba(255, 255, 228, 0.25);
    z-index: 5;
  }
  
  .artist-card.active .artist-card-gradient-overlay {
    background: var(--gradient);
  }
  
  .artist-card.active .artist-card-review-text,
  .artist-card.active .artist-card-author-name {
    color: var(--white);
  }

  .uvp .text {
    padding-right: 70px; /* Add padding to prevent text from overlapping the image */
  }

  /* "Open call" card mobile layout adjustments */
  .pricing-item-list.open-call {
    flex-direction: column; /* Stack the 3 main items vertically */
    gap: 30px; /* Adjust gap between stacked items */
  }

  .pricing-item-list.open-call .pricing-item {
    flex-direction: row; /* Number and text side-by-side */
    align-items: flex-start; /* Align number and text to the top */
    gap: 15px; /* Space between number and its description */
  }

  .pricing-item-list.open-call .pricing-item .pricing-item-description {
    flex: 1; /* Description takes remaining space */
  }
}

/* Fix image positioning for all cards */
.artist-card-photo {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0px;
  top: 0px;
  object-fit: cover;
  object-position: center center;
}

/* Specific fix for bulatova image */
.artist-card[data-card="0"] .artist-card-photo {
  object-position: center top;
}

@media (max-width: 560px) {
  .uvp .maria {
    width: 75px;
    height: 75px;
    position: absolute;
    right: 0;
  }

  .uvp .text {
    padding-right: 70px; /* Add padding to prevent text from overlapping the image */
  }
}

/* 3-column layout for "Open call" card items */
.open-call {
  flex-direction: row; /* Override from column to row */
  gap: 20px; /* Adjust gap as needed, default is 24px */
  align-items: flex-start; /* Or stretch, depending on desired visual for item heights */
}

.open-call .pricing-item {
  flex: 1; /* Allow items to grow and share space equally */
}

.open-call .pricing-divider {
  display: none; /* Hide dividers in 3-column layout */
}

.mentor-card {
  background-color: #f6eee5;
}

/* Card Link Wrapper Styles */
.card-link-wrapper {
  display: block; /* Ensure the link takes up the full card space */
  text-decoration: none; /* Remove default link underline */
  color: inherit; /* Inherit text color from parent */
  border-radius: 40px; /* Match card border radius */
  transition: transform 0.3s ease-out, box-shadow 0.3s ease-out; /* Keep existing transition for other potential effects or if JS is slow */
  margin-bottom: 16px; /* Retain original margin-bottom from review-card */
  perspective: 1200px; /* Added perspective for 3D effect on child */
  transform-style: preserve-3d; /* Ensures children can be 3D transformed if needed, good practice */
}

.card-link-wrapper.is-animating {
  pointer-events: none; /* Disable hover and other mouse events during animation */
}

.review-card-wrapper .review-card,
.pricing-card-wrapper .pricing-card {
  margin-bottom: 0; /* Remove margin from inner card as it's now on the wrapper */
  transition: transform 0.3s ease-out; /* For smooth return on mouseleave */
  transform-style: preserve-3d; /* For the card itself to be a 3D object */
}

.pricing-card-wrapper .pricing-card {
  /* margin-bottom: 0; */ /* Already covered above */
}

.card-link-wrapper:not(.is-animating):hover {
  /* transform: scale(1.03); */ /* Transform on hover is handled by JS for pricing cards */
  z-index: 100; 
}

.pricing-action-link-text {
  text-align: left;
  font-family: var(--p-small-bold-font-family, "PpNeueMontreal-Bold", sans-serif);
  font-size: var(--p-small-bold-font-size, 24px);
  line-height: var(--p-small-bold-line-height, 34px);
  font-weight: var(--p-small-bold-font-weight, 700);
  position: relative;
}

.pricing-card--dark .pricing-action-link-text {
  color: var(--white, #ffffff);
}

.pricing-card--light .pricing-action-link-text {
  color: var(--black, #000000);
}

/* Ensure submit button text in poll.php is dark */
button.pricing-action-link {
  color: var(--black, #000000);
}

.location-info {
  color: var(--gray, rgba(0, 0, 0, 0.5));
}

/* Ensure SVG inside location-info also picks up the color if needed, 
   though fill="currentColor" on SVG and color on parent span should suffice. 
.location-info svg {
  fill: currentColor; 
}
*/

/* Team Section Styles - Inside list-layout */
.team-section {
  margin-top: 24px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  justify-content: center;
  /* Span full width of list-layout parent */
  grid-column: 1 / -1;
  flex-basis: 100%;
}

.team-divider {
  width: 100%;
  height: 0px;
  border: none;
  border-top: 1px solid;
  border-color: var(--light, rgba(0, 0, 0, 0.1));
  margin: 0;
}

.team-content {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  padding-bottom: 24px;
  padding-top: 12px;
}

.team-title {
  color: var(--black, #000000);
  text-align: left;
  font-family: var(--p-small-regular-font-family, "PpNeueMontreal-Regular", sans-serif);
  font-size: var(--p-smallest-regular-font-size, 14px);
  line-height: var(--p-smallest-regular-line-height, 20px);
  font-weight: var(--p-small-regular-font-weight, 400);
  font-weight: 700; /* Make title bold while keeping pricing-item-detail size */
}

.team-logo {
  width: 60px;
  height: auto;
  flex-shrink: 0;
  object-fit: contain;
}

.team-description {
  color: var(--black, #000000);
  text-align: left;
  font-family: var(--p-small-regular-font-family, "PpNeueMontreal-Regular", sans-serif);
  font-size: var(--p-smallest-regular-font-size, 14px);
  line-height: var(--p-smallest-regular-line-height, 20px);
  font-weight: var(--p-small-regular-font-weight, 400);
  padding-right: 10%;
  flex: 1;
}

/* Ensure list-layout can accommodate the full-width team section */
.list-layout {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap; /* Allow wrapping to new row */
}

.list-layout .list {
  flex: 1;
  min-width: 0; /* Prevent flex items from overflowing */
}

/* Mobile responsive adjustments */
@media (max-width: 560px) {
  .team-section {
    margin-top: 20px;
    gap: 12px;
  }
  
  .team-content {
    gap: 12px;
  }
  
  .team-logo {
    width: 80px;
  }
}