/** Shopify CDN: Minification failed

Line 7031:29 Unexpected "{"
Line 7031:38 Expected ":"
Line 7041:29 Unexpected "{"
Line 7041:38 Expected ":"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:academy-article-hero (INDEX:1) */
.academy-hero {
    width: min(120rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
    padding-block: var(--academy-hero-pt) var(--academy-hero-pb);
    color: var(--color-foreground);
  }

  .academy-hero__crumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0 0 3.8rem;
    padding: 0;
    list-style: none;
    font-size: 1.3rem;
    line-height: 1.8rem;
  }

  .academy-hero__crumbs li + li::before {
    content: '/';
    margin-inline-end: 0.4rem;
  }

  .academy-hero .academy-hero__crumb-link {
    color: #5f6e64;
    font-size: 1.3rem;
  }

  .academy-hero .academy-hero__crumb-link:hover {
    text-decoration: underline;
  }

  .academy-hero__card {
    display: grid;
    grid-template-columns: minmax(0, 46.6rem) minmax(0, 48.9rem);
    justify-content: space-between;
    align-items: center;
    gap: 4rem;
    padding: 4.4rem 4.9rem 3.5rem 7.1rem;
    border-radius: 1.6rem;
    background-color: var(--color-surface);
  }

  .academy-hero--no-image .academy-hero__card {
    grid-template-columns: minmax(0, 72rem);
    padding-block: 5.6rem;
  }

  .academy-hero__eyebrow {
    margin: 0 0 2rem;
    color: var(--color-accent);
    font-size: 1.6rem;
    line-height: 1.3rem;
  }

  .academy-hero .academy-hero__title {
    margin: 0;
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 3.6rem;
    font-weight: 400;
    line-height: 4.8rem;
    letter-spacing: -0.108rem;
  }

  .academy-hero__meta {
    margin: 1.4rem 0 0;
    font-size: 1.4rem;
    line-height: 1.4;
  }

  .academy-hero__summary {
    margin: 2.4rem 0 0;
    font-size: 1.8rem;
    line-height: 2.8rem;
  }

  .academy-hero__people {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 2.4rem 4rem;
    margin-top: 5.2rem;
  }

  .academy-hero__author {
    display: flex;
    align-items: flex-start;
    gap: 1.2rem;
    max-width: 23.2rem;
  }

  .academy-hero__avatar {
    flex: none;
    width: 3.2rem;
    height: 3.2rem;
    border: 1px solid var(--color-foreground);
    border-radius: 50%;
    overflow: hidden;
  }

  .academy-hero__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .academy-hero__person {
    margin-top: 0.1rem;
  }

  .academy-hero__person-name {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.3;
  }

  .academy-hero__person-role {
    margin: 0.8rem 0 0;
    font-size: 1.4rem;
    line-height: 1.46;
  }

  .academy-hero__reviewer {
    padding-left: 1.8rem;
    border-left: 3px solid var(--color-accent);
  }

  .academy-hero__reviewer .academy-hero__person-role {
    line-height: normal;
  }

  .academy-hero__media {
    aspect-ratio: 489 / 434;
    border-radius: 1.6rem;
    overflow: hidden;
  }

  .academy-hero__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  @media (max-width: 990px) {
    .academy-hero__card {
      grid-template-columns: minmax(0, 1fr);
      padding: 3.2rem 2.4rem;
    }

    .academy-hero__media {
      order: -1;
    }

    .academy-hero__people {
      margin-top: 3.2rem;
    }
  }

  @media (max-width: 768px) {
    .academy-hero {
      padding-block: calc(var(--academy-hero-pt) * 0.6) calc(var(--academy-hero-pb) * 0.6);
    }

    .academy-hero__crumbs {
      margin-bottom: 2.4rem;
    }

    .academy-hero .academy-hero__title {
      font-size: 3rem;
      line-height: 3.8rem;
    }

    .academy-hero__summary {
      font-size: 1.6rem;
      line-height: 2.6rem;
    }
  }
/* END_SECTION:academy-article-hero */

/* START_SECTION:academy-events (INDEX:2) */
.academy-events {
    --academy-events-bg: var(--color-background);
    --academy-events-deep: #12241b;
    --academy-events-muted: #767270;
    --academy-events-body: #4e6156;
    --academy-events-line: #dcdcdc;
    padding-block: var(--academy-events-pt) var(--academy-events-pb);
    background-color: var(--academy-events-bg);
    color: var(--color-foreground);
  }

  .academy-events--bg-surface {
    --academy-events-bg: var(--color-surface);
  }

  .academy-events__inner {
    width: min(120rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .academy-events__intro {
    margin-bottom: 3.2rem;
  }

  .academy-events__header .academy-events__header__title-wrapper {
    justify-content: flex-start;
  }

  .academy-events__header .academy-events__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--color-accent);
  }

  .academy-events__header .academy-events__header__heading {
    margin: 0;
    color: var(--color-foreground);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 4rem;
    font-weight: 400;
    line-height: 5.2rem;
    letter-spacing: -0.1rem;
    text-align: left;
  }

  .academy-events__text {
    margin-top: 1.2rem;
    font-size: 1.6rem;
    line-height: 2.6rem;
  }

  .academy-events__list {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }

  /* Event card */
  .academy-event {
    --event-bg: #fff;
    --event-border: var(--academy-events-line);
    --event-panel: var(--color-surface);
    --event-text: var(--color-foreground);
    --event-body: var(--academy-events-body);
    --event-muted: var(--academy-events-muted);
    --event-tag-bg: var(--color-accent);
    --event-tag-text: #fff;
    --event-highlight-bg: var(--color-foreground);
    --event-highlight-text: #fff;
    --event-people-bg: #fff;
    --event-people-border: var(--academy-events-line);
    display: flex;
    align-items: flex-start;
    gap: 2.4rem;
    padding: 2.4rem;
    border: 1px solid var(--event-border);
    border-radius: 1.6rem;
    background-color: var(--event-bg);
    color: var(--event-text);
  }

  .academy-event--dark {
    --event-bg: var(--color-foreground);
    --event-border: var(--academy-events-deep);
    --event-panel: var(--academy-events-deep);
    --event-text: var(--color-surface);
    --event-body: var(--color-surface);
    --event-muted: rgba(255, 255, 255, 0.6);
    --event-highlight-bg: var(--color-surface);
    --event-highlight-text: var(--color-foreground);
    --event-people-bg: var(--academy-events-deep);
    --event-people-border: var(--academy-events-deep);
  }

  .academy-event__date {
    display: flex;
    flex: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
    width: 18rem;
    padding: 2rem;
    border-radius: 1.6rem;
    background-color: var(--event-panel);
  }

  .academy-event__date p {
    margin: 0;
  }

  .academy-event .academy-event__month {
    color: var(--event-muted);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.6rem;
    letter-spacing: 0.12rem;
    text-transform: uppercase;
  }

  .academy-event--dark .academy-event__month {
    color: var(--color-surface);
  }

  .academy-event .academy-event__days {
    color: var(--event-text);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 4rem;
    line-height: 4rem;
    letter-spacing: -0.1rem;
    white-space: nowrap;
  }

  .academy-event--dark .academy-event__days {
    color: #fff;
  }

  .academy-event .academy-event__year {
    color: var(--event-muted);
    font-size: 1.3rem;
    line-height: 1.8rem;
  }

  .academy-event .academy-event__status {
    padding: 0.6rem 1.2rem;
    border-radius: 999px;
    background-color: var(--color-accent);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.2rem;
    letter-spacing: 0.08rem;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .academy-event .academy-event__status--tbc {
    background-color: #fff;
    color: var(--academy-events-muted);
  }

  .academy-event__content {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    min-width: 0;
  }

  .academy-event__tags,
  .academy-event__meta {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .academy-event__tags {
    gap: 0.8rem;
  }

  .academy-event__tag {
    padding: 0.8rem 1.2rem;
    border-radius: 999px;
    background-color: var(--event-tag-bg);
    color: var(--event-tag-text);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.6rem;
    letter-spacing: 0.1rem;
    text-transform: uppercase;
  }

  .academy-event__tag--highlight {
    background-color: var(--event-highlight-bg);
    color: var(--event-highlight-text);
  }

  .academy-event .academy-event__title {
    margin: 0;
    color: var(--event-text);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 3.2rem;
    letter-spacing: -0.056rem;
  }

  .academy-event--dark .academy-event__title {
    font-weight: 700;
  }

  .academy-event__meta {
    gap: 0.8rem 1.6rem;
  }

  .academy-event__meta-item {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    color: var(--event-body);
    font-size: 1.4rem;
    line-height: 2rem;
  }

  .academy-event__icon {
    display: inline-flex;
    flex: none;
  }

  .academy-event__icon svg {
    display: block;
  }

  .academy-event .academy-event__text {
    margin: 0;
    color: var(--event-body);
    font-size: 1.5rem;
    line-height: 2.4rem;
  }

  .academy-event .academy-event__note {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    margin: 0;
    padding: 1.2rem 1.6rem;
    border-radius: 1.2rem;
    background-color: var(--color-surface);
    color: var(--color-foreground);
    font-size: 1.35rem;
    font-weight: 500;
    line-height: 2rem;
  }

  .academy-event .academy-event__recap {
    color: var(--event-text);
    font-size: 1.5rem;
    font-weight: 500;
    text-decoration: underline;
  }

  .academy-event__people {
    display: flex;
    flex: none;
    flex-direction: column;
    gap: 1.2rem;
    width: 30rem;
    padding: 2rem;
    border: 1px solid var(--event-people-border);
    border-radius: 1.6rem;
    background-color: var(--event-people-bg);
  }

  .academy-event__people p {
    margin: 0;
  }

  .academy-event .academy-event__people-label {
    color: var(--event-muted);
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.2rem;
    letter-spacing: 0.12rem;
    text-transform: uppercase;
  }

  .academy-event--dark .academy-event__people-label {
    color: var(--color-surface);
  }

  .academy-event__person {
    display: flex;
    align-items: center;
    gap: 1.2rem;
  }

  .academy-event__avatar {
    flex: none;
    width: 4.8rem;
    height: 4.8rem;
    overflow: hidden;
    border-radius: 50%;
  }

  .academy-event__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .academy-event__person-info {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
    line-height: 1.8rem;
  }

  .academy-event__person-name {
    font-size: 1.4rem;
    font-weight: 700;
  }

  .academy-event--dark .academy-event__person-name {
    color: #fff;
  }

  .academy-event__person-role {
    color: var(--event-muted);
    font-size: 1.3rem;
  }

  .academy-event .academy-event__people-text {
    color: var(--event-text);
    font-size: 1.4rem;
    line-height: 2rem;
  }

  .academy-event--dark .academy-event__people-text {
    color: rgba(255, 255, 255, 0.8);
  }

  /* Past events */
  .academy-events__past-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.4rem;
    padding: 3.2rem;
    border: 1px solid var(--academy-events-line);
    border-radius: 1.6rem;
    background-color: #fff;
    cursor: pointer;
    list-style: none;
  }

  .academy-events__past-card::-webkit-details-marker {
    display: none;
  }

  .academy-events__past-copy {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }

  .academy-events__past-title {
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 2.8rem;
    letter-spacing: -0.022rem;
  }

  .academy-events__past-text {
    font-size: 1.4rem;
    line-height: 2.1rem;
  }

  .academy-events__past-button {
    flex: none;
    padding: 1.4rem 2rem;
    border-radius: 999px;
    background-color: var(--color-surface);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.6rem;
  }

  .academy-events__past-card:hover .academy-events__past-button,
  .academy-events__past-card:focus-visible .academy-events__past-button {
    background-color: var(--color-foreground);
    color: var(--color-surface);
  }

  .academy-events__past-hide,
  .academy-events__past[open] .academy-events__past-show {
    display: none;
  }

  .academy-events__past[open] .academy-events__past-hide {
    display: inline;
  }

  .academy-events__past .academy-events__list {
    margin-top: 2.4rem;
  }

  @media (max-width: 990px) {
    .academy-event {
      flex-wrap: wrap;
    }

    .academy-event__people {
      width: 100%;
    }
  }

  @media (max-width: 768px) {
    .academy-events__header .academy-events__header__heading {
      font-size: 3.2rem;
      line-height: 4rem;
    }

    .academy-event {
      flex-direction: column;
      gap: 1.6rem;
      padding: 1.6rem;
    }

    .academy-event__date {
      flex-direction: row;
      flex-wrap: wrap;
      align-items: baseline;
      width: 100%;
      padding: 1.6rem;
    }

    .academy-event .academy-event__days {
      font-size: 3.2rem;
      line-height: 3.2rem;
    }

    .academy-event .academy-event__status {
      margin-left: auto;
    }

    .academy-event .academy-event__title {
      font-size: 2.2rem;
      line-height: 2.8rem;
    }

    .academy-events__past-card {
      flex-direction: column;
      align-items: flex-start;
      padding: 2.4rem;
    }
  }
/* END_SECTION:academy-events */

/* START_SECTION:academy-pet-intro (INDEX:3) */
html[data-academy-pet="dog"] [data-academy-pet-only="cat"],
  html[data-academy-pet="cat"] [data-academy-pet-only="dog"] {
    display: none !important;
  }

  .academy-pet-intro {
    padding-block: var(--academy-pet-intro-pt) var(--academy-pet-intro-pb);
    background-color: var(--color-background);
    color: var(--color-foreground);
  }

  .academy-pet-intro__inner {
    width: min(120rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .academy-pet-intro__crumbs {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 4rem;
    padding: 0;
    list-style: none;
    color: #707070;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.2rem;
    line-height: 1.6rem;
  }

  .academy-pet-intro__crumb + .academy-pet-intro__crumb::before {
    content: ' / ';
    white-space: pre;
  }

  .academy-pet-intro .academy-pet-intro__crumb a {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
    text-decoration: none;
  }

  .academy-pet-intro .academy-pet-intro__crumb a:hover {
    text-decoration: underline;
  }

  .academy-pet-intro__top {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    margin-bottom: 4rem;
    text-align: center;
  }

  .academy-pet-intro .academy-pet-intro__subheading {
    margin: 0;
    color: var(--color-accent);
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .academy-pet-intro .academy-pet-intro__heading {
    margin: 0;
    color: var(--color-foreground);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 3.6rem;
    font-weight: 400;
    line-height: 4.8rem;
    letter-spacing: normal;
    text-align: center;
  }

  .academy-pet-intro__text {
    max-width: 77.8rem;
    font-size: 1.8rem;
    line-height: 2.8rem;
  }

  .academy-pet-intro__text p {
    margin: 0;
  }

  .academy-pet-intro__selector {
    display: inline-flex;
    gap: 0.8rem;
    padding: 0.6rem;
    border-radius: 5rem;
    background-color: var(--color-surface);
  }

  .academy-pet-intro .academy-pet-intro__tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    width: 17.2rem;
    height: 5.2rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 5rem;
    background-color: transparent;
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.4rem;
    cursor: pointer;
  }

  .academy-pet-intro .academy-pet-intro__tab:focus-visible {
    outline: 2px solid var(--color-foreground);
    outline-offset: 2px;
  }

  .academy-pet-intro__tab-icon {
    display: flex;
    flex: none;
    width: 2.4rem;
    height: 2.4rem;
  }

  .academy-pet-intro__tab-icon svg,
  .academy-pet-intro__tab-check svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .academy-pet-intro__tab-check {
    display: none;
    flex: none;
    width: 1.8rem;
    height: 1.8rem;
  }

  html[data-academy-pet="dog"] .academy-pet-intro .academy-pet-intro__tab[data-pet="dog"],
  html[data-academy-pet="cat"] .academy-pet-intro .academy-pet-intro__tab[data-pet="cat"] {
    background-color: var(--color-accent);
    color: #fff;
  }

  html[data-academy-pet="dog"] .academy-pet-intro__tab[data-pet="dog"] .academy-pet-intro__tab-check,
  html[data-academy-pet="cat"] .academy-pet-intro__tab[data-pet="cat"] .academy-pet-intro__tab-check {
    display: flex;
  }

  .academy-pet-intro .academy-pet-intro__status {
    margin: 0;
    color: #5f6e64;
    font-size: 1.4rem;
    line-height: 2rem;
  }

  .academy-pet-intro__featured {
    display: flex;
    align-items: center;
    gap: 6.4rem;
    padding: 4.8rem;
    border-radius: 1.6rem;
    background-color: var(--color-surface);
  }

  .academy-pet-intro__featured-copy {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
    min-width: 0;
  }

  .academy-pet-intro__featured-labels {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 1.6rem;
  }

  .academy-pet-intro .academy-pet-intro__featured-label {
    margin: 0;
    color: var(--color-foreground);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: normal;
    text-transform: uppercase;
  }

  .academy-pet-intro .academy-pet-intro__featured-eyebrow {
    margin: 0;
    color: var(--color-accent);
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .academy-pet-intro .academy-pet-intro__featured-title {
    max-width: 49.8rem;
    margin: 0;
    color: var(--color-foreground);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 3.6rem;
    font-weight: 400;
    line-height: 4.8rem;
    letter-spacing: normal;
  }

  .academy-pet-intro .academy-pet-intro__featured-summary {
    margin: 0;
    font-size: 1.6rem;
    line-height: 2.6rem;
  }

  .academy-pet-intro__byline p {
    margin: 0;
    font-size: 1.4rem;
    line-height: 2.2rem;
  }

  .academy-pet-intro .academy-pet-intro__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.6rem 3.2rem;
    border-radius: 5rem;
    background-color: var(--color-accent);
    color: #fff;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.4rem;
    text-decoration: none;
  }

  .academy-pet-intro .academy-pet-intro__button:hover {
    background-color: var(--color-foreground);
    color: #fff;
  }

  .academy-pet-intro .academy-pet-intro__button:focus-visible {
    outline: 2px solid var(--color-foreground);
    outline-offset: 3px;
  }

  .academy-pet-intro__featured-media {
    flex: none;
    width: 48.9rem;
    aspect-ratio: 489 / 366;
    overflow: hidden;
    border-radius: 1.6rem;
  }

  .academy-pet-intro__featured-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  @media (max-width: 990px) {
    .academy-pet-intro__featured {
      flex-direction: column;
      align-items: stretch;
      gap: 2.4rem;
      padding: 2.4rem;
    }

    .academy-pet-intro__featured-media {
      width: 100%;
    }
  }

  @media (max-width: 768px) {
    .academy-pet-intro .academy-pet-intro__heading,
    .academy-pet-intro .academy-pet-intro__featured-title {
      font-size: 3rem;
      line-height: 3.8rem;
    }

    .academy-pet-intro__text {
      font-size: 1.6rem;
      line-height: 2.6rem;
    }

    .academy-pet-intro__selector {
      max-width: 100%;
    }

    .academy-pet-intro .academy-pet-intro__tab {
      width: auto;
      min-width: 0;
      flex: 1 1 0;
      padding-inline: 1.2rem;
    }
  }
/* END_SECTION:academy-pet-intro */

/* START_SECTION:academy-search (INDEX:4) */
.academy-search {
    width: 100%;
    --academy-search-bg: var(--color-surface);
    padding-block: var(--academy-search-pt) var(--academy-search-pb);
    background-color: var(--academy-search-bg);
    color: var(--color-foreground);
  }

  .academy-search--bg-white {
    --academy-search-bg: var(--color-background);
  }

  .academy-search__inner {
    width: min(120rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .academy-search__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
  }

  .academy-search__form {
    position: relative;
    flex: 0 1 65.6rem;
    min-width: 32rem;
    margin: 0;
  }

  .academy-search__field {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    width: 100%;
    height: 5.4rem;
    padding: 0 1.88rem;
    border: 1px solid #cbd3cd;
    border-radius: 1.2rem;
    background-color: var(--color-background);
    color: #859389;
    cursor: text;
  }

  .academy-search__field:focus-within {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
  }

  .academy-search__icon {
    display: flex;
    flex: none;
    width: 2rem;
    height: 2rem;
  }

  .academy-search__icon svg {
    width: 100%;
    height: 100%;
  }

  .academy-search__input {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.6rem;
    line-height: 2.4rem;
    appearance: none;
  }

  .academy-search__input::placeholder {
    color: #859389;
    opacity: 1;
  }

  .academy-search__input::-webkit-search-cancel-button {
    appearance: none;
  }

  .academy-search__label,
  .academy-search__submit {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .academy-search__topic-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.8rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .academy-search .academy-search__topic {
    display: inline-flex;
    align-items: center;
    padding: 0.84rem 1.68rem 0.88rem;
    border: 1px solid #cbd3cd;
    border-radius: 9999px;
    background-color: var(--color-background);
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4rem;
    text-decoration: none;
    white-space: nowrap;
  }

  .academy-search .academy-search__topic:is(a[href], button):hover {
    border-color: var(--color-accent);
  }

  .academy-search button.academy-search__topic {
    margin: 0;
    cursor: pointer;
  }

  .academy-search .academy-search__topic:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
  }

  .academy-search .academy-search__topic--active,
  .academy-search .academy-search__topic[aria-pressed="true"] {
    border-color: var(--color-accent);
    background-color: var(--color-accent);
    color: var(--color-background);
  }

  .academy-search__browse {
    display: flex;
    align-items: baseline;
    gap: 1.6rem;
    margin-top: 2rem;
  }

  .academy-search .academy-search__browse-link {
    color: var(--color-accent);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2.3rem;
    text-decoration: none;
    white-space: nowrap;
  }

  .academy-search .academy-search__browse-link:hover {
    text-decoration: underline;
  }

  .academy-search__browse-arrow {
    font-weight: 700;
  }

  .academy-search__browse-text {
    margin: 0;
    font-size: 1.5rem;
    line-height: 2.3rem;
  }

  /* Filter mode (Figma 47:388) */
  .academy-search--filter .academy-search__form {
    flex: 0 1 47.6rem;
    min-width: 0;
  }

  .academy-search--filter .academy-search__field {
    height: 4.4rem;
    padding: 0 1.6rem;
    border-color: #e2e8e3;
    border-radius: 0.8rem;
  }

  .academy-search--filter .academy-search__icon {
    order: 2;
    width: 2.4rem;
    height: 2.4rem;
  }

  .academy-search--filter .academy-search__input {
    font-size: 1.4rem;
    line-height: 2rem;
  }

  .academy-search--filter .academy-search__input::placeholder {
    color: #7b8375;
  }

  .academy-search.academy-search--filter .academy-search__topic {
    padding: 1rem 1.6rem;
    border-color: transparent;
    font-size: 1.3rem;
    line-height: 1.8rem;
  }

  .academy-search.academy-search--filter .academy-search__topic[aria-pressed="true"] {
    border-color: var(--color-accent);
  }

  .academy-search--filter .academy-search__browse {
    margin-top: 1.6rem;
  }

  .academy-search--filter .academy-search__browse-text {
    font-size: 1.4rem;
    line-height: 2rem;
  }

  @media (min-width: 1025px) {
    .academy-search__topics {
      flex: none;
    }

    .academy-search__topic-list {
      flex-wrap: nowrap;
    }

    .academy-search--filter .academy-search__topics {
      flex: 1 1 auto;
      min-width: 0;
    }

    .academy-search--filter .academy-search__topic-list {
      flex-wrap: wrap;
    }
  }

  @media (max-width: 1024px) {
    .academy-search__row {
      flex-direction: column;
      align-items: stretch;
    }

    .academy-search__form,
    .academy-search--filter .academy-search__form {
      flex: none;
      width: 100%;
    }

    .academy-search__topic-list {
      justify-content: flex-start;
    }
  }

  @media (max-width: 768px) {
    .academy-search {
      padding-block: calc(var(--academy-search-pt) * 0.6) calc(var(--academy-search-pb) * 0.6);
    }

    .academy-search__topics {
      margin-inline: calc(var(--page-margin) * -1);
    }

    .academy-search__topic-list {
      flex-wrap: nowrap;
      padding-inline: var(--page-margin);
      overflow-x: auto;
      scrollbar-width: none;
    }

    .academy-search__topic-list::-webkit-scrollbar {
      display: none;
    }

    .academy-search__topic-item {
      flex: none;
    }

    .academy-search__browse {
      flex-direction: column;
      gap: 0.4rem;
    }

    .academy-search .academy-search__browse-link {
      white-space: normal;
    }
  }
/* END_SECTION:academy-search */

/* START_SECTION:article-cards (INDEX:11) */
.article-cards {
    width: 100%;
    --article-cards-bg: var(--color-background);
    padding-block: var(--article-cards-pt) var(--article-cards-pb);
    background-color: var(--article-cards-bg);
    color: var(--color-foreground);
  }

  .article-cards--bg-surface {
    --article-cards-bg: var(--color-surface);
  }

  .article-cards__inner {
    width: min(120rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .article-cards__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2.4rem;
    margin-bottom: 4.8rem;
  }

  .article-cards__intro {
    min-width: 0;
  }

  .article-cards__header .article-cards__header__title-wrapper {
    justify-content: flex-start;
  }

  .article-cards__header .article-cards__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--color-accent);
  }

  .article-cards__header .article-cards__header__heading {
    margin: 0;
    color: var(--color-foreground);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 3.6rem;
    font-weight: 400;
    line-height: 1.212;
    letter-spacing: -0.027em;
    text-align: left;
  }

  .article-cards__text {
    margin-top: 2rem;
    font-size: 1.8rem;
    line-height: 2.8rem;
  }

  .article-cards__text p + p {
    margin-top: 1.2rem;
  }

  .article-cards .article-cards__link {
    flex: none;
    color: var(--color-accent);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 4.36rem;
    text-decoration: none;
    white-space: nowrap;
  }

  .article-cards .article-cards__link:hover {
    text-decoration: underline;
  }

  .article-cards .article-cards__link:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
  }

  .article-cards__link-arrow {
    font-size: 1.5rem;
    font-weight: 700;
  }

  .article-cards__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .article-cards__item {
    display: flex;
    min-width: 0;
  }

  .article-cards__card {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    border: 1px solid #dcdcdc;
    border-radius: 1.6rem;
    background-color: var(--color-background);
    overflow: hidden;
  }

  .article-cards__card:focus-within {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
  }

  .article-cards__media {
    height: 17.3rem;
    background-color: var(--color-surface);
  }

  .article-cards__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .article-cards__body {
    padding: 2rem 1.9rem 3.2rem;
  }

  .article-cards__tag {
    display: inline-flex;
    align-items: center;
    height: 2.8rem;
    margin: 0;
    padding: 0 1.4rem;
    border-radius: 50px;
    background-color: var(--color-surface);
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .article-cards__title {
    margin: 1.2rem 0 0;
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.35;
  }

  .article-cards .article-cards__title-link {
    font: inherit;
    color: inherit;
    text-decoration: none;
  }

  .article-cards .article-cards__title-link::after {
    content: '';
    position: absolute;
    inset: 0;
  }

  .article-cards__meta,
  .article-cards__byline {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.55;
  }

  .article-cards__meta {
    margin-top: 1.2rem;
  }

  .article-cards__byline {
    margin-top: 0.8rem;
  }

  .article-cards__footer {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    min-height: 4.2rem;
    margin-top: auto;
    padding: 0 2rem;
    background-color: var(--color-surface);
  }

  .article-cards__check {
    display: flex;
    flex: none;
    width: 1.1rem;
    color: var(--color-accent);
  }

  .article-cards__check svg {
    width: 100%;
    height: auto;
  }

  .article-cards__note {
    margin: 0;
    font-size: 1.2rem;
    line-height: 1.55;
  }

  @media (max-width: 1024px) {
    .article-cards__list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 768px) {
    .article-cards {
      padding-block: calc(var(--article-cards-pt) * 0.6) calc(var(--article-cards-pb) * 0.6);
    }

    .article-cards__top {
      flex-direction: column;
      gap: 1.2rem;
      margin-bottom: 3.2rem;
    }

    .article-cards__header .article-cards__header__subheading {
      margin-bottom: 1.2rem;
      font-size: 1.4rem;
      line-height: 1.25;
    }

    .article-cards__header .article-cards__header__heading {
      font-size: 2.8rem;
      line-height: 1.16;
    }

    .article-cards__text {
      font-size: 1.6rem;
      line-height: 1.45;
    }

    .article-cards .article-cards__link {
      line-height: 2.4rem;
    }

    .article-cards__inner:has(.article-cards__list) {
      width: 100%;
    }

    .article-cards__top {
      width: min(120rem, calc(100% - var(--page-margin) * 2));
      margin-inline: auto;
    }

    .article-cards__list {
      display: flex;
      gap: 1.4rem;
      padding-inline: var(--page-margin);
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scroll-padding-inline: var(--page-margin);
      scrollbar-width: none;
    }

    .article-cards__list::-webkit-scrollbar {
      display: none;
    }

    .article-cards__item {
      flex: 0 0 78%;
      scroll-snap-align: start;
    }
  }

  /* Blog source mode */
  .article-cards__item[hidden] {
    display: none;
  }

  .article-cards--blog .article-cards__inner {
    width: min(120rem, calc(100% - var(--page-margin) * 2));
  }

  .article-cards--blog .article-cards__top {
    margin-bottom: 4rem;
  }

  .article-cards--blog .article-cards__intro {
    flex: 1 1 auto;
  }

  /* critical.css caps every .section-header__title at 50rem */
  .article-cards--blog .article-cards__header .article-cards__header__heading {
    max-width: none;
  }

  .article-cards__card--blog .article-cards__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
    padding: 2rem;
  }

  .article-cards__card--blog .article-cards__tag {
    height: auto;
    padding: 0.5rem 1rem;
    font-size: 1.1rem;
    line-height: 1.3;
  }

  .article-cards__card--blog .article-cards__title {
    margin: 0;
    font-size: 2rem;
    line-height: 2.6rem;
  }

  .article-cards__summary {
    margin: 0;
    font-size: 1.4rem;
    line-height: 2.2rem;
  }

  .article-cards__card--blog .article-cards__meta {
    margin: 0;
    color: #5f6e64;
    font-size: 1.2rem;
    line-height: 1.4;
  }

  .article-cards__read {
    margin: auto 0 0;
    padding-top: 0.4rem;
    color: var(--color-accent);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
  }

  .article-cards__card--blog .article-cards__footer {
    gap: 0.6rem;
    min-height: 0;
    padding: 1.2rem 1.6rem;
  }

  .article-cards__card--blog .article-cards__check {
    width: 1.4rem;
  }

  .article-cards__card--blog .article-cards__note {
    font-size: 1.1rem;
    line-height: 1.5;
  }

  .article-cards__empty {
    margin: 0;
    padding: 4rem 0;
    text-align: center;
    font-size: 1.6rem;
  }

  .article-cards__empty[hidden],
  .article-cards__more[hidden] {
    display: none;
  }

  .article-cards__more {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
    margin-top: 4rem;
  }

  .article-cards .article-cards__more-button {
    padding: 1.6rem 3.2rem;
    border: 0;
    border-radius: 50px;
    background-color: var(--color-accent);
    color: #fff;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.25;
    cursor: pointer;
  }

  .article-cards .article-cards__more-button:hover {
    opacity: 0.9;
  }

  .article-cards .article-cards__more-button:focus-visible {
    outline: 2px solid var(--color-foreground);
    outline-offset: 3px;
  }

  .article-cards .article-cards__more-button[hidden] {
    display: none;
  }

  .article-cards__count {
    margin: 0;
    color: #5f6e64;
    font-size: 1.3rem;
    line-height: 1.4;
  }

  @media (max-width: 989px) {
    .article-cards--blog .article-cards__list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 2rem;
      padding-inline: 0;
      overflow-x: visible;
    }

    .article-cards--blog .article-cards__item {
      flex: none;
    }

    /* The blog inner already carries the page margin; the mobile __top width would add it twice. */
    .article-cards--blog .article-cards__top {
      width: auto;
    }
  }

  @media (max-width: 599px) {
    .article-cards--blog .article-cards__list {
      grid-template-columns: minmax(0, 1fr);
    }
  }
/* END_SECTION:article-cards */

/* START_SECTION:article-coat-protocol (INDEX:12) */
.article-coat-protocol [data-coat-panel][hidden] {
    display: none !important;
  }

  .article-coat-protocol .article-coat-protocol__picker {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }

  .article-coat-protocol .article-coat-protocol__options {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.6rem;
  }

  .article-coat-protocol .article-coat-protocol__option {
    position: relative;
  }

  .article-coat-protocol .article-coat-protocol__choice {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 1.2rem;
    width: 100%;
    height: 13rem;
    padding: 1.6rem;
    border: 0;
    border-radius: 1.6rem;
    background: var(--color-surface);
    color: var(--color-foreground);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition:
      background-color 0.2s ease,
      color 0.2s ease;
  }

  .article-coat-protocol .article-coat-protocol__choice[aria-checked='true'] {
    background: var(--color-accent);
    color: var(--color-background);
  }

  .article-coat-protocol .article-coat-protocol__choice:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
  }

  .article-coat-protocol .article-coat-protocol__icon {
    display: block;
    flex: none;
    width: 3.9rem;
    height: 4.7rem;
    line-height: 0;
  }

  .article-coat-protocol .article-coat-protocol__icon svg {
    display: block;
    width: 3.9rem;
    height: 4.7rem;
  }

  .article-coat-protocol .article-coat-protocol__label {
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.2rem;
  }

  .article-coat-protocol .article-coat-protocol__info {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    border: 0;
    background: none;
    color: var(--color-accent);
    cursor: pointer;
  }

  .article-coat-protocol .article-coat-protocol__info svg {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
  }

  .article-coat-protocol .article-coat-protocol__info:focus-visible {
    border-radius: 50%;
    outline: 2px solid var(--color-accent);
    outline-offset: 1px;
  }

  .article-coat-protocol .article-coat-protocol__option:has([aria-checked='true']) .article-coat-protocol__info {
    color: var(--color-background);
  }

  .article-coat-protocol .article-coat-protocol__tip {
    inset: 0;
    width: 24.4rem;
    height: fit-content;
    margin: auto;
    max-width: calc(100vw - 1.6rem);
    padding: 2rem;
    border: 1px solid var(--article-protocol-border);
    border-radius: 1.6rem;
    background: #fff;
    color: var(--color-foreground);
    box-shadow: 0 1.6rem 3.2rem rgb(0 0 0 / 0.1);
    font-size: 1.4rem;
    line-height: 2.1rem;
    overflow: visible;
  }

  .article-coat-protocol .article-coat-protocol__tip .article-protocol__eyebrow {
    margin-bottom: 0.8rem;
  }

  .article-coat-protocol .article-coat-protocol__tip-title {
    margin-bottom: 1.2rem;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.4rem;
  }

  .article-coat-protocol .article-coat-protocol__tip-text + .article-coat-protocol__tip-text {
    margin-top: 1.6rem;
  }

  @media screen and (max-width: 600px) {
    .article-coat-protocol .article-coat-protocol__options {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
    }

    .article-coat-protocol .article-coat-protocol__choice {
      height: 10rem;
      padding: 1.2rem;
      gap: 0.8rem;
    }

    .article-coat-protocol .article-coat-protocol__icon,
    .article-coat-protocol .article-coat-protocol__icon svg {
      width: 2.8rem;
      height: 3.4rem;
    }

    .article-coat-protocol .article-coat-protocol__label {
      font-size: 1.5rem;
      line-height: 1.8rem;
    }

    .article-coat-protocol .article-coat-protocol__tip {
      width: min(32rem, calc(100vw - 4rem));
    }
  }

  .article-coat-protocol .article-coat-protocol__tip::backdrop {
    background: rgb(0 0 0 / 0.15);
  }

  @media screen and (min-width: 769px) {
    .article-coat-protocol .article-coat-protocol__tip::backdrop {
      background: none;
    }
  }
/* END_SECTION:article-coat-protocol */

/* START_SECTION:article (INDEX:14) */
.article-hero {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 4rem;
    max-width: none;
    min-height: 54.3rem;


    /*

   Stretch the card across the full page-width container so its edges line up 
   with the header logo (left) and the cart icon (right), which sit flush in 
   that container with no inline padding. 
*/
    margin: 0 calc(-1 * var(--page-margin));
    padding: 3.2rem;
    background-color: var(--color-surface);
    border-radius: 2rem;
    overflow: hidden;
  }

  .article-hero__content {
    padding-left: 3.9rem;
  }

  .article-hero__title {
    margin: 0;
    max-width: 48.9rem;
    color: var(--color-foreground);
    font-family: "Loubag", "Loubag Fallback"
    , sans-serif;
    font-weight: 400;
    font-size: clamp(2.8rem, 3.4vw, 4rem);
    line-height: 1.45;
    text-align: left;
  }

  .article-hero__date {
    margin: 5rem 0 0;
    color: var(--color-foreground);
    font-family: "Grato Grotesk", "Grato Grotesk Fallback"
    , sans-serif;
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 1.1667;
  }

  .article-hero__media {
    align-self: stretch;
    margin: 3.2rem 3.2rem 3.2rem 0;
    border-radius: 1.2rem;
    overflow: hidden;
  }

  .article-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 1.2rem;
    display: block;
  }

  .article-hero__body {
    max-width: 78rem;
    margin: 0 auto;
    padding: 6.8rem 0;
  }

  /* Article body text spacing — matches Figma "Blog posts vidinis" (18px / 28px, 20px gaps) */
  .article-hero__body > p {
    margin: 0 0 2rem;
    color: var(--color-foreground);
    font-family: "Grato Grotesk", "Grato Grotesk Fallback"
    , sans-serif;
    font-size: 1.8rem;
    line-height: 2.8rem;
  }

  .article-hero__body > h2,
  .article-hero__body > h3 {
    margin: 4.8rem 0 2rem;
    color: var(--color-foreground);
    font-family: "Grato Grotesk", "Grato Grotesk Fallback"
    , sans-serif;
    font-weight: 500;
    font-size: 2.8rem;
    line-height: 4rem;
  }

  .article-back-link {
    display: inline-flex;
    align-items: center;
    gap: 1.6rem;
    margin-top: 4.8rem;
    color: var(--color-foreground);
    font-family: "Grato Grotesk", "Grato Grotesk Fallback"
    , sans-serif;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 1;
    text-decoration: none;
  }

  .article-back-link svg {
    flex-shrink: 0;
    transition: transform 0.2s ease;
  }

  .article-back-link:hover svg {
    transform: translateX(-0.4rem);
  }
  .MsoNormal:has(img) {
    padding-top: 4.8rem;
  }

  @media (max-width: 990px) {
    .article-hero {
      grid-template-columns: 1fr;
      min-height: 0;
      gap: 3.2rem;
      /* Keep the card within the content gutter on mobile (logo isn't flush there) */
      margin-inline: 0;
    }

    .article-hero__content {
      padding-left: 0;
    }

    .article-hero__title {
      max-width: none;
    }

    .article-hero__date {
      margin-top: 2.4rem;
    }

    .article-hero__media {
      margin: 0;
      height: 32rem;
      border-radius: 1.2rem;
    }
  }

  /* Phone text spacing — matches Figma mobile "Blog posts vidinis" (390px) */
  @media (max-width: 768px) {
    .article-hero {
      padding: 5rem 2rem 2rem;
      gap: 5rem;
      border-radius: 1.6rem;
    }

    .article-hero__title {
      font-size: 2.4rem;
      line-height: 1.42;
    }

    .article-hero__date {
      font-size: 1.6rem;
    }

    .article-hero__body {
      padding: 4rem 1.6rem;
    }

    .article-hero__body > p {
      margin-bottom: 1.6rem;
      font-size: 1.6rem;
      line-height: 2.6rem;
    }

    .article-hero__body > h2,
    .article-hero__body > h3 {
      margin-top: 3.2rem;
      margin-bottom: 1.6rem;
      font-size: 2rem;
      line-height: 2.8rem;
    }
  }
/* END_SECTION:article */

/* START_SECTION:blog (INDEX:16) */
/* Match the header container so the content aligns with the logo (left)
     and the cart icon (right). */
  .blog {
    max-width: var(--page-width);
    width: 100%;
    margin-inline: auto;
  }
  .blog__header {
    margin-bottom: 4rem;
  }
  .blog .blog__header__heading {
    max-width: none;
    margin: 0 auto;
    color: var(--color-foreground);
    font-size: 3.6rem;
  }
  .blog__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.8rem 3rem;
  }
  .blog__pagination {
    display: flex;
    justify-content: center;
    margin-top: 4.8rem;
  }
  .blog__empty {
    grid-column: 1 / -1;
    text-align: center;
  }
  @media (max-width: 768px) {
    .blog {
      padding-inline: var(--page-margin);
    }
    .blog__header {
      margin-top: 3.2rem;
    }
    .blog .blog__header__heading {
      font-size: 2.8rem;
    }
    .blog__grid {
      grid-template-columns: 1fr;
      gap: 4rem;
    }
  }
/* END_SECTION:blog */

/* START_SECTION:brand-cards (INDEX:17) */
.brand-cards {
    width: 100%;
    --brand-cards-bg: var(--color-background);
    --brand-cards-eyebrow-color: var(--color-accent);
    --brand-cards-gap: 3.2rem;
    padding-block: var(--brand-cards-pt) var(--brand-cards-pb);
    background-color: var(--brand-cards-bg);
    color: var(--color-foreground);
    scroll-margin-top: 8rem;
  }

  .brand-cards--bg-surface {
    --brand-cards-bg: var(--color-surface);
  }

  .brand-cards__inner {
    width: min(121.6rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .brand-cards__header {
    margin-bottom: 4.8rem;
  }

  .brand-cards__header .brand-cards__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--brand-cards-eyebrow-color);
  }

  .brand-cards__header .brand-cards__header__heading {
    max-width: 80rem;
    margin: 0 auto;
    color: var(--color-foreground);
    font-size: var(--brand-cards-heading-size);
    line-height: 1.3;
    letter-spacing: -0.027em;
  }

  .brand-cards__list {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: var(--brand-cards-gap);
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .brand-cards--compact .brand-cards__list {
    grid-auto-columns: minmax(0, 38.6rem);
    justify-content: center;
  }

  .brand-cards__card {
    display: flex;
    flex-direction: column;
    min-height: 38.7rem;
    overflow: hidden;
    border: 1px solid #d0d0d0;
    border-radius: 1.6rem;
    background-color: var(--color-background);
  }

  .brand-cards__tag {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 4.2rem;
    padding: 0.8rem 1.6rem;
    background-color: var(--color-surface);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.6rem;
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
  }

  .brand-cards__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 1.6rem;
    padding: 3.2rem;
  }

  .brand-cards--align-center .brand-cards__body {
    align-items: center;
    text-align: center;
  }

  .brand-cards__logo-wrap {
    display: flex;
    align-items: center;
    min-height: 6rem;
    margin-bottom: 0.8rem;
  }

  .brand-cards__logo {
    width: auto;
    max-width: 100%;
    height: 6rem;
    object-fit: contain;
  }

  .brand-cards__wordmark {
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
  }

  .brand-cards__title {
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.8rem;
  }

  .brand-cards__text {
    font-size: 1.5rem;
    line-height: 2.4rem;
  }

  .brand-cards__actions {
    margin-top: auto;
    padding-top: 0.8rem;
  }

  .brand-cards__actions:empty {
    display: none;
  }

  @media (max-width: 768px) {
    .brand-cards {
      --brand-cards-gap: 1.6rem;
      padding-block: calc(var(--brand-cards-pt) * 0.6) calc(var(--brand-cards-pb) * 0.6);
    }

    .brand-cards__header {
      margin-bottom: 3.6rem;
    }

    .brand-cards__header .brand-cards__header__subheading {
      margin-bottom: 1.2rem;
      font-size: 1.4rem;
      line-height: 1.25;
    }

    .brand-cards__header .brand-cards__header__heading {
      font-size: min(var(--brand-cards-heading-size), 3.2rem);
      line-height: 1.16;
    }

    .brand-cards__list {
      grid-auto-flow: row;
      grid-template-columns: minmax(0, 1fr);
    }

    .brand-cards__card {
      min-height: 0;
      border-radius: 1.4rem;
    }

    .brand-cards__body {
      gap: 1.8rem;
      padding: 2.8rem 2.4rem;
    }

    .brand-cards__logo-wrap {
      min-height: 7rem;
      margin-bottom: 0;
    }

    .brand-cards__logo {
      height: 5.8rem;
    }

    .brand-cards__wordmark {
      font-size: 3.1rem;
    }

    .brand-cards__title {
      font-size: 1.9rem;
      line-height: 1.35;
    }

    .brand-cards__text {
      font-size: 1.4rem;
      line-height: 1.55;
    }

    .brand-cards__actions .pill-button {
      width: 100%;
    }
  }
/* END_SECTION:brand-cards */

/* START_SECTION:brand-feature (INDEX:18) */
.brand-feature {
    width: 100%;
    --brand-feature-bg: var(--color-background);
    --brand-feature-text-color: var(--color-foreground);
    --brand-feature-eyebrow-color: var(--color-accent);
    --brand-feature-circle-bg: var(--color-surface);
    --brand-feature-placeholder-bg: color-mix(in srgb, var(--color-foreground) 8%, var(--color-surface));
    padding-block: var(--brand-feature-pt) var(--brand-feature-pb);
    background-color: var(--brand-feature-bg);
    color: var(--brand-feature-text-color);
    scroll-margin-top: 8rem;
  }

  .brand-feature--bg-surface {
    --brand-feature-bg: var(--color-surface);
    --brand-feature-circle-bg: var(--color-background);
  }

  .brand-feature--bg-foreground {
    --brand-feature-bg: var(--color-foreground);
    --brand-feature-text-color: var(--color-background);
    --brand-feature-eyebrow-color: var(--color-surface);
    --brand-feature-placeholder-bg: color-mix(in srgb, var(--color-background) 12%, var(--color-foreground));
  }

  .brand-feature__inner {
    display: grid;
    grid-template-columns: minmax(0, 55.1fr) minmax(0, 66.7fr);
    grid-template-areas:
      'heading content'
      'media content'
      'links links';
    width: min(121.8rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .brand-feature--image-right .brand-feature__inner {
    grid-template-columns: minmax(0, 66.7fr) minmax(0, 55.1fr);
    grid-template-areas:
      'content heading'
      'content media'
      'links links';
  }

  .brand-feature__heading-area {
    grid-area: heading;
  }

  /* The heading row soaks up any height the text column adds, so the heading always sits a fixed gap above the photo. */
  .brand-feature--heading-bottom .brand-feature__inner {
    grid-template-rows: 1fr auto auto;
  }

  .brand-feature--heading-bottom .brand-feature__heading-area {
    align-self: end;
  }

  .brand-feature__header {
    margin-bottom: 4.8rem;
  }

  .brand-feature__header .brand-feature__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--brand-feature-eyebrow-color);
  }

  .brand-feature__header .brand-feature__header__title-wrapper {
    justify-content: flex-start;
  }

  .brand-feature__header .brand-feature__header__heading {
    max-width: 47.6rem;
    margin: 0;
    color: var(--brand-feature-text-color);
    font-size: 4rem;
    line-height: 1.3;
    letter-spacing: -0.027em;
  }

  .brand-feature__media {
    grid-area: media;
    align-self: end;
    min-width: 0;
  }

  .brand-feature__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 3;
    border-radius: 1.6rem;
    object-fit: cover;
  }

  .brand-feature__placeholder {
    background-color: var(--brand-feature-placeholder-bg);
    fill: color-mix(in srgb, var(--brand-feature-text-color) 30%, transparent);
  }

  .brand-feature__content {
    display: flex;
    grid-area: content;
    flex-direction: column;
    align-items: flex-start;
    align-self: start;
    min-width: 0;
    padding-block-start: 11rem;
    /* Keeps the button clear of the link panel, which rises 10.5rem into this row. */
    padding-block-end: 12.5rem;
    padding-inline-start: clamp(3.2rem, 13vw, 18.9rem);
  }

  .brand-feature--image-right .brand-feature__content {
    padding-inline: 0 clamp(3.2rem, 13vw, 18.9rem);
  }

  .brand-feature__logo {
    width: auto;
    max-width: 100%;
    height: 6rem;
    margin-bottom: 3.2rem;
    object-fit: contain;
    object-position: left center;
  }

  .brand-feature__wordmark {
    margin-bottom: 3.2rem;
    font-size: 4rem;
    font-weight: 700;
    line-height: 6rem;
    letter-spacing: -0.02em;
  }

  .brand-feature__text {
    max-width: 48rem;
    font-size: 1.6rem;
    line-height: 2.3rem;
  }

  .brand-feature__text p + p {
    margin-top: 1.2rem;
  }

  .brand-feature__actions {
    margin-top: 4rem;
  }

  .brand-feature__actions:empty {
    display: none;
  }

  /* The link row sits on a panel in the section colour that cuts a notch out of the photo's corner. */
  .brand-feature__links {
    position: relative;
    z-index: 1;
    grid-area: links;
    justify-self: end;
    max-width: 100%;
    margin-top: -10.5rem;
    padding: 4.8rem 4.6rem 3.2rem;
    border-start-start-radius: 1.6rem;
    background-color: var(--brand-feature-bg);
  }

  .brand-feature--image-right .brand-feature__links {
    justify-self: start;
    border-radius: 0;
    border-start-end-radius: 1.6rem;
  }

  .brand-feature__links-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.4rem 3.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .brand-feature__link-item {
    width: 10.8rem;
  }

  .brand-feature__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
    color: inherit;
    text-decoration: none;
  }

  a.brand-feature__link:hover .brand-feature__circle {
    opacity: 0.85;
  }

  a.brand-feature__link:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 4px;
    border-radius: 1.6rem;
  }

  .brand-feature__circle {
    display: block;
    width: 10.8rem;
    height: 10.8rem;
    overflow: hidden;
    border-radius: 50%;
    background-color: var(--brand-feature-circle-bg);
    transition: opacity 0.2s ease;
  }

  .brand-feature__circle-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .brand-feature__caption {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.65rem;
    text-align: center;
  }

  @media (max-width: 768px) {
    .brand-feature {
      padding-block: calc(var(--brand-feature-pt) * 0.6) calc(var(--brand-feature-pb) * 0.6);
    }

    .brand-feature__inner,
    .brand-feature--image-right .brand-feature__inner {
      grid-template-columns: minmax(0, 1fr);
      grid-template-areas:
        'heading'
        'media'
        'content'
        'links';
    }

    .brand-feature--heading-bottom .brand-feature__inner {
      grid-template-rows: none;
    }

    .brand-feature__header {
      margin-bottom: 2.4rem;
    }

    .brand-feature__header .brand-feature__header__subheading {
      margin-bottom: 0.8rem;
      font-size: 1.4rem;
      line-height: 1.25;
    }

    .brand-feature__header .brand-feature__header__heading {
      font-size: 3.2rem;
      line-height: 1.16;
    }

    .brand-feature__image {
      border-radius: 1.4rem;
      aspect-ratio: 358 / 235;
    }

    .brand-feature__content,
    .brand-feature--image-right .brand-feature__content {
      padding: 3.2rem 0 0;
    }

    .brand-feature__logo {
      height: 5.4rem;
      margin-bottom: 2.4rem;
    }

    .brand-feature__wordmark {
      margin-bottom: 2.4rem;
      font-size: 3.4rem;
      line-height: 5.4rem;
    }

    .brand-feature__text {
      max-width: none;
      line-height: 1.58;
    }

    .brand-feature__actions {
      align-self: stretch;
      margin-top: 2.4rem;
    }

    .brand-feature__actions .pill-button {
      width: 100%;
    }

    .brand-feature__links,
    .brand-feature--image-right .brand-feature__links {
      justify-self: stretch;
      margin-top: 0;
      padding: 4rem 0 0;
      border-radius: 0;
    }

    .brand-feature__links-list {
      gap: 3.2rem 3.2rem;
    }

    .brand-feature__link-item {
      width: calc(50% - 1.6rem);
    }

    .brand-feature__circle {
      width: 10.4rem;
      height: 10.4rem;
    }
  }
/* END_SECTION:brand-feature */

/* START_SECTION:case-studies (INDEX:21) */
.case-studies {
    display: block;
    width: 100%;
    --case-studies-bg: var(--color-surface);
    padding-block: var(--case-studies-pt) var(--case-studies-pb);
    background-color: var(--case-studies-bg);
    color: var(--color-foreground);
  }

  .case-studies--bg-white {
    --case-studies-bg: var(--color-background);
  }

  .case-studies__inner {
    width: min(122rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .case-studies__header {
    margin-bottom: 4.8rem;
  }

  .case-studies__header .case-studies__header__subheading {
    margin-bottom: 1.6rem;
  }

  .case-studies__header .case-studies__header__heading {
    max-width: 60rem;
    margin: 0;
    font-size: 3.6rem;
    line-height: 1.212;
    letter-spacing: -0.027em;
  }

  .case-studies__header .section-title__arrow svg {
    width: 1.5rem;
    height: auto;
  }

  .case-studies__header .section-title__arrow:disabled {
    opacity: 0.3;
    cursor: default;
  }

  .case-studies__track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
  }

  .case-studies__track::-webkit-scrollbar {
    display: none;
  }

  .case-studies__track:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 4px;
  }

  .case-studies__slide {
    display: grid;
    flex: 0 0 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 57.6rem;
    scroll-snap-align: start;
  }

  .case-studies__card {
    display: flex;
    flex-direction: column;
    padding: 5.2rem 5.6rem;
    border-radius: 1.6rem 0 0 1.6rem;
    background-color: var(--color-foreground);
    color: var(--color-surface);
  }

  .case-studies__eyebrow {
    margin-bottom: 2.4rem;
    font-size: 1.6rem;
    line-height: normal;
  }

  .case-studies__title {
    max-width: 42rem;
    margin-bottom: 2.4rem;
    color: inherit;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 3.2rem;
  }

  .case-studies__text {
    max-width: 43rem;
    font-size: 1.5rem;
    line-height: 2.4rem;
  }

  .case-studies__text p + p {
    margin-top: 1.2rem;
  }

  .case-studies__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 16rem));
    gap: 1.2rem;
    margin: auto 0 0;
    padding: 3.2rem 0 0;
    list-style: none;
  }

  .case-studies__stat-value {
    margin-bottom: 1.2rem;
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 3.2rem;
    line-height: 1.2;
  }

  .case-studies__stat-label {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .case-studies__media {
    position: relative;
    overflow: hidden;
    border-radius: 0 1.6rem 1.6rem 0;
    background-color: color-mix(in srgb, var(--color-foreground) 8%, var(--color-surface));
  }

  .case-studies__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .case-studies__placeholder {
    fill: color-mix(in srgb, var(--color-foreground) 30%, transparent);
  }

  /* Before / after comparison slide */
  .case-studies__slide--compare {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    min-height: 40rem;
  }

  .case-studies__compare {
    position: absolute;
    inset: 0;
    --compare-pos: 50%;
    touch-action: pan-y;
  }

  .case-studies__compare-before {
    position: absolute;
    inset: 0;
    clip-path: inset(0 calc(100% - var(--compare-pos)) 0 0);
  }

  .case-studies__compare::after {
    content: '';
    position: absolute;
    inset-block: 0;
    inset-inline-start: calc(var(--compare-pos) - 0.2rem);
    pointer-events: none;
    width: 0.4rem;
    background-color: var(--color-background);
  }

  .case-studies__compare-tag {
    position: absolute;
    top: 2.2rem;
    padding: 0.8rem 1.9rem;
    border-radius: 9999px;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    line-height: 1.6rem;
    text-transform: uppercase;
    pointer-events: none;
  }

  .case-studies__compare-tag--before {
    inset-inline-start: 2.2rem;
    background-color: var(--color-surface);
    color: var(--color-foreground);
  }

  .case-studies__compare-tag--after {
    inset-inline-end: 2.2rem;
    background-color: var(--color-foreground);
    color: var(--color-background);
  }

  .case-studies__compare-handle {
    position: absolute;
    top: 50%;
    inset-inline-start: var(--compare-pos);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5.2rem;
    height: 5.2rem;
    border-radius: 50%;
    background-color: var(--color-surface);
    color: var(--color-foreground);
    z-index: 1;
    transform: translate(-50%, -50%);
    pointer-events: none;
  }

  .case-studies__compare-range {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    appearance: none;
    cursor: ew-resize;
    touch-action: pan-y;
  }

  .case-studies__compare-range::-webkit-slider-thumb {
    appearance: none;
    width: 0.4rem;
    height: 100vh;
  }

  .case-studies__compare-range::-moz-range-thumb {
    width: 0.4rem;
    height: 100vh;
    border: 0;
  }

  .case-studies__compare:has(.case-studies__compare-range:focus-visible) .case-studies__compare-handle {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
  }

  /* Key / value table in place of the figure grid */
  .case-studies--stats-table .case-studies__card {
    justify-content: center;
  }

  .case-studies--stats-table .case-studies__slide--compare .case-studies__card {
    padding-inline: 6.9rem 4rem;
  }

  .case-studies--stats-table .case-studies__title {
    max-width: 25rem;
    line-height: 1.2;
  }

  .case-studies--stats-table .case-studies__stats {
    display: block;
    max-width: 32rem;
    margin: 3.2rem 0 0;
    padding: 0;
  }

  .case-studies__row {
    display: grid;
    grid-template-columns: 10.7rem minmax(0, 1fr);
    column-gap: 0.8rem;
    padding-block: 1.8rem;
    border-bottom: 1px solid color-mix(in srgb, var(--color-surface) 45%, transparent);
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .case-studies__row:first-child {
    padding-top: 0;
  }

  .case-studies__row:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .case-studies__row-label {
    font-weight: 700;
  }

  .case-studies .case-studies__card .case-studies__row-link {
    color: #1dcd5c;
    text-decoration: underline;
  }

  @media (max-width: 768px) {
    .case-studies {
      padding-block: calc(var(--case-studies-pt) * 0.6) calc(var(--case-studies-pb) * 0.6);
    }

    .case-studies__header {
      margin-bottom: 2.8rem;
    }

    .case-studies__header .case-studies__header__subheading {
      margin-bottom: 0.8rem;
      font-size: 1.4rem;
      line-height: 1.25;
    }

    .case-studies__header .case-studies__header__heading {
      font-size: 3.2rem;
      line-height: 1.06;
    }

    .case-studies__header .section-title__title-wrapper--has-arrows {
      justify-content: space-between;
      gap: 1.2rem;
    }

    .case-studies__slide {
      grid-template-columns: minmax(0, 1fr);
      min-height: 0;
    }

    .case-studies__media {
      grid-row: 1;
      aspect-ratio: 35 / 33;
      border-radius: 1.4rem 1.4rem 0 0;
    }

    .case-studies__card {
      padding: 2.4rem;
      border-radius: 0 0 1.4rem 1.4rem;
    }

    .case-studies__eyebrow {
      margin-bottom: 1.8rem;
      font-size: 1.2rem;
    }

    .case-studies__title {
      margin-bottom: 1.8rem;
      font-size: 2.2rem;
      line-height: 1.3;
    }

    .case-studies__text {
      font-size: 1.4rem;
      line-height: 1.55;
    }

    .case-studies__stats {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      padding-top: 1.8rem;
    }

    .case-studies__slide--compare {
      min-height: 0;
    }

    .case-studies__media--compare {
      aspect-ratio: 358 / 244;
    }

    .case-studies__compare-tag {
      top: 1.6rem;
      padding: 0.6rem 1.6rem;
    }

    .case-studies__compare-tag--before {
      inset-inline-start: 1.6rem;
    }

    .case-studies__compare-tag--after {
      inset-inline-end: 1.6rem;
    }

    .case-studies__compare-handle {
      width: 4.8rem;
      height: 4.8rem;
    }

    .case-studies--stats-table .case-studies__slide--compare .case-studies__card {
      padding-inline: 2.4rem;
    }

    .case-studies--stats-table .case-studies__title {
      max-width: none;
    }

    .case-studies--stats-table .case-studies__stats {
      max-width: none;
      margin-top: 2.4rem;
    }

    .case-studies__row {
      grid-template-columns: 9.6rem minmax(0, 1fr);
      padding-block: 1.6rem;
      font-size: 1.5rem;
      line-height: 2.4rem;
    }

    .case-studies__stat-value {
      margin-bottom: 0.8rem;
      font-size: 3.2rem;
    }

    .case-studies__stat-label {
      font-size: 1.3rem;
      line-height: 1.4;
    }
  }
/* END_SECTION:case-studies */

/* START_SECTION:champion-cards (INDEX:23) */
.champion-cards {
    display: block;
    width: 100%;
    --champion-cards-bg: var(--color-background);
    --champion-cards-gap: 3rem;
    padding-block: var(--champion-cards-pt) var(--champion-cards-pb);
    background-color: var(--champion-cards-bg);
    color: var(--color-foreground);
    scroll-margin-top: 8rem;
  }

  .champion-cards--bg-surface {
    --champion-cards-bg: var(--color-surface);
  }

  .champion-cards__inner {
    width: min(121.8rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .champion-cards__header {
    margin-bottom: 4.8rem;
  }

  .champion-cards__header .champion-cards__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--color-accent);
  }

  .champion-cards__header .champion-cards__header__heading {
    max-width: 64rem;
    margin: 0;
    color: var(--color-foreground);
    font-size: 4rem;
    line-height: 1.1;
    letter-spacing: -0.027em;
  }

  .champion-cards__header .section-title__arrow svg {
    width: 1.5rem;
    height: auto;
  }

  .champion-cards__header .section-title__arrow:disabled {
    opacity: 0.3;
    cursor: default;
  }

  .champion-cards__track {
    display: flex;
    gap: var(--champion-cards-gap);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
  }

  .champion-cards__track::-webkit-scrollbar {
    display: none;
  }

  .champion-cards__track:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 4px;
  }

  .champion-cards__slide {
    display: flex;
    flex: 0 0 calc((100% - var(--champion-cards-gap) * 2) / 3);
    min-width: 0;
    scroll-snap-align: start;
  }

  .champion-cards__card {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #d7d7d7;
    border-radius: 1.6rem;
    background-color: var(--color-background);
  }

  .champion-cards__tag {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 4.2rem;
    padding: 0.8rem 1.6rem;
    background-color: var(--color-surface);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.6rem;
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
  }

  .champion-cards__media {
    position: relative;
    aspect-ratio: 386 / 299;
    overflow: hidden;
    background-color: color-mix(in srgb, var(--color-foreground) 8%, var(--color-surface));
  }

  .champion-cards__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .champion-cards__placeholder {
    fill: color-mix(in srgb, var(--color-foreground) 30%, transparent);
  }

  .champion-cards__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 3.2rem 2.4rem 3.6rem;
  }

  .champion-cards__name {
    margin-bottom: 1.6rem;
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 3rem;
  }

  .champion-cards__text {
    font-size: 1.5rem;
    line-height: 2.4rem;
  }

  .champion-cards__titles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem;
    margin: 3.2rem 0 0;
    padding: 0;
    list-style: none;
  }

  .champion-cards__award svg {
    display: block;
    width: 4.2rem;
    height: auto;
  }

  .champion-cards__titles-label {
    margin-top: 1.6rem;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.4rem;
  }

  .champion-cards__titles-text {
    margin-top: 1.2rem;
    font-size: 1.3rem;
    line-height: 1.9rem;
  }

  .champion-cards__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.6rem 2.4rem;
    margin-top: auto;
    padding-top: 3.2rem;
  }

  .champion-cards__link {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    color: var(--color-foreground);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2rem;
    text-decoration: none;
  }

  .champion-cards__link:hover {
    text-decoration: underline;
  }

  .champion-cards__link:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
  }

  .champion-cards__link-icon {
    display: flex;
  }

  .champion-cards__link-icon svg {
    width: 1.4rem;
    height: 1.4rem;
  }

  @media (max-width: 768px) {
    .champion-cards {
      --champion-cards-gap: 1.6rem;
      padding-block: calc(var(--champion-cards-pt) * 0.6) calc(var(--champion-cards-pb) * 0.6);
    }

    .champion-cards__header {
      margin-bottom: 2.8rem;
    }

    .champion-cards__header .champion-cards__header__subheading {
      margin-bottom: 0.8rem;
      font-size: 1.4rem;
      line-height: 1.25;
    }

    .champion-cards__header .champion-cards__header__heading {
      font-size: 3.2rem;
      line-height: 1.1;
    }

    .champion-cards__header .section-title__title-wrapper--has-arrows {
      justify-content: space-between;
      gap: 1.2rem;
    }

    .champion-cards__slide {
      flex-basis: 100%;
    }

    .champion-cards__card {
      border-radius: 1.4rem;
    }

    .champion-cards__body {
      padding: 2.4rem 2rem 2.8rem;
    }

    .champion-cards__actions .pill-button {
      width: auto;
    }
  }
/* END_SECTION:champion-cards */

/* START_SECTION:circular-points (INDEX:24) */
.circular-points {
    overflow: hidden;
  }

  .circular-points__header {
    margin-bottom: 48px;
  }

  .circular-points__stage {
    position: relative;
    width: 100%;
    max-width: 860px;
    margin: 0 auto;
    aspect-ratio: 8 / 4;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

  .circular-points__ring {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 84%;
    height: 84%;
    pointer-events: none;
  }

  .circular-points__point {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 14px;
    transform: translateY(-50%);
    width: max-content;
  }

  .circular-points__icon-wrap {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background-color: var(--color-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  .circular-points__icon-wrap img,
  .circular-points__icon-wrap svg {
    width: 44px;
    height: 44px;
    object-fit: contain;
  }

  .circular-points__text {
    white-space: nowrap;
  }

  .circular-points__text--align-right {
    text-align: right;
  }

  .circular-points__label {
    text-align: right;
    font-family: "Grato Grotesk", "Grato Grotesk Fallback";
    font-size: 2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.34rem;
    /* 117% */
  }

  .circular-points__sublabel {
    font-family: "Grato Grotesk", "Grato Grotesk Fallback";
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2.34rem;
  }

  @media screen and (max-width: 749px) {


    .circular-points__ring {
      display: none;
    }

    .circular-points__point {
      position: relative;
      top: auto;
      left: auto;
      right: auto;
      transform: none;
      width: 100%;
    }

    .circular-points__point--text-left {
      flex-direction: row-reverse;
      justify-content: flex-end;
    }

    .circular-points__text--align-right {
      text-align: left;
    }

    .circular-points__text {
      white-space: normal;
    }
  }
/* END_SECTION:circular-points */

/* START_SECTION:clickable-panels (INDEX:25) */
.clickable-panels__header {
    text-align: center;
    margin-bottom: 4.8rem;
  }
  .clickable-panels__heading {
    margin: 0 0 3rem;
  }
  .clickable-panels__subheading {
    margin: 0 auto 1rem;
    max-width: 60ch;
  }
  .clickable-panels__content {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    gap: 6rem;
  }
  .clickable-panels__content > * {
    min-width: 45%;
  }
  .clickable-panels__images {
    flex: 1;
  }
  .clickable-panels__image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 1.6rem;
  }
  .clickable-panels__info {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    flex: 1;
  }
  .clickable-panels__buttons {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem;
  }
  .clickable-panels__btn {
    cursor: pointer;
    padding: 1rem 1.4rem;
    border-radius: 3rem;
    border: none;
    display: flex;
    align-items: center;
    gap: 1rem;
    width: calc(50% - 0.5rem);
    justify-content: center;
    font-size: inherit;
    font-family: inherit;
    transition: all 0.2s;
    border: 2px solid #CECED4;
    background-color: transparent;
  }
  .clickable-panels__btn.active {
    background-color: var(--color-foreground);
    color: white;
    border-color: var(--color-foreground);
  }
  .clickable-panels__btn-icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
    transition: filter 0.2s;
    filter: grayscale(1) saturate(0);
  }
  .clickable-panels__btn.active .clickable-panels__btn-icon {
    filter: grayscale(1) saturate(8) invert(1);
  }
  .clickable-panels__panel {
    text-align: left;
  }
  .clickable-panels__panel p {
    font-size: 1em;
    line-height: 1.5;
  }
  .clickable-panels__panel h2,
  .clickable-panels__panel h3 {
    font-family: "Grato Grotesk", "Grato Grotesk Fallback";

    font-style: normal;
    font-weight: 500;
    line-height: 4.81rem;
    /* 171.786% */
  }
  .clickable-panels__panel h2 {
    font-size: 2.8rem;
  }
  .clickable-panels__panel h3 {
    font-size: 1.74rem;
  }
  .clickable-panels__note {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.5rem;
    margin: 2rem 0;
  }
  .clickable-panels__note img {
    width: 19px;
    flex-shrink: 0;
  }
  .clickable-panels__list {
    padding-left: 2rem;
    margin: 0.5rem 0 1.5rem;
  }
  .clickable-panels__list li {
    line-height: 2;
  }
  .hidden {
    display: none !important;
  }
  @media screen and (max-width: 768px) {
    .clickable-panels__content {
      flex-direction: column;
      align-items: center;
    }
    .clickable-panels__content > * {
      min-width: unset;
      width: 100%;
    }
    .clickable-panels__btn {
      width: 100%;
    }
  }
/* END_SECTION:clickable-panels */

/* START_SECTION:collection (INDEX:26) */
.collection-description__text {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .collection-description__text.is-expanded {
    display: block;
  }
  .collection-description__toggle {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
  }
  .collection-description__toggle.is-hidden {
    display: none;
  }
  .collection-wrapper {
    display: flex;
    gap: 2.4rem;
  }
  .collection-filters {
    flex: 0 0 22rem;
    width: 22rem;
  }
  /* active filters */
  .active-filters {
    margin-bottom: 2.4rem;
  }
  .active-filters__clear {
    display: inline-block;
    margin-bottom: 1.2rem;
    font-size: 1.4rem;
    text-underline-offset: 0.3rem;
  }
  .active-filters__chips {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
  .active-filters__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.6rem 1.4rem;
    border: 1px solid #CECED4;
    border-radius: 10rem;
    font-size: 1.4rem;
    text-decoration: none;
    width: fit-content;
  }
  .active-filters__chip-icon {
    display: flex;
    align-items: center;
  }
  .active-filters__chip-icon svg {
    width: 1rem;
    height: 1rem;
  }
  /* filter groups */
  .filter-group {
    padding: 1.6rem 0;
  }
  .filter-group__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    list-style: none;
    gap: 1rem;
  }
  .filter-group__header::-webkit-details-marker {
    display: none;
  }
  .filter-group__label {
    font-size: 1.6rem;
    font-weight: 500;
  }
  .filter-group__chevron {
    display: flex;
    transition: transform 0.2s ease;
  }
  details[open] .filter-group__chevron {
    transform: rotate(180deg);
  }
  .filter-group__values {
    list-style: none;
    padding: 0;
    margin: 1.2rem 0 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  /* filter value row */
  .filter-value {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    font-size: 1.5rem;
  }
  .filter-value__checkbox {
    flex-shrink: 0;
    width: 1.8rem;
    height: 1.8rem;
    border: 1.5px solid var(--color-foreground);
    border-radius: 0.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .filter-value--active .filter-value__checkbox::after {
    content: '';
    display: block;
    width: 0.9rem;
    height: 0.55rem;
    border-left: 1px solid var(--color-foreground);
    border-bottom: 1px solid var(--color-foreground);
    transform: rotate(-45deg) translateY(-0.15rem);
  }
  /* collapsed filter values */
  .filter-value-item--hidden {
    display: none;
  }
  .filter-group.is-expanded .filter-value-item--hidden {
    display: block;
  }
  .filter-group__show-more {
    margin-top: 1.2rem;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.4rem;
    font-weight: 500;
    text-decoration: underline;
    color: inherit;
  }
  /* price range filter */
  .filter-price-range {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-top: 1.2rem;
    flex-wrap: wrap;
  }
  .filter-price-range__field {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    border: 1.5px solid var(--color-foreground);
    border-radius: 0.3rem;
    padding: 0.6rem 0.8rem;
  }
  .filter-price-range__currency {
    font-size: 1.4rem;
  }
  .filter-price-range__input {
    width: 6rem;
    border: none;
    font-size: 1.4rem;
    color: inherit;
    font-family: inherit;
  }
  .filter-price-range__input:focus {
    outline: none;
  }
  .filter-price-range__separator {
    font-size: 1.4rem;
  }
  .filter-price-range__apply {
    padding: 0.6rem 1.2rem;
    border: 1.5px solid var(--color-foreground);
    border-radius: 0.3rem;
    background: none;
    font-size: 1.4rem;
    font-weight: 500;
    cursor: pointer;
    color: inherit;
  }
  .collection-sorting {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 2rem;
    margin-bottom: 1.6rem;
  }
  .collection-sorting__count {
    font-family: "Grato Grotesk", "Grato Grotesk Fallback";
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.4rem;
    letter-spacing: 0.04rem;
  }
  .collection-text-part {
    margin-bottom: 7rem;
  }
  .pagination {
    margin-top: 5.4rem;
  }
  #SortBy {
    padding: 0.6rem 3.2rem 0.6rem 1.2rem;
    border: 1px solid #CECED4;
    border-radius: 0.8rem;
    font-family: "Grato Grotesk", "Grato Grotesk Fallback";
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2.4rem;
    /* 150% */
    letter-spacing: 0.04rem;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml, <svg xmlns='http://www.w3.org/2000/svg' width='9' height='4' viewBox='0 0 9 4' fill='none'><path fill-rule='evenodd' clip-rule='evenodd' d='M8.34106 0.115848C8.29731 0.0791258 8.24534 0.0499908 8.18811 0.0301117C8.13089 0.0102326 8.06955 0 8.0076 0C7.94564 0 7.8843 0.0102326 7.82708 0.0301117C7.76985 0.0499908 7.71788 0.0791258 7.67413 0.115848L4.2396 2.99206L0.805063 0.115848C0.716622 0.0418042 0.59667 0.000206761 0.471595 0.000206761C0.34652 0.000206761 0.226568 0.0418042 0.138127 0.115848C0.0496858 0.189892 0 0.290317 0 0.39503C0 0.499744 0.0496858 0.600169 0.138127 0.674213L3.90613 3.82882C3.94988 3.86554 4.00185 3.89468 4.05908 3.91455C4.1163 3.93443 4.17764 3.94467 4.2396 3.94467C4.30155 3.94467 4.36289 3.93443 4.42011 3.91455C4.47734 3.89468 4.52931 3.86554 4.57306 3.82882L8.34106 0.674213C8.38493 0.637584 8.41973 0.594069 8.44347 0.546163C8.46721 0.498256 8.47944 0.446898 8.47944 0.39503C8.47944 0.343163 8.46721 0.291805 8.44347 0.243898C8.41973 0.195992 8.38493 0.152477 8.34106 0.115848Z' fill='%23231F20'/></svg>");
    background-repeat: no-repeat;
    background-position: right 1.2rem center;
    /* make room for the arrow */
  }
  .filter-drawer {
    position: fixed;
    top: 0;
    left: 0;
    width: 80vw;
    max-width: 32rem;
    height: 100%;
    margin: 0;
    padding: 0;
    border: none;
    background: #fff;
    overflow-y: auto;
    translate: -100%;
    transition: translate 0.3s ease;
    z-index: 1000;
  }
  .filter-drawer.is-open {
    translate: 0;
  }
  .filter-drawer::backdrop {
    background: rgba(0, 0, 0, 0);
    transition: background 0.3s ease;
  }
  .filter-drawer.is-open::backdrop {
    background: rgba(0, 0, 0, 0.5);
  }
  .filter-drawer__inner {
    padding: 2rem;
  }
  .filter-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem;
  }
  .filter-drawer__title {
    font-size: 1.8rem;
    font-weight: 600;
  }
  .filter-drawer__close {
    background: none;
    color: var(--color-foreground);
    border: none;
    padding: 0.8rem;
    cursor: pointer;
    display: flex;
    align-items: center;
  }
  @media (max-width: 768px) {
    .sub-save-badge {
      padding: 0.4rem 0.8rem;
      font-size: 1rem;
    }
    .collection-sorting {
      justify-content: center;
      flex-wrap: wrap;
    }
    .collection-sorting select,
    .collection-sorting .filtering-button {
      width: 100%;
      max-width: 47%;
    }
    .filtering-button {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 0.5rem;
      padding: 0.6rem 1.2rem;
      border: 1px solid #CECED4;
      border-radius: 0.8rem;
      font-family: "Grato Grotesk", "Grato Grotesk Fallback";
      font-size: 1.6rem;
      font-style: normal;
      font-weight: 400;
      line-height: 2.4rem;
      letter-spacing: 0.04rem;
      order: 0;
    }
    .collection-sorting select {
      order: 1;
    }
    .collection-sorting__count {
      order: 2;
    }
  }
  .collection-grid-banner {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0.8rem;
    overflow: hidden;
  }
  .collection-grid-banner__img,
  .collection-grid-banner__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0.8rem;
  }
  @media (min-width: 769px) {
    .collection-grid-banner--mobile-only { display: none; }
    .collection-grid-banner__img--mobile,
    .collection-grid-banner__video--mobile { display: none; }
  }
  @media (max-width: 768px) {
    .collection-grid-banner--desktop-only { display: none; }
    .collection-grid-banner__img--desktop,
    .collection-grid-banner__video--desktop { display: none; }
    .collection-grid-banner__img--mobile,
    .collection-grid-banner__video--mobile { height: auto; }
  }
/* END_SECTION:collection */

/* START_SECTION:collections (INDEX:27) */
.collections {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(var(--collection-card-size), 100%), 1fr));
    gap: var(--grid-gap);
  }
  .collections--compact {
    --collection-card-size: 160px;
  }
  .collections--full {
    --collection-card-size: 280px;
  }
  .collection-card {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
/* END_SECTION:collections */

/* START_SECTION:consultation-concerns (INDEX:28) */
.consultation-concerns {
    --consultation-concerns-bg: var(--color-background);
    --consultation-concerns-line: #e2e8e3;
    --consultation-concerns-muted: #5f6e64;
    --consultation-concerns-placeholder: #e4e9e3;
    --consultation-concerns-alert: #dd3720;
    --consultation-concerns-alert-line: #e3b7ae;
    padding-block: var(--consultation-concerns-pt) var(--consultation-concerns-pb);
    background-color: var(--consultation-concerns-bg);
    color: var(--color-foreground);
  }

  .consultation-concerns--bg-surface {
    --consultation-concerns-bg: var(--color-surface);
  }

  .consultation-concerns__inner {
    width: min(120rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .consultation-concerns__intro-block {
    margin-bottom: 3.2rem;
    text-align: center;
  }

  .consultation-concerns__header .consultation-concerns__header__title-wrapper {
    justify-content: center;
  }

  .consultation-concerns__header .consultation-concerns__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--color-accent);
  }

  .consultation-concerns__header .consultation-concerns__header__heading {
    margin: 0;
    color: var(--color-foreground);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 4rem;
    font-weight: 400;
    line-height: 5.2rem;
    letter-spacing: -0.1rem;
    text-align: center;
  }

  .consultation-concerns__text {
    margin: 1.2rem auto 0;
    max-width: 77.8rem;
    font-size: 1.6rem;
    line-height: 2.6rem;
  }

  .consultation-concerns__text p {
    margin: 0;
  }

  /* Picker */
  .consultation-concerns__tabs {
    display: flex;
    gap: 1.6rem;
    justify-content: safe center;
    overflow-x: auto;
    padding-bottom: 0.4rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .consultation-concerns .consultation-concerns__tab {
    display: flex;
    flex: 0 0 18.6rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
    width: 18.6rem;
    min-height: 18.4rem;
    padding: 2.4rem 1.6rem;
    border: 0;
    border-radius: 1.6rem;
    background-color: #fff;
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    text-align: left;
    cursor: pointer;
    scroll-snap-align: start;
    transition: background-color 0.2s ease, color 0.2s ease;
  }

  .consultation-concerns .consultation-concerns__tab:focus-visible {
    outline: 2px solid var(--color-foreground);
    outline-offset: 2px;
  }

  .consultation-concerns__tab-icon {
    display: inline-flex;
    margin-bottom: 0.8rem;
    color: var(--color-accent);
  }

  .consultation-concerns__tab-icon svg {
    display: block;
    width: auto;
    height: 3.8rem;
  }

  .consultation-concerns__tab-icon-file {
    display: block;
    width: 4.4rem;
    height: 3.8rem;
    background-color: currentColor;
    -webkit-mask: var(--concern-icon) left center / contain no-repeat;
    mask: var(--concern-icon) left center / contain no-repeat;
  }

  .consultation-concerns__tab-title {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.6rem;
  }

  .consultation-concerns__tab-summary {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.6rem;
  }

  .consultation-concerns .consultation-concerns__tab[aria-selected='true'] {
    background-color: var(--color-accent);
    color: var(--color-surface);
  }

  .consultation-concerns__tab[aria-selected='true'] .consultation-concerns__tab-icon {
    color: var(--color-surface);
  }

  /* Panel */
  .consultation-concerns__panels {
    margin-top: 6.4rem;
  }

  .consultation-concerns__panel {
    display: grid;
    grid-template-columns: minmax(0, 54.1rem) minmax(0, 53.8rem);
    grid-template-areas:
      'lead media'
      'body media';
    grid-template-rows: auto 1fr;
    justify-content: space-between;
    column-gap: 4rem;
  }

  .consultation-concerns__panel[hidden] {
    display: none;
  }

  .consultation-concerns__panel--no-media {
    grid-template-columns: minmax(0, 54.1rem);
    grid-template-areas:
      'lead'
      'body';
    justify-content: start;
  }

  .consultation-concerns__lead {
    grid-area: lead;
  }

  .consultation-concerns__media {
    grid-area: media;
    align-self: start;
    position: sticky;
    top: 2.4rem;
  }

  .consultation-concerns__media .consultation-concerns__photo {
    display: block;
    width: 100%;
    height: 48.2rem;
    border-radius: 1.6rem;
    object-fit: cover;
  }

  .consultation-concerns__body {
    display: flex;
    grid-area: body;
    flex-direction: column;
    gap: 2rem;
    margin-top: 3.2rem;
  }

  .consultation-concerns__eyebrow {
    margin: 0 0 1.2rem;
    color: var(--color-accent);
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .consultation-concerns .consultation-concerns__panel-heading {
    margin: 0 0 1.6rem;
    color: var(--color-foreground);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 3.6rem;
    font-weight: 400;
    line-height: 4.8rem;
    letter-spacing: -0.108rem;
  }

  .consultation-concerns__intro {
    margin: 0;
    font-size: 1.6rem;
    line-height: 2.6rem;
  }

  /* Cards */
  .consultation-concerns__card,
  .consultation-concerns__routine,
  .consultation-concerns__case,
  .consultation-concerns__food {
    border: 1px solid var(--consultation-concerns-line);
    border-radius: 1.8rem;
    background-color: #fff;
  }

  .consultation-concerns__card {
    padding: 2.1rem 2.8rem;
    border-color: transparent;
    border-radius: 1.6rem;
  }

  .consultation-concerns__card--vet {
    padding: 2.7rem;
    border-color: var(--consultation-concerns-alert-line);
    border-radius: 1.8rem;
  }

  .consultation-concerns .consultation-concerns__card-title {
    margin: 0;
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.6rem;
    letter-spacing: 0;
  }

  .consultation-concerns__list {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    margin: 1.4rem 0 0;
    padding: 0;
    list-style: none;
  }

  .consultation-concerns__list-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    font-size: 1.4rem;
    line-height: 2.2rem;
  }

  .consultation-concerns__check {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 2.2rem;
    color: var(--color-accent);
  }

  .consultation-concerns__check svg {
    display: block;
    width: 1.3rem;
    height: auto;
  }

  .consultation-concerns__dot {
    flex: none;
    width: 0.5rem;
    height: 0.5rem;
    margin: 0.9rem 0.55rem 0 0;
    border-radius: 50%;
    background-color: var(--color-accent);
  }

  .consultation-concerns__dot--alert {
    background-color: var(--consultation-concerns-alert);
  }

  .consultation-concerns__fineprint {
    margin: 1.4rem 0 0;
    padding-top: 0.6rem;
    border-top: 1px solid var(--consultation-concerns-line);
    color: var(--consultation-concerns-muted);
    font-size: 1.3rem;
    line-height: 2rem;
  }

  /* Routine */
  .consultation-concerns__routine {
    overflow: hidden;
  }

  .consultation-concerns__routine-head {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 2.5rem 2.8rem 2.7rem;
    border-bottom: 1px solid var(--consultation-concerns-line);
  }

  .consultation-concerns__routine-intro {
    margin: 0;
    font-size: 1.4rem;
    line-height: 2.17rem;
  }

  .consultation-concerns__rows {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .consultation-concerns__row {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    padding: 2.2rem 2.8rem;
    border-bottom: 1px solid var(--consultation-concerns-line);
  }

  .consultation-concerns__row-number {
    flex: none;
    width: 2.8rem;
    color: var(--color-accent);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 1.8rem;
    line-height: 2.8rem;
  }

  .consultation-concerns .consultation-concerns__row-media {
    display: block;
    flex: none;
    width: 7.6rem;
    height: 7.6rem;
    overflow: hidden;
    border: 1px solid var(--consultation-concerns-line);
    border-radius: 1.1rem;
    background-color: var(--consultation-concerns-placeholder);
  }

  .consultation-concerns__row-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .consultation-concerns__row-info {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    gap: 0.6rem;
    min-width: 0;
  }

  .consultation-concerns__row-info p {
    margin: 0;
  }

  .consultation-concerns__row-step {
    color: var(--color-accent);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1rem;
    letter-spacing: 0.1rem;
    text-transform: uppercase;
  }

  .consultation-concerns .consultation-concerns__row-name {
    color: var(--color-foreground);
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.08rem;
    text-decoration: none;
  }

  .consultation-concerns__row-purpose {
    font-size: 1.3rem;
    line-height: 1.95rem;
  }

  .consultation-concerns__row-usage {
    color: var(--consultation-concerns-muted);
    font-size: 1.2rem;
    line-height: 1.68rem;
  }

  .consultation-concerns__row-buy {
    display: flex;
    flex: none;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.8rem;
  }

  .consultation-concerns__row-price {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.6rem;
  }

  .consultation-concerns__routine-foot {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 2.2rem 2.8rem;
  }

  .consultation-concerns__routine-summary {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }

  .consultation-concerns__routine-name,
  .consultation-concerns__routine-note {
    margin: 0;
  }

  .consultation-concerns__routine-name {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2rem;
  }

  .consultation-concerns__routine-note {
    font-size: 1.3rem;
    line-height: 1.82rem;
  }

  .consultation-concerns__routine-buy {
    display: flex;
    align-items: center;
    gap: 1.6rem;
  }

  .consultation-concerns__routine-total {
    margin: 0;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 2.2rem;
    letter-spacing: -0.044rem;
  }

  /* Buttons */
  .consultation-concerns .consultation-concerns__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid transparent;
    border-radius: 5rem;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
  }

  .consultation-concerns .consultation-concerns__button--primary {
    padding: 1.4rem 2.6rem;
    background-color: var(--color-accent);
    color: var(--color-surface);
    font-size: 1.6rem;
    line-height: 1.6rem;
    letter-spacing: 0.008rem;
  }

  .consultation-concerns .consultation-concerns__button--primary:hover {
    background-color: var(--color-foreground);
  }

  .consultation-concerns .consultation-concerns__button--light {
    background-color: var(--color-surface);
    color: var(--color-foreground);
  }

  .consultation-concerns .consultation-concerns__button--light:hover {
    background-color: var(--color-foreground);
    color: var(--color-surface);
  }

  .consultation-concerns .consultation-concerns__button--small {
    padding: 1.1rem 1.8rem;
    font-size: 1.4rem;
    line-height: 1.4rem;
    letter-spacing: 0.007rem;
    white-space: nowrap;
  }

  .consultation-concerns .consultation-concerns__button--full {
    width: 100%;
  }

  .consultation-concerns .consultation-concerns__button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }

  .consultation-concerns .consultation-concerns__button:disabled:hover {
    background-color: var(--color-surface);
    color: var(--color-foreground);
  }

  /* Link cards */
  .consultation-concerns__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem;
  }

  .consultation-concerns .consultation-concerns__link-card {
    display: flex;
    flex-direction: column;
    gap: 0.74rem;
    padding: 2.3rem;
    border: 1px solid var(--consultation-concerns-line);
    border-radius: 1.4rem;
    background-color: #fff;
    color: var(--color-foreground);
    text-decoration: none;
  }

  .consultation-concerns .consultation-concerns__link-card:hover .consultation-concerns__link-title {
    text-decoration: underline;
  }

  .consultation-concerns__link-eyebrow {
    color: var(--color-accent);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.1rem;
    letter-spacing: 0.11rem;
    text-transform: uppercase;
  }

  .consultation-concerns__link-title {
    color: var(--color-foreground);
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.08rem;
  }

  .consultation-concerns__link-text {
    color: var(--consultation-concerns-muted);
    font-size: 1.2rem;
    line-height: 1.7rem;
  }

  .consultation-concerns__link-action {
    margin-top: auto;
    padding-top: 0.6rem;
    color: var(--color-accent);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2.1rem;
  }

  /* Case */
  .consultation-concerns__case {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 3.3rem;
  }

  .consultation-concerns__case-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }

  .consultation-concerns__case-head .consultation-concerns__case-text {
    margin: 1.2rem 0 0;
    font-size: 1.4rem;
    line-height: 2.17rem;
  }

  .consultation-concerns__case-head .consultation-concerns__card-title + .consultation-concerns__case-text {
    margin-top: -1.2rem;
  }

  .consultation-concerns__badge {
    padding: 1rem 1.6rem;
    border-radius: 999px;
    background-color: var(--color-accent);
    color: var(--color-surface);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.2rem;
  }

  .consultation-concerns__tiles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem;
    align-items: start;
  }

  .consultation-concerns__tile {
    display: flex;
    flex-direction: column;
    gap: 0.93rem;
    margin: 0;
  }

  .consultation-concerns__tile-media {
    position: relative;
    height: 21.1rem;
    overflow: hidden;
    border: 1px solid var(--consultation-concerns-line);
    border-radius: 1.4rem;
    background-color: var(--consultation-concerns-placeholder);
  }

  .consultation-concerns__tile-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .consultation-concerns__pill {
    position: absolute;
    top: 1.2rem;
    left: 1.2rem;
    padding: 0.7rem 1.1rem;
    border-radius: 999px;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.1rem;
    text-transform: uppercase;
  }

  .consultation-concerns__pill--before {
    background-color: var(--color-surface);
    color: var(--color-foreground);
  }

  .consultation-concerns__pill--after {
    background-color: var(--color-foreground);
    color: var(--color-surface);
  }

  .consultation-concerns__caption {
    font-size: 1.3rem;
    line-height: 2rem;
  }

  .consultation-concerns__caption strong {
    font-weight: 700;
  }

  .consultation-concerns__case-box {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    padding: 1.9rem 2.1rem;
    border-radius: 1.2rem;
    background-color: var(--color-surface);
  }

  .consultation-concerns .consultation-concerns__case-box-title {
    margin: 0;
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.4rem;
    letter-spacing: 0;
  }

  .consultation-concerns__case-box-text,
  .consultation-concerns__case-disclaimer {
    margin: 0;
  }

  .consultation-concerns__case-box-text {
    font-size: 1.4rem;
    line-height: 2.24rem;
  }

  .consultation-concerns__case-disclaimer {
    color: var(--consultation-concerns-muted);
    font-size: 1.2rem;
    line-height: 1.8rem;
  }

  /* CTA */
  .consultation-concerns__cta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.4rem;
    padding: 2.6rem;
    border-radius: 1.8rem;
    background-color: var(--color-foreground);
    color: var(--color-surface);
  }

  .consultation-concerns .consultation-concerns__cta-title {
    margin: 0;
    color: var(--color-surface);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.25rem;
    letter-spacing: 0;
  }

  .consultation-concerns__cta-text {
    margin: 0;
    font-size: 1.4rem;
    line-height: 2.24rem;
  }

  .consultation-concerns .consultation-concerns__cta-link {
    margin-top: 0.6rem;
    color: var(--color-surface);
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4rem;
    text-decoration: none;
  }

  .consultation-concerns .consultation-concerns__cta-link:hover {
    text-decoration: underline;
  }

  /* Food */
  .consultation-concerns__food {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    padding: 2.6rem;
  }

  .consultation-concerns__food-text {
    margin: -0.4rem 0 0;
    font-size: 1.4rem;
    line-height: 2.24rem;
  }

  .consultation-concerns__food-product {
    display: flex;
    align-items: center;
    gap: 1.4rem;
  }

  .consultation-concerns .consultation-concerns__food-media {
    display: block;
    flex: none;
    width: 5.6rem;
    height: 5.6rem;
    overflow: hidden;
    border: 1px solid var(--consultation-concerns-line);
    border-radius: 1rem;
    background-color: var(--consultation-concerns-placeholder);
  }

  .consultation-concerns__food-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .consultation-concerns__food-info {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    gap: 0.6rem;
    min-width: 0;
  }

  .consultation-concerns .consultation-concerns__food-name {
    color: var(--color-foreground);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.82rem;
    text-decoration: none;
  }

  .consultation-concerns__food-meta {
    margin: 0;
    color: var(--consultation-concerns-muted);
    font-size: 1.3rem;
    line-height: 1.3rem;
  }

  @media (max-width: 990px) {
    .consultation-concerns__panels {
      margin-top: 4rem;
    }

    .consultation-concerns__panel,
    .consultation-concerns__panel--no-media {
      grid-template-columns: minmax(0, 1fr);
      grid-template-areas:
        'lead'
        'media'
        'body';
      grid-template-rows: auto;
      justify-content: stretch;
    }

    .consultation-concerns__panel--no-media {
      grid-template-areas:
        'lead'
        'body';
    }

    .consultation-concerns__media {
      position: static;
      margin-top: 2.4rem;
    }

    .consultation-concerns__media .consultation-concerns__photo {
      height: auto;
      aspect-ratio: 538 / 482;
    }
  }

  @media (max-width: 768px) {
    .consultation-concerns__header .consultation-concerns__header__heading {
      font-size: 3.2rem;
      line-height: 4rem;
    }

    .consultation-concerns .consultation-concerns__panel-heading {
      font-size: 3rem;
      line-height: 4rem;
    }

    .consultation-concerns__links,
    .consultation-concerns__tiles {
      grid-template-columns: minmax(0, 1fr);
    }

    .consultation-concerns__case {
      padding: 2rem;
    }

    .consultation-concerns__row {
      flex-wrap: wrap;
      gap: 1.2rem 1.6rem;
      padding: 2rem;
    }

    .consultation-concerns__row-info {
      flex-basis: calc(100% - 12rem);
    }

    .consultation-concerns__row-buy {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      width: 100%;
    }

    .consultation-concerns__routine-head,
    .consultation-concerns__routine-foot {
      padding-inline: 2rem;
    }

    .consultation-concerns__routine-buy {
      flex-wrap: wrap;
    }
  }
/* END_SECTION:consultation-concerns */

/* START_SECTION:consultation-form (INDEX:29) */
consultation-form {
    display: block;
  }

  .consultation-form {
    --consultation-form-bg: #fff;
    --consultation-form-card: var(--color-surface);
    --consultation-form-todo: #fff;
    --consultation-form-muted: #5f6e64;
    --consultation-form-body: #2e3f36;
    --consultation-form-line: #cbd3cd;
    --consultation-form-error: #c0392b;
    padding-block: var(--consultation-form-pt) var(--consultation-form-pb);
    background-color: var(--consultation-form-bg);
    color: var(--color-foreground);
  }

  .consultation-form--bg-surface {
    --consultation-form-bg: var(--color-surface);
    --consultation-form-card: #fff;
    --consultation-form-todo: #dfe5e0;
  }

  .consultation-form [hidden] {
    display: none !important;
  }

  .consultation-form__sr {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }

  .consultation-form__inner {
    display: grid;
    grid-template-columns: minmax(0, 46.8rem) minmax(0, 56.1rem);
    justify-content: space-between;
    align-items: start;
    gap: 4.8rem;
    width: min(120rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  /* Intro column */
  .consultation-form__header .consultation-form__header__title-wrapper {
    justify-content: flex-start;
  }

  .consultation-form__header .consultation-form__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--color-accent);
    font-size: 1.6rem;
  }

  .consultation-form__header .consultation-form__header__heading {
    margin: 0;
    color: var(--color-foreground);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 3.6rem;
    font-weight: 400;
    line-height: 4.8rem;
    letter-spacing: -0.108rem;
    text-align: left;
  }

  .consultation-form__text {
    margin-top: 1.6rem;
    color: var(--consultation-form-body);
    font-size: 1.6rem;
    line-height: 2.6rem;
  }

  .consultation-form__text p {
    margin: 0;
  }

  .consultation-form__steps {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 3.2rem 0 0;
    padding: 0;
    list-style: none;
  }

  .consultation-form__step-item {
    display: flex;
    align-items: flex-start;
    gap: 1.6rem;
  }

  .consultation-form__step-number {
    flex: none;
    width: 3.2rem;
    color: var(--color-accent);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 1.8rem;
    line-height: 2.4rem;
  }

  .consultation-form__step-copy {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }

  .consultation-form .consultation-form__step-title {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.4rem;
  }

  .consultation-form .consultation-form__step-text {
    margin: 0;
    color: var(--consultation-form-body);
    font-size: 1.3rem;
    line-height: 1.95rem;
  }

  .consultation-form__stats {
    display: flex;
    gap: 4.8rem;
    margin: 3.2rem 0 0;
    padding: 3.2rem 0 0;
    border-top: 1px solid var(--consultation-form-line);
    list-style: none;
  }

  .consultation-form .consultation-form__stat-value {
    margin: 0;
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 3.2rem;
    line-height: 4rem;
  }

  .consultation-form .consultation-form__stat-label {
    margin: 0.4rem 0 0;
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  /* Form card */
  .consultation-form__card {
    padding: 3.2rem;
    border: 1px solid #e2e8e3;
    border-radius: 1.8rem;
    background-color: var(--consultation-form-card);
  }

  .consultation-form__progress-row {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-bottom: 2.4rem;
  }

  .consultation-form__progress {
    display: flex;
    flex: 1 1 auto;
    gap: 1.2rem;
  }

  .consultation-form__segment {
    flex: 1 1 0;
    height: 0.6rem;
    border-radius: 999px;
    background-color: var(--consultation-form-todo);
    transition: background-color 0.2s ease;
  }

  .consultation-form__segment.is-done {
    background-color: var(--color-accent);
  }

  .consultation-form .consultation-form__progress-label {
    flex: none;
    margin: 0;
    color: var(--consultation-form-muted);
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.3rem;
  }

  .consultation-form .consultation-form__step-heading {
    margin: 0;
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 2.4rem;
    letter-spacing: 0;
  }

  .consultation-form .consultation-form__step-heading:focus {
    outline: none;
  }

  .consultation-form .consultation-form__step-heading:focus-visible {
    outline: 2px solid var(--color-foreground);
    outline-offset: 4px;
  }

  .consultation-form .consultation-form__step-intro {
    margin: 0.8rem 0 0;
    color: var(--color-foreground);
    font-size: 1.4rem;
    line-height: 2.17rem;
  }

  .consultation-form__step > :last-child {
    margin-bottom: 0;
  }

  /* Fields */
  .consultation-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.8rem;
    margin-top: 2.8rem;
  }

  .consultation-form__field {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
  }

  .consultation-form__field--group {
    margin-top: 2.4rem;
  }

  .consultation-form__label {
    display: block;
    margin: 0 0 0.7rem;
    padding: 0;
    color: var(--color-foreground);
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.3rem;
  }

  .consultation-form__field--group > .consultation-form__label {
    margin-bottom: 1rem;
  }

  .consultation-form__optional {
    color: var(--consultation-form-muted);
    font-weight: 400;
  }

  .consultation-form__field .consultation-form__input {
    display: block;
    width: 100%;
    height: 5rem;
    padding: 0 1.5rem;
    border: 1px solid var(--consultation-form-line);
    border-radius: 1.1rem;
    background-color: #fff;
    color: var(--color-foreground);
    font-family: inherit;
    font-size: 1.5rem;
    line-height: 2.2rem;
    box-shadow: none;
  }

  .consultation-form__field .consultation-form__textarea {
    height: auto;
    min-height: 7.6rem;
    padding: 1.4rem 1.5rem;
    resize: vertical;
  }

  .consultation-form__field .consultation-form__input:focus-visible {
    outline: 2px solid var(--color-foreground);
    outline-offset: 1px;
  }

  .consultation-form__field--invalid .consultation-form__input {
    border-color: var(--consultation-form-error);
  }

  .consultation-form__error {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    margin: 0.8rem 0 0;
    color: var(--consultation-form-error);
    font-size: 1.2rem;
    line-height: 1.68rem;
  }

  .consultation-form__error-icon {
    display: inline-flex;
    flex: none;
    padding-top: 0.1rem;
  }

  .consultation-form__error-icon svg {
    display: block;
    width: 1.6rem;
    height: 1.6rem;
  }

  .consultation-form__error-icon svg path {
    stroke: var(--consultation-form-error);
  }

  /* Question stacks (steps 1 and 3) */
  .consultation-form__questions {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    margin-top: 2.8rem;
  }

  .consultation-form__questions .consultation-form__field--group,
  .consultation-form__questions .consultation-form__help {
    margin-top: 0;
  }

  .consultation-form__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.8rem;
    align-items: start;
  }

  /* Choice pills (radio and checkbox) */
  .consultation-form__pill {
    position: relative;
    display: block;
    cursor: pointer;
  }

  .consultation-form__pill-input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
  }

  .consultation-form__pill:hover .consultation-form__pill-body {
    border-color: var(--color-accent);
  }

  .consultation-form__pill-input:focus-visible + .consultation-form__pill-body {
    outline: 2px solid var(--color-foreground);
    outline-offset: 2px;
  }

  .consultation-form__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
  }

  .consultation-form__pill-body {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    padding: 1.25rem 1.6rem;
    border: 1px solid var(--consultation-form-line);
    border-radius: 999px;
    background-color: #fff;
    color: var(--consultation-form-body);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4rem;
    transition: background-color 0.15s ease;
  }

  .consultation-form__swatch {
    flex: none;
    width: 1.8rem;
    height: 1.8rem;
    margin-block: -0.2rem;
    border: 1px solid rgba(20, 43, 32, 0.2);
    border-radius: 50%;
  }

  .consultation-form__pill-input:checked + .consultation-form__pill-body {
    border-color: var(--color-accent);
    background-color: var(--color-accent);
    color: #fff;
    font-weight: 700;
  }

  .consultation-form__pill-input:checked + .consultation-form__pill-body .consultation-form__swatch {
    border-color: #fff;
  }

  /* Consent checkbox (step 3) */
  .consultation-form__consent {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    cursor: pointer;
  }

  .consultation-form__consent .consultation-form__consent-input {
    flex: none;
    width: 1.8rem;
    height: 1.8rem;
    margin: 0;
    accent-color: var(--color-accent);
    cursor: pointer;
  }

  .consultation-form__consent-input:focus-visible {
    outline: 2px solid var(--color-foreground);
    outline-offset: 2px;
  }

  .consultation-form__field--invalid .consultation-form__consent-input {
    outline: 1px solid var(--consultation-form-error);
    outline-offset: 1px;
  }

  .consultation-form__consent-text {
    color: var(--consultation-form-muted);
    font-size: 1.2rem;
    line-height: 1.8rem;
  }

  /* Photos */
  .consultation-form__photos {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
  }

  .consultation-form__photo,
  .consultation-form__photos .consultation-form__photo-add {
    position: relative;
    width: 9.7rem;
    height: 9.7rem;
    border-radius: 1.1rem;
  }

  .consultation-form__photo {
    overflow: visible;
    background-color: #fff;
  }

  .consultation-form__photo-image {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 1.1rem;
    object-fit: cover;
  }

  .consultation-form__photo-badge {
    position: absolute;
    top: -0.6rem;
    right: -0.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    border: 2px solid var(--consultation-form-card);
    border-radius: 50%;
    background-color: var(--color-accent);
    color: #fff;
  }

  .consultation-form__photo-badge svg {
    display: block;
    width: 1rem;
    height: auto;
  }

  .consultation-form__photo .consultation-form__photo-remove {
    position: absolute;
    right: 0.6rem;
    bottom: 0.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: rgba(14, 77, 43, 0.85);
    color: #fff;
    cursor: pointer;
  }

  .consultation-form__photo-remove svg {
    display: block;
    width: 1rem;
    height: 1rem;
  }

  .consultation-form__photos .consultation-form__photo-add {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0;
    border: 1px dashed var(--consultation-form-line);
    background-color: #fff;
    color: var(--color-foreground);
    font-family: inherit;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.6rem;
    cursor: pointer;
  }

  .consultation-form__photo-add-icon svg {
    display: block;
    width: 2rem;
    height: 2rem;
  }

  .consultation-form__photos .consultation-form__photo-add:hover {
    border-color: var(--color-accent);
  }

  .consultation-form__photos .consultation-form__photo-add:focus-visible,
  .consultation-form__photo .consultation-form__photo-remove:focus-visible {
    outline: 2px solid var(--color-foreground);
    outline-offset: 2px;
  }

  .consultation-form .consultation-form__help {
    margin: 1.2rem 0 0;
    color: var(--consultation-form-muted);
    font-size: 1.2rem;
    line-height: 1.8rem;
  }

  /* Footer */
  .consultation-form__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
    margin-top: 3.2rem;
    padding-top: 2rem;
    border-top: 1px solid var(--consultation-form-line);
  }

  .consultation-form__footer .consultation-form__back {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    padding: 1rem 0;
    border: 0;
    background: none;
    color: var(--color-foreground);
    font-family: inherit;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.5rem;
    cursor: pointer;
  }

  .consultation-form__back-icon svg {
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    transform: rotate(180deg);
  }

  .consultation-form__footer .consultation-form__back:focus-visible,
  .consultation-form__footer .consultation-form__next:focus-visible {
    outline: 2px solid var(--color-foreground);
    outline-offset: 3px;
  }

  .consultation-form__footer .consultation-form__next {
    margin-left: auto;
    padding: 1.8rem 3.5rem;
    border: 0;
    border-radius: 9999px;
    background-color: var(--color-accent);
    color: #fff;
    font-family: inherit;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.8rem;
    cursor: pointer;
    transition: opacity 0.2s ease;
  }

  .consultation-form__footer .consultation-form__next:hover {
    opacity: 0.9;
  }

  .consultation-form__footer .consultation-form__next:disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }

  .consultation-form .consultation-form__submit-error {
    margin: 1.2rem 0 0;
    color: var(--consultation-form-error);
    font-size: 1.3rem;
    line-height: 1.9rem;
    text-align: right;
  }

  .consultation-form__trap {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
  }

  .consultation-form__success:focus {
    outline: none;
  }

  .consultation-form__success:focus-visible {
    outline: 2px solid var(--color-foreground);
    outline-offset: 4px;
  }

  @media (max-width: 990px) {
    .consultation-form__inner {
      grid-template-columns: minmax(0, 1fr);
      gap: 4rem;
    }
  }

  @media (max-width: 600px) {
    .consultation-form__header .consultation-form__header__heading {
      font-size: 3.2rem;
      line-height: 4rem;
    }

    .consultation-form__card {
      padding: 2.4rem 1.6rem;
    }

    .consultation-form__grid,
    .consultation-form__row {
      grid-template-columns: minmax(0, 1fr);
    }

    .consultation-form__stats {
      gap: 2.4rem;
    }

    .consultation-form__footer .consultation-form__next {
      padding-inline: 2.8rem;
    }
  }
/* END_SECTION:consultation-form */

/* START_SECTION:contact-cards (INDEX:30) */
.contact-cards {
    width: 100%;
    --contact-cards-bg: var(--color-background);
    --contact-cards-border: color-mix(in srgb, var(--color-foreground) 12%, var(--color-background));
    --contact-cards-card-bg: var(--color-background);
    padding-block: var(--contact-cards-pt) var(--contact-cards-pb);
    background-color: var(--contact-cards-bg);
    color: var(--color-foreground);
  }

  .contact-cards--bg-surface {
    --contact-cards-bg: var(--color-surface);
  }

  .contact-cards--tinted {
    --contact-cards-card-bg: color-mix(in srgb, var(--color-surface) 25%, var(--color-background));
  }

  .contact-cards--divider {
    border-bottom: 1px solid var(--contact-cards-border);
  }

  .contact-cards__inner {
    width: min(121.8rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .contact-cards .contact-cards__header {
    margin-bottom: 1rem;
  }

  .contact-cards .contact-cards__header__subheading {
    margin-bottom: 0.8rem;
  }

  .contact-cards .contact-cards__header__heading {
    max-width: none;
    margin: 0;
    font-size: 3.6rem;
    line-height: 4.4rem;
    letter-spacing: -0.03em;
  }

  .contact-cards__lead {
    max-width: 80rem;
    margin: 0 0 2.8rem;
    font-size: 1.6rem;
    line-height: 2.56rem;
  }

  .contact-cards__list {
    display: grid;
    grid-template-columns: repeat(var(--contact-cards-cols, 3), minmax(0, 1fr));
    gap: 2.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .contact-cards__list--cols-4 {
    --contact-cards-cols: 4;
    gap: 1.6rem;
  }

  .contact-cards__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.33rem;
    padding: 2.68rem;
    border: 1px solid var(--contact-cards-border);
    border-radius: 1.6rem;
    background-color: var(--contact-cards-card-bg);
  }

  .contact-cards__list--cols-4 .contact-cards__card {
    gap: 1.14rem;
    padding: 2.48rem;
  }

  .contact-cards__icon {
    display: flex;
    align-items: flex-end;
    height: 3.2rem;
    color: var(--color-accent);
  }

  .contact-cards__icon svg {
    display: block;
    max-height: 3.4rem;
  }

  .contact-cards__title {
    margin: 0;
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.25rem;
  }

  .contact-cards__list--cols-4 .contact-cards__title {
    font-size: 1.7rem;
    line-height: 2.125rem;
  }

  .contact-cards__text {
    margin: 0;
    font-size: 1.4rem;
    line-height: 2.17rem;
  }

  .contact-cards__list--cols-4 .contact-cards__text {
    flex-grow: 1;
  }

  .contact-cards__badge {
    margin: 0;
    padding: 0.78rem 1.28rem;
    border-radius: 999px;
    background-color: var(--color-surface);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.2rem;
  }

  .contact-cards__value-row {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    width: 100%;
    margin-top: auto;
    padding-top: 1.28rem;
    border-top: 1px solid var(--contact-cards-border);
  }

  .contact-cards .contact-cards__value {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    color: var(--color-accent);
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.95rem;
    overflow-wrap: anywhere;
  }

  .contact-cards a.contact-cards__value:hover,
  .contact-cards a.contact-cards__link:hover {
    text-decoration: underline;
  }

  .contact-cards__copy {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 3.6rem;
    height: 3.6rem;
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--color-foreground) 22%, var(--color-background));
    border-radius: 0.9rem;
    background-color: color-mix(in srgb, var(--color-surface) 25%, var(--color-background));
    color: var(--color-foreground);
    cursor: pointer;
  }

  .contact-cards__copy:hover {
    border-color: var(--color-accent);
  }

  .contact-cards__copy:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
  }

  .contact-cards__copy-icon,
  .contact-cards__copy-icon svg {
    display: block;
  }

  .contact-cards__copy-status {
    position: absolute;
    right: 0;
    bottom: calc(100% + 0.6rem);
    padding: 0.4rem 0.8rem;
    border-radius: 0.6rem;
    background-color: var(--color-foreground);
    color: var(--color-background);
    font-size: 1.2rem;
    line-height: 1.6rem;
    white-space: nowrap;
    pointer-events: none;
  }

  .contact-cards__copy-status:empty {
    display: none;
  }

  .contact-cards .contact-cards__link {
    color: var(--color-accent);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4rem;
  }

  @media (max-width: 989px) {
    .contact-cards__list,
    .contact-cards__list--cols-4 {
      --contact-cards-cols: 2;
    }
  }

  @media (max-width: 768px) {
    .contact-cards {
      padding-block: calc(var(--contact-cards-pt) * 0.75) calc(var(--contact-cards-pb) * 0.75);
    }

    .contact-cards .contact-cards__header__heading {
      font-size: 2.8rem;
      line-height: 3.4rem;
    }

    .contact-cards__list,
    .contact-cards__list--cols-4 {
      --contact-cards-cols: 1;
      gap: 1.6rem;
    }
  }
/* END_SECTION:contact-cards */

/* START_SECTION:contact-form (INDEX:31) */
.contact-form-section {
    max-width: 80rem;
    margin: 0 auto;
    padding: 3rem 1.25rem;
    width: 100%;
  }
  .contact-form__success {
    padding: 0.75rem 1rem;
    background: #e6f4ea;
    color: #1e4620;
    border-radius: 0.25rem;
    margin: 0;
  }
  .contact-form__errors {
    padding: 0.75rem 1rem;
    background: #fde8e8;
    color: #7b1d1d;
    border-radius: 0.25rem;
    list-style: none;
    margin: 0 0 1.25rem;
  }
  .contact-form__fields {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }
  .contact-form__field {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
  }
  .contact-form__label {
    font-size: 1.2rem;
    font-weight: 500;
  }
  .contact-form__required {
    color: #c0392b;
  }
  .contact-form__input,
  .contact-form__textarea {
    width: 100%;
    padding: 0.625rem 0.75rem;
    border: 1px solid #ccc;
    border-radius: 0.25rem;
    font-size: 1rem;
    font-family: inherit;
    box-sizing: border-box;
    background: transparent;
  }
  .contact-form__input:focus,
  .contact-form__textarea:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
    border-color: transparent;
  }
  .contact-form__input--error {
    border-color: #c0392b;
  }
  .contact-form__textarea {
    resize: vertical;
    min-height: 7.5rem;
  }
  .contact-form__submit {
    margin-top: 0.5rem;
    padding: 0.75rem 1.75rem;
    background: var(--color-foreground);
    color: #fff;
    border: none;
    border-radius: 0.25rem;
    font-size: 1.2rem;
    font-family: inherit;
    cursor: pointer;
  }
  .contact-form__submit:hover {
    opacity: 0.8;
  }
/* END_SECTION:contact-form */

/* START_SECTION:contact-request (INDEX:32) */
.contact-request {
    display: block;
    width: 100%;
    --contact-request-bg: var(--color-surface);
    --contact-request-border: color-mix(in srgb, var(--color-foreground) 12%, var(--color-background));
    --contact-request-input-border: color-mix(in srgb, var(--color-foreground) 22%, var(--color-background));
    --contact-request-tint: color-mix(in srgb, var(--color-surface) 25%, var(--color-background));
    --contact-request-muted: color-mix(in srgb, var(--color-foreground) 70%, var(--color-background));
    padding-block: var(--contact-request-pt) var(--contact-request-pb);
    background-color: var(--contact-request-bg);
    color: var(--color-foreground);
  }

  .contact-request--bg-white {
    --contact-request-bg: var(--color-background);
  }

  .contact-request__inner {
    display: grid;
    grid-template-columns: 38rem minmax(0, 1fr);
    align-items: start;
    gap: 4.8rem;
    width: min(121.8rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .contact-request__aside {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }

  .contact-request .contact-request__header__subheading {
    margin-bottom: 1.2rem;
  }

  /* critical.css centres every section-title wrapper; this heading sits left under its eyebrow. */
  .contact-request .contact-request__header__title-wrapper {
    justify-content: flex-start;
  }

  .contact-request .contact-request__header__heading {
    max-width: none;
    margin: 0;
    font-size: 3.6rem;
    line-height: 4.4rem;
    letter-spacing: -0.03em;
  }

  .contact-request__lead {
    margin: -0.8rem 0 0;
    font-size: 1.6rem;
    line-height: 2.56rem;
  }

  .contact-request__steps {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    padding: 2.48rem;
    border: 1px solid var(--contact-request-border);
    border-radius: 1.6rem;
    background-color: var(--color-background);
  }

  .contact-request__steps-heading {
    margin: 0;
    color: var(--contact-request-muted);
    font-size: 1.3rem;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .contact-request__steps-list {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .contact-request__step {
    display: flex;
    align-items: flex-start;
    gap: 1.2rem;
  }

  .contact-request__step-number {
    flex: 0 0 3rem;
    color: var(--color-accent);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 1.8rem;
    line-height: 2.79rem;
  }

  .contact-request__step-text {
    font-size: 1.4rem;
    line-height: 2.17rem;
  }

  .contact-request__partner {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 2.4rem;
    border-radius: 1.6rem;
    background-color: var(--color-foreground);
    color: var(--color-surface);
  }

  .contact-request__partner-heading {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.08rem;
  }

  .contact-request__partner-text {
    margin: 0;
    color: color-mix(in srgb, var(--color-surface) 75%, var(--color-foreground));
    font-size: 1.4rem;
    line-height: 2.24rem;
  }

  .contact-request .contact-request__partner-link {
    color: var(--color-surface);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4rem;
  }

  .contact-request .contact-request__partner-link:hover,
  .contact-request .contact-request__hint-link:hover,
  .contact-request .contact-request__consent-text a:hover {
    text-decoration: underline;
  }

  .contact-request__card {
    padding: 3.68rem;
    border: 1px solid var(--contact-request-border);
    border-radius: 1.8rem;
    background-color: var(--color-background);
  }

  .contact-request__form {
    display: flex;
    flex-direction: column;
    gap: 2.8rem;
  }

  .contact-request__topics {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
  }

  .contact-request__topics-legend {
    margin-bottom: 1.4rem;
    padding: 0;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.4rem;
  }

  .contact-request__topic-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
  }

  .contact-request__topic {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1.2rem;
    min-height: 6.92rem;
    padding: 1.66rem;
    border: 1px solid var(--contact-request-border);
    border-radius: 1.3rem;
    background-color: var(--contact-request-tint);
    color: var(--color-foreground);
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease;
  }

  .contact-request__topic:hover {
    border-color: var(--color-accent);
  }

  .contact-request__topic-input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
  }

  .contact-request__topic:has(.contact-request__topic-input:checked) {
    border-color: var(--color-accent);
    background-color: var(--color-accent);
    color: var(--color-background);
  }

  .contact-request__topic:has(.contact-request__topic-input:focus-visible) {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
  }

  .contact-request__topic-icon {
    display: flex;
    flex: 0 0 2rem;
    align-items: center;
    justify-content: center;
    color: var(--color-accent);
  }

  .contact-request__topic:has(.contact-request__topic-input:checked) .contact-request__topic-icon {
    color: currentColor;
  }

  .contact-request__topic-icon svg {
    display: block;
    max-width: 2.1rem;
    max-height: 2.6rem;
  }

  .contact-request__topic-label {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.95rem;
  }

  .contact-request__fields {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }

  .contact-request__topics + .contact-request__fields {
    padding-top: 2.88rem;
    border-top: 1px solid var(--contact-request-border);
  }

  .contact-request__hint {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding: 1.68rem 1.88rem;
    border-radius: 1.2rem;
    background-color: var(--color-surface);
  }

  .contact-request__hint-icon,
  .contact-request__hint-icon svg {
    display: block;
    flex-shrink: 0;
  }

  .contact-request__hint-text {
    margin: 0;
    font-size: 1.4rem;
    line-height: 2.17rem;
  }

  .contact-request .contact-request__hint-link {
    margin-left: 0.4rem;
    color: var(--color-accent);
    font-size: 1.4rem;
    font-weight: 500;
  }

  .contact-request__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.8rem;
  }

  .contact-request__field {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    min-width: 0;
  }

  .contact-request__field[hidden] {
    display: none;
  }

  .contact-request__label-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.8rem;
  }

  .contact-request__label {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.3rem;
  }

  .contact-request__label-hint {
    color: var(--contact-request-muted);
    font-size: 1.2rem;
    line-height: 1.2rem;
  }

  .contact-request__input {
    width: 100%;
    min-height: 5.16rem;
    padding: 1.4rem 1.58rem;
    border: 1px solid var(--contact-request-input-border);
    border-radius: 1.1rem;
    background-color: var(--contact-request-tint);
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.5rem;
    line-height: 2.2rem;
  }

  .contact-request__input::placeholder {
    color: color-mix(in srgb, var(--color-foreground) 55%, var(--color-background));
    opacity: 1;
  }

  .contact-request__input:focus-visible {
    border-color: var(--color-accent);
    outline: 2px solid var(--color-accent);
    outline-offset: 1px;
  }

  .contact-request__input--error {
    border-color: #c0392b;
  }

  .contact-request__textarea {
    min-height: 14.96rem;
    resize: vertical;
  }

  .contact-request__consent {
    display: flex;
    align-items: flex-start;
    gap: 1.2rem;
    padding: 1.68rem 1.88rem;
    border: 1px solid var(--contact-request-border);
    border-radius: 1.2rem;
    background-color: var(--contact-request-tint);
  }

  .contact-request__checkbox {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    margin: 0.1rem 0 0;
    accent-color: var(--color-accent);
    cursor: pointer;
  }

  .contact-request__consent-text {
    font-size: 1.4rem;
    line-height: 2.17rem;
    cursor: pointer;
  }

  .contact-request .contact-request__consent-text a {
    color: var(--color-accent);
    font-size: 1.4rem;
    font-weight: 500;
  }

  .contact-request__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
  }

  .contact-request__footer-note {
    margin: 0;
    color: var(--contact-request-muted);
    font-size: 1.4rem;
    line-height: 2.1rem;
  }

  .contact-request__errors {
    margin: 0;
    padding: 1.6rem 1.6rem 1.6rem 3.2rem;
    border-radius: 1.2rem;
    background-color: color-mix(in srgb, #c0392b 10%, var(--color-background));
    color: #a93226;
    font-size: 1.4rem;
    line-height: 2rem;
  }

  .contact-request__success {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding: 2rem;
    border-radius: 1.2rem;
    background-color: var(--color-surface);
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .contact-request__success p {
    margin: 0;
  }

  .contact-request__success-icon {
    display: flex;
    flex-shrink: 0;
    color: var(--color-accent);
  }

  @media (max-width: 989px) {
    .contact-request__inner {
      grid-template-columns: minmax(0, 1fr);
      gap: 3.2rem;
    }
  }

  @media (max-width: 768px) {
    .contact-request {
      padding-block: calc(var(--contact-request-pt) * 0.6) calc(var(--contact-request-pb) * 0.6);
    }

    .contact-request .contact-request__header__heading {
      font-size: 2.8rem;
      line-height: 3.4rem;
    }

    .contact-request__card {
      padding: 2.4rem 1.6rem;
    }

    .contact-request__row {
      grid-template-columns: minmax(0, 1fr);
    }

    .contact-request__submit {
      width: 100%;
    }
  }

  @media (max-width: 560px) {
    .contact-request__topic-grid {
      grid-template-columns: minmax(0, 1fr);
    }

    .contact-request__topic {
      min-height: 5.6rem;
    }
  }
/* END_SECTION:contact-request */

/* START_SECTION:contact-strip (INDEX:33) */
.contact-strip {
    width: 100%;
    --contact-strip-bg: color-mix(in srgb, var(--color-surface) 50%, var(--color-background));
    padding-block: var(--contact-strip-pt) var(--contact-strip-pb);
    border-bottom: 1px solid color-mix(in srgb, var(--color-accent) 30%, var(--color-background));
    background-color: var(--contact-strip-bg);
    color: var(--color-foreground);
  }

  .contact-strip--bg-white {
    --contact-strip-bg: var(--color-background);
  }

  .contact-strip__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 2rem;
    row-gap: 0.8rem;
    width: min(121.8rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .contact-strip__dot {
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background-color: var(--color-accent);
  }

  .contact-strip__label {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.074em;
    text-transform: uppercase;
  }

  .contact-strip .contact-strip__phone {
    color: var(--color-foreground);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
  }

  .contact-strip a.contact-strip__phone:hover {
    text-decoration: underline;
  }

  .contact-strip__note {
    font-size: 1.5rem;
    line-height: normal;
  }

  @media (max-width: 768px) {
    .contact-strip {
      padding-block: calc(var(--contact-strip-pt) * 0.75) calc(var(--contact-strip-pb) * 0.75);
    }

    .contact-strip__inner {
      column-gap: 1.2rem;
    }

    .contact-strip__label {
      font-size: 1.3rem;
    }

    .contact-strip .contact-strip__phone {
      font-size: 2.4rem;
    }

    .contact-strip__note {
      flex-basis: 100%;
      font-size: 1.4rem;
    }
  }
/* END_SECTION:contact-strip */

/* START_SECTION:cta-banner (INDEX:34) */
.cta-banner {
    width: 100%;
    --cta-banner-bg: var(--color-background);
    --cta-banner-card-bg: var(--color-foreground);
    --cta-banner-card-text: var(--color-surface);
    padding-block: var(--cta-banner-pt) var(--cta-banner-pb);
    background-color: var(--cta-banner-bg);
  }

  .cta-banner--bg-surface {
    --cta-banner-bg: var(--color-surface);
  }

  .cta-banner--card-surface {
    --cta-banner-card-bg: var(--color-surface);
    --cta-banner-card-text: var(--color-foreground);
  }

  .cta-banner--card-accent {
    --cta-banner-card-bg: var(--color-accent);
    --cta-banner-card-text: var(--color-background);
  }

  .cta-banner--card-none {
    --cta-banner-card-bg: transparent;
    --cta-banner-card-text: var(--color-foreground);
  }

  .cta-banner__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: min(121.6rem, calc(100% - var(--page-margin) * 2));
    min-height: var(--cta-banner-min-height);
    margin-inline: auto;
    padding: 6.4rem clamp(2.4rem, 6vw, 9.6rem);
    border-radius: 1.6rem;
    background-color: var(--cta-banner-card-bg);
    color: var(--cta-banner-card-text);
    text-align: center;
  }

  .cta-banner__header .cta-banner__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--cta-banner-card-text);
  }

  .cta-banner__header .cta-banner__header__heading {
    max-width: 80rem;
    margin: 0;
    color: var(--cta-banner-card-text);
    font-size: 3.2rem;
    line-height: 1.3;
    letter-spacing: -0.027em;
  }

  .cta-banner__text {
    max-width: 64rem;
    margin-top: 1.6rem;
    font-size: 1.8rem;
    line-height: 2.8rem;
  }

  .cta-banner__buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.2rem;
    margin-top: 3.2rem;
  }

  /* Contact row (email / phone) under the buttons; the card switches to a tighter, evenly spaced stack. */
  .cta-banner--has-contact .cta-banner__card {
    gap: 2rem;
    padding: 4.8rem clamp(2.4rem, 6vw, 6.4rem);
  }

  .cta-banner--has-contact .cta-banner__header .cta-banner__header__subheading,
  .cta-banner--has-contact .cta-banner__text,
  .cta-banner--has-contact .cta-banner__buttons {
    margin-top: 0;
    margin-bottom: 0;
  }

  .cta-banner--has-contact .cta-banner__text {
    max-width: 62rem;
    line-height: 1.55;
  }

  .cta-banner--has-contact .pill-button {
    min-height: 5rem;
    padding: 0 3.2rem;
  }

  .cta-banner__contact {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1.2rem 3.2rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .cta-banner__contact .cta-banner__contact-link {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    color: var(--cta-banner-card-text);
    font-size: 1.4rem;
    line-height: 2rem;
  }

  .cta-banner__contact .cta-banner__contact-link:hover {
    text-decoration: underline;
  }

  .cta-banner__contact-icon {
    display: flex;
    flex-shrink: 0;
  }

  .cta-banner__contact-icon svg {
    width: 1.6rem;
    height: 1.6rem;
  }

  /* No card: centred text straight on the section background. */
  .cta-banner--card-none .cta-banner__card {
    padding: 0;
    border-radius: 0;
  }

  .cta-banner--card-none .cta-banner__header .cta-banner__header__subheading {
    color: var(--color-accent);
  }

  .cta-banner--card-none .cta-banner__header .cta-banner__header__heading {
    max-width: 60rem;
    font-size: 3.6rem;
    line-height: 1.212;
  }

  .cta-banner--card-none .cta-banner__text {
    max-width: 72rem;
    font-size: 1.6rem;
    line-height: 2.6rem;
  }

  @media (max-width: 768px) {
    .cta-banner {
      padding-block: calc(var(--cta-banner-pt) * 0.6) calc(var(--cta-banner-pb) * 0.6);
    }

    .cta-banner__card {
      width: calc(100% - 4.4rem);
      min-height: 0;
      padding: 4rem 2.2rem;
      border-radius: 1.4rem;
    }

    .cta-banner__header .cta-banner__header__heading {
      font-size: 2.8rem;
      line-height: 1.08;
    }

    .cta-banner__text {
      margin-top: 1.8rem;
      font-size: 1.4rem;
      line-height: 1.5;
    }

    .cta-banner--card-none .cta-banner__card {
      padding: 0;
    }

    .cta-banner--card-none .cta-banner__header .cta-banner__header__heading {
      font-size: 3.2rem;
      line-height: 1.06;
    }

    .cta-banner--card-none .cta-banner__text {
      font-size: 1.4rem;
      line-height: 1.5;
    }

    .cta-banner__buttons {
      flex-direction: column;
      align-self: stretch;
      gap: 1rem;
      margin-top: 1.8rem;
    }

    .cta-banner__buttons .pill-button {
      width: 100%;
    }
  }
/* END_SECTION:cta-banner */

/* START_SECTION:custom-section (INDEX:35) */
.custom-section {
    position: relative;
    overflow: hidden;
    width: 100%;
  }
  .custom-section__background {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
  }
  .custom-section__background img {
    position: absolute;
    width: 100%;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .custom-section__content {
    display: grid;
    grid-template-columns: var(--content-grid);
  }
  .custom-section__content > * {
    grid-column: 2;
  }
/* END_SECTION:custom-section */

/* START_SECTION:expert-cards (INDEX:36) */
.expert-cards {
    width: 100%;
    --expert-cards-highlight: #45b673;
    --expert-cards-bg: var(--color-foreground);
    --expert-cards-text-color: var(--color-background);
    --expert-cards-eyebrow-color: var(--color-surface);
    --expert-cards-card-bg: rgba(255, 255, 255, 0.04);
    --expert-cards-card-border: rgba(255, 255, 255, 0.15);
    --expert-cards-card-text: var(--color-surface);
    --expert-cards-avatar-bg: transparent;
    padding-block: var(--expert-cards-pt) var(--expert-cards-pb);
    background-color: var(--expert-cards-bg);
    color: var(--expert-cards-text-color);
  }

  .expert-cards--bg-surface,
  .expert-cards--bg-white {
    --expert-cards-bg: var(--color-surface);
    --expert-cards-text-color: var(--color-foreground);
    --expert-cards-eyebrow-color: var(--color-accent);
    --expert-cards-highlight: var(--color-accent);
    --expert-cards-card-bg: #fff;
    --expert-cards-card-border: #dcdcdc;
    --expert-cards-card-text: var(--color-foreground);
    --expert-cards-avatar-bg: var(--color-surface);
  }

  .expert-cards--bg-white {
    --expert-cards-bg: var(--color-background);
  }

  .expert-cards__inner {
    width: min(120rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .expert-cards__header .expert-cards__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--expert-cards-eyebrow-color);
  }

  .expert-cards__header .expert-cards__header__heading {
    max-width: 46.9rem;
    margin: 0 auto;
    color: var(--expert-cards-text-color);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 3.6rem;
    font-weight: 400;
    line-height: 5.2rem;
    letter-spacing: -0.108rem;
  }

  .expert-cards__lead {
    max-width: 65.1rem;
    margin: 3.2rem auto 0;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.8rem;
    line-height: 2.8rem;
    text-align: center;
  }

  .expert-cards__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.4rem;
    margin: 4.8rem 0 0;
    padding: 0;
    list-style: none;
  }

  .expert-cards__card {
    display: flex;
    flex: 0 1 calc((100% - 4.8rem) / 3);
    min-width: 0;
    align-items: flex-start;
    gap: 1.8rem;
    padding: 3.2rem 2.4rem;
    border: 1px solid var(--expert-cards-card-border);
    border-radius: 1.4rem;
    background-color: var(--expert-cards-card-bg);
    color: var(--expert-cards-card-text);
  }

  .expert-cards__avatar {
    position: relative;
    flex: 0 0 auto;
    width: 9.6rem;
    height: 9.6rem;
    border-radius: 50%;
    overflow: hidden;
    background-color: var(--expert-cards-avatar-bg);
  }

  .expert-cards__avatar::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    box-shadow: inset 0 0 0 2px var(--color-surface);
    pointer-events: none;
  }

  .expert-cards__avatar-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .expert-cards__copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
    min-width: 0;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
  }

  .expert-cards__role {
    margin: 0;
    color: var(--expert-cards-highlight);
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.2;
    text-transform: uppercase;
  }

  .expert-cards__name {
    margin: 0;
    color: var(--expert-cards-card-text);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.3;
  }

  .expert-cards__bio {
    padding-block: 0.4rem;
    color: var(--expert-cards-card-text);
    font-size: 1.4rem;
    line-height: 1.5;
  }

  .expert-cards__bio p + p {
    margin-top: 0.8rem;
  }

  .expert-cards .expert-cards__link {
    color: var(--expert-cards-highlight);
    font-size: 1.4rem;
    font-weight: 500;
    text-decoration: none;
  }

  .expert-cards .expert-cards__link:hover {
    text-decoration: underline;
  }

  .expert-cards .expert-cards__link:focus-visible {
    outline: 2px solid var(--expert-cards-highlight);
    outline-offset: 3px;
  }

  .expert-cards__actions {
    display: flex;
    justify-content: center;
    margin-top: 4.8rem;
  }

  @media (max-width: 1024px) {
    .expert-cards__card {
      flex-basis: calc((100% - 2.4rem) / 2);
    }
  }

  @media (max-width: 768px) {
    .expert-cards {
      padding-block: calc(var(--expert-cards-pt) * 0.6) calc(var(--expert-cards-pb) * 0.6);
    }

    .expert-cards__header .expert-cards__header__subheading {
      margin-bottom: 1.2rem;
      font-size: 1.4rem;
      line-height: 1.25;
    }

    .expert-cards__header .expert-cards__header__heading {
      font-size: 2.8rem;
      line-height: 1.2;
      letter-spacing: -0.084rem;
    }

    .expert-cards__lead {
      margin-top: 2rem;
      font-size: 1.6rem;
      line-height: 1.45;
    }

    .expert-cards__list {
      gap: 1.6rem;
      margin-top: 3.2rem;
    }

    .expert-cards__card {
      flex-basis: 100%;
      padding: 2.4rem 2rem;
    }

    .expert-cards__avatar {
      width: 7.2rem;
      height: 7.2rem;
    }

    .expert-cards__actions {
      margin-top: 3.2rem;
    }
  }
/* END_SECTION:expert-cards */

/* START_SECTION:faq (INDEX:37) */
.faq-list {
    margin-top: 2rem;
  }
  .faq-list .faq-item:not(:last-child) {
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #e0e0e0;
  }
  .faq-list .faq-item .faq-question {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2rem 0;
    font-size: 1.6rem;
    font-family: "Grato Grotesk", "Grato Grotesk Fallback";
    font-weight: 500;
  }
  .faq-list .faq-item .faq-answer {
    display: none;
    margin-top: 0.5rem;
    margin-bottom: 2rem;
    font-size: 1.4rem;
  }
  .faq-list .faq-toggle {
    transition: transform 0.3s;
    flex-shrink: 0;
  }
  .faq-list .faq-item.active .faq-answer {
    display: block;
  }
  .faq-list .faq-item.active .faq-toggle {
    transform: rotate(180deg);
  }
  @media (max-width: 768px) {
    .faq-list .faq-toggle svg {
      width: 1.25rem;
      height: 1.25rem;
    }
    .faq-list .faq-item .faq-question {
      gap: 4rem;
    }
  }

  /* Cards style (item styles live in the faq-card snippet) */
  .faq-cards {
    width: min(120rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
    padding: 8rem 0 6.4rem;
  }

  .faq-cards__list {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
  }

  @media (max-width: 768px) {
    .faq-cards {
      padding: 4.8rem 0 4rem;
    }
  }
/* END_SECTION:faq */

/* START_SECTION:find-us-at (INDEX:38) */
.shopify-section:has(.find-us-at) {
    padding: 0;
    background-color: var(--find-us-bg, var(--color-surface));
  }

  .find-us-at {
    width: 100%;
  }

  .find-us-at__track-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 5.6rem;
    height: 111px;
    padding: 0 2rem;
    overflow: hidden;
  }

  .find-us-at__title {
    font-family: "Grato Grotesk", "Grato Grotesk Fallback";
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.21168;
    color: #231f20;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .find-us-at__logos-scroll {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2rem;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .find-us-at__logos-scroll::-webkit-scrollbar {
    display: none;
  }

  .find-us-at__item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 13rem;
    height: 7.6rem;
  }

  .find-us-at__image {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    display: block;
    object-fit: contain;
  }

  @media (max-width: 768px) {

    .find-us-at__track-wrapper {
      height: 76px;
      justify-content: flex-start;
      gap: 5rem;
      padding: 0 0 0 1.6rem;
    }

    .find-us-at__title {
      font-size: 1.8rem;
      color: #0e4d2b;
    }

    .find-us-at__logos-scroll {
      flex: 1;
      align-self: stretch;
      gap: 1.6rem;
      padding-right: 1.6rem;
    }

    .find-us-at__item {
      width: 10rem;
    }

  }
/* END_SECTION:find-us-at */

/* START_SECTION:footer (INDEX:39) */
.footer {
    background-color: var(--footer-bg, #183613);
    width: 100%;
  }

  .footer__inner {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 4rem 6rem;
    max-width: var(--page-width, 144rem);
    margin: 0 auto;
    padding: 6.6rem var(--page-margin, 2rem) 5rem;
    box-sizing: border-box;
    width: 100%;
  }

  .footer__brand {
    display: flex;
    flex-direction: column;
  }

  .footer__logo {
    max-width: 16rem;
    height: auto;
    margin-bottom: 3rem;
  }

  .footer__shop-name {
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    text-decoration: none;
    margin-bottom: 3rem;
    display: block;
  }

  .footer__contact {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    margin: 0;
    padding: 0;
  }

  .footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
  }

  .footer__contact-item svg {
    flex-shrink: 0;
    margin-top: 0.1rem;
  }

  .footer__contact-item address,
  .footer__contact .footer__contact-item > a {
    color: #767270;
    font-style: normal;
    font-size: 1.6rem;
    line-height: 1.6;
    text-decoration: none;
  }

  .footer__social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.6rem;
    margin-top: 3.4rem;
  }

  .footer__social-label {
    color: #fff;
    font-size: 1.86rem;
    font-weight: 500;
    white-space: nowrap;
  }

  .footer__social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
  }

  .footer__social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border: 1px solid #fff;
    border-radius: 0.7rem;
    flex-shrink: 0;
    text-decoration: none;
  }

  .footer__nav {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .footer__nav-title {
    color: #fff;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.55;
    margin: 0 0 0.8rem;
  }

  .footer__nav-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
  }

  #shopify-section-sections-{{ section.id }}.footer__link,
  footer > div.footer__inner > nav > ul > li > a {
    color: #767270;
    font-size: 1.6rem;
    line-height: 1.6;
    text-decoration: none;
    display: block;
    padding-block: 0.2rem;
  }

  #shopify-section-sections-{{ section.id }}.footer__link:hover {
    color: #fff;
  }

  .footer__bottom {
    border-top: 1px solid #302c2a;
    max-width: var(--page-width, 144rem);
    margin: 0 auto;
    padding: 1.2rem var(--page-margin, 2rem) 1.8rem;
    width: 100%;
    box-sizing: border-box;
  }

  .footer__copyright {
    color: #767270;
    font-size: 1.39rem;
    line-height: 1.6;
    text-align: center;
  }

  @media (max-width: 1024px) {
    .footer__inner {
      grid-template-columns: 1fr 1fr;
      gap: 4rem;
    }
  }

  @media (max-width: 768px) {
    .footer__inner {
      grid-template-columns: 1fr;
      padding-inline: var(--page-margin, 2rem);
    }
  }
/* END_SECTION:footer */

/* START_SECTION:header (INDEX:42) */
.header-group {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--color-background);
  }
  .announcement-bar {
    background: var(--announcement-bg);
    color: var(--announcement-color);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3.2rem;
    padding: 0 1rem;
    font-size: 1.4rem;
    text-align: center;
  }
  .announcement-bar__link {
    color: var(--announcement-color);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  .announcement-bar__text {
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    color: var(--announcement-color);
  }
  .announcement-bar__cta {
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
    color: var(--announcement-color);
  }
  header {
    height: 6rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    max-width: var(--page-width);
    margin-inline: auto;
    padding-inline: clamp(1.6rem, 2.43vw, 3.5rem) clamp(1.6rem, 3.47vw, 5rem);
    width: 100%;
  }
  header > div {
    display: flex;
    align-items: center;
    gap: 4rem;
  }
  .header__logo {
    position: relative;
  }
  .header__logo::after {
    content: '';
    position: absolute;
    left: calc(100% + 2rem);
    top: 50%;
    transform: translateY(-50%);
    width: 0.1rem;
    height: 2.8rem;
    background: #DEDEDE;
  }
  .header__logo {
    margin-right: 5.3rem;
  }
  .header__logo img {
    height: 4.4rem;
    width: auto;
    display: block;
  }
  header a {
    position: relative;
    text-decoration: none;
    color: var(--color-foreground);
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  header a sup {
    position: absolute;
    left: 80%;
    overflow: hidden;
    max-width: var(--page-margin);
    top: 0;
    background: var(--color-foreground);
    color: white;
    padding: 0.2rem 0.6rem;
    text-align: center;
    border-radius: 50%;
    font-size: 1.1rem;
  }
  @media screen and (max-width: 768px) {
    header a sup {
      padding: 0 0.5rem;
    }
  }
  header svg {
    min-width: 1.2rem;
    aspect-ratio: 1 / 1;
  }
  header .header__menu {
    display: flex;
    gap: 3rem;
    margin-left: auto;
    font-size: 1.6rem;
    color: var(--color-foreground);
  }
  header .header__icons {
    display: flex;
    gap: 1.6rem;
    margin-left: 2.5rem;
  }
  header .header-wishlist {
    display: inline-flex;
    align-items: center;
    position: relative;
    cursor: pointer;
  }
  /* The XB wishlist app renders its own 256-grid Phosphor heart at 20x20 in near-black — a
     different weight, size and colour than the account/cart icons beside it. Mask over it with
     the same bx-heart glyph those icons use, at their 24px/#183306, so all three read as one set. */
  header .header-wishlist .xb-wishlist-header__icon {
    display: inline-flex;
    width: 2.4rem;
    height: 2.4rem;
    background-color: #183306;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: 2.4rem 2.4rem;
    mask-size: 2.4rem 2.4rem;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12.0005 4.59511C10.9109 3.59321 9.48468 3.03716 8.00447 3.03711C7.22101 3.03793 6.44544 3.19367 5.72241 3.49538C4.99937 3.79709 4.34313 4.2388 3.79147 4.79511C1.43847 7.15811 1.43947 10.8541 3.79347 13.2071L11.1255 20.5391C11.2955 20.8381 11.6235 21.0311 12.0005 21.0311C12.1553 21.0296 12.3076 20.9918 12.4451 20.9208C12.5827 20.8498 12.7016 20.7475 12.7925 20.6221L20.2075 13.2071C22.5615 10.8531 22.5615 7.15811 20.2055 4.79111C19.6541 4.23583 18.9984 3.79501 18.276 3.49399C17.5537 3.19298 16.779 3.03771 15.9965 3.03711C14.5163 3.03735 13.0902 3.59338 12.0005 4.59511ZM18.7915 6.20511C20.3545 7.77611 20.3555 10.2301 18.7935 11.7931L12.0005 18.5861L5.20747 11.7931C3.64547 10.2301 3.64647 7.77611 5.20547 6.20911C5.96547 5.45311 6.95947 5.03711 8.00447 5.03711C9.04947 5.03711 10.0395 5.45311 10.7935 6.20711L11.2935 6.70711C11.3863 6.80006 11.4965 6.87379 11.6178 6.9241C11.7391 6.97441 11.8691 7.00031 12.0005 7.00031C12.1318 7.00031 12.2618 6.97441 12.3832 6.9241C12.5045 6.87379 12.6147 6.80006 12.7075 6.70711L13.2075 6.20711C14.7195 4.69811 17.2815 4.70211 18.7915 6.20511Z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12.0005 4.59511C10.9109 3.59321 9.48468 3.03716 8.00447 3.03711C7.22101 3.03793 6.44544 3.19367 5.72241 3.49538C4.99937 3.79709 4.34313 4.2388 3.79147 4.79511C1.43847 7.15811 1.43947 10.8541 3.79347 13.2071L11.1255 20.5391C11.2955 20.8381 11.6235 21.0311 12.0005 21.0311C12.1553 21.0296 12.3076 20.9918 12.4451 20.9208C12.5827 20.8498 12.7016 20.7475 12.7925 20.6221L20.2075 13.2071C22.5615 10.8531 22.5615 7.15811 20.2055 4.79111C19.6541 4.23583 18.9984 3.79501 18.276 3.49399C17.5537 3.19298 16.779 3.03771 15.9965 3.03711C14.5163 3.03735 13.0902 3.59338 12.0005 4.59511ZM18.7915 6.20511C20.3545 7.77611 20.3555 10.2301 18.7935 11.7931L12.0005 18.5861L5.20747 11.7931C3.64547 10.2301 3.64647 7.77611 5.20547 6.20911C5.96547 5.45311 6.95947 5.03711 8.00447 5.03711C9.04947 5.03711 10.0395 5.45311 10.7935 6.20711L11.2935 6.70711C11.3863 6.80006 11.4965 6.87379 11.6178 6.9241C11.7391 6.97441 11.8691 7.00031 12.0005 7.00031C12.1318 7.00031 12.2618 6.97441 12.3832 6.9241C12.5045 6.87379 12.6147 6.80006 12.7075 6.70711L13.2075 6.20711C14.7195 4.69811 17.2815 4.70211 18.7915 6.20511Z'/></svg>");
  }
  header .header-wishlist .xb-wishlist-header__icon > * {
    display: none;
  }
  header .header-wishlist .xb-wishlist-header__btn {
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    display: inline-flex;
    align-items: center;
  }

  header .header__submenu {
    position: relative;
  }
  header .header__submenu::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 3rem;
  }
  header .header__submenu-btn {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    font-family: inherit;
    font-size: inherit;
    color: var(--color-foreground);
  }
  header .header__submenu-arrow {
    display: flex;
    align-items: center;
    transition: transform 0.2s ease;
  }
  header .header__submenu-arrow svg {
    width: 1.6rem;
    height: 1.6rem;
    min-width: unset;
  }
  header .header__submenu:hover > .header__submenu-btn .header__submenu-arrow {
    transform: rotate(-180deg);
  }
  header .header__submenu-list {
    position: absolute;
    top: calc(100% + 3rem);
    left: 0;
    background: var(--color-background);
    padding: 1rem;
    display: none;
    flex-direction: column;
    min-width: 14rem;
    z-index: 10;
    border-radius: 0.8rem;
    box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.08);
    border: 1px solid #CECED4;

  }
  header .header__submenu:hover > .header__submenu-list,
  header .header__submenu-btn[aria-expanded="true"] + .header__submenu-list {
    display: flex;
  }

  header .header__submenu-list a {
    padding: 0.6rem 1.6rem;
    color: var(--color-foreground);
    font-size: 1.4rem;
    line-height: 1.6;
    white-space: nowrap;
    border-radius: 0;
  }

  header .header__submenu-list .header__submenu {
    padding: 0;
  }
  header .header__submenu-list .header__submenu-btn {
    width: 100%;
    padding: 0.8rem 1.6rem;
    justify-content: space-between;
    font-size: 1.4rem;
    border-radius: 0;
  }
  header .header__submenu-list .header__submenu-btn:hover {
    background: rgba(222, 222, 222, 1);
    border-radius: 0;
  }
  header .header__submenu-list .header__submenu-list {
    top: 0;
    left: 100%;
    right: auto;
  }
  header .header__submenu-list .header__submenu-list::before {
    bottom: auto;
    top: 0;
    right: 100%;
    left: auto;
    width: 0.8rem;
    height: 100%;
  }

  /* Search pill */
  .header-search-pill {
    width: 31.8rem;
    max-width: 100%;
    flex-shrink: 1;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-left: 5rem;
    padding: 1rem 1.6rem;
    border-radius: 12.8rem;
    /* border: 1px solid rgba(222, 222, 222, 1); */
    background: #F3F3F3;
    transition: border-color 0.2s;
  }
  .header-search-pill:focus-within {
    border-color: rgba(160, 160, 160, 1);
  }
  .header-search-pill__input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    font-family: inherit;
    font-size: 1.6rem;
    line-height: 2rem;
    color: rgba(112, 112, 112, 1);
    -webkit-appearance: none;
  }
  .header-search-pill__input::placeholder {
    color: rgba(112, 112, 112, 1);
  }
  .header-search-pill__input::-webkit-search-decoration,
  .header-search-pill__input::-webkit-search-cancel-button {
    -webkit-appearance: none;
  }
  .header-search-pill__btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    color: var(--color-foreground);
  }
  .header-search-pill__btn svg {
    width: 2.4rem;
    height: 2.4rem;
  }
  .header-search-pill__btn:hover {
    color: rgba(24, 54, 19, 1);
  }
  .sidebar-spacer {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }


  @media screen and (max-width: 768px) {
    .announcement-bar {
      min-height: 4.6rem;
      height: auto;
      padding: 0 1.6rem;
    }
    .announcement-bar__link {
      width: 100%;
      justify-content: space-between;
      gap: 1.6rem;
    }
    .announcement-bar__text {
      max-width: 23.4rem;
      font-size: 1.3rem;
      line-height: 1.5rem;
    }
    header .header-search-pill {
      grid-column: 1 / -1;
      grid-row: 2;
      margin: 0.8rem 0 0;
      padding: 1.3rem 1.6rem;
      background: transparent;
      border: 1px solid #E8E8E8;
      border-radius: 0.8rem;
      width: auto;
    }
    .header__logo::after {
      display: none;
    }
    header {
      padding: 1.2rem 1.6rem;
      border-bottom: 1px solid #EFEFEF;
      display: grid;
      grid-template-columns: auto 1fr auto auto;
      grid-template-rows: auto auto;
      align-items: center;
      height: auto;
    }
    .header__logo {
      grid-column: 1;
      grid-row: 1;
      margin: 0;
    }
    .header__logo img {
      height: 3.9rem;
    }
    header .header__icons {
      grid-column: 3;
      grid-row: 1;
      margin: 0 1.6rem 0 0;
    }
    .burger__menu {
      grid-column: 4;
      grid-row: 1;
    }
    .announcement-bar__text {
      text-align: left;
    }
    .shopify-section.shopify-section-group-header-group {
      padding: 0;
    }
    header:has(.burger__menu-btn.active) .burger__menu-btn::before,
    header:has(.burger__menu-btn.active) .header__icons {
      display: none;
    }
    .header svg {
      width: 2rem;
      height: 2rem;
    }

  }
  @media screen and (min-width: 769px) and (max-width: 1200px) {
    header .header__menu {
      display: none !important;
    }
    header .header-search-pill.hide-mobile {
      display: none !important;
    }
    header .header-search-pill.hide-desktop {
      display: flex !important;
      grid-column: 1 / -1;
      grid-row: 2;
      margin: 0.8rem 0 0;
      padding: 1.3rem 1.6rem;
      background: transparent;
      border: 1px solid #E8E8E8;
      border-radius: 0.8rem;
      width: auto;
    }
    .header__logo::after {
      display: none;
    }
    header {
      padding: 1.2rem 1.6rem;
      border-bottom: 1px solid #EFEFEF;
      display: grid;
      grid-template-columns: auto 1fr auto auto;
      grid-template-rows: auto auto;
      align-items: center;
      height: auto;
    }
    .header__logo {
      grid-column: 1;
      grid-row: 1;
      margin: 0;
    }
    .header__logo img {
      height: 3.9rem;
    }
    header .header__icons {
      grid-column: 3;
      grid-row: 1;
      margin: 0 1.6rem 0 0;
    }
    .burger__menu {
      grid-column: 4;
      grid-row: 1;
    }
    .announcement-bar__text {
      text-align: left;
    }
    .shopify-section.shopify-section-group-header-group {
      padding: 0;
    }
    header:has(.burger__menu-btn.active) .burger__menu-btn::before,
    header:has(.burger__menu-btn.active) .header__icons {
      display: none;
    }
    .header svg {
      width: 2rem;
      height: 2rem;
    }
    header a sup {
      padding: 0 0.5rem;
    }
    .burger__menu-label {
      display: none;
    }
  }
/* END_SECTION:header */

/* START_SECTION:hello-world (INDEX:43) */
.welcome {
    display: grid;
    grid-template-columns: var(--content-grid);
    background-color: #f6f6f7;
    padding: 72px 0;
  }

  .welcome-content {
    grid-column: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    width: 100%;
    padding: 0 24px;
  }

  .welcome-description {
    max-width: 80ch;
    line-height: 1.4;
    margin-top: 1.5rem;
  }

  .icon {
    width: 300px;
  }

  .highlights {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 50px;
  }

  @media (max-width: 1100px) {
    .highlights {
      grid-template-columns: 1fr;
    }
  }

  .highlight {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 24px;
    border-radius: 8px;
    background-color: #eef3ff;
    color: rgb(92, 95, 98);
    line-height: 1.4;
  }

  .highlight > * + * {
    margin-top: 1rem;
  }

  .highlight h3 {
    font-size: 1rem;
    color: rgb(32, 34, 35);
  }

  .highlight-description {
    flex: 1 1;
  }

  .highlight a {
    display: flex;
    width: fit-content;
    background-color: rgb(250, 251, 251);
    box-shadow: rgba(0, 0, 0, 0.2) 0px -3px 0px 0px inset, rgba(255, 255, 255, 0.9) 0px 2px 0px 0px inset;
    border: 1px solid rgb(140, 145, 150);
    border-radius: 4px;
    color: rgb(92, 95, 98);
    padding: 3px 10px 5px;
    text-decoration: none;
  }
/* END_SECTION:hello-world */

/* START_SECTION:hero-single (INDEX:44) */
.hero-single {
    position: relative;
    min-height: 68rem;
    display: flex;
    align-items: flex-start;
    overflow: hidden;
  }
  .hero-single__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
  }
  .hero-single__bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .hero-single__bg-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: none;
  }
  .hero-single__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.52) 0%, rgba(0, 0, 0, 0.18) 55%, transparent 100%);
    z-index: 1;
  }
  .hero-single__content {
    position: relative;
    z-index: 2;
    max-width: 100%;
    padding: 20rem 12.6rem 6rem;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
  .hero-single__rating {
    display: flex;
    align-items: center;
    gap: 0.2rem;
  }
  .hero-single__star {
    font-size: 1.3rem;
    line-height: 1;
    color: rgba(255, 255, 255, 0.35);
  }
  .hero-single__star--filled {
    color: #F5A623;
  }
  body a.hero-single__review-link,
  body span.hero-single__review-link {
    font-size: 1.4rem;
    color: #fff;
    font-weight: 500;
    text-decoration: underline;
    margin-left: 0.7rem;
  }
  a.hero-single__review-link:hover {
    opacity: 0.8;
  }
  .hero-single__subheading {
    font-size: 1.4rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
  }
  .hero-single__heading {
    font-family: "Loubag", "Loubag Fallback", sans-serif;
    font-size: 3.4rem;
    font-weight: normal;
    color: #fff;
    line-height: 1.212;
    margin: 0;
    max-width: 42.5rem;
    padding-bottom: 1.6rem;
  }
  .hero-single__links {
    display: flex;
    gap: 1.4rem;
    flex-wrap: wrap;
    align-items: center;
  }
  .hero-single__btn {
    min-height: 5.2rem;
    padding: 0 2rem;
    border-radius: 50rem;
    font-size: 1.6rem;
    font-weight: 500;
    font-family: inherit;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
  }
  body a.hero-single__btn--primary {
    background: #00a13a;
    color: #e3f2e9;
    border: 1px solid #00a13a;
  }
  body a.hero-single__btn--primary:hover {
    background: #0e4d2b;
    border-color: #0e4d2b;
  }
  body a.hero-single__btn--secondary {
    background: #e3f2e9;
    color: #0e4d2b;
    border: 1px solid #e3f2e9;
  }
  body a.hero-single__btn--secondary:hover {
    background: #fff;
    border-color: #fff;
  }
  @media (min-width: 769px) and (max-width: 1200px) {
    .hero-single__content {
      padding-left: 6rem;
      padding-right: 6rem;
    }
  }
  @media (max-width: 768px) {
    .hero-single {
      min-height: 58.9rem;
    }
    .hero-single__overlay {
      background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.1) 100%);
    }
    .hero-single__content {
      max-width: 100%;
      padding: 8.2rem 1.6rem 0;
      position: absolute;
      top: 0;
      gap: 1.8rem;
    }
    .hero-single__heading {
      font-size: 2.8rem;
      max-width: 33.7rem;
      padding-bottom: 2.4rem;
    }
    .hero-single__links {
      gap: 1rem;
    }
    .hero-single__btn {
      min-height: 4.9rem;
      font-weight: 400;
    }
    body a.hero-single__btn--primary {
      background: #fff;
      color: #0e4d2b;
      border-color: #fff;
    }
    body a.hero-single__btn--primary:hover {
      background: #e3f2e9;
      border-color: #e3f2e9;
    }
    body a.hero-single__btn--secondary {
      background: rgba(47, 47, 47, 0.26);
      color: #fff;
      border-color: #fff;
    }
    body a.hero-single__btn--secondary:hover {
      background: rgba(47, 47, 47, 0.5);
      border-color: #fff;
    }
  }
/* END_SECTION:hero-single */

/* START_SECTION:icon-cards (INDEX:45) */
.icon-cards {
    width: 100%;
    --icon-cards-bg: var(--color-background);
    --icon-cards-eyebrow-color: var(--color-accent);
    padding-block: var(--icon-cards-pt) var(--icon-cards-pb);
    background-color: var(--icon-cards-bg);
    color: var(--color-foreground);
  }

  .icon-cards--bg-surface {
    --icon-cards-bg: var(--color-surface);
  }

  .icon-cards__inner {
    width: min(121.8rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .icon-cards__header {
    margin-bottom: 4.8rem;
  }

  .icon-cards__header .icon-cards__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--icon-cards-eyebrow-color);
  }

  .icon-cards__header .icon-cards__header__heading {
    max-width: 72rem;
    margin: 0 auto;
    color: var(--color-foreground);
    font-size: var(--icon-cards-heading-size);
    line-height: 1.212;
    letter-spacing: -0.027em;
  }

  .icon-cards__header:has(+ .icon-cards__lead) {
    margin-bottom: 2.8rem;
  }

  .icon-cards__lead {
    max-width: 80rem;
    margin: 0 auto 4.8rem;
    font-size: 1.8rem;
    line-height: 2.8rem;
    text-align: center;
  }

  .icon-cards__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr));
    gap: 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .icon-cards__list--cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .icon-cards__list--cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .icon-cards__card {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    min-height: 27.5rem;
    padding: 2.6rem 2.6rem 3.7rem;
    border: 1px solid #dcdcdc;
    border-radius: 1.6rem;
    background-color: var(--color-background);
  }

  .icon-cards__icon {
    display: flex;
    align-items: center;
    height: 6.6rem;
    margin-bottom: 1.2rem;
  }

  .icon-cards__icon svg,
  .icon-cards__icon-image {
    width: auto;
    max-width: 6.6rem;
    height: auto;
    max-height: 6.6rem;
  }

  .icon-cards__title {
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.6rem;
  }

  .icon-cards__text {
    font-size: 1.5rem;
    line-height: 2.3rem;
  }

  .icon-cards__icon svg {
    color: var(--color-accent);
  }

  .icon-cards__card--value {
    gap: 1.2rem;
    min-height: 0;
    padding: 3.2rem 3.2rem 4.8rem;
    border-color: #dfe3d6;
    border-radius: 2.4rem;
  }

  .icon-cards__value {
    margin-bottom: 0.8rem;
    color: var(--color-accent);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 4rem;
    line-height: 1.2;
  }

  .icon-cards__card--value .icon-cards__title {
    font-size: 2.4rem;
    line-height: 1.05;
    letter-spacing: -0.01em;
  }

  .icon-cards__card--value .icon-cards__text {
    font-size: 1.6rem;
    line-height: 1.55;
  }

  .icon-cards__text p + p {
    margin-top: 1.2rem;
  }

  .icon-cards__button {
    margin-top: auto;
    padding-top: 1.2rem;
  }

  .icon-cards__badge {
    align-self: flex-start;
    padding: 0.8rem 1.4rem;
    border-radius: 9999px;
    background-color: var(--color-surface);
    color: var(--color-foreground);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.2rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .icon-cards__card--badge {
    min-height: 0;
    padding: 3.2rem;
    border-color: #cbd3cd;
  }

  .icon-cards__card--highlight {
    border-color: var(--color-surface);
    background-color: var(--color-surface);
  }

  .icon-cards__card--highlight .icon-cards__badge {
    background-color: var(--color-foreground);
    color: var(--color-surface);
  }

  .icon-cards__button .icon-cards__link {
    color: var(--color-accent);
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.6rem;
    text-decoration: none;
  }

  .icon-cards__button .icon-cards__link:hover {
    text-decoration: underline;
  }

  .icon-cards__button .icon-cards__link:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
  }

  .icon-cards--compact .icon-cards__card {
    gap: 1rem;
    min-height: 0;
    padding: 2.4rem;
    border-color: #e4e9e3;
  }

  .icon-cards--compact .icon-cards__title {
    font-size: 1.7rem;
    line-height: 1.25;
  }

  .icon-cards--compact .icon-cards__text {
    color: #2e3f36;
    font-size: 1.4rem;
    line-height: 1.55;
  }

  .icon-cards--compact .icon-cards__button {
    padding-top: 0.4rem;
  }

  .icon-cards--compact .icon-cards__button .icon-cards__link {
    font-size: 1.4rem;
    line-height: 1.4rem;
  }

  .icon-cards--header-left .icon-cards__header {
    margin-bottom: 2.4rem;
  }

  .icon-cards--header-left .icon-cards__header:has(+ .icon-cards__lead) {
    margin-bottom: 1.2rem;
  }

  .icon-cards--header-left .icon-cards__header .icon-cards__header__title-wrapper {
    justify-content: flex-start;
  }

  .icon-cards--header-left .icon-cards__header .icon-cards__header__heading {
    max-width: none;
    margin: 0;
    line-height: 1.25;
  }

  .icon-cards--header-left .icon-cards__lead {
    max-width: none;
    margin: 0 0 4rem;
    font-size: 1.6rem;
    line-height: 2.56rem;
    text-align: left;
  }

  .icon-cards__note {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 3.2rem;
    padding-left: 1.8rem;
    border-left: 3px solid var(--color-accent);
  }

  .icon-cards__note-heading {
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 2.64rem;
    white-space: nowrap;
  }

  .icon-cards__note-text {
    font-size: 1.4rem;
    line-height: normal;
  }

  @media (min-width: 769px) {
    .icon-cards--large .icon-cards__card {
      gap: 0;
      min-height: 39rem;
      padding: 5.6rem 3.4rem 4.5rem;
    }

    .icon-cards--large .icon-cards__icon {
      height: 4.3rem;
      margin-bottom: 1.6rem;
    }

    .icon-cards--large .icon-cards__icon svg,
    .icon-cards--large .icon-cards__icon-image {
      max-width: 4.3rem;
      max-height: 4.3rem;
    }

    .icon-cards--large .icon-cards__title {
      font-size: 2.4rem;
      line-height: 2.6rem;
    }

    .icon-cards--large .icon-cards__title + .icon-cards__text {
      margin-top: 1.6rem;
    }

    .icon-cards--large .icon-cards__text {
      font-size: 1.5rem;
      line-height: 2.3rem;
    }

    .icon-cards--large .icon-cards__button {
      padding-top: 2.4rem;
    }
  }

  @media (max-width: 1024px) {
    .icon-cards__list--cols-3,
    .icon-cards__list--cols-4 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 768px) {
    .icon-cards {
      padding-block: calc(var(--icon-cards-pt) * 0.6) calc(var(--icon-cards-pb) * 0.6);
    }

    .icon-cards__header {
      margin-bottom: 3.6rem;
    }

    .icon-cards__header .icon-cards__header__subheading {
      margin-bottom: 1.2rem;
      font-size: 1.4rem;
      line-height: 1.25;
    }

    .icon-cards__header .icon-cards__header__heading {
      font-size: min(var(--icon-cards-heading-size), 3.2rem);
      line-height: 1.16;
    }

    .icon-cards__header:has(+ .icon-cards__lead) {
      margin-bottom: 1.2rem;
    }

    .icon-cards__lead {
      margin-bottom: 3.2rem;
      font-size: 1.6rem;
      line-height: 1.45;
    }

    .icon-cards__list,
    .icon-cards__list--cols-3,
    .icon-cards__list--cols-4 {
      grid-template-columns: minmax(0, 1fr);
      gap: 1.4rem;
    }

    .icon-cards__card {
      gap: 1.4rem;
      min-height: 0;
      padding: 2.2rem;
      border-radius: 1.4rem;
      box-shadow: 0 8px 24px rgba(14, 77, 43, 0.07);
    }

    .icon-cards--header-left .icon-cards__header {
      margin-bottom: 2rem;
    }

    .icon-cards--header-left .icon-cards__lead {
      margin-bottom: 2.4rem;
      font-size: 1.5rem;
      line-height: 1.55;
    }

    .icon-cards__card--badge,
    .icon-cards--compact .icon-cards__card {
      padding: 2.2rem;
    }

    .icon-cards__icon {
      height: 4.3rem;
      margin-bottom: 0;
    }

    .icon-cards__icon svg,
    .icon-cards__icon-image {
      max-width: 4.3rem;
      max-height: 4.3rem;
    }

    .icon-cards__title {
      line-height: 1.3;
    }

    .icon-cards__text {
      font-size: 1.4rem;
      line-height: 1.55;
    }

    .icon-cards__card--value {
      padding: 2.4rem;
    }

    .icon-cards__note {
      flex-direction: column;
      align-items: flex-start;
      gap: 0.4rem;
      margin-top: 2.4rem;
    }

    .icon-cards__note-heading {
      font-size: 2rem;
      line-height: 1.2;
      white-space: normal;
    }

    .icon-cards__value {
      margin-bottom: 0;
      font-size: 3.6rem;
    }

    .icon-cards__card--value .icon-cards__title {
      font-size: 2rem;
      line-height: 1.2;
    }

    .icon-cards__card--value .icon-cards__text {
      font-size: 1.4rem;
    }
  }
/* END_SECTION:icon-cards */

/* START_SECTION:icons-with-text (INDEX:46) */
.icons-with-text {
    text-align: center;
    padding: 2rem;
  }
  .icons-with-text__heading {
    font-size: 2rem;
    margin-bottom: 0.5rem;
  }
  .icons-with-text__subheading {
    font-size: 1.2rem;
    margin-bottom: 2rem;
    color: #666;
  }
  .icons-with-text__items {
    display: flex;
    justify-content: center;
    gap: 4rem;
    flex-wrap: wrap;
  }
  .icons-with-text__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    max-width: 200px;
  }
  .icons-with-text__icon {
    margin-bottom: 1rem;
  }
  @media (max-width: 768px) {
    .icons-with-text__items {
      gap: 2rem;
      flex-direction: column;
      align-items: center;
    }
    .icons-with-text__item {
      max-width: 100%;
    }
  }
/* END_SECTION:icons-with-text */

/* START_SECTION:image-with-panels (INDEX:48) */
@media (min-width: 769px) {
    .shopify-section:has(.image-with-panels) {
      padding-top: 9rem;
      padding-bottom: 9rem;
    }
  }
  .image-with-panels {
    display: flex;
    flex-wrap: wrap;
    gap: 16rem;
    align-items: center;
    justify-content: center;
  }
  .image-with-panels__image {
    flex: 0 1 55rem;
    position: relative;
    aspect-ratio: 55 / 53.2;
    border-radius: 1.6rem;
    overflow: hidden;
  }
  .image-with-panels__header__title-wrapper {
    justify-content: flex-start;
  }
  .image-with-panels__image--left {
    order: 0;
  }
  .image-with-panels__image--right {
    order: 1;
  }
  .image-with-panels__img-wrap {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.4s ease;
    height: auto;
  }
  .image-with-panels__img-wrap--active {
    opacity: 1;
  }
  .image-with-panels__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 1.6rem;

  }
  .image-with-panels__content {
    flex: 0 1 47.3rem;
  }
  .image-with-panels__eyebrow {
    color: var(--color-accent);
    font-size: 1.4rem;
    font-weight: 500;
    margin-bottom: 1.2rem;
  }
  .image-with-panels__heading {
    font-size: 4rem;
    font-weight: 700;
    color: var(--color-foreground);
    line-height: 1.1;
    margin-bottom: 2.4rem;
  }
  .image-with-panels__tabs {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 2.4rem;
  }
  .image-with-panels__tab {
    min-height: 4.2rem;
    padding: 0 2.4rem;
    border: 1px solid #ceced4;
    border-radius: 0.8rem;
    background: transparent;
    font-size: 1.6rem;
    font-weight: 400;
    color: var(--color-foreground);
    cursor: pointer;
    transition: background 0.2s
    , border-color 0.2s
    , color 0.2s;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    text-decoration: none;

  }
  .image-with-panels__tab[aria-selected="true"] {
    background: var(--color-foreground);
    border-color: var(--color-foreground);
    color: #fff;
  }
  .image-with-panels__panel {
    display: none;
  }
  .image-with-panels__panel[aria-hidden="false"] {
    display: block;
  }
  .image-with-panels__panel-text {
    font-size: 1.8rem;
    color: var(--color-foreground);
    line-height: 1.6;
  }
  .image-with-panels__panel-text p {
    margin: 0;
  }
  .image-with-panels__bubble {
    aspect-ratio: 1;
    border-radius: 9999px;
    padding: 2rem;
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.7rem;
    text-align: center;
    width: 13rem;
    z-index: 1;
  }
  .image-with-panels__bubble--left {
    left: 0;
    transform: translateX(-50%);
  }
  .image-with-panels__bubble--right {
    left: 100%;
    transform: translateX(-50%);
  }
  .image-with-panels__bubble-heading {
    font-size: 3.6rem;
    font-weight: 400;
    line-height: 1;
    display: block;
  }
  .image-with-panels__bubble-text {
    font-size: 1.4rem;
    max-width: 10rem;
    line-height: 1.3;
    display: block;
  }
  @media (min-width: 769px) and (max-width: 1200px) {
    .image-with-panels {
      gap: 4rem;
    }
    .image-with-panels__image,
    .image-with-panels__content {
      min-width: 0;
    }
  }
  @media (max-width: 768px) {
    .image-with-panels {
      flex-direction: column-reverse;
      flex-wrap: nowrap;
      gap: 1rem;
    }

    .image-with-panels__header__heading,
    .image-with-panels__header__subheading {
      text-align: center;
    }
    .image-with-panels__image {
      width: 100%;
      flex: none;
      max-height: 36rem;
    }
    .image-with-panels__tabs {
      flex-direction: column;
      gap: 1.3rem;
    }
    .image-with-panels__tab {
      width: 100%;
      padding: 0 2rem;
    }
    .image-with-panels__panel-text {
      /* padding-bottom: 0; */
      /* padding-top: 3.2rem; */
      padding: 0;
      font-size: 1.6rem;
      text-align: center;
    }
    .image-with-panels__img {
      max-height: 36rem;
    }
    .image-with-panels__content {
      margin-bottom: 3rem;
    }
  }
  @media (min-width: 769px) {
    .image-with-panels__img,
    .image-with-panels__image {
      max-height: 54rem;
    }
  }
/* END_SECTION:image-with-panels */

/* START_SECTION:list-panels (INDEX:49) */
.list-panels {
    width: 100%;
    --list-panels-bg: var(--color-background);
    padding-block: var(--list-panels-pt) var(--list-panels-pb);
    background-color: var(--list-panels-bg);
    color: var(--color-foreground);
  }

  .list-panels--bg-surface {
    --list-panels-bg: var(--color-surface);
  }

  .list-panels__inner {
    width: min(121.8rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .list-panels__header {
    margin-bottom: 4.8rem;
  }

  .list-panels__header .list-panels__header__subheading {
    margin-bottom: 1.6rem;
  }

  .list-panels__header .list-panels__header__heading {
    max-width: 72rem;
    margin: 0 auto;
    font-size: 3.6rem;
    line-height: 1.212;
    letter-spacing: -0.027em;
  }

  .list-panels__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(32rem, 1fr));
    gap: 2rem;
  }

  .list-panels__panel {
    padding: 3.8rem 3.8rem 4rem;
    border: 1px solid var(--color-accent);
    border-radius: 1.6rem;
    background-color: var(--color-background);
    color: var(--color-foreground);
  }

  .list-panels__panel--dark {
    border-color: var(--color-foreground);
    background-color: var(--color-foreground);
    color: var(--color-background);
  }

  .list-panels__title {
    margin-bottom: 2.4rem;
    color: inherit;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 2.8rem;
  }

  .list-panels__list {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .list-panels__item {
    display: flex;
    align-items: flex-start;
    gap: 1.4rem;
    font-size: 1.5rem;
    line-height: 2.1rem;
  }

  .list-panels__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 2.1rem;
    color: var(--color-accent);
  }

  .list-panels__list--cross .list-panels__icon {
    color: #e31837;
  }

  .list-panels__icon svg {
    width: 1.6rem;
    height: auto;
  }

  .list-panels__list--cross .list-panels__icon svg {
    width: 1.3rem;
  }

  .list-panels__footnote {
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 2.17rem;
  }

  /* Compact: tighter padding, softer border, smaller title (ordering-help style). */
  .list-panels--compact .list-panels__grid {
    gap: 2.4rem;
  }

  .list-panels--compact .list-panels__panel {
    padding: 3.2rem;
  }

  .list-panels--compact .list-panels__panel--outline {
    border-color: #e4e9e3;
  }

  .list-panels--compact .list-panels__title {
    margin-bottom: 1.6rem;
    font-size: 1.8rem;
    line-height: 1.25;
  }

  .list-panels--compact .list-panels__list {
    gap: 1.2rem;
  }

  .list-panels--compact .list-panels__item {
    align-items: center;
    gap: 1.2rem;
    line-height: 2.3rem;
  }

  .list-panels--compact .list-panels__list--cross .list-panels__icon {
    color: #dd3720;
  }

  @media (max-width: 768px) {
    .list-panels {
      padding-block: calc(var(--list-panels-pt) * 0.6) calc(var(--list-panels-pb) * 0.6);
    }

    .list-panels__header {
      margin-bottom: 3.2rem;
    }

    .list-panels__header .list-panels__header__heading {
      font-size: 3.2rem;
      line-height: 1.16;
    }

    .list-panels__grid {
      grid-template-columns: minmax(0, 1fr);
      gap: 3.2rem;
    }

    .list-panels__panel {
      padding: 2.4rem;
      border-radius: 1.4rem;
    }

    .list-panels__title {
      margin-bottom: 1.8rem;
      font-size: 2.2rem;
      line-height: 1.3;
    }

    .list-panels__list {
      gap: 1.3rem;
    }

    .list-panels__item {
      gap: 1rem;
      font-size: 1.4rem;
      line-height: 2rem;
    }

    .list-panels__icon {
      width: 1.5rem;
      height: 2rem;
    }

    .list-panels__icon svg {
      width: 1.4rem;
    }

    .list-panels__list--cross .list-panels__icon svg {
      width: 1.2rem;
    }

    .list-panels--compact .list-panels__grid {
      gap: 1.6rem;
    }

    .list-panels--compact .list-panels__panel {
      padding: 2.4rem;
    }

    .list-panels--compact .list-panels__title {
      font-size: 1.8rem;
      line-height: 1.25;
    }

    .list-panels--compact .list-panels__item {
      line-height: 2.1rem;
    }
  }
/* END_SECTION:list-panels */

/* START_SECTION:main-page-lovable (INDEX:50) */
.shopify-section:has(.lovable-embed) {
    padding: 0;
  }

  .template-page .shopify-section:has(.lovable-embed):has(+ .shopify-section-group-footer-group) {
    padding-bottom: 0;
  }

  .lovable-embed__content {
    margin: 0;
    padding: 0;
  }

  .lovable-embed__content > *:first-child {
    margin-top: 0;
  }

  .lovable-embed__content > *:last-child {
    margin-bottom: 0;
  }
/* END_SECTION:main-page-lovable */

/* START_SECTION:media-split (INDEX:51) */
.media-split {
    width: 100%;
    --media-split-bg: var(--color-background);
    --media-split-text-color: var(--color-foreground);
    --media-split-eyebrow-color: var(--color-accent);
    --media-split-placeholder-bg: color-mix(in srgb, var(--color-foreground) 8%, var(--color-surface));
    --media-split-gutter: clamp(2.4rem, 3vw, 3.6rem);
    background-color: var(--media-split-bg);
    color: var(--media-split-text-color);
  }

  .media-split--bg-surface {
    --media-split-bg: var(--color-surface);
  }

  .media-split--bg-foreground {
    --media-split-bg: var(--color-foreground);
    --media-split-text-color: var(--color-background);
    --media-split-eyebrow-color: var(--color-surface);
    --media-split-placeholder-bg: color-mix(in srgb, var(--color-background) 12%, var(--color-foreground));
  }

  .media-split__grid {
    display: grid;
    grid-template-columns:
      minmax(var(--page-margin), 1fr)
      minmax(0, 60.8rem)
      minmax(0, 60.8rem)
      minmax(var(--page-margin), 1fr);
    grid-template-rows: auto 1fr;
    min-height: var(--media-split-min-height);
  }

  .media-split--inset .media-split__grid {
    align-items: center;
    padding-block: var(--media-split-pt) var(--media-split-pb);
  }

  .media-split__top {
    grid-column: 2 / 4;
    grid-row: 1;
    margin-bottom: 4.8rem;
  }

  .media-split--bleed .media-split__top {
    padding-top: var(--media-split-pt);
  }

  .media-split__media,
  .media-split__content {
    grid-row: 2;
    min-width: 0;
  }

  .media-split--image-right .media-split__content {
    grid-column: 2;
    padding-inline-end: var(--media-split-gutter);
  }

  .media-split--image-left .media-split__content {
    grid-column: 3;
    padding-inline-start: var(--media-split-gutter);
  }

  .media-split--inset.media-split--image-right .media-split__media {
    grid-column: 3;
    margin-inline-start: var(--media-split-gutter);
  }

  .media-split--inset.media-split--image-left .media-split__media {
    grid-column: 2;
    margin-inline-end: var(--media-split-gutter);
  }

  .media-split--bleed.media-split--image-right .media-split__media {
    grid-column: 3 / 5;
  }

  .media-split--bleed.media-split--image-left .media-split__media {
    grid-column: 1 / 3;
  }

  .media-split--bleed .media-split__media {
    position: relative;
    overflow: hidden;
    background-color: var(--media-split-placeholder-bg);
  }

  .media-split--bleed .media-split__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .media-split--bleed .media-split__content {
    padding-block: var(--media-split-pt) var(--media-split-pb);
  }

  .media-split--bleed.media-split--image-right .media-split__content {
    padding-inline-end: clamp(3.2rem, 5vw, 7.2rem);
  }

  .media-split--bleed.media-split--image-left .media-split__content {
    padding-inline-start: clamp(3.2rem, 5vw, 7.2rem);
  }

  .media-split--inset .media-split__image {
    width: 100%;
    height: auto;
    aspect-ratio: var(--media-split-ratio);
    object-fit: cover;
    border-radius: 1.6rem;
  }

  .media-split__placeholder {
    background-color: var(--media-split-placeholder-bg);
    fill: color-mix(in srgb, var(--media-split-text-color) 30%, transparent);
  }

  .media-split__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .media-split__content > .media-split__header {
    margin-bottom: 2.4rem;
  }

  .media-split__header .media-split__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--media-split-eyebrow-color);
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .media-split__header .media-split__header__title-wrapper {
    justify-content: flex-start;
  }

  .media-split__top .media-split__header__title-wrapper {
    justify-content: center;
  }

  .media-split__header .media-split__header__heading {
    max-width: none;
    margin: 0;
    color: var(--media-split-text-color);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: var(--media-split-heading-size);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -0.027em;
  }

  .media-split__top .media-split__header__heading {
    max-width: 80rem;
  }

  /* Small heading size: body font, medium weight, for sub-headings that should not read as display headlines. */
  .media-split--heading-body .media-split__header .media-split__header__heading {
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0;
  }

  .media-split--inset .media-split__media {
    position: relative;
  }

  .media-split__badge {
    position: absolute;
    bottom: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    width: 20.8rem;
    height: 21.1rem;
    padding: 0 1.6rem;
    border-radius: 50%;
    background-color: var(--color-foreground);
    color: var(--color-background);
  }

  .media-split--image-left .media-split__badge {
    inset-inline-end: -10.4rem;
  }

  .media-split--image-right .media-split__badge {
    inset-inline-start: -10.4rem;
  }

  /* Keep the text clear of the badge that hangs past the image edge. */
  @media (min-width: 769px) {
    .media-split--has-badge.media-split--image-left .media-split__content {
      padding-inline-start: calc(var(--media-split-gutter) + 10.4rem);
    }

    .media-split--has-badge.media-split--image-right .media-split__content {
      padding-inline-end: calc(var(--media-split-gutter) + 10.4rem);
    }
  }

  .media-split__badge-icon {
    display: flex;
  }

  .media-split__badge-icon svg {
    width: 3rem;
    height: auto;
  }

  .media-split__badge-text {
    max-width: 17.7rem;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.6rem;
    text-align: center;
  }

  .media-split__body {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    column-gap: 4.8rem;
    row-gap: 2.4rem;
  }

  .media-split__body > * {
    flex: 0 0 100%;
  }

  .media-split__stats {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    column-gap: 4.8rem;
    row-gap: 2.4rem;
  }

  .media-split__stats > .media-split__stat {
    flex: 0 0 auto;
  }

  .media-split__body > .media-split__buttons {
    margin-top: 0.8rem;
  }

  .media-split__text {
    font-size: 1.6rem;
    line-height: 2.6rem;
  }

  /* Row gap (2.4rem) + 0.8rem = 3.2rem above; buttons add the same below. */
  .media-split__body > .media-split__note {
    display: flex;
    align-items: center;
    gap: 1.8rem;
    margin-top: 0.8rem;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.6rem;
  }

  .media-split__note-icon {
    display: flex;
    flex-shrink: 0;
    color: var(--color-accent);
  }

  .media-split__note-icon svg {
    width: 1.8rem;
    height: auto;
  }

  .media-split__text--lead {
    font-size: 1.8rem;
    line-height: 2.8rem;
  }

  .media-split__text p + p,
  .media-split__emphasis p + p {
    margin-top: 1.6rem;
  }

  .media-split__emphasis {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.6rem;
  }

  .media-split__quote {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }

  .media-split__quote-text {
    margin: 0;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.4rem;
  }

  .media-split__quote-attribution {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .media-split__stat-value {
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 4rem;
    line-height: 5.2rem;
    letter-spacing: -0.027em;
  }

  .media-split__stat-label {
    font-size: 1.6rem;
    line-height: 2.3rem;
  }

  .media-split__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
  }

  .media-split__price-values {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 0.8rem;
  }

  .media-split__price-current {
    color: var(--color-accent);
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.2;
  }

  .media-split__price-compare {
    color: color-mix(in srgb, var(--media-split-text-color) 49%, transparent);
    font-size: 2.4rem;
    line-height: 1.2;
  }

  .media-split__price-a11y {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .media-split__price-label {
    margin-top: 0.4rem;
    font-size: 1.8rem;
    line-height: 2.8rem;
  }

  .media-split__accordion {
    border-radius: 1.6rem;
    background-color: var(--color-surface);
    color: var(--color-foreground);
  }

  .media-split--bg-surface .media-split__accordion {
    background-color: var(--color-background);
  }

  .media-split__accordion + .media-split__accordion {
    margin-top: -0.8rem;
  }

  .media-split__accordion-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
    min-height: 8.6rem;
    padding: 1.6rem 3.4rem 1.6rem 2.4rem;
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.8rem;
    list-style: none;
    cursor: pointer;
  }

  .media-split__accordion-summary::-webkit-details-marker {
    display: none;
  }

  .media-split__accordion-summary:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
    border-radius: 1.6rem;
  }

  .media-split__accordion-icon {
    display: flex;
    flex-shrink: 0;
  }

  .media-split__accordion-icon svg {
    width: 1.8rem;
    height: 1.8rem;
  }

  .media-split__accordion-icon--minus,
  .media-split__accordion[open] .media-split__accordion-icon--plus {
    display: none;
  }

  .media-split__accordion[open] .media-split__accordion-icon--minus {
    display: flex;
  }

  .media-split__accordion-answer {
    padding: 0 3.4rem 2.4rem 2.4rem;
    font-size: 1.6rem;
    line-height: 2.6rem;
  }

  .media-split__accordion-answer p + p {
    margin-top: 1.2rem;
  }

  /* Title | description rows, divided by hairlines; the list tucks up under the summary row. */
  .media-split__accordion-list {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    margin: -2rem 0 0;
    padding: 0 2.6rem 1.7rem;
    list-style: none;
  }

  .media-split__accordion-item {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding-block: 1.2rem;
    border-bottom: 1px solid color-mix(in srgb, var(--color-foreground) 12%, var(--color-background));
  }

  .media-split__accordion-item:last-child {
    border-bottom: 0;
  }

  .media-split__accordion-item-title {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.3;
  }

  .media-split__accordion-item-text {
    color: #2e3f36;
    font-size: 1.3rem;
    line-height: 1.45;
  }

  .media-split__accordion-footnote {
    margin: 0;
    padding: 1.75rem 2.6rem;
    border-radius: 0 0 1.6rem 1.6rem;
    background-color: color-mix(in srgb, var(--color-foreground) 12%, var(--color-surface));
    font-size: 1.3rem;
    line-height: 1.55;
  }

  @media (max-width: 768px) {
    .media-split__grid {
      grid-template-columns: var(--page-margin) minmax(0, 1fr) var(--page-margin);
      grid-template-rows: none;
      row-gap: 3.2rem;
      min-height: 0;
    }

    .media-split--inset .media-split__grid {
      padding-block: calc(var(--media-split-pt) * 0.6) calc(var(--media-split-pb) * 0.6);
    }

    .media-split__top,
    .media-split__media,
    .media-split__content,
    .media-split--image-left .media-split__content,
    .media-split--image-right .media-split__content,
    .media-split--inset.media-split--image-left .media-split__media,
    .media-split--inset.media-split--image-right .media-split__media {
      grid-column: 2;
      grid-row: auto;
      margin: 0;
      padding-inline: 0;
    }

    .media-split__top {
      margin-bottom: 0;
    }

    .media-split--bleed .media-split__top {
      padding-top: calc(var(--media-split-pt) * 0.6);
    }

    .media-split--bleed.media-split--image-left .media-split__media,
    .media-split--bleed.media-split--image-right .media-split__media {
      grid-column: 1 / -1;
      aspect-ratio: 4 / 3;
    }

    .media-split--bleed .media-split__content,
    .media-split--bleed.media-split--image-left .media-split__content,
    .media-split--bleed.media-split--image-right .media-split__content {
      padding: 0 0 calc(var(--media-split-pb) * 0.6);
    }

    /* Image after the text: the media moves below the content column. */
    .media-split--mobile-image-after .media-split__media {
      order: 1;
    }

    .media-split--bleed.media-split--mobile-image-after .media-split__grid {
      row-gap: 0;
    }

    .media-split--bleed.media-split--mobile-image-after.media-split--image-left .media-split__media,
    .media-split--bleed.media-split--mobile-image-after.media-split--image-right .media-split__media {
      aspect-ratio: 39 / 42;
    }

    .media-split--bleed.media-split--mobile-image-after .media-split__content,
    .media-split--bleed.media-split--mobile-image-after.media-split--image-left .media-split__content,
    .media-split--bleed.media-split--mobile-image-after.media-split--image-right .media-split__content {
      padding: calc(var(--media-split-pt) * 0.6) 0 calc(var(--media-split-pb) * 0.6);
    }

    .media-split--bleed.media-split--mobile-image-after.media-split--header-above .media-split__content {
      padding-top: 3.2rem;
    }

    .media-split--inset .media-split__image {
      border-radius: 1.4rem;
    }

    .media-split__content > .media-split__header {
      margin-bottom: 1.6rem;
    }

    .media-split__header .media-split__header__subheading {
      margin-bottom: 1.2rem;
      font-size: 1.4rem;
      line-height: 1.25;
    }

    .media-split__header .media-split__header__heading {
      font-size: min(var(--media-split-heading-size), 3.2rem);
      line-height: 1.16;
    }

    .media-split__header h1.media-split__header__heading {
      line-height: 1.2;
    }

    .media-split--heading-body .media-split__header .media-split__header__heading {
      font-size: 2.2rem;
      line-height: 1.35;
    }

    /* The badge drops out of the image and becomes a full-width bar beneath it. */
    .media-split__badge,
    .media-split--image-left .media-split__badge,
    .media-split--image-right .media-split__badge {
      position: static;
      flex-direction: row;
      justify-content: flex-start;
      gap: 1.2rem;
      width: 100%;
      height: auto;
      margin-top: 2rem;
      padding: 1.2rem 1.6rem;
      border-radius: 1.2rem;
    }

    .media-split__badge-icon svg {
      width: 2.4rem;
    }

    .media-split__badge-text {
      max-width: none;
      font-size: 1.5rem;
      font-weight: 400;
      line-height: 2rem;
      text-align: start;
    }

    .media-split__body {
      column-gap: 1.6rem;
      row-gap: 2rem;
    }

    .media-split__stats {
      column-gap: 1.6rem;
      row-gap: 2rem;
    }

    .media-split__stats > .media-split__stat {
      flex: 1 1 0;
      min-width: 0;
    }

    /* Stats below the image: the text column's children join the grid so the image can sit between them. */
    .media-split--mobile-stats-after .media-split__content,
    .media-split--mobile-stats-after .media-split__body {
      display: contents;
    }

    .media-split--mobile-stats-after .media-split__content > *,
    .media-split--mobile-stats-after .media-split__body > * {
      grid-column: 2;
      min-width: 0;
    }

    .media-split--mobile-stats-after .media-split__media {
      order: 1;
    }

    .media-split--mobile-stats-after .media-split__stats {
      order: 2;
    }

    .media-split--mobile-stats-after .media-split__content > .media-split__header {
      margin-bottom: -1.6rem;
    }

    .media-split--mobile-stats-after .media-split__body > .media-split__buttons {
      margin-top: 0;
    }

    .media-split__price-current {
      font-size: 3.6rem;
    }

    .media-split__price-compare {
      font-size: 2rem;
    }

    .media-split__price-label {
      font-size: 1.6rem;
      line-height: 1.4;
    }

    .media-split__accordion + .media-split__accordion {
      margin-top: -1.2rem;
    }

    .media-split__accordion-summary {
      min-height: 5.4rem;
      padding: 1.2rem 1.6rem;
      font-size: 1.6rem;
      line-height: 1.2;
    }

    .media-split__accordion-icon svg {
      width: 1.6rem;
      height: 1.6rem;
    }

    .media-split__accordion-answer {
      padding: 0 1.6rem 1.6rem;
      font-size: 1.4rem;
      line-height: 1.55;
    }

    .media-split__accordion-list {
      gap: 0.8rem;
      margin-top: -0.8rem;
      padding: 0 1.6rem 1.2rem;
    }

    .media-split__accordion-footnote {
      padding: 1.4rem 1.6rem;
    }

    .media-split__text,
    .media-split__text--lead {
      font-size: 1.6rem;
      line-height: 1.58;
    }

    .media-split__emphasis {
      font-size: 1.6rem;
      line-height: 1.58;
    }

    .media-split__quote {
      gap: 1rem;
      padding-inline-start: 1.8rem;
      border-inline-start: 3px solid var(--color-accent);
    }

    .media-split__quote-text {
      font-size: 1.8rem;
      line-height: 1.45;
    }

    .media-split__quote-attribution {
      font-size: 1.4rem;
      line-height: normal;
    }

    .media-split__stat-value {
      font-size: 3.4rem;
      line-height: normal;
    }

    .media-split__stat-label {
      margin-top: 0.8rem;
      font-size: 1.4rem;
      line-height: 1.4;
    }

    .media-split__buttons {
      flex-direction: column;
      gap: 1rem;
    }

    .media-split__buttons .pill-button {
      width: 100%;
    }
  }

  /* Card container: the band becomes a rounded card inside the page width, image flush to the card's edge. */
  .media-split.media-split--card {
    --media-split-card-bg: var(--media-split-bg);
    padding-block: var(--media-split-pt) var(--media-split-pb);
    background-color: var(--color-background);
  }

  .media-split--card .media-split__grid {
    grid-template-columns: minmax(0, 1fr) 45.6%;
    width: min(121.8rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
    overflow: hidden;
    border-radius: 1.6rem;
    background-color: var(--media-split-card-bg);
  }

  .media-split--card.media-split--image-left .media-split__grid {
    grid-template-columns: 45.6% minmax(0, 1fr);
  }

  .media-split.media-split--card.media-split--bleed.media-split--image-right .media-split__content,
  .media-split.media-split--card.media-split--bleed.media-split--image-left .media-split__content {
    padding-block: 6.4rem;
  }

  .media-split.media-split--card.media-split--bleed.media-split--image-right .media-split__content {
    grid-column: 1;
    grid-row: 2;
    padding-inline: 9rem 4.8rem;
  }

  .media-split.media-split--card.media-split--bleed.media-split--image-left .media-split__content {
    grid-column: 2;
    grid-row: 2;
    padding-inline: 4.8rem 9rem;
  }

  .media-split.media-split--card.media-split--bleed.media-split--image-right .media-split__media {
    grid-column: 2;
    grid-row: 2;
  }

  .media-split.media-split--card.media-split--bleed.media-split--image-left .media-split__media {
    grid-column: 1;
    grid-row: 2;
  }

  .media-split--card .media-split__top {
    grid-column: 1 / -1;
    grid-row: 1;
    padding: 6.4rem 9rem 0;
  }

  .media-split--card .media-split__header .media-split__header__heading {
    line-height: 1.12;
  }

  @media (max-width: 768px) {
    .media-split.media-split--card {
      padding-block: calc(var(--media-split-pt) * 0.6) calc(var(--media-split-pb) * 0.6);
    }

    .media-split--card .media-split__grid,
    .media-split--card.media-split--image-left .media-split__grid {
      grid-template-columns: minmax(0, 1fr);
      row-gap: 0;
    }

    .media-split.media-split--card.media-split--bleed.media-split--image-right .media-split__content,
    .media-split.media-split--card.media-split--bleed.media-split--image-left .media-split__content,
    .media-split.media-split--card.media-split--bleed.media-split--mobile-image-after.media-split--image-right .media-split__content,
    .media-split.media-split--card.media-split--bleed.media-split--mobile-image-after.media-split--image-left .media-split__content {
      grid-column: 1;
      grid-row: auto;
      padding: 3.2rem 2.4rem;
    }

    .media-split.media-split--card.media-split--bleed.media-split--image-right .media-split__media,
    .media-split.media-split--card.media-split--bleed.media-split--image-left .media-split__media,
    .media-split.media-split--card.media-split--bleed.media-split--mobile-image-after.media-split--image-right .media-split__media,
    .media-split.media-split--card.media-split--bleed.media-split--mobile-image-after.media-split--image-left .media-split__media {
      grid-column: 1;
      grid-row: auto;
      aspect-ratio: 7 / 5;
    }

    .media-split--card .media-split__top {
      padding: 3.2rem 2.4rem 0;
    }

    .media-split--card .media-split__header .media-split__header__heading {
      line-height: 1.12;
    }
  }
/* END_SECTION:media-split */

/* START_SECTION:paragraph (INDEX:53) */
.paragraph {
    margin: 2rem auto;
    padding: 2rem 3rem;
    box-sizing: border-box;
    border-radius: 1.25rem;
  }
  .paragraph-text {
    overflow: hidden;
    transition: max-height 0.4s ease;
  }
  @media (max-width: 768px) {
    .paragraph__content {
      width: 100% !important;
      margin: 0 !important;
      text-align: left;
    }
  }
  .read-more {
    margin-top: 1rem;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    font-family: "Grato Grotesk", "Grato Grotesk Fallback";
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2.1rem;
    /* 175% */
    letter-spacing: 0.06rem;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
  }
/* END_SECTION:paragraph */

/* START_SECTION:pillars (INDEX:55) */
.pillars {
    width: 100%;
    --pillars-bg: var(--color-foreground);
    --pillars-text-color: var(--color-background);
    --pillars-eyebrow-color: var(--color-background);
    --pillars-icon-size: 14.6rem;
    --pillars-gap: 3.2rem;
    padding-block: var(--pillars-pt) var(--pillars-pb);
    background-color: var(--pillars-bg);
    color: var(--pillars-text-color);
  }

  .pillars--bg-white {
    --pillars-bg: var(--color-background);
    --pillars-text-color: var(--color-foreground);
    --pillars-eyebrow-color: var(--color-accent);
  }

  .pillars--bg-surface {
    --pillars-bg: var(--color-surface);
    --pillars-text-color: var(--color-foreground);
    --pillars-eyebrow-color: var(--color-accent);
  }

  .pillars__inner {
    width: min(121.6rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .pillars__intro {
    max-width: 80rem;
    margin: 0 auto 6.4rem;
    text-align: center;
  }

  .pillars__header .pillars__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--pillars-eyebrow-color);
  }

  .pillars__header .pillars__header__heading {
    max-width: none;
    margin: 0;
    color: var(--pillars-text-color);
    font-size: var(--pillars-heading-size);
    line-height: 1.3;
    letter-spacing: -0.027em;
  }

  .pillars__lead {
    margin-top: 2.4rem;
    font-size: 1.8rem;
    line-height: 2.8rem;
  }

  .pillars__list {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: var(--pillars-gap);
    margin: 0;
    padding: 0;
    list-style: none;
  }

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

  .pillars__icon-wrap {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    margin-bottom: 2.4rem;
  }

  .pillars--dividers .pillars__item:not(:last-child) .pillars__icon-wrap::after {
    content: '';
    position: absolute;
    top: 50%;
    left: calc(50% + var(--pillars-icon-size) / 2 + 1.6rem);
    width: calc(100% + var(--pillars-gap) - var(--pillars-icon-size) - 3.2rem);
    height: 1px;
    background-color: currentcolor;
    opacity: 0.3;
  }

  .pillars__icon {
    width: var(--pillars-icon-size);
    height: var(--pillars-icon-size);
    object-fit: contain;
  }

  .pillars--circle .pillars__icon {
    box-sizing: border-box;
    border: 3px solid var(--color-background);
    border-radius: 50%;
    object-fit: cover;
  }

  .pillars__icon--placeholder {
    border-radius: 50%;
    background-color: color-mix(in srgb, var(--pillars-text-color) 12%, var(--pillars-bg));
    fill: color-mix(in srgb, var(--pillars-text-color) 35%, transparent);
  }

  .pillars__title {
    margin-bottom: 1.2rem;
    color: var(--pillars-text-color);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.6rem;
  }

  .pillars__text {
    font-size: 1.5rem;
    line-height: 2.4rem;
  }

  @media (max-width: 768px) {
    .pillars {
      --pillars-icon-size: 9.6rem;
      --pillars-gap: 1.6rem;
      padding-block: calc(var(--pillars-pt) * 0.6) calc(var(--pillars-pb) * 0.6);
    }

    .pillars--bg-foreground {
      --pillars-eyebrow-color: var(--color-surface);
    }

    .pillars__intro {
      margin-bottom: 3.6rem;
    }

    .pillars__header .pillars__header__subheading {
      margin-bottom: 1.2rem;
      font-size: 1.4rem;
      line-height: 1.25;
    }

    .pillars__header .pillars__header__heading {
      max-width: 28rem;
      margin-inline: auto;
      font-size: min(var(--pillars-heading-size), 3.2rem);
      line-height: 1.16;
    }

    .pillars__lead {
      margin-top: 1.6rem;
      font-size: 1.6rem;
      line-height: 1.58;
    }

    .pillars--bg-foreground .pillars__lead,
    .pillars--bg-foreground .pillars__text {
      color: var(--color-surface);
    }

    .pillars__list {
      grid-auto-flow: row;
      grid-template-columns: minmax(0, 1fr);
      row-gap: 1.4rem;
    }

    .pillars--dividers .pillars__item:not(:last-child) .pillars__icon-wrap::after {
      display: none;
    }

    .pillars__item {
      display: grid;
      grid-template-columns: var(--pillars-icon-size) minmax(0, 1fr);
      grid-template-rows: 1fr auto auto 1fr;
      column-gap: 1.8rem;
      align-items: center;
      padding: 1.8rem;
      border: 1px solid color-mix(in srgb, var(--pillars-text-color) 15%, transparent);
      border-radius: 1.4rem;
      background-color: color-mix(in srgb, var(--pillars-text-color) 4%, transparent);
      text-align: start;
    }

    .pillars__icon-wrap {
      grid-column: 1;
      grid-row: 1 / -1;
      width: auto;
      margin-bottom: 0;
    }

    .pillars__icon {
      border-radius: 50%;
    }

    .pillars__title,
    .pillars__text {
      grid-column: 2;
    }

    .pillars__title {
      grid-row: 2;
      margin-bottom: 0;
      font-size: 1.8rem;
      line-height: 1.3;
    }

    .pillars__text {
      grid-row: 3;
      margin-top: 0.8rem;
      font-size: 1.4rem;
      line-height: 1.5;
    }
  }
/* END_SECTION:pillars */

/* START_SECTION:promo-code-guide (INDEX:58) */
.promo-code-guide {
    width: 100%;
    --promo-code-guide-bg: var(--color-background);
    padding-block: var(--promo-code-guide-pt) var(--promo-code-guide-pb);
    background-color: var(--promo-code-guide-bg);
    color: var(--color-foreground);
  }

  .promo-code-guide--bg-surface {
    --promo-code-guide-bg: var(--color-surface);
  }

  .promo-code-guide__inner {
    width: min(121.8rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .promo-code-guide__header {
    margin-bottom: 4rem;
  }

  .promo-code-guide__header:has(+ .promo-code-guide__lead) {
    margin-bottom: 1.2rem;
  }

  .promo-code-guide__header .promo-code-guide__header__subheading {
    margin-bottom: 1.2rem;
  }

  .promo-code-guide__header .promo-code-guide__header__title-wrapper {
    justify-content: flex-start;
  }

  .promo-code-guide__header .promo-code-guide__header__heading {
    max-width: none;
    margin: 0;
    font-size: 3.6rem;
    line-height: 1.25;
    letter-spacing: -0.018em;
  }

  .promo-code-guide__lead {
    margin-bottom: 4rem;
    font-size: 1.6rem;
    line-height: 2.56rem;
  }

  .promo-code-guide__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 52rem);
    gap: 6rem;
    align-items: start;
  }

  .promo-code-guide__steps {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .promo-code-guide__step {
    display: flex;
    align-items: flex-start;
    gap: 1.8rem;
    padding: 2.4rem;
    border: 1px solid #e4e9e3;
    border-radius: 1.4rem;
    background-color: #fafbf8;
  }

  .promo-code-guide__step-number {
    flex-shrink: 0;
    min-width: 3.8rem;
    color: var(--color-accent);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 2.4rem;
    line-height: 2.9rem;
  }

  .promo-code-guide__step-body {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    min-width: 0;
  }

  .promo-code-guide__step-title {
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 2.2rem;
  }

  .promo-code-guide__step-text {
    font-size: 1.5rem;
    line-height: 2.4rem;
  }

  .promo-code-guide__footnote {
    margin-top: 1.4rem;
    color: #5f6e64;
    font-size: 1.4rem;
    line-height: 2.24rem;
  }

  .promo-code-guide__cart {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 2.9rem;
    border: 1px solid #e4e9e3;
    border-radius: 1.8rem;
    background-color: #fafbf8;
  }

  .promo-code-guide__cart-label {
    color: #5f6e64;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.3rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .promo-code-guide__product {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    padding-block: 1.9rem;
  }

  .promo-code-guide__product-media {
    flex-shrink: 0;
    width: 6.4rem;
    height: 6.4rem;
    overflow: hidden;
    border-radius: 1.2rem;
    background-color: #e4e9e3;
  }

  .promo-code-guide__product-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .promo-code-guide__product-info {
    flex: 1;
    min-width: 0;
  }

  .promo-code-guide__product-title {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2.025rem;
  }

  .promo-code-guide__product-meta {
    margin-top: 0.4rem;
    color: #5f6e64;
    font-size: 1.3rem;
    line-height: 1.3rem;
  }

  .promo-code-guide__product-price {
    flex-shrink: 0;
    font-size: 1.5rem;
    font-weight: 500;
  }

  .promo-code-guide__code {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }

  .promo-code-guide__code-label {
    font-size: 1.3rem;
    font-weight: 500;
  }

  .promo-code-guide__code-row {
    display: flex;
    gap: 1rem;
  }

  .promo-code-guide__code-field {
    flex: 1;
    min-width: 0;
    padding: 1.4rem 1.5rem;
    border: 1px solid #cbd3cd;
    border-radius: 1.1rem;
    background-color: var(--color-background);
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.8rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .promo-code-guide__code-button {
    display: flex;
    align-items: center;
    padding-inline: 2.2rem;
    border-radius: 1.1rem;
    background-color: var(--color-accent);
    color: var(--color-background);
    font-size: 1.5rem;
    font-weight: 500;
  }

  .promo-code-guide__success {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 1.7rem;
    border-radius: 1.2rem;
    background-color: color-mix(in srgb, var(--color-surface) 50%, var(--color-background));
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2.1rem;
  }

  .promo-code-guide__success-icon {
    display: flex;
    flex-shrink: 0;
    color: var(--color-accent);
  }

  .promo-code-guide__success-icon svg {
    width: 1.2rem;
    height: auto;
  }

  .promo-code-guide__totals {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-top: 1.9rem;
  }

  .promo-code-guide__row {
    display: flex;
    justify-content: space-between;
    gap: 1.6rem;
    color: #2e3f36;
    font-size: 1.5rem;
    line-height: 1.5rem;
  }

  .promo-code-guide__row--discount {
    color: #006d27;
    font-weight: 500;
  }

  .promo-code-guide__row--total {
    padding-top: 1.1rem;
    color: var(--color-foreground);
    font-size: 2rem;
    font-weight: 500;
    line-height: 2rem;
  }

  @media (max-width: 1024px) {
    .promo-code-guide__layout {
      grid-template-columns: minmax(0, 1fr);
      gap: 3.2rem;
    }
  }

  @media (max-width: 768px) {
    .promo-code-guide {
      padding-block: calc(var(--promo-code-guide-pt) * 0.6) calc(var(--promo-code-guide-pb) * 0.6);
    }

    .promo-code-guide__header .promo-code-guide__header__heading {
      font-size: 3.2rem;
      line-height: 1.16;
    }

    .promo-code-guide__lead {
      margin-bottom: 2.4rem;
      font-size: 1.5rem;
      line-height: 1.55;
    }

    .promo-code-guide__step {
      gap: 1.2rem;
      padding: 2rem;
    }

    .promo-code-guide__step-number {
      min-width: 3rem;
    }

    .promo-code-guide__cart {
      padding: 2rem;
    }
  }
/* END_SECTION:promo-code-guide */

/* START_SECTION:search (INDEX:60) */
.search-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
  .search-results .prev,
  .search-results .page,
  .search-results .next {
    grid-column: 1 / -1;
  }
/* END_SECTION:search */

/* START_SECTION:shipping-bar (INDEX:61) */
.shipping-bar {
    background-color: var(--sb-bg, var(--color-surface));
    height: var(--sb-height, 54px);
    display: flex;
    align-items: center;
    overflow: hidden;
    width: 100%;
  }

  .shipping-bar__viewport {
    width: 100%;
    overflow: hidden;
  }

  .shipping-bar__inner {
    display: flex;
    align-items: center;
    gap: var(--sb-gap, 48px);
    width: max-content;
  }

  .shipping-bar__inner.is-ready {
    animation: shipping-bar-scroll var(--sb-speed, 20s) linear infinite;
    animation-direction: var(--sb-direction, normal);
  }

  .shipping-bar__set {
    display: flex;
    align-items: center;
    gap: var(--sb-gap, 48px);
    flex-shrink: 0;
  }

  .shipping-bar__item {
    display: flex;
    align-items: center;
    gap: 16px;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .shipping-bar__item-icon {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    line-height: 0;
  }

  .shipping-bar__item-text {
    color: var(--color-foreground);
    font-size: 14px;
    line-height: 1.67;
  }

  @keyframes shipping-bar-scroll {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(var(--sb-translate, -50%));
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .shipping-bar__inner.is-ready {
      animation: none;
    }
  }
/* END_SECTION:shipping-bar */

/* START_SECTION:split-cta (INDEX:62) */
.split-cta {
    width: 100%;
    --split-cta-bg: var(--color-background);
    padding-block: var(--split-cta-pt) var(--split-cta-pb);
    background-color: var(--split-cta-bg);
    color: var(--color-foreground);
  }

  .split-cta--bg-surface {
    --split-cta-bg: var(--color-surface);
  }

  .split-cta__inner {
    width: min(121.8rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .split-cta .split-cta__header {
    margin-bottom: 0.92rem;
  }

  /* critical.css centres every section-title wrapper; this heading sits left under its eyebrow. */
  .split-cta .split-cta__header__title-wrapper {
    justify-content: flex-start;
  }

  .split-cta .split-cta__header__subheading {
    margin-bottom: 0.8rem;
  }

  .split-cta .split-cta__header__heading {
    max-width: none;
    margin: 0;
    font-size: 3.6rem;
    line-height: 4.4rem;
    letter-spacing: -0.03em;
  }

  .split-cta__lead {
    max-width: 80rem;
    margin: 0;
    font-size: 1.6rem;
    line-height: 2.56rem;
  }

  .split-cta__header + .split-cta__panel,
  .split-cta__lead + .split-cta__panel {
    margin-top: 2.8rem;
  }

  .split-cta__panel {
    display: flex;
    align-items: center;
    gap: 4.4rem;
    padding: 3.4rem 3.6rem;
    border-radius: 1.8rem;
    background-color: var(--color-foreground);
    color: var(--color-surface);
  }

  .split-cta__content {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    gap: 1.4rem;
    min-width: 0;
  }

  .split-cta__eyebrow {
    margin: 0;
    color: color-mix(in srgb, var(--color-accent) 60%, var(--color-surface));
    font-size: 1.6rem;
    line-height: normal;
  }

  .split-cta .split-cta__heading {
    max-width: 50rem;
    margin: 0;
    color: var(--color-surface);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 3.4rem;
    letter-spacing: -0.02em;
  }

  .split-cta__text {
    margin: 0;
    color: color-mix(in srgb, var(--color-surface) 78%, transparent);
    font-size: 1.6rem;
    line-height: 2.56rem;
  }

  .split-cta__aside {
    display: flex;
    flex: 0 0 34rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.4rem;
  }

  .split-cta__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .split-cta__chip {
    padding: 0.88rem 1.38rem;
    border-radius: 999px;
    background-color: color-mix(in srgb, var(--color-background) 10%, transparent);
    color: var(--color-background);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.2rem;
  }

  @media (max-width: 989px) {
    .split-cta__panel {
      flex-direction: column;
      align-items: stretch;
      gap: 2.8rem;
    }

    .split-cta__aside {
      flex-basis: auto;
    }
  }

  @media (max-width: 768px) {
    .split-cta {
      padding-block: calc(var(--split-cta-pt) * 0.75) calc(var(--split-cta-pb) * 0.75);
    }

    .split-cta .split-cta__header__heading {
      font-size: 2.8rem;
      line-height: 3.4rem;
    }

    .split-cta__panel {
      padding: 2.8rem 2.4rem;
    }

    .split-cta .split-cta__heading {
      font-size: 2.4rem;
      line-height: 3rem;
    }
  }
/* END_SECTION:split-cta */

/* START_SECTION:stats-band (INDEX:63) */
.stats-band {
    width: 100%;
    --stats-band-bg: var(--color-surface);
    --stats-band-text-color: var(--color-foreground);
    --stats-band-eyebrow-color: var(--color-accent);
    padding-block: var(--stats-band-pt) var(--stats-band-pb);
    background-color: var(--stats-band-bg);
    color: var(--stats-band-text-color);
  }

  .stats-band--bg-white {
    --stats-band-bg: var(--color-background);
  }

  .stats-band--bg-foreground {
    --stats-band-bg: var(--color-foreground);
    --stats-band-text-color: var(--color-background);
    --stats-band-eyebrow-color: var(--color-surface);
  }

  .stats-band__inner {
    width: min(121.6rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .stats-band__header {
    margin-bottom: 4rem;
  }

  .stats-band__header .stats-band__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--stats-band-eyebrow-color);
  }

  .stats-band__header .stats-band__header__heading {
    max-width: 80rem;
    margin: 0 auto;
    color: var(--stats-band-text-color);
    font-size: 3.6rem;
    line-height: 1.3;
    letter-spacing: -0.027em;
  }

  .stats-band__list {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: 3.2rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .stats-band__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    text-align: center;
  }

  .stats-band__value {
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 4rem;
    line-height: 5.2rem;
    letter-spacing: -0.027em;
  }

  .stats-band__label {
    max-width: 24rem;
    font-size: 1.6rem;
    line-height: 2.3rem;
  }

  /* Card container: the band becomes a rounded card inside the page width, with green values. */
  .stats-band.stats-band--card {
    background-color: var(--color-background);
  }

  .stats-band--card .stats-band__inner {
    width: min(121.6rem, calc(100% - var(--page-margin) * 2));
    padding: 6.4rem clamp(2.4rem, 6vw, 9.6rem) 6.9rem;
    border-radius: 1.6rem;
    background-color: var(--stats-band-bg);
  }

  .stats-band--card .stats-band__header .stats-band__header__heading {
    font-size: 3.2rem;
    line-height: 1.212;
  }

  .stats-band--card .stats-band__value {
    color: var(--color-accent);
  }

  @media (max-width: 768px) {
    .stats-band {
      padding-block: calc(var(--stats-band-pt) * 0.6) calc(var(--stats-band-pb) * 0.6);
    }

    .stats-band__header .stats-band__header__heading {
      font-size: 2.7rem;
    }

    .stats-band--card .stats-band__inner {
      padding: 4rem 2.2rem;
      border-radius: 1.4rem;
    }

    .stats-band--card .stats-band__header .stats-band__header__heading {
      font-size: 2.7rem;
    }

    .stats-band__list {
      grid-auto-flow: row;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: 2rem;
      row-gap: 2.8rem;
    }

    .stats-band__item {
      gap: 0.8rem;
    }

    .stats-band__value {
      font-size: 3.2rem;
      line-height: 1;
    }

    .stats-band__label {
      font-size: 1.3rem;
      line-height: 1.4;
    }
  }
/* END_SECTION:stats-band */

/* START_SECTION:steps (INDEX:64) */
.steps {
    width: 100%;
    --steps-bg: var(--color-background);
    padding-block: var(--steps-pt) var(--steps-pb);
    background-color: var(--steps-bg);
    color: var(--color-foreground);
  }

  .steps--bg-surface {
    --steps-bg: var(--color-surface);
  }

  .steps__inner {
    width: min(120rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .steps__header {
    margin-bottom: 4.8rem;
  }

  .steps__header .steps__header__subheading {
    margin-bottom: 1.6rem;
  }

  .steps__header .steps__header__heading {
    max-width: 72rem;
    margin: 0 auto;
    font-size: 3.6rem;
    line-height: 1.212;
    letter-spacing: -0.027em;
  }

  .steps__header:has(+ .steps__lead) {
    margin-bottom: 2rem;
  }

  .steps__lead {
    max-width: 77.8rem;
    margin: 0 auto 4.8rem;
    font-size: 1.8rem;
    line-height: 2.8rem;
    text-align: center;
  }

  .steps__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
    gap: 3rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .steps__card {
    display: flex;
    flex-direction: column;
    min-height: 45.4rem;
    overflow: hidden;
    border: 1px solid #dcdcdc;
    border-radius: 1.6rem;
    background-color: var(--color-background);
  }

  .steps__timeframe {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 4.2rem;
    padding: 0.8rem 1.6rem;
    background-color: var(--color-surface);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.2rem;
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
  }

  .steps__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 3.3rem 2.4rem 3.3rem 3.3rem;
  }

  .steps__number {
    margin-bottom: 1.6rem;
    color: var(--color-accent);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 4rem;
    line-height: 1.2;
  }

  .steps__title {
    margin-bottom: 1.6rem;
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.6rem;
  }

  .steps__text {
    font-size: 1.5rem;
    line-height: 2.3rem;
  }

  .steps__text p + p {
    margin-top: 1.2rem;
  }

  .steps__bullets {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    margin: 2.8rem 0 0;
    padding: 0;
    list-style: none;
  }

  .steps__bullet {
    display: flex;
    align-items: flex-start;
    gap: 1.3rem;
    font-size: 1.3rem;
    line-height: 1.9rem;
  }

  .steps__bullet-icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    height: 1.9rem;
    color: var(--color-accent);
  }

  .steps__bullet-icon svg {
    width: 1.3rem;
    height: auto;
  }

  .steps--compact .steps__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
  }

  .steps--compact .steps__card {
    min-height: 34.5rem;
  }

  .steps--compact .steps__content {
    padding: 4rem 2.4rem;
  }

  .steps--compact .steps__number {
    margin-bottom: 1.2rem;
    line-height: 4.9rem;
  }

  .steps--compact .steps__title {
    margin-bottom: 1.2rem;
  }

  @media (max-width: 1024px) {
    .steps--compact .steps__list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 768px) {
    .steps {
      padding-block: calc(var(--steps-pt) * 0.6) calc(var(--steps-pb) * 0.6);
    }

    .steps__header {
      margin-bottom: 3.2rem;
    }

    .steps__header .steps__header__subheading {
      margin-bottom: 1.2rem;
      font-size: 1.4rem;
      line-height: 1.25;
    }

    .steps__header .steps__header__heading {
      font-size: 3.2rem;
      line-height: 1.16;
    }

    .steps__header:has(+ .steps__lead) {
      margin-bottom: 1.2rem;
    }

    .steps__lead {
      margin-bottom: 3.2rem;
      font-size: 1.6rem;
      line-height: 1.45;
    }

    .steps__list,
    .steps--compact .steps__list {
      grid-template-columns: minmax(0, 1fr);
      gap: 1.6rem;
    }

    .steps__card,
    .steps--compact .steps__card {
      min-height: 0;
      border-radius: 1.4rem;
    }

    .steps__content,
    .steps--compact .steps__content {
      padding: 2.4rem;
    }

    .steps__number,
    .steps--compact .steps__number {
      margin-bottom: 1rem;
      font-size: 4.4rem;
      line-height: 1.2;
    }

    .steps__title,
    .steps--compact .steps__title {
      margin-bottom: 1rem;
      font-size: 2rem;
      line-height: 1.35;
    }

    .steps__text {
      font-size: 1.4rem;
      line-height: 1.57;
    }

    .steps__bullets {
      gap: 1rem;
      margin-top: 1.8rem;
    }

    .steps__bullet {
      gap: 1rem;
      font-size: 1.4rem;
      line-height: 2rem;
    }

    .steps__bullet-icon {
      height: 2rem;
    }
  }
  .steps__actions {
    display: flex;
    justify-content: center;
    margin-top: 4rem;
  }

  .steps .steps__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.6rem 3.2rem;
    border-radius: 9999px;
    background-color: var(--color-accent);
    color: #fff;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: normal;
    text-decoration: none;
  }

  .steps .steps__button:hover {
    opacity: 0.88;
  }
/* END_SECTION:steps */

/* START_SECTION:tabbed-cards (INDEX:66) */
.tabbed-cards {
    display: block;
    width: 100%;
    --tabbed-cards-bg: var(--color-foreground);
    --tabbed-cards-text-color: var(--color-background);
    --tabbed-cards-eyebrow-color: var(--color-accent);
    --tabbed-cards-tab-border: color-mix(in srgb, var(--color-background) 40%, transparent);
    padding-block: var(--tabbed-cards-pt) var(--tabbed-cards-pb);
    background-color: var(--tabbed-cards-bg);
    color: var(--tabbed-cards-text-color);
  }

  .tabbed-cards--bg-white {
    --tabbed-cards-bg: var(--color-background);
    --tabbed-cards-text-color: var(--color-foreground);
    --tabbed-cards-tab-border: color-mix(in srgb, var(--color-foreground) 30%, transparent);
  }

  .tabbed-cards--bg-surface {
    --tabbed-cards-bg: var(--color-surface);
    --tabbed-cards-text-color: var(--color-foreground);
    --tabbed-cards-tab-border: color-mix(in srgb, var(--color-foreground) 30%, transparent);
  }

  .tabbed-cards__inner {
    width: min(121.8rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .tabbed-cards__header {
    margin-bottom: 4rem;
  }

  .tabbed-cards__header .tabbed-cards__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--tabbed-cards-eyebrow-color);
  }

  .tabbed-cards__header .tabbed-cards__header__heading {
    max-width: 60rem;
    margin: 0;
    color: var(--tabbed-cards-text-color);
    font-size: 3.6rem;
    line-height: 1.212;
    letter-spacing: -0.027em;
  }

  .tabbed-cards__tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.2rem;
    margin-bottom: 3rem;
  }

  .tabbed-cards__tab {
    min-height: 4.4rem;
    padding: 0.9rem 3rem;
    border: 1px solid var(--tabbed-cards-tab-border);
    border-radius: 9999px;
    background: transparent;
    color: var(--tabbed-cards-text-color);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.2rem;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
  }

  .tabbed-cards__tab:hover {
    border-color: var(--tabbed-cards-text-color);
  }

  .tabbed-cards__tab[aria-selected='true'] {
    border-color: var(--color-accent);
    background-color: var(--color-accent);
    color: var(--color-background);
  }

  .tabbed-cards__tab:focus-visible,
  .tabbed-cards__panel:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
  }

  .tabbed-cards__card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34.7%;
    min-height: 42.2rem;
    overflow: hidden;
    border-radius: 1.6rem;
    background-color: var(--color-background);
    color: var(--color-foreground);
  }

  .tabbed-cards__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 4.8rem 4.8rem 4.8rem 5.5rem;
  }

  .tabbed-cards__eyebrow {
    margin-bottom: 1.2rem;
    color: var(--color-accent);
    font-size: 1.6rem;
    line-height: 2.2rem;
  }

  .tabbed-cards__title {
    max-width: 44rem;
    margin-bottom: 1.6rem;
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 3.2rem;
  }

  .tabbed-cards__text {
    max-width: 44rem;
    font-size: 1.6rem;
    line-height: 2.6rem;
  }

  .tabbed-cards__text p + p {
    margin-top: 1.2rem;
  }

  .tabbed-cards__actions {
    margin-top: 3.2rem;
  }

  .tabbed-cards__actions:empty {
    display: none;
  }

  .tabbed-cards__media {
    position: relative;
    min-height: 0;
    background-color: color-mix(in srgb, var(--color-foreground) 8%, var(--color-surface));
  }

  .tabbed-cards__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .tabbed-cards__placeholder {
    fill: color-mix(in srgb, var(--color-foreground) 30%, transparent);
  }

  @media (max-width: 768px) {
    .tabbed-cards {
      padding-block: calc(var(--tabbed-cards-pt) * 0.6) calc(var(--tabbed-cards-pb) * 0.6);
    }

    .tabbed-cards__header {
      margin-bottom: 2.8rem;
    }

    .tabbed-cards__header .tabbed-cards__header__subheading {
      margin-bottom: 0.8rem;
      font-size: 1.4rem;
      line-height: 1.25;
    }

    .tabbed-cards__header .tabbed-cards__header__heading {
      font-size: 3.2rem;
      line-height: 1.06;
    }

    .tabbed-cards__tabs {
      flex-direction: column;
      gap: 1.2rem;
      margin-bottom: 2.4rem;
    }

    .tabbed-cards__tab {
      width: 100%;
      min-height: 4.4rem;
      font-size: 1.4rem;
    }

    .tabbed-cards__card {
      grid-template-columns: minmax(0, 1fr);
      min-height: 0;
    }

    .tabbed-cards__media {
      order: -1;
      aspect-ratio: 358 / 300;
    }

    .tabbed-cards__copy {
      padding: 2.4rem;
    }

    .tabbed-cards__title {
      margin-bottom: 1.2rem;
    }

    .tabbed-cards__text {
      font-size: 1.5rem;
      line-height: 1.6;
    }

    .tabbed-cards__actions {
      align-self: stretch;
      margin-top: 2.4rem;
    }

    .tabbed-cards__actions .pill-button {
      width: 100%;
    }
  }
/* END_SECTION:tabbed-cards */

/* START_SECTION:video-feature (INDEX:67) */
.video-feature {
    width: 100%;
    --video-feature-bg: var(--color-background);
    --video-feature-eyebrow-color: var(--color-accent);
    padding-block: var(--video-feature-pt) var(--video-feature-pb);
    background-color: var(--video-feature-bg);
    color: var(--color-foreground);
  }

  .video-feature--bg-surface {
    --video-feature-bg: var(--color-surface);
  }

  .video-feature__inner {
    width: min(120rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
  }

  .video-feature__header .video-feature__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--video-feature-eyebrow-color);
  }

  .video-feature__header .video-feature__header__heading {
    max-width: 51.2rem;
    margin: 0 auto;
    color: var(--color-foreground);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 3.6rem;
    font-weight: 400;
    line-height: 1.212;
  }

  .video-feature__lead {
    max-width: 77.8rem;
    margin: 2rem auto 0;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.8rem;
    line-height: 2.8rem;
    text-align: center;
  }

  .video-feature__card {
    position: relative;
    display: block;
    width: 100%;
    margin-top: 3.2rem;
    aspect-ratio: 1200 / 531;
    border-radius: 1.6rem;
    overflow: hidden;
    background-color: var(--color-surface);
  }

  .video-feature--bg-surface .video-feature__card {
    background-color: var(--color-background);
  }

  .video-feature__poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .video-feature__play {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8.4rem;
    height: 8.4rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: var(--color-foreground);
    color: var(--color-background);
    transform: translate(-50%, -50%);
    transition: transform 0.2s ease;
  }

  button.video-feature__play {
    cursor: pointer;
  }

  button.video-feature__play:hover,
  button.video-feature__play:focus-visible {
    transform: translate(-50%, -50%) scale(1.06);
  }

  button.video-feature__play:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
  }

  .video-feature__play svg {
    width: 3.4rem;
    height: 3.4rem;
  }

  .video-feature__player {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
    background-color: #000;
  }

  .video-feature__actions {
    display: flex;
    justify-content: center;
    margin-top: 4.8rem;
  }

  @media (prefers-reduced-motion: reduce) {
    .video-feature__play {
      transition: none;
    }
  }

  @media (max-width: 768px) {
    .video-feature {
      padding-block: calc(var(--video-feature-pt) * 0.6) calc(var(--video-feature-pb) * 0.6);
    }

    .video-feature__header .video-feature__header__subheading {
      margin-bottom: 1.2rem;
      font-size: 1.4rem;
      line-height: 1.25;
    }

    .video-feature__header .video-feature__header__heading {
      font-size: 2.8rem;
    }

    .video-feature__lead {
      font-size: 1.6rem;
      line-height: 1.45;
    }

    .video-feature__card {
      aspect-ratio: 4 / 3;
    }

    .video-feature__play {
      width: 6.4rem;
      height: 6.4rem;
    }

    .video-feature__play svg {
      width: 2.6rem;
      height: 2.6rem;
    }

    .video-feature__actions {
      margin-top: 3.2rem;
    }
  }
/* END_SECTION:video-feature */

/* START_SECTION:where-to-buy-online (INDEX:68) */
.where-to-buy-online-band--bg-surface {
    background-color: var(--color-surface);
  }

  .where-to-buy-online {
    width: min(134rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
    padding-block: 4rem;
    color: var(--color-foreground);
  }

  .where-to-buy-online__header .where-to-buy-online__header__heading {
    max-width: none;
    margin: 0 0 1.6rem;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.25;
  }

  .where-to-buy-online__text {
    margin-bottom: 1.6rem;
    font-size: 1.6rem;
    line-height: 2.6rem;
  }

  .where-to-buy-online__carousel {
    display: block;
  }

  .where-to-buy-online__grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 1.6rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .where-to-buy-online__tile {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 8.2rem;
    padding: 0 2.2rem;
    box-sizing: border-box;
    border: 1px solid #dcdcdc;
    border-radius: 0.8rem;
    background-color: var(--color-background);
    transition: border-color 0.2s ease;
  }

  .where-to-buy-online__tile:hover,
  .where-to-buy-online__tile:focus-visible {
    border-color: var(--color-accent);
  }

  .where-to-buy-online__tile img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  .where-to-buy-online__dots {
    display: none;
  }

  /* Centered row layout: static, wrapping row of logo tiles. */
  .where-to-buy-online-band--row {
    padding-block: var(--where-to-buy-online-pt) var(--where-to-buy-online-pb);
  }

  .where-to-buy-online--row {
    padding-block: 0;
    text-align: center;
  }

  .where-to-buy-online--row .where-to-buy-online__header {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .where-to-buy-online--row .where-to-buy-online__header .where-to-buy-online__header__subheading {
    margin-bottom: 1.6rem;
    color: var(--color-accent);
  }

  .where-to-buy-online--row .where-to-buy-online__header .where-to-buy-online__header__title-wrapper {
    justify-content: center;
  }

  .where-to-buy-online--row .where-to-buy-online__header .where-to-buy-online__header__heading {
    max-width: 56.4rem;
    margin: 0 auto;
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 3.6rem;
    font-weight: 400;
    line-height: 1.212;
    letter-spacing: -0.027em;
  }

  .where-to-buy-online--row .where-to-buy-online__text {
    max-width: 73.9rem;
    margin: 2.6rem auto 0;
  }

  .where-to-buy-online--row .where-to-buy-online__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.6rem;
    margin-top: 4.8rem;
  }

  .where-to-buy-online--row .where-to-buy-online__item {
    flex: 0 0 15.35rem;
  }

  .where-to-buy-online--row .where-to-buy-online__tile {
    width: 100%;
    padding: 0 2.2rem;
    border-color: #dedede;
  }

  .where-to-buy-online--row .where-to-buy-online__tile img {
    max-width: 10.8rem;
    max-height: 5.2rem;
  }

  @media (max-width: 989px) {
    .where-to-buy-online__grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  @media (max-width: 768px) {
    .where-to-buy-online {
      padding-block: 2.4rem;
    }

    .where-to-buy-online__header .where-to-buy-online__header__heading {
      margin-bottom: 1.2rem;
      font-size: 2.4rem;
    }

    .where-to-buy-online__grid {
      display: flex;
      gap: 1.2rem;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
    }

    .where-to-buy-online__grid::-webkit-scrollbar {
      display: none;
    }

    .where-to-buy-online__item {
      flex: 0 0 calc((100% - 2.4rem) / 3);
      scroll-snap-align: start;
    }

    .where-to-buy-online__tile {
      height: 6rem;
      padding: 0 1.6rem;
    }

    .where-to-buy-online__dots {
      display: flex;
      justify-content: center;
      gap: 0.6rem;
      margin-top: 1.4rem;
    }

    .where-to-buy-online__dots:empty {
      display: none;
    }

    .where-to-buy-online-band--row {
      padding-block: calc(var(--where-to-buy-online-pt) * 0.6) calc(var(--where-to-buy-online-pb) * 0.6);
    }

    .where-to-buy-online--row {
      padding-block: 0;
    }

    .where-to-buy-online--row .where-to-buy-online__header .where-to-buy-online__header__heading {
      margin-bottom: 0;
      font-size: 2.8rem;
    }

    .where-to-buy-online--row .where-to-buy-online__text {
      margin-top: 1.6rem;
    }

    .where-to-buy-online--row .where-to-buy-online__grid {
      flex-wrap: wrap;
      gap: 1.6rem;
      margin-top: 3.2rem;
      overflow: visible;
    }

    .where-to-buy-online--row .where-to-buy-online__item {
      flex: 0 0 calc(50% - 0.8rem);
    }

    .where-to-buy-online--row .where-to-buy-online__tile {
      height: 8.2rem;
      padding: 0 1.6rem;
    }

    .where-to-buy-online__dot {
      width: 0.6rem;
      height: 0.6rem;
      padding: 0;
      border: 0;
      border-radius: 50%;
      background-color: #cfd8d2;
    }

    .where-to-buy-online__dot--active {
      background-color: var(--color-accent);
    }
  }
/* END_SECTION:where-to-buy-online */

/* START_SECTION:where-to-buy-split (INDEX:69) */
.where-to-buy-split {
    width: min(134rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
    padding-block: 6rem 4rem;
    color: var(--color-foreground);
  }

  .where-to-buy-split__header .where-to-buy-split__header__subheading {
    margin-bottom: 1.6rem;
    font-size: 1.6rem;
    line-height: 1.3;
    text-align: center;
  }

  .where-to-buy-split__header .where-to-buy-split__header__heading {
    max-width: none;
    margin: 0 0 4.8rem;
    font-size: 4.8rem;
    line-height: 1.1;
    letter-spacing: -0.027em;
  }

  .where-to-buy-split__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .where-to-buy-split__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 5.6rem;
    border: 1px solid #dcdcdc;
    border-radius: 1.6rem;
    background-color: var(--color-background);
  }

  .where-to-buy-split__number {
    margin: 0 0 2rem;
    color: var(--color-accent);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 6.4rem;
    line-height: 1;
  }

  .where-to-buy-split__card-heading {
    margin: 0 0 1.6rem;
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.3;
  }

  .where-to-buy-split__card-description {
    margin: 0 0 3rem;
    font-size: 1.6rem;
    line-height: 2.2rem;
  }

  .where-to-buy-split__card .where-to-buy-split__button {
    margin-top: auto;
  }

  @media (max-width: 989px) {
    .where-to-buy-split__cards {
      grid-template-columns: minmax(0, 1fr);
      gap: 1.6rem;
    }
  }

  @media (max-width: 768px) {
    .where-to-buy-split {
      padding-block: 3.2rem 2.4rem;
    }

    .where-to-buy-split__header {
      text-align: center;
    }

    .where-to-buy-split__header .where-to-buy-split__header__subheading {
      margin-bottom: 1.2rem;
      font-size: 1.4rem;
      text-align: center;
    }

    .where-to-buy-split__header .where-to-buy-split__header__heading {
      margin: 0 auto 3.2rem;
      max-width: 28rem;
      font-size: 3.2rem;
      line-height: 1.16;
      text-align: center;
    }

    .where-to-buy-split__card {
      padding: 2.8rem;
    }

    .where-to-buy-split__number {
      margin-bottom: 1.6rem;
      font-size: 4.4rem;
    }

    .where-to-buy-split__card-heading {
      font-size: 2.6rem;
      line-height: 1.2;
    }
  }
/* END_SECTION:where-to-buy-split */

/* CSS from block stylesheet tags */
/* START_BLOCK:group (INDEX:70) */
.group {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    width: 100%;
  }

  .group--horizontal {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 var(--padding);
  }

  .group--vertical {
    flex-direction: column;
    align-items: var(--alignment);
    padding: var(--padding) 0;
  }
/* END_BLOCK:group */

/* START_BLOCK:text (INDEX:71) */
.text {
    text-align: var(--text-align);
  }
  .text--title {
    font-size: 2rem;
    font-weight: 700;
  }
  .text--subtitle {
    font-size: 1.5rem;
  }
/* END_BLOCK:text */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:article-protocol-body (INDEX:76) */
.article-protocol {
    --article-protocol-muted: #5f6e64;
    --article-protocol-border: #e2e8e3;
    display: grid;
    grid-template-columns: 28rem minmax(0, 88rem);
    justify-content: space-between;
    align-items: start;
    gap: 4rem;
    width: min(120rem, calc(100% - var(--page-margin) * 2));
    margin-inline: auto;
    padding-block: var(--article-protocol-pt) var(--article-protocol-pb);
    color: var(--color-foreground);
  }

  .article-protocol p {
    margin: 0;
  }

  .article-protocol__sidebar {
    position: sticky;
    top: 2.4rem;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }

  .article-protocol__toc {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    padding: 2.3rem;
    border: 1px solid var(--article-protocol-border);
    border-radius: 1.6rem;
    background-color: var(--color-background);
  }

  .article-protocol__toc-label {
    color: var(--article-protocol-muted);
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.2rem;
    letter-spacing: 0.144rem;
    text-transform: uppercase;
  }

  .article-protocol__toc-list {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .article-protocol .article-protocol__toc-link {
    display: block;
    padding: 0.9rem 1.2rem;
    border-radius: 0.9rem;
    color: var(--color-foreground);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.96rem;
  }

  .article-protocol .article-protocol__toc-link:hover,
  .article-protocol .article-protocol__toc-link.is-active {
    background-color: var(--color-surface);
  }

  .article-protocol__tool {
    padding: 2.1rem 2.2rem 2.2rem;
    border-radius: 1.6rem;
    background-color: var(--color-foreground);
    color: var(--color-surface);
  }

  .article-protocol__tool-title {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.95rem;
  }

  .article-protocol__tool-text {
    margin-top: 1.2rem !important;
    font-size: 1.3rem;
    line-height: 1.95rem;
  }

  .article-protocol .article-protocol__tool-link {
    display: inline-block;
    margin-top: 1.2rem;
    color: #45b673;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.3rem;
  }

  .article-protocol .article-protocol__tool-link:hover {
    text-decoration: underline;
  }

  .article-protocol__main {
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
    min-width: 0;
  }

  .article-protocol__part {
    scroll-margin-top: 2.4rem;
  }

  .article-protocol__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .article-protocol__badges {
    margin-bottom: -2.4rem;
  }

  .article-protocol__chip {
    padding: 0.8rem 1.4rem;
    border-radius: 5rem;
    background-color: var(--color-surface);
    font-size: 1.1rem;
    font-weight: 500;
    line-height: normal;
    text-transform: uppercase;
  }

  .article-protocol__content {
    font-size: 1.6rem;
    line-height: 2.56rem;
  }

  .article-protocol__content--large {
    font-size: 1.8rem;
    line-height: 3.2rem;
  }

  .article-protocol .article-protocol__content > * {
    margin-block: 0;
  }

  .article-protocol .article-protocol__content > * + * {
    margin-top: 2rem;
  }

  .article-protocol .article-protocol__content > * + :is(h2, h3) {
    margin-top: 4.8rem;
  }

  .article-protocol .article-protocol__content :is(h2, h3) {
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 3.36rem;
    letter-spacing: -0.056rem;
  }

  .article-protocol__content img {
    max-width: 100%;
    height: auto;
    border-radius: 1.6rem;
  }

  @media (max-width: 768px) {
    .article-protocol__content--large {
      font-size: 1.6rem;
      line-height: 2.6rem;
    }

    .article-protocol .article-protocol__content > * + :is(h2, h3) {
      margin-top: 3.2rem;
    }

    .article-protocol .article-protocol__content :is(h2, h3) {
      font-size: 2rem;
      line-height: 2.8rem;
    }

    .article-protocol__author {
      padding: 2rem;
    }

    .article-protocol__author-header {
      gap: 1.6rem;
    }

    .article-protocol__author-photo {
      width: 6.4rem;
      height: 6.4rem;
    }
  }

  .article-protocol__author {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    padding: 3rem;
    border-radius: 1.6rem;
    background-color: var(--color-surface);
  }

  .article-protocol__author-header {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
  }

  .article-protocol__author-photo {
    flex: none;
    width: 8.5rem;
    height: 8.5rem;
    overflow: hidden;
    border-radius: 50%;
  }

  .article-protocol__author-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .article-protocol__author-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
  }

  .article-protocol .article-protocol__author-name {
    margin: 0;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.4rem;
  }

  .article-protocol__author-qualification {
    margin: 0;
    color: var(--color-accent);
    font-size: 1.4rem;
    line-height: 2.4rem;
  }

  .article-protocol .article-protocol__author-linkedin {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: 0.4rem;
    color: var(--color-foreground);
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.6rem;
    text-decoration: none;
  }

  .article-protocol .article-protocol__author-linkedin:hover {
    text-decoration: underline;
  }

  .article-protocol__author-bio {
    margin: 0;
    font-size: 1.6rem;
    line-height: 2.8rem;
  }

  .article-protocol__eyebrow {
    color: var(--color-accent);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1rem;
    letter-spacing: 0.1rem;
    text-transform: uppercase;
  }

  .article-protocol__eyebrow--wide {
    line-height: 1.1rem;
    letter-spacing: 0.11rem;
  }

  .article-protocol .article-protocol__card-title,
  .article-protocol .article-protocol__part-title {
    margin: 0;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-weight: 500;
  }

  .article-protocol .article-protocol__card-title {
    font-size: 2.4rem;
    line-height: 2.75rem;
  }

  .article-protocol .article-protocol__part-title {
    font-size: 2.8rem;
    line-height: 3.36rem;
    letter-spacing: -0.056rem;
  }

  .article-protocol .article-protocol__item-title {
    margin: 0;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.08rem;
  }

  .article-protocol__part-header {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    margin-bottom: 2rem;
  }

  .article-protocol__part-intro {
    font-size: 1.6rem;
    line-height: 2.56rem;
  }

  /* Buttons */
  .article-protocol .article-protocol__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem 2.6rem;
    border: 2px solid transparent;
    border-radius: 5rem;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.6rem;
    letter-spacing: 0.008rem;
    white-space: nowrap;
    cursor: pointer;
  }

  .article-protocol .article-protocol__button:hover {
    opacity: 0.85;
  }

  .article-protocol .article-protocol__button:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
  }

  .article-protocol .article-protocol__button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
  }

  .article-protocol .article-protocol__button--primary {
    background-color: var(--color-accent);
    color: var(--color-background);
    box-shadow: 0 1rem 1.2rem rgba(0, 160, 56, 0.24);
  }

  .article-protocol .article-protocol__button--light {
    background-color: var(--color-surface);
    color: var(--color-foreground);
  }

  .article-protocol .article-protocol__button--small {
    padding: 1.1rem 1.8rem;
    font-size: 1.4rem;
    line-height: 1.4rem;
    letter-spacing: 0.007rem;
  }

  /* What you need */
  .article-protocol__kit {
    border: 1px solid var(--article-protocol-border);
    border-radius: 1.8rem;
    background-color: var(--color-background);
    overflow: hidden;
  }

  .article-protocol__kit-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2.4rem;
    padding: 2.6rem 2.8rem 2.7rem;
    border-bottom: 1px solid var(--article-protocol-border);
  }

  .article-protocol__kit-intro {
    margin-top: 0.6rem !important;
    color: var(--article-protocol-muted);
    font-size: 1.4rem;
    line-height: 2.17rem;
  }

  .article-protocol__kit-total {
    display: flex;
    flex: none;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.6rem;
  }

  .article-protocol__kit-total-price {
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 2.4rem;
    letter-spacing: -0.048rem;
  }

  .article-protocol__kit-total-label {
    color: var(--article-protocol-muted);
    font-size: 1.3rem;
    line-height: 1.3rem;
  }

  .article-protocol__kit-list {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .article-protocol__kit-item {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 2rem 2.8rem 2.1rem;
    border-bottom: 1px solid var(--article-protocol-border);
  }

  .article-protocol__kit-item:last-child {
    border-bottom: 0;
  }

  .article-protocol .article-protocol__kit-media {
    display: block;
    flex: none;
    width: 8.6rem;
    height: 8.6rem;
  }

  .article-protocol__kit-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .article-protocol__kit-info {
    flex: 1 1 auto;
    min-width: 0;
  }

  .article-protocol .article-protocol__kit-name {
    display: block;
    margin-top: 0.4rem;
    color: var(--color-foreground);
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.08rem;
  }

  .article-protocol .article-protocol__kit-name:hover {
    text-decoration: underline;
  }

  .article-protocol__kit-purpose {
    margin-top: 0.3rem !important;
    font-size: 1.3rem;
    line-height: 1.95rem;
  }

  .article-protocol__kit-usage {
    margin-top: 0.4rem !important;
    color: var(--article-protocol-muted);
    font-size: 1.2rem;
    line-height: 1.68rem;
  }

  .article-protocol__kit-buy {
    display: flex;
    flex: none;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.8rem;
    padding-left: 3.4rem;
  }

  .article-protocol__kit-buy form,
  .article-protocol__bundle-form {
    margin: 0;
  }

  .article-protocol__kit-price {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.6rem;
  }

  .article-protocol__kit-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.4rem;
    padding: 2.2rem 2.8rem;
    border-top: 1px solid var(--article-protocol-border);
    background-color: var(--color-surface);
  }

  .article-protocol__kit-note {
    max-width: 52rem;
    font-size: 1.4rem;
    line-height: 2.1rem;
  }

  .article-protocol__kit-footer .article-protocol__bundle-form {
    margin-left: auto;
  }

  /* Steps */
  .article-protocol__steps {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .article-protocol__step {
    display: flex;
    align-items: flex-start;
    gap: 2.6rem;
    padding: 2.6rem;
    border: 1px solid var(--article-protocol-border);
    border-radius: 1.6rem;
    background-color: var(--color-background);
  }

  .article-protocol__step-content {
    display: flex;
    flex: 0 1 54rem;
    flex-direction: column;
    gap: 1.6rem;
    min-width: 0;
  }

  .article-protocol__step--text .article-protocol__step-content {
    flex-basis: 100%;
  }

  .article-protocol .article-protocol__step-title {
    display: flex;
    align-items: baseline;
    gap: 1.2rem;
    margin: 0;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.5rem;
  }

  .article-protocol__step-number {
    flex: none;
    color: var(--color-accent);
    font-family: 'Loubag', 'Loubag Fallback', sans-serif;
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 2.79rem;
  }

  .article-protocol__step-body {
    font-size: 1.5rem;
    line-height: 2.475rem;
  }

  .article-protocol__step-body p + p {
    margin-top: 1rem;
  }

  .article-protocol__step-body ul,
  .article-protocol__step-body ol {
    margin: 0.8rem 0 0;
    padding-left: 2rem;
  }

  .article-protocol__step-media {
    flex: none;
    width: 26rem;
    height: 20.4rem;
    margin-left: auto;
    border-radius: 1.6rem;
    overflow: hidden;
  }

  .article-protocol__step-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Reference table */
  .article-protocol__table-card {
    border: 1px solid var(--article-protocol-border);
    border-radius: 1.6rem;
    background-color: var(--color-background);
    overflow: hidden;
  }

  .article-protocol__table-header {
    display: flex;
    flex-direction: column;
    gap: 0.53rem;
    padding: 2.6rem 2.8rem 2.7rem;
    border-bottom: 1px solid var(--article-protocol-border);
  }

  .article-protocol__table-intro {
    color: var(--article-protocol-muted);
    font-size: 1.4rem;
    line-height: 2.17rem;
  }

  .article-protocol__table-scroll {
    overflow-x: auto;
  }

  .article-protocol__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.4rem;
    line-height: 1.96rem;
  }

  .article-protocol__table th,
  .article-protocol__table td {
    padding: 1.6rem 2.8rem;
    border-bottom: 1px solid var(--article-protocol-border);
    text-align: left;
    vertical-align: top;
  }

  .article-protocol__table th:first-child {
    width: 37.5%;
  }

  .article-protocol__table tbody th {
    font-weight: 500;
  }

  .article-protocol__table td {
    font-weight: 400;
  }

  .article-protocol__table thead th {
    padding-block: 1.4rem;
    background-color: var(--color-surface);
    color: var(--color-accent);
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.56rem;
    letter-spacing: 0.072rem;
    text-transform: uppercase;
  }

  .article-protocol__table tbody tr:last-child :is(th, td) {
    border-bottom: 0;
  }

  .article-protocol__table-footnote {
    padding: 1.76rem 2.8rem;
    border-top: 1px solid var(--article-protocol-border);
    background-color: #fafbf8;
    color: var(--article-protocol-muted);
    font-size: 1.4rem;
    line-height: 2.17rem;
  }

  /* Common mistakes */
  .article-protocol__mistakes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem;
    margin: 1.6rem 0 0;
    padding: 0;
    list-style: none;
  }

  .article-protocol__mistake {
    display: flex;
    align-items: flex-start;
    gap: 1.4rem;
    padding: 2.3rem;
    border: 1px solid var(--article-protocol-border);
    border-radius: 1.4rem;
    background-color: var(--color-background);
  }

  .article-protocol__mistake-icon {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 0.9rem;
    background-color: #fbeae7;
  }

  .article-protocol__mistake-text {
    margin-top: 0.53rem !important;
    font-size: 1.4rem;
    line-height: 2.17rem;
  }

  /* Frequency */
  .article-protocol__frequency {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 3.2rem 3.3rem 3.3rem;
    border-radius: 1.8rem;
    background-color: var(--color-surface);
  }

  .article-protocol__frequency-header {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
  }

  .article-protocol__frequency-intro {
    font-size: 1.5rem;
    line-height: 2.4rem;
  }

  .article-protocol__intervals {
    display: grid;
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    gap: 1.6rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .article-protocol__interval {
    padding: 2.1rem;
    border-radius: 1.4rem;
    background-color: var(--color-background);
  }

  .article-protocol__interval .article-protocol__item-title {
    margin-top: 0.6rem;
  }

  .article-protocol__interval-text {
    margin-top: 0.5rem !important;
    font-size: 1.3rem;
    line-height: 1.95rem;
  }

  .article-protocol__frequency-note {
    font-size: 1.4rem;
    line-height: 2.17rem;
  }

  /* Related */
  .article-protocol__related {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.6rem;
    margin: 1.6rem 0 0;
    padding: 0;
    list-style: none;
  }

  .article-protocol .article-protocol__related-card {
    display: flex;
    flex-direction: column;
    gap: 0.74rem;
    height: 100%;
    padding: 2.3rem;
    border: 1px solid var(--article-protocol-border);
    border-radius: 1.4rem;
    background-color: var(--color-background);
    color: var(--color-foreground);
  }

  .article-protocol .article-protocol__related-card:hover {
    border-color: var(--color-accent);
  }

  .article-protocol__related-title {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.08rem;
  }

  .article-protocol__related-meta {
    color: var(--article-protocol-muted);
    font-size: 1.2rem;
    line-height: 1.2rem;
  }

  /* Shop banner */
  .article-protocol__banner {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    align-items: center;
    gap: 3.2rem;
    margin-top: -0.4rem;
    padding: 3.6rem;
    border-radius: 1.8rem;
    background-color: var(--color-foreground);
    color: var(--color-surface);
  }

  .article-protocol__banner-copy {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .article-protocol__banner-eyebrow {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.2rem;
    letter-spacing: 0.168rem;
    text-transform: uppercase;
  }

  .article-protocol__banner-title {
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 3.12rem;
    letter-spacing: -0.026rem;
  }

  .article-protocol__banner-text {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .article-protocol__banner-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1.2rem;
  }

  .article-protocol__banner .article-protocol__button {
    padding: 1.7rem 3.3rem;
    border-width: 1px;
    line-height: 1.8rem;
    letter-spacing: 0.009rem;
  }

  .article-protocol__banner .article-protocol__button--primary {
    box-shadow: none;
  }

  @media (max-width: 1100px) {
    .article-protocol {
      grid-template-columns: 24rem minmax(0, 1fr);
      gap: 3.2rem;
    }

    .article-protocol__step-media {
      width: 20rem;
      height: 16rem;
    }
  }

  @media (max-width: 990px) {
    .article-protocol {
      grid-template-columns: minmax(0, 1fr);
    }

    .article-protocol__sidebar {
      position: static;
    }

    .article-protocol__intervals {
      grid-auto-flow: row;
      grid-template-columns: minmax(0, 1fr);
    }

    .article-protocol__related {
      grid-template-columns: minmax(0, 1fr);
    }

    .article-protocol__banner {
      grid-template-columns: minmax(0, 1fr);
    }

    .article-protocol__banner-actions {
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: flex-start;
    }
  }

  @media (max-width: 768px) {
    .article-protocol {
      padding-block: calc(var(--article-protocol-pt) * 0.6) calc(var(--article-protocol-pb) * 0.6);
    }

    .article-protocol__main {
      gap: 3.6rem;
    }

    .article-protocol__badges {
      margin-bottom: -1.2rem;
    }

    .article-protocol .article-protocol__part-title {
      font-size: 2.4rem;
      line-height: 2.9rem;
    }

    .article-protocol .article-protocol__card-title {
      font-size: 2.2rem;
    }

    .article-protocol__kit-header,
    .article-protocol__kit-footer {
      flex-direction: column;
      align-items: flex-start;
      padding-inline: 2rem;
    }

    .article-protocol__kit-total {
      align-items: flex-start;
    }

    .article-protocol__kit-footer .article-protocol__bundle-form {
      margin-left: 0;
    }

    .article-protocol__kit-item {
      flex-wrap: wrap;
      gap: 1.6rem;
      padding-inline: 2rem;
    }

    .article-protocol .article-protocol__kit-media {
      width: 7.2rem;
      height: 7.2rem;
    }

    .article-protocol__kit-info {
      flex-basis: calc(100% - 8.8rem);
    }

    .article-protocol__kit-buy {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      padding-left: 0;
    }

    .article-protocol__step {
      flex-direction: column;
      padding: 2rem;
    }

    .article-protocol__step-content {
      flex-basis: auto;
    }

    .article-protocol__step-media {
      order: -1;
      width: 100%;
      height: auto;
      margin-left: 0;
      aspect-ratio: 260 / 204;
    }

    .article-protocol__table th,
    .article-protocol__table td {
      padding-inline: 1.6rem;
    }

    .article-protocol__table-header,
    .article-protocol__table-footnote {
      padding-inline: 2rem;
    }

    .article-protocol__mistakes {
      grid-template-columns: minmax(0, 1fr);
    }

    .article-protocol__frequency {
      padding: 2.4rem 2rem;
    }

    .article-protocol__banner {
      padding: 2.8rem 2.4rem;
    }

    .article-protocol__banner-title {
      font-size: 2.4rem;
      line-height: 2.8rem;
    }
  }
/* END_SNIPPET:article-protocol-body */

/* START_SNIPPET:author-bio (INDEX:80) */
.author-bio {
    margin-top: 4rem;
    margin-bottom: 1rem;
    padding: 2.4rem;
    background-color: var(--color-surface);
    border-radius: 1.6rem;
    border: 1px solid rgba(14, 77, 43, 0.12);
    color: var(--color-foreground);
    font-family: "Grato Grotesk", "Grato Grotesk Fallback", sans-serif;
    font-size: 1.4rem;
    line-height: 1.5;
  }

  .author-bio__header {
    display: flex;
    align-items: flex-start;
    gap: 1.6rem;
  }

  .author-bio__photo {
    flex-shrink: 0;
    width: 8rem;
    height: 8rem;
  }

  .author-bio__photo img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    display: block;
  }

  .author-bio__identity {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    justify-content: center;
    padding-top: 0.4rem;
  }

  .author-bio__eyebrow {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: rgba(14, 77, 43, 0.55);
  }

  .author-bio__name {
    margin: 0;
    font-family: "Loubag", "Loubag Fallback", sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
  }

  .author-bio__job {
    margin: 0;
    font-size: 1.3rem;
    color: rgba(14, 77, 43, 0.65);
  }

  .author-bio__linkedin {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.6rem;
    font-size: 1.25rem;
    font-weight: 600;
    color: #0A66C2;
    text-decoration: none;
    transition: opacity 0.2s;
  }

  .author-bio__linkedin:hover {
    opacity: 0.75;
    text-decoration: underline;
  }

  .author-bio__linkedin svg {
    width: 1.6rem;
    height: 1.6rem;
    flex-shrink: 0;
  }

  .author-bio__description {
    margin: 1.6rem 0 0;
    font-size: 1.4rem;
    line-height: 1.6;
    padding-top: 1.6rem;
    border-top: 1px solid rgba(14, 77, 43, 0.12);
  }

  .author-bio__credentials {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    margin-top: 1.4rem;
    font-size: 1.3rem;
    font-weight: 500;
  }

  .author-bio__credentials svg {
    width: 1.8rem;
    height: 1.8rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
  }

  .author-bio__skills-label {
    margin: 1.4rem 0 0;
    font-size: 1.3rem;
    font-weight: 600;
  }

  .author-bio__skills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 1.4rem;
  }

  .author-bio__skills-label + .author-bio__skills {
    margin-top: 0.8rem;
  }

  .author-bio__skill-tag {
    display: inline-block;
    padding: 0.35rem 1rem;
    background-color: rgba(14, 77, 43, 0.08);
    border-radius: 10rem;
    font-size: 1.2rem;
    font-weight: 500;
    white-space: nowrap;
  }

  @media screen and (max-width: 749px) {
    .author-bio {
      padding: 1.8rem;
    }

    .author-bio__photo {
      width: 6rem;
      height: 6rem;
    }

    .author-bio__name {
      font-size: 1.6rem;
    }
  }
/* END_SNIPPET:author-bio */

/* START_SNIPPET:blog-card (INDEX:81) */
.blog-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
    text-align: center;
  }
  .blog-card__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 1.2rem;
    overflow: hidden;
  }
  .blog-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .blog-card__date {
    font-family: "Grato Grotesk", "Grato Grotesk Fallback", sans-serif;
    font-size: 1.2rem;
    line-height: 1.3;
    color: var(--color-foreground);
  }
  .blog-card .blog-card__title {
    margin: 0;
    font-family: "Grato Grotesk", "Grato Grotesk Fallback", sans-serif;
    font-weight: 500;
    font-size: 2rem;
    line-height: 2.6rem;
    color: #3e3a34;
  }
/* END_SNIPPET:blog-card */

/* START_SNIPPET:burger-menu-button (INDEX:82) */
.burger__menu-btn {
    border-radius: 5rem;
    border: 1px solid #ceced4;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    padding: 1rem 2rem;
    cursor: pointer;
  }

  .burger__menu-icon-content {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback';
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
  }

  .burger__icon {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .burger__icon--close {
    display: none;
  }

  .burger__menu-btn.active .burger__icon--open {
    display: none;
  }

  .burger__menu-btn.active .burger__icon--close {
    display: flex;
  }

  @media (max-width: 768px),
  (min-width: 769px) and (max-width: 1200px) {
    .burger__menu-btn {
      border: none;
      padding: 0;
    }

    .burger__menu {
      order: 4;
    }

    .burger__menu-btn::before {
      content: '';
      width: 0.1rem;
      height: 2.4rem;
      background: #DEDEDE;
      margin-right: 1.6rem;
    }

  }

  /* SalesIQ loads deferred, so the float can appear after the menu opened */
  @media (max-width: 768px) {
    body:has(.burger__menu-content.active) #zsiq_float {
      display: none !important;
    }
  }
/* END_SNIPPET:burger-menu-button */

/* START_SNIPPET:burger-menu (INDEX:83) */
.burger__menu-content {
    position: fixed;
    top: var(--header-height, 9.7rem);
    left: 0;
    max-width: 125.7rem;
    height: calc(100dvh - var(--header-height, 9.7rem));
    background-color: transparent;
    display: flex;
    flex-direction: column;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    z-index: 9999;
    overflow: hidden;
  }

  .burger__menu-content.active {
    transform: translateX(0);
  }

  .burger__menu-overlay {
    position: fixed;
    top: var(--header-height, 9.7rem);
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(21, 21, 21, 0.63);
    z-index: 9998;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out;
  }

  .burger__menu-overlay.active {
    opacity: 1;
    pointer-events: auto;
  }

  .burger__mega-menu {
    display: flex;
    flex-direction: column;
    max-width: 125.7rem;
    min-height: 100%;
  }

  @media (min-width: 769px) {
    .burger__mega-menu {
      flex-direction: row;
      height: 100%;
    }
  }

  /* Sidebar */
  .burger__sidebar {
    display: flex;
    flex-direction: column;
    width: 100%;
    flex-shrink: 0;
    background-color: #fff;
  }

  @media (min-width: 769px) {
    .burger__sidebar {
      width: 32.8rem;
      border-right: 1px solid #ebebeb;
    }
  }

  body .burger__sidebar-link, body a.burger__sidebar-link, .burger__sidebar-link.burger__sidebar-link--plain {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 5.9rem;
    padding: 0 2.8rem 0 2rem;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.21;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    width: 100%;
    text-decoration: none;
    border-bottom: 1px solid #ebebeb;
  }

  body .burger__sidebar-link--active,
  body .burger__sidebar-link:hover {
    background-color: var(--color-surface);
  }

  .burger__sidebar-link svg {
    flex-shrink: 0;
    width: 0.7rem;
    height: 1.3rem;
  }
  .burger__sidebar-link svg path {
    stroke: var(--color-foreground);
  }

  /* Right panels */
  .burger__panels {
    flex: 1;
    background-color: #fff;
    max-width: 92.9rem;
    height: 100%;
    overflow-y: auto;
  }

  .burger__panel {
    display: none;
    padding: 3.2rem 4rem;
    /* border-top: 1px solid #ebebeb; */
    min-height: 62.2rem;
  }

  .burger__panel--active {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .burger__panel-columns {
    display: flex;
    gap: 5.6rem;
    flex-wrap: wrap;
  }

  .burger__panel-column {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    min-width: 14rem;
  }

  .burger__column-header {
    display: flex;
    align-items: center;
  }

  .burger__column-title {
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.4rem;
    font-weight: 600;
    text-decoration: none;
    margin-bottom: 1.2rem;
    display: block;
    line-height: 1.5;
  }

  /* Promoted "New arrivals" link: own full-width row below the columns, green + underlined */
  .burger__panel-column--highlight {
    flex-basis: 100%;
  }

  .burger__panel-column--highlight .burger__column-title {
    width: fit-content;
    margin-bottom: 0;
    color: var(--color-accent);
    text-decoration: underline;
    text-underline-offset: 0.3rem;
  }

  .burger__column-arrow {
    display: none;
  }

  .burger__column-children {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }

  .burger__sub-link {
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    text-decoration: none;
    line-height: 2.1rem;
    padding: 0.2rem 0;
    display: block;
  }

  .burger__sub-link:hover {
    text-decoration: underline;
  }

  /* Back buttons — desktop: hidden */
  .burger__level-back-btn {
    display: none;
  }

  /* Sub-pages — desktop: hidden */
  .burger__sub-pages {
    display: none;
  }

  .burger__sub-page {
    display: none;
  }

  /* Sidebar extra blocks */
  .burger__sidebar-custom-html {
    padding: 0 2rem;
  }
  .burger__sidebar-cta {
    margin-top: auto;
    padding: 2rem;
    width: 100%;
    min-height: 34rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 1.3rem;
  }
  .burger__sidebar-cta > * {
    max-width: 24rem;
    margin: 0 auto;
  }
  .burger__sidebar-cta-title {
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 0.8rem;
    margin-top: 8.5rem;
  }
  .burger__sidebar-cta-desc {
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.4rem;
    margin-bottom: 1.2rem;
  }
  body a.burger__sidebar-cta-link {
    display: flex;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    text-decoration: none;
    padding: 0.8rem 0.9rem 0.9rem 0.9rem;
    justify-content: center;
    align-items: center;
    margin-top: 3.9rem;
    margin-left: auto;
    margin-right: 15%;
    color: #FFF;
    border-radius: 8rem;
    background: var(--color-foreground);
    text-align: center;
    font-style: normal;
    line-height: 2.2rem;
    letter-spacing: 0.06rem;
  }

  /* Bestsellers carousel */
  .burger__bestsellers {
    margin-top: 4rem;
  }
  .burger__bestsellers-title {
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    margin-bottom: 1.6rem;
  }
  .burger__bestsellers-carousel {
    display: flex;
    align-items: flex-start;
    gap: 1.6rem;
  }
  .burger__bestsellers-track-wrapper {
    flex: 1;
    overflow: hidden;
  }
  .burger__bestsellers-track {
    display: flex;
    transition: transform 0.3s ease-in-out;
  }
  .burger__bestsellers-card {
    flex: 0 0 50%;
    width: 50%;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    text-decoration: none;
    padding-right: 2rem;
    align-items: center;
    max-height: 12rem;
  }
  .burger__bestsellers-card:nth-child(even) {
    padding-right: 0;
  }
  .burger__bestsellers-card-image {
    width: 8rem;
    height: 8rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .burger__bestsellers-card-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .burger__bestsellers-card-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 1.2rem;
    min-width: 0;
  }
  .burger__bestsellers-card-title {
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2.1rem;
    margin-bottom: 0.4rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .burger__bestsellers-card-price {
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
  }
  .burger__bestsellers-nav {
    display: flex;
    flex-direction: row;
    gap: 0.8rem;
    flex-shrink: 0;
  }
  .burger__bestsellers-btn {
    background: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    width: 3.2rem;
    height: 3.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  .burger__bestsellers-btn svg {
    width: 1.2rem;
    height: 1.2rem;
  }
  .burger__bestsellers-divider {
    border-top: 0.1rem solid #E8E8E8;
    color: transparent !important;
    margin-top: 5rem;
    margin-bottom: 3.9rem;
  }
  .product-reviews__stars {
    display: flex;
    gap: 0.1rem;
    align-items: center;
  }
  .product-reviews {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.4rem;
  }
  .star--filled {
    color: #FFBA00;
  }
  .sidebar-spacer {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  /* Search pill */
  .header-search-pill {
    width: 44.4rem;
    max-width: 100%;
    flex-shrink: 1;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.8rem 1.6rem;
    border-radius: 12.8rem;
    background: #F3F3F3;
    transition: border-color 0.2s;
  }

  @media (max-width: 768px) {
    /* Full-width overlay */
    .burger__menu-content {
      top: var(--header-height, 9.7rem);
      width: 100vw;
      max-width: 100vw;
      height: calc(100dvh - var(--header-height, 9.7rem));
      overflow: hidden;
    }
    .burger__menu-overlay {
      top: var(--header-height, 9.7rem);
    }

    /* Three-layer slide stack */
    .burger__mega-menu {
      position: relative;
      overflow: hidden;
      height: 100%;
      flex-direction: column;
    }
    .burger__sidebar {
      position: absolute;
      top: 0; left: 0;
      width: 100%; height: 100%;
      overflow-y: auto;
      overscroll-behavior: contain;
      padding-bottom: 2.4rem;
      transition: transform 0.3s ease;
      z-index: 1;
    }
    .burger__panels {
      position: absolute;
      top: 0; left: 0;
      width: 100%; height: 100%;
      max-width: 100%;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      transform: translateX(100%);
      transition: transform 0.3s ease;
      background: #fff;
      z-index: 2;
    }
    .burger__sub-pages {
      display: flex;
      flex-direction: column;
      position: absolute;
      top: 0; left: 0;
      width: 100%; height: 100%;
      overflow: hidden;
      transform: translateX(100%);
      transition: transform 0.3s ease;
      background: #fff;
      z-index: 3;
    }
    .burger__sidebar-cta-title {
        margin-left: 0;
        margin-right: auto;
      }

    /* Level transitions */
    .burger__mega-menu--level2 .burger__sidebar { transform: translateX(-100%); }
    .burger__mega-menu--level2 .burger__panels  { transform: translateX(0); }

    .burger__mega-menu--level3 .burger__panels    { transform: translateX(-100%); }
    .burger__mega-menu--level3 .burger__sub-pages { transform: translateX(0); }

    /* Back buttons */
    .burger__level-back-btn {
      display: flex;
      align-items: center;
      gap: 0.8rem;
      padding: 1.6rem 2rem;
      font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
      font-size: 1.8rem;
      font-weight: 500;
      background: var(--color-surface);
      border: none;
      border-bottom: 1px solid #ebebeb;
      cursor: pointer;
      width: 100%;
      text-align: left;
      position: sticky;
      top: 0;
      z-index: 1;
    }
    .burger__level-back-btn svg {
      width: 0.7rem;
      height: 1.3rem;
      flex-shrink: 0;
    }

    /* Panel content as list */
    .burger__panel {
      padding: 0;
      border-top: none;
    }
    .burger__panel-columns {
      flex-direction: column;
      gap: 0;
    }
    .burger__panel-column {
      min-width: unset;
      gap: 0;
    }

    /* Child link with sub-links: full-row nav item */
    .burger__panel-column--has-children .burger__column-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      min-height: 5.9rem;
      padding: 0 2.8rem 0 2rem;
      border-bottom: 1px solid #ebebeb;
      cursor: pointer;
    }
    .burger__panel-column--has-children .burger__column-title {
      font-size: 1.6rem;
      font-weight: 400;
      margin-bottom: 0;
      flex: 1;
      pointer-events: none;
    }
    .burger__sidebar-link.burger__sidebar-link--plain {
      font-size: 1.6rem;
      font-weight: 400;
    }
    .burger__column-arrow {
      display: flex;
      align-items: center;
    }
    .burger__column-arrow svg {
      width: 0.7rem;
      height: 1.3rem;
    }
    .burger__column-children {
      display: none;
    }

    /* Plain child link (no sub-links) */
    .burger__panel-column:not(.burger__panel-column--has-children) .burger__column-title {
      display: flex;
      align-items: center;
      min-height: 5.9rem;
      padding: 0 2.8rem 0 2rem;
      font-size: 1.6rem;
      font-weight: 400;
      margin-bottom: 0;
      border-bottom: 1px solid #ebebeb;
      text-decoration: none;
    }

    /* The columns stack here, so the highlight row keeps the normal list-item shape
       (green text only — the rule above already drops the underline) */
    .burger__panel-column--highlight {
      flex-basis: auto;
    }
    .burger__panel-column--highlight .burger__column-title {
      width: auto;
    }

    /* Sub-pages */
    .burger__sub-page {
      display: none;
    }
    .burger__sub-page.active {
      display: block;
    }

    /* Panels and sub-pages: flex column so bestsellers can stick to bottom */
    .burger__panel--active {
      display: flex;
      flex-direction: column;
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      overscroll-behavior: contain;
      padding-bottom: 2.4rem;
    }
    .burger__sub-page.active {
      display: flex;
      flex-direction: column;
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      overscroll-behavior: contain;
      padding-bottom: 2.4rem;
    }
    .burger__panel-columns {
      flex: 0 0 auto;
    }
    .burger__bestsellers {
      margin-top: auto;
      padding-top: 4rem;
    }
    .burger__bestsellers-divider {
      display: none;
    }

    /* Bestsellers in sub-pages: column, no carousel */
    .burger__bestsellers-list {
      display: flex;
      flex-direction: column;
      gap: 1.6rem;
    }
    .burger__bestsellers-list .burger__bestsellers-card {
      flex: none;
      width: 100%;
      max-height: none;
      padding-right: 0;
    }

    /* Bestsellers in panels: column, max 2, no nav */
    .burger__panels .burger__bestsellers-carousel {
      display: block;
    }
    .burger__panels .burger__bestsellers-track {
      flex-direction: column;
      gap: 1.6rem;
    }
    .burger__panels .burger__bestsellers-card {
      flex: none;
      width: 100%;
      max-height: none;
      padding-right: 0;
    }
    .burger__panels .burger__bestsellers-card:nth-child(n+3) {
      display: none;
    }
    .burger__panels .burger__bestsellers-nav {
      display: none;
    }
    .burger__bestsellers-inner{
      padding: 0 2rem 2.5rem;
    }
    /* quiz things */
    .burger__sidebar-cta > *{
      max-width: none;
    }
    body a.burger__sidebar-cta-link{
      color: #FFF;
      text-align: center;
      font-family: "Grato Grotesk", "Grato Grotesk Fallback";
      font-size: 1.4rem;
      font-style: normal;
      font-weight: 400;
      line-height: 2.2rem; /* 157.143% */
      letter-spacing: 0.06rem;
      padding: 1.1rem 2.1195rem 1.3372rem 2.1rem;

    }
    .burger__sidebar-cta {
      justify-content: flex-end;
    }
  }
/* END_SNIPPET:burger-menu */

/* START_SNIPPET:collection-bubbles (INDEX:85) */
.collection-bubbles {
    display: grid;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    align-items: start;
    gap: 2rem;
    padding: 4.8rem 0;
  }
  .collection-bubbles__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 10.8rem;
    color: var(--color-foreground);
    text-decoration: none;
  }
  .collection-bubbles__image {
    width: 10.8rem;
    height: 10.8rem;
    margin-bottom: 1rem;
    border-radius: 50%;
    object-fit: cover;
  }
  .collection-bubbles__label {
    font-family: "Grato Grotesk", "Grato Grotesk Fallback";
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.61rem;
    text-align: center;
  }
  /* The bubbles bring their own 4.8rem of breathing room above them. */
  .collection-text-part--with-bubbles {
    margin-bottom: 0;
  }
  @media (min-width: 769px) and (max-width: 1200px) {
    .collection-bubbles {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }
  }
  @media (max-width: 768px) {
    .collection-bubbles {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .collection-bubbles__item {
      max-width: none;
    }
    .collection-bubbles__image {
      width: 8.2rem;
      height: 8.2rem;
    }
  }
/* END_SNIPPET:collection-bubbles */

/* START_SNIPPET:faq-card (INDEX:89) */
.faq-cards__item {
    overflow: hidden;
    border: 1px solid #dcdcdc;
    border-radius: 1.6rem;
    background-color: var(--color-background);
    color: var(--color-foreground);
  }

  .faq-cards .faq-cards__question {
    margin: 0;
    font-size: inherit;
    line-height: inherit;
  }

  .faq-cards__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
    width: 100%;
    padding: 2rem 2.4rem;
    border: 0;
    background-color: transparent;
    color: var(--color-foreground);
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.45;
    text-align: start;
    cursor: pointer;
  }

  .faq-cards__trigger:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: -2px;
  }

  .faq-cards__item--open .faq-cards__trigger {
    background-color: var(--color-surface);
  }

  .faq-cards__icon {
    display: flex;
    flex-shrink: 0;
  }

  .faq-cards__icon svg {
    width: 1.8rem;
    height: 1.8rem;
  }

  .faq-cards__icon--minus,
  .faq-cards__item--open .faq-cards__icon--plus {
    display: none;
  }

  .faq-cards__item--open .faq-cards__icon--minus {
    display: flex;
  }

  .faq-cards__answer {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
    padding: 2.4rem;
    color: var(--color-foreground);
    font-size: 1.6rem;
    line-height: 2.6rem;
  }

  .faq-cards__answer .faq-cards__link {
    color: var(--color-accent);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2rem;
  }

  .faq-cards__answer .faq-cards__link:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
  }

  @media (max-width: 768px) {
    .faq-cards__trigger {
      padding: 1.6rem 2rem;
      font-size: 1.6rem;
    }

    .faq-cards__answer {
      padding: 2rem;
      font-size: 1.4rem;
      line-height: 2.2rem;
    }
  }
/* END_SNIPPET:faq-card */

/* START_SNIPPET:image (INDEX:93) */
.image {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto;
  }

  .image > img {
    width: 100%;
    height: auto;
  }
/* END_SNIPPET:image */

/* START_SNIPPET:loyalty-widget (INDEX:95) */
#zoho_thrive_widget {
    /* display: none !important; */
  }
/* END_SNIPPET:loyalty-widget */

/* START_SNIPPET:pill-button (INDEX:100) */
.shopify-section .pill-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.7rem 3.3rem;
    border-radius: 9999px;
    border: 1px solid transparent;
    font-family: 'Grato Grotesk', 'Grato Grotesk Fallback', sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.2rem;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: opacity 0.2s ease;
  }

  .shopify-section .pill-button:hover {
    opacity: 0.85;
  }

  .shopify-section .pill-button:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
  }

  .shopify-section .pill-button--primary {
    background-color: var(--color-accent);
    color: var(--color-background);
  }

  .shopify-section .pill-button--dark {
    background-color: var(--color-foreground);
    color: var(--color-background);
  }

  .shopify-section .pill-button--light {
    background-color: var(--color-surface);
    color: var(--color-foreground);
  }

  .shopify-section .pill-button--small {
    min-height: 3.8rem;
    padding: 0.8rem 2.4rem;
    font-size: 1.4rem;
    line-height: 2rem;
  }

  @media (max-width: 768px) {
    .shopify-section .pill-button {
      white-space: normal;
    }

    .shopify-section .pill-button:not(.pill-button--small) {
      min-height: 4.8rem;
      padding: 1.4rem 2.2rem;
      font-size: 1.4rem;
      line-height: 1.8rem;
    }
  }
/* END_SNIPPET:pill-button */