:root {
  --footer-reveal-height: 24rem;
  --warm-paper: #ecebe4;
  --warm-paper-2: #dfe3dc;
  --warm-ink: #1b1d18;
  --warm-muted: rgba(27, 29, 24, 0.66);
  --warm-line: rgba(27, 29, 24, 0.2);
  --warm-pine: #385448;
  --warm-gold: #c9a663;
}

.warm-site {
  background: var(--warm-paper);
}

.warm-site main section[id] {
  scroll-margin-top: 4.4rem;
}

.warm-site *,
.warm-site *::before,
.warm-site *::after {
  letter-spacing: 0;
}

.warm-site .site-header {
  min-height: 4.4rem;
  gap: 1rem;
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
  background: transparent;
  border: 0;
  pointer-events: none;
}

.warm-site .site-header.is-solid {
  background: transparent;
  border: 0;
  backdrop-filter: none;
}

.warm-site .site-header > .site-logo,
.warm-site .site-header > .site-nav,
.warm-site .site-header > .site-header__actions,
.warm-site .site-header > .warm-header-cta {
  pointer-events: auto;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(21, 23, 19, 0.52);
  box-shadow: 0 0.75rem 2.4rem rgba(8, 10, 8, 0.13);
  backdrop-filter: blur(20px) saturate(1.18);
  -webkit-backdrop-filter: blur(20px) saturate(1.18);
  transition:
    background-color 320ms ease,
    border-color 320ms ease,
    box-shadow 320ms ease,
    translate 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

.warm-site .site-header.is-solid > .site-logo,
.warm-site .site-header.is-solid > .site-nav,
.warm-site .site-header.is-solid > .site-header__actions,
.warm-site .site-header.is-solid > .warm-header-cta {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(21, 23, 19, 0.76);
  box-shadow: 0 0.9rem 2.8rem rgba(8, 10, 8, 0.18);
}

.warm-site .site-header > .site-logo {
  min-height: 3.15rem;
  display: inline-flex;
  align-items: center;
  padding: 0.42rem 0.86rem;
  font-size: 0;
}

.warm-site .site-header > .site-logo::before {
  width: 7.7rem;
  height: 1.5rem;
  flex: 0 0 auto;
  background: url("assets/gorudo-wordmark-light.svg?v=1") center / contain no-repeat;
  content: "";
}

.warm-site .site-footer .site-logo {
  display: inline-flex;
  width: fit-content;
  font-size: 0;
}

.warm-site .site-footer .site-logo::before {
  width: 9.2rem;
  height: 1.8rem;
  display: block;
  background: url("assets/gorudo-wordmark-light.svg?v=1") center / contain no-repeat;
  content: "";
}

.warm-site .site-header > .site-nav {
  gap: 0.12rem;
  padding: 0.26rem;
}

.warm-site .site-header > .site-nav a {
  min-height: 2.55rem;
  display: inline-flex;
  align-items: center;
  padding: 0 0.92rem;
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.76);
}

.warm-site .site-header > .site-nav a::after {
  display: none;
}

.warm-site .site-header > .site-header__actions {
  min-height: 3.15rem;
  gap: 0.65rem;
  padding: 0.28rem;
}

.currency-switcher {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.12rem;
  padding: 0.14rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
}

.currency-switcher button {
  min-width: 2.75rem;
  min-height: 2.15rem;
  padding: 0 0.58rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(255, 255, 255, 0.68);
  cursor: pointer;
  font-size: 0.64rem;
  font-weight: 760;
  transition: background-color 220ms ease, color 220ms ease;
}

.currency-switcher button[aria-pressed="true"] {
  background: rgba(246, 244, 236, 0.96);
  color: var(--warm-ink);
}

.currency-switcher button:focus-visible {
  outline: 2px solid var(--warm-gold);
  outline-offset: 2px;
}

.warm-site .site-header > .warm-header-cta {
  min-height: 3.15rem;
  padding: 0 1.05rem;
  border-color: rgba(255, 255, 255, 0.38);
  background: rgba(246, 244, 236, 0.96);
  color: var(--warm-ink);
}

.warm-site .site-header.is-solid > .warm-header-cta {
  border-color: rgba(255, 255, 255, 0.42);
  background: rgba(246, 244, 236, 0.98);
  color: var(--warm-ink);
}

.warm-header-cta {
  min-height: 2.55rem;
  display: inline-flex;
  align-items: center;
  padding: 0 1rem;
  border: 0;
  border-radius: 999px;
  background: rgba(246, 244, 236, 0.96);
  color: var(--warm-ink);
}

.warm-site-phone {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  min-height: 2.55rem;
  padding: 0 0.72rem;
  border-radius: 999px;
  background: rgba(17, 18, 15, 0.18);
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.72rem;
  font-weight: 760;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

.warm-site-phone a {
  color: inherit;
  text-decoration: none;
  transition: color 180ms ease, transform 180ms ease;
}

.warm-site-phone span {
  font-size: 0.7rem;
  opacity: 0.42;
}

.warm-site-phone a:hover,
.warm-site-phone a:focus-visible {
  color: #fffaf0;
  transform: translateY(-1px);
}

.warm-site .panel__number {
  color: var(--warm-gold);
}

.warm-hero {
  min-height: 100svh;
}

.warm-hero__scrim {
  background:
    linear-gradient(90deg, rgba(17, 19, 16, 0.56) 0%, rgba(17, 19, 16, 0.31) 46%, rgba(17, 19, 16, 0.11) 78%),
    linear-gradient(0deg, rgba(17, 19, 16, 0.38) 0%, rgba(17, 19, 16, 0.03) 52%);
}

.warm-hero .hero__video {
  filter: saturate(0.9) brightness(1.08);
  transform: scale(1.16);
}

.warm-hero .hero__poster img {
  filter: saturate(0.9) brightness(1.08);
  transform: scale(1.16);
}

.warm-hero__content {
  width: min(66rem, calc(100% - (var(--pad) * 2)));
  max-width: none;
  padding-bottom: 1.6rem;
}

.warm-hero h1 {
  max-width: none;
  margin-top: 0.85rem;
  font-size: 5.25rem;
  line-height: 0.94;
  text-wrap: balance;
}

.warm-hero .hero__lead {
  max-width: 40rem;
  margin-top: 1.4rem;
  color: rgba(255, 255, 255, 0.86);
  font-size: 1.15rem;
  line-height: 1.55;
}

.warm-hero__actions {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  margin-top: 2rem;
}

.warm-hero__facts {
  width: min(41rem, 100%);
  gap: 0.55rem;
  margin-top: 1.25rem;
  border: 0;
}

.warm-hero__facts div {
  min-height: 6.25rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 4px;
  background: rgba(17, 19, 16, 0.68);
  box-shadow: 0 0.8rem 2.4rem rgba(7, 9, 7, 0.16);
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

.warm-hero__facts dt {
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.72rem;
  font-weight: 760;
}

.warm-hero__facts dd {
  color: #fff;
  font-size: 1.7rem;
  font-weight: 600;
  text-shadow: 0 0.12rem 0.8rem rgba(0, 0, 0, 0.24);
}

.warm-hero .hero__cta {
  width: auto;
  min-height: 3.7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.9rem 1.2rem;
  background: rgba(246, 244, 236, 0.96);
  border-color: rgba(246, 244, 236, 0.96);
  color: var(--warm-ink);
}

.warm-text-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.8rem;
  border-bottom: 1px solid currentColor;
  color: inherit;
  font-size: 0.78rem;
  font-weight: 750;
  text-transform: uppercase;
}

.warm-text-link--dark {
  color: var(--warm-ink);
}

.warm-intro {
  min-height: auto;
  display: grid;
  grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
  gap: 2.5rem 4rem;
  padding: 5rem var(--pad);
  background: var(--warm-paper);
  color: var(--warm-ink);
}

.warm-intro__copy {
  align-self: center;
}

.warm-intro__copy h2 {
  max-width: none;
  margin: 0.85rem 0 0;
  font-family: var(--display);
  font-size: 4rem;
  font-weight: 400;
  line-height: 0.98;
}

.warm-intro__image {
  position: relative;
  height: clamp(27rem, 34vw, 31rem);
  min-height: 0;
  align-self: center;
  margin: 0;
  overflow: hidden;
  clip-path: inset(var(--image-reveal-top, 0%) 0 var(--image-reveal-bottom, 0%) 0);
  will-change: clip-path;
}

.warm-intro__image img {
  filter: saturate(0.82) brightness(1.06);
  translate: 0 var(--image-parallax-y, 0);
  scale: var(--image-parallax-scale, 1.045);
  will-change: translate, scale;
}

.warm-values {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid var(--warm-line);
  border-bottom: 1px solid var(--warm-line);
}

.warm-values > div {
  min-height: 8.5rem;
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.5rem 1.4rem;
}

.warm-values > div + div {
  border-left: 1px solid var(--warm-line);
}

.warm-values dt {
  font-size: 0.68rem;
  font-weight: 750;
}

.warm-values dd {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  margin: 0;
}

.warm-values strong {
  font-family: var(--display);
  font-size: 2.1rem;
  font-weight: 400;
}

.warm-values span {
  max-width: 20rem;
  color: var(--warm-muted);
  line-height: 1.55;
}

@media (min-width: 1300px) {
  .warm-intro__image {
    height: clamp(34rem, 34vw, 40rem);
  }
}

.product-presenter {
  min-height: auto;
  padding: 8rem var(--pad);
  background: #1a1c18;
  color: #f3f0e7;
}

.product-presenter__head {
  display: grid;
  grid-template-columns: minmax(20rem, 0.8fr) minmax(0, 1.2fr);
  gap: 4rem;
  align-items: end;
}

.product-presenter__head h2 {
  max-width: none;
  margin: 0.8rem 0 0;
  font-family: var(--display);
  font-size: 4.7rem;
  font-weight: 400;
  line-height: 0.96;
}

.product-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
}

.product-tabs button {
  min-height: 3.6rem;
  padding: 0.8rem 0.45rem;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  transition: color 220ms ease, border-color 220ms ease;
}

.product-tabs button[aria-selected="true"] {
  border-color: var(--warm-gold);
  color: #fff;
}

.product-stage {
  position: relative;
  margin-top: 3.2rem;
}

.product-slide {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(19rem, 0.65fr);
  min-height: 39rem;
  background: #22251f;
}

.product-slide[hidden] {
  display: none;
}

.product-slide__media {
  position: relative;
  min-height: 39rem;
  margin: 0;
  overflow: hidden;
}

.product-slide__media img {
  filter: saturate(0.84) brightness(1.03);
  transition: transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.product-slide.is-entering .product-slide__media img {
  animation: warm-product-image 720ms cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.product-slide__copy {
  display: flex;
  flex-direction: column;
  padding: 2.2rem 2.3rem 5.5rem;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.product-slide__number {
  align-self: flex-end;
  color: rgba(255, 255, 255, 0.42);
  font-size: 0.7rem;
  font-weight: 700;
}

.product-slide__copy .eyebrow {
  margin-top: auto;
}

.product-slide__copy h3 {
  margin: 0.7rem 0 1rem;
  font-family: var(--display);
  font-size: 3.5rem;
  font-weight: 400;
  line-height: 0.98;
}

.product-slide__copy > p:not(.eyebrow) {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.6;
}

.product-slide__copy ul {
  margin: 1.6rem 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.product-slide__copy li {
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.78rem;
}

.product-slide__copy a {
  align-self: flex-start;
  margin-top: 1.6rem;
  padding-bottom: 0.3rem;
  border-bottom: 1px solid currentColor;
  font-size: 0.72rem;
  font-weight: 750;
  text-transform: uppercase;
}

.product-controls {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: 3.7rem 5rem 3.7rem;
  min-height: 3.7rem;
  background: #f1efe7;
  color: var(--warm-ink);
}

.product-controls button {
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 1.35rem;
}

.product-controls button:hover,
.product-controls button:focus-visible {
  background: #dfe3dc;
}

.product-controls p {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  margin: 0;
  border-right: 1px solid var(--warm-line);
  border-left: 1px solid var(--warm-line);
  font-size: 0.72rem;
  font-weight: 700;
}

@keyframes warm-product-image {
  from { opacity: 0.55; transform: scale(1.035); }
  to { opacity: 1; transform: scale(1); }
}

.sauna-feature {
  min-height: auto;
  padding: 8rem var(--pad);
  background: #141612;
  color: rgba(246, 244, 236, 0.94);
}

.sauna-feature__head {
  display: grid;
  grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.28fr);
  gap: 4rem;
  align-items: end;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(246, 244, 236, 0.2);
}

.sauna-feature__head h2 {
  max-width: none;
  margin: 0;
  font-family: var(--display);
  font-size: 5.2rem;
  font-weight: 400;
  line-height: 0.96;
}

.sauna-feature__intro {
  max-width: 31rem;
  margin: 2rem 0 0;
  color: rgba(246, 244, 236, 0.62);
  font-size: 1rem;
  line-height: 1.65;
}

.sauna-feature__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.34fr) minmax(20rem, 0.66fr);
  gap: 1.2rem;
  margin-top: 4.5rem;
}

.sauna-feature__main,
.sauna-feature__season {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #20231d;
}

.sauna-feature__main { min-height: 47rem; }
.sauna-feature__season { min-height: 23rem; }

.sauna-feature__main img,
.sauna-feature__season img,
.sauna-feature__season video {
  filter: saturate(0.78) contrast(0.98) brightness(0.94);
  scale: 1.015;
  transition:
    scale 1000ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 700ms ease;
}

.sauna-feature__season video {
  pointer-events: none;
}

.sauna-feature__season--motion video {
  transform: scale(1.12);
  transform-origin: center center;
}

.sauna-feature__side {
  display: grid;
  grid-template-rows: minmax(23rem, 0.92fr) minmax(0, 1.08fr);
  gap: 1.2rem;
}

.sauna-feature__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.6rem 0 0;
  border-top: 1px solid rgba(246, 244, 236, 0.2);
}

.sauna-feature__copy h3 {
  margin: 1.6rem 0 0;
  font-family: var(--display);
  font-size: 2.45rem;
  font-weight: 400;
  line-height: 1.04;
}

.sauna-feature__copy > p {
  max-width: 34rem;
  margin: 1.3rem 0 0;
  color: rgba(246, 244, 236, 0.62);
  line-height: 1.65;
}

.sauna-feature__copy .warm-text-link {
  margin-top: auto;
  padding-top: 2rem;
}

.sauna-feature__specs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 3rem 0 0;
  border-top: 1px solid rgba(246, 244, 236, 0.2);
  border-bottom: 1px solid rgba(246, 244, 236, 0.2);
}

.sauna-feature__specs > div {
  min-height: 10rem;
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.5rem 1.25rem;
}

.sauna-feature__specs > div + div {
  border-left: 1px solid rgba(246, 244, 236, 0.2);
}

.sauna-feature__specs dt {
  color: var(--warm-gold);
  font-size: 0.68rem;
  font-weight: 700;
}

.sauna-feature__specs dd { margin: 0; }

.sauna-feature__specs strong,
.sauna-feature__specs span { display: block; }

.sauna-feature__specs strong {
  font-family: var(--display);
  font-size: 1.75rem;
  font-weight: 400;
}

.sauna-feature__specs span {
  margin-top: 0.7rem;
  color: rgba(246, 244, 236, 0.58);
  font-size: 0.88rem;
  line-height: 1.5;
}

.interior-life {
  min-height: auto;
  padding: 8rem var(--pad);
  background: #ebe5d9;
  color: var(--warm-ink);
}

.interior-life__head {
  display: grid;
  grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
  gap: 4rem;
  align-items: end;
}

.interior-life__head h2 {
  max-width: none;
  margin: 0;
  font-family: var(--display);
  font-size: 5rem;
  font-weight: 400;
  line-height: 0.96;
}

.interior-life__intro {
  max-width: 32rem;
  margin: 2rem 0 0;
  color: var(--warm-muted);
  font-size: 1rem;
  line-height: 1.65;
}

.interior-life__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.34fr) minmax(20rem, 0.66fr);
  gap: 1.2rem;
  margin-top: 4.5rem;
}

.interior-life__main,
.interior-card figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #d9d4ca;
}

.interior-life__main {
  min-height: 46rem;
}

.interior-life__main img,
.interior-card img {
  filter: saturate(0.86) contrast(0.98) brightness(0.98);
  scale: 1.01;
  transition:
    scale 1000ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 700ms ease;
}

.interior-life__main figcaption {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: 0.45rem;
  padding: 1.3rem;
  background: linear-gradient(180deg, transparent, rgba(17, 16, 13, 0.74));
  color: #fff;
}

.interior-life__main figcaption span,
.interior-card span {
  color: var(--warm-gold);
  font-size: 0.68rem;
  font-weight: 750;
  text-transform: uppercase;
}

.interior-life__main figcaption strong {
  font-family: var(--display);
  font-size: 1.65rem;
  font-weight: 400;
}

.interior-card {
  display: grid;
  grid-template-rows: minmax(17rem, 0.86fr) auto;
  background: transparent;
  border-top: 1px solid var(--warm-line);
}

.interior-card + .interior-card {
  margin-top: 1.2rem;
}

.interior-card > div {
  padding: 1.1rem 0 0;
}

.interior-card h3 {
  margin: 0.7rem 0 0.6rem;
  font-family: var(--display);
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.02;
}

.interior-card p {
  margin: 0;
  color: var(--warm-muted);
  line-height: 1.6;
}

.variant-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.warm-film {
  min-height: auto;
  padding-top: 8rem;
  padding-bottom: 8rem;
  background: var(--warm-paper-2);
  color: var(--warm-ink);
}

.warm-film .film-card::after {
  background: linear-gradient(0deg, rgba(16, 18, 15, 0.58), rgba(16, 18, 15, 0.02) 62%);
}

.warm-craft {
  min-height: auto;
  padding: 8rem var(--pad);
  background: var(--warm-paper);
  color: var(--warm-ink);
}

.warm-craft__head {
  display: grid;
  grid-template-columns: 0.32fr minmax(0, 0.68fr);
  gap: 1rem 4rem;
}

.warm-craft__head h2 {
  max-width: none;
  margin: 0;
  font-family: var(--display);
  font-size: 5rem;
  font-weight: 400;
  line-height: 0.96;
}

.warm-craft__head > p:last-child {
  grid-column: 2;
  max-width: 36rem;
  margin: 0.5rem 0 0;
  color: var(--warm-muted);
  line-height: 1.65;
}

.warm-craft__list {
  margin-top: 4rem;
  border-top: 1px solid var(--warm-line);
}

.warm-craft__list article {
  display: grid;
  grid-template-columns: 3rem minmax(18rem, 1fr) minmax(24rem, 1fr);
  gap: 2rem;
  align-items: start;
  padding: 2rem 0;
  border-bottom: 1px solid var(--warm-line);
}

.warm-craft__list article > span {
  font-size: 0.68rem;
  font-weight: 750;
}

.warm-craft__list article > div {
  display: contents;
}

.warm-craft__list h3 {
  justify-self: start;
  margin: 0;
  font-family: var(--display);
  font-size: 2.2rem;
  font-weight: 400;
}

.warm-craft__list p {
  width: min(100%, 42rem);
  justify-self: end;
  max-width: 40rem;
  margin: 0;
  color: var(--warm-muted);
  line-height: 1.65;
}

.warm-outline-link {
  display: inline-flex;
  align-items: center;
  min-height: 3.5rem;
  margin-top: 2.2rem;
  padding: 0 1.1rem;
  border: 1px solid var(--warm-ink);
  font-size: 0.72rem;
  font-weight: 750;
  text-transform: uppercase;
}

.warm-process {
  min-height: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(24rem, 0.95fr);
  background: #1b1d18;
  color: #f2efe7;
}

.warm-process__visual {
  position: relative;
  min-height: 51rem;
  overflow: hidden;
}

.warm-process__visual video {
  filter: saturate(0.8) brightness(1.04);
}

.warm-process__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 7rem var(--pad);
}

.warm-process__copy h2 {
  max-width: none;
  margin: 0.8rem 0 1.3rem;
  font-family: var(--display);
  font-size: 4.4rem;
  font-weight: 400;
  line-height: 0.96;
}

.warm-process__copy > p:not(.eyebrow) {
  max-width: 37rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.65;
}

.warm-process__copy ol {
  margin: 2.5rem 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.warm-process__copy li {
  display: grid;
  grid-template-columns: 2.7rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.15rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.warm-process__copy li > span {
  color: var(--warm-gold);
  font-size: 0.68rem;
  font-weight: 750;
}

.warm-process__copy li strong {
  font-family: var(--display);
  font-size: 1.35rem;
  font-weight: 400;
}

.warm-process__copy li p {
  margin: 0.4rem 0 0;
  color: rgba(255, 255, 255, 0.56);
  font-size: 0.84rem;
  line-height: 1.55;
}

.warm-financing {
  min-height: auto;
  display: grid;
  grid-template-columns: minmax(12rem, 0.3fr) minmax(0, 0.7fr);
  gap: 4rem;
  padding: 8rem var(--pad);
  background: #cdd5cb;
  color: var(--warm-ink);
}

.warm-financing h2 {
  max-width: none;
  margin: 0;
  font-family: var(--display);
  font-size: 4.8rem;
  font-weight: 400;
  line-height: 0.96;
}

.warm-financing div > p {
  max-width: 48rem;
  margin: 1.5rem 0 1.2rem;
  color: var(--warm-muted);
  font-size: 1.08rem;
  line-height: 1.7;
}

.warm-contact {
  min-height: auto;
  display: grid;
  grid-template-columns: minmax(20rem, 0.8fr) minmax(0, 1.2fr);
  gap: 5rem;
  padding: 8rem var(--pad);
  background: #ebe5d9;
  color: var(--warm-ink);
}

.warm-contact__copy h2 {
  max-width: none;
  margin: 0.8rem 0 1.2rem;
  font-family: var(--display);
  font-size: 4.8rem;
  font-weight: 400;
  line-height: 0.96;
}

.warm-contact__copy > p:last-child {
  max-width: 35rem;
  color: var(--warm-muted);
  line-height: 1.65;
}

.warm-contact__details {
  align-self: center;
  border-top: 1px solid var(--warm-line);
}

.warm-contact__details > a,
.warm-contact__details > div {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: baseline;
  min-height: 6rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--warm-line);
}

.warm-contact__details span,
.warm-contact__details small {
  font-size: 0.68rem;
  font-weight: 750;
  text-transform: uppercase;
}

.warm-contact__details strong {
  overflow-wrap: anywhere;
  font-family: var(--display);
  font-size: 2rem;
  font-weight: 400;
}

.warm-contact__details small {
  color: rgba(27, 29, 24, 0.46);
}

.warm-footer {
  position: fixed;
  z-index: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-height: 100svh;
  overflow-y: auto;
  background: #171813;
}

.warm-site #smooth-wrapper,
.warm-site #smooth-content {
  position: relative;
  z-index: 1;
}

.warm-site #smooth-wrapper {
  pointer-events: none;
}

.warm-site main {
  position: relative;
  z-index: 1;
  pointer-events: auto;
  box-shadow: 0 2rem 3.5rem rgba(7, 9, 7, 0.16);
}

.footer-reveal-spacer {
  height: var(--footer-reveal-height);
  pointer-events: none;
  visibility: hidden;
}

.site-footer__legal {
  display: none;
}

.warm-footer .site-footer__note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.warm-footer .site-footer__note a {
  color: rgba(255, 255, 255, 0.72);
  border-bottom: 1px solid rgba(255, 255, 255, 0.34);
  transition: color 220ms ease, border-color 220ms ease;
}

.warm-footer .site-footer__note a:hover,
.warm-footer .site-footer__note a:focus-visible {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.76);
}

/* Premium motion language */
.warm-site .v2-title,
.warm-site .technology__item h3,
.warm-site .offer-row__body h3,
.warm-site.subpage .subpage-hero h1,
.warm-site.subpage .subpage-heading h2,
.warm-site.subpage .subpage-cta h2,
.warm-site.subpage .privacy-document h1 {
  max-width: none;
}

.warm-site .site-header {
  animation: premium-header-in 720ms cubic-bezier(0.16, 1, 0.3, 1) 80ms both;
}

.warm-hero__content > .eyebrow {
  animation: premium-fade-in 680ms cubic-bezier(0.16, 1, 0.3, 1) 180ms both;
}

.warm-hero__content > h1 {
  animation: premium-clip-in 1050ms cubic-bezier(0.16, 1, 0.3, 1) 230ms both;
}

.warm-hero__content > .hero__lead {
  animation: premium-fade-in 780ms cubic-bezier(0.16, 1, 0.3, 1) 390ms both;
}

.warm-hero__content > .hero__actions {
  animation: premium-fade-in 780ms cubic-bezier(0.16, 1, 0.3, 1) 500ms both;
}

.warm-hero__facts {
  animation: premium-fade-in 820ms cubic-bezier(0.16, 1, 0.3, 1) 610ms both;
}

.warm-site .reveal-on-scroll:not(.film-card) {
  filter: blur(7px);
  transition:
    opacity 760ms ease,
    transform 900ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 760ms ease;
}

.warm-site .reveal-on-scroll.is-visible:not(.film-card) {
  filter: blur(0);
}

.warm-values.reveal-on-scroll,
.technology__grid.reveal-on-scroll,
.warm-craft__list.reveal-on-scroll,
.spec-table.reveal-on-scroll {
  opacity: 1;
  transform: none;
  filter: none;
}

.warm-values > div,
.technology__grid .technology__item,
.warm-craft__list article,
.spec-table > div {
  opacity: 0;
  translate: 0 1.15rem;
  transition:
    opacity 680ms ease,
    translate 820ms cubic-bezier(0.16, 1, 0.3, 1),
    background-color 360ms ease,
    color 360ms ease;
}

.warm-values.is-visible > div,
.technology__grid.is-visible .technology__item,
.warm-craft__list.is-visible article,
.spec-table.is-visible > div {
  opacity: 1;
  translate: 0 0;
}

.warm-values > div:nth-child(2),
.technology__grid .technology__item:nth-child(2),
.warm-craft__list article:nth-child(2),
.spec-table > div:nth-child(2) { transition-delay: 90ms; }

.warm-values > div:nth-child(3),
.technology__grid .technology__item:nth-child(3),
.warm-craft__list article:nth-child(3),
.spec-table > div:nth-child(3) { transition-delay: 180ms; }

.spec-table > div:nth-child(4) { transition-delay: 240ms; }
.spec-table > div:nth-child(5) { transition-delay: 300ms; }
.spec-table > div:nth-child(6) { transition-delay: 360ms; }

.site-nav a,
.warm-header-cta,
.hero__cta,
.warm-text-link,
.warm-outline-link,
.product-slide__copy a,
.offer-row__footer a,
.site-footer__group a {
  transition:
    color 300ms ease,
    background-color 300ms ease,
    border-color 300ms ease,
    opacity 300ms ease,
    translate 420ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 420ms ease;
}

.site-nav a {
  position: relative;
}

.site-nav a::after {
  position: absolute;
  right: 0;
  bottom: -0.5rem;
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  opacity: 0.75;
  scale: 0 1;
  transform-origin: right center;
  transition: scale 440ms cubic-bezier(0.16, 1, 0.3, 1);
}

.warm-intro__image img,
.product-slide__media img,
.offer-row__media img,
.film-card video,
.warm-process__visual video {
  transition:
    scale 900ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 700ms ease;
}

.technical-icon,
.technology__item h3,
.offer-row__body h3,
.spec-table dd,
.warm-craft__list h3,
.warm-contact__details strong {
  transition:
    color 320ms ease,
    translate 520ms cubic-bezier(0.16, 1, 0.3, 1),
    stroke 320ms ease;
}

.technology__item,
.spec-table > div,
.warm-craft__list article,
.warm-contact__details > a,
.warm-contact__details > div,
.variant-option {
  transition:
    background-color 360ms ease,
    border-color 360ms ease,
    color 360ms ease;
}

.product-slide__copy a::after,
.offer-row__footer a::after,
.warm-outline-link::after {
  display: inline-block;
  margin-left: 0.65rem;
  content: "→";
  transition: translate 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes premium-header-in {
  from { opacity: 0; translate: 0 -0.8rem; }
  to { opacity: 1; translate: 0 0; }
}

@keyframes premium-fade-in {
  from { opacity: 0; filter: blur(5px); translate: 0 1rem; }
  to { opacity: 1; filter: blur(0); translate: 0 0; }
}

@keyframes premium-clip-in {
  from { opacity: 0; clip-path: inset(0 0 100% 0); translate: 0 1.2rem; }
  to { opacity: 1; clip-path: inset(0 0 0 0); translate: 0 0; }
}

@media (hover: hover) and (pointer: fine) {
  .warm-site .site-header > .site-logo:hover {
    border-color: rgba(201, 166, 99, 0.48);
    translate: 0 -0.12rem;
  }

  .warm-site .site-header > .site-nav a:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
  }

  .site-nav a:hover::after { scale: 1 1; transform-origin: left center; }

  .warm-header-cta:hover,
  .hero__cta:hover,
  .warm-outline-link:hover {
    translate: 0 -0.18rem;
    box-shadow: 0 0.9rem 2.3rem rgba(10, 12, 9, 0.16);
  }

  .warm-header-cta:hover { background: #fff; }
  .hero__cta:hover { background: #fff; }
  .warm-text-link:hover,
  .product-slide__copy a:hover,
  .offer-row__footer a:hover,
  .site-footer__group a:hover { opacity: 0.68; translate: 0.18rem 0; }

  .product-slide__copy a:hover::after,
  .offer-row__footer a:hover::after,
  .warm-outline-link:hover::after { translate: 0.35rem 0; }

  .sauna-feature__main:hover img,
  .sauna-feature__season:hover img,
  .sauna-feature__season:hover video {
    scale: 1.045;
    filter: saturate(0.84) contrast(0.98) brightness(0.98);
  }

  .warm-intro__image:hover img,
  .interior-life__main:hover img,
  .interior-card:hover img,
  .product-slide__media:hover img,
  .offer-row:hover .offer-row__media img,
  .film-card:hover video,
  .warm-process__visual:hover video {
    scale: 1.025;
    filter: saturate(0.9) brightness(1.04);
  }

  .offer-row:hover .offer-row__body h3,
  .warm-craft__list article:hover h3,
  .warm-contact__details > a:hover strong,
  .warm-contact__details > div:hover strong { translate: 0.5rem 0; }

  .technology__item:hover,
  .spec-table > div:hover,
  .warm-craft__list article:hover,
  .warm-contact__details > a:hover,
  .warm-contact__details > div:hover,
  .variant-option:hover { background: rgba(56, 84, 72, 0.055); }

  .technology__item:hover .technical-icon { stroke: var(--warm-pine); translate: 0 -0.28rem; }
  .technology__item:hover h3 { color: var(--warm-pine); translate: 0.35rem 0; }
  .spec-table > div:hover dd { translate: -0.35rem 0; }
  .warm-craft__list article:hover > span { color: var(--warm-pine); }

  .product-controls button:hover { background: #dfe3dc; }
  .estimator-actions button:hover { background: var(--warm-pine); border-color: var(--warm-pine); translate: 0 -0.15rem; }
}

@media (max-width: 1100px) {
  .warm-hero h1 { font-size: 4.7rem; }
  .warm-intro__copy h2,
  .product-presenter__head h2,
  .interior-life__head h2,
  .warm-craft__head h2,
  .warm-process__copy h2,
  .warm-financing h2,
  .warm-contact__copy h2 { font-size: 3.9rem; }
  .product-slide { grid-template-columns: minmax(0, 1.35fr) minmax(19rem, 0.75fr); }
  .sauna-feature__head h2 { font-size: 4.3rem; }
  .sauna-feature__layout { grid-template-columns: minmax(0, 1.15fr) minmax(19rem, 0.85fr); }
  .interior-life__head h2 { font-size: 4.25rem; }
}

@media (max-width: 980px) {
  .variant-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .warm-intro,
  .product-presenter__head,
  .interior-life__head,
  .warm-craft__head,
  .warm-process,
  .warm-financing,
  .warm-contact {
    grid-template-columns: 1fr;
  }

  .warm-intro,
  .product-presenter,
  .interior-life,
  .warm-craft,
  .warm-financing,
  .warm-contact {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .warm-intro {
    gap: 2rem;
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }
  .warm-intro__image {
    height: 20rem;
    min-height: 0;
  }
  .product-tabs { margin-top: 1.5rem; }
  .product-slide { grid-template-columns: 1.2fr 0.8fr; }
  .sauna-feature { padding-top: 6rem; padding-bottom: 6rem; }
  .sauna-feature__head { gap: 2.5rem; }
  .sauna-feature__head h2 { font-size: 3.8rem; }
  .sauna-feature__main { min-height: 40rem; }
  .sauna-feature__copy h3 { font-size: 2.1rem; }
  .interior-life__grid {
    grid-template-columns: 1fr;
    margin-top: 3rem;
  }
  .interior-life__main { min-height: 34rem; }
  .interior-card {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    grid-template-rows: auto;
    gap: 1.2rem;
  }
  .interior-card + .interior-card { margin-top: 1.4rem; }
  .interior-card > div { padding-top: 1rem; }
  .warm-craft__head > p:last-child { grid-column: 1; }
  .warm-process__visual { min-height: 38rem; }
  .warm-process__copy { padding-top: 5rem; padding-bottom: 5rem; }
}

@media (max-width: 720px) {
  .variant-grid--four { grid-template-columns: 1fr; }

  .warm-site .site-header {
    min-height: 3.8rem;
    gap: 0.5rem;
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
  }

  .warm-site .site-header > .site-logo {
    min-height: 2.75rem;
    padding: 0.28rem 0.62rem;
  }

  .warm-site .site-header > .site-logo::before {
    width: 5.75rem;
    height: 1.2rem;
  }

  .warm-site .site-header > .site-header__actions {
    min-height: 2.75rem;
    gap: 0.4rem;
    padding: 0.22rem 0.22rem 0.22rem 0.58rem;
  }

  .warm-site-phone span { display: none; }
  .warm-site-phone strong { font-size: 0.66rem; }
  .warm-header-cta { min-height: 2.3rem; padding: 0 0.72rem; font-size: 0.64rem; }
  .warm-site .site-header > .warm-header-cta { min-height: 2.75rem; }

  .warm-hero__scrim {
    background:
      linear-gradient(0deg, rgba(17, 19, 16, 0.72) 0%, rgba(17, 19, 16, 0.22) 72%),
      linear-gradient(90deg, rgba(17, 19, 16, 0.44), rgba(17, 19, 16, 0.07));
  }

  .warm-hero__content {
    width: calc(100% - (var(--pad) * 2));
    padding-bottom: 9.5rem;
  }

  .warm-hero h1 {
    max-width: none;
    font-size: 3.65rem;
  }

  .warm-hero .hero__lead { font-size: 1rem; }
  .warm-hero__actions { align-items: stretch; flex-direction: column; gap: 0.7rem; }
  .warm-hero .hero__cta { width: 100%; }

  .warm-intro,
  .product-presenter,
  .interior-life,
  .warm-craft,
  .warm-financing,
  .warm-contact {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .warm-intro {
    gap: 1.6rem;
    padding-top: 3.25rem;
    padding-bottom: 3.25rem;
  }
  .warm-intro__copy h2,
  .product-presenter__head h2,
  .interior-life__head h2,
  .warm-craft__head h2,
  .warm-process__copy h2,
  .warm-financing h2,
  .warm-contact__copy h2 { font-size: 3.1rem; }
  .warm-intro__image {
    height: 15rem;
    min-height: 0;
  }

  .warm-values { grid-template-columns: 1fr; }
  .warm-values > div { min-height: 6.5rem; }
  .warm-values > div + div { border-top: 1px solid var(--warm-line); border-left: 0; }

  .product-tabs { grid-template-columns: 1fr; border-top: 1px solid rgba(255,255,255,0.24); }
  .product-tabs button { text-align: left; }
  .product-slide { grid-template-columns: 1fr; min-height: auto; }
  .product-slide__media { min-height: 25rem; }
  .product-slide__copy { min-height: 27rem; padding: 1.5rem 1.25rem 5.2rem; border-top: 1px solid rgba(255,255,255,0.12); border-left: 0; }
  .product-slide__copy h3 { font-size: 3rem; }

  .sauna-feature {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .sauna-feature__head,
  .sauna-feature__layout {
    grid-template-columns: 1fr;
  }

  .sauna-feature__head { gap: 2.2rem; }
  .sauna-feature__head h2 { font-size: 3.1rem; }

  .sauna-feature__layout {
    gap: 1rem;
    margin-top: 3rem;
  }

  .sauna-feature__main { min-height: 28rem; }

  .sauna-feature__side {
    grid-template-rows: auto auto;
    gap: 2rem;
  }

  .sauna-feature__season { min-height: 21rem; }
  .sauna-feature__copy { min-height: 24rem; }
  .sauna-feature__copy h3 { max-width: none; }

  .sauna-feature__specs {
    grid-template-columns: 1fr;
    margin-top: 2rem;
  }

  .sauna-feature__specs > div { min-height: 8.5rem; }

  .sauna-feature__specs > div + div {
    border-top: 1px solid rgba(246, 244, 236, 0.2);
    border-left: 0;
  }

  .interior-life__head,
  .interior-life__grid,
  .interior-card {
    grid-template-columns: 1fr;
  }

  .interior-life__grid {
    gap: 1.5rem;
    margin-top: 2.4rem;
  }

  .interior-life__main {
    min-height: 22rem;
  }

  .interior-card {
    gap: 0;
  }

  .interior-card figure {
    min-height: 15rem;
  }

  .interior-card h3 {
    font-size: 1.8rem;
  }

  .warm-film { padding-top: 5rem; padding-bottom: 5rem; }

  .warm-craft__list article { grid-template-columns: 2.4rem minmax(0, 1fr); gap: 1rem; }
  .warm-craft__list article > div { display: block; }
  .warm-craft__list h3 { font-size: 1.8rem; }
  .warm-craft__list p { margin-top: 0.7rem; }

  .warm-process__visual { min-height: 30rem; }
  .warm-process__copy { padding: 5rem var(--pad); }
  .warm-financing { gap: 1.2rem; }
  .warm-contact { gap: 3rem; }
  .warm-contact__details > a,
  .warm-contact__details > div { grid-template-columns: 1fr; gap: 0.45rem; }
}

@media (max-width: 420px) {
  .warm-site .site-header { gap: 0.38rem; }
  .warm-site .site-header > .site-logo { padding-right: 0.52rem; padding-left: 0.52rem; }
  .warm-site .site-header > .site-header__actions { padding-left: 0.45rem; }
  .warm-site-phone strong { font-size: 0.61rem; }
  .warm-header-cta { padding: 0 0.58rem; }
  .warm-hero h1 { font-size: 3.35rem; }
  .warm-intro__copy h2,
  .product-presenter__head h2,
  .interior-life__head h2,
  .warm-craft__head h2,
  .warm-process__copy h2,
  .warm-financing h2,
  .warm-contact__copy h2 { font-size: 2.75rem; }
  .product-slide__media { min-height: 21rem; }
  .product-slide__copy { min-height: 29rem; }
  .sauna-feature__head h2 { font-size: 2.75rem; }
  .sauna-feature__main { min-height: 22rem; }
  .sauna-feature__season { min-height: 17rem; }
  .sauna-feature__copy { min-height: 27rem; }
}

@media (prefers-reduced-motion: reduce) {
  .product-slide.is-entering .product-slide__media img { animation: none; }

  .warm-site *,
  .warm-site *::before,
  .warm-site *::after {
    animation-duration: 0.01ms !important;
    animation-delay: 0ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
