/* section-image-banner.css */
.banner {
  flex-direction: row;
}

.banner__text.rte {
  --color-link: var(--color-foreground);
}

.banner__text {
  font-weight: var(--font-body-weight-medium);
}

.banner__media--radius, .banner__media--radius:after {
  border-radius: 1rem;
}

.banner__badge {
  padding: 1.2rem 1.8rem;
  align-items: baseline;
  color: rgb(var(--color-badge-foreground));
  background: rgb(var(--color-badge-background));
  border-radius: 100px;
  font-size: calc(1.1rem * var(--font-body-scale));
  line-height: calc(1 + 0.1 / var(--font-body-scale));
  letter-spacing: 1.1px;
  word-break: break-word;
}

@media only screen and (max-width: 749px) {
  .banner--content-align-mobile-right .banner__box {
    text-align: end;
  }

  .banner--content-align-mobile-left .banner__box {
    text-align: start;
  }

  .banner--mobile-bottom .banner__media--radius, .banner--mobile-bottom .banner__media--radius:after {
    border-start-start-radius: 1rem;
    border-start-end-radius: 1rem;
    border-end-end-radius: 0;
    border-end-start-radius: 0;
  }

  .banner__box--radius {
    border-start-start-radius: 0;
    border-start-end-radius: 0;
    border-end-end-radius: 1rem;
    border-end-start-radius: 1rem;
  }

  .banner--mobile-bottom .banner__content.page-width {
    padding: 0;
  }

  .banner--mobile-bottom .banner__full-link {
    z-index: 3;
  }
}

@media only screen and (min-width: 750px) {
  .banner--content-align-right .banner__box {
    text-align: end;
  }

  .banner--content-align-left .banner__box {
    text-align: start;
  }

  .banner--content-align-left.banner--desktop-transparent .banner__box,
  .banner--content-align-right.banner--desktop-transparent .banner__box,
  .banner--medium.banner--desktop-transparent .banner__box {
    max-width: 68rem;
  }
}

@media screen and (max-width: 749px) {
  .banner--mobile-bottom.banner--adapt-mobile .banner__media.placeholder,
  .banner--small-mobile.banner--mobile-bottom:not(.banner--adapt-mobile) .banner__media {
    height: 30rem;
  }

  .banner--medium-mobile.banner--mobile-bottom:not(.banner--adapt-mobile) .banner__media {
    height: 40rem;
  }

  .banner--large-mobile.banner--mobile-bottom:not(.banner--adapt-mobile) .banner__media {
    height: 50rem;
  }

  .banner--small-mobile:not(.banner--mobile-bottom):not(.banner--adapt-mobile) .banner__content {
    min-height: 30rem;
  }

  .banner--medium-mobile:not(.banner--mobile-bottom):not(.banner--adapt-mobile) .banner__content {
    min-height: 40rem;
  }

  .banner--large-mobile:not(.banner--mobile-bottom):not(.banner--adapt-mobile) .banner__content {
    min-height: 50rem;
  }
}

@media screen and (min-width: 750px) {
  .banner--small:not(.banner--adapt) {
    min-height: 42rem;
  }

  .banner--medium:not(.banner--adapt) {
    min-height: 56rem;
  }

  .banner--large:not(.banner--adapt) {
    min-height: 70rem;
  }

  .banner__content.banner__content--top-left {
    align-items: flex-start;
    justify-content: flex-start;
  }

  .banner__content.banner__content--top-center {
    align-items: flex-start;
    justify-content: center;
  }

  .banner__content.banner__content--top-right {
    align-items: flex-start;
    justify-content: flex-end;
  }

  .banner__content.banner__content--middle-left {
    align-items: center;
    justify-content: flex-start;
  }

  .banner__content.banner__content--middle-center {
    align-items: center;
    justify-content: center;
  }

  .banner__content.banner__content--middle-right {
    align-items: center;
    justify-content: flex-end;
  }

  .banner__content.banner__content--bottom-left {
    align-items: flex-end;
    justify-content: flex-start;
  }

  .banner__content.banner__content--bottom-center {
    align-items: flex-end;
    justify-content: center;
  }

  .banner__content.banner__content--bottom-right {
    align-items: flex-end;
    justify-content: flex-end;
  }
}

@media screen and (max-width: 749px) {
  .banner {
    flex-wrap: wrap;
  }
}

.banner__media {
  height: 100%;
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  width: 100%;
}

@media screen and (min-width: 750px) {
  .banner__media {
    height: 100%;
  }

  .banner--adapt,
  .banner--adapt_image.banner--mobile-bottom .banner__media:not(.placeholder) {
    height: fit-content;
  }
}

@media screen and (max-width: 749px) {
  .banner--adapt-mobile,
  .banner--adapt_image_mobile.banner--mobile-bottom .banner__media:not(.placeholder) {
    height: fit-content;
  }

  .banner--mobile-bottom .banner__media {
    position: relative;
  }

  .banner:not(.banner--mobile-bottom) .banner__box {
    border: none;
    border-radius: 0;
    box-shadow: none;
  }
}

.banner__content {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

@media screen and (min-width: 750px) {
  .banner__content {
    padding: 2.5rem;
  }

  .banner__content--top-left {
    align-items: flex-start;
    justify-content: flex-start;
  }

  .banner__content--top-center {
    align-items: flex-start;
    justify-content: center;
  }

  .banner__content--top-right {
    align-items: flex-start;
    justify-content: flex-end;
  }

  .banner__content--middle-left {
    align-items: center;
    justify-content: flex-start;
  }

  .banner__content--middle-center {
    align-items: center;
    justify-content: center;
  }

  .banner__content--middle-right {
    align-items: center;
    justify-content: flex-end;
  }

  .banner__content--bottom-left {
    align-items: flex-end;
    justify-content: flex-start;
  }

  .banner__content--bottom-center {
    align-items: flex-end;
    justify-content: center;
  }

  .banner__content--bottom-right {
    align-items: flex-end;
    justify-content: flex-end;
  }
}

@media(min-width: 990px) {
  .banner__content {
    padding: 5rem;
  }
}

@media screen and (max-width: 749px) {
  .banner--mobile-bottom .banner__content {
    order: 2;
  }

  .banner:not(.banner--mobile-bottom) .field__input {
    background-color: transparent;
  }
}

.banner__box {
  height: fit-content;
  align-items: center;
  text-align: center;
  width: 100%;
  z-index: 1;
  background: rgb(var(--color-background));
  background: var(--gradient-background);
}

@media screen and (min-width: 750px) {
  .banner--desktop-transparent .banner__box {
    --color-background: transparent;
    --gradient-background: transparent;
    max-width: 89rem;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }
}

@media screen and (max-width: 749px) {
  .banner--mobile-bottom::after,
  .banner--mobile-bottom .banner__media::after {
    display: none;
  }
}

.banner::after,
.banner__media::after {
  content: '';
  position: absolute;
  top: 0;
  background: #000000;
  opacity: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.banner__box > * + * {
  margin-top: var(--banner-gap, 2rem);
}

.banner__box > *:first-child {
  margin-top: 0;
}

.banner__heading {
  margin-bottom: 0;
}

.banner__buttons {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  max-width: 45rem;
  word-break: break-word;
  z-index: 3;
}

.banner__text a {
  z-index: 3;
  position: relative;
}

.banner__box .countdown.expired {
  color: rgb(var(--color-background));
}

.link.banner__button-link {
  white-space: normal;
}

@media screen and (max-width: 749px) {
  .banner--content-align-mobile-right .banner__buttons--multiple {
    justify-content: flex-end;
  }

  .banner__heading--large-size {
    letter-spacing: -0.16rem;
    font-size: calc(var(--font-heading-scale) * 4rem);
  }

  .banner__heading--gradient-mobile {
    background: var(--gradient-heading);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: calc(1 + .2/max(1,var(--font-heading-scale)));
  }

  .banner__heading--gradient-mobile span {
    display: inline-block;
  }

  .banner__button {
    font-size: calc(var(--font-button-scale) * 1.2rem);
    padding: 1.4rem 1.6rem;
  }

  .banner--mobile-bottom .banner__box {
    padding: 3rem 1rem 3.3rem;
  }
}

@media screen and (min-width: 750px) {
  .banner__box {
    max-width: 71rem;
    min-width: 45rem;
  }

  .banner--content-align-right .banner__buttons--multiple {
    justify-content: flex-end;
  }

  .banner__heading--large-size {
    letter-spacing: -0.192rem;
    font-size: calc(var(--font-heading-scale) * 4.8rem);
  }

  .banner__heading--gradient-desktop {
    background: var(--gradient-heading);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: calc(1 + .2/max(1,var(--font-heading-scale)));
  }

  .banner__heading--gradient-desktop span {
    display: inline-block;
  }

  .banner__button {
    padding: 1.6rem 2rem;
  }
}

@media screen and (min-width: 990px) {
  .banner__heading--large-size {
    letter-spacing: -0.256rem;
    font-size: calc(var(--font-heading-scale) * 6.4rem);
  }

  .banner__box > * + * {
    margin-top: var(--banner-gap, 3rem);
  }

  .banner__text {
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 1400px) {
  .banner__box {
    max-width: 90rem;
  }
}

/* component-slideshow.css */
@media screen and (max-width: 749px) {
  .slideshow--placeholder.banner--mobile-bottom.banner--adapt_image_mobile .slideshow__media,
  .slideshow--placeholder.banner--adapt_image_mobile:not(.banner--mobile-bottom) {
    height: 28rem;
  }
}

.slideshow__controls {
  width: min-content;
  position: absolute;
  inset-inline-start: 50%;
  bottom: 0;
  transform: translate(calc(var(--transform-direction) * 50%), 50%);
  z-index: 2;
  margin: 0;
}

.slider-buttons--has-background {
  border: 1px solid rgb(var(--color-foreground), 0.05);
  box-shadow: 0px 1px 2px 0px rgb(var(--color-shadow), 0.06), 0px 1px 3px 0px rgb(var(--color-shadow), 0.10);
}

.slideshow__control-wrapper, .slider-button--slideshow.slider-button--next, button.slider__autoplay {
  border-inline-start: 1px solid rgb(var(--color-foreground), 0.1);
}

.slider-button--slideshow, .slider__autoplay {
  width: 4.4rem;
  height: 4.4rem;
}

.slideshow__control-wrapper {
  padding: 0 1rem;
  align-self: normal;
}

@media screen and (min-width: 750px) {
  .slider.slideshow {
    scroll-behavior: auto;
  }

  .slideshow--placeholder.banner--adapt_image {
    height: 56rem;
  }

  .slideshow__text-wrapper.banner__content {
    height: 100%;
  }

  .slideshow__text.slideshow__text--left {
    align-items: flex-start;
    text-align: start;
  }

  .slideshow__text.slideshow__text--right {
    align-items: flex-end;
    text-align: end;
  }

  .js .slideshow__text-wrapper {
    overflow: hidden;
  }

  .js .slideshow__media {
    transition: transform 500ms ease;
    transform: scale(1.3);
  }
  .js .slideshow__text-wrapper .banner__box {
    transition: opacity 500ms cubic-bezier(.03,.93,.97,1);
  }
  .js .slideshow__text-wrapper .banner__box > * {
    transition: transform 500ms cubic-bezier(.03,.93,.97,1) 300ms, opacity 500ms cubic-bezier(.03,.93,.97,1) 300ms;
  }
  .js .slideshow__slide:not(.active) .slideshow__text-wrapper .banner__text {
    transform: translateX(-100%);
    opacity: 0;
  }

  .js .slideshow__slide:not(.active) .slideshow__text-wrapper .banner__heading {
    transform: translateX(100%);
    opacity: 0;
  }

  .js .slideshow__slide:not(.active) .slideshow__text-wrapper .banner__buttons {
    transform: translateY(100%);
    opacity: 0;
  }

  .js .slideshow__slide:not(.active) .slideshow__text-wrapper .banner__badge {
    transform: translateY(-100%);
    opacity: 0;
  }

  .js .slideshow__slide:not(.active) .slideshow__text-wrapper .banner__box {
    opacity: 0;
  }

  .js .slideshow__slide.active .slideshow__media {
    transform: scale(1);
  }

  .banner__media--desktop-half.banner__media {
    width: 50%;
  }

  .slideshow__media.banner__media--desktop-right {
    inset-inline-start: auto;
    inset-inline-end: 0;
  }
}

.slideshow__slide {
  padding: 0;
}

.slideshow__text.banner__box {
  max-width: 54.5rem;
}

div.slideshow__text {
  position: static;
}

.slideshow__text > * {
  max-width: 100%;
}

@media screen and (max-width: 749px) {
  .banner--mobile-bottom .slideshow__text.banner__box {
    max-width: 100%;
  }

  .banner--mobile-bottom .slideshow__text-wrapper {
    flex-grow: 1;
  }

  .banner--mobile-bottom .slideshow__text.banner__box {
    height: 100%;
  }

  .banner--mobile-bottom .slideshow__text .button {
    flex-grow: 0;
  }

  .banner--mobile-bottom + .slideshow__controls {
    position: static;
    margin: 1rem auto 0;
    transform: none;
  }

  .slideshow__text.slideshow__text-mobile--left {
    align-items: flex-start;
    text-align: start;
  }

  .slideshow__text.slideshow__text-mobile--right {
    align-items: flex-end;
    text-align: end;
  }
}

.slideshow:not(.banner--mobile-bottom) .slideshow__text-wrapper {
  height: 100%;
}

.slideshow__autoplay .icon.icon-play,
.slideshow__autoplay .icon.icon-pause {
  display: block;
  position: absolute;
  opacity: 1;
  transform: scale(1);
  transition: transform 150ms ease, opacity 150ms ease;
  width: 0.8rem;
  height: 1.2rem;
}

.slideshow__autoplay .icon.icon-play {
  height: 1rem;
}

@media screen and (forced-colors: active) {
  .slideshow__autoplay path,
  .slideshow__autoplay:hover path{
    fill: CanvasText;
  }
}

.slideshow__autoplay:hover svg.icon {
  transform: scale(1.3);
}

.slideshow__autoplay--paused .icon-pause,
.slideshow__autoplay:not(.slideshow__autoplay--paused) .icon-play {
  visibility: hidden;
  opacity: 0;
  transform: scale(.8)
}

.slideshow__progress {
  position: absolute;
  fill: none;
}

@keyframes stroke-dashoffset {
  0% {
    stroke-dashoffset: 1;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

.slideshow__progress__path {
  stroke: rgb(var(--color-foreground));
  stroke-dasharray: 1;
  animation: stroke-dashoffset var(--speed) linear infinite;
  stroke-width: 5px;
}

.slideshow__autoplay .slideshow__progress__path, .slideshow__autoplay:hover .slideshow__progress__path {
  fill: none;
}

.slideshow__autoplay:hover .slideshow__progress {
  transform: none;
}

.slideshow__autoplay--paused .slideshow__progress__path {
  animation-play-state:paused;
}

/* section-statistics.css */
/* Statistics Section */
.statistics {
  background-color: var(--stats-bg-color);
}

.statistics__wrapper {
  width: 100%;
}

.statistics__header {
  margin-bottom: 4rem;
}

.statistics__heading {
  color: var(--stats-number-color);
  margin: 0;
}

/* Grid Layout */
.statistics__grid {
  display: grid;
  gap: 3rem;
  align-items: center;
  justify-items: center;
}

.statistics__grid.grid--4-col-desktop {
  grid-template-columns: repeat(4, 1fr);
}

.statistics__grid.grid--3-col-desktop {
  grid-template-columns: repeat(3, 1fr);
}

.statistics__grid.grid--2-col-desktop {
  grid-template-columns: repeat(2, 1fr);
}

/* Statistics Item */
.statistics__item {
  text-align: center;
  padding: 2rem;
  width: 100%;
  max-width: 30rem;
}

/* Number Styling */
.statistics__number-wrapper {
  margin-bottom: 1.2rem;
}

.statistics__number {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--stats-number-color);
  display: inline-block;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}

/* Label Styling */
.statistics__label {
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--stats-text-color);
  margin: 0;
  font-weight: 400;
}

/* Animation State */
.statistics__item[data-animate-stats] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.statistics__item[data-animate-stats].animated {
  opacity: 1;
  transform: translateY(0);
}

/* Tablet Styles */
@media screen and (max-width: 989px) {
  .statistics__grid.grid--4-col-desktop,
  .statistics__grid.grid--3-col-desktop,
  .statistics__grid.grid--2-col-desktop {
    grid-template-columns: repeat(2, 1fr);
  }

  .statistics__number {
    font-size: 4rem;
  }

  .statistics__label {
    font-size: 1.3rem;
  }

  .statistics__header {
    margin-bottom: 3rem;
  }
}

/* Mobile Styles */
@media screen and (max-width: 749px) {
  .statistics__grid.grid--4-col-desktop,
  .statistics__grid.grid--3-col-desktop,
  .statistics__grid.grid--2-col-desktop,
  .statistics__grid.grid--1-col-mobile {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem 2rem;
  }

  .statistics__item {
    padding: 1.5rem 1rem;
    max-width: 100%;
  }

  .statistics__number {
    font-size: 3.2rem;
  }

  .statistics__label {
    font-size: 1.2rem;
  }

  .statistics__header {
    margin-bottom: 2.5rem;
  }
}

/* Very Small Mobile */
@media screen and (max-width: 480px) {
  .statistics__number {
    font-size: 2.8rem;
  }

  .statistics__label {
    font-size: 1.1rem;
  }
}

/* section-scrolling-text.css */
.scrolling-text__content {
  gap: var(--gap);
}

@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc((100% + var(--gap)) * var(--transform-direction)));
  }
}

.scrolling-text__item--outline {
  color: rgb(var(--color-background));
  -webkit-text-stroke: var(--text-stroke) rgb(var(--color-foreground));
}

.scrolling-text__item--gradient {
  background: var(--gradient-text);
  -webkit-background-clip: text;
  -webkit-text-stroke-color: transparent;
}

.scrolling-text__item--gradient:not(.scrolling-text__item--outline) {
  -webkit-text-fill-color: transparent;
}

.scrolling-text__item {
  padding: 5px;
}

/* Pause animation when reduced-motion is set */

@media (prefers-reduced-motion: reduce) {
  .scrolling-text__list {
    animation-play-state: paused !important;
  }
}

/* Enable animation */

.enable-animation .scrolling-text__list {
  animation: scroll var(--scroll-speed) linear infinite var(--animation-direction);
}

.scrolling-text__content--pause-on-hover:hover .scrolling-text__list {
  animation-play-state: paused;
}

/* section-gallery.css */
.gallery__item__content--inside {
	--color-background-opacity: var(--color-background-opacity-block);
	--horizontal-padding: 3rem;
	--vertical-padding: 2rem;
  position: absolute;
	top: 0;
	inset-inline-start: 0;
	padding: var(--vertical-padding) var(--horizontal-padding);
	padding-bottom: 6rem;
	background-color: rgb(var(--color-background), var(--color-background-opacity));
	box-sizing: border-box;
	transition: background-color 300ms ease;
}

.gallery__item__inner--flex {
	display: flex;
	flex-direction: column-reverse;
}

.gallery__item__caption {
	--color-foreground: var(--color-caption);
}

.card-wrapper:hover .gallery__item__content--inside {
	--color-background-opacity: 0;
}

a.gallery__pin-button {
	position: absolute;
	bottom: var(--horizontal-padding);
}

.gallery__pin-button--left {
	inset-inline-start: var(--horizontal-padding);
}

.gallery__pin-button--right {
	inset-inline-end: var(--horizontal-padding);
}

.gallery__pin-button--center {
	inset-inline-start: 50%;
	transform: translateX(calc(var(--transform-direction) * 50%));
}

.gallery__item__line {
	width: 3.5rem;
	height: 0.2rem;
	background-color: rgb(var(--color-foreground));
	margin-block: 2rem;
}

.gallery__item__line--left {
	margin-inline-start: 0;
	margin-inline-end: auto;
}

.gallery__item__line--center {
	margin-inline: auto;
}

.gallery__item__line--right {
	margin-inline-start: auto;
	margin-inline-end: 0;
}

.gallery__item__lightbox-btn {
	z-index: 2;
	cursor: pointer;
	border-radius: 8px;
	background: rgb(var(--color-background), 0.70);
	box-shadow: 1px 1px 3px 0px rgb(var(--color-foreground), 0.10);
	backdrop-filter: blur(6px);
	padding: 6px;
	transition: background 300ms ease;
}

.gallery__item__lightbox-btn:hover {
	background: rgb(var(--color-background));
}

a.gallery__item__full-link {
	display: block;
}

@media screen and (min-width: 750px) and (max-width: 989px) {
	.gallery__item__content--inside-small-tablet {
		--horizontal-padding: 1.5rem;
		--vertical-padding: 1.5rem;
	}
}

/* Mobile: Reduce padding and ensure text doesn't overflow on image */
@media screen and (max-width: 749px) {
	.gallery__item__content--inside {
		--horizontal-padding: 1.5rem;
		--vertical-padding: 1.5rem;
		max-width: 100%;
		max-height: 100%;
		overflow: hidden;
		display: flex;
		flex-direction: column;
		justify-content: flex-start !important;
		padding-bottom: 2rem;
		text-align: center !important;
		align-items: center !important;
	}
	
	.gallery__item__inner--flex {
		max-height: 100%;
		overflow: hidden;
		flex-direction: column !important;
		align-items: center !important;
		width: 100%;
	}
	
	.gallery__item__content--inside h2,
	.gallery__item__content--inside h3,
	.gallery__item__content--inside .h2,
	.gallery__item__content--inside .h3 {
		font-size: 3rem !important;
		text-align: center !important;
	}
}

@media screen and (min-width: 900px) {
	.gallery__item__content--inside-small-desktop {
		--horizontal-padding: 1.5rem;
		--vertical-padding: 1.5rem;
	}
}

/* component-image-with-text.css */
.image-with-text .grid {
  margin-bottom: 0;
}

.image-with-text .grid__item {
  position: relative;
}

/* Mobile: text card first, then image (default - image_second) */
@media screen and (max-width: 749px) {
  .image-with-text .grid {
    display: flex;
    flex-direction: column-reverse;
  }
  
  /* Mobile: image first, then text card (when mobile_layout is image_first) */
  .image-with-text .image-with-text__grid--mobile-image-first {
    flex-direction: column;
  }
  
  /* Mobile: text first, then image card (when mobile_layout is image_second - default behavior) */
  .image-with-text .image-with-text__grid--mobile-image-second {
    flex-direction: column-reverse;
  }
  
  .image-with-text__content,
  .image-with-text__content--radius {
    display: flex !important;
    flex-direction: column !important;
    border-radius: var(--border-radius-content) !important;
  }

  .image-with-text__text-item {
    border-radius: var(--border-radius-content) !important;
    overflow: hidden;
  }
  
  /* When image is first on mobile, text card keeps all rounded corners */
  .image-with-text .image-with-text__grid--mobile-image-first .image-with-text__content,
  .image-with-text .image-with-text__grid--mobile-image-first .image-with-text__content--radius {
    border-radius: var(--border-radius-content) !important;
  }

  .image-with-text .image-with-text__grid--mobile-image-first .image-with-text__text-item {
    border-radius: var(--border-radius-content) !important;
    overflow: hidden;
  }
  
  /* Mobile: Disable the overlay gradient (::before) - we only want vertical shine */
  .image-with-text__content::before {
    opacity: 0 !important;
    display: none !important;
  }
  
  /* Mobile: Change inset shadow from top to bottom, remove white border */
  .image-with-text__content {
    box-shadow: 3px 0px 6px -20px rgba(0, 0, 0, 0.06),
                2px 0px 3px -1px rgba(0, 0, 0, 0.04),
                inset 0 -8px 22px rgba(255, 255, 255, 0.18) !important;
  }
  
  /* Mobile: Enable shine effect on mobile as well - vertical gradient from bottom */
  .image-with-text__content::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 60%;
    background: 
      linear-gradient(to top,
        rgba(255, 255, 255, 0.95) 0%, 
        rgba(255, 255, 255, 0.90) 8%,
        rgba(255, 255, 255, 0.84) 15%,
        rgba(255, 255, 255, 0.76) 22%,
        rgba(255, 255, 255, 0.67) 28%,
        rgba(255, 255, 255, 0.57) 34%,
        rgba(255, 255, 255, 0.47) 40%,
        rgba(255, 255, 255, 0.37) 46%,
        rgba(255, 255, 255, 0.29) 52%,
        rgba(255, 255, 255, 0.21) 58%,
        rgba(255, 255, 255, 0.15) 64%,
        rgba(255, 255, 255, 0.10) 70%,
        rgba(255, 255, 255, 0.06) 76%,
        rgba(255, 255, 255, 0.04) 82%,
        rgba(255, 255, 255, 0.02) 88%,
        rgba(255, 255, 255, 0.01) 94%,
        transparent 100%
      );
    border-radius: inherit;
    pointer-events: none;
    z-index: 0;
    opacity: 1;
  }
  
  /* When text is on the left (image first on mobile), gradient stays the same - bottom to top */
  .image-with-text .image-with-text__grid--mobile-image-first .image-with-text__content::after {
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 60%;
    background: 
      linear-gradient(to top,
        rgba(255, 255, 255, 0.95) 0%, 
        rgba(255, 255, 255, 0.90) 8%,
        rgba(255, 255, 255, 0.84) 15%,
        rgba(255, 255, 255, 0.76) 22%,
        rgba(255, 255, 255, 0.67) 28%,
        rgba(255, 255, 255, 0.57) 34%,
        rgba(255, 255, 255, 0.47) 40%,
        rgba(255, 255, 255, 0.37) 46%,
        rgba(255, 255, 255, 0.29) 52%,
        rgba(255, 255, 255, 0.21) 58%,
        rgba(255, 255, 255, 0.15) 64%,
        rgba(255, 255, 255, 0.10) 70%,
        rgba(255, 255, 255, 0.06) 76%,
        rgba(255, 255, 255, 0.04) 82%,
        rgba(255, 255, 255, 0.02) 88%,
        rgba(255, 255, 255, 0.01) 94%,
        transparent 100%
      );
  }
  
  /* Heading first, text second */
  .image-with-text__content > .image-with-text__heading,
  .image-with-text__content > h2,
  .image-with-text__content > [class*="heading"] {
    order: 1 !important;
  }
  
  .image-with-text__content > .image-with-text__text,
  .image-with-text__content > .rte,
  .image-with-text__content > p,
  .image-with-text__content > [class*="text"] {
    order: 2 !important;
  }
  
  .image-with-text__content > .button,
  .image-with-text__content > .button-wrapper,
  .image-with-text__content > a {
    order: 3 !important;
  }
}

@media screen and (min-width: 750px) {
  .image-with-text__grid--reverse {
    flex-direction: row-reverse;
  }

  /* Mirror shadow whenever text card is rendered second (grid reversed) */
  .image-with-text__grid--reverse .image-with-text__text-item .image-with-text__content,
  .image-with-text__grid--reverse .image-with-text__text-item .image-with-text__content--radius {
    box-shadow: -3px 0px 6px -20px rgba(0, 0, 0, 0.06),
                -2px 0px 3px -1px rgba(0, 0, 0, 0.04),
                inset 1px 0 0 1px rgba(255, 255, 255, 0.35),
                inset 0 8px 22px rgba(255, 255, 255, 0.18);
  }
}

.image-with-text__media {
  overflow: visible;
}


.image-with-text__media--small {
  height: 19.4rem;
}

.image-with-text__media--medium {
  height: 32rem;
}

.image-with-text__media--large {
  height: 43.5rem;
}

@media screen and (min-width: 750px) {
  .image-with-text__media--small {
    height: 31.4rem;
  }

  .image-with-text__media--medium {
    height: 50rem;
  }

  .image-with-text__media--large {
    height: 69.5rem;
  }
}

.image-with-text__media--placeholder {
  position: relative;
  overflow: hidden;
}

.image-with-text__media--placeholder:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(var(--color-foreground), 0.04);
}

.image-with-text__media--placeholder.image-with-text__media--adapt {
  height: 20rem;
}

@media screen and (min-width: 750px) {
  .image-with-text__media--placeholder.image-with-text__media--adapt {
    height: 30rem;
  }
}

.image-with-text__media--placeholder > svg {
  position: absolute;
  inset-inline-start: 50%;
  max-width: 80rem;
  top: 50%;
  transform: translate(calc(var(--transform-direction) * 50%), -50%);
  fill: currentColor;
}

.image-with-text__content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  align-self: center;
  padding: 4rem calc(3.5rem / var(--font-body-scale)) 5rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
  
  /* Liquid Glass Effect - Same as text-icons */
  border: none;
  box-shadow: 3px 0px 6px -20px rgba(0, 0, 0, 0.06),
              2px 0px 3px -1px rgba(0, 0, 0, 0.04),
              inset -1px 0 0 1px rgba(255, 255, 255, 0.35),
              inset 0 8px 22px rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(calc(var(--button-glass-blur) * 1.5));
  -webkit-backdrop-filter: blur(calc(var(--button-glass-blur) * 1.5));
  background: linear-gradient(135deg, 
    rgba(255, 255, 255, calc(var(--button-glass-opacity) * 1.8)), 
    rgba(255, 255, 255, calc(var(--button-glass-opacity) * 1.2))
  ) !important;
  transition: background 180ms ease;
}
/* Hover overlay gradient that doesn’t reach the edge */
.image-with-text__content::before {
  content: "";
  position: absolute;
  inset: 0;
  inset-inline-start: 12%;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(225deg,
    rgba(255, 255, 255, 0.9) 0%,
    rgba(255, 255, 255, 0.86) 30%,
    rgba(255, 255, 255, 0.72) 58%,
    rgba(255, 255, 255, 0.48) 75%,
    rgba(255, 255, 255, 0.28) 88%,
    rgba(255, 255, 255, 0.14) 96%,
    rgba(255, 255, 255, 0) 100%
  );
  mask-image: linear-gradient(to left,
    rgba(0, 0, 0, 0.95) 0%,
    rgba(0, 0, 0, 0.9) 45%,
    rgba(0, 0, 0, 0.65) 65%,
    rgba(0, 0, 0, 0.35) 80%,
    rgba(0, 0, 0, 0.1) 92%,
    rgba(0, 0, 0, 0) 100%
  );
  -webkit-mask-image: linear-gradient(to left,
    rgba(0, 0, 0, 0.95) 0%,
    rgba(0, 0, 0, 0.9) 45%,
    rgba(0, 0, 0, 0.65) 65%,
    rgba(0, 0, 0, 0.35) 80%,
    rgba(0, 0, 0, 0.1) 92%,
    rgba(0, 0, 0, 0) 100%
  );
  transition: opacity 220ms ease, transform 260ms ease;
  transform: scale(0.96);
  transform-origin: right center;
}

.image-with-text__grid--reverse .image-with-text__text-item .image-with-text__content::before {
  inset-inline-start: 0;
  inset-inline-end: 12%;
  transform-origin: left center;
  background: linear-gradient(135deg,
    rgba(255, 255, 255, 0.9) 0%,
    rgba(255, 255, 255, 0.86) 30%,
    rgba(255, 255, 255, 0.72) 58%,
    rgba(255, 255, 255, 0.48) 75%,
    rgba(255, 255, 255, 0.28) 88%,
    rgba(255, 255, 255, 0.14) 96%,
    rgba(255, 255, 255, 0) 100%
  );
  mask-image: linear-gradient(to right,
    rgba(0, 0, 0, 0.95) 0%,
    rgba(0, 0, 0, 0.9) 45%,
    rgba(0, 0, 0, 0.65) 65%,
    rgba(0, 0, 0, 0.35) 80%,
    rgba(0, 0, 0, 0.1) 92%,
    rgba(0, 0, 0, 0) 100%
  );
  -webkit-mask-image: linear-gradient(to right,
    rgba(0, 0, 0, 0.95) 0%,
    rgba(0, 0, 0, 0.9) 45%,
    rgba(0, 0, 0, 0.65) 65%,
    rgba(0, 0, 0, 0.35) 80%,
    rgba(0, 0, 0, 0.1) 92%,
    rgba(0, 0, 0, 0) 100%
  );
}

.image-with-text__text-item:hover .image-with-text__content::before,
.image-with-text__text-item:focus-within .image-with-text__content::before,
.image-with-text__content:hover::before,
.image-with-text__content:focus-within::before {
  opacity: 1;
  transform: scale(1);
}

/* Glass shine effect - enabled on all devices */

@media screen and (min-width: 750px) {
  /* Desktop: show shine effect */
  .image-with-text__content::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    width: 40%;
    height: 100%;
    background: 
      radial-gradient(ellipse at top right,
        rgba(255, 255, 255, 0.95) 0%, 
        rgba(255, 255, 255, 0.90) 8%,
        rgba(255, 255, 255, 0.84) 15%,
        rgba(255, 255, 255, 0.76) 22%,
        rgba(255, 255, 255, 0.67) 28%,
        rgba(255, 255, 255, 0.57) 34%,
        rgba(255, 255, 255, 0.47) 40%,
        rgba(255, 255, 255, 0.37) 46%,
        rgba(255, 255, 255, 0.29) 52%,
        rgba(255, 255, 255, 0.21) 58%,
        rgba(255, 255, 255, 0.15) 64%,
        rgba(255, 255, 255, 0.10) 70%,
        rgba(255, 255, 255, 0.06) 76%,
        rgba(255, 255, 255, 0.04) 82%,
        rgba(255, 255, 255, 0.02) 88%,
        rgba(255, 255, 255, 0.01) 94%,
        transparent 100%
      );
    border-radius: inherit;
    pointer-events: none;
    z-index: 0;
    opacity: 1;
    mask-image: linear-gradient(to left, 
      rgba(0,0,0,1) 0%, 
      rgba(0,0,0,1) 60%,
      rgba(0,0,0,0.8) 75%,
      rgba(0,0,0,0.5) 85%,
      rgba(0,0,0,0.2) 92%,
      rgba(0,0,0,0) 100%
    );
    -webkit-mask-image: linear-gradient(to left, 
      rgba(0,0,0,1) 0%, 
      rgba(0,0,0,1) 60%,
      rgba(0,0,0,0.8) 75%,
      rgba(0,0,0,0.5) 85%,
      rgba(0,0,0,0.2) 92%,
      rgba(0,0,0,0) 100%
    );
  }

  /* When text is on the right (grid reversed), restore original orientation */
  .image-with-text__grid--reverse .image-with-text__content::after {
    left: 0;
    right: auto;
    background: 
      radial-gradient(ellipse at top left,
        rgba(255, 255, 255, 0.95) 0%, 
        rgba(255, 255, 255, 0.90) 8%,
        rgba(255, 255, 255, 0.84) 15%,
        rgba(255, 255, 255, 0.76) 22%,
        rgba(255, 255, 255, 0.67) 28%,
        rgba(255, 255, 255, 0.57) 34%,
        rgba(255, 255, 255, 0.47) 40%,
        rgba(255, 255, 255, 0.37) 46%,
        rgba(255, 255, 255, 0.29) 52%,
        rgba(255, 255, 255, 0.21) 58%,
        rgba(255, 255, 255, 0.15) 64%,
        rgba(255, 255, 255, 0.10) 70%,
        rgba(255, 255, 255, 0.06) 76%,
        rgba(255, 255, 255, 0.04) 82%,
        rgba(255, 255, 255, 0.02) 88%,
        rgba(255, 255, 255, 0.01) 94%,
        transparent 100%
      );
    mask-image: linear-gradient(to right, 
      rgba(0,0,0,1) 0%, 
      rgba(0,0,0,1) 60%,
      rgba(0,0,0,0.8) 75%,
      rgba(0,0,0,0.5) 85%,
      rgba(0,0,0,0.2) 92%,
      rgba(0,0,0,0) 100%
    );
    -webkit-mask-image: linear-gradient(to right, 
      rgba(0,0,0,1) 0%, 
      rgba(0,0,0,1) 60%,
      rgba(0,0,0,0.8) 75%,
      rgba(0,0,0,0.5) 85%,
      rgba(0,0,0,0.2) 92%,
      rgba(0,0,0,0) 100%
    );
  }
}

/* Ensure content stays above the shine */
.image-with-text__content > * {
  position: relative;
  z-index: 1;
}


.image-with-text .grid__item::after {
  content: '';
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.image-with-text__media-item--two-images {
  --image-width: 55%;
  --image-delta: 3rem;
  padding-top: var(--image-delta);
}

.image-with-text__media-item__one-in-two {
  width: var(--image-width);
}

.image-with-text__media-item__one-in-two:first-child {
  z-index: 1;
}

.image-with-text__media-item__one-in-two:last-child {
  position: absolute;
  top: calc(50% - var(--image-delta) / 2);
  inset-inline-end: 0;
  transform: translateY(-50%);
  z-index: -1;
}

.image-with-text__content--radius {
  border-radius: var(--border-radius-content);
}

.image-with-text__media--radius, .image-with-text__media--radius > * {
  border-radius: var(--border-radius-media);
}

.image-with-text .image-with-text__media-item > * {
  overflow: hidden;
}

.image-with-text__content--mobile-right > * {
  align-self: flex-end;
  text-align: end;
}

.image-with-text__content--mobile-center > * {
  align-self: center;
  text-align: center;
}

.image-with-text--overlap .image-with-text__content {
  width: calc(100% - 3rem);
  margin: -3rem auto 0;
}

.image-with-text__heading--bold {
  font-weight: var(--font-heading-weight-rte-bold);
}

.image-with-text__heading--gradient {
  background: var(--gradient-heading);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.image-with-text__badge {
  padding: 1.2rem 2.4rem;
  font-weight: var(--font-body-weight-medium);
  border: 0.1rem solid rgb(var(--color-foreground));
  border-radius: 10rem;
  line-height: 1;
}

.image-with-text__badge--small {
  font-size: calc(1.4rem * var(--font-body-scale));
}

.image-with-text__badge--medium {
  font-size: calc(1.6rem * var(--font-body-scale));
}

.image-with-text__badge--large {
  font-size: calc(1.8rem * var(--font-body-scale));
}

.image-with-text_icon {
  width: 4.5rem;
}

@media screen and (min-width: 750px) {
  .image-with-text__grid--reverse .image-with-text__content {
    margin-inline-start: auto;
  }

  .image-with-text__content--bottom {
    justify-content: flex-end;
    align-self: flex-end;
  }

  .image-with-text__content--top {
    justify-content: flex-start;
    align-self: flex-start;
  }

  .image-with-text__content--desktop-right > * {
    align-self: flex-end;
    text-align: end;
  }

  .image-with-text__content--desktop-left > * {
    align-self: flex-start;
    text-align: start;
  }

  .image-with-text__content--desktop-center > * {
    align-self: center;
    text-align: center;
  }

  .image-with-text--overlap {
    --overlap-value: 4rem;
    --overlap-media-margin: calc(var(--overlap-value) * (-1));
    --overlap-text-margin: calc(var(--overlap-value) * (-1));
    --number-of-images: 1;
  }

  .image-with-text--overlap:has(.image-with-text__media-item__one-in-two) {
    --number-of-images: 2;
  }

  .image-with-text--overlap .image-with-text__text-item {
    display: flex;
    padding: 3rem 0;
  }

  .image-with-text--overlap .image-with-text__media-item > * {
    width: calc((100% / var(--number-of-images)) + var(--overlap-value));
    margin-inline-end: var(--overlap-media-margin);
  }

  .image-with-text--overlap .image-with-text__content {
    --padding-page-width: 1.5rem;
    height: auto;
    width: calc(100% + var(--overlap-value));
    margin-top: 0;
    margin-inline-start: var(--overlap-text-margin);
  }

  .image-with-text--overlap > div:not(.page-width):not(.page-width--full) .image-with-text__content {
    margin-inline-end: max(var(--padding-page-width), calc(50vw - (var(--page-width) / 2) + var(--padding-page-width)));
  } 

  .image-with-text--overlap > .page-width--full .image-with-text__content {
    margin-inline-end: max(0rem, calc(50vw - (var(--page-width) / 2)));
  }

  .image-with-text--overlap .image-with-text__grid--reverse .image-with-text__media-item > * {
    margin-inline-start: var(--overlap-text-margin);
    margin-inline-end: 0;
  }

  .image-with-text--overlap .image-with-text__grid--reverse .image-with-text__content {
    margin-inline-end: var(--overlap-text-margin);
  }

  .image-with-text--overlap > div:not(.page-width):not(.page-width--full) .image-with-text__grid--reverse .image-with-text__content {
    margin-inline-start: max(var(--padding-page-width), calc(50vw - (var(--page-width) / 2) + var(--padding-page-width)));
    margin-inline-end: var(--overlap-text-margin);
  } 

  .image-with-text--overlap > .page-width--full .image-with-text__grid--reverse .image-with-text__content {
    margin-inline-start: max(0rem, calc(50vw - (var(--page-width) / 2)));
  }

  .image-with-text--overlap .image-with-text__grid--reverse .image-with-text__text-item {
    justify-content: flex-end;
  }

  .image-with-text--overlap .image-with-text__media-item--top {
    align-self: flex-start;
  }

  .image-with-text--overlap .image-with-text__media-item--middle {
    align-self: center;
  }

  .image-with-text--overlap .image-with-text__media-item--bottom {
    align-self: flex-end;
  }

  .image-with-text.collapse-borders:not(.image-with-text--overlap) .grid:not(.image-with-text__grid--reverse) .image-with-text__content {
    border-inline-start: 0;
  }

  .image-with-text.collapse-borders:not(.image-with-text--overlap) .image-with-text__grid--reverse .image-with-text__content {
    border-inline-end: 0;
  }
}

.image-with-text:not(.collapse-corners, .image-with-text--overlap) .image-with-text__media-item {
  z-index: 2;
}

@media screen and (min-width: 990px) {
  .image-with-text__content {
    padding: 6rem 7rem 6rem;
  }

  .image-with-text--overlap {
    --overlap-value: 7rem;
  }

  .image-with-text--overlap .image-with-text__content {
    --padding-page-width: 5rem;
  }
}

@media screen and (min-width: 1700px) {
  .image-with-text--overlap.image-with-text--media-large {
    --overlap-text-margin: calc(var(--overlap-value) * (-1) - 5rem);
  }
}

@media screen and (min-width: 2300px) {
  .image-with-text--overlap.image-with-text--media-large {
    --overlap-text-margin: calc(var(--overlap-value) * (-1) - 10rem);
  }
}

.image-with-text__content > * + * {
  margin-top: 2rem;
}

.image-with-text__content > .image-with-text__text:empty ~ a {
  margin-top: 2rem;
}

.image-with-text__content > :first-child:is(.image-with-text__heading),
.image-with-text__text--caption:first-child {
  margin-top: 0;
}
.image-with-text__text--caption + .image-with-text__heading {
  margin-top: 1rem;
}

.image-with-text__content :last-child:is(.image-with-text__heading),
.image-with-text__text--caption {
  margin-bottom: 0;
}

.image-with-text__content .button + .image-with-text__text {
  margin-top: 2rem;
}

.image-with-text__content .image-with-text__text + .button {
  margin-top: 3rem;
}

.image-with-text__heading {
  margin-bottom: 0;
}

.image-with-text__text p {
  word-break: break-word;
  margin-top: 0;
  margin-bottom: 1rem;
}

.image-with-text__text.rte {
  --color-link: var(--color-foreground);
}

/* check for flexbox gap in older Safari versions */
@supports not (inset: 10px) {
  .image-with-text .grid {
    margin-inline-start: 0;
  }
}

/* section-process-cards.css */
/* Process Cards Container */
.process-cards__container {
  position: relative;
  max-width: 120rem;
  margin: 5rem auto 0;
}

/* Arrows - right side of heading (desktop/tablet) */
.process-cards__container .slider-buttons {
  position: absolute;
  top: -8rem;
  right: 1.5rem;
  z-index: 10;
}

/* Arrows - below process line on mobile */
@media screen and (max-width: 749px) {
  .process-cards__container .slider-buttons {
    position: static;
    display: flex;
    justify-content: center;
    margin-top: 0.1rem;
  }
}

/* Slider with fade mask - flex-wrap: nowrap overrides theme .grid which sets wrap */
.process-cards__slider {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  position: relative;
  padding-top: 1rem;
  padding-bottom: 12rem;
}

.process-cards__slider::-webkit-scrollbar {
  display: none;
}

.process-cards__slider .grid__item {
  scroll-snap-align: center;
  flex: 0 0 auto;
  width: 36rem;
  min-width: 36rem;
}

/* Horizontal Timeline line - infinite in both directions */
.process-cards__slider::before {
  content: '';
  position: absolute;
  left: -9999rem;
  right: -9999rem;
  bottom: 3rem;
  height: 0;
  border-top: var(--process-line-width) dashed var(--process-line-color);
  z-index: 0;
  width: auto;
}

/* Process Card Item */
.process-cards__item {
  background-color: var(--process-card-background);
  border-radius: 12px;
  padding: 2.5rem;
  box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.06);
  position: relative;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.5rem;
  width: 100%;
  height: 100%;
  min-height: 38rem;
  box-sizing: border-box;
}

.process-cards__item:hover {
  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
}

/* Step Number - top left */
.process-cards__step-number {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  font-weight: 700;
  color: var(--process-number-color);
  line-height: 1;
  z-index: 1;
  opacity: 0.4;
  pointer-events: none;
}

.process-cards__step-number--small {
  font-size: 3.5rem;
}

.process-cards__step-number--medium {
  font-size: 4.5rem;
}

.process-cards__step-number--large {
  font-size: 5.5rem;
}

/* Image Container */
.process-cards__image {
  width: 100%;
  max-width: 12.6rem;
  margin: 5.5rem auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 12rem;
}

.process-cards__image img {
  width: 100%;
  height: auto;
  object-fit: contain;
  opacity: 1;
}

/* Content */
.process-cards__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex-grow: 1;
  text-align: center;
  width: 100%;
}

.process-cards__heading {
  color: var(--process-heading-color);
  margin: 0;
  font-weight: 700;
  line-height: 1.3;
}

.process-cards__text {
  color: var(--process-text-color);
  font-size: 1.4rem;
  line-height: 1.6;
  margin: 0;
  opacity: 0.9;
}

.process-cards__text p {
  margin: 0;
}

/* Dot under card on timeline - centered origin (transform -50% -50%), lowered 2px */
.process-cards__dot {
  width: var(--process-dot-size);
  height: var(--process-dot-size);
  min-width: var(--process-dot-size);
  min-height: var(--process-dot-size);
  background-color: var(--process-dot-color) !important;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  position: absolute;
  bottom: -10.3rem;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block !important;
  visibility: visible !important;
  flex-shrink: 0;
}

/* Tablet mask */
@media screen and (min-width: 750px) and (max-width: 989px) {
  .process-cards__slider {
  }

  .process-cards__slider.slider--tablet.grid--peek .grid__item,
  .process-cards__slider .grid__item {
    width: 32rem !important;
    min-width: 32rem !important;
  }

  .process-cards__image {
    max-width: 11.2rem;
  }
}

/* Mobile */
@media screen and (max-width: 749px) {
  .process-cards__slider {
    padding-bottom: 7rem;
    column-gap: 0 !important;
    position: relative;
    z-index: 2;
  }

  /* Each card slide gets right margin to space them out reliably */
  .process-cards__slider .grid__item {
    width: 30rem !important;
    min-width: 30rem !important;
    max-width: 30rem !important;
    box-sizing: border-box !important;
    margin-right: 1rem !important;
  }

  /* Line inside slider — contained by overflow-x: auto (no page width impact) + masked by slider fade */
  .process-cards__slider::before {
    display: block;
    left: 0;
    right: auto;
    width: 9999rem;
    bottom: 3.3rem;
  }

  .process-cards__dot {
    display: block !important;
    bottom: -5rem;
  }

  .process-cards__item {
    min-height: 34rem;
    padding: 2.2rem;
  }

  .process-cards__step-number {
    top: 1.2rem;
    left: 1.2rem;
  }

  .process-cards__step-number--small {
    font-size: 3rem;
  }

  .process-cards__step-number--medium {
    font-size: 3.5rem;
  }

  .process-cards__step-number--large {
    font-size: 4rem;
  }

  .process-cards__image {
    max-width: 9.8rem;
    min-height: 10rem;
    margin-top: 5rem;
  }

  /* Bigger heading and text on mobile */
  .process-cards__heading,
  .process-cards__heading.h2,
  .process-cards__heading.h3,
  .process-cards__heading.h4 {
    font-size: var(--process-mobile-heading-size, 2rem) !important;
  }

  .process-cards__text,
  .process-cards__text.rte,
  .process-cards__text.rte p {
    font-size: var(--process-mobile-text-size, 1.7rem) !important;
    line-height: var(--process-mobile-text-line-height, 1.6) !important;
    letter-spacing: var(--process-mobile-text-letter-spacing, 0) !important;
  }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .process-cards__item {
    transition: none !important;
  }

  .process-cards__item:hover {
    transform: none;
  }
}

.process-cards__item:focus-within {
  outline: 3px solid var(--process-line-color);
  outline-offset: 4px;
}

/* section-multicolumn.css */
.multicolumn-card__image-wrapper {
  width: var(--media-width);
}

.multicolumn-list__item.center
  .multicolumn-card__image-wrapper,
.multicolumn-list__item:only-child {
  margin-inline-start: auto;
  margin-inline-end: auto;
}

.multicolumn-list__item.right .multicolumn-card__image-wrapper {
  margin-inline-start: auto;
}

.multicolumn-list {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
}

.multicolumn-list__item:only-child {
  max-width: 72rem;
}

.multicolumn-list__item--empty {
  display: none;
}

.has-padding {
  padding: 3rem 3rem 3.4rem;
}

.multicolumn-card--reverse {
  flex-direction: row-reverse;
}

.multicolumn-list h3 {
  line-height: calc(1 + 0.5 / max(1, var(--font-heading-scale)));
}

.multicolumn-list h3,
.multicolumn-list p {
  margin: 0;
}

.multicolumn-card__info {
  --color-link: var(--color-foreground);
}

.multicolumn-card__info > :nth-child(2) {
  margin-top: 1.6rem;
}

.multicolumn-list__item.center .media--adapt,
.multicolumn-list__item .media--adapt .multicolumn-card__image {
  width: auto;
}

.multicolumn-list__item.center .media--adapt img {
  inset-inline-start: 50%;
  transform: translateX(calc(var(--transform-direction) * 50%));
}

.multicolumn-card {
  box-sizing: border-box;
  border-radius: var(--text-boxes-radius);
  border: var(--text-boxes-border-width) solid rgba(var(--color-foreground), var(--text-boxes-border-opacity));
  position: relative;
}

.multicolumn-card.has-shadow:after {
  content: '';
  position: absolute;
  inset-block: calc(var(--text-boxes-border-width) * -1);
  inset-inline: calc(var(--text-boxes-border-width) * -1);
  border-radius: var(--text-boxes-radius);
  box-shadow: 0px 1px 3px 0px rgba(var(--color-foreground), 0.10), 0px 1px 2px 0px rgba(var(--color-foreground), 0.06);
  z-index: -1;
}

.multicolumn-card__image-wrapper--shadow {
  box-shadow: 0px 10px 10px -5px rgba(var(--color-foreground), 0.04), 0px 20px 25px -5px rgba(var(--color-foreground), 0.10);
}

.multicolumn.background-none .multicolumn-card {
  border-radius: 0;
}

.multicolumn-card__info--onside {
  width: calc(100% - var(--media-width));
}

.multicolumn-card:not(.has-padding) .multicolumn-card__image-wrapper {
  border-radius: calc(var(--text-boxes-radius) - var(--text-boxes-border-width));
}

.multicolumn-card__image-wrapper--onside {
  height: min-content;
}

.multicolumn-card__link, .multicolumn-card__info__text a {
  z-index: 2;
}

.multicolumn-card__info__text a {
  position: relative;
}

.multicolumn-card__full-link:empty {
  display: block;
  margin-top: 0;
}

@media(max-width: 749px) {
  .multicolumn-list {
    margin: 0;
    width: 100%;
  }

  .multicolumn-list.slider {
    scroll-padding-inline-start: 1.5rem;
  }

  .multicolumn-card--image-full-width-mobile.has-padding > .multicolumn-card__image-wrapper {
    width: calc(var(--media-width) + 3rem * 2);
    margin: -3rem -3rem 0 -3rem;
  }
  
  .multicolumn-card--image-full-width-mobile.has-padding > .multicolumn-card__image-wrapper {
    border-radius: calc(var(--text-boxes-radius) - var(--text-boxes-border-width));
  }
}

@media screen and (min-width: 750px) {
  .multicolumn-list.slider,
  .multicolumn-list.grid--4-col-desktop {
    padding: 0;
  }

  .multicolumn-list__item,
  .grid--4-col-desktop .multicolumn-list__item {
    padding-bottom: 0;
  }

  .multicolumn-card--image-full-width-desktop.has-padding >.multicolumn-card__image-wrapper {
    width: calc(var(--media-width) + 3rem * 2);
    margin: -3rem -3rem 0 -3rem;
  }
  
  .multicolumn-card--image-full-width-desktop.has-padding > .multicolumn-card__image-wrapper {
    border-radius: calc(var(--text-boxes-radius) - var(--text-boxes-border-width));
  }
}

@media screen and (min-width: 990px) {
  .multicolumn-list__item--empty {
    display: list-item;
  }
}

.multicolumn-card__icon {
  height: auto;
}

.multicolumn-card__image-wrapper + .multicolumn-card__info--onside-right {
  padding-inline-start: 1.5rem;
}

.multicolumn-card__image-wrapper + .multicolumn-card__info--onside-left {
  padding-inline-end: 1.5rem;
}

.multicolumn-card__image-wrapper + .multicolumn-card__info--bottom {
  padding-top: 2.6rem;
}

/* Logo/image cards (wCtz4p Amazon/Shopify/Etsy, mcdYVK DHL/UPS/DPD): rounder corners */
#section--multicolumn_wCtz4p .multicolumn-card__image-wrapper,
#section--multicolumn_mcdYVK .multicolumn-card__image-wrapper {
  border-radius: 18px;
}

/* DHL/UPS/DPD cards (mcdYVK): the logo already shows the brand — hide redundant heading */
#section--multicolumn_mcdYVK .multicolumn-card__info h3 {
  display: none;
}

/* section-cta-order.css */
/* CTA Order Button Section */
.cta-order__container {
  text-align: center;
  max-width: 80rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  position: relative;
}

/* Heading */
.cta-order__heading {
  color: var(--cta-heading-color);
  margin: 0;
  margin-top: 2rem;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  z-index: 1;
}

/* Text */
.cta-order__text {
  color: var(--cta-text-color);
  font-size: 1.6rem;
  line-height: 1.6;
  max-width: 60rem;
  position: relative;
  z-index: 1;
}

.cta-order__text p {
  margin: 0 0 1rem 0;
}

.cta-order__text p:last-child {
  margin-bottom: 0;
}

/* Button Wrapper */
.cta-order__button-wrapper {
  margin-top: 2rem;
  margin-bottom: 3rem;
  position: relative;
  z-index: 1;
}

/* Мощное внешнее свечение - несколько слоев */
.cta-order__button-wrapper::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background: radial-gradient(
    ellipse,
    rgba(255, 255, 255, 0.8) 0%,
    rgba(255, 255, 255, 0.4) 30%,
    rgba(255, 255, 255, 0.1) 60%,
    transparent 100%
  );
  opacity: 0;
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  z-index: -1;
  filter: blur(60px);
}

/* При наведении - огромное свечение */
.cta-order__button-wrapper:has(.cta-order__button:hover)::before {
  opacity: 1;
  width: 600%;
  height: 600%;
  filter: blur(100px);
  animation: mega-glow-pulse 3s ease-in-out infinite;
}

/* Дополнительное свечение на контейнере */
.cta-order__container::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background: radial-gradient(
    ellipse,
    rgba(255, 255, 255, 0.6) 0%,
    rgba(255, 255, 255, 0.2) 40%,
    transparent 70%
  );
  opacity: 0;
  transition: all 0.8s ease;
  pointer-events: none;
  z-index: 0;
  filter: blur(80px);
}

.cta-order__container:has(.cta-order__button:hover)::after {
  opacity: 1;
  width: 200%;
  height: 200%;
}

/* Button */
.cta-order__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 6rem;
  background-color: var(--cta-button-bg) !important;
  color: var(--cta-button-text) !important;
  font-size: 1.8rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  isolation: isolate;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15),
              0 2px 4px rgba(0, 0, 0, 0.1);
  border: none !important;
  outline: none !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Force color override for all states */
.cta-order__button,
.cta-order__button:link,
.cta-order__button:visited,
.cta-order__button:hover,
.cta-order__button:active,
.cta-order__button:focus {
  background-color: var(--cta-button-bg) !important;
  color: var(--cta-button-text) !important;
  border: none !important;
}

.cta-order__button-text {
  position: relative;
  z-index: 3;
  transition: transform 0.3s ease;
}

/* Glow Effect */
.cta-order__button-glow {
  position: absolute;
  inset: -2px;
  background: linear-gradient(
    45deg,
    var(--cta-glow-color),
    transparent,
    var(--cta-glow-color)
  );
  border-radius: 8px;
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 0;
  filter: blur(8px);
}

/* Shimmer Effect - использует цвет из настроек */
.cta-order__button-shimmer {
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    var(--cta-shimmer-color),
    transparent
  );
  opacity: 0.3;
  z-index: 2;
  transition: left 0.6s ease;
}

/* Hover Effects */
.cta-order__button:hover {
  transform: translateY(-6px) scale(1.05);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3),
              0 10px 20px rgba(0, 0, 0, 0.25),
              0 0 80px rgba(255, 255, 255, 0.8),
              0 0 120px rgba(255, 255, 255, 0.6),
              0 0 160px rgba(255, 255, 255, 0.4);
}

.cta-order__button:hover .cta-order__button-glow {
  opacity: 1;
  animation: glow-pulse 2s ease-in-out infinite;
}

.cta-order__button:hover .cta-order__button-shimmer {
  left: 100%;
  transition: left 0.8s ease;
}

.cta-order__button:hover .cta-order__button-text {
  transform: scale(1.08);
}

/* Active/Click Effect */
.cta-order__button:active {
  transform: translateY(0) scale(0.98);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Glow Pulse Animation */
@keyframes glow-pulse {
  0%, 100% {
    opacity: 0.8;
    filter: blur(8px);
  }
  50% {
    opacity: 1;
    filter: blur(12px);
  }
}

/* Outer glow pulse animation */
@keyframes outer-glow-pulse {
  0%, 100% {
    opacity: 0.4;
    filter: blur(30px);
  }
  50% {
    opacity: 0.7;
    filter: blur(40px);
  }
}

/* Мега свечение пульсация */
@keyframes mega-glow-pulse {
  0%, 100% {
    opacity: 0.8;
    filter: blur(80px);
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    opacity: 1;
    filter: blur(120px);
    transform: translate(-50%, -50%) scale(1.1);
  }
}

/* Continuous Shimmer Animation (optional - runs automatically) */
.cta-order__button-shimmer {
  animation: auto-shimmer 3s ease-in-out infinite;
}

@keyframes auto-shimmer {
  0% {
    left: -100%;
  }
  50%, 100% {
    left: 100%;
  }
}

/* Mobile Styles */
@media screen and (max-width: 749px) {
  .cta-order__container {
    gap: 1.6rem;
  }

  .cta-order__text {
    font-size: 1.4rem;
  }

  .cta-order__button {
    padding: 1.6rem 4rem;
    font-size: 1.6rem;
  }

  .cta-order__button-wrapper {
    margin-top: 1.6rem;
    width: 100%;
  }

  .cta-order__button {
    width: 100%;
    max-width: 32rem;
  }
}

/* Tablet Styles */
@media screen and (min-width: 750px) and (max-width: 989px) {
  .cta-order__button {
    padding: 1.8rem 5rem;
    font-size: 1.7rem;
  }
}

/* Disable animations if user prefers reduced motion */
@media (prefers-reduced-motion: reduce) {
  .cta-order__button,
  .cta-order__button-text,
  .cta-order__button-shimmer {
    animation: none !important;
    transition: none !important;
  }
  
  .cta-order__button:hover {
    transform: none;
  }
  
  .cta-order__button-glow {
    display: none;
  }
}

/* Focus state for accessibility */
.cta-order__button:focus-visible {
  outline: 3px solid var(--cta-glow-color);
  outline-offset: 4px;
}

/* section-animated-wave-canvas.css */
.wave-canvas-section {
  width: 100%;
  overflow: hidden;
}

.wave-canvas-section .page-width {
  position: relative;
}

.wave-canvas {
  width: 100%;
  max-width: 1200px;
  height: var(--wave-canvas-height, 360px);
  display: block;
  margin: 0 auto;
  
  /* Fade mask on sides */
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 120px,
    black calc(100% - 120px),
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 120px,
    black calc(100% - 120px),
    transparent 100%
  );
}

@media screen and (max-width: 749px) {
  .wave-canvas {
    height: var(--wave-canvas-height-mobile, 500px);
    
    mask-image: linear-gradient(
      to right,
      transparent 0%,
      black 60px,
      black calc(100% - 60px),
      transparent 100%
    );
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0%,
      black 60px,
      black calc(100% - 60px),
      transparent 100%
    );
  }
}

/* Wave text overlay */
.wave-text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  pointer-events: none;
  font-size: clamp(2.2rem, 6.5vw, 7rem);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: rgb(var(--color-foreground));
  white-space: nowrap;
  text-align: center;
  z-index: 2;
  transition: opacity 0.1s ease;
}

@media screen and (max-width: 749px) {
  .wave-text {
    font-size: var(--wave-text-size-mobile, 3.5rem);
    white-space: normal;
    word-break: break-word;
    max-width: 85vw;
    text-align: center;
  }
}

.wave-text__light {
  font-weight: 300;
}

.wave-text__bold {
  font-weight: 700;
}

/* Section padding */
.section-template--padding {
  padding-top: 200px;
  padding-bottom: 10px;
}

@media screen and (min-width: 750px) {
  .section-template--padding {
    padding-top: 36px;
    padding-bottom: 36px;
  }
}


/* Overlay card styled like testimonials */
.wave-card {
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(12px) scale(0.92);
  opacity: 0;
  pointer-events: none;
  width: 100%;
  max-width: var(--wave-card-max-width, 420px);
  text-align: center;
  transition: backdrop-filter 300ms ease, box-shadow 300ms ease, transform 240ms ease, opacity 240ms ease, border-color 300ms ease;

  /* Скопировано со стиля .input-card (Fulfillment) */
  position: absolute;
  overflow: hidden;
  background: linear-gradient(135deg, 
    rgba(255, 255, 255, calc(var(--button-glass-opacity) * 1.8)), 
    rgba(255, 255, 255, calc(var(--button-glass-opacity) * 1.2))
  );
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 1.6rem;
  padding: 1.2rem 1.8rem 1.4rem 1.8rem;
  box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.10), 
              0px 2px 4px 0px rgba(0, 0, 0, 0.08),
              inset 0px 1px 0px rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(calc(var(--button-glass-blur) * 1.5));
  -webkit-backdrop-filter: blur(calc(var(--button-glass-blur) * 1.5));
}

.wave-card::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 32%;
  height: 32%;
  border-top: 1px solid rgba(255, 255, 255, 0.45);
  border-left: 1px solid rgba(255, 255, 255, 0.45);
  border-top-left-radius: inherit;
  pointer-events: none;
  z-index: 1;
  opacity: 0.85;
  transition: border-width 300ms ease, opacity 300ms ease;
}

.wave-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 60%;
  height: 60%;
  background: linear-gradient(135deg, 
    rgba(var(--button-glass-shine-color), calc(var(--button-glass-shine-opacity) * 1.5)) 0%, 
    rgba(var(--button-glass-shine-color), calc(var(--button-glass-shine-opacity) * 0.8)) 30%,
    transparent 60%
  );
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
  opacity: 0.7;
  transition: opacity 300ms ease;
}

.wave-canvas-section:hover .wave-card {
  opacity: 1;
  transform: translateX(-50%) translateY(-4px) scale(0.92);
  backdrop-filter: blur(calc(var(--button-glass-blur) * 2));
  -webkit-backdrop-filter: blur(calc(var(--button-glass-blur) * 2));
  box-shadow: 0px 9px 22px 0px rgba(0, 0, 0, 0.14), 
              0px 3px 8px 0px rgba(0, 0, 0, 0.10),
              inset 0px 1px 0px rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.3);
}

.wave-canvas-section:hover .wave-card::before {
  border-top-width: 3px;
  border-left-width: 3px;
  opacity: 1;
}

.wave-canvas-section:hover .wave-card::after {
  opacity: 1;
  background: linear-gradient(135deg, 
    rgba(var(--button-glass-shine-color), calc(var(--button-glass-shine-opacity) * 2)) 0%, 
    rgba(var(--button-glass-shine-color), var(--button-glass-shine-opacity)) 30%,
    transparent 60%
  );
}

@media screen and (max-width: 749px) {
  .wave-card {
    max-width: var(--wave-card-max-width-mobile, 320px);
  }
}

/* section-text-icons.css */
.text-icons__list .text-icons__card {
  height: 100%;
  box-sizing: border-box;
}

.text-icons__card__icon-wrapper .text-icons__card__icon {
  width: calc((100% - var(--border-spacing)) * 0.80) !important;
}

.text-icons__card__icon {
  transition: transform .5s ease;
}

.text-icons__card:hover .text-icons__card__icon {
	transform: translate(calc(var(--transform-direction) * 50%), -50%) scale(1.1);
}

.text-icons__card__heading-box {
  box-shadow: 0px 1px 2px 0px rgb(var(--color-foreground),.05);
  border-radius: 0.8rem;
  background: rgb(var(--color-background-input));
}

/* Liquid Glass Effect for text-icons cards */
.text-icons__card--bkg {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.10), 
              0px 2px 4px 0px rgba(0, 0, 0, 0.08),
              inset 0px 1px 0px rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(calc(var(--button-glass-blur) * 1.5));
  -webkit-backdrop-filter: blur(calc(var(--button-glass-blur) * 1.5));
  background: linear-gradient(135deg, 
    rgba(255, 255, 255, calc(var(--button-glass-opacity) * 1.8)), 
    rgba(255, 255, 255, calc(var(--button-glass-opacity) * 1.2))
  ) !important;
  transition: backdrop-filter 300ms ease, box-shadow 300ms ease, transform 300ms ease;
}

/* Highlighted corner contour */
.text-icons__card--bkg::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 32%;
  height: 32%;
  border-top: 1px solid rgba(255, 255, 255, 0.45);
  border-left: 1px solid rgba(255, 255, 255, 0.45);
  border-top-left-radius: inherit;
  pointer-events: none;
  z-index: 1;
  opacity: 0.85;
  transition: border-width 300ms ease, opacity 300ms ease;
}

/* Glass shine effect for cards */
.text-icons__card--bkg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 60%;
  height: 60%;
  background: linear-gradient(135deg, 
    rgba(var(--button-glass-shine-color), calc(var(--button-glass-shine-opacity) * 1.5)) 0%, 
    rgba(var(--button-glass-shine-color), calc(var(--button-glass-shine-opacity) * 0.8)) 30%,
    transparent 60%
  );
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
  opacity: 0.7;
  transition: opacity 300ms ease;
}

/* Enhance on hover */
.text-icons__card--bkg:hover {
  backdrop-filter: blur(calc(var(--button-glass-blur) * 2));
  -webkit-backdrop-filter: blur(calc(var(--button-glass-blur) * 2));
  box-shadow: 0px 9px 22px 0px rgba(0, 0, 0, 0.14), 
              0px 3px 8px 0px rgba(0, 0, 0, 0.10),
              inset 0px 1px 0px rgba(255, 255, 255, 0.5);
  transform: translateY(-2px);
}

.text-icons__card--bkg:hover::before {
  border-top-width: 3px;
  border-left-width: 3px;
  opacity: 1;
}

.text-icons__card--bkg:hover::after {
  opacity: 1;
  background: linear-gradient(135deg, 
    rgba(var(--button-glass-shine-color), calc(var(--button-glass-shine-opacity) * 2)) 0%, 
    rgba(var(--button-glass-shine-color), var(--button-glass-shine-opacity)) 30%,
    transparent 60%
  );
}

/* Ensure content stays above the shine */
.text-icons__card--bkg > * {
  position: relative;
  z-index: 2;
}

/* Make icon background transparent */
.text-icons__card__icon-wrapper:before {
  background-color: transparent !important;
}

/* Override background-input class for text-icons cards with glass effect */
.text-icons__card--bkg.background-input {
  background-color: transparent !important;
}
/* Team section (text_icons_kFhKYy): center text vertically next to icon */
#shopify-section-template--29296833364313__text_icons_kFhKYy .text-icons__card {
  align-items: center;
}

/* Team block (kFhKYy): smaller, softer drop shadow.
   z-index lifts the box above the next section's gradient wrapper (also z-index:0),
   so the drop shadow isn't painted over / clipped by the following block. */
#section--text_icons_kFhKYy .section__box {
  box-shadow: 0 3.2rem 4rem 0 rgb(var(--color-global-shadow), 0.05);
  z-index: 1;
}

/* section-testimonials.css */
.testimonial {
  padding-bottom: 1.5rem;
  height: 100%;
  display: flex;
}

.testimonials__slide {
  min-height: 0;
  padding-bottom: 1.8rem;
}

.testimonial__user {
  padding: 3.4rem 1rem;
  row-gap: 1.6rem;
  min-width: 17rem;
  max-width: calc(100% - 4.8rem);
  border-radius: 1.2rem;
  position: relative;
  overflow: hidden;
  border: none;
  background-color: rgba(255, 255, 255, 0.95);
  box-shadow: 0px 12px 24px rgba(15, 23, 42, 0.08), 0px 5px 12px rgba(15, 23, 42, 0.05);
  transition: transform 300ms ease, box-shadow 300ms ease;
  z-index: 1;
}

/* Removed gradient mask effects for cleaner look */

.testimonial__user:hover {
  transform: translateY(-4px);
  box-shadow: 0px 16px 28px rgba(15, 23, 42, 0.12), 0px 8px 16px rgba(15, 23, 42, 0.08);
  border-color: transparent;
}

.testimonial__user-info {
  row-gap: 0.6rem;
}

.testimonial__user_title {
  text-align: center;
  font-size: 1rem;
  word-spacing: 0.18em;
  line-height: 1.6;
}

/* Comment body: left-aligned, heading stays centered */
.testimonial__content .rte p,
.testimonial__content > p,
.testimonial__text p {
  text-align: left !important;
}

.testimonial__avatar {
  width: 8rem;
  height: 8rem;
}

.testimonial__content {
  padding: 2.4rem;
  gap: 1.6rem;
  border-radius: 1rem;
}

.testimonial__stars {
  gap: 0.1rem;
}

.testimonial__star--rating-color {
  color: rgb(var(--color-review-stars-foreground));
}

.testimonial__user__icon {
  width: 5rem;
  height: 5rem;
  margin: auto;
  inset-inline-start: 50%;
  top: 50%;
  transform: translate(calc(var(--transform-direction) * 50%), -50%);
  position: absolute;
}

.testimonial__quote {
  position: absolute;
  bottom: -2.4rem;
  right: 2rem;
  filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.12)) drop-shadow(0 2px 5px rgba(15, 23, 42, 0.08));
  opacity: 0.9;
}

.testimonials-grid {
  position: relative;
}

/* Fade mask - transparent overlay approach (both sides) */
/* Default desktop mask */
.testimonials__slider {
  -webkit-mask-image: linear-gradient(to right, transparent, black 150px, black calc(100% - 150px), transparent);
  mask-image: linear-gradient(to right, transparent, black 150px, black calc(100% - 150px), transparent);
}

/* Mobile mask */
@media screen and (max-width: 749px) {
  .testimonials__slider {
    -webkit-mask-image: linear-gradient(to right, transparent, black 60px, black calc(100% - 60px), transparent);
    mask-image: linear-gradient(to right, transparent, black 60px, black calc(100% - 60px), transparent);
    padding-left: 3rem;
  }
}

/* Tablet mask */
@media screen and (min-width: 750px) and (max-width: 989px) {
  .testimonials__slider {
    -webkit-mask-image: linear-gradient(to right, transparent, black 100px, black calc(100% - 100px), transparent);
    mask-image: linear-gradient(to right, transparent, black 100px, black calc(100% - 100px), transparent);
  }
}

.testimonials__slider.grid--peek {
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.testimonials__slider .grid__item {
  scroll-snap-align: start;
  flex: 0 0 auto;
}

/* Default fallback widths - can be overridden by inline styles */
@media screen and (min-width: 990px) {
  .testimonials__slider.grid--3-col-desktop .grid__item {
    width: 45%;
    min-width: 45%;
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .testimonials__slider.grid--2-col-tablet .grid__item {
    width: 60%;
    min-width: 60%;
  }
}

/* Mobile card width is now controlled by inline styles in testimonials.liquid */

@media screen and (max-width: 749px) {
  .testimonial {
    flex-direction: column;
  }

  .testimonial__content {
    align-items: center;
  }

  .testimonial__user:not(:empty) + .testimonial__content {
    margin-top: -6.8rem;
    padding: 9.7rem 2.4rem 5.6rem 2.4rem;
  }

  .testimonial__user--no-avatar:not(:empty) + .testimonial__content {
    margin-top: -3.4rem;
  }
}

@media screen and (min-width: 750px) {
  .testimonial--has-avatar {
    margin-inline-start: 1.5rem;
  }
  
  .testimonial__user {
    max-width: 17.7rem;
  }

  .testimonial__avatar {
    width: 10rem;
    height: 10rem;
  }

  .testimonial__content {
    align-items: flex-start;
    padding: 6.4rem;
  }

  .testimonial__user:not(:empty) + .testimonial__content {
    margin-inline-start: -8.8rem;
    padding-block: 6.4rem;
    padding-inline-start: 14rem;
    padding-inline-end: 8rem;
  }

  .testimonial__quote {
    inset-inline-end: 1.6rem;
  }
}

@media screen and (min-width: 990px) {
  .testimonial__user:not(:empty) + .testimonial__content {
    padding-block: 8rem;
    padding-inline-start: 14rem;
    padding-inline-end: 8rem;
  }
}

/* collapsible-content.css */
.collapsible-content {
  position: relative;
  z-index: 0;
}

.collapsible-content__media {
  --border-radius: 30px;
  box-shadow: 0 4px 6px rgb(var(--color-foreground),.5);
}

.collapsible-content__media--small {
  height: 19.4rem;
}

.collapsible-content__media--large {
  height: 43.5rem;
}

@media screen and (max-width: 749px) {
  .collapsible-content__image:not(.small-hide) + .grid__item .accordion:first-child {
    margin-top: 2.5rem;
  }
}

@media screen and (min-width: 750px) {
  .collapsible-content__media--small {
    height: 31.4rem;
  }

  .collapsible-content__media--large {
    height: 69.5rem;
  }

  .collapsible-content__grid--reverse {
    flex-direction: row-reverse;
  }

  .collapsible-content__grid-item {
    position: sticky;
    top: 1.5rem;
    height: fit-content;
  }
}

.collapsible-content__header {
  word-break: break-word;
}

.caption-with-letter-spacing + h2 {
  margin-top: 1rem;
}



/* check for flexbox gap in older Safari versions */
@supports not (inset: 10px) {
  @media screen and (min-width: 750px) {
    .collapsible-content__grid:not(.collapsible-content__grid--reverse) .grid__item:last-child,
    .collapsible-content__grid--reverse .collapsible-content__grid-item {
      padding-inline-start: 5rem;
      padding-inline-end: 0;
    }
  }

  @media screen and (min-width: 990px) {
    .collapsible-content__grid:not(.collapsible-content__grid--reverse) .grid__item:last-child,
    .collapsible-content__grid--reverse .collapsible-content__grid-item {
      padding-inline-start: 7rem;
    }
  }
}

/* component-countdown.css */
.countdown__timer {
  gap: 1.2rem;
}

.countdown__part__value--in-banner {
  min-width: 7rem;
  height: 5rem;
  padding: 1rem;
  background: rgb(var(--color-background));
  border-radius: 1rem;
  margin-bottom: .5rem;
  box-shadow: 0px 10px 10px -5px rgba(43, 43, 43, 0.04), 0px 20px 25px -5px rgba(43, 43, 43, 0.10);
  letter-spacing: -0.96px;
}

.countdown__text--in-banner {
  color: rgb(var(--color-background));
  font-size: calc(1rem * var(--font-body-scale));
  letter-spacing: 1px;
}

@media screen and (min-width: 750px) {
  .countdown__timer {
    gap: 1.6rem;
  }

  .countdown__text--in-banner {
    font-size: calc(1.2rem * var(--font-body-scale));
    letter-spacing: 1.2px;
  }
}

/* Simple style with one color for product page and Image with text section */

.product__countdown {
  padding: 1.6rem 2.4rem;
}

.countdown-simple__inner {
  gap: 1rem 2.4rem;
}

.countdown__timer-simple {
  gap: 0.5rem;
}

.countdown__part--simple {
  border-radius: 0.6rem;
  border: 0.1rem solid rgb(var(--color-foreground), 0.05);
  background: var(--color-background);
  box-shadow: 0px 1px 2px 0px rgba(var(--color-foreground), 0.07);
  min-width: 4.5rem;
  height: 5rem;
  padding: 0.8rem;
}

.countdown__part__value--simple {
  font-size: calc(2rem * var(--font-heading-scale));
  letter-spacing: -0.6px;
}

.countdown__text--simple {
  color: rgb(var(--color-foreground));
  font-size: calc(0.8rem * var(--font-body-scale));
  letter-spacing: 0.5px;
}

.countdown__sep {
  gap: 0.5rem;
}

.countdown__part--simple.hidden + .countdown__sep {
  display: none;
}

@media (min-width: 425px) {
  .countdown__timer-simple {
    gap: 0.8rem;
  }
  
  .countdown__part--simple {
    min-width: 6rem;
    padding: 0.8rem 1.2rem;
  }
}

/* component-free-shipping-bar.css */
.free-shipping-bar {
  box-shadow: inset 1px 1px 1px rgb(var(--color-highlight), 0.1);
  border-radius: 0.6rem;
}

.free-shipping-bar__progress-wrapper {
  gap: 1.4rem;
}

.free-shipping-bar__progress-bar {
  height: 0.6rem;
  background: rgb(var(--color-foreground), 0.1);
  border-radius: 0.4rem;
  transition: width 1s cubic-bezier(.19,1,.22,1);
}

.free-shipping-bar__progress-bar__passed {
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  bottom: 0;
  width: var(--percent, 0);
  background: var(--free-shipping-tracking-background);
  border-radius: 0.4rem;
  transition: width 1s cubic-bezier(.19,1,.22,1);
}

.free-shipping-bar__progress-number {
  min-width: 3rem;
  font-size: 1.2rem;
}

.free-shipping-bar__exclude-message.alert {
  padding-block: 0.5rem;
  font-weight: var(--font-body-weight);
}
