/** Shopify CDN: Minification failed

Line 463:2 Unexpected "{"
Line 463:3 Expected identifier but found "%"
Line 474:2 Unexpected "{"
Line 474:3 Expected identifier but found "%"
Line 687:2 Unexpected "{"
Line 687:3 Expected identifier but found "%"
Line 702:2 Unexpected "{"
Line 702:3 Expected identifier but found "%"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:header-new (INDEX:23) */
/* Reskins header-new to match the brand's established look — thin
     border, circular icon buttons, gold hover accents, pill-shaped cart
     badge — without touching any of the underlying markup, sticky
     behavior, search/cart/account logic, or dropdown-menu functionality.
     Declarations are marked !important only where needed to reliably win
     over header-new.css regardless of which stylesheet loads last. */

  .header-new {
    border-bottom: 1px solid rgba(10, 10, 10, 0.08) !important;
    transition: border-color 0.3s ease;
  }
  /* Suppressed only for the very first overlay check on page load, so the
     correct initial state (transparent or not) applies instantly instead of
     visibly fading in after a delay — see the script below for why. */
  .header-new.no-transition,
  .header-new.no-transition [data-sticky-scroll-header-banner-mobile],
  .header-new.no-transition .header-new__logo-col img,
  .header-new.no-transition .header-new__icon-button {
    transition: none !important;
  }

  .header-new__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
  }

  .header-new__logo-col a {
    display: inline-flex;
    align-items: center;
  }

  .header-new__logo-col img {
    transition: filter 0.3s ease;
  }

  /* Desktop nav: only centering the column itself. The main-menu and
     collection-menu snippets render their own link/dropdown markup that
     isn't visible here, and past experience in this exact section showed
     that overriding link padding/typography blind breaks the theme's own
     built-in hover-underline (a ::before positioned a fixed distance from
     the link's bottom edge, calibrated to the theme's own padding) — so
     nav-link spacing/typography is intentionally left to the theme. Color
     is a separate, safe exception (see .is-header-transparent below): it
     doesn't touch layout, so it can't disturb that underline's position. */
  .header-new__nav-col {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
  }

  .header-new__actions-col {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .header-new__icon-button {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(10, 10, 10, 0.14) !important;
    border-radius: 999px !important;
    transition: border-color 0.2s ease, background-color 0.3s ease, color 0.3s ease;
  }
  .header-new__icon-button:hover {
    border-color: #0a0a0a !important;
  }
  .header-new__icon-button svg {
    width: 17px;
    height: 17px;
  }

  .header-new__search {
    position: relative;
  }
  .header-new__search summary {
    cursor: pointer;
    list-style: none;
  }
  .header-new__search summary::-webkit-details-marker {
    display: none;
  }
  .header-new__search-panel {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    width: min(360px, 90vw);
    padding: 18px;
    border: 1px solid rgba(10, 10, 10, 0.08) !important;
  }
  /* The theme's global focus-visible style is a dashed outline — sensible
     for keyboard navigation generally, but this panel's input is focused
     programmatically the instant it opens (see the search-open script
     below), and browsers treat scripted .focus() the same as keyboard
     focus for :focus-visible purposes. That means the dashed ring shows up
     on every single open, by mouse click included, not just for keyboard
     users — clashing with the reskin. Swapped for a plain solid ring in the
     brand's own gold instead, scoped to just this input. */
  .header-new__search-panel input:focus,
  .header-new__search-panel input:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(198, 161, 91, 0.55) !important;
    border-color: #c6a15b !important;
  }

  .header-new__cart-wrap {
    position: relative;
  }
  .header-new__cart-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px !important;
    background: #c6a15b !important;
    color: #0a0a0a !important;
    font-size: 10px;
    font-weight: 700;
    pointer-events: none;
  }

  @media (max-width: 989px) {
    .header-new__nav-col {
      display: none;
    }
  }

  /* Transparent-overlay state. Toggled by the script above, only while a
     data-header-overlay section (opted in via that section's own settings,
     e.g. Hero Banner) is the first section on the page and on screen.
     [data-sticky-scroll-header-banner-mobile] is the element that actually
     paints the background (a Tailwind bg-background utility) — the
     <header> itself never has a background of its own. */
  .header-new [data-sticky-scroll-header-banner-mobile] {
    transition: background-color 0.3s ease;
  }
  .header-new.is-header-transparent [data-sticky-scroll-header-banner-mobile] {
    background: transparent !important;
  }
  .header-new.is-header-transparent {
    border-bottom-color: transparent !important;
  }
  .header-new.is-header-transparent .header-new__logo-col img {
    filter: brightness(0) invert(1);
  }
  /* Forced white rather than left to the color-scheme swap alone — the
     scheme picked in "Color scheme while transparent" may not actually
     resolve to light text (that depends on how it's set up under Theme
     Settings > Colors, which this file has no visibility into), so this
     guarantees readable nav/icon color over a dark hero regardless.
     Covers both markup shapes in the nav: plain links (leaf items like
     "Subscriptions") and <summary> elements (items with a dropdown, like
     "Shop" or "Roastery") — missing the second one is why only one nav
     item was turning white before. */
  .header-new.is-header-transparent .header-new__nav-col a,
  .header-new.is-header-transparent .header-new__nav-col summary {
    color: #ffffff !important;
  }
  .header-new.is-header-transparent .header-new__icon-button {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
  }
  .header-new.is-header-transparent .header-new__icon-button:hover {
    border-color: #ffffff !important;
  }
  .header-new.is-header-transparent .header-new__icon-button--account {
    background-color: rgba(255, 255, 255, 0.16) !important;
    color: #ffffff !important;
  }
/* END_SECTION:header-new */

/* START_SECTION:media-banner (INDEX:62) */
/* Fixed, intentional layout: left-aligned, vertically centered — replaces
     the old configurable-but-error-prone 9-way alignment system, which is
     what produced the broken offset/positioning this redesign fixes. */
  .media-banner__inner {
    width: 100%;
    max-width: 640px;
    text-align: left;
  }

  .media-banner__rule {
    width: 56px;
    height: 2px;
    margin-bottom: 20px;
    background: linear-gradient(90deg, currentColor, transparent);
    opacity: 0.85;
  }

  .media-banner__heading {
    font-size: clamp(32px, 5.2vw, 64px);
    line-height: 1.04;
    font-weight: 700;
    letter-spacing: -0.02em;
  }

  .media-banner__subheading--bottom {
    font-size: clamp(12px, 1.1vw, 16px);
  }

  .media-banner__description {
    max-width: 540px;
  }
/* END_SECTION:media-banner */

/* START_SECTION:roastery-events-section (INDEX:77) */
.leivas-roastery-events {
    position: relative;
    overflow: hidden;
    background: #0a0a0a;
    border-top: 1px solid rgba(198, 161, 91, 0.3);
    min-height: 82vh;
    display: flex;
    align-items: center;
  }

  .leivas-roastery-events__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: contrast(1.02) brightness(0.85) saturate(0.95);
  }
  .leivas-roastery-events__media--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #141414;
  }
  .leivas-roastery-events__placeholder-svg { height: 40%; width: auto; opacity: 0.35; }

  .leivas-roastery-events__veil {
    position: absolute;
    inset: 0;
    background:
      radial-gradient(60% 55% at 50% 38%, rgba(10, 10, 10, 0.62) 0%, rgba(10, 10, 10, 0.3) 60%, rgba(10, 10, 10, 0) 100%),
      linear-gradient(180deg, rgba(10, 10, 10, 0.42) 0%, rgba(10, 10, 10, 0.2) 30%, rgba(10, 10, 10, 0.55) 100%);
  }

  .leivas-roastery-events__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
    padding: 100px 40px;
    text-align: center;
  }

  .leivas-roastery-events__eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: #c6a15b; }
  .leivas-roastery-events__heading {
    font-size: clamp(32px, 4.4vw, 50px);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: #fff;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.35);
    margin: 20px 0;
  }
  .leivas-roastery-events__text { font-size: 17px; line-height: 1.65; color: rgba(255, 255, 255, 0.82); margin: 0 auto; }

  .leivas-roastery-events__cta-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 44px; }
  .leivas-roastery-events__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 54px;
    padding: 0 34px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  }
  .leivas-roastery-events__btn--gold { background: #c6a15b; color: #0a0a0a; border: 0; }
  .leivas-roastery-events__btn--gold:hover { background: #e3bc79; }
  .leivas-roastery-events__btn--outline { border: 1px solid rgba(255, 255, 255, 0.4); color: #fff; }
  .leivas-roastery-events__btn--outline:hover { border-color: #fff; background: rgba(255, 255, 255, 0.08); }

  .leivas-roastery-events__footnote {
    margin-top: 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.55);
  }
  .leivas-roastery-events__guide-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: none;
    color: #e3bc79;
    border-bottom: 1px solid rgba(230, 188, 121, 0.4);
    padding-bottom: 2px;
    transition: border-color 0.2s ease, opacity 0.2s ease;
  }
  .leivas-roastery-events__guide-link:hover { border-bottom-color: #e3bc79; opacity: 0.8; }
  .leivas-roastery-events__guide-link span { transition: transform 0.2s ease; }
  .leivas-roastery-events__guide-link:hover span { transform: translateX(3px); }

  [data-reveal-root] {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  [data-reveal-root].is-visible { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) {
    [data-reveal-root] { transition: none; opacity: 1; transform: none; }
  }

  @media (max-width: 749px) {
    .leivas-roastery-events { min-height: 70vh; }
    .leivas-roastery-events__inner { padding: 72px 24px; }
  }
/* END_SECTION:roastery-events-section */

/* START_SECTION:roastery-gallery-section (INDEX:78) */
.leivas-roastery-gallery { background: #0a0a0a; padding: 120px 0; overflow: hidden; }
  @media (max-width: 749px) {
    .leivas-roastery-gallery { padding: 72px 0; }
  }

  .leivas-roastery-gallery__head { text-align: center; margin-bottom: 56px; padding: 0 24px; }
  .leivas-roastery-gallery__eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #c6a15b;
    margin-bottom: 14px;
  }
  .leivas-roastery-gallery__heading {
    font-size: clamp(28px, 3.4vw, 46px);
    font-weight: 700;
    letter-spacing: -0.032em;
    line-height: 1.05;
    color: #f5f1e8;
    margin: 0;
  }

  .leivas-roastery-gallery__rows {
    display: flex;
    flex-direction: column;
    gap: 22px;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .leivas-roastery-gallery__rows.is-visible { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) {
    .leivas-roastery-gallery__rows { transition: none; opacity: 1; transform: none; }
  }

  /* Full-bleed, edge to edge — card widths are in vw (not px) specifically
     so one full set of cards is always wider than the viewport itself, at
     any screen size. With 3 photos in a row: 3 * 37vw + 2 * 1.5vw = 114vw,
     and 3 * 35vw + 2 * 1.5vw = 108vw — both comfortably over 100vw. That
     margin is what guarantees the looped repeat never scrolls into view at
     the same time as the original. Fewer than 3 photos in a row shrinks
     that margin and may cause a visible repeat — add at least 3 per row. */
  .leivas-roastery-gallery__row {
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
  }
  .leivas-roastery-gallery__track {
    display: flex;
    width: max-content;
    gap: 1.5vw;
  }

  .leivas-roastery-gallery__row--back .leivas-roastery-gallery__track {
    animation: leivas-roastery-gallery-drift 48s linear infinite reverse;
  }
  .leivas-roastery-gallery__row--back .leivas-roastery-gallery__card {
    width: 35vw;
    aspect-ratio: 16 / 9;
    filter: brightness(0.72) saturate(0.85) blur(0.5px);
    opacity: 0.75;
  }

  .leivas-roastery-gallery__row--front .leivas-roastery-gallery__track {
    animation: leivas-roastery-gallery-drift 34s linear infinite;
  }
  .leivas-roastery-gallery__row--front .leivas-roastery-gallery__card {
    width: 37vw;
    aspect-ratio: 4 / 3;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
  }

  @keyframes leivas-roastery-gallery-drift {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }

  .leivas-roastery-gallery__card {
    position: relative;
    flex: none;
    overflow: hidden;
    background: #1a1a1a;
  }
  .leivas-roastery-gallery__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .leivas-roastery-gallery__placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .leivas-roastery-gallery__placeholder-svg { height: 40%; width: auto; opacity: 0.35; }
/* END_SECTION:roastery-gallery-section */

/* START_SECTION:roastery-intro-section (INDEX:79) */
.leivas-roastery-intro {
    position: relative;
    overflow: hidden;
    background: #0a0a0a;
    height: 100vh;
    min-height: 640px;
  }

  {% if section.settings.enable_header_overlay %}
    /* Pulls this section up underneath the (now-transparent) header instead
       of leaving a gap — --header-h is set at runtime by header-new.liquid's
       overlay script. Unlike Hero Banner, no extra height compensation is
       needed here: this section is already exactly 100vh, so removing the
       header's reserved space just brings its bottom edge to exactly one
       screen height — the next section stays hidden until you scroll,
       same as before, just with the video now reaching the true top. */
    .leivas-roastery-intro[data-header-overlay] {
      margin-top: calc(var(--header-h, 0px) * -1);
    }
  {% endif %}

  .leivas-roastery-intro__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: contrast(1.02) brightness(0.92) saturate(1);
  }
  .leivas-roastery-intro__media--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #141414;
  }
  .leivas-roastery-intro__placeholder-svg { height: 40%; width: auto; opacity: 0.35; }

  .leivas-roastery-intro__overlay { position: absolute; inset: 0; }
  .leivas-roastery-intro__overlay--v {
    background: linear-gradient(180deg, rgba(10, 10, 10, 0.28) 0%, rgba(10, 10, 10, 0.08) 50%, rgba(10, 10, 10, 0.4) 100%);
  }
  .leivas-roastery-intro__overlay--h {
    background: linear-gradient(100deg, rgba(10, 10, 10, 0.4) 0%, rgba(10, 10, 10, 0.12) 44%, rgba(10, 10, 10, 0) 74%);
  }

  .leivas-roastery-intro__grid {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    height: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 152px 40px 100px;
  }

  .leivas-roastery-intro__main { max-width: 640px; }

  .leivas-roastery-intro__eyebrow-row { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
  .leivas-roastery-intro__eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #e3bc79;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6);
  }
  .leivas-roastery-intro__rule { flex: 0 0 46px; height: 1px; background: linear-gradient(90deg, #e3bc79, rgba(230, 188, 121, 0)); }

  .leivas-roastery-intro__title {
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.04;
    font-size: clamp(38px, 5.6vw, 66px);
    color: #c6a15b;
    margin: 0 0 26px;
    text-shadow: 0 3px 24px rgba(0, 0, 0, 0.55);
  }

  .leivas-roastery-intro__text {
    font-size: 17px;
    line-height: 1.7;
    color: #f5f1e8;
    max-width: 54ch;
    margin: 0 0 32px;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.6);
  }

  .leivas-roastery-intro__badge {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #e3bc79;
    padding: 11px 20px;
    border: 1px solid rgba(230, 188, 121, 0.4);
    border-radius: 999px;
    background: rgba(10, 10, 10, 0.38);
    backdrop-filter: blur(3px);
  }

  [data-reveal-item] {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  [data-reveal-item].is-visible { opacity: 1; transform: none; }

  @media (prefers-reduced-motion: reduce) {
    [data-reveal-item] { transition: none; opacity: 1; transform: none; }
  }

  @media (max-width: 749px) {
    .leivas-roastery-intro { min-height: 560px; }
    .leivas-roastery-intro__grid { padding: 124px 20px 64px; }
  }
/* END_SECTION:roastery-intro-section */

/* START_SECTION:roastery-visit-section (INDEX:80) */
.leivas-roastery-visit { background: #0a0a0a; }
  .leivas-roastery-visit__container { max-width: 1280px; margin: 0 auto; padding: 96px 40px; }

  .leivas-roastery-visit__grid {
    border: 1px solid rgba(198, 161, 91, 0.3);
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  @media (max-width: 767px) {
    .leivas-roastery-visit__grid { grid-template-columns: 1fr; }
  }

  .leivas-roastery-visit__col { padding: 52px 56px; }
  .leivas-roastery-visit__col + .leivas-roastery-visit__col { border-left: 1px solid rgba(198, 161, 91, 0.3); }
  @media (max-width: 767px) {
    .leivas-roastery-visit__col { padding: 40px 32px; }
    .leivas-roastery-visit__col + .leivas-roastery-visit__col {
      border-left: none;
      border-top: 1px solid rgba(198, 161, 91, 0.3);
    }
  }

  .leivas-roastery-visit__label-row { display: flex; align-items: center; gap: 18px; margin-bottom: 34px; }
  .leivas-roastery-visit__eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #c6a15b;
    white-space: nowrap;
  }
  .leivas-roastery-visit__label-rule {
    flex: 1 1 auto;
    height: 1px;
    background: linear-gradient(90deg, rgba(198, 161, 91, 0.5), rgba(198, 161, 91, 0));
  }

  .leivas-roastery-visit__hours { display: flex; flex-direction: column; gap: 18px; }
  .leivas-roastery-visit__hours-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(198, 161, 91, 0.18);
  }
  .leivas-roastery-visit__hours-row:last-child { border-bottom: none; padding-bottom: 0; }
  .leivas-roastery-visit__hours-row dt {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #8c8579;
  }
  .leivas-roastery-visit__hours-row dd {
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -0.005em;
    color: #f5f1e8;
  }
  .leivas-roastery-visit__hours-row--closed dd { color: #8c8579; font-weight: 600; }

  .leivas-roastery-visit__address-row { display: flex; gap: 16px; align-items: flex-start; }
  .leivas-roastery-visit__pin { flex: 0 0 auto; width: 22px; height: 22px; margin-top: 4px; fill: #c6a15b; }

  .leivas-roastery-visit__address {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: -0.005em;
    line-height: 1.32;
    color: #f5f1e8;
  }
  .leivas-roastery-visit__note { margin-top: 14px; font-size: 14px; color: #8c8579; }

  .leivas-roastery-visit__directions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #e3bc79;
    border-bottom: 1px solid rgba(230, 188, 121, 0.4);
    padding-bottom: 2px;
    transition: border-color 0.2s ease, opacity 0.2s ease;
  }
  .leivas-roastery-visit__directions:hover { border-bottom-color: #e3bc79; opacity: 0.8; }
  .leivas-roastery-visit__directions span { transition: transform 0.2s ease; }
  .leivas-roastery-visit__directions:hover span { transform: translateX(3px); }

  [data-reveal-root] {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  [data-reveal-root].is-visible { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) {
    [data-reveal-root] { transition: none; opacity: 1; transform: none; }
  }
/* END_SECTION:roastery-visit-section */

/* START_SECTION:story-intro-section (INDEX:84) */
.leivas-story-intro {
    position: relative;
    overflow: hidden;
    background: #0a0a0a;
  }

  {% if section.settings.enable_header_overlay %}
    /* Pulls this section up underneath the (now-transparent) header instead
       of leaving a gap — --header-h is set at runtime by header-new.liquid's
       overlay script. This section isn't a full 100vh like Roastery intro
       (it's min-height: 62vh, above the 749px breakpoint), so its height
       also needs to grow by the same amount to keep the next section from
       peeking into view before any scrolling — same trick as Hero Banner. */
    .leivas-story-intro[data-header-overlay] {
      margin-top: calc(var(--header-h, 0px) * -1);
    }
    @media screen and (min-width: 750px) {
      .leivas-story-intro[data-header-overlay] .leivas-story-intro__grid {
        min-height: calc(62vh + var(--header-h, 0px));
      }
    }
  {% endif %}

  .leivas-story-intro__container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
  }

  .leivas-story-intro__grid {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 40px;
    min-height: 62vh;
    padding: 152px 0 88px;
  }

  .leivas-story-intro__main { max-width: 640px; }

  .leivas-story-intro__eyebrow-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
  }
  .leivas-story-intro__eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #e3bc79;
  }
  .leivas-story-intro__rule {
    flex: 0 0 46px;
    height: 1px;
    background: linear-gradient(90deg, #e3bc79, rgba(230, 188, 121, 0));
  }

  .leivas-story-intro__title {
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.04;
    font-size: clamp(38px, 5.6vw, 66px);
    color: #c6a15b;
    margin: 0 0 26px;
  }

  .leivas-story-intro__text {
    font-size: 17px;
    line-height: 1.7;
    color: #b4b0a8;
    max-width: 54ch;
    margin: 0 0 32px;
  }

  .leivas-story-intro__badge {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #e3bc79;
    padding: 11px 20px;
    border: 1px solid rgba(230, 188, 121, 0.35);
    border-radius: 999px;
  }

  .leivas-story-intro__aside {
    justify-self: end;
    align-self: start;
    margin-top: 6px;
    text-align: right;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #8c8579;
    line-height: 1.8;
  }
  .leivas-story-intro__aside-rule {
    display: block;
    width: 32px;
    height: 1px;
    background: rgba(230, 188, 121, 0.4);
    margin: 0 0 14px auto;
  }

  @media screen and (max-width: 900px) {
    .leivas-story-intro__grid { grid-template-columns: 1fr; }
    .leivas-story-intro__aside { display: none; }
  }
  @media screen and (max-width: 749px) {
    .leivas-story-intro__container { padding: 0 20px; }
    .leivas-story-intro__grid { min-height: auto; padding: 124px 0 64px; }
  }

  [data-reveal-item] {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  [data-reveal-item].is-visible {
    opacity: 1;
    transform: none;
  }

  @media (prefers-reduced-motion: reduce) {
    [data-reveal-item] {
      transition: none;
      opacity: 1;
      transform: none;
    }
  }
/* END_SECTION:story-intro-section */

/* START_SECTION:story-photo-section (INDEX:85) */
.leivas-story-photo {
    position: relative;
    overflow: hidden;
    background: #0a0a0a;
    width: 100%;
    max-height: 92vh;
  }
  .leivas-story-photo[data-reveal-item] {
    opacity: 0;
    transform: scale(1.06) translateY(18px);
    transition: opacity 1.1s cubic-bezier(0.22, 0.61, 0.36, 1), transform 1.1s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .leivas-story-photo[data-reveal-item].is-visible {
    opacity: 1;
    transform: scale(1) translateY(0);
  }

  .leivas-story-photo__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1) rotate(0deg) translate3d(0, 0, 0);
    transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
  }

  .leivas-story-photo__placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #141414;
  }
  .leivas-story-photo__placeholder-svg { height: 60%; width: auto; opacity: 0.35; }

  .leivas-story-photo__veil {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 10, 10, 0.1) 0%, rgba(10, 10, 10, 0) 34%, rgba(10, 10, 10, 0.4) 100%);
  }

  @media (prefers-reduced-motion: reduce) {
    .leivas-story-photo[data-reveal-item] {
      transition: none;
      opacity: 1;
      transform: none;
    }
  }
/* END_SECTION:story-photo-section */

/* START_SECTION:story-video-section (INDEX:86) */
.leivas-video {
    position: relative;
    background: #0a0a0a;
  }

  .leivas-video__frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #0a0a0a;
  }
  @media (pointer: fine) {
    .leivas-video__frame:not(.is-playing) { cursor: none; }
  }

  .leivas-video__facade { position: absolute; inset: 0; }
  .leivas-video__frame.is-playing .leivas-video__facade { display: none; }

  .leivas-video__poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: contrast(1.04) brightness(0.82) saturate(0.96);
    transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1), filter 0.6s ease;
  }
  .leivas-video__frame:hover .leivas-video__poster {
    transform: scale(1.03);
    filter: contrast(1.05) brightness(0.7) saturate(0.98);
  }

  .leivas-video__poster--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #141414;
  }
  .leivas-video__placeholder-svg { height: 60%; width: auto; opacity: 0.35; }

  .leivas-video__veil {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 10, 10, 0.55) 0%, rgba(10, 10, 10, 0.05) 32%, rgba(10, 10, 10, 0.1) 60%, rgba(10, 10, 10, 0.6) 100%);
  }

  .leivas-video__caption {
    position: absolute;
    left: 6vw;
    bottom: 56px;
    z-index: 2;
    color: #fff;
    max-width: 460px;
    pointer-events: none;
  }
  .leivas-video__eyebrow { color: #e3bc79; margin-bottom: 10px; }
  .leivas-video__line { font-size: 17px; line-height: 1.5; color: rgba(255, 255, 255, 0.82); margin: 0; }

  .leivas-video__trigger {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 92px;
    height: 92px;
    border-radius: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(10, 10, 10, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(2px);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background 0.35s ease, border-color 0.35s ease;
  }
  .leivas-video__trigger:focus-visible { outline: 2px solid #c6a15b; outline-offset: 3px; }
  .leivas-video__frame:hover .leivas-video__trigger {
    transform: translate(-50%, -50%) scale(1.08);
    background: rgba(10, 10, 10, 0.4);
    border-color: rgba(255, 255, 255, 0.7);
  }

  .leivas-video__trigger-ring {
    position: absolute;
    inset: -1px;
    border-radius: 50%;
    border: 1px solid rgba(230, 188, 121, 0.5);
    animation: leivas-video-pulse 2.6s ease-out infinite;
  }
  .leivas-video__trigger-icon { width: 26px; height: 26px; fill: #fff; margin-left: 4px; }

  @keyframes leivas-video-pulse {
    0% { transform: scale(1); opacity: 0.8; }
    100% { transform: scale(1.45); opacity: 0; }
  }

  .leivas-video__cursor {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: #c6a15b;
    color: #0a0a0a;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
    will-change: transform;
  }
  .leivas-video__cursor.is-active { opacity: 1; }
  @media (pointer: coarse) {
    .leivas-video__cursor { display: none; }
  }

  .leivas-video__iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    /* No native controls are shown, but the provider still toggles
       play/pause on a direct click regardless — for YouTube that brings
       back its title/branding card. All play/pause/mute control instead
       flows through our own buttons via postMessage, so a direct click
       here can never trigger that. */
    pointer-events: none;
  }

  /* Shown only while paused — covers the iframe entirely so YouTube's own
     branded pause card (title, channel, logo) never becomes visible;
     clicking anywhere on it resumes playback. */
  .leivas-video__pause-cover {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: block;
    width: 100%;
    border: 0;
    padding: 0;
    background: rgba(10, 10, 10, 0.86);
  }

  .leivas-video__controls {
    position: absolute;
    right: 20px;
    bottom: 20px;
    z-index: 5;
    display: flex;
    gap: 10px;
  }
  .leivas-video__control-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(10, 10, 10, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(3px);
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
  }
  .leivas-video__control-btn:hover {
    background: rgba(10, 10, 10, 0.75);
    border-color: rgba(255, 255, 255, 0.45);
    transform: scale(1.06);
  }
  .leivas-video__control-btn:focus-visible { outline: 2px solid #c6a15b; outline-offset: 2px; }
  .leivas-video__control-btn svg { width: 18px; height: 18px; fill: #fff; }

  @media (prefers-reduced-motion: reduce) {
    .leivas-video__trigger-ring { animation: none; }
  }

  @media (max-width: 749px) {
    .leivas-video__trigger { width: 56px; height: 56px; }
    .leivas-video__trigger-icon { width: 18px; height: 18px; }
    .leivas-video__caption { left: 16px; right: 16px; bottom: auto; top: 14px; max-width: none; }
    .leivas-video__line { display: none; }
  }
/* END_SECTION:story-video-section */

/* START_SECTION:subscription-builder-section (INDEX:87) */
.leivas-sub-builder { background: #ffffff; padding: 80px 0; max-width: 100%; overflow-x: hidden; }
  @media (max-width: 749px) {
    .leivas-sub-builder { padding: 56px 0; }
  }

  .leivas-sub-builder__head {
    text-align: center; max-width: 560px; margin: 0 auto 32px; padding: 0 20px;
    opacity: 0; transform: translateY(16px); transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .leivas-sub-builder__head.is-visible { opacity: 1; transform: none; }
  .leivas-sub-builder__eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: #8a6e42; margin-bottom: 14px; }
  .leivas-sub-builder__heading { font-weight: 700; letter-spacing: -0.03em; line-height: 1.06; font-size: clamp(28px, 3.4vw, 46px); color: #0a0a0a; margin: 0; }
  .leivas-sub-builder__text { margin-top: 16px; font-size: 15.5px; line-height: 1.6; color: #6e6e6b; }

  .leivas-sub-builder__roasts {
    display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; padding: 0 20px;
    opacity: 0; transform: translateY(16px); transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .leivas-sub-builder__roasts.is-visible { opacity: 1; transform: none; }
  .leivas-sub-builder .leivas-sub-builder__roast {
    padding: 12px 22px; border: 1px solid #e8e7e4 !important; background: #ffffff !important; opacity: 1 !important;
    display: flex; align-items: baseline; gap: 8px; cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
  }
  .leivas-sub-builder__roast-label { font-size: 14px; font-weight: 700; color: #0a0a0a !important; }
  .leivas-sub-builder__roast-count { font-size: 12px; color: #6e6e6b !important; }
  .leivas-sub-builder .leivas-sub-builder__roast.is-selected { background: #0a0a0a !important; border-color: #0a0a0a !important; }
  .leivas-sub-builder__roast.is-selected .leivas-sub-builder__roast-label { color: #ffffff !important; }
  .leivas-sub-builder__roast.is-selected .leivas-sub-builder__roast-count { color: #b4b0a8 !important; }

  .leivas-sub-builder__picker { display: none; justify-content: center; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; padding: 0 20px; }
  .leivas-sub-builder__picker.is-active { display: flex; }
  .leivas-sub-builder .leivas-sub-builder__pick {
    width: 140px; padding: 12px; background: #ffffff !important; border: 1px solid #e8e7e4 !important; opacity: 1 !important; cursor: pointer;
    display: flex; flex-direction: column; align-items: center; text-align: center; gap: 3px;
    transition: border-color 0.2s ease, transform 0.2s ease;
  }
  .leivas-sub-builder__pick:hover { transform: translateY(-3px); }
  .leivas-sub-builder .leivas-sub-builder__pick.is-selected { border-color: #0a0a0a !important; box-shadow: 0 0 0 1px #0a0a0a; }
  .leivas-sub-builder__pick-img { width: 60px; height: 60px; background-size: cover; background-position: center; margin-bottom: 6px; }
  .leivas-sub-builder__pick-name { font-size: 12.5px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.25; color: #0a0a0a !important; }
  .leivas-sub-builder__pick-price { font-size: 11.5px; color: #6e6e6b !important; }

  .leivas-sub-builder__panel {
    background: #ffffff; border: 1px solid #e8e7e4;
    display: grid; grid-template-columns: 1fr 1.15fr; align-items: start; gap: 0;
    max-width: 920px; margin: 0 auto; min-height: 120px;
  }
  @media (max-width: 849px) {
    .leivas-sub-builder__panel { grid-template-columns: minmax(0, 1fr); margin: 0 20px; }
  }
  .leivas-sub-builder__noscript { padding: 32px; font-size: 14px; color: #6e6e6b; }
  .leivas-sub-builder__error { padding: 32px; font-size: 14px; color: #b3441f; grid-column: 1 / -1; }

  .leivas-sub-builder__gallery { display: flex; gap: 14px; padding: 32px; }
  @media (max-width: 849px) { .leivas-sub-builder__gallery { padding: 24px; } }
  @media (max-width: 549px) { .leivas-sub-builder__gallery { flex-direction: column-reverse; gap: 12px; } }

  .leivas-sub-builder__thumbs { display: flex; flex-direction: column; gap: 10px; flex: none; }
  @media (max-width: 549px) { .leivas-sub-builder__thumbs { flex-direction: row; overflow-x: auto; } }
  .leivas-sub-builder__thumb {
    width: 56px; height: 56px; flex: none; padding: 4px; cursor: pointer;
    border: 1px solid #e8e7e4; background: #ffffff; transition: border-color 0.2s ease;
  }
  .leivas-sub-builder__thumb.is-selected { border-color: #0a0a0a; }
  .leivas-sub-builder__thumb img { width: 100%; height: 100%; object-fit: cover; }

  .leivas-sub-builder__media { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; min-width: 0; }
  .leivas-sub-builder__media img { width: 100%; max-width: 320px; height: auto; }

  .leivas-sub-builder__config { padding: 32px 40px 36px; min-width: 0; }
  @media (max-width: 549px) { .leivas-sub-builder__config { padding: 28px 22px 32px; } }

  .leivas-sub-builder__name { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; color: #0a0a0a; margin: 0; }
  .leivas-sub-builder__notes { margin-top: 6px; font-size: 14px; color: #6e6e6b; }

  .leivas-sub-builder__fields-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; max-width: 360px; }
  .leivas-sub-builder__fields-row .leivas-sub-builder__field:only-child { grid-column: 1 / -1; max-width: 170px; }
  .leivas-sub-builder__field label {
    display: block; margin-bottom: 6px; font-size: 11px; font-weight: 700;
    letter-spacing: 0.08em; text-transform: uppercase; color: #3a3a38;
  }
  .leivas-sub-builder__field select {
    width: 100%; height: 42px; padding: 0 30px 0 12px; border: 1px solid #e8e7e4; background: #ffffff;
    font-size: 13.5px; appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%233A3A38' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 10px center;
  }
  .leivas-sub-builder__field select:focus { outline: none; border-color: #0a0a0a; }
  .leivas-sub-builder__field select { color: #0a0a0a !important; }

  .leivas-sub-builder__plans { margin-top: 22px; }
  .leivas-sub-builder .leivas-sub-builder__plan { position: relative; border: 1px solid #0a0a0a; background: #ffffff !important; overflow: hidden; }
  .leivas-sub-builder__plan-hit { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; width: 100%; padding: 16px 18px; }
  .leivas-sub-builder__plan-label-group { flex: 1 1 auto; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
  .leivas-sub-builder__plan-label { font-size: 14.5px; font-weight: 700; color: #0a0a0a !important; }
  .leivas-sub-builder__plan-price { flex: none; margin-left: auto; font-size: 14.5px; font-weight: 700; white-space: nowrap; color: #0a0a0a !important; }
  .leivas-sub-builder__was { font-weight: 500; color: #9a9a97 !important; text-decoration: line-through; margin-right: 4px; }
  .leivas-sub-builder__save-tag {
    flex: none; background: #c6a15b !important; color: #0a0a0a !important;
    font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 3px 8px;
  }

  .leivas-sub-builder__plan-body { padding: 0 18px 20px; }
  .leivas-sub-builder__perks { list-style: none; display: flex; flex-direction: column; gap: 6px; margin: 0 0 18px; padding: 0; }
  .leivas-sub-builder__perks li { font-size: 13px; color: #6e6e6b; padding-left: 18px; position: relative; }
  .leivas-sub-builder__perks li::before { content: '✓'; position: absolute; left: 0; color: #8a6e42; font-weight: 700; }

  .leivas-sub-builder__cadence-label { font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #3a3a38; margin-bottom: 10px; }
  .leivas-sub-builder__cadence-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
  @media (max-width: 549px) { .leivas-sub-builder__cadence-grid { grid-template-columns: repeat(2, 1fr); } }
  .leivas-sub-builder .leivas-sub-builder__cadence {
    position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    padding: 10px 6px; border: 1px solid #e8e7e4 !important; background: #f4f4f2 !important; opacity: 1 !important; cursor: pointer;
  }
  .leivas-sub-builder__cadence span { font-size: 12.5px; font-weight: 700; color: #0a0a0a !important; }
  .leivas-sub-builder__cadence em { font-style: normal; font-size: 10px; color: #6e6e6b !important; }
  .leivas-sub-builder .leivas-sub-builder__cadence.is-selected { background: #0a0a0a !important; border-color: #0a0a0a !important; }
  .leivas-sub-builder__cadence.is-selected span, .leivas-sub-builder__cadence.is-selected em { color: #ffffff !important; }

  .leivas-sub-builder__one-time-note { margin-top: 22px; font-size: 13px; color: #6e6e6b; }

  .leivas-sub-builder__buy-row { margin-top: 22px; display: flex; gap: 12px; align-items: stretch; }
  .leivas-sub-builder__stepper { display: flex; align-items: center; border: 1px solid #e8e7e4; }
  .leivas-sub-builder__stepper button { width: 44px; font-size: 17px; background: none; border: none; cursor: pointer; }
  .leivas-sub-builder__stepper span { width: 36px; text-align: center; font-size: 14px; }
  .leivas-sub-builder .leivas-sub-builder__add {
    flex: 1 1 auto; height: 54px; border: none !important; cursor: pointer;
    background: #0a0a0a !important; color: #ffffff !important; opacity: 1 !important;
    font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
    transition: background 0.2s ease; box-shadow: none !important;
  }
  .leivas-sub-builder .leivas-sub-builder__add:hover { background: #2a2a28 !important; }
  .leivas-sub-builder .leivas-sub-builder__add:disabled { background: #9a9a97 !important; color: #ffffff !important; cursor: not-allowed; }

  .leivas-sub-builder__empty { text-align: center; padding: 60px 20px; color: #6e6e6b; font-size: 14px; }

  .leivas-sub-builder__confirm {
    margin-top: 14px; padding: 12px 14px; background: #f4f4f2; border: 1px solid #e8e7e4;
    align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  }
  .leivas-sub-builder__confirm:not([hidden]) { display: flex; }
  .leivas-sub-builder__confirm p { font-size: 13px; color: #0a0a0a !important; margin: 0; }
  .leivas-sub-builder__confirm a {
    font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
    color: #0a0a0a !important; border-bottom: 1px solid #0a0a0a; white-space: nowrap;
  }
/* END_SECTION:subscription-builder-section */

/* START_SECTION:subscription-cadence-section (INDEX:88) */
.leivas-sub-cadence { background: #0a0a0a; padding: 80px 0; max-width: 100%; overflow-x: hidden; }
  @media (max-width: 749px) { .leivas-sub-cadence { padding: 56px 0; } }

  .leivas-sub-cadence__container { max-width: 1280px; margin: 0 auto; padding: 0 40px; }
  @media (max-width: 749px) { .leivas-sub-cadence__container { padding: 0 20px; } }

  .leivas-sub-cadence__head {
    text-align: center; margin-bottom: 40px;
    opacity: 0; transform: translateY(16px); transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .leivas-sub-cadence__head.is-visible { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) { .leivas-sub-cadence__head { transition: none; opacity: 1; transform: none; } }

  .leivas-sub-cadence__eyebrow {
    font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase;
    color: #c6a15b !important; margin-bottom: 14px;
  }
  .leivas-sub-cadence__heading {
    font-weight: 700; letter-spacing: -0.03em; line-height: 1.06;
    font-size: clamp(28px, 3.4vw, 46px); color: #f5f1e8 !important; margin: 0;
  }

  .leivas-sub-cadence__grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
    background: rgba(198, 161, 91, 0.3); border: 1px solid rgba(198, 161, 91, 0.3);
    opacity: 0; transform: translateY(16px); transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .leivas-sub-cadence__grid.is-visible { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) { .leivas-sub-cadence__grid { transition: none; opacity: 1; transform: none; } }

  /* Fewer than 3 cards still lay out evenly instead of stretching one huge column. */
  .leivas-sub-cadence__grid--1 { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; }
  .leivas-sub-cadence__grid--2 { grid-template-columns: repeat(2, 1fr); }

  @media (max-width: 849px) {
    .leivas-sub-cadence__grid { grid-template-columns: minmax(0, 1fr); max-width: 480px; margin: 0 auto; }
  }

  .leivas-sub-cadence__card {
    position: relative; min-width: 0; background: #0a0a0a !important;
    padding: 40px 32px; transition: background 0.25s ease, transform 0.25s ease;
  }
  @media (max-width: 549px) { .leivas-sub-cadence__card { padding: 32px 24px; } }
  .leivas-sub-cadence__card.is-featured { background: #16150f !important; }
  .leivas-sub-cadence__card:hover { background: #16150f !important; transform: translateY(-4px); }
  @media (max-width: 849px) { .leivas-sub-cadence__card:hover { transform: none; } }

  .leivas-sub-cadence__tag {
    position: absolute; top: 0; right: 0;
    background: #c6a15b !important; color: #0a0a0a !important;
    font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
    padding: 8px 14px;
  }

  .leivas-sub-cadence__icon {
    display: flex; align-items: center; justify-content: center; width: 46px; height: 46px;
    border: 1px solid #c6a15b; border-radius: 50%; color: #c6a15b !important; margin-bottom: 22px;
  }
  .leivas-sub-cadence__icon svg { width: 22px; height: 22px; }

  .leivas-sub-cadence__name { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; color: #f5f1e8 !important; margin: 0; }
  .leivas-sub-cadence__text { margin-top: 14px; font-size: 15px; line-height: 1.6; color: #b4b0a8 !important; max-width: 32ch; }
/* END_SECTION:subscription-cadence-section */

/* START_SECTION:subscription-hero-section (INDEX:89) */
.leivas-sub-hero { background: #ffffff; padding: 48px 0 32px; overflow: hidden; }
  @media (max-width: 749px) {
    .leivas-sub-hero { padding: 40px 0 28px; }
  }

  .leivas-sub-hero__head {
    max-width: 620px; margin: 0 auto; padding: 0 20px; text-align: center;
    opacity: 0; transform: translateY(16px); transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .leivas-sub-hero__head.is-visible { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) {
    .leivas-sub-hero__head { transition: none; opacity: 1; transform: none; }
  }

  .leivas-sub-hero__eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #8a6e42;
  }
  .leivas-sub-hero__title {
    margin-top: 20px;
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 1.05;
    font-size: clamp(34px, 5vw, 56px);
    color: #0a0a0a;
  }
  .leivas-sub-hero__title em {
    font-family: Georgia, serif;
    font-style: italic;
    font-weight: 500;
    letter-spacing: -0.01em;
  }
  .leivas-sub-hero__text {
    margin: 16px auto 0;
    max-width: 48ch;
    font-size: 16px;
    line-height: 1.65;
    color: #6e6e6b;
  }

  .leivas-sub-hero__actions { margin-top: 24px; display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
  .leivas-sub-hero__btn {
    display: inline-flex; align-items: center; justify-content: center;
    height: 54px; padding: 0 34px;
    font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
    white-space: nowrap; transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  }
  .leivas-sub-hero__btn--dark { background: #0a0a0a; color: #ffffff; }
  .leivas-sub-hero__btn--dark:hover { background: #2a2a28; }
  .leivas-sub-hero__btn--outline { border: 1px solid #0a0a0a; color: #0a0a0a; }
  .leivas-sub-hero__btn--outline:hover { background: #0a0a0a; color: #ffffff; }

  .leivas-sub-hero__stage {
    max-width: 1180px; margin: 24px auto 0; padding: 0 40px;
    display: grid; grid-template-columns: 260px 1fr 260px; align-items: stretch; gap: 8px;
    opacity: 0; transform: translateY(16px); transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .leivas-sub-hero__stage.is-visible { opacity: 1; transform: none; }
  @media (max-width: 1099px) {
    .leivas-sub-hero__stage { grid-template-columns: 1fr; padding: 0 20px; }
  }
  @media (prefers-reduced-motion: reduce) {
    .leivas-sub-hero__stage { transition: none; opacity: 1; transform: none; }
  }

  .leivas-sub-hero__col {
    position: relative;
    display: flex; flex-direction: column; justify-content: space-around;
  }
  @media (max-width: 1099px) {
    .leivas-sub-hero__col { display: none; }
  }

  .leivas-sub-hero__media { display: flex; align-items: center; justify-content: center; padding: 0; }
  .leivas-sub-hero__media img { width: 100%; max-width: 260px; height: auto; }
  @media (max-width: 1099px) {
    .leivas-sub-hero__media img { max-width: 240px; }
  }
  .leivas-sub-hero__placeholder { width: 100%; max-width: 300px; display: flex; align-items: center; justify-content: center; }
  .leivas-sub-hero__placeholder-svg { width: 100%; height: auto; opacity: 0.35; }

  .leivas-sub-hero-callout {
    position: relative;
    width: 220px;
    display: flex; align-items: flex-start; gap: 12px;
  }
  .leivas-sub-hero-callout--left { margin-left: auto; text-align: right; flex-direction: row-reverse; }
  .leivas-sub-hero-callout--right { margin-right: auto; text-align: left; }

  .leivas-sub-hero-callout__icon {
    flex: none; width: 38px; height: 38px; border: 1px solid #c6a15b; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; color: #8a6e42; background: #ffffff;
  }
  .leivas-sub-hero-callout__icon svg { width: 20px; height: 20px; }
  .leivas-sub-hero-callout__title { font-size: 14px; font-weight: 700; letter-spacing: -0.01em; color: #0a0a0a; }
  .leivas-sub-hero-callout__text { margin-top: 6px; font-size: 12.5px; line-height: 1.5; color: #6e6e6b; }

  .leivas-sub-hero-callout__line { position: absolute; top: 19px; height: 1px; background: #c6a15b; }
  .leivas-sub-hero-callout--left .leivas-sub-hero-callout__line { left: 100%; width: 60px; }
  .leivas-sub-hero-callout--right .leivas-sub-hero-callout__line { right: 100%; width: 60px; }

  .leivas-sub-hero-callout__dot {
    position: absolute; top: 19px; transform: translateY(-50%); width: 6px; height: 6px; border-radius: 50%;
    background: #c6a15b;
  }
  .leivas-sub-hero-callout--left .leivas-sub-hero-callout__dot { left: calc(100% + 57px); }
  .leivas-sub-hero-callout--right .leivas-sub-hero-callout__dot { right: calc(100% + 57px); }

  .leivas-sub-hero__mobile-list { display: none; }
  @media (max-width: 1099px) {
    .leivas-sub-hero__mobile-list {
      display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px 20px;
      max-width: 560px; margin: 40px auto 0; padding: 0 20px;
      opacity: 0; transform: translateY(16px); transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
    }
    .leivas-sub-hero__mobile-list.is-visible { opacity: 1; transform: none; }
  }
  @media (max-width: 549px) {
    .leivas-sub-hero__mobile-list { grid-template-columns: 1fr; }
  }

  .leivas-sub-hero-mobile-item { display: flex; gap: 12px; align-items: flex-start; }
  .leivas-sub-hero-mobile-item__icon {
    flex: none; width: 36px; height: 36px; border: 1px solid #c6a15b; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; color: #8a6e42;
  }
  .leivas-sub-hero-mobile-item__icon svg { width: 20px; height: 20px; }
/* END_SECTION:subscription-hero-section */

/* START_SECTION:subscription-savings-section (INDEX:90) */
.leivas-sub-savings { position: relative; background: #0a0a0a; padding: 80px 0; max-width: 100%; overflow: hidden; }
  @media (max-width: 749px) { .leivas-sub-savings { padding: 56px 0; } }

  .leivas-sub-savings__bg {
    position: absolute; inset: 0; background-size: cover; background-position: center;
    opacity: 0.22; filter: grayscale(0.3);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 70%, transparent 100%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 70%, transparent 100%);
  }

  .leivas-sub-savings__container { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; padding: 0 40px; }
  @media (max-width: 749px) { .leivas-sub-savings__container { padding: 0 20px; } }

  .leivas-sub-savings__head {
    text-align: center; max-width: 640px; margin: 0 auto 40px;
    opacity: 0; transform: translateY(16px); transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .leivas-sub-savings__head.is-visible { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) { .leivas-sub-savings__head { transition: none; opacity: 1; transform: none; } }

  .leivas-sub-savings__eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: #c6a15b !important; margin-bottom: 14px; }
  .leivas-sub-savings__heading { font-weight: 700; letter-spacing: -0.03em; line-height: 1.06; font-size: clamp(28px, 3.4vw, 46px); color: #f5f1e8 !important; margin: 0; }
  .leivas-sub-savings__text { margin-top: 18px; font-size: 15.5px; line-height: 1.65; color: #b4b0a8 !important; }

  .leivas-sub-savings__grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
    opacity: 0; transform: translateY(16px); transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .leivas-sub-savings__grid.is-visible { opacity: 1; transform: none; }
  @media (max-width: 849px) { .leivas-sub-savings__grid { grid-template-columns: minmax(0, 1fr); } }
  @media (prefers-reduced-motion: reduce) { .leivas-sub-savings__grid { transition: none; opacity: 1; transform: none; } }

  .leivas-sub-savings__card {
    position: relative; min-width: 0; border: 1px solid rgba(198, 161, 91, 0.3); padding: 40px 36px;
    background: rgba(10, 10, 10, 0.55) !important; backdrop-filter: blur(2px);
    transition: transform 0.25s ease, border-color 0.25s ease;
  }
  @media (max-width: 549px) { .leivas-sub-savings__card { padding: 32px 26px; } }
  .leivas-sub-savings__card.is-featured { background: #c6a15b !important; border-color: #c6a15b !important; }
  .leivas-sub-savings__card:hover { transform: translateY(-6px); border-color: #c6a15b; }
  @media (max-width: 849px) { .leivas-sub-savings__card:hover { transform: none; } }

  .leivas-sub-savings__tag {
    position: absolute; top: 0; right: 0;
    background: #c6a15b !important; color: #0a0a0a !important;
    font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 8px 14px;
  }
  .is-featured .leivas-sub-savings__tag { background: #0a0a0a !important; color: #e3bc79 !important; }

  .leivas-sub-savings__stat {
    font-weight: 700; letter-spacing: -0.03em; line-height: 1;
    font-size: clamp(44px, 4.6vw, 58px); color: #f5f1e8 !important;
    display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
  }
  .is-featured .leivas-sub-savings__stat { color: #0a0a0a !important; }
  .leivas-sub-savings__stat span { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #b4b0a8 !important; }
  .is-featured .leivas-sub-savings__stat span { color: rgba(10, 10, 10, 0.55) !important; }

  .leivas-sub-savings__title { margin-top: 24px; font-size: 19px; font-weight: 700; letter-spacing: -0.015em; color: #f5f1e8 !important; }
  .is-featured .leivas-sub-savings__title { color: #0a0a0a !important; }

  .leivas-sub-savings__card-text { margin-top: 12px; font-size: 14.5px; line-height: 1.6; color: #b4b0a8 !important; }
  .is-featured .leivas-sub-savings__card-text { color: rgba(10, 10, 10, 0.68) !important; }
/* END_SECTION:subscription-savings-section */

/* START_SECTION:subscription-trust-badges-section (INDEX:91) */
.leivas-trust-badges { background: #0a0a0a; padding: 48px 0; max-width: 100%; overflow-x: hidden; }
  @media (max-width: 749px) { .leivas-trust-badges { padding: 36px 0; } }

  .leivas-trust-badges__container { max-width: 1280px; margin: 0 auto; padding: 0 40px; }
  @media (max-width: 749px) { .leivas-trust-badges__container { padding: 0 20px; } }

  .leivas-trust-badges__row {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 28px 20px;
    opacity: 0; transform: translateY(16px); transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .leivas-trust-badges__row.is-visible { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) { .leivas-trust-badges__row { transition: none; opacity: 1; transform: none; } }

  .leivas-trust-badges__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; min-width: 0; }

  .leivas-trust-badges__icon {
    display: flex; align-items: center; justify-content: center; width: 44px; height: 44px;
    border: 1px solid #c6a15b; border-radius: 50%; color: #c6a15b !important; flex: none;
  }
  .leivas-trust-badges__icon svg { width: 22px; height: 22px; }

  .leivas-trust-badges__label {
    font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #f5f1e8 !important;
  }
/* END_SECTION:subscription-trust-badges-section */

/* START_SECTION:timeline-section (INDEX:94) */
.leivas-timeline {
    position: relative;
    background: #0a0a0a;
  }

  .leivas-timeline__pin {
    position: sticky;
    top: 0;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #0a0a0a;
  }

  .leivas-timeline__bg-wrap {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
  }

  .leivas-timeline__bg {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: auto;
    max-width: none;
    object-fit: cover;
    will-change: transform;
  }

  .leivas-timeline__bg--placeholder {
    height: 100%;
    aspect-ratio: 3 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #141414;
  }

  .leivas-timeline__placeholder-svg {
    height: 60%;
    width: auto;
    opacity: 0.35;
  }

  .leivas-timeline__veil {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(10, 10, 10, 0.82) 0%, rgba(10, 10, 10, 0.32) 26%, rgba(10, 10, 10, 0.18) 40%, rgba(10, 10, 10, 0.7) 100%);
  }

  .leivas-timeline__head {
    position: absolute;
    top: 56px;
    left: 0;
    right: 0;
    z-index: 2;
    pointer-events: none;
    padding: 0 6vw;
  }

  .leivas-timeline__eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #e3bc79;
  }

  .leivas-timeline__track {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 5vw;
    padding: 0 6vw;
    will-change: transform;
  }

  .leivas-timeline__spacer {
    flex: 0 0 1px;
  }

  .leivas-timeline__card {
    flex: 0 0 min(360px, 72vw);
    background: #fff;
    box-shadow: 0 0 0 1px #e8e7e4;
    padding: 36px 34px 40px;
  }

  .leivas-timeline__card-media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #e8e7e4;
    margin-bottom: 24px;
  }

  .leivas-timeline__card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1) contrast(1.05);
    transition: filter 0.5s ease;
  }

  .leivas-timeline__card:hover .leivas-timeline__card-media img {
    filter: grayscale(0) contrast(1.03);
  }

  .leivas-timeline__card-year {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #8a6e42;
    margin-bottom: 14px;
  }

  .leivas-timeline__card-title {
    font-size: 21px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: #0a0a0a;
    margin: 0 0 10px;
  }

  .leivas-timeline__card-body {
    font-size: 14.5px;
    color: #6e6e6b;
    line-height: 1.6;
  }

  @media screen and (max-width: 749px) {
    .leivas-timeline__card {
      padding: 26px 24px;
    }
  }

  @media screen and (max-width: 989px) {
    .leivas-timeline {
      height: auto !important;
    }

    .leivas-timeline__pin {
      position: static;
      height: auto;
      padding: 72px 0 40px;
    }

    .leivas-timeline__bg {
      position: absolute;
      inset: 0;
      height: 100%;
      width: 100% !important;
      object-fit: cover;
      transform: none !important;
    }

    .leivas-timeline__head {
      position: static;
      margin-bottom: 32px;
      padding: 0 6vw;
    }

    .leivas-timeline__track {
      overflow-x: auto;
      padding: 8px 6vw 16px;
      -webkit-overflow-scrolling: touch;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .leivas-timeline {
      height: auto !important;
    }

    .leivas-timeline__pin {
      position: static;
      height: auto;
      padding: 72px 0 40px;
    }

    .leivas-timeline__bg {
      position: absolute;
      inset: 0;
      height: 100%;
      width: 100% !important;
      object-fit: cover;
      transform: none !important;
    }

    .leivas-timeline__head {
      position: static;
      margin-bottom: 32px;
      padding: 0 6vw;
    }

    .leivas-timeline__track {
      overflow-x: auto;
      padding: 8px 6vw 16px;
    }
  }
/* END_SECTION:timeline-section */

/* START_SECTION:wholesale-application-form-section (INDEX:96) */
.leivas-wholesale-apply { background: #0a0a0a; padding: 88px 0; }
  @media (max-width: 749px) { .leivas-wholesale-apply { padding: 64px 0; } }

  .leivas-wholesale-apply__container { max-width: 1280px; margin: 0 auto; padding: 0 40px; }
  @media (max-width: 749px) { .leivas-wholesale-apply__container { padding: 0 20px; } }

  .leivas-wholesale-apply__grid { display: grid; grid-template-columns: minmax(0, 400px) 1fr; gap: 72px; align-items: start; }
  @media (max-width: 989px) { .leivas-wholesale-apply__grid { grid-template-columns: 1fr; gap: 44px; } }

  .leivas-wholesale-apply__eyebrow {
    font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase;
    color: #e3bc79; margin-bottom: 16px;
  }
  .leivas-wholesale-apply__heading {
    font-weight: 700; letter-spacing: -0.03em; line-height: 1.06;
    font-size: clamp(28px, 3.4vw, 46px); color: #f5f1e8; margin: 0 0 18px;
  }
  .leivas-wholesale-apply__text { font-size: 15.5px; line-height: 1.7; color: #b4b0a8; max-width: 40ch; }

  .leivas-wholesale-apply__panel {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(230, 188, 121, 0.22);
    padding: 40px;
  }
  @media (max-width: 549px) { .leivas-wholesale-apply__panel { padding: 28px 22px; } }

  .leivas-wholesale-apply__placeholder { font-size: 14.5px; line-height: 1.6; color: #8c8579; margin: 0; }

  [data-reveal-root] {
    opacity: 0; transform: translateY(16px);
    transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  [data-reveal-root].is-visible { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) {
    [data-reveal-root] { transition: none; opacity: 1; transform: none; }
  }
/* END_SECTION:wholesale-application-form-section */

/* START_SECTION:wholesale-hero-section (INDEX:97) */
.leivas-wholesale-hero { position: relative; background: #ffffff; overflow: hidden; }

  .leivas-wholesale-hero__stage { position: relative; min-height: 780px; }
  @media (max-width: 749px) { .leivas-wholesale-hero__stage { min-height: 640px; } }

  .leivas-wholesale-hero__layer { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
  .leivas-wholesale-hero__canvas { display: block; width: 100%; height: 100%; pointer-events: auto; touch-action: pan-y; cursor: grab; }

  .leivas-wholesale-hero__container { position: relative; z-index: 2; max-width: 1280px; margin: 0 auto; padding: 0 40px; }
  @media (max-width: 749px) { .leivas-wholesale-hero__container { padding: 0 20px; } }

  .leivas-wholesale-hero__head {
    max-width: 660px; margin: 0 auto; padding-top: 136px; text-align: center; pointer-events: none;
  }
  @media (max-width: 749px) { .leivas-wholesale-hero__head { padding-top: 100px; } }

  .leivas-wholesale-hero__eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.22em;
    text-transform: uppercase; color: #8a6e42;
  }

  .leivas-wholesale-hero__title {
    margin-top: 20px; font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; letter-spacing: -0.035em;
    line-height: 1.05; font-size: clamp(32px, 4.6vw, 52px); color: #0a0a0a;
  }

  .leivas-wholesale-hero__text { margin: 20px auto 0; max-width: 50ch; font-size: 16px; line-height: 1.65; color: #6e6e6b; }

  .leivas-wholesale-hero__actions {
    margin-top: 30px; display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; pointer-events: auto;
  }
  .leivas-wholesale-hero__btn {
    display: inline-flex; align-items: center; justify-content: center; height: 54px; padding: 0 34px;
    font-family: 'Plus Jakarta Sans', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0.06em;
    text-transform: uppercase; white-space: nowrap; transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  }
  .leivas-wholesale-hero__btn--dark { background: #0a0a0a !important; color: #ffffff !important; }
  .leivas-wholesale-hero__btn--dark:hover { background: #2a2a28 !important; }
  .leivas-wholesale-hero__btn--outline { border: 1px solid #0a0a0a; color: #0a0a0a !important; background: transparent !important; }
  .leivas-wholesale-hero__btn--outline:hover { background: #0a0a0a !important; color: #ffffff !important; }

  .leivas-wholesale-hero__chips-wrap { position: relative; z-index: 3; border-top: 1px solid #e8e7e4; background: #ffffff; }
  .leivas-wholesale-hero__chips {
    max-width: 1280px; margin: 0 auto; padding: 0 40px;
    display: flex; justify-content: center;
  }
  @media (max-width: 749px) { .leivas-wholesale-hero__chips { padding: 0 20px; } }
  @media (max-width: 549px) { .leivas-wholesale-hero__chips { flex-direction: column; align-items: center; gap: 24px; padding-top: 24px; padding-bottom: 24px; } }

  .leivas-wholesale-hero__chip { display: flex; align-items: baseline; gap: 10px; padding: 24px 32px; border-left: 1px solid #e8e7e4; }
  .leivas-wholesale-hero__chip:first-child { border-left: 0; }
  @media (max-width: 549px) { .leivas-wholesale-hero__chip { border-left: 0; padding: 0; } }

  .leivas-wholesale-hero__chip-stat {
    font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; letter-spacing: -0.02em; font-size: 26px; color: #0a0a0a;
  }
  .leivas-wholesale-hero__chip-stat em { font-style: normal; font-size: 12px; font-weight: 700; color: #8a6e42; margin-left: 2px; }
  .leivas-wholesale-hero__chip-label { font-size: 12.5px; color: #6e6e6b; white-space: nowrap; }

  [data-reveal-root] {
    opacity: 0; transform: translateY(16px);
    transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  [data-reveal-root].is-visible { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) {
    [data-reveal-root] { transition: none; opacity: 1; transform: none; }
  }
/* END_SECTION:wholesale-hero-section */

/* START_SECTION:wholesale-how-it-works-section (INDEX:98) */
.leivas-wholesale-how { background: #0a0a0a; padding: 72px 0; }
  @media (max-width: 749px) { .leivas-wholesale-how { padding: 56px 0; } }

  .leivas-wholesale-how__container { max-width: 1280px; margin: 0 auto; padding: 0 40px; }
  @media (max-width: 749px) { .leivas-wholesale-how__container { padding: 0 20px; } }

  .leivas-wholesale-how__head { text-align: center; max-width: 620px; margin: 0 auto 44px; }
  .leivas-wholesale-how__eyebrow {
    font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase;
    color: #e3bc79; margin-bottom: 14px;
  }
  .leivas-wholesale-how__heading {
    font-weight: 700; letter-spacing: -0.03em; line-height: 1.06;
    font-size: clamp(28px, 3.4vw, 46px); color: #f5f1e8; margin: 0;
  }

  .leivas-wholesale-how__steps {
    position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px;
  }
  @media (max-width: 900px) { .leivas-wholesale-how__steps { grid-template-columns: 1fr 1fr; row-gap: 44px; } }
  @media (max-width: 549px) { .leivas-wholesale-how__steps { grid-template-columns: 1fr; } }

  .leivas-wholesale-how__step { position: relative; padding-top: 8px; }

  .leivas-wholesale-how__num {
    position: relative; z-index: 1;
    font-weight: 800; letter-spacing: -0.04em; line-height: 1;
    font-size: clamp(46px, 4.4vw, 66px); color: transparent;
    -webkit-text-stroke: 1px rgba(230, 188, 121, 0.45);
    margin-bottom: 2px;
  }

  .leivas-wholesale-how__title {
    position: relative; z-index: 1; font-size: 19px; font-weight: 700; letter-spacing: -0.015em;
    color: #f5f1e8; margin-bottom: 10px;
  }
  .leivas-wholesale-how__text {
    position: relative; z-index: 1; font-size: 14.5px; line-height: 1.65; color: #b4b0a8; max-width: 30ch;
  }

  [data-reveal-root] {
    opacity: 0; transform: translateY(16px);
    transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  [data-reveal-root].is-visible { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) {
    [data-reveal-root] { transition: none; opacity: 1; transform: none; }
  }
/* END_SECTION:wholesale-how-it-works-section */

/* START_SECTION:wholesale-product-selector-section (INDEX:99) */
.leivas-wholesale-select { background: #ffffff; padding: 96px 0 0; }
  @media (max-width: 749px) { .leivas-wholesale-select { padding: 64px 0 0; } }

  .leivas-wholesale-select__container { max-width: 1280px; margin: 0 auto; padding: 0 40px 40px; }
  @media (max-width: 749px) { .leivas-wholesale-select__container { padding: 0 20px 40px; } }

  .leivas-wholesale-select__head { max-width: 640px; margin: 0 auto 48px; text-align: center; }
  .leivas-wholesale-select__eyebrow {
    font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: #8a6e42;
    margin-bottom: 14px;
  }
  .leivas-wholesale-select__heading {
    font-weight: 700; letter-spacing: -0.03em; line-height: 1.06;
    font-size: clamp(28px, 3.4vw, 46px); color: #0a0a0a; margin: 0 0 16px;
  }
  .leivas-wholesale-select__text { font-size: 15px; line-height: 1.65; color: #6e6e6b; margin: 0; }

  .leivas-wholesale-select__empty { text-align: center; font-size: 14.5px; color: #6e6e6b; }

  .leivas-wholesale-select__grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px;
  }

  .leivas-wholesale-select__card {
    position: relative; background: #ffffff; padding: 20px; border: 1px solid #e8e7e4;
    transition: background 0.2s ease, border-color 0.2s ease;
  }
  .leivas-wholesale-select__card.is-selected { background: rgba(198, 161, 91, 0.06); border-color: #c6a15b; }

  .leivas-wholesale-select__media { position: relative; aspect-ratio: 1 / 1; background: #f4f4f2; overflow: hidden; margin-bottom: 16px; }
  .leivas-wholesale-select__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .leivas-wholesale-select__badge {
    position: absolute; top: 10px; left: 10px;
    font-size: 9.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
    background: #0a0a0a; color: #ffffff; padding: 5px 9px;
  }
  .leivas-wholesale-select__check {
    position: absolute; top: 10px; right: 10px;
    width: 22px; height: 22px; display: flex; align-items: center; justify-content: center;
    background: #c6a15b; color: #0a0a0a; border-radius: 50%;
  }
  .leivas-wholesale-select__check[hidden] { display: none; }
  .leivas-wholesale-select__check svg { width: 13px; height: 13px; }

  .leivas-wholesale-select__name { font-size: 15px; font-weight: 700; letter-spacing: -0.01em; color: #0a0a0a; margin: 0 0 6px; line-height: 1.3; }
  .leivas-wholesale-select__notes { font-size: 12.5px; line-height: 1.5; color: #6e6e6b; margin: 0 0 16px; min-height: 32px; }

  .leivas-wholesale-select__stepper { display: flex; align-items: center; justify-content: space-between; border: 1px solid #e8e7e4; }
  .leivas-wholesale-select__step {
    width: 38px; height: 38px; flex: none; border: 0; background: transparent;
    font-size: 18px; font-weight: 700; color: #0a0a0a; cursor: pointer;
    transition: background 0.2s ease, opacity 0.2s ease;
  }
  .leivas-wholesale-select__step:hover:not(:disabled) { background: #f4f4f2; }
  .leivas-wholesale-select__step:disabled { opacity: 0.3; cursor: default; }

  .leivas-wholesale-select__qty { display: flex; flex-direction: column; align-items: center; line-height: 1.1; }
  .leivas-wholesale-select__qty strong { font-size: 15px; font-weight: 800; color: #0a0a0a; }
  .leivas-wholesale-select__qty span { font-size: 10px; letter-spacing: 0.04em; text-transform: uppercase; color: #6e6e6b; }

  .leivas-wholesale-select__case-note { margin-top: 10px; font-size: 11.5px; text-align: center; color: #6e6e6b; }
  .leivas-wholesale-select__case-note strong { color: #8a6e42; font-weight: 700; }

  .leivas-wholesale-select__bar { background: #0a0a0a; border-bottom: 1px solid rgba(230, 188, 121, 0.28); }
  .leivas-wholesale-select__bar-inner {
    max-width: 1280px; margin: 0 auto; padding: 22px 40px;
    display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
  }
  @media (max-width: 749px) {
    .leivas-wholesale-select__bar-inner { padding: 20px; flex-direction: column; align-items: stretch; text-align: center; }
  }

  .leivas-wholesale-select__summary { font-size: 14.5px; color: #b4b0a8; }
  .leivas-wholesale-select__summary strong { color: #e3bc79; }

  .leivas-wholesale-select__cta {
    display: inline-flex; align-items: center; justify-content: center; height: 54px; padding: 0 34px; flex: none;
    font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
    background: #c6a15b !important; color: #0a0a0a !important;
    transition: background 0.2s ease;
  }
  .leivas-wholesale-select__cta:hover { background: #e3bc79 !important; }

  [data-reveal-root] {
    opacity: 0; transform: translateY(16px);
    transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  [data-reveal-root].is-visible { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) {
    [data-reveal-root] { transition: none; opacity: 1; transform: none; }
  }
/* END_SECTION:wholesale-product-selector-section */

/* START_SECTION:wholesale-testimonials-section (INDEX:100) */
.leivas-wholesale-testimonials { background: #ffffff; padding: 72px 0; }
  @media (max-width: 749px) { .leivas-wholesale-testimonials { padding: 56px 0; } }

  .leivas-wholesale-testimonials__container { max-width: 1280px; margin: 0 auto; padding: 0 40px; }
  @media (max-width: 749px) { .leivas-wholesale-testimonials__container { padding: 0 20px; } }

  .leivas-wholesale-testimonials__eyebrow {
    font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: #6e6e6b;
    padding-bottom: 28px; border-bottom: 1px solid #e8e7e4;
  }

  .leivas-wholesale-testimonials__grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 48px;
    padding-top: 40px; max-width: 900px;
  }

  .leivas-wholesale-testimonials__grid blockquote {
    font-weight: 500; line-height: 1.45; letter-spacing: -0.01em; font-size: 18px; color: #0a0a0a; margin: 0;
  }
  .leivas-wholesale-testimonials__grid figcaption {
    margin-top: 18px; font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: #9a9a97;
  }

  [data-reveal-root] {
    opacity: 0; transform: translateY(16px);
    transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  [data-reveal-root].is-visible { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) {
    [data-reveal-root] { transition: none; opacity: 1; transform: none; }
  }
/* END_SECTION:wholesale-testimonials-section */