/* Home page sections. */
.statement__typewriter-cursor.statement__typewriter-cursor {
  display: inline-block;
  width: .45ch;
  color: currentColor;
  font-style: normal;
  animation: statement-typewriter-cursor 900ms steps(1, end) infinite;
}

@keyframes statement-typewriter-cursor {
  50% { opacity: 0; }
}

.hero {
  position: relative;
  display: grid;
  min-height: calc(100svh - 5.55rem);
  overflow: hidden;
  background: var(--color-sand);
  background-image: url("../../images/hero-image.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  isolation: isolate;
}
.statement {
  min-height: 100svh;
  background: var(--color-taupe);
  color: #fffdf7;
}
.about-collection {
  background: var(--brand-cream);
}
.about-collection h2 {
  margin: 0;
  font: 400 clamp(2.5rem, 3.7vw, 4rem) / .98 var(--font-display);
  letter-spacing: -.035em;
}
.experience {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  background: var(--color-surface-muted);
}
.testimonials {
  display: grid;
  min-height: 100svh;
  grid-template-rows: 61.5fr 38.5fr;
}
.closing-cta {
  display: grid;
  min-height: 65svh;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  padding: clamp(3rem, 6vw, 6rem) clamp(2rem, 5vw, 6rem);
  background: #459f9e;
  color: var(--color-on-dark);
}
.closing-cta h2 {
  margin: 0;
  font: 400 clamp(3.5rem, 5.4vw, 6rem) / .9 var(--font-display);
  letter-spacing: -.06em;
}
.closing-cta h2 em {
  color: var(--brand-gold);
  font-style: normal;
}
.closing-cta .section-kicker {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0;
  color: var(--color-on-dark);
  font: 500 .6875rem / .75rem var(--font-sans);
  letter-spacing: 4.576px;
  text-transform: uppercase;
}
.closing-cta .section-kicker span {
  flex: 0 0 2rem;
  width: 2rem;
  height: 1px;
  background: currentColor;
}

.experience {
  background: var(--color-white);
}
.closing-cta {
  background: var(--brand-teal);
}
.closing-cta h2 {
  color: #fff;
  font-family: var(--font-display);
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0;
}
.closing-cta h2 em {
  color: var(--brand-gold);
}
.closing-cta .section-kicker {
  color: #fff;
  font-family: var(--font-sans);
  font-weight: 500;
  font-style: normal;
  letter-spacing: 4.576px;
}



.hero__texture {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .42;
  background-image: radial-gradient(circle at 10% 20%, #f9f7eb 0, transparent 38%),
    radial-gradient(circle at 83% 8%, #d9d1c0 0, transparent 35%),
    repeating-linear-gradient(
    45deg,
    rgba(255, 255, 255, .16) 0 1px,
    transparent 1px 7px
    );
}

/* Subtle material light and perspective for the homepage photography. */
.image-light-effect {
  --image-light-x: 50%;
  --image-light-y: 50%;
  --image-light-opacity: 0;
  --image-tilt-x: 0deg;
  --image-tilt-y: 0deg;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  perspective: 75rem;
}
.image-light-effect img {
  position: relative;
  z-index: 0;
}
.image-light-effect::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  content: "";
  background: radial-gradient(
    circle at var(--image-light-x) var(--image-light-y),
    rgba(255, 224, 145, .34) 0,
    rgba(241, 198, 99, .15) 18%,
    rgba(211, 163, 60, .04) 38%,
    transparent 62%
  );
  mix-blend-mode: screen;
  opacity: var(--image-light-opacity);
  pointer-events: none;
  transition: opacity 420ms ease;
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {

  .image-light-effect img {
    transform: rotateX(var(--image-tilt-x)) rotateY(var(--image-tilt-y)) scale(1.035);
    transition: transform 500ms cubic-bezier(.22, .61, .36, 1);
    will-change: transform;
  }

  .image-light-effect.is-light-active img {
    transition-duration: 90ms;
  }
}
.hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-block: 4rem;
  text-align: center;
}
.hero__eyebrow {
  margin: 0 0 1.1rem;
  color: var(--color-aqua);
  font-size: var(--text-xs);
  letter-spacing: .42em;
  text-transform: uppercase;
}
.hero__mark {
  display: block;
  width: 159px;
  height: 119px;
  margin-bottom: 1.4rem;
  object-fit: cover;
  object-position: center 45%;
}
.hero__title {
  width: min(100%, 55.875rem);
  margin: 0;
  font: 400 clamp(3.7rem, 7.3vw, 6.55rem) / .86 var(--font-display);
  letter-spacing: -.055em;
}
.hero__title span,
.hero__title em {
  display: block;
}
.hero__title em {
  color: var(--color-aqua);
  font-style: italic;
  white-space: nowrap;
}
.hero__intro {
  width: min(100%, 55.875rem);
  margin: 1.25rem 0;
  color: var(--brand-text-mid);
  font: 400 var(--text-lg) / 1.7778 var(--font-sans);
  text-wrap: balance;
}
.hero__actions {
  display: flex;
  justify-content: center;
  width: min(100%, 16.25rem);
}
.hero .hero__actions .button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  height: auto;
  margin: 0;
  padding: .75rem .5rem;
}
.hero__intro-link {
  display: inline;
  color: var(--brand-gold-deep);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--brand-gold);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
  white-space: normal;
  transition: color .2s ease, text-decoration-color .2s ease;
}
.hero__intro-link:hover,
.hero__intro-link:focus-visible {
  color: var(--brand-text);
  text-decoration-color: var(--brand-gold-deep);
}
.hero__intro-link:focus-visible,
.hero__actions a:focus-visible {
  outline: 2px solid var(--brand-gold-deep);
  outline-offset: 3px;
}
@media (max-width: 700px) {
  .hero__title em {
    font-size: clamp(2.25rem, 11.5vw, 3.7rem);
    white-space: normal;
  }
}
@media (min-width: 901px) {
  .hero__title .hero__accent-line {
    display: block;
  }
}
.hero__video-stage {
  position: relative;
  flex: 0 0 auto;
  z-index: 3;
  width: min(100%, 55.875rem);
  height: clamp(12rem, 23vw, 15rem);
  margin-top: 1.35rem;
}
.hero__video-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 2px solid var(--color-gold);
  background: #000 url("../../images/Impressionen_Kachel.jpg") center / cover no-repeat;
}
.hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  padding: 0;
  width: 3.4rem;
  height: 3.4rem;
  cursor: pointer;
  border: 1px solid var(--color-gold);
  border-radius: 50%;
  background: transparent;
  transform: translate(-50%, -50%);
}
.hero__video-placeholder.is-playing .hero__play {
  display: none;
}
.hero__cinematic-cta {
  display: none;
}
.hero__play::after {
  position: absolute;
  top: 50%;
  left: 54%;
  content: "";
  border-top: .65rem solid transparent;
  border-bottom: .65rem solid transparent;
  border-left: 1rem solid var(--color-gold);
  transform: translate(-50%, -50%);
}
.hero__ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  width: 10rem;
  margin: 1.15rem 0;
}
.hero__ornament span {
  width: 4rem;
  height: 1px;
  background: var(--color-aqua);
}
.hero__ornament b {
  width: .5rem;
  height: .5rem;
  background: var(--color-gold);
  transform: rotate(45deg);
}
.statement__topics {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 58px;
  overflow: hidden;
  padding-inline: clamp(.75rem, 2.0486vw, 1.84375rem);
  background: var(--color-taupe);
}
.statement__topics-inner {
  display: flex;
  align-items: center;
  gap: clamp(2rem, 4.5139vw, 4.0625rem);
  width: 100%;
  max-width: 86.3125rem;
  height: 16.97px;
  white-space: nowrap;
}
.statement__topics span {
  position: relative;
  display: block;
  flex: 0 0 auto;
  height: 12px;
  color: var(--color-white);
  font: 500 clamp(.4rem, .8333vw, .75rem) / 1 var(--font-sans);
  letter-spacing: clamp(2.2px, .2889vw, 4.16px);
  text-transform: uppercase;
}
.statement__topic-link {
  display: block;
  margin-block: -.75rem;
  padding-block: .75rem;
  color: inherit;
  text-decoration: none;
  transition: color .18s ease;
}
.statement__topic-link:hover,
.statement__topic-link:focus-visible {
  color: var(--brand-teal-deep);
}
.statement__topic-link:focus-visible {
  outline: 2px solid var(--brand-teal-deep);
  outline-offset: 3px;
  border-radius: 2px;
}
.statement__topics span:nth-child(1) {
  width: clamp(6rem, 12.5694vw, 11.3125rem);
}
.statement__topics span:nth-child(2) {
  width: clamp(4.8rem, 10vw, 9rem);
}
.statement__topics span:nth-child(3) {
  width: clamp(7.2rem, 15.0694vw, 13.5625rem);
}
.statement__topics span:nth-child(4) {
  width: clamp(5.1rem, 10.6944vw, 9.625rem);
}
.statement__topics span:nth-child(5) {
  width: clamp(7.15rem, 14.9306vw, 13.4375rem);
}
.statement__topics span:nth-child(6) {
  width: clamp(4.85rem, 10.0694vw, 9.0625rem);
}
.statement__topics span:not(:last-child)::after {
  position: absolute;
  top: 50%;
  left: calc(100% + clamp(.6875rem, 1.5278vw, 1.375rem));
  width: clamp(.4375rem, .9431vw, .84875rem);
  height: clamp(.4375rem, .9431vw, .84875rem);
  content: "";
  background: var(--color-gold-figma);
  transform: translateY(-50%) matrix(.78, -.62, .78, .62, 0, 0);
}
.statement__topic-separator {
  display: none;
}
.statement__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(100svh - 58px);
  text-align: center;
}
.statement__line {
  width: 1px;
  height: 1.75rem;
  background: rgba(255, 253, 247, .48);
}
.statement__quote {
  margin: 1.25rem 0;
  font: italic clamp(2rem, 3.2vw, 3.05rem) / 1.24 var(--font-display);
  font-weight: 400;
  letter-spacing: -.035em;
}
.statement__quote span {
  display: block;
}
.statement__quote span:nth-child(2) {
  color: inherit;
}
.statement__quote em {
  color: var(--color-gold-figma);
  font-style: inherit;
}
.statement__brand {
  margin: 2rem 0 0;
  font-size: var(--text-xs);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.about-collection__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.about-collection__portrait {
  min-height: 26rem;
}
.about-collection__portrait img {
  object-position: center 37%;
}
.about-collection__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: none;
  padding: clamp(3rem, 6vw, 6.3rem) clamp(2rem, 4vw, 4.5rem);
}
.about-collection__copy .section-kicker {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 1.5625rem;
  color: var(--brand-teal);
  font: 500 .6875rem / .75rem var(--font-sans);
  letter-spacing: 4.576px;
  text-transform: uppercase;
}
.about-collection__copy .section-kicker > span:first-child {
  flex: 0 0 2rem;
  width: 2rem;
  height: 1px;
  background: currentColor;
}
.about-collection .section-kicker__text {
  flex: 0 0 auto;
  white-space: nowrap;
}
.about-collection h2 em,
.about-collection__signature em {
  color: var(--color-aqua);
  font-style: italic;
}
.about-collection__selected-heading h2 em {
  color: var(--brand-teal);
  font-style: normal;
}
.about-collection__copy h2 > span {
  display: block;
}
.about-collection__body {
  margin-top: 2.1rem;
  color: #5f5a55;
  font-size: clamp(1rem, 1.1vw, 1.1rem);
  line-height: 1.8;
}
.about-collection__body p {
  margin: 0;
}
.about-collection__body p + p {
  margin-top: 1.5rem;
}
.about-collection__signature span {
  display: inline-block;
  width: .85rem;
  height: 1px;
  background: var(--brand-muted);
}
.about-collection__signature {
  display: flex;
  align-items: center;
  gap: .35rem;
  margin: 1.8rem 0 0;
  font: 400 1.1rem var(--font-display);
}
.about-collection__selected {
  padding-block: clamp(3.4rem, 7vw, 6.5rem);
}
.about-collection__selected > .section-kicker {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0;
  color: var(--brand-teal);
  font: 500 .6875rem / .75rem var(--font-sans);
  letter-spacing: 4.576px;
  text-transform: uppercase;
  width: max-content;
}
.about-collection__selected > .section-kicker > span:first-child {
  flex: 0 0 2rem;
  width: 2rem;
  height: 1px;
  background: currentColor;
}
.about-collection__selected-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1.9rem;
}
.about-collection__selected-heading .section-kicker {
  margin-bottom: 1.3rem;
}
.about-collection__products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  width: 100%;
  overflow: hidden;
}
.about-collection__product {
  --preview-hover-scale: 1.06;
  --preview-hover-lift: 12;
  position: relative;
  display: block;
  min-height: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--brand-card);
  color: var(--brand-text);
  text-decoration: none;
  transition: background-color .3s ease;
}
.about-collection__product + .about-collection__product {
  border-left: 1px solid var(--brand-gold);
}
.about-collection__product-copy {
  position: absolute;
  inset: 1.8rem 1rem auto;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--brand-text);
  text-align: center;
}
.about-collection__product-eyebrow,
.about-collection__product-link {
  font: 500 .56rem / 1 var(--font-sans);
  letter-spacing: .34em;
  text-transform: uppercase;
}
.about-collection__product-eyebrow {
  color: var(--brand-teal);
}
.about-collection__product-title {
  margin-top: 1.2rem;
  color: var(--brand-text);
  font: 400 clamp(1.35rem, 1.65vw, 2rem) / 1.05 var(--font-display);
}
.about-collection__product-link {
  margin-top: 1rem;
  color: var(--brand-teal-deep);
}
.about-collection__product-image {
  position: absolute;
  top: 31%;
  right: 0;
  bottom: 5%;
  left: 0;
  z-index: 1;
  display: grid;
  place-items: center;
}
.about-collection__product-image img {
  width: 100%;
  height: 100%;
  max-width: 20rem;
  max-height: 20rem;
  object-fit: contain;
  object-position: center;
  scale: var(--preview-fit-scale, 1);
  translate: var(--preview-fit-x, 0px) var(--preview-fit-y, 0px);
  filter: drop-shadow(0 1.15rem 1.1rem rgb(67 52 30 / 27%));
  transition: transform .5s cubic-bezier(.22, .61, .36, 1);
}
/* Measure the original size, independently of the fit and hover transforms. */
.about-collection__product-image img.is-preview-measuring {
  scale: 1 !important;
  translate: none !important;
  transform: none !important;
  transition: none !important;
}
.about-collection__product:hover,
.about-collection__product:focus-visible {
  background: var(--brand-warm);
}
.about-collection__product:hover .about-collection__product-image img,
.about-collection__product:focus-visible .about-collection__product-image img {
  transform: scale(var(--preview-hover-scale)) translateY(calc(var(--preview-hover-lift) * -1px));
}
@media (prefers-reduced-motion: reduce) {
  .about-collection__product {
    --preview-hover-scale: 1;
    --preview-hover-lift: 0;
    transition: none;
  }
  .about-collection__product-image img {
    transition: none;
  }
}

@media (min-width: 1101px) and (max-width: 1439px) {
  .about-collection__product {
    aspect-ratio: auto;
    min-height: 26.875rem;
  }
}

.experience__image {
  min-height: 42rem;
}
.experience__content {
  display: flex;
  align-items: center;
  padding: clamp(3.5rem, 7vw, 7.5rem) clamp(2rem, 5.3vw, 6rem);
}
.experience__inner {
  width: min(100%, 35rem);
}
.experience__inner > .section-kicker {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 2.4rem;
  color: var(--brand-teal);
  font: 500 .6875rem / .75rem var(--font-sans);
  letter-spacing: 4.576px;
  text-transform: uppercase;
}
.experience__inner > .section-kicker span {
  flex: 0 0 2rem;
  width: 2rem;
  height: 1px;
  background: currentColor;
}
.experience__inner > h2 {
  margin: 0;
  color: var(--brand-text);
  font: 400 clamp(2.5rem, 3.5vw, 4rem) / .95 var(--font-display);
  letter-spacing: 0;
}
.experience__inner > h2 em {
  color: var(--brand-teal);
  font-style: italic;
}
.experience__switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 2.4rem;
  box-shadow: 0 .35rem .8rem rgba(47, 41, 32, .05);
}
.experience__switch-button {
  min-height: 2.8rem;
  border: 0;
  background: var(--color-surface);
  color: var(--color-ink);
  font: 600 var(--text-xs) var(--font-sans);
  letter-spacing: .18em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .25s ease, color .25s ease;
}
.experience__switch-button.is-active {
  background: var(--color-aqua-strong);
  color: var(--color-white);
}
.experience__panels {
  position: relative;
  overflow: hidden;
}
.experience__panel {
  transition: transform .22s cubic-bezier(.22, .61, .36, 1), opacity .22s ease, filter .22s ease;
}
.experience__panel.is-entering {
  position: absolute;
  inset: 0;
  transform: translateX(2.5rem);
  filter: blur(4px);
  opacity: 0;
}
.experience__panel.is-leaving {
  transform: translateX(-1rem) scale(.99);
  filter: blur(4px);
  opacity: 0;
}
@media (prefers-reduced-motion: reduce) {

.experience__panel {
    transition: none;
  }
}
.experience__benefits {
  margin-top: 1.8rem;
}
.experience__benefit {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: .05rem;
  padding: 1.35rem 0;
  border-bottom: 1px solid #d3c9b8;
}
.experience__benefit:first-child {
  padding-top: 0;
}
.experience__number {
  color: var(--color-aqua);
  font: italic 1.45rem / 1 var(--font-display);
}
.experience__benefit h3 {
  margin: 0;
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.experience__benefit p {
  margin: .55rem 0 0;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: 1.6;
}
.experience__actions {
  margin-top: 2.5rem;
}
.experience__actions .button {
  min-width: 10rem;
  padding-block: .9rem;
  font-size: var(--text-xs);
  text-align: center;
}
.experience__actions .collection-link {
  display: grid;
  min-width: 9rem;
  place-items: center;
}
.testimonials__featured {
  display: grid;
  place-items: center;
  padding: 3.5rem 2rem;
  background: #bcb196;
  color: var(--color-on-dark);
  text-align: center;
}
.testimonials__featured-inner {
  max-width: 46rem;
}
.testimonials__quote-mark {
  display: block;
  color: currentColor;
  font: 400 3.1rem / .7 var(--font-display);
}
.testimonials__featured h2 {
  margin: 2.5rem 0 1.7rem;
  font: 400 clamp(1.5rem, 2vw, 2rem) / 1.38 var(--font-display);
  letter-spacing: -.025em;
}
.testimonials__rule {
  display: block;
  width: 2.75rem;
  height: 1px;
  margin: 0 auto 1.7rem;
  background: rgba(255, 253, 248, .75);
}
.testimonials__featured p,
.testimonials__item figcaption {
  margin: 0;
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.testimonials__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.testimonials__item {
  min-height: 0;
  margin: 0;
  padding: 2.75rem clamp(2rem, 5.5vw, 5.8rem) 2.3rem;
  background: #fffdfa;
}
.testimonials__item + .testimonials__item {
  border-left: 1px solid #eee9e0;
}
.testimonials__item .testimonials__quote-mark {
  color: #d8e9e8;
}
.testimonials__item blockquote {
  margin: 2.3rem 0 1.8rem;
  color: #605a52;
  font: italic var(--text-base) / 1.9 var(--font-display);
}
.testimonials__item figcaption {
  display: flex;
  align-items: center;
  gap: .55rem;
  color: var(--color-aqua);
}
.testimonials__item figcaption span {
  width: 1.15rem;
  height: 1px;
  background: currentColor;
}
.closing-cta__content {
  max-width: 34rem;
}
.closing-cta__lead {
  margin: 2.2rem 0 2.7rem;
  font-size: clamp(1rem, 1.15vw, 1.125rem);
  line-height: 1.6;
}
.closing-cta__location {
  margin: 0;
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.closing-cta__actions {
  margin-top: 2.6rem;
}
.closing-cta__actions .button,
.closing-cta__outline {
  min-width: 10rem;
  padding-block: .9rem;
  font-size: var(--text-xs);
  text-align: center;
}
.closing-cta__outline {
  border: 1px solid rgba(255, 253, 248, .7);
  color: var(--color-on-dark);
  letter-spacing: .19em;
  text-transform: uppercase;
}
@media (min-width: 1440px) {

.about-collection__selected.container {
    display: flex;
    flex-direction: column;
    width: min(calc(100% - 9rem), 81rem);
    max-width: 81rem;
    height: 48rem;
    padding: 5rem 0;
    gap: 3.25rem;
  }

.about-collection__selected > .section-kicker {
    flex: 0 0 .8125rem;
    width: max-content;
    height: .8125rem;
    gap: 1rem;
    margin: 0;
    color: var(--brand-teal);
    font: 500 .6875rem / .75rem var(--font-sans);
    letter-spacing: 4.576px;
  }

.about-collection__selected > .section-kicker > span:first-child {
    flex: 0 0 2rem;
    width: 2rem;
  }

.about-collection__selected-heading {
    flex: 0 0 3.8125rem;
    width: 100%;
    height: 3.8125rem;
    align-items: center;
    gap: 0;
    margin: 0;
  }

.about-collection__selected-heading h2 {
    margin: 0;
    color: var(--brand-text);
    font: 400 3.625rem / 3.8125rem var(--font-display);
    letter-spacing: .3997px;
  }

.about-collection__products {
    flex: 0 0 26.875rem;
    height: 26.875rem;
    border: 1px solid var(--brand-gold);
  }

.about-collection__product {
    aspect-ratio: auto;
    min-height: 0;
  }
  /* These product feeds contain source images with tighter transparent crops.
     Limit only the visually dominant desktop cards; the other two keep their
     original scale. */
  .about-collection__product--2 .about-collection__product-image img,
  .about-collection__product--4 .about-collection__product-image img {
    width: 82%;
    height: 82%;
  }


.about-collection__intro {
    grid-template-columns: repeat(2, 1fr);
    height: 47.5rem;
  }

.about-collection__portrait {
    position: relative;
    min-height: 0;
  }

.about-collection__portrait::after {
    position: absolute;
    inset: 0;
    content: "";
    background: rgba(186, 173, 146, .2);
    z-index: 1;
    pointer-events: none;
  }

.about-collection__copy {
    position: relative;
    display: block;
    max-width: none;
    padding: 0;
  }

.about-collection__copy .section-kicker {
    position: absolute;
    top: 3.5rem;
    left: 4.75rem;
    width: auto;
    height: .8125rem;
    gap: 1rem;
    margin: 0;
    color: var(--brand-teal);
    font: 500 .6875rem / .75rem var(--font-sans);
    letter-spacing: 4.576px;
  }

.about-collection__copy .section-kicker > span:first-child {
    flex: 0 0 2rem;
    width: 2rem;
  }

.about-collection__copy h2 {
    position: absolute;
    top: 7.4375rem;
    left: 4.75rem;
    width: 15.5625rem;
    height: 7.625rem;
    margin: 0;
    color: var(--brand-text);
    font: 400 3.625rem / 3.8125rem var(--font-display);
    letter-spacing: 0;
  }

.about-collection__copy h2 > span {
    display: block;
    white-space: nowrap;
  }

.about-collection__body {
    position: absolute;
    top: 18.3125rem;
    left: 4.75rem;
    width: 36.9375rem;
    height: 19.6875rem;
    margin: 0;
    font-size: 1.125rem;
    line-height: 2rem;
    font-variant: normal;
    font-stretch: normal;
  }

.about-collection__body p + p {
    margin-top: 1.5rem;
  }

.about-collection__signature {
    position: absolute;
    top: 40.1875rem;
    left: 4.75rem;
    width: 10.5625rem;
    height: 3.75rem;
    gap: .3125rem;
    margin: 0;
  }

.about-collection__signature span {
    width: 2rem;
  }

.about-collection__signature em {
    display: block;
    flex: 0 0 8.25rem;
    width: 8.25rem;
    height: 3.75rem;
    color: var(--brand-teal);
    font: italic 400 2.0625rem / 3.8125rem var(--font-display);
    white-space: nowrap;
  }

.statement {
    height: 50.125rem;
    min-height: 0;
  }

.statement__content {
    width: min(calc(100% - 3rem), 52.5rem);
    height: 46.5rem;
    min-height: 46.5rem;
    padding: 0;
    gap: 1.3125rem;
  }

.statement__line {
    flex: 0 0 4.0625rem;
    width: 1px;
    height: 4.0625rem;
    background: linear-gradient(to bottom, transparent 0%, rgba(255, 255, 255, .48) 100%);
  }

.statement__quote + .statement__line {
    background: linear-gradient(to bottom, rgba(255, 255, 255, .48) 0%, transparent 100%);
  }

.statement__quote {
    align-self: stretch;
    width: 100%;
    height: 11.4375rem;
    margin: 0;
    font-size: 2.625rem;
    line-height: 3.8125rem;
    font-variant: normal;
    font-stretch: normal;
  }

.statement__brand {
    width: 19.625rem;
    height: .6875rem;
    margin: 0;
    font-size: .6875rem;
    line-height: .6875rem;
    font-variant: normal;
    font-stretch: normal;
    white-space: nowrap;
  }

.experience {
    height: 47.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

.experience__image {
    min-height: 0;
  }

.experience__content {
    position: relative;
    display: block;
    padding: 0;
  }

.experience__inner {
    width: 100%;
    height: 100%;
  }

.experience__inner > .section-kicker {
    position: absolute;
    top: 4.125rem;
    left: 4.8125rem;
    width: 12.1875rem;
    height: .8125rem;
    gap: 1rem;
    margin: 0;
    color: var(--brand-teal);
    font: 500 .6875rem / .75rem var(--font-sans);
    letter-spacing: 4.576px;
    white-space: nowrap;
  }

.experience__inner > .section-kicker span {
    flex: 0 0 2rem;
    width: 2rem;
  }

.experience__inner > h2 {
    position: absolute;
    top: 6.5rem;
    left: 4.8125rem;
    width: calc(100% - 4.8125rem);
    height: 7.625rem;
    margin: 0;
    font-size: clamp(2.5rem, 3vw, 3.625rem);
    line-height: 1.052;
    font-variant: normal;
    font-stretch: normal;
  }

.experience__inner > h2 > span {
    display: block;
    white-space: normal;
    overflow-wrap: anywhere;
  }

.experience__switch {
    position: absolute;
    top: 16.375rem;
    left: 4.8125rem;
    width: 35.5rem;
    height: 2.75rem;
    margin: 0;
  }

.experience__switch-button {
    min-height: 2.75rem;
    padding: 0;
    font-size: .625rem;
    line-height: .6875rem;
    font-variant: normal;
    font-stretch: normal;
  }

.experience__panels {
    position: absolute;
    top: 22.375rem;
    left: 4.8125rem;
    width: 35.5rem;
    overflow: visible;
  }

.experience__benefits {
    display: flex;
    flex-direction: column;
    gap: 1.5625rem;
    margin: 0;
  }

.experience__benefit {
    grid-template-columns: 2.4375rem 1fr;
    gap: 0;
    height: 4rem;
    padding: 0;
  }

.experience__benefit:nth-child(3) {
    height: 5.3125rem;
  }

.experience__number {
    font-size: 1.75rem;
    line-height: 1.75rem;
    font-variant: normal;
    font-stretch: normal;
  }

.experience__benefit h3 {
    font-size: .8125rem;
    line-height: .8125rem;
    font-variant: normal;
    font-stretch: normal;
  }

.experience__benefit p {
    margin-top: .6875rem;
    font-size: .6875rem;
    line-height: 1.1875rem;
    font-variant: normal;
    font-stretch: normal;
  }

.experience__actions {
    position: absolute;
    top: 41.9375rem;
    left: 4.8125rem;
    display: flex;
    gap: 1.375rem;
    width: 24.8125rem;
    height: 2.625rem;
    margin: 0;
  }

.experience__actions .button,
  .experience__actions .collection-link {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    height: 2.625rem;
    min-width: 0;
    padding: 0;
    font: 500 .625rem / .6875rem var(--font-sans);
    letter-spacing: 3.7px;
  }

.experience__actions .button {
    width: 12.4375rem;
  }

.experience__actions .collection-link {
    width: 11rem;
  }

.testimonials {
    display: block;
    min-height: 0;
  }

.testimonials__featured {
    position: relative;
    display: block;
    height: 620px;
    padding: 0;
    background: #baad92;
  }

.testimonials__featured-inner {
    width: 100%;
    max-width: none;
    height: 100%;
  }

.testimonials__featured .testimonials__quote-mark {
    position: absolute;
    top: 118px;
    left: 50%;
    width: 40px;
    height: 50px;
    color: #fff;
    font: 400 96px / 96px var(--font-display);
    text-align: center;
    transform: translateX(-50%);
  }

.testimonials__featured h2 {
    position: absolute;
    top: calc(50% - 81px + 11px);
    left: 50%;
    width: 916px;
    height: 162px;
    margin: 0;
    font-size: 32px;
    line-height: 54px;
    font-variant: normal;
    font-stretch: normal;
    transform: translateX(-50%);
  }

  /* Let the quote wrap into the three lines reserved by the desktop artboard. */
  .testimonials__featured .testimonials__desktop-break {
    display: none;
  }

.testimonials__rule {
    position: absolute;
    top: 446px;
    left: 50%;
    width: 70px;
    height: 0;
    margin: 0;
    border: 1px solid #fbf8f3;
    transform: translateX(-50%);
  }

.testimonials__featured p {
    position: absolute;
    top: 494.1px;
    left: 50%;
    width: 508px;
    height: 8px;
    margin: 0;
    color: #fff;
    font: 500 11px / 11px var(--font-sans);
    letter-spacing: 4.84px;
    text-align: center;
    transform: translateX(-50%);
    white-space: nowrap;
  }

.testimonials__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: 24.375rem;
  }

.testimonials__item {
    position: relative;
    height: 24.375rem;
    margin: 0;
    padding: 0;
  }

.testimonials__item + .testimonials__item {
    border-left: 0;
  }

.testimonials__item .testimonials__quote-mark {
    position: absolute;
    top: 3.1875rem;
    left: 4.5rem;
    width: 2.5rem;
    height: 3.125rem;
    font-size: 6rem;
    line-height: 6rem;
    font-variant: normal;
    font-stretch: normal;
  }

.testimonials__item blockquote {
    position: absolute;
    top: 10.1875rem;
    left: 4.5rem;
    width: 35.0625rem;
    height: 7.1875rem;
    margin: 0;
    font-size: 1rem;
    line-height: 2.4375rem;
    font-variant: normal;
    font-stretch: normal;
  }

.testimonials__item figcaption {
    position: absolute;
    top: 20.5rem;
    left: 4.5rem;
    gap: .625rem;
    width: 15.0625rem;
    height: .5rem;
    font-size: .6875rem;
    line-height: .6875rem;
    font-variant: normal;
    font-stretch: normal;
    white-space: nowrap;
  }

.testimonials__item figcaption span {
    flex: 0 0 2rem;
    width: 2rem;
    border-top: 1px solid var(--brand-teal);
  }

.testimonials__item:nth-child(2) blockquote {
    top: 10.75rem;
    width: calc(100% - 7.75rem);
    height: 4.875rem;
  }

.testimonials__item:nth-child(2) figcaption {
    top: 19.875rem;
    width: 17.1875rem;
  }

.closing-cta {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: 38.75rem;
    min-height: 0;
    padding: 0;
  }

.closing-cta h2 {
    position: absolute;
    top: 10.25rem;
    left: 4.5rem;
    width: 34rem;
    height: 17.625rem;
    margin: 0;
    font-size: 5.75rem;
    line-height: 5.875rem;
    font-variant: normal;
    font-stretch: normal;
  }

.closing-cta__content {
    position: absolute;
    top: 9.375rem;
    left: calc(50% + 4.5rem);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3.5625rem;
    width: 34rem;
    height: 20.0625rem;
    max-width: none;
  }

.closing-cta .section-kicker {
    flex: 0 0 .8125rem;
    width: 8.75rem;
    height: .8125rem;
    gap: 1rem;
    margin: 0;
    font-size: .6875rem;
    line-height: .75rem;
    font-variant: normal;
    font-stretch: normal;
    white-space: nowrap;
  }

.closing-cta .section-kicker span {
    flex: 0 0 2rem;
    width: 2rem;
    background: #fff;
  }

.closing-cta__lead {
    flex: 0 0 3.9375rem;
    width: 34rem;
    height: 3.9375rem;
    margin: 0;
    font-size: 1.125rem;
    line-height: 2rem;
    font-variant: normal;
    font-stretch: normal;
  }

.closing-cta__location {
    flex: 0 0 2rem;
    width: 31.5rem;
    height: 2rem;
    margin: 0;
    font-size: .6875rem;
    line-height: 2rem;
    font-variant: normal;
    font-stretch: normal;
    white-space: nowrap;
  }

.closing-cta__actions {
    display: flex;
    gap: 1.375rem;
    width: 31.125rem;
    height: 2.625rem;
    margin: 0;
  }

.closing-cta__actions .button,
  .closing-cta__outline {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    height: 2.625rem;
    min-width: 0;
    padding: 0;
    font: 500 .625rem / .6875rem var(--font-sans);
    letter-spacing: 3.7px;
  }

.closing-cta__actions .button {
    width: 15.125rem;
  }

.closing-cta__outline {
    width: 14.625rem;
  }
}
.about-collection__copy {
  background: var(--brand-cream);
}
.about-collection__body {
  color: var(--brand-text-mid);
  font-family: var(--font-sans);
  font-weight: 400;
  font-style: normal;
}
.about-collection__signature span {
  background: var(--brand-muted);
}
.statement__quote {
  color: var(--color-white);
  font-family: var(--font-display);
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0;
}
.statement__quote span:nth-child(2) {
  color: var(--color-white);
}
.statement__quote em {
  color: var(--color-gold-figma);
}
.statement__brand {
  color: var(--color-white);
  font-family: var(--font-sans);
  font-weight: 500;
  font-style: normal;
  letter-spacing: 4.84px;
}
.hero__eyebrow {
  font-family: var(--font-sans);
  font-weight: 500;
  font-style: normal;
  letter-spacing: 5.01px;
}
.hero__title {
  letter-spacing: 0;
}
.experience__content {
  background: var(--brand-warm);
}
.experience__inner > h2 {
  color: var(--brand-text);
  font-family: var(--font-display);
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0;
}
.experience__switch {
  box-shadow: none;
}
.experience__switch-button {
  background: var(--brand-cream);
  color: var(--brand-text);
  font-family: var(--font-sans);
  font-weight: 500;
  font-style: normal;
  letter-spacing: 3.7px;
}
.experience__switch-button.is-active {
  background: var(--brand-teal);
  color: #FFFFFF;
}
.experience__benefit {
  border-color: var(--brand-stone);
}
.experience__number {
  font-family: var(--font-display);
  font-weight: normal;
  font-style: italic;
}
.experience__benefit h3 {
  font-family: var(--font-sans);
  font-weight: 500;
  font-style: normal;
  letter-spacing: 2.88px;
}
.experience__benefit p {
  font-family: var(--font-sans);
  font-weight: 400;
  font-style: normal;
}
.experience__actions .collection-link {
  border-color: var(--brand-gold);
  color: var(--brand-text);
}
.testimonials__featured {
  background: #baad92;
}
.testimonials__featured h2 {
  color: #fff;
  font-family: var(--font-display);
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0;
}
.testimonials__rule {
  background: #fbf8f3;
}
.testimonials__list {
  background: #fff;
}
.testimonials__item {
  background: rgba(251, 248, 243, .9);
}
.testimonials__item + .testimonials__item {
  background: rgba(242, 235, 224, .9);
}
.testimonials__item .testimonials__quote-mark {
  color: #C7D6D4;
  font-family: var(--font-display);
  font-weight: 400;
  font-style: normal;
  text-align: center;
}
.testimonials__item blockquote {
  color: var(--brand-text);
  font-family: var(--font-display);
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0;
}
.testimonials__item figcaption {
  color: var(--brand-teal);
  font-family: var(--font-sans);
  font-weight: 500;
  font-style: normal;
  letter-spacing: 4.84px;
}
.testimonials__item figcaption span {
  background: none;
}
.closing-cta__lead {
  color: #fff;
  font-family: var(--font-sans);
  font-weight: 400;
  font-style: normal;
}
.closing-cta__location {
  color: var(--brand-cream);
  font-family: var(--font-sans);
  font-weight: 400;
  font-style: normal;
  letter-spacing: 2.5984px;
}
.closing-cta__outline {
  border-color: #fff;
  color: #fff;
}
@media (min-width: 1440px) {
  .statement__topics-inner {
    justify-content: space-between;
    gap: 0;
  }

  .statement__topics span {
    width: auto !important;
  }

  .statement__topics span::after {
    display: none;
  }

  .statement__topic-separator {
    display: block;
    flex: 0 0 clamp(.4375rem, .9431vw, .84875rem);
    width: clamp(.4375rem, .9431vw, .84875rem);
    height: clamp(.4375rem, .9431vw, .84875rem);
    background: var(--color-gold-figma);
    transform: matrix(.78, -.62, .78, .62, 0, 0);
  }
}
@media (max-width: 1439px) {

.statement__topics {
    height: auto;
    min-height: 58px;
    padding-block: 1rem;
    overflow: visible;
  }

.statement__topics-inner {
    flex: 0 1 auto;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    height: auto;
    white-space: normal;
  }

.statement__topics span {
    width: auto !important;
    height: auto;
    font-size: .75rem;
    letter-spacing: 4.16px;
    white-space: nowrap;
  }
}
@media (min-width: 701px) and (max-width: 1439px) {

.hero__video-stage {
    height: 20.75rem;
    margin-top: 1.4375rem;
  }

.hero__video-placeholder {
    border-width: 3px;
  }

.hero__play {
    width: 5.3125rem;
    height: 5.3125rem;
    border: 2px solid var(--color-gold-figma);
    background: var(--color-white);
  }

.hero__play::after {
    left: 52%;
    width: 2.4375rem;
    height: 2.4375rem;
    border: 0;
    background: var(--color-gold-figma);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }

.hero .button {
    display: grid;
    place-items: center;
    width: 16.25rem;
    height: 2.625rem;
    padding: 0;
    font: 500 .625rem / .6875rem var(--font-sans);
    letter-spacing: 3.7px;
  }

  /* Preserve the desktop Experience composition below the fixed 1440 px artboard. */
  .experience {
    min-height: 47.5rem;
  }

  .experience__image,
  .experience__content {
    min-height: 47.5rem;
  }

  .experience__content {
    display: flex;
    align-items: flex-start;
    padding: clamp(3rem, 4.583vw, 4.125rem) clamp(3rem, 4.583vw, 4.125rem) 3rem;
  }

  .experience__inner {
    width: 100%;
    max-width: none;
  }

  .experience__inner > .section-kicker {
    margin-bottom: 1.5625rem;
  }

  .experience__inner > h2 {
    font-size: clamp(2.75rem, 4.028vw, 3.625rem);
    line-height: 1.052;
  }

  .experience__inner > h2 > span {
    display: block;
    white-space: normal;
  }

  .experience__switch {
    min-height: 2.75rem;
    margin-top: 2.5rem;
  }

  .experience__switch-button {
    min-height: 2.75rem;
    font-size: .625rem;
    line-height: .6875rem;
  }

  .experience__panels {
    margin-top: 3.25rem;
  }

  .experience__benefits {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin: 0;
  }

  .experience__benefit {
    grid-template-columns: 2.4375rem minmax(0, 1fr);
    gap: 0;
    min-height: 4rem;
    padding: 0 0 1.125rem;
  }

  .experience__benefit:nth-child(3) {
    min-height: 5.3125rem;
  }

  .experience__number {
    font-size: 1.75rem;
    line-height: 1.75rem;
  }

  .experience__benefit h3 {
    font-size: .8125rem;
    line-height: .8125rem;
  }

  .experience__benefit p {
    margin-top: .6875rem;
    font-size: .6875rem;
    line-height: 1.1875rem;
  }

  .experience__actions {
    display: flex;
    gap: 1.375rem;
    margin-top: 3.375rem;
  }

  .experience__actions .button,
  .experience__actions .collection-link {
    display: grid;
    min-height: 2.625rem;
    padding: 0;
    place-items: center;
    font: 500 .625rem / .6875rem var(--font-sans);
    letter-spacing: 3.7px;
  }

  .closing-cta {
    min-height: 38.75rem;
    padding: 0;
  }

  .closing-cta h2 {
    align-self: center;
    margin: 0 0 0 clamp(3rem, 5vw, 4.5rem);
    font-size: clamp(4rem, 6.389vw, 5.75rem);
    line-height: 1.022;
    transform: translateY(-.3125rem);
  }

  .closing-cta__content {
    align-self: center;
    width: 75.556%;
    max-width: none;
    margin-left: 10%;
  }

  .closing-cta__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3.5625rem;
  }

  .closing-cta__lead {
    width: 100%;
    margin: 0;
    font-size: clamp(.875rem, 1.25vw, 1.125rem);
    line-height: 2rem;
  }

  .closing-cta__location {
    margin: 0;
    font-size: clamp(.625rem, .764vw, .6875rem);
    line-height: 2rem;
    letter-spacing: clamp(2px, .18vw, 2.5984px);
    white-space: normal;
  }

  .closing-cta__actions {
    display: grid;
    grid-template-columns: 1.034fr 1fr;
    gap: 1.375rem;
    width: 91.544%;
    margin: 0;
  }

  .closing-cta__actions .button,
  .closing-cta__outline {
    display: grid;
    width: 100%;
    min-width: 0;
    height: 2.625rem;
    padding: 0;
    place-items: center;
    font: 500 .625rem / .6875rem var(--font-sans);
    letter-spacing: 3.7px;
  }
}
@media (max-width: 900px) {

.hero {
    min-height: calc(100svh - 4.8rem);
  }

.hero__title em {
    white-space: normal;
  }

  .experience__inner > h2 > span {
    white-space: normal;
  }
}
@media (max-width: 1100px) {

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

.about-collection__product {
    min-height: 0;
  }

.about-collection__product:nth-child(3) {
    border-left: 0;
    border-top: 1px solid var(--brand-gold);
  }

.about-collection__product:nth-child(4) {
    border-top: 1px solid var(--brand-gold);
  }
}

@media (min-width: 701px) and (max-width: 1100px) {
  /* Two-column tablet cards are narrower than the desktop artboard. Scale the
     ring images to stay inside each card, as they already do on phones. */
  .home .about-collection__product-image {
    top: 34%;
    bottom: 9%;
  }

  .home .about-collection__product-image img {
    width: 82%;
    height: 82%;
    max-width: 16rem;
    max-height: 16rem;
  }
}

/* Keep the 1440 px Collection artboard structure on smaller desktop screens. */
@media (min-width: 901px) and (max-width: 1439px) {

  .testimonials__rule {
    width: 4.375rem;
    height: 1px;
    background: none;
    border-top: 1px solid var(--brand-cream);
  }

  .about-collection__intro {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: 47.5rem;
  }

  .about-collection__portrait {
    min-height: 0;
  }

  .about-collection__copy {
    position: relative;
    display: block;
    padding: 0;
  }

  .about-collection__copy .section-kicker {
    position: absolute;
    top: clamp(3rem, 3.889vw, 3.5rem);
    left: clamp(3rem, 5.278vw, 4.75rem);
    margin: 0;
  }

  .about-collection__copy h2 {
    position: absolute;
    top: clamp(6rem, 8.264vw, 7.4375rem);
    left: clamp(3rem, 5.278vw, 4.75rem);
    width: 15.5625rem;
    margin: 0;
    color: var(--brand-text);
    font: 400 clamp(3rem, 4.028vw, 3.625rem) / 1.052 var(--font-display);
  }

  .about-collection__copy h2 > span {
    white-space: nowrap;
  }

  .about-collection__body {
    position: absolute;
    top: clamp(15rem, 20.347vw, 18.3125rem);
    left: clamp(3rem, 5.278vw, 4.75rem);
    width: calc(100% - clamp(8rem, 8.958vw, 8.0625rem));
    margin: 0;
    font-size: clamp(1rem, 1.25vw, 1.125rem);
    line-height: 1.7778;
  }

  .about-collection__signature {
    position: absolute;
    top: clamp(34rem, 44.653vw, 40.1875rem);
    left: clamp(3rem, 5.278vw, 4.75rem);
    margin: 0;
  }

  .about-collection__selected.container {
    display: flex;
    flex-direction: column;
    width: calc(100% - 10vw);
    max-width: none;
    min-height: 48rem;
    padding: 5rem 0;
    gap: 3.25rem;
  }

  .about-collection__selected > .section-kicker {
    flex: 0 0 .8125rem;
    width: max-content;
    height: .8125rem;
  }

  .about-collection__selected-heading {
    flex: 0 0 3.8125rem;
    width: 100%;
    height: 3.8125rem;
    align-items: center;
    gap: 0;
    margin: 0;
  }

  .about-collection__selected-heading h2 {
    margin: 0;
    color: var(--brand-text);
    font: 400 clamp(3rem, 4.028vw, 3.625rem) / 1.052 var(--font-display);
    letter-spacing: .3997px;
  }

  .about-collection__selected-heading .collection-link {
    display: grid;
    width: clamp(12rem, 18.056vw, 16.25rem);
    height: 2.625rem;
    min-width: 0;
    padding: 0;
    place-items: center;
    font: 500 .625rem / .6875rem var(--font-sans);
    letter-spacing: 3.7px;
  }

  .about-collection__products {
    flex: 0 0 26.875rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    height: 26.875rem;
  }

  .about-collection__product {
    min-height: 0;
    aspect-ratio: auto;
  }

  .about-collection__product:nth-child(3),
  .about-collection__product:nth-child(4) {
    border-top: 0;
    border-left: 1px solid var(--brand-gold);
  }
}

@media (max-width: 700px) {
  /* Product imagery varies in how tightly its transparent canvas is cropped.
     Keep even the tallest ring sets clear of the next card on every phone. */
  .home .about-collection__product-image {
    top: 34%;
    bottom: 9%;
  }

  .home .about-collection__product-image img {
    width: 82%;
    height: 82%;
    max-width: 16rem;
    max-height: 16rem;
  }

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

.about-collection__product {
    min-height: 0;
  }

.about-collection__product:nth-child(3) {
    border-left: 0;
    border-top: 1px solid var(--brand-gold);
  }

.about-collection__product:nth-child(4) {
    border-top: 1px solid var(--brand-gold);
  }

.about-collection__product-copy {
    inset: 1.5rem .65rem auto;
  }

.about-collection__product-title {
    font-size: clamp(1.3rem, 5vw, 1.8rem);
  }

.about-collection__product-image {
    top: 34%;
  }

.hero__video-stage {
    align-self: center;
    width: min(calc(100% - 2rem), 25rem);
    height: clamp(21.6rem, 114vw, 31.2rem);
    min-height: 0;
    margin-top: 1.35rem;
    aspect-ratio: auto;
  }

.hero__play {
    width: 4.25rem;
    height: 4.25rem;
    border: 2px solid var(--color-gold-figma);
    background: var(--color-white);
  }

.hero__play::after {
    left: 52%;
    width: 1.95rem;
    height: 1.95rem;
    border: 0;
    background: var(--color-gold-figma);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }

.hero .button {
    display: grid;
    width: min(100%, 16.25rem);
    min-height: 2.625rem;
    place-items: center;
  }

.statement__quote {
    padding-inline: 1rem;
    font-size: clamp(1.75rem, 8vw, 2.5rem);
  }

.statement__brand {
    font-size: var(--text-xs);
    letter-spacing: .16em;
  }

.about-collection__intro {
    grid-template-columns: 1fr;
  }

.experience {
    grid-template-columns: 1fr;
  }

.experience__image {
    min-height: min(125vw, 42rem);
  }

.experience__inner {
    width: 100%;
  }

.experience__inner > h2 {
    font-size: clamp(2.2rem, 9.5vw, 3rem);
  }

.experience__inner > h2 > span {
    display: block;
  }

.experience__inner > h2 > span:last-child em {
    display: block;
  }

.testimonials__list {
    grid-template-columns: 1fr;
  }

.testimonials {
    grid-template-rows: auto auto;
  }

.testimonials__item {
    min-height: 15.2rem;
  }

.testimonials__item + .testimonials__item {
    border-top: 1px solid #eee9e0;
    border-left: 0;
  }

.about-collection__portrait {
    min-height: min(130vw, 42rem);
  }

.about-collection__copy {
    max-width: none;
    padding-inline: 2rem;
  }

.closing-cta {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
    min-height: auto;
  }
}
@media (max-width: 700px) {

.about-collection__selected {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "kicker"
      "heading"
      "products"
      "cta";
  }

.about-collection__selected > .section-kicker {
    grid-area: kicker;
    margin-bottom: 1.5625rem;
  }

.about-collection__selected-heading {
    display: contents;
  }

.about-collection__selected-heading h2 {
    grid-area: heading;
  }

  .about-collection__selected-heading .collection-link {
    grid-area: cta;
    width: 100%;
    justify-self: stretch;
    margin-top: 1.5rem;
  }

.about-collection__products {
    grid-template-columns: 1fr;
    grid-area: products;
    margin-top: 1.9rem;
  }

.about-collection__product + .about-collection__product,
  .about-collection__product:nth-child(3),
  .about-collection__product:nth-child(4) {
    border-top: 1px solid var(--brand-gold);
    border-left: 0;
  }

.about-collection__product-image {
    top: 32%;
  }
}
@media (max-width: 560px) {

  /* One-column product cards are large enough that source images with a
     tight transparent canvas can touch the card edge. Reserve a little room
     for the object and its shadow instead of clipping either one. */
  .about-collection__product-image {
    top: 34%;
    bottom: 7%;
  }

  .about-collection__product-image img {
    width: 88%;
    height: 88%;
    max-width: 18rem;
    max-height: 18rem;
  }

.hero__eyebrow {
    max-width: 20rem;
    font-size: var(--text-xs);
    line-height: 1.7;
    letter-spacing: .3em;
  }

.about-collection__selected-heading {
    align-items: flex-start;
    flex-direction: column;
  }

.testimonials__desktop-break {
    display: none;
  }
}

/* One fluid desktop composition, including either side of the 1440px breakpoint.
   Let longer copy grow the introduction instead of shrinking or clipping it. */
@media (min-width: 901px) {
  .hero {
    min-height: calc(90svh - 5.55rem);
  }

  .hero__content {
    width: min(calc(100% - 3rem), 55.875rem);
    height: auto;
    gap: clamp(.875rem, 1.3889vw, 1.25rem);
    padding-block: clamp(3rem, 4.4444vw, 4rem);
  }

  .hero__content > * {
    flex-shrink: 0;
  }

  .hero__eyebrow {
    align-self: stretch;
    margin: 0;
    font-size: .75rem;
    line-height: 1.5;
  }

  .hero__mark {
    margin: 0;
  }

  .hero__title {
    width: 100%;
    font-size: clamp(3.7rem, 6.6667vw, 6rem);
    line-height: 1.041667;
  }

  .hero__video-stage {
    width: 100%;
    height: clamp(15rem, 23.0556vw, 20.75rem);
    margin: 0;
  }

  .hero__video-placeholder {
    border-width: 3px;
  }

  .hero__play {
    width: 5.3125rem;
    height: 5.3125rem;
    border: 2px solid var(--color-gold-figma);
    background: var(--color-white);
  }

  .hero__play::after {
    left: 52%;
    width: 2.4375rem;
    height: 2.4375rem;
    border: 0;
    background: var(--color-gold-figma);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }

  .hero__ornament {
    width: 11.3125rem;
    height: 1.060625rem;
    margin: 0;
    gap: .84375rem;
  }

  .hero__ornament span {
    width: 4.4375rem;
  }

  .hero__ornament b {
    width: .75rem;
    height: .75rem;
  }

  .hero .button {
    display: grid;
    place-items: center;
    width: 16.25rem;
    height: 2.625rem;
    padding: 0;
    font: 500 .625rem / .6875rem var(--font-sans);
    letter-spacing: 3.7px;
  }
}

/*
 * Homepage legibility: body copy starts at 16px, controls at 14px and
 * supporting labels at 12–13px. These values preserve the display type scale
 * while preventing the 9–11px text used in the original artboard.
 */
.home .hero__eyebrow,
.home .statement__topics span,
.home .statement__brand,
.home :is(.about-collection__copy, .about-collection__selected, .experience__inner, .closing-cta, .home-film) .section-kicker,
.home .testimonials__featured p,
.home .testimonials__item figcaption,
.home .closing-cta__location {
  font-size: .8125rem;
  line-height: 1.35;
  /* This is padding rather than a margin so the extra space is retained in
     both the desktop flex layout and the stacked mobile layout. */
  padding-block: .75rem;
}

.home .closing-cta .section-kicker {
  padding-bottom: .75rem;
}

.home .statement__topics span {
  /* Topic labels share a flex row with geometric separators. Vertical
     padding inside the fixed 12px artboard height pushed the glyphs below
     the separators' centre. Let their line box define their actual height. */
  height: auto;
  padding-block: 0;
  letter-spacing: .22em;
}

.home .about-collection__product-eyebrow,
.home .about-collection__product-link {
  font-size: .75rem;
  line-height: 1.35;
  letter-spacing: .18em;
}

.home :is(.button, .collection-link, .experience__switch-button, .closing-cta__outline, .hero__cinematic-cta) {
  font-size: .875rem;
  line-height: 1.25;
  letter-spacing: .12em;
}

.home .experience__benefit h3 {
  font-size: .875rem;
  line-height: 1.35;
  letter-spacing: .1em;
}

.home .experience__benefit p {
  font-size: 1rem;
  line-height: 1.55;
}

.home .primary-navigation a,
.home .header-appointment,
.home .menu-toggle {
  font-size: .875rem;
  line-height: 1.25;
}

.home .brand__place {
  font-size: .8125rem;
  line-height: 1.25;
}

.home .brand__name {
  font-size: .875rem;
  line-height: 1.25;
}

/* The original 64px Figma rows only fit its 11px, one-line descriptions.
   Keep the rule below the complete description when text wraps at readable sizes. */
@media (min-width: 1440px) {
  /* The benefit copy uses the readable homepage type scale below (16px),
     rather than the 11px one-line Figma copy. Reintroduce the breathing room
     around each rule so the larger text keeps the original section rhythm. */
  .home .experience {
    height: auto;
    min-height: 54rem;
  }

  /* Let all four benefits and the actions define the section height. */
  .home .experience__inner {
    height: auto;
    min-height: 100%;
    padding: 22.625rem 4.8125rem 4rem;
  }

  .home .experience__switch {
    top: 16.625rem;
  }

  .home .experience__panels {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
  }

  .home .experience__benefits {
    gap: 1.25rem;
  }

  .home .experience__benefit,
  .home .experience__benefit:nth-child(3) {
    height: auto;
    min-height: 0;
    padding-bottom: 1.125rem;
  }

  .home .experience__actions {
    position: static;
    height: auto;
    margin-top: 2.5rem;
  }

  /* The desktop testimonial uses fixed artboard coordinates. Its visible
     quotation mark begins lower inside its line box, so the section needs the
     same additional space below the attribution as appears above the mark. */
  .home .testimonials__featured {
    height: 40.1875rem;
  }

  /* Unlike tablet and mobile, the large desktop composition is absolutely
     positioned. Centre the full, growing content block instead of retaining
     a fixed top coordinate so its outer whitespace remains equal. */
  .home .closing-cta__content {
    top: 50%;
    height: auto;
    transform: translateY(-50%);
  }
}

/* Keep the action area comfortable at every two-column/tablet width. The
   readable control type needs real side padding; the original fixed-artboard
   rules had none, so labels could touch the button edges on narrow screens. */
@media (min-width: 701px) and (max-width: 1439px) {
  .home .experience__content {
    padding-bottom: 3.375rem;
  }

  .home .experience__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .home .experience__actions .button,
  .home .experience__actions .collection-link {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding-inline: 1.25rem;
    font-size: clamp(.75rem, 1.1vw, .875rem);
    line-height: 1.25;
    letter-spacing: .12em;
    white-space: nowrap;
  }
}

@media (max-width: 900px) {
  .home .statement__topics-inner {
    row-gap: 0;
  }

  .home .hero__title {
    line-height: .98;
  }

  .home .hero__ornament b {
    width: .875rem;
    height: .875rem;
  }
}

@media (max-width: 700px) {

  /* Decorative rules beside the mobile section labels. */
  .home .section-kicker > span:first-child {
    display: none;
  }

  /* Start each mobile benefit rule at the text column, not below its Roman
     numeral. Its right edge stays exactly where the original full-width rule
     ended. */
  .home .experience__benefit {
    position: relative;
    border-bottom: 0;
  }

  .home .experience__benefit::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: calc(2rem + .05rem);
    height: 1px;
    content: "";
    background: var(--brand-stone);
  }

  .home .experience__actions,
  .home .closing-cta__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .home .experience__actions .button,
  .home .experience__actions .collection-link,
  .home .closing-cta__actions .button,
  .home .closing-cta__outline {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
  }

  .home .site-footer__bottom small {
    font-size: .8125rem;
    line-height: 1.5;
  }
}

@media (max-width: 360px) {
  .home .closing-cta h2 { font-size: 2.75rem; }
}

/* Keep the full desktop width and reveal more vertical video content. */
@media (min-width: 901px) {
  .hero__video-stage {
    height: clamp(22.5rem, 34.5834vw, 31.125rem);
  }
  .hero__video {
    object-fit: cover;
  }
}

/* The desktop header carries the identity; start the hero with its main title. */
@media (min-width: 901px) {
  .hero__eyebrow,
  .hero__mark {
    display: none;
  }

  .hero__content {
    justify-content: flex-start;
    padding-block-start: clamp(1.75rem, 2.7778vw, 2.5rem);
  }
}

/* Keep the previews under the introduction on every screen size. */
.about-collection__selected.is-preview-in-hero {
  display: none;
}

@media (min-width: 901px) {
  .hero__content > .about-collection__products {
    flex: 0 0 auto;
    width: 100%;
    height: clamp(18rem, 23vw, 20.5rem);
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .hero .about-collection__product {
    min-height: 0;
    aspect-ratio: auto;
  }

  .hero .about-collection__product-copy {
    inset: 1rem .5rem auto;
  }

  .hero .about-collection__product-title {
    margin-top: .65rem;
    font-size: clamp(1.125rem, 1.5vw, 1.5rem);
    line-height: 1.1;
  }

  .hero .about-collection__product-link {
    margin-top: .65rem;
  }

  .hero .about-collection__product-image {
    top: 42%;
    bottom: 5%;
  }
}

/* Omit the repeated jewellery label in the four hero previews. */
@media (min-width: 901px) {
  .hero .about-collection__product-eyebrow {
    display: none;
  }
}

/* Static award badges above the desktop and laptop hero title. */
.hero__awards {
  display: none;
}

/* Give the original portrait film its own place below the introduction. */
.home-film { background: var(--brand-cream); border-top: 1px solid var(--brand-stone-pale); }
.home-film__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 28rem);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
  max-width: 76rem;
  padding-block: clamp(4rem, 7vw, 7rem);
}
.home-film__copy h2 {
  margin: 1.5rem 0;
  font: 400 clamp(2.75rem, 4.8vw, 4.75rem)/1.12 var(--font-display);
  letter-spacing: -.025em;
}
.home-film__copy h2 em { color: var(--brand-teal-deep); font-weight: 400; }
.home-film .section-kicker { display: flex; align-items: center; gap: 1rem; margin: 0; color: var(--brand-teal); font-family: var(--font-sans); font-weight: 500; letter-spacing: 4.576px; text-transform: uppercase; }
.home-film .section-kicker > span:first-child { flex: 0 0 2rem; width: 2rem; height: 1px; background: currentColor; }
.home-film .section-kicker__text { min-width: 0; }
.home-film__description { max-width: 29rem; margin: 0 0 2rem; color: var(--brand-text-mid); font-size: 1.0625rem; line-height: 1.85; }
.home-film .home-film__media.hero__video-stage {
  width: 100%;
  height: auto;
  min-height: 0;
  margin: 0;
  aspect-ratio: 9 / 16;
}
.home-film .hero__video { object-fit: contain; }
.home-film .hero__video-placeholder { border: 1px solid var(--brand-gold); }
.home-film .hero__play[hidden] { display: none; }
@media (max-width: 900px) {
  .home-film__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .home-film .home-film__media.hero__video-stage { width: min(100%, 28rem); justify-self: center; }
}

@media (min-width: 901px) {
  .hero__awards {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    max-width: 100%;
  }

  .hero__award {
    display: block;
    width: clamp(10rem, 14vw, 12.5rem);
    height: auto;
    object-fit: contain;
  }

  .hero__title {
    font-size: clamp(3rem, 5.3333vw, 4.75rem);
    line-height: 1.08;
  }
}

/* Give separated collection cards a complete gold frame at every breakpoint. */
.about-collection__products {
  border: 0;
}

.about-collection__products > .about-collection__product {
  border: 1px solid var(--brand-gold);
}

@media (max-width: 900px) {
  .hero__content > .about-collection__products {
    flex: 0 0 auto;
    width: min(100%, 55.875rem);
    height: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: clamp(12rem, 32vw, 17rem);
    margin-top: .75rem;
  }

  .hero .about-collection__product {
    min-height: 0;
    aspect-ratio: auto;
  }

  .hero .about-collection__product-eyebrow {
    display: none;
  }

  .hero .about-collection__product-copy {
    inset: .75rem .375rem auto;
  }

  .hero .about-collection__product-title {
    margin-top: .375rem;
    font-size: clamp(1rem, 3.8vw, 1.25rem);
    line-height: 1.2;
  }

  .hero .about-collection__product-link {
    margin-top: .5rem;
    letter-spacing: .12em;
  }

  .hero .about-collection__product-image {
    top: 42%;
    bottom: 7%;
  }
}

/* Soft, stationary light gives the existing stone and teal surfaces depth. */
.home .statement,
.home .testimonials__featured {
  background-color: var(--brand-stone);
  background-image:
    radial-gradient(ellipse at 18% 12%, rgb(255 249 230 / 8%), transparent 65%),
    radial-gradient(ellipse at 92% 100%, rgb(71 56 37 / 10%), transparent 70%),
    linear-gradient(115deg, transparent 15%, rgb(255 253 245 / 2%) 42%, transparent 72%),
    repeating-linear-gradient(115deg, rgb(255 255 255 / .6%) 0 1px, transparent 1px 5px);
}

.home .statement__topics {
  background: transparent;
}

.home .testimonials__featured {
  background-image:
    radial-gradient(ellipse at 72% 8%, rgb(255 249 230 / 8%), transparent 65%),
    radial-gradient(ellipse at 5% 100%, rgb(71 56 37 / 10%), transparent 70%),
    linear-gradient(65deg, transparent 15%, rgb(255 253 245 / 2%) 42%, transparent 72%),
    repeating-linear-gradient(115deg, rgb(255 255 255 / .6%) 0 1px, transparent 1px 5px);
}

.home .closing-cta {
  background-color: var(--brand-teal);
  background-image:
    radial-gradient(ellipse at 12% 5%, rgb(249 240 212 / 6%), transparent 65%),
    radial-gradient(ellipse at 95% 100%, rgb(17 65 64 / 12%), transparent 70%),
    linear-gradient(115deg, transparent 15%, rgb(244 251 247 / 2%) 42%, transparent 72%),
    repeating-linear-gradient(115deg, rgb(255 255 255 / .5%) 0 1px, transparent 1px 5px);
}

/* Two customer reviews share the existing, fixed-height lower panel. */
.home .testimonials__list.testimonials__carousel {
  --reviews-visible: 2;
  position: relative;
  display: block;
  min-width: 0;
  min-height: 24.375rem;
  height: 100%;
  background: var(--brand-cream);
}
.testimonials__viewport {
  width: 100%;
  height: 100%;
  overflow: hidden;
  touch-action: pan-y;
}
.testimonials__track {
  display: flex;
  width: 100%;
  height: 100%;
}
.home .testimonials__carousel .testimonials__item {
  position: relative;
  display: grid;
  flex: 0 0 calc(100% / var(--reviews-visible));
  grid-template-rows: 2rem minmax(0, 1fr) 3.5rem;
  gap: 1rem;
  width: auto;
  min-width: 0;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 2.5rem clamp(3.25rem, 5vw, 5rem) 2.75rem;
  border: 0;
  border-right: 1px solid var(--color-border-soft);
  background: var(--brand-cream);
}
.testimonials__card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.home .testimonials__carousel .testimonials__item .testimonials__quote-mark {
  position: static;
  width: auto;
  height: 2rem;
  font-size: 4rem;
  line-height: 1;
}
.testimonials__stars {
  display: inline-flex;
  color: var(--brand-gold);
  font: 400 1.125rem / 1 var(--font-sans);
  letter-spacing: .15em;
  white-space: nowrap;
}
.home .testimonials__carousel .testimonials__item blockquote {
  position: static;
  display: -webkit-box;
  align-self: start;
  width: auto;
  height: auto;
  max-height: 8.25em;
  margin: 0;
  overflow: hidden;
  color: var(--brand-text);
  font: italic clamp(1.0625rem, 1.15vw, 1.125rem) / 1.65 var(--font-display);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  line-clamp: 5;
}
.home .testimonials__carousel .testimonials__item figcaption {
  position: static;
  display: grid;
  align-content: start;
  align-items: start;
  justify-items: start;
  gap: .25rem;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  color: var(--brand-teal);
  font-size: .8125rem;
  line-height: 1.35;
  letter-spacing: .12em;
  white-space: normal;
}
.home .testimonials__carousel .testimonials__item figcaption span {
  flex: initial;
  width: auto;
  height: auto;
  border: 0;
  background: none;
}
.testimonials__read-more {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 2rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--brand-text);
  font: 400 .875rem / 1.4 var(--font-sans);
  text-decoration: underline;
  text-underline-offset: .25em;
  cursor: pointer;
}
.testimonials__read-more[hidden],
.testimonials__rotation svg[hidden] {
  display: none;
}
.testimonials__arrow,
.testimonials__rotation {
  position: absolute;
  z-index: 1;
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  padding: .625rem;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--brand-gold);
  cursor: pointer;
}
.testimonials__arrow {
  top: 50%;
  transform: translateY(-50%);
}
.testimonials__arrow--previous { left: .375rem; }
.testimonials__arrow--next { right: .375rem; }
.testimonials__arrow svg,
.testimonials__rotation svg,
.testimonials__dialog-close svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 3.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.testimonials__rotation {
  bottom: .125rem;
  left: 50%;
  padding: .875rem;
  transform: translateX(-50%);
}
.testimonials__rotation svg { stroke-width: 2.5; }
.testimonials__arrow:hover,
.testimonials__rotation:hover { background: rgb(192 160 48 / 10%); }
.testimonials__carousel button:focus-visible,
.testimonials__dialog button:focus-visible {
  outline: 2px solid var(--brand-teal);
  outline-offset: 3px;
}
.testimonials__dialog {
  width: min(40rem, calc(100% - 2rem));
  max-width: none;
  max-height: calc(100dvh - 3rem);
  margin: auto;
  padding: clamp(2rem, 5vw, 3rem);
  overflow-y: auto;
  border: 1px solid var(--brand-stone);
  background: var(--brand-cream);
  color: var(--brand-text);
}
.testimonials__dialog::backdrop { background: rgb(31 30 28 / 60%); }
.testimonials__dialog h2 {
  margin: 1rem 2rem 1.5rem 0;
  font: 400 clamp(1.75rem, 5vw, 2.5rem) / 1.1 var(--font-display);
}
.testimonials__dialog blockquote {
  margin: 0;
  font: 400 1rem / 1.8 var(--font-sans);
}
.testimonials__dialog-close {
  position: absolute;
  top: .5rem;
  right: .5rem;
  width: 2.75rem;
  height: 2.75rem;
  padding: .75rem;
  border: 0;
  background: transparent;
  color: var(--brand-teal);
  cursor: pointer;
}
@media (min-width: 1440px) {
  .home .testimonials__list.testimonials__carousel { height: 24.375rem; }
}
@media (max-width: 700px) {
  .home .testimonials--carousel { min-height: 0; }
  .home .testimonials__list.testimonials__carousel {
    --reviews-visible: 1;
    height: 24.375rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .testimonials__track { transition: none !important; }
}

/* The full statement, including its topics, matches the featured customer quote.
   navigation.js supplies the reference's rendered height at every viewport. */
.home .statement {
  display: flex;
  flex-direction: column;
  height: var(--home-quote-height, 40.1875rem);
  min-height: 0;
  overflow-x: clip;
}
.home .statement__topics { flex-shrink: 0; }
.home .statement__content {
  box-sizing: border-box;
  flex: 1 1 0;
  height: auto;
  min-height: 0;
  gap: 1.3125rem;
  padding-block: 2rem;
}
.home .statement__quote {
  flex-shrink: 0;
  height: auto;
  margin: 0;
}
.home .statement__line { flex-shrink: 0; }
.home .statement__brand {
  flex-shrink: 0;
  height: auto;
  margin: 0;
}
@media (min-width: 1440px) {
  .home .statement__quote { min-height: 11.4375rem; }
}
@media (max-width: 700px) {
  .home .statement__content {
    gap: .5rem;
    padding-block: 1rem;
  }
  .home .statement__line {
    flex: 0 0 1rem;
    height: 1rem;
  }
  .home .statement__brand { padding-block: 0; }
}

/* Allow the restored consultation copy to wrap without a fixed paragraph height. */
.home .closing-cta__lead { flex: 0 0 auto; height: auto; }
