:root {
  --rb-brand: #2F6B6F;
  --rb-brand-ink: #1D3B3F;
  --rb-forest: #1F2326;
  --rb-forest-2: #15181A;
  --rb-ink: #1F2326;
  --rb-ink-70: rgba(31, 35, 38, .70);
  --rb-ink-50: rgba(31, 35, 38, .62);
  --rb-paper: #F5F2EC;
  --rb-white: #FBFAF7;
  --rb-mint: #E7E0D3;
  --rb-line: rgba(31, 35, 38, .12);
  --rb-line-soft: rgba(31, 35, 38, .07);
  --rb-radius: 6px;
  --rb-radius-sm: 4px;
  --rb-pill: 3px;
  --rb-shadow: 0 8px 30px rgba(31, 35, 38, .10);
  --rb-shadow-lg: 0 20px 60px rgba(31, 35, 38, .16);
  --rb-panel-radius: clamp(6px, .8vw, 12px);
  --rb-panel-lift: clamp(28px, 4vw, 56px);
  --rb-gutter: clamp(20px, 5vw, 56px);
  --rb-section-y: clamp(64px, 9vw, 128px);
  --rb-container: 1200px;
}
body {
  background-color: var(--rb-paper);
}
.rb h1,
.rb h2,
.rb h3,
.rb h4 {
  letter-spacing: -0.01em;
  line-height: 1.08;
}
.rb-h1 {
  font-size: clamp(3.8rem, 5.4vw, 6.4rem);
  line-height: 1.04;
}
.rb-h2 {
  font-size: clamp(3rem, 3.6vw, 4.5rem);
  line-height: 1.08;
}
.rb-h3 {
  font-size: clamp(1.9rem, 1.9vw, 2.4rem);
}
.rb-lead {
  font-size: clamp(1.6rem, 1.3vw, 1.9rem);
  color: var(--rb-ink-70);
  max-width: 56ch;
}
.rb-container {
  width: 100%;
  max-width: var(--page-width, 1400px);
  margin-inline: auto;
  padding-inline: 1.5rem;
}
@media screen and (min-width: 750px) {
  .rb-container {
    padding-inline: 5rem;
  }
}
.rb-section {
  padding-block: var(--rb-section-y);
  background: var(--rb-paper);
}
.rb-section--tight {
  padding-block: clamp(44px, 6vw, 84px);
}
.rb-section-head {
  max-width: 640px;
  margin-bottom: clamp(28px, 4vw, 48px);
}
.rb-section-head.is-center {
  margin-inline: auto;
  text-align: center;
}
.rb-section-head.is-center .rb-lead {
  margin-inline: auto;
}
.rb-panel {
  position: relative;
  z-index: 1;
  border-radius: var(--rb-panel-radius) var(--rb-panel-radius) 0 0;
  margin-top: calc(var(--rb-panel-lift) * -1);
  box-shadow: 0 -20px 55px rgba(31, 35, 38, .13);
}
.rb-panel--float {
  border-radius: var(--rb-panel-radius);
  margin-inline: var(--rb-gutter);
  overflow: hidden;
  background: var(--rb-white);
  box-shadow: 0 26px 70px rgba(31, 35, 38, .16);
}
.rb-panel--dark {
  background:
    linear-gradient(
      168deg,
      var(--rb-forest),
      var(--rb-forest-2));
  color: #fff;
}
.rb-panel--dark h1,
.rb-panel--dark h2,
.rb-panel--dark h3 {
  color: #fff;
}
.rb-panel--mint {
  background:
    linear-gradient(
      168deg,
      var(--rb-mint),
      #DDD5C6);
}
.rb-panel--brand {
  background:
    linear-gradient(
      168deg,
      var(--rb-brand-ink),
      var(--rb-forest));
  color: #fff;
}
.rb-panel--brand h2,
.rb-panel--brand h3 {
  color: #fff;
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .rb-panel {
      animation: rb-panel-rise linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 62%;
    }
    @keyframes rb-panel-rise {
      from {
        transform: translateY(var(--rb-panel-lift));
      }
      to {
        transform: translateY(0);
      }
    }
  }
}
.rb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 14px 28px;
  font-family: var(--font-heading-family, inherit);
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing: .01em;
  border-radius: var(--rb-pill);
  border: 2px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition:
    background .2s ease,
    color .2s ease,
    border-color .2s ease,
    transform .2s ease;
}
.rb-btn--primary {
  background: var(--rb-brand-ink);
  color: #fff;
}
.rb-btn--primary:hover {
  background: var(--rb-forest);
  transform: translateY(-2px);
}
.rb-btn--ghost {
  background: transparent;
  color: var(--rb-ink);
  border-color: var(--rb-line);
}
.rb-btn--ghost:hover {
  border-color: var(--rb-ink);
  transform: translateY(-2px);
}
.rb-btn--light {
  background: #fff;
  color: var(--rb-forest);
}
.rb-btn--light:hover {
  background: #ECE7DD;
  transform: translateY(-2px);
}
.rb-btn--dark {
  background: var(--rb-forest);
  color: #fff;
}
.rb-btn--dark:hover {
  background: #000;
  transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
  .rb-btn {
    transition: none;
  }
  .rb-btn:hover {
    transform: none;
  }
}
.rb :focus-visible,
.rb-btn:focus-visible {
  outline: 3px solid var(--rb-forest);
  outline-offset: 2px;
}
.rb-panel--dark :focus-visible,
.rb-panel--brand :focus-visible {
  outline-color: #fff;
}
.utility-bar {
  background: var(--rb-brand-ink) !important;
  color: #fff !important;
}
.utility-bar .utility-bar__grid,
.utility-bar .announcement-bar {
  background: transparent !important;
}
.announcement-bar__message,
.announcement-bar__link,
.utility-bar .link,
.utility-bar .list-social__link,
.utility-bar .localization-form__select,
.utility-bar .icon {
  color: #fff !important;
}
.utility-bar .announcement-bar__message {
  font-size: 1.4rem;
  letter-spacing: .04em;
}
.rb-transparent-header .header-wrapper {
  position: relative;
  background: transparent !important;
  border-bottom-color: transparent !important;
  transition: box-shadow .28s ease, border-color .28s ease;
}
.rb-transparent-header .header-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(245, 242, 236, .92);
  backdrop-filter: blur(12px);
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}
.rb-transparent-header .header-wrapper:hover::before,
.rb-transparent-header .header-wrapper:focus-within::before,
.rb-transparent-header.rb-scrolled .header-wrapper::before {
  opacity: 1;
}
.rb-transparent-header .header-wrapper > * {
  position: relative;
  z-index: 1;
}
.rb-transparent-header.rb-scrolled .header-wrapper {
  box-shadow: 0 8px 30px rgba(31, 35, 38, .09);
}
.rb-over .header__menu-item,
.rb-over .header__menu-item span,
.rb-over .header__active-menu-item,
.rb-over .header__icon,
.rb-over .header__icon span,
.rb-over .header__heading-link,
.rb-over .header__heading-link span {
  color: #fff !important;
}
.rb-over .header__heading-logo {
  filter: brightness(0) invert(1);
}
.rb-over .header-wrapper:hover .header__menu-item,
.rb-over .header-wrapper:hover .header__menu-item span,
.rb-over .header-wrapper:focus-within .header__menu-item,
.rb-over .header-wrapper:focus-within .header__menu-item span,
.rb-scrolled.rb-over .header__menu-item,
.rb-scrolled.rb-over .header__menu-item span,
.rb-over .header-wrapper:hover .header__icon,
.rb-over .header-wrapper:hover .header__icon span,
.rb-over .header-wrapper:focus-within .header__icon,
.rb-scrolled.rb-over .header__icon,
.rb-scrolled.rb-over .header__icon span,
.rb-over .header-wrapper:hover .header__heading-link,
.rb-scrolled.rb-over .header__heading-link {
  color: var(--rb-ink) !important;
}
.rb-over .header-wrapper:hover .header__heading-logo,
.rb-over .header-wrapper:focus-within .header__heading-logo,
.rb-scrolled.rb-over .header__heading-logo {
  filter: none;
}
.rb-over .header__menu-item,
.rb-over .header__icon,
.rb-over .header__heading-logo {
  transition: color .3s ease, filter .3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .rb-transparent-header .header-wrapper,
  .rb-transparent-header .header-wrapper::before,
  .rb-over .header__menu-item,
  .rb-over .header__icon,
  .rb-over .header__heading-logo {
    transition: none;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .rb-js .rb-reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .7s cubic-bezier(.22, .61, .36, 1), transform .7s cubic-bezier(.22, .61, .36, 1);
  }
  .rb-js .rb-reveal.rb-in {
    opacity: 1;
    transform: none;
  }
  .rb-js .rb-stagger > * {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .55s cubic-bezier(.22, .61, .36, 1), transform .55s cubic-bezier(.22, .61, .36, 1);
    transition-delay: var(--rb-delay, 0ms);
  }
  .rb-js .rb-stagger.rb-in > * {
    opacity: 1;
    transform: none;
  }
}
.rb-card-media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background:
    linear-gradient(
      160deg,
      var(--rb-mint),
      #DDD5C6);
  border-radius: var(--rb-radius) var(--rb-radius) 0 0;
}
.rb-card-media .rb-bottle {
  position: absolute;
  inset: 16px 16px 18px;
  width: calc(100% - 32px);
  height: calc(100% - 34px);
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 16px 26px rgba(31, 35, 38, .22));
  transition: opacity .5s ease;
}
.rb-card-media .rb-bottle--back {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: none;
  opacity: 0;
  transform: scale(1.02);
  transition: opacity .5s ease, transform 1.1s cubic-bezier(.22, .61, .36, 1);
}
@media (hover: hover) {
  .rb-card-media.has-swap:hover .rb-bottle--front {
    opacity: 0;
  }
  .rb-card-media.has-swap:hover .rb-bottle--back {
    opacity: 1;
    transform: scale(1);
  }
}
.rb-card-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  background: #fff;
  color: var(--rb-forest);
  font-weight: 800;
  font-size: 1.15rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: var(--rb-pill);
  box-shadow: 0 2px 10px rgba(31, 35, 38, .14);
}
.rb-card-media.has-swap:hover .rb-card-tag {
  box-shadow: 0 3px 16px rgba(31, 35, 38, .34);
}
@media (prefers-reduced-motion: reduce) {
  .rb-card-media .rb-bottle,
  .rb-card-media .rb-bottle--back {
    transition: none;
  }
}
.product-card-wrapper .card,
.product-card-wrapper .card__inner {
  --ratio-percent: 100% !important;
}
.product-card-wrapper .card__inner,
.product-card-wrapper .card__inner .card__media {
  background:
    linear-gradient(
      160deg,
      var(--rb-mint),
      #DDD5C6);
  border-radius: var(--rb-radius);
  overflow: hidden;
}
.product-card-wrapper .card__media .media img {
  object-fit: contain;
  object-position: center center;
  padding: clamp(14px, 2vw, 28px);
}
@media screen and (min-width: 750px) {
  .product .product-media-container.constrain-height {
    --viewport-offset: 360px;
    --constrained-min-height: 380px;
  }
}
.rb-hero {
  position: relative;
  min-height: var(--rb-hero-min, 78vh);
  display: grid;
  align-items: end;
  overflow: hidden;
  background:
    linear-gradient(
      150deg,
      var(--rb-forest),
      #15181A);
  isolation: isolate;
  margin-top: calc(var(--rb-header-h, 0px) * -1);
  padding-top: var(--rb-header-h, 0px);
}
:root:not(.rb-over) .rb-hero {
  margin-top: 0;
  padding-top: 0;
}
.rb-hero__img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.rb-hero .rb-hero__scrim {
  display: block;
}
.rb-hero__scrim {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(
      to bottom,
      rgba(14, 17, 19, .58) 0,
      rgba(14, 17, 19, .40) calc(var(--rb-header-h, 96px) * .6),
      rgba(14, 17, 19, 0) calc(var(--rb-header-h, 96px) + 40px)),
    linear-gradient(
      to top,
      rgba(14, 17, 19, calc(var(--rb-hero-scrim, .45) + .28)) 0%,
      rgba(14, 17, 19, var(--rb-hero-scrim, .45)) 42%,
      rgba(14, 17, 19, calc(var(--rb-hero-scrim, .45) * .45)) 100%);
}
.rb-hero--plain .rb-hero__scrim {
  background: none;
}
.rb-hero__inner {
  position: relative;
  width: 100%;
  padding-block: clamp(48px, 8vw, 110px);
}
.rb-hero__copy {
  color: #fff;
}
.rb-hero__title {
  max-width: 20ch;
}
.rb-hero__lead {
  max-width: 54ch;
}
.rb-hero__title {
  color: #fff;
  text-shadow: 0 2px 30px rgba(0, 0, 0, .3);
  margin: 0 0 16px;
}
.rb-hero__lead {
  color: rgba(255, 255, 255, .93);
  margin: 0 0 28px;
}
.rb-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
@media (max-width: 749px) {
  .rb-hero {
    min-height: min(var(--rb-hero-min, 78vh), 620px);
  }
  .rb-hero__inner {
    padding-block: clamp(40px, 12vw, 72px);
  }
}
.rb-listening-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(18px, 2.2vw, 28px);
}
@media (max-width: 989px) {
  .rb-listening-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 620px) {
  .rb-listening-grid {
    grid-template-columns: 1fr;
  }
}
.rb-listening-card {
  background: var(--rb-white);
  border: 1px solid var(--rb-line-soft);
  border-radius: var(--rb-radius);
  box-shadow: var(--rb-shadow);
  display: flex;
  flex-direction: column;
  transition: transform .22s ease, box-shadow .22s ease;
}
.rb-listening-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--rb-shadow-lg);
}
.rb-js .rb-stagger > .rb-listening-card {
  transition:
    opacity .55s cubic-bezier(.22, .61, .36, 1),
    transform .55s cubic-bezier(.22, .61, .36, 1),
    box-shadow .22s ease;
  transition-delay: var(--rb-delay, 0ms);
}
.rb-js .rb-stagger.rb-in > .rb-listening-card:hover {
  transform: translateY(-4px);
}
.rb-listening-card__body {
  padding: clamp(18px, 2vw, 26px);
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.rb-listening-card__kicker {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--rb-brand-ink);
}
.rb-listening-card__body h3 {
  margin: 0;
}
.rb-listening-card__body h3 a {
  text-decoration: none;
  color: inherit;
}
.rb-listening-card__text {
  margin: 0;
  color: var(--rb-ink-70);
  font-size: 1.5rem;
  flex: 1;
}
.rb-listening-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
}
.rb-listening-card__price {
  font-weight: 700;
  font-size: 1.7rem;
}
.rb-listening-card__price s {
  color: var(--rb-ink-50);
  font-weight: 400;
  margin-right: 8px;
}
.rb-listening-card__cta {
  min-height: 42px;
  padding: 10px 20px;
  font-size: 1.45rem;
}
@media (prefers-reduced-motion: reduce) {
  .rb-listening-card {
    transition: none;
  }
  .rb-listening-card:hover {
    transform: none;
  }
}
.rb-howto__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}
@media (max-width: 989px) {
  .rb-howto__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 749px) {
  .rb-howto__img {
    aspect-ratio: auto;
  }
}
.rb-steps {
  list-style: none;
  margin: 0;
  padding: 0;
}
.rb-step {
  position: relative;
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 18px;
  padding-bottom: 30px;
}
.rb-step:last-child {
  padding-bottom: 0;
}
.rb-step__marker {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.rb-step__marker > span {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  flex: none;
  margin-top: 7px;
  background: var(--rb-brand);
  box-shadow: inset 0 0 0 2px var(--rb-brand), 0 0 0 6px rgba(47, 107, 111, .16);
}
.rb-step:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 13px;
  top: 27px;
  bottom: 10px;
  width: 2px;
  transform-origin: top;
  background: linear-gradient(var(--rb-brand), rgba(47, 107, 111, .55));
  box-shadow: 0 0 7px rgba(47, 107, 111, .45);
}
.rb-step:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 9.5px;
  bottom: 4px;
  width: 9px;
  height: 9px;
  border-right: 2px solid var(--rb-brand);
  border-bottom: 2px solid var(--rb-brand);
  transform: rotate(45deg);
  filter: drop-shadow(0 0 4px rgba(47, 107, 111, .6));
}
.rb-step__num {
  display: block;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--rb-ink-50);
  margin-bottom: 4px;
}
.rb-step__title {
  font-size: 1.9rem;
  margin: 0 0 6px;
}
.rb-step__text {
  color: var(--rb-ink-70);
  font-size: 1.55rem;
  margin: 0;
}
.rb-howto__note {
  margin-top: 26px;
  font-size: 1.35rem;
  color: var(--rb-ink-50);
}
.rb-howto__img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: 38% 58%;
  border-radius: var(--rb-radius);
  box-shadow: var(--rb-shadow-lg);
  display: block;
}
.rb-howto__img--empty {
  background:
    linear-gradient(
      160deg,
      var(--rb-mint),
      #DDD5C6);
  display: grid;
  place-items: center;
  color: var(--rb-brand-ink);
}
.rb-howto__img--empty svg {
  width: 42%;
  max-width: 220px;
  height: auto;
}
@media (prefers-reduced-motion: no-preference) {
  .rb-js .rb-steps.rb-stagger .rb-step__marker > span {
    background: transparent;
    box-shadow: inset 0 0 0 2px var(--rb-line), 0 0 0 0 rgba(47, 107, 111, 0);
    transform: scale(.7);
    transition:
      background .34s ease,
      box-shadow .5s ease,
      transform .44s cubic-bezier(.34, 1.56, .64, 1);
    transition-delay: var(--rb-delay, 0ms);
  }
  .rb-js .rb-steps.rb-stagger.rb-in .rb-step__marker > span {
    background: var(--rb-brand);
    box-shadow: inset 0 0 0 2px var(--rb-brand), 0 0 0 6px rgba(47, 107, 111, .16);
    transform: scale(1);
  }
  .rb-js .rb-steps.rb-stagger .rb-step:not(:last-child)::after {
    transform: scaleY(0);
    transition: transform .5s cubic-bezier(.22, .61, .36, 1);
    transition-delay: calc(var(--rb-delay, 0ms) + 170ms);
  }
  .rb-js .rb-steps.rb-stagger.rb-in .rb-step:not(:last-child)::after {
    transform: scaleY(1);
  }
  .rb-js .rb-steps.rb-stagger .rb-step:not(:last-child)::before {
    opacity: 0;
    transition: opacity .3s ease;
    transition-delay: calc(var(--rb-delay, 0ms) + 560ms);
  }
  .rb-js .rb-steps.rb-stagger.rb-in .rb-step:not(:last-child)::before {
    opacity: 1;
  }
  .rb-js .rb-steps.rb-stagger.rb-in .rb-step__marker > span {
    animation: rb-dot-shine 2.6s ease-in-out infinite;
    animation-delay: calc(var(--rb-delay, 0ms) + 900ms);
  }
  @keyframes rb-dot-shine {
    0%, 100% {
      box-shadow:
        inset 0 0 0 2px var(--rb-brand),
        0 0 0 6px rgba(47, 107, 111, .16),
        0 0 0 rgba(47, 107, 111, 0);
    }
    50% {
      box-shadow:
        inset 0 0 0 2px var(--rb-brand),
        0 0 0 8px rgba(47, 107, 111, .26),
        0 0 14px rgba(47, 107, 111, .55);
    }
  }
  .rb-js .rb-steps.rb-stagger.rb-in .rb-step:not(:last-child)::after {
    animation: rb-line-glow 2.6s ease-in-out infinite;
    animation-delay: calc(var(--rb-delay, 0ms) + 900ms);
  }
  @keyframes rb-line-glow {
    0%, 100% {
      box-shadow: 0 0 7px rgba(47, 107, 111, .45);
    }
    50% {
      box-shadow: 0 0 12px rgba(47, 107, 111, .75);
    }
  }
}
.rb-chead {
  padding-bottom: clamp(20px, 2.5vw, 34px);
}
.rb-chead__title {
  font-size: clamp(2.8rem, 3.2vw, 4.2rem);
  margin: 0 0 14px;
  max-width: 26ch;
}
.rb-chead__intro {
  margin: 0;
  max-width: 62ch;
}
.rb-chead__intro p {
  margin: 0 0 10px;
}
.rb-chead__intro p:last-child {
  margin-bottom: 0;
}
.rb-chead__count {
  margin: 18px 0 0;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--rb-ink-50);
}
.rb-review-grid {
  display: grid;
  gap: clamp(16px, 2vw, 24px);
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 989px) {
  .rb-review-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .rb-review-grid {
    grid-template-columns: 1fr;
  }
}
.rb-review {
  margin: 0;
  padding: clamp(20px, 2.4vw, 30px);
  background: var(--rb-white);
  border-radius: var(--rb-radius);
  box-shadow: var(--rb-shadow);
  border: 1px solid var(--rb-line-soft);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.rb-review::before {
  content: "“";
  display: block;
  font-size: 4.4rem;
  line-height: .7;
  color: var(--rb-brand);
  opacity: .35;
  font-family: Georgia, serif;
}
.rb-review__quote {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.55;
  color: var(--rb-ink);
  flex: 1;
}
.rb-review__by {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rb-review__name {
  font-weight: 700;
  font-size: 1.45rem;
}
.rb-review__detail {
  font-size: 1.3rem;
  color: var(--rb-ink-50);
}
.rb-editor-note {
  border: 2px dashed var(--rb-brand-ink);
  border-radius: var(--rb-radius);
  padding: clamp(18px, 2.4vw, 28px);
  background: var(--rb-mint);
  max-width: 70ch;
}
.rb-editor-note p {
  margin: 0 0 8px;
  font-size: 1.5rem;
}
.rb-editor-note p:last-child {
  margin-bottom: 0;
}
.rb-faq__q,
.rb-longform__toggle {
  display: block;
  list-style: none;
  cursor: pointer;
}
.rb-faq__q::-webkit-details-marker,
.rb-longform__toggle::-webkit-details-marker {
  display: none;
}
.rb-faq__list {
  max-width: 860px;
  margin-inline: auto;
  display: grid;
  gap: 12px;
}
.rb-faq__item {
  background: var(--rb-white);
  border: 1px solid var(--rb-line-soft);
  border-radius: var(--rb-radius);
  box-shadow: var(--rb-shadow);
  overflow: hidden;
}
.rb-faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: clamp(16px, 2vw, 22px) clamp(18px, 2.2vw, 26px);
  font-family: var(--font-heading-family, inherit);
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--rb-ink);
}
.rb-faq__q:hover {
  color: var(--rb-brand-ink);
}
.rb-faq__item:focus-within {
  outline: 2px solid var(--rb-brand-ink);
  outline-offset: 2px;
}
.rb-faq__chev {
  width: 20px;
  height: 20px;
  flex: none;
  color: var(--rb-brand-ink);
  transition: transform .25s ease;
}
.rb-faq__item[open] .rb-faq__chev,
.rb-longform__more[open] .rb-faq__chev {
  transform: rotate(180deg);
}
.rb-faq__a {
  padding: 0 clamp(18px, 2.2vw, 26px) clamp(18px, 2.2vw, 24px);
  font-size: 1.55rem;
  line-height: 1.65;
  color: var(--rb-ink-70);
}
.rb-faq__a p {
  margin: 0 0 10px;
}
.rb-faq__a p:last-child {
  margin-bottom: 0;
}
.rb-longform__wrap {
  max-width: 860px;
}
.rb-longform__title {
  margin: 0 0 14px;
}
.rb-longform__intro {
  margin: 0 0 20px;
  max-width: none;
}
.rb-longform__intro p {
  margin: 0 0 10px;
}
.rb-longform__intro p:last-child {
  margin-bottom: 0;
}
.rb-longform__toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--rb-brand-ink);
  padding: 10px 0;
}
.rb-longform__toggle:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.rb-longform__more .rb-longform__toggle-close,
.rb-longform__more[open] .rb-longform__toggle-open {
  display: none;
}
.rb-longform__more[open] .rb-longform__toggle-close {
  display: inline;
}
.rb-longform__body {
  font-size: 1.55rem;
  line-height: 1.7;
  color: var(--rb-ink-70);
}
.rb-longform__body h3 {
  font-size: 1.9rem;
  margin: 24px 0 8px;
  color: var(--rb-ink);
  font-family: var(--font-heading-family, inherit);
}
.rb-longform__body p {
  margin: 0 0 12px;
}
.rb-longform__body ul {
  margin: 0 0 12px;
  padding-left: 20px;
}
.rb-longform__body li {
  margin-bottom: 6px;
}
.rb-longform__body p:last-child,
.rb-longform__body li:last-child {
  margin-bottom: 0;
}
@media (prefers-reduced-motion: reduce) {
  .rb-faq__chev {
    transition: none;
  }
}
.rb-longform__body p > strong:only-child {
  display: block;
  font-size: 1.75rem;
  color: var(--rb-ink);
  font-family: var(--font-heading-family, inherit);
  margin-top: 26px;
  margin-bottom: 2px;
}
.rb-longform__body > p:first-child > strong:only-child {
  margin-top: 6px;
}
.rb-pdesc__intro {
  margin-bottom: 18px;
  font-size: 1.55rem;
  line-height: 1.65;
}
.rb-pdesc__intro p {
  margin: 0 0 10px;
}
.rb-pdesc__intro p:last-child {
  margin-bottom: 0;
}
.rb-pdesc__list {
  max-width: none;
  gap: 0;
}
.rb-pdesc__item {
  background: transparent;
  box-shadow: none;
  border: 0;
  border-top: 1px solid var(--rb-line-soft);
  border-radius: 0;
}
.rb-pdesc__item:last-child {
  border-bottom: 1px solid var(--rb-line-soft);
}
.rb-pdesc__item .rb-faq__q {
  padding: 16px 4px;
  font-size: 1.6rem;
}
.rb-pdesc__item .rb-faq__a {
  padding: 0 4px 18px;
}
.rb-pdesc__item .rb-faq__a ul,
.rb-pdesc__item .rb-faq__a ol {
  margin: 0;
  padding-left: 20px;
}
.rb-pdesc__item .rb-faq__a li {
  margin-bottom: 6px;
}
.rb-pdesc__item .rb-faq__a li:last-child {
  margin-bottom: 0;
}
.rb-hero__video,
.rb-hero__video video {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border: 0;
}
@media (prefers-reduced-motion: reduce) {
  .rb-hero__video {
    display: none;
  }
}
.rb-split__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}
.rb-split--solo .rb-split__grid {
  grid-template-columns: 1fr;
  max-width: 760px;
}
.rb-split__text {
  order: 2;
}
.rb-split__media {
  order: 1;
}
.rb-split--flip .rb-split__text {
  order: 1;
}
.rb-split--flip .rb-split__media {
  order: 2;
}
.rb-split__title {
  margin: 0 0 16px;
}
.rb-split__body {
  font-size: 1.6rem;
  line-height: 1.7;
  color: var(--rb-ink-70);
}
.rb-split__body p {
  margin: 0 0 14px;
}
.rb-split__body p:last-child {
  margin-bottom: 0;
}
.rb-split__body ul {
  margin: 0 0 14px;
  padding-left: 20px;
}
.rb-split__body li {
  margin-bottom: 8px;
}
.rb-split__body strong {
  color: var(--rb-ink);
}
.rb-split__body a {
  color: var(--rb-brand-ink);
  text-underline-offset: 3px;
}
.rb-split__cta {
  margin-top: 22px;
}
.rb-split__img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--rb-radius);
  box-shadow: var(--rb-shadow-lg);
  display: block;
}
@media (max-width: 749px) {
  .rb-split__grid {
    grid-template-columns: 1fr;
  }
  .rb-split--flip .rb-split__text,
  .rb-split__text {
    order: 1;
  }
  .rb-split--flip .rb-split__media,
  .rb-split__media {
    order: 2;
  }
  .rb-split__img {
    aspect-ratio: auto;
  }
}
.rb-trust__grid {
  list-style: none;
  margin: 0 0 clamp(22px, 3vw, 34px);
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(14px, 2vw, 26px);
}
@media (max-width: 989px) {
  .rb-trust__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .rb-trust__grid {
    grid-template-columns: 1fr;
  }
}
.rb-trust__item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.rb-trust__mark {
  flex: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--rb-mint);
  color: var(--rb-brand-ink);
  display: grid;
  place-items: center;
}
.rb-trust__mark svg {
  width: 15px;
  height: 15px;
}
.rb-trust__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rb-trust__text strong {
  font-size: 1.5rem;
  color: var(--rb-ink);
  line-height: 1.3;
}
.rb-trust__text span {
  font-size: 1.35rem;
  color: var(--rb-ink-50);
  line-height: 1.45;
}
.rb-trust__pay {
  border-top: 1px solid var(--rb-line-soft);
  padding-top: clamp(18px, 2.4vw, 26px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}
.rb-trust__pay-label {
  font-size: 1.35rem;
  color: var(--rb-ink-50);
}
.rb-trust__pay-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.rb-trust__pay-icon {
  height: 24px;
  width: auto;
  display: block;
}
@media screen and (max-width: 749px) {
  .product .product__media-list {
    margin-left: 0;
    width: 100%;
    scroll-snap-type: x mandatory;
  }
  .product .product__media-wrapper slider-component:not(.thumbnail-slider--no-slide) {
    margin-left: 0;
    margin-right: 0;
  }
  .product .product__media-list .product__media-item {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}
.rb-stickybuy {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  background: rgba(255, 255, 255, .97);
  backdrop-filter: saturate(150%) blur(8px);
  border-top: 1px solid var(--rb-line);
  padding: 10px var(--rb-gutter) calc(10px + env(safe-area-inset-bottom, 0px));
  transform: translateY(110%);
  transition: transform .32s cubic-bezier(.22, .61, .36, 1);
}
.rb-stickybuy.is-in {
  transform: translateY(0);
}
.rb-stickybuy__inner {
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 640px;
  margin-inline: auto;
}
.rb-stickybuy__meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}
.rb-stickybuy__title {
  font-size: 1.35rem;
  color: var(--rb-ink-70);
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rb-stickybuy__price {
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--rb-ink);
}
.rb-stickybuy__cta {
  flex: none;
  min-height: 46px;
  padding: 12px 22px;
  font-size: 1.5rem;
}
@media screen and (min-width: 750px) {
  .rb-stickybuy {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rb-stickybuy {
    transition: none;
  }
}
.rb-specs__grid {
  margin: 0;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--rb-line-soft);
}
@media (max-width: 640px) {
  .rb-specs__grid {
    grid-template-columns: 1fr;
  }
}
.rb-specs__row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 4px;
  border-bottom: 1px solid var(--rb-line-soft);
}
.rb-specs__row dt {
  font-size: 1.45rem;
  color: var(--rb-ink-50);
  margin: 0;
}
.rb-specs__row dd {
  font-size: 1.45rem;
  color: var(--rb-ink);
  font-weight: 700;
  margin: 0;
  text-align: right;
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .rb-split__img {
      animation: rb-img-settle linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 70%;
    }
    @keyframes rb-img-settle {
      from {
        transform: scale(1.06);
      }
      to {
        transform: scale(1);
      }
    }
  }
}
.rb-js .rb-stagger > .rb-trust__item,
.rb-js .rb-stagger > .rb-specs__row,
.rb-js .rb-stagger > .rb-faq__item,
.rb-js .rb-stagger > .rb-split__card {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .5s ease, transform .5s cubic-bezier(.22, .61, .36, 1);
  transition-delay: var(--rb-delay, 0ms);
}
.rb-js .rb-stagger.rb-in > .rb-trust__item,
.rb-js .rb-stagger.rb-in > .rb-specs__row,
.rb-js .rb-stagger.rb-in > .rb-faq__item,
.rb-js .rb-stagger.rb-in > .rb-split__card {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .rb-js .rb-stagger > .rb-trust__item,
  .rb-js .rb-stagger > .rb-specs__row,
  .rb-js .rb-stagger > .rb-faq__item,
  .rb-js .rb-stagger > .rb-split__card {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
.product-form__submit.button {
  --color-button:
    18,
    18,
    18;
  --color-button-text:
    255,
    255,
    255;
  --alpha-button-background: 1;
  --alpha-button-border: 0;
}
.shopify-payment-button__more-options {
  display: none !important;
}
.rb-buy-pay {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .8rem;
  margin-top: 1.2rem;
}
.rb-buy-pay__label {
  font-size: 1.2rem;
  color: rgba(var(--color-foreground), .65);
}
.rb-buy-pay__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.rb-buy-pay__icon {
  display: block;
  width: 38px;
  height: 24px;
}
.rb-usps {
  background: var(--rb-paper);
  border-block: 1px solid var(--rb-line);
  padding: 1.4rem 0;
  overflow: hidden;
}
.rb-usps__viewport {
  overflow: hidden;
}
.rb-usps__track {
  display: flex;
  width: max-content;
  animation: rb-usps-slide var(--rb-usps-speed, 28s) linear infinite;
}
.rb-usps__viewport[data-pause]:hover .rb-usps__track {
  animation-play-state: paused;
}
@keyframes rb-usps-slide {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0);
  }
}
.rb-usps__list {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.rb-usps__item {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: 0 2.6rem;
  white-space: nowrap;
}
.rb-usps__icon {
  display: block;
  width: 2.8rem;
  height: 2.8rem;
  color: var(--rb-brand-ink);
  flex: none;
}
.rb-usps__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.rb-usps__copy {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}
.rb-usps__copy strong {
  font-size: 1.4rem;
  color: var(--rb-ink);
}
.rb-usps__copy em {
  font-style: normal;
  font-size: 1.2rem;
  color: var(--rb-ink-50);
}
@media (prefers-reduced-motion: no-preference) {
  .rb-usps__flagcloth {
    transform-origin: 4px 4px;
    animation: rb-usps-wave 2.6s ease-in-out infinite;
  }
  @keyframes rb-usps-wave {
    0%, 100% {
      transform: skewY(0deg);
    }
    50% {
      transform: skewY(-4deg);
    }
  }
  .rb-usps__icon--truck svg {
    animation: rb-usps-drive 1.6s ease-in-out infinite;
  }
  @keyframes rb-usps-drive {
    0%, 100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-1.5px);
    }
  }
  .rb-usps__wheel {
    transform-origin: center;
    animation: rb-usps-pulse 1.6s ease-in-out infinite;
  }
  .rb-usps__scan {
    animation: rb-usps-pulse 2.2s ease-in-out infinite;
  }
  .rb-usps__dot {
    animation: rb-usps-pulse 1.4s ease-in-out infinite;
  }
  .rb-usps__dot--2 {
    animation-delay: .2s;
  }
  .rb-usps__dot--3 {
    animation-delay: .4s;
  }
  @keyframes rb-usps-pulse {
    0%, 100% {
      opacity: 1;
    }
    50% {
      opacity: .35;
    }
  }
  .rb-usps__mist {
    animation: rb-usps-pulse 1.3s ease-in-out infinite;
  }
  .rb-usps__mist--2 {
    animation-delay: .18s;
  }
  .rb-usps__mist--3 {
    animation-delay: .36s;
  }
  .rb-usps__icon--bottle svg {
    animation: rb-usps-tilt 2.8s ease-in-out infinite;
    transform-origin: 50% 90%;
  }
  @keyframes rb-usps-tilt {
    0%, 100% {
      transform: rotate(0deg);
    }
    50% {
      transform: rotate(-3deg);
    }
  }
  .rb-usps__droplet {
    transform-origin: 50% 60%;
    animation: rb-usps-swell 2.2s ease-in-out infinite;
  }
  @keyframes rb-usps-swell {
    0%, 100% {
      transform: scale(1);
    }
    50% {
      transform: scale(.93);
    }
  }
  .rb-usps__hand {
    transform-origin: 12px 12px;
    animation: rb-usps-tick 8s linear infinite;
  }
  @keyframes rb-usps-tick {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  .rb-usps__track {
    animation: none;
    width: auto;
    flex-wrap: wrap;
    justify-content: center;
  }
  .rb-usps__track .rb-usps__list[aria-hidden] {
    display: none;
  }
  .rb-usps__list {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 1rem;
  }
  .rb-usps__item {
    white-space: normal;
  }
}
.rb-split__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem;
  margin-top: 1.8rem;
}
@media (max-width: 749px) {
  .rb-split__cards {
    grid-template-columns: 1fr;
  }
}
.rb-split__card {
  background: var(--rb-white);
  border: 1px solid var(--rb-line-soft);
  border-radius: var(--rb-radius-sm);
  padding: 1.6rem 1.8rem;
}
.rb-split__card-title {
  margin: 0 0 .6rem;
  font-size: 1.3rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--rb-brand-ink);
}
.rb-split__card-text {
  font-size: 1.4rem;
  color: var(--rb-ink-70);
}
.rb-split__card-text p {
  margin: 0;
}
.rb-share {
  display: flex;
  align-items: center;
  gap: .8rem;
  list-style: none;
  margin: .8rem 0 0;
  padding: 0;
}
.rb-share__btn {
  display: grid;
  place-items: center;
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  border: 1px solid var(--rb-line);
  color: var(--rb-ink-70);
  background: var(--rb-white);
  transition:
    color .2s ease,
    border-color .2s ease,
    transform .2s ease;
}
.rb-share__btn:hover,
.rb-share__btn:focus-visible {
  color: var(--rb-brand-ink);
  border-color: var(--rb-brand-ink);
  transform: translateY(-2px);
}
.rb-share__btn svg {
  width: 1.8rem;
  height: 1.8rem;
  display: block;
}
@media (prefers-reduced-motion: reduce) {
  .rb-share__btn {
    transition: none;
  }
  .rb-share__btn:hover {
    transform: none;
  }
}
@media (max-width: 620px) {
  .rb-listening-grid--carousel {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 14px;
    padding-bottom: 4px;
  }
  .rb-listening-grid--carousel::-webkit-scrollbar {
    display: none;
  }
  .rb-listening-grid--carousel {
    margin-inline: calc(var(--rb-gutter) * -1);
    padding-inline: var(--rb-gutter);
    scroll-padding-inline: var(--rb-gutter);
    gap: var(--rb-gutter);
  }
  .rb-listening-grid--carousel > .rb-listening-card {
    flex: 0 0 calc(100vw - (var(--rb-gutter) * 2));
    scroll-snap-align: start;
  }
}
.rb-ugcc__viewport {
  overflow: hidden;
}
.rb-ugcc__track {
  display: flex;
  width: max-content;
  animation: rb-ugcc-slide var(--rb-ugcc-speed, 45s) linear infinite;
}
.rb-ugcc__viewport[data-pause]:hover .rb-ugcc__track {
  animation-play-state: paused;
}
@keyframes rb-ugcc-slide {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0);
  }
}
.rb-ugcc__list {
  display: flex;
  align-items: stretch;
  list-style: none;
  margin: 0;
  padding: 0;
}
.rb-ugcc__item {
  flex: 0 0 auto;
  width: clamp(220px, 22vw, 340px);
  padding: 0 7px;
}
.rb-ugcc__img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--rb-radius);
  display: block;
}
@media (max-width: 620px) {
  .rb-ugcc__item {
    width: 72vw;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rb-ugcc__track {
    animation: none;
    width: auto;
    flex-wrap: wrap;
    justify-content: center;
  }
  .rb-ugcc__track .rb-ugcc__list[aria-hidden] {
    display: none;
  }
  .rb-ugcc__list {
    flex-wrap: wrap;
    justify-content: center;
  }
  .rb-ugcc__item {
    width: clamp(160px, 30vw, 260px);
    padding: 7px;
  }
}
.rb-cartprog {
  padding: 14px var(--rb-gutter, 20px) 16px;
  border-bottom: 1px solid var(--rb-line-soft);
}
.rb-cartprog__line {
  margin: 0 0 10px;
  font-size: 1.4rem;
  color: var(--rb-ink-70);
}
.rb-cartprog__line strong {
  color: var(--rb-ink);
}
.rb-cartprog__track {
  height: 8px;
  border-radius: var(--rb-pill);
  background: rgba(47, 107, 111, .14);
  overflow: hidden;
}
.rb-cartprog__fill {
  display: block;
  height: 100%;
  border-radius: var(--rb-pill);
  background: var(--rb-brand);
  transition: width .45s cubic-bezier(.22, .61, .36, 1);
}
@media (prefers-reduced-motion: reduce) {
  .rb-cartprog__fill {
    transition: none;
  }
}
.rb-cartprog__tiers {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}
.rb-cartprog__tier {
  font-size: 1.2rem;
  padding: .3rem .8rem;
  border-radius: var(--rb-pill);
  border: 1px solid var(--rb-line);
  color: var(--rb-ink-50);
}
.rb-cartprog__tier.is-done {
  border-color: var(--rb-brand-ink);
  color: var(--rb-brand-ink);
  font-weight: 700;
}
.rb-cartadd {
  padding: 16px var(--rb-gutter, 20px);
  border-top: 1px solid var(--rb-line-soft);
}
.rb-cartadd__head {
  margin: 0 0 10px;
  font-size: 1.3rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--rb-ink-50);
}
.rb-cartadd__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.rb-cartadd__item {
  display: flex;
  align-items: center;
  gap: 12px;
}
.rb-cartadd__media {
  flex: none;
  width: 48px;
}
.rb-cartadd__media img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  display: block;
  background: var(--rb-mint);
  border-radius: var(--rb-radius-sm);
}
.rb-cartadd__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.rb-cartadd__title {
  font-size: 1.35rem;
  color: var(--rb-ink);
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rb-cartadd__price {
  font-size: 1.3rem;
  color: var(--rb-ink-50);
}
.rb-cartadd__btn {
  flex: none;
  cursor: pointer;
  border: 1px solid var(--rb-ink);
  background: var(--rb-ink);
  color: var(--rb-white);
  border-radius: var(--rb-pill);
  padding: .5rem 1.4rem;
  font-size: 1.3rem;
}
.rb-cartadd__btn[disabled] {
  opacity: .55;
  cursor: default;
}
.rb-total__was {
  color: var(--rb-ink-50);
  margin-right: .6rem;
  font-weight: 400;
}
.rb-total__now {
  color: var(--rb-ink);
}
.rb-total__saved {
  margin: 4px 0 0;
  text-align: right;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--rb-brand-ink);
}
.rb-chead__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}
.rb-chead--split .rb-chead__title {
  max-width: 20ch;
}
.rb-chead__img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: var(--rb-radius);
  box-shadow: var(--rb-shadow-lg);
  display: block;
}
@media (max-width: 749px) {
  .rb-chead__img {
    aspect-ratio: auto;
  }
}
@media (max-width: 989px) {
  .rb-chead__grid {
    grid-template-columns: 1fr;
  }
  .rb-chead__text {
    order: 1;
  }
  .rb-chead__media {
    order: 2;
  }
}
.rb-bloghl__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(18px, 2.2vw, 28px);
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 989px) {
  .rb-bloghl__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 620px) {
  .rb-bloghl__grid {
    grid-template-columns: 1fr;
  }
}
.rb-bloghl__card {
  background: var(--rb-white);
  border: 1px solid var(--rb-line-soft);
  border-radius: var(--rb-radius);
  display: flex;
  flex-direction: column;
  transition: transform .25s ease, box-shadow .25s ease;
}
.rb-bloghl__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--rb-shadow);
}
.rb-bloghl__media {
  display: block;
  overflow: hidden;
  border-radius: var(--rb-radius) var(--rb-radius) 0 0;
}
.rb-bloghl__img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
  background: var(--rb-mint);
}
.rb-bloghl__img--empty {
  display: block;
  aspect-ratio: 3 / 2;
  background:
    linear-gradient(
      160deg,
      var(--rb-mint),
      #DDD5C6);
}
.rb-bloghl__body {
  padding: clamp(16px, 2vw, 24px);
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.rb-bloghl__title {
  margin: 0;
  font-size: 1.8rem;
  line-height: 1.3;
}
.rb-bloghl__title a {
  color: inherit;
  text-decoration: none;
}
.rb-bloghl__title a:hover {
  color: var(--rb-brand-ink);
}
.rb-bloghl__text {
  margin: 0;
  font-size: 1.45rem;
  color: var(--rb-ink-70);
  flex: 1;
}
.rb-bloghl__more {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--rb-brand-ink);
}
.rb-bloghl__foot {
  margin-top: clamp(24px, 3vw, 36px);
  text-align: center;
}
@media (prefers-reduced-motion: reduce) {
  .rb-bloghl__card {
    transition: none;
  }
  .rb-bloghl__card:hover {
    transform: none;
  }
}
.rb-js .rb-stagger > .rb-bloghl__card {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .5s ease, transform .5s cubic-bezier(.22, .61, .36, 1);
  transition-delay: var(--rb-delay, 0ms);
}
.rb-js .rb-stagger.rb-in > .rb-bloghl__card {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .rb-js .rb-stagger > .rb-bloghl__card {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
.rb-bloglist__date {
  font-size: 1.25rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--rb-ink-50);
}
.rb-bloglist__empty {
  max-width: 56ch;
  margin-inline: auto;
  text-align: center;
  display: grid;
  gap: 1.6rem;
  justify-items: center;
}
.rb-bloglist__pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  margin-top: clamp(28px, 4vw, 48px);
}
.rb-bloglist__pagelink {
  color: var(--rb-brand-ink);
  font-weight: 700;
  text-underline-offset: 3px;
}
.rb-bloglist__pagecount {
  font-size: 1.35rem;
  color: var(--rb-ink-50);
}

/* ── VELDEN FINISH (2026-09-15) ─────────────────────────────────────────
   The hero photograph is light: warm wall on the left, the product on the
   right. Copy and header therefore sit dark on light, with a soft paper wash
   behind the words instead of the dark scrim the source store needed. */
.rb-over .header__menu-item,
.rb-over .header__menu-item span,
.rb-over .header__active-menu-item,
.rb-over .header__icon,
.rb-over .header__icon span,
.rb-over .header__heading-link,
.rb-over .header__heading-link span {
  color: var(--rb-ink) !important;
}
.rb-over .header__heading-logo {
  filter: none;
}
.rb-hero .rb-hero__scrim {
  background:
    linear-gradient(90deg, rgba(245, 242, 236, .72) 0%, rgba(245, 242, 236, .35) 42%, rgba(245, 242, 236, 0) 62%);
}
.rb-hero__copy,
.rb-hero__title {
  color: var(--rb-ink);
  text-shadow: none;
}
.rb-hero__title {
  max-width: 16ch;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.rb-hero__lead {
  color: var(--rb-ink-70);
  max-width: 46ch;
}
.rb-hero .rb-btn--light {
  background: transparent;
  color: var(--rb-ink);
  border-color: rgba(31, 35, 38, .35);
}
.rb-hero .rb-btn--light:hover {
  background: rgba(31, 35, 38, .06);
  border-color: var(--rb-ink);
}
.rb-hero__img {
  object-position: 70% center;
}
@media (max-width: 749px) {
  .rb-hero__img {
    object-position: 78% bottom;
  }
  .rb-hero .rb-hero__scrim {
    background: linear-gradient(180deg, rgba(245, 242, 236, .82) 0%, rgba(245, 242, 236, .55) 45%, rgba(245, 242, 236, 0) 70%);
  }
  .rb-hero__inner {
    align-self: flex-start;
  }
}

/* Product cards: the studio shots carry their own seamless background, so
   they fill the card rather than floating inside it like a cut-out. */
.rb-card-media {
  background: var(--rb-mint);
}
.rb-card-media .rb-bottle {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: none;
}
.rb-card-tag {
  background: var(--rb-white);
  font-weight: 600;
  font-size: 1.1rem;
}

/* Icons on the split-section cards: the rule was lost in the re-skin, so the
   SVGs grew to the full width of the card. */
.rb-split__card-icon {
  display: inline-flex;
  width: 28px;
  height: 28px;
  margin-bottom: 12px;
  color: var(--rb-brand-ink);
}
.rb-split__card-icon svg {
  width: 100%;
  height: 100%;
}

/* Buy box: ink button in the brand teal, variant pills and inputs quiet. */
.product-form__submit.button {
  --color-button: 29, 59, 63;
  --color-button-text: 245, 242, 236;
}
.product-form__input--pill input[type='radio'] + label {
  letter-spacing: .02em;
  padding: 1rem 2.2rem;
}
.price-item--regular,
.price-item--sale {
  letter-spacing: .01em;
}
.rb-hero {
  align-items: center;
}
@media (max-width: 749px) {
  .rb-hero {
    align-items: start;
    min-height: 640px;
  }
}

/* Collection cards: studio shots fill the tile. */
.product-card-wrapper .card__media .media img {
  object-fit: cover;
  padding: 0;
}
.product-card-wrapper .card__heading {
  font-weight: 500;
}
.footer__content-bottom,
.footer__copyright,
.copyright__content {
  color: rgba(245, 242, 236, .62);
}

/* Mobile hero: copy first, photograph under it, so the words never sit on
   the product. */
@media (max-width: 749px) {
  .rb-hero {
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: var(--rb-paper);
  }
  .rb-hero .rb-hero__scrim {
    display: none;
  }
  .rb-hero__inner {
    order: 1;
    padding-block: 32px 24px;
  }
  .rb-hero__img {
    position: relative;
    inset: auto;
    order: 2;
    z-index: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 4;
    object-fit: cover;
    object-position: 80% 70%;
  }
  .rb-hero__ctas .rb-btn {
    flex: 1 1 auto;
  }
}

/* Marquee tracks and the off-canvas cart drawer extend past the viewport by design; clip them at the page edge so a phone never scrolls sideways (live gate, 2026-09-15). */
html,body{overflow-x:clip}
