/** Shopify CDN: Minification failed

Line 710:1 Expected identifier but found "."
Line 6605:97 Expected "}" to go with "{"

**/
select#ContactFormCountry {
    border-bottom: 1px solid rgb(var(--color-secondary));
    padding-left: 0;
    width: 100%;
}

/* Personalised passport holder */
.product-collection__personalised-passport .c-product-builder-carousel__template.botttom_center_layout>textarea {
  top: 180%!important;
  left: 50%!important;
  line-height: 1;
  padding: 0;
  height: auto !important;
}
.product-collection__personalised-passport .c-product-builder-carousel__template.botttom_right_layout>textarea {
  top: 180%!important;
  left: 88%!important;
  line-height: 1;
  padding: 0;
  height: auto !important;
}
.product-collection__personalised-passport .c-product-builder-carousel__template {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.product-collection__personalised-passport .c-product-builder-carousel__template>textarea {
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 150% !important;
  pointer-events: none;
}
/* Personalised passport holder */

/* Personalised Card holder */
.product-collection__card-holder .c-product-builder-carousel__template.botttom_center_layout>textarea {
  top: 165%!important;
  left: 50%!important;
  line-height: 1.15;
  padding: 0;
  height: auto !important;
  pointer-events: none;
}
.product-collection__card-holder .c-product-builder-carousel__template.botttom_right_layout>textarea {
  top: 165% !important;
  left: 110% !important;
  line-height: 1.15;
  padding: 0;
  height: auto !important;
  pointer-events: none;
}
.product-collection__card-holder .c-product-builder-carousel__template {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.product-collection__card-holder .c-product-builder-carousel__template>textarea {
  top: 100% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 130% !important;
  pointer-events: none;
  line-height: 1.15;
}
.product-collection__card-holder .c-product-builder__templates-icon-inner,
.product-collection__can-cooler .c-product-builder__templates-icon-inner{
  border: none;
}
/* Personalised Card holder */


/* Personalised Can Cooler */
.product-collection__can-cooler .c-product-builder-carousel__template>textarea{
   pointer-events: none;
  /* line-height: 1; */
  height: 17% !important;
  transform: rotate(-90deg) translateY(-215%) !important;
  left: 50% !important;
  top: 47% !important;
  width: 155% !important;
}
.product-collection__can-cooler .c-product-builder-carousel__template.is-circular {
  top: 50%;
  left: 50%;
  width: 35%;
  transform: translate(-50%, -50%);
}
/* & Personalised Can Cooler */

/* Personalised wine Cooler */
.product-collection__wine-cooler .c-product-builder-carousel__template>textarea{
  pointer-events: none;
  height: 21% !important;
  transform: rotate(-90deg) translateY(-285%) !important;
  left: 50% !important;
  top: 50% !important;
  width: 260% !important;
}
.product-collection__wine-cooler .c-product-builder-carousel__template.wine_coller_botttom_layout>textarea {
  /* width: 100% !important;
  left: 0% !important;
  top: 92% !important;
  transform: none !important; */
  width: 80% !important;
  left: 0% !important;
  top: 92% !important;
  transform: translateX(14%) !important;
  height: fit-content !important;
  line-height: 1;
}
.product-collection__wine-cooler .c-product-builder-carousel__template.is-circular {
  top: 50%;
  left: 50%;
  width: 35%;
  transform: translate(-50%, -50%);
}
.product-collection__wine-cooler .c-product-builder-carousel__template.wine_coller_botttom_layout{
  transform: translate(-50%);
}
.product-collection__wine-cooler .c-product-builder__templates-icon-inner{
  margin-right: 0;
  width: 85px;
}
/* & Personalised wine Cooler */

/* & reelUp stories */
.reelUp_stories_widget_wrap {
  padding: 0 3rem;
}
.reelUp_stories_widget_wrap .reelUp_stories_static{
  justify-content: flex-start;
}
.reelUp_stories_widget_wrap .reelUp_story_card.reelup_story_viewed .reelUp_story_image_wrapper{
  border: 2px solid rgb(185 105 85 / 65%) !important;
}
/* & reelUp stories */

.product-collection__personalised-notebook .c-product-builder-carousel__template.botttom_layout>textarea {
  top: 145%!important;
  left: 88%!important;
  line-height: 100px;
  padding: 0;
  height: auto !important;
}

.product-collection__personalised-notebook .c-product-builder-carousel__template {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.product-collection__personalised-notebook .c-product-builder-carousel__template>textarea {
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, 0) !important;
     width: 150% !important;
}
.product-collection__laptop-sleeve .c-product-builder-carousel__template {
    top: 67%;
    left: 44%;
    width: 64%;
}
.oke-w-review-helpful{
  display:none;
}
@media (max-width:768px){
  .product-collection__laptop-sleeve .c-product-builder-carousel__template{
    top:67%;
  }
}

.product_view_btn {
    text-align: center;
    margin-top: 10px;
}
.c-product-template__content .for-spacial-product{
  font-size: 0.875rem;
  margin-top: 1.5rem;
}
.c-product-template__content .product-shipping-text{
  margin-bottom: 0.5rem;
}
.c-product-template__content-body{
  margin: .5rem 0 0;
}
.c-product-template__content-body .o-product-pricing__money{
  margin: 0;
}
.product_view_btn a {
    color: white;
    background: rgb(var(--color-secondary));
    width: 100%;
    display: flex;
    border-radius: 20px;
    margin: 0;
    padding: 7px 0px;
    justify-content: center;
    align-items: center;
    line-height: 1;
}
ul.color-swatch {
  display: flex;
  padding: 0;
  justify-content: center;
}
ul.color-swatch li {
  display: block;
  margin: 10px 5px;
  width: 30px;
  height: 30px;
  border-radius: 50px;
  cursor: pointer;
}
.collection-swatches button.more_variant {
    border-radius: 30px;
    width: 23px;
    height: 23px;
    display: block;
    cursor: pointer;
    position: relative;
    border: 1px solid rgb(11 11 11 / 73%);
    margin-left: 4px;
}


.collection-swatches button.more_variant a {
    color: black;
    width: 100%;
    display: block;
    font-size: 10px;
}

.collection-swatches button.c-product-builder__swatches-swatch.is-color {
    width: 30px;
    height: 30px;
    margin: 0px;
}
@media (max-width:600px){
  .collection-swatches button.c-product-builder__swatches-swatch.is-color{
    width:18px;
    height:18px;
  }
.collection-swatches button.more_variant{width:14px;height:14px;}
  .collection-swatches button.more_variant a{font-size:8px;}
}

.collection-swatches .c-product-builder__swatches {
    justify-content: center;
    align-items: center;
}
.collection-swatches .c-product-builder__swatches-swatch.is-color:after {
    width: 22px;
    height: 22px;
}
@media (max-width:600px){
 
  .collection-swatches .c-product-builder__swatches-swatch.is-color:after{
    width:14px;height:14px;
  }
}
.collection_main_media {
    position: relative;
}

.collection_main_media .collection-swatches {
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media (max-width:600px){
  .collection_main_media .collection-swatches{transform: translate(-50%, -20%);}
}
.checkout_payment{
  padding: 0 2.5rem;
  margin: 20px 0px;
}
ul.payment_icons {
     display: flex;
    align-items: center;
    justify-content: left;
}
ul.payment_icons li {
    margin-left: 10px;
}
span.payment_icons_text {
    text-transform: uppercase;
    margin: 10px;
    display: block;
}
.c-product-builder__back_with_payemnt {
    display: flex;
    align-items: end;
  margin-top:10px;
}
.c-product-builder__back_with_payemnt .checkout_payment {
    padding: 0;
    margin: 0px 0px;
}
.c-product-builder__back_with_payemnt span.payment_icons_text {
    text-align: center;
}

.c-product-builder__back_with_payemnt span.c-product-builder__back {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
}

.d-none {
  display: none;
}
.c-product-builder-carousel__template svg + svg {
  display: none;
}
.overflow-hidden {
  overflow: hidden !important;
}

@media screen and (min-width: 750px) {
  .mb-md-1 {
    margin-bottom: 1rem !important;
  } 
}

.c-header__logo-link {
   padding-top: 11px;
}
.hidden {
  display: none !important;
}
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.font-regular {
  font-weight: 400;
}
.c-desktop-menu__subsubmenu__title a {
    color: rgb(var(--color-secondary));
}
.c-product-builder__templates-icon-inner svg {
  max-height: 117px;
}

@media (max-width: 750px) {
  .c-product-template__social-share {
    display: none;
}
  .collection_main_media .collection-swatches {
    width: 100%;
  }
  .checkout_payment {
    padding: 0;
  }
  span.payment_icons_text {
    text-align: center;
}
  ul.payment_icons{
    justify-content: center;
  }
  .c-product-builder__back_with_payemnt {
    display: block;
    padding-top: 10px;
}

.c-product-builder__back_with_payemnt span.c-product-builder__back {
    margin-left: 16px !important;
}
  .c-our-products .c-collection-carousel .slick-slide {
    min-height: 97vw;
  }
}

.c-desktop-menu__grid {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: calc(100% + 32px);
}
.c-desktop-menu__grid__item {
  width: 50%;
  margin-bottom: 12px;
}
.c-desktop-menu__grid__item > .c-desktop-menu__subsubmenu-wrap {
  flex-direction: column;
}
.c-desktop-menu__grid__item li {
  width: 100%;
}
.c-desktop-menu__grid__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(100% - 14px);
  margin-left: 14px;
  color: #B86958;
  font-size: 16px;
  padding: 14px 8px 16px 6px;
/*   background-color: #FDFCFA; */
  transition: all .3s cubic-bezier(.23,1,.32,1);
}
.c-desktop-menu__grid__link svg {
  margin-top: 6px;
  transform: translateX(0);
  transition: all 1s cubic-bezier(.23,1,.32,1);
  max-width: 20px;
}
.c-desktop-menu__grid__link:hover {
/*   background-color: #f5d3ba; */
}
.c-desktop-menu__grid__link:hover svg {
  transform: translateX(8px);
}
.c-desktop-menu__subsubmenu__image {
  position: relative;
  padding-bottom: 100%;
  margin-bottom: 4px;
}
.c-desktop-menu__subsubmenu__image img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-desktop-menu__subsubmenu__title {
  font-size: 16px;
  color: rgb(var(--color-secondary));
}
.c-header__nav-sub-links-list.no-opacity .c-desktop-menu__subsubmenu-wrap li {
  opacity: 1;
}
.c-header__nav-sub-links-list .c-desktop-menu__grid {
  margin-left: -21px;
  margin-right: -8px;
}
.c-header__nav-item .c-desktop-menu__subsubmenu-title {
  font-size: 0.85em;
}

@media screen and (min-width: 750px) {
  .c-desktop-menu__grid__item {
    width: 25%;
    max-width: 175px;
    margin-bottom: 0;
  }
  
  .c-desktop-menu__grid__link{
  	padding-left: 23px;
  }
  .c-header__logo-link{
    	padding-top: 0px;
   }
}
@media screen and (max-width: 1250px) {
  .c-desktop-menu__subsubmenu-title{white-space:nowrap;}
}
@media screen and (min-width: 1000px) {
  .c-desktop-menu__grid {
    margin-right: -160px;
    width: auto;
  }
  .c-desktop-menu__subsubmenu__title {
    font-size: 20px;
  }
  .c-desktop-menu__grid__link {
    margin-left: 0;
    font-size: 20px;
    width: 100%;
  }
  .c-desktop-menu__grid__link svg {
    max-width: 28px;
  }
  
}
.c-desktop-menu__grid__link.bottom--shop-link{ order: -1;}
span.c-header__nav-breadcrumb { display: none; }
.c-newsletter-signup__bg--desktop img {width: 100%;}
.c-instagram__photo.is-content {z-index: 1;}
.slick-dots.is-hidden {display: none;}
.c-product-builder__sizes-selection {  margin-bottom: 2rem;  padding: 0 1rem;}
.c-product-builder__sizes-selection .c-product-builder__font-select {  padding-right: 32px;}
.c-cart__body--main-product-desc-color.custom-text {  font-family: 'Skin', 'fontello', Helvetica, sans-serif;}
.c-product-builder__font-radios {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -4px;
}

.c-product-builder__font-radios input {
  display: none;
}
.c-product-builder__font-radios label {
  background-color: #F8F5F0;
  margin: 0 4px 8px;
  border-radius: 8px;
  padding: 10px 12px 10px;
  width: calc((100% / 2) - 8px);
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border: 1px solid transparent;
  transition: 0.3s;
}
@media (min-width: 750px) {
  .c-product-builder__font-radios label {
    width: calc((100% / 3) - 8px);
  }
}
@media (min-width: 1390px) {
  .c-product-builder__font-radios label {
    width: calc((100% / 4) - 8px);
  }
}
.c-product-builder__font-radios input:checked + label {
  border-color: currentColor;
}
@media (max-width: 751px) {
  .c-instagram__photo.is-content {
    padding: 0;
  }
  .c-our-blog__article-wrapper .o-article:first-child .o-article__images {
    margin-top: 5rem;
  }
  .c-our-blog__article-wrapper .o-article:nth-child(2) .o-article__content {
    margin-top: 5rem;
  }
}
@media (min-width: 750px) {
  .c-newsletter-signup__container {
    margin: 0 1px;
  }
}
.product--updated-template-layout.product-collection__personalised-replacement-lid .c-product-builder-carousel__template.is-circular {
    top: 37.5%;
    width: 40%;
}
.c-product--copy-of-personalised-airpods-pro-case .c-product-builder-carousel__template {
  top: 47.25%;
  left: 49%;
  /* width: 29%; */
}
.product-collection__air-pods-case .c-product-builder-carousel__template {
  top: 50%;
  left: 47.7%;
  width: 29.5%;
}
.product-collection__iphone-case .c-product-builder-carousel__template {
  top: 23%;
  width: 34%;
  transform: translateX(-51.2%);
}
.product-collection__iphone-case .c-product-builder-carousel__template {
  overflow: hidden;
}
.product--updated-template-layout .c-product-builder__templates-icon-inner,
.product-collection__iphone-case .c-product-builder__templates-icon-inner {
  border: none;
  opacity: 0.3;
}
.product--updated-template-layout .is-selected .c-product-builder__templates-icon-inner,
.product-collection__iphone-case .is-selected .c-product-builder__templates-icon-inner {
  opacity: 1;
}
.c-product-builder__templates .slick-next {
  display: none !important;
}
.product-collection__water-bottles .c-product-builder-carousel__template.is-circular,
.product-collection__do-not-delete-water-bottle-circular .c-product-builder-carousel__template.is-circular,
.product-collection__personalised-water-bottle-with-straw .c-product-builder-carousel__template.is-circular,
.product-collection__charm-water-bottle .c-product-builder-carousel__template.is-circular{
  top: 47%;
  left: 73%;
  width: 32.5%;
}
.product--updated-image.product-collection__water-bottles .c-product-builder-carousel__template.is-circular,
.product--updated-image.product-collection__do-not-delete-water-bottle-circular .c-product-builder-carousel__template.is-circular,
.product--updated-image.product-collection__personalised-water-bottle-with-straw .c-product-builder-carousel__template.is-circular,
.product--updated-image.product-collection__charm-water-bottle .c-product-builder-carousel__template.is-circular{
  top: 81%;
  left: 68%;
  width: 22.5%;
}
.product--updated-image.product-collection__water-bottle-lid .c-product-builder-carousel__template.is-circular {
  top: 40%;
  left: 50%;
  width: 35%;
}
body.product-collection__coffee-tumber .slick-slide:first-child .c-product-builder__templates-icon-inner {
  width: 96px;
}
.product-collection__coffee-tumber .slick-slide + .slick-slide .c-product-builder__templates-icon-inner,
.product-collection__water-bottles .slick-slide + .slick-slide + .slick-slide .c-product-builder__templates-icon-inner {
  width: 63px;
  margin-right: 10px;
}
.product-collection__do-not-delete-water-bottle-circular .c-product-builder__templates-icon-inner,
.product-collection__personalised-water-bottle-with-straw .c-product-builder__templates-icon-inner,
.product-collection__charm-water-bottle .c-product-builder__templates-icon-inner{
  width: 100%;
  margin-right: 0;
  padding: 0;
}
.product-collection__do-not-delete-water-bottle-circular .c-product-builder__templates-icon-inner svg,
.product-collection__personalised-water-bottle-with-straw .c-product-builder__templates-icon-inner svg,
.product-collection__charm-water-bottle .c-product-builder__templates-icon-inner svg{
  max-height: 110px;
  height: 100%;
  width: 100%;
}

@media (min-width: 1000px) {
  body.product-collection__coffee-tumber .slick-slide:first-child .c-product-builder__templates-icon-inner,
  .product-collection__coffee-tumber .c-product-builder__templates-icon-inner,
  .product-collection__water-bottles .c-product-builder__templates-icon-inner {
    width: 105px;
    margin-right: 17px;
  }
  .product-collection__coffee-tumber .slick-slide + .slick-slide .c-product-builder__templates-icon-inner,
  .product-collection__water-bottles .slick-slide + .slick-slide + .slick-slide .c-product-builder__templates-icon-inner {
    width: 77px;
  }
}
.product-collection__charm-water-bottle .c-product-builder-carousel__template>textarea{line-height:0.7}

.c-page--product--layout-2.product-collection__coffee-tumber .c-product-builder-carousel__template.is-circular {
  top: 8%;
  left: 39%;
  width: 40.5%;
}
.product-collection__coffee-tumber .c-product-builder-carousel__template.is-circular {
  top: 56%;
  left: 68%;
  width: 33%;
}
.product-collection__custom-cooler .c-product-builder-carousel__template {
  top: 80%;
  left: 50%;
  width: 64%;
}
#custom-cooler-wine-cooler-20-litre-beysis.product-collection__custom-cooler .c-product-builder-carousel__template {
  top: 67%;
  width: 73%;
}
.c-page--product--layout-2.product--updated-image.product-collection__personalised-durabottle .c-product-builder-carousel__template{
    top: 21%;
    left: 50.5%;
    width: 40.5%;
}
.c-page--product--layout-2.product-collection__water-bottles .c-product-builder-carousel__template,
.c-page--product--layout-2.product-collection__do-not-delete-water-bottle-circular .c-product-builder-carousel__template,
.c-page--product--layout-2.product-collection__personalised-water-bottle-with-straw .c-product-builder-carousel__template,
.c-page--product--layout-2.product-collection__charm-water-bottle .c-product-builder-carousel__template{
  top: -14%;
  left: 46%;
  width: 40.5%;
}
.c-page--product--layout-2.product--updated-image.product-collection__water-bottles .c-product-builder-carousel__template,
.c-page--product--layout-2.product--updated-image.product-collection__do-not-delete-water-bottle-circular .c-product-builder-carousel__template,
.c-page--product--layout-2.product--updated-image.product-collection__personalised-water-bottle-with-straw .c-product-builder-carousel__template,
.c-page--product--layout-2.product--updated-image.product-collection__charm-water-bottle .c-product-builder-carousel__template,
.c-page--product--layout-2.product--updated-image.product-collection__sip-tumbler .c-product-builder-carousel__template{
  top: 9%;
  left: 50.5%;
  width: 45.5%;
}
.c-page--product--layout-2.product--updated-image.product-collection__sip-tumbler .c-product-builder-carousel__template{
  top: 12%;
}
.product--updated-image.c-product--compact-mirror .c-product-builder-carousel__template, 
.product--updated-image.product-collection__beysis-compact-mirror .c-product-builder-carousel__template {
  top: 46.85%;
  left: 39.1%;
  width: 32.25%;
}
.c-product-builder__templates .slick-track {
  display: flex;
  align-items: center;
}
.c-product-builder__templates .slick-slide {
  float: none;
  display: inline-flex;
}
.c-product-builder__templates svg:not(.d-none) {
  display: block;
  margin: 0 auto;
}
.product-collection__do-not-delete-water-bottle-circular .c-product-builder__templates .slick-track,
.product-collection__personalised-water-bottle-with-straw .c-product-builder__templates .slick-track,
..product-collection__charm-water-bottle .c-product-builder__templates .slick-track{
  gap: 18px;
}
.product-collection__do-not-delete-water-bottle-circular .c-product-builder__templates svg:not(.d-none),
.product-collection__personalised-water-bottle-with-straw .c-product-builder__templates svg:not(.d-none),
.product-collection__charm-water-bottle .c-product-builder__templates svg:not(.d-none){
  display: block;
  margin: 0;
}
@media (max-width: 769px) {
  .product-collection__iphone-case .c-product-builder__templates .slick-slide:last-child .c-product-builder__templates-icon-inner {
    margin-right: 0;
  }
  .product-collection__iphone-case .c-product-builder__templates-icon-inner {
    width: calc((100vw - 23px) / 3 - 0.75em);
    padding-left: 12px;
    padding-right: 12px;
  }
}
.c-product-builder__templates-text-emoji {
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0.9em;
  z-index: 1;
}
/* .c-product-builder__templates-text-emoji [class^=icon-]:before{display: unset;    width: 22px; height: 22px;}
.c-product-builder__templates-text-emoji button {font-size: small;display: inline;     width: 32px;}
.c-product-builder__templates-text-emoji {gap: 5px;}
.c-product-builder__templates-text-emoji button{font-size:16px;} */

.contains-emojis[rows="1"], .contains-emojis[rows="2"], .contains-emojis[rows="3"] {
  min-height: 94px;
}
.c-product-builder__align-icon[data-align-id="vertical"] {
  display: none;
}

.c-product-builder__templates-text-emoji button {
  color: inherit;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

@media (min-width: 750px) {
  .c-product-builder__templates-text-emoji {
    left: 2rem;
  }
}
.c-product-builder__templates-text-emoji button {
  font-size: 17px;
  cursor: pointer;
}
@media (min-width: 1000px) {
  .c-product-builder__templates-text-emoji button {
    font-size: 22px;
  }
}
.c-product-builder__templates-text textarea:focus {
  outline: none;
}
.o-icon--text-align-vertical {
  transform: rotate(90deg);
}

#qab_container{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 79;
}
.c-page--list-collections .c-collection-template__product {
  margin-bottom: 2rem;
}
@media (min-width: 750px) {
  .c-product-template__content-headings--group .is-size-3 {
    font-size: 34px;
    margin-bottom: 10px;
  }
  .c-page--list-collections .c-collection-template__product {
    margin-bottom: 3.5rem;
  }
}

.currency-converter-wrapper-amount-box .cbb-currency-updown-icon{
	display: none !important; 
}

.currency-converter-wrapper-amount-box .currency-converter-amount-box{
	border: 0 !important;
}


.no-svg-backdrop .c-product-builder__templates.slick-initialized.slick-slider{
/*     display: block; */
}
.noUi-connects {
  padding: 8px 0;
  transform: translateY(-7px);
}
@media (max-width: 768px) {
  .noUi-touch-area {
    width: 200%;
    height: 200%;
    transform: translate(-25%, -25%);
  }
}
.c-cart__header--headings h1.o-heading {
  margin-top: -4px;
}
.c-product-template__content-headings--group h1 {
  text-transform: none !important;
}
.c-page--product .c-product-template__content-headings--group h1 {
  color: #7E2D40;
}
.c-page--product .c-product-template__content-headings--group .dynamic-title-size-sub-title,
.c-page--product .c-product-template__content-headings--group .o-subtitle {
  color: #7E2D40;
}
.c-page--product .o-main {
  --color-secondary: 31, 42, 68;
}
@media (max-width: 751px) {
  .no-min-height-mobile {
    min-height: auto;
  }
}
@media (min-width: 1000px) {
  .no-min-height-desktop {
    min-height: auto;
  }
  .c-product-template__content-headings--group .is-size-3 {
    font-size: 56px;
  }
  .c-page--list-collections .c-collection-template__product {
    margin-bottom: 5rem;
  }
}

.currency-converter-wrapper-amount-box > span:not(.currency-converter-amount-box) {
 display:none;
}
#shopify-section-product-vdo {
  margin-top: 2rem;
}
@media (min-width: 100px) {
  #shopify-section-product-vdo {
    margin-top: 3rem;
  }
}
@media (max-width: 711px) {
  .okeReviews .okeReviews-reviews-controls-sort {
    display: none;
  }
  .okeReviews .okeReviews-reviewsWidget-header-controls-writeReview {
    text-align: center;
    max-width: 120px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
.okeReviews .okeReviews-reviews-controls-sort {
  opacity: 0;
  pointer-events: none;
}

.text-center {
  text-align: center;
}
.section-button {
  margin: 2.5rem 0;
}
@media (min-width: 750px) {
  .section-button {
    margin: 5rem 0;
  }
}
.section-button:last-child {
  margin-bottom: 0;
}
.c-product-builder__select-color {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
  display: flex;
}
.c-product-builder__select-color > * {
  width: 50% !important;
  margin: 0 0.25rem;
  white-space: nowrap;
  padding: 1rem;
}

.c-footer__shapes--image {
  position: static;
}
.c-footer__bg {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 3;
  pointer-events: none;
}
.c-footer__bottom {
  position: relative;
}
.c-footer__bg--desktop {
  display: none;
}
@media (min-width: 1000px) {
  .c-footer__bg--desktop {
    display: block;
  }
  .c-footer__bg--mobile {
    display: none;
  }
}
html body .cart__accordion__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left !important;
  padding: 1rem 0;
  cursor: pointer;
}
body .cart__accordion__title svg {
  transform: rotate(0);
  transition: 0.2s;
}
body .cart__accordion {
  padding: 30px 20px;
}
body .cart__accordion__content {
  height: 100%;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  position: relative;
  transition: all 1s cubic-bezier(.23,1,.32,1);
}
body .cart__accordion__content * { 
  font-size: 14px;
  line-height: normal;
}
body .expand .cart__accordion__content {
  min-height: 60px;
    max-height: 500px;
    padding-bottom: 1rem;
    opacity: 1;
}
body .expand .cart__accordion__title svg {
  transform: rotate(90deg);
}

html:not(.is-au) #slidecarthq .rewards {
  /* display: none !important; */
}
body #slidecarthq .slidecarthq{
  max-width: 440px;
}

body #slidecarthq .rewards{
  padding: 0px 30px;
  background: #fff;
  gap: 10px;
  margin-bottom: 10px;
}
body #slidecarthq .rewards .rewards-progress-bar{
  margin-top: 0;
}
body #slidecarthq .rewards .rewards-tiers-labels{
  display: none;
}
[data-cart-accordion]:first-child {
  border-top: 1px solid #4a4a4a;
}
[data-cart-accordion]:last-child {
  border-bottom: 1px solid #4a4a4a;
}
[data-cart-accordion] + [data-cart-accordion] {
  border-top: 1px solid #4a4a4a;
}
#slidecarthq .header,
#slidecarthq .rewards {
  border: none !important;
  order: -1;
}
body #slidecarthq .item .title{ font-family: inherit !important; }
body #slidecarthq .item .title a, body #slidecarthq .upsell-text h3 { color: rgb(35, 17, 98); font-family: inherit; font-size: 16px !important; font-weight: 500; }
/* hide _Names / _Names 1 / _Names 2 … _Font and _Size on lid subitems */
#slidecarthq li[data-key^="_Names"],
#slidecarthq li[data-key="_Font"],
#slidecarthq li[data-key="_Size"] { display: none !important; }
#slidecarthq .note {
  order: 4;
  font-family: inherit;
}
#slidecarthq .custom-html {
  order: 2;
  display: none;
}
#slidecarthq .footer {
  order: 5;
}
#slidecarthq .items {
  border-top: none !important;
  order: 0;
}
#slidecarthq .upsells-header h2,
html body .cart__accordion__title * {
  font-family: Fiona,Helvetica,sans-serif;
  font-size: 26px !important;
  font-weight: 400 !important;
  color: #000 !important;
  text-decoration: none !important;
  text-align: center;
  display: block;
}
#slidecarthq .note-trigger{
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  align-content: center;
  font-family: inherit;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  color: #000 !important;
  text-decoration: none !important;
}
#slidecarthq .note-body textarea::placeholder{
  font-family: inherit;
}
#slidecarthq .header h2 {
  color: rgb(var(--color-primary)) !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  font-family: inherit;
  cursor: pointer;
}
#slidecarthq .header h2 svg{
  display: inline;
  margin-right: 10px;
  top: 3px;
  position: relative;
}
#slidecarthq .upsell-text .upsell-text-prices p{
  font-weight: 500 !important;
}
body #slidecarthq .upsell-text h3 a {
  font-weight: 500;
}

body #slidecarthq .upsells .upsells-header h2{
  color: #b96955 !important;
  font-family: inherit;
  font-size: 18px !important;
}
body #slidecarthq .upsells{
  order: 3;
  padding: 20px;
}
body #slidecarthq .discount-box {
  order: 5;
  background: #f2f2f2;
  z-index: 5;
  position: sticky;
  bottom: 186px;
  border: none;
  padding: 22px 20px 0;
}
#slidecarthq .discount-box .discount-box-form button{
  margin: 0 0 0 10px;
}

@media (min-width: 440px) {
  #slidecarthq .footer {
    padding: 30px !important;
  }
  body .cart__accordion {
    padding: 30px;
  }
  body #slidecarthq .upsells{
    padding: 20px 30px;
  }
  body #slidecarthq .discount-box {
    bottom: 206px;
    padding: 22px 30px 0;
  }
}

.properties-key-value-key,
.properties-key-value-spacer,
.properties-key-value-value {
  font-size: 11px !important;
}
#slidecarthq .item:last-child {
  border-bottom: none;
}

/* Override AMP Slide Cart plugin styles */
#slidecarthq .pfd-edit-link {
  display: inline-block !important;
  margin-top: 7px !important;
  font-size: 11px !important;
  font-family: "Circular Std Book", sans-serif !important;
  font-weight: 400 !important;
  color: #616161 !important;
  text-decoration: underline !important;
}
#slidecarthq .pfd-edit-link:hover {
  text-decoration: none !important;
}

#slidecarthq .quantity-selector button:disabled,
#slidecarthq .quantity-selector input:disabled {
  cursor: not-allowed !important;
}
#slidecarthq .quantity-selector button:disabled svg {
  opacity: 0.3 !important;
}

#slidecarthq .item .title br {
  content: none !important;
  display: inline !important;
}
@media (min-width: 750px) {
  .c-corporate__blocks-contant {
    margin-top: 2.5rem;
    margin-bottom: -3rem;
  }
}
.okeReviews-star-container-mobile {
    display: none;
}
@media (max-width: 750px) {
.okeReviews-star-container-desktop {
    display: none;
}
.okeReviews-star-container-mobile {
    display: block;
}
.c-page--product .oke-w-reviewMinimal-reviewerAttributes {
    display: none;
}
}


/* @@ DD-112 @@  */
.product-collection__personalised-notebook .c-product-builder__templates-icon-inner,
.product-collection__personalised-passport .c-product-builder__templates-icon-inner{
  border:0;
}


.c-collection-youmaylike .c-collection-youmaylike__top .c-collection-youmaylike__top--title{color:rgb(var(--color-secondary));}
.c-section__collection-carousel .c-collection-youmaylike__container .c-collection-carousel__loop .o-product-thumbnail .o-product-thumbnail__image-container .samita_productLabel-content{min-height:auto;}

.c-page--index .c-section__collection-carousel .c-collection-carousel .c-collection-carousel__loop .o-product-thumbnail__container .o-product-thumbnail__details{display:none;}
.c-page--index .c-section__collection-carousel .c-collection-carousel .c-collection-carousel__loop .o-product-thumbnail .details_group{padding:20px 30px;text-align:center;}
.c-page--index .c-section__collection-carousel .c-collection-carousel .c-collection-carousel__loop .o-product-thumbnail .details_group .o-product-thumbnail__title {margin:10px 0 15px 0;}
.c-page--index .c-section__collection-carousel .c-collection-carousel .c-collection-carousel__loop .o-product-thumbnail .details_group .product_view_btn a{ display: block;padding: 7px 10px;width:100%;}
.c-page--index .c-section__collection-carousel .c-collection-carousel .c-collection-carousel__loop .o-product-thumbnail .details_group .product_view_btn a span.divider{position: relative;margin: 0 20px 0 10px;}
.c-page--index .c-section__collection-carousel .c-collection-carousel .c-collection-carousel__loop .o-product-thumbnail .details_group .product_view_btn a span.divider:before{content: "";position: absolute;top: -7px;width: 1px;height: 190%;left: 0;background: #fff;}
.c-page--index .c-section__collection-carousel .c-collection-carousel .c-collection-carousel__loop .o-product-thumbnail .details_group .product_view_btn a span{color:#fff;opacity:1;}


.c-product-builder__templates-icon .c-product-builder__templates-icon-inner{opacity:0.3;}
.c-product-builder__templates-icon.is-selected .c-product-builder__templates-icon-inner{opacity:1;}
.c-section__collection-carousel .c-collection-youmaylike__container .c-collection-carousel{padding-bottom:2rem;}
.c-page--collection .c-collection-template__top .o-heading{/* font-family: Skin,Helvetica,sans-serif,fontello; */font-family:Circular Std Book;font-size:2em;}

.c-how-it-works .c-how-it-works__steps-box .slick-arrow{background-color:#fff;width:40px;height:40px;}
.c-how-it-works .c-how-it-works__steps-box .slick-arrow:after{display:none;}
.c-how-it-works .c-how-it-works__steps-box .slick-arrow.slick-prev svg{transform: rotate(180deg);}
.c-how-it-works .c-how-it-works__steps-box .slick-arrow.slick-prev{left:1rem;display:none !important;}
.c-how-it-works .c-how-it-works__steps-box .slick-arrow.slick-next{right:1rem;}
.c-how-it-works .c-how-it-works__steps-box button.slick-next.slick-arrow.slick-disabled{display:none;}

.banner_image_cover{width:100%;height:100%;}
.banner_image_cover .banner_image{width: 100%;display: block;margin: 0 auto;}
.banner_image.image-medium{max-height:650px;}
.banner_image.image-small{max-height:450px;}
.banner_image.image-large{max-height: 850px;}
.c-page--index .c-collection-youmaylike .o-product-thumbnail__container{padding:0 1rem;}

.c-page--index .c-collection-youmaylike__top{padding:1.5rem 1rem 0rem}

.c-desktop-menu__subsubmenu__title a{position:relative;transition: all .3s cubic-bezier(.23,1,.32,1);}
.c-desktop-menu__subsubmenu__title a:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    height: 1px;
    width: 0;
    background: #b96955;
    transition: all .3s cubic-bezier(.23,1,.32,1);
}
.c-desktop-menu__subsubmenu__title a:hover{color:#b96955;}
.c-desktop-menu__subsubmenu__title a:hover:before{width:100%;}
.collection-swatches .c-product-builder__swatches-swatch{cursor:inherit;}

.c-product-builder__templates-text-emoji .hide{
  display: none;
}


@media (min-width:1000px){
  .c-section__collection-carousel .c-collection-youmaylike__container .c-collection-carousel{padding-bottom:3rem;}
  .c-page--index .c-collection-youmaylike__top{padding:1.5rem 3rem 0 3rem;}
  .c-corporate__contact-form { padding-left: 0; }
}

@media (min-width:1250px){
  .c-section__collection-carousel .c-collection-youmaylike__container .c-collection-carousel{padding-bottom:5.5rem;}
  .c-page--collection .c-collection-template__top{padding:3rem 7rem 2rem 7rem;}
  .c-page--index .c-collection-youmaylike__top{padding:1.5rem 7rem 0rem}
  .c-corporate__contact-form { max-width: 525px; }
}

@media (min-width:750px){
  .c-section__collection-carousel .c-collection-youmaylike__container .c-collection-carousel{padding-bottom:2rem;}
  .banner_image_cover .banner_image.banner-desk{display:block;}
  .banner_image_cover .banner_image.banner-mob{display:none;}

  .c-product-template__wrapper .c-product-template__content {
    justify-content: normal;
    gap: 10px;
  }
}

@media (max-width:749px){
  .banner_image.image-medium{max-height:950px;}
  .banner_image.image-small{max-height:450px;}
  .banner_image.image-large{max-height: 950px;}
  .c-page--collection .o-product-thumbnail__details-wrapper .is-size-5{font-size:0.75em}
  .c-product-template__afterpay {padding: 0.5rem 1rem;}
  .c-product-template__afterpay.for-spacial-product {padding: .5rem 1rem 0; margin-top: 0;}
  .banner_image_cover .banner_image.banner-desk{display:none;}
  .banner_image_cover .banner_image.banner-mob{display:block;}
  .reelUp_stories_widget_wrap { padding: 1.5rem 1rem; }
}

@media (max-width:990px){
  .product-collection__personalised-passport .c-product-builder-carousel__template.botttom_center_layout>textarea,
  .product-collection__personalised-passport .c-product-builder-carousel__template.botttom_right_layout>textarea{ top: 175% !important; }
}
@media (max-width:750px){
  
  .samita-container .samita_productLabel-content.__content--21771{margin-top:10px !important;}
  .c-page--collection .c-collection-template__top .o-heading{font-size:16px;margin-bottom:10px;}
  .c-collection-template__top{padding-bottom:0;}
  .product-collection__personalised-notebook .c-product-builder-carousel__template.botttom_layout>textarea{top: 148%!important;line-height: 35px;left: 85%!important;}
  .product-collection__personalised-passport .c-product-builder-carousel__template.botttom_right_layout>textarea{top:175% !important; line-height: 1; left: 88% !important;}
  .product-collection__personalised-passport .c-product-builder-carousel__template.botttom_center_layout>textarea{top:175% !important; line-height: 1;left: 50%!important;}
}

@media (max-width:1360px){
  .samita_productLabel-content.shape.__custom7{width:auto !important;padding:0 4px !important;}
}

@media (max-width:479px){
  .samita-container .samita_productLabel-content.__content--21771{width:auto !important;}
  #slidecarthq .header h2 { font-size: 18px !important; }
  body #slidecarthq .item .title a { font-size: 14px !important; }
  #slidecarthq .header h2 svg { width: 20px; }
  body #slidecarthq .rewards p { font-size: 14px !important; }
  body #slidecarthq .upsells .upsells-header h2,
  body #slidecarthq .upsell-text h3,
  body #slidecarthq .upsell-text h3 a { font-size: 14px !important; }
  body #slidecarthq .footer-row .footer-row-flex {gap: 7px;}
  body #slidecarthq .footer-row span .footer-code {margin-left: 0;}
}

@media (max-width:374px){
  .collection_main_media .collection-swatches{transform: translate(-50%,-80%);}
  .c-page--collection .c-collection-template__top .o-heading{margin-bottom:0;}
  #slidecarthq .item .main-bottom {gap: 5px;}
  body #slidecarthq .discount-box { bottom: 182px; }
}

.product-collection__personalised-water-bottle-with-straw .c-product-builder__slider-slide .template-label,
.product-collection__charm-water-bottle .c-product-builder__slider-slide .template-label{
  display: none;
}
.product-collection__personalised-water-bottle-with-straw .c-product-builder__slider-slide .c-product-builder__templates,
.product-collection__charm-water-bottle .c-product-builder__slider-slide .c-product-builder__templates{
  display: none;
}

/* updated css for thankyou page start */
#get-quote-thank-you .c-page__content {
    max-width: 960px;
    margin: 0 auto;
}
#get-quote-thank-you .c-page__content h3 {
    font-family: Circular Std Book;
    font-size: 42px;
    text-transform: inherit;
    margin-bottom: 30px;
}

@media (max-width:1360px){
  #get-quote-thank-you .c-page__content h3 {
    font-size: 40px;
    margin-bottom: 25px;
  }
}
@media (max-width:990px){
  #get-quote-thank-you .c-page__content h3 {
    font-size: 30px;
    margin-bottom: 20px;
  }
}
@media (max-width:750px){
  #get-quote-thank-you .c-page__content h3 {
    font-size: 25px;
    margin-bottom: 15px;
  }
}
/* updated css for thankyou page end*/

/* updated css for collection banner start*/
.banner_image_cover{
  position: relative;
}

.banner-content-wrap {
    max-width: 100%;
    width: 40%;
    position: absolute;
    top: 50%;
    transform: translate(-13%, -50%);
    left: 13%;
    text-align: center;
}

.banner_image_cover .banner-heading {
    color: #250e62;
    font-family: Circular Std;
    line-height: 1.3;
    margin: 0px 0 15px;
}

.banner_image_cover .banner-content * {
    font-family: Circular Std Book;
    color: #250e62;
    margin: 0;
   
}
.banner_image_cover h1,
.banner_image_cover .extra-extra-large{
  font-size: 55px;
}
.banner_image_cover h2,
.banner_image_cover .extra-large{
  font-size: 45px;
}
.banner_image_cover h3,
.banner_image_cover .large{
  font-size: 40px;
}
.banner_image_cover h4,
.banner_image_cover .medium{
  font-size: 30px;
}
.banner_image_cover h5,
.banner_image_cover .small{
  font-size: 24px;
}
.banner_image_cover p{
  font-size: 18px;
  line-height: 1.5;
}
@media (min-width:750px){
  .banner_image_cover .desk-banner-heading,
  .banner_image_cover .desk-banner-content{
    display: block;
  }

  .banner_image_cover .mob-banner-heading,
  .banner_image_cover .mob-banner-content{
    display:none;
  }
}  
@media (max-width:1360px){
  .banner_image_cover h1,
  .banner_image_cover .extra-extra-large{
    font-size: 50px;
  }
  .banner_image_cover h2,
  .banner_image_cover .extra-large{
    font-size: 40px;
  }
  .banner_image_cover h3,
  .banner_image_cover .large{
    font-size: 35px;
  }
  .banner_image_cover h4,
  .banner_image_cover .medium{
    font-size: 28px;
  }
  .banner_image_cover h5,
  .banner_image_cover .small{
    font-size: 20px;
  }
  .banner_image_cover p{
    font-size: 15px;
  }
  .banner-content-wrap {
      transform: translate(-15%, -50%);
      left: 15%;
  }
}
@media (max-width:990px){
  .banner_image_cover h1,
  .banner_image_cover .extra-extra-large{
    font-size: 40px;
  }
  .banner_image_cover h2,
  .banner_image_cover .extra-large{
    font-size: 35px;
  }
  .banner_image_cover h3,
  .banner_image_cover .large{
    font-size: 30px;
  }
  .banner_image_cover h4,
  .banner_image_cover .medium{
    font-size: 25px;
  }
  .banner_image_cover h5,
  .banner_image_cover .small{
    font-size: 20px;
  }
  .banner_image_cover .banner-heading {
  
      margin: 0px 0 10px;
  }
  .banner_image_cover p{
    font-size: 13px;
  }
}
@media (max-width:750px){
  .banner_image_cover .mob-extra-extra-large{
    font-size: 30px;
  }
  .banner_image_cover .mob-extra-large{
    font-size: 25px;
  }
  .banner_image_cover .mob-large{
    font-size: 22px;
  }
  .banner_image_cover .mob-medium{
    font-size: 20px;
  }
  .banner_image_cover .mob-small{
    font-size: 18px;
  }
  .banner-content-wrap {
      max-width: 100%;
      width: 35%;
      text-align: left;    
      left: 10%;
  }
  .banner_image_cover .banner-heading {
      margin: 0 0 5px;
  }

  .banner_image_cover .desk-banner-heading,
  .banner_image_cover .desk-banner-content{
    display: none;
  }

  .banner_image_cover .mob-banner-heading,
  .banner_image_cover .mob-banner-content{
    display:block;
  }
}

@media (max-width:479px){
  .banner_image_cover p {
  font-size: 10px;
  line-height: 1;
}
}



/* ========================================================================= */
.c-section__wrapper .c-how-it-works__steps-image-box{
  line-height:0;
}
.c-product-template__content-headings--group .dynamic-title-size-sub-title {
    margin: 10px 0 !important;
}
.c-product-template__content-headings--group .dynamic-title-size {
    line-height: 1.2;
}
.c-product-carousel-thumbs-item.is-selected {
    border: 2px solid #fff;
}
.c-how-it-works .c-how-it-works__icon-organic-how-it-works{
  display:none;
}

@media (max-width:749px){
  .custom-product-faq-section .dynamic-title-size, .custom-product-faq-section .dynamic-title-size-sub-title {
    line-height: 1.3;
  }
  .c-page--product .c-product-template__wrapper .c-product-carousel-thumbs .c-product-carousel-thumbs-item {
      width: 30px;
      height: 30px;
  }
  .c-page--index .c-collection-youmaylike__top{
    padding-top:0;
  }
  .c-collection-youmaylike__top h2.dynamic-title-size.c-collection-youmaylike__top--title {
    margin-top: 20px;
  }
}


/* test collecion */
/* .o-main__wrapper,
.c-collection-template{
  background-image: none;
} */
.c-collection-template__product .product-thumbnail__details-wrap {
  flex: none;
  gap: 5px;
}
.c-collection-template__product .o-product-thumbnail__price {
  display: flex;
  align-items: center;
  gap: 10px;
  opacity: 1;
  flex-wrap: wrap;
}
.c-collection-template__product .price-range.price-sale,
.c-collection-template__product .price-sale,
.c-collection-template__product .price-range {
  font-family: Circular Std;
  font-weight: 400;
  font-size: 18px;
  line-height: 1;
  color: #E4000F;
  letter-spacing: 0;
}
.c-collection-template__product .price-regular{
  font-family: Circular Std;
  font-weight: 400;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0;
}
.c-collection-template__product .price-compare {
  color: #A4A4A4;
  text-decoration: line-through;
  font-family: Circular Std;
  font-weight: 400;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0;
}
.c-collection-template__product .price-save {
  font-family: Circular Std;
  font-size: 12px;
  line-height: 1;
  color: #fff;
  padding: 6px 10px;
  border-radius: 50px;
  background: #271066;
  text-transform: uppercase;
  display: inline;
  text-align: center;
  letter-spacing: 0;
}


.c-product-template .o-product-pricing.c-product-template__price{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.c-product-template .o-product-pricing__save{
  font-family: Circular Std;
  font-size: 14px;
  line-height: 1;
  color: #fff;
  padding: 8px 18px;
  border-radius: 50px;
  background: #271066;
  text-transform: uppercase;
  display: inline;
  text-align: center;
  letter-spacing: 0;
}
.c-product-template .o-product-pricing__price {
  font-family: Circular Std;
  font-weight: 400;
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0;
}
.c-product-template .o-product-pricing__price--sale{
  font-family: Circular Std;
  font-weight: 400;
  font-size: 22px;
  line-height: 1;
  color: #E4000F;
  letter-spacing: 0;
}
.c-product-template .o-product-pricing__compare {
  font-family: Circular Std;
  font-weight: 450;
  font-size: 22px;
  line-height: 10px;
  color: #A4A4A4;
  letter-spacing: 0;
}

@media screen and (max-width: 1250px) {
  .c-collection-template__product .price-range.price-sale,
  .c-collection-template__product .price-sale,
  .c-collection-template__product .price-regular,
  .c-collection-template__product .price-compare {
    font-size: 16px;
  }
  .c-product-template .o-product-pricing__save{
    font-size: 12px;
  }
  .c-product-template .o-product-pricing__price--sale,
  .c-product-template .o-product-pricing__price ,
  .c-product-template .o-product-pricing__compare{
    font-size: 20px;
  }
}

@media (max-width:749px){
  .c-collection-template__product .price-range.price-sale,
  .c-collection-template__product .price-sale,
  .c-collection-template__product .price-regular,
  .c-collection-template__product .price-compare {
    font-size: 15px;
  }
  .c-collection-template__product .price-save,
  .c-product-template .o-product-pricing__save{
    font-size: 10px;
  }
  .c-collection-template__product .price-save {
    position: absolute;
    top: 10px;
    right: 10px;
  }
  .c-product-template .o-product-pricing__price--sale,
  .c-product-template .o-product-pricing__price ,
  .c-product-template .o-product-pricing__compare{
    font-size: 18px;
  }
}

.logo-marquee {
  overflow: hidden;
  padding: var(--lm-padding-top) 0 var(--lm-padding-bottom);
  margin-bottom: var(--lm-margin-bottom);
  background-color: var(--lm-bg);
}

.logo-marquee__heading {
  text-align: center;
  margin: 0 0 24px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lm-heading-color);
}

.logo-marquee__viewport {
  overflow: hidden;
  width: 100%;
}

.logo-marquee__track {
  display: flex;
  align-items: center;
  width: max-content;
  gap: var(--lm-gap);
  animation: logo-marquee-scroll var(--lm-speed) linear infinite;
}

.logo-marquee__item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.logo-marquee__img {
  display: block;
  height: var(--lm-logo-height);
  width: auto;
  max-width: 160px;
  object-fit: contain;
  filter: grayscale(100%) brightness(0);
}

@keyframes logo-marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .logo-marquee__track {
    animation: none;
  }
}


/* ==== c-page__wrapper--wide ==== */
/* Figma's redesign canvas maxes out at 1920px; beyond that, centre the whole
   page (header, sections, footer) instead of stretching it further. */
.c-page__wrapper--wide {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}

/* .c-section__wrapper is shared site-wide and capped at 1500px; the header and
   footer are the only redesign sections using it, so lifting the cap here lets
   their content grow with the wider wrapper. */
.c-page__wrapper--wide .c-section__wrapper {
  max-width: 1920px;
}

/* The redesign header sits in the page flow, so nothing needs to reserve space
   above the content: cancel both the `.o-main__wrapper` padding-top from
   layout.theme.css.liquid and the inline one layout.theme.js writes here for
   the old fixed header's mega-menu. !important is what beats that inline style. */
[data-main-wrapper] {
  padding-top: 0 !important;
}

/* layout.theme.css.liquid gives collection, index, list-collections and search
   pages overflow: hidden here, which breaks position: sticky inside. clip still
   trims horizontal overflow without making the wrapper a scroll container. */
.c-page__wrapper--wide .o-main__wrapper {
  overflow: visible;
  overflow-x: clip;
}

/* ==== redesign-typography ==== */
/* One type scale shared by every redesign-* section, so headings, body copy
   and labels step consistently from section to section. Sizes follow the
   July and frank green references rather than the Figma values: the Figma
   artboards are 1920px wide, so their type reads about a third smaller in
   Figma than it renders on a 1440px screen. Sections with per-section size
   settings default to the same steps.

   Headings use 'Circular Std' (the Medium cut) at weight 500 — the store
   only has the Book and Medium files, so the 700/900 weights used before
   were faux-bolded by the browser. The family needs !important on h1–h6
   because assets/dynamic.css forces every heading to Circular Std Book.

   Buttons share three heights: standard (44px mobile / 48px desktop, close
   to July and frank green), large for the hero's "Big" option, and small for
   product cards. Desktop buttons size to their label within a min/max width
   instead of stretching to 450–840px. */
  :root {
    --redesign-type-display: 2rem;
    --redesign-type-h2: 1.625rem;
    --redesign-type-h3: 1.125rem;
    --redesign-type-lead: 1rem;
    --redesign-type-body: 0.9375rem;
    --redesign-type-small: 0.8125rem;
    --redesign-type-label: 0.75rem;
    --redesign-type-button: 0.75rem;
    --redesign-type-tracking-heading: -0.02em;
    --redesign-type-tracking-label: 0.12em;
    --redesign-button-height: 2.75rem;
    --redesign-button-height-large: 3rem;
    --redesign-button-height-small: 2rem;
    --redesign-button-padding-x: 1.5rem;
    --redesign-button-min-width: 15rem;
    --redesign-button-max-width: 20rem;
  }

  @media only screen and (min-width: 750px) {
    :root {
      --redesign-type-display: 2.5rem;
      --redesign-type-h2: 1.75rem;
      --redesign-type-h3: 1.25rem;
      --redesign-type-lead: 1.0625rem;
      --redesign-type-body: 1rem;
      --redesign-type-small: 0.875rem;
      --redesign-type-label: 0.8125rem;
      --redesign-type-button: 0.8125rem;
      --redesign-button-height: 3rem;
      --redesign-button-height-large: 3.25rem;
      --redesign-button-padding-x: 2rem;
    }
  }

  @media only screen and (min-width: 1000px) {
    :root {
      --redesign-type-display: 3rem;
      --redesign-type-h2: 2rem;
      --redesign-type-h3: 1.375rem;
      --redesign-type-lead: 1.125rem;
      --redesign-type-button: 0.875rem;
    }
  }

  /* The legacy body rule spaces all text out by 0.0614em; Circular is
     drawn to be set without tracking. */
  .redesign-hero,
  .redesign-cta,
  .redesign-cta-tiles,
  .redesign-faq,
  .redesign-features,
  .redesign-testimonials,
  .redesign-custom-cta,
  .redesign-featured-work,
  .redesign-productcta,
  .redesign-product-cards,
  .redesign-contact-form,
  .redesign-how-it-works,
  .redesign-icon-with-text,
  .redesign-fixed-bg {
    letter-spacing: normal;
  }

/* ==== redesign-hero ==== */
/* --redesign-hero-* custom properties are set inline on the section's
   root element (see sections/redesign-hero.liquid) rather than here,
   since their values are computed per-instance from section.settings —
   Liquid isn't processed in this file, only in assets/*.css.liquid. */
  .redesign-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    align-items: var(--redesign-hero-mobile-vertical-align);
    width: 100%;
    min-height: calc(100vw * 84 / 65);
    margin-top: var(--redesign-hero-margin-top-mobile);
    margin-bottom: var(--redesign-hero-margin-bottom-mobile);
    padding-top: calc(2rem + var(--redesign-hero-padding-extra-top-mobile));
    padding-right: 1rem;
    padding-bottom: calc(3rem + var(--redesign-hero-padding-extra-bottom-mobile));
    padding-left: 1rem;
  }

  .redesign-hero__media {
    position: absolute;
    inset: 0;
    z-index: -2;
    background-color: #e1e1e1;
  }

  .redesign-hero__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--redesign-hero-image-position-mobile);
  }

  .redesign-hero__scrim {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.35) 45%, rgba(0, 0, 0, 0) 75%);
    display: none;
  }

  .redesign-hero__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: var(--redesign-hero-mobile-align-items);
    align-self: var(--redesign-hero-mobile-inner-align-self);
    width: 100%;
    max-width: 32.5rem;
  }

  .redesign-hero .redesign-hero__heading {
    margin: 0;
    font-family: 'Circular Std', sans-serif !important;
    font-weight: 500;
    font-size: var(--redesign-hero-heading-size-mobile);
    line-height: 1.1;
    letter-spacing: var(--redesign-type-tracking-heading);
    text-transform: none;
    text-align: var(--redesign-hero-mobile-text-align);
    color: var(--redesign-hero-heading-color-mobile);
  }

  .redesign-hero__heading--font-circular-std {
    letter-spacing: var(--redesign-type-tracking-heading);
  }

  .redesign-hero__heading--font-angie {
    font-family: 'Angie', sans-serif !important;
    font-weight: normal;
  }

  .redesign-hero__heading-highlight {
    color: var(--redesign-hero-heading-highlight-color);
  }

  .redesign-hero--no-mobile-break .redesign-hero__heading-break {
    display: none;
  }

  .redesign-hero__description {
    margin: 1rem 0;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-hero-paragraph-size-mobile);
    line-height: 1.5;
    text-align: var(--redesign-hero-mobile-text-align);
    color: var(--redesign-hero-description-color-mobile);
  }

  .redesign-hero__description p {
    margin: 0;
    font-size: inherit;
  }

  .redesign-hero__description a {
    color: inherit;
    text-decoration: underline;
    transition: opacity 0.2s ease;
  }

  .redesign-hero__description a:hover {
    color: inherit;
    opacity: 0.85;
  }

  .redesign-hero__description--mobile-hidden {
    display: none;
  }

  .redesign-hero__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 0.5rem;
    margin-top: var(--redesign-hero-mobile-actions-margin-top);
  }

  .redesign-hero__actions--grid-mobile {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 0.625rem;
    row-gap: 0.625rem;
  }

  .redesign-hero__actions--grid-mobile .redesign-hero__button {
    width: 100%;
  }

  /*
    Scoped to a max-width query (unlike the rest of this file's
    mobile-first cascade) specifically so it can't leak into desktop
    sizing: `--grid-mobile` only controls layout below 750px (it's
    reset to flex above that), but without this guard the higher
    specificity of this descendant selector would still beat the
    desktop size-big/size-small font-size rules even once the grid
    layout itself no longer applies.
  */
  @media only screen and (max-width: 749.98px) {
    .redesign-hero__actions--grid-mobile .redesign-hero__button {
      font-size: 0.5rem;
    }
  }

  .redesign-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border-radius: 62.5rem;
    font-family: 'Circular Std', sans-serif;
    font-weight: 700;
    letter-spacing: var(--redesign-type-tracking-label);
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
  }

  .redesign-hero__button:hover,
  .redesign-hero__button:focus,
  .redesign-hero__button:active {
    transform: scale(1.03);
  }

  .redesign-hero__button--static,
  .redesign-hero__button--static:hover,
  .redesign-hero__button--static:focus,
  .redesign-hero__button--static:active {
    cursor: default;
    transform: none;
  }

  .redesign-hero__button--theme-blue {
    background-color: #9fc6dd;
    color: #252e3d;
    border: 2px solid #9fc6dd;
  }

  .redesign-hero__button--theme-blue:hover,
  .redesign-hero__button--theme-blue:focus,
  .redesign-hero__button--theme-blue:active {
    color: #252e3d !important;
  }

  .redesign-hero__button--theme-ebony {
    background-color: #252e3d;
    color: #ffffff;
    border: 2px solid #252e3d;
  }

  .redesign-hero__button--theme-ebony:hover,
  .redesign-hero__button--theme-ebony:focus,
  .redesign-hero__button--theme-ebony:active {
    color: #ffffff !important;
  }

  .redesign-hero__button--theme-outline {
    background-color: transparent;
    color: #ffffff;
    border: 2px solid #ffffff;
  }

  .redesign-hero__button--theme-outline:hover,
  .redesign-hero__button--theme-outline:focus,
  .redesign-hero__button--theme-outline:active {
    color: #ffffff !important;
  }

  .redesign-hero__button--size-big {
    padding: 1rem 1.5rem;
    font-size: 0.75rem;
  }

  .redesign-hero__button--size-small {
    padding: 0.75rem 1.25rem;
    font-size: 0.75rem;
  }

  .redesign-hero .redesign-hero__button--theme-underline {
    align-self: flex-start;
    width: auto;
    font-size: 1rem;
    height: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    color: var(--redesign-hero-description-color-mobile);
    text-transform: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 100% 0.125rem;
    transition: background-size 0.28s ease;
  }

  .redesign-hero .redesign-hero__button--theme-underline:hover,
  .redesign-hero .redesign-hero__button--theme-underline:focus,
  .redesign-hero .redesign-hero__button--theme-underline:active {
    color: var(--redesign-hero-description-color-mobile);
    background-size: 0% 0.125rem;
    transform: none;
  }

  .redesign-hero .redesign-hero__button--theme-underline.redesign-hero__button--static {
    background-size: 100% 0.125rem;
  }

  @media only screen and (min-width: 750px) {
    .redesign-hero {
      align-items: var(--redesign-hero-desktop-vertical-align);
      min-height: 50vw;
      margin-top: var(--redesign-hero-margin-top-desktop);
      margin-bottom: var(--redesign-hero-margin-bottom-desktop);
      padding-top: calc(4rem + var(--redesign-hero-padding-extra-top-desktop));
      padding-right: 1.875rem;
      padding-bottom: calc(4rem + var(--redesign-hero-padding-extra-bottom-desktop));
      padding-left: 1.875rem;
    }

    .redesign-hero__image {
      object-position: var(--redesign-hero-image-position-desktop);
    }

    .redesign-hero__scrim {
      display: block;
    }

    .redesign-hero__inner {
      align-items: var(--redesign-hero-desktop-align-items);
      align-self: var(--redesign-hero-desktop-inner-align-self);
      max-width: 39rem;
    }

    .redesign-hero .redesign-hero__heading {
      text-align: var(--redesign-hero-desktop-text-align);
      font-size: var(--redesign-hero-heading-size-tablet);
      color: var(--redesign-hero-heading-color-desktop);
    }

    .redesign-hero--no-mobile-break .redesign-hero__heading-break {
      display: inline;
    }

    .redesign-hero__description {
      display: block;
      text-align: var(--redesign-hero-desktop-text-align);
      font-size: var(--redesign-hero-paragraph-size-tablet);
      color: var(--redesign-hero-description-color-desktop);
    }

    .redesign-hero__actions {
      max-width: 27rem;
      gap: 1rem;
      margin-top: var(--redesign-hero-desktop-actions-margin-top-tablet);
    }

    .redesign-hero__actions--grid-mobile {
      max-width: 32.25rem;
    }

    .redesign-hero__actions--grid-mobile {
      display: flex;
    }

    .redesign-hero__button--size-big {
      height: var(--redesign-button-height-large);
      padding: 0 var(--redesign-button-padding-x);
      font-size: calc(var(--redesign-type-button) * 1.15);
    }

    .redesign-hero__button--size-small {
      height: var(--redesign-button-height);
      padding: 0 var(--redesign-button-padding-x);
      font-size: var(--redesign-type-button);
    }

    .redesign-hero .redesign-hero__button--theme-underline,
    .redesign-hero .redesign-hero__button--theme-underline:hover,
    .redesign-hero .redesign-hero__button--theme-underline:focus,
    .redesign-hero .redesign-hero__button--theme-underline:active {
      color: var(--redesign-hero-description-color-desktop);
    }

    .redesign-hero .redesign-hero__button--theme-underline {
      font-size: 1.1875rem;
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-hero {
      justify-content: var(--redesign-hero-desktop-justify);
      min-height: min(50vw, max(calc(100svh - var(--header-height, 0px)), 40vw));
      padding-top: calc(6rem + var(--redesign-hero-padding-extra-top-desktop));
      padding-right: 3.75rem;
      padding-bottom: calc(6rem + var(--redesign-hero-padding-extra-bottom-desktop));
      padding-left: 3.75rem;
    }

    .redesign-hero__inner {
      width: var(--redesign-hero-desktop-content-width);
      max-width: none;
    }

    .redesign-hero .redesign-hero__heading {
      font-size: var(--redesign-hero-heading-size-desktop);
    }

    .redesign-hero__description {
      max-width: var(--redesign-hero-description-width-desktop);
      margin-top: var(--redesign-hero-description-space-above-desktop);
      font-size: var(--redesign-hero-paragraph-size-desktop);
    }

    .redesign-hero__actions {
      max-width: 27rem;
      flex-direction: var(--redesign-hero-desktop-buttons-flow-direction);
      flex-wrap: wrap;
      gap: 1rem;
      margin-top: var(--redesign-hero-desktop-actions-margin-top-desktop);
    }

    .redesign-hero__actions--grid-desktop {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      column-gap: 1.375rem;
      row-gap: 1.125rem;
      max-width: 32.25rem;
    }

    .redesign-hero__actions--grid-desktop .redesign-hero__button {
      width: 100%;
    }

    .redesign-hero__button {
      width: var(--redesign-hero-desktop-buttons-item-width);
    }
  }

  @media only screen and (min-width: 1250px) {
    .redesign-hero {
      padding-top: calc(7.5rem + var(--redesign-hero-padding-extra-top-desktop));
      padding-right: 5.625rem;
      padding-bottom: calc(7.5rem + var(--redesign-hero-padding-extra-bottom-desktop));
      padding-left: 5.625rem;
    }
  }

/* ==== redesign-hero-occasion ==== */
  .redesign-hero-occasion {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 1rem;
    width: 100%;
    padding-bottom: 2rem;
    letter-spacing: normal;
  }

  /* Below 750px the image keeps the hero's usual mobile height with only the
     heading on it; display: contents on the inner drops the rest of the
     content into the grid rows below the image. */
  .redesign-hero-occasion__media {
    position: relative;
    grid-area: 1 / 1;
    aspect-ratio: 65 / 84;
    margin-bottom: 0.5rem;
    background-color: #e1e1e1;
  }

  .redesign-hero-occasion__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--redesign-hero-occasion-image-position-mobile);
  }

  .redesign-hero-occasion__inner {
    display: contents;
  }

  .redesign-hero-occasion .redesign-hero-occasion__heading {
    position: relative;
    grid-area: 1 / 1;
    align-self: start;
    margin: 0;
    padding: 2rem 2rem 0;
    font-family: 'Circular Std', sans-serif !important;
    font-weight: 500;
    font-size: var(--redesign-hero-occasion-heading-size-mobile);
    line-height: 1.1;
    letter-spacing: var(--redesign-type-tracking-heading);
    text-transform: none;
    text-align: center;
    color: var(--redesign-hero-occasion-heading-color-mobile);
  }

  .redesign-hero-occasion__subheading {
    margin: 0;
    padding: 0 2rem;
    font-family: 'Circular Std Book', sans-serif;
    font-size: var(--redesign-hero-occasion-subheading-size-mobile);
    line-height: 1.3;
    text-align: center;
    color: var(--redesign-hero-occasion-description-color-mobile);
  }

  .redesign-hero-occasion__description {
    margin: 0;
    padding: 0 2rem;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-hero-occasion-paragraph-size-mobile);
    line-height: 1.5;
    text-align: center;
    color: var(--redesign-hero-occasion-description-color-mobile);
  }

  .redesign-hero-occasion__description p {
    margin: 0;
    font-size: inherit;
  }

  .redesign-hero-occasion__description a {
    color: inherit;
    text-decoration: underline;
    transition: opacity 0.2s ease;
  }

  .redesign-hero-occasion__description a:hover {
    color: inherit;
    opacity: 0.85;
  }

  .redesign-hero-occasion__actions {
    justify-self: center;
    width: 100%;
    max-width: 18rem;
    margin-top: 0.5rem;
  }

  .redesign-hero-occasion__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 2.875rem;
    padding: 0 1.5rem;
    border: 2px solid #252e3d;
    border-radius: 62.5rem;
    background-color: #252e3d;
    font-family: 'Circular Std', sans-serif;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: var(--redesign-type-tracking-label);
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    color: #ffffff;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
  }

  .redesign-hero-occasion__button:hover,
  .redesign-hero-occasion__button:focus,
  .redesign-hero-occasion__button:active {
    color: #ffffff;
    transform: scale(1.03);
  }

  .redesign-hero-occasion__button--static,
  .redesign-hero-occasion__button--static:hover,
  .redesign-hero-occasion__button--static:focus,
  .redesign-hero-occasion__button--static:active {
    cursor: default;
    transform: none;
  }

  @media only screen and (min-width: 750px) {
    .redesign-hero-occasion {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      display: flex;
      align-items: center;
      min-height: 50vw;
      padding: 4rem 1.875rem;
    }

    .redesign-hero-occasion__media {
      position: absolute;
      inset: 0;
      z-index: -1;
      aspect-ratio: auto;
      margin-bottom: 0;
    }

    .redesign-hero-occasion__image {
      object-position: var(--redesign-hero-occasion-image-position-desktop);
    }

    .redesign-hero-occasion__inner {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 100%;
      max-width: 39rem;
    }

    .redesign-hero-occasion .redesign-hero-occasion__heading {
      width: 100%;
      padding: 0;
      font-size: var(--redesign-hero-occasion-heading-size-tablet);
      color: var(--redesign-hero-occasion-heading-color-desktop);
    }

    .redesign-hero-occasion__subheading {
      display: none;
    }

    .redesign-hero-occasion__description {
      margin: 1rem 0;
      padding: 0;
      font-size: var(--redesign-hero-occasion-paragraph-size-tablet);
      color: var(--redesign-hero-occasion-description-color-desktop);
    }

    .redesign-hero-occasion__actions {
      max-width: 27rem;
      margin-top: 2rem;
    }

    .redesign-hero-occasion__button {
      height: 3.0469rem;
      padding: 0 2rem;
      border-color: #ffffff;
      background-color: #ffffff;
      font-size: calc(var(--redesign-type-button) * 1.15);
      color: #252e3d;
    }

    .redesign-hero-occasion__button:hover,
    .redesign-hero-occasion__button:focus,
    .redesign-hero-occasion__button:active {
      color: #252e3d;
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-hero-occasion {
      justify-content: flex-start;
      min-height: min(50vw, max(calc(100svh - var(--header-height, 0px)), 40vw));
      padding: 6rem 3.75rem;
    }

    .redesign-hero-occasion__inner {
      width: 40%;
      max-width: none;
    }

    .redesign-hero-occasion .redesign-hero-occasion__heading {
      font-size: var(--redesign-hero-occasion-heading-size-desktop);
    }

    .redesign-hero-occasion__description {
      max-width: 30.25rem;
      margin-top: 1.5rem;
      font-size: var(--redesign-hero-occasion-paragraph-size-desktop);
    }

    .redesign-hero-occasion__actions {
      margin-top: 2.5rem;
    }
  }

  @media only screen and (min-width: 1250px) {
    .redesign-hero-occasion {
      padding: 7.5rem 5.625rem;
    }
  }

/* ==== redesign-cta ==== */
  .redesign-cta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: var(--redesign-cta-margin-top-mobile);
    margin-bottom: var(--redesign-cta-margin-bottom-mobile);
    padding-top: calc(2rem + var(--redesign-cta-padding-extra-top-mobile));
    padding-right: 1rem;
    padding-bottom: calc(2.5rem + var(--redesign-cta-padding-extra-bottom-mobile));
    padding-left: 1rem;
  }

  .redesign-cta--white {
    background-color: #ffffff;
  }

  .redesign-cta--white .redesign-cta__description {
    color: #707070;
  }

  .redesign-cta--sky-blue {
    background-color: #9fc6dd;
  }

  .redesign-cta--sky-blue .redesign-cta__description {
    color: rgba(37, 46, 61, 0.65);
  }

  .redesign-cta__content {
    display: flex;
    flex-direction: column;
  }

  .redesign-cta__heading {
    margin: 0 0 0.75rem;
    font-family: 'Circular Std', sans-serif !important;
    font-weight: 500;
    font-size: var(--redesign-type-h2);
    line-height: 1.2;
    letter-spacing: var(--redesign-type-tracking-heading);
    text-transform: uppercase;
    color: #252e3d;
  }

  .redesign-cta__heading--angie {
    font-family: 'Angie', sans-serif !important;
    font-weight: normal;
  }

  .redesign-cta__heading--no-uppercase {
    text-transform: none;
  }

  .redesign-cta__description {
    margin: 0;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-type-small);
    line-height: 1.5;
    letter-spacing: normal;
  }

  .redesign-cta__description p {
    margin: 0;
    font-size: inherit;
  }

  .redesign-cta__description a {
    color: inherit;
    text-decoration: underline;
    transition: opacity 0.2s ease;
  }

  .redesign-cta__description a:hover {
    color: inherit;
    opacity: 0.85;
  }

  .redesign-cta__actions {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0.5rem;
    margin-top: 1rem;
  }

  .redesign-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--redesign-button-padding-x);
    border: 2px solid #252e3d;
    border-radius: 62.5rem;
    background-color: #252e3d;
    color: #ffffff;
    font-family: 'Circular Std', sans-serif;
    font-weight: 700;
    font-size: var(--redesign-type-button);
    letter-spacing: var(--redesign-type-tracking-label);
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
    height: var(--redesign-button-height);
    line-height: 1;
  }

  .redesign-cta__button:hover,
  .redesign-cta__button:focus,
  .redesign-cta__button:active {
    background-color: transparent;
    color: #252e3d;
  }

  @media only screen and (min-width: 750px) {
    .redesign-cta {
      flex-direction: column;
      align-items: flex-start;
      gap: 1.125rem;
      margin-top: var(--redesign-cta-margin-top-desktop);
      margin-bottom: var(--redesign-cta-margin-bottom-desktop);
      padding-top: calc(1.5rem + var(--redesign-cta-padding-extra-top-desktop));
      padding-right: 2.25rem;
      padding-bottom: calc(1.5rem + var(--redesign-cta-padding-extra-bottom-desktop));
      padding-left: 2.25rem;
    }

    .redesign-cta__content {
      min-width: 0;
    }

    .redesign-cta__heading {
      margin-bottom: 0.375rem;
      font-size: var(--redesign-cta-heading-size-desktop);
      line-height: 1.2;
    }

    .redesign-cta__description {
      font-size: var(--redesign-type-lead);
      line-height: 1.55;
    }

    .redesign-cta__actions {
      flex-direction: row;
      flex-wrap: wrap;
      width: auto;
      flex-shrink: 0;
      gap: 0.75rem;
      margin-top: 0;
    }

    .redesign-cta__button {
      padding: 0 var(--redesign-button-padding-x);
      font-size: var(--redesign-type-button);
      line-height: 1;
      min-width: var(--redesign-button-min-width);
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-cta {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      gap: 1.875rem;
      padding-top: calc(2rem + var(--redesign-cta-padding-extra-top-desktop));
      padding-right: 5.625rem;
      padding-bottom: calc(2rem + var(--redesign-cta-padding-extra-bottom-desktop));
      padding-left: 5.625rem;
    }
  }

/* ==== redesign-cta-tiles ==== */
  .redesign-cta-tiles {
    display: flex;
    flex-direction: column;
    margin-top: var(--redesign-cta-tiles-margin-top-mobile);
    margin-bottom: var(--redesign-cta-tiles-margin-bottom-mobile);
    padding-top: var(--redesign-cta-tiles-padding-top-mobile);
    padding-bottom: var(--redesign-cta-tiles-padding-bottom-mobile);
  }

  .redesign-cta-tiles__tile {
    display: flex;
    flex-direction: column;
    flex: 1 1 20rem;
    padding: 2.25rem 1rem 2.375rem;
  }

  .redesign-cta-tiles__tile:nth-child(odd) {
    background-color: #252e3d;
    color: #ffffff;
  }

  .redesign-cta-tiles__tile:nth-child(even) {
    background-color: #9fc6dd;
    color: #252e3d;
  }

  .redesign-cta-tiles__inner {
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 100%;
  }

  .redesign-cta-tiles__tile .redesign-cta-tiles__title {
    margin: 0 0 0.5rem;
    font-family: 'Circular Std', sans-serif !important;
    font-weight: 500;
    font-size: var(--redesign-cta-tiles-title-size-mobile);
    line-height: 1.15;
    letter-spacing: var(--redesign-type-tracking-heading);
    color: inherit;
  }

  .redesign-cta-tiles__subtitle {
    margin: 0 0 1.25rem;
    font-family: 'Circular Std', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-cta-tiles-subtitle-size-mobile);
    line-height: 1.5625rem;
    letter-spacing: var(--redesign-type-tracking-label);
    text-transform: uppercase;
  }

  .redesign-cta-tiles__description {
    margin-bottom: 1.5rem;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-cta-tiles-description-size-mobile);
    line-height: 1.6;
  }

  .redesign-cta-tiles__description p {
    margin: 0;
    font-size: inherit;
  }

  .redesign-cta-tiles__description ul,
  .redesign-cta-tiles__description ol {
    margin: 1.6rem 0 0;
    padding: 0;
    list-style: none;
  }

  .redesign-cta-tiles__description li {
    position: relative;
    padding-left: 1.5em;
    margin: 0;
  }

  .redesign-cta-tiles__description li::before {
    content: '\2713';
    position: absolute;
    left: 0;
  }

  .redesign-cta-tiles__button {
    display: inline-flex;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: auto;
    padding: 0 var(--redesign-button-padding-x);
    border-radius: 62.5rem;
    font-family: 'Circular Std', sans-serif;
    font-weight: 700;
    font-size: var(--redesign-type-button);
    line-height: 1;
    letter-spacing: var(--redesign-type-tracking-label);
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
    height: var(--redesign-button-height);
  }

  .redesign-cta-tiles__tile:nth-child(odd) .redesign-cta-tiles__button {
    background-color: #9fc6dd;
    color: #252e3d;
    border: 2px solid #9fc6dd;
  }

  .redesign-cta-tiles__tile:nth-child(odd) .redesign-cta-tiles__button:hover,
  .redesign-cta-tiles__tile:nth-child(odd) .redesign-cta-tiles__button:focus,
  .redesign-cta-tiles__tile:nth-child(odd) .redesign-cta-tiles__button:active {
    background-color: transparent;
    color: #9fc6dd;
  }

  .redesign-cta-tiles__tile:nth-child(even) .redesign-cta-tiles__button {
    background-color: #252e3d;
    color: #9fc6dd;
    border: 2px solid #252e3d;
  }

  .redesign-cta-tiles__tile:nth-child(even) .redesign-cta-tiles__button:hover,
  .redesign-cta-tiles__tile:nth-child(even) .redesign-cta-tiles__button:focus,
  .redesign-cta-tiles__tile:nth-child(even) .redesign-cta-tiles__button:active {
    background-color: transparent;
    color: #252e3d;
  }

  @media only screen and (min-width: 750px) {
    .redesign-cta-tiles {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      margin-top: var(--redesign-cta-tiles-margin-top-desktop);
      margin-bottom: var(--redesign-cta-tiles-margin-bottom-desktop);
      padding-top: var(--redesign-cta-tiles-padding-top-desktop);
      padding-bottom: var(--redesign-cta-tiles-padding-bottom-desktop);
    }

    /* Grid items default to min-width: auto, so the nowrap button text sets
       a minimum column width; without this the grid blows out past the
       viewport between 750px and ~808px, before the columns are wide
       enough on their own to fit that text. */
    .redesign-cta-tiles__tile {
      min-width: 0;
    }

    /* Chessboard: within each row-pair of 4 tiles, positions 1 & 4 share a
       color and positions 2 & 3 share the other, so no two tiles that are
       horizontally or vertically adjacent in the 2-column grid match. */
    .redesign-cta-tiles__tile:nth-child(4n+3) {
      background-color: #9fc6dd;
      color: #252e3d;
    }

    .redesign-cta-tiles__tile:nth-child(4n) {
      background-color: #252e3d;
      color: #ffffff;
    }

    .redesign-cta-tiles__tile:nth-child(4n+3) .redesign-cta-tiles__button {
      background-color: #252e3d;
      color: #ffffff;
      border-color: #252e3d;
    }

    .redesign-cta-tiles__tile:nth-child(4n+3) .redesign-cta-tiles__button:hover,
    .redesign-cta-tiles__tile:nth-child(4n+3) .redesign-cta-tiles__button:focus,
    .redesign-cta-tiles__tile:nth-child(4n+3) .redesign-cta-tiles__button:active {
      background-color: transparent;
      color: #252e3d;
    }

    .redesign-cta-tiles__tile:nth-child(4n) .redesign-cta-tiles__button {
      background-color: #9fc6dd;
      color: #252e3d;
      border-color: #9fc6dd;
    }

    .redesign-cta-tiles__tile:nth-child(4n) .redesign-cta-tiles__button:hover,
    .redesign-cta-tiles__tile:nth-child(4n) .redesign-cta-tiles__button:focus,
    .redesign-cta-tiles__tile:nth-child(4n) .redesign-cta-tiles__button:active {
      background-color: transparent;
      color: #9fc6dd;
    }

    .redesign-cta-tiles__tile {
      padding: 4.6875rem 1.875rem;
    }

    .redesign-cta-tiles__inner {
      max-width: 34.5rem;
    }

    .redesign-cta-tiles__tile .redesign-cta-tiles__title {
      margin-bottom: 0.3rem;
      font-size: var(--redesign-cta-tiles-title-size-tablet);
      line-height: 1.15;
      letter-spacing: var(--redesign-type-tracking-heading);
    }

    .redesign-cta-tiles__subtitle {
      margin-bottom: 1.125rem;
      font-size: var(--redesign-cta-tiles-subtitle-size-tablet);
      font-weight: 500;
      line-height: 1.5;
    }

    .redesign-cta-tiles__description {
      margin-bottom: 2.25rem;
      font-size: var(--redesign-cta-tiles-description-size-tablet);
      line-height: 1.6;
    }

    .redesign-cta-tiles__description ul,
    .redesign-cta-tiles__description ol {
      margin-top: 1.05rem;
    }

    .redesign-cta-tiles__button {
      max-width: var(--redesign-button-max-width);
      padding: 0 var(--redesign-button-padding-x);
      font-size: var(--redesign-type-button);
      line-height: 1;
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-cta-tiles__tile {
      padding: 4.6875rem 3.75rem;
    }

    .redesign-cta-tiles__tile .redesign-cta-tiles__title {
      font-size: var(--redesign-cta-tiles-title-size-desktop);
    }

    .redesign-cta-tiles__subtitle {
      font-size: var(--redesign-cta-tiles-subtitle-size-desktop);
    }

    .redesign-cta-tiles__description {
      margin-bottom: 2.85rem;
      font-size: var(--redesign-cta-tiles-description-size-desktop);
    }
  }

  @media only screen and (min-width: 1250px) {
    .redesign-cta-tiles__tile {
      padding: 4.6875rem 5.625rem;
    }
  }

/* ==== redesign-faq ==== */
  .redesign-faq {
    background-color: var(--redesign-faq-bg-color-mobile);
    color: var(--redesign-faq-text-color-mobile);
    margin-top: var(--redesign-faq-margin-top-mobile);
    margin-bottom: var(--redesign-faq-margin-bottom-mobile);
    padding-top: calc(2rem + var(--redesign-faq-padding-extra-top-mobile));
    padding-right: 1rem;
    padding-bottom: calc(2rem + var(--redesign-faq-padding-extra-bottom-mobile));
    padding-left: 1rem;
  }

  .redesign-faq__cta-heading {
    margin: 0 0 1.25rem;
    font-family: 'Angie', sans-serif !important;
    font-weight: normal;
    font-size: var(--redesign-type-h2);
    line-height: 1.2;
    color: inherit;
  }

  .redesign-faq__list {
    display: flex;
    flex-direction: column;
  }

  .redesign-faq__item {
    border-bottom: 1px solid var(--redesign-faq-border-color-mobile);
  }

  .redesign-faq__item:first-child {
    border-top: none;
  }

  .redesign-faq__item:last-child {
    border-bottom: none;
  }

  .redesign-faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    padding: 0.5rem 0;
    border: 0;
    background: none;
    color: inherit;
    text-align: left;
    cursor: pointer;
  }

  .redesign-faq__question-text {
    margin: 0;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 700;
    font-size: var(--redesign-type-body);
    line-height: 1.4;
    letter-spacing: normal;
  }

  .redesign-faq__icon {
    flex: 0 0 auto;
    width: 1.25rem;
    height: 1.25rem;
    transition: transform 0.3s ease;
  }

  .redesign-faq__item--open .redesign-faq__icon {
    transform: rotate(90deg);
  }

  .redesign-faq__answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 1s cubic-bezier(0.23, 1, 0.32, 1);
  }

  .redesign-faq__answer-inner {
    padding: 0 0 1.25rem;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-type-small);
    line-height: 1.6;
    letter-spacing: normal;
  }

  .redesign-faq__answer-inner p {
    margin: 0 0 0.75rem;
    font-size: inherit;
  }

  .redesign-faq__answer-inner p:last-child {
    margin-bottom: 0;
  }

  .redesign-faq__answer-inner a,
  .redesign-faq__answer-inner a:hover,
  .redesign-faq__answer-inner a:focus {
    color: inherit;
  }

  @media only screen and (min-width: 750px) {
    .redesign-faq {
      background-color: var(--redesign-faq-bg-color-desktop);
      color: var(--redesign-faq-text-color-desktop);
      margin-top: var(--redesign-faq-margin-top-desktop);
      margin-bottom: var(--redesign-faq-margin-bottom-desktop);
      padding-top: calc(1.5rem + var(--redesign-faq-padding-extra-top-desktop));
      padding-right: 1.875rem;
      padding-bottom: calc(1.5rem + var(--redesign-faq-padding-extra-bottom-desktop));
      padding-left: 1.875rem;
    }

    .redesign-faq__item {
      padding-top: 0.9375rem;
      border-bottom-color: var(--redesign-faq-border-color-desktop);
    }

    .redesign-faq__item:first-child {
      padding-top: 0;
    }

    .redesign-faq__cta-heading {
      margin-bottom: 2.25rem;
      font-size: var(--redesign-type-h2);
    }

    .redesign-faq__question {
      padding: 0 0 0.9375rem;
    }

    .redesign-faq__question-text {
      font-size: var(--redesign-type-body);
      line-height: 1.4;
    }

    .redesign-faq__icon {
      width: 1.125rem;
      height: 1.125rem;
    }

    .redesign-faq__answer-inner {
      max-width: 41.25rem;
      padding: 0 0 1.5rem;
      font-size: var(--redesign-type-small);
      line-height: 1.6;
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-faq {
      padding-top: calc(2rem + var(--redesign-faq-padding-extra-top-desktop));
      padding-right: 3.75rem;
      padding-bottom: calc(2rem + var(--redesign-faq-padding-extra-bottom-desktop));
      padding-left: 3.75rem;
    }
  }

  @media only screen and (min-width: 1250px) {
    .redesign-faq {
      padding-top: calc(3rem + var(--redesign-faq-padding-extra-top-desktop));
      padding-right: 5.625rem;
      padding-bottom: calc(3rem + var(--redesign-faq-padding-extra-bottom-desktop));
      padding-left: 5.625rem;
    }
  }

/* ==== redesign-features ==== */
  .redesign-features {
    --redesign-features-gutter: 1rem;
    display: flex;
    flex-direction: column;
    background-color: var(--redesign-features-bg-color);
    color: var(--redesign-features-items-color);
    margin-top: var(--redesign-features-margin-top-mobile);
    margin-bottom: var(--redesign-features-margin-bottom-mobile);
    padding-top: calc(2rem + var(--redesign-features-padding-extra-top-mobile));
    padding-right: var(--redesign-features-gutter);
    padding-bottom: calc(3rem + var(--redesign-features-padding-extra-bottom-mobile));
    padding-left: var(--redesign-features-gutter);
  }

  .redesign-features__heading {
    margin: 0;
    font-family: 'Circular Std', sans-serif !important;
    font-weight: 500;
    font-size: var(--redesign-features-heading-size-mobile);
    line-height: 1.1;
    letter-spacing: var(--redesign-type-tracking-heading);
    color: var(--redesign-features-heading-color);
  }

  .redesign-features__heading-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 2rem;
  }

  .redesign-features__lead {
    margin: 0.5rem 0 0;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-features-lead-size-mobile);
    line-height: 1.4;
    color: var(--redesign-features-description-color);
  }

  .redesign-features__lead p {
    margin: 0;
    font-size: inherit;
  }

  .redesign-features__grid {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }

  .redesign-features__item {
    display: flex;
    flex-direction: column;
  }

  .redesign-features__title {
    margin: 0 0 0.5rem;
    font-family: 'Circular Std', sans-serif !important;
    font-weight: 500;
    font-size: var(--redesign-features-title-size-mobile);
    line-height: 1.2;
    color: inherit;
  }

  .redesign-features__description {
    margin: 0;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-features-description-size-mobile);
    line-height: 1.5;
    color: inherit;
  }

  .redesign-features__description p {
    margin: 0;
    font-size: inherit;
  }

  .redesign-features__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
    padding: 0 var(--redesign-button-padding-x);
    border: 2px solid #ffffff;
    border-radius: 62.5rem;
    background-color: #ffffff;
    color: #252e3d;
    font-family: 'Circular Std', sans-serif;
    font-weight: 700;
    font-size: var(--redesign-type-button);
    letter-spacing: var(--redesign-type-tracking-label);
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
    height: var(--redesign-button-height);
    line-height: 1;
  }

  .redesign-features__button:hover,
  .redesign-features__button:focus,
  .redesign-features__button:active {
    background-color: transparent;
    color: #ffffff;
  }

  .redesign-features__scroll-wrap {
    min-width: 0;
    margin-top: 2rem;
    margin-right: calc(-1 * var(--redesign-features-gutter));
    margin-left: calc(-1 * var(--redesign-features-gutter));
    overflow: hidden;
  }

  .redesign-features__scroll {
    width: 100%;
    min-width: 0;
  }

  .redesign-features__scroll .slick-slide {
    width: 12rem;
    margin-right: 0.5rem;
  }

  .redesign-features__scroll-wrap--auto .redesign-features__scroll {
    display: flex;
    width: max-content;
    gap: 0.5rem;
    animation: redesign-features-scroll var(--redesign-features-scroll-speed, 35s) linear infinite;
  }

  .redesign-features__scroll-wrap--auto .redesign-features__slide {
    flex: 0 0 auto;
    width: 12rem;
  }

  @keyframes redesign-features-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }

  @media (prefers-reduced-motion: reduce) {
    .redesign-features__scroll-wrap--auto .redesign-features__scroll {
      animation: none;
    }
  }

  .redesign-features__scroll-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.75rem;
    padding: 0 var(--redesign-features-gutter);
  }

  .redesign-features__scroll-dots .slick-dots {
    position: static;
    display: flex;
    justify-content: flex-start;
    margin: 0;
  }

  .redesign-features__scroll-dots .slick-dots li button {
    width: 0.75rem;
    height: 0.75rem;
    border-width: 2px;
    border-color: #9a9a9a;
  }

  .redesign-features__scroll-dots .slick-dots li button:hover,
  .redesign-features__scroll-dots .slick-dots li button:focus-visible {
    cursor: pointer;
  }

  .redesign-features__scroll-dots .slick-dots li.slick-active button {
    background-color: #9a9a9a;
  }

  .redesign-features__scroll-arrows {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
  }

  .redesign-features__scroll-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: none;
    color: #9a9a9a;
    cursor: pointer;
    transition: color 0.2s ease;
  }

  /*
    Same `.slick-arrow` hijack redesign-featured-work.liquid deals with:
    Slick adds that class to any custom prevArrow/nextArrow element and
    it comes with position: absolute, a fixed size and a background-image
    `:after` — this combined selector has higher specificity and resets
    those properties back to our own inline, static button.
  */
  .redesign-features__scroll-arrow.slick-arrow {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    z-index: auto;
    transform: none;
    width: auto;
    height: auto;
    border-radius: 0;
    font-size: inherit;
  }

  .redesign-features__scroll-arrow.slick-arrow:after {
    content: none;
  }

  .redesign-features__scroll-arrow:hover {
    color: #ffffff;
  }

  .redesign-features__scroll-arrow svg {
    width: 2rem;
    height: 2rem;
  }

  .redesign-features__scroll-card {
    position: relative;
    display: block;
    text-decoration: none;
  }

  .redesign-features__scroll-media {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: #1a212c;
  }

  .redesign-features__scroll-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
  }

  .redesign-features__scroll-card:hover .redesign-features__scroll-image,
  .redesign-features__scroll-card:focus-visible .redesign-features__scroll-image {
    transform: scale(1.05);
  }

  .redesign-features__scroll-scrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.45) 100%);
  }

  .redesign-features__scroll-title {
    position: absolute;
    left: 0.875rem;
    right: 0.875rem;
    bottom: 0.875rem;
    margin: 0;
    font-family: 'Circular Std', sans-serif;
    font-weight: 500;
    font-size: 0.9375rem;
    color: #ffffff;
  }

  @media only screen and (min-width: 750px) {
    .redesign-features {
      --redesign-features-gutter: 1.875rem;
      margin-top: var(--redesign-features-margin-top-desktop);
      margin-bottom: var(--redesign-features-margin-bottom-desktop);
      padding-top: calc(1.5rem + var(--redesign-features-padding-extra-top-desktop));
      padding-bottom: calc(1.5rem + var(--redesign-features-padding-extra-bottom-desktop));
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      column-gap: 2.5rem;
      row-gap: 3rem;
    }

    .redesign-features__heading {
      font-size: var(--redesign-features-heading-size-desktop);
    }

    .redesign-features__heading-group {
      order: 1;
      flex: 1 1 auto;
      margin-bottom: 0;
    }

    .redesign-features__lead {
      font-size: var(--redesign-features-lead-size-desktop);
    }

    .redesign-features__items-wrap {
      order: 3;
      flex: 1 1 100%;
      min-width: 0;
    }

    .redesign-features__grid {
      flex-direction: row;
      gap: 2.5rem;
    }

    .redesign-features__item {
      flex: 1;
    }

    /* Slides are sized off the wrapper (cqi) rather than the slick track,
       which is far wider than the viewport, so 3.5 of them fit across it. */
    .redesign-features__scroll-wrap {
      container-type: inline-size;
    }

    .redesign-features__scroll .slick-slide {
      width: calc((100cqi - 3 * 1.1875rem) / 3.5);
      margin-right: 1.1875rem;
    }

    .redesign-features__scroll-wrap--auto .redesign-features__scroll {
      gap: 1.1875rem;
    }

    .redesign-features__scroll-wrap--auto .redesign-features__slide {
      width: calc((100cqi - 3 * 1.1875rem) / 3.5);
    }

    .redesign-features__scroll-nav {
      margin-top: 1.5rem;
    }

    .redesign-features__title {
      margin-bottom: 1.25rem;
      font-size: var(--redesign-features-title-size-desktop);
    }

    .redesign-features__description {
      font-size: var(--redesign-features-description-size-desktop);
      line-height: 1.5;
    }

    .redesign-features__button {
      order: 2;
      flex: 0 0 auto;
      margin-top: 0;
      padding: 0 var(--redesign-button-padding-x);
      font-size: var(--redesign-type-button);
      min-width: var(--redesign-button-min-width);
    }

    .redesign-features__button--hide-desktop {
      display: none;
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-features {
      --redesign-features-gutter: 3.75rem;
      padding-top: calc(2.25rem + var(--redesign-features-padding-extra-top-desktop));
      padding-bottom: calc(2.25rem + var(--redesign-features-padding-extra-bottom-desktop));
    }
  }

  @media only screen and (min-width: 1250px) {
    .redesign-features {
      --redesign-features-gutter: 5.625rem;
      padding-top: calc(2.8125rem + var(--redesign-features-padding-extra-top-desktop));
      padding-bottom: calc(2.8125rem + var(--redesign-features-padding-extra-bottom-desktop));
    }
  }

/* ==== redesign-testimonials ==== */
  .redesign-testimonials {
    background-color: var(--redesign-testimonials-bg-color-mobile);
    margin-top: var(--redesign-testimonials-margin-top-mobile);
    margin-bottom: var(--redesign-testimonials-margin-bottom-mobile);
    padding-top: calc(2rem + var(--redesign-testimonials-padding-extra-top-mobile));
    padding-right: 1rem;
    padding-bottom: calc(1.5rem + var(--redesign-testimonials-padding-extra-bottom-mobile));
    padding-left: 1rem;
  }

  .redesign-testimonials__inner {
    display: flex;
    flex-direction: column;
  }

  .redesign-testimonials__title {
    margin: 0 0 1.345rem;
    font-family: 'Circular Std', sans-serif !important;
    font-weight: 500;
    font-size: var(--redesign-testimonials-title-size-mobile);
    line-height: 1.15;
    letter-spacing: var(--redesign-type-tracking-heading);
    color: var(--redesign-testimonials-title-color-mobile);
  }

  .redesign-testimonials__track {
    width: 100%;
  }

  .redesign-testimonials__track .slick-slide {
    margin: 0 0.5rem;
  }

  .redesign-testimonials__track.slick-slider .slick-list {
    margin: 0 -0.5rem;
  }

  .redesign-testimonials__slide-inner {
    display: flex;
    flex-direction: column;
  }

  .redesign-testimonials__stars {
    display: flex;
    gap: 0.25rem;
    margin-bottom: 1rem;
  }

  .redesign-testimonials__star {
    position: relative;
    display: inline-flex;
  }

  .redesign-testimonials__stars svg {
    display: block;
    width: 1rem;
    height: 1rem;
  }

  .redesign-testimonials__star--filled {
    position: absolute;
    top: 0;
    left: 0;
    fill: var(--redesign-testimonials-star-active-color-mobile);
  }

  .redesign-testimonials__star--empty {
    fill: var(--redesign-testimonials-star-inactive-color-mobile);
  }

  .redesign-testimonials__quote {
    margin: 0 0 0.75rem;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-testimonials-quote-size-mobile);
    line-height: 1.55;
    color: var(--redesign-testimonials-description-color-mobile);
  }

  .redesign-testimonials__attribution {
    margin: 0 0 2rem;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-testimonials-attribution-size-mobile);
    line-height: 1.5rem;
    color: var(--redesign-testimonials-description-color-mobile);
  }

  .redesign-testimonials__media {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: #e1e1e1;
  }

  .redesign-testimonials__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .redesign-testimonials__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.75rem;
  }

  .redesign-testimonials__dots .slick-dots {
    position: static;
    display: flex;
    justify-content: flex-start;
    margin: 0;
  }

  .redesign-testimonials__dots .slick-dots li button {
    width: 0.75rem;
    height: 0.75rem;
    border-width: 2px;
    border-color: var(--redesign-testimonials-arrow-color);
  }

  .redesign-testimonials__dots .slick-dots li button:hover,
  .redesign-testimonials__dots .slick-dots li button:focus-visible {
    cursor: pointer;
  }

  .redesign-testimonials__dots .slick-dots li.slick-active button {
    background-color: var(--redesign-testimonials-arrow-color);
  }

  .redesign-testimonials__arrows {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
  }

  .redesign-testimonials__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: none;
    color: var(--redesign-testimonials-arrow-color);
    cursor: pointer;
    transition: color 0.2s ease;
  }

  /*
    Slick's global `.slick-arrow` rule (in the main theme stylesheet) turns
    any element passed as a custom prevArrow/nextArrow into an
    absolutely-positioned 40px circle with a background-image arrow on
    `:after` — it hijacks position, size and content once Slick's JS adds
    that class. This combined selector has higher specificity than the
    lone `.slick-arrow` rule, so it resets those properties back to our
    own inline, static button.
  */
  .redesign-testimonials__arrow.slick-arrow {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    z-index: auto;
    transform: none;
    width: auto;
    height: auto;
    border-radius: 0;
    font-size: inherit;
  }

  .redesign-testimonials__arrow.slick-arrow:after {
    content: none;
  }

  .redesign-testimonials__arrow:hover {
    color: #252e3d;
  }

  .redesign-testimonials__arrow svg {
    width: 1.5rem;
    height: 1.5rem;
  }

  @media only screen and (min-width: 750px) {
    .redesign-testimonials {
      background-color: var(--redesign-testimonials-bg-color-desktop);
      margin-top: var(--redesign-testimonials-margin-top-desktop);
      margin-bottom: var(--redesign-testimonials-margin-bottom-desktop);
      padding-top: calc(1.5rem + var(--redesign-testimonials-padding-extra-top-desktop));
      padding-right: 1.875rem;
      padding-bottom: calc(1.5rem + var(--redesign-testimonials-padding-extra-bottom-desktop));
      padding-left: 1.875rem;
    }

    .redesign-testimonials__track .slick-slide {
      margin: 0 1.5rem;
    }

    .redesign-testimonials__track.slick-slider .slick-list {
      margin: 0 -1.5rem;
    }

    .redesign-testimonials__title {
      margin-bottom: 0.75rem;
      font-size: var(--redesign-testimonials-title-size-desktop);
      line-height: 1.1;
      color: var(--redesign-testimonials-title-color-desktop);
    }

    .redesign-testimonials__stars svg {
      width: 1.875rem;
      height: 1.875rem;
    }

    .redesign-testimonials__star--filled {
      fill: var(--redesign-testimonials-star-active-color-desktop);
    }

    .redesign-testimonials__star--empty {
      fill: var(--redesign-testimonials-star-inactive-color-desktop);
    }

    .redesign-testimonials__quote {
      margin-bottom: 1.125rem;
      font-size: var(--redesign-testimonials-quote-size-desktop);
      color: var(--redesign-testimonials-description-color-desktop);
    }

    .redesign-testimonials__attribution {
      font-size: var(--redesign-testimonials-attribution-size-desktop);
      color: var(--redesign-testimonials-description-color-desktop);
    }

    .redesign-testimonials__nav {
      margin-top: 1.5rem;
    }

    .redesign-testimonials__dots .slick-dots li button {
      border-color: var(--redesign-testimonials-arrow-color-desktop);
    }

    .redesign-testimonials__dots .slick-dots li.slick-active button {
      background-color: var(--redesign-testimonials-arrow-color-desktop);
    }

    .redesign-testimonials__arrow {
      color: var(--redesign-testimonials-arrow-color-desktop);
    }

    .redesign-testimonials__arrow svg {
      width: 1.875rem;
      height: 1.875rem;
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-testimonials {
      padding-top: calc(2.25rem + var(--redesign-testimonials-padding-extra-top-desktop));
      padding-right: 3.75rem;
      padding-bottom: calc(2.25rem + var(--redesign-testimonials-padding-extra-bottom-desktop));
      padding-left: 3.75rem;
    }

    /*
      The row split (content left / media right) is only introduced here,
      not at the 750px tier above: it gives the two columns independent
      heights, and when the quote is long it leaves the image much
      shorter than the content column. Below 1000px everything stays
      stacked (the 750px tier only enlarges type/spacing) so the arrows
      stay directly under the image instead of drifting far below it.
    */
    .redesign-testimonials__slide-inner {
      flex-direction: row;
      align-items: flex-start;
      justify-content: space-between;
      gap: 2.625rem;
    }

    .redesign-testimonials__content {
      order: 1;
      flex: 1 1 55%;
      min-width: 0;
      display: flex;
      flex-direction: column;
    }

    .redesign-testimonials__media {
      order: 2;
      flex: 1 1 45%;
      min-width: 0;
      aspect-ratio: 668.909 / 612.236;
    }

  }

  @media only screen and (min-width: 1250px) {
    .redesign-testimonials {
      padding-top: calc(2.8125rem + var(--redesign-testimonials-padding-extra-top-desktop));
      padding-right: 5.625rem;
      padding-bottom: calc(2.8125rem + var(--redesign-testimonials-padding-extra-bottom-desktop));
      padding-left: 5.625rem;
    }
  }

/* ==== redesign-custom-cta ==== */
  .redesign-custom-cta {
    background-color: #ffffff;
    margin-top: var(--redesign-custom-cta-margin-top-mobile);
    margin-bottom: var(--redesign-custom-cta-margin-bottom-mobile);
  }

  .redesign-custom-cta__media {
    position: relative;
    width: 100%;
    aspect-ratio: 1080 / 1133;
    overflow: hidden;
  }

  .redesign-custom-cta__media::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 40%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
    pointer-events: none;
  }

  .redesign-custom-cta__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .redesign-custom-cta__heading {
    position: absolute;
    left: 2rem;
    right: 2rem;
    top: 2rem;
    margin: 0;
    font-family: 'Angie', sans-serif !important;
    font-weight: normal;
    font-size: var(--redesign-type-h2);
    line-height: 1.15;
    letter-spacing: -0.02em;
    text-align: center;
    color: var(--redesign-custom-cta-heading-color);
  }

  .redesign-custom-cta__lower {
    display: flex;
    flex-direction: column;
  }

  .redesign-custom-cta__visual {
    position: relative;
    z-index: 1;
    width: 96%;
    margin: -8rem auto 1.5rem;
  }

  .redesign-custom-cta__overlay-image {
    display: block;
    width: 100%;
    height: auto;
  }

  .redesign-custom-cta__content {
    padding-top: calc(1rem + var(--redesign-custom-cta-padding-extra-top-mobile));
    padding-right: 1rem;
    padding-bottom: calc(3rem + var(--redesign-custom-cta-padding-extra-bottom-mobile));
    padding-left: 1rem;
  }

  .redesign-custom-cta__description {
    margin: 0 0 1.5rem;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-type-body);
    line-height: 1.5rem;
    text-align: center;
    color: #252e3d;
  }

  .redesign-custom-cta__description p {
    margin: 0;
    font-size: inherit;
  }

  .redesign-custom-cta__description a {
    color: inherit;
    text-decoration: underline;
    transition: opacity 0.2s ease;
  }

  .redesign-custom-cta__description a:hover {
    color: inherit;
    opacity: 0.85;
  }

  .redesign-custom-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0 var(--redesign-button-padding-x);
    border: 2px solid #252e3d;
    border-radius: 62.5rem;
    background-color: #252e3d;
    color: #ffffff;
    font-family: 'Circular Std', sans-serif;
    font-weight: 700;
    font-size: var(--redesign-type-button);
    line-height: 1;
    letter-spacing: var(--redesign-type-tracking-label);
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
    height: var(--redesign-button-height);
  }

  .redesign-custom-cta__button:hover,
  .redesign-custom-cta__button:focus,
  .redesign-custom-cta__button:active {
    background-color: transparent;
    color: #252e3d;
  }

  @media only screen and (min-width: 750px) {
    .redesign-custom-cta {
      margin-top: var(--redesign-custom-cta-margin-top-desktop);
      margin-bottom: var(--redesign-custom-cta-margin-bottom-desktop);
    }

    .redesign-custom-cta__media {
      aspect-ratio: 1929 / 844;
    }

    /* Figma sizes the desktop type for a 1920px canvas; the vw terms below are
       those sizes as a share of 1920 (86 / 1920 = 4.479vw, etc), so each one
       reaches its exact Figma value at 1920 and scales down from there instead
       of landing at full size the moment the desktop layout starts at 750px. */
    .redesign-custom-cta__heading {
      left: 5rem;
      right: 5rem;
      top: 3rem;
      font-size: var(--redesign-type-display);
      line-height: 1.15;
    }

    .redesign-custom-cta__lower {
      flex-direction: row;
      align-items: flex-start;
      gap: 2.5rem;
    }

    .redesign-custom-cta__content {
      order: 1;
      flex: 1 1 50%;
      min-width: 0;
      padding-top: calc(2rem + var(--redesign-custom-cta-padding-extra-top-desktop));
      padding-bottom: calc(4rem + var(--redesign-custom-cta-padding-extra-bottom-desktop));
      padding-left: 2.5rem;
      padding-right: 2rem;
    }

    .redesign-custom-cta__visual {
      order: 2;
      flex: 0 0 auto;
      width: 34%;
      margin-top: -10rem;
      margin-right: 2.5rem;
    }

    .redesign-custom-cta__description {
      max-width: 52.5rem;
      margin-bottom: 2rem;
      text-align: left;
      font-size: var(--redesign-type-lead);
      line-height: 1.6;
    }

    .redesign-custom-cta__button {
      max-width: var(--redesign-button-max-width);
      padding: 0 var(--redesign-button-padding-x);
      font-size: var(--redesign-type-button);
      line-height: 1;
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-custom-cta__content {
      padding-left: 5rem;
    }

    .redesign-custom-cta__visual {
      margin-right: 5rem;
    }
  }

  @media only screen and (min-width: 1250px) {
    .redesign-custom-cta__content {
      padding-left: 7.5rem;
    }

    .redesign-custom-cta__visual {
      margin-right: 7.5rem;
    }
  }

/* ==== redesign-featured-work ==== */
  .redesign-featured-work {
    background-color: #ffffff;
    margin-top: var(--redesign-featured-work-margin-top-mobile);
    margin-bottom: var(--redesign-featured-work-margin-bottom-mobile);
    padding-top: calc(1.25rem + var(--redesign-featured-work-padding-extra-top-mobile));
    padding-bottom: calc(2rem + var(--redesign-featured-work-padding-extra-bottom-mobile));
  }

  .redesign-featured-work__inner {
    display: flex;
    flex-direction: column;
  }

  .redesign-featured-work__heading {
    margin: 0 0 1.75rem;
    padding: 0 2.75rem 0 1rem;
    font-family: 'Angie', sans-serif !important;
    font-weight: normal;
    font-size: var(--redesign-type-h2);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #252e3d;
  }

  .redesign-featured-work__track {
    width: 100%;
    padding-left: 1rem;
  }

  .redesign-featured-work__track .slick-slide {
    width: 13.5rem;
    margin-right: 1rem;
  }

  .redesign-featured-work__track.slick-slider .slick-list {
    padding-right: 1rem;
    padding-bottom: 0.75rem;
  }

  .redesign-featured-work__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 1.25rem;
    padding: 0 1rem;
  }

  .redesign-featured-work__dots .slick-dots {
    position: static;
    display: flex;
    justify-content: flex-start;
    margin: 0;
  }

  .redesign-featured-work__dots .slick-dots li button {
    width: 0.75rem;
    height: 0.75rem;
    border-width: 2px;
    border-color: #9a9a9a;
  }

  .redesign-featured-work__dots .slick-dots li button:hover,
  .redesign-featured-work__dots .slick-dots li button:focus-visible {
    cursor: pointer;
  }

  .redesign-featured-work__dots .slick-dots li.slick-active button {
    background-color: #9a9a9a;
  }

  .redesign-featured-work__arrows {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
  }

  .redesign-featured-work__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: none;
    color: #9a9a9a;
    cursor: pointer;
    transition: color 0.2s ease;
  }

  /*
    Same `.slick-arrow` hijack the Testimonials carousel deals with:
    Slick adds that class to any custom prevArrow/nextArrow element and
    it comes with position: absolute, a fixed size and a background-image
    `:after` — this combined selector has higher specificity and resets
    those properties back to our own inline, static button.
  */
  .redesign-featured-work__arrow.slick-arrow {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    z-index: auto;
    transform: none;
    width: auto;
    height: auto;
    border-radius: 0;
    font-size: inherit;
  }

  .redesign-featured-work__arrow.slick-arrow:after {
    content: none;
  }

  .redesign-featured-work__arrow:hover {
    color: #252e3d;
  }

  .redesign-featured-work__arrow svg {
    width: 2rem;
    height: 2rem;
  }

  .redesign-featured-work__card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    box-shadow: 0.25rem 0.25rem 0.25rem 0 rgba(0, 0, 0, 0.16);
  }

  .redesign-featured-work__media {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: #e1e1e1;
  }

  .redesign-featured-work__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
  }

  .redesign-featured-work__card:hover .redesign-featured-work__image,
  .redesign-featured-work__card:focus-visible .redesign-featured-work__image {
    transform: scale(1.05);
  }

  .redesign-featured-work__scrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.45) 100%);
  }

  .redesign-featured-work__card-title {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    margin: 0;
    font-family: 'Angie', sans-serif !important;
    font-weight: normal;
    font-size: var(--redesign-type-h3);
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: #ffffff;
  }

  .redesign-featured-work__content {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 1.25rem 0 1.25rem 1rem;
  }

  .redesign-featured-work__description {
    margin: 0;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-type-small);
    line-height: 1.5;
    letter-spacing: 0;
    color: #707070;
  }

  .redesign-featured-work__link {
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-type-small);
    line-height: 1;
    color: #707070;
    text-decoration: underline;
  }

  .redesign-featured-work__card:hover .redesign-featured-work__link,
  .redesign-featured-work__card:focus-visible .redesign-featured-work__link {
    text-decoration: none;
  }

  @media only screen and (min-width: 750px) {
    .redesign-featured-work {
      margin-top: var(--redesign-featured-work-margin-top-desktop);
      margin-bottom: var(--redesign-featured-work-margin-bottom-desktop);
      padding-top: calc(2.0625rem + var(--redesign-featured-work-padding-extra-top-desktop));
      padding-bottom: calc(2.0625rem + var(--redesign-featured-work-padding-extra-bottom-desktop));
    }

    .redesign-featured-work__heading {
      margin-bottom: 1.875rem;
      padding: 0 1.875rem;
      font-size: var(--redesign-type-h2);
      line-height: 1.15;
    }

    .redesign-featured-work__track {
      padding-left: 1.875rem;
    }

    .redesign-featured-work__track .slick-slide {
      width: 24rem;
      margin-right: 1.781rem;
    }

    .redesign-featured-work__track.slick-slider .slick-list {
      padding-right: 1.875rem;
    }

    .redesign-featured-work__nav {
      padding: 0 1.875rem;
    }

    .redesign-featured-work__card-title {
      left: 1.3125rem;
      right: 1.3125rem;
      bottom: 1.125rem;
      font-size: var(--redesign-type-h3);
    }

    .redesign-featured-work__content {
      gap: 1.5rem;
      padding: 1.5rem 1.3125rem;
    }

    .redesign-featured-work__description {
      font-size: var(--redesign-type-small);
      line-height: 1.5;
    }

    .redesign-featured-work__link {
      font-size: var(--redesign-type-small);
      line-height: 1;
    }

    .redesign-featured-work__dots .slick-dots li button {
      width: 0.75rem;
      height: 0.75rem;
    }

    .redesign-featured-work__arrow svg {
      width: 2.25rem;
      height: 2.25rem;
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-featured-work {
      padding-top: calc(3rem + var(--redesign-featured-work-padding-extra-top-desktop));
      padding-bottom: calc(3rem + var(--redesign-featured-work-padding-extra-bottom-desktop));
    }

    .redesign-featured-work__heading {
      padding: 0 3.75rem;
    }

    .redesign-featured-work__track {
      padding-left: 3.75rem;
    }

    .redesign-featured-work__track.slick-slider .slick-list {
      padding-right: 3.75rem;
    }

    .redesign-featured-work__nav {
      padding: 0 3.75rem;
    }
  }

  @media only screen and (min-width: 1250px) {
    .redesign-featured-work {
      padding-top: calc(3.75rem + var(--redesign-featured-work-padding-extra-top-desktop));
      padding-bottom: calc(3.75rem + var(--redesign-featured-work-padding-extra-bottom-desktop));
    }

    .redesign-featured-work__heading {
      padding: 0 5.625rem;
    }

    .redesign-featured-work__track {
      padding-left: 5.625rem;
    }

    .redesign-featured-work__track.slick-slider .slick-list {
      padding-right: 5.625rem;
    }

    .redesign-featured-work__nav {
      padding: 0 5.625rem;
    }
  }

/* ==== redesign-product-cta-visual ==== */
  @keyframes redesign-productcta-scroll-up {
    from { transform: translateY(0%); }
    to { transform: translateY(-50%); }
  }

  @keyframes redesign-productcta-scroll-down {
    from { transform: translateY(-50%); }
    to { transform: translateY(0%); }
  }

  @keyframes redesign-productcta-scroll-left {
    from { transform: translateX(0%); }
    to { transform: translateX(-50%); }
  }

  .redesign-productcta {
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
    margin-top: var(--redesign-productcta-margin-top-mobile);
    margin-bottom: var(--redesign-productcta-margin-bottom-mobile);
    padding-top: calc(1.5rem + var(--redesign-productcta-padding-extra-top-mobile));
    padding-right: 1rem;
    padding-bottom: calc(1.5rem + var(--redesign-productcta-padding-extra-bottom-mobile));
    padding-left: 1rem;
  }

  .redesign-productcta__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .redesign-productcta__heading {
    margin: 0 0 1.5rem;
    font-family: 'Angie', sans-serif !important;
    font-weight: normal;
    font-size: var(--redesign-productcta-heading-size-mobile);
    line-height: 1.1;
    color: #252e3d;
  }

  .redesign-productcta__description {
    margin: 0;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-productcta-description-size-mobile);
    line-height: 1.5;
    color: #707070;
  }

  .redesign-productcta__description p {
    margin: 0;
    font-size: inherit;
  }

  .redesign-productcta__description p + p {
    margin-top: 1rem;
  }

  .redesign-productcta__description a {
    color: inherit;
    text-decoration: underline;
    transition: opacity 0.2s ease;
  }

  .redesign-productcta__description a:hover {
    color: inherit;
    opacity: 0.85;
  }

  .redesign-productcta__actions {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0.5rem;
    margin-top: 3rem;
  }

  .redesign-productcta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
    padding: 0 var(--redesign-button-padding-x);
    border: 2px solid #252e3d;
    border-radius: 62.5rem;
    background-color: #252e3d;
    color: #ffffff;
    font-family: 'Circular Std', sans-serif;
    font-weight: 700;
    font-size: var(--redesign-type-button);
    letter-spacing: var(--redesign-type-tracking-label);
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
    height: var(--redesign-button-height);
    line-height: 1;
  }

  .redesign-productcta__button:hover,
  .redesign-productcta__button:focus,
  .redesign-productcta__button:active {
    background-color: transparent;
    color: #252e3d;
  }

  .redesign-productcta__visual {
    width: 100%;
    margin-top: 2rem;
    overflow: hidden;
  }

  .redesign-productcta__row {
    display: flex;
    width: max-content;
    gap: 0.625rem;
    animation: redesign-productcta-scroll-left var(--redesign-productcta-row-duration) linear infinite;
  }

  .redesign-productcta__tile {
    flex: none;
    width: 9rem;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: #e1e1e1;
  }

  .redesign-productcta__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .redesign-productcta__columns {
    display: none;
  }

  @media only screen and (min-width: 750px) {
    .redesign-productcta {
      flex-direction: row;
      align-items: center;
      gap: 2.5rem;
      margin-top: var(--redesign-productcta-margin-top-desktop);
      margin-bottom: var(--redesign-productcta-margin-bottom-desktop);
      padding-top: var(--redesign-productcta-padding-extra-top-desktop);
      padding-bottom: var(--redesign-productcta-padding-extra-bottom-desktop);
      padding-left: 1.875rem;
      padding-right: 0;
    }

    .redesign-productcta__content {
      flex: 1 1 50%;
      min-width: 0;
      padding: 5.484rem 0;
    }

    .redesign-productcta__heading {
      font-size: var(--redesign-productcta-heading-size-desktop);
    }

    .redesign-productcta__description {
      font-size: var(--redesign-productcta-description-size-desktop);
    }

    .redesign-productcta__actions {
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center;
      width: 100%;
      gap: 1rem;
    }

    .redesign-productcta__button {
      padding: 0 var(--redesign-button-padding-x);
      font-size: var(--redesign-type-button);
      line-height: 1;
      max-width: var(--redesign-button-max-width);
    }

    .redesign-productcta__visual {
      display: none;
    }

    .redesign-productcta__columns {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0.625rem;
      flex: 0 0 50%;
      min-width: 0;
      align-self: stretch;
      min-height: 34rem;
    }

    /*
      A skipped column (no images assigned to it) never renders a
      `.column` div at all, so without an explicit grid-column an empty
      column 2 would let CSS grid's auto-placement slide column 3's div
      into track 2 instead — the inline `grid-column` on the markup
      pins each column to its actual assigned track regardless of which
      others are empty.
    */
    .redesign-productcta__column {
      position: relative;
      height: 100%;
      overflow: hidden;
    }

    .redesign-productcta__column-track {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      width: 100%;
      gap: 0.625rem;
      animation-duration: var(--redesign-productcta-column-duration);
      animation-timing-function: linear;
      animation-iteration-count: infinite;
    }

    .redesign-productcta__column-track--up {
      animation-name: redesign-productcta-scroll-up;
    }

    .redesign-productcta__column-track--down {
      animation-name: redesign-productcta-scroll-down;
    }

    .redesign-productcta__column-tile {
      flex: none;
      width: 100%;
      aspect-ratio: 1 / 1;
      overflow: hidden;
      background-color: #e1e1e1;
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-productcta {
      padding-left: 3.75rem;
    }
  }

  @media only screen and (min-width: 1250px) {
    .redesign-productcta {
      padding-left: 5.625rem;
    }
  }

/* ==== redesign-product-cards ==== */
  .redesign-product-cards {
    background-color: #ffffff;
    margin-top: var(--redesign-product-cards-margin-top-mobile);
    margin-bottom: var(--redesign-product-cards-margin-bottom-mobile);
    padding-top: calc(1.5rem + var(--redesign-product-cards-padding-extra-top-mobile));
    padding-right: 1rem;
    padding-bottom: calc(1.5rem + var(--redesign-product-cards-padding-extra-bottom-mobile));
    padding-left: 1rem;
  }

  .redesign-product-cards .redesign-product-cards__heading {
    margin: 0 0 1.5rem;
    font-family: 'Circular Std', sans-serif !important;
    font-weight: 500;
    font-size: var(--redesign-product-cards-heading-size-mobile);
    line-height: 1.1;
    letter-spacing: var(--redesign-type-tracking-heading);
    color: #252e3d;
  }

  .redesign-product-cards__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 1rem;
  }

  .redesign-product-cards__slide {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .redesign-product-cards__card {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .redesign-product-cards__media {
    display: block;
    width: 100%;
    overflow: hidden;
    background-color: #e1e1e1;
  }

  .redesign-product-cards__image {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.3s ease;
  }

  /*
    Same image-scale-on-hover as redesign-featured-work.liquid — but
    unlike that section (whose whole card is a single anchor), only the
    image's own link triggers it here, not the card's other separate
    links (title, "+n", Customise).
  */
  .redesign-product-cards__media:hover .redesign-product-cards__image,
  .redesign-product-cards__media:focus-visible .redesign-product-cards__image {
    transform: scale(1.05);
  }

  .redesign-product-cards__info {
    display: flex;
    flex-direction: column;
    flex: 1;
    margin-top: 1.25rem;
  }

  .redesign-product-cards__title-link {
    text-decoration: none;
  }

  .redesign-product-cards__info > * + * {
    margin-top: 0.4rem;
  }

  .redesign-product-cards__info > .redesign-product-cards__swatches + * {
    margin-top: 1rem;
  }

  .redesign-product-cards__info > * + .redesign-product-cards__swatches {
    margin-top: 0.75rem;
  }

  .redesign-product-cards__info > .redesign-product-cards__actions {
    margin-top: auto;
    padding-top: 1.25rem;
  }

  .redesign-product-cards__title {
    margin: 0;
    font-family: 'Circular Std', sans-serif !important;
    font-weight: 500;
    font-size: var(--redesign-type-body);
    line-height: 1.2;
    color: #1F2A44;
  }

  .redesign-product-cards__price {
    margin: 0;
    font-family: 'Circular Std', sans-serif;
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.5;
    color: #707070;
  }

  .redesign-product-cards__price-value {
    font-size: 1rem;
  }

  .redesign-product-cards__swatches {
    display: flex;
    align-items: center;
    gap: 0.625rem;
  }

  .redesign-product-cards__swatches--centered {
    justify-content: center;
  }

  .redesign-product-cards__swatch {
    position: relative;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }

  .redesign-product-cards__swatch:after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background-color: #e1e1e1;
  }

  .redesign-product-cards__swatch-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border: 1px solid #666666;
    border-radius: 50%;
    font-family: 'Circular Std', sans-serif;
    font-weight: 400;
    font-size: 0.625rem;
    color: #666666;
    text-decoration: none;
    transition: opacity 0.2s ease;
  }

  .redesign-product-cards__swatch-more:hover {
    color: #666666;
    opacity: 0.85;
  }

  .redesign-product-cards__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: var(--redesign-button-height-small);
    padding: 0 1.5rem;
    border: 2px solid #252e3d;
    border-radius: 62.5rem;
    background-color: #252e3d;
    color: #ffffff;
    font-family: 'Circular Std', sans-serif;
    font-weight: 700;
    font-size: var(--redesign-type-label);
    line-height: 1;
    text-box: trim-both cap alphabetic;
    letter-spacing: var(--redesign-type-tracking-label);
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
  }

  .redesign-product-cards__button:hover,
  .redesign-product-cards__button:focus,
  .redesign-product-cards__button:active {
    background-color: transparent;
    color: #252e3d;
  }

  .redesign-product-cards__grid--carousel {
    display: block;
  }

  /*
    Slick floats its slides and leaves them at their natural height; the
    flex track is what makes every card in a row the same height again,
    which the grid got for free.
  */
  .redesign-product-cards__grid--carousel .slick-track {
    display: flex;
    align-items: stretch;
  }

  .redesign-product-cards__grid--carousel .slick-slide {
    height: auto;
    padding: 0 0.5rem;
  }

  .redesign-product-cards__grid--carousel.slick-slider .slick-list {
    margin: 0 -0.5rem;
  }

  .redesign-product-cards__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 1.25rem;
  }

  .redesign-product-cards__dots .slick-dots {
    position: static;
    display: flex;
    justify-content: flex-start;
    margin: 0;
  }

  .redesign-product-cards__dots .slick-dots li button {
    width: 0.75rem;
    height: 0.75rem;
    border-width: 2px;
    border-color: #9a9a9a;
    cursor: pointer;
  }

  .redesign-product-cards__dots .slick-dots li.slick-active button {
    background-color: #9a9a9a;
  }

  .redesign-product-cards__arrows {
    display: flex;
    align-items: center;
  }

  .redesign-product-cards__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: none;
    color: #9a9a9a;
    cursor: pointer;
    transition: color 0.2s ease;
  }

  /*
    Same `.slick-arrow` hijack redesign-featured-work deals with: Slick
    adds that class to custom prev/next elements and it carries
    position: absolute, a fixed size and a background-image `:after`.
  */
  .redesign-product-cards__arrow.slick-arrow {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    z-index: auto;
    transform: none;
    width: auto;
    height: auto;
    border-radius: 0;
    font-size: inherit;
  }

  .redesign-product-cards__arrow.slick-arrow:after {
    content: none;
  }

  .redesign-product-cards__arrow.slick-disabled {
    opacity: 0.35;
    cursor: default;
  }

  .redesign-product-cards__arrow:hover {
    color: #252e3d;
  }

  .redesign-product-cards__arrow svg {
    width: 2rem;
    height: 2rem;
  }

  @media only screen and (min-width: 750px) {
    .redesign-product-cards {
      margin-top: var(--redesign-product-cards-margin-top-desktop);
      margin-bottom: var(--redesign-product-cards-margin-bottom-desktop);
      padding-top: calc(1.5rem + var(--redesign-product-cards-padding-extra-top-desktop));
      padding-right: 1.875rem;
      padding-bottom: calc(1.5rem + var(--redesign-product-cards-padding-extra-bottom-desktop));
      padding-left: 1.875rem;
    }

    .redesign-product-cards .redesign-product-cards__heading {
      margin-bottom: 1.5rem;
      font-size: var(--redesign-product-cards-heading-size-desktop);
    }

    .redesign-product-cards__grid {
      grid-template-columns: repeat(3, 1fr);
      gap: 3rem 2.5rem;
    }

    .redesign-product-cards__grid--carousel .slick-slide {
      padding: 0 1.25rem;
    }

    .redesign-product-cards__grid--carousel.slick-slider .slick-list {
      margin: 0 -1.25rem;
    }

    .redesign-product-cards__nav {
      margin-top: 1rem;
    }

    .redesign-product-cards__title {
      font-size: var(--redesign-type-body);
    }

    .redesign-product-cards__price-value {
      font-size: var(--redesign-type-body);
    }

    .redesign-product-cards__price {
      font-size: 0.875rem;
    }

    .redesign-product-cards__button {
      height: var(--redesign-button-height-small);
      font-size: var(--redesign-type-label);
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-product-cards {
      padding-top: calc(2rem + var(--redesign-product-cards-padding-extra-top-desktop));
      padding-right: 3.75rem;
      padding-bottom: calc(2rem + var(--redesign-product-cards-padding-extra-bottom-desktop));
      padding-left: 3.75rem;
    }

    .redesign-product-cards__grid--columns-4 {
      grid-template-columns: repeat(4, 1fr);
    }
  }

  @media only screen and (min-width: 1250px) {
    .redesign-product-cards {
      padding-top: calc(2.5rem + var(--redesign-product-cards-padding-extra-top-desktop));
      padding-right: 5.625rem;
      padding-bottom: calc(2.5rem + var(--redesign-product-cards-padding-extra-bottom-desktop));
      padding-left: 5.625rem;
    }
  }

/* ==== redesign-product-cards-occasion ==== */
  .redesign-product-cards-occasion {
    --redesign-product-cards-occasion-gutter: 2rem;
    overflow: hidden;
    margin-top: var(--redesign-product-cards-occasion-margin-top-mobile);
    margin-bottom: var(--redesign-product-cards-occasion-margin-bottom-mobile);
    padding-top: calc(1.5rem + var(--redesign-product-cards-occasion-padding-extra-top-mobile));
    padding-right: var(--redesign-product-cards-occasion-gutter);
    padding-bottom: calc(1.5rem + var(--redesign-product-cards-occasion-padding-extra-bottom-mobile));
    padding-left: var(--redesign-product-cards-occasion-gutter);
    background-color: #ffffff;
    letter-spacing: normal;
  }

  .redesign-product-cards-occasion .redesign-product-cards-occasion__heading {
    margin: 0 0 1.5rem;
    font-family: 'Circular Std', sans-serif !important;
    font-weight: 500;
    font-size: var(--redesign-product-cards-occasion-heading-size-mobile);
    line-height: 1.1;
    letter-spacing: var(--redesign-type-tracking-heading);
    color: #252e3d;
  }

  /* Not .u-visually-hidden: that one uses display: none, which also hides
     the heading from screen readers. */
  .redesign-product-cards-occasion .redesign-product-cards-occasion__heading--hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .redesign-product-cards-occasion__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem 1rem;
  }

  .redesign-product-cards-occasion__grid--mobile-columns-1 {
    grid-template-columns: minmax(0, 1fr);
  }

  .redesign-product-cards-occasion__slide {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .redesign-product-cards-occasion__card {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .redesign-product-cards-occasion__media {
    position: relative;
    overflow: hidden;
  }

  .redesign-product-cards-occasion--image-background .redesign-product-cards-occasion__media {
    background-color: var(--redesign-product-cards-occasion-image-background);
  }

  .redesign-product-cards-occasion__image-link {
    display: block;
    overflow: hidden;
  }

  .redesign-product-cards-occasion__image {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.3s ease;
  }

  .redesign-product-cards-occasion__image-link:hover .redesign-product-cards-occasion__image,
  .redesign-product-cards-occasion__image-link:focus-visible .redesign-product-cards-occasion__image {
    transform: scale(1.05);
  }

  .redesign-product-cards-occasion__swatches {
    position: absolute;
    right: 0;
    bottom: 0.75rem;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
  }

  .redesign-product-cards-occasion--swatches-outside .redesign-product-cards-occasion__swatches {
    position: static;
    margin-top: 1rem;
  }

  .redesign-product-cards-occasion__swatch {
    position: relative;
    display: inline-block;
    width: 1rem;
    height: 1rem;
  }

  .redesign-product-cards-occasion__swatch:after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background-color: #e1e1e1;
  }

  .redesign-product-cards-occasion__swatch-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    border: 1px solid #666666;
    border-radius: 50%;
    font-family: 'Circular Std', sans-serif;
    font-weight: 400;
    font-size: 0.4375rem;
    color: #666666;
    text-decoration: none;
    transition: opacity 0.2s ease;
  }

  .redesign-product-cards-occasion__swatch-more:hover {
    color: #666666;
    opacity: 0.85;
  }

  .redesign-product-cards-occasion__info {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    margin-top: 1rem;
    text-align: center;
  }

  .redesign-product-cards-occasion__title-link {
    padding-bottom: 0.75rem;
    text-decoration: none;
  }

  .redesign-product-cards-occasion .redesign-product-cards-occasion__title {
    margin: 0;
    font-family: 'Circular Std Book', sans-serif !important;
    font-weight: 400;
    font-size: var(--redesign-type-small);
    line-height: 1.3;
    color: #252e3d;
  }

  .redesign-product-cards-occasion__button {
    display: inline-flex;
    align-items: stretch;
    max-width: 100%;
    height: 1.5rem;
    margin-top: auto;
    border: 1px solid #252e3d;
    border-radius: 62.5rem;
    background-color: #252e3d;
    font-family: 'Circular Std', sans-serif;
    font-weight: 700;
    font-size: 0.4375rem;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    color: #ffffff;
    transition: background-color 0.2s ease, color 0.2s ease;
  }

  .redesign-product-cards-occasion__button:hover,
  .redesign-product-cards-occasion__button:focus,
  .redesign-product-cards-occasion__button:active {
    background-color: transparent;
    color: #252e3d;
  }

  .redesign-product-cards-occasion__button-label,
  .redesign-product-cards-occasion__button-price {
    display: inline-flex;
    align-items: center;
  }

  .redesign-product-cards-occasion__button-label {
    min-width: 0;
    padding: 0 0.5rem;
    overflow: hidden;
  }

  .redesign-product-cards-occasion__button-price {
    flex-shrink: 0;
    padding: 0 0.5rem;
    border-left: 1px solid currentColor;
  }

  @media only screen and (min-width: 750px) {
    .redesign-product-cards-occasion {
      --redesign-product-cards-occasion-gutter: 1.875rem;
      margin-top: var(--redesign-product-cards-occasion-margin-top-desktop);
      margin-bottom: var(--redesign-product-cards-occasion-margin-bottom-desktop);
      padding-top: calc(1.5rem + var(--redesign-product-cards-occasion-padding-extra-top-desktop));
      padding-bottom: calc(1.5rem + var(--redesign-product-cards-occasion-padding-extra-bottom-desktop));
    }

    .redesign-product-cards-occasion .redesign-product-cards-occasion__heading {
      margin-bottom: 2.5rem;
      font-size: var(--redesign-product-cards-occasion-heading-size-desktop);
    }

    .redesign-product-cards-occasion__grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 3rem 2.5rem;
    }

    .redesign-product-cards-occasion__grid--columns-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .redesign-product-cards-occasion__swatches {
      bottom: 1rem;
      gap: 0.5rem;
    }

    .redesign-product-cards-occasion--swatches-outside .redesign-product-cards-occasion__swatches {
      margin-top: 1.25rem;
    }

    .redesign-product-cards-occasion__swatch,
    .redesign-product-cards-occasion__swatch-more {
      width: 1.125rem;
      height: 1.125rem;
    }

    .redesign-product-cards-occasion__swatch-more {
      font-size: 0.5rem;
    }

    .redesign-product-cards-occasion__info {
      margin-top: 1.25rem;
    }

    .redesign-product-cards-occasion__title-link {
      padding-bottom: 1.25rem;
    }

    .redesign-product-cards-occasion .redesign-product-cards-occasion__title {
      font-size: var(--redesign-type-h3);
    }

    .redesign-product-cards-occasion--with-swatches .redesign-product-cards-occasion__title {
      font-size: var(--redesign-type-lead);
    }

    .redesign-product-cards-occasion__button {
      height: 2.25rem;
      font-weight: 900;
      font-size: 0.625rem;
      letter-spacing: var(--redesign-type-tracking-label);
    }

    .redesign-product-cards-occasion__button-label {
      padding: 0 1.75rem;
    }

    .redesign-product-cards-occasion__button-price {
      padding: 0 1.5rem;
    }
  }

  @media only screen and (min-width: 750px) and (max-width: 850px) {
    .redesign-product-cards-occasion__button-label {
      padding: 0 1rem;
    }

    .redesign-product-cards-occasion__button-price {
      padding: 0 0.75rem;
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-product-cards-occasion {
      --redesign-product-cards-occasion-gutter: 3.75rem;
      padding-top: calc(2rem + var(--redesign-product-cards-occasion-padding-extra-top-desktop));
      padding-bottom: calc(2rem + var(--redesign-product-cards-occasion-padding-extra-bottom-desktop));
    }

    .redesign-product-cards-occasion__grid--columns-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .redesign-product-cards-occasion__grid--columns-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }

  @media only screen and (min-width: 1250px) {
    .redesign-product-cards-occasion {
      --redesign-product-cards-occasion-gutter: 5.625rem;
      padding-top: calc(2.5rem + var(--redesign-product-cards-occasion-padding-extra-top-desktop));
      padding-bottom: calc(2.5rem + var(--redesign-product-cards-occasion-padding-extra-bottom-desktop));
    }
  }

  .redesign-product-cards-occasion__slider {
    display: block;
  }

  /* The slider bleeds into the right padding so the last card runs off the
     section edge. */
  .redesign-product-cards-occasion__grid--slider {
    --redesign-product-cards-occasion-visible: var(--redesign-product-cards-occasion-visible-mobile);
    --redesign-product-cards-occasion-slider-gap: 1rem;
    display: flex;
    gap: var(--redesign-product-cards-occasion-slider-gap);
    margin-right: calc(-1 * var(--redesign-product-cards-occasion-gutter));
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .redesign-product-cards-occasion__grid--slider::-webkit-scrollbar {
    display: none;
  }

  /* --visible is fractional (e.g. 3.8) so the next card peeks in. */
  .redesign-product-cards-occasion__grid--slider .redesign-product-cards-occasion__slide {
    flex: 0 0 calc((100% - var(--redesign-product-cards-occasion-slider-gap) * (var(--redesign-product-cards-occasion-visible) - 1)) / var(--redesign-product-cards-occasion-visible));
    height: auto;
    scroll-snap-align: start;
  }

  @media only screen and (min-width: 750px) {
    .redesign-product-cards-occasion__grid--slider {
      --redesign-product-cards-occasion-visible: var(--redesign-product-cards-occasion-visible-tablet);
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-product-cards-occasion__grid--slider {
      --redesign-product-cards-occasion-visible: var(--redesign-product-cards-occasion-visible-desktop);
    }
  }

/* ==== redesign-scroll-slider ==== */
  [data-slider-track].is-dragging {
    scroll-snap-type: none;
    cursor: grabbing;
    user-select: none;
  }

/* ==== redesign-testimonials-occasion ==== */
  .redesign-testimonials-occasion {
    position: relative;
    margin-top: var(--redesign-testimonials-occasion-margin-top-mobile);
    margin-bottom: var(--redesign-testimonials-occasion-margin-bottom-mobile);
    letter-spacing: normal;
  }

  /* Not .u-visually-hidden: that one uses display: none, which also hides
     the heading from screen readers. */
  .redesign-testimonials-occasion .redesign-testimonials-occasion__heading {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .redesign-testimonials-occasion__track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .redesign-testimonials-occasion__track::-webkit-scrollbar {
    display: none;
  }

  .redesign-testimonials-occasion__slide {
    flex: 0 0 100%;
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  /* Media and content share one grid cell, so the slide is as tall as whichever
     is taller: the image at its natural ratio or the quote. The image's 100%
     height counts as auto while the row is sized, then fills it to cover. */
  .redesign-testimonials-occasion__slide-inner {
    isolation: isolate;
    display: grid;
    width: 100%;
  }

  .redesign-testimonials-occasion__media {
    grid-area: 1 / 1;
    z-index: -1;
    background-color: #e1e1e1;
  }

  .redesign-testimonials-occasion__media picture {
    display: block;
    height: 100%;
  }

  .redesign-testimonials-occasion__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .redesign-testimonials-occasion__content {
    grid-area: 1 / 1;
    align-self: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 50%;
    margin: 0;
    padding: 1.5rem 1rem 1.5rem 3rem;
    text-align: center;
    color: var(--redesign-testimonials-occasion-text-color);
  }

  .redesign-testimonials-occasion__icon {
    display: block;
    width: 1.5rem;
    margin-bottom: 0.75rem;
  }

  .redesign-testimonials-occasion__icon svg {
    display: block;
    width: 100%;
    height: auto;
  }

  .redesign-testimonials-occasion__quote {
    max-width: 27rem;
    margin: 0;
    padding: 0;
    border: 0;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: var(--redesign-type-small);
    line-height: 1.4;
    color: inherit;
  }

  .redesign-testimonials-occasion__author {
    margin-top: 1rem;
    font-family: 'Circular Std Book', sans-serif;
    font-size: var(--redesign-type-small);
    line-height: 1.4;
  }

  .redesign-testimonials-occasion__arrow {
    position: absolute;
    top: 50%;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: none;
    color: #252e3d;
    cursor: pointer;
    transform: translateY(-50%);
    transition: opacity 0.2s ease;
  }

  .redesign-testimonials-occasion .redesign-testimonials-occasion__arrow--prev {
    left: 0.5rem;
  }

  .redesign-testimonials-occasion .redesign-testimonials-occasion__arrow--next {
    right: 0.5rem;
  }

  .redesign-testimonials-occasion__arrow:hover {
    opacity: 0.7;
  }

  .redesign-testimonials-occasion__arrow svg {
    width: 2rem;
    height: 2rem;
  }

  @media only screen and (min-width: 750px) {
    .redesign-testimonials-occasion {
      margin-top: var(--redesign-testimonials-occasion-margin-top-desktop);
      margin-bottom: var(--redesign-testimonials-occasion-margin-bottom-desktop);
    }

    .redesign-testimonials-occasion__content {
      padding: 2rem 2rem 2rem 5rem;
    }

    .redesign-testimonials-occasion__icon {
      width: 2.25rem;
      margin-bottom: 1.25rem;
    }

    .redesign-testimonials-occasion__quote,
    .redesign-testimonials-occasion__author {
      font-size: var(--redesign-type-h3);
    }

    .redesign-testimonials-occasion__author {
      margin-top: 1.75rem;
    }

    .redesign-testimonials-occasion .redesign-testimonials-occasion__arrow--prev {
      left: 1.5rem;
    }

    .redesign-testimonials-occasion .redesign-testimonials-occasion__arrow--next {
      right: 1.5rem;
    }

    .redesign-testimonials-occasion__arrow svg {
      width: 3rem;
      height: 3rem;
    }
  }

/* ==== redesign-sticky-images-text ==== */
  .redesign-sticky-images-text {
    position: relative;
    margin-top: var(--redesign-sticky-images-text-margin-top-mobile);
    margin-bottom: var(--redesign-sticky-images-text-margin-bottom-mobile);
    padding: 2.5rem 0;
    background-color: var(--redesign-sticky-images-text-background);
    letter-spacing: normal;
  }

  /* Not .u-visually-hidden: that one uses display: none, which also hides
     the heading from screen readers. */
  .redesign-sticky-images-text .redesign-sticky-images-text__heading {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .redesign-sticky-images-text__layout {
    display: block;
  }

  .redesign-sticky-images-text__content {
    display: none;
  }

  .redesign-sticky-images-text__media {
    display: flex;
    gap: 2rem;
    padding: 0 2rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding: 0 2rem;
    scrollbar-width: none;
  }

  .redesign-sticky-images-text__media::-webkit-scrollbar {
    display: none;
  }

  .redesign-sticky-images-text__panel {
    flex: 0 0 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .redesign-sticky-images-text__dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
  }

  .redesign-sticky-images-text__dots--mobile {
    margin-top: 1.5rem;
  }

  .redesign-sticky-images-text__dot {
    width: 0.375rem;
    height: 0.375rem;
    padding: 0;
    border: 0;
    border-radius: 62.5rem;
    background-color: #c4c4c4;
    cursor: pointer;
    transition: width 0.3s ease, height 0.3s ease, background-color 0.3s ease;
  }

  .redesign-sticky-images-text__dot--active {
    width: 1.25rem;
    background-color: #252e3d;
  }

  .redesign-sticky-images-text__image-wrap {
    aspect-ratio: 270 / 241;
    overflow: hidden;
    background-color: #e1e1e1;
  }

  .redesign-sticky-images-text__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .redesign-sticky-images-text__caption {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 1.5rem;
    text-align: center;
  }

  .redesign-sticky-images-text__icon {
    display: block;
    width: 1.75rem;
    height: auto;
    margin-bottom: 1rem;
  }

  .redesign-sticky-images-text .redesign-sticky-images-text__title {
    margin: 0;
    font-family: 'Circular Std Book', sans-serif !important;
    font-weight: 400;
    font-size: var(--redesign-type-h3);
    line-height: 1.2;
    letter-spacing: var(--redesign-type-tracking-heading);
    color: #252e3d;
  }

  .redesign-sticky-images-text__text {
    max-width: 22rem;
    margin: 1rem 0 0;
    font-family: 'Circular Std Book', sans-serif;
    font-size: var(--redesign-type-small);
    line-height: 1.5;
    color: #252e3d;
  }

  @media only screen and (min-width: 750px) {
    .redesign-sticky-images-text {
      --redesign-sticky-images-text-inset: 2.5rem;
      margin-top: var(--redesign-sticky-images-text-margin-top-desktop);
      margin-bottom: var(--redesign-sticky-images-text-margin-bottom-desktop);
      padding: 0 1.875rem;
    }

    .redesign-sticky-images-text__layout {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      column-gap: 2.5rem;
    }

    /* One image tall and pinned at the viewport centre, so it sits level
       with whichever image is crossing the middle. The margins match the
       image column's padding so it starts beside the first image and stops
       beside the last. Sticky only works while no ancestor clips overflow. */
    .redesign-sticky-images-text__content {
      position: sticky;
      top: calc(50vh - var(--redesign-sticky-images-text-panel-height, 0px) / 2);
      align-self: start;
      display: flex;
      align-items: center;
      justify-content: center;
      height: var(--redesign-sticky-images-text-panel-height, auto);
      margin: var(--redesign-sticky-images-text-inset) 0;
    }

    .redesign-sticky-images-text__dots {
      position: absolute;
      top: 50%;
      left: 0;
      flex-direction: column;
      transform: translateY(-50%);
    }

    .redesign-sticky-images-text__dots--mobile {
      display: none;
    }

    .redesign-sticky-images-text__dot--active {
      width: 0.375rem;
      height: 1.25rem;
    }

    .redesign-sticky-images-text__items {
      display: grid;
      width: 100%;
    }

    .redesign-sticky-images-text__item {
      grid-area: 1 / 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.5s ease, visibility 0.5s ease;
    }

    .redesign-sticky-images-text__item--active {
      opacity: 1;
      visibility: visible;
    }

    .redesign-sticky-images-text__media {
      flex-direction: column;
      gap: 2.5rem;
      padding: var(--redesign-sticky-images-text-inset) 0;
      overflow: visible;
      scroll-snap-type: none;
    }

    .redesign-sticky-images-text__panel {
      flex: none;
    }

    .redesign-sticky-images-text__caption {
      display: none;
    }

    .redesign-sticky-images-text__icon {
      width: 2.25rem;
      margin-bottom: 1.5rem;
    }

    .redesign-sticky-images-text__text {
      margin-top: 1.5rem;
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-sticky-images-text {
      padding: 0 3.75rem;
    }

    .redesign-sticky-images-text {
      --redesign-sticky-images-text-inset: 3.75rem;
    }

    .redesign-sticky-images-text__media {
      gap: 3.75rem;
    }
  }

  @media only screen and (min-width: 1250px) {
    .redesign-sticky-images-text {
      padding: 0 5.625rem;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .redesign-sticky-images-text__item,
    .redesign-sticky-images-text__dot {
      transition: none;
    }
  }

/* ==== redesign-contact-form ==== */
  .redesign-contact-form {
    background-color: #ffffff;
    margin-top: var(--redesign-contact-form-margin-top-mobile);
    margin-bottom: var(--redesign-contact-form-margin-bottom-mobile);
    padding: 3rem 1rem;
    padding-top: calc(3rem + var(--redesign-contact-form-padding-extra-top-mobile));
    padding-bottom: calc(3rem + var(--redesign-contact-form-padding-extra-bottom-mobile));
  }

  .redesign-contact-form__inner {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
  }

  .redesign-contact-form__heading {
    margin: 0 0 1rem;
    font-family: 'Circular Std', sans-serif !important;
    font-weight: 500;
    font-size: var(--redesign-type-display);
    line-height: 1.1;
    letter-spacing: var(--redesign-type-tracking-heading);
    text-transform: none;
    color: var(--redesign-contact-form-heading-color);
  }

  .redesign-contact-form__description {
    margin: 0;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-type-body);
    line-height: 1.5;
    color: #252e3d;
  }

  .redesign-contact-form__description p {
    margin: 0;
    font-size: inherit;
  }

  .redesign-contact-form__description ul {
    margin: 0.75rem 0 0;
    padding: 0;
    list-style: none;
  }

  .redesign-contact-form__description li {
    position: relative;
    margin: 0;
    padding-left: 1.4em;
  }

  .redesign-contact-form__description li::before {
    content: '\2713';
    position: absolute;
    left: 0;
  }

  .redesign-contact-form__form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .redesign-contact-form__input,
  .redesign-contact-form__select {
    width: 100%;
    border: none;
    border-bottom: 1px solid #d8d8d8;
    padding: 0.75rem 1rem;
    background-color: transparent;
    font-family: 'Circular Std', sans-serif;
    font-weight: 400;
    font-size: 0.9375rem;
    color: #252e3d;
  }

  .redesign-contact-form__input::placeholder {
    color: #252e3d;
  }

  .redesign-contact-form__select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 1.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%23252e3d' stroke-width='1.25' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 0.625rem 0.375rem;
    cursor: pointer;
  }

  .redesign-contact-form__textarea {
    width: 100%;
    resize: vertical;
    border: 1px solid #d8d8d8;
    padding: 1rem;
    font-family: 'Circular Std', sans-serif;
    font-weight: 400;
    font-size: 0.9375rem;
    color: #252e3d;
  }

  .redesign-contact-form__textarea::placeholder {
    color: #252e3d;
  }

  .redesign-contact-form__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 0.5rem;
    padding: 0 var(--redesign-button-padding-x);
    border: 2px solid #252e3d;
    border-radius: 62.5rem;
    background-color: #252e3d;
    color: #ffffff;
    font-family: 'Circular Std', sans-serif;
    font-weight: 700;
    font-size: var(--redesign-type-button);
    text-align: center;
    cursor: pointer;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
    height: var(--redesign-button-height);
    line-height: 1;
    letter-spacing: var(--redesign-type-tracking-label);
    text-transform: uppercase;
  }

  .redesign-contact-form__button:hover,
  .redesign-contact-form__button:focus,
  .redesign-contact-form__button:active {
    background-color: transparent;
    color: #252e3d;
  }

  .redesign-contact-form__button-spinner {
    display: none;
    width: 1rem;
    height: 1rem;
    margin-left: 0.5rem;
    border: 0.125rem solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: redesign-contact-form-spin 0.7s linear infinite;
  }

  .redesign-contact-form__button--loading .redesign-contact-form__button-spinner {
    display: block;
  }

  @keyframes redesign-contact-form-spin {
    to {
      transform: rotate(360deg);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .redesign-contact-form__button-spinner {
      animation-duration: 2.4s;
    }
  }

  .redesign-contact-form__status {
    margin: 0;
    font-family: 'Circular Std', sans-serif;
    font-size: 0.875rem;
    line-height: 1.4;
  }

  .redesign-contact-form__status--success {
    color: #1e7a44;
  }

  .redesign-contact-form__status--error {
    color: #b3261e;
  }

  @media only screen and (min-width: 750px) {
    .redesign-contact-form {
      margin-top: var(--redesign-contact-form-margin-top-desktop);
      margin-bottom: var(--redesign-contact-form-margin-bottom-desktop);
      padding-left: 4rem;
      padding-right: 4rem;
      padding-top: calc(5rem + var(--redesign-contact-form-padding-extra-top-desktop));
      padding-bottom: calc(5rem + var(--redesign-contact-form-padding-extra-bottom-desktop));
    }

    .redesign-contact-form__inner {
      flex-direction: row;
      align-items: flex-start;
      gap: 3rem;
    }

    .redesign-contact-form__content {
      flex: 1 1 45%;
    }

    .redesign-contact-form__form-col {
      flex: 1 1 45%;
    }

    .redesign-contact-form__heading {
      margin-bottom: 1.25rem;
      font-size: var(--redesign-type-display);
    }

    .redesign-contact-form__description {
      font-size: var(--redesign-type-lead);
    }

    .redesign-contact-form__description ul {
      margin-top: 1rem;
    }

    .redesign-contact-form__button {
      padding: 0 var(--redesign-button-padding-x);
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-contact-form {
      padding-left: 6rem;
      padding-right: 6rem;
    }
  }

  @media only screen and (min-width: 1250px) {
    .redesign-contact-form {
      padding-left: 7.5rem;
      padding-right: 7.5rem;
    }
  }

  @media (prefers-reduced-motion: no-preference) {
    html:has(#get-a-quote) {
      scroll-behavior: smooth;
    }
  }

  /* The redesign header is only fixed below 1000px; above that it scrolls away with the page */
  @media only screen and (max-width: 999px) {
    #get-a-quote {
      scroll-margin-top: var(--header-height, 0);
    }
  }

/* ==== redesign-how-it-works ==== */
/* --redesign-how-it-works-* custom properties are set inline on the
   section's root element (see sections/redesign-how-it-works.liquid)
   rather than here, since their values are computed per-instance from
   section.settings — Liquid isn't processed in this file, only in
   assets/*.css.liquid. */
  .redesign-how-it-works {
    position: relative;
    background-color: #ffffff;
  }

  /* Positioned against the first .__step, not the section, so on mobile it
     scrolls away with step 1 instead of hanging over whichever step is under it. */
  .redesign-how-it-works__header {
    position: absolute;
    z-index: 1;
    top: 1.5rem;
    left: 1.5rem;
    display: flex;
    align-items: center;
    white-space: nowrap;
  }

  .redesign-how-it-works .redesign-how-it-works__heading {
    margin: 0;
    font-family: 'Circular Std', sans-serif !important;
    font-weight: 500;
    font-size: var(--redesign-how-it-works-heading-size-mobile);
    line-height: 1.167;
    letter-spacing: var(--redesign-type-tracking-heading);
    color: #252e3d;
  }

  .redesign-how-it-works__link {
    margin-left: 1rem;
    font-family: 'Circular Std', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-type-button);
    letter-spacing: var(--redesign-type-tracking-label);
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 0.35rem;
    color: #252e3d;
    transition: opacity 0.2s ease;
  }

  .redesign-how-it-works__link:hover {
    color: #252e3d;
    opacity: 0.8;
  }

  /*
    Below 1000px the steps scroll under a finger instead of stacking, so
    the row stays on one line and is sized to leave the next one peeking.
  */
  .redesign-how-it-works__steps {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .redesign-how-it-works__steps::-webkit-scrollbar {
    display: none;
  }

  .redesign-how-it-works__step {
    position: relative;
    flex: 0 0 80%;
    scroll-snap-align: start;
  }

  .redesign-how-it-works__step-link {
    position: relative;
    display: block;
    text-decoration: none;
  }

  .redesign-how-it-works__media {
    position: relative;
    overflow: hidden;
  }

  .redesign-how-it-works__image {
    display: block;
    width: 100%;
    height: auto;
  }

  .redesign-how-it-works__content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 1rem;
  }

  .redesign-how-it-works__index {
    margin-bottom: 0.4em;
    font-family: 'Circular Std Book', sans-serif;
    font-size: 2rem;
    line-height: 1.2;
    color: var(--redesign-how-it-works-label-color, #252e3d);
  }

  .redesign-how-it-works__label {
    margin: 0;
    font-family: 'Circular Std Book', sans-serif;
    font-weight: normal;
    font-size: var(--redesign-how-it-works-label-size-mobile);
    line-height: 1.2;
    text-transform: none;
    color: var(--redesign-how-it-works-label-color, #252e3d);
  }

  @media only screen and (min-width: 1000px) {
    .redesign-how-it-works__header {
      top: 3rem;
      left: 3rem;
    }

    .redesign-how-it-works .redesign-how-it-works__heading {
      font-size: var(--redesign-how-it-works-heading-size-desktop);
    }

    .redesign-how-it-works__link {
      font-size: var(--redesign-type-button);
    }

    .redesign-how-it-works__steps {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      overflow-x: visible;
      scroll-snap-type: none;
    }

    .redesign-how-it-works__image {
      transform: scale(1);
      transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
    }

    .redesign-how-it-works__step-link:hover .redesign-how-it-works__image {
      transform: scale(1.05);
    }

    .redesign-how-it-works__content {
      padding: 3rem;
    }

    .redesign-how-it-works__index {
      margin-bottom: 0.2em;
      font-size: 4.28em;
    }

    .redesign-how-it-works__label {
      font-size: var(--redesign-how-it-works-label-size-desktop);
    }
  }

/* ==== redesign-icon-with-text ==== */
/* --redesign-icon-with-text-* custom properties are set inline on the
   section's root element (see sections/redesign-icon-with-text.liquid)
   rather than here, since their values are computed per-instance from
   section.settings — Liquid isn't processed in this file, only in
   assets/*.css.liquid. */
  .redesign-icon-with-text {
    padding: 1.875rem 1rem;
    background-color: var(--redesign-icon-with-text-bg-color);
  }

  /* The theme-wide .u-visually-hidden is display: none, which would drop this
     heading from the accessibility tree as well as the page, so the section
     hides it with the clip technique instead. */
  .redesign-icon-with-text__heading {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  /*
    Below 750px the items scroll under a finger instead of wrapping, so
    the row stays on one line and is sized to leave the next item peeking.
  */
  .redesign-icon-with-text__grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .redesign-icon-with-text__grid::-webkit-scrollbar {
    display: none;
  }

  /*
    iOS Safari ignores ::-webkit-scrollbar and only flashes its own overlay bar
    mid-scroll, so the native bar is hidden on every browser and this one is
    driven from the grid's scroll position by assets/redesign-icon-with-text.js,
    which also adds is-scrollable only while the grid actually overflows.
  */
  .redesign-icon-with-text__scrollbar {
    display: none;
    position: relative;
    width: 100%;
    height: 0.25rem;
    margin-top: 1rem;
    border-radius: 62.5rem;
    overflow: hidden;
    background-color: color-mix(in srgb, var(--redesign-icon-with-text-text-color) 25%, transparent);
  }

  .redesign-icon-with-text__scrollbar.is-scrollable {
    display: block;
  }

  .redesign-icon-with-text__scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    border-radius: inherit;
    background-color: var(--redesign-icon-with-text-text-color);
  }

  .redesign-icon-with-text__item {
    flex: 0 0 60%;
    scroll-snap-align: start;
    text-align: center;
  }

  .redesign-icon-with-text__item-inner {
    max-width: 29rem;
    margin: 0 auto;
    padding: 1.5625rem 0.625rem;
  }

  .redesign-icon-with-text__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 6.0625rem;
    height: 6.0625rem;
    padding: 1rem;
  }

  .redesign-icon-with-text__icon svg {
    width: 4.0625rem;
    height: 4.0625rem;
  }

  .redesign-icon-with-text__icon-image {
    display: block;
    height: 100%;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    margin: 0 auto;
  }

  .redesign-icon-with-text .redesign-icon-with-text__title {
    margin: 0.75rem 0 0.5rem;
    font-family: 'Angie', serif;
    font-weight: normal;
    font-size: var(--redesign-icon-with-text-title-size-mobile);
    line-height: 1.15;
    letter-spacing: -0.02em;
    text-transform: none;
    color: var(--redesign-icon-with-text-text-color);
  }

  .redesign-icon-with-text .redesign-icon-with-text__text p {
    margin: 0;
    font-family: 'Circular Std Book', sans-serif;
    font-size: 1rem;
    line-height: 1.25;
    color: var(--redesign-icon-with-text-text-color);
  }

  @media only screen and (min-width: 750px) {
    .redesign-icon-with-text {
      padding: 1.875rem 2rem;
    }

    .redesign-icon-with-text__grid {
      flex-wrap: wrap;
      overflow-x: visible;
      scroll-snap-type: none;
    }

    .redesign-icon-with-text__item {
      flex: 0 0 50%;
    }

    .redesign-icon-with-text .redesign-icon-with-text__title {
      margin: 1.75rem 0 1.25rem;
      font-size: calc(var(--redesign-icon-with-text-title-size) * 0.7);
    }

    .redesign-icon-with-text .redesign-icon-with-text__text p {
      font-size: 1rem;
    }
  }

  @media only screen and (min-width: 1025px) {
    .redesign-icon-with-text {
      padding: 4.375rem 2.75rem;
    }

    .redesign-icon-with-text__grid {
      flex-wrap: nowrap;
    }

    .redesign-icon-with-text__item {
      flex: 1 1 0;
      max-width: 25%;
    }

    .redesign-icon-with-text__item-inner {
      padding: 0 0.625rem;
    }

    .redesign-icon-with-text .redesign-icon-with-text__title {
      margin: 2.5rem 0 1.75rem;
      font-size: var(--redesign-icon-with-text-title-size);
    }

    .redesign-icon-with-text .redesign-icon-with-text__text p {
      font-size: 1rem;
    }
  }

/* ==== instagram heading ==== */
/* Legacy home-page section; its h4 is set at 700 in layout.theme.css.liquid,
   which faux-bolds Circular Book. Use the Medium cut like other headings. */
  .c-instagram__title.o-subtitle {
    font-family: 'Circular Std', sans-serif !important;
    font-weight: 500;
  }

/* ==== okendo reviews heading ==== */
/* sections/okendo-reviews-carousel.liquid is legacy markup styled from
   assets/dynamic.css, but it only renders on the home page, so its heading
   is brought up to the redesign type scale here rather than by editing the
   shared file. custom.css loads after dynamic.css, so these win on order. */
  .product-review-wrapper h2 {
    font-family: 'Circular Std', sans-serif !important;
    font-weight: 500;
    font-size: var(--redesign-type-h2);
    line-height: 1.15;
    letter-spacing: var(--redesign-type-tracking-heading);
    text-transform: none;
    text-align: center;
    color: #252e3d;
  }

  @media only screen and (min-width: 750px) {
    .product-review-wrapper h2 {
      font-size: var(--redesign-type-h2);
    }
  }

  @media only screen and (min-width: 1000px) {
    .product-review-wrapper h2 {
      font-size: var(--redesign-type-h2);
    }
  }

  /*
    Okendo caps the carousel at 1200px from its own stylesheet, which their
    script injects, so load order isn't ours to rely on — each selector below
    carries one more class than the Okendo rule it overrides.
  */
  .review__carousel .okeReviews[data-oke-container],
  .review__carousel div.okeReviews .oke-reviewCarousel,
  .review__carousel div.okeReviews .oke-reviewCarousel-slider,
  .review__carousel div.okeReviews .oke-reviewCarousel-reviews {
    width: 100%;
    max-width: none;
  }

  /*
     Okendo pins its prev/next buttons to the slider's padding-box edge, so
     padding here is what moves the cards inward and leaves the buttons in the
     gutter rather than on top of a review. The 1px vertical is Okendo's own.
  */
  .review__carousel div.okeReviews .oke-reviewCarousel-slider {
    padding: 1px 2.5rem;
  }

  /* Stacked above the slider on mobile, so it takes the slider gutter plus
     the review card's own 8px padding to line up with the cards. */
  .review__count {
    margin: 0 3rem;
  }

  @media only screen and (min-width: 750px) {
    .review__count {
      margin: 0;
    }
  }

/* ==== instagram feed ==== */
/*
  layout.theme.css.liquid positions the .is-content tile as a band over the third
  of five feed cells, which the Instafeed app stopped rendering — it now builds
  its own grid with inline styles, two columns wide here, so the band cut a
  vertical stripe through the middle of it. This puts the tile back to the 50%
  top-left square it is below 750px, which matches the app's first cell. The
  !important on left beats process.css, which pins it to 60% from 750px up.
*/
  @media only screen and (min-width: 750px) and (max-width: 1024px) {
    .c-instagram__photo.is-content {
      top: 0;
      left: 0 !important;
      width: 50%;
      height: auto;
      padding: 0 !important;
      padding-top: 50% !important;
      background-color: #212153;
    }
  }

  @media only screen and (min-width: 750px) {
    .c-instagram #insta-feed {
      margin: 0;
      padding-top: 0;
    }
  }

  @media only screen and (min-width: 1025px) {
    .c-instagram__photo.is-content {
      top: 0;
      width: 20%;
      height: 100%;
      padding: 0 !important;
    }
  }

/* ==== redesign-fixed-bg ==== */
  .redesign-fixed-bg {
    position: relative;
    isolation: isolate;
    display: flex;
    min-height: var(--redesign-fixed-bg-height-mobile);
    background-color: #e1e1e1;
    clip-path: inset(0);
  }

  .redesign-fixed-bg__media {
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: var(--redesign-fixed-bg-image-mobile, var(--redesign-fixed-bg-image));
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }

  .redesign-fixed-bg__inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 2rem 1rem;
  }

  .redesign-fixed-bg .redesign-fixed-bg__heading {
    margin: 0;
    font-family: 'Circular Std', sans-serif !important;
    font-weight: 500;
    font-size: var(--redesign-type-h2);
    line-height: 1.15;
    letter-spacing: var(--redesign-type-tracking-heading);
    text-transform: none;
    text-align: center;
    color: var(--redesign-fixed-bg-heading-color);
  }

  .redesign-fixed-bg__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 25rem;
    margin-top: 2rem;
    padding: 2rem;
    border-radius: 0.5rem;
    background-color: var(--redesign-fixed-bg-card-color);
    text-align: center;
  }

  .redesign-fixed-bg__text p {
    margin: 0;
    font-family: 'Circular Std Book', sans-serif;
    font-size: var(--redesign-type-body);
    line-height: 1.6;
    color: var(--redesign-fixed-bg-text-color);
  }

  .redesign-fixed-bg__link {
    margin-top: 1.5rem;
    font-family: 'Circular Std', sans-serif;
    font-weight: 500;
    font-size: var(--redesign-type-button);
    letter-spacing: var(--redesign-type-tracking-label);
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 0.35rem;
    color: var(--redesign-fixed-bg-text-color);
    transition: opacity 0.2s ease;
  }

  .redesign-fixed-bg__link:hover {
    color: var(--redesign-fixed-bg-text-color);
    opacity: 0.8;
  }

  @media only screen and (min-width: 750px) {
    .redesign-fixed-bg {
      min-height: var(--redesign-fixed-bg-height-desktop);
    }

    .redesign-fixed-bg__media {
      background-image: var(--redesign-fixed-bg-image);
    }

    .redesign-fixed-bg__inner {
      padding: 2.5rem 1.875rem;
    }

    .redesign-fixed-bg .redesign-fixed-bg__heading {
      font-size: var(--redesign-type-h2);
    }
  }

  @media only screen and (min-width: 1000px) {
    .redesign-fixed-bg__inner {
      flex-direction: row;
      align-items: center;
      gap: 2.5rem;
      padding: 4rem 3.75rem;
    }

    .redesign-fixed-bg .redesign-fixed-bg__heading {
      font-size: var(--redesign-type-h2);
      text-align: left;
    }

    .redesign-fixed-bg__card {
      flex-shrink: 0;
      margin-top: 0;
      padding: 2.5rem 2rem;
    }
  }

  @media only screen and (min-width: 1250px) {
    .redesign-fixed-bg__inner {
      padding: 4rem 5.625rem;
    }
  }

  @media only screen and (max-width: 749.98px) {
    .redesign-fixed-bg--sticky-mobile .redesign-fixed-bg__media {
      position: fixed;
      bottom: auto;
      height: 100vh;
    }
  }

  @media only screen and (min-width: 750px) {
    .redesign-fixed-bg--sticky-desktop .redesign-fixed-bg__media {
      position: fixed;
      bottom: auto;
      height: 100vh;
    }
  }
pfd-product-recommendations {
  display: block;
}

/* Prevent native browser image drag from competing with Slick's drag handler */
pfd-product-recommendations img {
  -webkit-user-drag: none;
  user-drag: none;
  -webkit-user-select: none;
  user-select: none;
}

/* -- Product Recommendations Carousel ---------------------------------- */

.prc {
  padding: 40px 0;
}

.prc__inner {
  max-width: var(--page-width, 1200px);
  margin: 0 auto;
  padding: 0 20px;
}

.prc__heading {
  font-size: var(--prc-title-size-mobile);
  margin: 0 0 24px;
}

@media (min-width: 750px) {
  .prc__heading { font-size: var(--prc-title-size-tablet); }
}

@media (min-width: 1000px) {
  .prc__heading { font-size: var(--prc-title-size-desktop); }
}

/* Order screen — agreement checkbox */
.product-form-demo__agreement {
  display: flex;
  align-items: flex-start;
  gap: 17px;
  cursor: pointer;
  margin-bottom: 12px;
  grid-column: 1 / -1;
}
.product-form-demo__agreement-checkbox {
  width: 12px;
  height: 12px;
  min-width: 12px;
  flex-shrink: 0;
  margin-top: 1px;
  cursor: pointer;
  accent-color: #231162;
}
.product-form-demo__agreement-text {
  font-size: 10px;
  color: #6d6d6d;
  line-height: 13px;
}@media only screen and (max-width: 999px) {
  #qab_container { position: fixed !important; z-index: 81 !important; }
  .redesign-header { top: 20px; }
  #shopify-section-redesign-header { padding-top: 60px !important; 
  .redesign-header__logo-box, .redesign-header__shortcut-box { padding-top: 1.3rem !important; }}