/** Shopify CDN: Minification failed

Line 498:0 All "@import" rules must come first
Line 499:2 All "@import" rules must come first
Line 1020:0 All "@import" rules must come first
Line 1021:2 All "@import" rules must come first
Line 1022:2 All "@import" rules must come first
Line 1540:0 All "@import" rules must come first
Line 1541:2 All "@import" rules must come first
Line 1805:0 All "@import" rules must come first
Line 1806:2 All "@import" rules must come first
Line 2042:0 All "@import" rules must come first
... and 44 more hidden warnings

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:cart-editorial (INDEX:4) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .cep {
    --cep-bg: #f5efe2;
    --cep-fg: #1a1713;
    --cep-muted: #726653;
    --cep-accent: #7a1f1a;
    --cep-band-bg: #1a1713;
    --cep-band-fg: #f5efe2;
    --cep-gold: #d4a84a;
    --cep-line: rgba(26, 23, 19, 0.2);
    background: var(--cep-bg);
    color: var(--cep-fg);
    font-family: 'Inter', sans-serif;
  }
  .cep *,
  .cep *::before,
  .cep *::after { box-sizing: border-box; }

  .cep__wrap {
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 56px;
    padding-right: 56px;
  }

  /* ── Hero ── */
  .cep__hero { padding-top: 56px; padding-bottom: 48px; }
  .cep__eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--cep-accent);
    margin-bottom: 18px;
  }
  .cep__title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(56px, 9vw, 110px);
    line-height: 0.88;
    font-weight: 400;
    letter-spacing: -0.03em;
    margin: 0;
    color: var(--cep-fg);
  }
  .cep__title em { font-style: italic; }

  /* ── Ledger ── */
  .cep__ledger { margin: 0; border-top: 1px solid var(--cep-line); }
  .cep__heads {
    display: grid;
    grid-template-columns: 90px 1fr 180px 140px 56px;
    gap: 28px;
    padding: 14px 56px;
    max-width: 1400px;
    margin: 0 auto;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--cep-muted);
    font-weight: 600;
    border-bottom: 1px solid var(--cep-line);
  }
  .cep__heads-total { text-align: right; }
  .cep__rows { list-style: none; margin: 0; padding: 0; }
  .cep__row {
    display: grid;
    grid-template-columns: 90px 1fr 180px 140px 56px;
    gap: 28px;
    padding: 28px 56px;
    max-width: 1400px;
    margin: 0 auto;
    align-items: center;
    border-bottom: 1px solid var(--cep-line);
  }
  .cep__row--locked { opacity: 0.5; cursor: progress; }

  .cep__cover { width: 90px; }
  .cep__cover-img { display: block; width: 100%; height: auto; }

  .cep__item-title {
    display: inline-block;
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: 28px;
    font-weight: 400;
    font-style: italic;
    line-height: 1.05;
    margin-bottom: 6px;
    color: var(--cep-fg);
    text-decoration: none;
  }
  .cep__item-title:hover { color: var(--cep-accent); }
  .cep__item-meta {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 16px;
    font-style: italic;
    color: var(--cep-muted);
  }
  .cep__item-props { margin-top: 8px; font-size: 12px; }
  .cep__item-prop {
    display: block;
    color: #b6791c;
    letter-spacing: 0.04em;
    font-weight: 500;
  }
  .cep__item-prop a { color: inherit; text-decoration: underline; }
  .cep__item-discounts {
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
    font-size: 13px;
    color: var(--cep-accent);
  }
  .cep__item-error { margin: 8px 0 0; font-size: 13px; color: var(--cep-accent); }

  .cep__stepper {
    display: inline-flex;
    border: 1px solid var(--cep-fg);
  }
  .cep__stepper-btn {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--cep-fg);
    padding: 10px;
  }
  .cep__stepper-btn .theme-icon { width: 14px; height: 14px; }
  .cep__stepper-input {
    width: 44px;
    height: 36px;
    min-width: 0;
    text-align: center;
    border: none;
    border-left: 1px solid var(--cep-fg);
    border-right: 1px solid var(--cep-fg);
    background: transparent;
    color: var(--cep-fg);
    font-family: 'Fraunces', serif;
    font-size: 15px;
    -moz-appearance: textfield;
  }
  .cep__stepper-input::-webkit-outer-spin-button,
  .cep__stepper-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

  .cep__line-total {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: 24px;
    font-weight: 500;
    text-align: right;
  }
  .cep__line-was {
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: var(--cep-muted);
  }

  .cep__remove {
    width: 36px;
    height: 36px;
    border: 1px solid var(--cep-line);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    color: var(--cep-muted);
    text-decoration: none;
    justify-self: end;
  }
  .cep__remove:hover { color: var(--cep-fg); border-color: var(--cep-fg); }

  /* ── Note + nudge row ── */
  .cep__midrow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    padding-top: 48px;
    padding-bottom: 64px;
  }
  .cep__sublabel {
    display: block;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--cep-accent);
    font-weight: 600;
    margin-bottom: 14px;
  }
  .cep__note-input {
    width: 100%;
    min-height: 110px;
    padding: 18px;
    resize: vertical;
    border: 1px solid var(--cep-line);
    background: transparent;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 17px;
    color: var(--cep-fg);
    outline: none;
  }
  .cep__aside {
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: center;
  }
  .cep__aside--full { grid-column: 1 / -1; max-width: 640px; }
  .cep__nudge-copy {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 16px;
    color: var(--cep-fg);
    margin-bottom: 10px;
  }
  .cep__nudge-track { height: 3px; background: var(--cep-line); position: relative; }
  .cep__nudge-fill {
    position: absolute;
    inset: 0 auto 0 0;
    background: var(--cep-accent);
    transition: width 0.4s ease;
  }
  .cep__pickup {
    display: flex;
    gap: 10px;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 16px;
    color: #3c342a;
  }
  .cep__pickup-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #3a6a3a;
    flex-shrink: 0;
    margin-top: 7px;
  }

  /* ── Dark summary band ── */
  .cep__band {
    background: var(--cep-band-bg);
    color: var(--cep-band-fg);
    padding: 72px 0;
  }
  .cep__band-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 80px;
    align-items: center;
  }
  .cep__band-eyebrow {
    font-size: 11px;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    color: var(--cep-gold);
    font-weight: 600;
    margin-bottom: 18px;
  }
  .cep__band-discounts { margin: 0 0 12px; }
  .cep__band-discount {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    font-size: 14px;
    color: var(--cep-gold);
    margin: 0;
  }
  .cep__band-discount dt,
  .cep__band-discount dd { margin: 0; }
  .cep__band-total {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(48px, 7vw, 76px);
    font-weight: 400;
    font-style: italic;
    line-height: 1;
  }
  .cep__band-tax {
    margin-top: 14px;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 16px;
    color: color-mix(in srgb, var(--cep-band-fg) 60%, transparent);
  }
  .cep__band-tax a { color: inherit; text-decoration: underline; }

  .cep__band-right {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 360px;
    max-width: 100%;
  }
  .cep__installments { margin-bottom: 4px; }
  .cep__checkout {
    background: var(--cep-gold);
    color: #0a0806;
    border: none;
    padding: 20px 28px;
    font-size: 13px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 700;
    cursor: pointer;
    width: 100%;
  }
  .cep__checkout:hover { filter: brightness(1.06); }
  .cep__update {
    display: none;
    background: transparent;
    color: var(--cep-band-fg);
    border: 1px solid color-mix(in srgb, var(--cep-band-fg) 40%, transparent);
    padding: 14px 24px;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
    width: 100%;
  }
  .cep__continue {
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-align: center;
    margin-top: 8px;
    color: color-mix(in srgb, var(--cep-band-fg) 70%, transparent);
    text-decoration: none;
  }
  .cep__continue:hover { color: var(--cep-band-fg); }
  .cep__band-errors { margin-top: 4px; color: var(--cep-gold); font-size: 14px; }

  /* ── Empty state ── */
  .cep__empty { text-align: center; padding: 90px 56px; }
  .cep__empty-heading {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(36px, 5vw, 56px);
    font-style: italic;
    font-weight: 400;
    margin-bottom: 14px;
  }
  .cep__empty-sub {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 18px;
    color: var(--cep-muted);
    margin: 0 0 32px;
  }
  .cep__empty-btn {
    display: inline-block;
    background: var(--cep-fg);
    color: var(--cep-bg);
    border: none;
    padding: 16px 36px;
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: none;
  }

  /* ── Upsell ── */
  .cep__upsell {
    background: color-mix(in srgb, var(--cep-fg) 6%, var(--cep-bg));
    padding: 72px 0;
  }
  .cep__upsell-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(32px, 4vw, 44px);
    font-weight: 400;
    font-style: italic;
    margin: 0 0 40px;
  }
  .cep__upsell-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
  }
  .cep__upsell-img { display: block; width: 100%; height: auto; }
  .cep__upsell-row {
    margin-top: 14px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
  }
  .cep__upsell-name {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.15;
    color: var(--cep-fg);
    text-decoration: none;
  }
  .cep__upsell-name:hover { color: var(--cep-accent); }
  .cep__upsell-price {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 14px;
    font-style: italic;
    color: var(--cep-muted);
  }
  .cep__upsell-form { margin: 0; }
  .cep__upsell-add {
    border: 1px solid var(--cep-fg);
    background: transparent;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0;
    color: var(--cep-fg);
  }
  .cep__upsell-add:hover { background: var(--cep-fg); color: var(--cep-bg); }

  .no-js .cep__update { display: block; }

  /* ── Responsive ── */
  @media (max-width: 1024px) {
    .cep__wrap { padding-left: 32px; padding-right: 32px; }
    .cep__heads { padding-left: 32px; padding-right: 32px; }
    .cep__row { padding-left: 32px; padding-right: 32px; }
    .cep__upsell-grid { grid-template-columns: repeat(2, 1fr); }
  }

  @media (max-width: 768px) {
    .cep__heads { display: none; }
    .cep__row {
      grid-template-columns: 72px 1fr;
      grid-template-areas:
        'cover info'
        'cover qty'
        'total total';
      gap: 8px 20px;
      row-gap: 16px;
    }
    .cep__cover { grid-area: cover; width: 72px; }
    .cep__info { grid-area: info; }
    .cep__qty { grid-area: qty; }
    .cep__line-total { grid-area: total; text-align: left; }
    .cep__remove {
      grid-area: info;
      justify-self: end;
      align-self: start;
      width: 30px;
      height: 30px;
      font-size: 16px;
    }
    .cep__item-title { font-size: 22px; }
    .cep__midrow {
      grid-template-columns: 1fr;
      gap: 40px;
      padding-bottom: 48px;
    }
    .cep__aside--full { max-width: none; }
    .cep__band { padding: 48px 0; }
    .cep__band-inner { grid-template-columns: 1fr; gap: 36px; }
    .cep__band-right { width: 100%; }
  }

  @media (max-width: 600px) {
    .cep__wrap { padding-left: 20px; padding-right: 20px; }
    .cep__row { padding-left: 20px; padding-right: 20px; }
    .cep__upsell-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  }
/* END_SECTION:cart-editorial */

/* START_SECTION:cart-items (INDEX:7) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .cep {
    --cep-bg: #f5efe2;
    --cep-fg: #1a1713;
    --cep-muted: #726653;
    --cep-accent: #7a1f1a;
    --cep-band-bg: #1a1713;
    --cep-band-fg: #f5efe2;
    --cep-gold: #d4a84a;
    --cep-line: rgba(26, 23, 19, 0.2);
    background: var(--cep-bg);
    color: var(--cep-fg);
    font-family: 'Inter', sans-serif;
  }
  .cep *,
  .cep *::before,
  .cep *::after { box-sizing: border-box; }

  .cep__wrap {
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 56px;
    padding-right: 56px;
  }

  /* ── Hero ── */
  .cep__hero { padding-top: 56px; padding-bottom: 48px; }
  .cep__eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--cep-accent);
    margin-bottom: 18px;
  }
  .cep__title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(56px, 9vw, 110px);
    line-height: 0.88;
    font-weight: 400;
    letter-spacing: -0.03em;
    margin: 0;
    color: var(--cep-fg);
  }
  .cep__title em { font-style: italic; }

  /* ── Ledger ── */
  .cep__ledger { margin: 0; border-top: 1px solid var(--cep-line); }
  .cep__heads {
    display: grid;
    grid-template-columns: 90px 1fr 180px 140px 56px;
    gap: 28px;
    padding: 14px 56px;
    max-width: 1400px;
    margin: 0 auto;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--cep-muted);
    font-weight: 600;
    border-bottom: 1px solid var(--cep-line);
  }
  .cep__heads-total { text-align: right; }
  .cep__rows { list-style: none; margin: 0; padding: 0; }
  .cep__row {
    display: grid;
    grid-template-columns: 90px 1fr 180px 140px 56px;
    gap: 28px;
    padding: 28px 56px;
    max-width: 1400px;
    margin: 0 auto;
    align-items: center;
    border-bottom: 1px solid var(--cep-line);
  }
  .cep__row--locked { opacity: 0.5; cursor: progress; }

  .cep__cover { width: 90px; }
  .cep__cover-img { display: block; width: 100%; height: auto; }

  .cep__item-title {
    display: inline-block;
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: 28px;
    font-weight: 400;
    font-style: italic;
    line-height: 1.05;
    margin-bottom: 6px;
    color: var(--cep-fg);
    text-decoration: none;
  }
  .cep__item-title:hover { color: var(--cep-accent); }
  .cep__item-meta {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 16px;
    font-style: italic;
    color: var(--cep-muted);
  }
  .cep__item-props { margin-top: 8px; font-size: 12px; }
  .cep__item-prop {
    display: block;
    color: #b6791c;
    letter-spacing: 0.04em;
    font-weight: 500;
  }
  .cep__item-prop a { color: inherit; text-decoration: underline; }
  .cep__item-discounts {
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
    font-size: 13px;
    color: var(--cep-accent);
  }
  .cep__item-error { margin: 8px 0 0; font-size: 13px; color: var(--cep-accent); }

  .cep__stepper {
    display: inline-flex;
    border: 1px solid var(--cep-fg);
  }
  .cep__stepper-btn {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--cep-fg);
    padding: 10px;
  }
  .cep__stepper-btn .theme-icon { width: 14px; height: 14px; }
  .cep__stepper-input {
    width: 44px;
    height: 36px;
    min-width: 0;
    text-align: center;
    border: none;
    border-left: 1px solid var(--cep-fg);
    border-right: 1px solid var(--cep-fg);
    background: transparent;
    color: var(--cep-fg);
    font-family: 'Fraunces', serif;
    font-size: 15px;
    -moz-appearance: textfield;
  }
  .cep__stepper-input::-webkit-outer-spin-button,
  .cep__stepper-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

  .cep__line-total {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: 24px;
    font-weight: 500;
    text-align: right;
  }
  .cep__line-was {
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: var(--cep-muted);
  }

  .cep__remove {
    width: 36px;
    height: 36px;
    border: 1px solid var(--cep-line);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    color: var(--cep-muted);
    text-decoration: none;
    justify-self: end;
  }
  .cep__remove:hover { color: var(--cep-fg); border-color: var(--cep-fg); }

  /* ── Note + nudge row ── */
  .cep__midrow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    padding-top: 48px;
    padding-bottom: 64px;
  }
  .cep__sublabel {
    display: block;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--cep-accent);
    font-weight: 600;
    margin-bottom: 14px;
  }
  .cep__note-input {
    width: 100%;
    min-height: 110px;
    padding: 18px;
    resize: vertical;
    border: 1px solid var(--cep-line);
    background: transparent;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 17px;
    color: var(--cep-fg);
    outline: none;
  }
  .cep__aside {
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: center;
  }
  .cep__aside--full { grid-column: 1 / -1; max-width: 640px; }
  .cep__nudge-copy {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 16px;
    color: var(--cep-fg);
    margin-bottom: 10px;
  }
  .cep__nudge-track { height: 3px; background: var(--cep-line); position: relative; }
  .cep__nudge-fill {
    position: absolute;
    inset: 0 auto 0 0;
    background: var(--cep-accent);
    transition: width 0.4s ease;
  }
  .cep__pickup {
    display: flex;
    gap: 10px;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 16px;
    color: #3c342a;
  }
  .cep__pickup-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #3a6a3a;
    flex-shrink: 0;
    margin-top: 7px;
  }

  /* ── Dark summary band ── */
  .cep__band {
    background: var(--cep-band-bg);
    color: var(--cep-band-fg);
    padding: 72px 0;
  }
  .cep__band-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 80px;
    align-items: center;
  }
  .cep__band-eyebrow {
    font-size: 11px;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    color: var(--cep-gold);
    font-weight: 600;
    margin-bottom: 18px;
  }
  .cep__band-discounts { margin: 0 0 12px; }
  .cep__band-discount {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    font-size: 14px;
    color: var(--cep-gold);
    margin: 0;
  }
  .cep__band-discount dt,
  .cep__band-discount dd { margin: 0; }
  .cep__band-total {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(48px, 7vw, 76px);
    font-weight: 400;
    font-style: italic;
    line-height: 1;
  }
  .cep__band-tax {
    margin-top: 14px;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 16px;
    color: color-mix(in srgb, var(--cep-band-fg) 60%, transparent);
  }
  .cep__band-tax a { color: inherit; text-decoration: underline; }

  .cep__band-right {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 360px;
    max-width: 100%;
  }
  .cep__installments { margin-bottom: 4px; }
  .cep__checkout {
    background: var(--cep-gold);
    color: #0a0806;
    border: none;
    padding: 20px 28px;
    font-size: 13px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 700;
    cursor: pointer;
    width: 100%;
  }
  .cep__checkout:hover { filter: brightness(1.06); }
  .cep__update {
    display: none;
    background: transparent;
    color: var(--cep-band-fg);
    border: 1px solid color-mix(in srgb, var(--cep-band-fg) 40%, transparent);
    padding: 14px 24px;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
    width: 100%;
  }
  .cep__continue {
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-align: center;
    margin-top: 8px;
    color: color-mix(in srgb, var(--cep-band-fg) 70%, transparent);
    text-decoration: none;
  }
  .cep__continue:hover { color: var(--cep-band-fg); }
  .cep__band-errors { margin-top: 4px; color: var(--cep-gold); font-size: 14px; }

  /* ── Empty state ── */
  .cep__empty { text-align: center; padding: 90px 56px; }
  .cep__empty-heading {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(36px, 5vw, 56px);
    font-style: italic;
    font-weight: 400;
    margin-bottom: 14px;
  }
  .cep__empty-sub {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 18px;
    color: var(--cep-muted);
    margin: 0 0 32px;
  }
  .cep__empty-btn {
    display: inline-block;
    background: var(--cep-fg);
    color: var(--cep-bg);
    border: none;
    padding: 16px 36px;
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: none;
  }

  /* ── Upsell ── */
  .cep__upsell {
    background: color-mix(in srgb, var(--cep-fg) 6%, var(--cep-bg));
    padding: 72px 0;
  }
  .cep__upsell-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin-bottom: 40px;
  }
  .cep__upsell-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(32px, 4vw, 44px);
    font-weight: 400;
    font-style: italic;
    margin: 0;
  }
  .cep__upsell-refresh {
    background: transparent;
    border: none;
    padding: 0 0 2px;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--cep-accent);
    border-bottom: 1px solid currentColor;
  }
  .cep__upsell-refresh:hover { opacity: 0.7; }
  .cep__upsell-card[hidden] { display: none; }
  .cep__upsell-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
  }
  .cep__upsell-img { display: block; width: 100%; height: auto; }
  .cep__upsell-row {
    margin-top: 14px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
  }
  .cep__upsell-name {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.15;
    color: var(--cep-fg);
    text-decoration: none;
  }
  .cep__upsell-name:hover { color: var(--cep-accent); }
  .cep__upsell-price {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 14px;
    font-style: italic;
    color: var(--cep-muted);
  }
  .cep__upsell-soldout {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 14px;
    font-style: italic;
    color: var(--cep-muted);
    opacity: 0.8;
  }
  .cep__upsell-notify {
    flex-shrink: 0;
    align-self: center;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cep-accent);
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 1px;
    white-space: nowrap;
  }
  .cep__upsell-notify:hover { opacity: 0.7; }
  .cep__upsell-form { margin: 0; }
  .cep__upsell-add {
    border: 1px solid var(--cep-fg);
    background: transparent;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0;
    color: var(--cep-fg);
  }
  .cep__upsell-add:hover { background: var(--cep-fg); color: var(--cep-bg); }

  .no-js .cep__update { display: block; }

  /* ── Responsive ── */
  @media (max-width: 1024px) {
    .cep__wrap { padding-left: 32px; padding-right: 32px; }
    .cep__heads { padding-left: 32px; padding-right: 32px; }
    .cep__row { padding-left: 32px; padding-right: 32px; }
    .cep__upsell-grid { grid-template-columns: repeat(2, 1fr); }
  }

  @media (max-width: 768px) {
    .cep__heads { display: none; }
    .cep__row {
      grid-template-columns: 72px 1fr;
      grid-template-areas:
        'cover info'
        'cover qty'
        'total total';
      gap: 8px 20px;
      row-gap: 16px;
    }
    .cep__cover { grid-area: cover; width: 72px; }
    .cep__info { grid-area: info; }
    .cep__qty { grid-area: qty; }
    .cep__line-total { grid-area: total; text-align: left; }
    .cep__remove {
      grid-area: info;
      justify-self: end;
      align-self: start;
      width: 30px;
      height: 30px;
      font-size: 16px;
    }
    .cep__item-title { font-size: 22px; }
    .cep__midrow {
      grid-template-columns: 1fr;
      gap: 40px;
      padding-bottom: 48px;
    }
    .cep__aside--full { max-width: none; }
    .cep__band { padding: 48px 0; }
    .cep__band-inner { grid-template-columns: 1fr; gap: 36px; }
    .cep__band-right { width: 100%; }
  }

  @media (max-width: 600px) {
    .cep__wrap { padding-left: 20px; padding-right: 20px; }
    .cep__row { padding-left: 20px; padding-right: 20px; }
    .cep__upsell-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  }
/* END_SECTION:cart-items */

/* START_SECTION:contact-editorial-calm (INDEX:15) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

  .epc-contact {
    --epc-ink: #1a1713;
    --epc-mute: rgba(26, 23, 19, 0.6);
    --epc-rule: rgba(26, 23, 19, 0.15);
    --epc-gold-text: #8f6a13;
    background-color: var(--epc-content-bg) !important;
    color: var(--epc-ink);
    padding-top: var(--epc-pad-top, 0);
    padding-bottom: var(--epc-pad-bottom, 0);
    font-family: 'Inter', sans-serif;
  }
  .epc-contact .epc-contact-inner {
    max-width: 1040px;
    margin: 0 auto;
    padding-top: clamp(40px, 6vw, 88px);
    padding-bottom: clamp(40px, 6vw, 80px);
  }

  /* ── Eyebrow ── */
  .epc-contact .epc-contact-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 18px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--epc-gold-text);
  }
  .epc-contact .epc-contact-eyebrow--center {
    justify-content: center;
  }
  .epc-contact .epc-contact-eyebrow-num {
    color: var(--epc-mute);
    font-weight: 600;
  }
  .epc-contact .epc-contact-eyebrow-rule {
    width: 36px;
    height: 1px;
    background: var(--epc-gold);
    display: inline-block;
  }

  /* ── Hero ── */
  .epc-contact .epc-contact-hero {
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
  }
  .epc-contact .epc-contact-hero .epc-contact-eyebrow {
    justify-content: center;
  }
  .epc-contact .epc-contact-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(40px, 6vw, 68px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -0.02em;
    margin: 0 0 18px;
    color: var(--epc-ink);
  }
  .epc-contact .epc-contact-title em {
    font-style: italic;
    font-weight: 400;
  }
  .epc-contact .epc-contact-intro {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: clamp(17px, 1.6vw, 20px);
    font-style: italic;
    line-height: 1.5;
    color: var(--epc-mute);
    max-width: 600px;
    margin: 0 auto;
  }
  .epc-contact .epc-contact-intro > * + * { margin-top: 0.6em; }

  /* ── Cards ── */
  .epc-contact .epc-contact-cards {
    list-style: none;
    margin: clamp(36px, 5vw, 64px) 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(var(--epc-card-count, 3), minmax(0, 1fr));
    border-top: 1px solid var(--epc-rule);
    border-bottom: 1px solid var(--epc-rule);
  }
  .epc-contact .epc-contact-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    padding: clamp(24px, 3vw, 36px) 20px;
    border-left: 1px solid var(--epc-rule);
  }
  .epc-contact .epc-contact-card:first-child {
    border-left: 0;
  }
  .epc-contact .epc-card-num {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-size: 13px;
    color: var(--epc-gold-text);
    letter-spacing: 0.04em;
  }
  .epc-contact .epc-card-label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--epc-mute);
  }
  .epc-contact .epc-card-value {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(17px, 1.6vw, 21px);
    font-weight: 400;
    color: var(--epc-ink);
    line-height: 1.25;
    overflow-wrap: anywhere;
  }
  .epc-contact .epc-card-value a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid var(--epc-rule);
    transition: border-color 0.15s, color 0.15s;
  }
  .epc-contact .epc-card-value a:hover {
    color: var(--epc-accent);
    border-color: var(--epc-accent);
  }
  .epc-contact .epc-card-note {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 14px;
    color: var(--epc-mute);
    line-height: 1.4;
  }

  /* ── Form lead-in ── */
  .epc-contact .epc-contact-formlead {
    text-align: center;
    max-width: 640px;
    margin: clamp(48px, 6vw, 88px) auto 0;
  }
  .epc-contact .epc-contact-subtitle {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(28px, 3.6vw, 42px);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -0.015em;
    margin: 0 0 14px;
    color: var(--epc-ink);
  }
  .epc-contact .epc-contact-subtitle em {
    font-style: italic;
    font-weight: 400;
  }

  /* The Shopify Forms app renders in its own transparent section (it sits
     directly after this one on the contact page). Give that band the dark
     footer color so the form reads as a deliberate dark panel; the app's text
     is set to cream and its submit button stays gold (template settings).
     This stylesheet only loads where this section is present (the contact page). */
  .shopify-section:has(shopify-forms-embed) {
    background-color: #0e0c0a;
  }

  /* ── Mobile: stack cards ── */
  @media (max-width: 767px) {
    .epc-contact .epc-contact-cards {
      grid-template-columns: 1fr;
    }
    .epc-contact .epc-contact-card {
      border-left: 0;
      border-top: 1px solid var(--epc-rule);
    }
    .epc-contact .epc-contact-card:first-child {
      border-top: 0;
    }
  }
/* END_SECTION:contact-editorial-calm */

/* START_SECTION:docket-slider (INDEX:22) */
.docket-slider {
    position: relative;
    padding-top: var(--docket-pad-top, 0);
    padding-bottom: var(--docket-pad-bottom, 0);
    background: var(--docket-bg, #f5f1e8);
    color: var(--docket-text, #1a2337);
    overflow: hidden;
  }

  .docket-slider__empty {
    padding: 2rem;
    text-align: center;
    opacity: 0.65;
  }

  .docket-slider__viewport {
    position: relative;
    width: 100%;
    height: var(--docket-height, 400px);
    overflow: hidden;
    outline: none;
  }

  .docket-slider__track {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: stretch;
    gap: var(--docket-gap, 8px);
    transition: transform 700ms cubic-bezier(0.7, 0, 0.2, 1);
    will-change: transform;
  }

  .docket-slider__slide {
    position: relative;
    flex: 0 0 var(--docket-peek, 180px);
    overflow: hidden;
    background: var(--docket-bg, #f5f1e8);
    border-radius: var(--docket-radius, 0);
  }

  .docket-slider__slide.is-active {
    flex-basis: min(
      var(--docket-active-width, 720px),
      calc(100% - (2 * var(--docket-peek, 180px)) - (2 * var(--docket-gap, 8px)))
    );
  }

  .docket-slider__slide::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(14, 21, 34, var(--docket-edge-overlay, 0.18));
    opacity: 0;
    pointer-events: none;
    transition: opacity 220ms ease;
  }

  .docket-slider__slide.is-edge::after {
    opacity: 1;
  }

  .docket-slider__slide.is-active {
    background: var(--docket-active-bg, #f5f1e8);
  }

  .docket-slider__media,
  .docket-slider__placeholder {
    position: absolute;
    inset: 0;
  }

  .docket-slider__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: var(--docket-image-fit, cover);
    object-position: center center;
    background: var(--docket-active-bg, #f5f1e8);
    transform: scale(1);
    transition: transform 220ms ease;
  }

  .docket-slider__slide.is-active .docket-slider__image {
    object-fit: var(--docket-image-fit, cover);
    transform: scale(var(--docket-active-scale, 1));
  }

  .docket-slider__link {
    position: absolute;
    inset: 0;
    z-index: 4;
    text-indent: -9999px;
    overflow: hidden;
  }

  .docket-slider__overlay {
    position: absolute;
    inset: 0;
    background:
      linear-gradient(to bottom, rgba(245, 241, 232, 0.15), rgba(245, 241, 232, 0) 30%),
      radial-gradient(ellipse at 50% 50%, rgba(245, 241, 232, 0.35), rgba(245, 241, 232, 0) 60%);
    pointer-events: none;
    opacity: 0;
    transition: opacity 220ms ease;
  }

  .docket-slider__slide.is-active .docket-slider__overlay {
    opacity: 1;
  }

  .docket-slider__content {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    padding: clamp(1rem, 4vw, 3rem);
    opacity: 0;
    transition: opacity 500ms ease 180ms;
  }

  .docket-slider__slide.is-active .docket-slider__content {
    opacity: 1;
  }

  .docket-slider__content-inner {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-width: min(700px, 82%);
  }

  .docket-slider__content--top-left { align-items: flex-start; justify-content: flex-start; text-align: left; }
  .docket-slider__content--top-center { align-items: flex-start; justify-content: center; text-align: center; }
  .docket-slider__content--top-right { align-items: flex-start; justify-content: flex-end; text-align: right; }
  .docket-slider__content--middle-left { align-items: center; justify-content: flex-start; text-align: left; }
  .docket-slider__content--middle-center { align-items: center; justify-content: center; text-align: center; }
  .docket-slider__content--middle-right { align-items: center; justify-content: flex-end; text-align: right; }
  .docket-slider__content--bottom-left { align-items: flex-end; justify-content: flex-start; text-align: left; }
  .docket-slider__content--bottom-center { align-items: flex-end; justify-content: center; text-align: center; }
  .docket-slider__content--bottom-right { align-items: flex-end; justify-content: flex-end; text-align: right; }

  .docket-slider__content--top-center .docket-slider__content-inner,
  .docket-slider__content--middle-center .docket-slider__content-inner,
  .docket-slider__content--bottom-center .docket-slider__content-inner {
    margin-inline: auto;
  }

  .docket-slider__heading {
    margin: 0;
    font-family: var(--docket-heading-font, var(--font-heading-family, inherit));
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.01em;
  }

  .docket-slider__heading--s { font-size: clamp(1.5rem, 3vw, 2rem); }
  .docket-slider__heading--m { font-size: clamp(1.9rem, 4.6vw, 3rem); }
  .docket-slider__heading--l { font-size: clamp(2.3rem, 6.3vw, 4.1rem); }

  .docket-slider__subheading {
    margin: 0;
    font-size: clamp(0.95rem, 1.5vw, 1.1rem);
    line-height: 1.45;
  }

  .docket-slider__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.7em 1.2em;
    border: 1px solid currentColor;
    border-radius: 2px;
    font-size: 0.95rem;
    line-height: 1;
    text-decoration: none;
    transition: transform 160ms ease, background 160ms ease, color 160ms ease;
  }

  .docket-slider__button--primary {
    background: currentColor;
    color: var(--docket-active-bg, #fff);
  }

  .docket-slider__button--secondary,
  .docket-slider__button--ghost {
    background: transparent;
    color: inherit;
  }

  .docket-slider__button:hover {
    transform: translateY(-1px);
  }

  .docket-slider__arrow {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--docket-text, #1a2337);
    background: rgba(245, 241, 232, 0.92);
    border: 1px solid rgba(26, 35, 55, 0.15);
    border-radius: 3px;
    transform: translateY(-50%);
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
  }

  .docket-slider__arrow:hover {
    background: #fff;
    transform: translateY(-50%) scale(1.04);
  }

  .docket-slider__arrow svg {
    width: 18px;
    height: 18px;
  }

  .docket-slider__arrow--next {
    right: calc((var(--docket-peek, 180px) - 48px) / 2);
  }

  .docket-slider__arrow--prev {
    left: calc((var(--docket-peek, 180px) - 48px) / 2);
  }

  .docket-slider--arrows-right-only .docket-slider__arrow--prev {
    display: none;
  }

  .docket-slider__progress {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    z-index: 5;
    height: 2px;
    background: rgba(26, 35, 55, 0.15);
  }

  .docket-slider__progress-bar {
    width: 0;
    height: 100%;
    background: currentColor;
    transform-origin: left;
  }

  .docket-slider__dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 20px 0 0;
  }

  .docket-slider__dot {
    width: 24px;
    height: 2px;
    padding: 0;
    background: rgba(26, 35, 55, 0.2);
    border: none;
    cursor: pointer;
    transition: background 0.3s ease, width 0.3s ease;
  }

  .docket-slider__dot.is-active {
    width: 40px;
    background: currentColor;
  }

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

  @media (max-width: 720px) {
    .docket-slider__viewport {
      height: var(--docket-height-mobile, 320px);
    }

    .docket-slider__slide {
      flex-basis: var(--docket-peek-mobile, 40px);
    }

    .docket-slider__slide.is-active {
      flex-basis: min(
        var(--docket-active-width-mobile, 320px),
        calc(100% - (2 * var(--docket-peek-mobile, 40px)) - (2 * var(--docket-gap, 8px)))
      );
    }

    .docket-slider__arrow--next {
      right: calc((var(--docket-peek-mobile, 40px) - 48px) / 2);
    }

    .docket-slider__arrow--prev {
      left: calc((var(--docket-peek-mobile, 40px) - 48px) / 2);
    }

    .docket-slider--arrows-both .docket-slider__arrow--prev,
    .docket-slider--arrows-right-only .docket-slider__arrow--prev {
      display: none;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .docket-slider__track,
    .docket-slider__slide::after,
    .docket-slider__overlay,
    .docket-slider__content,
    .docket-slider__button,
    .docket-slider__arrow,
    .docket-slider__dot,
    .docket-slider__progress-bar {
      transition: none !important;
    }
  }
/* END_SECTION:docket-slider */

/* START_SECTION:editorial-hero (INDEX:23) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .editorial-hero { position: relative; }
  .editorial-hero__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }

  .editorial-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: rgb(var(--color-scheme-accent));
    margin-bottom: 40px;
  }
  .editorial-hero__rule {
    display: inline-block;
    height: 1px;
    width: 56px;
    background: currentColor;
  }

  .editorial-hero__grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 80px;
    align-items: end;
    min-height: var(--eh-grid-min-h, 560px);
  }

  .editorial-hero__left {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: end;
  }
  .editorial-hero__slide {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease-out;
    will-change: opacity;
  }
  .editorial-hero__slide.is-active {
    opacity: 1;
    pointer-events: auto;
    transition: opacity 0.4s ease-in 0.25s;
  }

  .editorial-hero {
    --eh-text-scale: 1;
  }
  .editorial-hero__title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(
      calc(56px * var(--eh-text-scale)),
      calc(8vw * var(--eh-text-scale)),
      calc(120px * var(--eh-text-scale))
    );
    line-height: 0.88;
    font-weight: 400;
    letter-spacing: -0.035em;
    margin: 0;
    color: rgb(var(--color-scheme-text));
  }
  .editorial-hero__title span {
    display: inline-block;
    margin-right: 0.25em;
  }
  .editorial-hero__title span:nth-child(even) { font-style: italic; }

  .editorial-hero__meta {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 48px;
    padding-top: 24px;
    border-top: 1px solid rgb(var(--color-scheme-text) / 0.2);
  }
  .editorial-hero__meta-label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    opacity: 0.6;
    margin-bottom: 6px;
  }
  .editorial-hero__meta-value {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: calc(22px * var(--eh-text-scale));
    font-style: italic;
  }

  .editorial-hero__ctas {
    margin-top: 48px;
    display: flex;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
  }
  .editorial-hero__form { margin: 0; }
  .editorial-hero__cta-primary {
    background: rgb(var(--color-scheme-accent));
    color: rgb(var(--color-scheme-accent-contrast));
    border: none;
    padding: 18px 36px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s ease;
  }
  .editorial-hero__cta-primary:hover { opacity: 0.88; }
  .editorial-hero__cta-primary:disabled { opacity: 0.5; cursor: not-allowed; }
  .editorial-hero__cta-secondary {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-weight: 500;
    color: rgb(var(--color-scheme-text));
    text-decoration: none;
    position: relative;
  }
  .editorial-hero__cta-secondary::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -2px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
  }
  .editorial-hero__cta-secondary:hover::after { transform: scaleX(1); }

  .editorial-hero__right {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: end;
    min-height: var(--eh-right-min-h, 520px);
  }
  .editorial-hero__cover-wrap {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease;
    will-change: opacity;
  }
  .editorial-hero__cover-wrap.is-active {
    opacity: 1;
    pointer-events: auto;
  }
  .editorial-hero__cover {
    width: 85%;
    margin-left: auto;
    display: block;
    height: auto;
    aspect-ratio: 2 / 3;
    object-fit: contain;
    background: rgb(var(--color-scheme-text) / 0.04);
    box-shadow: 0 24px 48px -16px rgb(var(--color-scheme-text) / 0.3);
  }
  .editorial-hero__cover--placeholder {
    background: rgb(var(--color-scheme-text) / 0.08);
    box-shadow: none;
  }
  .editorial-hero__note {
    position: absolute;
    bottom: -48px;
    left: 0;
    width: 65%;
    padding-right: 20px;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: calc(17px * var(--eh-text-scale));
    font-style: italic;
    line-height: 1.5;
    color: rgb(var(--color-scheme-text) / 0.78);
  }
  .editorial-hero__note-picker {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    opacity: 0.6;
    font-style: normal;
    margin-top: 12px;
  }

  .editorial-hero__pagination {
    margin-top: 100px;
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  .editorial-hero__page {
    background: transparent;
    border: none;
    padding: 8px;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgb(var(--color-scheme-text));
    opacity: 0.4;
    border-bottom: 1px solid transparent;
    transition: opacity 0.2s ease, border-color 0.2s ease;
  }
  .editorial-hero__page.is-active { opacity: 1; border-bottom-color: currentColor; }
  .editorial-hero__page:hover { opacity: 0.75; }
  .editorial-hero__page:focus-visible {
    outline: 2px solid rgb(var(--color-scheme-accent));
    outline-offset: 4px;
  }

  .editorial-hero__empty {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 18px;
    opacity: 0.6;
    padding: 48px 0;
  }

  @media (max-width: 1024px) {
    .editorial-hero__inner { padding-left: 32px; padding-right: 32px; }
    .editorial-hero__grid {
      grid-template-columns: 1fr;
      gap: 48px;
      min-height: 0;
      align-items: start;
    }
    .editorial-hero__title { font-size: clamp(44px, 10vw, 80px); }
    .editorial-hero__right { min-height: 420px; }
    .editorial-hero__cover { width: 100%; }
    .editorial-hero__note { position: static; width: 100%; margin-top: 24px; padding-right: 0; }
    .editorial-hero__pagination { margin-top: 56px; }
  }
/* END_SECTION:editorial-hero */

/* START_SECTION:events-gallery-redux (INDEX:24) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .events-gallery__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
  .events-gallery__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin-bottom: 56px;
  }
  .events-gallery__title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.02em;
    margin: 0;
    color: rgb(var(--color-scheme-text));
  }
  .events-gallery__title em { font-style: italic; }
  .events-gallery__section-cta {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-weight: 500;
    color: rgb(var(--color-scheme-text));
    text-decoration: none;
    position: relative;
  }
  .events-gallery__section-cta::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -2px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
  }
  .events-gallery__section-cta:hover::after { transform: scaleX(1); }

  .events-gallery__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
  }
  .events-gallery__card--span-1 { grid-column: span 1; }
  .events-gallery__card--span-2 { grid-column: span 2; }
  .events-gallery__card--span-3 { grid-column: span 3; }
  .events-gallery__card--span-4 { grid-column: span 4; }
  .events-gallery__card--aspect-match {
    aspect-ratio: var(--card-aspect, 1);
    min-height: 0;
  }
  .events-gallery__card {
    --card-pad: 32px;
    position: relative;
    min-height: var(--events-card-min-h, 360px);
    padding: var(--card-pad);
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }
  .events-gallery__card--featured {
    --card-pad: 40px;
  }

  .events-gallery__card-bottom {
    position: relative;
    z-index: 2;
  }
  .events-gallery__card--text-bottom .events-gallery__card-bottom {
    margin-top: auto;
  }
  .events-gallery__card--text-middle .events-gallery__card-bottom {
    margin-top: auto;
    margin-bottom: auto;
  }
  .events-gallery__card--text-top .events-gallery__card-bottom {
    margin-top: 20px;
    margin-bottom: auto;
  }

  .events-gallery__card--text-lower .events-gallery__card-bottom {
    margin-top: auto;
    margin-left: calc(var(--card-pad) * -1);
    margin-right: calc(var(--card-pad) * -1);
    margin-bottom: calc(var(--card-pad) * -1);
    padding: 100px var(--card-pad) var(--card-pad);
    background: linear-gradient(
      to top,
      rgba(0, 0, 0, 0.92) 0%,
      rgba(0, 0, 0, 0.88) 30%,
      rgba(0, 0, 0, 0.6) 65%,
      rgba(0, 0, 0, 0) 100%
    );
  }
  .events-gallery__card--text-lower.events-gallery__card--has-image .events-gallery__card-scrim {
    display: none;
  }
  .events-gallery__card--text-lower:not(.events-gallery__card--has-image) .events-gallery__card-bottom {
    background: linear-gradient(
      to top,
      rgba(0, 0, 0, 0.35) 0%,
      rgba(0, 0, 0, 0.2) 50%,
      rgba(0, 0, 0, 0) 100%
    );
  }

  /* ─── Image backdrop ─── */
  .events-gallery__card-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
  }
  .events-gallery__card-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(.2,.7,.3,1), filter 0.5s ease;
    will-change: transform;
  }
  .events-gallery__card-scrim {
    position: absolute;
    inset: 0;
    background:
      linear-gradient(
        to top,
        rgba(0,0,0, calc(var(--events-overlay, 0.6) * 1.1)) 0%,
        rgba(0,0,0, calc(var(--events-overlay, 0.6) * 0.7)) 35%,
        rgba(0,0,0, calc(var(--events-overlay, 0.6) * 0.25)) 75%,
        rgba(0,0,0, calc(var(--events-overlay, 0.6) * 0.05)) 100%
      );
  }
  .events-gallery__card--has-image .events-gallery__card-image {
    filter: saturate(1.02);
  }
  .events-gallery--mono .events-gallery__card-image {
    filter: grayscale(1) contrast(1.15) brightness(0.92);
  }
  .events-gallery__card--has-image:hover .events-gallery__card-image {
    transform: scale(1.05);
  }

  .events-gallery__card-link {
    position: absolute;
    inset: 0;
    z-index: 3;
    text-indent: -9999px;
    overflow: hidden;
  }
  .events-gallery__card-top,
  .events-gallery__card-bottom {
    position: relative;
    z-index: 2;
  }
  .events-gallery__date {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    opacity: 0.8;
  }
  .events-gallery__card-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    line-height: 0.95;
    font-weight: 400;
    margin: 0 0 12px;
  }
  .events-gallery__card-title--featured {
    font-size: clamp(36px, 4vw, 56px);
  }
  .events-gallery__card-title--regular {
    font-size: clamp(28px, 2.8vw, 36px);
    font-style: italic;
  }
  .events-gallery__card-sub {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 17px;
    font-style: italic;
    line-height: 1.4;
    opacity: 0.88;
    margin: 0 0 24px;
  }
  .events-gallery__card--regular .events-gallery__card-sub {
    font-size: 15px;
    margin-bottom: 0;
  }
  .events-gallery__card-cta {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    display: inline-block;
  }

  .events-gallery__empty {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 18px;
    opacity: 0.6;
    padding: 48px 0;
    text-align: center;
  }

  @media (max-width: 1024px) {
    .events-gallery__inner { padding-left: 32px; padding-right: 32px; }
    .events-gallery__grid {
      grid-template-columns: 1fr;
      gap: 16px;
    }
    .events-gallery__card {
      grid-column: 1 / -1 !important;
      min-height: 280px;
      padding: 28px;
    }
    .events-gallery__card--featured { padding: 32px; }
    .events-gallery__card--aspect-match {
      aspect-ratio: var(--card-aspect, 1);
      min-height: 0;
    }
  }
/* END_SECTION:events-gallery-redux */

/* START_SECTION:events-gallery (INDEX:25) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .events-gallery__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
  }
  .events-gallery__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin-bottom: 56px;
  }
  .events-gallery__title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.02em;
    margin: 0;
    color: rgb(var(--color-scheme-text));
  }
  .events-gallery__title em { font-style: italic; }
  .events-gallery__section-cta {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-weight: 500;
    color: rgb(var(--color-scheme-text));
    text-decoration: none;
    position: relative;
  }
  .events-gallery__section-cta::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -2px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
  }
  .events-gallery__section-cta:hover::after { transform: scaleX(1); }

  .events-gallery__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
  }
  .events-gallery__card--span-1 { grid-column: span 1; }
  .events-gallery__card--span-2 { grid-column: span 2; }
  .events-gallery__card--span-3 { grid-column: span 3; }
  .events-gallery__card--span-4 { grid-column: span 4; }
  .events-gallery__card--aspect-match {
    aspect-ratio: var(--card-aspect, 1);
    min-height: 0;
  }
  .events-gallery__card {
    --card-pad: 32px;
    position: relative;
    min-height: var(--events-card-min-h, 360px);
    padding: var(--card-pad);
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }
  .events-gallery__card--featured {
    --card-pad: 40px;
  }

  /* Text vertical position — card-top (date) stays at the top,
     card-bottom (title/sub/cta) shifts.  Card grows if content
     exceeds min-height. */
  .events-gallery__card-bottom {
    position: relative;
    z-index: 2;
  }
  .events-gallery__card--text-bottom .events-gallery__card-bottom {
    margin-top: auto;
  }
  .events-gallery__card--text-middle .events-gallery__card-bottom {
    margin-top: auto;
    margin-bottom: auto;
  }
  .events-gallery__card--text-top .events-gallery__card-bottom {
    margin-top: 20px;
    margin-bottom: auto;
  }

  /* "Lower" mode: full-bleed caption strip anchored to the bottom edge
     with its own gradient, so text blends into the image instead of
     floating on top of a focal point. */
  .events-gallery__card--text-lower .events-gallery__card-bottom {
    margin-top: auto;
    margin-left: calc(var(--card-pad) * -1);
    margin-right: calc(var(--card-pad) * -1);
    margin-bottom: calc(var(--card-pad) * -1);
    padding: 100px var(--card-pad) var(--card-pad);
    background: linear-gradient(
      to top,
      rgba(0, 0, 0, 0.92) 0%,
      rgba(0, 0, 0, 0.88) 30%,
      rgba(0, 0, 0, 0.6) 65%,
      rgba(0, 0, 0, 0) 100%
    );
  }
  /* When lower mode is active AND an image exists, the full-card
     scrim becomes redundant — hide it so the image reads clearly. */
  .events-gallery__card--text-lower.events-gallery__card--has-image .events-gallery__card-scrim {
    display: none;
  }
  /* Same treatment for solid-color tiles: caption strip darkens the bottom. */
  .events-gallery__card--text-lower:not(.events-gallery__card--has-image) .events-gallery__card-bottom {
    background: linear-gradient(
      to top,
      rgba(0, 0, 0, 0.35) 0%,
      rgba(0, 0, 0, 0.2) 50%,
      rgba(0, 0, 0, 0) 100%
    );
  }

  /* ─── Image backdrop ─── */
  .events-gallery__card-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
  }
  .events-gallery__card-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(.2,.7,.3,1), filter 0.5s ease;
    will-change: transform;
  }
  .events-gallery__card-scrim {
    position: absolute;
    inset: 0;
    background:
      linear-gradient(
        to top,
        rgba(0,0,0, calc(var(--events-overlay, 0.6) * 1.1)) 0%,
        rgba(0,0,0, calc(var(--events-overlay, 0.6) * 0.7)) 35%,
        rgba(0,0,0, calc(var(--events-overlay, 0.6) * 0.25)) 75%,
        rgba(0,0,0, calc(var(--events-overlay, 0.6) * 0.05)) 100%
      );
  }
  .events-gallery__card--has-image .events-gallery__card-image {
    filter: saturate(1.02);
  }
  .events-gallery--mono .events-gallery__card-image {
    filter: grayscale(1) contrast(1.15) brightness(0.92);
  }
  .events-gallery__card--has-image:hover .events-gallery__card-image {
    transform: scale(1.05);
  }

  .events-gallery__card-link {
    position: absolute;
    inset: 0;
    z-index: 3;
    text-indent: -9999px;
    overflow: hidden;
  }
  .events-gallery__card-top,
  .events-gallery__card-bottom {
    position: relative;
    z-index: 2;
  }
  .events-gallery__date {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    opacity: 0.8;
  }
  .events-gallery__card-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    line-height: 0.95;
    font-weight: 400;
    margin: 0 0 12px;
  }
  .events-gallery__card-title--featured {
    font-size: clamp(36px, 4vw, 56px);
  }
  .events-gallery__card-title--regular {
    font-size: clamp(28px, 2.8vw, 36px);
    font-style: italic;
  }
  .events-gallery__card-sub {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 17px;
    font-style: italic;
    line-height: 1.4;
    opacity: 0.88;
    margin: 0 0 24px;
  }
  .events-gallery__card--regular .events-gallery__card-sub {
    font-size: 15px;
    margin-bottom: 0;
  }
  .events-gallery__card-cta {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    display: inline-block;
  }

  .events-gallery__empty {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 18px;
    opacity: 0.6;
    padding: 48px 0;
    text-align: center;
  }

  @media (max-width: 1024px) {
    .events-gallery__inner { padding-left: 32px; padding-right: 32px; }
    .events-gallery__grid {
      grid-template-columns: 1fr;
      gap: 16px;
    }
    .events-gallery__card {
      grid-column: 1 / -1 !important;
      min-height: 280px;
      padding: 28px;
    }
    .events-gallery__card--featured { padding: 32px; }
    .events-gallery__card--aspect-match {
      aspect-ratio: var(--card-aspect, 1);
      min-height: 0;
    }
  }
/* END_SECTION:events-gallery */

/* START_SECTION:faq (INDEX:26) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

  .epc-faq {
    --epc-ink: #1a1713;
    --epc-mute: rgba(26, 23, 19, 0.6);
    --epc-rule: rgba(26, 23, 19, 0.15);
    --epc-rule-strong: rgba(26, 23, 19, 0.32);
    --epc-gold-text: #8f6a13;
    background-color: var(--epc-content-bg) !important;
    color: var(--epc-ink);
    padding-top: var(--epc-pad-top, 0);
    padding-bottom: var(--epc-pad-bottom, 0);
    font-family: 'Inter', sans-serif;
  }
  .epc-faq .epc-faq-inner {
    max-width: 880px;
    margin: 0 auto;
    padding-top: clamp(40px, 6vw, 80px);
    padding-bottom: clamp(40px, 6vw, 80px);
  }

  /* Header */
  .epc-faq .epc-faq-head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto clamp(28px, 4vw, 48px);
  }
  .epc-faq .epc-faq-eyebrow {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin: 0 0 16px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--epc-gold-text);
  }
  .epc-faq .epc-faq-eyebrow-num { color: var(--epc-mute); }
  .epc-faq .epc-faq-eyebrow-rule {
    width: 36px;
    height: 1px;
    background: var(--epc-gold);
    display: inline-block;
  }
  .epc-faq .epc-faq-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(30px, 4.2vw, 52px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -0.02em;
    margin: 0;
    color: var(--epc-ink);
  }
  .epc-faq .epc-faq-title em { font-style: italic; font-weight: 400; }
  .epc-faq .epc-faq-sub {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: clamp(16px, 1.5vw, 19px);
    font-style: italic;
    color: var(--epc-mute);
    margin: 14px 0 0;
  }

  /* Groups */
  .epc-faq .epc-faq-group { margin-top: clamp(28px, 3.5vw, 44px); }
  .epc-faq .epc-faq-group:first-child { margin-top: 0; }
  .epc-faq .epc-faq-group-label {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--epc-rule-strong);
  }
  .epc-faq .epc-faq-group-num {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--epc-gold-text);
  }
  .epc-faq .epc-faq-group-name {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--epc-mute);
  }

  /* Accordion item */
  .epc-faq .epc-faq-item { border-bottom: 1px solid var(--epc-rule); }
  .epc-faq .epc-faq-q {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: clamp(16px, 2vw, 22px) 0;
  }
  .epc-faq .epc-faq-q::-webkit-details-marker { display: none; }
  .epc-faq .epc-faq-q-text {
    font-size: clamp(16px, 1.5vw, 19px);
    line-height: 1.35;
    color: var(--epc-ink);
  }
  .epc-faq .epc-faq-q-text.font-heading,
  .epc-faq .epc-faq-q-text {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-weight: 400;
  }
  .epc-faq .epc-faq-icon {
    position: relative;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
  }
  .epc-faq .epc-faq-icon::before,
  .epc-faq .epc-faq-icon::after {
    content: '';
    position: absolute;
    background: var(--epc-gold);
    transition: transform 0.2s ease, opacity 0.2s ease;
  }
  .epc-faq .epc-faq-icon::before {
    top: 50%;
    left: 0;
    width: 100%;
    height: 1.5px;
    transform: translateY(-50%);
  }
  .epc-faq .epc-faq-icon::after {
    left: 50%;
    top: 0;
    width: 1.5px;
    height: 100%;
    transform: translateX(-50%);
  }
  .epc-faq .epc-faq-item[open] .epc-faq-icon::after {
    transform: translateX(-50%) scaleY(0);
    opacity: 0;
  }
  .epc-faq .epc-faq-a {
    padding: 0 0 clamp(18px, 2vw, 24px);
    max-width: 680px;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: clamp(15px, 1.4vw, 17px);
    line-height: 1.6;
    color: var(--epc-ink);
  }
  .epc-faq .epc-faq-a > * + * { margin-top: 0.7em; }
  .epc-faq .epc-faq-a a {
    color: var(--epc-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  @media (prefers-reduced-motion: reduce) {
    .epc-faq .epc-faq-icon::before,
    .epc-faq .epc-faq-icon::after { transition: none; }
  }
/* END_SECTION:faq */

/* START_SECTION:featured-collection-redux (INDEX:28) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .fcr {
    --fcr-bg: rgb(var(--color-scheme-background));
    --fcr-fg: rgb(var(--color-scheme-text));
    --fcr-accent: rgb(var(--color-scheme-accent));
    --fcr-accent-contrast: rgb(var(--color-scheme-accent-contrast));
    background: var(--fcr-bg);
    color: var(--fcr-fg);
    font-family: 'Inter', sans-serif;
  }
  .fcr__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 64px;
  }

  /* ─── Header ─── */
  .fcr__header {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 48px;
    row-gap: 16px;
    align-items: end;
    margin-bottom: 56px;
  }
  .fcr__header-main { min-width: 0; }
  .fcr__eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: calc(11px * var(--fcr-overall, 1));
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--fcr-accent);
    margin-bottom: 18px;
  }
  .fcr__title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: calc(clamp(40px, 5vw, 64px) * var(--fcr-overall, 1) * var(--fcr-heading-mult, 1));
    line-height: 1;
    font-weight: 400;
    letter-spacing: -0.02em;
    margin: 0;
    color: var(--fcr-fg);
  }
  .fcr__title em { font-style: italic; }
  .fcr__intro {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: calc(17px * var(--fcr-overall, 1) * var(--fcr-body-mult, 1));
    font-style: italic;
    line-height: 1.5;
    opacity: 0.8;
    margin-top: 18px;
    max-width: 560px;
  }
  .fcr__intro p { margin: 0 0 0.6em; }
  .fcr__intro p:last-child { margin-bottom: 0; }
  .fcr__header-link {
    font-family: 'Inter', sans-serif;
    font-size: calc(12px * var(--fcr-overall, 1));
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--fcr-accent);
    text-decoration: none;
    align-self: end;
    white-space: nowrap;
    transition: opacity 0.2s ease;
  }
  .fcr__header-link:hover { opacity: 0.7; }

  /* ─── Grid ─── */
  .fcr__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(var(--fcr-cols-mob, 2), minmax(0, 1fr));
    gap: var(--fcr-gap, 32px);
  }
  @media (min-width: 1025px) {
    .fcr__grid {
      grid-template-columns: repeat(var(--fcr-cols-desk, 4), minmax(0, 1fr));
    }
  }

  /* ─── Card ─── */
  .fcr__card { position: relative; }
  .fcr--card-border .fcr__card {
    border: 1px solid color-mix(in srgb, var(--fcr-fg) 15%, transparent);
    padding: 20px;
    border-radius: 2px;
  }
  .fcr--card-filled .fcr__card {
    background: color-mix(in srgb, var(--fcr-fg) 4%, transparent);
    padding: 20px;
    border-radius: 2px;
  }
  .fcr--card-divider .fcr__card {
    padding-top: 18px;
    border-top: 1px solid color-mix(in srgb, var(--fcr-fg) 15%, transparent);
  }

  .fcr__card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    position: relative;
    z-index: 1;
    transition: z-index 0s linear 0.45s;
  }
  .fcr:not(.fcr--no-hover) .fcr__card-link:hover {
    z-index: 3;
    transition: z-index 0s linear 0s;
  }

  .fcr__card-media {
    position: relative;
    width: 100%;
    aspect-ratio: var(--fcr-aspect, 2 / 3);
  }
  .fcr__card-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: var(--fcr-fit, contain);
    background: color-mix(in srgb, var(--fcr-fg) 4%, transparent);
    box-shadow: 0 10px 24px -8px color-mix(in srgb, var(--fcr-fg) 30%, transparent);
    transition: transform 0.5s cubic-bezier(.2,.7,.3,1), box-shadow 0.5s cubic-bezier(.2,.7,.3,1);
    transform-origin: center bottom;
  }
  .fcr__card-image--placeholder {
    background: color-mix(in srgb, var(--fcr-fg) 8%, transparent);
    box-shadow: none;
  }
  .fcr:not(.fcr--no-hover) .fcr__card-link:hover .fcr__card-image {
    transform: translateY(var(--fcr-hover-lift, -6px)) scale(var(--fcr-hover-scale, 1.06));
    box-shadow: 0 22px 44px -12px color-mix(in srgb, var(--fcr-fg) 42%, transparent);
  }

  .fcr__card-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    font-family: 'Inter', sans-serif;
    font-size: calc(10px * var(--fcr-overall, 1));
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    padding: 5px 10px;
    background: var(--fcr-accent);
    color: var(--fcr-accent-contrast);
    z-index: 2;
  }
  .fcr__card-badge--sold {
    background: color-mix(in srgb, var(--fcr-fg) 60%, transparent);
    color: var(--fcr-bg);
  }

  .fcr__card-body {
    margin-top: 16px;
  }
  .fcr--align-center .fcr__card-body { text-align: center; }
  .fcr--align-right  .fcr__card-body { text-align: right; }

  .fcr__card-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: calc(clamp(16px, 1.3vw, 18px) * var(--fcr-overall, 1) * var(--fcr-heading-mult, 1));
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--fcr-fg);
    margin-bottom: 4px;
  }
  .fcr__card-author {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: calc(14px * var(--fcr-overall, 1) * var(--fcr-body-mult, 1));
    font-style: italic;
    color: var(--fcr-fg);
    opacity: 0.7;
    margin-bottom: 8px;
  }
  .fcr__card-price {
    font-family: 'Inter', sans-serif;
    font-size: calc(12px * var(--fcr-overall, 1) * var(--fcr-body-mult, 1));
    font-weight: 500;
    letter-spacing: 0.05em;
    color: var(--fcr-fg);
  }
  .fcr__card-price-was {
    margin-left: 8px;
    text-decoration: line-through;
    opacity: 0.5;
  }
  .fcr__card-price-sale { color: var(--fcr-accent); }

  /* ─── Footer view-all ─── */
  .fcr__footer {
    margin-top: 48px;
    text-align: center;
  }
  .fcr__footer-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Inter', sans-serif;
    text-decoration: none;
    transition: gap 0.3s ease, opacity 0.25s ease, background 0.25s ease;
  }
  .fcr__footer-link--link {
    font-size: calc(13px * var(--fcr-overall, 1));
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--fcr-accent);
  }
  .fcr__footer-link--link:hover { gap: 16px; }
  .fcr__footer-link--button {
    background: var(--fcr-accent);
    color: var(--fcr-accent-contrast);
    padding: 16px 36px;
    font-size: calc(13px * var(--fcr-overall, 1));
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
  }
  .fcr__footer-link--button:hover { opacity: 0.9; }
  .fcr__footer-link--outline {
    border: 1px solid var(--fcr-fg);
    color: var(--fcr-fg);
    padding: 16px 36px;
    font-size: calc(13px * var(--fcr-overall, 1));
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
  }
  .fcr__footer-link--outline:hover {
    background: var(--fcr-fg);
    color: var(--fcr-bg);
  }

  .fcr__empty {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 18px;
    opacity: 0.6;
    padding: 48px 0;
  }

  @media (max-width: 1024px) {
    .fcr__inner { padding: 0 32px; }
    .fcr__header { margin-bottom: 40px; column-gap: 20px; }
  }
/* END_SECTION:featured-collection-redux */

/* START_SECTION:footer-direction-b (INDEX:34) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .footer-b {
    --fb-bg: rgb(var(--color-scheme-background));
    --fb-fg: rgb(var(--color-scheme-text));
    --fb-accent: rgb(var(--color-scheme-accent));
    --fb-accent-contrast: rgb(var(--color-scheme-accent-contrast));
    font-family: 'Inter', sans-serif;
    color: var(--fb-fg);
  }

  /* ─── COME FIND US (dark band) ─── */
  .footer-b__find {
    background: var(--fb-find-bg);
    color: var(--fb-find-fg);
    padding: 120px 64px 140px;
  }
  .footer-b__find-inner {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
  }
  .footer-b__eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--fb-find-accent);
    margin-bottom: 28px;
  }
  .footer-b__address {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(48px, 7vw, 96px);
    line-height: 1;
    font-weight: 400;
    letter-spacing: -0.02em;
    margin: 0 0 36px;
    font-style: italic;
  }
  .footer-b__description {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: clamp(17px, 1.4vw, 21px);
    line-height: 1.55;
    font-style: italic;
    opacity: 0.88;
    max-width: 640px;
    margin: 0 auto 48px;
  }
  .footer-b__description p { margin: 0 0 0.6em; }
  .footer-b__description p:last-child { margin-bottom: 0; }

  .footer-b__hours {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    padding: 24px 40px;
    border: 1px solid color-mix(in srgb, var(--fb-find-fg) 35%, transparent);
    font-family: 'Inter', sans-serif;
  }
  .footer-b__hour {
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
    padding: 0 28px;
    border-right: 1px solid color-mix(in srgb, var(--fb-find-fg) 22%, transparent);
    font-size: 14px;
    letter-spacing: 0.05em;
  }
  .footer-b__hour:first-child { padding-left: 0; }
  .footer-b__hour:last-child  { padding-right: 0; border-right: 0; }
  .footer-b__day {
    color: var(--fb-find-accent);
    font-weight: 600;
    letter-spacing: 0.08em;
  }
  .footer-b__dot { opacity: 0.5; }
  .footer-b__time {
    font-weight: 400;
    opacity: 0.95;
  }

  .footer-b__map-link {
    display: inline-block;
    margin-top: 36px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--fb-find-accent);
    text-decoration: none;
    position: relative;
  }
  .footer-b__map-link::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -2px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
  }
  .footer-b__map-link:hover::after { transform: scaleX(1); }

  /* ─── MAIN (paper band) ─── */
  .footer-b__main {
    background: var(--fb-bg);
    color: var(--fb-fg);
    padding: 100px 64px 48px;
  }
  .footer-b__main-inner {
    max-width: 1400px;
    margin: 0 auto;
  }
  .footer-b__columns {
    display: grid;
    grid-template-columns: 1.4fr repeat(var(--fb-link-cols, 2), 1fr) 1.3fr;
    gap: 72px;
    align-items: start;
    padding-bottom: 64px;
    border-bottom: 1px solid color-mix(in srgb, var(--fb-fg) 18%, transparent);
  }

  .footer-b__brand-logo {
    margin-bottom: 24px;
  }
  .footer-b__brand-logo img {
    display: block;
    width: 100%;
    height: auto;
  }
  .footer-b__brand-name {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(40px, 3.6vw, 56px);
    font-style: italic;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--fb-fg);
  }
  .footer-b__brand-tagline {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 17px;
    font-style: italic;
    line-height: 1.5;
    color: var(--fb-fg);
    opacity: 0.65;
    margin-top: 18px;
    max-width: 320px;
  }

  .footer-b__col-heading {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--fb-accent);
    margin-bottom: 22px;
  }
  .footer-b__links {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .footer-b__links li { margin-bottom: 10px; }
  .footer-b__link {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 17px;
    color: var(--fb-fg);
    text-decoration: none;
    position: relative;
    display: inline-block;
    transition: color 0.2s ease;
  }
  .footer-b__link::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -2px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
  }
  .footer-b__link:hover::after { transform: scaleX(1); }

  .footer-b__newsletter-body {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 17px;
    font-style: italic;
    line-height: 1.5;
    color: var(--fb-fg);
    opacity: 0.75;
    margin: 0 0 22px;
  }
  .footer-b__form { margin: 0; }
  .footer-b__form-row {
    display: flex;
    align-items: baseline;
    gap: 16px;
    border-bottom: 1px solid var(--fb-fg);
    padding-bottom: 10px;
  }
  .footer-b__email {
    flex: 1;
    border: none;
    background: transparent;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 18px;
    font-style: italic;
    color: var(--fb-fg);
    outline: none;
    padding: 0;
    min-width: 0;
  }
  .footer-b__email::placeholder {
    color: var(--fb-fg);
    opacity: 0.45;
    font-style: italic;
  }
  .footer-b__submit {
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    color: var(--fb-accent);
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    transition: gap 0.25s ease;
  }
  .footer-b__submit:hover { gap: 14px; }
  .footer-b__submit:focus-visible {
    outline: 2px solid var(--fb-accent);
    outline-offset: 4px;
  }
  .footer-b__form-message {
    margin-top: 12px;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 14px;
    font-style: italic;
  }
  .footer-b__form-message--err { color: var(--fb-accent); }

  /* ─── Bottom row ─── */
  .footer-b__bottom {
    padding-top: 24px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--fb-fg);
    opacity: 0.55;
  }
  .footer-b__copyright { grid-column: 1; }
  .footer-b__socials {
    grid-column: 2;
    display: inline-flex;
    align-items: center;
    gap: 16px;
    opacity: 1;
  }
  .footer-b__social {
    color: var(--fb-fg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    transition: color 0.25s ease;
  }
  .footer-b__social:hover { color: var(--fb-accent); }
  .footer-b__social svg { width: 18px; height: 18px; }
  .footer-b__suffix { grid-column: 3; text-align: right; }

  /* ─── Accessibility helper ─── */
  .footer-b .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  /* ─── Responsive ─── */
  @media (max-width: 1024px) {
    .footer-b__find { padding: 80px 32px 96px; }
    .footer-b__main { padding: 72px 32px 36px; }
    .footer-b__columns {
      grid-template-columns: 1fr 1fr;
      gap: 48px;
    }
    .footer-b__brand {
      grid-column: 1 / -1;
    }
    .footer-b__newsletter {
      grid-column: 1 / -1;
    }
    .footer-b__hours { padding: 20px 28px; }
    .footer-b__hour { padding: 0 18px; font-size: 13px; }
    .footer-b__bottom {
      grid-template-columns: 1fr;
      text-align: center;
      row-gap: 16px;
    }
    .footer-b__copyright,
    .footer-b__socials,
    .footer-b__suffix {
      grid-column: 1;
      justify-content: center;
      text-align: center;
    }
  }
  @media (max-width: 640px) {
    .footer-b__columns {
      grid-template-columns: 1fr;
      gap: 40px;
    }
    .footer-b__hours {
      flex-direction: column;
      align-items: stretch;
      padding: 16px 24px;
    }
    .footer-b__hour {
      padding: 10px 0;
      border-right: 0;
      border-bottom: 1px solid color-mix(in srgb, var(--fb-find-fg) 18%, transparent);
      justify-content: center;
    }
    .footer-b__hour:last-child { border-bottom: 0; }
  }
/* END_SECTION:footer-direction-b */

/* START_SECTION:image-hero (INDEX:38) */
.image-hero {
    color: var(--ih-text, rgb(var(--color-scheme-text)));
  }

  .image-hero__frame {
    position: relative;
    overflow: hidden;
    background: var(--ih-bg);
  }

  .image-hero__frame--custom {
    height: var(--ih-h-mobile);
  }

  .image-hero__media {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--ih-bg);
  }

  .image-hero__image-layer,
  .image-hero__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .image-hero__image {
    display: block;
    object-fit: var(--ih-fit);
    object-position: var(--ih-pos-m);
    filter: var(--ih-filter);
  }

  .image-hero__image-layer--desktop {
    display: none;
  }

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

  .image-hero__content-wrap {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    padding: clamp(24px, 5vw, 72px);
    pointer-events: none;
  }

  .image-hero[data-content-vertical="top"] .image-hero__content-wrap { align-items: flex-start; }
  .image-hero[data-content-vertical="center"] .image-hero__content-wrap { align-items: center; }
  .image-hero[data-content-vertical="bottom"] .image-hero__content-wrap { align-items: flex-end; }
  .image-hero[data-content-horizontal="left"] .image-hero__content-wrap { justify-content: flex-start; }
  .image-hero[data-content-horizontal="center"] .image-hero__content-wrap { justify-content: center; }
  .image-hero[data-content-horizontal="right"] .image-hero__content-wrap { justify-content: flex-end; }

  .image-hero__content {
    width: min(100%, var(--ih-content-max));
    color: var(--ih-text, rgb(var(--color-scheme-text)));
    pointer-events: auto;
  }

  .image-hero[data-text-align="left"] .image-hero__content { text-align: left; }
  .image-hero[data-text-align="center"] .image-hero__content { text-align: center; }
  .image-hero[data-text-align="right"] .image-hero__content { text-align: right; }

  .image-hero__eyebrow {
    margin: 0 0 14px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    color: currentColor;
    opacity: 0.75;
  }

  .image-hero__heading {
    margin: 0;
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(44px, 7vw, 112px);
    line-height: 0.92;
    font-weight: 400;
    letter-spacing: -0.035em;
    color: currentColor;
    text-wrap: balance;
  }

  .image-hero__heading em {
    font-style: italic;
    font-variation-settings: "opsz" 144;
  }

  .image-hero__subheading {
    margin-top: 18px;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: clamp(17px, 1.5vw, 22px);
    line-height: 1.45;
    font-style: italic;
    color: currentColor;
    opacity: 0.82;
  }

  .image-hero__subheading p {
    margin: 0;
  }

  .image-hero__subheading p + p {
    margin-top: 0.75em;
  }

  .image-hero__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
  }

  .image-hero[data-text-align="center"] .image-hero__buttons { justify-content: center; }
  .image-hero[data-text-align="right"] .image-hero__buttons { justify-content: flex-end; }

  @media (min-width: 1024px) {
    .image-hero__frame--custom {
      height: var(--ih-h-desktop);
    }

    .image-hero__image {
      object-position: var(--ih-pos-d);
    }

    .image-hero__image-layer--desktop {
      display: block;
    }

    .image-hero__image-layer--mobile {
      display: none;
    }
  }
/* END_SECTION:image-hero */

/* START_SECTION:image-with-text-redux (INDEX:42) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .iwt {
    --iwt-bg: rgb(var(--color-scheme-background));
    --iwt-fg: rgb(var(--color-scheme-text));
    --iwt-accent: rgb(var(--color-scheme-accent));
    --iwt-accent-contrast: rgb(var(--color-scheme-accent-contrast));
    --iwt-text-bg: transparent;
    background: var(--iwt-bg);
    color: var(--iwt-fg);
    font-family: 'Inter', sans-serif;
  }
  .iwt__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 64px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "media copy";
    gap: var(--iwt-gap, 80px);
    align-items: center;
  }
  .iwt__media { grid-area: media; min-width: 0; }
  .iwt__copy  { grid-area: copy;  min-width: 0; }

  .iwt--vertical-top    .iwt__inner { align-items: start; }
  .iwt--vertical-bottom .iwt__inner { align-items: end; }

  /* Desktop only — splits and right-side flip */
  @media (min-width: 1025px) {
    /* Image-on-LEFT with splits */
    .iwt--image-left.iwt--split-third     .iwt__inner { grid-template-columns: 1fr 2fr; }
    .iwt--image-left.iwt--split-two_thirds .iwt__inner { grid-template-columns: 2fr 1fr; }

    /* Image-on-RIGHT — flip areas AND mirror the column widths */
    .iwt--image-right .iwt__inner {
      grid-template-areas: "copy media";
      grid-template-columns: 1fr 1fr;
    }
    .iwt--image-right.iwt--split-third     .iwt__inner { grid-template-columns: 2fr 1fr; }
    .iwt--image-right.iwt--split-two_thirds .iwt__inner { grid-template-columns: 1fr 2fr; }
  }

  /* Full-bleed image mode — image escapes left or right viewport edge */
  .iwt--full-bleed .iwt__inner {
    padding-left: 0;
    padding-right: 0;
  }
  .iwt--full-bleed.iwt--image-left .iwt__media  { padding-right: 0; }
  .iwt--full-bleed.iwt--image-right .iwt__media { padding-left: 0; }
  .iwt--full-bleed.iwt--image-left .iwt__copy   { padding-right: 64px; }
  .iwt--full-bleed.iwt--image-right .iwt__copy  { padding-left: 64px; }

  /* ─── Image ─── */
  .iwt__media { position: relative; }
  .iwt__media-frame {
    display: block;
    width: 100%;
    aspect-ratio: var(--iwt-aspect, auto);
    overflow: hidden;
    background: color-mix(in srgb, var(--iwt-fg) 4%, transparent);
    text-decoration: none;
  }
  .iwt--rounded .iwt__media-frame { border-radius: 4px; }
  .iwt--shadow .iwt__media-frame {
    box-shadow: 0 18px 40px -14px color-mix(in srgb, var(--iwt-fg) 35%, transparent);
  }
  .iwt__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: var(--iwt-fit, cover);
    transition: transform 0.8s cubic-bezier(.2,.7,.3,1);
  }
  .iwt--zoom .iwt__media-frame:not(.iwt__media-frame--static):hover .iwt__image {
    transform: scale(1.06);
  }
  .iwt__media-frame--placeholder {
    aspect-ratio: var(--iwt-aspect, 1/1);
    background: color-mix(in srgb, var(--iwt-fg) 8%, transparent);
  }
  .iwt__caption {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: calc(13px * var(--iwt-overall, 1) * var(--iwt-body-mult, 1));
    font-style: italic;
    color: var(--iwt-fg);
    opacity: 0.6;
    margin-top: 12px;
    line-height: 1.4;
  }

  /* ─── Copy ─── */
  .iwt__copy {
    background: var(--iwt-text-bg);
    padding: var(--iwt-text-pad, 0);
  }
  .iwt__copy-inner {
    max-width: 560px;
  }
  .iwt--text-center .iwt__copy { text-align: center; }
  .iwt--text-center .iwt__copy-inner { margin: 0 auto; }
  .iwt--text-right  .iwt__copy { text-align: right; }
  .iwt--text-right  .iwt__copy-inner { margin-left: auto; }

  .iwt__eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: calc(11px * var(--iwt-overall, 1));
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--iwt-accent);
    margin-bottom: 22px;
  }
  .iwt__title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: calc(clamp(32px, 4vw, 56px) * var(--iwt-overall, 1) * var(--iwt-heading-mult, 1));
    line-height: 1.02;
    font-weight: 400;
    letter-spacing: -0.02em;
    margin: 0 0 24px;
    color: var(--iwt-fg);
  }
  .iwt__title em { font-style: italic; }
  .iwt__body {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: calc(18px * var(--iwt-overall, 1) * var(--iwt-body-mult, 1));
    line-height: 1.55;
    color: var(--iwt-fg);
    opacity: 0.85;
    margin-bottom: 32px;
  }
  .iwt__body p { margin: 0 0 0.8em; }
  .iwt__body p:last-child { margin-bottom: 0; }
  .iwt__body em { font-style: italic; }
  .iwt__body strong { font-weight: 600; }
  .iwt__body a { color: var(--iwt-accent); text-decoration: underline; text-underline-offset: 3px; }
  .iwt__body ul, .iwt__body ol { padding-left: 1.25em; margin: 0 0 1em; }

  /* ─── CTAs ─── */
  .iwt__ctas {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
  }
  .iwt--text-center .iwt__ctas { justify-content: center; }
  .iwt--text-right  .iwt__ctas { justify-content: flex-end; }

  .iwt__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Inter', sans-serif;
    text-decoration: none;
    transition: gap 0.25s ease, background 0.25s ease, color 0.25s ease, opacity 0.25s ease;
    white-space: nowrap;
  }
  .iwt__cta--link {
    color: var(--iwt-accent);
    font-size: calc(13px * var(--iwt-overall, 1));
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
  }
  .iwt__cta--link:hover { gap: 16px; }
  .iwt__cta--button {
    background: var(--iwt-accent);
    color: var(--iwt-accent-contrast);
    padding: 16px 32px;
    font-size: calc(13px * var(--iwt-overall, 1));
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 600;
  }
  .iwt__cta--button:hover { opacity: 0.9; }
  .iwt__cta--outline {
    background: transparent;
    color: var(--iwt-fg);
    border: 1px solid var(--iwt-fg);
    padding: 15px 31px;
    font-size: calc(13px * var(--iwt-overall, 1));
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 600;
  }
  .iwt__cta--outline:hover {
    background: var(--iwt-fg);
    color: var(--iwt-bg);
  }

  /* ─── Responsive ─── */
  @media (max-width: 1024px) {
    .iwt__inner {
      grid-template-columns: 1fr;
      grid-template-areas:
        "media"
        "copy";
      padding: 0 32px;
      gap: 40px;
    }
    .iwt--full-bleed .iwt__inner { padding: 0 32px; }
    .iwt--full-bleed.iwt--image-left .iwt__copy,
    .iwt--full-bleed.iwt--image-right .iwt__copy { padding: 0; }
    .iwt__title { font-size: calc(clamp(28px, 6vw, 42px) * var(--iwt-overall, 1) * var(--iwt-heading-mult, 1)); }
  }
/* END_SECTION:image-with-text-redux */

/* START_SECTION:list-collections-editorial (INDEX:45) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .lce {
    --lce-bg: rgb(var(--color-scheme-background));
    --lce-fg: rgb(var(--color-scheme-text));
    --lce-accent: rgb(var(--color-scheme-accent));
    --lce-accent-contrast: rgb(var(--color-scheme-accent-contrast));
    background: var(--lce-bg);
    color: var(--lce-fg);
    font-family: 'Inter', sans-serif;
  }
  .lce__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 64px;
  }

  /* ─── Header ─── */
  .lce__header {
    margin-bottom: 56px;
    text-align: center;
  }
  .lce--align-left .lce__header { text-align: left; }
  .lce__eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: calc(11px * var(--lce-overall, 1));
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--lce-accent);
    margin-bottom: 18px;
  }
  .lce__title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: calc(clamp(40px, 5vw, 64px) * var(--lce-overall, 1) * var(--lce-heading-mult, 1));
    line-height: 1;
    font-weight: 400;
    letter-spacing: -0.02em;
    margin: 0;
    color: var(--lce-fg);
  }
  .lce__title em { font-style: italic; }
  .lce__intro {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: calc(18px * var(--lce-overall, 1) * var(--lce-body-mult, 1));
    font-style: italic;
    line-height: 1.5;
    opacity: 0.8;
    margin: 18px auto 0;
    max-width: 620px;
  }
  .lce--align-left .lce__intro { margin-left: 0; margin-right: 0; }
  .lce__intro p { margin: 0 0 0.6em; }
  .lce__intro p:last-child { margin-bottom: 0; }

  /* ─── Grid ─── */
  .lce__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(var(--lce-cols-mob, 2), minmax(0, 1fr));
    gap: var(--lce-gap, 24px);
  }
  @media (min-width: 1025px) {
    .lce__grid {
      grid-template-columns: repeat(var(--lce-cols-desk, 3), minmax(0, 1fr));
    }
  }

  /* ─── Card ─── */
  .lce__card { position: relative; }
  .lce__card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    position: relative;
    z-index: 1;
    transition: z-index 0s linear 0.45s;
  }
  .lce:not(.lce--no-hover) .lce__card-link:hover {
    z-index: 3;
    transition: z-index 0s linear 0s;
  }

  .lce__card-media {
    position: relative;
    width: 100%;
    aspect-ratio: var(--lce-aspect, 1 / 1);
    overflow: hidden;
    background: color-mix(in srgb, var(--lce-fg) 4%, transparent);
  }
  .lce__card-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: var(--lce-fit, cover);
    transition: transform 0.6s cubic-bezier(.2,.7,.3,1);
    transform-origin: center center;
  }
  .lce__card-image--placeholder {
    width: 100%;
    height: 100%;
    background: color-mix(in srgb, var(--lce-fg) 8%, transparent);
  }
  .lce:not(.lce--no-hover) .lce__card-link:hover .lce__card-image {
    transform: scale(var(--lce-hover-scale, 1.04));
  }

  /* ─── Title: overlay ─── */
  .lce--title-overlay .lce__card-caption {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
    background: linear-gradient(
      to top,
      color-mix(in srgb, #000 55%, transparent) 0%,
      color-mix(in srgb, #000 12%, transparent) 45%,
      transparent 75%
    );
    color: #fff;
  }
  .lce--title-overlay.lce--align-center .lce__card-caption {
    align-items: center;
    text-align: center;
  }
  .lce--title-overlay .lce__card-title { color: #fff; }
  .lce--title-overlay .lce__card-count { color: rgba(255,255,255,0.82); }

  /* ─── Title: below ─── */
  .lce--title-below .lce__card-caption {
    margin-top: 16px;
  }
  .lce--align-center.lce--title-below .lce__card-caption { text-align: center; }
  .lce--align-left.lce--title-below .lce__card-caption { text-align: left; }
  .lce--title-below .lce__card-media {
    transition: transform 0.5s cubic-bezier(.2,.7,.3,1);
  }
  .lce--title-below:not(.lce--no-hover) .lce__card-link:hover .lce__card-media {
    transform: translateY(var(--lce-hover-lift, -6px));
  }

  .lce__card-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: calc(clamp(18px, 1.6vw, 24px) * var(--lce-overall, 1) * var(--lce-heading-mult, 1));
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: var(--lce-fg);
    margin: 0;
  }
  .lce__card-count {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: calc(14px * var(--lce-overall, 1) * var(--lce-body-mult, 1));
    font-style: italic;
    color: var(--lce-fg);
    opacity: 0.7;
    margin-top: 4px;
  }

  .lce__empty {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 18px;
    opacity: 0.6;
    padding: 48px 0;
    text-align: center;
  }

  @media (max-width: 1024px) {
    .lce__inner { padding: 0 32px; }
    .lce__header { margin-bottom: 40px; }
  }
  @media (max-width: 640px) {
    .lce__inner { padding: 0 20px; }
  }
/* END_SECTION:list-collections-editorial */

/* START_SECTION:main-404-editorial-calm (INDEX:47) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;0,9..144,900;1,9..144,400..600&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .ec-404 {
    --e404-bg: rgb(var(--color-scheme-background));
    --e404-fg: rgb(var(--color-scheme-text));
    --e404-accent: rgb(var(--color-scheme-accent));
    --e404-gold: #d4a84a;
    --e404-rule: color-mix(in srgb, var(--e404-fg) 20%, transparent);
    --e404-mute: color-mix(in srgb, var(--e404-fg) 58%, transparent);
    --e404-faint: color-mix(in srgb, var(--e404-fg) 45%, transparent);
    --e404-ease: cubic-bezier(.2,.7,.3,1);
    background: var(--e404-bg);
    color: var(--e404-fg);
    font-family: 'Inter', system-ui, sans-serif;
    display: grid;
    place-items: center;
    position: relative;
    overflow: hidden;
    padding-left: 56px;
    padding-right: 56px;
  }

  .ec-404__inner {
    position: relative;
    width: 100%;
    max-width: 760px;
    text-align: center;
  }

  /* ghosted oversized numeral */
  .ec-404__numeral {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-weight: 900;
    font-size: calc(clamp(220px, 34vw, 460px) * var(--e404-numeral-mult, 1));
    line-height: 0.8;
    letter-spacing: -0.04em;
    color: var(--e404-gold);
    opacity: 0.16;
    user-select: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -54%);
    white-space: nowrap;
    pointer-events: none;
    z-index: 0;
  }

  .ec-404__content { position: relative; z-index: 1; }

  .ec-404__status {
    font-family: 'Inter', sans-serif;
    font-size: calc(11px * var(--e404-overall, 1));
    font-weight: 600;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--e404-accent);
    margin: 0;
  }

  .ec-404__title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: calc(clamp(38px, 5.4vw, 64px) * var(--e404-overall, 1));
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -0.01em;
    text-wrap: balance;
    margin: 18px 0 0;
    color: var(--e404-fg);
  }
  .ec-404__title em {
    font-style: italic;
    font-variation-settings: "opsz" 144;
  }

  .ec-404__sub {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: calc(clamp(17px, 1.5vw, 20px) * var(--e404-overall, 1));
    line-height: 1.5;
    color: var(--e404-mute);
    margin: 18px auto 0;
    max-width: 30em;
    text-wrap: pretty;
  }

  .ec-404__rule {
    width: 56px;
    height: 1px;
    background: var(--e404-fg);
    margin: 34px auto 0;
  }

  .ec-404__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 40px;
    margin-top: 34px;
  }
  .ec-404__action {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Inter', sans-serif;
    font-size: calc(11px * var(--e404-overall, 1));
    font-weight: 600;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--e404-fg);
    transition: transform .25s var(--e404-ease), color .25s var(--e404-ease);
  }
  .ec-404__action--primary { color: var(--e404-accent); }
  .ec-404__action:hover { transform: translateX(6px); }
  .ec-404__action span { letter-spacing: 0; }

  /* inline search */
  .ec-404__search {
    display: flex;
    align-items: center;
    gap: 10px;
    width: min(420px, 100%);
    margin: 30px auto 0;
    border-bottom: 1px solid var(--e404-rule);
    padding-bottom: 6px;
    transition: border-color .25s var(--e404-ease);
  }
  .ec-404__search:focus-within { border-color: var(--e404-fg); }
  .ec-404__search-label {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .ec-404__search-icon {
    width: 15px; height: 15px; flex: none; position: relative; opacity: .6;
  }
  .ec-404__search-icon::before {
    content: ''; position: absolute; top: 0; left: 0;
    width: 10px; height: 10px; border: 1.5px solid var(--e404-fg); border-radius: 50%;
  }
  .ec-404__search-icon::after {
    content: ''; position: absolute; bottom: 1px; right: 1px;
    width: 5px; height: 1.5px; background: var(--e404-fg); transform: rotate(45deg);
  }
  .ec-404__input {
    border: none; background: transparent; width: 100%;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 17px;
    color: var(--e404-fg);
    outline: none;
  }
  .ec-404__input::placeholder { font-style: italic; color: var(--e404-faint); }
  .ec-404__input::-webkit-search-cancel-button { -webkit-appearance: none; }

  .ec-404 :is(a, input):focus-visible {
    outline: 2px solid var(--e404-accent);
    outline-offset: 3px;
  }

  /* entrance */
  @media (prefers-reduced-motion: no-preference) {
    .ec-404__content > * { animation: ec404-rise .5s var(--e404-ease) both; }
    .ec-404__content > *:nth-child(1) { animation-delay: .04s; }
    .ec-404__content > *:nth-child(2) { animation-delay: .10s; }
    .ec-404__content > *:nth-child(3) { animation-delay: .16s; }
    .ec-404__content > *:nth-child(4) { animation-delay: .22s; }
    .ec-404__content > *:nth-child(5) { animation-delay: .28s; }
    .ec-404__numeral { animation: ec404-fade .8s var(--e404-ease) both; }
    @keyframes ec404-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
    @keyframes ec404-fade { from { opacity: 0; } to { opacity: .16; } }
  }

  @media (max-width: 1023px) {
    .ec-404 { padding-left: 22px; padding-right: 22px; }
    .ec-404__numeral { font-size: calc(clamp(180px, 56vw, 320px) * var(--e404-numeral-mult, 1)); }
  }
/* END_SECTION:main-404-editorial-calm */

/* START_SECTION:main-product-editorial-calm (INDEX:57) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

  /* ───── Root ───── */
  .epc-pdp {
    --epc-mute: rgba(26, 23, 19, 0.6);
    --epc-rule: rgba(26, 23, 19, 0.15);
    --epc-rule-strong: rgba(26, 23, 19, 0.35);
    --epc-apply-bg: #d4a84a;
    --epc-apply-bg-hover: #c2962f;
    --epc-apply-fg: #1a1713;
    --epc-apply-glow: rgba(212, 168, 74, 0.55);
    padding-top: var(--epc-pad-top, 0);
    padding-bottom: var(--epc-pad-bottom, 0);
    font-family: 'Inter', sans-serif;
  }

  /* ───── Breadcrumbs ───── */
  .epc-pdp .epc-breadcrumbs {
    padding-top: clamp(16px, 2vw, 28px);
    padding-bottom: clamp(12px, 1.5vw, 20px);
    border-bottom: 1px solid var(--epc-rule);
  }
  .epc-pdp .epc-breadcrumbs ol {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--epc-mute);
  }
  .epc-pdp .epc-breadcrumbs a {
    color: inherit;
    text-decoration: none;
    transition: color 0.15s;
  }
  .epc-pdp .epc-breadcrumbs a:hover {
    color: rgb(var(--color-scheme-text));
  }
  .epc-pdp .epc-crumb-leaf {
    color: rgb(var(--color-scheme-text));
  }
  .epc-pdp .epc-crumb-sep {
    opacity: 0.5;
  }

  /* ───── Grid ───── */
  .epc-pdp .epc-grid {
    display: grid;
    grid-template-columns: 1fr;
  }
  @media (min-width: 1024px) {
    .epc-pdp .epc-grid {
      grid-template-columns: 1fr 1fr;
    }
    .epc-pdp[data-media-position="right"] .epc-media {
      order: 2;
      border-right: 0;
      border-left: 1px solid var(--epc-rule);
    }
    .epc-pdp[data-media-position="right"] .epc-content {
      order: 1;
    }
  }

  /* ───── Media column ───── */
  .epc-pdp .epc-media {
    padding: clamp(32px, 4vw, 64px);
    border-bottom: 1px solid var(--epc-rule);
  }
  @media (min-width: 1024px) {
    .epc-pdp .epc-media {
      border-bottom: 0;
      border-right: 1px solid var(--epc-rule);
      position: sticky;
      top: var(--header-height, 0px);
      align-self: start;
    }
  }
  .epc-pdp[data-media-bg="on"] .epc-media {
    background-color: var(--epc-media-bg) !important;
  }
  .epc-pdp .epc-media-inner {
    max-width: 520px;
    margin: 0 auto;
    width: 100%;
  }
  .epc-pdp .epc-cover-frame {
    width: 100%;
  }
  .epc-pdp .epc-cover-frame--empty {
    aspect-ratio: 1 / var(--epc-cover-ratio, 0.6667);
    background: var(--epc-cover-bg, #000);
  }
  /* Uniform cover sizing */
  .epc-pdp[data-uniform-covers="on"] image-with-placeholder {
    background-color: var(--epc-cover-bg, #000) !important;
  }
  .epc-pdp[data-uniform-covers="on"] image-with-placeholder img.image {
    object-fit: contain !important;
  }
  .epc-pdp[data-uniform-covers="on"] image-with-placeholder > div.bg-scheme-text {
    display: none;
  }

  /* Thumbnails */
  .epc-pdp .epc-thumbs {
    list-style: none;
    margin: clamp(16px, 2vw, 24px) 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
  }
  .epc-pdp .epc-thumb {
    display: block;
    aspect-ratio: 1;
    border: 1px solid var(--epc-rule);
    overflow: hidden;
    background: var(--epc-cover-bg, #000);
    transition: border-color 0.15s, transform 0.15s;
  }
  .epc-pdp .epc-thumb:hover { transform: translateY(-1px); }
  .epc-pdp .epc-thumb.is-active {
    border-color: rgb(var(--color-scheme-text));
    border-width: 2px;
  }
  .epc-pdp .epc-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }

  /* ───── Content column ───── */
  .epc-pdp .epc-content {
    padding: clamp(48px, 5vw, 80px) clamp(24px, 4vw, 56px);
  }
  .epc-pdp[data-content-bg="on"] .epc-content {
    background-color: var(--epc-content-bg) !important;
  }
  .epc-pdp .epc-content-inner {
    max-width: 620px;
  }

  .epc-pdp .epc-eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--epc-accent);
    font-weight: 600;
    margin-bottom: 18px;
  }

  .epc-pdp .epc-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(36px, 4.5vw, 56px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.02em;
    margin: 0 0 12px;
    color: rgb(var(--color-scheme-text));
  }

  .epc-pdp .epc-byline {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: clamp(17px, 1.6vw, 20px);
    font-style: italic;
    color: var(--epc-mute);
    margin-bottom: 24px;
  }

  /* Staff Pick badge */
  .epc-pdp .epc-badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 24px;
  }
  .epc-pdp .epc-staff-pick {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    background: var(--epc-apply-bg);
    color: var(--epc-apply-fg);
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 700;
    border-radius: 2px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
  }

  /* Price */
  .epc-pdp .epc-price {
    padding: 12px 0 24px;
    margin-bottom: 28px;
    border-bottom: 1px solid var(--epc-rule);
    font-family: 'Fraunces', 'Times New Roman', serif;
  }

  /* Form rows */
  .epc-pdp .epc-form-row {
    margin: 0 0 24px;
  }
  .epc-pdp .epc-form-label {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 12px;
    color: rgb(var(--color-scheme-text));
  }

  /* Variant picker — soften theme defaults to match editorial */
  .epc-pdp .epc-variant-picker-wrap fieldset {
    margin: 0;
    padding: 0;
    border: 0;
  }
  .epc-pdp .epc-variant-picker-wrap legend {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 12px;
  }

  /* Quantity */
  .epc-pdp .epc-quantity-wrap { margin-bottom: 24px; }

  /* Buy row — gold ATC with breathe + jiggle for sold-out emphasis */
  .epc-pdp .epc-buy-row { margin: 0 0 12px; }
  .epc-pdp .epc-buy-row .add-to-cart {
    background: var(--epc-apply-bg);
    color: var(--epc-apply-fg);
    border: 0;
    border-radius: 2px;
    padding: 16px 22px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.15s, transform 0.15s;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
    animation: epc-apply-breathe 2.6s ease-in-out infinite;
    transform-origin: center;
  }
  .epc-pdp .epc-buy-row .add-to-cart:hover {
    background: var(--epc-apply-bg-hover);
    transform: translateY(-1px);
    animation-play-state: paused;
  }
  .epc-pdp .epc-buy-row .add-to-cart:focus-visible {
    outline: 2px solid var(--epc-apply-fg);
    outline-offset: 2px;
    animation-play-state: paused;
  }
  /* Sold-out state — kill the breathe, dim the gold */
  .epc-pdp [data-epc-buy][data-sold-out="true"] .add-to-cart {
    animation: none;
    background: rgb(var(--color-scheme-secondary));
    color: rgb(var(--color-scheme-background));
    cursor: not-allowed;
  }
  /* Shop Pay container — sit close, don't fight the gold ATC */
  .epc-pdp .epc-buy-row .payment-button-wrapper {
    margin-top: 10px;
  }

  .epc-pdp .epc-notify-wrap {
    margin: 0 0 20px;
  }
  .epc-pdp .epc-notify-box {
    border: 1px solid rgba(var(--color-scheme-text), 0.16);
    background: rgba(var(--color-scheme-background), 0.6);
    padding: 14px;
  }
  .epc-pdp .epc-notify-title {
    margin: 0 0 6px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
  }
  .epc-pdp .epc-notify-body {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.45;
  }
  .epc-pdp .epc-notify-label {
    display: block;
    margin: 0 0 6px;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
  }
  .epc-pdp .epc-notify-input {
    width: 100%;
    border: 1px solid var(--epc-apply-bg);
    box-shadow: 0 0 8px rgba(212, 168, 74, 0.45);
    background: rgb(var(--color-scheme-background));
    color: rgb(var(--color-scheme-text));
    min-height: 42px;
    padding: 10px 12px;
    margin: 0 0 10px;
  }
  .epc-pdp .epc-notify-input:focus-visible {
    outline: 2px solid var(--epc-accent);
    outline-offset: 1px;
  }
  /* Attention pulse — fired when "Notify me" is clicked with an empty/invalid email */
  .epc-pdp .epc-notify-input.is-pulsing {
    border-color: var(--epc-apply-bg);
    animation: epc-notify-pulse 0.9s ease-out 3;
  }
  @keyframes epc-notify-pulse {
    0% {
      box-shadow: 0 0 0 0 var(--epc-apply-glow);
    }
    70% {
      box-shadow: 0 0 0 8px rgba(212, 168, 74, 0);
    }
    100% {
      box-shadow: 0 0 0 0 rgba(212, 168, 74, 0);
    }
  }
  .epc-pdp .epc-notify-submit {
    width: 100%;
    border: 0;
    min-height: 42px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--epc-apply-fg);
    background: var(--epc-apply-bg);
    cursor: pointer;
  }
  .epc-pdp .epc-notify-submit:hover {
    background: var(--epc-apply-bg-hover);
  }
  .epc-pdp .epc-notify-consent {
    margin: 10px 0 0;
    font-size: 12px;
    line-height: 1.4;
    opacity: 0.84;
  }
  .epc-pdp .epc-notify-success {
    margin: 0;
    font-size: 14px;
    color: rgb(var(--color-scheme-text));
  }
  .epc-pdp .epc-notify-errors {
    margin: 0 0 10px;
    font-size: 13px;
  }

  @keyframes epc-apply-breathe {
    0%, 100% {
      transform: scale(1);
      box-shadow:
        0 1px 0 rgba(0, 0, 0, 0.06),
        0 0 0 0 var(--epc-apply-glow);
    }
    50% {
      transform: scale(1.02);
      box-shadow:
        0 1px 0 rgba(0, 0, 0, 0.06),
        0 0 0 6px rgba(212, 168, 74, 0);
    }
  }

  /* Inventory line */
  .epc-pdp .epc-inventory {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: rgba(212, 168, 74, 0.08);
    border-left: 3px solid var(--epc-apply-bg);
    margin: 16px 0 28px;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 14px;
    font-style: italic;
    color: rgb(var(--color-scheme-text));
  }
  .epc-pdp .epc-inventory-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #b6791c;
    display: inline-block;
    flex-shrink: 0;
  }
  .epc-pdp .epc-inventory-text strong {
    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 700;
  }

  /* Pickup availability — restyle native widget */
  .epc-pdp .pickup-availability {
    margin-top: 16px;
    padding: 14px 16px;
    background: rgba(58, 106, 58, 0.06);
    border-left: 3px solid #3a6a3a;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 14px;
  }
  .epc-pdp .pickup-availability h2 {
    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-size: 12px;
    letter-spacing: 0.05em;
    font-weight: 600;
  }

  /* Description */
  .epc-pdp .epc-description {
    margin: 32px 0 24px;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: clamp(16px, 1.4vw, 18px);
    line-height: 1.55;
    color: rgb(var(--color-scheme-text));
  }
  .epc-pdp .epc-description .rte > * + * { margin-top: 0.85em; }

  /* Staff note pull-quote */
  .epc-pdp .epc-staff-note {
    margin: 0 0 36px;
    padding: 12px 0 12px 20px;
    border-left: 2px solid var(--epc-accent);
  }
  .epc-pdp .epc-staff-note-body {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 17px;
    font-style: italic;
    color: rgb(var(--color-scheme-text));
    line-height: 1.5;
  }
  .epc-pdp .epc-staff-picker {
    margin-top: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.22em;
    color: var(--epc-accent);
    font-weight: 600;
  }

  /* Metafield chips */
  .epc-pdp .epc-chip-group {
    margin: 0 0 20px;
  }
  .epc-pdp .epc-chip-label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--epc-mute);
    margin-bottom: 8px;
  }
  .epc-pdp .epc-chip-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }
  .epc-pdp .epc-chip {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border: 1px solid var(--epc-apply-bg);
    color: rgb(var(--color-scheme-text));
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.04em;
    text-decoration: none;
    border-radius: 999px;
    transition: background-color 0.15s, color 0.15s;
  }
  .epc-pdp .epc-chip:hover {
    background: var(--epc-apply-bg);
    color: var(--epc-apply-fg);
  }
  .epc-pdp .epc-chip--plain { cursor: default; }

  /* Tabs */
  .epc-pdp .epc-tabs {
    margin: 32px 0 0;
    border-top: 1px solid var(--epc-rule);
  }
  .epc-pdp .epc-tab {
    border-bottom: 1px solid var(--epc-rule);
  }
  .epc-pdp .epc-tab-head {
    width: 100%;
    background: transparent;
    border: 0;
    padding: 18px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: rgb(var(--color-scheme-text));
    text-align: left;
  }
  .epc-pdp .epc-tab-icon {
    font-family: 'Fraunces', serif;
    font-size: 20px;
    line-height: 1;
    color: var(--epc-accent);
  }
  .epc-pdp .epc-tab-body {
    padding: 0 0 20px;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 16px;
    font-style: italic;
    line-height: 1.6;
    color: rgb(var(--color-scheme-text));
  }
  .epc-pdp .epc-tab-body > * + * { margin-top: 0.75em; }
  .epc-pdp .epc-detail-list {
    margin: 0;
    display: grid;
    gap: 0;
    font-style: normal;
  }
  .epc-pdp .epc-detail-list .epc-chip-list {
    margin-left: 0;
    list-style: none;
  }
  .epc-pdp .epc-detail-list .epc-chip-list > li {
    margin-top: 0;
  }
  .epc-pdp .epc-detail-list .epc-chip {
    font-style: normal;
  }

  /* Share */
  .epc-pdp .epc-share {
    margin: 32px 0 0;
    padding-top: 20px;
    border-top: 1px solid var(--epc-rule);
  }

  /* Trigger */
  .epc-share-trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: transparent;
    border: 1px solid var(--epc-rule-strong);
    border-radius: 999px;
    color: var(--epc-apply-fg);
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
  }
  .epc-share-trigger:hover {
    background: rgba(26, 23, 19, 0.04);
    border-color: var(--epc-apply-fg);
  }
  .epc-share-trigger:focus-visible {
    outline: 2px solid var(--epc-apply-bg);
    outline-offset: 2px;
  }
  .epc-share-trigger__icon { display: inline-flex; }

  /* Sheet root + backdrop */
  .epc-share-root[hidden] { display: none !important; }
  .epc-share-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    z-index: 9999;
    animation: epc-share-fade 0.22s ease-out;
  }
  .epc-share-dialog {
    width: 100%;
    max-width: 520px;
    background: var(--epc-content-bg, #faf6ec);
    border-radius: 16px 16px 0 0;
    padding: 20px 20px 24px;
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.18);
    animation: epc-share-slide 0.26s ease-out;
  }
  @media (min-width: 640px) {
    .epc-share-backdrop { align-items: center; }
    .epc-share-dialog { border-radius: 16px; }
  }
  .epc-share-dialog__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
  }
  .epc-share-dialog__title {
    font-family: 'Fraunces', serif;
    font-size: 20px;
    font-weight: 500;
    margin: 0;
    color: var(--epc-apply-fg);
  }
  .epc-share-dialog__close {
    background: transparent;
    border: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--epc-apply-fg);
  }
  .epc-share-dialog__close:hover { background: rgba(26, 23, 19, 0.06); }

  /* Buttons grid */
  .epc-share-dialog__buttons {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(86px, 1fr));
    gap: 8px;
  }
  .epc-share-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    padding: 12px 6px;
    background: transparent;
    border: 1px solid var(--epc-rule);
    border-radius: 12px;
    cursor: pointer;
    color: var(--epc-apply-fg);
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    text-align: center;
    transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
  }
  .epc-share-btn:hover:not([disabled]) {
    background: rgba(26, 23, 19, 0.04);
    border-color: var(--epc-rule-strong);
    transform: translateY(-1px);
  }
  .epc-share-btn:focus-visible {
    outline: 2px solid var(--epc-apply-bg);
    outline-offset: 2px;
  }
  .epc-share-btn[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
  }
  .epc-share-btn__icon {
    display: inline-flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
  }
  .epc-share-btn__icon svg { width: 100%; height: 100%; }
  .epc-share-btn__label { line-height: 1.2; }
  .epc-share-btn__hint {
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--epc-mute);
  }

  /* Status / state */
  .epc-share-dialog__status {
    margin: 12px 0 0;
    font-size: 12px;
    color: var(--epc-mute);
    min-height: 16px;
    text-align: center;
  }
  .epc-share-root[data-state="success"] .epc-share-dialog__status { color: #2e7d32; }
  .epc-share-root[data-state="error"] .epc-share-dialog__status { color: #b3261e; }

  @keyframes epc-share-fade {
    from { opacity: 0; }
    to   { opacity: 1; }
  }
  @keyframes epc-share-slide {
    from { transform: translateY(20px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
  }
  @media (prefers-reduced-motion: reduce) {
    .epc-share-backdrop,
    .epc-share-dialog { animation: none; }
    .epc-share-btn { transition: none; }
  }

  /* Reduced motion */
  @media (prefers-reduced-motion: reduce) {
    .epc-pdp .epc-buy-row .add-to-cart {
      animation: none;
    }
    .epc-pdp .epc-thumb { transition: none; }
    .epc-pdp .epc-chip { transition: none; }
    .epc-pdp .epc-notify-input.is-pulsing {
      animation: none;
      box-shadow: 0 0 0 3px var(--epc-apply-glow);
    }
  }

  /* Mobile tweaks */
  @media (max-width: 1023px) {
    .epc-pdp .epc-content { padding: 40px 24px; }
    .epc-pdp .epc-title { font-size: clamp(32px, 8vw, 44px); }
  }
/* END_SECTION:main-product-editorial-calm */

/* START_SECTION:main-search-editorial-calm (INDEX:64) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .ec-search {
    --es-bg: rgb(var(--color-scheme-background));
    --es-fg: rgb(var(--color-scheme-text));
    --es-accent: rgb(var(--color-scheme-accent));
    --es-rule: color-mix(in srgb, var(--es-fg) 15%, transparent);
    --es-rule-strong: color-mix(in srgb, var(--es-fg) 28%, transparent);
    --es-mute: color-mix(in srgb, var(--es-fg) 60%, transparent);
    --es-faint: color-mix(in srgb, var(--es-fg) 45%, transparent);
    --es-gold: #d4a84a;
    --es-tile: color-mix(in srgb, var(--es-fg) 7%, var(--es-bg));
    background: var(--es-bg);
    color: var(--es-fg);
    font-family: 'Inter', sans-serif;
  }
  .ec-search__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 64px;
  }

  /* ───── Header ───── */
  .ec-search__header { margin-bottom: 40px; }
  .ec-search__eyebrow,
  .ec-search__eyebrow.ec-sort-eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: calc(11px * var(--es-eyebrow-mult, 1));
    letter-spacing: 0.35em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--es-fg);
    opacity: 0.55;
    margin-bottom: 28px;
  }
  .ec-search__title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: calc(clamp(40px, 5.5vw, 92px) * var(--es-overall, 1) * var(--es-title-mult, 1));
    line-height: 0.95;
    font-weight: 400;
    letter-spacing: -0.025em;
    margin: 0;
    color: var(--es-fg);
  }
  .ec-search__title em {
    font-style: italic;
    font-variation-settings: "opsz" 144;
  }
  .ec-search__subline {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: calc(clamp(17px, 1.4vw, 21px) * var(--es-overall, 1));
    line-height: 1.5;
    color: var(--es-mute);
    margin: 18px 0 0;
  }

  /* ───── Search form ───── */
  .ec-search__form { margin-bottom: 64px; }
  .ec-search__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .ec-search__field {
    display: flex;
    align-items: baseline;
    gap: 24px;
    border-bottom: 1.5px solid var(--es-rule-strong);
    transition: border-color 0.25s ease;
  }
  .ec-search__field:focus-within { border-bottom-color: var(--es-accent); }
  .ec-search__input {
    flex: 1 1 auto;
    width: 100%;
    background: transparent;
    border: 0;
    outline: none;
    color: var(--es-fg);
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: calc(clamp(22px, 2.4vw, 34px) * var(--es-overall, 1));
    font-weight: 400;
    letter-spacing: -0.01em;
    padding: 14px 0;
  }
  .ec-search__input::placeholder {
    color: var(--es-faint);
    font-style: italic;
  }
  .ec-search__input::-webkit-search-cancel-button { -webkit-appearance: none; }
  .ec-search__submit {
    flex: 0 0 auto;
    background: transparent;
    border: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--es-fg);
    padding: 0;
    transition: color 0.2s ease, transform 0.25s cubic-bezier(.2,.7,.3,1);
  }
  .ec-search__submit:hover {
    color: var(--es-accent);
    transform: translateX(4px);
  }
  .ec-search__submit-arrow { font-size: 16px; }

  /* ───── Topbar + sort ───── */
  .ec-search__topbar {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 18px;
    margin-bottom: 28px;
    border-bottom: 1px solid var(--es-rule);
    font-family: 'Inter', sans-serif;
  }
  .ec-search__topbar-count {
    font-size: 13px;
    color: var(--es-mute);
  }
  .ec-search__topbar-count strong {
    color: inherit;
    font-weight: 600;
  }
  .ec-sort {
    position: relative;
    font-size: 13px;
    z-index: 50;
  }
  .ec-sort[open] { z-index: 200; }
  .ec-sort-summary {
    cursor: pointer;
    list-style: none;
    border: 1px solid var(--es-rule-strong);
    padding: 6px 14px;
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
  }
  .ec-sort-summary::-webkit-details-marker { display: none; }
  .ec-search__eyebrow.ec-sort-eyebrow {
    margin-bottom: 0;
    opacity: 0.55;
    font-size: calc(10px * var(--es-eyebrow-mult, 1));
    letter-spacing: 0.25em;
  }
  .ec-sort-current { font-weight: 500; }
  .ec-sort-caret { opacity: 0.5; font-size: 11px; }
  .ec-sort-menu {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    min-width: 14rem;
    border: 1px solid var(--es-rule-strong);
    background: var(--es-bg);
    list-style: none;
    margin: 0;
    padding: 4px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    isolation: isolate;
  }
  .ec-sort-menu > li { margin: 0; padding: 0; }
  .ec-sort-link {
    display: grid;
    grid-template-columns: 16px 1fr;
    column-gap: 6px;
    align-items: center;
    padding: 8px 12px;
    text-decoration: none;
    color: inherit;
    font-size: 13px;
    border-radius: 2px;
  }
  .ec-sort-link:hover,
  .ec-sort-link.is-active {
    color: var(--es-accent);
    background: color-mix(in srgb, var(--es-fg) 4%, transparent);
  }
  .ec-sort-link.is-active { font-weight: 600; }
  .ec-sort-link__check {
    display: inline-flex;
    justify-content: center;
    width: 16px;
    font-size: 12px;
    line-height: 1;
  }

  /* ───── Product grid ───── */
  .ec-search__grid {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 24px;
    margin: 0 0 64px;
    padding: 0;
  }
  .ec-search__cell { list-style: none; margin: 0; }
  @media (min-width: 1024px) {
    .ec-search__grid {
      grid-template-columns: repeat(var(--es-cols, 3), minmax(0, 1fr));
      gap: 44px 32px;
    }
  }

  /* ───── Product card (editorial) ───── */
  .ec-search__card {
    display: block;
    text-decoration: none;
    color: inherit;
  }
  .ec-search__card-tile {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    padding: 0;
    aspect-ratio: 3 / 4;
    overflow: hidden;
  }
  .ec-search--tile .ec-search__card-tile {
    background: var(--es-tile);
    padding: 26px 28px;
  }
  .ec-search__card-cover {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    box-shadow: 0 6px 18px -10px rgba(0, 0, 0, 0.5);
    transition: transform 0.3s cubic-bezier(.2,.7,.3,1);
  }
  .ec-search__card:hover .ec-search__card-cover,
  .ec-search__card:focus-visible .ec-search__card-cover { transform: translateY(-4px); }
  .ec-search__card-cover--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 14%;
    text-align: center;
    box-shadow: none;
  }
  .ec-search__card-cover-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-style: italic;
    font-size: 14px;
    line-height: 1.15;
    color: var(--es-mute);
  }
  .ec-search__card-flag {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 2px;
    background: var(--es-gold);
    color: #1a1713;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
  }
  .ec-search__card-title {
    display: block;
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: calc(15px * var(--es-overall, 1));
    font-weight: 600;
    line-height: 1.25;
    margin-top: 14px;
    transition: color 0.25s ease;
  }
  .ec-search__card:hover .ec-search__card-title { color: var(--es-accent); }
  .ec-search__card-author {
    display: block;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: calc(13px * var(--es-overall, 1));
    color: var(--es-mute);
    margin-top: 3px;
  }
  .ec-search__card-price {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: calc(12px * var(--es-overall, 1));
    font-weight: 500;
    margin-top: 7px;
  }

  /* ───── Secondary results (pages / articles) ───── */
  .ec-search__secondary {
    display: grid;
    gap: 56px;
    margin-bottom: 64px;
  }
  @media (min-width: 1024px) {
    .ec-search__secondary {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 80px;
    }
  }
  .ec-search__group-title {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: calc(26px * var(--es-overall, 1));
    font-weight: 500;
    letter-spacing: -0.01em;
    margin: 0 0 12px;
    color: var(--es-fg);
  }
  .ec-search__rows {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .ec-search__row {
    border-bottom: 1px solid var(--es-rule);
  }
  .ec-search__row-link {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 0;
    text-decoration: none;
    color: inherit;
    transition: transform 0.35s cubic-bezier(.2,.7,.3,1), color 0.25s ease;
  }
  .ec-search__row-link:hover {
    transform: translateX(10px);
    color: var(--es-accent);
  }
  .ec-search__row-link:focus-visible {
    outline: 2px solid var(--es-accent);
    outline-offset: 6px;
  }
  .ec-search__row-name {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: calc(22px * var(--es-overall, 1));
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.01em;
  }
  .ec-search__row-meta {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: var(--es-faint);
    white-space: nowrap;
    flex: 0 0 auto;
  }
  .ec-search__row-meta--excerpt {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 15px;
    white-space: normal;
    text-align: right;
    max-width: 55%;
  }

  /* ───── Empty state ───── */
  .ec-search__empty {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: calc(19px * var(--es-overall, 1));
    line-height: 1.55;
    color: var(--es-mute);
    max-width: 640px;
    padding: 24px 0 48px;
  }
  .ec-search__empty strong {
    font-style: normal;
    color: var(--es-fg);
  }
  .ec-search__empty a {
    color: var(--es-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  /* ───── Pagination ───── */
  .ec-search__strip {
    border-top: 1px solid var(--es-rule);
    padding-top: 48px;
  }
  .ec-pages {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 14px;
    font-family: 'Inter', sans-serif;
  }
  .ec-page {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border: 1px solid var(--es-rule-strong);
    text-decoration: none;
    color: inherit;
    font-size: 13px;
    font-weight: 500;
    transition: background 0.15s, color 0.15s;
  }
  .ec-page:hover { color: var(--es-accent); }
  .ec-page--active {
    background: var(--es-fg);
    color: var(--es-bg);
    cursor: default;
  }
  .ec-page--prev { padding: 0 18px; margin-right: 8px; }
  .ec-page--next { padding: 0 18px; margin-left: 8px; }
  .ec-page-ellipsis {
    color: var(--es-mute);
    padding: 0 4px;
  }
  .ec-pages-meta {
    flex-basis: 100%;
    text-align: center;
    margin-top: 12px;
    font-size: 11px;
    letter-spacing: 0.05em;
    color: var(--es-mute);
  }

  /* ───── Responsive ───── */
  @media (max-width: 1023px) {
    .ec-search__inner { padding: 0 32px; }
  }
  @media (max-width: 600px) {
    .ec-search__inner { padding: 0 20px; }
    .ec-search__header { margin-bottom: 28px; }
    .ec-search__field { gap: 12px; }
    .ec-search__submit-text { display: none; }
    .ec-search__row-meta--excerpt { display: none; }
  }
/* END_SECTION:main-search-editorial-calm */

/* START_SECTION:new-arrivals (INDEX:71) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .new-arrivals {
    --na-bg: rgb(var(--color-scheme-background));
    --na-fg: rgb(var(--color-scheme-text));
    --na-accent: rgb(var(--color-scheme-accent));
    --na-accent-contrast: rgb(var(--color-scheme-accent-contrast));
    background: var(--na-bg);
    color: var(--na-fg);
  }

  .new-arrivals__inner {
    max-width: 1400px;
    margin: 0 auto;
  }

  .new-arrivals__header {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    column-gap: 48px;
    row-gap: 18px;
    align-items: end;
    padding: 0 64px;
    margin-bottom: 56px;
  }

  .new-arrivals__eyebrow {
    grid-column: 1;
    grid-row: 1;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--na-accent);
    display: flex;
    align-items: center;
    gap: 14px;
  }
  .new-arrivals__sep {
    display: inline-block;
    height: 1px;
    width: 48px;
    background: currentColor;
    text-indent: -9999px;
    overflow: hidden;
  }
  .new-arrivals__title {
    grid-column: 1;
    grid-row: 2;
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(40px, 5vw, 64px);
    line-height: 1;
    font-weight: 400;
    letter-spacing: -0.02em;
    margin: 0;
    color: var(--na-fg);
  }
  .new-arrivals__title em { font-style: italic; }

  .new-arrivals__nav {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: end;
    display: flex;
    gap: 10px;
  }
  .new-arrivals__nav-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--na-fg);
    background: transparent;
    color: var(--na-fg);
    font-size: 16px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.25s ease, color 0.25s ease, opacity 0.25s ease, border-color 0.25s ease;
  }
  .new-arrivals__nav-btn--next {
    background: var(--na-fg);
    color: var(--na-bg);
  }
  .new-arrivals__nav-btn:hover {
    background: var(--na-accent);
    color: var(--na-accent-contrast);
    border-color: var(--na-accent);
  }
  .new-arrivals__nav-btn.is-disabled {
    opacity: 0.3;
    pointer-events: none;
  }
  .new-arrivals__nav-btn:focus-visible {
    outline: 2px solid var(--na-accent);
    outline-offset: 3px;
  }

  .new-arrivals__strip {
    position: relative;
  }
  .new-arrivals__strip::before,
  .new-arrivals__strip::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 24px;
    width: 64px;
    pointer-events: none;
    z-index: 2;
    transition: opacity 0.3s ease;
  }
  .new-arrivals__strip::before {
    left: 0;
    background: linear-gradient(to right, var(--na-bg), transparent);
  }
  .new-arrivals__strip::after {
    right: 0;
    background: linear-gradient(to left, var(--na-bg), transparent);
  }
  .new-arrivals__strip.is-at-start::before { opacity: 0; }
  .new-arrivals__strip.is-at-end::after { opacity: 0; }

  .new-arrivals__row {
    display: flex;
    gap: 28px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 64px;
    padding: 0 64px 28px;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .new-arrivals__row--pending:not(.is-ready) {
    visibility: hidden;
  }
  .new-arrivals__row::-webkit-scrollbar { display: none; }

  .new-arrivals__card {
    flex: 0 0 240px;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
  }

  .new-arrivals__index {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--na-fg);
    opacity: 0.55;
    margin-bottom: 12px;
  }

  .new-arrivals__cover-link {
    display: block;
    text-decoration: none;
    color: inherit;
    position: relative;
    z-index: 1;
    transition: z-index 0s linear 0.5s;
  }
  .new-arrivals__cover-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 2 / 3;
  }
  .new-arrivals__cover {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: var(--na-fg);
    background: color-mix(in srgb, var(--na-fg) 4%, transparent);
    box-shadow: 0 12px 28px -8px color-mix(in srgb, var(--na-fg) 35%, transparent);
    transition: transform 0.5s cubic-bezier(.2,.7,.3,1), box-shadow 0.5s cubic-bezier(.2,.7,.3,1);
    transform-origin: center bottom;
  }
  .new-arrivals__cover--placeholder {
    background: color-mix(in srgb, var(--na-fg) 8%, transparent);
    box-shadow: none;
  }
  .new-arrivals:not(.new-arrivals--no-hover) .new-arrivals__cover-link:hover {
    z-index: 3;
    transition: z-index 0s linear 0s;
  }
  .new-arrivals:not(.new-arrivals--no-hover) .new-arrivals__cover-link:hover .new-arrivals__cover {
    transform: translateY(var(--na-hover-lift, -6px)) scale(var(--na-hover-scale, 1.06));
    box-shadow: 0 22px 44px -10px color-mix(in srgb, var(--na-fg) 48%, transparent);
  }

  .new-arrivals__stamp {
    position: absolute;
    top: 12px;
    right: -6px;
    background: var(--na-bg);
    color: var(--na-accent);
    border: 1.5px solid var(--na-accent);
    padding: 6px 10px 5px;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    transform: rotate(4deg);
    line-height: 1;
    text-align: center;
    box-shadow: 0 4px 10px -4px rgba(0,0,0,0.25);
    z-index: 1;
  }
  .new-arrivals__stamp-line {
    display: block;
    font-size: 9px;
    opacity: 0.85;
  }
  .new-arrivals__stamp-date {
    display: block;
    font-size: 13px;
    margin-top: 3px;
    letter-spacing: 0.12em;
  }

  .new-arrivals__details {
    margin-top: 18px;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.35s ease-out, transform 0.35s ease-out;
    min-height: 84px;
  }
  .new-arrivals__card:hover .new-arrivals__details,
  .new-arrivals__card:focus-within .new-arrivals__details {
    opacity: 1;
    transform: translateY(0);
  }
  .new-arrivals__book-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--na-fg);
  }
  .new-arrivals__book-author {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 15px;
    font-style: italic;
    color: var(--na-fg);
    opacity: 0.7;
    margin-top: 4px;
  }
  .new-arrivals__book-price {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: var(--na-fg);
    margin-top: 8px;
  }

  .new-arrivals__card--viewall {
    align-items: stretch;
    padding-top: 28px;
  }
  .new-arrivals__viewall-link {
    flex: 1;
    aspect-ratio: 2 / 3;
    border: 1px solid color-mix(in srgb, var(--na-fg) 25%, transparent);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 24px;
    text-decoration: none;
    color: var(--na-fg);
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: 22px;
    font-style: italic;
    line-height: 1.15;
    letter-spacing: -0.01em;
    transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
  }
  .new-arrivals__viewall-link:hover {
    background: var(--na-accent);
    color: var(--na-accent-contrast);
    border-color: var(--na-accent);
  }
  .new-arrivals__viewall-arrow {
    display: block;
    margin-top: 14px;
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-style: normal;
    transition: transform 0.3s ease;
  }
  .new-arrivals__viewall-link:hover .new-arrivals__viewall-arrow {
    transform: translateX(6px);
  }

  .new-arrivals__empty {
    flex: 1;
    padding: 60px 0;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 18px;
    opacity: 0.6;
  }

  @media (max-width: 1024px) {
    .new-arrivals__header {
      padding: 0 32px;
      margin-bottom: 40px;
      column-gap: 16px;
    }
    .new-arrivals__row {
      padding: 0 32px 24px;
      scroll-padding-left: 32px;
      gap: 20px;
    }
    .new-arrivals__strip::before,
    .new-arrivals__strip::after {
      width: 32px;
    }
    .new-arrivals__card { flex-basis: 190px; }
    .new-arrivals__details {
      opacity: 1;
      transform: none;
    }
  }
/* END_SECTION:new-arrivals */

/* START_SECTION:page-collection-editorial-calm (INDEX:73) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .ec-calm {
    padding-top: var(--ec-pad-top, 0);
    padding-bottom: var(--ec-pad-bottom, 0);
    --ec-rule: color-mix(in srgb, currentColor 14%, transparent);
    --ec-rule-strong: color-mix(in srgb, currentColor 28%, transparent);
    --ec-mute: color-mix(in srgb, currentColor 60%, transparent);
    --ec-faint: color-mix(in srgb, currentColor 45%, transparent);
  }

  /* ───── Hero ───── */
  .ec-calm .ec-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
  }
  .ec-calm .ec-crumb-root {
    color: rgb(var(--color-scheme-accent));
    text-decoration: none;
  }
  .ec-calm .ec-crumb-root:hover { text-decoration: underline; }
  .ec-calm .ec-crumb-sep { opacity: 0.4; }
  .ec-calm .ec-crumb-leaf {
    opacity: 0.6;
    color: inherit;
    text-decoration: none;
  }
  .ec-calm a.ec-crumb-leaf:hover { opacity: 1; text-decoration: underline; }

  .ec-calm .ec-hero-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(56px, 7vw, 110px);
    line-height: 0.92;
    font-weight: 400;
    letter-spacing: -0.025em;
    margin: 0;
  }
  .ec-calm .ec-hero-title em {
    font-style: italic;
    font-variation-settings: "opsz" 144;
  }
  .ec-calm .ec-hero-body {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: clamp(17px, 1.4vw, 21px);
    line-height: 1.55;
    font-style: italic;
    color: var(--ec-mute);
  }
  .ec-calm .ec-hero-body p { margin: 0; }
  .ec-calm .ec-hero-body p + p { margin-top: 0.75em; }

  /* ───── Picks rail ───── */
  .ec-calm .ec-picks-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
  }
  .ec-calm .ec-picks-head-left {
    display: flex;
    align-items: baseline;
    gap: 18px;
  }
  .ec-calm .ec-picks-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(28px, 2.6vw, 36px);
    font-weight: 400;
    font-style: italic;
    letter-spacing: -0.01em;
    margin: 0;
  }
  .ec-calm .ec-picks-meta {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--ec-mute);
  }
  .ec-calm .ec-picks-viewall {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 500;
    text-decoration: none;
    color: inherit;
  }
  .ec-calm .ec-picks-viewall:hover { color: rgb(var(--color-scheme-accent)); }

  .ec-calm .ec-picks-rail {
    display: flex;
    gap: 28px;
    overflow-x: auto;
    list-style: none;
    margin: 0;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .ec-calm .ec-picks-rail::-webkit-scrollbar { display: none; }

  /* ───── Pick card (3D flip) ───── */
  .ec-calm .ec-pick {
    flex: 0 0 var(--ec-pick-w, 240px);
    width: var(--ec-pick-w, 240px);
    list-style: none;
  }
  .ec-calm .ec-pick-card {
    display: block;
    perspective: 1400px;
    text-decoration: none;
    color: inherit;
  }
  .ec-calm .ec-pick-inner {
    position: relative;
    width: 100%;
    height: var(--ec-pick-h, 420px);
    transform-style: preserve-3d;
    transition: transform 0.7s cubic-bezier(.2,.7,.3,1);
  }
  .ec-calm .ec-pick-card:hover .ec-pick-inner,
  .ec-calm .ec-pick-card:focus-visible .ec-pick-inner {
    transform: rotateY(180deg);
  }
  .ec-calm .ec-pick-face {
    position: absolute;
    inset: 0;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    display: flex;
    flex-direction: column;
  }
  .ec-calm .ec-pick-front {
    background: rgb(var(--color-scheme-background));
  }
  .ec-calm .ec-pick-img {
    width: 100%;
    flex: 1 1 auto;
    object-fit: cover;
    display: block;
    aspect-ratio: 2 / 3;
    max-height: calc(var(--ec-pick-h, 420px) - 110px);
  }
  .ec-calm .ec-pick-img--empty {
    background: var(--ec-rule);
  }
  .ec-calm .ec-pick-meta {
    padding: 14px 4px 0;
  }
  .ec-calm .ec-pick-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.005em;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .ec-calm .ec-pick-author {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 14px;
    font-style: italic;
    color: var(--ec-mute);
    margin-bottom: 6px;
  }
  .ec-calm .ec-pick-price {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
  }
  .ec-calm .ec-pick-price-was {
    color: var(--ec-mute);
    text-decoration: line-through;
    margin-left: 8px;
    font-weight: 400;
  }
  .ec-calm .ec-pick-soldout {
    color: var(--ec-mute);
    font-style: italic;
  }
  .ec-calm .ec-pick-back {
    transform: rotateY(180deg);
    background: rgb(var(--color-scheme-background));
    border: 1px solid var(--ec-rule-strong);
    padding: 22px 20px;
    justify-content: space-between;
  }
  .ec-calm .ec-pick-back-note {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 15px;
    font-style: italic;
    line-height: 1.5;
    overflow: hidden;
  }
  .ec-calm .ec-pick-back-picker {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--ec-mute);
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--ec-rule);
  }

  @media (prefers-reduced-motion: reduce) {
    .ec-calm .ec-pick-inner { transition: none; }
    .ec-calm .ec-pick-card:hover .ec-pick-inner,
    .ec-calm .ec-pick-card:focus-visible .ec-pick-inner {
      transform: none;
    }
    .ec-calm .ec-pick-back {
      position: static;
      transform: none;
      backface-visibility: visible;
      margin-top: 12px;
    }
    .ec-calm .ec-pick-front {
      backface-visibility: visible;
    }
  }

  /* ───── Body grid layout ───── */
  @media (min-width: 768px) {
    .ec-calm .ec-body-grid {
      display: grid;
      grid-template-columns: var(--ec-sidebar-w, 18.75rem) minmax(0, 1fr);
    }
    .ec-calm .ec-body-grid:has(.ec-grid-col:only-child) {
      grid-template-columns: 1fr;
    }
    /* Pinned (default): sidebar stays in place with its own independent
       scroll, decoupled from the product grid. A long filter list scrolls
       inside the sidebar pane instead of dragging the whole page. */
    .ec-calm[data-sidebar-scroll="pinned"] .ec-sidebar {
      position: sticky;
      top: var(--ec-sidebar-top, 1.5rem);
      align-self: start;
      max-height: calc(100vh - (var(--ec-sidebar-top, 1.5rem) * 2));
      overflow-y: auto;
      overflow-x: hidden;
      overscroll-behavior: contain;
      scrollbar-width: thin;
    }
    /* Flow: sidebar scrolls away with the page alongside the products. */
    .ec-calm[data-sidebar-scroll="flow"] .ec-sidebar {
      position: static;
      align-self: start;
    }
  }

  /* ───── Sidebar ───── */
  .ec-calm .ec-sidebar { font-family: 'Inter', sans-serif; }
  .ec-calm .ec-sidebar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding-bottom: 16px;
    margin-bottom: 24px;
    border-bottom: 1px solid currentColor;
  }
  .ec-calm .ec-sidebar-head-actions {
    display: inline-flex;
    align-items: center;
    gap: 14px;
  }
  .ec-calm .ec-sidebar-title {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    font-weight: 600;
  }
  .ec-calm .ec-sidebar-reset {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgb(var(--color-scheme-accent));
    text-decoration: none;
  }
  .ec-calm .ec-sidebar-reset:hover { text-decoration: underline; }

  .ec-calm .ec-eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--ec-mute);
  }
  .ec-calm .ec-sidebar-form { display: block; }
  .ec-calm .ec-filter {
    margin: 0 0 28px;
    padding: 0;
    border: 0;
  }
  .ec-calm .ec-filter-label {
    margin-bottom: 14px;
    padding: 0;
    display: block;
  }
  .ec-calm .ec-filter-list {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .ec-calm .ec-filter-item {
    list-style: none;
    position: relative;
  }
  /* visually hide the native checkbox but keep it focusable */
  .ec-calm .ec-filter-checkbox {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .ec-calm .ec-filter-link {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0 7px 22px;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: transform 0.25s cubic-bezier(.2,.7,.3,1), color 0.15s ease;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 16px;
    line-height: 1.3;
    position: relative;
    user-select: none;
  }
  .ec-calm .ec-filter-link::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 14px;
    height: 14px;
    margin-top: -7px;
    border: 1px solid currentColor;
    opacity: 0.4;
    transition: opacity 0.15s, background 0.15s, border-color 0.15s;
    box-sizing: border-box;
  }
  .ec-calm .ec-filter-link::after {
    content: '';
    position: absolute;
    left: 3px;
    top: 50%;
    width: 8px;
    height: 4px;
    margin-top: -4px;
    border-left: 1.5px solid rgb(var(--color-scheme-background));
    border-bottom: 1.5px solid rgb(var(--color-scheme-background));
    transform: rotate(-45deg);
    opacity: 0;
    transition: opacity 0.15s;
  }
  .ec-calm .ec-filter-checkbox:checked + .ec-filter-link {
    color: rgb(var(--color-scheme-accent));
  }
  .ec-calm .ec-filter-checkbox:checked + .ec-filter-link::before {
    background: rgb(var(--color-scheme-accent));
    border-color: rgb(var(--color-scheme-accent));
    opacity: 1;
  }
  .ec-calm .ec-filter-checkbox:checked + .ec-filter-link::after {
    opacity: 1;
  }
  .ec-calm .ec-filter-checkbox:focus-visible + .ec-filter-link::before {
    outline: 2px solid rgb(var(--color-scheme-accent));
    outline-offset: 2px;
    opacity: 1;
  }
  .ec-calm .ec-filter-link:hover {
    transform: translateX(6px);
    color: rgb(var(--color-scheme-accent));
  }
  .ec-calm .ec-filter-link:hover::before { opacity: 0.8; }
  .ec-calm .ec-filter-link.is-disabled {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
  }
  .ec-calm .ec-filter-name { flex: 1 1 auto; }
  .ec-calm .ec-filter-count {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    color: var(--ec-faint);
    font-variant-numeric: tabular-nums;
  }

  /* ───── Curated genres (link-list, not checkboxes) ───── */
  .ec-calm .ec-filter--curated {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px dashed color-mix(in srgb, rgb(var(--color-scheme-text)) 18%, transparent);
  }
  .ec-calm .ec-filter-list--curated {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .ec-calm .ec-filter-item--curated {
    margin: 0;
    padding: 0;
    display: block;
  }
  .ec-calm .ec-filter-link--curated {
    /* Suppress checkbox tick decorations from .ec-filter-link */
    padding-left: 0;
    text-decoration: none;
    color: inherit;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
  }
  .ec-calm .ec-filter-link--curated::before,
  .ec-calm .ec-filter-link--curated::after { display: none !important; content: none !important; }
  .ec-calm .ec-filter-link--curated.is-active {
    color: rgb(var(--color-scheme-accent));
    font-weight: 500;
  }
  .ec-calm .ec-filter-link--curated.is-active::before {
    display: inline-block !important;
    content: '' !important;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgb(var(--color-scheme-accent));
    margin-right: 6px;
    flex: 0 0 auto;
  }

  /* Price range */
  .ec-calm .ec-price-range {
    display: flex;
    align-items: end;
    gap: 10px;
  }
  .ec-calm .ec-price-field {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .ec-calm .ec-price-label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ec-mute);
  }
  .ec-calm .ec-price-input-wrap {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    border: 1px solid var(--ec-rule-strong);
    padding: 8px 10px;
  }
  .ec-calm .ec-price-symbol {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: var(--ec-mute);
  }
  .ec-calm .ec-price-input {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    background: transparent;
    color: inherit;
    border: 0;
    padding: 0;
    width: 100%;
    min-width: 0;
    outline: none;
    -moz-appearance: textfield;
  }
  .ec-calm .ec-price-input::-webkit-outer-spin-button,
  .ec-calm .ec-price-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }
  .ec-calm .ec-price-sep {
    padding-bottom: 10px;
    color: var(--ec-mute);
  }

  /* Apply / submit (gold pill, sold-out style) */
  .ec-calm {
    --ec-apply-bg: #d4a84a;
    --ec-apply-bg-hover: #c2962f;
    --ec-apply-fg: #1a1713;
    --ec-apply-glow: rgba(212, 168, 74, 0.55);
  }
  .ec-calm .ec-sidebar-apply {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 8px 14px;
    background: var(--ec-apply-bg);
    color: var(--ec-apply-fg);
    border: 0;
    border-radius: 2px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.15s ease;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
    animation: ec-apply-breathe 2.6s ease-in-out infinite;
    transform-origin: center;
    will-change: transform, box-shadow;
  }
  .ec-calm .ec-sidebar-apply:hover {
    background: var(--ec-apply-bg-hover);
    transform: translateY(-1px) scale(1);
    animation-play-state: paused;
  }
  .ec-calm .ec-sidebar-apply:focus-visible {
    outline: 2px solid var(--ec-apply-fg);
    outline-offset: 2px;
    animation-play-state: paused;
  }
  .ec-calm .ec-sidebar-apply:active {
    transform: translateY(0) scale(0.98);
  }
  .ec-calm .ec-sidebar-apply--bottom {
    width: 100%;
    padding: 12px 18px;
    font-size: 12px;
    letter-spacing: 0.22em;
  }

  /* Graceful idle breathe — soft golden halo */
  @keyframes ec-apply-breathe {
    0%, 100% {
      transform: scale(1);
      box-shadow:
        0 1px 0 rgba(0, 0, 0, 0.06),
        0 0 0 0 var(--ec-apply-glow);
    }
    50% {
      transform: scale(1.04);
      box-shadow:
        0 1px 0 rgba(0, 0, 0, 0.06),
        0 0 0 6px rgba(212, 168, 74, 0);
    }
  }

  /* Faster, more insistent pulse the moment a filter is ticked
     (form has at least one checked box but hasn't been submitted yet) */
  .ec-calm .ec-sidebar-form:has(.ec-filter-checkbox:checked) .ec-sidebar-apply {
    animation: ec-apply-jiggle 1.6s ease-in-out infinite;
    box-shadow:
      0 2px 0 rgba(0, 0, 0, 0.08),
      0 0 0 3px var(--ec-apply-glow);
  }
  @keyframes ec-apply-jiggle {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    20%      { transform: translateY(-2px) rotate(-1.2deg); }
    40%      { transform: translateY(0) rotate(1.2deg); }
    60%      { transform: translateY(-1px) rotate(-0.6deg); }
    80%      { transform: translateY(0) rotate(0.4deg); }
  }

  /* Respect reduced motion */
  @media (prefers-reduced-motion: reduce) {
    .ec-calm .ec-sidebar-apply,
    .ec-calm .ec-sidebar-form:has(.ec-filter-checkbox:checked) .ec-sidebar-apply {
      animation: none;
    }
    .ec-calm .ec-sidebar-form:has(.ec-filter-checkbox:checked) .ec-sidebar-apply {
      box-shadow:
        0 1px 0 rgba(0, 0, 0, 0.06),
        0 0 0 3px var(--ec-apply-glow);
    }
  }
  .ec-calm .ec-sidebar-actions {
    position: sticky;
    bottom: 0;
    margin-top: 32px;
    padding: 20px 0 16px;
    background: linear-gradient(to top, rgb(var(--color-scheme-background)) 70%, transparent);
    border-top: 1px solid var(--ec-rule);
    z-index: 5;
  }
  @media (max-width: 1023px) {
    .ec-calm .ec-sidebar-actions {
      position: static;
      background: transparent;
    }
  }
  .ec-calm .ec-sidebar-note {
    margin: 10px 0 0;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 13px;
    font-style: italic;
    color: var(--ec-mute);
    text-align: center;
    line-height: 1.4;
  }
  .ec-calm .ec-sidebar-note strong {
    font-style: normal;
    color: inherit;
  }

  /* ───── Topbar ───── */
  .ec-calm .ec-topbar {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    font-family: 'Inter', sans-serif;
  }
  .ec-calm .ec-topbar-count {
    font-size: 13px;
    color: var(--ec-mute);
  }
  .ec-calm .ec-topbar-count strong {
    color: inherit;
    opacity: 1;
    font-weight: 600;
  }
  .ec-calm .ec-sort {
    position: relative;
    font-size: 13px;
    z-index: 50;
  }
  .ec-calm .ec-sort[open] {
    z-index: 200;
  }
  .ec-calm .ec-sort-summary {
    cursor: pointer;
    list-style: none;
    border: 1px solid var(--ec-rule-strong);
    padding: 6px 14px;
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
  }
  .ec-calm .ec-sort-summary::-webkit-details-marker { display: none; }
  .ec-calm .ec-sort-current {
    font-weight: 500;
  }
  .ec-calm .ec-sort-caret { opacity: 0.5; font-size: 11px; }
  .ec-calm .ec-sort-menu {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 1;
    min-width: 14rem;
    border: 1px solid var(--ec-rule-strong);
    background: rgb(var(--color-scheme-background));
    list-style: none;
    margin: 0;
    padding: 4px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    isolation: isolate;
  }
  .ec-calm .ec-sort-menu > li { margin: 0; padding: 0; }
  .ec-calm .ec-sort-link {
    display: grid;
    grid-template-columns: 16px 1fr;
    column-gap: 6px;
    align-items: center;
    padding: 8px 12px;
    text-decoration: none;
    color: inherit;
    font-size: 13px;
    border-radius: 2px;
  }
  .ec-calm .ec-sort-link:hover {
    color: rgb(var(--color-scheme-accent));
    background: rgba(26, 23, 19, 0.04);
  }
  .ec-calm .ec-sort-link.is-active {
    color: rgb(var(--color-scheme-accent));
    font-weight: 600;
    background: rgba(26, 23, 19, 0.04);
  }
  .ec-calm .ec-sort-link__check {
    display: inline-flex;
    justify-content: center;
    width: 16px;
    font-size: 12px;
    line-height: 1;
  }


  /* ───── Grid breathing room when dividers are off ───── */
  .ec-calm .ec-grid {
    list-style: none;
  }
  @media (min-width: 1024px) {
    .ec-calm .ec-grid {
      grid-template-columns: repeat(var(--ec-grid-cols), minmax(0, 1fr));
    }
  }
  .ec-calm[data-dividers="off"] .ec-grid {
    gap: clamp(28px, 3vw, 52px) clamp(20px, 2vw, 36px);
    padding: clamp(16px, 2vw, 32px) 0;
  }
  .ec-calm[data-product-card-text="off"] .ec-grid > li > data-island > .relative > .relative[class*="px-section-horizontal-spacing"] {
    display: none;
  }

  /* ───── Page strip ───── */
  .ec-calm .ec-pages {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 14px;
    font-family: 'Inter', sans-serif;
  }
  .ec-calm .ec-page {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border: 1px solid var(--ec-rule-strong);
    text-decoration: none;
    color: inherit;
    font-size: 13px;
    font-weight: 500;
    transition: background 0.15s, color 0.15s;
  }
  .ec-calm .ec-page:hover {
    background: currentColor;
    color: rgb(var(--color-scheme-background));
  }
  .ec-calm .ec-page--active {
    background: currentColor;
    color: rgb(var(--color-scheme-background));
    cursor: default;
  }
  .ec-calm .ec-page--next {
    padding: 0 18px;
    margin-left: 8px;
  }
  .ec-calm .ec-page-ellipsis {
    color: var(--ec-mute);
    padding: 0 4px;
  }
  .ec-calm .ec-pages-meta {
    flex-basis: 100%;
    text-align: center;
    margin-top: 12px;
    font-size: 11px;
    letter-spacing: 0.05em;
    color: var(--ec-mute);
  }

  /* ───── Empty state ───── */
  .ec-calm .ec-empty {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 16px;
    font-style: italic;
    color: var(--ec-mute);
    line-height: 1.5;
  }
  .ec-calm .ec-empty strong {
    font-style: normal;
    color: inherit;
  }

  /* ───── Mobile tweaks ───── */
  @media (max-width: 767px) {
    .ec-calm .ec-picks-head {
      flex-wrap: wrap;
    }
    .ec-calm .ec-picks-rail {
      gap: 16px;
    }
    .ec-calm .ec-pick {
      flex: 0 0 70vw;
      width: 70vw;
      max-width: var(--ec-pick-w, 240px);
    }
  }

  /* ───── Uniform cover sizing ─────
     When toggled on, every cover renders into the same aspect-ratio
     frame and pads with --ec-cover-bg. Targets:
       1. Editor's Picks card image (.ec-pick-img)
       2. Main-grid product tile (image-crop snippet wrapper)
  */
  .ec-calm[data-uniform-covers="on"] .ec-pick-img {
    object-fit: contain !important;
    background-color: var(--ec-cover-bg, #000);
    aspect-ratio: 1 / var(--ec-cover-ratio, 0.6667);
    width: 100%;
    height: auto;
    max-height: calc(var(--ec-pick-h, 420px) - 110px);
  }
  .ec-calm[data-uniform-covers="on"] .ec-pick-img--empty {
    aspect-ratio: 1 / var(--ec-cover-ratio, 0.6667);
    background-color: var(--ec-cover-bg, #000);
  }
  /* image-with-placeholder is the wrapper rendered by image-crop.liquid */
  .ec-calm[data-uniform-covers="on"] image-with-placeholder {
    background-color: var(--ec-cover-bg, #000);
  }
  .ec-calm[data-uniform-covers="on"] image-with-placeholder img.image {
    object-fit: contain !important;
  }
  /* Hide the loading-state grey overlay so the chosen padding color shows clean */
  .ec-calm[data-uniform-covers="on"] image-with-placeholder > div.bg-scheme-text {
    display: none;
  }

  /* ───── Background overrides ─────
     Color settings are surfaced from the theme palette + free hex.
     Only applied when the matching override checkbox is on, so the
     default behavior (use color scheme tokens) is preserved.
  */
  .ec-calm[data-grid-bg="on"] .ec-grid-col {
    background-color: var(--ec-grid-bg) !important;
  }
  .ec-calm[data-grid-bg="on"] .ec-grid {
    background-color: var(--ec-grid-bg);
  }
  .ec-calm[data-sidebar-bg="on"] .ec-sidebar {
    background-color: var(--ec-sidebar-bg);
    padding: clamp(16px, 1.5vw, 28px);
    border-radius: 2px;
  }

  /* ───── Mobile collapsible filter panel (REFINE toggle) ─────
     Below 768px the filter body collapses behind the REFINE header so the
     product grid is reachable. At >=768px the sidebar is always expanded
     (the toggle is inert) — the !important + .ec-calm specificity beats
     Alpine's x-cloak/x-show so there is no desktop flash and no-JS desktop
     still shows filters. */
  .ec-calm .ec-sidebar-toggle {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    border: 0;
    margin: 0;
    padding: 0;
    color: inherit;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-align: left;
    width: auto;
  }
  .ec-calm .ec-sidebar-caret {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 13px;
    height: 13px;
    opacity: 0.6;
    transition: transform 0.25s ease;
  }
  .ec-calm .ec-sidebar-caret svg {
    width: 100%;
    height: 100%;
  }
  .ec-calm .ec-sidebar-caret.is-open {
    transform: rotate(180deg);
  }
  @media (min-width: 768px) {
    .ec-calm .ec-sidebar-panel {
      display: block !important;
      height: auto !important;
      overflow: visible !important;
    }
    .ec-calm .ec-sidebar-toggle {
      cursor: default;
      pointer-events: none;
    }
    .ec-calm .ec-sidebar-caret {
      display: none;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .ec-calm .ec-sidebar-caret {
      transition: none;
    }
  }
/* END_SECTION:page-collection-editorial-calm */

/* START_SECTION:preorders (INDEX:75) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .preorders {
    --po-bg: rgb(var(--color-scheme-background));
    --po-fg: rgb(var(--color-scheme-text));
    --po-accent: rgb(var(--color-scheme-accent));
    --po-accent-contrast: rgb(var(--color-scheme-accent-contrast));
    background: var(--po-bg);
    color: var(--po-fg);
  }

  .preorders__inner {
    max-width: 1400px;
    margin: 0 auto;
  }

  .preorders__header {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    column-gap: 48px;
    row-gap: 18px;
    align-items: end;
    padding: 0 64px;
    margin-bottom: 56px;
  }

  .preorders__eyebrow {
    grid-column: 1;
    grid-row: 1;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--po-accent);
    display: flex;
    align-items: center;
    gap: 14px;
  }
  .preorders__sep {
    display: inline-block;
    height: 1px;
    width: 48px;
    background: currentColor;
    text-indent: -9999px;
    overflow: hidden;
  }
  .preorders__title {
    grid-column: 1;
    grid-row: 2;
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(40px, 5vw, 64px);
    line-height: 1;
    font-weight: 400;
    letter-spacing: -0.02em;
    margin: 0;
    color: var(--po-fg);
  }
  .preorders__title em { font-style: italic; }

  .preorders__nav {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: end;
    display: flex;
    gap: 10px;
  }
  .preorders__nav-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--po-fg);
    background: transparent;
    color: var(--po-fg);
    font-size: 16px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.25s ease, color 0.25s ease, opacity 0.25s ease, border-color 0.25s ease;
  }
  .preorders__nav-btn--next {
    background: var(--po-fg);
    color: var(--po-bg);
  }
  .preorders__nav-btn:hover {
    background: var(--po-accent);
    color: var(--po-accent-contrast);
    border-color: var(--po-accent);
  }
  .preorders__nav-btn.is-disabled {
    opacity: 0.3;
    pointer-events: none;
  }
  .preorders__nav-btn:focus-visible {
    outline: 2px solid var(--po-accent);
    outline-offset: 3px;
  }

  .preorders__strip {
    position: relative;
  }
  .preorders__strip::before,
  .preorders__strip::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 24px;
    width: 64px;
    pointer-events: none;
    z-index: 2;
    transition: opacity 0.3s ease;
  }
  .preorders__strip::before {
    left: 0;
    background: linear-gradient(to right, var(--po-bg), transparent);
  }
  .preorders__strip::after {
    right: 0;
    background: linear-gradient(to left, var(--po-bg), transparent);
  }
  .preorders__strip.is-at-start::before { opacity: 0; }
  .preorders__strip.is-at-end::after { opacity: 0; }

  .preorders__row {
    display: flex;
    gap: 28px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 64px;
    padding: 0 64px 28px;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .preorders__row--pending:not(.is-ready) {
    visibility: hidden;
  }
  .preorders__row::-webkit-scrollbar { display: none; }

  .preorders__card {
    flex: 0 0 240px;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
  }

  .preorders__index {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--po-fg);
    opacity: 0.55;
    margin-bottom: 12px;
  }

  .preorders__cover-link {
    display: block;
    text-decoration: none;
    color: inherit;
    position: relative;
    z-index: 1;
    transition: z-index 0s linear 0.5s;
  }
  .preorders__cover-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 2 / 3;
  }
  .preorders__cover {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: var(--po-fg);
    background: color-mix(in srgb, var(--po-fg) 4%, transparent);
    box-shadow: 0 12px 28px -8px color-mix(in srgb, var(--po-fg) 35%, transparent);
    transition: transform 0.5s cubic-bezier(.2,.7,.3,1), box-shadow 0.5s cubic-bezier(.2,.7,.3,1);
    transform-origin: center bottom;
  }
  .preorders__cover--placeholder {
    background: color-mix(in srgb, var(--po-fg) 8%, transparent);
    box-shadow: none;
  }
  .preorders:not(.preorders--no-hover) .preorders__cover-link:hover {
    z-index: 3;
    transition: z-index 0s linear 0s;
  }
  .preorders:not(.preorders--no-hover) .preorders__cover-link:hover .preorders__cover {
    transform: translateY(var(--po-hover-lift, -6px)) scale(var(--po-hover-scale, 1.06));
    box-shadow: 0 22px 44px -10px color-mix(in srgb, var(--po-fg) 48%, transparent);
  }

  .preorders__stamp {
    position: absolute;
    top: 12px;
    right: -6px;
    background: var(--po-bg);
    color: var(--po-accent);
    border: 1.5px solid var(--po-accent);
    padding: 6px 10px 5px;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    transform: rotate(4deg);
    line-height: 1;
    text-align: center;
    box-shadow: 0 4px 10px -4px rgba(0,0,0,0.25);
    z-index: 1;
  }
  .preorders__stamp-line {
    display: block;
    font-size: 9px;
    opacity: 0.85;
  }
  .preorders__stamp-date {
    display: block;
    font-size: 13px;
    margin-top: 3px;
    letter-spacing: 0.12em;
  }

  .preorders__details {
    margin-top: 18px;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.35s ease-out, transform 0.35s ease-out;
    min-height: 104px;
  }
  .preorders__card:hover .preorders__details,
  .preorders__card:focus-within .preorders__details {
    opacity: 1;
    transform: translateY(0);
  }
  .preorders__book-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--po-fg);
  }
  .preorders__book-author {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 15px;
    font-style: italic;
    color: var(--po-fg);
    opacity: 0.7;
    margin-top: 4px;
  }
  .preorders__book-countdown {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--po-accent);
    margin-top: 8px;
  }
  .preorders__book-price {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: var(--po-fg);
    margin-top: 8px;
  }

  .preorders__card--viewall {
    align-items: stretch;
    padding-top: 28px;
  }
  .preorders__viewall-link {
    flex: 1;
    aspect-ratio: 2 / 3;
    border: 1px solid color-mix(in srgb, var(--po-fg) 25%, transparent);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 24px;
    text-decoration: none;
    color: var(--po-fg);
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: 22px;
    font-style: italic;
    line-height: 1.15;
    letter-spacing: -0.01em;
    transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
  }
  .preorders__viewall-link:hover {
    background: var(--po-accent);
    color: var(--po-accent-contrast);
    border-color: var(--po-accent);
  }
  .preorders__viewall-arrow {
    display: block;
    margin-top: 14px;
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-style: normal;
    transition: transform 0.3s ease;
  }
  .preorders__viewall-link:hover .preorders__viewall-arrow {
    transform: translateX(6px);
  }

  .preorders__empty {
    flex: 1;
    padding: 60px 64px;
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 18px;
    opacity: 0.6;
  }

  @media (max-width: 1024px) {
    .preorders__header {
      padding: 0 32px;
      margin-bottom: 40px;
      column-gap: 16px;
    }
    .preorders__row {
      padding: 0 32px 24px;
      scroll-padding-left: 32px;
      gap: 20px;
    }
    .preorders__strip::before,
    .preorders__strip::after {
      width: 32px;
    }
    .preorders__card { flex-basis: 190px; }
    .preorders__details {
      opacity: 1;
      transform: none;
    }
    .preorders__empty {
      padding-left: 32px;
      padding-right: 32px;
    }
  }
/* END_SECTION:preorders */

/* START_SECTION:privacy-banner (INDEX:76) */
.policy-menu {
    background: #1a1713;
    border-bottom: 1px solid rgb(250 246 236 / 0.18);
    border-top: 1px solid rgb(250 246 236 / 0.18);
    color: #faf6ec;
  }

  .policy-menu__scroller {
    overflow-x: auto;
    padding: 0 var(--section-horizontal-spacing);
  }

  .policy-menu__nav {
    display: flex;
    justify-content: center;
  }

  .policy-menu__list {
    display: flex;
    flex-wrap: nowrap;
    gap: clamp(22px, 4vw, 52px);
    list-style: none;
    margin: 0;
    padding: 0;
    white-space: nowrap;
  }

  .policy-menu__link {
    display: block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.18em;
    padding: 16px 0;
    text-decoration: none;
    text-transform: uppercase;
  }

  .policy-menu__link:hover,
  .policy-menu__link[aria-current='page'] {
    color: #d4a08a;
  }

  .shopify-policy__container {
    max-width: 880px;
    margin: 0 auto;
    padding: clamp(48px, 7vw, 96px) var(--section-horizontal-spacing);
    background: rgb(var(--color-scheme-background));
    color: rgb(var(--color-scheme-text));
  }

  .shopify-policy__title h1 {
    font-family: var(--heading-font-stack);
    font-size: clamp(42px, 6vw, 72px);
    line-height: 0.92;
    letter-spacing: -0.035em;
    font-weight: var(--heading-font-weight);
    margin: 0 0 28px;
  }

  .shopify-policy__body {
    font-family: var(--body-font-stack);
    font-size: clamp(16px, 1.3vw, 18px);
    line-height: 1.65;
  }

  .shopify-policy__body h2,
  .shopify-policy__body h3 {
    font-family: var(--heading-font-stack);
    letter-spacing: -0.025em;
    line-height: 0.98;
    margin: 36px 0 14px;
  }

  .shopify-policy__body h2 {
    font-size: clamp(30px, 4vw, 48px);
  }

  .shopify-policy__body h3 {
    font-size: clamp(22px, 3vw, 32px);
  }

  .shopify-policy__body p,
  .shopify-policy__body ul,
  .shopify-policy__body table {
    margin-bottom: 18px;
  }

  .shopify-policy__body ul,
  .shopify-policy__body ol {
    padding-left: 1.25em;
  }

  .shopify-policy__body li + li {
    margin-top: 8px;
  }

  .shopify-policy__body table {
    border-collapse: collapse;
    display: block;
    overflow-x: auto;
    width: 100%;
  }

  .shopify-policy__body th,
  .shopify-policy__body td {
    border: 1px solid rgb(var(--color-scheme-text) / 0.16);
    padding: 10px 12px;
    text-align: left;
    vertical-align: top;
  }

  .shopify-policy__body th {
    background: rgb(var(--color-scheme-text) / 0.05);
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .shopify-policy__body a {
    color: rgb(var(--color-scheme-accent));
    text-decoration: underline;
    text-underline-offset: 0.18em;
  }

  .privacy-notice[hidden] {
    display: none !important;
  }

  .privacy-notice {
    position: fixed;
    inset: auto 16px 16px auto;
    z-index: 9998;
    max-width: min(420px, calc(100vw - 32px));
    color: rgb(var(--color-scheme-text));
  }

  .privacy-notice__card {
    border: 1px solid rgb(var(--color-scheme-text) / 0.18);
    background: rgb(var(--color-scheme-background));
    box-shadow: 0 18px 48px rgb(var(--color-scheme-text) / 0.16);
    padding: 20px;
  }

  .privacy-notice__eyebrow {
    color: rgb(var(--color-scheme-accent));
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.22em;
    line-height: 1.2;
    margin-bottom: 10px;
    text-transform: uppercase;
  }

  .privacy-notice__title {
    font-family: var(--heading-font-stack);
    font-size: 28px;
    line-height: 1;
    letter-spacing: -0.03em;
    margin: 0 0 10px;
  }

  .privacy-notice__body {
    font-size: 14px;
    line-height: 1.5;
  }

  .privacy-notice__body a,
  .privacy-notice__link {
    color: rgb(var(--color-scheme-accent));
    text-decoration: underline;
    text-underline-offset: 0.18em;
  }

  .privacy-notice__check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 14px 0;
    font-size: 13px;
    line-height: 1.4;
    cursor: pointer;
  }

  .privacy-notice__check input {
    margin-top: 2px;
    accent-color: rgb(var(--color-scheme-accent));
  }

  .privacy-notice__actions {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    margin-top: 14px;
  }

  .privacy-notice__button {
    border: 0;
    background: rgb(var(--color-scheme-accent));
    color: rgb(var(--color-scheme-accent-contrast));
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.16em;
    min-height: 42px;
    padding: 0 18px;
    text-transform: uppercase;
  }

  .privacy-notice__button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
  }

  .privacy-notice__note {
    margin: 12px 0 0;
    font-size: 11px;
    line-height: 1.45;
    opacity: 0.74;
  }

  @media (max-width: 640px) {
    .privacy-notice {
      inset: auto 12px 12px;
      max-width: none;
    }

    .privacy-notice__actions {
      align-items: stretch;
      flex-direction: column;
    }

    .privacy-notice__button {
      width: 100%;
    }
  }
/* END_SECTION:privacy-banner */

/* START_SECTION:related-products-editorial-calm (INDEX:84) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

  .rrl {
    --rrl-bg: rgb(var(--color-scheme-background));
    --rrl-fg: rgb(var(--color-scheme-text));
    --rrl-accent: rgb(var(--color-scheme-accent));
    --rrl-accent-contrast: rgb(var(--color-scheme-accent-contrast));
    display: block;
    background: var(--rrl-bg);
    color: var(--rrl-fg);
  }
  .rrl * { box-sizing: border-box; }

  .rrl__inner {
    max-width: 1400px;
    margin: 0 auto;
  }

  /* ───── Header (2-col: heading block + nav arrows on right) ───── */
  .rrl__header {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    column-gap: 48px;
    padding: 0 64px;
    margin-bottom: 48px;
  }
  .rrl__heading-block { display: flex; flex-direction: column; }
  .rrl__eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--rrl-accent);
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
  }
  .rrl__sep {
    display: inline-block;
    height: 1px;
    width: 48px;
    background: currentColor;
  }
  .rrl__eyebrow-aux { color: var(--rrl-fg); opacity: 0.7; }
  .rrl__title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(36px, 4.6vw, 56px);
    line-height: 1;
    font-weight: 400;
    letter-spacing: -0.02em;
    margin: 0 0 12px;
    color: var(--rrl-fg);
  }
  .rrl__title em { font-style: italic; }
  .rrl__subheading {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: clamp(15px, 1.4vw, 18px);
    color: var(--rrl-fg);
    opacity: 0.7;
    margin: 0;
  }

  /* Nav arrows */
  .rrl__nav { display: flex; gap: 10px; }
  .rrl__nav-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--rrl-fg);
    background: transparent;
    color: var(--rrl-fg);
    font-size: 16px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.25s ease, color 0.25s ease, opacity 0.25s ease, border-color 0.25s ease;
  }
  .rrl__nav-btn--next { background: var(--rrl-fg); color: var(--rrl-bg); }
  .rrl__nav-btn:hover {
    background: var(--rrl-accent);
    color: var(--rrl-accent-contrast);
    border-color: var(--rrl-accent);
  }
  .rrl__nav-btn.is-disabled { opacity: 0.3; pointer-events: none; }
  .rrl__nav-btn:focus-visible { outline: 2px solid var(--rrl-accent); outline-offset: 3px; }

  /* ───── Strip + edge fades ───── */
  .rrl__strip { position: relative; }
  .rrl__strip::before,
  .rrl__strip::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 24px;
    width: 64px;
    pointer-events: none;
    z-index: 2;
    transition: opacity 0.3s ease;
  }
  .rrl__strip::before { left: 0; background: linear-gradient(to right, var(--rrl-bg), transparent); }
  .rrl__strip::after { right: 0; background: linear-gradient(to left, var(--rrl-bg), transparent); }
  .rrl__strip.is-at-start::before { opacity: 0; }
  .rrl__strip.is-at-end::after { opacity: 0; }

  /* ───── Scroll rail (uniform card widths via vw-anchored calc) ───── */
  .rrl__row {
    --rrl-side-pad: 64px;
    --rrl-gap: 28px;
    list-style: none;
    margin: 0;
    display: flex;
    gap: var(--rrl-gap);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-left: var(--rrl-side-pad);
    padding: 0 var(--rrl-side-pad) 28px;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .rrl__row::-webkit-scrollbar { display: none; }

  .rrl__card {
    --rrl-effective-w: min(100vw, 1400px);
    --rrl-card-w: calc((var(--rrl-effective-w) - var(--rrl-side-pad) * 2 - var(--rrl-gap) * (var(--rrl-items-visible) - 1)) / var(--rrl-items-visible));
    /* Both flex-basis AND explicit width so inner snippet (data-island flex h-full)
       inherits a resolved width — flex-basis alone is unreliable when the snippet
       has no explicit width itself. */
    flex: 0 0 var(--rrl-card-w);
    width: var(--rrl-card-w);
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
  }
  /* The snippet's root <data-island> needs to fill the card */
  .rrl__card > data-island,
  .rrl__card > [class*="data-island"] {
    width: 100%;
    display: flex;
    flex-direction: column;
  }

  /* ───── FIT-HEIGHT (the "books scaled nicely" technique from mc-carousels) ─────
     Forces every product-tile media slot to a fixed height with object-fit:contain.
     Tall, short, square, landscape covers ALL render at the same height with
     auto-adjusted width — natural aspect ratio preserved, vertical alignment
     consistent. Selectors target the snippet's own classes + common Shopify
     wrappers so this works regardless of theme tile structure. */
  .rrl--fit-height .rrl__card picture,
  .rrl--fit-height .rrl__card .media,
  .rrl--fit-height .rrl__card [style*="aspect-ratio"],
  .rrl--fit-height .rrl__card .product-tile__media,
  .rrl--fit-height .rrl__card .product-tile__image {
    aspect-ratio: auto !important;
    height: var(--rrl-image-height) !important;
    max-height: var(--rrl-image-height) !important;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--rrl-bg);
  }
  .rrl--fit-height .rrl__card picture img,
  .rrl--fit-height .rrl__card .media img,
  .rrl--fit-height .rrl__card img {
    height: 100% !important;
    max-height: var(--rrl-image-height) !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: var(--rrl-image-fit) !important;
    margin-inline: auto;
    position: static !important;
    inset: auto !important;
  }

  /* Tile typography — keep theme defaults but tighten editorial feel */
  .rrl__card .font-heading,
  .rrl__card [class*="-title"],
  .rrl__card [class*="__title"],
  .rrl__card h1, .rrl__card h2, .rrl__card h3 {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-weight: 500;
    letter-spacing: -0.005em;
  }
  .rrl__card [class*="-vendor"],
  .rrl__card [class*="-author"] {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
  }
  .rrl__card [class*="-price"] {
    font-family: 'Inter', sans-serif;
    letter-spacing: 0.02em;
  }

  /* ───── Title / Price tooltip (matching mc-carousels behavior) ───── */
  .rrl--title-tooltip .rrl__card .break-word {
    display: none !important;
  }
  .rrl--price-tooltip .rrl__card .break-word + div {
    display: none !important;
  }
  .rrl--title-tooltip.rrl--price-tooltip .rrl__card .relative:has(> .break-word) {
    display: none !important;
  }
  .rrl--title-tooltip .rrl__card,
  .rrl--price-tooltip .rrl__card { position: relative; }
  .rrl--title-tooltip .rrl__card::after,
  .rrl--price-tooltip .rrl__card::after {
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translate(-50%, 100%);
    width: max-content;
    max-width: calc(100% - 24px);
    padding: 6px 10px;
    background: var(--rrl-fg);
    color: var(--rrl-bg);
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    line-height: 1.35;
    text-align: center;
    border-radius: 2px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    z-index: 4;
  }
  .rrl--title-tooltip:not(.rrl--price-tooltip) .rrl__card::after {
    content: attr(data-rrl-tooltip-title);
  }
  .rrl--price-tooltip:not(.rrl--title-tooltip) .rrl__card::after {
    content: attr(data-rrl-tooltip-price);
  }
  .rrl--title-tooltip.rrl--price-tooltip .rrl__card::after {
    content: attr(data-rrl-tooltip-title) " · " attr(data-rrl-tooltip-price);
  }
  .rrl--title-tooltip .rrl__card:hover::after,
  .rrl--title-tooltip .rrl__card:focus-within::after,
  .rrl--price-tooltip .rrl__card:hover::after,
  .rrl--price-tooltip .rrl__card:focus-within::after { opacity: 1; }

  /* ───── View all card ───── */
  .rrl__card--viewall {
    align-items: stretch;
    padding-top: 0;
  }
  .rrl__viewall-link {
    flex: 1;
    height: var(--rrl-image-height);
    border: 1px solid color-mix(in srgb, var(--rrl-fg) 25%, transparent);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 24px;
    text-decoration: none;
    color: var(--rrl-fg);
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: 22px;
    font-style: italic;
    line-height: 1.15;
    letter-spacing: -0.01em;
    transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
  }
  .rrl__viewall-link:hover {
    background: var(--rrl-accent);
    color: var(--rrl-accent-contrast);
    border-color: var(--rrl-accent);
  }
  .rrl__viewall-arrow {
    display: block;
    margin-top: 14px;
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-style: normal;
    transition: transform 0.3s ease;
  }
  .rrl__viewall-link:hover .rrl__viewall-arrow { transform: translateX(6px); }

  @media (prefers-reduced-motion: reduce) {
    .rrl__viewall-arrow { transition: none !important; }
  }

  @media (max-width: 1024px) {
    .rrl__header {
      grid-template-columns: 1fr;
      row-gap: 18px;
      padding: 0 32px;
      margin-bottom: 36px;
    }
    .rrl__nav { justify-content: flex-start; }
    .rrl__row {
      --rrl-side-pad: 32px;
      --rrl-gap: 16px;
      padding: 0 var(--rrl-side-pad) 24px;
    }
    .rrl__card {
      --rrl-effective-w: 100vw;
      --rrl-card-w: calc((var(--rrl-effective-w) - var(--rrl-side-pad) * 2 - var(--rrl-gap) * (var(--rrl-items-visible-mobile) - 1)) / var(--rrl-items-visible-mobile));
      flex: 0 0 var(--rrl-card-w);
      width: var(--rrl-card-w);
    }
    .rrl__strip::before,
    .rrl__strip::after { width: 32px; }
    .rrl__title { font-size: clamp(28px, 8vw, 40px); }
  }
/* END_SECTION:related-products-editorial-calm */

/* START_SECTION:scrolling-text-editorial-calm (INDEX:89) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');

  .epc-marquee {
    --epc-cream: #faf6ec;
    --epc-ink: #1a1713;
    --epc-dark: #0e0c0a;
    --epc-gold: #d4a84a;
    --epc-gold-text: #8f6a13;
    overflow: hidden;
    padding-top: var(--epc-pad-top, 0);
    padding-bottom: var(--epc-pad-bottom, 0);
    font-family: 'Fraunces', 'Times New Roman', serif;
  }

  /* Band variants */
  .epc-marquee[data-band="cream"] {
    background-color: var(--epc-cream) !important;
    color: var(--epc-ink);
    --epc-sep: var(--epc-gold);
    --epc-num: var(--epc-gold-text);
    --epc-rule: rgba(26, 23, 19, 0.15);
  }
  .epc-marquee[data-band="dark"] {
    background-color: var(--epc-dark) !important;
    color: var(--epc-cream);
    --epc-sep: var(--epc-gold);
    --epc-num: var(--epc-gold);
    --epc-rule: rgba(250, 246, 236, 0.16);
  }
  .epc-marquee[data-band="gold"] {
    background-color: var(--epc-gold) !important;
    color: var(--epc-ink);
    --epc-sep: var(--epc-ink);
    --epc-num: var(--epc-ink);
    --epc-rule: rgba(26, 23, 19, 0.28);
  }

  .epc-marquee__viewport {
    border-top: 1px solid var(--epc-rule);
    border-bottom: 1px solid var(--epc-rule);
    padding: clamp(14px, 2vw, 26px) 0;
  }
  .epc-marquee__track {
    display: flex;
    width: max-content;
    animation: epc-marquee var(--epc-marquee-duration, 36s) linear infinite;
    will-change: transform;
  }
  .epc-marquee[data-direction="reverse"] .epc-marquee__track {
    animation-direction: reverse;
  }
  .epc-marquee[data-pause="on"]:hover .epc-marquee__track {
    animation-play-state: paused;
  }
  .epc-marquee__group { display: flex; flex: 0 0 auto; }
  .epc-marquee__item {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
  }
  .epc-marquee__text {
    font-weight: 400;
    letter-spacing: -0.01em;
    line-height: 1;
  }
  .epc-marquee__num {
    font-style: italic;
    font-weight: 400;
    color: var(--epc-num);
  }
  .epc-marquee__sep {
    color: var(--epc-sep);
    margin: 0 clamp(22px, 3.4vw, 56px);
    font-size: 0.62em;
    line-height: 1;
    transform: translateY(-0.04em);
  }

  /* Sizes (set on root so the separator scales with the text) */
  .epc-marquee[data-size="small"] { font-size: clamp(18px, 2.4vw, 30px); }
  .epc-marquee[data-size="medium"] { font-size: clamp(26px, 4vw, 48px); }
  .epc-marquee[data-size="large"] { font-size: clamp(36px, 6vw, 76px); }

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

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

  .epc-marquee__sr {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
/* END_SECTION:scrolling-text-editorial-calm */

/* START_SECTION:shelf-of-month (INDEX:91) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .shelf-of-month__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 80px;
    align-items: center;
  }

  .shelf-of-month__eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--shelf-accent);
    margin-bottom: 20px;
  }
  .shelf-of-month__title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(44px, 5vw, 72px);
    line-height: 0.95;
    font-weight: 400;
    letter-spacing: -0.02em;
    margin: 0 0 32px;
  }
  .shelf-of-month__title em { font-style: italic; }
  .shelf-of-month__body {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: 20px;
    line-height: 1.5;
    font-style: italic;
    opacity: 0.88;
    margin-bottom: 40px;
    max-width: 460px;
  }
  .shelf-of-month__body p { margin: 0 0 1em; }
  .shelf-of-month__body p:last-child { margin-bottom: 0; }

  .shelf-of-month__actions {
    display: flex;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
  }
  .shelf-of-month__cta {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--shelf-accent);
    text-decoration: none;
    position: relative;
    display: inline-block;
  }
  .shelf-of-month__cta::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -2px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
  }
  .shelf-of-month__cta:hover::after { transform: scaleX(1); }

  .shelf-of-month__reshuffle {
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 500;
    color: currentColor;
    opacity: 0.55;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: opacity 0.2s ease;
  }
  .shelf-of-month__reshuffle:hover { opacity: 1; }
  .shelf-of-month__reshuffle:focus-visible {
    outline: 2px solid var(--shelf-accent);
    outline-offset: 4px;
    opacity: 1;
  }
  .shelf-of-month__reshuffle-icon {
    display: inline-block;
    font-size: 16px;
    line-height: 1;
    transition: transform 0.5s cubic-bezier(.2,.7,.3,1);
  }
  .shelf-of-month__reshuffle:hover .shelf-of-month__reshuffle-icon,
  .shelf-of-month__reshuffle:active .shelf-of-month__reshuffle-icon {
    transform: rotate(360deg);
  }

  .shelf-of-month__covers {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
  }
  .shelf-of-month__cover-link {
    display: block;
    text-decoration: none;
    color: inherit;
    position: relative;
    z-index: 1;
    transition: transform 0.45s cubic-bezier(.2,.7,.3,1), z-index 0s linear 0.45s;
  }
  .shelf-of-month__cover-link:hover {
    transform: translateY(-6px) scale(var(--shelf-hover-scale, 1.06));
    z-index: 2;
    transition: transform 0.45s cubic-bezier(.2,.7,.3,1), z-index 0s linear 0s;
  }
  .shelf-of-month__cover {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    box-shadow: 0 12px 28px -8px rgba(0, 0, 0, 0.5);
    transition: box-shadow 0.45s cubic-bezier(.2,.7,.3,1);
  }
  .shelf-of-month__cover-link:hover .shelf-of-month__cover {
    box-shadow: 0 22px 44px -10px rgba(0, 0, 0, 0.65);
  }
  .shelf-of-month__cover--placeholder {
    background: rgba(255, 255, 255, 0.06);
  }

  @media (max-width: 1024px) {
    .shelf-of-month__inner {
      grid-template-columns: 1fr;
      gap: 48px;
      padding-left: 32px;
      padding-right: 32px;
    }
    .shelf-of-month__covers {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  @media (max-width: 640px) {
    .shelf-of-month__covers {
      grid-template-columns: repeat(2, 1fr);
    }
  }
/* END_SECTION:shelf-of-month */

/* START_SECTION:shelves (INDEX:92) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .shelves {
    --sh-bg: rgb(var(--color-scheme-background));
    --sh-fg: rgb(var(--color-scheme-text));
    --sh-accent: rgb(var(--color-scheme-accent));
    --sh-accent-contrast: rgb(var(--color-scheme-accent-contrast));
    background: var(--sh-bg);
    color: var(--sh-fg);
    font-family: 'Inter', sans-serif;
  }
  .shelves__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 64px;
  }

  .shelves__header { margin-bottom: 72px; }
  .shelves__eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: calc(11px * var(--sh-eyebrow-mult, 1));
    letter-spacing: 0.35em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--sh-fg);
    opacity: 0.55;
    margin-bottom: 28px;
  }
  .shelves__title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: calc(clamp(56px, 7vw, 120px) * var(--sh-overall, 1) * var(--sh-title-mult, 1));
    line-height: 0.92;
    font-weight: 400;
    letter-spacing: -0.025em;
    margin: 0;
    color: var(--sh-fg);
  }
  .shelves__title em { font-style: italic; }

  .shelves__list {
    list-style: none;
    margin: 0;
    padding: 0;
    column-gap: 80px;
  }
  .shelves__item {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    border-bottom: 1px solid color-mix(in srgb, var(--sh-fg) 15%, transparent);
  }

  .shelves__link {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 0 20px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.35s cubic-bezier(.2,.7,.3,1), color 0.25s ease;
    position: relative;
  }
  .shelves__link:hover {
    transform: translateX(10px);
    color: var(--sh-accent);
  }
  .shelves__link:focus-visible {
    outline: 2px solid var(--sh-accent);
    outline-offset: 6px;
  }

  .shelves__name {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: calc(clamp(26px, 2.4vw, 38px) * var(--sh-overall, 1) * var(--sh-shelf-mult, 1));
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.01em;
    text-transform: capitalize;
  }
  .shelves__name--italic { font-style: italic; }

  .shelves__count {
    font-family: 'Inter', sans-serif;
    font-size: calc(14px * var(--sh-overall, 1) * var(--sh-shelf-mult, 1));
    font-weight: 400;
    letter-spacing: 0.05em;
    color: var(--sh-fg);
    opacity: 0.5;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
  }
  .shelves__count-label {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: calc(13px * var(--sh-overall, 1) * var(--sh-shelf-mult, 1));
    margin-left: 4px;
    letter-spacing: 0;
  }

  .shelves__empty {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 18px;
    opacity: 0.6;
    padding: 48px 0;
    max-width: 560px;
  }

  @media (max-width: 1024px) {
    .shelves__inner { padding: 0 32px; }
    .shelves__header { margin-bottom: 48px; }
    .shelves__list {
      column-count: 1;
    }
  }
  @media (min-width: 1025px) {
    .shelves__list {
      column-count: var(--sh-cols, 2);
    }
  }
/* END_SECTION:shelves */

/* START_SECTION:slideshow-cinema (INDEX:95) */
.ci-sl {
    position: relative;
    padding-top: var(--ci-pad-top, 0);
    padding-bottom: var(--ci-pad-bottom, 0);
    background: var(--ci-bg, #EFE4D2);
    color: var(--color-scheme-text, #111);
    overflow: hidden;
  }

  .ci-sl__empty {
    padding: 2rem;
    text-align: center;
    opacity: .6;
  }

  /* Hero — height is purely CSS-driven via aspect-ratio + min/max clamp.
     --ci-hero-ar is updated by JS on slide change (auto mode). */
  .ci-sl__hero {
    position: relative;
    width: 100%;
    aspect-ratio: var(--ci-hero-ar, 1.7778);
    min-height: var(--ci-hero-min, 40vh);
    max-height: var(--ci-hero-max, 75vh);
    transition: aspect-ratio 520ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .ci-sl__main {
    position: absolute;
    inset: 0;
  }
  .ci-sl__main.splide,
  .ci-sl__strip.splide {
    visibility: visible;
  }
  .ci-sl__main .splide__track,
  .ci-sl__main .splide__list { height: 100%; }

  .ci-sl__slide {
    position: relative;
    overflow: hidden;
    background: var(--ci-bg, #EFE4D2);
    border-radius: var(--ci-radius, 0);
    height: 100%;
  }

  .ci-sl__link {
    position: absolute;
    inset: 0;
    z-index: 5;
    text-indent: -9999px;
    overflow: hidden;
  }

  .ci-sl__pic {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
  }
  .ci-sl__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Fit (contain) — whole image visible, may letterbox onto --ci-bg */
  .ci-sl__slide--scale-fit .ci-sl__img {
    object-fit: contain;
  }

  /* Focal point (Fill/cover mode) */
  .ci-sl__slide--scale-fill.ci-sl__slide--focal-top    .ci-sl__img { object-position: center top; }
  .ci-sl__slide--scale-fill.ci-sl__slide--focal-bottom .ci-sl__img { object-position: center bottom; }
  .ci-sl__slide--scale-fill.ci-sl__slide--focal-left   .ci-sl__img { object-position: left center; }
  .ci-sl__slide--scale-fill.ci-sl__slide--focal-right  .ci-sl__img { object-position: right center; }

  /* Ken Burns on active slide */
  .ci-sl--kb .splide__slide.is-active .ci-sl__img {
    animation: ci-kb 14s ease-out forwards;
  }
  @keyframes ci-kb {
    from { transform: scale(1); }
    to   { transform: scale(var(--ci-kb, 1.08)); }
  }

  /* No shadow on active slide — keeps the clean Docket look. */

  /* Content overlay */
  .ci-sl__content {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    padding: clamp(1rem, 4vw, 3rem);
    pointer-events: none;
  }
  .ci-sl__content-inner {
    pointer-events: auto;
    max-width: min(700px, 80%);
    display: flex;
    flex-direction: column;
    gap: clamp(.5rem, 1vw, 1rem);
  }
  .ci-sl__content--scrim::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0, var(--ci-scrim, .35)) 0%, transparent 55%);
    z-index: -1;
    pointer-events: none;
  }

  .ci-sl__content--pos-top-left     { align-items: flex-start;  justify-content: flex-start; text-align: left;  }
  .ci-sl__content--pos-top-center   { align-items: flex-start;  justify-content: center;     text-align: center;}
  .ci-sl__content--pos-top-right    { align-items: flex-start;  justify-content: flex-end;   text-align: right; }
  .ci-sl__content--pos-middle-left  { align-items: center;      justify-content: flex-start; text-align: left;  }
  .ci-sl__content--pos-middle-center{ align-items: center;      justify-content: center;     text-align: center;}
  .ci-sl__content--pos-middle-right { align-items: center;      justify-content: flex-end;   text-align: right; }
  .ci-sl__content--pos-bottom-left  { align-items: flex-end;    justify-content: flex-start; text-align: left;  }
  .ci-sl__content--pos-bottom-center{ align-items: flex-end;    justify-content: center;     text-align: center;}
  .ci-sl__content--pos-bottom-right { align-items: flex-end;    justify-content: flex-end;   text-align: right; }
  .ci-sl__content--pos-top-center   .ci-sl__content-inner,
  .ci-sl__content--pos-middle-center .ci-sl__content-inner,
  .ci-sl__content--pos-bottom-center .ci-sl__content-inner { margin-inline: auto; }

  .ci-sl__heading {
    font-family: var(--ci-heading-font, var(--font-heading-family, inherit));
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -.01em;
    margin: 0;
  }
  .ci-sl__heading--s { font-size: clamp(1.4rem, 3vw, 2rem); }
  .ci-sl__heading--m { font-size: clamp(1.8rem, 5vw, 3.2rem); }
  .ci-sl__heading--l { font-size: clamp(2.2rem, 7vw, 4.6rem); }

  .ci-sl__sub {
    font-size: clamp(.95rem, 1.5vw, 1.1rem);
    opacity: .92;
    margin: 0;
    line-height: 1.45;
  }

  .ci-sl__btn {
    display: inline-flex;
    align-items: center;
    gap: .4em;
    padding: .7em 1.2em;
    border-radius: 2px;
    font-weight: 500;
    font-size: .95rem;
    line-height: 1;
    text-decoration: none;
    border: 1px solid currentColor;
    transition: transform 160ms ease, background 160ms ease, color 160ms ease;
    align-self: flex-start;
  }
  .ci-sl__content--pos-top-center .ci-sl__btn,
  .ci-sl__content--pos-middle-center .ci-sl__btn,
  .ci-sl__content--pos-bottom-center .ci-sl__btn { align-self: center; }
  .ci-sl__content--pos-top-right .ci-sl__btn,
  .ci-sl__content--pos-middle-right .ci-sl__btn,
  .ci-sl__content--pos-bottom-right .ci-sl__btn { align-self: flex-end; }

  .ci-sl__btn--primary   { background: currentColor; color: var(--ci-bg, #fff); }
  .ci-sl__btn--primary:hover { transform: translateY(-1px); }
  .ci-sl__btn--secondary { background: transparent; color: inherit; }
  .ci-sl__btn--secondary:hover { background: rgba(0,0,0,.08); }
  .ci-sl__btn--ghost     { background: transparent; color: inherit; border-color: rgba(0,0,0,.35); }
  .ci-sl__btn--ghost:hover { border-color: currentColor; }

  /* ---------- Arrow variants ---------- */
  .ci-sl__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 6;
    display: grid; place-items: center;
    cursor: pointer;
    transition: background 160ms ease, transform 160ms ease, border-color 160ms ease;
  }

  /* Docket-style: single square light-bg arrow centered on right peek */
  .ci-sl--arrows-square-light-right .ci-sl__arrow {
    width: 40px; height: 40px;
    background: rgba(255,255,255,.92);
    color: #111;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 2px;
    backdrop-filter: blur(2px);
  }
  .ci-sl--arrows-square-light-right .ci-sl__arrow:hover {
    background: #fff;
    border-color: rgba(0,0,0,.25);
  }
  .ci-sl--arrows-square-light-right .ci-sl__arrow--prev {
    display: none;
  }
  .ci-sl--arrows-square-light-right .ci-sl__arrow--next {
    right: calc(var(--ci-peek, 180px) / 2 - 20px);
  }

  /* Square-both variant: both arrows light square */
  .ci-sl--arrows-square-light-both .ci-sl__arrow {
    width: 40px; height: 40px;
    background: rgba(255,255,255,.92);
    color: #111;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 2px;
    backdrop-filter: blur(2px);
  }
  .ci-sl--arrows-square-light-both .ci-sl__arrow:hover { background: #fff; }
  .ci-sl--arrows-square-light-both .ci-sl__arrow--prev {
    left: calc(var(--ci-peek, 180px) / 2 - 20px);
  }
  .ci-sl--arrows-square-light-both .ci-sl__arrow--next {
    right: calc(var(--ci-peek, 180px) / 2 - 20px);
  }

  /* Legacy round-dark variant */
  .ci-sl--arrows-round-dark .ci-sl__arrow {
    width: 44px; height: 44px;
    background: rgba(0,0,0,.45);
    color: #fff;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 999px;
    backdrop-filter: blur(6px);
  }
  .ci-sl--arrows-round-dark .ci-sl__arrow:hover { background: rgba(0,0,0,.7); }
  .ci-sl--arrows-round-dark .ci-sl__arrow--prev { left: calc(var(--ci-peek, 180px) / 2 - 22px); }
  .ci-sl--arrows-round-dark .ci-sl__arrow--next { right: calc(var(--ci-peek, 180px) / 2 - 22px); }

  @media (max-width: 767px) {
    .ci-sl__arrow--prev { left: .5rem !important; }
    .ci-sl__arrow--next { right: .5rem !important; }
    .ci-sl--arrows-square-light-right .ci-sl__arrow--prev { display: none; }
  }

  /* Playpause + progress */
  .ci-sl__playpause {
    position: absolute;
    top: .75rem;
    left: .75rem;
    z-index: 6;
    width: 32px; height: 32px;
    display: grid; place-items: center;
    background: rgba(255,255,255,.85);
    color: #111;
    border: 1px solid rgba(0,0,0,.1);
    border-radius: 2px;
    cursor: pointer;
  }
  .ci-sl__progress {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 2px;
    background: rgba(0,0,0,.08);
    z-index: 6;
  }
  .ci-sl__progress-bar {
    width: 0;
    height: 100%;
    background: currentColor;
    transform-origin: left;
  }

  /* Film strip */
  .ci-sl__strip {
    margin-top: clamp(.5rem, 1vw, .75rem);
    padding: 0 clamp(.25rem, 1vw, 1rem);
  }
  .ci-sl__strip .splide__track { overflow: hidden; }
  .ci-sl__strip .splide__list { gap: var(--ci-strip-gap, 6px); }

  .ci-sl__thumb {
    height: var(--ci-strip-h, 72px);
    width: calc(var(--ci-strip-h, 72px) * var(--ar, 1.7778));
    flex: 0 0 auto;
    overflow: hidden;
    border-radius: 2px;
    opacity: .55;
    filter: saturate(.85);
    transition: opacity 220ms ease, filter 220ms ease, transform 220ms ease, outline-color 220ms ease;
    outline: 2px solid transparent;
    outline-offset: 2px;
    cursor: pointer;
    background: var(--ci-bg, #EFE4D2);
  }
  .ci-sl__thumb img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
  }
  .ci-sl__thumb.is-active {
    opacity: 1;
    filter: saturate(1);
    transform: translateY(-2px);
    outline-color: currentColor;
  }

  /* Mobile dots */
  .ci-sl__dots {
    display: none;
    gap: .5rem;
    justify-content: center;
    padding: .75rem 1rem;
    margin: 0;
    list-style: none;
  }
  .ci-sl__dots button {
    width: 8px; height: 8px;
    border-radius: 999px;
    background: currentColor;
    opacity: .3;
    border: 0;
    padding: 0;
    cursor: pointer;
    transition: opacity 180ms ease, transform 180ms ease, width 180ms ease;
  }
  .ci-sl__dots button[aria-selected="true"] {
    opacity: 1;
    width: 22px;
  }

  @media (max-width: 767px) {
    .ci-sl__strip { display: none; }
    .ci-sl__dots { display: flex; }
    .ci-sl { --ci-peek: 20px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .ci-sl__hero { transition: none !important; }
    .ci-sl__main .splide__slide { transition: none !important; }
    .ci-sl--kb .splide__slide.is-active .ci-sl__img { animation: none !important; }
    .ci-sl__progress-bar { transition: none !important; }
  }

  /* Splide overrides */
  .ci-sl__main .splide__slide { padding-inline: 0; }
  .ci-sl__main .splide__track--ltr > .splide__list { align-items: stretch; }

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

/* START_SECTION:slideshow (INDEX:96) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .ss-redux {
    --ss-bg: rgb(var(--color-scheme-background));
    --ss-fg: rgb(var(--color-scheme-text));
    --ss-accent: rgb(var(--color-scheme-accent));
    --ss-accent-contrast: rgb(var(--color-scheme-accent-contrast));
  }

  /* Direction B typography override — applies only when merchant selects the mode */
  .ss-redux--typography .splide__slide .font-heading,
  .ss-redux--typography .splide__slide [class*="__title"],
  .ss-redux--typography .splide__slide [class*="-title"],
  .ss-redux--typography .splide__slide h1,
  .ss-redux--typography .splide__slide h2,
  .ss-redux--typography .splide__slide h3 {
    font-family: 'Fraunces', 'Times New Roman', serif !important;
    font-weight: 400;
    letter-spacing: -0.02em;
    font-size: calc(1em * var(--ss-overall, 1) * var(--ss-heading-mult, 1));
  }
  .ss-redux--typography .splide__slide .font-body,
  .ss-redux--typography .splide__slide [class*="__text"],
  .ss-redux--typography .splide__slide .rte p {
    font-family: 'EB Garamond', 'Georgia', serif !important;
    font-style: italic;
    font-size: calc(1em * var(--ss-overall, 1) * var(--ss-body-mult, 1));
  }
  .ss-redux--typography .splide__slide [class*="__subheading"],
  .ss-redux--typography .splide__slide [class*="-subheading"] {
    font-family: 'Inter', sans-serif !important;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
  }
  .ss-redux--typography .splide__slide .button,
  .ss-redux--typography .splide__slide [class*="button"] {
    font-family: 'Inter', sans-serif !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 600;
  }

  /* Readability scrim — darkens the lower third behind text */
  .ss-redux--scrim .splide__slide > *:first-child::after,
  .ss-redux--scrim .splide__slide > picture::after {
    /* stock markup varies; use an explicit overlay element instead */
  }
  .ss-redux--scrim .splide__slide {
    position: relative;
  }
  .ss-redux--scrim .splide__slide::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to top,
      rgba(0, 0, 0, calc(var(--ss-scrim, 0) * 0.9)) 0%,
      rgba(0, 0, 0, calc(var(--ss-scrim, 0) * 0.4)) 45%,
      rgba(0, 0, 0, 0) 100%
    );
    pointer-events: none;
    z-index: 1;
  }
  .ss-redux--scrim .splide__slide > * { position: relative; z-index: 2; }

  /* Ken Burns — slow zoom on active slide's image */
  .ss-redux--ken-burns .splide__slide img {
    transition: transform 0ms;
  }
  .ss-redux--ken-burns .splide.is-active .splide__slide.is-active img,
  .ss-redux--ken-burns .splide.is-active .splide__slide.is-visible img {
    animation: ss-redux-kenburns var(--ss-kb-duration, 12s) ease-out forwards;
  }
  @keyframes ss-redux-kenburns {
    from { transform: scale(1) translate(0, 0); }
    to   { transform: scale(var(--ss-kb-scale, 1.08)) translate(-1%, -0.5%); }
  }
  @media (prefers-reduced-motion: reduce) {
    .ss-redux--ken-burns .splide__slide img {
      animation: none !important;
      transform: none !important;
    }
  }

  /* Circular arrow buttons */
  .ss-redux--circular-arrows .splide__arrow {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--ss-fg);
    background: transparent;
    color: var(--ss-fg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  }
  .ss-redux--circular-arrows .splide__arrow--next {
    background: var(--ss-fg);
    color: var(--ss-bg);
  }
  .ss-redux--circular-arrows .splide__arrow:hover {
    background: var(--ss-accent);
    color: var(--ss-accent-contrast);
    border-color: var(--ss-accent);
  }
  .ss-redux--circular-arrows .splide__arrow svg { width: 16px; height: 16px; }

  /* Numbered pagination — overrides the dots */
  .ss-redux--numbered .splide__pagination {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .ss-redux--numbered .splide__pagination li { display: inline-flex; }
  .ss-redux--numbered .splide__pagination__page {
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent !important;
    border: none;
    padding: 0;
    opacity: 0.4;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--ss-fg);
    border-bottom: 1px solid transparent;
    transition: opacity 0.25s ease, border-color 0.25s ease;
  }
  .ss-redux--numbered .splide__pagination__page::before {
    content: counter(pg-idx, decimal-leading-zero);
    counter-increment: pg-idx;
  }
  .ss-redux--numbered .splide__pagination { counter-reset: pg-idx; }
  .ss-redux--numbered .splide__pagination .is-active .splide__pagination__page,
  .ss-redux--numbered .splide__pagination__page.is-active {
    opacity: 1;
    border-bottom-color: var(--ss-fg);
  }

  /* Hide pagination */
  .ss-redux--no-pagination .splide__pagination { display: none !important; }

  /* ───── Image treatment ───── */
  /* Focal point / object-position */
  .ss-redux--focal .splide__slide img,
  .ss-redux--focal .splide__slide picture > img {
    object-position: var(--ss-focal, center center) !important;
  }

  /* Fit override */
  .ss-redux--fit-cover .splide__slide img,
  .ss-redux--fit-cover .splide__slide picture > img {
    object-fit: cover !important;
  }
  .ss-redux--fit-contain .splide__slide img,
  .ss-redux--fit-contain .splide__slide picture > img {
    object-fit: contain !important;
    background: var(--ss-bg);
  }

  /* Base zoom — static scale (compounds with Ken Burns when both active) */
  .ss-redux--base-zoom .splide__slide img {
    transform: scale(var(--ss-base-zoom, 1));
  }
  .ss-redux--base-zoom.ss-redux--ken-burns .splide.is-active .splide__slide.is-active img,
  .ss-redux--base-zoom.ss-redux--ken-burns .splide.is-active .splide__slide.is-visible img {
    animation: ss-redux-kenburns-zoomed var(--ss-kb-duration, 12s) ease-out forwards;
  }
  @keyframes ss-redux-kenburns-zoomed {
    from { transform: scale(var(--ss-base-zoom, 1)) translate(0, 0); }
    to   { transform: scale(calc(var(--ss-base-zoom, 1) * var(--ss-kb-scale, 1.08))) translate(-1%, -0.5%); }
  }

  /* Grayscale */
  .ss-redux--filter-grayscale .splide__slide img {
    filter: grayscale(1) contrast(1.05) brightness(0.96);
  }

  /* Duotone — solid color blend over image */
  .ss-redux--filter-duotone .splide__slide { position: relative; }
  .ss-redux--filter-duotone .splide__slide::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--ss-duotone, #7a1f1a);
    mix-blend-mode: multiply;
    opacity: var(--ss-duotone-strength, 0.5);
    pointer-events: none;
    z-index: 1;
  }
  .ss-redux--filter-duotone .splide__slide img {
    filter: grayscale(1) contrast(1.15) brightness(1.05);
  }
  /* Ensure slide text stays above the duotone overlay */
  .ss-redux--filter-duotone .splide__slide > *:not(img):not(picture):not(.splide__slide::before) {
    position: relative;
    z-index: 2;
  }

  /* ───── Image overlay (darker, more versatile than scrim) ───── */
  .ss-redux[class*="ss-redux--overlay-"] .splide__slide {
    position: relative;
  }
  .ss-redux[class*="ss-redux--overlay-"] .splide__slide > *:not(img):not(picture) {
    position: relative;
    z-index: 3;
  }
  .ss-redux[class*="ss-redux--overlay-"] .splide__slide > picture {
    position: relative;
    z-index: 0;
  }
  .ss-redux[class*="ss-redux--overlay-"] .splide__slide::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
  }

  .ss-redux--overlay-solid .splide__slide::after {
    background: var(--ss-overlay, #000);
    opacity: var(--ss-overlay-strength, 0.4);
  }
  .ss-redux--overlay-bottom .splide__slide::after {
    background: linear-gradient(
      to top,
      color-mix(in srgb, var(--ss-overlay, #000) calc(var(--ss-overlay-strength, 0.4) * 100%), transparent) 0%,
      color-mix(in srgb, var(--ss-overlay, #000) calc(var(--ss-overlay-strength, 0.4) * 40%), transparent) 50%,
      transparent 100%
    );
  }
  .ss-redux--overlay-top .splide__slide::after {
    background: linear-gradient(
      to bottom,
      color-mix(in srgb, var(--ss-overlay, #000) calc(var(--ss-overlay-strength, 0.4) * 100%), transparent) 0%,
      color-mix(in srgb, var(--ss-overlay, #000) calc(var(--ss-overlay-strength, 0.4) * 40%), transparent) 50%,
      transparent 100%
    );
  }
  .ss-redux--overlay-edges .splide__slide::after {
    background:
      linear-gradient(to top,
        color-mix(in srgb, var(--ss-overlay, #000) calc(var(--ss-overlay-strength, 0.4) * 90%), transparent) 0%,
        transparent 30%),
      linear-gradient(to bottom,
        color-mix(in srgb, var(--ss-overlay, #000) calc(var(--ss-overlay-strength, 0.4) * 90%), transparent) 0%,
        transparent 30%);
  }
  .ss-redux--overlay-vignette .splide__slide::after {
    background: radial-gradient(
      ellipse at center,
      transparent 35%,
      color-mix(in srgb, var(--ss-overlay, #000) calc(var(--ss-overlay-strength, 0.4) * 100%), transparent) 100%
    );
  }

  /* ───── Content position override (corners + centers, with inset) ─────
     The stock image-with-text-overlay snippet wraps text in:
       <div class="absolute inset-0 ... p-media-content">
         <div class="flex h-full w-full {{ content_position }}">
           <div class="content">…</div>
         </div>
       </div>
     The outer absolute container already sits within the image bounds
     (p-media-content matches the media padding). We only need to override
     the flex alignment + add extra inset so text doesn't hug the edges.
     Targeted via attribute selectors to survive minor class-name changes. */

  .ss-redux[class*="ss-redux--pos-"] .splide__slide [class*="p-media-content"] > [class*="flex"],
  .ss-redux[class*="ss-redux--pos-"] .splide__slide [class*="p-media-content"] > .flex {
    padding: var(--ss-content-inset, 48px) !important;
    justify-content: initial !important;
    align-items: initial !important;
  }

  /* Top-left */
  .ss-redux--pos-top-left .splide__slide [class*="p-media-content"] > [class*="flex"],
  .ss-redux--pos-top-left .splide__slide [class*="p-media-content"] > .flex {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
  .ss-redux--pos-top-left .splide__slide [class*="p-media-content"] [class*="text-"] { text-align: left !important; }

  /* Top-center */
  .ss-redux--pos-top-center .splide__slide [class*="p-media-content"] > [class*="flex"],
  .ss-redux--pos-top-center .splide__slide [class*="p-media-content"] > .flex {
    justify-content: center !important;
    align-items: flex-start !important;
    text-align: center !important;
  }
  .ss-redux--pos-top-center .splide__slide [class*="p-media-content"] [class*="text-"] { text-align: center !important; }

  /* Top-right */
  .ss-redux--pos-top-right .splide__slide [class*="p-media-content"] > [class*="flex"],
  .ss-redux--pos-top-right .splide__slide [class*="p-media-content"] > .flex {
    justify-content: flex-end !important;
    align-items: flex-start !important;
    text-align: right !important;
  }
  .ss-redux--pos-top-right .splide__slide [class*="p-media-content"] [class*="text-"] { text-align: right !important; }

  /* Center */
  .ss-redux--pos-center .splide__slide [class*="p-media-content"] > [class*="flex"],
  .ss-redux--pos-center .splide__slide [class*="p-media-content"] > .flex {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }
  .ss-redux--pos-center .splide__slide [class*="p-media-content"] [class*="text-"] { text-align: center !important; }

  /* Bottom-left */
  .ss-redux--pos-bottom-left .splide__slide [class*="p-media-content"] > [class*="flex"],
  .ss-redux--pos-bottom-left .splide__slide [class*="p-media-content"] > .flex {
    justify-content: flex-start !important;
    align-items: flex-end !important;
    text-align: left !important;
  }
  .ss-redux--pos-bottom-left .splide__slide [class*="p-media-content"] [class*="text-"] { text-align: left !important; }

  /* Bottom-center */
  .ss-redux--pos-bottom-center .splide__slide [class*="p-media-content"] > [class*="flex"],
  .ss-redux--pos-bottom-center .splide__slide [class*="p-media-content"] > .flex {
    justify-content: center !important;
    align-items: flex-end !important;
    text-align: center !important;
  }
  .ss-redux--pos-bottom-center .splide__slide [class*="p-media-content"] [class*="text-"] { text-align: center !important; }

  /* Bottom-right */
  .ss-redux--pos-bottom-right .splide__slide [class*="p-media-content"] > [class*="flex"],
  .ss-redux--pos-bottom-right .splide__slide [class*="p-media-content"] > .flex {
    justify-content: flex-end !important;
    align-items: flex-end !important;
    text-align: right !important;
  }
  .ss-redux--pos-bottom-right .splide__slide [class*="p-media-content"] [class*="text-"] { text-align: right !important; }

  /* Mobile — tighter inset */
  @media (max-width: 1024px) {
    .ss-redux[class*="ss-redux--pos-"] .splide__slide [class*="p-media-content"] > [class*="flex"],
    .ss-redux[class*="ss-redux--pos-"] .splide__slide [class*="p-media-content"] > .flex {
      padding: 24px !important;
    }
  }

  /* ───── Text color override (per-section) ───── */
  .ss-redux--slide-color .splide__slide [class*="__title"],
  .ss-redux--slide-color .splide__slide [class*="-title"],
  .ss-redux--slide-color .splide__slide [class*="__subheading"],
  .ss-redux--slide-color .splide__slide [class*="-subheading"],
  .ss-redux--slide-color .splide__slide [class*="__text"],
  .ss-redux--slide-color .splide__slide h1,
  .ss-redux--slide-color .splide__slide h2,
  .ss-redux--slide-color .splide__slide h3,
  .ss-redux--slide-color .splide__slide p,
  .ss-redux--slide-color .splide__slide .rte * {
    color: var(--ss-slide-text, currentColor) !important;
  }

  /* ───── Text background band (full image width) ─────
     Runs the band across the inner content row only, not the entire slide.
     Targets the flex wrapper so the band fills full image width and sits
     at the vertical position determined by the position override. */
  .ss-redux--band .splide__slide [class*="p-media-content"] > [class*="flex"] > *,
  .ss-redux--band .splide__slide [class*="p-media-content"] > .flex > * {
    /* Force the inner content div to stretch full width so the background
       becomes a band that spans the image horizontally */
    width: 100% !important;
    max-width: 100% !important;
    background: color-mix(
      in srgb,
      var(--ss-band-color, #000)
        calc(var(--ss-band-opacity, 0.5) * 100%),
      transparent
    ) !important;
    padding: var(--ss-band-padding, 20px) var(--ss-content-inset, 48px) !important;
    box-sizing: border-box;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
  }

  /* Keep text sizing inside the band from running edge-to-edge on really wide slides */
  .ss-redux--band .splide__slide [class*="p-media-content"] > [class*="flex"] > * > * {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
  }

  /* ───── Hover effect toggles ─────
     The stock theme adds hover effects to slides with CTA links:
       - group/zoom → scales the media container
       - group (generic) → swaps opacity on some overlays
     Merchants may want these off for a calmer, static feel. */
  .ss-redux--no-dim .splide__slide .group:hover *,
  .ss-redux--no-dim .splide__slide [class*="group"]:hover *,
  .ss-redux--no-dim .splide__slide a[class*="inset-0"]:hover ~ *,
  .ss-redux--no-dim .splide__slide a[class*="inset-0"]:hover + * {
    opacity: 1 !important;
    filter: none !important;
  }
  /* Also kill any darkening pseudo-elements on hover */
  .ss-redux--no-dim .splide__slide:hover::before,
  .ss-redux--no-dim .splide__slide:hover::after,
  .ss-redux--no-dim .splide__slide *:hover::before,
  .ss-redux--no-dim .splide__slide *:hover::after {
    opacity: 1 !important;
    background: transparent !important;
  }

  .ss-redux--no-zoom .splide__slide [class*="group"]:hover *,
  .ss-redux--no-zoom .splide__slide *:hover {
    transform: none !important;
  }
  .ss-redux--no-zoom .splide__slide picture,
  .ss-redux--no-zoom .splide__slide picture *,
  .ss-redux--no-zoom .splide__slide img {
    transform: none !important;
  }
/* END_SECTION:slideshow */

/* START_SECTION:tarotdeck-shelf (INDEX:97) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .tarotdeck {
    --td-bg: rgb(var(--color-scheme-background));
    --td-fg: rgb(var(--color-scheme-text));
    --td-accent: rgb(var(--color-scheme-accent));
    --td-accent-contrast: rgb(var(--color-scheme-accent-contrast));
    background: var(--td-bg);
    color: var(--td-fg);
    font-family: 'Inter', sans-serif;
  }
  .tarotdeck__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 64px;
  }

  /* ─── Layouts ─── */
  .tarotdeck--split .tarotdeck__inner {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 80px;
    align-items: center;
  }
  .tarotdeck--centered .tarotdeck__inner {
    text-align: center;
  }
  .tarotdeck--centered .tarotdeck__copy {
    max-width: 640px;
    margin: 0 auto 60px;
  }
  .tarotdeck--deck-only .tarotdeck__inner {
    display: block;
  }

  /* ─── Copy column ─── */
  .tarotdeck__eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: calc(11px * var(--td-overall, 1));
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--td-accent);
    margin-bottom: 22px;
  }
  .tarotdeck__title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: calc(clamp(40px, 5vw, 72px) * var(--td-overall, 1) * var(--td-heading-mult, 1));
    line-height: 1;
    font-weight: 400;
    letter-spacing: -0.02em;
    margin: 0 0 24px;
    color: var(--td-fg);
  }
  .tarotdeck__title em { font-style: italic; }
  .tarotdeck__body {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: calc(18px * var(--td-overall, 1));
    font-style: italic;
    line-height: 1.55;
    opacity: 0.85;
    margin-bottom: 32px;
    max-width: 480px;
  }
  .tarotdeck--centered .tarotdeck__body { margin-left: auto; margin-right: auto; }
  .tarotdeck__body p { margin: 0 0 0.7em; }
  .tarotdeck__body p:last-child { margin-bottom: 0; }

  .tarotdeck__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Inter', sans-serif;
    font-size: calc(13px * var(--td-overall, 1));
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--td-accent);
    text-decoration: none;
    padding: 0;
    transition: gap 0.3s ease;
  }
  .tarotdeck__cta:hover { gap: 16px; }

  /* ─── Deck ─── */
  .tarotdeck__deck {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    display: grid;
    place-items: center;
    perspective: 1200px;
    cursor: pointer;
    outline: none;
  }
  .tarotdeck__deck:focus-visible { outline: 2px solid var(--td-accent); outline-offset: 8px; border-radius: 4px; }

  .tarotdeck__card {
    position: absolute;
    width: var(--td-card-w, 55%);
    aspect-ratio: var(--td-card-aspect, 2/3);
    border-radius: 4px;
    overflow: visible;
    text-decoration: none;
    color: inherit;
    transform-origin: center bottom;
    will-change: transform;
    transform: translate(var(--stack-x, 0), var(--stack-y, 0)) rotate(var(--stack-r, 0deg));
    transition:
      transform 0.7s cubic-bezier(.2,.8,.3,1.05),
      box-shadow 0.7s cubic-bezier(.2,.8,.3,1.05);
    filter: drop-shadow(0 8px 16px color-mix(in srgb, var(--td-fg) 25%, transparent));
  }

  /* Fanned state — triggered on deck hover or any card focus */
  .tarotdeck__deck:hover .tarotdeck__card,
  .tarotdeck__deck:focus-within .tarotdeck__card {
    transform: translate(var(--fan-x, 0), var(--fan-y, 0)) rotate(var(--fan-r, 0deg));
    filter: drop-shadow(0 16px 28px color-mix(in srgb, var(--td-fg) 35%, transparent));
  }

  /* Individual card hover — pull forward */
  .tarotdeck__deck:hover .tarotdeck__card:hover,
  .tarotdeck__deck .tarotdeck__card:focus-visible {
    transform: translate(var(--fan-x, 0), calc(var(--fan-y, 0) - 20px)) rotate(var(--fan-r, 0deg)) scale(1.06);
    z-index: 99 !important;
    filter: drop-shadow(0 24px 40px color-mix(in srgb, var(--td-fg) 45%, transparent));
  }

  .tarotdeck__card-media {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: inherit;
    background: color-mix(in srgb, var(--td-fg) 6%, transparent);
  }
  .tarotdeck__card-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .tarotdeck__card-placeholder {
    width: 100%;
    height: 100%;
    background: color-mix(in srgb, var(--td-fg) 10%, transparent);
  }

  .tarotdeck__card-meta {
    position: absolute;
    bottom: -42px;
    left: 0;
    right: 0;
    text-align: center;
    opacity: 0;
    transition: opacity 0.4s ease 0.2s;
    pointer-events: none;
  }
  .tarotdeck__deck:hover .tarotdeck__card:hover .tarotdeck__card-meta,
  .tarotdeck__card:focus-visible .tarotdeck__card-meta {
    opacity: 1;
  }
  .tarotdeck__card-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: calc(14px * var(--td-overall, 1));
    font-weight: 500;
    color: var(--td-fg);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .tarotdeck__card-price {
    font-family: 'Inter', sans-serif;
    font-size: calc(11px * var(--td-overall, 1));
    letter-spacing: 0.1em;
    color: var(--td-fg);
    opacity: 0.65;
    margin-top: 2px;
  }

  @media (max-width: 1024px) {
    .tarotdeck__inner { padding: 0 32px; }
    .tarotdeck--split .tarotdeck__inner {
      grid-template-columns: 1fr;
      gap: 48px;
    }
    .tarotdeck__deck { aspect-ratio: 4 / 3; }
  }

  /* ─── Mobile / touch: swipe-through "fanned hand" ───
     Touch has no hover, so the absolute hover-fan stack becomes a horizontal
     scroll-snap carousel: swipe to flip through, tap to open, centered card
     straightens & lifts. Fine-pointer desktop keeps the hover-fan untouched. */
  @media (max-width: 767px), (hover: none) and (pointer: coarse) and (max-width: 1024px) {
    .tarotdeck__deck {
      --td-card-w-mobile: clamp(160px, 58vw, 220px);
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-start;
      gap: 14px;
      aspect-ratio: auto;
      min-height: calc(var(--td-card-w-mobile) * 1.5 + 64px);
      overflow-x: auto;
      overflow-y: hidden;
      scroll-snap-type: x mandatory;
      scroll-padding-inline: calc((100% - var(--td-card-w-mobile)) / 2);
      padding: 24px calc((100% - var(--td-card-w-mobile)) / 2) 40px;
      perspective: none;
      cursor: auto;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
    }
    .tarotdeck__deck::-webkit-scrollbar { display: none; }

    .tarotdeck__card {
      position: relative;
      flex: 0 0 var(--td-card-w-mobile);
      width: var(--td-card-w-mobile);
      scroll-snap-align: center;
      scroll-snap-stop: always;
      filter: drop-shadow(0 10px 20px color-mix(in srgb, var(--td-fg) 22%, transparent));
    }

    /* Reset the off-screen desktop fan (a tap focuses a card -> :focus-within) */
    .tarotdeck__card,
    .tarotdeck__deck:hover .tarotdeck__card,
    .tarotdeck__deck:focus-within .tarotdeck__card {
      transform: rotate(clamp(-3deg, var(--fan-r, 0deg), 3deg));
    }
    .tarotdeck__deck:hover .tarotdeck__card:hover,
    .tarotdeck__deck .tarotdeck__card:focus-visible {
      transform: rotate(clamp(-3deg, var(--fan-r, 0deg), 3deg)) translateY(-6px);
      z-index: auto !important;
    }

    /* Centered card (toggled by the IntersectionObserver below) */
    .tarotdeck__card.is-active,
    .tarotdeck__deck:focus-within .tarotdeck__card.is-active {
      transform: rotate(0deg) translateY(-10px) scale(1.05);
      filter: drop-shadow(0 18px 34px color-mix(in srgb, var(--td-fg) 38%, transparent));
      z-index: 50;
    }
    .tarotdeck__card.is-active .tarotdeck__card-meta { opacity: 1; }
  }

  @media (prefers-reduced-motion: reduce) {
    .tarotdeck__card { transition: none; }
  }
/* END_SECTION:tarotdeck-shelf */

/* START_SECTION:testimonials (INDEX:98) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

  .epc-tst {
    --epc-cream: #faf6ec;
    --epc-ink: #1a1713;
    --epc-dark: #0e0c0a;
    --epc-gold-text: #8f6a13;
    padding-top: var(--epc-pad-top, 0);
    padding-bottom: var(--epc-pad-bottom, 0);
    font-family: 'Inter', sans-serif;
  }
  .epc-tst[data-band="dark"] {
    background-color: var(--epc-dark) !important;
    --epc-fg: var(--epc-cream);
    --epc-mute: rgba(250, 246, 236, 0.6);
    --epc-rule: rgba(250, 246, 236, 0.16);
    --epc-eyebrow: var(--epc-gold);
    --epc-num: var(--epc-gold);
  }
  .epc-tst[data-band="cream"] {
    background-color: var(--epc-cream) !important;
    --epc-fg: var(--epc-ink);
    --epc-mute: rgba(26, 23, 19, 0.6);
    --epc-rule: rgba(26, 23, 19, 0.15);
    --epc-eyebrow: var(--epc-gold-text);
    --epc-num: var(--epc-gold-text);
  }
  .epc-tst-inner {
    max-width: 1180px;
    margin: 0 auto;
    padding-top: clamp(48px, 6vw, 88px);
    padding-bottom: clamp(48px, 6vw, 88px);
    color: var(--epc-fg);
  }

  /* Header */
  .epc-tst-head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto clamp(36px, 5vw, 60px);
  }
  .epc-tst-eyebrow {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin: 0 0 16px;
    font-size: 11px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--epc-eyebrow);
  }
  .epc-tst-eyebrow-num { color: var(--epc-mute); }
  .epc-tst-eyebrow-rule {
    width: 36px;
    height: 1px;
    background: var(--epc-gold);
    display: inline-block;
  }
  .epc-tst-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(30px, 4.4vw, 54px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -0.02em;
    margin: 0;
    color: var(--epc-fg);
  }
  .epc-tst-title em { font-style: italic; font-weight: 400; }
  .epc-tst-sub {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: clamp(16px, 1.5vw, 19px);
    font-style: italic;
    color: var(--epc-mute);
    margin: 14px 0 0;
  }

  /* Grid */
  .epc-tst-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(var(--epc-tcount, 3), minmax(0, 1fr));
    border-top: 1px solid var(--epc-rule);
  }
  .epc-tst-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: clamp(28px, 3vw, 44px) clamp(22px, 2.4vw, 38px);
    border-left: 1px solid var(--epc-rule);
    border-bottom: 1px solid var(--epc-rule);
  }
  .epc-tst-card:first-child { border-left: 0; }
  .epc-tst-mark {
    font-family: 'Fraunces', serif;
    font-size: clamp(48px, 5vw, 72px);
    line-height: 0.7;
    color: var(--epc-gold);
    height: 0.55em;
    display: block;
  }
  .epc-tst-quote {
    margin: 0;
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-weight: 400;
    font-size: clamp(18px, 1.55vw, 22px);
    line-height: 1.4;
    letter-spacing: -0.01em;
    color: var(--epc-fg);
    flex: 1 1 auto;
  }
  .epc-tst-quote > * { margin: 0; }
  .epc-tst-quote > * + * { margin-top: 0.5em; }
  .epc-tst-quote a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
  .epc-tst-cite {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 4px;
  }
  .epc-tst-cite-rule {
    width: 22px;
    height: 1px;
    background: var(--epc-gold);
    flex: 0 0 auto;
  }
  .epc-tst-cite-text {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--epc-mute);
  }

  /* Review CTA — fan-out disclosure (native <details>) */
  .epc-tst-review-wrap {
    display: flex;
    justify-content: center;
    margin-top: clamp(32px, 4vw, 56px);
  }
  .epc-tst-review { text-align: center; }
  .epc-tst-review-btn {
    list-style: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    padding: 13px 26px;
    border: 1px solid var(--epc-gold);
    border-radius: 999px;
    background: transparent;
    color: var(--epc-fg);
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 600;
    transition: background-color 0.2s, color 0.2s;
  }
  .epc-tst-review-btn::-webkit-details-marker { display: none; }
  .epc-tst-review-btn:hover,
  .epc-tst-review[open] .epc-tst-review-btn {
    background: var(--epc-gold);
    color: #1a1713;
  }
  .epc-tst-review-btn:focus-visible {
    outline: 2px solid var(--epc-gold);
    outline-offset: 3px;
  }
  .epc-tst-review-chev {
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
  }
  .epc-tst-review[open] .epc-tst-review-chev { transform: rotate(-135deg); }
  .epc-tst-review-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 18px;
  }
  .epc-tst-review-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 10px 18px;
    border: 1px solid var(--epc-rule);
    border-radius: 999px;
    background: transparent;
    color: var(--epc-fg);
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: border-color 0.2s, color 0.2s, transform 0.2s;
  }
  .epc-tst-review-link:hover {
    border-color: var(--epc-gold);
    color: var(--epc-eyebrow);
    transform: translateY(-1px);
  }
  .epc-tst-review-link:focus-visible {
    outline: 2px solid var(--epc-gold);
    outline-offset: 2px;
  }
  .epc-tst-review-ico { display: inline-flex; width: 18px; height: 18px; flex: 0 0 auto; }
  .epc-tst-review-ico svg { width: 100%; height: 100%; fill: currentColor; }
  .epc-tst-review[open] .epc-tst-review-link { animation: epc-fanin 0.4s ease both; }
  .epc-tst-review[open] .epc-tst-review-link:nth-child(2) { animation-delay: 0.07s; }
  .epc-tst-review[open] .epc-tst-review-link:nth-child(3) { animation-delay: 0.14s; }
  @keyframes epc-fanin {
    from { opacity: 0; transform: translateY(8px) scale(0.96); }
    to { opacity: 1; transform: none; }
  }
  @media (prefers-reduced-motion: reduce) {
    .epc-tst-review-btn, .epc-tst-review-chev, .epc-tst-review-link { transition: none; }
    .epc-tst-review[open] .epc-tst-review-link { animation: none; }
  }

  /* Tablet: 2-up */
  @media (max-width: 1023px) {
    .epc-tst-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .epc-tst-card:nth-child(2n+1) { border-left: 0; }
  }
  /* Mobile: stack */
  @media (max-width: 639px) {
    .epc-tst-grid { grid-template-columns: 1fr; }
    .epc-tst-card { border-left: 0; }
  }
/* END_SECTION:testimonials */

/* START_SECTION:text-columns-with-images-redux (INDEX:100) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .tcr {
    --tcr-bg: rgb(var(--color-scheme-background));
    --tcr-fg: rgb(var(--color-scheme-text));
    --tcr-accent: rgb(var(--color-scheme-accent));
    --tcr-accent-contrast: rgb(var(--color-scheme-accent-contrast));
    background: var(--tcr-bg);
    color: var(--tcr-fg);
    font-family: 'Inter', sans-serif;
  }
  .tcr__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 64px;
  }

  /* ─── Section header ─── */
  .tcr__header {
    margin-bottom: 72px;
    max-width: 900px;
  }
  .tcr__section-eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: calc(11px * var(--tcr-overall, 1));
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--tcr-accent);
    margin-bottom: 22px;
  }
  .tcr__section-title {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: calc(clamp(40px, 5vw, 72px) * var(--tcr-overall, 1) * var(--tcr-heading-mult, 1));
    line-height: 0.98;
    font-weight: 400;
    letter-spacing: -0.02em;
    margin: 0;
    color: var(--tcr-fg);
  }
  .tcr__section-title em { font-style: italic; }
  .tcr__section-intro {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-size: calc(18px * var(--tcr-overall, 1) * var(--tcr-body-mult, 1));
    font-style: italic;
    line-height: 1.5;
    opacity: 0.8;
    margin-top: 20px;
  }
  .tcr__section-intro p { margin: 0 0 0.7em; }
  .tcr__section-intro p:last-child { margin-bottom: 0; }

  /* ─── Grid ─── */
  .tcr__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(var(--tcr-cols-mob, 1), minmax(0, 1fr));
    gap: var(--tcr-gap, 48px);
  }
  @media (min-width: 1025px) {
    .tcr__grid {
      grid-template-columns: repeat(var(--tcr-cols-desk, 3), minmax(0, 1fr));
    }
  }

  /* ─── Card ─── */
  .tcr__card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 22px;
  }
  .tcr--align-center .tcr__card { text-align: center; align-items: center; }
  .tcr--align-right  .tcr__card { text-align: right; align-items: flex-end; }

  /* Side-by-side image positions (desktop only, stacks on mobile) */
  @media (min-width: 1025px) {
    .tcr--img-left .tcr__card,
    .tcr--img-right .tcr__card {
      display: grid;
      grid-template-columns: 1fr 1.2fr;
      gap: 28px;
      align-items: center;
    }
    .tcr--img-right .tcr__card .tcr__card-media { order: 2; }
  }
  .tcr--img-bottom .tcr__card {
    flex-direction: column-reverse;
  }

  .tcr__card-link {
    position: absolute;
    inset: 0;
    z-index: 3;
    text-indent: -9999px;
    overflow: hidden;
  }
  .tcr__card > *:not(.tcr__card-link) {
    position: relative;
    z-index: 2;
  }

  /* Card visual styles */
  .tcr--card-border .tcr__card {
    border: 1px solid color-mix(in srgb, var(--tcr-fg) 15%, transparent);
    padding: 28px;
    border-radius: 2px;
  }
  .tcr--card-filled .tcr__card {
    background: color-mix(in srgb, var(--tcr-fg) 4%, transparent);
    padding: 28px;
    border-radius: 2px;
  }
  .tcr--card-divider .tcr__card {
    padding-top: 24px;
    border-top: 1px solid color-mix(in srgb, var(--tcr-fg) 15%, transparent);
  }

  /* Card media */
  .tcr__card-media {
    overflow: hidden;
    background: color-mix(in srgb, var(--tcr-fg) 4%, transparent);
    width: calc(100% * var(--tcr-img-size, 1));
  }
  .tcr--align-center .tcr__card-media { margin-left: auto; margin-right: auto; }
  .tcr--align-right  .tcr__card-media { margin-left: auto; }
  @media (min-width: 1025px) {
    .tcr--img-left .tcr__card-media,
    .tcr--img-right .tcr__card-media {
      /* Side-by-side mode — image sizes itself via grid column, scale slider
         still applies but via max-width to stay contained. */
      width: auto;
      max-width: calc(100% * var(--tcr-img-size, 1));
    }
  }

  .tcr__card-image {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: var(--tcr-aspect, auto);
    object-fit: var(--tcr-fit, cover);
    transition: transform 0.7s cubic-bezier(.2,.7,.3,1), filter 0.6s ease;
  }
  .tcr__card-media--placeholder {
    aspect-ratio: var(--tcr-aspect, 1/1);
    background: color-mix(in srgb, var(--tcr-fg) 8%, transparent);
  }

  /* Hover zoom (all cards, not just linked ones) */
  .tcr--hover-zoom .tcr__card:hover .tcr__card-image {
    transform: scale(var(--tcr-hover-zoom, 1.04));
  }
  /* Legacy: linked cards still zoom even when hover-zoom toggle is off */
  .tcr__card--linked:hover .tcr__card-image {
    transform: scale(var(--tcr-hover-zoom, 1.04));
  }

  /* Grayscale until hover */
  .tcr--grayscale .tcr__card-image {
    filter: grayscale(1) contrast(1.05) brightness(0.96);
  }
  .tcr--grayscale .tcr__card:hover .tcr__card-image {
    filter: grayscale(0) contrast(1) brightness(1);
  }

  /* Card body */
  .tcr__card-body {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .tcr__card-eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: calc(10px * var(--tcr-overall, 1));
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--tcr-accent);
    margin: 0;
  }
  .tcr__card-heading {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.01em;
    margin: 0;
    color: var(--tcr-fg);
  }
  .tcr__card--heading-small  .tcr__card-heading { font-size: calc(clamp(18px, 1.5vw, 22px) * var(--tcr-overall, 1) * var(--tcr-heading-mult, 1)); }
  .tcr__card--heading-medium .tcr__card-heading { font-size: calc(clamp(22px, 2vw, 28px)  * var(--tcr-overall, 1) * var(--tcr-heading-mult, 1)); }
  .tcr__card--heading-large  .tcr__card-heading { font-size: calc(clamp(28px, 3vw, 40px)  * var(--tcr-overall, 1) * var(--tcr-heading-mult, 1)); font-weight: 400; }
  .tcr__card--heading-xlarge .tcr__card-heading { font-size: calc(clamp(36px, 4vw, 56px)  * var(--tcr-overall, 1) * var(--tcr-heading-mult, 1)); font-weight: 400; letter-spacing: -0.02em; }

  .tcr__card-text {
    font-family: 'Inter', sans-serif;
    font-size: calc(15px * var(--tcr-overall, 1) * var(--tcr-body-mult, 1));
    line-height: 1.6;
    color: var(--tcr-fg);
    opacity: 0.82;
  }
  .tcr__card-text p { margin: 0 0 1em; }
  .tcr__card-text p:last-child { margin-bottom: 0; }
  .tcr__card-text a { color: var(--tcr-accent); text-decoration: underline; text-underline-offset: 2px; }
  .tcr__card-text strong { font-weight: 600; }
  .tcr__card-text ul, .tcr__card-text ol { padding-left: 1.25em; margin: 0 0 1em; }

  /* CTAs */
  .tcr__card-ctas { margin-top: 6px; position: relative; z-index: 4; }
  .tcr__card-cta {
    font-family: 'Inter', sans-serif;
    text-decoration: none;
    transition: color 0.25s ease, background 0.25s ease, gap 0.25s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }
  .tcr__card-cta--link {
    color: var(--tcr-accent);
    font-size: calc(12px * var(--tcr-overall, 1));
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
  }
  .tcr__card-cta--link:hover { gap: 14px; }
  .tcr__card-cta--link .tcr__card-cta-arrow { font-weight: 500; }
  .tcr__card-cta-external {
    display: inline-block;
    margin-left: 4px;
    opacity: 0.7;
    font-size: 0.85em;
  }
  .tcr__card-cta--button {
    background: var(--tcr-accent);
    color: var(--tcr-accent-contrast);
    padding: 14px 28px;
    font-size: calc(12px * var(--tcr-overall, 1));
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 600;
    border: none;
  }
  .tcr__card-cta--button:hover { opacity: 0.9; }
  .tcr__card-cta--outline {
    background: transparent;
    color: var(--tcr-fg);
    border: 1px solid var(--tcr-fg);
    padding: 14px 28px;
    font-size: calc(12px * var(--tcr-overall, 1));
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 600;
  }
  .tcr__card-cta--outline:hover {
    background: var(--tcr-fg);
    color: var(--tcr-bg);
  }

  .tcr__empty {
    font-family: 'EB Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 18px;
    opacity: 0.6;
    padding: 48px 0;
  }

  @media (max-width: 1024px) {
    .tcr__inner { padding: 0 32px; }
    .tcr__header { margin-bottom: 48px; }
  }
/* END_SECTION:text-columns-with-images-redux */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:email-confirmation-theme (INDEX:125) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..500&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

  .email-confirm {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 64vh;
    padding: clamp(56px, 12vh, 140px) 24px;
    background: rgb(var(--color-scheme-background));
    color: rgb(var(--color-scheme-text));
  }
  .email-confirm .shopify-email-marketing-confirmation__container {
    max-width: 580px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .email-confirm .shopify-email-marketing-confirmation__container::before {
    content: "Newsletter";
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    font-weight: 600;
    color: rgb(var(--color-scheme-accent));
    margin-bottom: 22px;
  }
  .email-confirm .shopify-email-marketing-confirmation__container h1 {
    font-family: 'EB Garamond', Georgia, serif;
    font-style: italic;
    font-weight: 400;
    font-size: 19px;
    opacity: 0.7;
    margin: 0 0 18px;
    letter-spacing: 0.01em;
  }
  .email-confirm .shopify-email-marketing-confirmation__container p:first-of-type {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1.04;
    letter-spacing: -0.02em;
    font-weight: 400;
    margin: 0 0 18px;
  }
  .email-confirm .shopify-email-marketing-confirmation__container p:last-of-type {
    font-family: 'EB Garamond', Georgia, serif;
    font-style: italic;
    font-size: 17px;
    line-height: 1.5;
    opacity: 0.72;
    margin: 0 0 36px;
  }
  .email-confirm .shopify-email-marketing-confirmation__container a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: none;
    color: rgb(var(--color-scheme-text));
    border: 1px solid currentColor;
    padding: 15px 30px;
    border-radius: 2px;
    transition: background 0.25s ease, color 0.25s ease;
  }
  .email-confirm .shopify-email-marketing-confirmation__container a:hover {
    background: rgb(var(--color-scheme-text));
    color: rgb(var(--color-scheme-background));
  }
  .email-confirm__actions { margin-top: 26px; }
  .email-confirm__home {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    color: rgb(var(--color-scheme-accent));
    text-decoration: none;
    display: inline-flex;
    gap: 8px;
    align-items: center;
  }
  .email-confirm__home:hover { gap: 14px; }

  @media (prefers-reduced-motion: reduce) {
    .email-confirm .shopify-email-marketing-confirmation__container a,
    .email-confirm__home { transition: none; }
  }
/* END_SNIPPET:email-confirmation-theme */