/** Shopify CDN: Minification failed

Line 3126:53 Unexpected ".5"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:404 (INDEX:0) */
.not-found {
    position: relative;
    overflow: hidden;
  }

  .not-found__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: clamp(0.75rem, 2vw, 1.25rem);
  }

  .not-found__eyebrow {
    margin: 0;
    font-family: var(--font-poppins);
    font-size: var(--text-h6);
    font-weight: 700;
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: inherit;
    opacity: 0.85;
  }

  .not-found__mark {
    position: relative;
    margin: 0;
    line-height: 1;
    user-select: none;
    pointer-events: none;
  }

  .not-found__mark-text {
    display: inline-block;
    font-family: var(--font-averia);
    font-weight: 700;
    font-size: clamp(7rem, 22vw, 16rem);
    line-height: 0.95;
    letter-spacing: var(--tracking-tight);
    color: var(--nf-mark-color, currentColor);
    opacity: var(--nf-mark-opacity, 0.2);
    text-shadow: 0 4px 0 rgba(25, 13, 26, 0.08);
  }

  .not-found__heading {
    margin: 0;
    max-width: 22ch;
    text-wrap: balance;
  }

  .not-found__body {
    margin: 0;
    max-width: 60ch;
    line-height: var(--leading-normal);
    color: inherit;
    opacity: 0.92;
  }

  .not-found__search {
    width: 100%;
    max-width: 520px;
    margin-top: 0.5rem;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.4rem 0.4rem 0.85rem;
    background-color: var(--color-winter-white);
    color: var(--color-evening-black);
    border: 2px solid var(--nf-accent, var(--color-apple-red));
    border-radius: var(--radius-pill);
    box-shadow: 0 8px 24px rgba(25, 13, 26, 0.08);
  }

  .not-found__search-icon {
    width: 20px;
    height: 20px;
    color: var(--nf-accent, var(--color-apple-red));
  }

  .not-found__search-input {
    min-width: 0;
    width: 100%;
    padding: 0.55rem 0.25rem;
    background: transparent;
    border: 0;
    outline: 0;
    font-family: var(--font-poppins);
    font-size: var(--text-base);
    color: inherit;
  }

  .not-found__search-input::placeholder {
    color: rgba(25, 13, 26, 0.5);
  }

  .not-found__search-submit {
    appearance: none;
    border: 0;
    cursor: pointer;
    padding: 0.55rem 1.1rem;
    border-radius: var(--radius-pill);
    background-color: var(--nf-accent, var(--color-apple-red));
    color: var(--color-winter-white);
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.85);
    font-weight: 600;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    transition: opacity 0.2s ease;
  }

  .not-found__search-submit:hover {
    opacity: 0.88;
  }

  .not-found__actions {
    margin-top: 0.25rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
  }

  .not-found__cta {
    text-align: center;
  }

  .not-found__quick-links {
    margin-top: 1rem;
    width: 100%;
    max-width: 720px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
  }

  .not-found__quick-links-heading {
    margin: 0;
    font-family: var(--font-poppins);
    font-size: var(--text-h6);
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: inherit;
    opacity: 0.75;
  }

  .not-found__chips {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.6rem;
    justify-content: center;
  }

  .not-found__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 0.95rem;
    border-radius: var(--radius-pill);
    border: 1.5px solid currentColor;
    background-color: transparent;
    color: inherit;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.875);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    text-decoration: none;
    transition:
      background-color 0.2s ease,
      color 0.2s ease,
      transform 0.2s ease;
  }

  .not-found__chip:hover,
  .not-found__chip:focus-visible {
    background-color: var(--nf-accent, var(--color-apple-red));
    border-color: var(--nf-accent, var(--color-apple-red));
    color: var(--color-winter-white);
    transform: translateY(-1px);
  }

  .not-found__chip-arrow {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    transition: transform 0.2s ease;
  }

  .not-found__chip:hover .not-found__chip-arrow,
  .not-found__chip:focus-visible .not-found__chip-arrow {
    transform: translateX(2px);
  }

  /* Decorative SVGs */
  .not-found__decoration {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
  }

  .not-found__decoration > svg {
    position: absolute;
    opacity: 0.18;
  }

  .not-found__leaf--1 {
    top: 8%;
    left: 6%;
    width: clamp(48px, 8vw, 96px);
    transform: rotate(-18deg);
  }

  .not-found__leaf--2 {
    bottom: 10%;
    right: 4%;
    width: clamp(64px, 10vw, 140px);
    transform: rotate(12deg);
  }

  .not-found__apple--1 {
    top: 16%;
    right: 8%;
    width: clamp(40px, 6vw, 80px);
    transform: rotate(10deg);
    opacity: 0.22;
  }

  .not-found__apple--2 {
    bottom: 14%;
    left: 9%;
    width: clamp(36px, 5vw, 64px);
    transform: rotate(-14deg);
    opacity: 0.22;
  }

  @media (prefers-reduced-motion: no-preference) {
    .not-found__leaf--1 {
      animation: not-found-sway 9s ease-in-out infinite;
    }
    .not-found__leaf--2 {
      animation: not-found-sway 11s ease-in-out infinite reverse;
    }
    .not-found__apple--1 {
      animation: not-found-bob 7s ease-in-out infinite;
    }
    .not-found__apple--2 {
      animation: not-found-bob 8.5s ease-in-out infinite reverse;
    }
  }

  @keyframes not-found-sway {
    0%, 100% { transform: rotate(-18deg) translateY(0); }
    50%      { transform: rotate(-10deg) translateY(-6px); }
  }

  @keyframes not-found-bob {
    0%, 100% { transform: rotate(10deg) translateY(0); }
    50%      { transform: rotate(6deg) translateY(-8px); }
  }

  @media (max-width: 600px) {
    .not-found__leaf--1 { top: 4%; left: 2%; }
    .not-found__leaf--2 { bottom: 4%; right: 2%; }
    .not-found__apple--1 { top: 6%; right: 2%; }
    .not-found__apple--2 { bottom: 6%; left: 2%; }
    .not-found__search { grid-template-columns: auto 1fr; }
    .not-found__search-submit span { display: none; }
    .not-found__search-submit {
      width: 38px;
      height: 38px;
      padding: 0;
      grid-column: 3;
      grid-row: 1;
      display: grid;
      place-items: center;
    }
    .not-found__search-submit::after {
      content: '→';
      font-size: 1.1rem;
      line-height: 1;
    }
  }

  .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
/* END_SECTION:404 */

/* START_SECTION:apple-varieties-table (INDEX:1) */
.apple-varieties {
    scroll-margin-top: clamp(5rem, 14vw, 7rem);
  }

  .apple-varieties__heading {
    margin: 0 0 0.75rem;
  }

  .apple-varieties__intro {
    margin: 0 0 1.75rem;
    max-width: 52rem;
    font-family: var(--font-poppins);
  }

  .apple-varieties__intro p {
    margin: 0;
  }

  .apple-varieties__scroll-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 -0.25rem;
    padding: 0 0.25rem 0.25rem;
  }

  .apple-varieties__table {
    min-width: min(100%, 52rem);
    width: 100%;
  }

  @media screen and (min-width: 900px) {
    .apple-varieties__table {
      min-width: 100%;
    }
  }

  .apple-varieties__head {
    display: none;
    grid-template-columns: minmax(9rem, 1.1fr) minmax(8rem, 1.4fr) minmax(8rem, 1.35fr) minmax(5rem, 0.65fr) minmax(7rem, 0.9fr);
    gap: clamp(0.75rem, 2vw, 1.5rem);
    padding: 0 var(--av-bar-pad-x) 0.65rem;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.6875);
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--color-foreground);
    opacity: 0.85;
  }

  @media screen and (min-width: 900px) {
    .apple-varieties__head {
      display: grid;
    }
  }

  .apple-varieties__rows {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--av-row-gap);
  }

  .apple-varieties__row {
    margin: 0;
  }

  .apple-varieties__bar {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(9rem, 1.1fr) minmax(8rem, 1.4fr) minmax(8rem, 1.35fr) minmax(5rem, 0.65fr) minmax(7rem, 0.9fr);
    align-items: center;
    column-gap: clamp(0.75rem, 2vw, 1.5rem);
    min-height: 3.25rem;
    padding: var(--av-bar-pad-y) var(--av-bar-pad-x);
    background-color: var(--av-bar-bg);
    border-radius: var(--av-bar-radius);
    color: var(--color-winter-white);
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.8125);
    font-weight: 400;
    line-height: var(--leading-snug);
  }

  .apple-varieties__cell {
    min-width: 0;
  }

  .apple-varieties__name-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
  }

  .apple-varieties__apple-icon {
    display: inline-flex;
    flex-shrink: 0;
    color: var(--color-apple-red);
  }

  .apple-varieties__apple-icon .icon-apple {
    display: block;
  }

  .apple-varieties__thumb {
    display: inline-flex;
    flex-shrink: 0;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 50%;
    overflow: hidden;
    background-color: var(--color-winter-white);
  }

  .apple-varieties__thumb-btn {
    padding: 0;
    border: none;
    background: none;
    cursor: zoom-in;
    line-height: 0;
    vertical-align: middle;
  }

  .apple-varieties__thumb-btn:focus-visible {
    outline: 2px solid var(--color-apple-red);
    outline-offset: 2px;
  }

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

  .apple-varieties__name {
    font-weight: 700;
    font-size: calc(var(--text-base) * 0.875);
  }

  .apple-varieties__cell--status {
    font-weight: 500;
    opacity: 0.95;
  }

  @media screen and (max-width: 899px) {
    .apple-varieties__bar {
      grid-template-columns: 1fr;
      gap: 0.5rem;
      align-items: start;
    }

    .apple-varieties__cell {
      display: grid;
      grid-template-columns: minmax(5.5rem, 36%) minmax(0, 1fr);
      gap: 0.65rem;
      align-items: start;
    }

    .apple-varieties__cell::before {
      content: attr(data-label);
      font-size: calc(var(--text-base) * 0.6875);
      font-weight: 700;
      letter-spacing: var(--tracking-wide);
      text-transform: uppercase;
      opacity: 0.75;
    }

    .apple-varieties__cell--name::before {
      content: none;
    }

    .apple-varieties__cell--name {
      display: block;
    }
  }

  .apple-varieties__empty {
    margin: 0;
    text-align: center;
    max-width: 36rem;
    margin-inline: auto;
    font-family: var(--font-poppins);
  }

  .apple-varieties__strip {
    margin-top: clamp(2rem, 5vw, 3.5rem);
    line-height: 0;
    background-color: var(--color-default-background);
  }

  .apple-varieties__strip-img {
    display: block;
    width: 100%;
    height: auto;
  }

  .apple-varieties.u-text-body-medium .apple-varieties__bar {
    font-size: var(--text-body-medium);
  }

  .apple-varieties.u-text-body-medium .apple-varieties__name {
    font-size: 1em;
  }

  .apple-varieties.u-text-body-large .apple-varieties__bar {
    font-size: var(--text-body-large);
  }

  .apple-varieties.u-text-body-large .apple-varieties__name {
    font-size: 1em;
  }
/* END_SECTION:apple-varieties-table */

/* START_SECTION:attraction-detail (INDEX:3) */
.attraction-detail__grid {
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: start;
  }

  @media screen and (min-width: 900px) {
    .attraction-detail__grid {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
  }

  .attraction-detail__hero {
    border-radius: var(--attr-detail-radius, var(--radius-lg));
    overflow: hidden;
    background-color: rgba(46, 72, 77, 0.12);
  }

  .attraction-detail__hero--closed {
    position: relative;
  }

  .attraction-detail__hero--closed::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(12, 8, 14, 0.28);
    pointer-events: none;
  }

  .attraction-detail__hero-btn {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    background: none;
    cursor: zoom-in;
    line-height: 0;
    border-radius: inherit;
  }

  .attraction-detail__hero-btn:focus-visible {
    outline: 2px solid var(--color-apple-red);
    outline-offset: 2px;
  }

  .attraction-detail__main-img {
    width: 100%;
    height: auto;
    display: block;
  }

  .attraction-detail__text-col {
    display: flex;
    flex-direction: column;
    gap: 2.25rem;
  }

  .attraction-detail__breadcrumb-list {
    list-style: none;
    margin: 0;
    padding: 0;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.875);
    font-weight: 400;
    line-height: var(--leading-snug);
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
  }

  .attraction-detail__breadcrumb-item {
    display: inline;
  }

  .attraction-detail__breadcrumb-item:not(:last-child)::after {
    content: ' / ';
    color: inherit;
    opacity: 0.65;
  }

  .attraction-detail__breadcrumb-item a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
  }

  .attraction-detail__breadcrumb-item a:hover {
    text-decoration-thickness: 2px;
  }

  .attraction-detail__breadcrumb-item--current {
    font-weight: 500;
    opacity: 0.9;
  }

  .attraction-detail__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.75rem 1rem;
    margin: 0;
  }

  .attraction-detail__title {
    font-family: var(--font-averia);
    font-size: var(--text-h2);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
    margin: 0;
    color: inherit;
    flex: 1 1 auto;
    min-width: 0;
  }

  .attraction-detail__badge {
    flex: 0 0 auto;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-h6) * 0.88);
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    padding: 0.35rem 0.55rem;
    border-radius: var(--radius-sm);
    background-color: var(--attr-detail-badge-bg, var(--color-dusk));
    color: var(--attr-detail-badge-fg, var(--color-winter-white));
    line-height: var(--leading-snug);
  }

  .attraction-detail__closed-notice {
    margin: 0;
    padding: 0.65rem 0.85rem;
    border-radius: var(--radius-md);
    background-color: rgba(12, 8, 14, 0.08);
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.9375);
    font-weight: 500;
    line-height: var(--leading-snug);
  }

  .attraction-detail__description {
    font-family: var(--font-poppins);
    line-height: var(--leading-normal);
    font-weight: 300;
  }

  .attraction-detail__description p {
    margin-block: 0 1rem;
  }

  .attraction-detail__description p:last-child {
    margin-block-end: 0;
  }

  .attraction-detail__fallback {
    margin: 0;
    text-align: center;
  }
/* END_SECTION:attraction-detail */

/* START_SECTION:attractions-grid (INDEX:4) */
.attractions-grid__inner {
      width: 100%;
    }

  .attractions-grid__filters {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.5rem;
    margin-bottom: 2.25rem;
    justify-content: flex-start;
  }

  .attractions-grid__pill {
    appearance: none;
    margin: 0;
    cursor: pointer;
    border: none;
    font-family: inherit;
    font-size: calc(var(--text-h6) * 0.88);
    font-weight: 600;
    letter-spacing: var(--tracking-wide, 0.02em);
    text-transform: uppercase;
    padding: 0.55rem 1rem;
    border-radius: var(--attr-pill-radius, 9999px);
    background-color: var(--attr-pill-inactive-bg);
    color: var(--attr-pill-inactive-fg);
    line-height: var(--leading-snug);
    transition: background-color 0.15s ease, color 0.15s ease;
  }

  .attractions-grid__pill:hover {
    opacity: 0.92;
  }

  .attractions-grid__pill:focus-visible {
    outline: 2px solid var(--color-dusk);
    outline-offset: 2px;
  }

  .attractions-grid__pill--active {
    background-color: var(--attr-pill-active-bg);
    color: var(--attr-pill-active-fg);
  }

  .attractions-grid__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--attr-grid-gap, 1.75rem);
    grid-template-columns: 1fr;
  }

  @media (min-width: 768px) {
    .attractions-grid__list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 1024px) {
    .attractions-grid__list {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  .attractions-grid__empty {
    margin: 0;
    text-align: center;
    max-width: 36rem;
    margin-inline: auto;
  }
/* END_SECTION:attractions-grid */

/* START_SECTION:cart (INDEX:6) */
.cart-page__inner {
    display: block;
  }

  .cart-page__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.75rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgb(46 72 77 / 0.18);
  }

  .cart-page__title {
    margin: 0;
    font-family: var(--font-averia);
    font-size: var(--text-h2);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
  }

  .cart-page__count {
    margin: 0;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.9);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    color: var(--color-dusk, #2e484d);
    opacity: 0.85;
  }

  /* ── Empty state ── */
  .cart-page__empty {
    text-align: center;
    padding: clamp(2.5rem, 8vw, 5rem) 1rem;
    border: 1px dashed rgb(46 72 77 / 0.25);
    border-radius: var(--radius-lg, 16px);
    background: rgb(255 255 255 / 0.4);
  }

  .cart-page__empty-heading {
    font-family: var(--font-averia);
    font-size: var(--text-h3);
    margin: 0 0 0.75rem;
    line-height: var(--leading-tight);
  }

  .cart-page__empty-text {
    max-width: 36rem;
    margin: 0 auto 1.75rem;
    font-family: var(--font-poppins);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-dusk, #2e484d);
  }

  /* ── Layout ── */
  .cart-page__layout {
    display: grid;
    gap: clamp(2rem, 4vw, 3rem);
    align-items: start;
  }

  @media (min-width: 900px) {
    .cart-page__layout {
      grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.95fr);
    }
  }

  /* ── Line items ── */
  .cart-page__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .cart-line {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem;
    background-color: var(--color-winter-white, #ffffff);
    border-radius: var(--radius-lg, 16px);
    box-shadow: 0 1px 2px rgb(25 13 26 / 0.04), 0 1px 0 rgb(46 72 77 / 0.06);
    transition: box-shadow 0.18s ease, transform 0.18s ease;
  }

  @media (min-width: 768px) {
    .cart-line {
      grid-template-columns: 120px minmax(0, 1fr);
      gap: 1.25rem;
      padding: 1.25rem;
    }
  }

  .cart-line:hover {
    box-shadow: 0 4px 16px rgb(25 13 26 / 0.06), 0 1px 0 rgb(46 72 77 / 0.08);
  }

  .cart-line__media {
    display: block;
    overflow: hidden;
    border-radius: var(--radius-md, 8px);
    background-color: rgb(46 72 77 / 0.08);
    aspect-ratio: 1 / 1;
    align-self: start;
  }

  .cart-line__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .cart-line__img--placeholder {
    background: linear-gradient(135deg, rgb(46 72 77 / 0.08), rgb(46 72 77 / 0.16));
  }

  .cart-line__body {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.85rem;
    min-width: 0;
  }

  @media (min-width: 640px) {
    .cart-line__body {
      grid-template-columns: minmax(0, 1.4fr) auto;
      gap: 1.25rem;
      align-items: start;
    }
  }

  .cart-line__info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
  }

  .cart-line__name {
    font-family: var(--font-averia);
    font-size: var(--text-h5);
    line-height: var(--leading-snug);
    color: inherit;
    text-decoration: none;
    word-break: break-word;
  }

  .cart-line__name:hover,
  .cart-line__name:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.18em;
  }

  .cart-line__variant {
    margin: 0;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.875);
    color: var(--color-dusk, #2e484d);
    opacity: 0.85;
  }

  .cart-line__props {
    list-style: none;
    margin: 0.15rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.825);
    color: var(--color-dusk, #2e484d);
    opacity: 0.9;
  }

  .cart-line__prop-key {
    font-weight: 600;
    margin-right: 0.25rem;
  }

  .cart-line__plan,
  .cart-line__discount {
    margin: 0;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.825);
    color: var(--color-clover, #4b721d);
    font-weight: 500;
  }

  .cart-line__discounts {
    list-style: none;
    margin: 0.2rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
  }

  .cart-line__controls {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.65rem;
  }

  @media (min-width: 640px) {
    .cart-line__controls {
      align-items: flex-end;
      text-align: right;
    }
  }

  .cart-line__qty {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
  }

  .cart-line__qty-label {
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.75);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    color: var(--color-dusk, #2e484d);
  }

  .cart-line__qty-controls {
    display: inline-flex;
    align-items: stretch;
    border: 1.5px solid rgb(46 72 77 / 0.3);
    border-radius: var(--radius-sm, 4px);
    overflow: hidden;
    height: 2.5rem;
    background: var(--color-winter-white, #fff);
  }

  .cart-line__qty-btn {
    width: 2.25rem;
    padding: 0;
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1;
    border: none;
    background: transparent;
    cursor: pointer;
    color: var(--color-dusk, #2e484d);
    transition: background 0.12s ease;
  }

  .cart-line__qty-btn:hover {
    background: rgb(46 72 77 / 0.08);
  }

  .cart-line__qty-input {
    width: 2.75rem;
    border: none;
    border-left: 1.5px solid rgb(46 72 77 / 0.2);
    border-right: 1.5px solid rgb(46 72 77 / 0.2);
    text-align: center;
    font-family: var(--font-poppins);
    font-size: 0.95rem;
    background: transparent;
    color: inherit;
    appearance: textfield;
  }

  .cart-line__qty-input::-webkit-inner-spin-button,
  .cart-line__qty-input::-webkit-outer-spin-button {
    appearance: none;
  }

  .cart-line__price-block {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    align-items: flex-start;
    font-family: var(--font-poppins);
  }

  @media (min-width: 640px) {
    .cart-line__price-block {
      align-items: flex-end;
    }
  }

  .cart-line__price {
    font-size: 1.05rem;
    font-weight: 700;
    color: inherit;
  }

  .cart-line__price--sale {
    color: var(--color-apple-red, #d92d27);
  }

  .cart-line__price-compare {
    font-size: 0.85rem;
    opacity: 0.55;
    font-weight: 400;
  }

  .cart-line__price-each {
    font-size: 0.78rem;
    opacity: 0.7;
  }

  .cart-line__remove {
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.78);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    color: var(--color-apple-red, #d92d27);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.15s ease, opacity 0.15s ease;
  }

  .cart-line__remove:hover,
  .cart-line__remove:focus-visible {
    border-bottom-color: currentColor;
    opacity: 0.85;
  }

  /* ── Summary ── */
  .cart-summary {
    position: sticky;
    top: 1.5rem;
  }

  .cart-summary__card {
    background-color: var(--color-winter-white, #ffffff);
    border-radius: var(--radius-lg, 16px);
    padding: clamp(1.25rem, 3vw, 1.75rem);
    box-shadow: 0 1px 2px rgb(25 13 26 / 0.04), 0 1px 0 rgb(46 72 77 / 0.06);
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .cart-summary__heading {
    margin: 0;
    font-family: var(--font-averia);
    font-size: var(--text-h4);
    line-height: var(--leading-snug);
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgb(46 72 77 / 0.15);
  }

  .cart-summary__note {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }

  .cart-summary__note-label {
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.78);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    color: var(--color-dusk, #2e484d);
  }

  .cart-summary__note-input {
    width: 100%;
    padding: 0.7rem 0.85rem;
    font-family: var(--font-poppins);
    font-size: 0.95rem;
    border: 1.5px solid rgb(46 72 77 / 0.25);
    border-radius: var(--radius-sm, 4px);
    background: transparent;
    color: inherit;
    resize: vertical;
    min-height: 4.5rem;
  }

  .cart-summary__note-input:focus {
    outline: 2px solid var(--color-dusk, #2e484d);
    outline-offset: 1px;
    border-color: transparent;
  }

  .cart-summary__totals {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    font-family: var(--font-poppins);
  }

  .cart-summary__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
  }

  .cart-summary__row dt {
    margin: 0;
    font-size: var(--text-base);
    font-weight: 600;
  }

  .cart-summary__row dd {
    margin: 0;
  }

  .cart-summary__row--discount {
    color: var(--color-clover, #4b721d);
    font-weight: 500;
  }

  .cart-summary__amount {
    font-size: var(--text-h5);
    font-weight: 700;
    font-family: var(--font-averia);
    letter-spacing: var(--tracking-tight);
  }

  .cart-summary__tax-note {
    margin: 0;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.8);
    color: var(--color-dusk, #2e484d);
    opacity: 0.8;
  }

  .cart-summary__checkout {
    width: 100%;
    margin-top: 0.25rem;
  }

  .cart-summary__continue {
    text-align: center;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.875);
    font-weight: 500;
    color: var(--color-dusk, #2e484d);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    align-self: center;
    padding: 0.25rem 0;
    transition: border-color 0.15s ease;
  }

  .cart-summary__continue:hover,
  .cart-summary__continue:focus-visible {
    border-bottom-color: currentColor;
  }

  /* ── Mobile refinements ── */
  @media (max-width: 639px) {
    .cart-line {
      grid-template-columns: 80px minmax(0, 1fr);
    }

    .cart-line__name {
      font-size: 1.05rem;
    }

    .cart-summary {
      position: static;
    }
  }
/* END_SECTION:cart */

/* START_SECTION:collection (INDEX:7) */
.collection-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(500px, 1fr));
  }
/* END_SECTION:collection */

/* START_SECTION:collections (INDEX:8) */
.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:connect-with-us (INDEX:9) */
.connect-with-us {
    position: relative;
    box-sizing: border-box;
  }

  .connect-with-us__bg {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 0;
  }

  .connect-with-us__inner {
    position: relative;
    z-index: 1;
  }

  .connect-with-us__grid {
    display: grid;
    gap: var(--connect-col-gap, 32px);
    align-items: start;
  }

  @media screen and (min-width: 900px) {
    .connect-with-us__grid {
      grid-template-columns: minmax(0, 1fr);
      align-items: start;
    }
  }

  .connect-with-us__aside {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 3rem;
    min-width: 0;
  }

  @media screen and (min-width: 900px) {
    .connect-with-us__aside {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 2rem;
    }
  }

  .connect-with-us__group-title {
    font-family: var(--font-poppins);
    font-size: var(--text-body-medium);
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    line-height: var(--leading-snug);
    margin: 0 0 0.65rem;
    color: var(--color-evening-black, inherit);
  }

  .connect-with-us__group-body {
    font-family: var(--font-poppins);
    font-weight: 300;
    line-height: var(--leading-normal);
    margin: 0;
    color: inherit;
  }

  .connect-with-us__group-body p {
    margin-block: 0 0.65rem;
  }

  .connect-with-us__group-body p:last-child {
    margin-block-end: 0;
  }

  .connect-with-us__line {
    font-family: var(--font-poppins);
    font-weight: 300;
    line-height: var(--leading-normal);
    margin: 0 0 0.35rem;
  }

  .connect-with-us__line:last-child {
    margin-bottom: 0;
  }

  .connect-with-us__link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
  }

  .connect-with-us__link:hover {
    text-decoration-thickness: 2px;
  }

  .connect-with-us__social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    justify-content: center;
  }

  .connect-with-us__social-link {
    display: inline-flex;
    color: inherit;
    line-height: 0;
    border-radius: var(--radius-sm);
  }

  .connect-with-us__social-link:focus-visible {
    outline: 2px solid var(--color-apple-red);
    outline-offset: 3px;
  }

  .connect-with-us__social-icon {
    display: block;
  }

  .connect-with-us__social-note {
    font-family: var(--font-poppins);
    font-weight: 300;
    margin: 0.75rem 0 0;
    line-height: var(--leading-normal);
  }

  @media screen and (max-width: 767px) {
    .connect-with-us__group-body.rte {
      font-size: calc(var(--text-base) * 0.94);
    }

    .connect-with-us__group-body.rte.u-text-body-medium,
    .connect-with-us__line.u-text-body-medium,
    .connect-with-us__social-note.u-text-body-medium {
      font-size: calc(var(--text-body-medium) * 0.94);
    }

    .connect-with-us__group-body.rte.u-text-body-large,
    .connect-with-us__line.u-text-body-large,
    .connect-with-us__social-note.u-text-body-large {
      font-size: min(calc(var(--text-body-large) * 0.8), calc(var(--text-body-medium) * 0.97));
    }
  }
/* END_SECTION:connect-with-us */

/* START_SECTION:content-callout (INDEX:10) */
.content-callout__box {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--callout-inner-gap, 0.75rem);
    background-color: var(--callout-bg, var(--color-dusk));
    color: var(--callout-fg, var(--color-winter-white));
    border-radius: var(--callout-radius, var(--radius-xl));
    padding: clamp(1.5rem, 4vw, 2.75rem) clamp(1.25rem, 4vw, 3rem);
    text-align: center;
    max-width: 100%;
  }

  .content-callout__heading {
    font-family: var(--font-poppins);
    font-size: var(--text-h5);
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    line-height: var(--leading-tight);
    margin: 0;
    color: inherit;
  }

  .content-callout__text {
    font-family: var(--font-poppins);
    line-height: var(--leading-normal);
    margin: 0;
    width: 100%;
    max-width: 100%;
    color: inherit;
  }

  .content-callout__text p {
    color: inherit;
  }
/* END_SECTION:content-callout */

/* START_SECTION:content-columns (INDEX:11) */
.content-columns__inner {
    width: 100%;
  }

  .content-columns {
    display: grid;
    grid-template-columns: repeat(var(--content-cols-mobile, 1), minmax(0, 1fr));
    gap: var(--content-cols-gap, 1.75rem);
    margin: 0;
  }

  @media (min-width: 768px) {
    .content-columns {
      grid-template-columns: repeat(var(--content-cols-desktop, 3), minmax(0, 1fr));
    }
  }

  .content-columns__item {
    min-width: 0;
  }

  .content-columns__media {
    position: relative;
    width: 100%;
    aspect-ratio: var(--content-cols-aspect, 16 / 9);
  }

  .content-columns--auto .content-columns__media {
    aspect-ratio: auto;
  }

  .content-columns__img {
    display: block;
    transition: transform 0.35s ease;
  }

  .content-columns--auto .content-columns__media .content-columns__img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .content-columns__body {
    gap: var(--content-cols-stack-gap, 16px);
    padding-top: var(--content-cols-stack-gap, 16px);
    width: 100%;
  }

  .content-columns__heading {
    margin: 0;
    font-family: var(--font-averia);
    text-wrap: balance;
  }

  .content-columns__text {
    margin: 0;
    line-height: var(--leading-normal);
    width: 100%;
  }

  .content-columns__text > :first-child {
    margin-top: 0;
  }

  .content-columns__text > :last-child {
    margin-bottom: 0;
  }

  .content-columns__btn {
    margin-top: auto;
  }
/* END_SECTION:content-columns */

/* START_SECTION:content (INDEX:12) */
.content-section {
    gap: var(--content-stack-gap, 0.5rem);
  }

  .content-section__copy {
    gap: var(--content-stack-gap, 0.5rem);
  }

  .content-section__ctas {
    gap: var(--content-cta-gap, 0.75rem);
    margin-top: var(--content-cta-margin-top, 0);
    margin-bottom: var(--content-cta-margin-bottom, 0);
  }

  .content-section__heading {
    font-family: var(--font-averia);
    margin: 0;
    text-wrap: balance;
  }

  .content-section__text {
    line-height: var(--leading-normal);
  }

  @media screen and (max-width: 767px) {
    .content-section-wrapper .sh--h1 {
      font-size: calc(var(--text-h1) * 0.78);
    }

    .content-section-wrapper .sh--h2 {
      font-size: calc(var(--text-h2) * 0.72);
    }

    .content-section-wrapper .sh--h3 {
      font-size: calc(var(--text-h3) * 0.84);
    }

    .content-section-wrapper .sh--h4 {
      font-size: calc(var(--text-h4) * 0.86);
    }

    .content-section-wrapper .content-section__text.rte {
      font-size: calc(var(--text-base) * 0.94);
    }

    .content-section-wrapper .content-section__text.rte.u-text-body-medium {
      font-size: calc(var(--text-body-medium) * 0.94);
    }

    .content-section-wrapper .content-section__text.rte.u-text-body-large {
      font-size: min(calc(var(--text-body-large) * 0.8), calc(var(--text-body-medium) * 0.97));
    }
  }
/* END_SECTION:content */

/* START_SECTION:country-store-shopping (INDEX:13) */
.country-store-shopping__header {
    margin: 0;
  }

  .country-store-shopping__heading {
    margin: 0;
  }

  .country-store-shopping__columns {
    display: grid;
    gap: var(--css-col-gap-mobile, 2rem);
    grid-template-columns: minmax(0, 1fr);
  }

  .country-store-shopping__columns--after-heading {
    margin-top: var(--css-heading-gap-mobile, 2rem);
  }

  .country-store-shopping__col {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--css-item-gap-mobile, 1.5rem);
    min-width: 0;
  }

  .country-store-shopping__item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
  }

  .country-store-shopping__media {
    flex-shrink: 0;
    width: var(--css-image-size, 5rem);
    height: var(--css-image-size, 5rem);
    border-radius: 50%;
    overflow: hidden;
    background-color: rgba(46, 72, 77, 0.12);
  }

  .country-store-shopping__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .country-store-shopping__body {
    flex: 1;
    min-width: 0;
  }

  .country-store-shopping__line {
    margin: 0;
    font-family: var(--font-poppins);
    font-size: var(--text-base);
    font-weight: 300;
    line-height: var(--leading-normal);
    color: inherit;
  }

  .country-store-shopping__line.u-text-body-medium {
    font-size: var(--text-body-medium);
  }

  .country-store-shopping__line.u-text-body-large {
    font-size: var(--text-body-large);
  }

  .country-store-shopping__title-text {
    font-size: 0.875em;
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    line-height: var(--leading-snug);
  }

  .country-store-shopping__emdash {
    font-weight: 300;
    text-transform: none;
    letter-spacing: normal;
  }

  .country-store-shopping__desc p {
    display: inline;
    margin: 0;
  }

  .country-store-shopping__desc p:not(:last-child)::after {
    content: ' ';
  }

  .country-store-shopping__desc > *:not(p) {
    display: inline;
  }

  .country-store-shopping__empty {
    margin: 0;
    font-family: var(--font-poppins);
    font-size: var(--text-base);
  }

  @media (min-width: 768px) {
    .country-store-shopping__columns {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--css-col-gap, 3rem);
    }

    .country-store-shopping__columns--after-heading {
      margin-top: var(--css-heading-gap, 3rem);
    }

    .country-store-shopping__col {
      gap: var(--css-item-gap, 1.75rem);
    }
  }
/* END_SECTION:country-store-shopping */

/* START_SECTION:country-store (INDEX:14) */
.country-store__grid {
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: start;
  }

  @media screen and (min-width: 900px) {
    .country-store__grid {
      grid-template-columns: minmax(0, 0.45fr) minmax(0, 0.55fr);
    }
  }

  .country-store__hero {
    border-radius: var(--cs-media-radius, var(--radius-lg));
    overflow: hidden;
    background-color: rgba(46, 72, 77, 0.12);
  }

  .country-store__hero-btn {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    background: none;
    cursor: zoom-in;
    line-height: 0;
    border-radius: inherit;
  }

  .country-store__hero-btn:focus-visible {
    outline: 2px solid var(--color-apple-red);
    outline-offset: 2px;
  }

  .country-store__main-img {
    width: 100%;
    height: auto;
    display: block;
  }

  .country-store__crumbs {
    margin: 0 0 1rem;
    padding: 0;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.875);
    font-weight: 400;
    line-height: var(--leading-snug);
  }

  .country-store__crumb-sep {
    opacity: 0.65;
  }

  .country-store__crumbs a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
  }

  .country-store__crumbs a:hover {
    text-decoration-thickness: 2px;
  }

  .country-store__crumb-current {
    font-weight: 500;
    opacity: 0.9;
  }

  .country-store__title {
    font-family: var(--font-averia);
    margin: 0 0 1rem;
    color: inherit;
    text-wrap: balance;
  }

  @media screen and (max-width: 767px) {
    .country-store .country-store__title.sh--h1 {
      font-size: calc(var(--text-h1) * 0.78);
    }
  }

  .country-store__introduction {
    font-family: var(--font-poppins);
    line-height: var(--leading-normal);
    font-weight: 300;
    margin: 0 0 1.75rem;
  }

  .country-store__introduction p {
    margin-block: 0 1rem;
  }

  .country-store__introduction p:last-child {
    margin-block-end: 0;
  }

  .country-store__introduction--before-features {
    margin-bottom: 0;
  }

  .country-store__features {
    margin-top: 0.25rem;
  }

  .country-store__features-heading {
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.9375);
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    line-height: var(--leading-snug);
    margin: 0;
    color: inherit;
  }

  .country-store__feature-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }

  .country-store__feature-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
  }

  .country-store__feature-media {
    flex-shrink: 0;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 50%;
    overflow: hidden;
    background-color: rgba(46, 72, 77, 0.12);
  }

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

  .country-store__feature-body {
    flex: 1;
    min-width: 0;
  }

  .country-store__feature-line {
    margin: 0;
    font-family: var(--font-poppins);
    font-size: var(--text-base);
    font-weight: 300;
    line-height: var(--leading-normal);
    color: inherit;
  }

  .country-store__feature-line.u-text-body-medium {
    font-size: var(--text-body-medium);
  }

  .country-store__feature-line.u-text-body-large {
    font-size: var(--text-body-large);
  }

  .country-store__feature-title-text {
    font-size: 0.875em;
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    line-height: var(--leading-snug);
  }

  .country-store__feature-emdash {
    font-weight: 300;
    text-transform: none;
    letter-spacing: normal;
  }

  .country-store__feature-desc-wrap p {
    display: inline;
    margin: 0;
  }

  .country-store__feature-desc-wrap p:not(:last-child)::after {
    content: ' ';
  }

  .country-store__feature-desc-wrap > *:not(p) {
    display: inline;
  }

  .country-store__fallback {
    margin: 0;
    text-align: center;
  }
/* END_SECTION:country-store */

/* START_SECTION:custom-code (INDEX:15) */
.custom-code__embed {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-x: auto;
  }

  .custom-code__embed iframe,
  .custom-code__embed video,
  .custom-code__embed embed,
  .custom-code__embed object {
    display: block;
    max-width: 100%;
  }

  .custom-code__placeholder {
    margin: 0;
    padding: 1rem;
    text-align: center;
    font-family: var(--font-poppins);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    border: 1px dashed rgba(46, 72, 77, 0.35);
    border-radius: var(--radius-md);
    background-color: rgba(46, 72, 77, 0.04);
  }
/* END_SECTION:custom-code */

/* START_SECTION:custom-section (INDEX:16) */
.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:event-detail (INDEX:17) */
.event-detail__grid {
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: start;
  }

  @media screen and (min-width: 900px) {
    .event-detail__grid {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
  }

  .event-detail__hero {
    border-radius: var(--ev-detail-radius, var(--radius-lg));
    overflow: hidden;
    background-color: rgba(46, 72, 77, 0.12);
  }

  .event-detail__hero-btn {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    background: none;
    cursor: zoom-in;
    line-height: 0;
    border-radius: inherit;
  }

  .event-detail__hero-btn:focus-visible {
    outline: 2px solid var(--color-apple-red);
    outline-offset: 2px;
  }

  .event-detail__main-img {
    width: 100%;
    height: auto;
    display: block;
  }

  .event-detail__breadcrumb-list {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.875);
    line-height: var(--leading-snug);
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
  }

  .event-detail__breadcrumb-item {
    display: inline;
  }

  .event-detail__breadcrumb-item:not(:last-child)::after {
    content: ' / ';
    opacity: 0.65;
  }

  .event-detail__breadcrumb-item a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
  }

  .event-detail__breadcrumb-item--current {
    font-weight: 500;
  }

  .event-detail__types {
    margin: 0 0 0.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
  }

  .event-detail__type-chip {
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.75);
    font-weight: 600;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--color-dusk);
  }

  .event-detail__title {
    font-family: var(--font-averia);
    font-size: var(--text-h2);
    line-height: var(--leading-tight);
    margin: 0 0 0.35rem;
  }

  .event-detail__dates {
    font-family: var(--font-poppins);
    font-weight: 600;
    margin: 0 0 1rem;
    font-size: calc(var(--text-base) * 1.05);
  }

  .event-detail__body {
    font-family: var(--font-poppins);
    font-weight: 300;
    line-height: var(--leading-normal);
  }

  .event-detail__body p {
    margin-block: 0 1rem;
  }

  .event-detail__cta {
    margin: 1.5rem 0 0;
  }

  .event-detail__related {
    margin: 1.5rem 0 0;
    font-family: var(--font-poppins);
  }

  .event-detail__related-link {
    color: inherit;
    font-weight: 600;
  }

  .event-detail__related-products {
    margin: 1.75rem 0 0;
  }

  .event-detail__purchase-products {
    margin-top: 2.5rem;
  }

  .event-detail__related-products-heading {
    font-family: var(--font-averia);
    font-size: calc(var(--text-base) * 1.25);
    margin: 0 0 1rem;
    line-height: var(--leading-tight);
  }

  .event-detail__related-products[data-empty] {
    display: none;
  }

  .event-detail__related-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
    gap: 1rem 1.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .event-detail__related-product-card {
    margin: 0;
    min-width: 0;
  }

  .event-detail__related-product-link {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    height: 100%;
    text-decoration: none;
    color: inherit;
    font-family: var(--font-poppins);
    font-weight: 500;
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: opacity 0.15s ease;
  }

  .event-detail__related-product-link:hover {
    opacity: 0.88;
  }

  .event-detail__related-product-img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: var(--radius-sm);
    background-color: rgb(46 72 77 / 0.12);
    display: block;
  }

  .event-detail__related-product-img--placeholder {
    min-height: 8rem;
  }

  .event-detail__related-product-title {
    font-size: calc(var(--text-base) * 0.95);
    line-height: var(--leading-snug);
  }

  .event-detail__related-product-price {
    font-size: calc(var(--text-base) * 0.875);
    font-weight: 600;
    color: var(--color-dusk);
  }

  .event-detail__related-products-error {
    margin: 0.75rem 0 0;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.875);
    color: var(--color-apple-red);
  }

  .event-detail__fallback {
    text-align: center;
    margin: 0;
  }
/* END_SECTION:event-detail */

/* START_SECTION:events-list (INDEX:18) */
.events-archive__inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;
  }

  .events-archive__inner--align-left {
    align-items: flex-start;
  }

  .events-archive__intro-header {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
  }

  .events-archive__intro-header .events-archive__intro {
    margin: 0;
    max-width: none;
  }

  .events-archive__intro-header .events-archive__intro-heading {
    margin: 0;
  }

  .events-archive__intro-bottom .events-archive__intro p {
    margin: 0;
  }

  .events-archive__intro-header--center {
    align-items: center;
    text-align: center;
  }

  .events-archive__intro-header--center .events-archive__intro-heading {
    width: 100%;
    max-width: 48rem;
  }

  .events-archive__intro-header--center .events-archive__intro-bottom {
    width: 100%;
    max-width: 48rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
  }

  .events-archive__intro-header--center .events-archive__page-heading,
  .events-archive__intro-header--center .events-archive__intro {
    text-align: center;
  }

  .events-archive__intro-header--center .events-archive__header-cta-wrap {
    display: flex;
    justify-content: center;
  }

  .events-archive__intro-header--left .events-archive__intro-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 1.25rem 1.5rem;
    width: 100%;
  }

  .events-archive__intro-header--left .events-archive__intro-bottom:has(.events-archive__intro) {
    justify-content: space-between;
  }

  .events-archive__intro-header--left .events-archive__intro-bottom .events-archive__intro {
    flex: 1 1 12rem;
    min-width: 0;
    max-width: 48rem;
  }

  .events-archive__intro-header--left .events-archive__page-heading,
  .events-archive__intro-header--left .events-archive__intro {
    text-align: left;
    margin-inline: 0;
  }

  .events-archive__header-cta-wrap {
    flex-shrink: 0;
  }

  @media screen and (max-width: 767px) {
    .events-archive__intro-header--left .events-archive__intro-bottom {
      flex-direction: column;
      align-items: stretch;
    }

    .events-archive__intro-header--left .events-archive__intro-bottom:has(.events-archive__intro) {
      justify-content: flex-start;
    }

    .events-archive__intro-header--left .events-archive__header-cta-wrap {
      align-self: flex-start;
    }
  }

  .events-archive__intro {
    max-width: 48rem;
  }

  .events-archive__page-heading {
    font-family: var(--font-averia);
    line-height: var(--leading-tight);
    margin: 0;
    color: inherit;
  }

  .events-archive__intro.rte {
    font-family: var(--font-poppins);
    font-size: var(--text-base);
    font-weight: 300;
    line-height: var(--leading-normal);
    max-width: 42rem;
    margin: 0;
  }

  .events-archive__intro.rte.u-text-body-medium {
    font-size: var(--text-body-medium);
  }

  .events-archive__intro.rte.u-text-body-large {
    font-size: var(--text-body-large);
  }

  .events-archive__inner--align-left .events-archive__empty-state {
    margin-inline: 0;
    text-align: left;
  }

  .events-archive__rows {
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--ev-bar-row-gap);
  }

  .events-archive__row {
    margin: 0;
  }

  .events-archive__bar {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, var(--ev-bar-title-col, 28%)) minmax(0, 1fr) auto;
    align-items: center;
    column-gap: clamp(1rem, 3vw, 2.5rem);
    min-height: 3.5rem;
    padding: var(--ev-bar-pad-y) var(--ev-bar-pad-x);
    background-color: var(--ev-bar-bg);
    border-radius: var(--ev-bar-radius);
  }

  .events-archive__title {
    margin: 0;
    min-width: 0;
    font-family: var(--font-poppins);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: var(--leading-snug);
    color: var(--color-winter-white);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    align-self: center;
  }

  .events-archive__title a {
    display: block;
    color: inherit;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .events-archive__title a:hover {
    text-decoration: underline;
    text-underline-offset: 0.12em;
  }

  .events-archive__excerpt {
    margin: 0;
    min-width: 0;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.9);
    font-weight: 400;
    line-height: var(--leading-normal);
    color: var(--color-winter-white);
    opacity: 0.95;
    white-space: normal;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--ev-bar-excerpt-lines, 4);
    line-clamp: var(--ev-bar-excerpt-lines, 4);
    align-self: center;
  }

  .events-archive__cta-wrap {
    justify-self: end;
    align-self: center;
    flex-shrink: 0;
  }

  .events-archive__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 1.25rem;
    font-family: var(--font-poppins);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    text-decoration: none;
    border-radius: var(--radius-md);
    background-color: var(--ev-bar-cta-bg);
    color: var(--ev-bar-cta-fg);
    border: none;
    cursor: pointer;
    transition: opacity 0.2s ease;
    white-space: nowrap;
  }

  .events-archive__cta:hover {
    opacity: 0.9;
  }

  .events-archive__cta:focus-visible {
    outline: 2px solid var(--color-corn-pool);
    outline-offset: 2px;
  }

  .events-archive__empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    text-align: center;
    max-width: 40rem;
    margin: 0;
    font-family: var(--font-poppins);
    color: inherit;
  }

  .events-archive__empty-chip {
    display: inline-block;
    margin: 0;
    padding: 0.5rem 1.1rem;
    background-color: var(--color-corn-pool);
    border: 1px solid rgb(46 72 77 / 0.22);
    border-radius: var(--radius-pill);
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.9375);
    font-weight: 400;
    line-height: var(--leading-snug);
    text-align: center;
    color: inherit;
  }

  .events-archive__empty-chip.u-text-body-medium {
    font-size: calc(var(--text-body-medium) * 0.9375);
  }

  .events-archive__empty-chip.u-text-body-large {
    font-size: calc(var(--text-body-large) * 0.9375);
  }

  .events-archive.u-text-body-medium .events-archive__title {
    font-size: calc(var(--text-body-medium) * 1.35);
  }

  .events-archive.u-text-body-medium .events-archive__excerpt {
    font-size: calc(var(--text-body-medium) * 0.9);
  }

  .events-archive.u-text-body-medium .events-archive__cta {
    font-size: calc(var(--text-body-medium) * 0.75);
    padding: 0.5em 1.35em;
  }

  .events-archive.u-text-body-large .events-archive__title {
    font-size: calc(var(--text-body-large) * 1.3);
  }

  .events-archive.u-text-body-large .events-archive__excerpt {
    font-size: calc(var(--text-body-large) * 0.88);
  }

  .events-archive.u-text-body-large .events-archive__cta {
    font-size: calc(var(--text-body-large) * 0.72);
    padding: 0.55em 1.45em;
  }

  @media screen and (max-width: 767px) {
    .events-archive__bar {
      grid-template-columns: 1fr;
      row-gap: 0.75rem;
      align-items: stretch;
    }

    .events-archive__title {
      white-space: normal;
      overflow: visible;
      text-overflow: clip;
    }

    .events-archive__title a {
      white-space: normal;
      overflow: visible;
      text-overflow: clip;
    }

    .events-archive__excerpt {
      -webkit-line-clamp: var(--ev-bar-excerpt-lines, 4);
      line-clamp: var(--ev-bar-excerpt-lines, 4);
    }

    .events-archive__cta-wrap {
      justify-self: stretch;
    }

    .events-archive__cta {
      width: 100%;
    }
  }
/* END_SECTION:events-list */

/* START_SECTION:faq-accordion (INDEX:19) */
.faq-accordion__heading {
    font-family: var(--font-poppins);
    font-size: var(--text-h5);
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    line-height: var(--leading-tight);
    margin: 0 0 1rem;
    color: inherit;
  }

  .faq-accordion__intro {
    font-family: var(--font-poppins);
    font-size: var(--text-base);
    font-weight: 300;
    line-height: var(--leading-normal);
    margin: 0 0 1.5rem;
    max-width: 52rem;
    color: inherit;
  }

  .faq-accordion__intro p {
    margin-block: 0 0.75rem;
  }

  .faq-accordion__intro p:last-child {
    margin-block-end: 0;
  }

  .faq-accordion__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.65rem;
    margin: 0 0 2rem;
    justify-content: flex-start;
  }

  .faq-accordion__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    -webkit-user-select: none;
    padding: 0.55rem 1.15rem;
    border-radius: 9999px;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.8125);
    font-weight: 600;
    letter-spacing: var(--tracking-wide);
    text-transform: none;
    text-decoration: none;
    text-align: center;
    line-height: var(--leading-snug);
    color: var(--faq-pill-fg, var(--color-evening-black));
    background-color: var(--faq-pill-bg, var(--color-corn-pool));
    border: 2px solid transparent;
    transition: background-color 0.15s ease, color 0.15s ease;
  }

  .faq-accordion__pill:hover {
    opacity: 0.92;
  }

  .faq-accordion__pill:focus-visible {
    outline: 2px solid var(--color-apple-red);
    outline-offset: 2px;
  }

  .faq-accordion__pill.faq-accordion__pill--active {
    color: var(--faq-pill-active-fg, var(--color-winter-white));
    background-color: var(--faq-pill-active-bg, var(--color-dusk));
  }

  .faq-accordion__list {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
  }

  .faq-accordion__group-heading {
    font-family: var(--font-poppins);
    font-size: var(--text-h5);
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    line-height: var(--leading-tight);
    margin: 2.5rem 0 0.85rem;
    color: inherit;
    text-align: left;
    scroll-margin-top: 1.25rem;
    user-select: none;
    -webkit-user-select: none;
  }

  .faq-accordion__group-heading:first-of-type {
    margin-top: 0;
  }

  .faq-accordion__item {
    border-radius: var(--faq-radius, var(--radius-lg));
    overflow: hidden;
    background-color: var(--faq-bar-bg, var(--color-hour-notice));
    color: var(--faq-bar-fg, var(--color-winter-white));
  }

  .faq-accordion__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    font-family: var(--font-poppins);
    font-size: var(--text-base);
    font-weight: 500;
    line-height: var(--leading-snug);
    color: var(--faq-bar-fg, var(--color-winter-white));
    cursor: pointer;
    list-style: none;
    user-select: none;
    -webkit-user-select: none;
  }

  .faq-accordion__summary::-webkit-details-marker {
    display: none;
  }

  .faq-accordion__question {
    text-align: left;
    flex: 1;
    min-width: 0;
  }

  .faq-accordion__chevron {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    opacity: 0.9;
    transition: transform var(--faq-duration-open) var(--faq-ease);
  }

  .faq-accordion__chevron-icon {
    width: 1.125rem;
    height: 1.125rem;
    display: block;
  }

  .faq-accordion__item--closing .faq-accordion__chevron {
    transition-duration: var(--faq-duration-close, 1s);
    transition-timing-function: var(--faq-ease);
  }

  .faq-accordion__item[open] .faq-accordion__chevron {
    transform: rotate(180deg);
  }

  .faq-accordion__summary:focus-visible {
    outline: 2px solid var(--color-apple-red);
    outline-offset: 2px;
  }

  .faq-accordion {
    --faq-duration-open: 0.55s;
    --faq-duration-close: 1s;
    --faq-ease: cubic-bezier(0.33, 1, 0.68, 1);
  }

  .faq-accordion__panel-outer {
    overflow: hidden;
    height: 0;
    border-top: 1px solid rgb(255 255 255 / 0.18);
  }

  .faq-accordion--js .faq-accordion__panel-outer {
    transition: none;
  }

  .faq-accordion:not(.faq-accordion--js) .faq-accordion__item[open] .faq-accordion__panel-outer {
    height: auto;
  }

  .faq-accordion__item:not([open]) .faq-accordion__panel-outer {
    border-top-color: transparent;
  }

  .faq-accordion__panel {
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.9375);
    font-weight: 300;
    line-height: var(--leading-normal);
    padding: 1rem 1.15rem 1.15rem;
    color: var(--faq-bar-fg, var(--color-winter-white));
    user-select: text;
    -webkit-user-select: text;
  }

  .faq-accordion__panel.rte a,
  .faq-accordion__panel.rte a:visited {
    color: var(--faq-bar-fg, var(--color-winter-white));
    text-decoration: underline;
    text-underline-offset: 0.15em;
    text-decoration-color: rgb(255 255 255 / 0.55);
    transition: text-decoration-color 0.15s ease, opacity 0.15s ease;
  }

  .faq-accordion__panel.rte a:hover,
  .faq-accordion__panel.rte a:focus-visible {
    color: var(--faq-bar-fg, var(--color-winter-white));
    text-decoration-color: var(--faq-bar-fg, var(--color-winter-white));
    opacity: 1;
  }

  .faq-accordion__panel p {
    margin-block: 0 0.65rem;
  }

  .faq-accordion__panel p:last-child {
    margin-block-end: 0;
  }

  @media (prefers-reduced-motion: reduce) {
    .faq-accordion__panel-outer {
      transition: none;
      height: auto;
    }

    .faq-accordion__item:not([open]) .faq-accordion__panel-outer {
      height: 0;
    }

    .faq-accordion__chevron {
      transition: none;
    }
  }

  @media screen and (min-width: 768px) {
    .faq-accordion__pills {
      margin-bottom: 3rem;
    }

    .faq-accordion__pill {
      font-size: var(--text-base);
      padding: 0.65rem 1.35rem;
    }

    .faq-accordion__group-heading {
      margin-top: 3.5rem;
    }

    .faq-accordion__group-heading:first-of-type {
      margin-top: 0;
    }

    .faq-accordion__summary {
      font-size: calc(var(--text-body-medium) * 0.58 + var(--text-body-large) * 0.42);
      padding: 1.15rem 1.35rem;
    }

    .faq-accordion__panel {
      font-size: var(--text-body-medium);
      padding: 1.15rem 1.35rem 1.25rem;
    }

    .faq-accordion__chevron-icon {
      width: 1.75rem;
      height: 1.75rem;
    }
  }
/* END_SECTION:faq-accordion */

/* START_SECTION:farm-policies (INDEX:20) */
.farm-policies__card {
    background-color: var(--farm-policies-card-bg, var(--color-dusk));
    color: inherit;
    border-radius: var(--farm-policies-radius, var(--radius-lg));
    padding: clamp(1.75rem, 4vw, 2.75rem) clamp(1.25rem, 3vw, 2.5rem);
    box-sizing: border-box;
  }

  .farm-policies__title {
    font-family: var(--font-poppins);
    font-size: var(--text-h5);
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    text-align: center;
    line-height: var(--leading-tight);
    margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
    color: inherit;
  }

  .farm-policies__grid {
    --farm-policies-gap: clamp(1.5rem, 3vw, 2.25rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--farm-policies-gap);
  }

  @media (min-width: 768px) {
    .farm-policies__grid {
      --farm-policies-gap: clamp(1.25rem, 2.5vw, 2rem);
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center;
      align-items: flex-start;
    }
  }

  .farm-policies__column {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    max-width: 42ch;
  }

  @media (min-width: 768px) {
    .farm-policies__column {
      flex: 0 1 calc((100% - 2 * var(--farm-policies-gap)) / 3);
      max-width: calc((100% - 2 * var(--farm-policies-gap)) / 3);
    }
  }

  .farm-policies__icon {
    display: flex;
    justify-content: center;
    line-height: 0;
  }

  .farm-policies__icon-img {
    display: block;
    width: min(100%, var(--farm-policy-icon-max-mobile, 4.5rem));
    max-width: min(100%, var(--farm-policy-icon-max-mobile, 4.5rem));
    height: auto;
    object-fit: contain;
  }

  @media (min-width: 768px) {
    .farm-policies__icon-img {
      width: min(100%, var(--farm-policy-icon-max, 4.5rem));
      max-width: min(100%, var(--farm-policy-icon-max, 4.5rem));
    }
  }

  .farm-policies__column-heading {
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 1.15);
    font-weight: 700;
    line-height: var(--leading-snug);
    margin: 0;
    color: inherit;
  }

  .farm-policies__column-text {
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 1);
    font-weight: 300;
    line-height: var(--leading-normal);
    margin: 0;
    max-width: 42ch;
    text-align: center;
    color: inherit;
  }

  .farm-policies__column-text.rte > * + * {
    margin-block-start: 0.6em;
  }

  .farm-policies--icon-left .farm-policies__card {
    background-color: transparent;
    padding-left: 0;
    padding-right: 0;
  }

  .farm-policies--icon-left .farm-policies__grid {
    align-items: stretch;
  }

  @media (min-width: 768px) {
    .farm-policies--icon-left .farm-policies__grid {
      justify-content: flex-start;
    }

    .farm-policies--icon-left .farm-policies__column {
      flex: 0 1 calc((100% - var(--farm-policies-gap)) / 2);
      max-width: calc((100% - var(--farm-policies-gap)) / 2);
      flex-direction: row;
      align-items: flex-start;
      text-align: left;
      gap: 1rem;
    }
  }

  .farm-policies--icon-left .farm-policies__icon {
    flex-shrink: 0;
  }

  .farm-policies--icon-left .farm-policies__icon-img {
    border-radius: 50%;
    object-fit: cover;
    aspect-ratio: 1;
    width: var(--farm-policy-icon-max-mobile, 4.5rem);
    height: var(--farm-policy-icon-max-mobile, 4.5rem);
    max-width: var(--farm-policy-icon-max-mobile, 4.5rem);
  }

  @media (min-width: 768px) {
    .farm-policies--icon-left .farm-policies__icon-img {
      width: var(--farm-policy-icon-max, 4.5rem);
      height: var(--farm-policy-icon-max, 4.5rem);
      max-width: var(--farm-policy-icon-max, 4.5rem);
    }
  }

  .farm-policies--icon-left .farm-policies__column-heading {
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    font-size: var(--text-h6);
  }

  .farm-policies--icon-left .farm-policies__column-text {
    text-align: left;
    max-width: none;
  }
/* END_SECTION:farm-policies */

/* START_SECTION:feature-card (INDEX:21) */
.feature-card-section__inner {
    padding-top: var(--section-pad-top-mobile);
    padding-bottom: var(--section-pad-bottom-mobile);
  }

  @media (min-width: 768px) {
    .feature-card-section__inner {
      padding-top: var(--section-pad-top);
      padding-bottom: var(--section-pad-bottom);
    }
  }

  .feature-card-wrapper {
    overflow: visible;
  }

  .feature-card__badge {
    top: -2rem;
    left: -2rem;
    width: 6rem;
    height: 6rem;
  }

  .feature-card__badge-img {
    width: 6rem;
    height: 6rem;
    object-fit: contain;
    border-radius: 50%;
  }

  .feature-card__inner {
    align-items: center;
  }

  .feature-card__image-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    min-height: 20rem;
  }

  .feature-card__image-1 {
    grid-row: span 2;
  }

  .feature-card__image-1,
  .feature-card__image-2,
  .feature-card__image-3 {
    position: relative;
    overflow: hidden;
  }

  .feature-card__content {
    gap: 2rem;
    padding: 3rem;
  }

  .feature-card__heading {
    font-family: var(--font-averia);
    margin: 0;
    text-wrap: balance;
  }

  .feature-card__text {
    line-height: var(--leading-normal);
  }

  .feature-card__status {
    --status-bg: #3F575B;
    background: var(--status-bg);
    border-radius: var(--radius-md);
    overflow: hidden;
  }

  .feature-card__status-header {
    display: flex;
    align-items: stretch;
  }

  .feature-card__status-label {
    font-family: var(--font-poppins);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    border-right: 1px solid rgba(255, 255, 255, 0.3);
    width: fit-content;
    line-height: 1.3;
    display: flex;
    align-items: center;
    flex-shrink: 0;
  }

  .feature-card__status-tracker {
    flex: 1;
    position: relative;
  }

  .feature-card__status-line {
    position: absolute;
    left: 20px;
    right: 20px;
    height: 2px;
    background: rgba(0, 183, 203, 0.45);
    top: 28px;
    z-index: 0;
  }

  .feature-card__status-nodes {
    display: flex;
    justify-content: space-between;
    position: relative;
    width: 100%;
    z-index: 1;
  }

  .feature-card__status-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    flex: 1;
  }

  .feature-card__status-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .feature-card__node-circle {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 4px solid rgba(0, 183, 203, 0.45);
    background: var(--status-bg);
  }

  .feature-card__status-node--inactive .feature-card__node-label {
    color: rgba(255, 255, 255, 0.45);
  }

  .feature-card__pin {
    color: #00B7CB;
  }

  .feature-card__node-label {
    font-family: var(--font-poppins);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    white-space: nowrap;
    text-align: center;
  }

  @media screen and (max-width: 767px) {
    .feature-card .feature-card__image-grid.padding-1.5 {
      padding-bottom: 0;
    }

    .feature-card__content {
      gap: 1rem;
      padding: 1.25rem;
    }

    .feature-card__heading.sh--h1 {
      font-size: calc(var(--text-h1) * 0.78);
    }

    .feature-card__heading.sh--h2 {
      font-size: calc(var(--text-h2) * 0.72);
    }

    .feature-card__heading.sh--h3 {
      font-size: calc(var(--text-h3) * 0.84);
    }

    .feature-card__heading.sh--h4 {
      font-size: calc(var(--text-h4) * 0.86);
    }

    .feature-card__text.rte {
      font-size: calc(var(--text-base) * 0.94);
    }

    .feature-card__text.rte.u-text-body-medium {
      font-size: calc(var(--text-body-medium) * 0.94);
    }

    .feature-card__text.rte.u-text-body-large {
      font-size: min(calc(var(--text-body-large) * 0.8), calc(var(--text-body-medium) * 0.97));
    }
  }
/* END_SECTION:feature-card */

/* START_SECTION:food-venue-detail (INDEX:22) */
.food-venue-detail__grid {
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: start;
  }

  @media screen and (min-width: 900px) {
    .food-venue-detail__grid {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
  }

  .food-venue-detail__hero {
    border-radius: var(--fv-detail-radius, var(--radius-lg));
    overflow: hidden;
    background-color: rgba(46, 72, 77, 0.12);
  }

  .food-venue-detail__hero-btn {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    background: none;
    cursor: zoom-in;
    line-height: 0;
    border-radius: inherit;
  }

  .food-venue-detail__hero-btn:focus-visible {
    outline: 2px solid var(--color-apple-red);
    outline-offset: 2px;
  }

  .food-venue-detail__main-img {
    width: 100%;
    height: auto;
    display: block;
  }

  .food-venue-detail__breadcrumb-list {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.875);
    font-weight: 400;
    line-height: var(--leading-snug);
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
  }

  .food-venue-detail__breadcrumb-item {
    display: inline;
  }

  .food-venue-detail__breadcrumb-item:not(:last-child)::after {
    content: ' / ';
    color: inherit;
    opacity: 0.65;
  }

  .food-venue-detail__breadcrumb-item a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
  }

  .food-venue-detail__breadcrumb-item a:hover {
    text-decoration-thickness: 2px;
  }

  .food-venue-detail__breadcrumb-item--current {
    font-weight: 500;
    opacity: 0.9;
  }

  .food-venue-detail__title {
    font-family: var(--font-averia);
    font-size: var(--text-h2);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
    margin: 0 0 1rem;
    color: inherit;
  }

  .food-venue-detail__description {
    font-family: var(--font-poppins);
    line-height: var(--leading-normal);
    font-weight: 300;
  }

  .food-venue-detail__description p {
    margin-block: 0 1rem;
  }

  .food-venue-detail__description p:last-child {
    margin-block-end: 0;
  }

  .food-venue-detail__fallback {
    margin: 0;
    text-align: center;
  }
/* END_SECTION:food-venue-detail */

/* START_SECTION:food-venues-grid (INDEX:23) */
.food-venues-grid__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    column-gap: var(--fv-grid-gap, 28px);
    row-gap: calc(var(--fv-grid-gap, 28px) * 2);
  }

  @media screen and (min-width: 768px) {
    .food-venues-grid__list {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  @media screen and (min-width: 1024px) {
    .food-venues-grid__list {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  .food-venues-grid__card {
      display: flex;
      flex-direction: column;
      height: 100%;
      gap: 0.875rem;
      background: transparent;
      box-shadow: none;
      border-radius: 0;
      overflow: visible;
      text-align: left;
    }

  .food-venues-grid__media-link {
      display: block;
      text-decoration: none;
      color: inherit;
      border-radius: var(--fv-img-radius, var(--radius-lg));
    }

  .food-venues-grid__media-link:focus-visible {
      outline: 2px solid var(--color-dusk);
      outline-offset: 3px;
    }

  .food-venues-grid__media-link:hover .food-venues-grid__img {
      transform: scale(1.03);
    }

  .food-venues-grid__media {
      aspect-ratio: 4 / 3;
      position: relative;
      overflow: hidden;
      background-color: rgba(46, 72, 77, 0.12);
      border-radius: var(--fv-img-radius, var(--radius-lg));
    }

  .food-venues-grid__badge {
      position: absolute;
      top: 0.75rem;
      right: 0.75rem;
      z-index: 2;
      font-family: inherit;
      font-size: calc(var(--text-h6) * 0.88);
      font-weight: 700;
      letter-spacing: var(--tracking-wide);
      text-transform: uppercase;
      padding: 0.35rem 0.55rem;
      border-radius: var(--radius-sm);
      background-color: var(--food-venue-card-badge-bg, var(--color-dusk));
      color: var(--food-venue-card-badge-fg, var(--color-winter-white));
      line-height: var(--leading-snug);
      max-width: calc(100% - 1.5rem);
      text-align: center;
    }

  .food-venues-grid__img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.35s ease;
    }

  .food-venues-grid__body {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      text-align: left;
      gap: 0.75rem;
      padding: 0;
      flex: 1;
      width: 100%;
    }

  .food-venues-grid__title {
      margin: 0;
      text-align: left;
      color: var(--color-evening-black);
    }

  .food-venues-grid__title-link {
      color: inherit;
      text-decoration: none;
    }

  .food-venues-grid__title-link:hover {
      color: var(--color-dusk);
      text-decoration: underline;
    }

  .food-venues-grid__title-link:focus-visible {
      outline: 2px solid var(--color-dusk);
      outline-offset: 2px;
      border-radius: 2px;
    }

  .food-venues-grid__excerpt {
      font-family: var(--font-poppins);
      font-size: var(--text-base);
      font-weight: 300;
      line-height: var(--leading-normal);
      color: var(--color-foreground);
      flex: 1;
      text-align: left;
      width: 100%;
    }

  .food-venues-grid__excerpt p {
      margin-block: 0 0.5rem;
      text-align: left;
    }

  .food-venues-grid__excerpt p:last-child {
      margin-block-end: 0;
    }

  .food-venues-grid__cta {
      align-self: flex-start;
      text-align: center;
      text-transform: uppercase;
      font-weight: 600;
      letter-spacing: var(--tracking-wide);
      font-size: calc(var(--text-base) * 0.9);
      border-radius: var(--radius-pill);
      padding-block: 0.5rem;
      padding-inline: 1.35rem;
    }

  .food-venues-grid__empty {
    margin: 0;
    text-align: center;
    max-width: 36rem;
    margin-inline: auto;
  }
/* END_SECTION:food-venues-grid */

/* START_SECTION:footer (INDEX:24) */
.footer {
    margin-top: auto;
    font-family: var(--font-poppins);
  }

  .footer__strip {
    width: 100%;
    line-height: 0;
    overflow: hidden;
  }

  .footer__strip-img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  .footer__main {
    width: 100%;
    border-top: var(--footer-top-border-width, 6px) solid var(--color-apple-red);
    background-color: var(--color-evening-black);
    color: var(--color-winter-white);
  }

  .footer__inner {
    padding-top: var(--footer-padding-top, clamp(2rem, 5vw, 3.5rem));
    padding-bottom: var(--footer-padding-bottom, clamp(1.5rem, 4vw, 2.5rem));
  }

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

  .footer__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--footer-col-gap, clamp(1.75rem, 4vw, 2.75rem));
    margin-bottom: clamp(2rem, 4vw, 3rem);
  }

  @media (min-width: 750px) and (max-width: 1099px) {
    .footer__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer__col--brand {
      grid-column: 1 / -1;
    }
  }

  @media (min-width: 1100px) {
    .footer__grid {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .footer__col--brand {
      grid-column: auto;
    }
  }

  .footer__col--brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--footer-brand-gap, 1.25rem);
  }

  .footer__brand-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--footer-brand-actions-gap, 2rem);
  }

  .footer__logo-link {
    display: block;
    line-height: 0;
    text-decoration: none;
    max-width: var(--footer-logo-max, 220px);
  }

  .footer__logo {
    width: 100%;
    height: auto;
    display: block;
  }

  .footer__social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
  }

  .footer__social-link {
    display: flex;
    color: var(--color-winter-white);
    text-decoration: none;
    opacity: 0.92;
  }

  .footer__social-link:hover,
  .footer__social-link:focus-visible {
    opacity: 1;
  }

  .footer__social-link:focus-visible {
    outline: 2px solid var(--color-winter-white);
    outline-offset: 3px;
    border-radius: 2px;
  }

  .footer__social-icon {
    display: block;
    width: 1.875rem;
    height: 1.875rem;
  }

  /* Sizes: .btn + btn--md / btn--lg from CTA button size (Theme settings → Buttons) */
  .footer__cta {
    white-space: nowrap;
    letter-spacing: 0.07em;
  }

  .footer__cta:hover,
  .footer__cta:focus-visible {
    opacity: 1;
    filter: brightness(1.08);
  }

  .footer__cta:focus-visible {
    outline: 2px solid var(--color-winter-white);
    outline-offset: 2px;
  }

  .footer__column-title {
    margin: 0 0 1rem;
    font-family: var(--font-poppins);
    font-size: var(--footer-col-title-size, 0.9375rem);
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    line-height: 1.3;
    color: var(--color-winter-white);
  }

  .footer__link-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--footer-link-gap, 0.55rem);
  }

  .footer__link {
    font-size: var(--footer-link-size, 0.875rem);
    font-weight: 400;
    line-height: 1.45;
    color: var(--color-winter-white);
    text-decoration: none;
    opacity: 0.92;
  }

  .footer__link:hover,
  .footer__link:focus-visible {
    opacity: 1;
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }

  .footer__link:focus-visible {
    outline: 2px solid var(--color-winter-white);
    outline-offset: 2px;
    border-radius: 2px;
  }

  .footer__address {
    font-size: var(--footer-link-size, 0.875rem);
    line-height: 1.5;
    margin: 0 0 0.75rem;
    opacity: 0.92;
  }

  .footer__phone,
  .footer__contact {
    margin: 0 0 0.5rem;
    font-size: var(--footer-link-size, 0.875rem);
  }

  .footer__sub {
    text-align: center;
    padding-top: 1.5rem;
    border-top: 1px solid rgb(255 255 255 / 0.12);
  }

  .footer__copyright {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.6;
    color: var(--color-winter-white);
    opacity: 0.88;
  }

  .footer__copyright-line {
    display: inline;
  }

  .footer__credit {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    column-gap: 0.2em;
    row-gap: 0.15em;
    margin-left: 0.35em;
  }

  .footer__credit-lead {
    margin: 0;
  }

  .footer__credit-link {
    margin: 0;
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
  }

  .footer__credit-link:hover,
  .footer__credit-link:focus-visible {
    opacity: 1;
  }

  .footer__payment {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 0.75rem;
    margin-top: 1.5rem;
    padding-top: 1rem;
  }

  .footer__payment svg {
    height: 1.5rem;
    width: auto;
    opacity: 0.85;
  }

  @media (max-width: 749px) {
    .footer__inner {
      padding: 1.75rem var(--page-margin-mobile) max(1.5rem, env(safe-area-inset-bottom, 0px));
    }

    .footer__grid {
      gap: 2rem;
      margin-bottom: 1.75rem;
    }

    .footer__col--brand {
      padding-bottom: 1.5rem;
      border-bottom: 1px solid rgb(255 255 255 / 0.12);
    }

    .footer__col--menu .footer__nav,
    .footer__col--info {
      text-align: center;
    }

    .footer__link-list {
      align-items: center;
    }

    .footer__link-list li {
      display: flex;
      justify-content: center;
      width: 100%;
    }

    .footer__link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 2.75rem;
      padding: 0.35rem 0.75rem;
      font-size: 0.9375rem;
      line-height: 1.35;
      box-sizing: border-box;
    }

    .footer__column-title {
      margin-bottom: 0.875rem;
    }

    .footer__social-link {
      min-width: 2.75rem;
      min-height: 2.75rem;
      align-items: center;
      justify-content: center;
      border-radius: var(--radius-sm);
    }

    .footer__cta {
      min-height: 2.75rem;
      box-sizing: border-box;
    }

    .footer__sub {
      padding-top: 1.25rem;
    }

    .footer__copyright {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.65rem;
      max-width: 26rem;
      margin-inline: auto;
      line-height: 1.55;
    }

    .footer__credit {
      margin-left: 0;
      flex-direction: column;
      align-items: center;
      text-align: center;
      column-gap: 0;
    }

    .footer__payment {
      margin-top: 1.25rem;
      padding-top: 0.875rem;
    }
  }
/* END_SECTION:footer */

/* START_SECTION:form-section (INDEX:25) */
.form-section {
    position: relative;
    padding-left: var(--page-margin-mobile, 1rem);
    padding-right: var(--page-margin-mobile, 1rem);
    box-sizing: border-box;
  }

  @media (min-width: 768px) {
    .form-section {
      padding-left: var(--page-margin, 1rem);
      padding-right: var(--page-margin, 1rem);
    }
  }

  .form-section__bg {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 0;
  }

  .form-section__card {
    position: relative;
    z-index: 1;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: var(--radius-lg);
    padding: clamp(1.5rem, 4vw, 2.75rem);
    overflow-x: clip;
  }

  .form-section__intro {
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.9375);
    line-height: var(--leading-normal);
    margin: 0 0 1.25rem;
    text-align: center;
    max-width: 52rem;
    margin-inline: auto;
  }

  .form-section__embed {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-x: clip;
  }

  .form-section__embed .shopify-block,
  .form-section__embed .shopify-app-block,
  .form-section__embed [data-form-root],
  .form-section__embed shopify-forms-embed {
    display: block;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .form-section__embed iframe {
    max-width: 100%;
  }

  .form-section__placeholder {
    margin: 0;
    padding: 1rem;
    text-align: center;
    font-family: var(--font-poppins);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    border: 1px dashed rgba(46, 72, 77, 0.35);
    border-radius: var(--radius-md);
    background-color: rgba(46, 72, 77, 0.04);
  }
/* END_SECTION:form-section */

/* START_SECTION:full-image (INDEX:26) */
/* Grid stacks media, overlay, dividers, and heading in one cell so top/bottom dividers align reliably */
  .full-image-section {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    width: 100%;
    height: var(--full-image-height, 480px);
    overflow: hidden;
    isolation: isolate;
  }

  /*
    Break out to viewport width so the band cannot show a sliver of section background
    at the edge (grid rounding, nested widths, or theme img rules fighting layout).
  */
  .full-image-section.full-width:not(.full-image-section--intrinsic) {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  /* Wide bands / bottom art: height follows image aspect ratio at full width (no fixed box) */
  .full-image-section--intrinsic {
    height: auto;
    grid-template-rows: auto;
  }

  .full-image-section--intrinsic.full-width {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .full-image__media {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    min-height: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
    position: relative;
  }

  .full-image-section--intrinsic .full-image__media {
    height: auto;
    overflow: visible;
    position: relative;
  }

  /* Absolute fill avoids replaced-element intrinsic width leaving side gaps inside the media box. */
  .full-image__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    display: block;
  }

  .full-image-section--intrinsic .full-image__img {
    position: static;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: unset;
  }

  .full-image__img--anchor-bottom {
    object-position: center bottom;
  }

  .full-image__overlay {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    height: 100%;
    background-color: #000;
    pointer-events: none;
    z-index: 1;
  }

  .full-image__divider {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    z-index: 2;
    pointer-events: none;
    justify-self: stretch;
  }

  .full-image__divider--top {
    align-self: start;
    transform: translateY(var(--full-image-top-divider-overlap, 0px));
  }

  .full-image__divider--bottom {
    align-self: end;
  }

  .shape-divider-strip {
    position: relative;
    width: 100%;
    overflow: hidden;
    line-height: 0;
  }

  .shape-divider-strip__svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .shape-divider-strip__svg--flip {
    transform: scaleX(-1);
  }

  .shape-divider-strip__svg--invert {
    transform: scaleY(-1);
  }

  .shape-divider-strip__svg--flip.shape-divider-strip__svg--invert {
    transform: scale(-1, -1);
  }

  .full-image__heading {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    z-index: 3;
    max-width: min(90%, var(--section-inner-max, var(--content-width, 100%)));
    text-align: center;
    padding: 0 var(--page-margin-mobile, 1rem);
    transform: translateY(var(--full-image-heading-offset, 0px));
  }

  @media (min-width: 768px) {
    .full-image__heading {
      padding: 0 var(--page-margin, 1rem);
    }
  }

  .full-image__heading--top {
    align-self: start;
    margin-top: 2rem;
  }

  .full-image__heading--center {
    align-self: center;
  }

  .full-image__heading--bottom {
    align-self: end;
    margin-bottom: 2rem;
  }

  .full-image__heading-figure {
    margin: 0;
    max-width: 100%;
  }

  .full-image__heading-figure--mobile {
    display: none;
  }

  .full-image__heading-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
  }

  @media screen and (max-width: 767px) {
    .full-image__heading-figure--desktop {
      display: none;
    }

    .full-image__heading-figure--mobile {
      display: block;
    }
  }

  .full-image__heading-text {
    font-family: var(--font-averia);
    font-size: var(--text-h2);
    color: var(--color-winter-white);
    margin: 0;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  }
/* END_SECTION:full-image */

/* START_SECTION:header (INDEX:27) */
.header {
    position: relative;
    z-index: 100;
    width: 100%;
    font-family: var(--font-poppins);
    overflow: visible;
  }

  /* Header sits in nested .shopify-section wrappers; avoid clipping wide bars when nav/gaps are large */
  .shopify-section:has(> .header),
  .shopify-section:has(> .header) .shopify-section {
    overflow: visible;
  }

  .header__bar {
    position: relative;
    display: grid;
    /* minmax(0,1fr) lets side columns shrink with the viewport instead of forcing horizontal overflow */
    grid-template-columns: minmax(0, 1fr) var(--header-logo-reserve, 240px) minmax(0, 1fr);
    align-items: center;
    column-gap: 0.75rem;
    row-gap: 0.5rem;
    width: 100%;
    max-width: none;
    min-height: 0;
    padding: var(--header-padding-top-mobile, 10px) clamp(var(--page-margin-mobile), 4vw, 3rem) var(--header-padding-bottom-mobile, 10px);
    background-color: var(--color-dusk);
    color: var(--color-winter-white);
    overflow: visible;
  }

  /* Reserves horizontal space for the centered logo so nav never sits under it */
  .header__center-spacer {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    min-width: var(--header-logo-reserve, 240px);
    min-height: 1px;
    pointer-events: none;
  }

  /* Primary nav: right-align into column 1 (against the spacer / logo) */
  .header__left {
    grid-column: 1;
    justify-self: end;
    align-self: center;
    min-width: 0;
    max-width: 100%;
  }

  /* Utility cluster: left-align into column 3 (against the spacer / logo) */
  .header__right {
    grid-column: 3;
    justify-self: start;
    align-self: center;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: var(--header-cluster-gap, 20px);
    min-width: 0;
  }

  /* Utility links may be long; let this flex item compress before icons / CTA disappear */
  .header__nav--utility {
    flex: 1 1 auto;
    min-width: 0;
  }

  .header__nav-list--utility {
    flex-wrap: wrap;
    justify-content: flex-start;
    row-gap: 0.25rem;
  }

  @media (min-width: 768px) {
    .header__bar {
      padding: var(--header-padding-top, 10px) clamp(var(--page-margin), 4vw, 3rem) var(--header-padding-bottom, 10px);
    }
  }

  @media (min-width: 1700px) {
    .header__left {
      transform: translateX(var(--header-nav-pull, 0px));
      z-index: 10;
    }

    .header__right {
      transform: translateX(calc(-1 * var(--header-nav-pull, 0px)));
      z-index: 11;
    }
  }

  /* ── Responsive desktop zone (1700–1950px) ──────────────────────────────
     Settings are tuned for very wide screens. Between 1700–1950px compress
     the logo column and gaps so nothing clips before hitting full wumbo.
  ────────────────────────────────────────────────────────────────────── */
  @media (min-width: 1700px) and (max-width: 1949px) {
    .header__bar {
      grid-template-columns: minmax(0, 1fr) clamp(200px, 22vw, var(--header-logo-reserve, 240px)) minmax(0, 1fr);
    }

    .header__logo {
      max-width: clamp(160px, 22vw, var(--header-logo-max, 160px));
    }

    .header__center-spacer {
      min-width: clamp(200px, 22vw, var(--header-logo-reserve, 240px));
    }

    .header__nav-list {
      gap: clamp(12px, 2.5vw, var(--nav-primary-gap-x, 20px));
    }

    .header__nav-list--utility {
      gap: clamp(10px, 2vw, var(--nav-utility-link-gap, 16px));
    }

    .header__right {
      gap: clamp(12px, 2vw, var(--header-cluster-gap, 20px));
    }

    .header__icons {
      gap: clamp(8px, 1.5vw, var(--header-icons-gap, 12px));
    }
  }

  /* Out of flow; centered on bar. z-index below open dropdowns (30), above hero */
  .header__logo-wrap {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 5;
    width: max-content;
    max-width: calc(100vw - var(--page-margin-mobile) * 2);
    transform: translate(-50%, calc(50% + var(--logo-hang-offset, 0px)));
    pointer-events: auto;
  }

  @media (min-width: 768px) {
    .header__logo-wrap {
      max-width: calc(100vw - var(--page-margin) * 2);
    }
  }

  .header__logo-link {
    display: block;
    line-height: 0;
    text-decoration: none;
    color: inherit;
    border-radius: var(--radius-md);
    max-width: var(--header-logo-max, 160px);
  }

  .header__logo {
    display: block;
    width: 100%;
    max-width: 100%;
    max-height: min(11rem, 28vw);
    height: auto;
    object-fit: contain;
  }

  .header__logo-fallback {
    display: inline-block;
    max-width: 12rem;
    padding: 0.35rem 0.65rem;
    font-size: var(--text-sm, 0.875rem);
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-winter-white);
  }

  .header__nav-list {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: var(--nav-primary-gap-x, 20px);
    list-style: none!important;
    margin: 0;
    padding: 0;
  }

  .header__nav-list--utility {
    gap: var(--nav-utility-link-gap, 16px);
  }

  .header__nav-item {
    position: relative;
    margin: 0;
  }

  .header__nav-item--dropdown {
    position: relative;
  }

  .header__nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0;
    text-decoration: none;
    color: var(--color-winter-white);
    font-size: calc(var(--text-nav-primary) * var(--header-nav-mult, 1));
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .header__nav-link:hover,
  .header__nav-link:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }

  .header__nav-link:focus-visible {
    outline: 2px solid var(--color-winter-white);
    outline-offset: 2px;
  }

  .header__chevron {
    display: inline-flex;
    flex-shrink: 0;
    opacity: 0.9;
  }

  .header__chevron svg {
    display: block;
  }

  .header__submenu {
    position: absolute;
    left: 0;
    top: calc(100% + 0.15rem);
    min-width: 12rem;
    margin: 0;
    padding: 0.4rem 0;
    list-style: none;
    background-color: var(--color-dusk);
    border-radius: var(--radius-md);
    box-shadow: 0 0.5rem 1.25rem rgb(0 0 0 / 0.25);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-0.25rem);
    transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
    z-index: 30;
  }

  .header__nav-item--dropdown:hover .header__submenu,
  .header__nav-item--dropdown:focus-within .header__submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .header__submenu-link {
    display: block;
    padding: 0.5rem 1rem;
    text-decoration: none;
    color: var(--color-winter-white);
    font-size: calc(var(--text-nav-sub) * var(--header-nav-mult, 1));
    font-weight: 400;
    letter-spacing: 0.03em;
    text-transform: none;
    white-space: nowrap;
  }

  .header__submenu-link:hover,
  .header__submenu-link:focus-visible {
    background-color: rgb(255 255 255 / 0.08);
  }

  .header__submenu-link:focus-visible {
    outline: none;
  }

  .header__social {
    display: flex;
    align-items: center;
    gap: var(--header-icons-gap, 12px);
  }

  .header__social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-winter-white);
    text-decoration: none;
    opacity: 0.95;
  }

  .header__social-link:hover,
  .header__social-link:focus-visible {
    opacity: 1;
  }

  .header__social-link:focus-visible {
    outline: 2px solid var(--color-winter-white);
    outline-offset: 2px;
    border-radius: 2px;
  }

  .header__social-icon {
    display: block;
    width: 1.15rem;
    height: 1.15rem;
  }

  .header__nav--utility + .header__cta {
    margin-inline-start: 1.5rem;
  }

  .header__cta {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 1.1rem;
    border-radius: var(--radius-md);
    background-color: var(--color-apple-red);
    color: var(--color-winter-white);
    font-size: calc(var(--text-nav-primary) * var(--header-nav-mult, 1));
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
  }

  .header__cta:hover,
  .header__cta:focus-visible {
    filter: brightness(1.08);
  }

  .header__cta:focus-visible {
    outline: 2px solid var(--color-winter-white);
    outline-offset: 2px;
  }

  .header__icons {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: var(--header-icons-gap, 12px);
    overflow: visible;
  }

  .header__right > * {
    margin: 0;
  }

  .header__icon-link {
    position: relative;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    color: var(--color-winter-white);
    text-decoration: none;
    overflow: visible;
  }

  .header__icon-link:hover,
  .header__icon-link:focus-visible {
    opacity: 0.9;
  }

  .header__icon-link:focus-visible {
    outline: 2px solid var(--color-winter-white);
    outline-offset: 2px;
    border-radius: 2px;
  }

  .header__icon-link svg {
    width: 1.75rem;
    height: 1.75rem;
  }

  .header__cart-count {
    position: absolute;
    left: 100%;
    top: -0.15rem;
    margin-left: -0.35rem;
    min-width: 1rem;
    padding: 0 0.2rem;
    font-size: 0.65rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    color: var(--color-dusk);
    background: var(--color-winter-white);
    border-radius: var(--radius-pill);
  }

  shopify-account {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    color: var(--color-winter-white);
    overflow: visible;
  }

  shopify-account svg {
    width: 1.75rem;
    height: 1.75rem;
  }

  body.header-drawer-open {
    overflow: hidden;
  }

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

  .header__mobile-cluster {
    display: none;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.35rem 0.65rem;
    min-width: 0;
  }

  .header__menu-toggle {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--color-winter-white);
    cursor: pointer;
  }

  .header__menu-toggle:hover,
  .header__menu-toggle:focus-visible {
    background-color: rgb(255 255 255 / 0.08);
  }

  .header__menu-toggle:focus-visible {
    outline: 2px solid var(--color-winter-white);
    outline-offset: 2px;
  }

  .header__menu-toggle-bars {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.35rem;
    width: 1.35rem;
  }

  .header__menu-toggle-bars span {
    display: block;
    height: 2px;
    border-radius: 1px;
    background-color: currentColor;
  }

  .header__mobile-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem 0.65rem;
    margin: 0;
    min-width: 0;
    flex-wrap: nowrap;
  }

  .header__mobile-actions .header__social {
    gap: 0.5rem;
  }

  .header__social-link--toolbar {
    min-width: 2.5rem;
    min-height: 2.5rem;
  }

  .header__icons--toolbar {
    gap: 0.25rem;
  }

  .header__icons--toolbar .header__icon-link svg,
  .header__icons--toolbar shopify-account svg {
    width: 1.5rem;
    height: 1.5rem;
  }

  .header__drawer {
    position: fixed;
    inset: 0;
    z-index: 200;
    visibility: hidden;
    pointer-events: none;
  }

  .header__drawer.header__drawer--open {
    visibility: visible;
    pointer-events: auto;
  }

  .header__drawer-backdrop {
    position: absolute;
    inset: 0;
    background-color: rgb(0 0 0 / 0.45);
    opacity: 0;
    transition: opacity 0.22s ease;
  }

  .header__drawer--open .header__drawer-backdrop {
    opacity: 1;
  }

  .header__drawer-panel {
    position: absolute;
    right: 0;
    left: auto;
    top: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    width: min(22rem, 92vw);
    max-width: 100%;
    background-color: var(--color-dusk);
    color: var(--color-winter-white);
    box-shadow: -0.5rem 0 2rem rgb(0 0 0 / 0.35);
    transform: translateX(100%);
    transition: transform 0.25s ease;
  }

  .header__drawer--open .header__drawer-panel {
    transform: translateX(0);
  }

  .header__drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-shrink: 0;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid rgb(255 255 255 / 0.12);
  }

  .header__drawer-title {
    margin: 0;
    font-family: var(--font-poppins);
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--color-winter-white);
  }

  .header__drawer-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--color-winter-white);
    cursor: pointer;
  }

  .header__drawer-close:hover,
  .header__drawer-close:focus-visible {
    background-color: rgb(255 255 255 / 0.08);
  }

  .header__drawer-close:focus-visible {
    outline: 2px solid var(--color-winter-white);
    outline-offset: 2px;
  }

  .header__drawer-scroll {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.75rem 1rem 1.5rem;
    -webkit-overflow-scrolling: touch;
  }

  .header__drawer-nav {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin-bottom: 1.25rem;
  }

  .header__drawer-nav--secondary {
    padding-top: 1rem;
    border-top: 1px solid rgb(255 255 255 / 0.12);
    gap: 0.15rem;
  }

  .header__drawer-link {
    display: block;
    padding: 0.75rem 0.5rem;
    font-size: calc(var(--text-nav-drawer) * var(--header-nav-mult, 1));
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--color-winter-white);
    border-radius: var(--radius-sm);
  }

  .header__drawer-link--utility {
    font-weight: 500;
    font-size: 0.875rem;
    text-transform: none;
    letter-spacing: 0.02em;
  }

  .header__drawer-link:hover,
  .header__drawer-link:focus-visible {
    background-color: rgb(255 255 255 / 0.08);
  }

  .header__drawer-link:focus-visible {
    outline: 2px solid var(--color-winter-white);
    outline-offset: 0;
  }

  .header__drawer-details {
    border-radius: var(--radius-sm);
    border: 1px solid rgb(255 255 255 / 0.1);
  }

  .header__drawer-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 0.75rem;
    font-family: var(--font-poppins);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--color-winter-white);
    cursor: pointer;
    list-style: none;
  }

  .header__drawer-summary::-webkit-details-marker {
    display: none;
  }

  .header__drawer-summary-chevron {
    flex-shrink: 0;
    opacity: 0.85;
    transition: transform 0.2s ease;
  }

  .header__drawer-details[open] .header__drawer-summary-chevron {
    transform: rotate(180deg);
  }

  .header__drawer-children {
    display: flex;
    flex-direction: column;
    padding: 0 0.65rem 0.75rem;
    gap: 0.15rem;
  }

  .header__drawer-link--overview {
    font-size: 0.8125rem;
    font-weight: 500;
    opacity: 0.92;
    padding-top: 0.25rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgb(255 255 255 / 0.12);
    margin-bottom: 0.25rem;
    text-transform: none;
    letter-spacing: 0.02em;
  }

  .header__drawer-children .header__drawer-link {
    font-weight: 500;
    font-size: 0.875rem;
    text-transform: none;
    letter-spacing: 0.02em;
    padding: 0.55rem 0.5rem;
  }

  .header__drawer-footer {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: auto;
    padding-top: 1.5rem;
    padding-bottom: 0.5rem;
    border-top: 1px solid rgb(255 255 255 / 0.12);
  }

  .header__drawer-social {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 0;
  }

  .header__cta--drawer {
    display: inline-flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    min-height: 2.75rem;
    box-sizing: border-box;
  }

  @media (prefers-reduced-motion: reduce) {
    .header__drawer-backdrop,
    .header__drawer-panel {
      transition: none;
    }
  }

  @media (max-width: 1699px) {
    .header__left--desktop,
    .header__center-spacer,
    .header__right--desktop {
      display: none;
    }

    .header__bar {
      grid-template-columns: minmax(0, 1fr) auto;
      grid-template-rows: auto;
      column-gap: 0.5rem;
      row-gap: 0;
    }

    .header__logo-wrap {
      position: relative;
      left: auto;
      bottom: auto;
      grid-column: 1;
      justify-self: start;
      width: auto;
      max-width: min(72%, 22rem);
      transform: none;
    }

    /* Mobile base: keep logo visible and reasonably bold */
    .header__logo {
      max-height: clamp(2.75rem, 12vw, 4rem);
      max-width: 100%;
    }

    .header__mobile-cluster {
      display: flex;
      flex-shrink: 0;
      grid-column: 2;
      justify-content: flex-end;
      justify-self: end;
    }
  }

  /* Tablet: more room for the logo, slightly larger hamburger area */
  @media (min-width: 480px) and (max-width: 1699px) {
    .header__logo {
      max-height: clamp(3.5rem, 11vw, 5rem);
    }
  }

  /* Phone: ~1.5× logo vs compact-header base */
  @media (max-width: 767px) {
    .header__logo-wrap {
      max-width: min(90%, 33rem);
    }

    .header__logo-link {
      max-width: min(calc(var(--header-logo-max, 160px) * 1.5), 100%);
    }

    .header__logo {
      max-height: clamp(4.125rem, 18vw, 6rem);
    }
  }

  /* Large tablet / small desktop (960-1699): logo gets even more headroom */
  @media (min-width: 960px) and (max-width: 1699px) {
    .header__logo {
      max-height: clamp(4.5rem, 9vw, 6.5rem);
    }

    .header__logo-wrap {
      max-width: min(50%, 26rem);
    }

    /* Give the bar a bit more breathing room at this size */
    .header__bar {
      column-gap: 1rem;
    }

    /* Bigger icons and hamburger at near-desktop sizes */
    .header__icons--toolbar .header__icon-link svg,
    .header__icons--toolbar shopify-account svg {
      width: 1.75rem;
      height: 1.75rem;
    }

    .header__menu-toggle {
      width: 3.25rem;
      height: 3.25rem;
    }

    .header__menu-toggle-bars {
      width: 1.6rem;
    }
  }
/* END_SECTION:header */

/* START_SECTION:hello-world (INDEX:28) */
.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 (INDEX:29) */
.hero {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    overflow: clip;
  }

  .hero__backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
  }

  .hero__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .hero__media img,
  .hero__media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .hero__media .hero__placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background-color: var(--overlay-color);
    pointer-events: none;
  }

  .hero__main {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    padding-top: var(--hero-pad-top-mobile, 32px);
    padding-bottom: var(--hero-pad-bottom-mobile, 32px);
    padding-inline: var(--page-margin-mobile);
  }

  .hero__container {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--hero-container-max, min(var(--page-width), 100%));
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: var(--hero-align-items);
    text-align: var(--hero-text-align);
    gap: clamp(0.75rem, 2vw, 1rem);
  }

  .hero__heading {
    font-family: var(--font-averia);
    font-size: var(--text-h1);
    color: var(--hero-text-color, var(--color-winter-white));
    max-width: min(60ch, 100%);
    margin: 0;
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
    text-wrap: balance;
  }

  .hero__subheading {
    color: var(--hero-text-color, var(--color-winter-white));
    max-width: min(60ch, 100%);
    margin: 0;
    font-family: var(--font-poppins);
    font-weight: 700;
    font-size: calc(var(--text-base) * 1.0625);
    line-height: var(--leading-snug);
    overflow-wrap: break-word;
  }

  .hero__text {
    color: var(--hero-text-color, var(--color-winter-white));
    max-width: min(var(--hero-body-text-max, 60ch), 100%);
    margin: 0;
    line-height: 1.5;
    overflow-wrap: break-word;
    white-space: pre-line;
  }

  .hero__cta {
    align-self: var(--hero-align-items);
    text-align: center;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: var(--tracking-wide);
    font-size: calc(var(--text-base) * 0.9);
    border-radius: var(--radius-pill);
    padding-block: 0.5rem;
    padding-inline: 1.35rem;
    margin: 0;
  }

  .hero__shape {
    position: relative;
    z-index: 2;
    flex-shrink: 0;
    width: 100%;
    height: var(--hero-shape-height-mobile, 80px);
    pointer-events: none;
    margin-top: 0;
  }

  .hero--mobile-vh {
    min-height: var(--hero-mobile-min-height);
  }

  .hero--mobile-vh .hero__main {
    flex: 1 1 auto;
    min-height: 0;
  }

  @media screen and (min-width: 768px) {
    .hero--mobile-vh:not(.hero--desktop-vh) {
      min-height: auto;
    }

    .hero--mobile-vh:not(.hero--desktop-vh) .hero__main {
      flex: initial;
    }

    .hero--desktop-vh {
      min-height: var(--hero-desktop-min-height);
    }

    .hero--desktop-vh .hero__main {
      flex: 1 1 auto;
      min-height: 0;
    }

    .hero__main {
      padding-top: var(--hero-pad-top-desktop, 48px);
      padding-bottom: var(--hero-pad-bottom-desktop, 48px);
      padding-inline: var(--page-margin);
    }

    .hero__shape {
      height: var(--hero-shape-height-desktop, 80px);
    }
  }

  .hero__shape svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .hero__stupid-section {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    padding-inline: var(--page-margin-mobile);
    padding-block: 1rem;
  }

  @media screen and (min-width: 768px) {
    .hero__stupid-section {
      padding-inline: var(--page-margin);
    }
  }

  .hero__stupid-heading {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: 1.3;
  }

  .hero__stupid-body {
    margin: 0;
    line-height: 1.5;
  }

  .hero__stupid-section .hero__stupid-heading + .hero__stupid-body {
    margin-top: 0.5rem;
  }
/* END_SECTION:hero */

/* START_SECTION:history-timeline (INDEX:30) */
.history-timeline__section-heading {
    margin: 0 0 2rem;
    font-family: var(--font-averia);
    line-height: var(--leading-tight);
    text-align: center;
  }

  .history-timeline__list {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .history-timeline__list::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    transform: translateX(-50%);
    background-color: var(--history-line-color);
    pointer-events: none;
  }

  .history-timeline__entry {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--history-axis-width) minmax(0, 1fr);
    column-gap: var(--history-entry-gap);
    align-items: center;
  }

  .history-timeline__entry + .history-timeline__entry {
    margin-top: var(--history-entry-spacing);
  }

  .history-timeline__side {
    min-width: 0;
  }

  .history-timeline__axis {
    position: relative;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
  }

  .history-timeline__connector {
    position: absolute;
    top: 50%;
    height: 2px;
    width: calc(50% + var(--history-entry-gap) / 2);
    background-color: var(--history-line-color);
    transform: translateY(-50%);
  }

  .history-timeline__entry--media-left .history-timeline__connector {
    right: 50%;
    left: auto;
  }

  .history-timeline__entry--media-right .history-timeline__connector {
    left: 50%;
    right: auto;
  }

  .history-timeline__marker {
    width: 0.75rem;
    height: 0.75rem;
    background-color: var(--history-line-color);
    transform: rotate(45deg);
    flex-shrink: 0;
  }

  .history-timeline__figure {
    margin: 0;
    border-radius: var(--history-image-radius);
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background-color: rgba(46, 72, 77, 0.08);
  }

  .history-timeline__img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
  }

  .history-timeline__year {
    margin: 0 0 0.5rem;
    font-family: var(--font-averia);
    font-size: clamp(2.25rem, 4.5vw, 3.75rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: var(--tracking-tight);
    color: inherit;
  }

  .history-timeline__title {
    margin: 0 0 0.75rem;
    font-family: var(--font-averia);
    text-wrap: balance;
  }

  .history-timeline__text {
    line-height: var(--leading-normal);
    margin: 0;
  }

  .history-timeline__text p:first-child {
    margin-top: 0;
  }

  .history-timeline__text p:last-child {
    margin-bottom: 0;
  }

  .history-timeline__empty {
    margin: 0;
    text-align: center;
    opacity: 0.7;
  }

  .history-timeline__strip {
    margin-top: clamp(2rem, 5vw, 4rem);
    width: 100%;
    line-height: 0;
  }

  .history-timeline__strip-img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
  }

  @media screen and (max-width: 767px) {
    .history-timeline__list::before,
    .history-timeline__axis {
      display: none;
    }

    .history-timeline__entry {
      grid-template-columns: minmax(0, 1fr);
      row-gap: 1.25rem;
    }

    .history-timeline__entry + .history-timeline__entry {
      margin-top: calc(var(--history-entry-spacing) * 0.85);
    }

    .history-timeline__entry--media-right .history-timeline__side--start {
      order: 2;
    }

    .history-timeline__entry--media-right .history-timeline__side--end {
      order: 1;
    }

    .history-timeline__entry--media-left .history-timeline__side--start {
      order: 1;
    }

    .history-timeline__entry--media-left .history-timeline__side--end {
      order: 2;
    }

    .history-timeline__year {
      font-size: clamp(2rem, 12vw, 2.75rem);
    }

    .history-timeline__text.rte {
      font-size: calc(var(--text-base) * 0.94);
    }

    .history-timeline__text.rte.u-text-body-medium {
      font-size: calc(var(--text-body-medium) * 0.94);
    }

    .history-timeline__text.rte.u-text-body-large {
      font-size: min(calc(var(--text-body-large) * 0.8), calc(var(--text-body-medium) * 0.97));
    }
  }
/* END_SECTION:history-timeline */

/* START_SECTION:image-grid (INDEX:31) */
.image-grid {
    grid-template-columns: repeat(var(--grid-cols-mobile, 1), 1fr);
    gap: var(--image-grid-gap, 1.75rem);
  }

  @media (min-width: 768px) {
    .image-grid {
      grid-template-columns: repeat(var(--grid-cols-desktop, 3), 1fr);
    }
  }

  .image-grid__item {
    aspect-ratio: var(--grid-aspect-ratio, 16 / 9);
  }

  .image-grid--auto .image-grid__item {
    aspect-ratio: auto;
  }

  .image-grid__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
  }

  .image-grid__media:not(:has(video)) .image-grid__poster {
    transition: transform 0.35s ease;
  }

  .image-grid__item:hover .image-grid__media:not(:has(video)) .image-grid__poster,
  .image-grid__item:focus-visible .image-grid__media:not(:has(video)) .image-grid__poster {
    transform: scale(1.03);
  }

  .image-grid__video {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.35s ease;
    pointer-events: none;
  }

  .image-grid__video.is-playing {
    opacity: 1;
  }

  .image-grid--auto .image-grid__media {
    position: relative;
    overflow: hidden;
  }

  .image-grid--auto .image-grid__poster {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
  }

  .image-grid--auto .image-grid__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .image-grid__gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent);
    pointer-events: none;
  }

  .image-grid__label {
    margin: 0;
    padding: 1rem clamp(1rem, 4vw + 0.5rem, 1.75rem);
    box-sizing: border-box;
    text-transform: uppercase;
    text-wrap: balance;
    color: var(--image-grid-label-color, var(--color-winter-white));
    z-index: 1;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  }

  @media screen and (max-width: 767px) {
    .image-grid__label {
      padding: 0.875rem clamp(0.75rem, 3vw + 0.25rem, 1.25rem);
    }
  }
/* END_SECTION:image-grid */

/* START_SECTION:job-posting-detail (INDEX:32) */
.job-posting-detail__breadcrumb-list {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.875);
    font-weight: 400;
    line-height: var(--leading-snug);
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
  }

  .job-posting-detail__breadcrumb-item {
    display: inline;
  }

  .job-posting-detail__breadcrumb-item:not(:last-child)::after {
    content: ' / ';
    color: inherit;
    opacity: 0.65;
  }

  .job-posting-detail__breadcrumb-item a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
  }

  .job-posting-detail__breadcrumb-item a:hover {
    text-decoration-thickness: 2px;
  }

  .job-posting-detail__breadcrumb-item--current {
    font-weight: 500;
    opacity: 0.9;
  }

  .job-posting-detail__badge {
    margin: 0 0 0.5rem;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.75);
    font-weight: 600;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--color-dusk);
  }

  .job-posting-detail__title {
    font-family: var(--font-averia);
    font-size: var(--text-h2);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
    margin: 0 0 1.25rem;
    color: inherit;
  }

  .job-posting-detail__body {
    font-family: var(--font-poppins);
    line-height: var(--leading-normal);
    font-weight: 300;
    max-width: 50rem;
  }

  .job-posting-detail__body p {
    margin-block: 0 1rem;
  }

  .job-posting-detail__body p:last-child {
    margin-block-end: 0;
  }

  .job-posting-detail__fallback {
    margin: 0;
    text-align: center;
  }
/* END_SECTION:job-posting-detail */

/* START_SECTION:job-postings-list (INDEX:33) */
.job-postings-list__inner {
    width: 100%;
  }

  .job-postings-list__page-heading {
    font-family: var(--font-averia);
    line-height: var(--leading-tight);
    margin: 0 0 0.75rem;
    color: inherit;
  }

  .job-postings-list__intro {
    font-family: var(--font-poppins);
    font-size: var(--text-base);
    font-weight: 300;
    line-height: var(--leading-normal);
    max-width: 42rem;
    margin: 0 0 1.75rem;
  }

  .job-postings-list__intro p {
    margin-block: 0 0.75rem;
  }

  .job-postings-list__intro p:last-child {
    margin-block-end: 0;
  }

  .job-postings-list__categories {
    display: flex;
    flex-direction: column;
    gap: var(--jp-category-gap, 64px);
  }

  .job-postings-list__category {
    margin: 0;
  }

  .job-postings-list__category-title {
    margin: 0 0 1.25rem;
    font-family: var(--font-averia);
    font-size: var(--text-h4);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight);
    font-weight: 700;
    text-transform: uppercase;
    color: var(--color-evening-black);
  }

  .job-postings-list__rows {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--jp-row-gap);
  }

  .job-postings-list__row {
    margin: 0;
  }

  .job-postings-list__bar {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, var(--jp-title-col, 28%)) minmax(0, 1fr) minmax(8.5rem, max-content);
    align-items: center;
    column-gap: clamp(1rem, 3vw, 2.5rem);
    min-height: 3.5rem;
    padding: var(--jp-bar-pad-y) var(--jp-bar-pad-x);
    background-color: var(--jp-bar-bg);
    border-radius: var(--jp-bar-radius);
  }

  .job-postings-list__title {
    margin: 0;
    min-width: 0;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 1.0625);
    font-weight: 700;
    line-height: var(--leading-snug);
    color: var(--color-winter-white);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    align-self: center;
  }

  .job-postings-list__title a {
    display: block;
    color: inherit;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .job-postings-list__title a:hover {
    text-decoration: underline;
    text-underline-offset: 0.12em;
  }

  .job-postings-list__excerpt {
    margin: 0;
    box-sizing: border-box;
    width: 100%;
    max-width: var(--jp-excerpt-max, 300px);
    justify-self: start;
    min-width: 0;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.9);
    font-weight: 400;
    line-height: var(--leading-normal);
    color: var(--color-winter-white);
    opacity: 0.95;
    white-space: normal;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--jp-excerpt-lines, 4);
    line-clamp: var(--jp-excerpt-lines, 4);
    align-self: center;
  }

  .job-postings-list__cta-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    justify-self: end;
    align-self: center;
    flex-shrink: 0;
    min-width: 8.5rem;
  }

  .job-postings-list__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 1.25rem;
    font-family: var(--font-poppins);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    text-decoration: none;
    border-radius: var(--radius-md);
    background-color: var(--jp-cta-bg);
    color: var(--jp-cta-fg);
    border: none;
    cursor: pointer;
    transition: opacity 0.2s ease;
    white-space: nowrap;
  }

  .job-postings-list__cta:hover {
    opacity: 0.9;
  }

  .job-postings-list__cta:focus-visible {
    outline: 2px solid var(--color-corn-pool);
    outline-offset: 2px;
  }

  .job-postings-list__empty {
    margin: 0;
    text-align: center;
    max-width: 36rem;
    margin-inline: auto;
    font-family: var(--font-poppins);
  }

  @media screen and (max-width: 767px) {
    .job-postings-list__bar {
      grid-template-columns: 1fr;
      row-gap: 0.75rem;
      align-items: stretch;
    }

    .job-postings-list__title {
      white-space: normal;
      overflow: visible;
      text-overflow: clip;
    }

    .job-postings-list__title a {
      white-space: normal;
      overflow: visible;
      text-overflow: clip;
    }

    .job-postings-list__excerpt {
      max-width: none;
      width: 100%;
      -webkit-line-clamp: var(--jp-excerpt-lines, 4);
      line-clamp: var(--jp-excerpt-lines, 4);
    }

    .job-postings-list__cta-wrap {
      justify-self: stretch;
      flex-direction: column;
      align-items: stretch;
    }

    .job-postings-list__cta {
      width: 100%;
    }
  }
/* END_SECTION:job-postings-list */

/* START_SECTION:link-card-carousel (INDEX:48) */
.link-card-carousel-section__track-wrap {
    position: relative;
  }

  .link-card-carousel-splide {
    width: 100%;
    min-width: 0;
  }

  .link-card-carousel-section__arrow {
    position: absolute;
    z-index: 2;
    top: 50%;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background-color: #e8e8e8;
    color: var(--color-evening-black);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.2s ease, background-color 0.2s ease;
    margin: 0;
    padding: 0;
  }

  .link-card-carousel-section__arrow--prev {
    left: 0;
    transform: translate(-50%, -50%);
  }

  .link-card-carousel-section__arrow--next {
    right: 0;
    transform: translate(50%, -50%);
  }

  .link-card-carousel-section__arrow:hover {
    background-color: #dedede;
  }

  .link-card-carousel-section__arrow:focus-visible {
    outline: 2px solid var(--color-apple-red);
    outline-offset: 2px;
  }

  .link-card-carousel-section__arrow:disabled {
    opacity: 0.35;
    cursor: default;
  }

  .link-card-carousel-section__arrow svg {
    width: 1rem;
    height: 1rem;
    display: block;
  }

  .link-card-carousel-section__empty {
    margin: 0;
    text-align: center;
    opacity: 0.85;
  }

  @media (max-width: 767px) {
    .link-card-carousel-section__arrow {
      width: 2.35rem;
      height: 2.35rem;
    }

    .link-card-carousel-section__arrow--prev {
      left: 0.75rem;
      transform: translateY(-50%);
    }

    .link-card-carousel-section__arrow--next {
      right: 0.75rem;
      transform: translateY(-50%);
    }
  }
/* END_SECTION:link-card-carousel */

/* START_SECTION:lost-found-form (INDEX:49) */
.lost-found-form {
    position: relative;
    padding-left: var(--page-margin-mobile, 1rem);
    padding-right: var(--page-margin-mobile, 1rem);
    box-sizing: border-box;
  }

  @media (min-width: 768px) {
    .lost-found-form {
      padding-left: var(--page-margin, 1rem);
      padding-right: var(--page-margin, 1rem);
    }
  }

  .lost-found-form__bg {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 0;
  }

  .lost-found-form__card {
    position: relative;
    z-index: 1;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: var(--radius-lg);
    padding: clamp(1.5rem, 4vw, 2.75rem);
    overflow-x: clip;
  }

  .lost-found-form__intro {
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.9375);
    line-height: var(--leading-normal);
    margin: 0 0 1.25rem;
    text-align: center;
    max-width: 52rem;
    margin-inline: auto;
  }

  .lost-found-form__embed {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-x: clip;
  }

  /* Shopify Forms app: cap all inline embeds so fixed widths inside cannot blow out the card */
  .lost-found-form__embed .shopify-block,
  .lost-found-form__embed .shopify-app-block,
  .lost-found-form__embed [data-form-root],
  .lost-found-form__embed shopify-forms-embed {
    display: block;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .lost-found-form__embed iframe {
    max-width: 100%;
  }

  .lost-found-form__placeholder {
    margin: 0;
    padding: 1rem;
    text-align: center;
    font-family: var(--font-poppins);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    border: 1px dashed rgba(46, 72, 77, 0.35);
    border-radius: var(--radius-md);
    background-color: rgba(46, 72, 77, 0.04);
  }
/* END_SECTION:lost-found-form */

/* START_SECTION:mailing-list (INDEX:50) */
.mailing-list-section {
    position: relative;
    padding-left: var(--page-margin-mobile, 1rem);
    padding-right: var(--page-margin-mobile, 1rem);
    box-sizing: border-box;
  }

  @media (min-width: 768px) {
    .mailing-list-section {
      padding-left: var(--page-margin, 1rem);
      padding-right: var(--page-margin, 1rem);
    }
  }

  .mailing-list-section__bg {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 0;
  }

  .mailing-list-section__card {
    position: relative;
    z-index: 1;
    border-radius: var(--radius-lg);
    padding: clamp(1.5rem, 4vw, 2.5rem);
    width: 100%;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
  }

  .mailing-list-section__heading {
    margin: 0 0 0.75rem;
    text-align: center;
  }

  .mailing-list-section__subtext {
    margin: 0 0 1.5rem;
    line-height: var(--leading-normal);
    text-align: center;
  }

  .mailing-list-section__form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .mailing-list-section__form-errors {
    padding: 0.75rem 1rem;
    border-radius: var(--radius-md);
    background-color: rgba(0, 0, 0, 0.15);
  }

  .mailing-list-section__success {
    margin: 0;
    text-align: center;
    font-weight: 600;
  }

  .mailing-list-section__fields {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .mailing-list-section__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    text-align: left;
  }

  .mailing-list-section__label {
    font-family: var(--font-poppins);
    font-weight: 500;
  }

  .mailing-list-section__input {
    width: 100%;
    box-sizing: border-box;
    padding: 0.65rem 0.85rem;
    border: none;
    border-radius: var(--radius-md);
    background-color: var(--color-winter-white);
    color: var(--color-evening-black);
    font: inherit;
  }

  .mailing-list-section__input:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
  }

  .mailing-list-section__submit-wrap {
    display: flex;
    justify-content: center;
    margin-top: 0.25rem;
  }
/* END_SECTION:mailing-list */

/* START_SECTION:manual-attractions-grid (INDEX:51) */
.manual-attractions-grid__inner {
    width: 100%;
  }

  .manual-attractions-grid__intro .content-section__heading {
    font-family: var(--font-averia);
  }

  .manual-attractions-grid__text {
    line-height: var(--leading-normal);
  }

  .manual-attractions-grid__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--mag-gap-mobile, var(--mag-gap, 28px));
    grid-template-columns: repeat(var(--mag-cols-mobile, 1), minmax(0, 1fr));
  }

  .manual-attractions-grid__list--after-intro {
    margin-top: var(--mag-intro-gap-mobile, var(--mag-intro-gap, 40px));
  }

  @media (min-width: 768px) {
    .manual-attractions-grid__list {
      grid-template-columns: repeat(var(--mag-cols-tablet, 2), minmax(0, 1fr));
      gap: var(--mag-gap, 28px);
    }

    .manual-attractions-grid__list--after-intro {
      margin-top: var(--mag-intro-gap, 40px);
    }
  }

  @media (min-width: 1024px) {
    .manual-attractions-grid__list {
      grid-template-columns: repeat(var(--mag-cols-desktop, 3), minmax(0, 1fr));
    }
  }

  .manual-attractions-grid .attraction-card__inner {
    --attraction-card-radius: var(--mag-radius-mobile, var(--mag-radius, var(--radius-lg)));
    --attraction-card-shadow: 0 4px 24px rgba(25, 13, 26, 0.1);
    --attraction-card-shadow-hover: 0 8px 32px rgba(25, 13, 26, 0.14);
    --attraction-card-badge-bg: var(--mag-badge-bg, var(--color-dusk));
    --attraction-card-badge-fg: var(--mag-badge-fg, var(--color-winter-white));
  }

  @media (min-width: 768px) {
    .manual-attractions-grid .attraction-card__inner {
      --attraction-card-radius: var(--mag-radius, var(--radius-lg));
    }
  }

  .manual-attractions-grid__empty {
    margin: 0;
    text-align: center;
    opacity: 0.85;
  }
/* END_SECTION:manual-attractions-grid */

/* START_SECTION:media-content (INDEX:52) */
.media-content__row {
    gap: var(--media-content-col-gap);
    align-items: center;
  }

  .media-content__media-col {
    order: 1;
    min-width: 0;
  }

  .media-content__text-col {
    order: 2;
    min-width: 0;
    gap: var(--media-content-stack-gap);
  }

  @media (min-width: 768px) {
    .media-content--media-right .media-content__media-col {
      order: 2;
    }

    .media-content--media-right .media-content__text-col {
      order: 1;
    }
  }

  .media-content__figure {
    position: relative;
    margin: 0;
    aspect-ratio: var(--media-content-aspect-ratio, 4 / 3);
    border-radius: var(--media-content-radius, var(--radius-lg));
    overflow: hidden;
    background-color: rgba(46, 72, 77, 0.08);
  }

  .media-content--aspect-auto .media-content__figure {
    aspect-ratio: auto;
  }

  .media-content__img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
  }

  .media-content--aspect-auto .media-content__img {
    height: auto;
    object-fit: contain;
  }

  .media-content__heading {
    margin: 0;
    font-family: var(--font-averia);
    text-wrap: balance;
  }

  .media-content__text {
    line-height: var(--leading-normal);
    margin: 0;
  }

  .media-content__text p:first-child {
    margin-top: 0;
  }

  .media-content__text p:last-child {
    margin-bottom: 0;
  }

  @media screen and (max-width: 767px) {
    .media-content .sh--h1 {
      font-size: calc(var(--text-h1) * 0.78);
    }

    .media-content .sh--h2 {
      font-size: calc(var(--text-h2) * 0.72);
    }

    .media-content .sh--h3 {
      font-size: calc(var(--text-h3) * 0.84);
    }

    .media-content .sh--h4 {
      font-size: calc(var(--text-h4) * 0.86);
    }

    .media-content__text.rte {
      font-size: calc(var(--text-base) * 0.94);
    }

    .media-content__text.rte.u-text-body-medium {
      font-size: calc(var(--text-body-medium) * 0.94);
    }

    .media-content__text.rte.u-text-body-large {
      font-size: min(calc(var(--text-body-large) * 0.8), calc(var(--text-body-medium) * 0.97));
    }
  }
/* END_SECTION:media-content */

/* START_SECTION:media-cta (INDEX:53) */
.media-cta-section__image {
    width: 100%;
    margin-inline: auto;
  }

  .media-cta-section__image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
  }

  .media-cta-section__heading {
    font-family: var(--font-averia);
  }
/* END_SECTION:media-cta */

/* START_SECTION:plan-your-visit (INDEX:56) */
.plan-your-visit__inner--stacked {
    display: flex;
    flex-direction: column;
    gap: var(--pyv-intro-grid-gap, 40px);
  }

  .plan-your-visit__intro {
    width: 100%;
    gap: var(--pyv-intro-stack-gap, 12px);
  }

  .plan-your-visit__intro .content-section__heading {
    font-family: var(--font-averia);
  }

  .plan-your-visit__text {
    line-height: var(--leading-normal);
  }

  @media screen and (min-width: 768px) {
    .plan-your-visit[data-pyv-body-desktop='medium'] .plan-your-visit__text.rte {
      font-size: var(--text-body-medium);
    }

    .plan-your-visit[data-pyv-body-desktop='large'] .plan-your-visit__text.rte {
      font-size: var(--text-body-large);
    }
  }

  @media screen and (max-width: 767px) {
    .plan-your-visit[data-pyv-body-mobile='medium'] .plan-your-visit__text.rte {
      font-size: var(--text-body-medium);
    }

    .plan-your-visit[data-pyv-body-mobile='large'] .plan-your-visit__text.rte {
      font-size: min(calc(var(--text-body-large) * 0.8), calc(var(--text-body-medium) * 0.97));
    }
  }

  .plan-your-visit__grid {
    grid-template-columns: repeat(var(--pyv-cols-mobile, 1), minmax(0, 1fr));
    gap: var(--pyv-gap, 28px);
    list-style: none;
    margin: 0;
    padding: 0;
  }

  @media (min-width: 768px) {
    .plan-your-visit__grid {
      grid-template-columns: repeat(var(--pyv-cols-tablet, 2), minmax(0, 1fr));
    }
  }

  @media (min-width: 1024px) {
    .plan-your-visit__grid {
      grid-template-columns: repeat(var(--pyv-cols-desktop, 3), minmax(0, 1fr));
    }
  }

  .plan-your-visit__card {
    border-radius: var(--pyv-card-radius, var(--radius-lg));
    box-shadow: 0 4px 24px rgba(25, 13, 26, 0.1);
    text-decoration: none;
    color: inherit;
    aspect-ratio: var(--pyv-aspect, 4 / 3);
  }

  .plan-your-visit__card--link:focus-visible {
    outline: 2px solid var(--color-apple-red);
    outline-offset: 3px;
  }

  .plan-your-visit__card--link {
    transition: box-shadow 0.25s ease;
  }

  .plan-your-visit__card--link:hover {
    box-shadow: 0 8px 32px rgba(25, 13, 26, 0.14);
  }

  .plan-your-visit__card--link:hover .plan-your-visit__card-img {
    transform: scale(1.03);
  }

  .plan-your-visit__grid--auto .plan-your-visit__card {
    aspect-ratio: auto;
  }

  .plan-your-visit__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background-color: rgba(46, 72, 77, 0.12);
  }

  .plan-your-visit__grid--auto .plan-your-visit__media {
    position: relative;
    aspect-ratio: auto;
  }

  .plan-your-visit__grid--auto .plan-your-visit__media img,
  .plan-your-visit__grid--auto .plan-your-visit__media svg {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
  }

  .plan-your-visit__card-img {
    display: block;
    transition: transform 0.35s ease;
  }

  .plan-your-visit__scrim {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(to top, rgba(25, 13, 26, 0.75) 0%, rgba(25, 13, 26, 0.2) 45%, transparent 70%);
    pointer-events: none;
  }

  .plan-your-visit__scrim--caption {
    background: linear-gradient(to top, rgba(25, 13, 26, 0.88) 0%, rgba(25, 13, 26, 0.55) 42%, rgba(25, 13, 26, 0.15) 68%, transparent 85%);
  }

  .plan-your-visit__label {
    margin: 0;
    padding: 1rem clamp(0.875rem, 4vw + 0.5rem, 1.75rem) 1.25rem;
    box-sizing: border-box;
    text-transform: uppercase;
    color: var(--color-winter-white);
    z-index: 2;
    text-shadow: 0 1px 2px rgba(25, 13, 26, 0.35);
  }

  .plan-your-visit__caption {
    z-index: 2;
    margin: 0;
    padding: 1.25rem clamp(1rem, 4vw + 0.5rem, 1.75rem) 1.5rem;
    box-sizing: border-box;
    text-align: left;
    color: var(--color-winter-white);
    text-shadow: 0 1px 2px rgba(25, 13, 26, 0.35);
  }

  .plan-your-visit__caption-title {
    margin: 0 0 0.5rem;
    font-family: inherit;
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
  }

  .plan-your-visit__caption-text {
    margin: 0;
    font-size: var(--text-body-medium);
    font-weight: 400;
    line-height: var(--leading-normal);
    text-transform: none;
    text-wrap: pretty;
  }

  .plan-your-visit__badge {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    font-family: inherit;
    font-size: calc(var(--text-h6) * 0.88);
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    padding: 0.6rem 0.9rem;
    border-radius: 0 0 0 var(--radius-sm);
    border-top-right-radius: var(--pyv-card-radius, var(--radius-lg));
    background-color: var(--pyv-badge-bg, var(--color-dusk));
    color: var(--pyv-badge-fg, var(--color-winter-white));
    line-height: var(--leading-snug);
    max-width: 100%;
    text-align: center;
  }

  @media screen and (max-width: 767px) {
    .plan-your-visit__caption {
      padding: 1rem clamp(0.875rem, 3vw + 0.5rem, 1.25rem) 1.25rem;
    }

    .plan-your-visit__caption-title.sh--h4 {
      font-size: calc(var(--text-h4) * 0.86);
    }

    .plan-your-visit__caption-text {
      font-size: calc(var(--text-body-medium) * 0.94);
    }
  }
/* END_SECTION:plan-your-visit */

/* START_SECTION:product (INDEX:57) */
.product-page__grid {
    display: grid;
    gap: clamp(2rem, 5vw, 4rem);
    align-items: start;
  }

  @media screen and (min-width: 900px) {
    .product-page__grid {
      grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    }
  }

  /* ── Media ── */
  .product-page__hero {
    border-radius: var(--radius-lg, 12px);
    overflow: hidden;
    background-color: rgb(46 72 77 / 0.08);
    line-height: 0;
  }

  .product-page__hero:has(.product-page__hero-btn:focus-visible) {
    outline: 2px solid var(--color-dusk);
    outline-offset: 3px;
  }

  .product-page__hero-btn {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    background: none;
    color: inherit;
    cursor: zoom-in;
    line-height: 0;
  }

  .product-page__hero-btn:focus {
    outline: none;
  }

  .product-page__hero-img {
    width: 100%;
    height: auto;
    display: block;
  }

  .product-page__thumbs {
    list-style: none;
    margin: 0.6rem 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .product-page__thumb {
    padding: 0;
    background: none;
    border: 2px solid transparent;
    border-radius: var(--radius-sm, 8px);
    cursor: zoom-in;
    line-height: 0;
    overflow: hidden;
    transition: border-color 0.15s ease;
  }

  .product-page__thumb:hover,
  .product-page__thumb[aria-pressed='true'] {
    border-color: var(--color-dusk);
  }

  .product-page__thumb-img {
    width: 4.5rem;
    height: 4.5rem;
    object-fit: cover;
    display: block;
  }

  /* ── Content ── */
  .product-page__content {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .product-page__eyebrow {
    margin: 0 0 0.5rem;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.8);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide, 0.06em);
    color: var(--color-dusk, #2e484d);
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
  }

  .product-page__eyebrow-link {
    color: inherit;
    text-decoration: none;
  }

  .product-page__eyebrow-link:hover {
    text-decoration: underline;
  }

  .product-page__eyebrow-sep {
    opacity: 0.5;
  }

  .product-page__title {
    font-family: var(--font-averia);
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    line-height: var(--leading-tight, 1.2);
    margin: 0 0 0.6rem;
  }

  .product-page__price-row {
    margin: 0 0 1.25rem;
    display: flex;
    align-items: baseline;
    gap: 0.65rem;
    flex-wrap: wrap;
    font-family: var(--font-poppins);
  }

  .product-page__price {
    font-size: 1.5rem;
    font-weight: 700;
  }

  .product-page__price--sale {
    color: var(--color-apple-red, #c41e3a);
  }

  .product-page__compare {
    font-size: 1rem;
    opacity: 0.6;
    font-weight: 400;
  }

  .product-page__desc {
    font-family: var(--font-poppins);
    font-weight: 300;
    font-size: calc(var(--text-base) * 0.975);
    line-height: var(--leading-normal, 1.55);
    margin: 0 0 1.25rem;
    color: inherit;
  }

  .product-page__desc p {
    margin-block: 0 0.75rem;
  }

  .product-page__divider {
    border: none;
    border-top: 1px solid rgb(46 72 77 / 0.18);
    margin: 0 0 1.5rem;
  }

  /* ── Form ── */
  .product-page__form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .product-page__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
  }

  .product-page__field-label {
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.825);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-dusk, #2e484d);
  }

  .product-page__select-wrap {
    position: relative;
  }

  .product-page__select {
    appearance: none;
    width: 100%;
    font-family: var(--font-poppins);
    font-size: 1rem;
    font-weight: 400;
    padding: 0.7rem 2.5rem 0.7rem 0.85rem;
    border-radius: var(--radius-sm, 8px);
    border: 1.5px solid rgb(46 72 77 / 0.3);
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232e484d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.85rem center;
    cursor: pointer;
    color: inherit;
  }

  .product-page__select:focus {
    outline: 2px solid var(--color-dusk);
    outline-offset: 2px;
    border-color: transparent;
  }

  /* Qty + ATC inline row */
  .product-page__purchase-row {
    display: flex;
    gap: 0.75rem;
    align-items: flex-end;
    flex-wrap: wrap;
  }

  .product-page__qty-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    flex-shrink: 0;
  }

  .product-page__qty-label {
    white-space: nowrap;
  }

  .product-page__qty-controls {
    display: flex;
    align-items: stretch;
    border: 1.5px solid rgb(46 72 77 / 0.3);
    border-radius: var(--radius-sm, 8px);
    overflow: hidden;
    height: 2.85rem;
  }

  .product-page__qty-btn {
    width: 2.5rem;
    padding: 0;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1;
    border: none;
    background: transparent;
    cursor: pointer;
    color: var(--color-dusk, #2e484d);
    transition: background 0.12s ease;
    flex-shrink: 0;
  }

  .product-page__qty-btn:hover {
    background: rgb(46 72 77 / 0.08);
  }

  .product-page__qty {
    width: 3rem;
    border: none;
    border-left: 1.5px solid rgb(46 72 77 / 0.2);
    border-right: 1.5px solid rgb(46 72 77 / 0.2);
    text-align: center;
    font-family: var(--font-poppins);
    font-size: 1rem;
    background: transparent;
    color: inherit;
    appearance: textfield;
  }

  .product-page__qty::-webkit-inner-spin-button,
  .product-page__qty::-webkit-outer-spin-button {
    appearance: none;
  }

  .product-page__atc {
    flex: 1;
    min-width: 10rem;
    height: 2.85rem;
    white-space: nowrap;
  }

  .product-page__atc[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
  }

  .product-page__dynamic-checkout {
    margin-top: -0.25rem;
  }

  /* "More payment options" link rendered by Shopify's payment_button. */
  /* Force a dark, on-brand color so it stays readable on light backgrounds. */
  .product-page__dynamic-checkout .shopify-payment-button__more-options {
    color: var(--color-evening-black, #190d1a);
    opacity: 1;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.9);
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }

  .product-page__dynamic-checkout .shopify-payment-button__more-options:hover,
  .product-page__dynamic-checkout .shopify-payment-button__more-options:focus-visible {
    color: var(--color-dusk, #2e484d);
    opacity: 1;
  }

  /* ── Meta ── */
  .product-page__meta {
    margin: 1.25rem 0 0;
    padding-top: 1.25rem;
    border-top: 1px solid rgb(46 72 77 / 0.15);
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.875);
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }

  .product-page__meta-row {
    display: grid;
    grid-template-columns: 6rem 1fr;
    gap: 0.5rem;
    align-items: baseline;
  }

  .product-page__meta-row dt {
    margin: 0;
    font-weight: 600;
    color: var(--color-dusk, #2e484d);
  }

  .product-page__meta-row dd {
    margin: 0;
  }

  .product-page__tags {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem 0.6rem;
  }

  .product-page__tags a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
  }
/* END_SECTION:product */

/* START_SECTION:search (INDEX:58) */
.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:shape-divider (INDEX:59) */
.shape-divider-strip {
    position: relative;
    width: 100%;
    overflow: hidden;
    line-height: 0;
  }

  .shape-divider-strip__svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .shape-divider-strip__svg--flip {
    transform: scaleX(-1);
  }

  .shape-divider-strip__svg--invert {
    transform: scaleY(-1);
  }

  .shape-divider-strip__svg--flip.shape-divider-strip__svg--invert {
    transform: scale(-1, -1);
  }
/* END_SECTION:shape-divider */

/* START_SECTION:slider (INDEX:60) */
.slider-section__header {
    margin-bottom: 2rem;
  }

  .slider-section__heading {
    text-align: center;
  }

  .slider-section__heading-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
  }

  .slider-section__heading-text {
    font-family: var(--font-averia);
    text-align: center;
  }

  /* Non-active slides are faded */
  .slider-section .splide__slide {
    opacity: 0.45;
    transition: opacity 0.3s ease;
  }

  .slider-section .splide__slide.is-active {
    opacity: 1;
  }

  /* Slide layout: image left, content right */
  .slider-slide__inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2.5rem;
  }

  /* Circular image */
  .slider-slide__image {
    flex-shrink: 0;
    width: 45%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
  }

  .slider-slide__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .slider-slide__content {
    flex: 1;
    min-width: 0;
    gap: 2rem;
  }

  .slider-slide__heading {
    font-family: var(--font-averia);
    margin: 0;
    text-wrap: balance;
  }

  /* Badge */
  .slider-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.65rem;
    border-radius: var(--radius-pill);
    font-family: var(--font-poppins);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    width: fit-content;
  }

  /* Inline links */
  .slider-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.1rem 0;
  }

  .slider-link {
    white-space: nowrap;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 1.0625);
    font-weight: 600;
    line-height: var(--leading-snug);
    text-decoration: none;
    border-bottom: 2px solid currentColor;
    color: inherit;
    transition: opacity 0.15s ease;
  }

  .slider-link:hover {
    opacity: 0.7;
  }

  .slider-link-sep {
    margin: 0 0.45rem;
    opacity: 0.4;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 1.0625);
    font-weight: 400;
    user-select: none;
  }

  .slider-section__carousel {
    position: relative;
  }

  .slider-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 1rem 0;
  }

  .slider-arrow {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background-color: var(--color-dusk);
    border: none;
    color: var(--color-winter-white);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.2s ease;
    flex-shrink: 0;
  }

  .slider-arrow:hover {
    opacity: 0.85;
  }

  .slider-arrow:disabled {
    opacity: 0.3;
    cursor: default;
  }

  .slider-arrow svg {
    width: 1rem;
    height: 1rem;
    display: block;
  }

  @media (max-width: 767px) {
    .slider-section__header {
      margin-bottom: 1.25rem;
    }

    .slider-section__carousel .slider-controls {
      position: absolute;
      top: 50%;
      left: 0;
      right: 0;
      z-index: 2;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0 var(--page-margin-mobile, 1rem);
      margin: 0;
      transform: translateY(-50%);
      pointer-events: none;
    }

    .slider-section__carousel .slider-arrow {
      pointer-events: auto;
    }

    .slider-section .splide__slide {
      opacity: 1;
    }

    .slider-section .splide__slide:not(.is-active) {
      opacity: 0.35;
    }

    .slider-slide__inner {
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 1.25rem;
      padding-inline: 2.75rem;
    }

    .slider-slide__image {
      width: min(72vw, 17.5rem);
      margin-inline: auto;
    }

    .slider-slide__content {
      align-items: center;
      justify-content: center;
      width: 100%;
      gap: 1rem;
    }

    .slider-slide__heading {
      max-width: 22rem;
    }

    .slider-slide__heading.sh--h1 {
      font-size: calc(var(--text-h1) * 0.78);
    }

    .slider-slide__heading.sh--h2 {
      font-size: calc(var(--text-h2) * 0.72);
    }

    .slider-slide__heading.sh--h3 {
      font-size: calc(var(--text-h3) * 0.84);
    }

    .slider-slide__heading.sh--h4 {
      font-size: calc(var(--text-h4) * 0.86);
    }

    .slider-badge {
      font-size: 0.65rem;
    }

    .slider-links {
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center;
      gap: 0.1rem 0;
    }

    .slider-link {
      white-space: nowrap;
      font-size: calc(var(--text-base) * 1);
    }

    .slider-link-sep {
      display: inline;
    }

    .slider-slide__content .btn {
      align-self: center;
    }
  }
/* END_SECTION:slider */

/* START_SECTION:split-showcase (INDEX:61) */
.split-showcase__inner {
    padding-top: var(--section-pad-top-mobile);
    padding-bottom: var(--section-pad-bottom-mobile);
  }

  @media (min-width: 768px) {
    .split-showcase__inner {
      padding-top: var(--section-pad-top);
      padding-bottom: var(--section-pad-bottom);
    }
  }

  /* Stacked: collage first, then copy (same for both media_position values). */
  .split-showcase__collage-wrap {
    order: 1;
    min-width: 0;
  }

  .split-showcase__text-col {
    order: 2;
    min-width: 0;
  }

  .split-showcase__row {
    gap: var(--split-showcase-col-gap);
  }

  @media (min-width: 768px) {
    .split-showcase__row {
      align-items: center;
    }

    .split-showcase__text-col {
      justify-content: center;
    }

    .split-showcase--media-right .split-showcase__collage-wrap {
      order: 2;
    }

    .split-showcase--media-right .split-showcase__text-col {
      order: 1;
    }

    /* Less copy: cap collage height so photos don’t tower over sparse text. */
    .split-showcase--short-copy .split-showcase__collage {
      width: 100%;
      max-height: 40rem;
      aspect-ratio: 1 / 1;
    }
  }

  /*
   * Flat 2×2 grid (same topology as feature-card): one cell spans both rows on the
   * left, two cells on the right. aspect-ratio gives the grid a definite height so
   * 1fr rows resolve — no empty quadrants, no mismatched column heights.
   */
  .split-showcase__collage {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    min-height: 20rem;
    aspect-ratio: 1 / 1;
  }

  .split-showcase__collage-cell--tall {
    grid-row: span 2;
  }

  .split-showcase__collage-cell {
    position: relative;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
  }

  .split-showcase__img {
    display: block;
  }

  @media (max-width: 767px) {
    .split-showcase__collage {
      aspect-ratio: unset;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: auto minmax(11rem, auto);
      max-height: none;
    }

    .split-showcase__collage-cell--tall {
      grid-column: 1 / -1;
      grid-row: 1;
      aspect-ratio: 1 / 1;
      min-height: 0;
    }
  }

  .split-showcase__heading {
    margin: 0;
    font-family: var(--font-averia);
  }

  .split-showcase__text {
    line-height: var(--leading-normal);
  }
/* END_SECTION:split-showcase */

/* START_SECTION:ticket-cards (INDEX:62) */
.ticket-cards__inner {
    width: 100%;
  }

  .ticket-cards__empty {
    margin: 0;
    font-family: var(--font-poppins);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    text-align: center;
    opacity: 0.85;
  }

  .ticket-cards__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  @media (min-width: 768px) {
    .ticket-cards__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 1024px) {
    .ticket-cards__grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  .ticket-cards__item {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    align-self: stretch;
  }

  /* Fills grid cell; promo is out of flow so all articles share one height */
  .ticket-card-stack {
    position: relative;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    width: 100%;
  }

  .ticket-card {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 0;
    border-radius: var(--radius-lg);
    box-shadow: 0 4px 24px rgba(25, 13, 26, 0.08);
    border: 2px solid rgba(46, 72, 77, 0.12);
    overflow: hidden;
  }

  .ticket-card-stack--has-promo .ticket-card {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  .ticket-card--featured {
    border-color: var(--color-dusk);
    box-shadow: 0 8px 32px rgba(46, 72, 77, 0.2);
  }

  /* Sits above the white card; does not steal flex height from the body */
  .ticket-card__promo-bar {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0.7rem 1rem;
    border-style: solid;
    border-width: 2px 2px 0 2px;
    border-color: rgba(46, 72, 77, 0.12);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    font-family: var(--font-poppins);
    font-size: var(--text-h6);
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    text-align: center;
    color: var(--color-winter-white);
    line-height: var(--leading-normal);
  }

  .ticket-card__promo-bar--featured {
    border-color: var(--color-dusk);
  }

  /* Stacked layouts only: absolute promo sits outside the grid cell and overlaps the card above. */
  @media (max-width: 1023px) {
    .ticket-card__promo-bar {
      position: static;
      flex-shrink: 0;
      width: 100%;
    }
  }

  .ticket-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    gap: 0.75rem;
    padding: 1.25rem 1.25rem 1.5rem;
  }

  .ticket-card__title {
    margin: 0;
    font-family: var(--font-poppins);
    font-size: var(--text-h5);
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    line-height: var(--leading-snug);
  }

  @media (min-width: 768px) {
    .ticket-card__title {
      font-size: var(--text-h4);
    }
  }

  .ticket-card__subtitle {
    margin: 0;
    font-family: var(--font-poppins);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    opacity: 0.92;
  }

  /* One row: prices + note (theme editor: Pricing typography) */
  .ticket-card__price-line {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: baseline;
    gap: var(--ticket-card-price-gap, 6px);
    min-width: 0;
  }

  .ticket-card__price-row {
    display: flex;
    flex-wrap: nowrap;
    flex: 0 1 auto;
    align-items: baseline;
    gap: 0.35rem;
    min-width: 0;
  }

  .ticket-card__price {
    font-family: var(--font-averia);
    font-weight: 700;
    line-height: 1.1;
  }

  .ticket-card__price--current {
    font-size: var(--ticket-card-price-current, 1.25rem);
    flex-shrink: 0;
  }

  .ticket-card__price--was {
    font-size: var(--ticket-card-price-was, 0.75rem);
    text-decoration: line-through;
    opacity: 0.75;
    flex-shrink: 0;
  }

  .ticket-card__price-note {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-family: var(--font-poppins);
    font-size: var(--ticket-card-price-note, 0.6875rem);
    line-height: var(--leading-normal);
    opacity: 0.88;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .ticket-card__cta {
    margin-top: 0.25rem;
    align-self: stretch;
    text-align: center;
    justify-content: center;
  }

  .ticket-card__includes {
    padding-top: 1rem;
  }

  .ticket-card__includes-label {
    margin: 0 0 0.5rem;
    font-family: var(--font-poppins);
    font-size: var(--text-h6);
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
  }

  .ticket-card__includes-list {
    list-style: disc;
    margin: 0;
    padding-left: 1.1rem;
    font-family: var(--font-poppins);
    font-size: var(--text-base);
    line-height: var(--leading-loose);
  }

  .ticket-card__includes-list li {
    padding-left: 0.15rem;
  }

  /* Session rows: full-width horizontal bars (e.g. Farm Camp) */
  .ticket-cards--layout-rows .ticket-cards__grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .ticket-cards--layout-rows .ticket-card {
    border: none;
    box-shadow: none;
    border-radius: var(--radius-md);
  }

  .ticket-cards--layout-rows .ticket-card__body {
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
    padding: 1rem 1.15rem;
  }

  @media (min-width: 768px) {
    .ticket-cards--layout-rows .ticket-card__body {
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      gap: 1rem 1.25rem;
      padding: 0.9rem 1.25rem;
    }
  }

  .ticket-cards--layout-rows .ticket-card__date {
    flex: 0 0 auto;
    min-width: 6.5rem;
    font-weight: 600;
    opacity: 1;
    text-transform: none;
    letter-spacing: normal;
  }

  @media (min-width: 768px) {
    .ticket-cards--layout-rows .ticket-card__title {
      flex: 1 1 auto;
      min-width: 0;
      font-size: var(--text-h6);
      margin-right: auto;
    }
  }

  .ticket-cards--layout-rows .ticket-card__price-line {
    flex: 0 0 auto;
    margin-left: auto;
  }

  .ticket-cards--layout-rows .ticket-card__price-note {
    display: none;
  }

  .ticket-cards--layout-rows .ticket-card__cta {
    margin-top: 0;
    align-self: stretch;
    flex-shrink: 0;
  }

  @media (min-width: 768px) {
    .ticket-cards--layout-rows .ticket-card__cta {
      align-self: center;
      min-width: 7.5rem;
      width: auto;
    }
  }
/* END_SECTION:ticket-cards */

/* START_SECTION:you-pick-crop-detail (INDEX:63) */
.you-pick-crop-detail__grid {
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: start;
  }

  @media screen and (min-width: 900px) {
    .you-pick-crop-detail__grid {
      grid-template-columns: minmax(0, 0.45fr) minmax(0, 0.55fr);
    }
  }

  .you-pick-crop-detail__hero {
    border-radius: var(--yp-crop-media-radius, var(--radius-lg));
    overflow: hidden;
    background-color: rgba(46, 72, 77, 0.12);
  }

  .you-pick-crop-detail__hero-btn {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    background: none;
    cursor: zoom-in;
    line-height: 0;
    border-radius: inherit;
  }

  .you-pick-crop-detail__hero-btn:focus-visible {
    outline: 2px solid var(--color-apple-red);
    outline-offset: 2px;
  }

  .you-pick-crop-detail__main-img {
    width: 100%;
    height: auto;
    display: block;
  }

  .you-pick-crop-detail__breadcrumb-list {
    list-style: none;
    margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
    padding: 0;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.875);
    font-weight: 400;
    line-height: var(--leading-snug);
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
  }

  .you-pick-crop-detail__breadcrumb-item {
    display: inline;
  }

  .you-pick-crop-detail__breadcrumb-item:not(:last-child)::after {
    content: ' / ';
    opacity: 0.55;
  }

  .you-pick-crop-detail__breadcrumb-item a {
    color: inherit;
    text-decoration: none;
  }

  .you-pick-crop-detail__breadcrumb-item a:hover {
    text-decoration: underline;
  }

  .you-pick-crop-detail__breadcrumb-item--current {
    opacity: 0.85;
  }

  .you-pick-crop-detail__title {
    margin: 0 0 clamp(1.25rem, 3vw, 1.5rem);
  }

  .you-pick-crop-detail__season-block {
    margin-top: 1.75rem;
    padding-top: 1.75rem;
    border-top: 1px solid rgba(46, 72, 77, 0.15);
  }

  .you-pick-crop-detail__season-heading {
    margin: 0 0 0.5rem;
  }

  .you-pick-crop-detail__season-text {
    margin: 0;
    font-family: var(--font-poppins);
    font-weight: 400;
    line-height: var(--leading-normal);
    white-space: pre-line;
  }

  .you-pick-crop-detail__jump-wrap {
    margin: 0 0 clamp(1.5rem, 3.5vw, 2rem);
  }

  .you-pick-crop-detail__jump-link {
    display: inline-flex;
    text-decoration: none;
  }

  .you-pick-crop-detail__pick-status {
    margin: 0 0 clamp(1.5rem, 3.5vw, 2rem);
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-family: var(--font-poppins);
    font-weight: 600;
    line-height: var(--leading-snug);
    color: var(--color-clover);
  }

  .you-pick-crop-detail__pick-status-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--color-clover);
  }

  .you-pick-crop-detail__pick-status-icon .icon-check,
  .you-pick-crop-detail__pick-status-icon .icon-hourglass,
  .you-pick-crop-detail__pick-status-icon .icon-season-done {
    display: block;
  }

  .you-pick-crop-detail__introduction {
    margin: 0 0 1.5rem;
  }

  .you-pick-crop-detail__introduction p + p {
    margin-top: 1rem;
  }

  .you-pick-crop-detail__fallback {
    margin: 0;
    text-align: center;
    font-family: var(--font-poppins);
  }
/* END_SECTION:you-pick-crop-detail */

/* START_SECTION:you-pick-list (INDEX:64) */
.you-pick-list__inner {
    width: 100%;
  }

  .you-pick-list__rows {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--yp-row-gap);
  }

  .you-pick-list__row {
    margin: 0;
  }

  .you-pick-list__bar {
    box-sizing: border-box;
    display: grid;
    grid-template-columns:
      var(--yp-thumb)
      minmax(0, var(--yp-title-col, 14%))
      minmax(7.5rem, var(--yp-status-col, 14%))
      minmax(0, 1fr)
      auto;
    align-items: center;
    column-gap: clamp(1rem, 2.5vw, 2rem);
    min-height: 5.5rem;
    padding: var(--yp-bar-pad-y) var(--yp-bar-pad-x);
    background-color: var(--yp-bar-bg);
    border-radius: var(--yp-bar-radius);
    color: var(--color-winter-white);
  }

  .you-pick-list__thumb-wrap {
    flex-shrink: 0;
    width: var(--yp-thumb);
    height: var(--yp-thumb);
    border-radius: 50%;
    overflow: hidden;
    background-color: rgba(255, 255, 255, 0.12);
    justify-self: center;
  }

  .you-pick-list__thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .you-pick-list__thumb-img--placeholder {
    background-color: rgba(255, 255, 255, 0.08);
  }

  .you-pick-list__title-col {
    min-width: 0;
    align-self: center;
  }

  .you-pick-list__title {
    margin: 0;
    font-family: var(--font-averia);
    font-size: clamp(1.25rem, 1.1rem + 0.55vw, 1.625rem);
    font-weight: 700;
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
    color: var(--color-winter-white);
  }

  .you-pick-list__status-col {
    min-width: 0;
    align-self: center;
  }

  .you-pick-list__status {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.8125);
    font-weight: 400;
    line-height: var(--leading-snug);
    color: var(--color-winter-white);
    opacity: 0.95;
  }

  .you-pick-list__status-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: currentColor;
  }

  .you-pick-list__status-icon .icon-check,
  .you-pick-list__status-icon .icon-hourglass,
  .you-pick-list__status-icon .icon-season-done {
    display: block;
  }

  .you-pick-list__status--empty {
    visibility: hidden;
  }

  .you-pick-list__description {
    margin: 0;
    min-width: 0;
    max-width: var(--yp-desc-max, 520px);
    justify-self: start;
    font-family: var(--font-poppins);
    font-size: calc(var(--text-base) * 0.9);
    font-weight: 400;
    line-height: var(--leading-normal);
    color: var(--color-winter-white);
    opacity: 0.95;
    align-self: center;
  }

  .you-pick-list__description p {
    margin: 0;
  }

  .you-pick-list__description--empty {
    visibility: hidden;
  }

  .you-pick-list__cta-wrap {
    justify-self: end;
    align-self: center;
    flex-shrink: 0;
  }

  .you-pick-list__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 1.25rem;
    font-family: var(--font-poppins);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    text-decoration: none;
    border-radius: var(--radius-md);
    background-color: var(--yp-cta-bg);
    color: var(--yp-cta-fg);
    border: none;
    cursor: pointer;
    transition: opacity 0.2s ease;
    white-space: nowrap;
  }

  .you-pick-list__cta:hover {
    opacity: 0.9;
  }

  .you-pick-list__cta:focus-visible {
    outline: 2px solid var(--color-corn-pool);
    outline-offset: 2px;
  }

  .you-pick-list__empty {
    margin: 0;
    text-align: center;
    max-width: 36rem;
    margin-inline: auto;
    font-family: var(--font-poppins);
  }

  @media screen and (max-width: 767px) {
    .you-pick-list__bar {
      grid-template-columns: var(--yp-thumb) minmax(0, 1fr);
      grid-template-areas:
        'thumb title'
        'status status'
        'desc desc'
        'cta cta';
      row-gap: 0.75rem;
      align-items: start;
    }

    .you-pick-list__thumb-wrap {
      grid-area: thumb;
    }

    .you-pick-list__title-col {
      grid-area: title;
    }

    .you-pick-list__status-col {
      grid-area: status;
    }

    .you-pick-list__description {
      grid-area: desc;
      max-width: none;
      width: 100%;
    }

    .you-pick-list__cta-wrap {
      grid-area: cta;
      justify-self: stretch;
    }

    .you-pick-list__cta {
      width: 100%;
    }
  }
/* END_SECTION:you-pick-list */

/* CSS from block stylesheet tags */
/* START_BLOCK:group (INDEX:65) */
.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:66) */
.text {
    text-align: var(--text-align);
  }
/* END_BLOCK:text */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:hero-media (INDEX:84) */
.hero__placeholder {
    width: 100%;
    height: 100%;
  }
/* END_SNIPPET:hero-media */

/* START_SNIPPET:image (INDEX:91) */
.image {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto;
  }

  .image > img {
    width: 100%;
    height: auto;
  }
/* END_SNIPPET:image */