/** Shopify CDN: Minification failed

Line 3063:2 All "@import" rules must come first
Line 9254:0 All "@import" rules must come first

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:aurean-glass-404 (INDEX:0) */
.ag-404 {
    background: var(--bg);
    min-height: calc(100vh - 200px);
    display: flex;
    align-items: center;
    padding: 8rem 0 8rem;
  }
  .ag-404__inner {
    text-align: center;
    max-width: 580px;
    margin: 0 auto;
  }
  .ag-404__eyebrow {
    color: var(--text-muted);
    margin-bottom: 1.4rem;
  }
  .ag-404__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2.6rem, 6vw, 4.4rem);
    line-height: 1.04;
    letter-spacing: -0.025em;
    margin-bottom: 1.2rem;
  }
  .ag-404__body {
    font-family: var(--body);
    font-size: 1.05rem;
    line-height: 1.55;
    color: var(--text-muted);
    margin-bottom: 2.2rem;
  }
  .ag-404__body p + p { margin-top: 0.6rem; }
  .ag-404__ctas {
    display: flex;
    gap: 0.6rem;
    justify-content: center;
    flex-wrap: wrap;
  }
  .ag-404__ctas .btn-ghost { border-color: var(--border); color: var(--text); }
  .ag-404__search {
    margin-top: 2.4rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.6rem 0.5rem 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-pill);
    transition: border-color var(--dur-fast) var(--ease-out-soft);
  }
  .ag-404__search:focus-within { border-color: var(--text); }
  .ag-404__search input {
    flex: 1;
    background: transparent;
    border: 0;
    outline: 0;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    font-family: var(--body);
    font-size: 1rem;
    color: var(--text);
    padding: 0.5rem 0;
  }
  .ag-404__search input:focus,
  .ag-404__search input:focus-visible {
    outline: 0 !important;
    border-radius: 0 !important;
  }
  .ag-404__search input::placeholder { color: var(--text-muted); }
  .ag-404__search input::-webkit-search-decoration,
  .ag-404__search input::-webkit-search-cancel-button { -webkit-appearance: none; display: none; }
  .ag-404__search button {
    padding: 0.5rem 1rem;
    border-radius: var(--radius-pill);
    background: var(--bg-dark);
    color: var(--text-light);
    border: 1px solid var(--bg-dark);
    font-family: var(--body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity var(--dur-fast) var(--ease-out-soft);
  }
  .ag-404__search button:hover { opacity: 0.85; }

  @media (max-width: 600px) {
    .ag-404 { padding: 6rem 0 6rem; }
  }
/* END_SECTION:aurean-glass-404 */

/* START_SECTION:aurean-glass-about (INDEX:1) */
.ag-about {
    padding: 9rem 0 7rem;
    background: var(--bg);
  }
  .ag-about__hero {
    text-align: center;
    margin-bottom: 5rem;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }
  .ag-about__eyebrow {
    color: var(--text-muted);
    margin-bottom: 1.2rem;
  }
  .ag-about__heading {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2rem, 4.5vw, 2.8rem);
    line-height: 1.12;
    letter-spacing: -0.022em;
    color: var(--text);
    margin: 0 auto 1.4rem;
    text-wrap: balance;
  }
  .ag-about__lead {
    font-family: var(--body);
    font-size: 1.08rem;
    line-height: 1.65;
    color: var(--text);
    margin: 0 auto;
    max-width: 540px;
    text-wrap: pretty;
  }

  .ag-about__chapters {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    max-width: 640px;
    margin: 0 auto;
  }

  .ag-about__chapter,
  .ag-about__founder {
    display: block;
  }
  .ag-about__chapter-eyebrow {
    color: var(--text-muted);
    margin-bottom: 0.7rem;
  }
  .ag-about__chapter-title {
    font-family: var(--sans);
    font-weight: 600;
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: var(--text);
    margin: 0 0 1rem;
    text-wrap: balance;
  }
  .ag-about__chapter-body {
    font-family: var(--body);
    font-size: 1.02rem;
    line-height: 1.7;
    color: var(--text);
  }
  .ag-about__chapter-body p {
    margin: 0 0 1rem;
  }
  .ag-about__chapter-body p:last-child {
    margin-bottom: 0;
  }

  .ag-about__founder {
    padding-top: 2.5rem;
    border-top: 1px solid var(--border);
  }
  .ag-about__founder-body {
    font-family: var(--body);
    font-size: 1.02rem;
    line-height: 1.7;
    color: var(--text);
    font-style: italic;
  }
  .ag-about__founder-body p {
    margin: 0 0 1rem;
  }
  .ag-about__founder-body p:last-child {
    margin-bottom: 0.6rem;
  }
  .ag-about__founder-signature {
    font-family: var(--body);
    font-size: 0.95rem;
    color: var(--text-muted);
    margin: 0.7rem 0 0;
    font-style: normal;
  }

  .ag-about__cta {
    max-width: 640px;
    margin: 5rem auto 0;
    padding-top: 3rem;
    border-top: 1px solid var(--border);
    text-align: center;
  }
  .ag-about__cta-lead {
    font-family: var(--body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0 0 1.5rem;
  }
  .ag-about__cta-row {
    display: flex;
    gap: 1rem;
    justify-content: center;
  }
  .ag-about__cta-btn {
    flex: 1;
    max-width: 260px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.1rem 1.6rem;
    border-radius: var(--radius-pill);
    text-decoration: none;
    background: var(--button);
    color: var(--text-light);
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .ag-about__cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.16);
  }
  .ag-about__cta-btn:focus-visible {
    outline: 2px solid var(--text);
    outline-offset: 3px;
  }

  @media (max-width: 768px) {
    .ag-about { padding: 8rem 0 5rem; }
    .ag-about__hero { margin-bottom: 3.5rem; }
    .ag-about__chapters { gap: 3rem; }
    .ag-about__cta { margin-top: 3.5rem; padding-top: 2.5rem; }
    .ag-about__cta-row { flex-direction: column; max-width: 320px; margin: 0 auto; }
    .ag-about__cta-btn { max-width: none; padding: 1rem 1.5rem; font-size: 0.72rem; }
  }
/* END_SECTION:aurean-glass-about */

/* START_SECTION:aurean-glass-buyband (INDEX:2) */
.ag-buyband {
    padding: 3rem 2rem;
    background: var(--bg);
  }
  .ag-buyband__inner {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
  }
  .ag-buyband__eyebrow {
    font-family: var(--body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 1.2rem;
  }
  .ag-buyband__ctas {
    display: flex;
    gap: 1rem;
    justify-content: center;
  }
  .ag-buyband__cta {
    flex: 1;
    max-width: 280px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.1rem 1.6rem;
    border-radius: var(--radius-pill);
    text-decoration: none;
    background: var(--button);
    color: var(--text-light);
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .ag-buyband__cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.16);
  }
  .ag-buyband__cta:focus-visible {
    outline: 2px solid var(--text);
    outline-offset: 3px;
  }
  @media (max-width: 600px) {
    .ag-buyband { padding: 2rem 1.2rem; }
    .ag-buyband__eyebrow { margin-bottom: 0.9rem; font-size: 0.6rem; letter-spacing: 0.28em; }
    .ag-buyband__ctas { flex-direction: column; gap: 0.7rem; max-width: 320px; margin: 0 auto; }
    .ag-buyband__cta { max-width: none; padding: 1rem 1.5rem; font-size: 0.72rem; }
  }
/* END_SECTION:aurean-glass-buyband */

/* START_SECTION:aurean-glass-cart (INDEX:3) */
.ag-cart { padding: 7rem 0 6rem; background: var(--bg); min-height: calc(100vh - 200px); }
  .ag-cart__preview-banner {
    background: var(--bg-card);
    border: 1px dashed var(--text-muted);
    border-radius: 12px;
    padding: 0.7rem 1rem;
    font-family: var(--body);
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-bottom: 2rem;
    line-height: 1.5;
  }

  /* EMPTY STATE */
  .ag-cart__empty {
    text-align: center;
    padding: 6rem 1rem 4rem;
    max-width: 580px;
    margin: 0 auto;
  }
  .ag-cart__empty-title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2.4rem, 5vw, 3.6rem);
    line-height: 1.05;
    letter-spacing: -0.025em;
    margin: 0.6rem 0 1rem;
  }
  .ag-cart__empty-lead {
    font-size: 1.05rem;
    color: var(--text-muted);
    line-height: 1.55;
    margin-bottom: 2rem;
  }
  .ag-cart__empty-ctas {
    display: flex;
    gap: 0.6rem;
    justify-content: center;
    flex-wrap: wrap;
  }
  .ag-cart__empty .btn-ghost { border-color: var(--border); color: var(--text); }

  /* HEAD */
  .ag-cart__head { margin-bottom: 2.5rem; }
  .ag-cart__head-row {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    margin-top: 0.6rem;
  }
  .ag-cart__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1;
    letter-spacing: -0.025em;
  }
  .ag-cart__count {
    font-family: var(--body);
    font-size: 0.92rem;
    color: var(--text-muted);
  }

  /* LAYOUT */
  .ag-cart__layout {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 4rem;
    align-items: flex-start;
  }

  /* ITEMS */
  .ag-cart__list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--border);
  }
  .ag-cart__item {
    display: grid;
    grid-template-columns: 120px 1fr auto auto;
    gap: 1.2rem;
    align-items: center;
    padding: 1.6rem 0;
    border-bottom: 1px solid var(--border);
    transition: opacity var(--dur-fast) var(--ease-out-soft);
  }
  .ag-cart__item[data-loading="true"] { opacity: 0.5; pointer-events: none; }
  .ag-cart__media {
    display: block;
    aspect-ratio: 1;
    border-radius: 14px;
    overflow: hidden;
    background: var(--bg-card);
  }
  .ag-cart__media img { width: 100%; height: 100%; object-fit: cover; }

  .ag-cart__meta { display: flex; flex-direction: column; gap: 0.3rem; }
  .ag-cart__name {
    font-family: var(--sans);
    font-weight: 600;
    font-size: 1.05rem;
    color: var(--text);
    line-height: 1.2;
    letter-spacing: -0.005em;
  }
  .ag-cart__name:hover { text-decoration: underline; text-underline-offset: 3px; }
  .ag-cart__variant {
    font-family: var(--body);
    font-size: 0.86rem;
    color: var(--text-muted);
  }
  .ag-cart__remove {
    align-self: flex-start;
    margin-top: 0.4rem;
    background: transparent;
    border: none;
    padding: 0;
    font-family: var(--body);
    font-size: 0.78rem;
    color: var(--text-muted);
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
    transition: color var(--dur-fast) var(--ease-out-soft);
  }
  .ag-cart__remove:hover { color: var(--text); }

  /* QTY */
  .ag-cart__qty {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: transparent;
    overflow: hidden;
  }
  .ag-cart__qty-btn {
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    cursor: pointer;
    color: var(--text);
    font-family: var(--body);
    font-size: 1rem;
    transition: background var(--dur-fast) var(--ease-out-soft);
  }
  .ag-cart__qty-btn:hover { background: var(--bg-card); }
  .ag-cart__qty-input {
    width: 40px;
    height: 36px;
    border: none;
    text-align: center;
    background: transparent;
    font-family: var(--body);
    font-size: 0.9rem;
    color: var(--text);
    -moz-appearance: textfield;
    appearance: textfield;
  }
  .ag-cart__qty-input::-webkit-outer-spin-button,
  .ag-cart__qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
  .ag-cart__qty-input:focus { outline: none; }

  .ag-cart__price { text-align: right; min-width: 80px; }
  .ag-cart__line-price {
    font-family: var(--price);
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--text);
  }
  .ag-cart__line-original {
    font-family: var(--price);
    font-size: 0.88rem;
    color: var(--text-muted);
    text-decoration: line-through;
  }

  /* SUMMARY */
  .ag-cart__summary { position: sticky; top: 5.5rem; }
  .ag-cart__summary-card {
    padding: 2rem 1.8rem;
    border-radius: var(--radius-card);
    background: var(--bg-card);
    border: 1px solid var(--border);
  }
  .ag-cart__summary-title {
    font-family: var(--sans);
    font-weight: 600;
    font-size: 1.1rem;
    margin-bottom: 1.2rem;
  }
  .ag-cart__totals {
    margin: 0 0 1.2rem;
    padding-bottom: 1.2rem;
    border-bottom: 1px solid var(--border);
  }
  .ag-cart__totals > div {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 0.4rem 0;
  }
  .ag-cart__totals dt {
    font-family: var(--body);
    font-size: 0.92rem;
    color: var(--text-muted);
    margin: 0;
  }
  .ag-cart__totals dd {
    font-family: var(--body);
    font-size: 0.92rem;
    color: var(--text);
    margin: 0;
  }
  .ag-cart__total-row {
    border-top: 1px solid var(--border);
    margin-top: 0.6rem;
    padding-top: 0.8rem !important;
  }
  .ag-cart__total-row dt, .ag-cart__total-row dd {
    font-family: var(--sans);
    font-weight: 500;
    font-size: 1.05rem;
    color: var(--text);
  }
  .ag-cart__total-row dd {
    font-family: var(--price);
    font-weight: 500;
  }
  .ag-cart__taxes {
    font-size: 0.78rem;
    color: var(--text-muted);
    line-height: 1.5;
    margin-bottom: 1.2rem;
  }
  .ag-cart__checkout {
    width: 100%;
    height: 56px;
    border-radius: var(--radius-pill);
    background: var(--button);
    color: var(--text-light);
    border: 1px solid var(--button);
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    transition: transform var(--dur-fast) var(--ease-out-soft), box-shadow var(--dur-fast) var(--ease-out-soft);
  }
  .ag-cart__checkout:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0,0,0,0.18); }
  .ag-cart__checkout:active { transform: scale(0.99); }
  .ag-cart__checkout-spinner { display: none; animation: ag-cart-spin 1s linear infinite; }
  .ag-cart__checkout[data-loading="true"] .ag-cart__checkout-spinner { display: inline-block; }
  .ag-cart__checkout[data-loading="true"] [data-ag-cart-checkout-label] { opacity: 0.7; }
  @keyframes ag-cart-spin { to { transform: rotate(360deg); } }

  .ag-cart__continue {
    display: block;
    text-align: center;
    margin-top: 1rem;
    font-family: var(--body);
    font-size: 0.86rem;
    color: var(--text-muted);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color var(--dur-fast) var(--ease-out-soft);
  }
  .ag-cart__continue:hover { color: var(--text); }

  .ag-cart__assurances {
    list-style: none;
    margin: 1.6rem 0 0;
    padding: 1.6rem 0 0;
    border-top: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
  }
  .ag-cart__assurances li {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-family: var(--body);
    font-size: 0.86rem;
    color: var(--text);
  }
  .ag-cart__assurances svg { color: var(--text-muted); flex-shrink: 0; }

  /* MOBILE */
  @media (max-width: 900px) {
    .ag-cart { padding: 5rem 0 5rem; }
    .ag-cart__layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .ag-cart__summary { position: static; }
    .ag-cart__item {
      grid-template-columns: 88px 1fr;
      grid-template-rows: auto auto;
      column-gap: 1rem;
      row-gap: 0.8rem;
    }
    .ag-cart__media { grid-row: span 2; }
    .ag-cart__meta { grid-column: 2; }
    .ag-cart__qty { grid-column: 2; justify-self: start; }
    .ag-cart__price { grid-column: 2; text-align: left; padding-top: 0.4rem; border-top: 1px dashed var(--border); }
  }
  @media (max-width: 480px) {
    .ag-cart__summary-card { padding: 1.5rem 1.4rem; }
    .ag-cart__empty { padding: 4rem 1rem 2rem; }
  }
/* END_SECTION:aurean-glass-cart */

/* START_SECTION:aurean-glass-challenge (INDEX:4) */
.ag-challenge {
    padding: 9rem 0 6rem;
    background: var(--bg);
    color: var(--text);
  }
  .ag-challenge__wrap {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 1.5rem;
  }

  /* ───── Hero ───── */
  .ag-challenge__hero {
    text-align: center;
    margin-bottom: 6rem;
  }
  .ag-challenge__eyebrow {
    color: var(--text-muted);
    margin-bottom: 1.4rem;
  }
  .ag-challenge__heading {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2.2rem, 5.5vw, 3.4rem);
    line-height: 1.05;
    letter-spacing: -0.024em;
    color: var(--text);
    margin: 0 auto 1.6rem;
    max-width: 700px;
    text-wrap: balance;
  }
  .ag-challenge__lead {
    font-family: var(--body);
    font-size: 1.08rem;
    line-height: 1.65;
    color: var(--text);
    margin: 0 auto 2.4rem;
    max-width: 560px;
    text-wrap: pretty;
  }
  .ag-challenge__hero-cta {
    display: inline-flex;
    gap: 0.8rem;
    flex-wrap: wrap;
    justify-content: center;
  }

  /* ───── Section common ───── */
  .ag-challenge__section-eyebrow {
    color: var(--text-muted);
    margin-bottom: 1rem;
    text-align: center;
  }
  .ag-challenge__section-heading {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(1.7rem, 3.5vw, 2.3rem);
    line-height: 1.15;
    letter-spacing: -0.018em;
    color: var(--text);
    margin: 0 auto 3rem;
    max-width: 640px;
    text-align: center;
    text-wrap: balance;
  }

  .ag-challenge__how,
  .ag-challenge__prizes,
  .ag-challenge__rules,
  .ag-challenge__form-section,
  .ag-challenge__notify {
    margin-bottom: 6rem;
  }
  .ag-challenge__notify { margin-bottom: 0; }

  /* ───── Steps ───── */
  .ag-challenge__steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 2.4rem;
    counter-reset: steps;
  }
  .ag-challenge__step {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 1.6rem;
    align-items: start;
  }
  .ag-challenge__step-num {
    font-family: var(--price);
    font-style: italic;
    font-weight: 400;
    font-size: 2.4rem;
    line-height: 1;
    color: var(--text-muted);
    text-align: right;
    padding-top: 0.1rem;
  }
  .ag-challenge__step-title {
    font-family: var(--sans);
    font-weight: 500;
    font-size: 1.1rem;
    line-height: 1.3;
    color: var(--text);
    margin: 0 0 0.6rem;
  }
  .ag-challenge__step-copy {
    font-family: var(--body);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--text);
  }
  .ag-challenge__step-copy p { margin: 0 0 0.6rem; }
  .ag-challenge__step-copy p:last-child { margin-bottom: 0; }

  /* ───── Prizes ───── */
  .ag-challenge__prize-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.4rem;
  }
  .ag-challenge__prize {
    background: var(--bg-card);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card);
    padding: 2rem 1.8rem;
    text-align: center;
  }
  .ag-challenge__prize-place {
    font-family: var(--body);
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0 0 1rem;
  }
  .ag-challenge__prize-value {
    font-family: var(--sans);
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 1.2;
    letter-spacing: -0.012em;
    color: var(--text);
    margin: 0 0 0.6rem;
    text-wrap: balance;
  }
  .ag-challenge__prize-note {
    font-family: var(--body);
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--text-muted);
    margin: 0;
    text-wrap: pretty;
  }
  .ag-challenge__prizes-footnote {
    font-family: var(--body);
    font-size: 0.92rem;
    line-height: 1.6;
    color: var(--text-muted);
    text-align: center;
    margin: 2rem auto 0;
    max-width: 560px;
  }

  /* ───── Rules ───── */
  .ag-challenge__rule-list {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: 640px;
    display: grid;
    gap: 1rem;
  }
  .ag-challenge__rule {
    font-family: var(--body);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--text);
    padding-left: 1.4rem;
    position: relative;
  }
  .ag-challenge__rule::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.7rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--text-muted);
  }
  .ag-challenge__rules-link-row {
    margin: 2.4rem auto 0;
    text-align: center;
    max-width: 640px;
  }
  .ag-challenge__rules-link {
    font-family: var(--body);
    font-size: 0.82rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    color: var(--text);
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
  }
  .ag-challenge__rules-link:hover { text-decoration-thickness: 2px; }

  /* ───── Form ───── */
  .ag-challenge__form-lead {
    font-family: var(--body);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--text);
    text-align: center;
    margin: 0 auto 2.4rem;
    max-width: 540px;
    text-wrap: pretty;
  }
  .ag-challenge__form-wrap {
    background: var(--bg-card);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card-lg);
    padding: 1rem;
    overflow: hidden;
  }
  .ag-challenge__form-iframe {
    display: block;
    width: 100%;
    border: 0;
    border-radius: calc(var(--radius-card-lg) - 4px);
    background: var(--bg-card);
  }
  .ag-challenge__form-placeholder {
    text-align: center;
    padding: 3.5rem 1.5rem;
  }
  .ag-challenge__form-placeholder-lead {
    font-family: var(--body);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--text);
    margin: 0 auto 1.8rem;
    max-width: 380px;
  }

  /* ───── Notify (not-an-Oura-owner) ───── */
  .ag-challenge__notify {
    text-align: center;
    background: var(--bg-dark);
    color: var(--text-light);
    border-radius: var(--radius-card-lg);
    padding: 4rem 2rem;
  }
  .ag-challenge__notify-eyebrow {
    font-family: var(--body);
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--text-light-faint);
    margin: 0 0 1rem;
  }
  .ag-challenge__notify-heading {
    font-family: var(--sans);
    font-weight: 500;
    font-size: clamp(1.5rem, 3vw, 2rem);
    line-height: 1.2;
    letter-spacing: -0.018em;
    color: var(--text-light);
    margin: 0 auto 1.2rem;
    max-width: 540px;
    text-wrap: balance;
  }
  .ag-challenge__notify-lead {
    font-family: var(--body);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--text-light-faint);
    margin: 0 auto 2rem;
    max-width: 480px;
    text-wrap: pretty;
  }

  /* ───── Buttons ───── */
  .ag-challenge__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.1rem 1.8rem;
    border-radius: var(--radius-pill);
    text-decoration: none;
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease, background 0.2s ease, color 0.2s ease;
    border: 1px solid transparent;
    min-height: 48px;
  }
  .ag-challenge__btn--primary {
    background: var(--button);
    color: var(--text-light);
  }
  .ag-challenge__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.16);
  }
  .ag-challenge__btn--ghost {
    background: transparent;
    color: var(--text);
    border-color: var(--text);
  }
  .ag-challenge__btn--ghost:hover {
    background: var(--text);
    color: var(--text-light);
  }
  .ag-challenge__btn--ghost-dark {
    background: transparent;
    color: var(--text-light);
    border-color: var(--text-light);
  }
  .ag-challenge__btn--ghost-dark:hover {
    background: var(--text-light);
    color: var(--bg-dark);
  }
  .ag-challenge__btn:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
  }

  /* Smooth scroll for in-page anchors */
  @media (prefers-reduced-motion: no-preference) {
    html { scroll-behavior: smooth; }
  }

  /* ───── Mobile ───── */
  @media (max-width: 768px) {
    .ag-challenge { padding: 8rem 0 4rem; }
    .ag-challenge__wrap { padding: 0 1.2rem; }
    .ag-challenge__hero { margin-bottom: 4.5rem; }
    .ag-challenge__how,
    .ag-challenge__prizes,
    .ag-challenge__rules,
    .ag-challenge__form-section { margin-bottom: 4.5rem; }
    .ag-challenge__section-heading { margin-bottom: 2.2rem; }
    .ag-challenge__hero-cta { flex-direction: column; width: 100%; max-width: 320px; margin: 0 auto; }
    .ag-challenge__hero-cta .ag-challenge__btn { width: 100%; }

    .ag-challenge__step {
      grid-template-columns: 44px 1fr;
      gap: 1.1rem;
    }
    .ag-challenge__step-num { font-size: 1.9rem; }

    .ag-challenge__prize-grid {
      grid-template-columns: 1fr;
      gap: 1rem;
    }
    .ag-challenge__prize { padding: 1.7rem 1.4rem; }
    .ag-challenge__prize-value { font-size: 1.25rem; }

    .ag-challenge__notify { padding: 3rem 1.6rem; }
  }

  @media (prefers-reduced-motion: reduce) {
    .ag-challenge__btn:hover { transform: none; }
  }
/* END_SECTION:aurean-glass-challenge */

/* START_SECTION:aurean-glass-collection (INDEX:5) */
.ag-collection { padding: 11rem 0 6rem; background: var(--bg); min-height: calc(100vh - 200px); }

  .ag-collection__head { margin-bottom: 2.4rem; }
  .ag-collection__eyebrow { color: var(--text-muted); margin-bottom: 1rem; }
  .ag-collection__head-row {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    flex-wrap: wrap;
  }
  .ag-collection__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 1.04;
    letter-spacing: -0.025em;
  }
  .ag-collection__count {
    font-family: var(--body);
    font-size: 0.92rem;
    color: var(--text-muted);
  }
  .ag-collection__lead {
    margin-top: 1rem;
    font-family: var(--body);
    font-size: 1.02rem;
    line-height: 1.55;
    color: var(--text-muted);
    max-width: 56ch;
  }

  /* Toolbar (sort) */
  .ag-collection__toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 1.4rem;
    padding-bottom: 1.4rem;
    border-bottom: 1px solid var(--border);
  }
  .ag-collection__sort-form {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
  }
  .ag-collection__sort-label {
    font-family: var(--body);
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--text-muted);
  }
  .ag-collection__sort-select {
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--radius-pill);
    padding: 0.55rem 2.4rem 0.55rem 1rem;
    font-family: var(--body);
    font-size: 0.86rem;
    color: var(--text);
    cursor: pointer;
    transition: border-color var(--dur-fast) var(--ease-out-soft);
  }
  .ag-collection__sort-select:hover { border-color: var(--text); }
  .ag-collection__sort-select:focus { outline: none; border-color: var(--text); }
  .ag-collection__sort-chev {
    position: absolute;
    right: 1rem;
    pointer-events: none;
    color: var(--text-muted);
  }

  /* Grid */
  .ag-collection__grid {
    display: grid;
    gap: 2rem;
  }
  .ag-collection__grid[data-cols="1"] { grid-template-columns: 1fr; }
  .ag-collection__grid[data-cols="2"] { grid-template-columns: repeat(2, 1fr); }
  .ag-collection__grid[data-cols="3"] { grid-template-columns: repeat(3, 1fr); }
  .ag-collection__grid[data-cols="4"] { grid-template-columns: repeat(4, 1fr); }

  /* Card */
  .ag-collection__card {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    color: var(--text);
    transition: transform var(--dur-fast) var(--ease-out-soft);
  }
  .ag-collection__card:hover { transform: translateY(-2px); }
  .ag-collection__card-media {
    position: relative;
    aspect-ratio: 1/1;
    border-radius: var(--radius-card);
    overflow: hidden;
    background: var(--bg-card);
    box-shadow: var(--shadow-glass);
  }
  .ag-collection__card-media img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform var(--dur-slow) var(--ease-out-soft);
  }
  .ag-collection__card:hover .ag-collection__card-media img { transform: scale(1.04); }
  .ag-collection__badge {
    position: absolute;
    top: 1rem; left: 1rem;
    padding: 0.35rem 0.75rem;
    border-radius: var(--radius-pill);
    background: var(--glass-bg-dark);
    -webkit-backdrop-filter: blur(var(--blur-md)) saturate(160%);
    backdrop-filter: blur(var(--blur-md)) saturate(160%);
    border: 1px solid var(--glass-border-dark);
    color: var(--text-light);
    font-family: var(--body);
    font-size: 0.6rem;
    font-weight: 500;
    letter-spacing: 0.28em;
    text-transform: uppercase;
  }
  .ag-collection__badge--soldout { background: rgba(255,255,255,0.85); color: var(--bg-dark); border-color: rgba(255,255,255,0.4); }

  .ag-collection__card-body {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
  }
  .ag-collection__card-title {
    font-family: var(--sans);
    font-weight: 600;
    font-size: 1.08rem;
    line-height: 1.2;
    letter-spacing: -0.005em;
  }
  .ag-collection__card-price {
    font-family: var(--price);
    font-weight: 500;
    font-size: 1rem;
    color: var(--text);
    display: flex;
    gap: 0.5rem;
    align-items: baseline;
  }
  .ag-collection__card-compare {
    font-size: 0.88rem;
    color: var(--text-muted);
    text-decoration: line-through;
  }

  /* Pagination */
  .ag-collection__pagination {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--border);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1rem;
  }
  .ag-collection__pagination > :first-child { justify-self: start; }
  .ag-collection__pagination > :last-child { justify-self: end; }
  .ag-collection__page-link {
    font-family: var(--body);
    font-size: 0.92rem;
    color: var(--text);
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .ag-collection__page-info {
    font-family: var(--body);
    font-size: 0.86rem;
    color: var(--text-muted);
    text-align: center;
  }

  /* Empty */
  .ag-collection__empty {
    text-align: center;
    padding: 5rem 1rem 4rem;
    max-width: 580px;
    margin: 0 auto;
  }
  .ag-collection__empty-title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.1;
    letter-spacing: -0.025em;
    margin: 0 0 1rem;
  }
  .ag-collection__empty-lead {
    font-size: 1.02rem;
    color: var(--text-muted);
    line-height: 1.55;
    margin-bottom: 2rem;
  }
  .ag-collection__empty-ctas {
    display: flex;
    gap: 0.6rem;
    justify-content: center;
    flex-wrap: wrap;
  }
  .ag-collection__empty .btn-ghost { border-color: var(--border); color: var(--text); }

  @media (max-width: 900px) {
    .ag-collection__grid[data-cols="3"], .ag-collection__grid[data-cols="4"] { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 600px) {
    .ag-collection { padding: 9rem 0 5rem; }
    .ag-collection__grid { gap: 1.4rem; }
    .ag-collection__grid[data-cols="2"], .ag-collection__grid[data-cols="3"], .ag-collection__grid[data-cols="4"] { grid-template-columns: 1fr; }
  }
/* END_SECTION:aurean-glass-collection */

/* START_SECTION:aurean-glass-content-page (INDEX:6) */
.ag-content-page {
    padding: 9rem 0 7rem;
    background: var(--bg);
  }
  .ag-content-page__hero {
    text-align: center;
    margin-bottom: 4rem;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }
  .ag-content-page__eyebrow {
    color: var(--text-muted);
    margin-bottom: 1.2rem;
  }
  .ag-content-page__heading {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2rem, 4.5vw, 2.8rem);
    line-height: 1.12;
    letter-spacing: -0.022em;
    color: var(--text);
    margin: 0 auto 1.4rem;
    text-wrap: balance;
  }
  .ag-content-page__lead {
    font-family: var(--body);
    font-size: 1.08rem;
    line-height: 1.65;
    color: var(--text);
    margin: 0 auto;
    max-width: 540px;
    text-wrap: pretty;
  }

  .ag-content-page__body {
    font-family: var(--body);
    font-size: 1.02rem;
    line-height: 1.7;
    color: var(--text);
    max-width: 640px;
    margin: 0 auto;
  }
  .ag-content-page__body h1 {
    font-family: var(--sans);
    font-weight: 500;
    font-size: clamp(1.6rem, 3vw, 2rem);
    line-height: 1.15;
    letter-spacing: -0.018em;
    color: var(--text);
    margin: 3rem 0 1.2rem;
    text-wrap: balance;
  }
  .ag-content-page__body h2 {
    font-family: var(--sans);
    font-weight: 600;
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: var(--text);
    margin: 2.8rem 0 1rem;
    text-wrap: balance;
  }
  .ag-content-page__body h3 {
    font-family: var(--sans);
    font-weight: 500;
    font-size: 1.08rem;
    line-height: 1.3;
    color: var(--text);
    margin: 2rem 0 0.8rem;
  }
  .ag-content-page__body p {
    margin: 0 0 1rem;
  }
  .ag-content-page__body p:last-child {
    margin-bottom: 0;
  }
  .ag-content-page__body ul,
  .ag-content-page__body ol {
    margin: 0 0 1.2rem 1.5rem;
    padding: 0;
  }
  .ag-content-page__body li {
    margin-bottom: 0.5rem;
    line-height: 1.65;
  }
  .ag-content-page__body a {
    color: var(--text);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: text-decoration-thickness 0.15s ease;
  }
  .ag-content-page__body a:hover {
    text-decoration-thickness: 2px;
  }
  .ag-content-page__body strong { font-weight: 600; }
  .ag-content-page__body em { font-style: italic; }
  .ag-content-page__body hr {
    border: 0;
    border-top: 1px solid var(--border);
    margin: 3rem 0;
  }
  .ag-content-page__body blockquote {
    margin: 1.5rem 0;
    padding: 0 0 0 1.5rem;
    border-left: 2px solid var(--border);
    font-style: italic;
    color: var(--text);
  }
  .ag-content-page__body table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    font-size: 0.95rem;
  }
  .ag-content-page__body th,
  .ag-content-page__body td {
    text-align: left;
    padding: 0.6rem 0.8rem;
    border-bottom: 1px solid var(--border);
  }
  .ag-content-page__body th {
    font-weight: 500;
    color: var(--text);
  }

  .ag-content-page__form {
    margin: 3rem auto 0;
    width: 100%;
  }
  /* Let Klaviyo embed forms use the full container width without our internal constraints */
  .ag-content-page__form > [class^="klaviyo-form-"] {
    max-width: none !important;
  }

  .ag-content-page__cta {
    max-width: 640px;
    margin: 5rem auto 0;
    padding-top: 3rem;
    border-top: 1px solid var(--border);
    text-align: center;
  }
  .ag-content-page__cta-lead {
    font-family: var(--body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0 0 1.5rem;
  }
  .ag-content-page__cta-row {
    display: flex;
    gap: 1rem;
    justify-content: center;
  }
  .ag-content-page__cta-btn {
    flex: 1;
    max-width: 260px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.1rem 1.6rem;
    border-radius: var(--radius-pill);
    text-decoration: none;
    background: var(--button);
    color: var(--text-light);
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .ag-content-page__cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.16);
  }
  .ag-content-page__cta-btn:focus-visible {
    outline: 2px solid var(--text);
    outline-offset: 3px;
  }

  @media (max-width: 768px) {
    .ag-content-page { padding: 8rem 0 5rem; }
    .ag-content-page__hero { margin-bottom: 3rem; }
    .ag-content-page__cta { margin-top: 3.5rem; padding-top: 2.5rem; }
    .ag-content-page__cta-row { flex-direction: column; max-width: 320px; margin: 0 auto; }
    .ag-content-page__cta-btn { max-width: none; padding: 1rem 1.5rem; font-size: 0.72rem; }
  }
/* END_SECTION:aurean-glass-content-page */

/* START_SECTION:aurean-glass-event (INDEX:7) */
.ag-challenge {
    padding: 9rem 0 6rem;
    background: var(--bg);
    color: var(--text);
  }
  .ag-challenge__wrap {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 1.5rem;
  }

  /* ───── Hero ───── */
  .ag-challenge__hero {
    text-align: center;
    margin-bottom: 6rem;
  }
  .ag-challenge__eyebrow {
    color: var(--text-muted);
    margin-bottom: 1.4rem;
  }
  .ag-challenge__heading {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2.2rem, 5.5vw, 3.4rem);
    line-height: 1.05;
    letter-spacing: -0.024em;
    color: var(--text);
    margin: 0 auto 1.6rem;
    max-width: 700px;
    text-wrap: balance;
  }
  .ag-challenge__lead {
    font-family: var(--body);
    font-size: 1.08rem;
    line-height: 1.65;
    color: var(--text);
    margin: 0 auto 2.4rem;
    max-width: 560px;
    text-wrap: pretty;
  }
  .ag-challenge__hero-cta {
    display: inline-flex;
    gap: 0.8rem;
    flex-wrap: wrap;
    justify-content: center;
  }

  /* ───── Section common ───── */
  .ag-challenge__section-eyebrow {
    color: var(--text-muted);
    margin-bottom: 1rem;
    text-align: center;
  }
  .ag-challenge__section-heading {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(1.7rem, 3.5vw, 2.3rem);
    line-height: 1.15;
    letter-spacing: -0.018em;
    color: var(--text);
    margin: 0 auto 3rem;
    max-width: 640px;
    text-align: center;
    text-wrap: balance;
  }

  .ag-challenge__how,
  .ag-challenge__prizes,
  .ag-challenge__rules,
  .ag-challenge__form-section,
  .ag-challenge__notify {
    margin-bottom: 6rem;
  }
  .ag-challenge__notify { margin-bottom: 0; }

  /* ───── Steps ───── */
  .ag-challenge__steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 2.4rem;
    counter-reset: steps;
  }
  .ag-challenge__step {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 1.6rem;
    align-items: start;
  }
  .ag-challenge__step-num {
    font-family: var(--price);
    font-style: italic;
    font-weight: 400;
    font-size: 2.4rem;
    line-height: 1;
    color: var(--text-muted);
    text-align: right;
    padding-top: 0.1rem;
  }
  .ag-challenge__step-title {
    font-family: var(--sans);
    font-weight: 500;
    font-size: 1.1rem;
    line-height: 1.3;
    color: var(--text);
    margin: 0 0 0.6rem;
  }
  .ag-challenge__step-copy {
    font-family: var(--body);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--text);
  }
  .ag-challenge__step-copy p { margin: 0 0 0.8rem; }
  .ag-challenge__step-copy p:last-child { margin-bottom: 0; }
  .ag-challenge__step-copy ul {
    list-style: none;
    margin: 0.6rem 0 0.8rem;
    padding: 0;
  }
  .ag-challenge__step-copy li {
    position: relative;
    padding-left: 2rem;
    line-height: 1.55;
    margin-bottom: 0.5rem;
  }
  .ag-challenge__step-copy li:last-child { margin-bottom: 0; }
  .ag-challenge__step-copy li::before {
    content: '+1';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--text-muted);
    font-weight: 500;
    font-size: 0.85em;
    letter-spacing: 0.02em;
  }

  /* ───── Prizes ───── */
  .ag-challenge__prize-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.4rem;
  }
  .ag-challenge__prize {
    background: var(--bg-card);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card);
    padding: 2rem 1.8rem;
    text-align: center;
  }
  .ag-challenge__prize-place {
    font-family: var(--body);
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0 0 1rem;
  }
  .ag-challenge__prize-value {
    font-family: var(--sans);
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 1.2;
    letter-spacing: -0.012em;
    color: var(--text);
    margin: 0 0 0.6rem;
    text-wrap: balance;
  }
  .ag-challenge__prize-note {
    font-family: var(--body);
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--text-muted);
    margin: 0;
    text-wrap: pretty;
  }
  .ag-challenge__prizes-footnote {
    font-family: var(--body);
    font-size: 0.92rem;
    line-height: 1.6;
    color: var(--text-muted);
    text-align: center;
    margin: 2rem auto 0;
    max-width: 560px;
  }

  /* ───── Rules ───── */
  .ag-challenge__rule-list {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: 640px;
    display: grid;
    gap: 1rem;
  }
  .ag-challenge__rule {
    font-family: var(--body);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--text);
    padding-left: 1.4rem;
    position: relative;
  }
  .ag-challenge__rule::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.7rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--text-muted);
  }
  .ag-challenge__rules-link-row {
    margin: 2.4rem auto 0;
    text-align: center;
    max-width: 640px;
  }
  .ag-challenge__rules-link {
    font-family: var(--body);
    font-size: 0.82rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    color: var(--text);
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
  }
  .ag-challenge__rules-link:hover { text-decoration-thickness: 2px; }

  /* ───── Live tracker (hero stat) ───── */
  .ag-challenge__tracker {
    margin-bottom: 4.5rem;
    padding: 1.5rem 0 0.5rem;
  }
  .ag-challenge__tracker-inner {
    text-align: center;
    max-width: 100%;
  }
  .ag-challenge__tracker-eyebrow {
    font-family: var(--body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0 0 1.8rem;
  }
  .ag-challenge__tracker-number {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(3.6rem, 13vw, 9rem);
    line-height: 0.92;
    letter-spacing: -0.045em;
    color: var(--text);
    margin: 0 0 1rem;
    font-variant-numeric: tabular-nums;
    text-wrap: balance;
  }
  .ag-challenge__tracker-label {
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0 0 2.4rem;
  }
  .ag-challenge__tracker-meta {
    font-family: var(--body);
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--text);
    margin: 0;
    display: inline-flex;
    align-items: baseline;
    gap: 0.55rem;
    padding: 0.6rem 1.2rem;
    border-top: 1px solid var(--border-soft);
    border-bottom: 1px solid var(--border-soft);
  }
  .ag-challenge__tracker-entrants {
    font-family: var(--sans);
    font-weight: 500;
    font-size: 1.15rem;
    letter-spacing: -0.012em;
    color: var(--text);
    font-variant-numeric: tabular-nums;
  }
  .ag-challenge__tracker-entrants-label {
    font-family: var(--body);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-muted);
  }
  @media (max-width: 640px) {
    .ag-challenge__tracker { margin-bottom: 3rem; padding: 0.5rem 0 0; }
    .ag-challenge__tracker-eyebrow { margin-bottom: 1.4rem; letter-spacing: 0.24em; }
    .ag-challenge__tracker-label { margin-bottom: 1.8rem; letter-spacing: 0.16em; }
    .ag-challenge__tracker-meta { padding: 0.55rem 1rem; gap: 0.45rem; }
    .ag-challenge__tracker-entrants { font-size: 1.05rem; }
    .ag-challenge__tracker-entrants-label { font-size: 0.66rem; letter-spacing: 0.16em; }
  }

  /* ───── Form ───── */
  .ag-challenge__form-intro {
    text-align: center;
    margin: 0 auto 2.4rem;
    max-width: 640px;
  }
  .ag-challenge__form-intro .ag-challenge__section-heading {
    margin-bottom: 1rem;
  }
  .ag-challenge__form-intro-lead {
    font-family: var(--body);
    font-size: 1.02rem;
    line-height: 1.6;
    color: var(--text-muted);
    margin: 0 auto;
    max-width: 540px;
    text-wrap: pretty;
  }
  .ag-challenge__form-wrap {
    background: var(--bg-card);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card-lg);
    padding: 3rem 2.4rem;
    overflow: hidden;
  }
  .ag-challenge__form-iframe {
    display: block;
    width: 100%;
    border: 0;
    border-radius: calc(var(--radius-card-lg) - 4px);
    background: var(--bg-card);
  }
  .ag-challenge__form-placeholder {
    text-align: center;
    padding: 2rem 0;
  }
  .ag-challenge__form-placeholder-lead {
    font-family: var(--body);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--text);
    margin: 0 auto 1.8rem;
    max-width: 380px;
  }
  @media (max-width: 640px) {
    .ag-challenge__form-wrap { padding: 2rem 1.4rem; }
  }

  /* ───── Notify (not-an-Oura-owner) ───── */
  .ag-challenge__notify {
    text-align: center;
    background: var(--bg-dark);
    color: var(--text-light);
    border-radius: var(--radius-card-lg);
    padding: 4rem 2rem;
  }
  .ag-challenge__notify-eyebrow {
    font-family: var(--body);
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--text-light-faint);
    margin: 0 0 1rem;
  }
  .ag-challenge__notify-heading {
    font-family: var(--sans);
    font-weight: 500;
    font-size: clamp(1.5rem, 3vw, 2rem);
    line-height: 1.2;
    letter-spacing: -0.018em;
    color: var(--text-light);
    margin: 0 auto 1.2rem;
    max-width: 540px;
    text-wrap: balance;
  }
  .ag-challenge__notify-lead {
    font-family: var(--body);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--text-light-faint);
    margin: 0 auto 2rem;
    max-width: 480px;
    text-wrap: pretty;
  }

  /* ───── Buttons ───── */
  .ag-challenge__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.1rem 1.8rem;
    border-radius: var(--radius-pill);
    text-decoration: none;
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease, background 0.2s ease, color 0.2s ease;
    border: 1px solid transparent;
    min-height: 48px;
  }
  .ag-challenge__btn--primary {
    background: var(--button);
    color: var(--text-light);
  }
  .ag-challenge__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.16);
  }
  .ag-challenge__btn--ghost {
    background: transparent;
    color: var(--text);
    border-color: var(--text);
  }
  .ag-challenge__btn--ghost:hover {
    background: var(--text);
    color: var(--text-light);
  }
  .ag-challenge__btn--ghost-dark {
    background: transparent;
    color: var(--text-light);
    border-color: var(--text-light);
  }
  .ag-challenge__btn--ghost-dark:hover {
    background: var(--text-light);
    color: var(--bg-dark);
  }
  .ag-challenge__btn:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
  }

  /* Smooth scroll for in-page anchors */
  @media (prefers-reduced-motion: no-preference) {
    html { scroll-behavior: smooth; }
  }

  /* ───── Mobile ───── */
  @media (max-width: 768px) {
    .ag-challenge { padding: 8rem 0 4rem; }
    .ag-challenge__wrap { padding: 0 1.2rem; }
    .ag-challenge__hero { margin-bottom: 4.5rem; }
    .ag-challenge__how,
    .ag-challenge__prizes,
    .ag-challenge__rules,
    .ag-challenge__form-section { margin-bottom: 4.5rem; }
    .ag-challenge__section-heading { margin-bottom: 2.2rem; }
    .ag-challenge__hero-cta { flex-direction: column; width: 100%; max-width: 320px; margin: 0 auto; }
    .ag-challenge__hero-cta .ag-challenge__btn { width: 100%; }

    .ag-challenge__step {
      grid-template-columns: 44px 1fr;
      gap: 1.1rem;
    }
    .ag-challenge__step-num { font-size: 1.9rem; }

    .ag-challenge__prize-grid {
      grid-template-columns: 1fr;
      gap: 1rem;
    }
    .ag-challenge__prize { padding: 1.7rem 1.4rem; }
    .ag-challenge__prize-value { font-size: 1.25rem; }

    .ag-challenge__notify { padding: 3rem 1.6rem; }
  }

  @media (prefers-reduced-motion: reduce) {
    .ag-challenge__btn:hover { transform: none; }
  }
/* END_SECTION:aurean-glass-event */

/* START_SECTION:aurean-glass-facebook (INDEX:8) */
.ag-facebook { padding: 3rem 0 7rem; background: var(--bg); }
  .ag-facebook__head {
    text-align: center;
    margin: 0 auto 3rem;
    padding: 0 1.5rem;
    max-width: 720px;
  }
  .ag-facebook__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    line-height: 1.12;
    letter-spacing: -0.02em;
    margin: 0.6rem auto 0.9rem;
    max-width: 22ch;
  }
  .ag-facebook__subtext {
    font-family: var(--body);
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-muted, rgba(15, 14, 13, 0.62));
    margin: 0 auto;
    max-width: 480px;
  }
  .ag-facebook__rail {
    display: flex;
    gap: 1.2rem;
    overflow-x: auto;
    padding: 0.5rem max(2rem, calc((100vw - 1480px) / 2)) 1.75rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .ag-facebook__rail::-webkit-scrollbar { display: none; }
  .ag-facebook__card {
    flex: 0 0 min(480px, 86vw);
    border-radius: var(--radius-card-lg);
    overflow: hidden;
    background: var(--bg-card);
    scroll-snap-align: center;
    box-shadow: var(--shadow-glass-lg);
    padding: 1.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
  }
  .ag-facebook__card img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
    border-radius: 10px;
  }
  .ag-facebook__attribution {
    text-align: center;
    margin-top: 1rem;
    font-family: var(--body);
    font-size: 0.7rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--text-muted, rgba(15, 14, 13, 0.55));
  }
  @media (max-width: 768px) {
    .ag-facebook { padding: 4rem 0 5rem; }
    .ag-facebook__head { margin-bottom: 2.2rem; }
    .ag-facebook__rail { gap: 1rem; padding-left: 1.3rem; padding-right: 1.3rem; }
    .ag-facebook__card { flex-basis: 88vw; padding: 1.1rem; min-height: 110px; }
  }
/* END_SECTION:aurean-glass-facebook */

/* START_SECTION:aurean-glass-faq-page (INDEX:9) */
.ag-faq-page {
    padding: 9rem 0 7rem;
    background: var(--bg);
  }
  .ag-faq-page__hero {
    text-align: center;
    margin-bottom: 4rem;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }
  .ag-faq-page__eyebrow {
    color: var(--text-muted);
    margin-bottom: 1.2rem;
  }
  .ag-faq-page__heading {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2rem, 4.5vw, 2.8rem);
    line-height: 1.12;
    letter-spacing: -0.022em;
    color: var(--text);
    margin: 0 auto 1.4rem;
    text-wrap: balance;
  }
  .ag-faq-page__lead {
    font-family: var(--body);
    font-size: 1.08rem;
    line-height: 1.65;
    color: var(--text);
    margin: 0 auto;
    max-width: 540px;
    text-wrap: pretty;
  }

  .ag-faq-page__list {
    max-width: 640px;
    margin: 0 auto;
    border-top: 1px solid var(--border);
  }
  .ag-faq-page__item {
    border-bottom: 1px solid var(--border);
  }
  .ag-faq-page__question {
    list-style: none;
    cursor: pointer;
    padding: 1.5rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    font-family: var(--sans);
    font-weight: 600;
    font-size: clamp(1.02rem, 1.6vw, 1.15rem);
    line-height: 1.4;
    color: var(--text);
    text-wrap: balance;
    transition: color 0.15s ease;
  }
  .ag-faq-page__question:hover {
    color: var(--text-muted);
  }
  .ag-faq-page__question::-webkit-details-marker {
    display: none;
  }
  .ag-faq-page__icon {
    flex-shrink: 0;
    color: var(--text-muted);
    transition: transform 0.25s ease;
  }
  .ag-faq-page__item[open] .ag-faq-page__icon {
    transform: rotate(180deg);
  }
  .ag-faq-page__answer {
    padding: 0 0 1.8rem;
    font-family: var(--body);
    font-size: 1rem;
    line-height: 1.7;
    color: var(--text);
    max-width: 600px;
  }
  .ag-faq-page__answer p {
    margin: 0 0 1rem;
  }
  .ag-faq-page__answer p:last-child {
    margin-bottom: 0;
  }
  .ag-faq-page__answer ul,
  .ag-faq-page__answer ol {
    margin: 0 0 1rem 1.5rem;
    padding: 0;
  }
  .ag-faq-page__answer li {
    margin-bottom: 0.4rem;
  }
  .ag-faq-page__answer a {
    color: var(--text);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  .ag-faq-page__cta {
    max-width: 640px;
    margin: 5rem auto 0;
    padding-top: 3rem;
    border-top: 1px solid var(--border);
    text-align: center;
  }
  .ag-faq-page__cta-lead {
    font-family: var(--body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0 0 1.5rem;
  }
  .ag-faq-page__cta-row {
    display: flex;
    gap: 1rem;
    justify-content: center;
  }
  .ag-faq-page__cta-btn {
    flex: 1;
    max-width: 260px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.1rem 1.6rem;
    border-radius: var(--radius-pill);
    text-decoration: none;
    background: var(--button);
    color: var(--text-light);
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .ag-faq-page__cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.16);
  }

  @media (max-width: 768px) {
    .ag-faq-page { padding: 8rem 0 5rem; }
    .ag-faq-page__hero { margin-bottom: 3rem; }
    .ag-faq-page__question { padding: 1.2rem 0; font-size: 1rem; }
    .ag-faq-page__answer { padding-bottom: 1.4rem; font-size: 0.95rem; }
    .ag-faq-page__cta { margin-top: 3.5rem; padding-top: 2.5rem; }
    .ag-faq-page__cta-row { flex-direction: column; max-width: 320px; margin: 0 auto; }
    .ag-faq-page__cta-btn { max-width: none; padding: 1rem 1.5rem; font-size: 0.72rem; }
  }
/* END_SECTION:aurean-glass-faq-page */

/* START_SECTION:aurean-glass-faq (INDEX:10) */
.ag-faq { padding: 7rem 0; background: var(--bg); }
  .ag-faq__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    line-height: 1.12;
    letter-spacing: -0.02em;
    margin-bottom: 3rem;
  }
  .ag-faq__list { border-top: 1px solid var(--border); }
  .ag-faq__item {
    border-bottom: 1px solid var(--border);
    padding: 1.6rem 0;
  }
  .ag-faq__item summary {
    cursor: pointer;
    font-family: var(--sans);
    font-weight: 600;
    font-size: 1.18rem;
    letter-spacing: -0.01em;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    transition: opacity var(--dur-fast) var(--ease-out-soft);
  }
  .ag-faq__item summary::-webkit-details-marker { display: none; }
  .ag-faq__item summary::after {
    content: '+';
    font-family: var(--sans);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1;
    transition: transform var(--dur-base) var(--ease-out-soft);
  }
  .ag-faq__item[open] summary::after { transform: rotate(45deg); }
  .ag-faq__item summary:hover { opacity: 0.7; }
  .ag-faq__body {
    margin-top: 1rem;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--text-muted);
    max-width: 62ch;
  }
  @media (max-width: 768px) { .ag-faq { padding: 5rem 0; } }
/* END_SECTION:aurean-glass-faq */

/* START_SECTION:aurean-glass-final (INDEX:11) */
.ag-final {
    padding: 9rem 0 7rem;
    background: var(--bg-dark);
    color: var(--text-light);
    text-align: center;
    position: relative;
    overflow: hidden;
  }
  .ag-final::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.18) 50%, transparent 100%);
  }
  .ag-final__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2.4rem, 6vw, 5rem);
    line-height: 1.02;
    letter-spacing: -0.03em;
    max-width: 16ch;
    margin: 0 auto 1.5rem;
  }
  .ag-final__sub {
    font-size: 1.08rem;
    color: rgba(246,244,241,0.7);
    max-width: 52ch;
    margin: 0 auto 2.6rem;
    line-height: 1.55;
  }
  .ag-final__ctas {
    display: flex;
    gap: 0.8rem;
    justify-content: center;
    flex-wrap: wrap;
  }
  .ag-final__btn-primary {
    background: var(--text-light);
    color: var(--bg-dark);
    border-color: var(--text-light);
  }
  .ag-final__btn-ghost {
    color: var(--text-light);
    border-color: rgba(246,244,241,0.4);
  }
  @media (max-width: 768px) { .ag-final { padding: 6rem 0 5rem; } }
/* END_SECTION:aurean-glass-final */

/* START_SECTION:aurean-glass-footer-signup (INDEX:12) */
/* Footer-column-fit signup. Rendered INSIDE the brand column of glass-footer. */
  .ag-footer-signup {
    margin-top: 1.4rem;
    color: var(--text-light);
  }
  .ag-footer-signup__inner { max-width: 320px; }
  .ag-footer-signup__label {
    font-family: var(--body);
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--text-light-faint);
    margin: 0 0 0.7rem;
  }
  .ag-footer-signup__form {
    display: flex;
    gap: 0.5rem;
    align-items: stretch;
  }
  .ag-footer-signup__input {
    flex: 1;
    min-width: 0;
    background: rgba(255,255,255,0.06);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-pill);
    padding: 0.7rem 1.1rem;
    font-family: var(--body);
    font-size: 0.85rem;
    color: var(--text-light);
    outline: 0;
    -webkit-appearance: none;
    appearance: none;
    transition: border-color 0.2s ease, background 0.2s ease;
  }
  .ag-footer-signup__input::placeholder { color: var(--text-light-faint); }
  .ag-footer-signup__input:focus {
    border-color: var(--text-light);
    background: rgba(255,255,255,0.1);
  }
  /* Kill browser autofill yellow/blue background that creates the "white box" effect */
  .ag-footer-signup__input:-webkit-autofill,
  .ag-footer-signup__input:-webkit-autofill:hover,
  .ag-footer-signup__input:-webkit-autofill:focus,
  .ag-footer-signup__input:-webkit-autofill:active {
    -webkit-text-fill-color: var(--text-light) !important;
    -webkit-box-shadow: 0 0 0 100px var(--bg-deepdark) inset !important;
    caret-color: var(--text-light);
    transition: background-color 5000s ease-in-out 0s;
  }
  .ag-footer-signup__button {
    flex-shrink: 0;
    padding: 0 1.3rem;
    border-radius: var(--radius-pill);
    background: var(--text-light);
    color: var(--bg-dark);
    border: 0;
    font-family: var(--body);
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.15s ease;
  }
  .ag-footer-signup__button:hover:not(:disabled) { opacity: 0.85; }
  .ag-footer-signup__button:active:not(:disabled) { transform: translateY(1px); }
  .ag-footer-signup__button:disabled { opacity: 0.5; cursor: not-allowed; }
  .ag-footer-signup__status {
    margin: 0.7rem 0 0;
    font-family: var(--body);
    font-size: 0.78rem;
    line-height: 1.45;
    color: var(--text-light-faint);
    min-height: 0;
  }
  .ag-footer-signup__status--error { color: rgba(255,200,200,0.85); }
  @media (max-width: 768px) {
    .ag-footer-signup { margin-top: 1.1rem; }
    .ag-footer-signup__inner { max-width: 100%; }
    .ag-footer-signup__form { flex-direction: column; gap: 0.6rem; }
    .ag-footer-signup__input { text-align: center; padding: 0.85rem 1.2rem; }
    .ag-footer-signup__button { width: 100%; padding: 0.85rem 1.5rem; }
  }
/* END_SECTION:aurean-glass-footer-signup */

/* START_SECTION:aurean-glass-hero (INDEX:13) */
.ag-hero {
    position: relative;
    min-height: 100svh;
    width: 100%;
    overflow: hidden;
    color: var(--text-light);
    isolation: isolate;
    padding-bottom: 4rem;
  }
  .ag-hero__media { position: absolute; inset: 0; z-index: -1; }
  .ag-hero__media img, .ag-hero__media source { width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
  .ag-hero__media::after {
    content: '';
    position: absolute; inset: 0;
    background:
      linear-gradient(90deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.3) 45%, rgba(0,0,0,0) 75%),
      linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.2) 45%, rgba(0,0,0,0) 70%);
  }
  .ag-hero__inner {
    position: relative;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 6rem 0 4rem;
  }
  .ag-hero__top { padding: 0 2rem; }
  .ag-hero__eyebrow {
    font-family: var(--body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: rgba(246,244,241,0.75);
    margin-bottom: 1.4rem;
  }
  .ag-hero__title {
    font-family: 'Manrope', system-ui, -apple-system, sans-serif;
    font-weight: 700;
    font-size: clamp(3rem, 8.5vw, 7rem);
    line-height: 0.98;
    letter-spacing: -0.03em;
    max-width: 13ch;
    margin-bottom: 1.6rem;
  }
  .ag-hero__sub {
    font-family: var(--body);
    font-size: clamp(1.05rem, 1.4vw, 1.18rem);
    line-height: 1.55;
    max-width: 42ch;
    color: rgba(246, 244, 241, 0.86);
    margin-bottom: 2.4rem;
  }
  .ag-hero__ctas { display: flex; gap: 0.8rem; flex-wrap: wrap; }
  @media (max-width: 768px) {
    .ag-hero { padding-bottom: 3rem; }
    .ag-hero__inner { padding: 4rem 0 4rem; }
    .ag-hero__top { padding: 0 1.3rem; }
  }
/* END_SECTION:aurean-glass-hero */

/* START_SECTION:aurean-glass-intro (INDEX:14) */
.ag-intro {
    padding: 8rem 0 6rem;
    background: var(--bg);
  }
  .ag-intro__statement {
    margin-top: 1.2rem;
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    line-height: 1.18;
    letter-spacing: -0.018em;
    color: var(--text);
    max-width: 22ch;
  }
  .ag-intro__statement em { font-style: normal; color: var(--text-muted); }
  @media (max-width: 768px) { .ag-intro { padding: 5rem 0 3rem; } }
/* END_SECTION:aurean-glass-intro */

/* START_SECTION:aurean-glass-journey (INDEX:15) */
.ag-journey {
    background: var(--bg-card);
    padding: 7rem 0 6rem;
    position: relative;
  }
  .ag-journey__head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 4rem;
  }
  .ag-journey__head .eyebrow { color: var(--text-muted); margin-bottom: 1rem; }
  .ag-journey__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2rem, 4vw, 2.8rem);
    line-height: 1.06;
    letter-spacing: -0.025em;
    margin: 0 0 1rem;
    color: var(--text);
  }
  .ag-journey__lead {
    font-family: var(--body);
    font-size: 1.05rem;
    line-height: 1.55;
    color: var(--text-muted);
    max-width: 56ch;
    margin: 0 auto;
  }
  .ag-journey__steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
  }
  /* Connector line behind the step numbers */
  .ag-journey__steps::before {
    content: '';
    position: absolute;
    top: 26px;
    left: 8%;
    right: 8%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--border) 12%, var(--border) 88%, transparent 100%);
    z-index: 0;
  }
  .ag-journey__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 0.4rem;
    position: relative;
    z-index: 1;
  }
  .ag-journey__step-num {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 1px solid var(--border);
    background: var(--bg);
    color: var(--text);
    font-family: var(--price);
    font-weight: 500;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.2rem;
  }
  .ag-journey__step-label {
    font-family: var(--sans);
    font-weight: 500;
    font-size: 1.04rem;
    letter-spacing: -0.01em;
    line-height: 1.2;
    margin: 0 0 0.3rem;
    color: var(--text);
  }
  .ag-journey__step-duration {
    font-family: var(--body);
    font-size: 0.74rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0 0 0.6rem;
  }
  .ag-journey__step-detail {
    font-family: var(--body);
    font-size: 0.88rem;
    line-height: 1.55;
    color: var(--text-muted);
    margin: 0;
    max-width: 22ch;
  }

  @media (max-width: 900px) {
    .ag-journey { padding: 5rem 0 4.5rem; }
    .ag-journey__head { margin-bottom: 3rem; }
    .ag-journey__steps {
      grid-template-columns: repeat(2, 1fr);
      gap: 2rem 1rem;
    }
    .ag-journey__steps::before { display: none; }
  }
  @media (max-width: 540px) {
    .ag-journey { padding: 4rem 0 3.5rem; }
    .ag-journey__steps { grid-template-columns: 1fr; gap: 1.6rem; }
    .ag-journey__step {
      display: grid;
      grid-template-columns: 52px 1fr;
      column-gap: 1.1rem;
      row-gap: 0.25rem;
      text-align: left;
      padding: 0;
      align-items: start;
    }
    .ag-journey__step-num {
      grid-row: 1 / span 3;
      grid-column: 1;
      margin-bottom: 0;
      align-self: start;
    }
    .ag-journey__step-label { grid-column: 2; grid-row: 1; margin: 0; }
    .ag-journey__step-duration { grid-column: 2; grid-row: 2; margin: 0; }
    .ag-journey__step-detail { grid-column: 2; grid-row: 3; max-width: 100%; margin: 0.2rem 0 0; }
  }
/* END_SECTION:aurean-glass-journey */

/* START_SECTION:aurean-glass-newsletter (INDEX:16) */
.ag-newsletter {
    padding: 5.5rem 0 5rem;
    background: var(--bg);
    position: relative;
  }
  .ag-newsletter::before,
  .ag-newsletter::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: min(580px, calc(100% - 4rem));
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--border) 50%, transparent 100%);
  }
  .ag-newsletter::before { top: 0; }
  .ag-newsletter::after { bottom: 0; }

  .ag-newsletter__inner {
    text-align: center;
    max-width: 540px;
    margin: 0 auto;
  }
  .ag-newsletter__eyebrow {
    color: var(--text-muted);
    margin-bottom: 1rem;
  }
  .ag-newsletter__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(1.7rem, 3.2vw, 2.4rem);
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--text);
    margin: 0 0 0.8rem;
  }
  .ag-newsletter__lead {
    font-family: var(--body);
    font-size: 1rem;
    line-height: 1.55;
    color: var(--text-muted);
    margin: 0 0 2rem;
    max-width: 48ch;
    margin-left: auto;
    margin-right: auto;
  }

  .ag-newsletter__form-wrap form { display: flex; flex-direction: column; gap: 0.7rem; }
  .ag-newsletter__row {
    display: flex;
    gap: 0.5rem;
    padding: 0.4rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-pill);
    background: rgba(255,255,255,0.45);
    -webkit-backdrop-filter: blur(var(--blur-sm));
    backdrop-filter: blur(var(--blur-sm));
    transition: border-color var(--dur-fast) var(--ease-out-soft);
  }
  .ag-newsletter__row:focus-within { border-color: var(--text); }
  .ag-newsletter__input {
    flex: 1;
    background: transparent;
    border: 0;
    outline: 0;
    padding: 0.85rem 1rem;
    font-family: var(--body);
    font-size: 1rem;
    color: var(--text);
    min-width: 0;
  }
  .ag-newsletter__input::placeholder { color: var(--text-muted); }
  .ag-newsletter__input:focus { outline: 0; }
  .ag-newsletter__submit {
    flex-shrink: 0;
    padding: 0 1.6rem;
    height: 44px;
    border-radius: var(--radius-pill);
    background: var(--button);
    color: var(--text-light);
    border: 1px solid var(--button);
    font-family: var(--body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: background var(--dur-fast) var(--ease-out-soft), transform var(--dur-fast) var(--ease-out-soft);
  }
  .ag-newsletter__submit:hover:not([disabled]) {
    background: var(--bg-deepdark);
    transform: translateY(-1px);
  }
  .ag-newsletter__submit[disabled] { opacity: 0.5; cursor: not-allowed; }
  .ag-newsletter__spinner { display: none; animation: ag-nl-spin 1s linear infinite; }
  .ag-newsletter__submit[data-loading="true"] .ag-newsletter__spinner { display: inline-block; }
  .ag-newsletter__submit[data-loading="true"] [data-ag-newsletter-label] { opacity: 0.7; }
  @keyframes ag-nl-spin { to { transform: rotate(360deg); } }

  .ag-newsletter__fine {
    font-family: var(--body);
    font-size: 0.74rem;
    color: var(--text-muted);
    margin: 0;
    letter-spacing: 0.01em;
  }
  .ag-newsletter__error {
    font-family: var(--body);
    font-size: 0.86rem;
    color: #862322;
    margin: 0 0 0.4rem;
  }
  .ag-newsletter__error a {
    color: #862322;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
  .ag-newsletter__error a:hover { text-decoration-thickness: 2px; }

  .ag-newsletter__success {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 0;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 600ms var(--ease-out-soft), transform 600ms var(--ease-out-soft);
  }
  .ag-newsletter__success[data-visible="true"] {
    opacity: 1;
    transform: translateY(0);
  }
  .ag-newsletter__check { color: var(--text); opacity: 0.5; }
  .ag-newsletter__success-text {
    font-family: var(--sans);
    font-weight: 500;
    font-size: 1.05rem;
    line-height: 1.5;
    color: var(--text);
    margin: 0;
    max-width: 38ch;
  }

  @media (max-width: 640px) {
    .ag-newsletter { padding: 4rem 0 3.5rem; }
    .ag-newsletter__form-wrap form { gap: 0.6rem; }
    .ag-newsletter__row {
      flex-direction: column;
      padding: 0;
      border: 0;
      background: transparent;
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
      gap: 0.6rem;
    }
    .ag-newsletter__input {
      padding: 0.95rem 1.4rem;
      text-align: center;
      border: 1px solid var(--border);
      border-radius: var(--radius-pill);
      background: rgba(255,255,255,0.45);
      -webkit-backdrop-filter: blur(var(--blur-sm));
      backdrop-filter: blur(var(--blur-sm));
    }
    .ag-newsletter__input:focus { border-color: var(--text); }
    .ag-newsletter__submit { width: 100%; height: 50px; }
  }
/* END_SECTION:aurean-glass-newsletter */

/* START_SECTION:aurean-glass-package (INDEX:17) */
.ag-package {
    background: var(--bg);
    padding: 8rem 0 7rem;
    position: relative;
  }
  .ag-package__head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 4rem;
  }
  .ag-package__eyebrow {
    color: var(--text-muted);
    margin-bottom: 1rem;
  }
  .ag-package__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.06;
    letter-spacing: -0.025em;
    margin: 0 0 1rem;
    color: var(--text);
  }
  .ag-package__lead {
    font-family: var(--body);
    font-size: 1.05rem;
    line-height: 1.55;
    color: var(--text-muted);
    max-width: 56ch;
    margin: 0 auto;
  }
  .ag-package__hero {
    aspect-ratio: 3/2;
    border-radius: var(--radius-card-lg);
    overflow: hidden;
    background: var(--bg-card);
    box-shadow: var(--shadow-glass-lg);
    margin-bottom: 5rem;
  }
  .ag-package__hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 95%;
    display: block;
  }
  .ag-package__hero--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .ag-package__hero-fallback {
    max-width: 460px;
    padding: 2rem;
    color: var(--text-muted);
  }
  .ag-package__hero-fallback .eyebrow {
    margin-bottom: 0.6rem;
  }
  .ag-package__hero-fallback p {
    font-family: var(--body);
    font-size: 0.95rem;
    line-height: 1.5;
  }
  .ag-package__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem 2.5rem;
  }
  .ag-package__item {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .ag-package__item-media {
    aspect-ratio: 1;
    border-radius: var(--radius-card);
    overflow: hidden;
    background: var(--bg-card);
    position: relative;
  }
  .ag-package__item-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s var(--ease-out-soft);
  }
  .ag-package__item:hover .ag-package__item-media img {
    transform: scale(1.04);
  }
  .ag-package__item-body {
    padding: 0 0.2rem;
  }
  .ag-package__item-name {
    font-family: var(--sans);
    font-weight: 500;
    font-size: 1.04rem;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--text);
    margin: 0 0 0.4rem;
  }
  .ag-package__item-desc {
    font-family: var(--body);
    font-size: 0.92rem;
    line-height: 1.55;
    color: var(--text-muted);
    margin: 0;
  }

  @media (max-width: 900px) {
    .ag-package { padding: 6rem 0 5rem; }
    .ag-package__head { margin-bottom: 3rem; }
    .ag-package__hero { margin-bottom: 3.5rem; aspect-ratio: 4/3; }
    .ag-package__grid { grid-template-columns: repeat(2, 1fr); gap: 2.4rem 1.6rem; }
  }
  @media (max-width: 540px) {
    .ag-package { padding: 4.5rem 0 4rem; }
    .ag-package__hero { aspect-ratio: 1; border-radius: 22px; }
    .ag-package__grid { grid-template-columns: 1fr 1fr; gap: 2rem 1.2rem; }
    .ag-package__item-name { font-size: 0.98rem; }
    .ag-package__item-desc { font-size: 0.86rem; }
  }
/* END_SECTION:aurean-glass-package */

/* START_SECTION:aurean-glass-page-body (INDEX:18) */
.ag-page-body { padding: 2rem 0 3rem; background: var(--bg); }
  .ag-page-body--center { text-align: center; }
  .ag-page-body--center .ag-page-body__content { margin-left: auto; margin-right: auto; }
  .ag-page-body__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    line-height: 1.12;
    letter-spacing: -0.02em;
    margin-bottom: 1.4rem;
  }
  .ag-page-body__content {
    font-family: var(--body);
    font-size: 1.05rem;
    line-height: 1.62;
    color: var(--text);
    max-width: 64ch;
  }
  .ag-page-body__content p + p { margin-top: 1rem; }
  .ag-page-body__content h2 {
    font-family: var(--sans);
    font-weight: 600;
    font-size: clamp(1.4rem, 2.4vw, 1.8rem);
    margin-top: 2rem;
    margin-bottom: 0.8rem;
    letter-spacing: -0.015em;
  }
  .ag-page-body__content h3 {
    font-family: var(--sans);
    font-weight: 500;
    font-size: 1.2rem;
    margin-top: 1.6rem;
    margin-bottom: 0.6rem;
  }
  .ag-page-body__content a {
    color: var(--text);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
  }
  .ag-page-body__content a:hover { text-decoration-thickness: 2px; }
  .ag-page-body__content ul, .ag-page-body__content ol {
    margin: 0.8rem 0;
    padding-left: 1.4rem;
  }
  .ag-page-body__content li { margin-bottom: 0.4rem; }
  .ag-page-body__content blockquote {
    border-left: 2px solid var(--border);
    padding: 0.4rem 0 0.4rem 1.4rem;
    margin: 1.2rem 0;
    color: var(--text-muted);
    font-style: italic;
  }
  .ag-page-body__content hr {
    border: 0;
    border-top: 1px solid var(--border);
    margin: 2rem 0;
  }
  .ag-page-body__content img {
    max-width: 100%;
    border-radius: 12px;
    margin: 1.4rem 0;
  }
  @media (max-width: 768px) {
    .ag-page-body { padding: 1.5rem 0 2.5rem; }
    .ag-page-body__content { font-size: 1rem; }
  }
/* END_SECTION:aurean-glass-page-body */

/* START_SECTION:aurean-glass-page-contact (INDEX:19) */
.ag-page-contact { padding: 1rem 0 5rem; background: var(--bg); }

  .ag-contact-form__errors {
    background: rgba(178, 34, 52, 0.08);
    border: 1px solid rgba(178, 34, 52, 0.3);
    color: #722;
    padding: 1rem 1.2rem;
    border-radius: 12px;
    margin-bottom: 1.2rem;
    font-size: 0.92rem;
  }
  .ag-contact-form__errors ul { margin-top: 0.4rem; padding-left: 1.2rem; }
  .ag-contact-form__errors li { margin-bottom: 0.2rem; }

  .ag-contact-form__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1.4rem;
  }
  .ag-contact-form__field {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
  .ag-contact-form__field--full { grid-column: 1 / -1; }
  .ag-contact-form__label {
    font-family: var(--body);
    font-size: 0.66rem;
    font-weight: 500;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--text-muted);
  }
  .ag-contact-form input,
  .ag-contact-form textarea {
    width: 100%;
    padding: 0.85rem 1rem;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: transparent;
    color: var(--text);
    font-family: var(--body);
    font-size: 1rem;
    transition: border-color var(--dur-fast) var(--ease-out-soft);
  }
  .ag-contact-form input:focus,
  .ag-contact-form textarea:focus {
    outline: none;
    border-color: var(--text);
  }
  .ag-contact-form textarea {
    resize: vertical;
    min-height: 140px;
  }

  .ag-contact-form__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    padding: 0 2.4rem;
    border-radius: var(--radius-pill);
    background: var(--button);
    color: var(--text-light);
    border: 1px solid var(--button);
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform var(--dur-fast) var(--ease-out-soft), box-shadow var(--dur-fast) var(--ease-out-soft);
  }
  .ag-contact-form__submit:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0,0,0,0.18); }
  .ag-contact-form__submit:active { transform: scale(0.99); }

  .ag-contact-form__success {
    text-align: center;
    padding: 4rem 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
  }
  .ag-contact-form__success-title {
    margin-top: 0.4rem;
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -0.02em;
  }
  .ag-contact-form__success-body {
    margin-top: 0.8rem;
    font-size: 1rem;
    color: var(--text-muted);
    line-height: 1.55;
  }

  @media (max-width: 600px) {
    .ag-contact-form__grid { grid-template-columns: 1fr; }
  }
/* END_SECTION:aurean-glass-page-contact */

/* START_SECTION:aurean-glass-page-header (INDEX:20) */
.ag-page-head { padding: 8rem 0 2rem; background: var(--bg); }
  .ag-page-head--with-image { padding-bottom: 3rem; }
  .ag-page-head__eyebrow { color: var(--text-muted); margin-bottom: 1rem; }
  .ag-page-head__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2.4rem, 5.5vw, 4.4rem);
    line-height: 1.04;
    letter-spacing: -0.025em;
    max-width: 18ch;
  }
  .ag-page-head__lead {
    margin-top: 1.5rem;
    font-family: var(--body);
    font-size: clamp(1.05rem, 1.4vw, 1.2rem);
    line-height: 1.55;
    color: var(--text-muted);
    max-width: 56ch;
  }
  .ag-page-head__lead p + p { margin-top: 0.8rem; }
  .ag-page-head__image {
    margin-top: 3rem;
    width: 100%;
    aspect-ratio: 16/8;
    border-radius: var(--radius-card-lg);
    overflow: hidden;
    background: var(--bg-card);
    box-shadow: var(--shadow-glass-lg);
    max-width: var(--container-wide);
    margin-left: auto;
    margin-right: auto;
  }
  .ag-page-head__image img {
    width: 100%; height: 100%;
    object-fit: cover;
  }
  @media (max-width: 768px) {
    .ag-page-head { padding: 8rem 0 1.5rem; }
    .ag-page-head__lead { margin-top: 1rem; }
    .ag-page-head__image { margin-top: 2rem; aspect-ratio: 4/5; border-radius: 22px; }
  }
/* END_SECTION:aurean-glass-page-header */

/* START_SECTION:aurean-glass-password (INDEX:21) */
/* Manrope + Karla load on the password page */
  @import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400;500;600;700;800&family=Karla:wght@300;400;500;600&display=swap');

  .ag-password {
    min-height: calc(100vh - 100px);
    background: var(--bg);
    color: var(--text);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4rem 1.5rem;
    box-sizing: border-box;
    font-family: var(--body);
  }

  .ag-password__inner {
    max-width: 520px;
    width: 100%;
    text-align: center;
  }

  .ag-password__wordmark-wrap {
    margin-bottom: 3rem;
  }

  .ag-password__wordmark {
    width: 140px;
    height: auto;
    display: inline-block;
  }

  .ag-password__eyebrow {
    font-family: var(--sans);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0 0 1.25rem;
  }

  .ag-password__heading {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2rem, 5vw, 2.8rem);
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--text);
    margin: 0 0 1.25rem;
  }

  .ag-password__lead {
    font-family: var(--body);
    font-size: 1.05rem;
    line-height: 1.65;
    color: var(--text);
    margin: 0 0 2.5rem;
    max-width: 440px;
    margin-left: auto;
    margin-right: auto;
  }

  .ag-password__form-wrap {
    max-width: 480px;
    margin: 0 auto;
  }

  .ag-password__fine {
    font-family: var(--body);
    font-size: 0.85rem;
    color: var(--text-muted);
    margin: 1.5rem 0 0;
  }

  @media (max-width: 540px) {
    .ag-password {
      padding: 3rem 1.25rem;
      min-height: calc(100vh - 80px);
    }
    .ag-password__wordmark { width: 120px; }
    .ag-password__heading { font-size: clamp(1.6rem, 7vw, 2.2rem); }
    .ag-password__lead { font-size: 1rem; }
  }
/* END_SECTION:aurean-glass-password */

/* START_SECTION:aurean-glass-product-details (INDEX:22) */
.ag-pdetails {
    padding: 2rem 0 6rem;
    background: var(--bg);
  }
  .ag-pdetails__list {
    border-top: 1px solid var(--border);
  }
  .ag-pdetails__item {
    border-bottom: 1px solid var(--border);
  }
  .ag-pdetails__item summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.4rem 0;
    font-family: var(--sans);
    font-weight: 600;
    font-size: 1.1rem;
    letter-spacing: -0.005em;
    color: var(--text);
    transition: opacity var(--dur-fast) var(--ease-out-soft);
  }
  .ag-pdetails__item summary::-webkit-details-marker { display: none; }
  .ag-pdetails__item summary:hover { opacity: 0.7; }
  .ag-pdetails__chev {
    font-family: var(--sans);
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1;
    transition: transform var(--dur-base) var(--ease-out-soft);
  }
  .ag-pdetails__item[open] .ag-pdetails__chev { transform: rotate(45deg); }
  .ag-pdetails__body {
    padding: 0 0 1.6rem;
    font-family: var(--body);
    font-size: 0.98rem;
    line-height: 1.62;
    color: var(--text-muted);
    max-width: 60ch;
  }
  .ag-pdetails__body p + p { margin-top: 0.8rem; }
  .ag-pdetails__body ul, .ag-pdetails__body ol { padding-left: 1.4rem; margin-top: 0.4rem; }
  .ag-pdetails__body li { margin-bottom: 0.4rem; }

  @media (max-width: 768px) {
    .ag-pdetails { padding: 1rem 0 4rem; }
    .ag-pdetails__item summary { padding: 1.2rem 0; font-size: 1rem; }
  }
/* END_SECTION:aurean-glass-product-details */

/* START_SECTION:aurean-glass-product (INDEX:23) */
.ag-product { padding: 11rem 0 4rem; background: var(--bg); }
  .ag-product__layout {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 4rem;
    align-items: flex-start;
  }

  /* GALLERY */
  .ag-product__gallery { position: relative; }
  .ag-product__main {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: var(--radius-card-lg);
    overflow: hidden;
    background: transparent;
    margin-bottom: 0.8rem;
    position: relative;
    display: block;
  }
  .ag-product__main img {
    width: 100%; height: 100%;
    object-fit: contain;
    transition: opacity var(--dur-base) var(--ease-out-soft);
  }
  .ag-product__thumbs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.6rem;
  }
  .ag-product__thumb {
    aspect-ratio: 1;
    border-radius: 14px;
    overflow: hidden;
    border: 1.5px solid transparent;
    background: var(--bg-card);
    cursor: pointer;
    padding: 0;
    transition: border-color var(--dur-fast) var(--ease-out-soft);
  }
  .ag-product__thumb:hover { border-color: var(--text-muted); }
  .ag-product__thumb.is-active { border-color: var(--text); }
  .ag-product__thumb img { width: 100%; height: 100%; object-fit: cover; }
  .ag-product__placeholder-note {
    margin-top: 0.6rem;
    font-size: 0.78rem;
    color: var(--text-muted);
    font-style: italic;
  }

  /* INFO */
  .ag-product__info { position: sticky; top: 5rem; }
  .ag-product__info-inner { display: flex; flex-direction: column; gap: 1.4rem; }
  .ag-product__eyebrow {
    font-family: var(--body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: -0.6rem;
  }
  .ag-product__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--text);
  }
  .ag-product__price-row {
    display: flex;
    align-items: baseline;
    gap: 0.8rem;
    flex-wrap: wrap;
  }
  .ag-product__price {
    font-family: var(--price);
    font-size: 1.6rem;
    font-weight: 500;
    color: var(--text);
  }
  .ag-product__compare {
    font-family: var(--price);
    font-size: 1.2rem;
    color: var(--text-muted);
    text-decoration: line-through;
  }
  .ag-product__installments {
    margin-top: 0.4rem;
    font-family: var(--body);
    font-size: 0.82rem;
    color: var(--text-muted);
    line-height: 1.4;
  }
  .ag-product__installments:empty { display: none; }
  .ag-product__installments shopify-payment-terms {
    --shopify-payment-terms-text-color: var(--text-muted);
    --shopify-payment-terms-link-color: var(--text);
  }
  /* Finish toggle — circular thumbnail picker */
  .ag-product__option--finish { margin-top: 0 !important; margin-bottom: -0.6rem !important; }
  .ag-product__finishes {
    display: flex;
    gap: 1.6rem;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .ag-product__finish {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text);
    cursor: pointer;
    text-decoration: none;
    transition: transform var(--dur-fast) var(--ease-out-soft);
  }
  .ag-product__finish.is-selected { cursor: default; }
  .ag-product__finish:hover:not(.is-selected) { transform: translateY(-2px); }
  .ag-product__finish-media {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, #F4F1EC 0%, #E3DED7 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--border);
    box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset;
    transition: border-color var(--dur-fast) var(--ease-out-soft);
  }
  .ag-product__finish-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .ag-product__finish:hover .ag-product__finish-media { border-color: var(--text-muted); }
  .ag-product__finish.is-selected .ag-product__finish-media {
    border-color: var(--button);
  }
  .ag-product__finish-mono {
    font-family: var(--sans);
    font-weight: 500;
    font-size: 1.6rem;
    color: var(--text-muted);
    letter-spacing: 0.04em;
  }
  .ag-product__finish-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.18rem;
    line-height: 1.1;
  }
  .ag-product__finish-name {
    font-family: var(--body);
    font-size: 0.86rem;
    font-weight: 500;
    color: var(--text);
  }
  .ag-product__finish-price {
    font-family: var(--price);
    font-size: 0.82rem;
    font-weight: 400;
    color: var(--text-muted);
  }
  .ag-product__desc {
    font-family: var(--body);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--text);
  }
  .ag-product__desc p + p { margin-top: 0.8rem; }
  .ag-product__desc h3,
  .ag-product__desc strong {
    display: block;
    font-family: var(--sans);
    font-weight: 600;
    font-size: 1.05rem;
    line-height: 1.3;
    color: var(--text);
    margin: 1.4rem 0 0.4rem;
  }

  /* Accordions inside the description (Specs / Lead time / Care) */
  .ag-product__desc details {
    border-top: 1px solid var(--border-soft);
    padding: 0;
    margin: 0;
  }
  .ag-product__desc details:last-of-type {
    border-bottom: 1px solid var(--border-soft);
  }
  .ag-product__desc details:first-of-type {
    margin-top: 1.6rem;
  }
  .ag-product__desc details > summary {
    list-style: none;
    cursor: pointer;
    padding: 1.1rem 0;
    font-family: var(--sans);
    font-weight: 600;
    font-size: 1.02rem;
    color: var(--text);
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
  }
  .ag-product__desc details > summary::-webkit-details-marker { display: none; }
  .ag-product__desc details > summary::after {
    content: '+';
    font-family: var(--sans);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1;
    color: var(--text-muted);
    transition: transform var(--dur-base) var(--ease-out-soft);
  }
  .ag-product__desc details[open] > summary::after {
    content: '\2212';
  }
  .ag-product__desc details > summary:hover { color: var(--text); }
  .ag-product__desc details > *:not(summary) {
    padding-bottom: 1.2rem;
  }
  .ag-product__desc details ul,
  .ag-product__desc details ol {
    margin: 0;
    padding-left: 1.2rem;
  }
  .ag-product__desc details li {
    margin-bottom: 0.4rem;
    line-height: 1.55;
  }
  .ag-product__desc details li:last-child { margin-bottom: 0; }

  /* OPTION (size selector) */
  .ag-product__option { margin-top: 0.4rem; }
  .ag-product__option-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 0.7rem;
  }
  .ag-product__option-label {
    font-family: var(--body);
    font-size: 0.66rem;
    font-weight: 500;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--text-muted);
  }
  .ag-product__sizing {
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--text);
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 0;
    transition: opacity var(--dur-fast) var(--ease-out-soft);
  }
  .ag-product__sizing:hover { opacity: 0.7; }
  .ag-product__sizes {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0.45rem;
  }
  .ag-product__size-exchange {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0.7rem 0 0;
    font-family: var(--body);
    font-size: 0.78rem;
    color: var(--text-muted);
    line-height: 1.4;
  }
  .ag-product__size-exchange svg {
    flex-shrink: 0;
    opacity: 0.7;
  }
  .ag-product__size {
    height: 48px;
    border-radius: 12px;
    border: 1.5px solid var(--border);
    background: transparent;
    font-family: var(--body);
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--text);
    cursor: pointer;
    transition: border-color var(--dur-fast) var(--ease-out-soft), background var(--dur-fast) var(--ease-out-soft), color var(--dur-fast) var(--ease-out-soft);
  }
  .ag-product__size:hover:not(.is-soldout):not([disabled]) { border-color: var(--text); }
  .ag-product__size.is-selected {
    background: var(--bg-dark);
    color: var(--text-light);
    border-color: var(--bg-dark);
  }
  .ag-product__size.is-soldout, .ag-product__size[disabled] {
    color: var(--text-muted);
    border-color: var(--border);
    text-decoration: line-through;
    cursor: not-allowed;
    opacity: 0.5;
  }

  /* ATC */
  .ag-product__atc {
    margin-top: 0.4rem;
    width: 100%;
    height: 56px;
    border-radius: var(--radius-pill);
    background: var(--button);
    color: var(--text-light);
    border: 1px solid var(--button);
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    transition: transform var(--dur-fast) var(--ease-out-soft), box-shadow var(--dur-fast) var(--ease-out-soft), background var(--dur-fast) var(--ease-out-soft);
  }
  .ag-product__atc:hover:not([disabled]) { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0,0,0,0.18); }
  .ag-product__atc:active:not([disabled]) { transform: scale(0.99); }
  .ag-product__atc[disabled] { opacity: 0.5; cursor: not-allowed; }
  /* Pre-launch mode — single CTA button combining drop date + notify action */
  .ag-product__atc--notify {
    text-decoration: none;
    gap: 0.5rem;
  }
  .ag-product__atc-spinner { display: none; animation: ag-spin 1s linear infinite; }
  .ag-product__atc[data-loading="true"] .ag-product__atc-spinner { display: inline-block; }
  .ag-product__atc[data-loading="true"] [data-ag-product-atc-label] { opacity: 0.7; }
  @keyframes ag-spin { to { transform: rotate(360deg); } }

  /* EXPRESS CHECKOUT (Shop Pay / Apple Pay / Google Pay) */
  .ag-product__express {
    margin-top: 0.7rem;
    min-height: 52px;
  }
  .ag-product__express:empty { display: none; }
  .ag-product__express .shopify-payment-button {
    width: 100%;
  }
  .ag-product__express .shopify-payment-button__button {
    min-height: 52px;
    border-radius: var(--radius-pill) !important;
    font-family: var(--body) !important;
    font-size: 0.74rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
  }
  .ag-product__express .shopify-payment-button__more-options {
    display: block;
    margin-top: 0.6rem;
    background: transparent;
    border: 0;
    color: var(--text-muted);
    font-family: var(--body);
    font-size: 0.74rem;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
  }
  .ag-product__express .shopify-payment-button__more-options:hover { color: var(--text); }

  /* ASSURANCES */
  .ag-product__assurances {
    list-style: none;
    padding: 1.2rem 0 0;
    margin: 0;
    border-top: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
  .ag-product__assurances li {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    font-family: var(--body);
    font-size: 0.92rem;
    color: var(--text);
  }
  .ag-product__assurances svg { color: var(--text-muted); flex-shrink: 0; }

  /* SIZING MODAL */
  .ag-sizing {
    position: fixed; inset: 0; z-index: 200;
    background: rgba(12,11,10,0.55);
    -webkit-backdrop-filter: blur(var(--blur-md));
    backdrop-filter: blur(var(--blur-md));
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    opacity: 0;
    transition: opacity var(--dur-base) var(--ease-out-soft);
  }
  .ag-sizing[hidden] { display: none; }
  .ag-sizing[data-open="true"] { opacity: 1; }
  .ag-sizing__panel {
    background: var(--bg);
    border-radius: var(--radius-card-lg);
    padding: 2.4rem 2.4rem 2rem;
    max-width: 560px;
    width: 100%;
    max-height: 86vh;
    overflow-y: auto;
    position: relative;
    box-shadow: var(--shadow-glass-xl);
  }
  .ag-sizing__close {
    position: absolute;
    top: 1rem; right: 1rem;
    width: 36px; height: 36px;
    border-radius: 50%;
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background var(--dur-fast) var(--ease-out-soft);
  }
  .ag-sizing__close:hover { background: var(--bg-card); }
  .ag-sizing__title {
    font-family: var(--sans);
    font-weight: 500;
    font-size: 1.6rem;
    letter-spacing: -0.015em;
    margin-bottom: 0.6rem;
  }
  .ag-sizing__lead {
    font-size: 0.95rem;
    line-height: 1.55;
    color: var(--text-muted);
    margin-bottom: 1.4rem;
  }
  .ag-sizing__lead a,
  .ag-sizing__note a {
    color: var(--text);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
  .ag-sizing__lead a:hover,
  .ag-sizing__note a:hover { text-decoration-thickness: 2px; }
  .ag-sizing__table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1rem;
    font-size: 0.9rem;
  }
  .ag-sizing__table th, .ag-sizing__table td {
    padding: 0.6rem 0.4rem;
    text-align: left;
    border-bottom: 1px solid var(--border);
  }
  .ag-sizing__table th {
    font-family: var(--body);
    font-size: 0.62rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--text-muted);
    font-weight: 500;
  }
  .ag-sizing__note {
    font-size: 0.75rem;
    color: var(--text-muted);
    font-style: italic;
  }

  /* STICKY MOBILE ATC BAR */
  .ag-product__sticky {
    display: none;
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 90;
    background: rgba(246, 244, 241, 0.94);
    -webkit-backdrop-filter: blur(var(--blur-md)) saturate(180%);
    backdrop-filter: blur(var(--blur-md)) saturate(180%);
    border-top: 1px solid var(--border);
    transform: translateY(100%);
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
  }
  .ag-product__sticky[data-visible="true"] {
    transform: translateY(0);
    pointer-events: auto;
  }
  .ag-product__sticky-inner {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1.1rem;
    padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
    max-width: 1280px;
    margin: 0 auto;
  }
  .ag-product__sticky-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
  }
  .ag-product__sticky-name {
    font-family: var(--sans);
    font-weight: 600;
    font-size: 0.86rem;
    line-height: 1.2;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .ag-product__sticky-price {
    font-family: var(--price);
    font-weight: 500;
    font-size: 0.92rem;
    color: var(--text-muted);
    line-height: 1.1;
  }
  .ag-product__sticky-atc {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    height: 46px;
    padding: 0 1.2rem;
    border-radius: var(--radius-pill);
    background: var(--button);
    color: var(--text-light);
    border: 1px solid var(--button);
    font-family: var(--body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background var(--dur-fast) var(--ease-out-soft), transform var(--dur-fast) var(--ease-out-soft);
  }
  .ag-product__sticky-atc:hover:not([disabled]) { background: var(--bg-deepdark); }
  .ag-product__sticky-atc:active:not([disabled]) { transform: scale(0.98); }
  .ag-product__sticky-atc[disabled] { opacity: 0.5; cursor: not-allowed; }
  @media (max-width: 900px) {
    .ag-product__sticky { display: block; }
  }

  /* MOBILE */
  @media (max-width: 900px) {
    .ag-product { padding: 9rem 0 3rem; }
    .ag-product__layout { grid-template-columns: 1fr; gap: 2rem; }
    .ag-product__info { position: static; }
    .ag-product__main { aspect-ratio: 1; }
    .ag-product__thumbs { grid-template-columns: repeat(5, 1fr); gap: 0.4rem; }
    .ag-product__thumb { border-radius: 10px; }
  }
  @media (max-width: 540px) {
    .ag-product__sizes { grid-template-columns: repeat(4, 1fr); }
    .ag-product__title { font-size: 1.6rem; }
    .ag-product__finishes { gap: 1.2rem; }
    .ag-product__finish-media { width: 72px; height: 72px; }
    .ag-product__finish-name { font-size: 0.82rem; }
    .ag-product__finish-price { font-size: 0.78rem; }
    .ag-sizing__panel { padding: 2rem 1.4rem 1.6rem; }
  }
/* END_SECTION:aurean-glass-product */

/* START_SECTION:aurean-glass-products (INDEX:24) */
.ag-products {
    padding: 4rem 0 3.5rem;
    background: var(--bg);
    scroll-margin-top: 70px;
  }

  .ag-products__head {
    text-align: center;
    max-width: 620px;
    margin: 0 auto 2.2rem;
  }
  .ag-products__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--text);
    margin: 0.4rem 0 0.6rem;
  }
  .ag-products__lead {
    font-family: var(--body);
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--text-muted);
    margin: 0;
  }

  /* 2-card centered grid — same structure desktop and mobile */
  .ag-products__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem;
    max-width: 1040px;
    margin: 0 auto;
  }

  .ag-products__card {
    display: flex;
    flex-direction: column;
    background: var(--bg-card);
    border-radius: var(--radius-card);
    overflow: hidden;
    color: var(--text);
    box-shadow: var(--shadow-glass);
    transition: transform var(--dur-base) var(--ease-out-soft), box-shadow var(--dur-base) var(--ease-out-soft);
  }
  .ag-products__card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-glass-lg);
  }
  .ag-products__card:hover .ag-products__cta { color: var(--text); gap: 0.65rem; }
  .ag-products__card:hover .ag-products__media img { transform: scale(1.03); }

  .ag-products__media {
    aspect-ratio: 1/1;
    overflow: hidden;
    background: var(--bg-card);
    position: relative;
  }
  .ag-products__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--dur-slow) var(--ease-out-soft);
  }
  .ag-products__media-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--bg-card) 0%, #E3DED7 100%);
  }
  .ag-products__media-placeholder span {
    font-family: var(--sans);
    font-weight: 400;
    font-size: 1.2rem;
    letter-spacing: 0.04em;
    color: var(--text-muted);
    text-transform: uppercase;
  }

  .ag-products__body {
    padding: 1.2rem 1.4rem 1.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  .ag-products__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.8rem;
  }
  .ag-products__name {
    font-family: var(--sans);
    font-weight: 600;
    font-size: 1.05rem;
    line-height: 1.2;
    letter-spacing: -0.005em;
    color: var(--text);
    margin: 0;
  }
  .ag-products__price {
    font-family: var(--price);
    font-weight: 500;
    font-size: 1.1rem;
    color: var(--text);
  }
  .ag-products__spec {
    font-family: var(--body);
    font-size: 0.84rem;
    line-height: 1.45;
    color: var(--text-muted);
    margin: 0;
  }
  .ag-products__cta {
    margin-top: 0.4rem;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-family: var(--body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--text-muted);
    transition: gap var(--dur-fast) var(--ease-out-soft), color var(--dur-fast) var(--ease-out-soft);
  }

  .ag-products__microcopy {
    text-align: center;
    margin: 2rem auto 0;
    max-width: 460px;
    font-family: var(--body);
    font-size: 0.82rem;
    line-height: 1.5;
    color: var(--text-muted);
  }

  @media (max-width: 768px) {
    .ag-products { padding: 3.5rem 0 2.8rem; }
    .ag-products__head { margin: 0 auto 1.6rem; }
    .ag-products__grid {
      grid-template-columns: 1fr;
      gap: 1.2rem;
      max-width: 440px;
    }
    .ag-products__body { padding: 1rem 1.1rem 1.2rem; }
    .ag-products__microcopy { margin-top: 1.6rem; }
  }
/* END_SECTION:aurean-glass-products */

/* START_SECTION:aurean-glass-reception (INDEX:25) */
.ag-reception { padding: 7rem 0 3rem; background: var(--bg); }
  .ag-reception__head {
    text-align: center;
    margin: 0 auto 3rem;
    padding: 0 1.5rem;
    max-width: 720px;
  }
  .ag-reception__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    line-height: 1.12;
    letter-spacing: -0.02em;
    margin: 0.6rem auto 0.9rem;
    max-width: 22ch;
  }
  .ag-reception__subtext {
    font-family: var(--body);
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-muted, rgba(15, 14, 13, 0.62));
    margin: 0 auto;
    max-width: 480px;
  }
  .ag-reception__rail {
    display: flex;
    gap: 1.2rem;
    overflow-x: auto;
    padding: 0.5rem max(2rem, calc((100vw - 1480px) / 2)) 1.75rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .ag-reception__rail::-webkit-scrollbar { display: none; }
  .ag-reception__card {
    flex: 0 0 min(480px, 86vw);
    border-radius: var(--radius-card-lg);
    overflow: hidden;
    background: var(--bg-card);
    scroll-snap-align: center;
    box-shadow: var(--shadow-glass-lg);
    padding: 1.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
  }
  .ag-reception__card img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
    border-radius: 10px;
  }
  .ag-reception__attribution {
    text-align: center;
    margin-top: 0.5rem;
    font-family: var(--body);
    font-size: 0.7rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--text-muted, rgba(15, 14, 13, 0.55));
  }
  @media (max-width: 768px) {
    .ag-reception { padding: 5rem 0 4rem; }
    .ag-reception__head { margin-bottom: 2.2rem; }
    .ag-reception__rail { gap: 1rem; padding-left: 1.3rem; padding-right: 1.3rem; }
    .ag-reception__card { flex-basis: 88vw; padding: 1.1rem; min-height: 110px; }
  }
/* END_SECTION:aurean-glass-reception */

/* START_SECTION:aurean-glass-search (INDEX:26) */
.ag-search { padding: 7rem 0 6rem; background: var(--bg); min-height: calc(100vh - 200px); }

  .ag-search__head { margin-bottom: 2.5rem; }

  /* Form */
  .ag-search__form {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-top: 0.6rem;
    padding: 0.6rem 0.8rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-pill);
    background: transparent;
    transition: border-color var(--dur-fast) var(--ease-out-soft);
  }
  .ag-search__form:focus-within { border-color: var(--text); }
  .ag-search__form-icon { color: var(--text-muted); flex-shrink: 0; margin-left: 0.5rem; }
  .ag-search__form-input {
    flex: 1;
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    font-family: var(--sans);
    font-weight: 500;
    font-size: clamp(1.2rem, 2.4vw, 1.6rem);
    letter-spacing: -0.015em;
    color: var(--text);
    padding: 0.6rem 0;
  }
  .ag-search__form-input:focus,
  .ag-search__form-input:focus-visible {
    outline: 0 !important;
    outline-offset: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }
  .ag-search__form-input::placeholder { color: var(--text-muted); }
  .ag-search__form-input::-webkit-search-decoration,
  .ag-search__form-input::-webkit-search-cancel-button,
  .ag-search__form-input::-webkit-search-results-button,
  .ag-search__form-input::-webkit-search-results-decoration { -webkit-appearance: none; display: none; }
  .ag-search__form-clear {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: 0.4rem;
    color: var(--text-muted);
    background: transparent;
    border: none;
    cursor: pointer;
    transition: background var(--dur-fast) var(--ease-out-soft), color var(--dur-fast) var(--ease-out-soft);
  }
  .ag-search__form-clear:hover { background: var(--bg-card); color: var(--text); }
  .ag-search__form-clear svg { width: 14px; height: 14px; }

  /* Count */
  .ag-search__count {
    font-family: var(--body);
    font-size: 0.92rem;
    color: var(--text-muted);
    margin-bottom: 2rem;
  }

  /* Grid */
  .ag-search__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
  .ag-search__card {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    color: var(--text);
    transition: transform var(--dur-fast) var(--ease-out-soft);
  }
  .ag-search__card:hover { transform: translateY(-2px); }
  .ag-search__card-media {
    aspect-ratio: 4/5;
    border-radius: var(--radius-card);
    overflow: hidden;
    background: var(--bg-card);
    box-shadow: var(--shadow-glass);
  }
  .ag-search__card-media img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform var(--dur-slow) var(--ease-out-soft);
  }
  .ag-search__card:hover .ag-search__card-media img { transform: scale(1.04); }
  .ag-search__card-body {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
  }
  .ag-search__card-title {
    font-family: var(--sans);
    font-weight: 600;
    font-size: 1.05rem;
    line-height: 1.2;
    letter-spacing: -0.005em;
  }
  .ag-search__card-price {
    font-family: var(--price);
    font-weight: 500;
    font-size: 1rem;
    color: var(--text);
    display: flex;
    gap: 0.5rem;
    align-items: baseline;
  }
  .ag-search__card-compare {
    font-size: 0.88rem;
    color: var(--text-muted);
    text-decoration: line-through;
  }

  /* Page/article result variant */
  .ag-search__card--page .ag-search__card-body {
    padding: 1.6rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-card);
    background: var(--bg-card);
    aspect-ratio: 4/5;
    justify-content: space-between;
  }
  .ag-search__card-kind {
    font-family: var(--body);
    font-size: 0.62rem;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--text-muted);
  }
  .ag-search__card-excerpt {
    font-family: var(--body);
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--text-muted);
  }

  /* Empty */
  .ag-search__empty {
    text-align: center;
    padding: 5rem 1rem 4rem;
    max-width: 580px;
    margin: 0 auto;
  }
  .ag-search__empty-title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.1;
    letter-spacing: -0.025em;
    margin: 0 0 1rem;
  }
  .ag-search__empty-lead {
    font-size: 1.02rem;
    line-height: 1.55;
    color: var(--text-muted);
    margin-bottom: 2rem;
  }
  .ag-search__empty-ctas {
    display: flex;
    gap: 0.6rem;
    justify-content: center;
    flex-wrap: wrap;
  }
  .ag-search__empty .btn-ghost { border-color: var(--border); color: var(--text); }

  /* Pagination */
  .ag-search__pagination {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
  }
  .ag-search__page-link {
    font-family: var(--body);
    font-size: 0.92rem;
    color: var(--text);
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .ag-search__page-info {
    font-family: var(--body);
    font-size: 0.86rem;
    color: var(--text-muted);
  }

  @media (max-width: 768px) {
    .ag-search { padding: 5rem 0 5rem; }
    .ag-search__grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .ag-search__form { padding: 0.5rem 0.7rem; }
    .ag-search__form-icon { margin-left: 0.3rem; }
    .ag-search__form-input { font-size: 1.1rem; padding: 0.5rem 0; }
  }
/* END_SECTION:aurean-glass-search */

/* START_SECTION:aurean-glass-showroom (INDEX:27) */
.ag-showroom {
    padding: 4rem 6vw;
    background: var(--bg);
  }
  .ag-showroom__card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--shadow-glass-xl);
    aspect-ratio: 4 / 5;
    max-height: 78vh;
    margin: 0 auto;
  }
  .ag-showroom__media { position: absolute; inset: 0; }
  .ag-showroom__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 75%; display: block; }
  .ag-showroom__media::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,0.5) 100%);
    pointer-events: none;
  }
  .ag-showroom__pill {
    position: absolute;
    top: 2rem; left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    padding: 0.7rem 1.3rem;
    border-radius: var(--radius-pill);
    background: var(--glass-bg-strong);
    -webkit-backdrop-filter: blur(var(--blur-md)) saturate(180%);
    backdrop-filter: blur(var(--blur-md)) saturate(180%);
    border: 1px solid var(--glass-border);
    box-shadow: var(--shadow-glass);
    font-family: var(--body);
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--text);
    white-space: nowrap;
  }
  .ag-showroom__line {
    position: absolute;
    left: 50%; bottom: 2.5rem;
    transform: translateX(-50%);
    z-index: 5;
    color: var(--text-light);
    font-family: var(--sans);
    font-weight: 500;
    font-size: clamp(1.3rem, 2.4vw, 2rem);
    line-height: 1.18;
    letter-spacing: -0.02em;
    text-align: center;
    width: min(620px, calc(100% - 3rem));
  }
  /* Combine reveal entrance with the centering transform */
  .ag-showroom__pill.reveal { transform: translate(-50%, -10px); }
  .ag-showroom__pill.reveal.visible { transform: translateX(-50%); }
  .ag-showroom__line.reveal { transform: translate(-50%, 10px); }
  .ag-showroom__line.reveal.visible { transform: translateX(-50%); }
  @media (max-width: 768px) {
    .ag-showroom { padding: 2.5rem 4vw; }
    .ag-showroom__card { aspect-ratio: 3 / 4; max-height: 72vh; }
    .ag-showroom__pill { top: 1.5rem; font-size: 0.55rem; padding: 0.55rem 1rem; }
    .ag-showroom__line { bottom: 1.8rem; font-size: clamp(1.1rem, 4vw, 1.4rem); }
  }
/* END_SECTION:aurean-glass-showroom */

/* START_SECTION:aurean-glass-specs (INDEX:28) */
.ag-specs {
    padding: 7rem 0;
    background: var(--bg-dark);
    color: var(--text-light);
    position: relative;
  }
  .ag-specs__head { text-align: center; margin-bottom: 4rem; }
  .ag-specs__head .eyebrow { color: rgba(246,244,241,0.55); }
  .ag-specs__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.08;
    letter-spacing: -0.025em;
    max-width: 18ch;
    margin: 0.6rem auto 0;
  }
  .ag-specs__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
  }
  .ag-spec {
    padding: 2rem 1.6rem;
    border-radius: var(--radius-card);
    background: rgba(255,255,255,0.04);
    -webkit-backdrop-filter: blur(var(--blur-sm));
    backdrop-filter: blur(var(--blur-sm));
    border: 1px solid rgba(255,255,255,0.07);
    position: relative;
    overflow: hidden;
  }
  .ag-spec::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.18) 50%, transparent 100%);
  }
  .ag-spec__label {
    font-size: 0.62rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: rgba(246,244,241,0.5);
    margin-bottom: 0.8rem;
  }
  .ag-spec__value {
    font-family: var(--sans);
    font-weight: 500;
    font-size: 1.6rem;
    letter-spacing: -0.015em;
    line-height: 1.05;
    margin-bottom: 0.5rem;
  }
  .ag-spec__detail {
    font-size: 0.85rem;
    color: rgba(246,244,241,0.55);
    line-height: 1.45;
  }
  @media (max-width: 900px) { .ag-specs__grid { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 540px) { .ag-specs__grid { grid-template-columns: 1fr; } }
  @media (max-width: 768px) { .ag-specs { padding: 5rem 0; } }
/* END_SECTION:aurean-glass-specs */

/* START_SECTION:aurean-glass-story (INDEX:29) */
.ag-story {
    position: relative;
    padding: 2rem 0 8rem;
    background: var(--bg);
  }
  /* Story panels use the global .reveal vertical fade — calmer on mobile */
  .ag-story__rail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: flex-start;
  }
  .ag-story__visual {
    position: sticky;
    top: 6rem;
    height: 80vh;
    border-radius: var(--radius-card-lg);
    overflow: hidden;
    box-shadow: var(--shadow-glass-xl);
  }
  .ag-story__visual img,
  .ag-story__visual video { width: 100%; height: 100%; object-fit: cover; display: block; }
  .ag-story__visual::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.15) 100%);
    pointer-events: none;
  }
  .ag-story__panels {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 4rem 0;
  }
  .ag-story__panel {
    min-height: 35vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.4rem;
  }
  .ag-story__panel .eyebrow { color: var(--text-muted); margin-bottom: 0.5rem; }
  .ag-story__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    line-height: 1.12;
    letter-spacing: -0.02em;
  }
  .ag-story__body {
    font-family: var(--body);
    font-size: 1.08rem;
    line-height: 1.55;
    color: var(--text-muted);
    max-width: 38ch;
  }
  @media (max-width: 900px) {
    .ag-story__rail { grid-template-columns: 1fr; }
    .ag-story__visual { position: relative; top: 0; height: 70vh; }
    .ag-story__panels { padding: 4rem 0; gap: 2rem; }
    .ag-story__panel { min-height: 0; }
  }
/* END_SECTION:aurean-glass-story */

/* START_SECTION:aurean-glass-worn (INDEX:30) */
.ag-worn {
    padding: 6rem 0;
    background: var(--bg);
    overflow-x: clip;
  }

  .ag-worn__head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 3rem;
  }
  .ag-worn__title {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(1.8rem, 3.4vw, 2.8rem);
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--text);
    margin: 0.5rem 0 0;
    max-width: 22ch;
    margin-left: auto;
    margin-right: auto;
  }

  /* Editorial 3-image row, no carousel UI — Bulgari "Vision Meets Craft" layout */
  .ag-worn__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6rem;
    max-width: 1400px;
    margin: 0 auto;
  }

  .ag-worn__item {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
  }
  .ag-worn__media {
    aspect-ratio: 3/4;
    border-radius: var(--radius-card);
    overflow: hidden;
    background: var(--bg-card);
    box-shadow: var(--shadow-glass);
    position: relative;
  }
  .ag-worn__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--dur-slow) var(--ease-out-soft);
  }
  .ag-worn__item:hover .ag-worn__media img { transform: scale(1.04); }

  .ag-worn__caption {
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-muted);
    text-align: left;
    line-height: 1.4;
    padding: 0 0.2rem;
  }

  @media (max-width: 900px) {
    .ag-worn { padding: 4.5rem 0; }
    .ag-worn__head { margin-bottom: 2rem; }
    .ag-worn__grid {
      grid-template-columns: 1fr;
      gap: 1.4rem;
      max-width: 480px;
      padding: 0 0;
    }
    .ag-worn__media { aspect-ratio: 4/5; }
    .ag-worn__caption { font-size: 0.74rem; letter-spacing: 0.16em; }
  }
/* END_SECTION:aurean-glass-worn */

/* START_SECTION:main-blog-post (INDEX:31) */
.blog-post-comments-container {
    width: 100%;
    max-width: var(--normal-content-width);
    margin: 0 auto;
  }

  .blog-post-comments {
    display: flex;
    flex-direction: column;
    gap: var(--gap-3xl);
  }

  .blog-post-comment__author {
    display: flex;
    align-items: center;
    gap: var(--gap-2xs);
    margin-top: var(--margin-md);
    font-size: var(--font-size--body-sm);
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
  }

  .blog-post-comments-pagination {
    display: flex;
    justify-content: center;
    gap: var(--gap-2xs);
  }

  .blog-post-comments-pagination,
  .blog-post-comments-pagination a {
    color: var(--color-foreground);
  }

  .blog-post-comments-pagination .current {
    color: var(--color-foreground);
  }

  .blog-post-comments-pagination .current,
  .blog-post-comments-pagination a {
    display: block;
    padding: var(--padding-2xs) var(--padding-xs);
  }

  .blog-post-comments-pagination .current,
  .blog-post-comments-pagination a:hover {
    border-bottom: 1px solid var(--color-foreground);
  }
/* END_SECTION:main-blog-post */

/* START_SECTION:main-blog (INDEX:32) */
/**
   * Blog posts page layout
   */
  .blog-posts {
    --page-content-width: var(--narrow-page-width);
    --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
    --columns-gap: 36px;
    --rows-gap: 36px;
  }

  .blog-posts-container {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1rem;
    width: 100%;
    column-gap: var(--columns-gap);
    row-gap: var(--rows-gap);
  }

  /**
   * Blog post item grid positioning and scaling.
   * Layout is calculated in Liquid based on total article count.
   * Mobile overrides are applied per-item in inline styles for proper specificity.
   */
  .blog-post-item {
    grid-column: span var(--col-span);
  }

  /**
   * When there's no image, the blog post item has a border.
   */
  .blog-post-item {
    border: 1px solid rgb(var(--color-foreground-rgb) / var(--opacity-20));
    padding: 0 1rem 1rem;
  }

  .blog-post-item:has(.blog-post-card__image-container) {
    border: none;
    padding: 0;
  }
/* END_SECTION:main-blog */

/* START_SECTION:password-footer (INDEX:34) */
.password-footer-min {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.5rem 1rem 2rem;
    background: #F2EFEA;
  }

  .password-footer-min__trigger {
    appearance: none;
    background: transparent;
    border: none;
    cursor: pointer;
    font-family: 'Karla', sans-serif;
    font-size: 0.75rem;
    color: rgba(60, 47, 38, 0.45);
    text-decoration: underline;
    text-underline-offset: 3px;
    letter-spacing: 0.02em;
    padding: 0.5rem 1rem;
    transition: color 0.2s ease;
  }

  .password-footer-min__trigger:hover {
    color: rgba(60, 47, 38, 0.8);
  }
/* END_SECTION:password-footer */

/* START_SECTION:password (INDEX:35) */
.section-password {
    flex-grow: 1;
    display: flex;
  }

  .password-content {
    text-align: center;
  }
/* END_SECTION:password */

/* CSS from block stylesheet tags */
/* START_BLOCK:_accordion-row (INDEX:36) */
.details__icon {
    height: auto;
    margin-inline-end: var(--margin-xs);
  }
/* END_BLOCK:_accordion-row */

/* START_BLOCK:_announcement (INDEX:37) */
.text-block:not(.text-block--full-width).rte,
  .text-block:not(.text-block--full-width).paragraph {
    /* Safari doesn't support pretty, so fallback to balance */
    text-wrap: balance;
    text-wrap: pretty;
  }

  .text-block:not(.text-block--full-width).h1,
  .text-block:not(.text-block--full-width).h2,
  .text-block:not(.text-block--full-width).h3,
  .text-block:not(.text-block--full-width).h4,
  .text-block:not(.text-block--full-width).h5,
  .text-block:not(.text-block--full-width).h6 {
    text-wrap: balance;
  }

  /* Hide underline unless text is using paragraph styles. */
  .text-block:is(.h1, .h2, .h3, .h4, .h5, .h6) a {
    text-decoration-color: transparent;
  }

  .text-block h1,
  .text-block.h1 > * {
    margin-block: var(--font-h1--spacing);
  }

  .text-block h2,
  .text-block.h2 > * {
    margin-block: var(--font-h2--spacing);
  }

  .text-block h3,
  .text-block.h3 > * {
    margin-block: var(--font-h3--spacing);
  }

  .text-block h4,
  .text-block.h4 > * {
    margin-block: var(--font-h4--spacing);
  }

  .text-block h5,
  .text-block.h5 > * {
    margin-block: var(--font-h5--spacing);
  }

  .text-block h6,
  .text-block.h6 > * {
    margin-block: var(--font-h6--spacing);
  }

  .text-block > *:first-child {
    margin-block-start: 0;
  }

  .text-block > *:last-child {
    margin-block-end: 0;
  }

  .text-block--align-center,
  .text-block--align-center > * {
    margin-inline: auto;
  }

  .text-block--align-right,
  .text-block--align-right > * {
    margin-inline-start: auto;
  }
/* END_BLOCK:_announcement */

/* START_BLOCK:_blog-post-card (INDEX:38) */
.blog-post-card {
    display: flex;
    flex-direction: column;
    text-align: var(--text-align);
    column-gap: var(--columns-gap);
  }

  .blog-post-item--horizontal:has(.blog-post-card__image-container) .blog-post-card {
    & > *:first-child {
      flex-basis: 70%;
    }

    & > *:last-child {
      flex-basis: 30%;
    }
  }

  .blog-post-card__content {
    padding-block-start: 0.4rem;
    display: flex;
    flex-direction: column;
  }

  .blog-post-item .blog-post-card__image-container,
  .blog-post-item .blog-post-card__content {
    width: 100%;
  }

  /**
   * Horizontal layout (image left, content right)
   * Applied to hero posts based on total article count
   * Only applies the split layout when an image is actually present
   */
  .blog-post-item--horizontal .blog-post-card {
    flex-direction: row;

    @media screen and (max-width: 749px) {
      flex-direction: column;
    }
  }

  .blog-post-card__content a {
    display: block;
    text-wrap: pretty;
    text-decoration: none;
    padding-block-start: 0.75rem;
  }

  .blog-post-card__content a:hover,
  .blog-post-card__content a:hover [style*='--color: var(--color-primary)'] {
    color: var(--color-primary-hover);
  }

  .blog-post-card__content a:hover [style*='--color: var(--color-foreground-heading)'] {
    color: rgb(var(--color-foreground-heading-rgb) / var(--opacity-subdued-text));
  }

  .blog-post-card__content a:hover [style*='--color: var(--color-foreground)'] {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
  }
/* END_BLOCK:_blog-post-card */

/* START_BLOCK:_blog-post-content (INDEX:39) */
.blog-post-content {
    max-width: var(--normal-content-width);
    margin: 0 auto;
  }
/* END_BLOCK:_blog-post-content */

/* START_BLOCK:_blog-post-description (INDEX:40) */
.blog-post-card__content-text a {
    color: var(--color-primary);
  }

  .custom-color,
  .custom-color > :is(h1, h2, h3, h4, h5, h6, p, *) {
    color: var(--color);
  }
/* END_BLOCK:_blog-post-description */

/* START_BLOCK:_blog-post-featured-image (INDEX:41) */
.blog-post-featured-image {
    --width: 100%;
    --custom-width: 100%;

    display: block;
    position: relative;
    width: var(--width);
  }

  .blog-post-featured-image.size-style {
    --width: var(--size-style-width, 100%);
  }

  .blog-post-featured-image--height-fit {
    height: fit-content;
  }

  .blog-post-featured-image--height-fill {
    height: 100%;
  }

  .blog-post-featured-image__image {
    aspect-ratio: var(--ratio);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }

  @media screen and (max-width: 749px) {
    .blog-post-featured-image {
      --width: var(--width-mobile, var(--width));
      --custom-width: var(--custom-width-mobile, var(--custom-width));
    }

    .blog-post-featured-image.size-style {
      --width: var(--size-style-width-mobile, var(--size-style-width, 100%));
    }
  }
/* END_BLOCK:_blog-post-featured-image */

/* START_BLOCK:_blog-post-image (INDEX:42) */
.blog-post-card__image {
    width: 100%;
    object-fit: cover;
    object-position: center center;
    height: calc(var(--blog-post-card-img-height) * var(--blog-post-card-scale));
  }

  .blog-post-card__image--small {
    --blog-post-card-img-height: 280px;
  }

  .blog-post-card__image--medium {
    --blog-post-card-img-height: 340px;
  }

  .blog-post-card__image--large {
    --blog-post-card-img-height: 400px;
  }
/* END_BLOCK:_blog-post-image */

/* START_BLOCK:_blog-post-info-text (INDEX:43) */
.blog-post-details {
    display: flex;
    gap: var(--gap-sm);
    font-size: var(--font-paragraph-size);
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
    white-space: nowrap;
    flex-wrap: wrap;
  }

  .blog-post-details > span {
    text-overflow: clip;
    overflow: hidden;
  }
/* END_BLOCK:_blog-post-info-text */

/* START_BLOCK:_card (INDEX:44) */
.card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    width: 100%;
    height: 100%;
    border-radius: var(--border-radius, 0);
    border-width: var(--border-width, 0);
    border-style: var(--border-style, none);
    border-color: var(--border-color);
    container-type: inline-size;
  }

  .card__content {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: var(--layer-flat);
    display: flex;
    flex-direction: column;
    aspect-ratio: var(--card-ratio, 1);
  }

  .card__content.background-transparent {
    background-color: transparent;
  }

  /* When card has both image and content, use min-height from container query */
  .card__content--has-min-height {
    min-height: calc(100cqw / var(--card-ratio-numeric));
  }

  .card__inner {
    flex: 1;
  }

  .card__media-wrapper {
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
  }

  .card__media-wrapper video {
    z-index: var(--layer-raised);
  }

  .card__link {
    position: absolute;
    inset: 0;
    z-index: var(--layer-raised);
  }

  .card__link ~ :is(.card__content, .card__media-wrapper) {
    pointer-events: none;

    :is(a, button, input, textarea, select) {
      pointer-events: auto;
    }
  }

  /* Needs the .card__link ~ to be specific enough to take effect. */
  .card__link ~ .card__content--design-mode {
    pointer-events: auto;
  }
/* END_BLOCK:_card */

/* START_BLOCK:_carousel-content (INDEX:45) */
.carousel-content slideshow-slides {
    --slideshow-gap: var(--carousel-gap);
  }

  .carousel-content slideshow-slides > .card {
    flex: 0 0 auto;
    width: calc(
      (100% - (var(--carousel-gap, 8px) * (var(--carousel-mobile-columns, 2) - 1)) - var(--peek-next-slide-size, 0px)) /
        var(--carousel-mobile-columns, 2)
    );
  }

  @media screen and (min-width: 750px) {
    .carousel-content slideshow-slides > .card {
      width: calc(
        (100% - (var(--carousel-gap, 8px) * (var(--carousel-columns, 4) - 1)) - var(--peek-next-slide-size, 0px)) /
          var(--carousel-columns, 4)
      );
    }
  }

  .carousel-content .slideshow-control[disabled] {
    display: none;
  }

  .carousel-content slideshow-arrows {
    padding-inline: var(--util-page-margin-offset);
  }

  .carousel-content .slideshow-control--next {
    margin-inline-start: auto;
  }
/* END_BLOCK:_carousel-content */

/* START_BLOCK:_cart-products (INDEX:46) */
.cart-page__title + .cart-page__items {
    margin-block-start: var(--margin-lg);
  }
/* END_BLOCK:_cart-products */

/* START_BLOCK:_cart-summary (INDEX:47) */
.cart-summary__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap-2xl);
    container-type: inline-size;
    padding: 0;
    position: sticky;
    top: 0;
    align-self: start;

    @media screen and (min-width: 750px) {
      padding: var(--padding-5xl);
      grid-row: 1 / -1;
    }
  }

  body:has(> #header-group header-component[sticky]) .cart-summary__inner {
    top: var(--header-height, 0);
  }

  .cart-summary {
    @media screen and (max-width: 749px) {
      border: none;
    }

    @media screen and (min-width: 750px) {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: 1 / -1;
    }
  }

  .cart-summary--extend {
    height: 100%;

    @media screen and (min-width: 750px) {
      border-right: none;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }
  }

  /* If extend is on, only include top and bottom borders when the border radius is 0. */
  .cart-summary--extend:not(.has-border-radius) {
    @media screen and (min-width: 750px) {
      border-top: none;
      border-bottom: none;
    }
  }

  .cart-summary--extend .cart-summary__inner {
    height: 100%;
    padding: var(--padding-md) 0 var(--padding-4xl);

    @media screen and (min-width: 750px) {
      grid-row: 2 / -1;
      padding-inline: var(--page-margin);
      width: var(--sidebar-width);
    }
  }

  /* If extend is off, apply the border radius to the inner summary container */
  .cart-summary__inner.has-border-radius {
    border-radius: var(--border-radius);
  }

  @media screen and (max-width: 749px) {
    .inherit-parent-scheme--mobile {
      --color-background: inherit;
      --color-background-rgb: inherit;
      --color-foreground: inherit;
      --color-foreground-rgb: inherit;
      --color-primary: inherit;
      --color-primary-rgb: inherit;
      --color-primary-hover: inherit;
      --color-primary-hover-rgb: inherit;
      --color-border: inherit;
      --color-border-rgb: inherit;
      --color-shadow: inherit;
      --color-shadow-rgb: inherit;
      --color-foreground-heading: inherit;
      --color-primary-button-text: inherit;
      --color-primary-button-background: inherit;
      --color-primary-button-border: inherit;
      --color-primary-button-hover-text: inherit;
      --color-primary-button-hover-background: inherit;
      --color-primary-button-hover-border: inherit;
      --color-secondary-button-text: inherit;
      --color-secondary-button-background: inherit;
      --color-secondary-button-border: inherit;
      --color-secondary-button-hover-text: inherit;
      --color-secondary-button-hover-background: inherit;
      --color-secondary-button-hover-border: inherit;
      --color-input-text: inherit;
      --color-input-text-rgb: inherit;
      --color-input-background: inherit;
    }
  }
/* END_BLOCK:_cart-summary */

/* START_BLOCK:_cart-title (INDEX:48) */
.cart-title h1 {
    margin-block-end: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--gap-sm);
  }

  .cart-title .cart-bubble {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--style-border-radius-buttons-primary);
    aspect-ratio: auto;
    padding: var(--cart-padding);
  }

  .cart-title .cart-bubble[data-maintain-ratio] {
    width: min(1lh, 26px);
    height: min(1lh, 26px);
  }

  .cart-title .cart-bubble .cart-bubble__background {
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10-25));
  }

  .cart-title .cart-bubble__text {
    color: var(--color-foreground);
    font-family: var(--font-paragraph--family);
    font-weight: var(--font-paragraph--weight);
    font-size: clamp(var(--font-size--3xs), 0.75em, var(--font-size--xs));
  }
/* END_BLOCK:_cart-title */

/* START_BLOCK:_collection-image (INDEX:51) */
.collection-image {
    width: var(--image-width);
  }

  .collection-image .collection-image__featured-image {
    aspect-ratio: var(--ratio);
    object-fit: cover;
  }
/* END_BLOCK:_collection-image */

/* START_BLOCK:_collection-link (INDEX:53) */
.collection-links__link {
    --min-font-size: var(--font-size--4xl);
    --max-font-size: var(--font-size--6xl);

    display: flex;
    color: inherit;
    text-decoration: none;
    text-wrap: pretty;
    font-size: clamp(var(--min-font-size), 4.5vw, var(--max-font-size));

    /* When hovering over container, dim non-current links (text layout only) */
    @media (hover: hover) {
      collection-links-component:not([layout='spotlight']) .collection-links__container:hover & {
        opacity: var(--opacity-subdued-text);
      }

      collection-links-component:not([layout='spotlight']) .collection-links__container:hover &[aria-current='true'] {
        opacity: 1;
      }
    }

    [layout='spotlight'] & {
      /* Spotlight layout: dimmed by default */
      opacity: var(--disabled-opacity);

      &[aria-current='true'] {
        opacity: 1;
      }
    }

    .text-block {
      display: inline-block;
    }

    @media screen and (max-width: 749px) {
      --min-font-size: var(--font-size--3xl);
      --max-font-size: var(--font-size--5xl);

      [layout='spotlight'] & {
        white-space: normal;
        scroll-snap-align: start;
        text-wrap: pretty;

        span {
          text-wrap: pretty;
        }
      }
    }
  }

  .collection-links__count {
    font-size: 0.5em;
    opacity: var(--disabled-opacity);
    font-weight: var(--font-paragraph--weight);
  }

  .collection-links__image {
    align-items: center;
    justify-content: center;

    &:not([hidden]) {
      display: flex;
    }

    &[reveal] {
      --offset: 15px;

      position: fixed;
      top: 0;
      left: 0;
      z-index: var(--layer-temporary);
      display: block;
      translate: calc(var(--x) + var(--offset)) calc(var(--y) + var(--offset));
      pointer-events: none;
      width: auto;

      image-block {
        --image-height-basis: 5rem;

        height: var(--image-height);
      }
    }
  }
/* END_BLOCK:_collection-link */

/* START_BLOCK:_featured-blog-posts-card (INDEX:57) */
.featured-blog-posts-card {
    text-align: var(--text-align);
  }

  .featured-blog-posts-card__inner {
    gap: var(--gap);
  }

  .resource-list--grid .resource-list__item {
    min-width: 0;
  }

  /* Editorial layout */
  .resource-list:not(.hidden--desktop) .blog-post-card--flexible-aspect-ratio {
    .featured-blog-posts-card__content {
      --flex-wrap: nowrap;
    }
  }

  @media screen and (max-width: 749px) {
    .resource-list:not(.hidden--desktop) .blog-post-card--flexible-aspect-ratio {
      .featured-blog-posts-card__image,
      .blog-placeholder-svg {
        aspect-ratio: unset;
      }
    }
  }

  .featured-blog-posts-card__inner a,
  .featured-blog-posts-card__inner button {
    pointer-events: auto;
  }

  /* allow all blocks to be selectable in editor preview */
  .shopify-design-mode .featured-blog-posts-card__content * {
    pointer-events: auto;
  }

  .featured-blog-posts-card__content {
    --flex-wrap: wrap;
  }

  .featured-blog-posts-card__content h4 {
    margin: 0;
  }
/* END_BLOCK:_featured-blog-posts-card */

/* START_BLOCK:_featured-blog-posts-image (INDEX:58) */
.featured-blog-posts-card__image {
    width: 100%;
  }

  .featured-blog-posts-card__image .blog-placeholder-svg {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
/* END_BLOCK:_featured-blog-posts-image */

/* START_BLOCK:_featured-product-gallery (INDEX:60) */
.featured-product-section .card-gallery .quick-add__button {
    position: absolute;
    right: var(--quick-add-offset, var(--padding-sm));
    bottom: var(--quick-add-offset, var(--padding-sm));
  }
/* END_BLOCK:_featured-product-gallery */

/* START_BLOCK:_featured-product (INDEX:63) */
.featured-product-content-top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--gap-sm);
  }
/* END_BLOCK:_featured-product */

/* START_BLOCK:_footer-social-icons (INDEX:64) */
.social-icons__wrapper {
    display: flex;
    gap: var(--gap-sm);
    flex-wrap: wrap;
    justify-content: center;

    @media screen and (min-width: 750px) {
      flex-wrap: nowrap;
      justify-content: flex-start;
    }
  }
/* END_BLOCK:_footer-social-icons */

/* START_BLOCK:_header-logo (INDEX:65) */
.header-logo {
    display: flex;
    height: 100%;
    font-size: var(--font-size--md);
    font-family: var(--font-family);
    font-weight: var(--font-weight);
    font-style: var(--font-style);
    color: var(--color-foreground);
    justify-content: center;
    align-items: center;
    text-decoration: none;

    &[data-hidden-on-home-page] {
      display: none;

      #header-component:is(
          [sticky='always']:not([data-scroll-direction='none']),
          [sticky='scroll-up'][data-scroll-direction='up']
        )
        & {
        display: flex;
      }
    }

    @media screen and (max-width: 749px) {
      padding: 0;
    }

    @media screen and (min-width: 750px) {
      flex-shrink: 0;
    }

    &:hover {
      text-decoration: none;
    }
  }

  .header-logo__image {
    object-fit: contain;
    height: var(--header-logo-image-height-mobile);
    width: var(--header-logo-image-width-mobile);

    @media screen and (min-width: 750px) {
      height: var(--header-logo-image-height);
      width: var(--header-logo-image-width);
    }
  }

  .header-logo:has(.header-logo__image-container--inverse) .header-logo__image-container--original {
    display: var(--header-logo-display, block);
  }

  .header-logo__image-container--inverse {
    display: var(--header-logo-inverse-display, none);
  }
/* END_BLOCK:_header-logo */

/* START_BLOCK:_header-menu (INDEX:66) */
.header__drawer {
    --header-drawer-min-height: 60px;
    display: flex;
    min-height: var(--header-drawer-min-height);
    align-items: center;
  }

  #header-component[data-menu-style='drawer'] .header__drawer {
    display: flex;
    min-height: var(--header-drawer-min-height);
  }

  @media screen and (min-width: 750px) {
    #header-component[data-menu-style='menu'] .header__drawer {
      display: none;
      min-height: 0;
    }
  }

  .header--compact .header__drawer {
    min-height: var(--minimum-touch-target);
  }

  .menu-list--mobile {
    &.menu-list {
      display: grid;
    }

    & .menu-list__list {
      width: max-content;
      margin-inline: auto;
      gap: var(--menu-horizontal-gap);
    }

    & li {
      width: max-content;
      padding-block: var(--padding-sm);
    }

    & li:first-of-type {
      padding-inline-start: var(--menu-horizontal-gap);
    }

    & li:last-of-type {
      padding-inline-end: var(--menu-horizontal-gap);
    }

    & a {
      color: var(--color-foreground);
    }
  }

  .menu-list__scroll-container {
    position: relative;
    overflow-x: auto;
    mask-image: linear-gradient(to right, transparent, #000 20px, #000 calc(100% - 20px), transparent);
    padding-block: var(--padding-2xs);
  }

  .menu-list {
    --menu-horizontal-gap: var(--gap-xl);
    --menu-vertical-gap: var(--gap-xl);

    display: flex;
    height: 100%;
  }

  .menu-list__list {
    display: flex;
    justify-content: var(--grid-area-alignment);
  }

  .menu-list__list-item {
    flex-shrink: 0;
    white-space: nowrap;
    display: flex;
    align-items: center;
    height: 100%;
  }

  .menu-list__list-item[aria-hidden='true'] {
    visibility: hidden;
  }

  .menu-list__link {
    font-family: var(--menu-top-level-font-family);
    font-style: var(--menu-top-level-font-style);
    font-weight: var(--menu-top-level-font-weight);
    font-size: var(--menu-top-level-font-size);
    line-height: var(--menu-top-level-font-line-height);
    text-transform: var(--menu-top-level-font-case);
    color: var(--menu-top-level-font-color);
    text-decoration: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    cursor: pointer;
    height: 100%;
    margin-block: 0;

    &::after {
      content: '';
      position: absolute;
      display: none;
      top: var(--header-padding);
      height: var(--box-height);
      left: 0;
      right: 0;
    }

    &[data-safety-box='true']::after {
      display: block;
    }

    &:hover,
    &:focus {
      color: var(--menu-top-level-font-color);
    }

    @media screen and (min-width: 750px) {
      font-size: var(--menu-top-level-font-size-desktop);
    }
  }

  .menu-list__link-title {
    padding-inline: calc(var(--gap-xl) / 2);
  }
  [slot='overflow'] .menu-list__link-title {
    padding-inline: 0;
  }

  .menu-list__list-item:not([slot='overflow']) {
    flex-direction: column;
  }
  .menu-list__list-item:not([slot='overflow'])::after {
    content: '';
    width: 100%;
    height: var(--header-padding);
    margin-bottom: calc(-1 * var(--header-padding));
  }

  [slot='overflow'] > .menu-list__link::after {
    content: none;
  }

  /*
    High specificity selectors to subdue non-hovered links without javascript.
    If the need for js-generated `hovered` and `focused` classes arises for another reason we can simplify these.
  */
  .menu-list:where(:has(.menu-list__list-item:hover)),
  .menu-list:where(:has(.menu-list__list-item:focus-within)),
  .menu-list:where(:has(.menu-list__list-item:not([aria-hidden='true']) .menu-list__link--active)) {
    .menu-list__link {
      color: rgb(var(--menu-top-level-font-color-rgb) / var(--opacity-subdued-text));
    }
  }

  /* stylelint-disable-next-line selector-max-specificity */
  .menu-list:not(:has(.menu-list__list-item:hover)) .menu-list__link--active,
  .menu-list .menu-list__list-item:where(:hover, :focus-within) .menu-list__link,
  .menu-list .menu-list__list-item[slot='overflow'] .menu-list__link[aria-expanded='true'] {
    color: var(--menu-top-level-font-color);
  }

  .overflow-menu::part(list) {
    /* Make sure focus outline is not cut off by overflow hidden */
    --focus-outline-size: calc(var(--focus-outline-offset) + var(--focus-outline-width));

    gap: 0;
    margin-inline: calc(-1 * var(--menu-horizontal-gap) / 2);
  }

  .overflow-menu {
    background-color: transparent;
    padding: var(--focus-outline-size);
    margin: calc(-1 * var(--focus-outline-size));
  }

  /** mega menu **/
  .menu-list__submenu,
  .overflow-menu::part(overflow) {
    --submenu-padding-block-start: var(--padding-3xl);
    --submenu-padding-block-end: var(--padding-3xl);

    background-color: transparent;
  }

  .header__row[style*='--border-bottom-width: 0px'] {
    .menu-list__submenu.color-scheme-matches-parent,
    .overflow-menu.color-scheme-matches-parent::part(overflow) {
      --submenu-padding-block-start: 0px;
    }
  }

  .menu-list__list-item:where(:not([slot='overflow'])) > .menu-list__submenu,
  .overflow-menu::part(overflow) {
    --submenu-content-opacity: 0;
    --submenu-content-animation: opacity calc(var(--submenu-animation-speed) * 0.75) var(--animation-easing);

    visibility: hidden;
    position: absolute;
    width: 100%;
    left: 0;
    top: calc(100% - 1px + var(--border-bottom-width) - (var(--full-open-header-height) - var(--submenu-height)));
    z-index: var(--layer-header-menu);
    padding-inline: var(--padding-inline);
    /* Clip path starts at header height so it doesn't mess with the pointer events in the header */
    clip-path: rect(var(--header-height) 100% var(--full-open-header-height) 0); /* stylelint-disable-line */
    transition: clip-path var(--submenu-animation-speed) var(--ease-out-cubic); /* stylelint-disable-line */
  }

  [data-submenu-overlap-bottom-row] {
    .menu-list__list-item:where(:not([slot='overflow'])) > .menu-list__submenu,
    .overflow-menu::part(overflow) {
      clip-path: rect(var(--top-row-height) 100% var(--full-open-header-height) 0); /* stylelint-disable-line */
    }
  }

  /* Show the submenus on hover */
  .menu-list__list-item:has([aria-expanded='true']) > .menu-list__submenu,
  /* Show the overflow menu when a menu item is hovered */
  .overflow-menu:has([slot="overflow"] [aria-expanded='true'])::part(overflow-list),
  /* Keep the submenus open when they are hovered */
  .menu-list__submenu:is(:hover),
  .overflow-menu::part(overflow):hover {
    --submenu-content-opacity: 1;

    visibility: visible;
  }

  .overflow-menu::part(overflow) {
    --menu-top-level-font-size: var(--font-size--xlarge);

    display: grid;
    grid-template-columns: var(--full-page-grid-with-margins);
  }

  .overflow-menu::part(overflow-list) {
    position: relative;
    display: grid;
    grid-template-columns: minmax(auto, 200px) 1fr;
    grid-template-areas: 'left right';
    grid-template-rows: max-content;
    grid-gap: 0;
    grid-column: 2;
  }

  .menu-list__list-item:is([slot='overflow']) {
    --menu-top-level-font-color: var(--color-foreground);
    --menu-top-level-font-color-rgb: var(--color-foreground-rgb);

    display: contents;
    white-space: normal;

    .menu-list__link {
      grid-area: left;
      grid-row: auto;
      height: min-content;
      font-size: var(--font-size--xl);
      transition: var(--submenu-content-animation);
    }

    .menu-list__submenu {
      visibility: hidden;
      grid-row: 1;
      grid-area: right;
      grid-row-end: span calc(var(--overflow-count) + 1);
      padding-inline-start: var(--menu-horizontal-gap);
    }

    .menu-list__submenu-inner {
      transform: none;
      grid-column: unset;
      padding-block: 0;
    }

    .menu-list__link[aria-expanded='true'] + .menu-list__submenu {
      visibility: visible;
    }
  }

  .header-menu {
    height: 100%;
  }

  .menu-list__submenu-inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .menu-list__submenu-inner,
  .overflow-menu::part(overflow-list) {
    padding-block-start: var(--submenu-padding-block-start);
    padding-block-end: var(--submenu-padding-block-end);
    padding-inline: var(--section-padding-inline);
    opacity: var(--submenu-content-opacity);
    transition: var(--submenu-content-animation);
    transform: translateY(calc(var(--full-open-header-height) - var(--submenu-height)));

    /* Make overflow menu scrollable when content exceeds viewport */
    max-height: calc(80vh - var(--header-height));
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgb(var(--color-foreground-rgb) / var(--opacity-40)) transparent;
  }

  .mega-menu__link {
    font-family: var(--menu-child-font-family);
    font-style: var(--menu-child-font-style);
    font-weight: var(--menu-child-font-weight);
    font-size: var(--menu-child-font-size);
    line-height: var(--menu-child-font-line-height);
    text-transform: var(--menu-child-font-case);
    color: var(--menu-child-font-color);
    white-space: normal;
    text-decoration: none;
    display: inline-flex;
    padding: var(--padding-2xs) 0;

    &:hover {
      color: var(--menu-child-active-font-color);
    }
  }

  .mega-menu__link--parent {
    font-family: var(--menu-parent-font-family);
    font-style: var(--menu-parent-font-style);
    font-weight: var(--menu-parent-font-weight);
    font-size: var(--menu-parent-font-size);
    line-height: var(--menu-parent-font-line-height);
    text-transform: var(--menu-parent-font-case);
    color: var(--menu-parent-font-color);

    &:hover {
      color: var(--menu-parent-active-font-color);
    }
  }

  @media screen and (max-width: 989px) {
    .mega-menu__content-list-item--hidden-tablet {
      display: none;
    }
  }

  .mega-menu__link:has(.mega-menu__link-image) {
    display: flex;
    flex-direction: column;
    padding-inline: 0;
    padding-block: var(--padding-sm) 0;
  }

  .mega-menu__link-image {
    width: 100%;
    position: relative;
    aspect-ratio: 16 / 9;
    margin-bottom: var(--padding-sm);
    object-fit: cover;
    border-radius: var(--menu-image-border-radius);
  }

  /* Fix alignment for collection image mode links without images */

  /* Target only top-level links (direct children of column > div) in collection image mode */
  .mega-menu__grid:has(.mega-menu__link-image)
    .mega-menu__column
    > div
    > .mega-menu__link:not(:has(.mega-menu__link-image)) {
    display: flex;
    flex-direction: column;
    padding-inline: 0;
    padding-block: var(--padding-sm) 0;
  }

  .mega-menu__grid:has(.mega-menu__link-image)
    .mega-menu__column
    > div
    > .mega-menu__link:not(:has(.mega-menu__link-image))::before {
    content: '';
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: var(--padding-sm);
    background-color: var(--color-foreground-muted);
    opacity: 0.1;
    border-radius: var(--menu-image-border-radius);
  }

  .mega-menu__grid {
    display: grid;
    grid-template-columns: repeat(var(--menu-columns-tablet), minmax(0, 1fr));
    gap: var(--menu-vertical-gap) var(--menu-horizontal-gap);
    width: 100%;

    @media screen and (min-width: 990px) {
      grid-template-columns: repeat(var(--menu-columns-desktop), minmax(0, 1fr));
    }
  }

  .mega-menu__column {
    grid-column: span 1;
  }

  .mega-menu__column--span-2 {
    grid-column: span 2;
  }

  .mega-menu__column--span-3 {
    grid-column: span 3;
  }

  .mega-menu__column--span-4 {
    grid-column: span 4;
  }

  .mega-menu__column--wide-collection-image {
    grid-column: span 1;

    @media screen and (min-width: 990px) {
      grid-column: span 2;
    }
  }

  .mega-menu__submenu .mega-menu__column--wide-collection-image {
    grid-column: span 1;
  }

  .mega-menu__content-list {
    display: grid;
    justify-content: end;
    gap: var(--menu-vertical-gap) var(--menu-horizontal-gap);
  }

  .mega-menu__content-list--products {
    grid-template-columns: repeat(var(--menu-content-columns-tablet), minmax(0, 1fr));

    @media screen and (min-width: 990px) {
      grid-template-columns: repeat(var(--menu-content-columns-desktop), minmax(0, 1fr));
    }
  }

  .mega-menu__content-list--collections {
    grid-template-columns: repeat(var(--menu-content-columns-tablet), minmax(0, 300px));

    @media screen and (min-width: 990px) {
      grid-template-columns: repeat(var(--menu-content-columns-desktop), minmax(0, 300px));
    }
  }

  .mega-menu__list {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span var(--menu-columns-tablet);
    gap: var(--menu-vertical-gap) var(--menu-horizontal-gap);

    @media screen and (min-width: 990px) {
      grid-column: span var(--menu-columns-desktop);
    }
  }

  .mega-menu__content {
    grid-column: span var(--menu-content-columns-tablet) / -1;

    @media screen and (min-width: 990px) {
      grid-column: span var(--menu-content-columns-desktop) / -1;
    }
  }

  .menu-list__list-item[slot='overflow'] .section {
    grid-template-columns: 1fr;
  }

  .menu-list__list-item[slot='overflow'] .section .mega-menu__grid {
    grid-column: 1;
  }

  .mega-menu__content-list li {
    white-space: normal;
  }

  /* mega more menu */
  .mega-menu__more-list {
    --menu-child-font-size: var(--font-size--xl);

    width: 200px;
  }

  .mega-menu__submenu {
    /* preserves the inherited grid layout when this submenu wrapper is used */
    display: contents;
  }
/* END_BLOCK:_header-menu */

/* START_BLOCK:_image (INDEX:69) */
.image-block__placeholder {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center center;
    overflow: hidden;
    position: relative;
  }

  image-block {
    --image-height-basis: 10rem;
    --image-height-small: calc(var(--image-height-basis) * 2);
    --image-height-medium: calc(var(--image-height-basis) * 3);
    --image-height-large: calc(var(--image-height-basis) * 4);

    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: var(--ratio);
    width: 100%;
    max-width: calc(var(--image-height) * var(--ratio));
    height: var(--image-height);
    overflow: hidden;

    @media screen and (min-width: 750px) {
      --image-height-small: calc(var(--image-height-basis) * 2.5);
      --image-height-medium: calc(var(--image-height-basis) * 3.5);
      --image-height-large: calc(var(--image-height-basis) * 4.5);
    }

    @media screen and (max-width: 749px) {
      height: auto;
    }

    &[height='small'] {
      --image-height: var(--image-height-small);
    }

    &[height='medium'] {
      --image-height: var(--image-height-medium);
    }

    &[height='large'] {
      --image-height: var(--image-height-large);
    }

    &[ratio='portrait'] {
      --ratio: 4 / 5;
    }

    &[ratio='square'] {
      --ratio: 1 / 1;

      @media screen and (min-width: 750px) {
        max-width: var(--image-height);
      }
    }

    &[ratio='landscape'] {
      --ratio: 16 / 9;
    }

    img {
      object-fit: cover;
      width: 100%;
      height: auto;
      aspect-ratio: var(--ratio);
      border-radius: var(--border-radius);
    }
  }
/* END_BLOCK:_image */

/* START_BLOCK:_marquee (INDEX:73) */
marquee-component {
    display: block;
    width: 100%;
    overflow: hidden;
    background-color: var(--color-background);
  }

  .marquee__wrapper {
    display: flex;
    gap: var(--marquee-gap);
    width: fit-content;
    white-space: nowrap;
  }

  .marquee__content {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
  }

  .marquee__content :is(p, h1, h2, h3, h4, h5, h6) {
    white-space: nowrap;
  }

  .marquee__content .marquee__repeated-items * {
    max-width: none;
  }

  .marquee__repeated-items {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
    align-items: center;
    justify-content: center;
  }

  .marquee__repeated-items > * {
    align-content: center;
  }

  .hero__content-wrapper.layout-panel-flex--column marquee-component {
    --margin-inline: var(--full-page-margin-inline-offset);

    width: -webkit-fill-available;
    min-height: max-content;
  }

  @media (prefers-reduced-motion: no-preference) {
    marquee-component:not([data-disabled]) .marquee__wrapper {
      animation: marquee-motion var(--marquee-speed) linear infinite var(--marquee-direction);
    }
  }

  @keyframes marquee-motion {
    to {
      transform: translate3d(calc(-50% - (var(--marquee-gap) / 2)), 0, 0);
    }
  }
/* END_BLOCK:_marquee */

/* START_BLOCK:_product-details (INDEX:78) */
/* Clear padding on mobile, if not full-width */
  @media screen and (max-width: 749px) {
    .product-information.section--page-width .product-details > .group-block {
      padding-inline: 0;
    }
  }

  .view-product-title {
    display: none;
  }

  /* Container styles */
  .product-details {
    display: flex;
    align-self: start;
    justify-content: center;
  }

  @media screen and (min-width: 750px) {
    .product-details > .group-block {
      height: min-content;
    }

    .full-height--desktop {
      height: 100%;
      max-height: calc(100vh - var(--header-group-height, 0));
      min-height: fit-content;
    }

    .full-height--desktop .group-block {
      align-self: var(--details-position, 'flex-start');
    }
  }
/* END_BLOCK:_product-details */

/* START_BLOCK:_search-input (INDEX:83) */
.search-page-input {
    width: 100%;
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    padding-block: var(--padding-lg);
    padding-inline: calc(var(--icon-size-lg) + var(--margin-xl) * 1.5);
    text-overflow: ellipsis;
    overflow: hidden;
    border-radius: var(--style-border-radius-inputs);
    border: var(--style-border-width-inputs) solid var(--color-input-border);

    @media screen and (max-width: 749px) {
      padding-inline: calc(var(--margin-xs) + var(--icon-size-lg) + var(--padding-md));
    }
  }

  .search-page-input::placeholder {
    color: rgb(var(--color-input-text-rgb) / var(--opacity-subdued-text));
  }

  .search-page-input__parent {
    display: flex;
    flex-direction: column;
    align-items: var(--horizontal-alignment);
  }

  .search-results__no-results {
    opacity: var(--opacity-subdued-text);
  }

  search-page-input-component {
    position: relative;
    width: 100%;
    display: flex;
    top: 0;
    max-width: var(--size-style-width);
    align-items: center;
    background-color: var(--color-background);
    margin: var(--margin-2xl) 0 var(--margin-md);

    @media screen and (max-width: 749px) {
      max-width: 100%;
    }
  }

  search-page-input-component .search__icon,
  search-page-input-component .search__icon:hover,
  search-page-input-component .search__reset-button,
  search-page-input-component .search__reset-button:hover {
    background: transparent;
    position: absolute;
    top: auto;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
  }

  search-page-input-component .search__icon svg,
  search-page-input-component .search__reset-button svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  search-page-input-component .search__icon svg {
    color: var(--color-input-text);
  }

  search-page-input-component .search__icon {
    left: var(--margin-lg);

    @media screen and (max-width: 749px) {
      left: var(--margin-md);
    }
  }

  search-page-input-component .search__reset-button {
    border-radius: 100%;
    color: var(--color-input-text);
    right: var(--margin-lg);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--animation-speed) var(--animation-easing),
      visibility var(--animation-speed) var(--animation-easing);

    @media screen and (max-width: 749px) {
      right: var(--margin-md);
    }
  }

  search-page-input-component:has(.search-page-input:not(:placeholder-shown)) .search__reset-button {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  search-page-input-component .search__reset-button-icon {
    vertical-align: middle;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
    transition: transform var(--animation-speed) var(--animation-easing);
  }

  search-page-input-component .search__reset-button:active .search__reset-button-icon {
    transform: scale(0.9);
  }

  search-page-input-component .search__reset-button-icon svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  search-page-input-component .search__reset-button--hidden {
    cursor: default;
    opacity: 0;
    transition: opacity var(--animation-speed) var(--animation-easing);
    pointer-events: none;
    visibility: hidden;
  }

  search-page-input-component .search__reset-button-text {
    display: none;
  }
/* END_BLOCK:_search-input */

/* START_BLOCK:_slide (INDEX:84) */
.slide__content {
    height: 100%;
    position: relative;
    z-index: var(--layer-flat);

    @supports (animation-timeline: auto) {
      opacity: 0;
      animation: slide-reveal both linear;
      animation-timeline: var(--slideshow-timeline);
    }

    @media (prefers-reduced-motion) {
      opacity: 1;
      animation: none;
    }
  }

  .slide__content > * {
    margin: auto;
  }

  .slide__content.background-transparent {
    background-color: transparent;
  }

  slideshow-slide > .slide__image-container {
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
  }

  .slide__image-container > .slide__image,
  .slide__image-container > .slide__video,
  .slide__image-container > .slide__video-poster {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }

  .slide__image-container > .slide__video-poster {
    position: absolute;
  }

  /*
   * Force Safari to recalculate the timeline state on timeline refresh (after loop)
   */
  slideshow-component[refreshing-timeline] .slide__content {
    animation: none;
  }

  slideshow-slide .slide__image-container--rounded {
    border-radius: var(--corner-radius, 0);
  }
/* END_BLOCK:_slide */

/* START_BLOCK:_social-link (INDEX:85) */
.social-icons__icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--icon-size-lg);
  }

  .social-icons__icon {
    display: flex;
    flex-shrink: 0;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
  }

  .social-icons__icon {
    display: none;
  }

  .social-icons__icon-wrapper:has(.social-icons__icon path) {
    width: var(--icon-size-lg);

    .social-icons__icon {
      display: block;
    }

    .social-icons__icon-label {
      display: none;
    }
  }

  /* Disabled state for editor */
  .shopify-design-mode .social-icons__icon-wrapper--disabled {
    opacity: var(--disabled-opacity, 0.5);
    cursor: not-allowed;
  }

  .shopify-design-mode .social-icons__icon-wrapper--disabled a {
    pointer-events: none;
  }
/* END_BLOCK:_social-link */

/* START_BLOCK:accordion (INDEX:87) */
.accordion {
    flex: 1;
    width: 100%;
  }

  .accordion--dividers accordion-custom:not(:first-child) .details {
    border-block-start: var(--style-border-width) solid var(--color-border);
  }

  /* When accordion borders are not set, show fallback borders */
  .accordion--dividers {
    /* stylelint-disable-next-line declaration-property-value-disallowed-list */
    --show-fallback-borders: 0;
  }

  .accordion--dividers:not([class*='color-'])[style*='--border-width: 0'],
  .accordion--dividers:not([class*='color-'])[style*='--border-style: none'] {
    --show-fallback-borders: 1;
  }

  .accordion--dividers accordion-custom:first-child .details {
    border-block-start: calc(var(--style-border-width) * var(--show-fallback-borders)) solid var(--color-border);
  }

  .accordion--dividers accordion-custom:last-child .details {
    border-block-end: calc(var(--style-border-width) * var(--show-fallback-borders)) solid var(--color-border);
  }

  .accordion--dividers .details-content {
    padding-block-end: var(--padding-sm);
  }

  .accordion--caret .icon-plus,
  .accordion--plus .icon-caret {
    display: none;
  }

  /* because we can't pass apply a specific class on a block based on its parent block setting */
  .accordion .details__header {
    font-family: var(--summary-font-family);
    font-style: var(--summary-font-style);
    font-weight: var(--summary-font-weight);
    font-size: var(--summary-font-size);
    line-height: var(--summary-font-line-height);
    text-transform: var(--summary-font-case);
    min-height: var(--minimum-touch-target);
  }
/* END_BLOCK:accordion */

/* START_BLOCK:comparison-slider (INDEX:93) */
comparison-slider-component {
    display: block;
  }

  .comparison-slider {
    position: relative;
    overflow: hidden;
    aspect-ratio: var(--ratio);
  }

  .comparison-slider:not(:has(img)) {
    min-width: 25dvh;
  }

  .comparison-slider__container {
    position: relative;
    width: 100%;
    height: 100%;
  }

  /* Container and Layout */
  .comparison-slider__media-wrapper {
    --compare: 50;

    position: relative;
    width: 100%;
    height: 100%;
    display: grid;
    grid-template: 1fr / 1fr;
    overflow: hidden;
  }

  /* Layer Containers */
  .comparison-slider__layer {
    grid-area: 1 / 1;
    position: relative;
    width: 100%;
    height: 100%;
    transition: clip-path var(--transition-duration, 0s) ease-in-out;
  }

  .comparison-slider__layer--after {
    z-index: var(--layer-base);
  }

  /* Before Layer Clipping (inverse of after layer) */
  [data-orientation='horizontal'] .comparison-slider__layer--before {
    /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
    clip-path: inset(0 calc((100 - var(--compare)) * 1%) 0 0);
  }

  [data-orientation='vertical'] .comparison-slider__layer--before {
    /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
    clip-path: inset(0 0 calc(var(--compare) * 1%) 0);
  }

  /* After Layer Clipping */
  [data-orientation='horizontal'] .comparison-slider__layer--after {
    /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
    clip-path: inset(0 0 0 calc(var(--compare) * 1%));
  }

  [data-orientation='vertical'] .comparison-slider__layer--after {
    /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
    clip-path: inset(calc((100 - var(--compare)) * 1%) 0 0 0);
  }

  /* Images and Placeholders */
  .before-image,
  .after-image,
  .comparison-slider__placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: var(--ratio);
  }

  .comparison-slider__placeholder {
    position: absolute;
    inset: 0;
  }

  .comparison-slider__placeholder svg {
    width: 100%;
    height: 100%;
    background-color: var(--color-background);
    fill: var(--color-foreground);
  }

  /* Range Input (Hidden but Functional) */
  .cs-slider {
    position: absolute;
    inset: 0;
    z-index: var(--layer-heightened);
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    opacity: 0;
    cursor: inherit;
    appearance: none;
  }

  [data-orientation='horizontal'] .cs-slider {
    cursor: ew-resize;
  }

  [data-orientation='vertical'] .cs-slider {
    cursor: ns-resize;
    writing-mode: vertical-lr;
    direction: rtl;
  }

  /* Range Input Thumb */
  .cs-slider::-webkit-slider-thumb,
  .cs-slider::-moz-range-thumb {
    width: var(--button-size);
    height: var(--button-size);
    border: 0;
    background: transparent;
    cursor: inherit;
    appearance: none;
  }

  /* Range Input Track */
  .cs-slider::-webkit-slider-track,
  .cs-slider::-moz-range-track {
    background: transparent;
    border: 0;
    appearance: none;
  }

  /* Visual Slider Elements */
  .comparison-slider__media-wrapper::before,
  .comparison-slider__media-wrapper::after {
    content: '';
    position: absolute;
    pointer-events: none;
    transition: left var(--transition-duration, 0s) ease-in-out, top var(--transition-duration, 0s) ease-in-out;
    z-index: var(--layer-raised);
  }

  /* Slider Track Line */
  .comparison-slider__media-wrapper::after {
    background: var(--color-background);
    box-shadow: 0 0 12px 0 rgb(0 0 0 / 0.1);
  }

  .comparison-slider__media-wrapper::before {
    background: var(--color-background);
  }

  .comparison-slider__media-wrapper[data-orientation='horizontal']::after {
    inset: 0 auto;
    left: calc(var(--compare) * 1%);
    width: 4px;
    transform: translateX(-50%);
  }

  .comparison-slider__media-wrapper[data-orientation='vertical']::after {
    inset: auto 0;
    top: calc((100 - var(--compare)) * 1%);
    height: 4px;
    transform: translateY(-50%);
  }

  /* Slider Handle */
  .cs-slider__handle {
    position: absolute;
    z-index: var(--layer-heightened);
    pointer-events: none;
    width: var(--button-size);
    height: var(--button-size);
    background: var(--color-background);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 12px 0 rgb(0 0 0 / 0.1);
    transition: left var(--transition-duration, 0s) ease-in-out, top var(--transition-duration, 0s) ease-in-out,
      gap 0.2s ease-in-out;
    gap: var(--gap-sm);
    padding: var(--padding-xs);
  }

  .comparison-slider__media-wrapper:hover .cs-slider__handle {
    gap: var(--gap-2xs);
  }

  .cs-slider__chevron {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  [data-orientation='horizontal'] .cs-slider__handle {
    top: 50%;
    left: calc(var(--compare) * 1%);
    transform: translate(-50%, -50%);
    flex-direction: row;
  }

  [data-orientation='vertical'] .cs-slider__handle {
    left: 50%;
    top: calc((100 - var(--compare)) * 1%);
    transform: translate(-50%, -50%) rotate(90deg);
  }

  /* Text Labels */
  .comparison-slider__text {
    position: absolute;
    padding: var(--padding-xs);
    pointer-events: none;
  }

  .comparison-slider__text--with-bg {
    background: var(--text-background-color);
    border-radius: var(--text-corner-radius);
  }

  /* Horizontal: before/after control inline (left/right), position controls block (top/bottom) */
  [data-orientation='horizontal'] .comparison-slider__text--before {
    inset-inline-start: var(--padding-sm);
  }

  [data-orientation='horizontal'] .comparison-slider__text--after {
    inset-inline-end: var(--padding-sm);
  }

  [data-orientation='horizontal'][data-text-position='start'] .comparison-slider__text {
    inset-block-start: var(--padding-sm);
  }

  [data-orientation='horizontal'][data-text-position='end'] .comparison-slider__text {
    inset-block-end: var(--padding-sm);
  }

  /* Vertical: before/after control block (top/bottom), position controls inline (left/right) */
  [data-orientation='vertical'] .comparison-slider__text--before {
    inset-block-start: var(--padding-sm);
  }

  [data-orientation='vertical'] .comparison-slider__text--after {
    inset-block-end: var(--padding-sm);
  }

  [data-orientation='vertical'][data-text-position='start'] .comparison-slider__text {
    inset-inline-start: var(--padding-sm);
  }

  [data-orientation='vertical'][data-text-position='end'] .comparison-slider__text {
    inset-inline-end: var(--padding-sm);
  }
/* END_BLOCK:comparison-slider */

/* START_BLOCK:contact-form-submit-button (INDEX:94) */
.submit-button {
    min-width: max-content;
  }
/* END_BLOCK:contact-form-submit-button */

/* START_BLOCK:contact-form (INDEX:95) */
.contact-form__form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .contact-form__form-row {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);

    @media screen and (min-width: 750px) {
      flex-direction: row;
      align-items: center;
    }
  }

  .contact-form__input {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    padding: var(--padding-lg) var(--padding-xl);
    border-radius: var(--style-border-radius-inputs);
    border: var(--style-border-width-inputs) solid var(--color-input-border);
    -webkit-font-smoothing: antialiased;
  }

  .contact-form__input--textarea {
    resize: vertical;
    min-height: var(--input-textarea-min-height);
  }

  .contact-form__error,
  .contact-form__success {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }
/* END_BLOCK:contact-form */

/* START_BLOCK:email-signup (INDEX:97) */
.email-signup-block {
    --arrow-button-size: 58px;
    --arrow-button-size-integrated: 42px;
    --arrow-button-size-small: 20px;
    --arrow-icon-size: 32px;
    --arrow-icon-size-small: 24px;

    min-width: fit-content;

    @media screen and (max-width: 749px) {
      width: 100%;
      min-width: unset;
    }
  }

  .email-signup__heading {
    padding-block: var(--padding-sm);
  }

  .email-signup__form {
    display: flex;
    flex-direction: column;
  }

  .email-signup__input-group {
    display: flex;
    align-items: stretch;
    background-color: transparent;
  }

  .email-signup__input-group:not(.email-signup__input-group--integrated):not(.email-signup__input-group--underline) {
    gap: var(--gap-xs);
    align-items: center;
  }

  .email-signup__input-group:not(.email-signup__input-group--arrow):not(.email-signup__input-group--underline):not(
      .email-signup__input-group--integrated
    ) {
    @media screen and (max-width: 749px) {
      flex-direction: column;
    }
  }

  .email-signup__input-group--integrated {
    border-width: var(--border-width);
    border-radius: var(--border-radius);
    border-style: solid;
    border-color: var(--color-input-border);
    background-color: var(--color-input-background);
  }

  .email-signup__input-group--integrated.email-signup__input-group--no-border {
    border: none;
  }

  .email-signup__input {
    flex: 1;
    min-width: 0;
    border-width: var(--border-width);
    border-radius: var(--border-radius);
    border-style: solid;
    border-color: var(--color-input-border);

    @media screen and (max-width: 749px) {
      width: 100%;
    }
  }

  .email-signup__input-group--integrated .email-signup__input {
    background-color: transparent;
    border: none;
    border-radius: 0;
  }

  .email-signup__input.paragraph {
    color: var(--color-input-text);
    outline-color: var(--color-input-background);
  }

  .email-signup__button {
    white-space: nowrap;
    padding: 0;

    @media screen and (max-width: 749px) {
      width: 100%;
    }
  }

  .email-signup__input,
  .email-signup__button--text {
    padding: var(--padding-lg) var(--padding-3xl);
  }

  .email-signup__input-group--underline {
    --box-shadow-color: var(--color-input-border);
    --box-shadow-multiplier: 1;
    --box-shadow-focused-multiplier: 1.75;

    box-shadow: 0 calc(var(--border-width) * var(--box-shadow-multiplier)) 0 var(--box-shadow-color);
    transition: box-shadow var(--animation-values);
    margin-block-end: calc(var(--border-width) * var(--box-shadow-focused-multiplier));

    &:focus-within {
      --box-shadow-multiplier: var(--box-shadow-focused-multiplier);
      --box-shadow-color: var(--color-input-text);
    }
  }

  .email-signup__input-group .email-signup__input--underline {
    color: var(--color-input-text);
    background-color: transparent;
    padding: 12px 0;
    border: none;
    border-radius: 0;

    &:focus-visible {
      outline: none;
    }
  }

  .email-signup__input::placeholder {
    color: rgb(var(--color-input-text-rgb) / var(--opacity-70));
  }

  .email-signup__input-group .email-signup__input--none {
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    border: none;
  }

  .email-signup__button-icon {
    color: currentcolor;
    padding: 5px;

    @media screen and (max-width: 749px) {
      padding: 0;
      align-self: center;
      justify-self: center;
      width: var(--icon-size-lg);
      height: var(--icon-size-lg);
    }
  }

  .email-signup__button--arrow {
    width: var(--arrow-button-size-small);
    height: var(--arrow-button-size-small);
    padding: 0;

    &:not(.email-signup__button--integrated) {
      width: var(--arrow-button-size);
      height: var(--arrow-button-size);
      display: flex;
      align-items: center;
      justify-content: center;

      > .email-signup__button-icon {
        width: var(--arrow-icon-size);
        height: var(--arrow-icon-size);
        padding: 0;
      }
    }
  }

  .email-signup__button--integrated {
    --button-offset: var(--margin-xs);
    align-self: stretch;
    margin: var(--button-offset);
    flex-shrink: 0;

    @media screen and (max-width: 749px) {
      width: fit-content;
    }

    &.email-signup__button--text {
      padding: 0 var(--padding-3xl);
    }

    &.email-signup__button--text.button-unstyled {
      padding: 0 var(--padding-xl);
    }

    &.button-unstyled {
      border-radius: var(--border-radius);
    }

    > .email-signup__button-icon {
      padding: 0;
    }

    &.email-signup__button--arrow {
      width: var(--arrow-button-size-integrated);
      height: var(--arrow-button-size-integrated);
      align-self: center;
      display: flex;
      align-items: center;
      justify-content: center;

      > .email-signup__button-icon {
        width: var(--arrow-icon-size-small);
        height: var(--arrow-icon-size-small);
      }
    }
  }

  .email-signup__input--underline + .email-signup__button--integrated {
    margin: 0;
    align-self: center;

    &.email-signup__button--text {
      padding-block: 9px;
    }

    &.email-signup__button--text.button-unstyled {
      padding-inline: 0;
      min-width: 44px;
      min-height: 44px;
    }

    &.button-unstyled {
      border-radius: 0;
    }

    &.email-signup__button--arrow {
      width: var(--arrow-button-size-integrated);
      height: var(--arrow-button-size-integrated);
      display: flex;
      align-items: center;
      justify-content: center;

      > .email-signup__button-icon {
        width: var(--arrow-icon-size-small);
        height: var(--arrow-icon-size-small);
      }
    }
  }

  .email-signup__button:not(.button-unstyled) {
    background-color: var(--button-background-color);
    color: var(--button-color);
    text-transform: var(--button-text-case-primary);
  }

  .email-signup__button.button-secondary {
    text-transform: var(--button-text-case-secondary);
  }

  .email-signup__button.button-unstyled {
    background-color: transparent;
    color: var(--color-input-text);
  }

  .email-signup__button.button-unstyled:hover {
    color: rgb(var(--color-input-text-rgb) / var(--opacity-70));
    cursor: pointer;
  }

  .email-signup__message {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .email-signup__message-text {
    margin: 0;
  }
/* END_BLOCK:email-signup */

/* START_BLOCK:filters (INDEX:99) */
.facets-block-wrapper {
    @media screen and (min-width: 750px) {
      margin: var(--facets-margin);
      grid-column: var(--grid-column--desktop);
    }
  }

  .facets-block-wrapper--vertical {
    @media screen and (min-width: 750px) {
      grid-column: var(--grid-column--desktop);
    }
  }

  .facets-toggle {
    --icon-offset: -3px;

    display: flex;
    justify-content: space-between;
    align-items: center;
    height: var(--minimum-touch-target);
    margin: var(--facets-margin);
    padding-block: var(--facets-inner-padding-block);
    padding-inline: var(--facets-inner-padding-inline);

    @media screen and (min-width: 750px) {
      display: none;
    }
  }

  .facets-toggle__wrapper {
    margin-left: var(--icon-offset);
  }

  .facets-toggle__button {
    box-shadow: none;

    @media screen and (min-width: 750px) {
      display: none;
    }
  }

  .filter-count-bubble {
    position: relative;
    width: 20px;
    aspect-ratio: 1;
    border-radius: 50%;
    display: grid;
    line-height: normal;
    place-content: center;
    color: var(--color-foreground);
    border: var(--icon-stroke-width) solid var(--color-background);
  }

  .facets-mobile__title-wrapper .h3 {
    margin-block-end: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .facets-mobile__title-wrapper .filter-count-bubble {
    width: 22px;
    height: 22px;
  }

  .facets-mobile__title-wrapper .filter-count-bubble__text {
    font-size: var(--font-size--xs);
  }

  .filter-count-bubble__background {
    position: absolute;
    inset: 0;
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10-25));
    border-radius: var(--style-border-radius-50);
  }

  .filter-count-bubble__text {
    font-size: 11px;
    font-weight: var(--font-paragraph--weight);
    aspect-ratio: 1 / 1;
  }

  .facets-toggle--no-filters {
    @media screen and (max-width: 749px) {
      /* stylelint-disable-next-line declaration-no-important */
      justify-content: unset !important;

      & > .facets-mobile-wrapper {
        width: 100%;
      }
    }
  }

  .facets-block-wrapper--vertical + .facets-toggle {
    @media screen and (max-width: 749px) {
      margin: 0;
    }
  }

  .facets-mobile-wrapper {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
    justify-content: flex-end;
  }

  .facets-mobile-wrapper--multiple-controls {
    justify-content: space-between;
  }

  @media screen and (min-width: 750px) {
    dialog-component.facets-block-wrapper {
      position: absolute;
      width: 0;
      height: 0;
    }
  }

  .facets {
    --facets-form-horizontal-gap: 20px;
    --facets-horizontal-max-input-wrapper-height: 230px;
    --facets-upper-z-index: var(--layer-raised);
    --facets-open-z-index: var(--layer-heightened);
    --facets-sticky-z-index: var(--layer-sticky);
    --facets-panel-min-width: 120px;
    --facets-panel-height: 300px;
    --facets-grid-panel-width: 300px;
    --facets-clear-padding: var(--padding-md);
    --facets-clear-shadow: 0 -4px 14px 0 rgb(var(--color-foreground-rgb) / var(--facets-low-opacity));
    --facets-input-label-color: rgb(var(--color-input-text-rgb) / var(--opacity-60));
    --facets-clear-all-min-width: 120px;
    --facets-see-results-min-width: 55%;
    --facets-mobile-gap: 22px;
    --facets-low-opacity: 10%;
    --facets-hover-opacity: 75%;

    top: auto;
    bottom: 0;
    height: var(--drawer-height);
    max-height: var(--drawer-height);
    width: var(--drawer-width);
    max-width: var(--drawer-max-width);
    box-shadow: none;
    padding-block: 0;

    &:not(.facets--drawer) {
      @media screen and (min-width: 750px) {
        padding-inline: var(--padding-inline-start) var(--padding-inline-end);
        width: 100%;
        max-width: 100%;
      }
    }
  }

  .facets--horizontal {
    display: none;

    @media screen and (min-width: 750px) {
      padding-block: var(--padding-block-start) var(--padding-block-end);
      display: flex;
      align-items: center;
      position: relative;
      z-index: var(--facets-upper-z-index);
      border: none;
      height: auto;
      top: initial;
      bottom: initial;
      max-height: none;
      width: auto;
      overflow: visible;
    }
  }

  .facets--vertical {
    display: none;

    @media screen and (min-width: 750px) {
      padding-block: 0 var(--padding-block-end);
      display: block;
      position: static;
      top: auto;
      bottom: auto;
      height: auto;
      max-height: none;
      width: auto;
      overflow: visible;
    }
  }

  .facets--drawer {
    border-radius: 0;
    border-right: var(--style-border-drawer);
    box-shadow: var(--shadow-drawer);
    padding-inline: 0;
  }

  .facets--drawer[open] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
  }

  .facets-drawer__form-wrapper {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .facets-drawer__form-wrapper .facets__form {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .facets-drawer__filters {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
  }

  .facets-drawer__filters .facets__filters-wrapper,
  .facets-drawer__filters .filter-remove-buttons,
  .facets-drawer__filters .sorting-filter-component {
    overflow: visible;
  }

  .facets.facets-controls-wrapper {
    @media screen and (min-width: 750px) {
      grid-column: column-1 / column-12;
      color: rgb(var(--color-foreground-rgb) / var(--opacity-70));
      gap: 0 var(--facets-form-horizontal-gap);
      padding-bottom: var(--padding-xs);
    }
  }

  .facets__inputs {
    display: flex;
    flex-direction: column;
    gap: var(--padding-lg);
    width: 100%;
  }

  :is(.facets--drawer, .facets--vertical) .facets__inputs:not(:has(.show-more)) {
    padding-block-end: var(--padding-sm);
  }

  /* Facets - Form */
  .facets__form-wrapper {
    display: flex;
    flex-direction: column;
    color: var(--color-foreground-muted);
    width: 100%;
  }

  .facets--horizontal .facets__form-wrapper {
    @media screen and (min-width: 750px) {
      flex-direction: row;
      height: auto;
    }
  }

  .facets__form {
    display: flex;
    flex-flow: column;
    width: 100%;
    height: 100%;
  }

  .facets--horizontal .facets__form {
    @media screen and (min-width: 750px) {
      flex-flow: row nowrap;
      height: auto;
    }
  }

  .facets:not(.facets--drawer) .facets__filters-wrapper {
    @media screen and (min-width: 750px) {
      margin-inline-end: var(--margin-md);
    }
  }

  .facets--horizontal .facets__filters-wrapper {
    @media screen and (min-width: 750px) {
      max-width: 60%;
      display: flex;
      flex-wrap: wrap;
      column-gap: var(--gap-xl);
      margin-inline-end: 0;
    }
  }

  /* Facets - Summary */
  .facets__summary {
    --variant-picker-swatch-width: 32px;
    --variant-picker-swatch-height: 32px;
    --icon-opacity: 0.5;

    @media screen and (min-width: 750px) {
      --variant-picker-swatch-width: 26px;
      --variant-picker-swatch-height: 26px;
    }

    font-size: var(--font-h5--size);
    display: flex;
    justify-content: space-between;

    &:hover {
      --icon-opacity: 1;
    }
  }

  .facets__filters-wrapper:hover .facets__summary,
  .facets__filters-wrapper:has(.facets__panel[open]) .facets__summary {
    opacity: var(--facets-hover-opacity);
  }

  .facets__filters-wrapper .facets__summary:hover,
  .facets__filters-wrapper .facets__panel[open] .facets__summary {
    opacity: 1;
  }

  .facets--horizontal .facets__summary {
    @media screen and (min-width: 750px) {
      font-size: var(--font-paragraph--size);
      justify-content: flex-start;
      height: var(--minimum-touch-target);
    }
  }

  .facets__summary .icon-caret {
    height: var(--icon-size-xs);
    width: var(--icon-size-xs);
    color: rgb(var(--color-foreground-rgb) / var(--icon-opacity));
    margin-block: var(--margin-2xs);
    transition: color var(--animation-speed) var(--animation-easing);
  }

  .facets--drawer .facets__summary .icon-caret {
    margin-inline-start: var(--margin-2xs);
  }

  /* Facets - Bubble */
  .facets__bubble {
    display: inline-flex;
    font-family: var(--font-paragraph--family);
    font-weight: var(--font-paragraph--weight);
    aspect-ratio: 1 / 1;
  }

  /* Facets - Inputs */
  .facets__inputs-wrapper {
    margin-block: var(--padding-xs) var(--padding-xs);
  }

  .facets__inputs .show-more {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xl);
    margin-block-end: var(--padding-xl);
  }

  .facets:not(.facets--drawer) .facets__inputs-wrapper {
    @media screen and (min-width: 750px) {
      gap: var(--gap-sm);
    }
  }

  .facets--horizontal .facets__inputs .show-more {
    @media screen and (min-width: 750px) {
      display: contents;
    }
  }

  .facets--horizontal .facets__inputs-wrapper {
    @media screen and (min-width: 750px) {
      max-height: var(--facets-horizontal-max-input-wrapper-height);
      scrollbar-width: none;
      -ms-overflow-style: none;
      overflow-x: auto;
      padding: var(--padding-md);
      margin-block: 0;
    }
  }

  .facets--vertical .facets__inputs:has(.show-more) .facets__inputs-wrapper {
    padding-block: var(--padding-sm);
    padding-inline: var(--padding-sm);
    margin-block: calc(var(--padding-sm) * -1);
    margin-inline: calc(var(--padding-sm) * -1);
  }

  @media screen and (max-width: 749px) {
    .facets__inputs:has(.show-more) .facets__inputs-wrapper {
      padding-block: var(--padding-sm);
      padding-inline: var(--padding-sm);
      margin-block: calc(var(--padding-sm) * -1);
      margin-inline: calc(var(--padding-sm) * -1);
    }
  }

  .facets__inputs-wrapper:not(:has(.facets__inputs-list)),
  .facets__inputs-wrapper .facets__inputs-list {
    display: flex;
    gap: var(--facets-mobile-gap);
    flex-direction: column;

    @media screen and (min-width: 750px) {
      gap: var(--gap-sm);
    }
  }

  @media screen and (min-width: 750px) {
    .facets--vertical .facets__inputs-wrapper .facets__inputs-list--swatches {
      gap: var(--gap-sm);
    }

    .facets--horizontal
      .facets__inputs-wrapper
      .facets__inputs-list--swatches:not(.facets__inputs-list--swatches-grid) {
      display: grid;
      grid-template-columns: repeat(var(--swatch-columns, 4), 1fr);
    }
  }

  .facets__inputs-wrapper .facets__inputs-list--swatches {
    --facets-mobile-gap: var(--gap-sm);
  }

  .facets__inputs-wrapper .facets__inputs-list--grid {
    --min-column-width: 20%;

    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--min-column-width), 1fr));
    gap: var(--gap-sm);

    @media screen and (min-width: 750px) {
      --min-column-width: 50px;
    }
  }

  .facets-block-wrapper:not(.facets-block-wrapper--vertical) .facets__inputs-list--grid {
    @media screen and (min-width: 750px) {
      width: var(--facets-grid-panel-width);
    }
  }

  .facets__inputs-wrapper--row:not(:has(.facets__inputs-list)),
  .facets__inputs-wrapper--row .facets__inputs-list {
    flex-wrap: wrap;
    flex-direction: row;
  }

  .facets__inputs .show-more__button {
    --show-more-icon-size: 22px;
    --show-more-gap: 8px;

    gap: var(--show-more-gap);

    @media screen and (min-width: 750px) {
      --show-more-icon-size: 16px;
      --show-more-gap: 6px;
    }
  }

  .facets__inputs .show-more__button .icon-plus {
    width: var(--show-more-icon-size);
    height: var(--show-more-icon-size);

    svg {
      width: var(--icon-size-xs);
      height: var(--icon-size-xs);
    }
  }

  /* Facets - Panel */
  .facets__panel {
    padding: 0 var(--drawer-padding);
  }

  .facets:not(.facets--drawer) .facets__panel,
  .facets-controls-wrapper .facets__panel {
    @media screen and (min-width: 750px) {
      padding: 0;
    }
  }

  .facets--horizontal .facets__panel {
    @media screen and (min-width: 750px) {
      position: relative;
    }
  }

  .facets-mobile-wrapper .facets__panel-content {
    border-radius: var(--style-border-radius-popover);
  }

  .facets-mobile-wrapper {
    --facets-upper-z-index: var(--layer-raised);
    --facets-panel-min-width: 120px;
    --facets-panel-height: 300px;
  }

  .facets--horizontal .facets__panel-content {
    @media screen and (min-width: 750px) {
      border-radius: var(--style-border-radius-popover);
      position: absolute;
      top: 100%;
      width: max-content;
      min-width: var(--facets-panel-min-width);
      max-width: var(--facets-panel-width);
      max-height: var(--facets-panel-height);
      z-index: var(--facets-upper-z-index);
      box-shadow: var(--shadow-popover);
      border: var(--style-border-popover);
      background-color: var(--color-background);
      overflow-y: hidden;
      gap: 0;
    }
  }

  :is(.facets--drawer, .facets--vertical) :is(.facets__item, .sorting-filter)::before {
    content: '';
    display: block;
    height: 0;
    width: calc(100% - var(--drawer-padding) * 2);
    border-top: var(--style-border-width) solid var(--color-border);
    margin: 0 auto;
  }

  @media screen and (min-width: 750px) {
    .facets:not(.facets--drawer) :is(.facets__item, .sorting-filter)::before {
      width: 100%;
    }

    .facets--horizontal .facets__item:not(:first-of-type)::before,
    .facets--horizontal .sorting-filter::before {
      content: none;
    }
  }

  @media screen and (min-width: 750px) {
    .facets--vertical .facets__item:not(:first-of-type)::before,
    .facets--vertical .sorting-filter::before {
      content: '';
    }
  }

  /* Facets - Text */
  .facets__label,
  .facets__clear-all-link,
  .clear-filter {
    text-decoration-color: transparent;
    text-decoration-thickness: 0.075em;
    text-underline-offset: 0.125em;
    transition: text-decoration-color var(--animation-speed) var(--animation-easing);
  }

  .facets__clear-all-link {
    display: none;
    cursor: pointer;
    padding: var(--padding-xs);
    color: var(--button-color);
    transition: text-decoration-color var(--animation-speed) var(--animation-easing),
      color var(--animation-speed) var(--animation-easing);
  }

  .facets__clear-all-link:hover {
    --button-color: var(--color-primary-hover);

    text-decoration: underline;
    text-decoration-color: var(--button-color);
  }

  .facets__clear-all-link--horizontal {
    height: var(--minimum-touch-target);
    padding-inline: var(--facets-form-horizontal-gap);
    min-width: var(--facets-clear-all-min-width);
  }

  .facets__clear-all-link--active {
    display: block;
  }

  .facets__label,
  .products-count-wrapper {
    text-transform: var(--facet-label-transform);
  }

  .clear-filter {
    background-color: transparent;
    box-shadow: none;
    padding: 0;
  }

  .clear-filter:hover {
    text-decoration: underline;
  }

  /* Clear button */
  .facets__clear {
    display: none;
  }

  .facets--horizontal .facets__clear {
    @media screen and (min-width: 750px) {
      width: 100%;
      justify-content: flex-end;
      padding: 0 var(--facets-clear-padding) var(--facets-clear-padding) 0;
      cursor: pointer;
    }
  }

  .facets__clear--active {
    @media screen and (min-width: 750px) {
      display: flex;
    }
  }

  /* Facets - Label */
  .facets__label {
    color: var(--color-foreground);
    cursor: pointer;
    white-space: nowrap;

    @media screen and (min-width: 750px) {
      margin-inline-end: var(--margin-2xs);
    }
  }

  /* Products count */
  .products-count-wrapper {
    display: none;
  }

  .facets--horizontal .products-count-wrapper {
    @media screen and (min-width: 750px) {
      display: flex;
      margin-left: auto;
      flex-shrink: 0;
      align-items: center;
      height: var(--minimum-touch-target);
    }
  }

  /* Mobile specific components */
  .facets__title-wrapper {
    background-color: var(--color-background);
    color: var(--color-foreground);
    position: sticky;
    top: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-block: var(--padding-xs);
    padding-inline-start: var(--drawer-padding);
    padding-inline-end: var(--padding-2xs);
    z-index: var(--facets-sticky-z-index);
  }

  :is(.facets--horizontal, .facets--vertical) .facets__title-wrapper {
    @media screen and (min-width: 750px) {
      display: none;
    }
  }

  .facets-drawer__title {
    --variant-picker-swatch-width: 32px;
    --variant-picker-swatch-height: 32px;

    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--gap-xs);

    @media screen and (min-width: 750px) {
      --variant-picker-swatch-width: 26px;
      --variant-picker-swatch-height: 26px;
    }
  }

  .facets-drawer__close {
    position: relative;
    top: 0;
    right: 0;
    padding: 0;
    cursor: pointer;
  }

  /* Status */
  .facets__status:not(:empty) {
    width: max-content;
    display: flex;
    margin-inline-start: auto;
    font-weight: 500;
    color: var(--color-foreground);
  }

  .facets__panel[open] .facets__status {
    display: none;
  }

  .facets--filters-title {
    margin-block-end: 0;
    color: var(--color-foreground);
    height: fit-content;

    @media screen and (max-width: 749px) {
      display: none;
    }
  }

  .facets--horizontal .facets__panel .facets__status:has(:not(:empty)) {
    @media screen and (min-width: 750px) {
      display: flex;
      margin-inline-start: var(--margin-xs);
      margin-inline-end: var(--margin-xs);
    }
  }

  /* Horizontal filter style */
  .facets--horizontal .facets__form {
    @media screen and (min-width: 750px) {
      gap: 0 var(--facets-form-horizontal-gap);
    }
  }

  /* Facets - Actions */
  .facets__drawer-actions {
    --to-top-gradient-background: linear-gradient(
      to top,
      rgb(var(--color-background-rgb) / var(--opacity-90)),
      rgb(var(--color-background-rgb) / var(--opacity-80)),
      rgb(var(--color-background-rgb) / var(--opacity-40)),
      transparent
    );

    position: sticky;
    bottom: 0;
    z-index: var(--facets-sticky-z-index);
    order: 1;
    display: flex;
    flex-shrink: 0;
    justify-content: space-between;
    align-items: stretch;
    gap: var(--gap-sm);
    padding-block-start: var(--padding-xs);
    padding-block-end: var(--padding-md);
    padding-inline: var(--padding-lg);
    margin-top: auto;
    background-image: var(--to-top-gradient-background);
    background-color: var(--color-background);
  }

  /* Clear all button */
  .facets__clear-all {
    display: none;
    cursor: pointer;
    min-width: var(--facets-clear-all-min-width);
    flex-grow: 1;
    padding-block: var(--padding-lg);
    color: var(--button-color, inherit);
  }

  .facets__clear-all--active {
    display: block;
    opacity: 1;
    transform: translateY(0);
    transition: transform var(--animation-values), opacity var(--animation-values);
  }

  @starting-style {
    .facets__clear-all--active {
      opacity: 0;
      transform: translateY(100%);
    }
  }

  .facets__see-results {
    min-width: var(--facets-see-results-min-width);
    flex-grow: 1;
    padding-block: var(--padding-lg);
  }

  .facets-horizontal-remove {
    display: flex;
    align-items: center;
  }

  .facets-horizontal-remove--active::before {
    content: '';
    border-inline-start: var(--style-border-width) solid var(--color-border);
    height: var(--font-paragraph--size);
    position: absolute;
  }
/* END_BLOCK:filters */

/* START_BLOCK:footer-policy-list (INDEX:102) */
.policy-list-trigger {
    anchor-name: --terms-policies-trigger;
    cursor: pointer;
    font-size: var(--font-size, 0.75rem);
    text-transform: var(--text-transform, none);
  }

  .policy_list {
    li {
      border-radius: calc(var(--style-border-radius-popover) - 8px);

      a {
        color: var(--color-foreground);
        display: inline-block;
        padding: 8px;
        text-align: start;
        width: 100%;
        outline-color: #0000;
        font-size: var(--font-size, 0.75rem);
        text-transform: var(--text-transform, none);
      }

      &:is(:hover, :focus-within) {
        background: rgb(var(--color-foreground-rgb) / 0.15);
      }
    }
  }

  .terms-policies-popover {
    position-anchor: --terms-policies-trigger;
    inset: unset;
    bottom: calc(anchor(top) + 1rem);
    left: anchor(left);
    border-radius: var(--style-border-radius-popover);
    background: linear-gradient(var(--color-background) 0 100%),
      linear-gradient(rgb(var(--color-background-rgb) / 0.15) 0 100%);
    background-clip: padding-box, border-box;
    border: 1px solid #0000;
    box-shadow: var(--shadow-popover);
    padding: 8px;
    margin: 0;
    opacity: 0;
    scale: 0.94;
    translate: 0 6px;
    transform-origin: 3.9em 100%;
  }

  .terms-policies-popover.\:popover-open,
  .terms-policies-popover:popover-open {
    opacity: 1;
    translate: 0 0;
    scale: 1;
  }

  @media screen and (max-width: 749px) {
    .terms-policies-popover {
      left: anchor(center);
      transform: translate(-50%, 0);
      transform-origin: 0% 100%;
    }
  }

  @supports not (position-anchor: --account-button-trigger) {
    .terms-policies-popover {
      bottom: unset;
      top: calc(var(--anchor-top) * 1px);
      left: calc(var(--anchor-left) * 1px);
      transform: translate(0, calc(-100% - 1.25rem));
    }

    @media screen and (max-width: 749px) {
      .terms-policies-popover {
        left: calc((var(--anchor-left) + (var(--anchor-width) / 2)) * 1px);
        transform: translate(-50%, calc(-100% - 1.25rem));
      }
    }
  }

  @media (prefers-reduced-motion: no-preference) {
    .terms-policies-popover {
      transition-property: display, overlay, opacity, scale, translate;
      transition-behavior: allow-discrete;
      transition-duration: 0.3s;
      transition-timing-function: var(--ease-out-quad);
    }

    @starting-style {
      .terms-policies-popover.\:popover-open,
      .terms-policies-popover:popover-open {
        opacity: 0.7;
        translate: 0 6px;
        scale: 0.94;
      }
    }
  }
/* END_BLOCK:footer-policy-list */

/* START_BLOCK:icon (INDEX:104) */
.icon-block {
    display: flex;
    flex-shrink: 0;
  }

  .icon-block__media {
    height: auto;
  }
/* END_BLOCK:icon */

/* START_BLOCK:image (INDEX:105) */
.image-block__placeholder {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center center;
    overflow: hidden;
    position: relative;
  }

  .placeholder-image {
    position: relative;
    aspect-ratio: var(--ratio);
    overflow: hidden;
  }

  .image-block {
    display: flex;

    /* When the image is nested in a group, section, etc, respect the parent's horizontal alignment */
    justify-content: var(--horizontal-alignment, 'inline-start');
  }

  .image-block--height-fill .image-block__image {
    height: 100%;
  }

  .image-block__image {
    object-fit: cover;
    aspect-ratio: var(--ratio);
  }
/* END_BLOCK:image */

/* START_BLOCK:logo (INDEX:107) */
.logo-block {
    width: calc(var(--logo-width) + var(--padding-inline-start) + var(--padding-inline-end));
    max-width: 100%;
    max-height: calc(var(--logo-height, 100%) + var(--padding-block-start) + var(--padding-block-end));
    font-size: var(--logo-height);
    display: flex;

    @media screen and (max-width: 749px) {
      max-height: calc(
        var(--logo-height-mobile, var(--logo-height, 100%)) + var(--padding-block-start) + var(--padding-block-end)
      );
      font-size: var(--logo-height-mobile, var(--logo-height));
      width: calc(
        var(--logo-width-mobile, var(--logo-width)) + var(--padding-inline-start) + var(--padding-inline-end)
      );
    }
  }

  .logo-block__image-wrapper {
    display: flex;
    width: 100%;
    max-width: 100%;
    max-height: 100%;
  }

  .logo-block__image {
    object-fit: contain;
    width: 100%;
  }
/* END_BLOCK:logo */

/* START_BLOCK:menu (INDEX:108) */
.menu {
    width: 100%;
  }

  .menu:not(:has(.menu__heading--empty)) .details-content {
    margin-block-start: var(--spacing--size);
  }

  .menu__item + .menu__item {
    margin-block-start: var(--spacing--size);
  }

  .menu .menu__heading--empty {
    display: none;
  }

  .menu__heading__default {
    display: contents;
  }

  .menu__heading__accordion {
    display: none;
  }

  @media screen and (max-width: 749px) {
    /* Always show the fallback heading on mobile when accordion is enabled */
    .menu--accordion .menu__heading--empty {
      display: flex;
    }

    .menu--accordion .menu__heading__accordion {
      display: contents;
    }

    .menu--accordion .menu__heading__default {
      display: none;
    }

    .menu--accordion .details-content {
      margin-block-start: var(--spacing--size);
    }

    .menu--accordion .menu__details {
      padding-inline: 0;
    }

    .menu--dividers .menu__details {
      border-block-end: var(--style-border-width) solid var(--color-border);
    }

    .menu--dividers .details-content {
      padding-block-end: var(--padding-sm);
    }
  }
/* END_BLOCK:menu */

/* START_BLOCK:page (INDEX:110) */
.page-block {
    display: flex;
    flex-direction: column;
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: auto;
    align-items: flex-start;
  }

  .page-title {
    margin-bottom: var(--margin-xl);
  }
/* END_BLOCK:page */

/* START_BLOCK:payment-icons (INDEX:111) */
.payment-icons {
    width: 100%;
  }

  .payment-icons__list {
    display: flex;
    align-items: center;
    justify-content: var(--alignment);
    flex-wrap: wrap;
    gap: var(--icon-gap);
    margin: 0;
    padding: 0;
  }

  .payment-icons__item {
    display: flex;
    align-items: center;
  }
/* END_BLOCK:payment-icons */

/* START_BLOCK:popup-link (INDEX:112) */
.popup-link__button svg {
    display: inline-block;
    position: relative;
    top: var(--margin-2xs);
  }

  .popup-link__content {
    box-shadow: var(--shadow-popover);
    border: var(--style-border-popover);
    border-radius: var(--style-border-radius-popover);
    background-color: var(--color-background);
    padding: var(--padding-4xl) var(--padding-xl) var(--padding-xl);
    max-width: var(--normal-content-width);
    max-height: var(--modal-max-height);

    @media screen and (min-width: 750px) {
      padding: var(--padding-5xl);
    }
  }

  .popup-link__content[open] {
    animation: modalSlideInTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .popup-link__content.dialog-closing {
    animation: modalSlideOutTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .popup-link__content--drawer {
    position: fixed;
    border-radius: 0;
    width: var(--sidebar-width);
    max-width: 95vw;
    height: 100%;
    margin: 0 0 0 auto;
  }

  /* Needed to ensure the drawer is full height */
  .popup-link__content--drawer:modal {
    max-height: 100dvh;
  }

  .popup-link__close {
    top: var(--margin-2xs);
    right: var(--margin-2xs);
    opacity: 0.8;
    animation: none;
  }
/* END_BLOCK:popup-link */

/* START_BLOCK:product-custom-property (INDEX:115) */
product-custom-property-component {
    display: block;
    width: 100%;
  }

  product-custom-property-component .__heading {
    margin-inline: 0;
    margin-block: 0 var(--padding-sm);
  }

  product-custom-property-component .__heading:has(+ .__description) {
    margin-block-end: var(--padding-2xs);
  }

  product-custom-property-component .__description {
    font-size: min(0.85em, var(--font-paragraph--size));
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
    margin-inline: 0;
    margin-block: 0 var(--padding-md);
  }

  product-custom-property-component .__field {
    position: relative;
  }

  product-custom-property-component .__input-wrapper {
    position: relative;
  }

  product-custom-property-component input,
  product-custom-property-component textarea {
    width: 100%;
    /* stylelint-disable-next-line declaration-no-important */
    color: var(--color-input-text) !important;
  }

  /* Add padding for inputs with counter inside */
  product-custom-property-component .__input-wrapper input {
    padding-bottom: calc(var(--padding-sm) * 3);
  }

  product-custom-property-component .__input-wrapper textarea {
    padding-bottom: calc(var(--padding-sm) * 3);
    scroll-padding-bottom: calc(var(--padding-sm) * 3);
  }

  product-custom-property-component textarea {
    min-height: 80px;
  }

  @supports (resize: vertical) {
    @media (hover: hover) and (pointer: fine) {
      product-custom-property-component textarea {
        resize: vertical; /* stylelint-disable-line */
      }
    }
  }

  product-custom-property-component .__character-label {
    position: absolute;
    left: var(--input-padding-x);
    bottom: var(--padding-sm);
    pointer-events: none;
  }

  product-custom-property-component .__character-count {
    font-style: italic;
    /* stylelint-disable-next-line declaration-no-important */
    color: var(--color-input-text) !important;
  }

  /* We should consolidate input styles that share the same behavior */
  .custom-property__input {
    border: var(--style-border-width-inputs) solid var(--color-input-border);
    border-radius: var(--style-border-radius-inputs);

    /* this is needed to override the styles from field__input */
    box-shadow: none;

    &:is(:hover, :focus) {
      /* this is needed to override the styles from field__input */
      box-shadow: none;
    }

    &:focus {
      /* this is needed to override the styles from field__input */
      outline: var(--focus-outline-width) solid var(--color-input-background);
    }
  }
/* END_BLOCK:product-custom-property */

/* START_BLOCK:product-inventory (INDEX:117) */
.product-inventory__status {
    display: flex;
    align-items: center;
    font-size: var(--font-paragraph--size);
    line-height: var(--font-paragraph--line-height);
    gap: var(--padding-xs);
  }

  .product-inventory__icon,
  .product-inventory__icon svg {
    width: var(--icon-size-sm);
    height: var(--icon-size-sm);
  }

  .product-inventory__icon-low {
    color: var(--color-lowstock);
  }

  .product-inventory__icon-in_stock {
    color: var(--color-instock);
  }

  .product-inventory__icon-out_of_stock {
    color: var(--color-outofstock);
  }

  .product-inventory__icon circle:first-of-type {
    opacity: 0.3;
  }
/* END_BLOCK:product-inventory */

/* START_BLOCK:product-recommendations (INDEX:118) */
.block-resource-list {
    display: flex;
    flex-direction: column;
    row-gap: var(--gap);
    min-width: 0;
    min-height: 0;
    container-type: inline-size;
    container-name: resource-list;
    border-radius: var(--border-radius, 0);
  }

  .product-recommendations-wrapper {
    width: 100%;
  }

  .product-recommendations-wrapper:has(product-recommendations[data-shopify-editor-preview]) {
    width: 100vw;
  }
/* END_BLOCK:product-recommendations */

/* START_BLOCK:review (INDEX:121) */
.rating-wrapper {
    gap: var(--gap-xs);
    min-width: fit-content;
  }

  .rating-color--primary {
    --star-fill-color: var(--color-primary);
    --star-fill-color-rgb: var(--color-primary-rgb);
    --color: var(--color-primary);
  }

  .rating-color--foreground {
    --star-fill-color: var(--color-foreground);
    --star-fill-color-rgb: var(--color-foreground-rgb);
    --color: var(--color-foreground);
  }

  .rating-wrapper,
  .rating {
    display: flex;
    align-items: center;
  }

  .rating-wrapper.justify-right {
    flex-direction: row-reverse;
  }

  .rating {
    gap: var(--gap-3xs);
  }

  .rating-wrapper .rating-count,
  .rating-wrapper .rating-count-separator {
    color: var(--star-fill-color);
    margin: 0;
    white-space: nowrap;
  }

  .rating-count-separator {
    opacity: var(--opacity-20);
    padding-left: calc(var(--padding-xs) / 2);
    padding-right: var(--padding-xs);
  }

  .stars {
    height: var(--star-size);
    fill: var(--empty-star-fill-color);
  }

  .filled-star {
    fill: var(--star-fill-color);
  }
/* END_BLOCK:review */

/* START_BLOCK:social-links (INDEX:123) */
.social-icons__wrapper {
    display: flex;
    gap: var(--gap-sm);
    flex-wrap: wrap;
    justify-content: center;

    @media screen and (min-width: 750px) {
      flex-wrap: nowrap;
      justify-content: flex-start;
    }
  }

  .social-icons__icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--icon-size-lg);
  }

  .social-icons__icon {
    display: flex;
    flex-shrink: 0;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
  }

  .social-icons__icon {
    display: none;
  }

  .social-icons__icon-wrapper:has(.social-icons__icon path) {
    width: var(--icon-size-lg);

    .social-icons__icon {
      display: block;
    }

    .social-icons__icon-label {
      display: none;
    }
  }

  /* Disabled state for editor */
  .shopify-design-mode .social-icons__icon-wrapper--disabled {
    opacity: var(--disabled-opacity, 0.5);
    cursor: not-allowed;
  }

  .shopify-design-mode .social-icons__icon-wrapper--disabled a {
    pointer-events: none;
  }
/* END_BLOCK:social-links */

/* START_BLOCK:spacer (INDEX:124) */
/* Fill opposite direction */
  .layout-panel-flex--column > .spacer-block {
    width: 100%;
  }

  .layout-panel-flex--row > .spacer-block {
    height: 100%;
  }

  /* Flex - Percent */
  :is(.layout-panel-flex--row, .layout-panel-flex--column) > .spacer-block--size-percent {
    flex: var(--spacer-size);
  }

  /* Flex - Pixel */
  .layout-panel-flex--row > .spacer-block--size-pixel {
    width: var(--spacer-size);
  }

  .layout-panel-flex--column > .spacer-block--size-pixel {
    height: var(--spacer-size);
  }

  /* Mobile */
  @media screen and (max-width: 749px) {
    /* Percent */
    .layout-panel-flex--row:not(.mobile-column) > .spacer-block--size-mobile-percent {
      flex: var(--spacer-size-mobile);
      height: 100%;
    }

    .layout-panel-flex--column > .spacer-block--size-mobile-percent,
    .mobile-column > .spacer-block--size-percent:not(.spacer-block--size-mobile-pixel) {
      width: 100%;
      flex: var(--spacer-size-mobile);
    }

    /* Pixel */
    .layout-panel-flex--row:not(.mobile-column) > .spacer-block--size-mobile-pixel {
      width: var(--spacer-size-mobile);
      height: 100%;
    }

    .layout-panel-flex--column > .spacer-block--size-mobile-pixel,
    .mobile-column > .spacer-block--size-mobile-pixel {
      width: 100%;
      flex: 0;
      height: var(--spacer-size-mobile);
    }
  }
/* END_BLOCK:spacer */

/* START_BLOCK:swatches (INDEX:125) */
product-swatches {
    width: 100%;
    display: flex;
    position: relative;
    overflow: hidden;
    gap: 0;
    flex-shrink: 0;
  }
/* END_BLOCK:swatches */

/* START_BLOCK:video (INDEX:128) */
.placeholder-video {
    aspect-ratio: 5 / 3;
  }
/* END_BLOCK:video */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:aurean-challenge-form (INDEX:129) */
.ag-cform { color: var(--text); }
  .ag-cform__config-warning {
    background: rgba(186, 73, 73, 0.08);
    border: 1px solid rgba(186, 73, 73, 0.3);
    border-radius: var(--radius-card);
    padding: 1.2rem 1.4rem;
    margin-bottom: 1.5rem;
    font-family: var(--body);
    font-size: 0.92rem;
    color: var(--text);
  }
  .ag-cform__hp {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
  }
  .ag-cform__form {
    display: grid;
    gap: 3rem;
  }

  /* ───── Groups (no boxes — hairline-separated sections) ───── */
  .ag-cform__group {
    border: 0;
    margin: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
    display: grid;
    gap: 1.4rem;
  }
  .ag-cform__group + .ag-cform__group {
    padding-top: 3rem;
    border-top: 1px solid var(--border-soft);
  }

  /* ───── Collapsible bonus section (card-style, clearly tappable) ───── */
  .ag-cform__details {
    background: rgba(58, 46, 37, 0.04);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card);
    overflow: hidden;
    transition: background 0.18s ease, border-color 0.18s ease;
  }
  .ag-cform__details:hover {
    background: rgba(58, 46, 37, 0.07);
    border-color: var(--text-muted);
  }
  .ag-cform__details[open] {
    background: var(--bg);
    border-color: var(--text-muted);
  }
  .ag-cform__group + .ag-cform__details,
  .ag-cform__details + .ag-cform__group {
    padding-top: 0;
    border-top: 0;
  }
  .ag-cform__group + .ag-cform__details { margin-top: 0; }
  .ag-cform__summary {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 1.6rem;
    cursor: pointer;
    list-style: none;
    user-select: none;
    color: var(--text);
    font-family: var(--sans);
    line-height: 1.3;
    transition: color 0.15s ease;
  }
  .ag-cform__summary::-webkit-details-marker { display: none; }
  .ag-cform__summary-text {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
  }
  .ag-cform__summary-label {
    font-family: var(--sans);
    font-weight: 700;
    font-size: 1.06rem;
    letter-spacing: -0.012em;
    color: var(--text);
  }
  .ag-cform__summary-meta {
    color: var(--text-muted);
    font-family: var(--body);
    font-weight: 400;
    font-size: 0.86rem;
    letter-spacing: 0;
  }
  .ag-cform__summary-badge {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--text);
    color: var(--text-light);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.25s ease, background 0.18s ease;
  }
  .ag-cform__details:hover .ag-cform__summary-badge {
    background: var(--text);
    transform: scale(1.06);
  }
  .ag-cform__details[open] .ag-cform__summary-badge {
    transform: rotate(45deg);
  }
  .ag-cform__group--bonus {
    border: 0;
    margin: 0;
    padding: 0.4rem 1.6rem 1.6rem;
    gap: 1.4rem;
  }
  .ag-cform__group--consent {
    background: transparent;
  }
  .ag-cform__optional {
    color: var(--text-muted);
    font-weight: 400;
    font-size: 0.82rem;
    letter-spacing: 0;
    margin-left: 6px;
  }
  @media (max-width: 640px) {
    .ag-cform__summary { padding: 1.3rem 1.2rem; gap: 0.8rem; }
    .ag-cform__summary-label { font-size: 1rem; }
    .ag-cform__summary-meta { font-size: 0.78rem; }
    .ag-cform__summary-badge { width: 32px; height: 32px; }
    .ag-cform__group--bonus { padding: 0.4rem 1.2rem 1.2rem; }
  }
  .ag-cform__legend {
    font-family: var(--body);
    font-weight: 500;
    font-size: 0.72rem;
    line-height: 1.3;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--text-muted);
    padding: 0;
    margin: 0 0 0.6rem;
    display: block;
    width: 100%;
  }
  .ag-cform__legend-sub {
    color: var(--text-muted);
    font-weight: 400;
    font-size: 0.9rem;
    letter-spacing: 0;
  }
  .ag-cform__group-lead {
    font-family: var(--body);
    font-size: 0.92rem;
    line-height: 1.55;
    color: var(--text-muted);
    margin: -0.4rem 0 0.4rem;
  }

  /* ───── Rows ───── */
  .ag-cform__row {
    display: grid;
    gap: 1rem;
  }
  .ag-cform__row--2 {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }

  /* ───── Fields ───── */
  .ag-cform__field { display: grid; gap: 0.5rem; }
  .ag-cform__label {
    font-family: var(--body);
    font-size: 0.92rem;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--text);
    text-transform: none;
    line-height: 1.3;
  }
  .ag-cform__req { color: #b04a3a; margin-left: 2px; font-weight: 600; }
  .ag-cform__entries {
    color: var(--text-muted);
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    margin-left: 6px;
    font-size: 0.82rem;
  }
  .ag-cform__help {
    font-family: var(--body);
    font-size: 0.85rem;
    line-height: 1.5;
    color: var(--text-muted);
    margin-top: 0.2rem;
  }

  .ag-cform__field input[type="text"],
  .ag-cform__field input[type="email"],
  .ag-cform__field input[type="number"],
  .ag-cform__field select {
    width: 100%;
    background: var(--bg);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-input);
    padding: 0.95rem 1.1rem;
    font-family: var(--body);
    font-size: 1rem;
    line-height: 1.2;
    color: var(--text);
    outline: 0;
    -webkit-appearance: none;
    appearance: none;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
  }
  .ag-cform__field select {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23867260' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M1 1l5 5 5-5'/></svg>");
    background-repeat: no-repeat;
    background-position: right 1.1rem center;
    padding-right: 2.6rem;
  }
  .ag-cform__field input:hover,
  .ag-cform__field select:hover {
    border-color: var(--text-muted);
  }
  .ag-cform__field input:focus,
  .ag-cform__field select:focus {
    border-color: var(--text);
    background: var(--bg);
    box-shadow: 0 0 0 3px rgba(58, 46, 37, 0.08);
  }
  .ag-cform__field input::placeholder {
    color: var(--text-faint);
  }

  /* ───── File inputs (styled so they don't look default-ugly) ───── */
  .ag-cform__field input[type="file"] {
    width: 100%;
    background: var(--bg);
    border: 1px dashed var(--border-soft);
    border-radius: var(--radius-input);
    padding: 0.85rem 1rem;
    font-family: var(--body);
    font-size: 0.92rem;
    color: var(--text-muted);
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
  }
  .ag-cform__field input[type="file"]:hover {
    border-color: var(--text-muted);
    background: var(--bg-card);
  }
  .ag-cform__field input[type="file"]:focus {
    outline: 0;
    border-color: var(--text);
    border-style: solid;
    box-shadow: 0 0 0 3px rgba(58, 46, 37, 0.08);
  }
  .ag-cform__field input[type="file"]::-webkit-file-upload-button {
    background: var(--text);
    color: var(--text-light);
    border: 0;
    border-radius: var(--radius-pill);
    padding: 0.5rem 1rem;
    margin-right: 0.9rem;
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity 0.15s ease;
  }
  .ag-cform__field input[type="file"]::file-selector-button {
    background: var(--text);
    color: var(--text-light);
    border: 0;
    border-radius: var(--radius-pill);
    padding: 0.5rem 1rem;
    margin-right: 0.9rem;
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity 0.15s ease;
  }
  .ag-cform__field input[type="file"]::-webkit-file-upload-button:hover { opacity: 0.88; }
  .ag-cform__field input[type="file"]::file-selector-button:hover { opacity: 0.88; }

  /* ───── Checkboxes ───── */
  .ag-cform__check {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 0.7rem;
    align-items: start;
    font-family: var(--body);
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--text);
    cursor: pointer;
  }
  .ag-cform__check input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 22px;
    height: 22px;
    border: 1.5px solid var(--text-muted);
    border-radius: 6px;
    background: var(--bg-card);
    cursor: pointer;
    position: relative;
    margin: 0;
    flex-shrink: 0;
    transition: background 0.15s ease, border-color 0.15s ease;
  }
  .ag-cform__check input[type="checkbox"]:checked {
    background: var(--text);
    border-color: var(--text);
  }
  .ag-cform__check input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 2px;
    width: 6px;
    height: 11px;
    border: solid var(--text-light);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
  }
  .ag-cform__check input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--text);
    outline-offset: 2px;
  }
  .ag-cform__check a {
    color: var(--text);
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  /* ───── Radio group ───── */
  .ag-cform__radio-group {
    border: 0;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.5rem;
  }
  .ag-cform__radio-row {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
  }
  .ag-cform__radio {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1.1rem;
    background: var(--bg-card);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-pill);
    font-family: var(--body);
    font-size: 0.92rem;
    color: var(--text);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
  }
  .ag-cform__radio:has(input:checked) {
    background: var(--text);
    color: var(--text-light);
    border-color: var(--text);
  }
  .ag-cform__radio input[type="radio"] {
    accent-color: var(--text);
    margin: 0;
  }

  .ag-cform__quebec {
    background: rgba(58, 46, 37, 0.05);
    border-radius: var(--radius-input);
    padding: 0.9rem 1rem;
  }

  /* ───── Submit ───── */
  .ag-cform__submit-row {
    display: flex;
    justify-content: center;
    margin-top: 0.4rem;
  }
  .ag-cform__submit {
    min-width: 280px;
    padding: 1.2rem 2rem;
    background: var(--button);
    color: var(--text-light);
    border: 0;
    border-radius: var(--radius-pill);
    font-family: var(--body);
    font-size: 0.82rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.2s ease, opacity 0.2s ease;
    min-height: 56px;
  }
  .ag-cform__submit:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.16);
  }
  .ag-cform__submit:disabled { opacity: 0.6; cursor: progress; transform: none; }
  .ag-cform__submit:focus-visible { outline: 2px solid var(--text); outline-offset: 3px; }

  .ag-cform__legal-note {
    font-family: var(--body);
    font-size: 0.78rem;
    line-height: 1.55;
    color: var(--text-muted);
    text-align: center;
    margin: 0 auto;
    max-width: 480px;
  }
  .ag-cform__legal-note a {
    color: var(--text);
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .ag-cform__status {
    font-family: var(--body);
    font-size: 0.95rem;
    line-height: 1.5;
    text-align: center;
    min-height: 0;
  }
  .ag-cform__status--error {
    color: #9a3a2c;
    background: rgba(186, 73, 73, 0.08);
    border: 1px solid rgba(186, 73, 73, 0.25);
    border-radius: var(--radius-input);
    padding: 0.85rem 1rem;
    margin-top: 0.5rem;
  }

  /* ───── Success state ───── */
  .ag-cform__success {
    text-align: center;
    padding: 3rem 1.5rem;
    background: var(--bg);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card-lg);
  }
  .ag-cform__success-mark {
    color: var(--text);
    margin: 0 auto 1.5rem;
    display: flex;
    justify-content: center;
  }
  .ag-cform__success-heading {
    font-family: var(--sans);
    font-weight: 500;
    font-size: clamp(1.6rem, 3vw, 2rem);
    line-height: 1.2;
    letter-spacing: -0.018em;
    color: var(--text);
    margin: 0 0 1rem;
  }
  .ag-cform__success-lead {
    font-family: var(--body);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--text);
    margin: 0 auto 2rem;
    max-width: 480px;
    text-wrap: pretty;
  }
  .ag-cform__success-cta {
    background: transparent;
    border: 1px solid var(--text);
    color: var(--text);
    padding: 0.95rem 1.6rem;
    border-radius: var(--radius-pill);
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
  }
  .ag-cform__success-cta:hover {
    background: var(--text);
    color: var(--text-light);
  }

  /* ───── Mobile ───── */
  @media (max-width: 640px) {
    .ag-cform__group { padding: 1.5rem 1.2rem; }
    .ag-cform__row--2 { grid-template-columns: 1fr; }
    .ag-cform__submit { width: 100%; min-width: 0; }
  }
/* END_SNIPPET:aurean-challenge-form */

/* START_SNIPPET:background-media (INDEX:130) */
@media (prefers-reduced-motion: reduce) {
    video-background-component video {
      display: none;
    }
  }
/* END_SNIPPET:background-media */

/* START_SNIPPET:bento-grid (INDEX:131) */
.bento-box {
    display: grid;
    column-gap: var(--bento-gap);
    row-gap: calc(var(--bento-gap) * 1.5);
    width: 100%;
  }

  .bento-box:has(.collection-card--image-bg) {
    row-gap: var(--bento-gap);
  }

  .bento-box ~ .bento-box {
    padding-block-start: var(--bento-gap);
  }

  @media screen and (max-width: 900px) {
    .bento-box {
      grid-template-columns: repeat(2, 1fr);
    }

    .bento-box__item {
      /* Prevent grid items from overflowing their cells when children have aspect-ratio */
      min-width: 0;
      overflow: hidden;
    }

    .bento-box__item:nth-child(3n + 1) {
      grid-column: span 1;
    }

    .bento-box__item:nth-child(3n + 2) {
      grid-column: span 1;
    }

    .bento-box__item:nth-child(3n + 3) {
      grid-column: span 2;
    }

    /* Ensure last items create a full row */
    .bento-box__item:last-child:nth-child(3n + 5) {
      grid-column: span 1;
    }

    .bento-box__item:last-child:nth-child(3n + 4) {
      grid-column: span 2;
    }
  }

  @media screen and (min-width: 901px) {
    .bento-box {
      grid-template-columns: repeat(12, 1fr);
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D E E E F F F'
        'G G G H H H I I I I I I'
        'J J J J K K K K L L L L';
    }

    .bento-box__item:nth-child(1) {
      grid-area: A;
    }

    .bento-box__item:nth-child(2) {
      grid-area: B;
    }

    .bento-box__item:nth-child(3) {
      grid-area: C;
    }

    .bento-box__item:nth-child(4) {
      grid-area: D;
    }

    .bento-box__item:nth-child(5) {
      grid-area: E;
    }

    .bento-box__item:nth-child(6) {
      grid-area: F;
    }

    .bento-box__item:nth-child(7) {
      grid-area: G;
    }

    .bento-box__item:nth-child(8) {
      grid-area: H;
    }

    .bento-box__item:nth-child(9) {
      grid-area: I;
    }

    .bento-box__item:nth-child(10) {
      grid-area: J;
    }

    .bento-box__item:nth-child(11) {
      grid-area: K;
    }

    .bento-box__item:nth-child(12) {
      grid-area: L;
    }

    /* === Overrides for specific item counts === */

    /* Exactly 1 item */
    .bento-box--items-1 {
      grid-template-areas: 'A A A A A A A A A A A A';
    }

    /* Exactly 2 items */
    .bento-box--items-2 {
      grid-template-areas: 'A A A A A A B B B B B B';
    }

    /* Exactly 4 items */
    .bento-box--items-4 {
      grid-template-areas:
        'A A A A B B B B B B B B'
        'C C C C C C C C D D D D';
    }

    /* Exactly 5 items */
    .bento-box--items-5 {
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D E E E E E E';
    }

    /* Exactly 7 items */
    .bento-box--items-7 {
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D D D D E E E'
        'F F F F F F G G G G G G';
    }

    /* Exactly 8 items */
    .bento-box--items-8 {
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D E E E F F F'
        'G G G H H H H H H H H H';
    }

    /* Exactly 10 items */
    .bento-box--items-10 {
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D E E E F F F'
        'G G G G G G G G G H H H'
        'I I I J J J J J J J J J';
    }

    /* Exactly 11 items */
    .bento-box--items-11 {
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D E E E F F F'
        'G G G H H H I I I I I I'
        'J J J J K K K K K K K K';
    }
  }
/* END_SNIPPET:bento-grid */

/* START_SNIPPET:blog-comment-form (INDEX:132) */
.blog-post-comments__form-container {
    --comment-form-gap: var(--gap-md);

    width: 100%;
    max-width: var(--normal-content-width);
    margin: var(--margin-4xl) auto 0;
  }

  .blog-post-comments__form {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--comment-form-gap);

    @media screen and (min-width: 750px) {
      grid-template-columns: 1fr 1fr;
    }
  }

  .blog-post-comments__form-input {
    padding: var(--padding-lg) var(--padding-xl);
    border: var(--style-border-width-inputs) solid var(--color-input-border);
  }

  .blog-post-comments__form-input--textarea {
    resize: vertical;
    min-height: var(--input-textarea-min-height);
  }

  .blog-post-comments__form-message {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .blog-post-comments__form-body {
    grid-column: 1 / -1;
  }

  .blog-post-comments__form-input:focus-visible {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: var(--focus-outline-offset);
  }

  .blog-post-comments__form-moderated {
    font-size: var(--font-size--xs);
  }

  .blog-post-comments__form-submit {
    margin-block-start: var(--comment-form-gap);
  }
/* END_SNIPPET:blog-comment-form */

/* START_SNIPPET:editorial-blog-grid (INDEX:135) */
.editorial-blog__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 1fr;
    gap: var(--gap-xl);

    .shopify-block {
      height: 100%;
    }
  }

  .editorial-blog__spacer {
    aspect-ratio: 1;
  }

  @media screen and (max-width: 749px) {
    .editorial-blog__grid {
      display: flex;
      flex-direction: column;
      gap: var(--gap-2xl);
    }

    .editorial-blog__spacer {
      display: none;
    }

    /* Mobile layout - also horizontally mirrored from collection grid */
    .editorial-blog__item-0 {
      width: 66%;
      align-self: flex-end; /* Originally flex-start, now flex-end */
    }

    .editorial-blog__item-1 {
      width: 83%;
      align-self: flex-start; /* Originally flex-end, now flex-start */
    }

    .editorial-blog__item-2 {
      width: 83%;
      align-self: flex-end; /* Originally flex-start, now flex-end */
    }

    .editorial-blog__item-3 {
      width: 100%;
      align-self: center; /* Stays centered */
    }
  }
/* END_SNIPPET:editorial-blog-grid */

/* START_SNIPPET:editorial-collection-grid (INDEX:136) */
.editorial-collection__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 1fr;
    gap: var(--gap-xl);

    .resource-list__item,
    .collection-card {
      height: 100%;
    }
  }

  .editorial-collection__spacer {
    aspect-ratio: 1;
  }

  @media screen and (max-width: 749px) {
    .editorial-collection__grid {
      display: flex;
      flex-direction: column;
      gap: var(--gap-2xl);
    }

    .editorial-collection__spacer {
      display: none;
    }

    .editorial-collection__item-0 {
      width: 66%;
      align-self: flex-start;
      aspect-ratio: 4 / 5;
    }

    .editorial-collection__item-1 {
      width: 83%;
      align-self: flex-end;
      aspect-ratio: 5 / 5;
    }

    .editorial-collection__item-2 {
      width: 83%;
      align-self: flex-start;
      aspect-ratio: 8 / 6;
    }

    .editorial-collection__item-3 {
      width: 100%;
      align-self: center;
      aspect-ratio: 8 / 6;
    }
  }
/* END_SNIPPET:editorial-collection-grid */

/* START_SNIPPET:editorial-product-grid (INDEX:137) */
.editorial-product__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 1fr;
    gap: var(--gap-xl);

    /* Make the aspect ratio super high on width, then increase the height of
     * slideshow containers until they fill all the available space */
    .card-gallery {
      /* stylelint-disable-next-line declaration-no-important */
      --gallery-aspect-ratio: 99 !important;
    }

    .card-gallery,
    slideshow-component,
    slideshow-container,
    slideshow-slides,
    .product-media__image {
      height: 100%;
    }
  }

  .editorial-product__spacer {
    aspect-ratio: 1;
  }

  @media screen and (max-width: 749px) {
    .editorial-product__grid {
      display: flex;
      flex-direction: column;
      gap: var(--gap-2xl);
    }

    .editorial-product__spacer {
      display: none;
    }

    .editorial-product__item-0 {
      width: 83%;
      align-self: flex-start;
      aspect-ratio: 7 / 6;
    }

    .editorial-product__item-1 {
      width: 83%;
      align-self: flex-end;
      aspect-ratio: 4 / 5;
    }

    .editorial-product__item-2 {
      width: 66%;
      align-self: flex-start;
      aspect-ratio: 5 / 5;
    }

    .editorial-product__item-3 {
      width: 100%;
      aspect-ratio: 8 / 6;
    }
  }
/* END_SNIPPET:editorial-product-grid */

/* START_SNIPPET:password-layout-styles (INDEX:152) */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400;500;600;700;800&family=Karla:wght@300;400;500;600&display=swap');

  html,
  body {
    background: #F2EFEA;
    margin: 0;
  }

  .password-main-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #F2EFEA;
  }

  footer {
    background: #F2EFEA;
  }

  /* ---------- Aurean password dialog ---------- */

  .password-dialog {
    max-width: 100vw;
    max-height: 100svh;
    width: 100vw;
    height: 100svh;
    border: none;
    margin: 0;
    padding: 0;
    background: #F2EFEA;
    color: #3C2F26;
    font-family: 'Karla', sans-serif;
    transition: opacity 0.35s ease, display 0.35s ease allow-discrete,
      overlay 0.35s ease allow-discrete;
  }

  .password-dialog::backdrop {
    display: none;
  }

  .password-dialog[open] {
    opacity: 1;
    top: 0;
    left: 0;
  }

  @starting-style {
    .password-dialog[open] {
      opacity: 0;
    }
  }

  .password-dialog:not([open]) {
    opacity: 0;
  }

  @starting-style {
    .password-dialog:not([open]) {
      opacity: 1;
    }
  }

  /* Close X */
  .password-dialog__header {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1.5rem;
    z-index: 10;
  }

  .password-dialog__close-button {
    appearance: none;
    background: transparent;
    border: none;
    cursor: pointer;
    color: #3C2F26;
    padding: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0.6;
    transition: opacity 0.2s ease;
  }

  .password-dialog__close-button:hover {
    opacity: 1;
  }

  .password-dialog__close-button .svg-wrapper {
    width: 22px;
    height: 22px;
    display: inline-flex;
  }

  .password-dialog__close-button svg {
    width: 22px;
    height: 22px;
  }

  /* Content */
  .password-dialog__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2rem 1.5rem;
    height: 100%;
    box-sizing: border-box;
    text-align: center;
    transition: transform 0.35s ease;
  }

  .password-dialog__title,
  .password-dialog__content h2 {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 200;
    font-size: clamp(1.8rem, 5vw, 2.4rem);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #3C2F26;
    margin: 0 0 2rem;
    text-transform: none;
  }

  .password-dialog[open] .password-dialog__content {
    transform: translateY(0);
  }

  @starting-style {
    .password-dialog[open] .password-dialog__content {
      transform: translateY(1em);
    }
  }

  .password-dialog:not([open]) .password-dialog__content {
    transform: translateY(1em);
  }

  @starting-style {
    .password-dialog:not([open]) .password-dialog__content {
      transform: translateY(0);
    }
  }

  /* Form layout */
  .storefront-password-form {
    width: 100%;
    max-width: 100%;
  }

  .password-dialog .email-signup__input-group {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }

  @media screen and (min-width: 750px) {
    .password-dialog .email-signup__input-group {
      max-width: 400px;
      width: 100%;
    }
  }

  /* Input — override Horizon's field styles inside the dialog */
  .password-dialog .field__input,
  .password-dialog input[type="password"] {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    box-sizing: border-box;
    padding: 0.95rem 1.1rem;
    font-family: 'Karla', sans-serif !important;
    font-size: 0.95rem;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid #D9CFC5;
    border-radius: 9999px;
    color: #3C2F26;
    outline: none;
    transition: border-color 0.2s ease, background 0.2s ease;
    text-align: center;
    letter-spacing: 0;
    min-height: auto;
    height: auto;
  }

  .password-dialog .field__input::placeholder,
  .password-dialog input[type="password"]::placeholder {
    color: #9A8B7E;
    text-align: center;
  }

  .password-dialog .field__input:focus,
  .password-dialog input[type="password"]:focus {
    border-color: #3C2F26;
    background: #fff;
  }

  /* Submit button — override Horizon's button styles inside the dialog */
  .password-dialog__submit-button,
  .password-dialog .button {
    appearance: none;
    border: none;
    cursor: pointer;
    width: 100%;
    padding: 0.95rem 1.6rem;
    font-family: 'Manrope', sans-serif !important;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    background: #3C2F26;
    color: #F2EFEA;
    border-radius: 9999px;
    transition: background 0.2s ease, transform 0.15s ease;
    text-transform: none;
    min-height: auto;
    height: auto;
  }

  .password-dialog__submit-button:hover,
  .password-dialog .button:hover {
    background: #4a3a2e;
  }

  .password-dialog__submit-button:active,
  .password-dialog .button:active {
    transform: translateY(1px);
  }

  /* Error message */
  .password-dialog__content .email-signup__message {
    padding-block-start: 1rem;
    font-family: 'Karla', sans-serif;
    font-size: 0.9rem;
    color: #8a3a2e;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
  }

  .password-dialog__content .email-signup__message .icon-error {
    width: 16px;
    height: 16px;
  }
/* END_SNIPPET:password-layout-styles */

/* START_SNIPPET:product-media-gallery-content-styles (INDEX:156) */
media-gallery:where(.media-gallery--grid) .media-gallery__grid {
    display: none;
  }

  media-gallery.media-gallery--grid .media-gallery__grid .product-media-container {
    /* Needed for safari to stretch to full grid height */
    height: 100%;
  }

  @media screen and (min-width: 750px) {
    .media-gallery--two-column .media-gallery__grid {
      grid-template-columns: repeat(2, 1fr);
    }

    /* Display grid view as a carousel on mobile, grid on desktop */
    media-gallery:is(.media-gallery--grid) slideshow-component {
      display: none;
    }

    media-gallery:where(.media-gallery--grid) .media-gallery__grid {
      display: grid;
    }
  }

  .product-media-container__zoom-button {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: var(--layer-flat);
    cursor: zoom-in;
    background-color: transparent;

    &:hover {
      background-color: transparent;
    }
  }

  slideshow-slide.product-media-container--tallest {
    content-visibility: visible;
  }

  .product-media__drag-zoom-wrapper {
    aspect-ratio: inherit;
    min-height: inherit;
    min-width: inherit;
    display: inherit;
    flex: inherit;
  }

  .media-gallery__mobile-controls {
    grid-area: auto;
  }

  .product-media-container--zoomable.product-media-container--image {
    cursor: zoom-in;
  }
/* END_SNIPPET:product-media-gallery-content-styles */

/* START_SNIPPET:quick-add-modal-styles (INDEX:157) */
#quick-add-dialog {
    display: contents;
  }

  @media screen and (min-width: 750px) {
    .quick-add-modal {
      width: var(--quick-add-modal-width);
      height: var(--quick-add-modal-height);
      max-width: none;
    }
  }

  .quick-add-modal {
    padding: 0;
    border: var(--style-border-popover);
    overflow: hidden;
    box-shadow: 0 5px 30px rgb(0 0 0 / var(--opacity-15));

    @media screen and (max-width: 749px) {
      position: fixed;
      margin: auto 0 0 0;
      min-height: unset;
      max-width: 100%;
      border-radius: 0;
      overflow: clip;
      height: fit-content;
    }
  }

  .quick-add-modal[open] {
    @media screen and (max-width: 750px) {
      border-top-left-radius: var(--style-border-radius-popover);
      border-top-right-radius: var(--style-border-radius-popover);
    }
  }

  .quick-add-modal[open] {
    @media screen and (min-width: 750px) {
      display: flex;
    }
  }

  .quick-add-modal .view-more-details__wrapper {
    @media screen and (max-width: 749px) {
      display: none;
    }
  }

  .quick-add-modal[open] {
    animation: modalSlideInTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .quick-add-modal.dialog-closing {
    animation: modalSlideOutTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .quick-add-modal__close {
    position: absolute;
    top: var(--margin-2xs);
    right: var(--margin-2xs);
    transition: transform 0.15s var(--animation-timing-bounce);
    z-index: var(--layer-raised);
    overflow: visible;
    transform-origin: center;
  }

  .quick-add-modal__close:active {
    transform: scale(0.99) translateY(1px);
  }

  .quick-add-modal__close {
    &:focus-visible {
      outline: none;
    }

    &:focus-visible::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: calc(var(--style-border-radius-popover) - var(--margin-2xs));
      outline: var(--focus-outline-width) solid currentColor;
    }
  }

  .quick-add-modal__content {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: 100% 1fr;
    position: relative;
    overflow-y: auto;
    max-height: 100vh;
    flex-grow: 1;

    @media screen and (max-width: 749px) {
      grid-template-columns: repeat(4, 1fr);
      grid-template-rows: auto;
      padding-inline: var(--padding-xl);
      padding-block: var(--padding-xl);
      gap: var(--gap-lg);
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      height: auto; /* Prevent a bug in Safari where height:fit-content is not respected */
      max-height: 100vh;
    }
  }

  .quick-add-modal__content .media-gallery--grid .media-gallery__grid {
    grid-template-columns: 1fr;
  }

  .quick-add-modal__content .media-gallery--grid.media-gallery--two-column .product-media-container:first-child {
    grid-column: auto;
  }

  .quick-add-modal__content {
    /* One column */
    .media-gallery--grid:not(.media-gallery--two-column) .product-media > *,
      /* Two column, small first image */
      .media-gallery--grid.media-gallery--two-column:not(.media-gallery--large-first-image)
      .product-media-container:nth-of-type(odd)
      .product-media > *,
      /* Two column, large first image */
      .media-gallery--grid.media-gallery--two-column.media-gallery--large-first-image
        .product-media-container:is(:first-of-type, :nth-of-type(even))
        .product-media > *,
        /* Carousel */
      .media-gallery--carousel slideshow-container {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }
  }

  .quick-add-modal__content .view-more-details__wrapper {
    display: flex;
    justify-content: flex-start;
    width: 100%;
  }

  .view-more-details__wrapper .view-more-details {
    display: flex;
    align-items: center;
    width: fit-content;
  }

  .quick-add-modal__content .product-header {
    @media screen and (max-width: 749px) {
      display: flex;
      flex-direction: column;
      grid-column: 2 / -1;
      grid-row: 1;
      padding-right: var(--padding-2xl);
    }
  }

  .quick-add-modal__content .product-header a:not(product-price *) {
    @media screen and (max-width: 749px) {
      font-size: var(--font-size--md);
      font-weight: 500;
      color: inherit;
      width: fit-content;
    }
  }

  .quick-add-modal__content variant-picker,
  .quick-add-modal__content product-form-component {
    @media screen and (max-width: 749px) {
      grid-column: 1 / -1;
    }
  }

  .quick-add-modal__content .product-media-container__zoom-button {
    cursor: default;
  }

  .quick-add-modal__content .product-details {
    grid-column: 4 / -1;
    grid-row: 1 / span 2;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    position: relative;

    dialog[open] & {
      animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
      animation-delay: 0.1s;
    }

    @media screen and (max-width: 749px) {
      grid-column: 2 / span 2;
      grid-row: span 1;
      max-height: 100%;
      height: 100%;
    }
  }

  @property --quick-add-modal-mask-start {
    syntax: '<length>';
    initial-value: 0px;
    inherits: false;
  }

  @property --quick-add-modal-mask-end {
    syntax: '<length>';
    initial-value: 0px;
    inherits: true;
  }

  @keyframes detect-scroll {
    from,
    to {
      --can-scroll: ;
    }
  }

  @supports (animation-timeline: scroll(self)) {
    dialog[open] .quick-add-modal__content .product-details {
      mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--quick-add-modal-mask-start), #000 100%);
      animation: 0.3s var(--animation-timing-fade-in) 0.1s both fadeSlideIn, scrollStart 1s linear both,
        scrollEnd 1s linear both, detect-scroll 1ms linear none;
      animation-timeline: auto, scroll(self), scroll(self), scroll(self);
      animation-range: normal, 0px 48px, calc(100% - 48px) 100%, 0% 100%;
    }
  }

  @keyframes scrollStart {
    from {
      --quick-add-modal-mask-start: 0px;
    }
    to {
      --quick-add-modal-mask-start: 48px;
    }
  }

  @keyframes scrollEnd {
    from {
      --quick-add-modal-mask-end: 0px;
    }
    to {
      --quick-add-modal-mask-end: 48px;
    }
  }

  .quick-add-modal__content .product-details > .group-block {
    flex-grow: 1;
    width: auto;
  }

  .quick-add-modal__content > * {
    min-height: 0;
  }

  .quick-add-modal__content .product-details :is(.view-product-title, .buy-buttons-block) {
    flex: 0 0 auto;
  }
  .quick-add-modal__content .product-details :is(.buy-buttons-block) {
    margin-top: auto;
    position: sticky;
    bottom: 0;
    padding-bottom: var(--padding-3xl);
    background-color: var(--color-background);
    z-index: var(--layer-raised);

    &::before {
      --quick-add-modal-mask-end-progressive-enhanced: 0px;

      position: absolute;
      content: '';
      display: block;
      inset: auto 0 100% 0;
      pointer-events: none;
      height: min(var(--gap-2xl), var(--gap));
      background-color: inherit;
      mask-image: linear-gradient(
        to top,
        #000 0%,
        #000 calc(var(--gap-2xs)),
        transparent calc(100% - var(--quick-add-modal-mask-end-progressive-enhanced)),
        transparent
      );
    }
  }

  .quick-add-modal__content .product-details .buy-buttons-block:has(gift-card-recipient-form) {
    position: static;
    padding-bottom: 0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
  }

  .quick-add-modal__content .product-details .buy-buttons-block:has(gift-card-recipient-form) > product-form-component {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
  }

  .quick-add-modal__content .product-details .buy-buttons-block:has(gift-card-recipient-form) form {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
  }

  .quick-add-modal__content .product-details .buy-buttons-block:has(gift-card-recipient-form)::before {
    display: none;
  }

  .quick-add-modal__content .product-details .buy-buttons-block__bar {
    display: block;
    position: sticky;
    bottom: 0;
    margin-top: auto;
    padding-block: var(--gap-md) var(--padding-3xl);
    background-color: var(--color-background);
    z-index: var(--layer-raised);

    &::before {
      --quick-add-modal-mask-end-progressive-enhanced: 0px;

      position: absolute;
      content: '';
      display: block;
      inset: auto 0 100% 0;
      pointer-events: none;
      height: min(var(--gap-2xl), var(--gap));
      background-color: inherit;
      mask-image: linear-gradient(
        to top,
        #000 0%,
        #000 calc(var(--gap-2xs)),
        transparent calc(100% - var(--quick-add-modal-mask-end-progressive-enhanced)),
        transparent
      );
    }
  }

  @supports (animation-timeline: scroll(self)) {
    .quick-add-modal__content .product-details :is(.buy-buttons-block)::before,
    .quick-add-modal__content .product-details .buy-buttons-block__bar::before {
      --mask-if-scroll: var(--can-scroll) var(--quick-add-modal-mask-end);
      --mask-if-no-scroll: 48px;
      --quick-add-modal-mask-end-progressive-enhanced: var(--mask-if-scroll, var(--mask-if-no-scroll));
      height: calc(var(--gap-2xs) + 48px);
    }
  }

  .quick-add-modal__content .product-details .variant-picker {
    flex: 0 0 auto;

    padding-block: min(var(--gap-2xl), var(--gap));
    margin-block-end: calc(var(--focus-outline-offset) + var(--focus-outline-width));
  }

  .quick-add-modal__content .variant-option--swatches {
    padding-inline-start: var(--padding-2xs);
  }

  .quick-add-modal__content .variant-option--swatches legend {
    margin-inline-start: calc(-1 * var(--padding-2xs));
  }

  .quick-add-modal__content:not(:has(.product-information__media)) .product-details {
    grid-column: 1 / -1;
  }

  .quick-add-modal__content .view-product-title {
    display: flex;
    padding-block: 0;
    margin-block-end: 12px;

    /* Prevent overlap between title and close button */
    padding-inline-end: calc(var(--padding-2xl) + calc(var(--minimum-touch-target) / 2));
  }

  .quick-add-modal__content .view-product-title a {
    color: inherit;
    text-decoration: none;
    text-align: left;
    font-size: var(--font-size--2xl);
    font-weight: 600;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color 0.2s var(--animation-easing);
  }

  .quick-add-modal__content .product-details product-price {
    --text-align: left;
  }

  .quick-add-modal__content .product-details product-price.text-block--align-center {
    margin-inline: 0;
  }

  .quick-add-modal__content .product-details product-price.text-center {
    --text-align: left;
  }

  .quick-add-modal__content .product-details product-price > * {
    text-align: left;
  }

  .quick-add-modal__content
    .product-details
    *:not(
      .group-block,
      .group-block-content,
      .buy-buttons-block,
      .buy-buttons-block *,
      .view-product-title,
      .view-product-title *,
      variant-picker,
      variant-picker *,
      product-price,
      product-price *,
      product-inventory,
      product-inventory *,
      .view-more-details__wrapper,
      .view-more-details__wrapper *
    ) {
    @media screen and (min-width: 750px) {
      /* stylelint-disable-next-line declaration-no-important */
      display: none !important;
    }
  }

  .quick-add-modal__content
    .group-block:not(
      :has(
          .buy-buttons-block,
          .buy-buttons-block *,
          .view-product-title,
          .view-product-title *,
          variant-picker,
          variant-picker *,
          product-price,
          product-price *,
          product-inventory,
          product-inventory *,
          .view-more-details__wrapper,
          .view-more-details__wrapper *
        ),
      .buy-buttons-block
    ) {
    display: none;
  }

  @media screen and (min-width: 750px) {
    .quick-add-modal__content .group-block-content {
      gap: 0;
    }

    .quick-add-modal__content .media-gallery__grid {
      gap: min(var(--gap-2xs), var(--image-gap));
      border-radius: var(--style-border-radius-popover, 0);
    }

    .quick-add-modal__content .media-gallery--grid .product-media img {
      border-radius: 0;
    }
  }

  .quick-add-modal__content .product-details > .group-block {
    padding-block: var(--padding-3xl) 0;
  }

  .quick-add-modal__content :where(.product-details > .group-block > .group-block-content > *) {
    padding-inline: var(--padding-3xl);
  }

  .quick-add-modal__content slideshow-slide:not([aria-hidden='false']) {
    content-visibility: auto;
  }

  .quick-add-modal__content .product-information__media {
    width: 100%;
    grid-column: 1 / span 1;
    grid-row: 1;
    position: relative;
    top: 0;
    animation: fadeIn 0.4s var(--animation-timing-fade-in) both;

    @media screen and (min-width: 750px) {
      position: sticky;
      grid-column: 1 / 4;
      width: var(--quick-add-modal-gallery-width);
      overflow-y: auto;
      -ms-overflow-style: none;
      scrollbar-width: none;
    }

    &::-webkit-scrollbar {
      display: none;
    }
  }

  .quick-add-modal__content .product-information__media media-gallery {
    pointer-events: none;

    @media screen and (min-width: 750px) {
      position: absolute;
      inset: 0;
    }
  }

  .quick-add-modal media-gallery {
    padding: 0;
  }

  .quick-add-modal__content .product-information__media slideshow-arrows {
    display: none;
  }

  .quick-add-modal__content .product-information__media slideshow-container {
    display: block;
  }

  .quick-add-modal__content .product-information__media slideshow-slides {
    display: flex;
    flex-direction: column;
    gap: var(--gap-2xs);
    overflow: visible;
    scroll-snap-type: none;
  }

  .quick-add-modal__content .product-information__media slideshow-slide {
    width: 100%;
    flex: none;
    scroll-snap-align: unset;
    position: relative;
    transform: none;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s var(--animation-easing);
  }

  .quick-add-modal__content .product-information__media slideshow-slide[aria-hidden='true'] {
    @media screen and (max-width: 749px) {
      display: none;
    }
  }

  .quick-add-modal__content .product-information__media slideshow-slide:nth-child(1) {
    animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
  }

  .quick-add-modal__content .product-information__media slideshow-slide:nth-child(2) {
    animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
    animation-delay: 0.05s;
  }

  .quick-add-modal__content .product-information__media slideshow-slide:nth-child(3) {
    animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
    animation-delay: 0.1s;
  }

  .quick-add-modal__content .product-information__media :is(slideshow-controls, slideshow-controls[thumbnails]) {
    display: none;
  }

  .quick-add-modal__content .sticky-content,
  .quick-add-modal__content .sticky-content--desktop {
    top: 0;
  }

  .quick-add-modal__content .text-block.rte:not(product-price),
  .quick-add-modal__content .view-more-details__wrapper {
    display: none;
  }

  @keyframes fadeSlideIn {
    from {
      opacity: 0;
      transform: translateY(10px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
/* END_SNIPPET:quick-add-modal-styles */

/* START_SNIPPET:resource-card (INDEX:159) */
.resource-card {
    --resource-card-secondary-image-opacity: 0;
    --resource-card-primary-image-opacity: calc(1 - var(--resource-card-secondary-image-opacity));

    display: flex;
    flex-direction: column;
    row-gap: var(--padding-xs);
    position: relative;
    text-decoration: none;
    height: 100%;
    opacity: 0;
    animation: fadeIn var(--animation-speed-medium) var(--animation-timing-fade-in) forwards;
  }

  .resource-card__link {
    position: absolute;
    inset: 0;
    z-index: 1;
  }

  .resource-card__content {
    display: flex;
    flex-direction: column;
    color: var(--color-foreground);
    gap: var(--padding-3xs);

    .price {
      font-weight: 500;
    }

    .volume-pricing-note {
      display: block;
      margin-top: var(--padding-3xs);
      font-family: var(--font-body--family);
      font-weight: normal;
      font-size: min(0.85em, var(--font-paragraph--size));
      line-height: normal;
      letter-spacing: normal;
      text-transform: none;
      color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
    }
  }

  .resource-card[data-resource-type='article'] .resource-card__content,
  .resource-card[data-resource-type='page'] .resource-card__content {
    gap: var(--padding-xs);
  }

  .resource-card__image {
    aspect-ratio: var(--resource-card-aspect-ratio, auto);
    object-fit: cover;
    border-radius: var(--resource-card-corner-radius);
    opacity: var(--resource-card-primary-image-opacity);
  }

  .resource-card__image--secondary {
    position: absolute;
    top: 0;
    opacity: var(--resource-card-secondary-image-opacity);
    border-radius: var(--resource-card-corner-radius);
  }

  .resource-card__media:empty {
    display: none;
  }

  .resource-card__image-placeholder {
    padding: var(--padding-sm);
    font-size: var(--font-size--lg);
    line-height: var(--line-height--display-loose);
    word-break: break-word;
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
    aspect-ratio: var(--resource-card-aspect-ratio, auto);
    border-radius: var(--resource-card-corner-radius);
    color: var(--color-foreground);
  }

  .resource-card__title {
    margin-block: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.3;
    word-break: break-word;
    overflow-wrap: break-word;
  }

  .resource-card__title.paragraph {
    line-height: 1.3;
  }

  .resource-card--overlay {
    height: 100%;

    &::before {
      content: '';
      position: absolute;
      inset: 50% 0 0;
      background: var(--gradient-image-overlay);
      border-radius: var(--resource-card-corner-radius);
      pointer-events: none;
      z-index: var(--layer-flat);
    }
  }

  .resource-card--overlay .resource-card__image {
    height: 100%;
  }

  .resource-card--overlay .resource-card__content {
    position: absolute;
    inset: auto 0 0;
    padding: var(--padding-lg) var(--padding-lg) var(--padding-sm);
    z-index: var(--layer-raised);
  }

  .resource-card--overlay .resource-card__title {
    color: var(--color-white);
  }

  /* Collection images */
  .resource-card__image-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--gap-2xs);
  }

  .resource-card__collection-image {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: calc(var(--card-corner-radius) - (var(--padding-xs) / 2));
  }

  .resource-card__subtext {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
    margin-block-start: 0;
  }

  .resource-card__subtext.paragraph {
    font-size: var(--font-size--body-sm);
    line-height: var(--line-height--body-tight);
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
  }

  .resource-card:has(.resource-card__image--secondary) {
    &:hover,
    &:focus {
      --resource-card-secondary-image-opacity: 1;
    }
  }
/* END_SNIPPET:resource-card */

/* START_SNIPPET:resource-list-carousel (INDEX:160) */
.resource-list__carousel {
    --slide-width: 60vw;
    width: 100%;
    position: relative;
    container-type: inline-size;
    container-name: resource-list-carousel;

    .slideshow-control[disabled] {
      display: none;
    }

    .slideshow-control--next {
      margin-inline-start: auto;
    }
  }

  @container resource-list-carousel (max-width: 749px) {
    .resource-list__carousel .resource-list__slide {
      --slide-width: clamp(150px, var(--mobile-card-size, 60cqw), var(--slide-width-max));
    }
  }

  @container resource-list-carousel (min-width: 750px) {
    .resource-list__carousel .resource-list__slide {
      --section-slide-width: calc(
        (100% - (var(--resource-list-column-gap) * (var(--column-count) - 1)) - var(--peek-next-slide-size)) /
          var(--column-count)
      );
      --fallback-slide-width: clamp(150px, var(--mobile-card-size, 60cqw), var(--slide-width-max));
      --slide-width: var(--section-slide-width, var(--fallback-slide-width));
    }
  }

  .resource-list__carousel slideshow-slides {
    gap: var(--resource-list-column-gap);

    /* Add padding to prevent hover animations from being clipped in slideshow
     15px accommodates:
     - Scale effect (9px on each side from 1.03 scale)
     - Lift effect (4px upward movement)
     - Shadow (15px spread with -5px offset)
     Using 16px for better alignment with our spacing scale */
    margin-block: -16px;
    padding-block: 16px;
  }

  .resource-list__carousel slideshow-arrows {
    padding-inline: var(--util-page-margin-offset);
  }

  .resource-list__carousel .resource-list__slide {
    width: var(--slide-width);
    flex: 0 0 auto;
    scroll-snap-align: start;
    min-width: 0;
  }

  /*
   * Resource list carousels have peeking slides on both sides.
   * We try to kick load them beforehand (they are lazy loaded otherwise).
   */
  .resource-list__carousel
    :is(
      slideshow-slide:has(+ slideshow-slide[aria-hidden='false']),
      slideshow-slide[aria-hidden='false'] + slideshow-slide
    ) {
    content-visibility: auto;

    slideshow-component[actioned] & {
      content-visibility: visible;
    }
  }
/* END_SNIPPET:resource-list-carousel */

/* START_SNIPPET:search-modal (INDEX:163) */
/* Search modal style */
  .search-modal {
    --search-border-radius: var(--style-border-radius-popover);
    --search-border-width: var(--style-border-width);
  }

  .search-modal__content {
    /* Approx set the top so when the content is at max height, the modal is centered */
    --modal-top-margin: calc(50dvh - var(--modal-max-height) / 2 - 2rem);
    --modal-width: 66dvw;

    padding: 0;
    border: var(--style-border-popover);

    @media screen and (min-width: 750px) {
      width: var(--modal-width);
      margin-block-start: var(--modal-top-margin);
      overflow: hidden;
    }
  }

  /* Hide the default dialog backdrop on small screens */
  @media screen and (max-width: 749px) {
    .search-modal__content::backdrop {
      display: none;
    }
  }

  .dialog-modal[open].search-modal__content {
    transform-origin: bottom center;
    animation: search-element-slide-in-bottom 300ms var(--ease-out-quad) forwards;
    border-radius: var(--search-border-radius);
    box-shadow: var(--shadow-popover);

    @media screen and (max-width: 749px) {
      border-radius: 0;
    }
  }

  .dialog-modal.search-modal__content.dialog-closing {
    animation: search-element-slide-out-bottom 200ms var(--ease-out-quad) forwards;
  }

  .search-modal__content[open] {
    display: flex;
  }

  .search-modal__content :is(.predictive-search-dropdown, .predictive-search-form__content-wrapper) {
    position: relative;
  }

  .dialog-modal
    .predictive-search-form__header:has(
      .predictive-search__reset-button:not(.predictive-search__reset-button[hidden])
    )::before {
    content: '';
    position: absolute;
    right: calc(var(--padding-sm) + var(--minimum-touch-target));
    top: 0;
    bottom: 0;
    width: var(--border-width-sm);
    background-color: var(--color-border);
  }

  .dialog-modal
    .predictive-search-form__header:has(.predictive-search__reset-button:not(.predictive-search__reset-button[hidden]))
    > .predictive-search__close-modal-button {
    &::before {
      content: none;
    }
  }

  @media screen and (min-width: 750px) {
    .dialog-modal
      .predictive-search-form__header:has(
        .predictive-search__reset-button:not(.predictive-search__reset-button[hidden])
      )::before {
      right: calc(var(--padding-2xl) * 2);
    }
  }

  predictive-search-component {
    --resource-card-corner-radius: var(--product-corner-radius);

    display: flex;
    width: 100%;
    position: relative;
    margin-inline: auto;
    align-items: center;
    background-color: var(--color-background);
    z-index: var(--layer-heightened);
  }

  .predictive-search-form__footer {
    display: none;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;

    @media screen and (min-width: 750px) {
      --to-top-gradient-background: linear-gradient(
        to top,
        rgb(var(--color-background-rgb) / var(--opacity-90)),
        rgb(var(--color-background-rgb) / var(--opacity-80)),
        rgb(var(--color-background-rgb) / var(--opacity-40)),
        transparent
      );

      padding-block: var(--padding-xs) var(--padding-lg);
      background-image: var(--to-top-gradient-background);
    }
  }

  predictive-search-component:has([data-search-results]):not(:has(.predictive-search-results__no-results))
    .predictive-search-form__footer {
    display: block;
  }

  .predictive-search-form {
    position: relative;
    width: 100%;
    align-self: flex-start;
  }

  .predictive-search-form__content {
    max-height: 50dvh;
    overflow-y: auto;
    background-color: var(--color-background);

    /* Firefox */
    scrollbar-width: none;

    /* Webkit browsers */
    &::-webkit-scrollbar {
      display: none;
    }
  }

  .predictive-search-form__content-wrapper {
    position: absolute;
    top: 100%;
    width: 100%;
    left: 0;
    z-index: var(--layer-raised);
    display: flex;
    flex-direction: column;
    border-radius: 0 0 var(--search-border-radius) var(--search-border-radius);
    transition: box-shadow var(--animation-speed) var(--animation-easing);
    transform: translateZ(0);
    will-change: transform, opacity;
    overflow: hidden;

    @media screen and (max-width: 749px) {
      border-radius: 0;
    }

    @media screen and (min-width: 750px) {
      max-height: var(--modal-max-height);
    }
  }

  /* Add new rule to apply bottom padding only when search button exists */
  .predictive-search-form__content-wrapper:has([data-search-results]):not(:has(.predictive-search-results__no-results))
    > .predictive-search-form__content {
    padding-block-end: var(--padding-6xl);
  }

  .predictive-search-form__header-inner {
    background: var(--color-background);
    border: var(--search-border-width) solid var(--color-border);
    color: var(--color-foreground);
    border-radius: var(--style-border-radius-popover);
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;

    @media screen and (max-width: 749px) {
      border-radius: var(--style-border-radius-inputs);
      border: none;
    }
  }

  .predictive-search-form__header-inner:focus-within {
    outline-offset: var(--focus-outline-offset);

    @media screen and (min-width: 750px) {
      outline: var(--focus-outline-width) solid var(--color-primary);
    }
  }

  .predictive-search-form__header {
    display: flex;
    position: sticky;
    top: 0;
    z-index: var(--layer-heightened);
    width: 100%;
    align-items: center;
    background-color: var(--color-input-background);
    border: var(--search-border-width) solid var(--color-border);
    border-radius: var(--style-border-radius-inputs);

    @media screen and (max-width: 749px) {
      padding: var(--padding-2xs) var(--padding-sm);
    }
  }

  .predictive-search-form__header:focus-within,
  .predictive-search-form__header-inner:focus-within,
  .predictive-search-form__header-inner:has(.search-input:is(:focus, :focus-visible)) {
    outline: none;
    box-shadow: none;
    /* stylelint-disable-next-line declaration-no-important */
    border-color: var(--color-border) !important;
  }

  input.search-input {
    border-radius: var(--style-border-radius-inputs);
    padding-block: var(--padding-sm);
    font-size: var(--font-size--md);
    width: 100%;
    color: var(--color-foreground);
    padding-inline: calc(var(--margin-lg) + var(--icon-size-lg)) 0;
    background: transparent;
    text-overflow: ellipsis;
    overflow: hidden;
    outline: none;
    border: 0;
  }

  .search-input::placeholder {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
  }

  .search-input,
  .search-input:is(:focus, :focus-visible, :focus-within),
  .predictive-search-form__header *:is(:focus, :focus-visible) {
    outline: none;
    box-shadow: none;
  }

  .search-input:hover {
    background-color: transparent;
  }

  .predictive-search__icon {
    position: absolute;
    left: var(--margin-xl);
    top: auto;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
    color: rgb(var(--color-foreground-rgb) / var(--opacity-60));

    @media screen and (min-width: 750px) {
      left: var(--margin-md);
    }
  }

  .predictive-search__icon > svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  .predictive-search__reset-button {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: var(--minimum-touch-target);
    height: var(--minimum-touch-target);
    padding: 0;
    margin-inline-end: var(--margin-md);
    background: transparent;
    color: var(--color-foreground);
    opacity: 0.68;
    transition: opacity var(--animation-speed-medium) var(--animation-timing-fade-out),
      visibility var(--animation-speed-medium) var(--animation-timing-fade-out);

    &:hover {
      color: var(--color-foreground);
    }

    &:active {
      transform: scale(0.9);
      transition: transform 100ms var(--animation-timing-active);
    }

    @media screen and (min-width: 750px) {
      margin-inline-end: var(--margin-2xs);
    }
  }

  .predictive-search__reset-button[hidden] {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
  }

  .predictive-search__reset-button-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
    transition: background-color var(--animation-speed-medium) ease-in-out,
      transform var(--animation-speed-medium) var(--animation-timing-bounce);
    border-radius: 50%;

    &:hover {
      background-color: rgb(var(--color-primary-hover-rgb) / var(--opacity-8));
    }
  }

  .predictive-search__reset-button:active .predictive-search__reset-button-icon {
    transform: scale(0.85);
    transition-timing-function: var(--animation-timing-active);
    transition-duration: 100ms;
  }

  .predictive-search__reset-button svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  .predictive-search__reset-button-text {
    display: none;
  }

  .predictive-search__search-button {
    margin: auto;
    z-index: var(--layer-raised);
    transition: transform var(--animation-speed-medium) var(--animation-timing-bounce),
      box-shadow var(--animation-speed-medium) var(--animation-timing-hover);
    transform-origin: center;

    &:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 8px rgb(0 0 0 / var(--opacity-5));
    }

    &:active {
      transform: scale(0.97);
      transition: transform 100ms var(--animation-timing-active);
      box-shadow: none;
    }
  }

  .predictive-search__close-modal-button {
    --button-color: var(--color-foreground);
    --button-background-color: transparent;

    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--minimum-touch-target);
    height: var(--minimum-touch-target);
    margin-inline-start: var(--margin-sm);
    padding: 0;
    box-shadow: none;

    &:active {
      transform: scale(0.8);
      transition: transform 100ms var(--animation-timing-active);
    }

    .svg-wrapper,
    svg {
      width: var(--icon-size-xs);
      height: var(--icon-size-xs);
    }
  }

  .predictive-search__close-modal-button:hover {
    --button-color: var(--color-foreground);
    --button-background-color: transparent;
  }
/* END_SNIPPET:search-modal */

/* START_SNIPPET:skip-to-content-link (INDEX:164) */
.skip-to-content-link {
    position: absolute;
    left: -99999px;
  }

  .skip-to-content-link:focus {
    z-index: var(--layer-temporary);
    overflow: auto;
    width: auto;
    height: auto;
    padding: var(--padding-lg) var(--padding-4xl);
    left: var(--margin-lg);
    top: var(--margin-lg);
    background-color: var(--color-background);
    box-shadow: 0 0 0 var(--focus-outline-offset) var(--color-background);
  }
/* END_SNIPPET:skip-to-content-link */

/* START_SNIPPET:slideshow-arrow (INDEX:165) */
.slideshow-control--large {
    .icon-caret {
      --icon-stroke-width: 1px;
    }

    .icon-caret {
      --icon-stroke-width: 1px;
    }

    .svg-wrapper,
    svg {
      width: var(--slideshow-controls-icon);
      height: var(--slideshow-controls-icon);
    }
  }

  /* Slideshow control shape styles */
  .slideshow-control.slideshow-control--shape-square,
  .slideshow-control.slideshow-control--shape-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    background-color: var(--color-primary-button-background);
    color: var(--color-primary-button-text);
  }

  .slideshow-control.slideshow-control--shape-circle {
    border-radius: 50%;
  }

  .slideshow-control.slideshow-control--shape-square {
    border-radius: 0;
  }

  .slideshow-control .icon-caret {
    rotate: -90deg;
  }
/* END_SNIPPET:slideshow-arrow */

/* START_SNIPPET:slideshow-arrows (INDEX:166) */
slideshow-arrows {
    --cursor-previous: w-resize;
    --cursor-next: e-resize;

    position: absolute;
    inset: 0;
    display: flex;
    z-index: var(--layer-heightened);
    pointer-events: none;
    mix-blend-mode: difference;
    align-items: flex-end;

    &[position='left'] {
      justify-content: flex-start;
      padding-inline: var(--padding-xs);
    }

    &[position='right'] {
      justify-content: flex-end;
      padding-inline: var(--padding-xs);
    }

    &[position='center'] {
      justify-content: space-between;
      align-items: center;
    }
  }

  slideshow-arrows:has(.slideshow-control--shape-square),
  slideshow-arrows:has(.slideshow-control--shape-circle) {
    mix-blend-mode: normal;
  }

  slideshow-component[disabled='true'] slideshow-arrows {
    display: none;
  }

  slideshow-arrows .slideshow-control {
    pointer-events: auto;
    opacity: 0;
    min-height: var(--minimum-touch-target);
    min-width: var(--minimum-touch-target);
    padding: 0 var(--padding-xs);
    color: var(--color-white);
  }

  slideshow-arrows .slideshow-control.slideshow-control--style-none {
    display: none;
  }
/* END_SNIPPET:slideshow-arrows */

/* START_SNIPPET:slideshow-styles (INDEX:168) */
/*
   * Slideshow Component
   */
  slideshow-component {
    --cursor: grab;
    --slide-offset: 6px;

    position: relative;
    display: flex;
    flex-direction: column;
    timeline-scope: var(--slideshow-timeline);
  }

  .slideshow--single-media {
    --cursor: default;
  }

  a slideshow-component {
    --cursor: pointer;
  }

  slideshow-component [data-placeholder='true'] * {
    cursor: grab;
  }

  /*
   * Slideshow Slides
   */
  slideshow-slides {
    width: 100%;
    position: relative;
    display: flex;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-color: transparent transparent;
    scrollbar-width: none;
    gap: var(--slideshow-gap, 0);
    cursor: var(--cursor);
    min-height: var(--slide-min-height);
    align-items: var(--slideshow-align-items, normal);

    @media (prefers-reduced-motion) {
      scroll-behavior: auto;
    }

    &::-webkit-scrollbar {
      width: 0;
    }

    &::-webkit-scrollbar-track {
      background: transparent;
    }

    &::-webkit-scrollbar-thumb {
      background: transparent;
      border: none;
    }

    @media screen and (min-width: 750px) {
      min-height: var(--slide-min-height-desktop);
    }
  }

  .slideshow--stretch-content slideshow-slides > * {
    height: auto;
  }

  slideshow-component[disabled='true'] slideshow-slides {
    overflow: hidden;
  }

  /**
   * By default, slideshows have overflow: hidden (no compositor layer).
   * When the slideshow enters the viewport, JavaScript adds [in-viewport] which enables scrolling.
   */
  slideshow-component:not([in-viewport]) slideshow-slides {
    overflow: hidden;
  }

  slideshow-component[mobile-disabled] slideshow-slides {
    @media screen and (max-width: 749px) {
      overflow: hidden;
    }
  }

  slideshow-slides[gutters*='start'] {
    padding-inline-start: var(--gutter-slide-width, 0);
    scroll-padding-inline-start: var(--gutter-slide-width, 0);
  }

  slideshow-slides[gutters*='end'] {
    padding-inline-end: var(--gutter-slide-width, 0);
  }

  slideshow-component[dragging] {
    --cursor: grabbing;

    * {
      pointer-events: none;
    }
  }

  slideshow-component[dragging] slideshow-arrows {
    display: none;
  }

  slideshow-container {
    width: 100%;
    display: block;
    position: relative;
    grid-area: container;
    container-type: inline-size;
    background-color: var(--color-background);
  }

  /*
   * Be specific about HTML children structure to avoid targeting nested slideshows.
   * Ensure that the content is 'visible' while scrolling instead of 'auto' to avoid issues in Safari.
   */
  slideshow-component:is([dragging], [transitioning], :hover) > slideshow-container > slideshow-slides > slideshow-slide {
    content-visibility: visible;
  }

  @keyframes slide-reveal {
    0% {
      translate: calc(var(--slideshow-slide-offset, 6) * 1rem) 0;
      opacity: 0;
    }

    50% {
      opacity: 1;
    }

    100% {
      translate: calc(var(--slideshow-slide-offset, 6) * -1rem) 0;
      opacity: 0;
    }
  }

  /*
   * Slideshow Slide
   */
  slideshow-slide {
    position: relative;
    scroll-snap-align: center;
    width: var(--slide-width, 100%);
    max-height: 100%;
    flex-shrink: 0;
    view-timeline-name: var(--slideshow-timeline);
    view-timeline-axis: inline;
    content-visibility: auto;
    contain-intrinsic-size: auto none;
    border-radius: var(--corner-radius, 0);
    overflow: hidden;

    slideshow-component[actioned] &,
    &[aria-hidden='false'] {
      content-visibility: visible;
    }

    slideshow-component slideshow-slide:not([aria-hidden='false']) {
      content-visibility: hidden;
    }

    &[hidden]:not([reveal]) {
      display: none;
    }

    /* Make inactive slides appear clickable */
    &[aria-hidden='true'] {
      cursor: pointer;
    }
  }

  slideshow-slide .shopify-model-viewer-ui__controls-area.shopify-model-viewer-ui__controls-area {
    bottom: var(--padding-sm);
    right: var(--padding-sm);
  }

  slideshow-component.slideshow--content-below-media slideshow-slide {
    display: grid;
  }

  .slideshow--content-below-media slideshow-slide :is(.slide__image-container, .slide__content) {
    position: static;
  }

  .slideshow--content-below-media slideshow-slide {
    grid-template-rows: var(--grid-template-rows);

    @media screen and (min-width: 750px) {
      grid-template-rows: var(--grid-template-rows-desktop);
    }
  }
/* END_SNIPPET:slideshow-styles */