/*
Converts a pixel value to matching rem value. *Any* value passed, regardless of unit, is assumed to be a pixel value. By default, the base pixel value used to calculate the rem value is taken from the `$global-font-size` variable.
@access private
@param {Number} $value - Pixel value to convert.
@param {Number} $base [null] - Base for pixel conversion.
@returns {Number} A number in rems, calculated based on the given value and the base pixel value. rem values are passed through as is.
*/
/*
Removes the unit (e.g. px, em, rem) from a value, returning the number only.
@param {Number} $num - Number to strip unit from.
@returns {Number} The same number, sans unit.
*/
/*
Converts one or more pixel values into matching rem values.
@param {Number|List} $values - One or more values to convert. Be sure to separate them with spaces and not commas. If you need to convert a comma-separated list, wrap the list in parentheses.

@param {Number} $base [null] - The base value to use when calculating the `rem`. If you're using Foundation out of the box, this is 16px. If this parameter is `null`, the function will reference the `$base-font-size` variable as the base.

@returns {List} A list of converted values.
*/
/**
 * Contrast
 */
/*
* Fluid Type function
*/
/**
*	Basic link hover function
*/
.block-category-showcase {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media (min-width: 992px) {
  .block-category-showcase {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.block-category-showcase.py--half {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media (min-width: 992px) {
  .block-category-showcase.py--half {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}
.block-category-showcase.py--none {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.block-category-showcase .cs-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .block-category-showcase .cs-header {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
  }
}
.block-category-showcase .cs-header__text {
  min-width: 0;
}
.block-category-showcase .cs-header__text .overline {
  color: var(--brand-clay,#A8916E);
}
.block-category-showcase .cs-header__heading {
  margin: 0;
}
.block-category-showcase .cs-header__intro {
  max-width: 42.5rem;
  margin: 0.75rem 0 0;
  color: rgba(var(--brand-primary-rgb), 0.82);
}
.block-category-showcase .cs-header__intro p:last-child {
  margin-bottom: 0;
}
.block-category-showcase .cs-header__intro--solo {
  margin-bottom: 1.5rem;
}
.block-category-showcase .cs-arrows {
  display: flex;
  flex: 0 0 auto;
  gap: 0.625rem;
}
.block-category-showcase .cs-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 1px solid rgba(var(--brand-primary-rgb), 0.25);
  border-radius: 50%;
  background: transparent;
  color: var(--brand-primary,#1A3A52);
  cursor: pointer;
  transition: all 0.2s ease-out;
}
.block-category-showcase .cs-arrow:hover, .block-category-showcase .cs-arrow:focus-visible {
  border-color: var(--brand-primary,#1A3A52);
  background: var(--brand-primary,#1A3A52);
  color: #fff;
}
.block-category-showcase .cs-arrow.swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
}
.block-category-showcase .cs-swiper {
  overflow: hidden;
}
.block-category-showcase--full-track .cs-slide {
  width: var(--cs-slide-w, 100%);
  max-width: 100%;
}
@media (min-width: 992px) {
  .block-category-showcase--full-track .cs-slide .cs-frame {
    box-sizing: border-box;
    min-height: calc(var(--cs-slide-w, 73.125rem) * 0.663);
  }
}
.block-category-showcase--full-track .cs-nav {
  margin-top: 1.25rem;
}
.block-category-showcase .cs-nav {
  display: flex;
  justify-content: center;
  margin-top: 1.25rem;
}
.block-category-showcase .cs-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.block-category-showcase .cs-dots .swiper-pagination-bullet {
  width: 0.5rem;
  height: 0.5rem;
  margin: 0;
  border-radius: 999px;
  background: rgba(var(--brand-primary-rgb), 0.25);
  opacity: 1;
  transition: all 0.2s ease-out;
}
.block-category-showcase .cs-dots .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 1.5rem;
  background: var(--brand-accent,#D3B58F);
}
.block-category-showcase .cs-frame {
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem;
  background: var(--brand-primary,#1A3A52);
}
@media (min-width: 992px) {
  .block-category-showcase .cs-frame {
    display: flex;
    align-items: flex-end;
    min-height: 38.75rem;
    padding: 2.5rem 2.5rem 7.25rem;
  }
  .block-category-showcase .cs-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(var(--brand-primary-rgb), 0) 46%, rgba(var(--brand-primary-rgb), 0.78) 100%), linear-gradient(96deg, rgba(var(--brand-primary-rgb), 0.6) 0%, rgba(var(--brand-primary-rgb), 0.12) 46%, rgba(var(--brand-primary-rgb), 0) 66%);
  }
}
.block-category-showcase .cs-frame__img {
  display: block;
  width: 100%;
  height: 18.75rem;
  object-fit: cover;
}
@media (min-width: 992px) {
  .block-category-showcase .cs-frame__img {
    position: absolute;
    inset: 0;
    height: 100%;
    z-index: 0;
  }
}
.block-category-showcase .cs-card {
  position: relative;
  z-index: 2;
  background: #fff;
  padding: 1.75rem 1.5rem 1.875rem;
  border-top: 0.1875rem solid var(--brand-accent,#D3B58F);
}
@media (min-width: 992px) {
  .block-category-showcase .cs-card {
    width: min(32.5rem, 46%);
    margin-left: auto;
    padding: 2.5rem 2.625rem 2.625rem;
    border-radius: 0.5rem;
    box-shadow: 0 1.125rem 2.75rem rgba(0, 0, 0, 0.22);
  }
}
.block-category-showcase .cs-card .heading {
  font-size: 28px;
}
@media only screen and (min-width: 320px) {
  .block-category-showcase .cs-card .heading {
    font-size: calc(28px + 18 * (100vw - 320px) / (1440 - 320));
  }
}
@media only screen and (min-width: 1440px) {
  .block-category-showcase .cs-card .heading {
    font-size: 46px;
  }
}
.block-category-showcase .cs-card .heading {
  margin: 0;
  line-height: 1.08;
  color: var(--brand-primary,#1A3A52);
}
.block-category-showcase .cs-card .heading::after {
  content: "";
  display: block;
  width: 2.75rem;
  height: 0.125rem;
  margin: 1.125rem 0 1rem;
  background: var(--brand-accent,#D3B58F);
}
.block-category-showcase .cs-card__sub {
  margin: 0 0 0.875rem;
  font-family: var(--brand-body-font), "Montserrat", sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brand-clay,#A8916E);
}
.block-category-showcase .cs-card__body {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: rgba(var(--brand-primary-rgb), 0.82);
}
.block-category-showcase .cs-card__body p {
  margin: 0 0 0.8em;
}
.block-category-showcase .cs-card__body p:last-child {
  margin-bottom: 0;
}
.block-category-showcase .cs-card__body a {
  color: var(--brand-primary,#1A3A52);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: all 0.2s ease-out;
}
.block-category-showcase .cs-card__body a:hover, .block-category-showcase .cs-card__body a:focus {
  color: var(--brand-clay,#A8916E);
}
.block-category-showcase .cs-card__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.625rem;
}
.block-category-showcase .cs-pills {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.625rem;
  padding: 1rem 1.25rem 1.25rem;
  background: var(--brand-primary,#1A3A52);
}
@media (min-width: 992px) {
  .block-category-showcase .cs-pills {
    position: absolute;
    right: 2.5rem;
    bottom: 2.375rem;
    left: 2.5rem;
    gap: 0.75rem;
    padding: 0;
    background: none;
  }
}
.block-category-showcase .cs-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5625rem;
  padding: 0.6875rem 1.125rem;
  border: 1px solid rgba(var(--brand-accent-rgb), 0.55);
  border-radius: 0.25rem;
  background: rgba(var(--brand-primary-rgb), 0.55);
  backdrop-filter: blur(0.375rem);
  font-family: var(--brand-body-font), "Montserrat", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease-out;
}
.block-category-showcase .cs-pill::before {
  content: "";
  flex: 0 0 auto;
  width: 0.375rem;
  height: 0.375rem;
  background: var(--brand-accent,#D3B58F);
  transform: rotate(45deg);
  transition: all 0.2s ease-out;
}
.block-category-showcase .cs-pill:hover, .block-category-showcase .cs-pill:focus {
  background: var(--brand-accent,#D3B58F);
  border-color: var(--brand-accent,#D3B58F);
  color: var(--brand-primary,#1A3A52);
}
.block-category-showcase .cs-pill:hover::before, .block-category-showcase .cs-pill:focus::before {
  background: var(--brand-primary,#1A3A52);
}
@media (min-width: 992px) {
  .block-category-showcase--slide-80 .cs-slide .cs-frame {
    padding: 2rem 2rem 5.875rem;
  }
}
@media (min-width: 992px) {
  .block-category-showcase--slide-80 .cs-pills {
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
  }
}
@media (min-width: 992px) {
  .block-category-showcase--slide-80 .cs-card {
    width: min(30.9375rem, 56%);
    padding: 2.25rem 2.375rem 2.375rem;
  }
}
@media (min-width: 992px) {
  .block-category-showcase--slide-80.block-category-showcase--align-centre .cs-card {
    width: min(36.875rem, 68%);
  }
}
@media (min-width: 992px) {
  .block-category-showcase--slide-70 .cs-slide .cs-frame {
    padding: 1.75rem 1.75rem 5.25rem;
  }
}
@media (min-width: 992px) {
  .block-category-showcase--slide-70 .cs-pills {
    right: 1.75rem;
    bottom: 1.75rem;
    left: 1.75rem;
  }
}
@media (min-width: 992px) {
  .block-category-showcase--slide-70 .cs-card {
    width: min(29.375rem, 62%);
    padding: 2rem 2.125rem 2.125rem;
  }
}
@media (min-width: 992px) {
  .block-category-showcase--slide-70.block-category-showcase--align-centre .cs-card {
    width: min(35rem, 74%);
  }
}
.block-category-showcase--from-right {
  --cs-enter-x: clamp(4.5rem, 22%, 20rem);
}
.block-category-showcase--from-left {
  --cs-enter-x: clamp(-20rem, -22%, -4.5rem);
}
.block-category-showcase.cs-anim {
  --cs-enter-duration: 2.1s;
  --cs-enter-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.block-category-showcase.cs-anim .cs-frame {
  opacity: 0;
  transform: translate3d(var(--cs-enter-x, 0), 0, 0);
  transition: opacity calc(var(--cs-enter-duration) * 0.7) ease-out, transform var(--cs-enter-duration) var(--cs-enter-ease);
}
.block-category-showcase.cs-anim.is-inview .cs-frame {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
@media (prefers-reduced-motion: reduce) {
  .block-category-showcase.cs-anim .cs-frame {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
@media (min-width: 992px) {
  .block-category-showcase--align-centre .cs-card {
    width: min(38.75rem, 58%);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}
@media (min-width: 992px) {
  .block-category-showcase--align-centre .cs-card .heading::after {
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 992px) {
  .block-category-showcase--align-centre .cs-card__cta {
    justify-content: center;
  }
}
@media (min-width: 992px) {
  .block-category-showcase--align-centre .cs-pills {
    justify-content: center;
  }
}
@media (min-width: 992px) {
  .block-category-showcase--align-centre .cs-frame {
    align-items: center;
    padding-top: 4.5rem;
  }
  .block-category-showcase--align-centre .cs-frame::after {
    background: linear-gradient(180deg, rgba(var(--brand-primary-rgb), 0.42) 0%, rgba(var(--brand-primary-rgb), 0.12) 38%, rgba(var(--brand-primary-rgb), 0.82) 100%);
  }
}
@media (min-width: 992px) {
  .block-category-showcase--align-left .cs-card {
    margin-left: 0;
    margin-right: auto;
  }
}
@media (min-width: 992px) {
  .block-category-showcase--align-left .cs-frame::after {
    background: linear-gradient(180deg, rgba(var(--brand-primary-rgb), 0) 46%, rgba(var(--brand-primary-rgb), 0.78) 100%), linear-gradient(264deg, rgba(var(--brand-primary-rgb), 0.6) 0%, rgba(var(--brand-primary-rgb), 0.12) 46%, rgba(var(--brand-primary-rgb), 0) 66%);
  }
}

/* ═══ RPA SKIN — cs-menu "Tasting Menu" (Direction A, rev 2) — 2026-09-02
   rev 2: rows are selector BUTTONS (click previews, never navigates;
   the active row unfolds its description + Explore link) and the plate
   bleeds to the viewport edge, swapping edges as sections alternate. */
.cs-menu{overflow:hidden;}
.cs-menu .csm{display:grid;grid-template-columns:47fr 53fr;align-items:stretch;
  /* rev3: full-bleed reverted (Jarek) — plate stays inside the content frame */
  max-width:1200px;margin:0 auto;padding:0 15px;}
.cs-menu.cs-menu--flip .csm{grid-template-columns:53fr 47fr;}
.cs-menu.cs-menu--flip .csm-listwrap{order:2;}
.cs-menu.cs-menu--flip .csm-plate{order:1;}

/* the list keeps the site's content gutter; the plate owns its edge */
.cs-menu .csm-listwrap{padding-right:3.5rem;}
.cs-menu.cs-menu--flip .csm-listwrap{padding-left:3.5rem;padding-right:0;}

.cs-menu .csm-head{margin-bottom:2.25rem;}
.cs-menu .csm-heading{margin-bottom:.5rem;}
.cs-menu .csm-intro{font-size:1.0625rem;line-height:1.6;color:rgba(26,58,82,.8);max-width:34rem;}

.cs-menu .csm-index{list-style:none;margin:0;padding:0;border-top:1px solid rgba(26,58,82,.18);}
.cs-menu .csm-row{border-bottom:1px solid rgba(26,58,82,.18);}
.cs-menu .csm-row-head{display:flex;align-items:baseline;gap:1.4rem;width:100%;background:none;border:0;padding:1.15rem .25rem;cursor:pointer;text-align:left;font:inherit;}
.cs-menu .csm-row-head:focus-visible{outline:2px solid var(--brand-primary,#1A3A52);outline-offset:3px;}
.cs-menu .csm-no{font-family:var(--brand-heading-font),Georgia,serif;font-feature-settings:"onum" 1;font-size:1rem;color:#726045;flex:none;width:1.75rem;transition:color .2s;}
.cs-menu .csm-name{font-family:var(--brand-heading-font),Georgia,serif;font-weight:500;font-size:clamp(1.5rem,1.1rem+1.3vw,2.25rem);line-height:1.1;color:rgba(26,58,82,.34);transition:color .25s;border-bottom:2px solid transparent;padding-bottom:.2rem;}
.cs-menu .csm-row:hover .csm-name{color:rgba(26,58,82,.7);}
.cs-menu .csm-row.is-active .csm-name{color:var(--brand-primary,#1A3A52);border-bottom-color:var(--brand-accent,#D3B58F);}
.cs-menu .csm-row.is-active .csm-no{color:var(--brand-primary,#1A3A52);}

/* the unfolding description */
.cs-menu .csm-desc{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;}
.cs-menu .csm-row.is-active .csm-desc{grid-template-rows:1fr;}
.cs-menu .csm-desc__in{overflow:hidden;padding:0 .25rem 0 3.15rem;}
.cs-menu .csm-row.is-active .csm-desc__in{padding-bottom:1.15rem;}
.cs-menu .csm-desc__copy p{font-family:var(--brand-body-font),sans-serif;font-size:1rem;line-height:1.6;color:rgba(26,58,82,.8);margin:0 0 .6rem;max-width:30rem;}
.cs-menu .csm-desc__link{font-family:var(--brand-body-font),sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-primary,#1A3A52);text-decoration:none;border-bottom:1px solid rgba(211,181,143,.7);padding-bottom:.2rem;}
.cs-menu .csm-desc__link:hover{color:#726045;}

.cs-menu .csm-plate{position:relative;overflow:hidden;min-height:36rem;}
.cs-menu .csm-media{position:absolute;inset:0;}
.cs-menu .csm-media__item{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .45s ease;}
.cs-menu .csm-media__item.is-active{opacity:1;}
.cs-menu .csm-media__img{width:100%;height:100%;object-fit:cover;display:block;}

.cs-menu .csm-facts{position:absolute;left:0;right:0;bottom:0;z-index:2;background:rgba(16,30,43,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-top:1px solid rgba(211,181,143,.45);min-height:3.4rem;}
.cs-menu .csm-facts__set{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.9rem 2rem;opacity:0;transition:opacity .35s ease;pointer-events:none;}
.cs-menu .csm-facts__set.is-active{opacity:1;pointer-events:auto;}
.cs-menu .csm-facts__text{font-family:var(--brand-body-font),sans-serif;font-size:.6875rem;font-weight:500;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.72);}
.cs-menu .csm-facts__cta{font-family:var(--brand-body-font),sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-decoration:none;border-bottom:1px solid rgba(211,181,143,.6);padding-bottom:.2rem;white-space:nowrap;}
.cs-menu .csm-facts__cta:hover{color:var(--brand-accent,#D3B58F);}

@media (max-width:991px){
  .cs-menu .csm{display:block;}
  .cs-menu .csm-listwrap{padding:0 1.25rem;}
  .cs-menu.cs-menu--flip .csm-listwrap{padding:0 1.25rem;}
  .cs-menu .csm-plate{min-height:0;height:74vw;margin-top:1.75rem;}
  .cs-menu .csm-name{font-size:1.375rem;}
  .cs-menu .csm-row-head{padding:.9rem .1rem;gap:1rem;}
  .cs-menu .csm-desc__in{padding-left:2.75rem;}
  .cs-menu .csm-facts__set,.cs-menu.cs-menu--flip .csm-facts__set{padding:.75rem 1.25rem;gap:.75rem;}
  .cs-menu .csm-facts__text{font-size:.59rem;letter-spacing:.12em;}
}
@media (prefers-reduced-motion:reduce){
  .cs-menu .csm-media__item,.cs-menu .csm-facts__set,.cs-menu .csm-desc{transition:none;}
}
/* ═══ end cs-menu ═══ */
