/** Shopify CDN: Minification failed

Line 566:4 Expected identifier but found ")"
Line 1060:31 Expected ":"

**/
:root {
  --swan-ink: #24111f;
  --swan-muted: #74666e;
  --swan-plum: #B32B69;
  --swan-plum-deep: #B32B69;
  --swan-berry: #B32B69;
  --swan-rose: #d9a1ad;
  --swan-lilac: #d9c9e5;
  --swan-ivory: #fbf8f4;
  --swan-cream: #f2ebe4;
  --swan-line: rgb(55 26 47 / 14%);
  --swan-serif: var(--font-heading--family, Iowan Old Style, Baskerville, "Times New Roman", serif);
  --swan-sans: var(--font-body--family, Inter, ui-sans-serif, sans-serif);
  --swan-shell: min(1320px, calc(100vw - 64px));
  --swan-radius: 26px;
}

.swan-shell {
  width: var(--swan-shell);
  margin-inline: auto;
}

.swan-eyebrow {
  margin: 0 0 18px;
  color: var(--swan-berry);
  font-family: var(--swan-sans);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.2em;
  line-height: 1.3;
  text-transform: uppercase;
}

.swan-heading {
  margin: 0;
  color: inherit;
  font-family: var(--swan-serif);
  font-size: clamp(45px, 5vw, 72px);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.swan-copy,
.swan-copy p {
  color: inherit;
  line-height: 1.7;
}

.swan-copy > :first-child {
  margin-top: 0;
}

.swan-copy > :last-child {
  margin-bottom: 0;
}

.swan-button {
  min-height: 51px;
  padding: 0 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #fff;
  background: var(--swan-plum);
  font-family: var(--swan-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}

.swan-button:hover {
  color: #fff;
  background: var(--swan-berry);
  transform: translateY(-2px);
}

.swan-button--light {
  color: var(--swan-plum);
  background: #fff;
}

.swan-button--light:hover {
  color: var(--swan-plum);
  background: #f6eaf2;
}

.swan-text-link {
  padding-block: 8px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid currentColor;
  color: inherit;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.05em;
  text-decoration: none;
}

.swan-text-link span {
  transition: transform 200ms ease;
}

.swan-text-link:hover span {
  transform: translateX(4px);
}

.swan-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 700ms ease, transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.swan-reveal.is-visible,
.shopify-design-mode .swan-reveal {
  opacity: 1;
  transform: none;
}
/* =========================================
   SWAN HERO — AUTOMATIC IMAGE HEIGHT
   ========================================= */

.swan-hero-slider {
  display: block;
  position: relative;
  isolation: isolate;
  background: #ece2db;
}

.swan-hero-slider [hidden] {
  display: none !important;
}

.swan-hero-slider .swan-hero-slider__slideshow {
  width: 100%;
  min-width: 0;
  --slide-width: 100%;
  --slideshow-gap: 0px;
  --minimum-touch-target: 44px;
}

.swan-hero-slider .swan-hero-slider__slideshow
  > slideshow-container
  > slideshow-slides {
  min-height: 0;
  align-items: flex-start;
}

/* Remove desktop and mobile height constraints */
.swan-hero-slider .swan-hero-slider__slide,
.swan-hero-slider .swan-hero {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
}

.swan-hero-slider .swan-hero {
  display: block;
  position: relative;
  overflow: hidden;
  color: var(--swan-slider-text, #2b1322);
  background: #ece2db;
}

/* =========================================
   IMAGE — FULL WIDTH, NATURAL PROPORTIONS
   ========================================= */

.swan-hero-slider .swan-hero__media,
.swan-hero-slider .swan-hero__media picture,
.swan-hero-slider .swan-hero__image,
.swan-hero-slider .swan-hero__placeholder {
  position: relative;
  inset: auto;
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
}

.swan-hero-slider .swan-hero__image,
.swan-hero-slider .swan-hero__placeholder {
  aspect-ratio: auto;
  object-fit: contain;
  object-position: var(--swan-hero-position, center);
  border-radius: 0;
}

/* =========================================
   COLOUR OVERLAY
   ========================================= */

.swan-hero-slider .swan-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    var(--swan-hero-overlay, transparent) 0%,
    color-mix(
      in srgb,
      var(--swan-hero-overlay, transparent) 70%,
      transparent
    ) 39%,
    transparent 70%
  );
}

/* =========================================
   CONTENT — OVERLAID ON THE IMAGE
   ========================================= */

.swan-hero-slider .swan-hero__content {
  box-sizing: border-box;
  position: absolute;
  inset: 0;
  z-index: 2;
  width: var(--swan-shell, min(1320px, calc(100% - 64px)));
  max-width: calc(100% - 32px);
  height: 100%;
  min-height: 0;
  margin: 0 auto;
  padding-block:
    clamp(16px, 3vw, 64px)
    clamp(56px, 5vw, 88px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

/* Supports this wrapper if present in your Liquid */
.swan-hero-slider .swan-hero__text {
  box-sizing: border-box;
  width: 100%;
  max-width: min(var(--swan-hero-content-width, 100%), 100%);
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.swan-hero-slider .swan-eyebrow {
  max-width: min(var(--swan-hero-content-width, 100%), 100%);
  margin: 0 0 18px;
  color: var(--swan-slider-accent, #b32b69);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.2em;
  line-height: 1.3;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.swan-hero-slider .swan-hero__heading {
  max-width: min(var(--swan-hero-content-width, 760px), 100%);
  margin: 0;
  color: inherit;
  font-family: var(--font-heading--family, inherit);
  font-size: clamp(
    42px,
    6.35vw,
    var(--swan-slider-heading-size, 96px)
  );
  font-weight: 400;
  letter-spacing: -0.05em;
  line-height: 1.02;
  overflow-wrap: anywhere;
}

.swan-hero-slider .swan-hero__heading em {
  color: var(--swan-slider-accent, #b32b69);
}

.swan-hero-slider .swan-hero__copy {
  max-width: min(var(--swan-hero-content-width, 490px), 100%);
  margin: 28px 0 32px;
  color: inherit;
  font-size: 17px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.swan-hero-slider .swan-hero__copy > :first-child {
  margin-top: 0;
}

.swan-hero-slider .swan-hero__copy > :last-child {
  margin-bottom: 0;
}

/* =========================================
   BUTTONS AND LINKS
   ========================================= */

.swan-hero-slider .swan-hero__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 28px;
  max-width: min(var(--swan-hero-content-width, 100%), 100%);
}

.swan-hero-slider .swan-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 51px;
  max-width: 100%;
  padding: 14px 25px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #fff;
  background: #b32b69;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: normal;
}

.swan-hero-slider .swan-button:hover {
  background: #7c1d49;
}

.swan-hero-slider .swan-text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  padding-block: 8px;
  color: inherit;
  border-bottom: 1px solid currentColor;
  font-size: 12px;
  font-weight: 650;
  text-decoration: none;
}

.swan-hero-slider a[aria-disabled="true"] {
  opacity: 0.6;
  cursor: default;
}

.swan-hero-slider .swan-hero__note {
  position: absolute;
  right: 34px;
  bottom: 30px;
  z-index: 2;
  max-width: 25%;
  color: inherit;
  font-size: 10px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

/* =========================================
   HORIZON SLIDER CONTROLS
   ========================================= */

.swan-hero-slider .swan-hero-slider__slideshow
  > .swan-hero-slider__controls {
  position: absolute;
  inset-inline: 16px;
  bottom: 22px;
  width: auto;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 0;
  mix-blend-mode: normal;
  pointer-events: none;
  --color-foreground: #b32b69;
  --color-foreground-rgb: 179 43 105;
}

.swan-hero-slider .swan-hero-slider__controls button {
  pointer-events: auto;
  cursor: pointer;
}

.swan-hero-slider .swan-hero-slider__controls .slideshow-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 0;
  min-height: 0;
  flex-shrink: 0;
  padding: 0;
  margin: 0;
  border: 1px solid rgb(179 43 105 / 18%);
  border-radius: 50%;
  color: #b32b69;
  background: rgb(255 255 255 / 94%);
  box-shadow: 0 4px 16px rgb(43 19 34 / 8%);
}

.swan-hero-slider .swan-hero-slider__controls .slideshow-control:hover {
  background: #fff;
  color: #7c1d49;
}

.swan-hero-slider .swan-hero-slider__controls svg {
  width: 18px;
  height: 18px;
}

.swan-hero-slider .swan-hero-slider__controls
  .slideshow-controls__arrows:first-child {
  order: 0;
}

.swan-hero-slider .swan-hero-slider__controls
  .slideshow-controls__arrows:last-child {
  order: 2;
}

.swan-hero-slider .swan-hero-slider__controls
  :is(.icon-pause, .icon-play) {
  order: 3;
}

.swan-hero-slider .swan-hero-slider__slideshow:not([paused]) .icon-play,
.swan-hero-slider .swan-hero-slider__slideshow[paused] .icon-pause {
  display: none;
}

.swan-hero-slider .swan-hero-slider__controls .slideshow-controls__dots {
  order: 1;
  display: flex;
  gap: 0;
  margin: 0;
  padding: 0 6px;
  overflow: visible;
  list-style: none;
  align-items: center;
  border-radius: 999px;
  background: rgb(255 255 255 / 90%);
  pointer-events: auto;
}

.swan-hero-slider .slideshow-controls__dots li {
  margin: 0;
  padding: 0;
}

.swan-hero-slider .swan-hero-slider__controls
  .slideshow-controls__dots button {
  width: 28px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  font-size: 0;
}

.swan-hero-slider .slideshow-controls__dots button::after {
  content: '';
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgb(179 43 105 / 30%);
  box-shadow: none;
}

.swan-hero-slider .slideshow-controls__dots
  button[aria-selected='true']::after {
  background: #b32b69;
  outline: 1px solid #b32b69;
  outline-offset: 3px;
  box-shadow: none;
}

.swan-hero-slider .swan-hero-slider__controls--no-dots
  .slideshow-controls__counter {
  display: none;
}

.swan-hero-slider :focus-visible {
  outline: 2px solid #b32b69;
  outline-offset: 4px;
}

.swan-hero-slider__empty {
  padding: 64px 24px;
  margin: 0;
  text-align: center;
}

/* =========================================
   TABLET — COMPACT CONTENT SPACING
   ========================================= */

@media screen and (min-width: 750px) and (max-width: 989px) {
  .swan-hero-slider .swan-eyebrow {
    margin-bottom: 12px;
  }

  .swan-hero-slider .swan-hero__copy {
    margin-block: 16px 20px;
    font-size: 15px;
    line-height: 1.55;
  }

  .swan-hero-slider .swan-hero__actions {
    gap: 12px 20px;
  }
}

/* =========================================
   MOBILE — NATURAL MOBILE IMAGE HEIGHT
   ========================================= */

@media screen and (max-width: 749px) {
  .swan-hero-slider .swan-hero__image {
    object-position: var(--swan-hero-mobile-position, center);
  }

  .swan-hero-slider .swan-hero__content {
    width: calc(100% - 32px);
    padding-block: 16px 72px;
    justify-content: flex-start;
  }

  .swan-hero-slider .swan-hero__text,
  .swan-hero-slider .swan-eyebrow,
  .swan-hero-slider .swan-hero__actions {
    max-width: min(var(--swan-hero-mobile-content-width, 100%), 100%);
  }

  .swan-hero-slider .swan-hero__heading {
    max-width: min(var(--swan-hero-mobile-content-width, 760px), 100%);
    /* font-size: clamp(
      28px,
      12vw,
      var(--swan-slider-mobile-heading-size, 58px) */
    );
    line-height: 1.02;
  }

  .swan-hero-slider .swan-hero__copy {
    max-width: min(var(--swan-hero-mobile-content-width, 490px), 100%);
    margin-block: 22px 25px;
    font-size: 15px;
  }

  .swan-hero-slider .swan-hero__overlay {
    background: linear-gradient(
      180deg,
      transparent 0%,
      var(--swan-hero-overlay, transparent) 76%
    );
  }

  .swan-hero-slider .swan-hero__note {
    display: none;
  }

  .swan-hero-slider .swan-hero__actions {
    gap: 12px 20px;
  }

  .swan-hero-slider .swan-hero-slider__slideshow
    > .swan-hero-slider__controls {
    gap: 4px;
  }

  .swan-hero-slider .swan-hero-slider__controls
    .slideshow-controls__dots button {
    width: 24px;
  }
}

/* =========================================
   REDUCED MOTION
   ========================================= */

@media (prefers-reduced-motion: reduce) {
  .swan-hero-slider slideshow-slides {
    scroll-behavior: auto;
  }

  .swan-hero-slider a {
    transition: none;
  }
}

/* Benefit ribbon */
.swan-benefits {
  border-bottom: 1px solid var(--swan-line);
  background: #fffdf9;
}

.swan-benefits__grid {
  min-height: 106px;
  display: grid;
  grid-template-columns: repeat(var(--swan-benefit-count, 4), minmax(0, 1fr));
}

.swan-benefit {
  padding: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border-right: 1px solid var(--swan-line);
}

.swan-benefit:first-child {
  border-left: 1px solid var(--swan-line);
}

.swan-benefit__icon {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--swan-line);
  border-radius: 50%;
  color: var(--swan-berry);
  font-family: var(--swan-serif);
  font-size: 20px;
}


.swan-benefit strong,
.swan-benefit small {
  display: block;
}

.swan-benefit strong {
  margin-bottom: 4px;
  font-family: var(--swan-serif);
  font-size: 16px;
  font-weight: 500;
}

.swan-benefit small {
  color: var(--swan-muted);
  font-size: 10px;
}

/* Shared editorial sections */
.swan-editorial-section {
  padding-block: var(--swan-section-top, 120px) var(--swan-section-bottom, 120px);
  color: var(--swan-ink);
  background: var(--swan-section-bg, var(--swan-ivory));
}

.swan-section-heading {
  margin-bottom: 45px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
}

.swan-section-heading__copy {
  max-width: 440px;
  margin: 0;
  color: var(--swan-muted);
  font-size: 15px;
}

/* Experience cards */
.swan-experience-grid {
  display: grid;
  grid-template-columns: repeat(var(--swan-card-columns, 4), minmax(0, 1fr));
  gap: 14px;
}

.swan-experience-card {
  position: relative;
  min-height: 450px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  border-radius: var(--swan-radius);
  color: var(--swan-card-text, var(--swan-ink));
  background: var(--swan-card-bg, var(--swan-cream));
  text-decoration: none;
  transition: transform 350ms cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 350ms ease;
}

.swan-experience-card:hover {
  color: var(--swan-card-text, var(--swan-ink));
  box-shadow: 0 22px 46px rgb(57 22 47 / 12%);
  transform: translateY(-8px);
}

.swan-experience-card__number {
  position: relative;
  z-index: 2;
  font-size: 10px;
  letter-spacing: 0.16em;
}

.swan-experience-card__media {
  position: absolute;
  inset: 54px 22px 80px;
  display: grid;
  place-items: center;
}

.swan-experience-card__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.swan-experience-card:hover .swan-experience-card__image {
  transform: scale(1.06) rotate(-2deg);
}

.swan-experience-card__shape {
  width: 110px;
  height: 168px;
  border-radius: 52% 48% 44% 56% / 56% 52% 48% 44%;
  background: color-mix(in srgb, var(--swan-card-text) 48%, #f4d9e5);
  box-shadow: inset -14px -18px 30px rgb(55 15 44 / 16%), 0 26px 46px rgb(55 15 44 / 20%);
  transform: rotate(calc((var(--swan-card-index, 1) - 2) * 9deg));
}

.swan-experience-card__content {
  position: relative;
  z-index: 2;
}

.swan-experience-card h3 {
  margin: 0 0 5px;
  font-family: var(--swan-serif);
  font-size: 31px;
  font-weight: 400;
}

.swan-experience-card p {
  margin: 0;
  font-size: 11px;
  opacity: 0.74;
}

.swan-experience-card__arrow {
  position: absolute;
  z-index: 2;
  right: 20px;
  bottom: 20px;
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  transition: transform 250ms ease, background-color 250ms ease;
}

.swan-experience-card:hover .swan-experience-card__arrow {
  background: rgb(255 255 255 / 20%);
  transform: rotate(45deg);
}

/* Featured collection */
.swan-featured-products {
  background: #fff;
}

.swan-product-grid {
  display: grid;
  grid-template-columns: repeat(var(--swan-product-columns, 4), minmax(0, 1fr));
  gap: 16px;
}

.swan-product-card {
  min-width: 0;
}

.swan-product-card__media {
  position: relative;
  aspect-ratio: 0.82;
  padding: clamp(20px, 2.2vw, 34px);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 22px;
  background: #f4f0ec;
}

.swan-product-card__media img,
.swan-product-card__placeholder {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 550ms cubic-bezier(0.2, 0.7, 0.2, 1), opacity 350ms ease;
}

.swan-product-card:hover .swan-product-card__media img {
  opacity: 0.93;
  transform: scale(1.065);
}

.swan-product-card__badge {
  position: absolute;
  z-index: 2;
  top: 16px;
  left: 16px;
  padding: 8px 11px;
  border-radius: 999px;
  color: var(--swan-plum);
  background: rgb(255 255 255 / 88%);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.swan-product-card__action {
  position: absolute;
  z-index: 2;
  right: 16px;
  bottom: 14px;
  left: 16px;
  min-height: 43px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: var(--swan-plum);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  transform: translateY(65px);
  transition: transform 300ms ease;
}

.swan-product-card:hover .swan-product-card__action,
.swan-product-card__link:focus-visible .swan-product-card__action {
  transform: translateY(0);
}

.swan-product-card__meta {
  padding: 18px 4px 6px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

.swan-product-card__title {
  margin: 0 0 5px;
  font-family: var(--swan-serif);
  font-size: 23px;
  font-weight: 500;
  line-height: 1.15;
}

.swan-product-card__title a {
  color: inherit;
  text-decoration: none;
}

.swan-product-card__type {
  margin: 0;
  color: var(--swan-muted);
  font-size: 11px;
}

.swan-product-card__price {
  padding-top: 3px;
  font-size: 13px;
  white-space: nowrap;
}

.swan-product-card__compare {
  margin-left: 5px;
  color: var(--swan-muted);
  font-size: 11px;
}
/* ========================================
   SWAN — LAST CHANCE SAVINGS STRIP
======================================== */

.offer-strip {
  width: calc(100% + 36px);
  margin-inline: -18px;
  margin-bottom: -18px;
  margin-top: auto;
  padding-top: 8px;
  overflow: hidden;
}

/* Main strip */
.offer-strip__inner {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;

  min-height: 46px;
  padding: 7px 9px;

  color: #351326;

  /* background:
    radial-gradient(
      circle at 92% 50%,
      rgba(179, 43, 105, 0.14),
      transparent 34%
    ),
    linear-gradient(
      105deg,
      #fff8fa 0%,
      #fcecf3 55%,
      #f9dce9 100%
    ); */

  /* border-top: 2px solid #d62a74; */
}

/* Subtle premium shine */
.offer-strip__inner::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  background: linear-gradient(
    115deg,
    transparent 18%,
    rgba(255, 255, 255, 0.55) 42%,
    transparent 64%
  );

  opacity: 0.45;
}

/* Keep the content above decorative backgrounds */
.offer-strip__message,
.offer-strip__saving {
  position: relative;
  z-index: 1;
}

/* Last chance to */
.offer-strip__message {
  

  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.01em;

  white-space: nowrap;
}

/* White Save $amount pill */
.offer-strip__saving {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;

  min-height: 30px;
  padding: 5px 10px;

  color: #b32b69;
  background: rgba(255, 255, 255, 0.88);

  border: 1px solid rgba(179, 43, 105, 0.1);
  border-radius: 999px;

  box-shadow:
    0 3px 10px rgba(179, 43, 105, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);

  line-height: 1;
  white-space: nowrap;
}

/* Save label */
.offer-strip__saving-label {
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Dynamic saving amount */
.offer-strip__saving-amount {
  font-size: 12px;
  font-weight: 750;
  line-height: 1;
}

/* ========================================
   MOBILE PRODUCT CARDS
======================================== */

@media screen and (max-width: 749px) {
  .offer-strip {
    width: calc(100% + 24px);
    margin-inline: -12px;
    margin-bottom: -14px;
    padding-top: 7px;
  }

  .offer-strip__inner {
    justify-content: center;
    gap: 5px;

    min-height: 42px;
    padding: 6px;
  }

  .offer-strip__message {
    font-size: 12px;
  }

  .offer-strip__saving {
    min-height: 27px;
    padding: 4px 7px;
    gap: 3px;
  }

  .offer-strip__saving-label {s
    font-size: 12px;
  }

  .offer-strip__saving-amount {
    font-size: 12px;
  }
}

/* Extra-small product cards */
@media screen and (max-width: 389px) {
  .offer-strip__inner {
    gap: 4px;
    padding-inline: 5px;
  }

  .offer-strip__message {
    font-size: 10px;
  }

  .offer-strip__saving {
    padding-inline: 6px;
  }

  .offer-strip__saving-label {
    font-size: 10px;
  }

  .offer-strip__saving-amount {
    font-size: 10px;
  }
}

/* Why Swan */
.swan-why {
  background: #f5efe9;
}

.swan-why__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: center;
  gap: clamp(60px, 8vw, 130px);
}

.swan-why__grid--no-image {
  display: block;
}

.swan-why__grid--no-image .swan-why__copy {
  width: 100%;
  max-width: none;
}

.swan-why__grid--no-image  .swan-why__lead {
    max-width: max-content;
}

.swan-why__lead {
  max-width: 530px;
  margin: 27px 0 35px;
  color: var(--swan-muted);
  font-size: 17px;
}

.swan-why__list {
  margin-bottom: 32px;
  border-top: 1px solid var(--swan-line);
}

.swan-why__item {
  padding: 23px 0;
 
  grid-template-columns: 43px 1fr;
  border-bottom: 1px solid var(--swan-line);
}

.swan-why__number {
  padding-top: 4px;
  color: var(--swan-berry);
  font-size: 9px;
  letter-spacing: 0.14em;
}

.swan-why__item h3 {
  margin: 0 0 7px;
  font-family: var(--swan-serif);
  font-size: 22px;
  font-weight: 500;
}

.swan-why__item p {
  max-width: 500px;
  margin: 0;
  color: var(--swan-muted);
  font-size: 12px;
}


.swan-why__media {
  position: relative;
  min-height: auto;
}

.swan-why__image,
.swan-why__placeholder {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  border-radius: 220px 220px 28px 28px;
}

.swan-why__placeholder {
  background: linear-gradient(160deg, #e8c0c4, #d7c5df);
}

.swan-why__stamp.swan-why__stamp--image {
  height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  transform: none;
}

.swan-why__stamp-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}



.swan-why__stamp {
  position: absolute;
  left: -54px;
  bottom: 52px;
  width: 210px;
  height: 120px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: var(--swan-plum);
  text-align: center;
  transform: rotate(-6deg);
}

.swan-why__stamp .swan-why__stamp-image {
    position: absolute;
    left: -100px;
    bottom: 30px;
}
.swan-why__stamp span {
  margin-bottom: 4px;
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.swan-why__stamp strong {
  font-family: var(--swan-serif);
  font-size: 18px;
  font-weight: 400;
}

/* Full-width campaign banner */
.swan-waterproof {
  position: relative;
  min-height: var(--swan-banner-height, 700px);
  overflow: hidden;
  color: #fff;
  background: var(--swan-plum-deep);
}

.swan-waterproof__media,
.swan-waterproof__media picture,
.swan-waterproof__image,
.swan-waterproof__placeholder,
.swan-waterproof__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.swan-waterproof__image,
.swan-waterproof__placeholder {
  object-fit: cover;
}

.swan-waterproof__placeholder {
  background: radial-gradient(circle at 70% 40%, #8e5d82, #2f0d27 68%);
}

.swan-waterproof__shade {
  z-index: 1;
  background: linear-gradient(90deg, #b32b69, rgb(45 11 38 / 18%) 65%, transparent)
}

.swan-waterproof__content {
  position: relative;
  z-index: 2;
  min-height: var(--swan-banner-height, 700px);
  padding-block: 110px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.swan-waterproof .swan-eyebrow {
  color: #ead2e4;
}

.swan-waterproof .swan-heading {
  font-size: clamp(60px, 7vw, 105px);
  line-height: 0.88;
}

.swan-waterproof__copy {
  max-width: 440px;
  margin: 30px 0;
  color: rgb(255 255 255 / 80%);
  font-size: 15px;
}

/* Reviews */
.swan-reviews {
  background: #fff;
}

.swan-reviews__top {
  position: relative;
  text-align: center;
}

.swan-review-controls {
  position: absolute;
  right: 0;
  bottom: 7px;
  display: flex;
  gap: 7px;
}

.swan-review-controls button {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--swan-line);
  border-radius: 50%;
  color: var(--swan-ink);
  background: #fff;
  cursor: pointer;
  transition: color 200ms ease, background-color 200ms ease;
}

.swan-review-controls button:hover {
  color: #fff;
  background: var(--swan-plum);
}

.swan-review-stage {
  position: relative;
  min-height: 285px;
  margin-top: 55px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-block: 1px solid var(--swan-line);
}

.swan-review {
  position: absolute;
  width: min(820px, 80%);
  opacity: 0;
  text-align: center;
  pointer-events: none;
  transform: translateX(45px);
  transition: opacity 450ms ease, transform 450ms ease;
}

.swan-review.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.swan-review__stars {
  color: #a56655;
  font-size: 11px;
  letter-spacing: 0.28em;
}

.swan-review blockquote {
  margin: 22px 0 20px;
  font-family: var(--swan-serif);
  font-size: clamp(34px, 4.5vw, 58px);
  line-height: 1.05;
}

.swan-review p {
  margin: 0;
  color: var(--swan-muted);
  font-size: 10px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

/* Newsletter */
.swan-newsletter {
  position: relative;
  min-height: 540px;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--swan-ink);
  background: var(--swan-newsletter-bg, #e9d5de);
  text-align: center;
}

.swan-newsletter__inner {
  position: relative;
  z-index: 2;
  width: min(700px, calc(100% - 40px));
  padding-block: 95px;
}

.swan-newsletter .swan-heading {
  font-size: clamp(62px, 7vw, 100px);
  line-height: 0.9;
}

.swan-newsletter__copy {
  max-width: 530px;
  margin: 25px auto 31px;
  color: #6d5461;
}

.swan-newsletter__form {
  position: relative;
  width: min(570px, 100%);
  margin-inline: auto;
  padding: 6px 6px 6px 22px;
  display: flex;
  border: 1px solid rgb(75 23 62 / 8%);
  border-radius: 999px;
  background: rgb(255 255 255 / 82%);
}

.swan-newsletter__form input {
  min-width: 0;
  flex: 1;
  border: 0;
  outline: 0;
  color: var(--swan-ink);
  background: transparent;
}

.swan-newsletter__form button {
  min-height: 49px;
  padding: 0 21px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: var(--swan-plum);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.swan-newsletter__message {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: 100%;
  min-height: 20px;
  margin: 0;
  color: var(--swan-plum);
  font-size: 12px;
}

.swan-newsletter__orb {
  position: absolute;
  border-radius: 50%;
  opacity: 0.5;
}

.swan-newsletter__orb--one {
  width: 320px;
  height: 320px;
  top: -100px;
  left: -70px;
  background: radial-gradient(circle at 35% 30%, #f6e9ef, #b32b69);
}

.swan-newsletter__orb--two {
  width: 250px;
  height: 250px;
  right: -40px;
  bottom: -80px;
  background: radial-gradient(circle at 35% 30%, #b32b69, #f2e8f4);
}

@media screen and (max-width: 989px) {
  .swan-benefits__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .swan-benefit:nth-child(2n) {
    border-right: 1px solid var(--swan-line);
  }
  .swan-benefit__subtitle {
  font-size: 11px; /* Change to 11px or 12px */
}

  .swan-benefit:nth-child(n + 3) {
    border-top: 1px solid var(--swan-line);
  }

  .swan-experience-grid,
  .swan-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
   .swan-benefit:nth-child(3) {
    border-left: 1px solid var(--swan-line);
  }

  .swan-why__grid {
    grid-template-columns: 1fr;
  }

  .swan-why__copy {
    order: 2;
  }

  .swan-why__media {
    min-height: auto;
  }

  .swan-why__stamp {
    left: 22px;
  }
}

@media screen and (max-width: 749px) {
  :root {
    --swan-shell: calc(100vw - 32px);
    --swan-radius: 20px;
  }

  .swan-heading {
    font-size: clamp(38px, 12vw, 54px);
  }

  .swan-hero {
    min-height: var(--swan-hero-mobile-height, 690px);
  }

  .swan-hero__overlay {
    background: linear-gradient(180deg, rgb(249 241 235 / 35%) 0%, var(--swan-hero-overlay) 76%);
  }

  .swan-hero__content {
    padding-block: 230px 58px;
    justify-content: flex-end;
  }

  .swan-hero__heading {
    max-width: 100%;
    font-size: clamp(49px, 14vw, 68px);
    line-height: 0.92;
  }

  .swan-hero__copy {
    margin-block: 22px 25px;
    font-size: 15px;
  }

  .swan-hero__note {
    display: none;
  }

  .swan-benefits__grid {
    min-height: 0;
  }

  .swan-benefit {
    padding: 18px 12px;
    justify-content: flex-start;
  }

  .swan-benefit__icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }

  .swan-benefit strong {
    font-size: 14px;
  }

  .swan-benefit small {
    font-size: 9px;
  }

  .swan-editorial-section {
    padding-block: var(--swan-section-mobile-top, 78px) var(--swan-section-mobile-bottom, 78px);
  }

  .swan-section-heading {
    margin-bottom: 30px;
    display: block;
  }

  .swan-section-heading__copy,
  .swan-section-heading .swan-text-link {
    margin-top: 20px;
  }

  .swan-experience-grid {
    display: flex;
    gap: 12px;
    margin-right: -16px;
    padding-right: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .swan-experience-grid::-webkit-scrollbar {
    display: none;
  }

  .swan-experience-card {
    min-width: 82%;
    min-height: 420px;
    scroll-snap-align: start;
  }

  .swan-product-grid {
    gap: 24px 12px;
  }

  .swan-product-card__media {
    aspect-ratio: 0.9;
    padding: 14px;
    border-radius: 16px;
  }

  .swan-product-card__action {
    display: none;
  }

  .swan-product-card__badge {
    top: 9px;
    left: 9px;
    padding: 6px 8px;
    font-size: 11px;
  }

  .swan-product-card__meta {
    padding: 12px 2px 0;
    display: block;
  }

  .swan-product-card__title {
    font-size: 18px;
  }

  .swan-product-card__price {
    display: block;
    padding-top: 8px;
  }

 .swan-why__stamp .swan-why__stamp-image {
    position: absolute;
    left: -48px;
    bottom: -79px;
}

.swan-newsletter .swan-heading {
    font-size: clamp(54px, 7vw, 100px);
    line-height: .9;
}
  .swan-why__image,
  .swan-why__placeholder {
    border-radius: 130px 130px 20px 20px;
  }

  .swan-why__stamp {
    left: 8px;
    bottom: 24px;
    width: 165px;
    height: 98px;
    padding: 18px;
  }

  .swan-waterproof,
  .swan-waterproof__content {
    min-height: var(--swan-banner-mobile-height, 620px);
  }

  .swan-waterproof__shade {
    background: linear-gradient(180deg, transparent 20%, rgb(45 11 38 / 78%) 75%, rgb(45 11 38 / 92%));
  }

  .swan-waterproof__content {
    padding-block: 80px 56px;
    justify-content: flex-start;
  }

  .swan-review-controls {
    position: static;
    margin-top: 24px;
    justify-content: center;
  }

  .swan-review-stage {
    min-height: 320px;
    margin-top: 30px;
  }

  .swan-review {
    width: 92%;
  }

  .swan-newsletter__form {
    padding: 6px;
  }

  .swan-newsletter__form input {
    padding-left: 14px;
  }

  .swan-newsletter__form button {
    padding-inline: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .swan-reveal,
  .swan-product-card__media img,
  .swan-experience-card,
  .swan-experience-card__image,
  .swan-review {
    transition: none !important;
  }

  .swan-reveal {
    opacity: 1;
    transform: none;
  }
}
/* =========================================
   Swan — Why You'll Love It
========================================= */

.swan-love {
  padding-block:
    var(--swan-love-padding-top)
    var(--swan-love-padding-bottom);
  color: var(--swan-love-text);
  background: var(--swan-love-background);
}

.swan-love__container {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--page-width, 1440px);
  margin-inline: auto;
  padding-inline: var(--page-margin, 20px);
}

.swan-love__header {
  max-width: 720px;
  margin: 0 auto 36px;
  text-align: center;
}

.swan-love__eyebrow {
  margin: 0 0 10px;
  color: var(--swan-love-accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.swan-love__heading {
  margin: 0;
  color: var(--swan-love-text);
  font-family: var(--font-heading--family);
  
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.swan-love__description {
  margin: 14px 0 0;
  color: rgba(43, 19, 34, 0.7);
  font-size: 17px;
  line-height: 1.6;
}

.swan-love__grid {
  display: grid;
  grid-template-columns: repeat(
    var(--swan-love-columns),
    minmax(0, 1fr)
  );
  gap: 20px;
}
.swan-product-tabs__description-layout,
.swan-product-tabs__description-grid {
  display: block;
 
}

.swan-product-tabs__description-content,
.swan-product-tabs__description-copy {
  width: 100%;
  max-width: 100%;
}
.swan-love__card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(179, 43, 105, 0.08);
  border-radius: 18px;
  background: var(--swan-love-card-background);
  transition:
    transform 220ms ease,
    box-shadow 220ms ease;
}

.swan-love__media {
  overflow: hidden;
  aspect-ratio: var(--swan-love-image-ratio);
  background: #f6efea;
}

.swan-love__image,
.swan-love__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.swan-love__content {
  padding: 22px;
}

.swan-love__card-heading {
  margin: 0;
  color: var(--swan-love-text);
  font-family: var(--font-heading--family);
  font-size: clamp(21px, 2vw, 27px);
  font-weight: 500;
  line-height: 1.15;
}

.swan-love__card-text {
  margin: 9px 0 0;
  color: rgba(43, 19, 34, 0.7);
  font-size: 15px;
  line-height: 1.55;
}

.swan-love__card-link {
  position: absolute;
  z-index: 2;
  inset: 0;
}

@media (hover: hover) {
  .swan-love__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(43, 19, 34, 0.08);
  }

  .swan-love__card:hover .swan-love__image {
    transform: scale(1.04);
  }
}

@media screen and (max-width: 989px) {
  .swan-love__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 749px) {
  .swan-love__container {
    padding-inline: 16px;
  }

  .swan-love__header {
    margin-bottom: 24px;
  }

  .swan-love__grid {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .swan-love__grid::-webkit-scrollbar {
    display: none;
  }

  .swan-love__card {
    flex: 0 0 84%;
    scroll-snap-align: start;
    border-radius: 15px;
  }

  .swan-love__content {
    padding: 18px;
  }
}

/* Shared styles for Swan Page Intro and Swan Editorial Split. */

.swan-page-sections__shell {
  box-sizing: border-box;
  width: var(--swan-shell, min(1320px, calc(100vw - 64px)));
  max-width: calc(100% - 32px);
  margin-inline: auto;
}

/* Page intro */

.swan-page-intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: var(--swan-page-intro-height, 360px);
  padding-block:
    var(--swan-page-intro-padding-top, 64px)
    var(--swan-page-intro-padding-bottom, 64px);
  color: var(--swan-page-intro-text, #2b1322);
  background: linear-gradient(
    112deg,
    var(--swan-page-intro-background-start, #f8efea),
    var(--swan-page-intro-background-end, #f0c6d9)
  );
}

.swan-page-intro::before,
.swan-page-intro::after {
  position: absolute;
  z-index: -1;
  width: min(30vw, 420px);
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, var(--swan-page-intro-accent, #b32b69) 14%, transparent);
  border-radius: 50%;
  content: '';
  opacity: 0;
  pointer-events: none;
}

.swan-page-intro::before {
  top: -55%;
  left: -7%;
}

.swan-page-intro::after {
  right: -8%;
  bottom: -70%;
}

.swan-page-intro--decorated::before,
.swan-page-intro--decorated::after {
  opacity: 1;
}

.swan-page-intro__inner {
  display: flex;
  min-height: calc(
    var(--swan-page-intro-height, 360px) -
    var(--swan-page-intro-padding-top, 64px) -
    var(--swan-page-intro-padding-bottom, 64px)
  );
  align-items: center;
}

.swan-page-intro__content {
  width: min(100%, var(--swan-page-intro-content-width, 760px));
}

.swan-page-intro--center .swan-page-intro__content {
  margin-inline: auto;
  text-align: center;
}

.swan-page-intro--right .swan-page-intro__content {
  margin-left: auto;
  text-align: right;
}

.swan-page-intro__eyebrow,
.swan-editorial-split__eyebrow {
  margin: 0 0 16px;
  color: var(--swan-page-intro-accent, #b32b69);
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.4;
  text-transform: uppercase;
}

.swan-page-intro__heading {
  margin: 0;
  color: inherit;
  font-family: var(--font-heading--family, Georgia, serif);
  font-size: clamp(42px, 6vw, var(--swan-page-intro-heading-size, 76px));
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.95;
}

.swan-page-intro__heading em {
  color: var(--swan-page-intro-accent, #b32b69);
}

.swan-page-intro__description {
  margin-top: 28px;
  color: inherit;
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: var(--swan-page-intro-text-size, 17px);
  line-height: 1.7;
}

.swan-page-intro__description > :first-child,
.swan-editorial-split__text > :first-child {
  margin-top: 0;
}

.swan-page-intro__description > :last-child,
.swan-editorial-split__text > :last-child {
  margin-bottom: 0;
}

/* Editorial split */

.swan-editorial-split {
  padding-block:
    var(--swan-editorial-padding-top, 72px)
    var(--swan-editorial-padding-bottom, 72px);
  color: var(--swan-editorial-text, #2b1322);
  background: var(--swan-editorial-section-background, #fbf8f5);
}

.swan-editorial-split__card {
  display: grid;
  grid-template-columns:
    minmax(0, calc(100% - var(--swan-editorial-media-width, 50%)))
    minmax(0, var(--swan-editorial-media-width, 50%));
  min-height: var(--swan-editorial-card-height, 560px);
  overflow: hidden;
  border: 1px solid var(--swan-editorial-border, #eadbe2);
  border-radius: var(--swan-editorial-card-radius, 20px);
  background: var(--swan-editorial-card-background, #fff);
  box-shadow: 0 20px 55px rgb(43 19 34 / 6%);
}

.swan-editorial-split__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: var(--swan-editorial-vertical-alignment, center);
  min-width: 0;
  padding: var(--swan-editorial-content-padding, 64px);
  background: var(--swan-editorial-card-background, #fff);
}

.swan-editorial-split--media-left .swan-editorial-split__content {
  grid-column: 2;
}

.swan-editorial-split--media-left .swan-editorial-split__media {
  grid-column: 1;
  grid-row: 1;
}

.swan-editorial-split--text-center .swan-editorial-split__content {
  align-items: center;
  text-align: center;
}

.swan-editorial-split--text-right .swan-editorial-split__content {
  align-items: flex-end;
  text-align: right;
}

.swan-editorial-split__eyebrow {
  color: var(--swan-editorial-accent, #b32b69);
}

.swan-editorial-split__heading {
  max-width: 650px;
  margin: 0;
  color: inherit;
  font-family: var(--font-heading--family, Georgia, serif);
  font-size: clamp(38px, 4.7vw, var(--swan-editorial-heading-size, 58px));
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.swan-editorial-split__heading em {
  color: var(--swan-editorial-accent, #b32b69);
}

.swan-editorial-split__text {
  max-width: 540px;
  margin-top: 30px;
  color: color-mix(in srgb, var(--swan-editorial-text, #2b1322) 72%, transparent);
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: var(--swan-editorial-text-size, 16px);
  line-height: 1.75;
}

.swan-editorial-split__link {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 28px;
  max-width: 210px;
  margin-top: 32px;
  padding-block: 10px;
  border-bottom: 1px solid currentColor;
  color: inherit;
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
  text-decoration: none;
}

.swan-editorial-split--text-center .swan-editorial-split__link {
  align-self: center;
}

.swan-editorial-split--text-right .swan-editorial-split__link {
  align-self: flex-end;
}

.swan-editorial-split__link > :last-child {
  transition: transform 200ms ease;
}

.swan-editorial-split__link:hover > :last-child {
  transform: translateX(4px);
}

.swan-editorial-split__link[aria-disabled='true'] {
  cursor: default;
  opacity: 0.55;
}

.swan-editorial-split__media {
  position: relative;
  isolation: isolate;
  min-width: 0;
  min-height: var(--swan-editorial-card-height, 560px);
  overflow: hidden;
  background: linear-gradient(
    145deg,
    var(--swan-editorial-media-start, #f6e8e0),
    var(--swan-editorial-media-end, #e9c5d4)
  );
}

.swan-editorial-split--circle .swan-editorial-split__media::before {
  position: absolute;
  z-index: -1;
  top: 17%;
  left: 14%;
  width: 72%;
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, var(--swan-editorial-accent, #b32b69) 16%, transparent);
  border-radius: 50%;
  content: '';
  pointer-events: none;
}

.swan-editorial-split__line {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 1px;
  height: 32%;
  background: color-mix(in srgb, var(--swan-editorial-accent, #b32b69) 30%, transparent);
}

.swan-editorial-split__main-media,
.swan-editorial-split__main-media picture,
.swan-editorial-split__secondary-media,
.swan-editorial-split__secondary-media picture {
  display: block;
}

.swan-editorial-split__main-image,
.swan-editorial-split__secondary-image,
.swan-editorial-split__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.swan-editorial-split--visual-composition .swan-editorial-split__main-media {
  position: absolute;
  z-index: 1;
  bottom: 3%;
  left: 6%;
  width: var(--swan-editorial-main-image-width, 74%);
  height: 79%;
}

.swan-editorial-split--visual-composition .swan-editorial-split__main-media picture,
.swan-editorial-split--visual-composition .swan-editorial-split__secondary-media picture {
  width: 100%;
  height: 100%;
}

.swan-editorial-split--visual-composition .swan-editorial-split__main-image,
.swan-editorial-split--visual-composition .swan-editorial-split__secondary-image {
  object-fit: contain;
}

.swan-editorial-split--visual-composition .swan-editorial-split__secondary-media {
  position: absolute;
  z-index: 2;
  top: 13%;
  right: 7%;
  width: var(--swan-editorial-secondary-image-width, 30%);
  height: 48%;
}

.swan-editorial-split--visual-full .swan-editorial-split__main-media,
.swan-editorial-split--visual-full .swan-editorial-split__main-media picture {
  width: 100%;
  height: 100%;
}

.swan-editorial-split--visual-full .swan-editorial-split__main-image {
  object-fit: var(--swan-editorial-image-fit, cover);
  object-position: var(--swan-editorial-image-position, center);
}

.swan-editorial-split__badge {
  position: absolute;
  z-index: 4;
  right: 22px;
  bottom: 20px;
  max-width: calc(100% - 44px);
  margin: 0;
  padding: 9px 14px;
  border-radius: 999px;
  color: var(--swan-editorial-text, #2b1322);
  background: rgb(255 255 255 / 90%);
  box-shadow: 0 6px 20px rgb(43 19 34 / 7%);
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
}

.swan-editorial-split a:focus-visible {
  outline: 2px solid var(--swan-editorial-accent, #b32b69);
  outline-offset: 4px;
}

@media screen and (max-width: 989px) {
  .swan-editorial-split__content {
    padding: clamp(32px, 5vw, var(--swan-editorial-content-padding, 64px));
  }

  .swan-editorial-split__text {
    margin-top: 22px;
  }
}

@media screen and (max-width: 749px) {
  .swan-page-sections__shell {
    width: calc(100% - 32px);
    max-width: none;
  }

  .swan-page-intro {
    min-height: var(--swan-page-intro-mobile-height, 300px);
  }

  .swan-page-intro__inner {
    min-height: calc(
      var(--swan-page-intro-mobile-height, 300px) -
      var(--swan-page-intro-padding-top, 64px) -
      var(--swan-page-intro-padding-bottom, 64px)
    );
  }

  .swan-page-intro__heading {
    font-size: clamp(34px, 12vw, var(--swan-page-intro-mobile-heading-size, 52px));
  }

  .swan-page-intro__description {
    margin-top: 22px;
  }

  .swan-editorial-split__card {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .swan-editorial-split__content,
  .swan-editorial-split--media-left .swan-editorial-split__content {
    grid-column: 1;
    grid-row: auto;
    padding: var(--swan-editorial-mobile-content-padding, 30px);
  }

  .swan-editorial-split__media,
  .swan-editorial-split--media-left .swan-editorial-split__media {
    grid-column: 1;
    grid-row: auto;
    min-height: var(--swan-editorial-mobile-media-height, 400px);
  }

  .swan-editorial-split--mobile-media-top .swan-editorial-split__media {
    grid-row: 1;
  }

  .swan-editorial-split--mobile-media-top .swan-editorial-split__content {
    grid-row: 2;
  }

  .swan-editorial-split--mobile-media-bottom .swan-editorial-split__content {
    grid-row: 1;
  }

  .swan-editorial-split--mobile-media-bottom .swan-editorial-split__media {
    grid-row: 2;
  }

  .swan-editorial-split__heading {
    font-size: clamp(30px, 10vw, var(--swan-editorial-mobile-heading-size, 42px));
  }

  .swan-editorial-split__text {
    margin-top: 22px;
  }

  .swan-editorial-split__link {
    margin-top: 24px;
  }

  .swan-editorial-split--visual-composition .swan-editorial-split__main-media {
    bottom: 3%;
    left: 3%;
    height: 80%;
  }

  .swan-editorial-split__badge {
    right: 14px;
    bottom: 14px;
    max-width: calc(100% - 28px);
    font-size: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .swan-editorial-split__link > :last-child {
    transition: none;
  }
}

/* Feature grid */

.swan-feature-grid {
  padding-block:
    var(--swan-feature-padding-top, 88px)
    var(--swan-feature-padding-bottom, 88px);
  color: var(--swan-feature-text, #2b1322);
  background: var(--swan-feature-background, #f8f1ed);
}

.swan-feature-grid__header {
  max-width: 760px;
  margin-bottom: 46px;
}

.swan-feature-grid--center .swan-feature-grid__header {
  margin-inline: auto;
  text-align: center;
}

.swan-feature-grid__eyebrow {
  margin: 0 0 14px;
  color: var(--swan-feature-accent, #b32b69);
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.4;
  text-transform: uppercase;
}

.swan-feature-grid__heading {
  margin: 0;
  color: inherit;
  font-family: var(--font-heading--family, Georgia, serif);
  font-size: clamp(38px, 5vw, var(--swan-feature-heading-size, 58px));
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.swan-feature-grid__heading span,
.swan-feature-grid__heading em {
  display: block;
}

.swan-feature-grid__heading em {
  color: var(--swan-feature-accent, #b32b69);
  font-weight: inherit;
}

.swan-feature-grid__description {
  margin-top: 24px;
  color: var(--swan-feature-muted, #74666e);
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: var(--swan-feature-text-size, 15px);
  line-height: 1.7;
}

.swan-feature-grid__description > :first-child {
  margin-top: 0;
}

.swan-feature-grid__description > :last-child {
  margin-bottom: 0;
}

.swan-feature-grid__cards {
  display: grid;
  grid-template-columns: repeat(var(--swan-feature-columns, 3), minmax(0, 1fr));
  gap: var(--swan-feature-gap, 16px);
}

.swan-feature-grid__card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  min-height: var(--swan-feature-card-height, 230px);
  padding: var(--swan-feature-card-padding, 30px);
  border: 1px solid var(--swan-feature-border, #eadfe4);
  border-radius: var(--swan-feature-radius, 18px);
  background: var(--swan-feature-card-background, #fff);
  box-shadow: 0 10px 30px rgb(43 19 34 / 3%);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.swan-feature-grid__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  margin-bottom: 34px;
  overflow: hidden;
  border-radius: 50%;
  color: #fff;
  background: var(--swan-feature-accent, #b32b69);
}

.swan-feature-grid__icon-image {
  display: block;
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.swan-feature-grid__icon-mark {
  width: 8px;
  height: 8px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.swan-feature-grid__card-content {
  margin-top: auto;
}

.swan-feature-grid__card-heading {
  margin: 0;
  color: inherit;
  font-family: var(--font-heading--family, Georgia, serif);
  font-size: var(--swan-feature-card-heading-size, 21px);
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.18;
}

.swan-feature-grid__card-text {
  margin: 10px 0 0;
  color: var(--swan-feature-muted, #74666e);
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: var(--swan-feature-text-size, 15px);
  line-height: 1.6;
}

.swan-feature-grid__card--highlight {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  min-height: 0;
  background: var(--swan-feature-highlight-background, #e9c5d4);
}

.swan-feature-grid__card--highlight .swan-feature-grid__icon {
  margin: 0 28px 0 0;
  background: rgb(255 255 255 / 80%);
  color: var(--swan-feature-accent, #b32b69);
}

.swan-feature-grid__card--highlight .swan-feature-grid__card-content {
  margin: 0;
}

.swan-feature-grid__card--highlight .swan-feature-grid__card-text {
  color: color-mix(in srgb, var(--swan-feature-text, #2b1322) 72%, transparent);
}

.swan-feature-grid__badge {
  margin-left: 28px;
  padding: 10px 15px;
  border-radius: 999px;
  color: var(--swan-feature-text, #2b1322);
  background: rgb(255 255 255 / 82%);
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
}

.swan-feature-grid__empty {
  margin: 0;
  padding: 36px;
  border: 1px dashed var(--swan-feature-border, #eadfe4);
  border-radius: var(--swan-feature-radius, 18px);
  text-align: center;
}

@media (hover: hover) {
  .swan-feature-grid__card:not(.swan-feature-grid__card--highlight):hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgb(43 19 34 / 7%);
  }
}

@media screen and (max-width: 989px) {
  .swan-feature-grid__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 749px) {
  .swan-feature-grid__header {
    margin-bottom: 30px;
  }

  .swan-feature-grid__heading {
    font-size: clamp(30px, 10vw, var(--swan-feature-mobile-heading-size, 42px));
  }

  .swan-feature-grid__description {
    margin-top: 18px;
  }

  .swan-feature-grid__cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .swan-feature-grid__card {
    min-height: 0;
    padding: clamp(22px, 7vw, var(--swan-feature-card-padding, 30px));
  }

  .swan-feature-grid__icon {
    margin-bottom: 28px;
  }

  .swan-feature-grid__card--highlight {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .swan-feature-grid__card--highlight .swan-feature-grid__icon {
    align-self: start;
    margin-right: 20px;
  }

  .swan-feature-grid__card--highlight .swan-feature-grid__badge {
    grid-column: 2;
    justify-self: start;
    margin: 18px 0 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .swan-feature-grid__card {
    transition: none;
  }
}
/* Image + content feature */

.swan-image-content {
  padding-block:
    var(--swan-image-content-padding-top, 72px)
    var(--swan-image-content-padding-bottom, 72px);
  background: var(--swan-image-content-section-bg, #fbf8f5);
}

.swan-image-content__card {
  display: grid;
  grid-template-columns:
    minmax(0, var(--swan-image-content-image-width, 58%))
    minmax(0, calc(100% - var(--swan-image-content-image-width, 58%)));
  min-height: var(--swan-image-content-height, 540px);
  padding: var(--swan-image-content-inset, 14px);
  overflow: hidden;
  border-radius: var(--swan-image-content-radius, 20px);
  color: var(--swan-image-content-text, #fff);
  background: var(--swan-image-content-card-bg, #351126);
}

.swan-image-content__media {
  position: relative;
  min-width: 0;
  min-height: calc(
    var(--swan-image-content-height, 540px) -
    (var(--swan-image-content-inset, 14px) * 2)
  );
  overflow: hidden;
  border-radius: max(0px, calc(var(--swan-image-content-radius, 20px) - 8px));
  background: var(--swan-image-content-image-bg, #d8b6df);
}

.swan-image-content__media picture,
.swan-image-content__image,
.swan-image-content__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.swan-image-content__image,
.swan-image-content__placeholder {
  object-fit: var(--swan-image-content-fit, cover);
  object-position: var(--swan-image-content-focal-point, center);
}

.swan-image-content__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: var(--swan-image-content-padding, 52px);
}

.swan-image-content--image-right .swan-image-content__card {
  grid-template-columns:
    minmax(0, calc(100% - var(--swan-image-content-image-width, 58%)))
    minmax(0, var(--swan-image-content-image-width, 58%));
}

.swan-image-content--image-right .swan-image-content__media {
  grid-column: 2;
  grid-row: 1;
}

.swan-image-content--image-right .swan-image-content__content {
  grid-column: 1;
  grid-row: 1;
}

.swan-image-content__eyebrow {
  margin: 0 0 14px;
  color: var(--swan-image-content-accent, #eeacca);
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.4;
  text-transform: uppercase;
}

.swan-image-content__heading {
  max-width: 560px;
  margin: 0;
  color: inherit;
  font-family: var(--font-heading--family, Georgia, serif);
  font-size: clamp(38px, 4.8vw, var(--swan-image-content-heading-size, 58px));
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.swan-image-content__heading em {
  display: block;
  color: var(--swan-image-content-accent, #eeacca);
  font-weight: inherit;
}

.swan-image-content__text {
  max-width: 520px;
  margin-top: 30px;
  color: var(--swan-image-content-muted, #eadce4);
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: var(--swan-image-content-text-size, 16px);
  line-height: 1.7;
}

.swan-image-content__text > :first-child {
  margin-top: 0;
}

.swan-image-content__text > :last-child {
  margin-bottom: 0;
}

.swan-image-content__features {
  display: grid;
  grid-template-columns: repeat(var(--swan-image-content-feature-columns, 3), minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid var(--swan-image-content-divider, #684356);
}

.swan-image-content__feature {
  min-width: 0;
}

.swan-image-content__feature h3 {
  margin: 0;
  color: inherit;
  font-family: var(--font-heading--family, Georgia, serif);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.25;
}

.swan-image-content__feature p {
  margin: 6px 0 0;
  color: var(--swan-image-content-muted, #eadce4);
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: 11px;
  line-height: 1.45;
}

.swan-image-content__link {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 12px;
  margin-top: 28px;
  padding-block: 8px;
  border-bottom: 1px solid currentColor;
  color: inherit;
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: 12px;
  font-weight: 650;
  text-decoration: none;
}

.swan-image-content__link span {
  transition: transform 200ms ease;
}

.swan-image-content__link:hover span {
  transform: translateX(4px);
}

.swan-image-content__link[aria-disabled='true'] {
  cursor: default;
  opacity: 0.55;
}

.swan-image-content__link:focus-visible {
  outline: 2px solid var(--swan-image-content-accent, #eeacca);
  outline-offset: 4px;
}

@media screen and (max-width: 989px) {
  .swan-image-content__content {
    padding: clamp(28px, 5vw, var(--swan-image-content-padding, 52px));
  }

  .swan-image-content__features {
    gap: 12px;
  }
}

@media screen and (max-width: 749px) {
  .swan-image-content__card,
  .swan-image-content--image-right .swan-image-content__card {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .swan-image-content__media,
  .swan-image-content--image-right .swan-image-content__media {
    grid-column: 1;
    grid-row: auto;
    min-height: var(--swan-image-content-mobile-image-height, 360px);
  }

  .swan-image-content__content,
  .swan-image-content--image-right .swan-image-content__content {
    grid-column: 1;
    grid-row: auto;
    padding: var(--swan-image-content-mobile-padding, 30px);
  }

  .swan-image-content--mobile-image-top .swan-image-content__media {
    grid-row: 1;
  }

  .swan-image-content--mobile-image-top .swan-image-content__content {
    grid-row: 2;
  }

  .swan-image-content--mobile-image-bottom .swan-image-content__content {
    grid-row: 1;
  }

  .swan-image-content--mobile-image-bottom .swan-image-content__media {
    grid-row: 2;
  }

  .swan-image-content__heading {
    font-size: clamp(30px, 10vw, var(--swan-image-content-mobile-heading-size, 42px));
  }

  .swan-image-content__text {
    margin-top: 22px;
  }

  .swan-image-content__features {
    margin-top: 28px;
  }
}

@media screen and (max-width: 420px) {
  .swan-image-content__features {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .swan-image-content__link span {
    transition: none;
  }
}

/* Product CTA banner */

.swan-product-cta {
  padding-block:
    var(--swan-product-cta-padding-top, 72px)
    var(--swan-product-cta-padding-bottom, 72px);
  background: var(--swan-product-cta-section-bg, #fff);
}

.swan-product-cta__card {
  display: grid;
  grid-template-columns:
    minmax(0, var(--swan-product-cta-content-width, 44%))
    minmax(0, calc(100% - var(--swan-product-cta-content-width, 44%)));
  min-height: var(--swan-product-cta-height, 540px);
  overflow: hidden;
  border-radius: var(--swan-product-cta-radius, 20px);
  color: var(--swan-product-cta-text, #2b1322);
  background: linear-gradient(
    110deg,
    var(--swan-product-cta-gradient-start, #f1e6e1),
    var(--swan-product-cta-gradient-end, #f0ccdc)
  );
}

.swan-product-cta__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: var(--swan-product-cta-content-padding, 64px);
}

.swan-product-cta--content-right .swan-product-cta__card {
  grid-template-columns:
    minmax(0, calc(100% - var(--swan-product-cta-content-width, 44%)))
    minmax(0, var(--swan-product-cta-content-width, 44%));
}

.swan-product-cta--content-right .swan-product-cta__content {
  grid-column: 2;
  grid-row: 1;
}

.swan-product-cta--content-right .swan-product-cta__visual {
  grid-column: 1;
  grid-row: 1;
}

.swan-product-cta__eyebrow {
  margin: 0 0 16px;
  color: var(--swan-product-cta-accent, #b32b69);
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.4;
  text-transform: uppercase;
}

.swan-product-cta__heading {
  max-width: 570px;
  margin: 0;
  color: inherit;
  font-family: var(--font-heading--family, Georgia, serif);
  font-size: clamp(40px, 5vw, var(--swan-product-cta-heading-size, 60px));
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.swan-product-cta__heading em {
  color: var(--swan-product-cta-accent, #b32b69);
  font-weight: inherit;
}

.swan-product-cta__text {
  max-width: 500px;
  margin-top: 24px;
  color: var(--swan-product-cta-muted, #74666e);
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: var(--swan-product-cta-text-size, 16px);
  line-height: 1.7;
}

.swan-product-cta__text > :first-child {
  margin-top: 0;
}

.swan-product-cta__text > :last-child {
  margin-bottom: 0;
}

.swan-product-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-height: 50px;
  margin-top: 30px;
  padding: 13px 25px;
  border-radius: 999px;
  color: var(--swan-product-cta-button-text, #fff);
  background: var(--swan-product-cta-button-bg, #b32b69);
  font-family: var(--font-body--family, Arial, sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 200ms ease, filter 200ms ease;
}

.swan-product-cta__button:hover {
  color: var(--swan-product-cta-button-text, #fff);
  filter: brightness(0.92);
  transform: translateY(-2px);
}

.swan-product-cta__button[aria-disabled='true'] {
  cursor: default;
  opacity: 0.6;
}

.swan-product-cta__visual {
  position: relative;
  isolation: isolate;
  min-width: 0;
  min-height: var(--swan-product-cta-height, 540px);
  overflow: hidden;
}

.swan-product-cta__visual::before {
  position: absolute;
  z-index: -1;
  right: 5%;
  bottom: -24%;
  width: 82%;
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, var(--swan-product-cta-accent, #b32b69) 10%, transparent);
  border-radius: 50%;
  content: '';
  pointer-events: none;
}

.swan-product-cta__products {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 38px 28px 22px;
  gap: var(--swan-product-cta-image-gap, 12px);
}

.swan-product-cta__product {
  position: relative;
  z-index: var(--swan-product-image-layer, 1);
  display: block;
  width: var(--swan-product-image-width, 26%);
  height: 86%;
  flex: 0 0 var(--swan-product-image-width, 26%);
  transform: translateY(var(--swan-product-image-offset, 0px));
}

.swan-product-cta__product-image,
.swan-product-cta__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 260ms ease;
}

.swan-product-cta--image-shadow .swan-product-cta__product-image {
  filter: drop-shadow(0 20px 18px rgb(43 19 34 / 12%));
}

a.swan-product-cta__product:hover .swan-product-cta__product-image {
  transform: translateY(-5px);
}

.swan-product-cta a:focus-visible {
  outline: 2px solid var(--swan-product-cta-accent, #b32b69);
  outline-offset: 4px;
}

@media screen and (max-width: 989px) {
  .swan-product-cta__content {
    padding: clamp(30px, 5vw, var(--swan-product-cta-content-padding, 64px));
  }

  .swan-product-cta__products {
    padding-inline: 16px;
  }
}

@media screen and (max-width: 749px) {
  .swan-product-cta__card,
  .swan-product-cta--content-right .swan-product-cta__card {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .swan-product-cta__content,
  .swan-product-cta--content-right .swan-product-cta__content {
    grid-column: 1;
    grid-row: auto;
    padding: var(--swan-product-cta-mobile-padding, 30px);
  }

  .swan-product-cta__visual,
  .swan-product-cta--content-right .swan-product-cta__visual {
    grid-column: 1;
    grid-row: auto;
    min-height: var(--swan-product-cta-mobile-visual-height, 360px);
  }

  .swan-product-cta--mobile-content-top .swan-product-cta__content {
    grid-row: 1;
  }

  .swan-product-cta--mobile-content-top .swan-product-cta__visual {
    grid-row: 2;
  }

  .swan-product-cta--mobile-content-bottom .swan-product-cta__visual {
    grid-row: 1;
  }

  .swan-product-cta--mobile-content-bottom .swan-product-cta__content {
    grid-row: 2;
  }

  .swan-product-cta__heading {
    font-size: clamp(30px, 11vw, var(--swan-product-cta-mobile-heading-size, 44px));
  }

  .swan-product-cta__text {
    margin-top: 20px;
  }

  .swan-product-cta__button {
    margin-top: 24px;
  }

  .swan-product-cta__products {
    padding: 24px 14px 16px;
    gap: max(4px, calc(var(--swan-product-cta-image-gap, 12px) / 2));
  }

  .swan-product-cta__product {
    width: var(--swan-product-mobile-image-width, 32%);
    height: 88%;
    flex-basis: var(--swan-product-mobile-image-width, 32%);
    transform: translateY(var(--swan-product-mobile-image-offset, 0px));
  }
}

@media (prefers-reduced-motion: reduce) {
  .swan-product-cta__button,
  .swan-product-cta__product-image {
    transition: none;
  }
}
.predictive-search-results__pill span {
    color: white;
}

.predictive-search-results__pill mark {
    color: white;
}
.no-padding-text div {
    padding-right: 0 !important;
    padding-left: 0 !important;
}