/** Shopify CDN: Minification failed

Line 440:4 Unexpected "{"
Line 440:5 Expected identifier but found "%"
Line 443:31 Expected identifier but found whitespace
Line 446:5 Expected identifier but found "%"

**/
/* START_SECTION:birdline-announcement (INDEX:5) */
/* Centred variant, per the cart mockups: [truck] MESSAGE [pine], nav hidden. */
  .bl-announce__inner.bl-announce__inner--centered { justify-content: center; gap: 13px; }
  .bl-announce__inner.bl-announce__inner--centered .bl-announce__nav { display: none; }
  .bl-announce__inner.bl-announce__inner--centered .bl-announce__msg { flex: 0 0 auto; }
  .bl-announce__ico { display: inline-flex; flex: none; }
  .bl-announce__ico--truck svg { display: block; width: 24px; height: 16px; }
  .bl-announce__ico--pine svg { display: block; width: 15px; height: 15px; }

  .bl-announce {
    background: var(--bl-announce-bg, #1F3A2A);
    color: var(--bl-announce-fg, #F6F1E7);
  }

  .bl-announce__inner {
    max-width: var(--page-content-width, 80rem);
    margin-inline: auto;
    padding: 11px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }

  .bl-announce__msg,
  .bl-announce__nav {
    font-family: var(--font-accent--family, inherit);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0;
  }

  .bl-announce__msg { display: flex; align-items: center; gap: 10px; }
  .bl-announce__dot { opacity: 0.7; }

  .bl-announce__nav { display: flex; align-items: center; gap: 20px; }

  .bl-announce a {
    color: var(--bl-announce-fg, #F6F1E7);
    text-decoration: none;
  }
  .bl-announce a:hover { text-decoration: underline; text-underline-offset: 3px; }

  .bl-announce__cart { display: inline-flex; align-items: center; gap: 6px; }

  /* Mobile: the utility nav is already in the header drawer, so drop it and
     centre the message rather than letting the bar wrap into two rows. */
  @media (max-width: 749px) {
    .bl-announce__nav { display: none; }
    .bl-announce__inner { justify-content: center; padding-inline: 16px; }
    .bl-announce__msg { font-size: 11px; text-align: center; }
  }

  /* Drop the SECOND message on small screens — but only when there are two.
     `span:last-child` alone hid the only message when message_2 was blank. */
  @media (max-width: 560px) {
    .bl-announce__msg .bl-announce__dot,
    .bl-announce__msg span:nth-child(3) { display: none; }
  }
  /* Scrolling marquee layout (2026-10-03), modelled on comfrt.com: one slow continuous line,
     pine marks between offers, pauses on hover, still for reduced-motion visitors. */
  .bl-announce__inner.bl-announce__inner--marquee { max-width: none; padding: 0; gap: 0; justify-content: flex-start; }
  .bl-announce__inner--marquee .bl-announce__nav { flex: none; padding: 0 24px 0 18px; }
  .bl-announce__mq {
    flex: 1 1 auto; min-width: 0; overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 36px, #000 calc(100% - 36px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 36px, #000 calc(100% - 36px), transparent 100%);
  }
  .bl-announce__mq-track { display: flex; width: max-content; animation: bl-announce-mq var(--bl-mq-speed, 60s) linear infinite; }
  .bl-announce__mq-group { display: flex; align-items: center; flex: none; margin: 0; padding: 0; list-style: none; }
  .bl-announce__mq-item {
    font-family: var(--font-accent--family, inherit); font-size: 12px; font-weight: 600;
    letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap; line-height: 1.2; padding: 11px 0;
  }
  .bl-announce__mq-sep { display: inline-flex; align-items: center; padding-inline: 26px; opacity: 0.7; }
  .bl-announce__mq-sep svg { display: block; width: 13px; height: 13px; }
  .bl-announce__mq:hover .bl-announce__mq-track,
  .bl-announce__mq:focus-within .bl-announce__mq-track { animation-play-state: paused; }
  .bl-announce__mq-item--offer a { color: inherit; text-decoration: none; } .bl-announce__code { display: inline-block; margin: -2px 0 -2px 6px; padding: 2px 8px; border-radius: 999px; background: #E9B949; color: #1E2B1F; font-weight: 800; letter-spacing: 0.1em; line-height: 1.15; box-shadow: inset 0 0 0 1px rgba(30, 43, 31, 0.25); } .bl-announce__mq-item--offer a:hover .bl-announce__code, .bl-announce__mq-item--offer a:focus-visible .bl-announce__code { background: #F6D27A; } @keyframes bl-announce-mq { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }
  @media (max-width: 749px) {
    .bl-announce__inner.bl-announce__inner--marquee { padding-inline: 0; }
    .bl-announce__mq-item { font-size: 11px; padding: 10px 0; }
    .bl-announce__mq-sep { padding-inline: 20px; }
  }
  @media (prefers-reduced-motion: reduce) {
    .bl-announce__mq-track { animation: none; }
  }
/* END_SECTION:birdline-announcement */
/* START_SECTION:birdline-category-rail (INDEX:9) */
.bl-rail {
    background: var(--bl-cream, #F6F1E7);
    position: relative;
    z-index: 2;
    margin-top: var(--bl-rail-overlap, -58px);
    padding: clamp(48px, 5vw, 68px) 0 clamp(54px, 6vw, 76px);
  }

  .bl-rail__head {
    display: block;
    max-width: 54rem;
    margin: 0 auto 30px;
    padding: 0 24px;
    text-align: center;
  }
  .bl-rail__eyebrow {
    margin: 0 0 12px;
    color: var(--bl-forest, #1F3A2A);
    font-family: var(--font-accent--family);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
  }
  .bl-rail__eyebrow::after {
    content: "";
    display: block;
    width: 52px;
    height: 1px;
    margin: 10px auto 0;
    background: var(--bl-orange, #C85A1A);
  }
  .bl-rail__head h2 {
    margin: 0;
    color: var(--bl-forest, #1F3A2A);
    font-family: var(--font-heading--family);
    font-size: clamp(34px, 4.2vw, 56px);
    font-weight: 400;
    letter-spacing: -.025em;
    line-height: 1;
  }
  .bl-rail__intro { margin: 14px auto 0; color: #4E554E; font-size: 15px; line-height: 1.65; }
  .bl-rail__intro p { margin: 0; }

  .bl-rail__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: none;
    gap: 24px 18px;
    list-style: none;
    margin: 0 auto;
    max-width: var(--page-content-width, 80rem);
    padding: 0 24px;
  }

  .bl-rail__item { min-width: 0; display: flex; }
  .bl-rail__item--1,
  .bl-rail__item--2,
  .bl-rail__item--3,
  .bl-rail__item--4,
  .bl-rail__item--5,
  .bl-rail__item--6 { grid-column: auto; grid-row: auto; min-height: 0; }

  .bl-rail__link {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    text-decoration: none;
    overflow: hidden;
    background: rgba(255,255,255,.34);
    border: 1px solid rgba(31, 58, 42, .16);
    border-radius: 6px;
    box-shadow: 0 8px 22px rgba(31, 58, 42, .06);
  }

  .bl-rail__media {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--bl-stone, #ABA39A);
  }
  .bl-rail__media img,
  .bl-rail__placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--bl-focus, center);
    display: block;
    transition: none;
  }
  .bl-rail__link:hover .bl-rail__media img { transform: none; }

  .bl-rail__link::after {
    display: none;
  }

  .bl-rail__copy {
    position: static;
    flex: 1;
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: var(--bl-forest, #1F3A2A);
  }
  .bl-rail__kicker {
    margin-bottom: 7px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--bl-orange, #C85A1A);
  }
  .bl-rail__label {
    font-family: var(--font-heading--family);
    font-size: clamp(25px, 2.1vw, 31px);
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1;
  }
  .bl-rail__item:nth-child(n + 2) .bl-rail__label { font-size: clamp(25px, 2.1vw, 31px); }
  .bl-rail__description { margin-top: 8px; max-width: 38ch; font-size: 13px; line-height: 1.5; opacity: .82; }
  .bl-rail__action {
    margin-top: auto;
    padding-top: 16px;
    padding-bottom: 3px;
    border-bottom: 1px solid currentColor;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  @media (max-width: 989px) {
    .bl-rail { margin-top: calc(var(--bl-rail-overlap, -58px) * 0.7); }
    .bl-rail__head { grid-template-columns: 1fr; gap: 16px; }
    .bl-rail__list { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
    .bl-rail__item,
    .bl-rail__item--1,
    .bl-rail__item--2,
    .bl-rail__item--3,
    .bl-rail__item--4,
    .bl-rail__item--5,
    .bl-rail__item--6 { grid-column: auto; grid-row: auto; min-height: 0; }
  }
  @media (max-width: 619px) {
    .bl-rail { margin-top: 0; padding: 46px 0 58px; }
    .bl-rail__head { padding: 0 18px; margin-bottom: 24px; }
    .bl-rail__head h2 { font-size: clamp(36px, 11vw, 48px); }
    .bl-rail__list { grid-template-columns: 1fr; gap: 12px; padding: 0 12px; }
    .bl-rail__item,
    .bl-rail__item--1 { grid-column: auto; min-height: 0; }
    .bl-rail__item:nth-child(n + 2) { min-height: 0; }
    .bl-rail__label,
    .bl-rail__item:nth-child(n + 2) .bl-rail__label { font-size: 29px; }
    .bl-rail__copy { padding: 16px 18px 18px; }
  }
/* END_SECTION:birdline-category-rail */
/* START_SECTION:birdline-featured-products (INDEX:23) */
/* REI grid (section setting "Card style"): the same soft band and white
     cards as the collection page, so the homepage row and the grid match. */
  .bl-fprod--rei .bl-fprod__grid {
    gap: 14px; padding: 14px;
    background: rgba(233, 223, 198, 0.42);
    border-radius: var(--bl-radius, 2px);
  }
  .bl-fprod--rei .bl-fprod__cell { min-width: 0; }
  @media (max-width: 749px) {
    .bl-fprod--rei .bl-fprod__grid { gap: 10px; padding: 10px; }
  }
/* END_SECTION:birdline-featured-products */
/* START_SECTION:birdline-footer (INDEX:25) */
/* Comps: brand · SHOP · COMPANY · HELP · JOIN THE FLOCK (capture + socials) */
  .bl-footer__join { min-width: 0; }
  .bl-footer__joincopy { font-size: 12.5px; line-height: 1.5; opacity: 0.85; margin: 0 0 12px; max-width: 34ch; }
  .bl-footer__form { display: flex; align-items: stretch; max-width: 300px; }
  .bl-footer__form input[type="email"] {
    flex: 1; min-width: 0; height: 40px; padding: 0 12px;
    border: 1px solid rgba(246, 241, 231, 0.45); border-right: 0; border-radius: 0;
    background: rgba(246, 241, 231, 0.06); color: #F6F1E7; font-size: 13px;
  }
  .bl-footer__form input[type="email"]::placeholder { color: rgba(246, 241, 231, 0.6); }
  .bl-footer__form input[type="email"]:focus { outline: 2px solid rgba(246,241,231,0.5); outline-offset: -2px; }
  .bl-footer__form button {
    width: 44px; height: 40px; flex: none; cursor: pointer;
    border: 1px solid rgba(246, 241, 231, 0.45);
    background: rgba(246, 241, 231, 0.12); color: #F6F1E7;
    display: inline-flex; align-items: center; justify-content: center;
  }
  .bl-footer__form button:hover { background: rgba(246, 241, 231, 0.24); }
  .bl-footer__formmsg { flex: 0 0 100%; font-size: 12px; margin: 8px 0 0; }
  .bl-footer__formmsg.is-error { color: #E8B4A0; }
  .bl-footer__join .bl-footer__social { margin-top: 16px; }

  @media (max-width: 989px) {
    .bl-footer__grid { grid-template-columns: repeat(2, 1fr); }
    .bl-footer__join { grid-column: 1 / -1; }
  }

  .bl-footer {
    background: #1F3A2A;
    color: #F6F1E7;
  }

  .bl-footer__inner {
    max-width: var(--page-content-width, 80rem);
    margin-inline: auto;
    padding: 56px 24px 28px;
  }

  .bl-footer__grid {
    display: grid;
    /* The brand column carries the lettering mark now, so it takes the width
       the old stacked wordmark did not need. */
    grid-template-columns: 1.45fr repeat(3, 0.75fr) 1.3fr;
    gap: 40px;
    align-items: start;
  }

  /* --- brand column: the footer's lettering mark --- */
  .bl-footer__mark {
    margin: 0;
    max-width: 100%;
  }
  .bl-footer__mark-inner {
    display: inline-block;
    max-width: 100%;
    /* The tilt is what turns two lines of type into a mark. Kept small:
       past about 5deg the descenders start to fight the row below. */
    transform: rotate(-2deg);
    transform-origin: 0 60%;
  }
  .bl-footer__mark-text {
    display: block;
    /* The condensed display face fought the tilt and the swoosh -- three loud
       ideas stacked on one small mark. The lettering is set in the accent face
       instead: upright, heavy, wide-tracked caps, which sits still and lets the
       swoosh be the only flourish. */
    font-family: var(--font-accent--family);
    font-weight: 700;
    font-size: clamp(19px, 1.55vw, 24px);
    line-height: 1.25;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    /* Two lines is the mark; one long line is a sentence. The cap forces the
       break and balance decides where, so it stays 2/2 rather than 3/1. */
    max-width: 17ch;
    text-wrap: balance;
    color: #E3D3AE;
  }
  .bl-footer__mark-swoosh {
    display: block;
    width: 100%;
    height: 0.4em;
    margin-top: 0.02em;
    font-size: clamp(28px, 2.4vw, 36px);
    fill: #E3D3AE;
    opacity: 0.9;
  }

  @media (max-width: 749px) {
    /* On a phone the brand column spans the full width, so the mark centres
       and the tilt pivots about the middle instead of the left edge. */
    .bl-footer__brand { text-align: center; }
    .bl-footer__mark-inner {
      transform: rotate(-3deg);
      transform-origin: 50% 60%;
    }
    .bl-footer__mark-text,
    .bl-footer__mark-swoosh { font-size: clamp(18px, 5.2vw, 24px); }
  }

  .bl-footer__logo-img { max-width: 200px; height: auto; }

  .bl-footer__social {
    display: flex;
    gap: 14px;
    list-style: none;
    padding: 0;
    margin: 22px 0 0;
  }
  .bl-footer__social a { display: inline-flex; }
  .bl-footer__social svg { width: 23px; height: 23px; }

  /* --- link columns --- */
  .bl-footer__heading {
    font-family: var(--font-accent--family);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin: 0 0 14px;
  }
  .bl-footer__col ul { list-style: none; padding: 0; margin: 0; }
  .bl-footer__col li + li { margin-top: 8px; }

  .bl-footer a {
    color: #F6F1E7;
    text-decoration: none;
    font-size: 13px;
    line-height: 1.5;
  }
  .bl-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }

  /* --- badge --- */
  .bl-footer__badge { color: #F6F1E7; justify-self: end; }
  .bl-badge-text {
    font-family: var(--font-accent--family);
    font-size: 9.5px;
    letter-spacing: 0.22em;
    fill: currentColor;
  }

  /* --- bottom bar --- */
  .bl-footer__hr {
    border: 0;
    border-top: 1px solid rgba(246, 241, 231, 0.22);
    margin: 40px 0 18px;
  }
  .bl-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
  }
  .bl-footer__copy { margin: 0; font-size: 12px; opacity: 0.85; }
  .bl-footer__legal { display: flex; gap: 24px; }
  .bl-footer__legal a { font-size: 12px; opacity: 0.85; }
  .bl-footer__payicons { flex: 0 0 100%; justify-content: flex-start; margin-top: 4px; }
  @media (max-width: 749px) { .bl-footer__payicons { justify-content: center; } }

  @media (max-width: 1100px) {
    .bl-footer__grid { grid-template-columns: 1.4fr repeat(2, 1fr); }
    .bl-footer__badge { grid-column: 3; justify-self: start; }
  }

  @media (max-width: 749px) {
    {%- comment -%}
      On phones the signup itself is dropped -- the page already carries an email
      capture, and repeating it here pushed the link columns and the legal row a
      full screen further down. The social icons stay: they live inside this same
      column, so they are re-centred in the space the form used to occupy rather
      than disappearing with it.
    {%- endcomment -%}
    .bl-footer__join .bl-footer__heading,
    .bl-footer__join .bl-footer__joincopy,
    .bl-footer__join .bl-footer__form { display: none; }
    .bl-footer__join { text-align: center; }
    .bl-footer__join .bl-footer__social {
      justify-content: center;
      gap: 22px;
      margin: 4px 0 0;
    }
    .bl-footer__inner { padding: 40px 16px 24px; }
    .bl-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px; }
    .bl-footer__brand { grid-column: 1 / -1; }
    .bl-footer__badge { grid-column: 1 / -1; justify-self: center; }
    .bl-footer__bottom { justify-content: center; text-align: center; }
    .bl-footer__legal { justify-content: center; }
  }
/* END_SECTION:birdline-footer */
/* START_SECTION:birdline-hero (INDEX:27) */
.bl-hero { position: relative; isolation: isolate; }

  /* Full-surface link used while the interim mockup crop (baked CTAs) is in place */
  .bl-hero__cover {
    position: absolute;
    inset: 0;
    z-index: 1;
  }

  /* Interim-mode hotspots aligned to the baked buttons (y 81%–94% of the crop) */
  .bl-hero__hotspot {
    position: absolute;
    top: 88%;
    height: 12%;
    z-index: 2;
  }

  /* Interim mode: the mockup crop IS the hero — render it in flow at its own
     aspect ratio instead of cover-cropping it into a fixed-height box. */
  .bl-hero--interim .bl-hero__media { position: static; }
  .bl-hero--interim .bl-hero__media img {
    width: 100%;
    height: auto;
    display: block;
  }
  .bl-hero--interim .bl-hero__inner { display: none; }
  .bl-hero--interim::before { display: none; }

  .bl-hero__media { position: absolute; inset: 0; z-index: -2; }
  .bl-hero__media img,
  .bl-hero__placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .bl-hero__video { position: absolute; inset: 0; opacity: 0; transition: opacity 0.8s ease; pointer-events: none; }
.bl-hero__video.is-playing { opacity: 1; }
.bl-hero__video-src, .bl-hero__video video { position: absolute; inset: 0; width: 100%; height: 100%; }
.bl-hero__video video { object-fit: cover; object-position: center; display: block; }
.bl-hero__video-src--mobile { display: none; }
@media (max-width: 749px) {
  .bl-hero__video--desktop-only { display: none; }
  .bl-hero__video-src--mobile { display: block; }
  .bl-hero__video-src--mobile + .bl-hero__video-src--desktop { display: none; }
}
@media (prefers-reduced-motion: reduce) { .bl-hero__video { display: none; } }

/* Scrim weighted to the left so the copy stays legible without flattening the photo */
  .bl-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
      to right,
      rgba(0, 0, 0, var(--bl-hero-scrim, 0.5)) 0%,
      rgba(0, 0, 0, calc(var(--bl-hero-scrim, 0.5) * 0.65)) 42%,
      rgba(0, 0, 0, 0) 72%
    );
  }

  .bl-hero__inner {
    max-width: var(--page-content-width, 80rem);
    margin-inline: auto;
    padding: 0 24px;
    min-height: var(--bl-hero-h, 520px);
    display: flex;
    align-items: center;
  }

  .bl-hero__content { max-width: 30rem; color: #fff; }

  .bl-hero__heading {
    font-family: var(--font-heading--family);
    font-size: clamp(34px, 5vw, 48px);
    line-height: 1.1;
    margin: 0 0 16px;
    color: #fff;
  }
  .bl-hero__glyph {
    display: inline-flex;
    width: 0.6em;
    height: 0.6em;
    margin-left: 0.25em;
    vertical-align: baseline;
  }
  .bl-hero__glyph svg { width: 100%; height: 100%; }

  .bl-hero__body {
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 26px;
    max-width: 34ch;
    color: #fff;
  }

  .bl-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }

  .bl-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 26px;
    border-radius: var(--bl-radius, 2px);
    text-decoration: none;
    font-family: var(--font-accent--family);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 1px solid transparent;
  }

  .bl-hero__btn--primary {
    background: var(--bl-orange, #C85A1A);
    color: var(--bl-cream, #F6F1E7);
    border-color: var(--bl-orange, #C85A1A);
  }
  .bl-hero__btn--primary:hover { background: var(--bl-clay, #D97951); border-color: var(--bl-clay, #D97951); }

  .bl-hero__btn--ghost {
    background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.85);
  }
  .bl-hero__btn--ghost:hover { background: rgba(255, 255, 255, 0.14); }

  @media (max-width: 749px) {
    .bl-hero__inner { min-height: 420px; padding-inline: 16px; }
    .bl-hero::before {
      background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, calc(var(--bl-hero-scrim, 0.5) * 0.5)) 0%,
        rgba(0, 0, 0, var(--bl-hero-scrim, 0.5)) 100%
      );
    }
    .bl-hero__actions .bl-hero__btn { flex: 1 1 auto; }
  }
/* END_SECTION:birdline-hero */
/* START_SECTION:birdline-newsletter (INDEX:34) */
/* Transparent, not cream: the band sits on the page ground and runs straight
     into the footer ridgeline. The sand slab used to read as a third stripe
     wedged between the gallery and the treeline. */
  .bl-news { background: transparent; }

  .bl-news__inner {
    max-width: var(--page-content-width, 80rem);
    margin-inline: auto;
    padding: 30px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
  }

  .bl-news__lead { display: flex; align-items: center; gap: 20px; }

  .bl-news__art { width: 92px; height: auto; flex: none; }
  .bl-news__art--icon {
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bl-forest, #1F3A2A);
  }
  .bl-news__art--icon svg { width: 40px; height: 40px; }

  /* Mockup sets this in Cormorant, not the Inter accent face */
  .bl-news__title {
    font-family: var(--font-heading--family);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bl-forest, #1F3A2A);
    margin: 0 0 6px;
    line-height: 1.1;
  }
  .bl-news__body {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    max-width: 42ch;
    opacity: 0.9;
  }

  .bl-news__form { display: flex; align-items: stretch; gap: 0; flex-wrap: wrap; }

  .bl-news__input {
    min-width: 280px;
    height: 46px;
    padding: 0 14px;
    /* On the old sand ground a cream fill defined the field by itself. On
       cream it would vanish, so the border carries it instead. */
    border: 1px solid rgba(31, 58, 42, 0.38);
    border-right: 0;
    border-radius: var(--bl-radius, 2px) 0 0 var(--bl-radius, 2px);
    background: var(--bl-cream, #F6F1E7);
    font-size: 14px;
    color: var(--bl-charcoal, #222);
  }
  .bl-news__input:focus { outline: 2px solid var(--bl-forest, #1F3A2A); outline-offset: -2px; }

  .bl-news__submit {
    height: 46px;
    padding: 0 24px;
    border: 1px solid var(--bl-forest, #1F3A2A);
    border-radius: 0 var(--bl-radius, 2px) var(--bl-radius, 2px) 0;
    background: var(--bl-forest, #1F3A2A);
    color: var(--bl-cream, #F6F1E7);
    font-family: var(--font-accent--family);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
  }
  .bl-news__submit:hover { background: var(--bl-pine, #2D513B); }

  .bl-news__msg { flex-basis: 100%; margin: 8px 0 0; font-size: 13px; color: var(--bl-forest, #1F3A2A); }
  .bl-news__msg--error { color: #9b2c17; }

  @media (max-width: 899px) {
    .bl-news__inner { flex-direction: column; align-items: flex-start; gap: 20px; }
    .bl-news__form { width: 100%; }
    .bl-news__input { flex: 1 1 auto; min-width: 0; }
  }
/* END_SECTION:birdline-newsletter */
/* START_SECTION:birdline-quicknav (INDEX:42) */
.bl-quicknav,
  .bl-mobilemenu { display: none; }

  @media screen and (max-width: 749px) {
    /* ---- quick strip: its own bar, four links, spread across ---- */
    .bl-quicknav {
      display: block;
      background: var(--bl-quicknav-bg, #EDE4D2);
      border-block-end: 1px solid rgba(31, 58, 42, 0.14);
    }

    .bl-quicknav__list {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 10px;
      list-style: none;
      margin: 0;
      padding: 9px 16px;
      overflow-x: auto;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch;
    }
    .bl-quicknav__list::-webkit-scrollbar { display: none; }

    .bl-quicknav__chip {
      display: flex;
      align-items: center;
      /* 40px is the smallest reliable touch target. */
      min-height: 40px;
      white-space: nowrap;
      font-family: var(--font-accent--family);
      /* 600, matching the reference nav. At 700 with wide tracking the labels
         crowded each other and the row read as one dark smear. */
      font-weight: 600;
      font-size: 12px;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      text-decoration: none;
      color: #1F3A2A;
    }
    .bl-quicknav__chip.is-active { box-shadow: inset 0 -2px 0 0 currentColor; }

    /* ---- full menu: in flow, pushes the page down ---- */
    .bl-mobilemenu {
      display: block;
      background: var(--bl-header-bg, #F6F1E7);
      border-block-end: 1px solid rgba(31, 58, 42, 0.2);
    }
    .bl-mobilemenu[hidden] { display: none; }

    .bl-mobilemenu__list {
      list-style: none;
      margin: 0;
      padding: 12px 18px;
    }

    .bl-mobilemenu__link {
      display: flex;
      align-items: center;
      min-height: 44px;
      padding: 9px 0;
      text-align: start;
      text-decoration: none;
      color: #1F3A2A;
      font-family: var(--font-accent--family);
      /* Sentence case at 600, as the reference does it. Six stacked lines of
         tracked uppercase read as a wall rather than a list. */
      font-weight: 600;
      font-size: 15px;
      letter-spacing: normal;
    }
    .bl-mobilemenu__link.is-active { opacity: 0.55; }

    /* Horizon's slide-in drawer is replaced by the panel above, so neither it
       nor its backdrop should ever paint on a phone. */
    .menu-drawer,
    .menu-drawer__backdrop { display: none !important; }
  }
/* END_SECTION:birdline-quicknav */
/* START_SECTION:birdline-why (INDEX:62) */
.bl-why-numbered {
    padding: var(--bl-why-pad-top, 72px) 24px var(--bl-why-pad-bottom, 72px);
    background: var(--bl-cream, #f6f1e7);
    color: var(--bl-forest, #1f3a2a);
  }
  .bl-why-numbered__inner {
    max-width: var(--page-content-width, 80rem);
    margin: 0 auto;
  }
  .bl-why-numbered__layout {
    display: grid;
    grid-template-columns: minmax(0, 2.15fr) minmax(340px, .92fr);
    /* min-height, not a hard height with overflow:hidden. The fixed 512px box
       clipped the fact list the moment the copy grew, which is how the support
       lines ended up printing over the dividers. The image still fills whatever
       height the facts need. */
    min-height: 512px;
    height: auto;
    gap: 18px;
    border-radius: 6px;
  }
  .bl-why-numbered--image-right .bl-why-numbered__layout .bl-why-numbered__media { order: 2; }
  .bl-why-numbered--image-right .bl-why-numbered__layout .bl-why-numbered__panel { order: 1; }
  .bl-why-numbered__media {
    height: 100%;
    border-radius: 6px;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #c9b5a0;
  }
  .bl-why-numbered__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .bl-why-numbered__panel {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    height: 100%;
    box-sizing: border-box;
    padding: 24px clamp(26px, 3vw, 42px);
    background: linear-gradient(135deg, #EEEBDD 0%, #F5F0E5 100%);
    border: 1px solid rgba(31, 58, 42, .12);
    border-radius: 6px;
  }
  .bl-why-numbered__header { max-width: 56rem; margin: 0 auto 34px; text-align: center; }
  .bl-why-numbered__eyebrow {
    margin: 0 0 18px;
    color: var(--bl-orange, #c85a1a);
    font-family: var(--font-accent--family);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .2em;
    line-height: 1.2;
    text-transform: uppercase;
  }
  .bl-why-numbered__header h2 {
    margin: 0;
    color: var(--bl-forest, #1f3a2a);
    font-family: var(--font-heading--family);
    font-size: clamp(36px, 4vw, 55px);
    font-weight: 400;
    letter-spacing: -.025em;
    line-height: 1.02;
  }
  .bl-why-numbered__body {
    max-width: 52rem;
    margin: 18px auto 0;
    color: #4e554e;
    font-size: 14px;
    line-height: 1.65;
  }
  .bl-why-numbered__facts {
    display: grid;
    /* auto rows, not equal fractions: a fixed 1fr slice clipped any fact whose
       title wrapped to two lines, and its support copy printed over the next
       fact's heading. space-between keeps the spread when the copy is short. */
    grid-template-rows: repeat(5, auto);
    /* start, not space-between: the parent column has a definite height from the
       image beside it, and space-between made the auto rows shrink back to fit
       it -- which pushed the support copy over the divider rule again. */
    align-content: start;
    min-height: 0;
    height: auto;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .bl-why-numbered__facts li {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    min-height: 0;
    padding-block: 16px;
    border-top: 1px solid rgba(200, 90, 26, .42);
  }
  .bl-why-numbered__facts li:first-child { border-top: 0; }
  .bl-why-numbered__facts span {
    color: var(--bl-forest, #1f3a2a);
    font-family: var(--font-heading--family);
    font-size: 26px;
    font-weight: 400;
    letter-spacing: 0;
    border-right: 1px solid var(--bl-orange, #c85a1a);
  }
  .bl-why-numbered__facts strong {
    color: var(--bl-forest, #1f3a2a);
    font-family: var(--font-heading--family);
    font-size: clamp(17px, 1.5vw, 21px);
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.25;
    text-transform: none;
  }
  .bl-why-numbered__fact-copy p {
    margin: 6px 0 0;
    color: #5c625c;
    font-size: 13px;
    line-height: 1.45;
  }

  @media (max-width: 989px) {
    .bl-why-numbered__layout { grid-template-columns: 1.2fr 1fr; min-height: 500px; height: auto; }
    .bl-why-numbered__panel { padding-inline: 30px; }
  }

  @media (max-width: 749px) {
    .bl-why-numbered {
      padding: var(--bl-why-pad-top-mobile, 48px) 14px var(--bl-why-pad-bottom-mobile, 48px);
    }
    .bl-why-numbered__header { margin-bottom: 26px; }
    .bl-why-numbered__layout { display: flex; height: auto; min-height: 0; flex-direction: column; gap: 14px; }
    .bl-why-numbered--image-right .bl-why-numbered__media,
    .bl-why-numbered--image-left .bl-why-numbered__media { order: 1; }
    .bl-why-numbered--image-right .bl-why-numbered__panel,
    .bl-why-numbered--image-left .bl-why-numbered__panel { order: 2; }
    .bl-why-numbered__media { aspect-ratio: 4 / 3; }
    .bl-why-numbered__media,
    .bl-why-numbered__panel { height: auto; }
    .bl-why-numbered__panel { padding: 8px 22px; }
    .bl-why-numbered__header h2 { font-size: clamp(34px, 10vw, 46px); }
    .bl-why-numbered__body { margin-top: 16px; }
    .bl-why-numbered__facts { display: block; height: auto; }
    .bl-why-numbered__facts li { min-height: 86px; }
    .bl-why-numbered__facts strong { font-size: 18px; }
    .bl-why-numbered__fact-copy p { font-size: 13px; }
  }
/* END_SECTION:birdline-why */
/* START_SECTION:header (INDEX:76) */
body {
    --header-height: 60px;
    --header-group-height: var(--header-height);
    --transparent-header-offset-boolean: 0; /* stylelint-disable-line declaration-property-value-disallowed-list */
  }

  .header {
    /* Set header paddings based on height setting */
    --header-padding: var(--padding-sm);
    --font-paragraph--line-height: 1;
    --header-content-transition-timing: 0s;

    display: block;
    contain: layout style;
    background: transparent;

    a,
    .button,
    .button-secondary,
    .header-actions__action {
      /* reset style from base.css */
      transition: color var(--header-content-transition-timing), border-color var(--header-content-transition-timing);
    }
  }

  #header-component :is(.header-menu, .dropdown-localization) {
    display: none;
  }

  @media screen and (min-width: 750px) {
    #header-component[data-menu-style='menu'] :is(.header-menu, .dropdown-localization) {
      display: flex;
    }
  }

  #header-component[data-menu-style='drawer'] .header__column {
    display: contents;
  }

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

  .header[transparent] {
    --language-button-background-color: transparent;
    --language-button-border-color: transparent;
    --header-content-transition-timing: calc(var(--submenu-animation-speed) - var(--animation-speed-fast))
      var(--animation-speed-fast) var(--ease-out-cubic);

    --closed-underlay-height: 0px;

    /* used to display the appropriate logo based on transparency state */
    --header-logo-display: none;
    --header-logo-inverse-display: block;

    position: absolute;
    top: 0;
    left: 0;
    right: 0;

    z-index: var(--layer-overlay);

    &[transparent='not-sticky'][data-sticky-state='active'],
    &:has(.menu-list__link:not([aria-haspopup]):hover) {
      --header-logo-display: unset;
      --header-logo-inverse-display: unset;
      --color-foreground: inherit;
      --color-foreground-rgb: inherit;
      --color-background: inherit;
      --color-background-rgb: inherit;
      --color-border: inherit;
      --color-border-rgb: inherit;
      --closed-underlay-height: 100%;
    }

    /** For transparent header, apply transparent text color to rows when menu is not hovered */
    &:not([data-sticky-state='active']):not(:has(.menu-list__link:is(:hover, [aria-expanded='true']))) .header__row {
      --color-foreground: var(--color-transparent-text);
      --color-foreground-rgb: var(--color-transparent-text-rgb);
      --color-border: var(--color-transparent-text);
      --color-border-rgb: var(--color-transparent-text-rgb);
      --color-primary-button-background: var(--color-transparent-text);
      --color-primary-button-text: var(--color-transparent-text-contrast);
    }

    /* Swap the cart bubble in transparent state only when using the default
       style. Custom bubble colors apply unchanged across header states. */
    &[data-bubble-style='default']:not([data-sticky-state='active']):not(
        :has(.menu-list__link:is(:hover, [aria-expanded='true']))
      )
      .header__row {
      --cart-bubble-background: var(--color-transparent-text, var(--cart-bubble-background-fallback));
      --cart-bubble-text: var(--color-transparent-text-contrast, var(--cart-bubble-text-fallback));
    }

    /* Multiple selectors for performance: each simple :has() check is faster than one complex selector with multiple conditions */
    &:has(.mega-menu__list:hover),
    &:has(.menu-list__link:is(:hover, [aria-expanded='true'])),
    &:has(.menu-list__list-item[slot='overflow'] .menu-list__link:is(:hover, [aria-expanded='true'])) {
      --header-logo-display: unset;
      --header-logo-inverse-display: unset;
      --color-foreground: inherit;
      --color-foreground-rgb: inherit;
      --color-background: inherit;
      --color-background-rgb: inherit;
      --color-border: inherit;
      --color-border-rgb: inherit;
      --header-content-transition-timing: var(--submenu-animation-speed) var(--ease-out-cubic);
    }
  }

  /* When top row has transparent background, make it inherit colors from header component */
  [data-transparent-background='top']:hover .header__row--top,
  [data-transparent-background='top']:focus-within .header__row--top,
  [data-transparent-background='both']:hover .header__row--top,
  [data-transparent-background='both']:focus-within .header__row--top {
    --color-foreground: inherit;
    --color-foreground-rgb: inherit;
    --color-border: inherit;
    --color-border-rgb: inherit;
    --color-primary-button-background: inherit;
    --color-primary-button-text: inherit;
  }

  /* When bottom row has transparent background, make it inherit colors from header component */
  [data-transparent-background='bottom']:hover .header__row--bottom,
  [data-transparent-background='bottom']:focus-within .header__row--bottom,
  [data-transparent-background='both']:hover .header__row--bottom,
  [data-transparent-background='both']:focus-within .header__row--bottom {
    --color-foreground: inherit;
    --color-foreground-rgb: inherit;
    --color-border: inherit;
    --color-border-rgb: inherit;
    --color-primary-button-background: inherit;
    --color-primary-button-text: inherit;
  }

  .header-section {
    position: relative;
    z-index: var(--layer-menu-drawer);
  }

  /* need default values for non-flash transitions on first overflow menu open */
  #header-component {
    --submenu-height: 0px;
    --full-open-header-height: 0px;
  }

  #header-group:has(#header-component[sticky]) {
    display: contents;
  }

  .header-section:has(> #header-component[sticky='always']),
  .header-section:has(> #header-component[sticky='scroll-up'][data-sticky-state='active']) {
    position: sticky;

    /* Use -1 instead of 0 so intersection observer can track sticky state */
    top: -1px;
    z-index: var(--layer-menu-drawer);
  }

  .header[data-sticky-state] {
    transition: opacity var(--animation-speed) var(--animation-easing);
    opacity: 1;
  }

  .header[data-sticky-state='active'] {
    view-transition-name: sticky-header;
  }

  :active-view-transition-type(empty-cart-drawer) {
    .header[data-sticky-state='active'] {
      view-transition-name: none;
    }
  }

  .header[data-sticky-state='idle'] {
    opacity: 0;
  }

  /* ================================
     * Underlays
     * ================================ */
  .header__underlay {
    position: absolute;
    inset: 0;
  }

  .header__underlay-closed {
    height: var(--closed-underlay-height, 100%);
    z-index: var(--layer-lowest);
    background: linear-gradient(
      var(--color-background-top-row) 0 var(--top-row-height),
      var(--color-background-bottom-row) var(--top-row-height) var(--header-height)
    );
    transition: height var(--animation-speed-slow) var(--ease-out-cubic);
  }

  .header__underlay-open {
    height: var(--full-open-header-height);
    background: linear-gradient(
      var(--color-background-top-row) 0 var(--top-row-height),
      var(--color-background-bottom-row) var(--top-row-height) var(--header-height),
      var(--color-submenu) var(--header-height) 100%
    );
    /* header-height is updated via js, the transition works automagically */
    transition: height var(--submenu-animation-speed) var(--ease-out-cubic);
  }

  .header__underlay-open::after {
    content: '';
    position: absolute;
    inset: 0;
    box-shadow: var(--shadow-popover);
    clip-path: inset(var(--header-height) 0 -100px 0); /* stylelint-disable-line */
    transition: height var(--submenu-animation-speed) var(--ease-out-cubic);
  }

  /* When top row has transparent background, swap underlay to merchant's chosen color at full opacity */
  [data-transparent-background='top']:hover,
  [data-transparent-background='top']:focus-within,
  [data-transparent-background='both']:hover,
  [data-transparent-background='both']:focus-within {
    :is(.header__underlay-open, .header__underlay-closed) {
      --color-background-top-row: var(--color-background);
    }
  }

  /* When bottom row has transparent background, swap underlay to merchant's chosen color at full opacity */
  [data-transparent-background='bottom']:hover,
  [data-transparent-background='bottom']:focus-within,
  [data-transparent-background='both']:hover,
  [data-transparent-background='both']:focus-within {
    :is(.header__underlay-open, .header__underlay-closed) {
      --color-background-bottom-row: var(--color-background);
    }
  }

  [data-submenu-overlap-bottom-row] {
    .header__underlay-open {
      background: linear-gradient(
        var(--color-background-top-row) 0 var(--top-row-height),
        var(--color-submenu) var(--top-row-height) 100%
      );
    }

    .header__row--bottom {
      z-index: var(--layer-lowest);
    }
  }

  /* End Underlays ================ */

  .header__row {
    /* The account component uses a different background color, but we need to override it to inherit the color of the header row */
    --color-account-icon: var(--color-foreground);

    position: relative;

    /* Overwrite color from section settings, background is controlled by the underlays */
    /* stylelint-disable-next-line declaration-no-important */
    background-color: transparent !important;

    &:has(.mega-menu__list:hover),
    &:has(.menu-list__link[aria-haspopup]:is(:hover, [aria-expanded='true'])),
    &:has(.menu-list__list-item[slot='overflow'] .menu-list__link:is(:hover, [aria-expanded='true'])) {
      /* Only elevate the row when the submenu is open to avoid overlapping other elevated content */
      z-index: var(--layer-heightened);
    }
  }

  .header__row--top:not(.divider--page-width),
  .header__row--top.divider--page-width .header__columns,
  .header__row--bottom {
    border-bottom: var(--border-bottom-width) solid var(--border-bottom-color, var(--color-border));
  }

  @media screen and (max-width: 749px) {
    .header__row--top:not(.divider--page-width),
    .header__row--top.divider--page-width .header__columns {
      border-bottom-width: var(--border-bottom-width-mobile);
      border-bottom-color: var(--border-bottom-color-mobile);
    }
  }

  #header-component[data-menu-style='drawer'] .header__row--top:not(.divider--page-width),
  #header-component[data-menu-style='drawer'] .header__row--top.divider--page-width .header__columns {
    border-bottom-width: var(--border-bottom-width-mobile);
    border-bottom-color: var(--border-bottom-color-mobile);
  }

  .header__row.divider--page-width:not(.section--page-width) .header__columns {
    @media screen and (min-width: 750px) {
      padding-inline-start: 0;
      padding-inline-end: 0;
      margin-inline-start: var(--page-margin);
      margin-inline-end: var(--page-margin);
    }
  }

  .header__column {
    display: flex;
    align-items: center;

    /* on mobile, header__column nodes are ignored to create a new grid-template-area based on all visible content */
    @media screen and (max-width: 749px) {
      display: contents;
    }
  }

  .header__column--left,
  .header__column--center {
    gap: var(--gap-xl);
    grid-area: left;
  }

  .header__column--center {
    justify-content: center;
    grid-area: center;

    header-menu:only-child .overflow-menu::part(list) {
      justify-content: center;
    }
  }

  .header__column--right {
    gap: var(--gap-xl);
    justify-content: flex-end;
    grid-area: right;

    .overflow-menu::part(list) {
      justify-content: flex-end;
    }
  }

  .header__columns {
    /* Three column layout */
    --header-left: 1fr;
    --header-center: auto;
    --header-right: 1fr;
    --header-template-columns: var(--header-left) var(--header-center) var(--header-right);

    /* Mobile layout */
    --header-mobile-bookend: 44px;

    display: grid;
    grid-template-areas: 'left center right';
    grid-gap: var(--gap-xl);
    grid-template-columns: var(--header-template-columns);

    /* If menu is in center column */
    &:has(.header__column--center header-menu) {
      --header-center: auto;
      --header-left: minmax(max-content, 1fr);
      --header-right: minmax(max-content, 1fr);
    }

    /* If there is no center column, make the column the menu is in grow eagerly */
    &:where(:not(:has(.header__column--center))) {
      @media screen and (min-width: 750px) {
        --header-template-columns: var(--header-left) var(--header-right);

        grid-template-areas: 'left right';
      }

      /* If the header-menu is in the right column */
      &:has(.header__column--right header-menu) {
        --header-right: auto;
        --header-left: minmax(max-content, 1fr);
      }

      /* If the header-menu is in the left column */
      &:has(.header__column--left header-menu) {
        --header-left: auto;
        --header-right: minmax(max-content, 1fr);
      }
    }

    @media screen and (max-width: 749px) {
      --header-template-columns: var(--header-mobile-bookend) var(--header-mobile-bookend) 1fr
        var(--header-mobile-bookend) var(--header-mobile-bookend);

      grid-template-areas: 'leftA leftB center rightA rightB';
      grid-column: span 3;
      column-gap: 0;
      align-items: center;
      padding-block: 0;
      padding-inline: 0 var(--padding-3xs);

      .header-logo {
        grid-area: center;
      }

      &:not(:has(header-actions)) .search-action {
        grid-area: leftB;
      }

      &:not(:has(shopify-account)) .search-action {
        grid-area: rightA;
      }

      .search-action {
        grid-area: leftB;
      }

      header-actions {
        grid-area: rightB;
      }
    }
  }

  /* not ideal but we need to duplicate these styles for when touch comes into play
    We could avoid the duplication using js to set the data-menu-style attribute on small screens instead of using @media queries */
  #header-component[data-menu-style='drawer'] .header__columns {
    --header-template-columns: var(--header-mobile-bookend) var(--header-mobile-bookend) 1fr
      var(--header-mobile-bookend) var(--header-mobile-bookend);

    grid-template-areas: 'leftA leftB center rightA rightB';
    grid-column: span 3;
    column-gap: 0;
    align-items: center;
    padding-block: 0;
    padding-inline: 0 var(--padding-3xs);

    .header-logo {
      grid-area: center;
    }

    &:not(:has(header-actions)) .search-action {
      grid-area: leftB;
    }

    &:not(:has(shopify-account)) .search-action {
      grid-area: rightA;
    }

    .search-action {
      grid-area: leftB;
    }

    header-actions {
      grid-area: rightB;
    }
  }

  /* Single column layout if there are no columns within */
  .header__columns:not(:has(.header__column)) {
    grid-template-columns: 1fr;
  }

  /* Check for hover support to avoid unnecessary expensive recalculations when tapping on mobile */
  @media (hover: hover) {
    /* Column-specific dimming effect when any interactive element is hovered
        Multiple selectors for performance: each simple :has() check is faster than one complex selector with multiple conditions */
    .header__column:has(header-menu:hover),
    .header__column:has(.header-actions__action:hover),
    .header__column:has(.header__icon--menu:hover) {
      header-menu:not(:hover),
      .header-actions__action:not(:hover),
      .header__icon--menu:not(:hover) {
        opacity: var(--opacity-subdued-text);
        transition: opacity var(--animation-speed) var(--animation-easing);
      }
    }
  }

  /* Ensure smooth transitions for all interactive elements */
  header-menu,
  .header-actions__action,
  .header__icon--menu {
    transition: opacity var(--animation-speed) var(--animation-easing);
  }

  /* Header action button styles */
  .header-actions__action {
    --button-color: var(--color-foreground);
    color: var(--button-color);
    cursor: pointer;
    display: flex;
    justify-content: center;

    &:hover {
      --button-color: var(--color-foreground);
    }
  }

  .header-actions__action:not(.account-button) .svg-wrapper {
    height: var(--button-size);
    width: var(--button-size);
  }

  .header-actions__action:not(.account-button) svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  .header:has(#Details-menu-drawer-container[open]) {
    contain: style;
  }

  .header.header--compact {
    --header-padding: var(--padding-2xs);
  }

  .header__columns {
    --padding-block-start: var(--header-padding);
    --padding-block-end: var(--header-padding);
  }

  .header:not(.header--compact) .header__row--bottom {
    --header-padding: var(--padding-xs);
  }

  .header--collapse-row-paddings {
    .header__row--top .header__columns {
      --padding-block-end: 0px;
    }

    .header__row--bottom .header__columns {
      --padding-block-start: 0px;
    }
  }

  /* When the header is transparent, add a margin to a potential header-section below it */
  .header-section:has(.header[transparent]) + .shopify-section {
    margin-top: var(--header-height);
  }

  /* Optimize layout performance for hidden menus */
  .header-menu .menu-list__submenu {
    content-visibility: auto;
    contain-intrinsic-size: 0px 500px;
  }

  /* Force visibility when open/animating and in overflow submenu to prevent layout issues */
  .header-menu details[open] .menu-list__submenu,
  .header-menu .menu-list__submenu[data-active],
  .header-menu .menu-list__list-item[slot='overflow'] .menu-list__submenu {
    content-visibility: visible;
  }

  /* Dropdown Localization Styles */
  .dropdown-localization__button {
    display: flex;
    position: relative;
    align-items: center;
    gap: 4px;
    font-family: var(--menu-localization-font);
    font-size: var(--menu-localization-font-size);
    font-weight: var(--menu-top-level-font-weight);
    padding-inline: var(--padding-2xs);
    margin-inline: calc(-1 * var(--padding-2xs));
  }

  .dropdown-localization__button .svg-wrapper.icon-caret {
    height: var(--icon-size-xs);
    width: var(--icon-size-xs);
    right: var(--margin-xs);
    top: calc(50% - var(--padding-2xs));
    flex-shrink: 0;
    transition: transform var(--animation-speed) var(--animation-easing);
  }

  .dropdown-localization__button .icon-flag {
    width: var(--menu-localization-font-size, var(--icon-size-sm));
    height: var(--menu-localization-font-size, var(--icon-size-sm));
    clip-path: circle(50%); /* stylelint-disable-line */
    background-position: center;
    background-size: cover;
    margin-inline-end: 4px;
    position: relative;
  }

  .dropdown-localization__button .icon-flag::after {
    content: '';
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 var(--size-shadow) var(--color-shadow);
    border-radius: 50%;
  }

  .dropdown-localization__button[aria-expanded='true'] .icon-caret svg {
    transform: rotate(180deg);
  }

  .dropdown-localization__button,
  .dropdown-localization__button:hover {
    box-shadow: none;
    background-color: transparent;
    border-color: transparent;
  }

  dropdown-localization-component .localization-form__list {
    max-height: 20.5rem;
  }

  .localization-wrapper {
    position: fixed;
    z-index: var(--layer-raised);
    border-radius: var(--style-border-radius-popover);
    transition-property: display, opacity, translate;
    transition-duration: 0.3s;
    transition-timing-function: var(--ease-out-quad);
    transition-behavior: allow-discrete;
    translate: 0 20px;
    opacity: 0;
  }

  .localization-wrapper:not([hidden]) {
    translate: 0 0;
    opacity: 1;
  }

  @starting-style {
    .localization-wrapper:not([hidden]) {
      translate: 0 20px;
      opacity: 0;
    }
  }

  dropdown-localization-component {
    position: relative;
    background-color: transparent;
  }

  dropdown-localization-component .country-filter {
    position: relative;
    padding: 8px;
  }

  dropdown-localization-component .country-filter__input {
    border: none;
  }

  dropdown-localization-component .localization-form__list-item {
    margin-inline: 8px;
  }

  dropdown-localization-component .localization-wrapper {
    box-shadow: var(--shadow-popover);
    border: var(--style-border-popover);
    background-color: var(--color-background);
    max-height: 27.5rem;
    position: absolute;
    top: calc(100% + 10px);
    z-index: calc(var(--layer-header-menu) + 1);
  }

  dropdown-localization-component .localization-wrapper.right-bound {
    right: 0;
    left: unset;
  }

  dropdown-localization-component .localization-wrapper.left-bound {
    left: -8px;
    right: unset;
  }

  /* Additional specificity due to dropdown-localization-component getting a low score */
  dropdown-localization-component .language-selector.language-selector {
    padding: 10px 8px 10px 16px;
  }

  dropdown-localization-component .localization-form__currency {
    width: max-content;
    opacity: 0;
    visibility: hidden;
    transition: none;
  }

  dropdown-localization-component .localization-form__select:hover {
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-8));
  }

  dropdown-localization-component
    :is(
      .localization-form__list-item:hover,
      .localization-form__list-item[aria-selected='true'],
      .localization-form__list-item[aria-current='true']
    )
    .localization-form__currency {
    opacity: 1;
    color: var(--color-foreground-muted);
    transition: opacity var(--animation-speed-slow) var(--animation-easing);
    visibility: visible;
  }

  .dropdown-localization .language-selector:where(:not(.language-selector--top-shadow)) {
    font-weight: var(--menu-top-level-font-weight);
  }

  .dropdown-localization:not(dropdown-localization-component) .language-selector {
    font-family: var(--menu-localization-font);
    font-size: var(--menu-localization-font-size);
  }
/* END_SECTION:header */
/* START_BLOCK:_header-logo (INDEX:133) */
.header-logo {
    display: flex;
    height: 100%;
    font-size: var(--font-size--md);
    font-family: var(--font-family);
    font-weight: var(--font-weight);
    font-style: var(--font-style);
    color: var(--color-foreground);
    justify-content: center;
    align-items: center;
    text-decoration: none;

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

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

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

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

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

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

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

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

  .header-logo__image-container--inverse {
    display: var(--header-logo-inverse-display, none);
  }
/* END_BLOCK:_header-logo */
/* START_BLOCK:_header-menu (INDEX:134) */
.header__drawer {
    --header-drawer-min-height: 60px;
    display: flex;
    min-height: var(--header-drawer-min-height);
    align-items: center;
  }

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

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

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

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

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

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

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

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

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

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

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

    display: flex;
    height: 100%;
  }

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

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

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

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

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

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

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

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

  .menu-list__link-title {
    padding-inline: calc(var(--gap-xl) / 2);
  }

  /* Keep the six QA collection destinations visible across ordinary laptop
     widths. Horizon's overflow menu remains a safety net only for unusually
     narrow desktop panes (for example, the theme editor beside its sidebars). */
  @media screen and (min-width: 750px) and (max-width: 1100px) {
    .menu-list__link-title { padding-inline: 6px; }
  }
  [slot='overflow'] .menu-list__link-title {
    padding-inline: 0;
  }

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

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

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

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

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

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

  .overflow-menu {
    /* stylelint-disable-next-line declaration-no-important */
    background-color: transparent !important;
    padding: var(--focus-outline-size);
    margin: calc(-1 * var(--focus-outline-size));
  }

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

    background-color: transparent;
  }

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

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

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

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

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

    visibility: visible;
  }

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

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

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

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

    display: contents;
    white-space: normal;

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

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

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

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

  .header-menu {
    height: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    width: 200px;
  }

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

  /* Hide product cards in collapsed submenus from the IntersectionObserver that fires product view events */
  .menu-list__list-item:not(:has([aria-expanded='true'])) > .menu-list__submenu product-component {
    display: none;
  }
/* END_BLOCK:_header-menu */
/* START_SNIPPET:bl-popup (INDEX:220) */
body.bl-cold-popup-open { overflow: hidden; }
.bl-cold-popup {
  --bl-popup-forest: #102a1f;
  --bl-popup-ivory: #f6f0df;
  --bl-popup-gold: #d1a66b;
  box-sizing: border-box;
  width: min(760px, calc(100vw - 32px));
  max-width: 760px;
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  border: 1px solid rgba(246,240,223,.18);
  border-radius: 5px;
  color: var(--bl-popup-ivory);
  background: var(--bl-popup-forest);
  overflow: hidden;
  box-shadow: 0 22px 80px rgba(0,0,0,.34);
  font-family: Georgia, 'Times New Roman', serif;
}
.bl-cold-popup *, .bl-cold-popup *::before, .bl-cold-popup *::after { box-sizing: border-box; }
.bl-cold-popup:not([open]), .bl-cold-popup [hidden] { display: none; }
.bl-cold-popup::backdrop { background: rgba(12,18,14,.66); }
.bl-cold-popup__shell { display: flex; flex-direction: column; max-height: calc(100dvh - 34px); }
.bl-cold-popup__body { display: flex; flex-direction: column; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scroll-padding-block: 20px; }
.bl-cold-popup__body > * { flex-shrink: 0; }
.bl-cold-popup__brandbar {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 48px;
  padding: 12px 22px;
  background: var(--bl-popup-forest);
}
.bl-cold-popup__wordmark { font-size: 22px; letter-spacing: .17em; line-height: 1; }
.bl-cold-popup__close {
  position: absolute;
  inset-block-start: 2px;
  inset-inline-end: 8px;
  width: 44px;
  height: 44px;
  padding: 11px;
  border: 0;
  background: transparent;
  color: var(--bl-popup-ivory);
  cursor: pointer;
}
.bl-cold-popup__close svg { display: block; width: 22px; height: 22px; }
.bl-cold-popup__media { display: block; height: clamp(190px, 35dvh, 326px); min-height: 150px; overflow: hidden; background: #244433; }
.bl-cold-popup__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 61%; }
.bl-cold-popup:has([data-bl-screen="email"]:not([hidden])) .bl-cold-popup__media { height: clamp(140px,25dvh,230px); }
.bl-cold-popup__content { padding: 22px 40px 16px; background: radial-gradient(ellipse at 50% 0%, rgba(67,89,51,.11), transparent 75%), var(--bl-popup-forest); }
.bl-cold-popup__screen { display: flex; flex-direction: column; align-items: center; text-align: center; }
.bl-cold-popup__step { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.bl-cold-popup__title {
  max-width: 26ch;
  margin: 0 auto 21px;
  color: var(--bl-popup-ivory);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(32px, 3.2vw, 40px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.018em;
  text-transform: none;
  text-wrap: balance;
}
.bl-cold-popup__title:focus { outline: none; }
.bl-cold-popup__screen[data-bl-screen="question"] .bl-cold-popup__intro { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.bl-cold-popup__answers { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; width: 100%; }
.bl-cold-popup__answer {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 60px;
  padding: 12px 14px;
  border: 1.5px solid var(--bl-popup-gold);
  border-radius: 5px;
  color: var(--bl-popup-ivory);
  background: transparent;
  font-family: inherit;
  cursor: pointer;
}
.bl-cold-popup__answer strong { font: 400 25px/1.2 Georgia, 'Times New Roman', serif; }
.bl-cold-popup__answer:hover { background: rgba(209,166,107,.1); }
.bl-cold-popup__radio { display: none; }
.bl-cold-popup__microcopy { margin: 18px 0 0; color: var(--bl-popup-ivory); font-size: 16px; line-height: 1.4; }
.bl-cold-popup__text-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 9px 5px;
  border: 0;
  color: var(--bl-popup-ivory);
  background: transparent;
  font: 400 15px/1.2 Georgia, 'Times New Roman', serif;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.bl-cold-popup__intro { max-width: 48ch; margin: 0 0 18px; font-size: 17px; line-height: 1.45; }
.bl-cold-popup__selection { display: flex; align-items: center; gap: 8px; margin: 0 0 13px; color: var(--bl-popup-gold); font-size: 14px; }
.bl-cold-popup__selection svg { width: 16px; height: 16px; }
.bl-cold-popup__screen[data-bl-screen="email"] .bl-cold-popup__title { max-width: 25ch; margin-bottom: 13px; font-size: clamp(30px,3vw,37px); }
.bl-cold-popup__form { width: min(100%, 440px); text-align: left; }
.bl-cold-popup__form label { display: block; margin: 0 0 7px; font: 500 12px/1.3 Inter, sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.bl-cold-popup #BirdlineColdPopupEmail {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid rgba(246,240,223,.58);
  border-radius: 3px;
  color: var(--bl-popup-ivory) !important;
  caret-color: var(--bl-popup-ivory) !important;
  -webkit-text-fill-color: var(--bl-popup-ivory) !important;
  background-color: #1a3328 !important;
  color-scheme: dark;
  opacity: 1;
  font: 400 16px/1.3 Inter,sans-serif;
}
.bl-cold-popup #BirdlineColdPopupEmail::placeholder {
  color: rgba(246,240,223,.62) !important;
  -webkit-text-fill-color: rgba(246,240,223,.62) !important;
  opacity: 1;
}
.bl-cold-popup #BirdlineColdPopupEmail:autofill {
  box-shadow: 0 0 0 1000px #1a3328 inset !important;
}
.bl-cold-popup #BirdlineColdPopupEmail:-webkit-autofill {
  -webkit-text-fill-color: var(--bl-popup-ivory) !important;
  -webkit-box-shadow: 0 0 0 1000px #1a3328 inset !important;
}
.bl-cold-popup__primary {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  margin-top: 10px;
  padding: 12px 16px;
  border: 1px solid var(--bl-popup-gold);
  border-radius: 3px;
  color: var(--bl-popup-forest);
  background: var(--bl-popup-gold);
  font: 600 14px/1.2 Inter,sans-serif;
  letter-spacing: .035em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
}
.bl-cold-popup__primary:hover { background: #e0bb85; }
.bl-cold-popup__primary:disabled { opacity: .65; cursor: progress; }
.bl-cold-popup__consent { margin: 11px 0 0; font: 400 11px/1.5 Inter,sans-serif; color: rgba(246,240,223,.85); }
.bl-cold-popup__secondary-actions { display: flex; gap: 34px; margin-top: 3px; }
.bl-cold-popup__error { margin: 8px 0; color: #ffd19e; font: 400 12px/1.4 Inter,sans-serif; }
.bl-cold-popup__listed { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; color: var(--bl-popup-gold); font-size: 15px; }
.bl-cold-popup__listed svg { width: 18px; height: 18px; }
.bl-cold-popup__code { display: flex; width: min(100%,440px); min-height: 64px; border: 1px solid var(--bl-popup-gold); border-radius: 3px; }
.bl-cold-popup__code strong { display: grid; place-items: center; flex: 1; font: 600 26px/1.2 Inter,sans-serif; letter-spacing: .08em; }
.bl-cold-popup__code button { min-height: 44px; padding: 10px 14px; border: 0; border-inline-start: 1px solid var(--bl-popup-gold); color: var(--bl-popup-ivory); background: transparent; font: 500 12px Inter,sans-serif; cursor: pointer; }
.bl-cold-popup__copy-status { min-height: 18px; font: 400 12px Inter,sans-serif; }
.bl-cold-popup__screen--success .bl-cold-popup__primary { width: min(100%,440px); }
.bl-cold-popup__email-note { font-size: 13px; }
.bl-cold-popup :is(button,a,input):focus-visible { outline: 3px solid #f1ca89; outline-offset: 3px; }
@media (max-width:749px) {
  .bl-cold-popup { position: fixed; inset: 0; width: 100%; max-width: none; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; overflow: hidden; }
  .bl-cold-popup__shell { height: 100%; max-height: 100%; }
  .bl-cold-popup__body { display: flex; flex: 1; min-height: 0; flex-direction: column; overflow-y: auto; overscroll-behavior: contain; scroll-padding-block: 20px; }
  .bl-cold-popup__brandbar { flex: 0 0 auto; padding-top: calc(14px + env(safe-area-inset-top, 0px)); padding-left: max(22px, env(safe-area-inset-left, 0px)); padding-right: max(22px, env(safe-area-inset-right, 0px)); }
  .bl-cold-popup__media { flex: 0 0 auto; }
  .bl-cold-popup__content { flex: 1 0 auto; }
  .bl-cold-popup__brandbar { min-height: 52px; padding-inline: 22px; }
  .bl-cold-popup__wordmark { font-size: 22px; }
  .bl-cold-popup__close { inset-block-start: calc(4px + env(safe-area-inset-top, 0px)); inset-inline-end: max(8px, env(safe-area-inset-right, 0px)); }
  .bl-cold-popup__media { height: clamp(200px,31dvh,285px); min-height: 160px; }
  .bl-cold-popup__media img { object-position: 44% 62%; }
  .bl-cold-popup__content { padding: 24px max(22px, env(safe-area-inset-right, 0px)) calc(18px + env(safe-area-inset-bottom, 0px)) max(22px, env(safe-area-inset-left, 0px)); }
  .bl-cold-popup__title { max-width: 17ch; margin-bottom: 19px; font-size: clamp(29px,8.6vw,35px); line-height: 1.12; }
  .bl-cold-popup__answers { grid-template-columns: 1fr; gap: 11px; }
  .bl-cold-popup__answer { min-height: 56px; padding: 11px 12px; }
  .bl-cold-popup__answer strong { font-size: 24px; }
  .bl-cold-popup__microcopy { margin-top: 16px; font-size: 14px; }
  .bl-cold-popup__screen[data-bl-screen="email"] .bl-cold-popup__title { font-size: 30px; max-width: 18ch; }
  .bl-cold-popup__intro { font-size: 15px; margin-bottom: 15px; }
  .bl-cold-popup__selection { margin-bottom: 11px; }
}
@media (max-height:700px) and (max-width:749px) {
  .bl-cold-popup__media, .bl-cold-popup:has([data-bl-screen="email"]:not([hidden])) .bl-cold-popup__media { height: clamp(100px, 25dvh, 170px); min-height: 100px; }
  .bl-cold-popup__content { padding-block-start: 16px; }
  .bl-cold-popup__title { font-size: 29px; }
}
@media (prefers-reduced-motion:no-preference) {
  .bl-cold-popup[open] { animation: bl-cold-popup-in .18s ease-out both; }
  @keyframes bl-cold-popup-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
}
/* END_SNIPPET:bl-popup */
/* START_SNIPPET:bl-size-guide (INDEX:228) */
.bl-sg { border: 0; padding: 0; width: min(1060px, 94vw); max-height: 92vh; background: var(--bl-cream, #F6F1E7); border-radius: var(--bl-radius, 2px); }
  .bl-sg::backdrop { background: rgba(20, 24, 18, 0.6); }
  .bl-sg__inner { padding: 30px 36px 0; overflow-y: auto; overscroll-behavior: contain; max-height: 92vh; }
  .bl-sg__close { position: absolute; top: 14px; right: 18px; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; font-size: 18px; cursor: pointer; color: var(--bl-charcoal, #222); }
  .bl-sg__head { text-align: center; }
  .bl-sg__head img { width: 92px; height: auto; }
  .bl-sg__head h2 { font-family: var(--font-heading--family); font-size: 32px; margin: 4px 0 4px; }
  .bl-sg__head p { font-size: 12px; opacity: 0.75; margin: 0; }
  .bl-sg__garment { margin-top: 6px !important; font-family: var(--font-accent--family); font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--bl-forest, #1F3A2A); opacity: 1 !important; }
  .bl-sg__garment:empty { display: none; }
  .bl-sg__tabs { display: flex; justify-content: center; gap: 26px; margin: 18px 0 22px; border-bottom: 1px solid var(--bl-stone, #ABA39A); }
  .bl-sg__tabs [role="tab"] { background: none; border: 0; cursor: pointer; font-family: var(--font-subheading--family); font-size: 13.5px; padding: 8px 2px 10px; color: var(--bl-charcoal, #222); opacity: 0.7; border-bottom: 2px solid transparent; margin-bottom: -1px; }
  .bl-sg__tabs [role="tab"].is-active { opacity: 1; border-bottom-color: var(--bl-forest, #1F3A2A); }
  .bl-sg button:focus-visible, .bl-sg [role="tabpanel"]:focus-visible { outline: 2px solid var(--bl-forest, #1F3A2A); outline-offset: 2px; }
  .bl-sg__grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 34px; }
  .bl-sg__col--wide { grid-column: 1 / -1; max-width: 640px; margin-inline: auto; width: 100%; }
  .bl-sg__label { font-family: var(--font-accent--family); font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 12px; }
  .bl-sg__field { margin-bottom: 16px; }
  .bl-sg__fieldhead { display: flex; justify-content: space-between; align-items: center; font-size: 13px; font-weight: 600; margin-bottom: 7px; }
  .bl-sg__units button { border: 1px solid var(--bl-stone, #ABA39A); background: none; cursor: pointer; font-size: 11px; padding: 3px 10px; }
  .bl-sg__units button:first-child { border-radius: 12px 0 0 12px; }
  .bl-sg__units button:last-child { border-radius: 0 12px 12px 0; margin-left: -1px; }
  .bl-sg__units button.is-active { background: var(--bl-forest, #1F3A2A); color: var(--bl-cream, #F6F1E7); border-color: var(--bl-forest, #1F3A2A); }
  .bl-sg__inputs { display: flex; gap: 10px; }
  .bl-sg [hidden] { display: none !important; }
  .bl-sg__inputs label { display: flex; align-items: center; gap: 7px; flex: 1; font-size: 12.5px; }
  .bl-sg__inputs input { width: 100%; height: 38px; border: 1px solid var(--bl-stone, #ABA39A); border-radius: var(--bl-radius, 2px); background: #FBF8F2; padding: 0 10px; font-size: 13px; }
  .bl-sg__chiprow { display: flex; gap: 8px; flex-wrap: wrap; }
  .bl-sg__chiprow button { border: 1px solid var(--bl-stone, #ABA39A); border-radius: var(--bl-radius, 2px); background: none; cursor: pointer; font-size: 12.5px; padding: 9px 14px; }
  .bl-sg__chiprow button.is-active { background: var(--bl-forest, #1F3A2A); color: var(--bl-cream, #F6F1E7); border-color: var(--bl-forest, #1F3A2A); }
  .bl-sg__find { width: 100%; min-height: 46px; margin-top: 6px; background: var(--bl-forest, #1F3A2A); color: var(--bl-cream, #F6F1E7); border: 0; border-radius: var(--bl-radius, 2px); cursor: pointer; font-family: var(--font-accent--family); font-size: 12.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
  .bl-sg__find:hover { background: var(--bl-pine, #2D513B); }
  .bl-sg__guidance { margin: 1px 0 8px; font-size: 11px; line-height: 1.45; opacity: 0.76; }
  .bl-sg__result { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 18px; margin: 12px 0 0; padding: 15px 16px; border: 1px solid rgba(31, 58, 42, 0.34); border-left: 4px solid var(--bl-forest, #1F3A2A); background: rgba(31, 58, 42, 0.08); color: var(--bl-charcoal, #222); }
  .bl-sg__result[hidden] { display: none; }
  .bl-sg__result:focus { outline: 2px solid var(--bl-forest, #1F3A2A); outline-offset: 2px; }
  .bl-sg__result-kicker { color: var(--bl-forest, #1F3A2A); font-size: 12px; font-weight: 800; letter-spacing: 0.08em; line-height: 1.25; text-transform: uppercase; }
  .bl-sg__result-size { grid-column: 2; grid-row: 1 / span 2; color: var(--bl-forest, #1F3A2A); font-family: var(--bl-display, serif); font-size: clamp(34px, 5vw, 48px); line-height: 1; }
  .bl-sg__result-note { font-size: 13px; line-height: 1.45; }
  .bl-sg__result.is-error { display: block; color: #7A2619; border-color: rgba(122, 38, 25, 0.38); border-left-color: #8B2F20; background: rgba(139, 47, 32, 0.08); font-size: 13.5px; line-height: 1.45; }
  @media (max-width: 480px) {
    .bl-sg__result { grid-template-columns: 1fr auto; gap: 5px 12px; padding: 13px 14px; }
    .bl-sg__result-size { font-size: 38px; }
  }
  .bl-sg__tip { margin-top: 16px; background: var(--bl-sand, #E9DFC6); border-radius: var(--bl-radius, 2px); display: flex; gap: 14px; align-items: center; padding: 14px 16px; }
  .bl-sg__tip img { width: 62px; height: auto; mix-blend-mode: multiply; flex: none; }
  .bl-sg__tip strong { display: block; font-size: 13px; margin-bottom: 3px; }
  .bl-sg__tip span { font-size: 12px; line-height: 1.5; }
  .bl-sg__tablehead { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
  .bl-sg__tablehead .bl-sg__label { margin: 0; }
  .bl-sg__table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
  .bl-sg__table th, .bl-sg__table td { border: 1px solid var(--bl-stone, #ABA39A); padding: 8px 10px; text-align: center; }
  .bl-sg__table th { font-weight: 700; background: #FBF8F2; }
  .bl-sg__table th em { font-style: normal; font-weight: 400; font-size: 10.5px; opacity: 0.7; }
  .bl-sg__table tbody tr:nth-child(even) { background: var(--bl-sand, #E9DFC6); }
  .bl-sg__caption { font-size: 11px; opacity: 0.7; margin: 8px 0 0; }
  .bl-sg__ourfit { margin-top: 18px; background: #FBF8F2; border: 1px solid var(--bl-stone, #ABA39A); border-radius: var(--bl-radius, 2px); padding: 16px 18px; }
  .bl-sg__ourfit-grid { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center; }
  .bl-sg__ourfit-grid img { width: 150px; height: auto; }
  .bl-sg__ourfit-grid ul { list-style: none; margin: 0; padding: 0; }
  .bl-sg__ourfit-grid li { display: flex; gap: 10px; align-items: flex-start; font-size: 11.5px; line-height: 1.45; margin-bottom: 10px; }
  .bl-sg__ourfit-grid li svg { width: 26px; height: 26px; flex: none; color: var(--bl-forest, #1F3A2A); }
  .bl-sg__steps { font-size: 13px; line-height: 1.7; padding-left: 20px; }
  .bl-sg__steps li { margin-bottom: 10px; }
  .bl-sg__quote { display: flex; align-items: center; gap: 16px; background: var(--bl-sand, #E9DFC6); margin: 24px -36px 0; padding: 12px 36px; font-family: var(--font-subheading--family); font-style: italic; font-size: 13px; }
  .bl-sg__quote img { width: 52px; height: auto; mix-blend-mode: multiply; flex: none; }
  @media (max-width: 749px) {
    .bl-sg__inner { padding: 24px 18px 0; }
    .bl-sg__grid { grid-template-columns: 1fr; }
    .bl-sg__tabs { gap: 10px; }
    .bl-sg__tabs [role="tab"] { flex: 1; font-size: 12.5px; }
    .bl-sg__table th, .bl-sg__table td { padding: 7px 5px; }
    .bl-sg__quote { margin-inline: -18px; padding-inline: 18px; }
  }
  @media (max-width: 430px) {
    .bl-sg { width: calc(100vw - 24px); }
    .bl-sg__table { font-size: 10.75px; }
    .bl-sg__table th em { font-size: 9.5px; }
  }
/* END_SNIPPET:bl-size-guide */
/* START_SNIPPET:cart-bubble (INDEX:242) */
.cart-bubble {
    --cart-padding: 0.2em;

    position: relative;
    width: 20px;
    aspect-ratio: 1;
    border-radius: 50%;
    border-width: 0;
    display: flex;
    line-height: normal;
    align-items: center;
    justify-content: center;
    color: var(--cart-bubble-text, var(--cart-bubble-text-fallback));
    padding-inline: var(--cart-padding);
  }

  .cart-bubble[data-maintain-ratio] {
    aspect-ratio: 1;
  }

  .cart-bubble[data-maintain-ratio] .cart-bubble__background {
    border-radius: var(--style-border-radius-50);
  }

  .cart-bubble__background {
    position: absolute;
    inset: 0;
    background-color: var(--cart-bubble-background, var(--cart-bubble-background-fallback));
    border-radius: var(--style-border-radius-lg);
  }

  .cart-bubble__text {
    font-size: var(--font-size--3xs);
    z-index: var(--layer-flat);
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }
/* END_SNIPPET:cart-bubble */
/* START_SNIPPET:cart-drawer (INDEX:244) */
cart-drawer-component {
    --cart-drawer-padding: var(--theme-drawer-padding);
    --font-paragraph--line-height: 1;
    display: contents;
  }

  .cart-drawer__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
  }

  .cart-drawer__inner > .cart-items-component {
    flex: 1;
    min-height: 0;
    height: auto;
  }

  .cart-drawer__content {
    height: calc(100% - var(--header-height));
    display: flex;
    flex-direction: column;
    padding: 0;
    background-color: var(--color-background);
    flex-grow: 1;
    overflow-y: auto;
  }

  .cart-drawer__items {
    display: flex;
    flex-direction: column;
    padding-inline: var(--cart-drawer-padding);
    overflow-y: auto;
  }

  .cart-drawer__items .cart-items__table-row {
    padding-bottom: var(--gap-xl);
    border-bottom: var(--style-border-width) solid rgb(var(--color-foreground-rgb) / var(--opacity-10-25));
    margin-bottom: var(--gap-xl);
  }

  .cart-drawer__items .cart-items__table-row:has(+ .cart-items__nested-line) {
    border-bottom: none;
    margin-bottom: 0;
  }

  .cart-drawer__items .cart-items__table-row:last-child {
    border-bottom: none;
    padding-block-end: 0;
    margin-block-end: 0;
  }

  .cart-drawer__close-button--empty {
    margin-inline-start: auto;
  }

  .cart-drawer__summary {
    --cart-drawer-summary-padding: var(--padding-lg);

    position: sticky;
    bottom: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap-xl);
    padding: var(--cart-drawer-summary-padding);
    margin-top: auto;
    background-color: var(--color-background);
    /* stylelint-disable-next-line color-named */
    mask-image: linear-gradient(to bottom, transparent, black var(--cart-drawer-summary-padding));

    @media screen and (min-width: 750px) {
      --cart-drawer-summary-padding: var(--padding-2xl);
    }
  }

  .theme-drawer__dialog[cart-summary-sticky='false'] .cart-drawer__summary {
    position: static;
    mask-image: none;
  }

  .theme-drawer__dialog[cart-summary-sticky='false'] .cart-drawer__items {
    overflow: unset;
  }

  .cart-actions summary {
    padding-inline: 0;
    padding-block: var(--padding-sm);
    line-height: 1.2;
    min-height: var(--minimum-touch-target);
  }

  .cart-drawer__summary .cart__summary-totals:not(:has(.cart__subtotal-container:empty)) {
    border-block-start: var(--style-border-width) solid rgb(var(--color-foreground-rgb) / var(--opacity-10-25));
    padding-block-start: var(--padding-2xl);
  }

  .cart-drawer__summary .cart-note {
    @media screen and (min-width: 750px) {
      margin-block-start: var(--margin-3xs);
    }
  }

  .cart-drawer--empty .cart-drawer__content {
    text-align: center;
    align-items: center;
    justify-content: center;
    min-height: auto;
  }

  .cart-drawer--empty .cart-drawer__items {
    padding-inline: 0;
  }

  cart-drawer-component:not(:has(.cart-form)) .cart-drawer__content {
    text-align: center;
    align-items: center;
    justify-content: center;
  }

  cart-drawer-component:not(:has(.cart-form)) .cart-drawer__items {
    padding-inline: 0;
  }

  @media screen and (prefers-reduced-motion: no-preference) {
    html:active-view-transition-type(empty-cart-drawer) {
      .theme-drawer__close-button {
        view-transition-name: cart-drawer-close-button;
      }
    }
  }

  :active-view-transition {
    .cart-drawer__header,
    .cart-drawer__content {
      background: transparent;
    }
  }
/* END_SNIPPET:cart-drawer */
/* START_SNIPPET:chat-drawer (INDEX:249) */
/* Pin the chat's mobile/desktop boundary so the theme and the chat agree
     on where standalone mode kicks in. Must stay in sync with the @media
     query below — @shopify/storefront-components reads this value once at
     init and uses it to decide when to force standalone mode. */
  shopify-chat {
    --shopify-chat-breakpoint: 768px;
  }

  shopify-chat[mode='managed'] {
    position: static;
    height: 100%;
  }

  .theme-drawer__dialog:has(shopify-chat[mode='standalone'][open]) {
    z-index: calc(var(--layer-menu-drawer) + 1);
  }

  /* Keep the panel rendered while closed so <shopify-chat>'s position-fixed
     "Ask anything" launcher stays visible. */
  .theme-drawer__dialog.chat-drawer:has(shopify-chat:defined) {
    display: flex;
  }
/* END_SNIPPET:chat-drawer */
/* START_SNIPPET:header-actions (INDEX:272) */
.header {
    --account-offset-top: calc(
      var(--header-group-height) + (var(--header-height) * var(--transparent-header-offset-boolean))
    );

    &[data-sticky-state='active'] {
      --account-offset-top: calc(var(--header-height) - 1px);
    }
  }

  .account-button {
    /* Remove the background color from the color scheme, we want to inherit the color of the header */
    background: transparent;
  }

  .account-button__icon,
  .account-button__text {
    color: var(--color-account-icon);
    transition: color var(--header-content-transition-timing);
    -webkit-font-smoothing: antialiased;
  }

  shopify-account {
    --shopify-account-font-heading: var(--font-heading--family);
    --shopify-account-font-heading-weight: var(--font-heading--weight);
    --shopify-account-font-body: var(--font-body--family);
    --shopify-account-font-body-weight: var(--font-body--weight);
    --shopify-account-radius-base: var(--style-border-radius-popover);
    --shopify-account-radius-button: var(--style-border-radius-buttons-primary);
    --shopify-account-radius-button-small: var(--style-border-radius-buttons-primary);
    --shopify-account-radius-input: var(--style-border-radius-buttons-primary);
    --shopify-account-color-background: var(--color-background);
    --shopify-account-color-text: var(--color-foreground);
    --shopify-account-color-accent: var(--color-primary-button-background);
    --shopify-account-color-accent-text: var(--color-primary-button-text);
    --shopify-account-dialog-position-top: var(--account-offset-top);

    &:not(:defined) {
      min-width: 44px;
      height: 44px;
      display: flex;
      justify-content: center;
      align-items: center;
      /* Match the line height of the other buttons */
      line-height: normal;
    }
  }

  .account-button__fallback {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: var(--shopify-account-color-accent, #0a142f);
  }

  .account-button--text shopify-account {
    color: inherit;
  }

  .cart-actions summary {
    padding-inline: 0;
    padding-block: var(--padding-sm);
    line-height: 1.2;
    min-height: var(--minimum-touch-target);
  }

  header-actions {
    display: flex;

    @media screen and (max-width: 749px) {
      justify-self: flex-end;
    }
  }

  @media screen and (min-width: 750px) {
    .header-actions--text {
      gap: var(--gap-xl);
    }

    .header-actions__text-style {
      font-size: var(--header-actions-font-size);
      font-family: var(--header-actions-font-family);
      font-weight: var(--header-actions-font-weight);
      text-transform: var(--header-actions-text-case);
    }
  }

  #header-component[data-menu-style='drawer'] header-actions {
    justify-self: flex-end;
  }

  .header__column--right header-actions {
    margin-inline-start: calc(var(--gap-md) * -1);
  }

  .header-actions__cart-icon {
    --cart-bubble-size: 20px;
    --cart-bubble-top: 4.5px;
    --cart-bubble-right: 2.5px;

    position: relative;
  }

  .header-actions__cart-icon .cart-bubble {
    position: absolute;
    width: var(--cart-bubble-size, 20px);
    top: var(--cart-bubble-top);
    right: var(--cart-bubble-right);
  }

  @media screen and (min-width: 750px) {
    .header-actions__cart-icon--text.header-actions__cart-icon .cart-bubble {
      position: relative;
      top: 0;
    }
  }

  .header-actions__cart-icon .cart-bubble__text {
    font-family: var(--font-paragraph--family);
    font-weight: var(--font-paragraph--weight);
  }

  .header-actions__cart-icon.header-actions__cart-icon--has-cart svg {
    /* Create donut mask where the cart bubble sits */
    mask: radial-gradient(
      calc(var(--cart-bubble-size) + 2px) at calc(100% - var(--cart-bubble-right)) var(--cart-bubble-top),
      transparent 45.45%,
      #fff 45.45%,
      #fff 100%
    );
  }

  .cart-bubble.cart-bubble--animating .cart-bubble__background {
    animation: grow var(--animation-speed) var(--animation-easing);
  }

  .cart-bubble--animating .cart-bubble__text {
    --start-y: -1em;
    --start-opacity: 1;
    /* Set initial transform state before animation starts */
    transform: translate(0, var(--start-y, -1em));
    opacity: var(--start-opacity, 1);
    animation: move-and-fade var(--animation-speed) var(--animation-easing);
  }

  cart-icon:has(.cart-bubble__text-count:empty) {
    --cart-bubble-size: 10px;
    --cart-bubble-top: 9px;
    --cart-bubble-right: 9px;

    .svg-wrapper {
      --cart-bubble-top: 4px;
      --cart-bubble-right: 4px;
    }
  }

  @media screen and (min-width: 750px) {
    cart-icon.header-actions__cart-icon--text:has(.cart-bubble__text-count:empty) {
      --cart-bubble-right: 2.5px;
    }
  }

  .header-actions__text {
    display: flex;
    align-items: center;
  }

  @media screen and (min-width: 750px) {
    .header-actions__cart-icon--text {
      display: flex;
      align-items: center;
      gap: var(--gap-xs);
    }

    .header__column--right .header-actions--text {
      margin-inline-start: 0;
    }
  }
/* END_SNIPPET:header-actions */
/* START_SNIPPET:header-drawer (INDEX:273) */
.header__icon--menu {
    position: initial;
  }

  .menu-drawer-container .header__icon--summary {
    color: var(--color-foreground);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: var(--padding-lg);
  }

  .header__icon--summary .header-drawer-icon {
    margin: auto;
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .menu-drawer__featured-content {
    z-index: var(--layer-base);
    container-type: inline-size;
  }

  .menu-drawer__featured-content--childlist {
    z-index: var(--layer-flat);
  }

  .menu-drawer__featured-content-list {
    display: flex;
    gap: 1em;
    overflow-x: auto;
    padding-block-end: var(--padding-lg);
  }

  .menu-drawer__featured-content-list-item {
    flex: 0 0 auto;
  }

  .menu-drawer__featured-content-list-item--product {
    width: 35cqi;
  }

  .menu-drawer__featured-content-list-item--collection img.resource-card__image {
    width: 80cqi;
  }

  .menu-drawer__featured-content-list-item:first-child {
    margin-inline-start: var(--margin-xl);
  }

  .menu-drawer__featured-content-list-item:last-child {
    margin-inline-end: var(--margin-xl);
  }

  .menu-drawer__navigation {
    padding: 0;

    @media screen and (min-width: 750px) {
      margin-top: var(--drawer-header-desktop-top);
    }
  }

  details:not(.menu-open) .header__icon--menu .header-drawer-icon--close {
    display: none;
  }

  details.menu-open .header__icon--menu .header-drawer-icon--close {
    @media screen and (min-width: 750px) {
      display: none;
    }
  }

  details.menu-open .header__icon--menu .header-drawer-icon--open {
    display: none;

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

  .menu-drawer {
    position: fixed;
    transform: translateX(-100%);
    visibility: hidden;
    height: var(--drawer-height);
    width: var(--drawer-width);
    max-width: var(--drawer-max-width);
    z-index: var(--layer-menu-drawer);
    left: 0;
    top: 0;
    padding: 0;
    background-color: var(--color-background);
    overflow: auto;
    display: flex;
    border-right: var(--style-border-drawer);
    flex-direction: column;

    @media screen and (min-width: 750px) {
      width: 25rem;
    }
  }

  /* When opening a submenu we don't want the first-level menu to be scrollable, so we reset the overflow  */
  .menu-drawer.menu-drawer--has-submenu-opened {
    overflow: initial;
  }

  .menu-drawer__backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100dvh;
    backdrop-filter: brightness(0.75);
    z-index: var(--layer-overlay);
    opacity: 0;
    transition: opacity var(--drawer-animation-speed) ease;

    .menu-open & {
      opacity: 1;
    }
  }

  .menu-drawer,
  details[open] > .menu-drawer__submenu {
    transition: transform var(--drawer-animation-speed) ease, visibility var(--drawer-animation-speed) ease,
      opacity var(--drawer-animation-speed) ease;
  }

  .menu-open > .menu-drawer,
  .menu-open > .menu-drawer__submenu:not(.menu-drawer__menu--childlist) {
    transform: translateX(0);
    visibility: visible;
    opacity: 1;
    display: flex;
    flex-direction: column;
  }

  .menu-drawer__inner-container {
    position: relative;
    height: 100%;
  }

  .menu-drawer__navigation-container {
    display: grid;
    grid-template-rows: 1fr auto;
    align-content: space-between;
    overflow-y: auto;
    height: 100%;
  }

  .menu-drawer__inner-submenu {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow-y: auto;

    @media screen and (min-width: 750px) {
      margin-top: var(--drawer-header-desktop-top);
    }
  }

  .menu-drawer__nav-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .menu-drawer__menu {
    --menu-drawer-inline-padding: calc(var(--padding-sm) + 7px);

    list-style: none;
    padding-inline: var(--drawer-padding);
    margin-inline: 0;
    margin-block-start: 0;
  }

  .menu-drawer__menu--grid {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr 1fr;
    gap: var(--padding-sm);
    padding-inline-end: var(--menu-drawer-inline-padding);
    padding-block-start: var(--padding-xs);
  }

  .menu-drawer__menu--childlist:not(.menu-drawer__menu--grid) {
    flex-grow: 1;
  }

  .menu-drawer__menu.has-submenu,
  .menu-drawer__menu--childlist:not(:has(.menu-drawer__animated-element)) {
    margin-block-end: var(--margin-xs);

    @media screen and (min-width: 750px) {
      margin-block-end: 2.5rem;
    }
  }

  .menu-drawer__list-item--divider {
    border-block-end: 1px solid var(--color-border);
  }

  .menu-drawer__list-item--deep:not(.menu-drawer__list-item--divider) .menu-drawer__menu {
    margin-block-start: -0.3rem;
  }

  .menu-drawer__list-item--flat.menu-drawer__list-item--divider .menu-drawer__menu {
    margin-block-start: -0.4rem;
  }

  .menu-drawer__menu-container--divider {
    border-block-end: 1px solid var(--color-border);
  }

  .menu-drawer__menu > .menu-drawer__list-item {
    display: flex;
    min-height: calc(2 * var(--padding-lg) + var(--icon-size-xs));
  }

  .menu-drawer__list-item--deep .menu-drawer__list-item,
  .menu-drawer__list-item--flat .menu-drawer__list-item {
    min-height: auto;
  }

  .menu-drawer__menu .menu-drawer__list-item--flat {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-block-end: var(--margin-md);
  }

  .menu-drawer__menu--childlist .menu-drawer__list-item--flat {
    margin-block-end: var(--margin-sm);

    @media screen and (min-width: 750px) {
      margin-block-end: var(--margin-lg);
    }
  }

  .menu-drawer__menu--childlist .menu-drawer__list-item--flat.menu-drawer__list-item--divider {
    margin-block-end: 0;
  }

  .menu-drawer__list-item--flat .menu-drawer__menu--childlist {
    width: 100%;
    padding-inline: 0;
  }

  .menu-drawer-container[open] .menu-drawer__animated-element {
    animation: menu-drawer-nav-open var(--drawer-animation-speed) ease-in-out;
    animation-delay: calc(var(--drawer-animation-speed) + (var(--menu-drawer-animation-index) - 1) * 0.1s);
    animation-fill-mode: backwards;
  }

  .menu-drawer__menu accordion-custom .details-content--no-animation {
    animation: none;
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
    transition: none;
  }

  .menu-drawer__menu details,
  .menu-drawer__menu-item,
  .menu-drawer__menu accordion-custom {
    width: 100%;
  }

  .menu-drawer__list-item--divider .menu-drawer__menu-item:not(.menu-drawer__menu-item--child) {
    min-height: calc(2 * var(--padding-lg) + var(--icon-size-xs));
  }

  .menu-drawer__menu-item--mainlist {
    min-height: calc(2 * var(--padding-lg) + var(--icon-size-xs));
    font-family: var(--menu-top-level-font-family);
    font-style: var(--menu-top-level-font-style);
    font-weight: var(--menu-top-level-font-weight);
    font-size: var(--menu-top-level-font-size);
    line-height: var(--menu-top-level-font-line-height);
    text-transform: var(--menu-top-level-font-case);
    color: var(--menu-top-level-font-color);
    justify-content: space-between;

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

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

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

  .menu-drawer__menu-item--child {
    font-family: var(--menu-child-font-family);
    font-style: var(--menu-child-font-style);
    font-weight: var(--menu-child-font-weight);
    font-size: var(--menu-child-font-size);
    line-height: var(--menu-child-font-line-height);
    text-transform: var(--menu-child-font-case);
    color: var(--menu-child-font-color);

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

  .menu-drawer__menu--childlist summary.menu-drawer__menu-item {
    display: flex;
    width: 100%;
    padding-inline-end: 0;
  }

  .menu-drawer__list-item--deep .menu-drawer__menu,
  .menu-drawer__menu--grandchildlist {
    padding-inline: 0;
  }

  .menu-drawer__list-item--deep .menu-drawer__menu {
    padding-block-end: 0.5rem;
  }

  .menu-drawer__list-item--deep.menu-drawer__list-item--divider .menu-drawer__menu {
    padding-block-end: 0.3rem;
  }

  .menu-drawer__list-item--flat.menu-drawer__list-item--divider .menu-drawer__menu--grandchildlist {
    padding-block-end: 0.5rem;
  }

  .menu-drawer__menu-item {
    display: flex;
    padding: var(--padding-2xs) 0;
    position: relative;
    text-decoration: none;
    justify-content: space-between;
    align-items: center;
  }

  .menu-drawer__menu-item:has(> .menu-drawer__link-image) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    row-gap: var(--padding-3xs);
    padding: 0;
  }

  .menu-drawer__link-image {
    width: 100%;
    position: relative;
    aspect-ratio: 16 / 9;
    object-fit: cover;
  }

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

  /* Target menu items in grids that have images */
  .menu-drawer__menu--grid:has(.menu-drawer__link-image) .menu-drawer__menu-item:not(:has(> .menu-drawer__link-image)) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    row-gap: var(--padding-3xs);
    padding: 0;
  }

  .menu-drawer__menu--grid:has(.menu-drawer__link-image)
    .menu-drawer__menu-item:not(:has(> .menu-drawer__link-image))::before {
    content: '';
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: var(--color-foreground-muted);
    opacity: 0.1;
    border-radius: var(--menu-image-border-radius);
  }

  .menu-drawer__close-button {
    position: relative;
    right: auto;
    top: auto;
    width: fit-content;
    height: fit-content;
    color: inherit;
    padding: var(--padding-lg);
  }

  .menu-drawer__back-button {
    display: flex;
    width: 100%;
    padding: var(--padding-md) var(--padding-xl);
    border: none;
    align-items: center;
    color: var(--color-foreground);
    background-color: transparent;
    text-align: left;
    text-decoration: none;
    white-space: nowrap;
    overflow-x: hidden;
    line-height: 1.2;
    box-shadow: none;
  }

  .menu-drawer__close-button.menu-drawer__close-button,
  .menu-drawer__back-button.menu-drawer__back-button {
    outline-color: var(--color-foreground-subdued);
  }

  .menu-drawer__menu-item-text {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /** Styles when the country selector is hidden */
  .menu-drawer .language-selector:not(.menu-drawer__submenu *) {
    width: fit-content;
    padding-inline-start: 0;

    .localization-form__select {
      text-align: left;
    }
  }

  .menu-drawer__menu-item > .svg-wrapper {
    width: fit-content;
    height: fit-content;
    margin: 0;
    padding-block: var(--padding-lg);
    padding-inline-start: var(--padding-xl);
    flex-shrink: 0;
  }

  .menu-drawer__list-item--divider .menu-drawer__menu-item > .svg-wrapper {
    padding-block: var(--padding-md);
  }

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

  .menu-drawer__submenu {
    position: absolute;
    width: 100%;
    top: 0;
    height: 100dvh;
    left: 0;
    background-color: var(--color-background);
    z-index: var(--layer-flat);
    transform: translateX(-5%);
    visibility: hidden;
    overflow-y: auto;
    opacity: 0;
  }

  .menu-drawer__back-button > .svg-wrapper {
    margin-right: var(--padding-md);
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .menu-drawer__utility-links {
    display: flex;
    flex-direction: column;
    padding: 0;
    margin-block: auto var(--padding-sm);
    margin-inline-start: var(--padding-xl);
  }

  .menu-drawer__account {
    display: inline-flex;
    align-items: center;
    gap: var(--gap-xs);
    text-decoration: none;
    height: 44px;
    font-size: 1.4rem;
    color: rgb(var(--color-foreground));
  }

  .menu-drawer__account svg {
    height: var(--icon-size-sm);
    width: var(--icon-size-sm);
  }

  .menu-drawer__account shop-user-avatar {
    --shop-avatar-size: 2.4rem;

    margin-right: 0.55rem;
    margin-left: -0.45rem;
  }

  .menu-drawer__link-image,
  .menu-drawer__featured-product-image,
  .menu-drawer__featured-collection-image,
  .menu-drawer__featured-collection-link::before {
    border-radius: var(--menu-image-border-radius);
  }

  @keyframes menu-drawer-nav-open {
    0% {
      visibility: hidden;
      opacity: 0;
      transform: translateX(-0.5rem);
    }

    100% {
      visibility: visible;
      opacity: 1;
      transform: translateX(0);
    }
  }

  @keyframes menu-drawer-subnav-open {
    0% {
      visibility: visible;
      opacity: 1;
      transform: translateX(0);
    }

    100% {
      visibility: hidden;
      opacity: 0;
      transform: translateX(-1rem);
    }
  }

  /* Drawer Localization Styles */
  .drawer-localization__button .icon-flag {
    width: var(--menu-localization-font-size, var(--icon-size-sm));
    height: var(--menu-localization-font-size, var(--icon-size-sm));
    clip-path: circle(50%); /* stylelint-disable-line */
    background-position: center;
    background-size: cover;
    margin-inline-end: 4px;
    position: relative;
  }

  .drawer-localization__button .icon-flag::after {
    content: '';
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 var(--size-shadow) var(--color-shadow);
    border-radius: 50%;
  }

  .drawer-localization .country-filter {
    padding-block: 8px;
  }

  .drawer-localization .drawer-localization__button {
    display: flex;
    padding: 0;
    position: relative;
    text-decoration: none;
    height: 44px;

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

  .drawer-localization .drawer-localization__button .icon-caret {
    width: fit-content;
    height: fit-content;
    margin: 0;
    padding: var(--padding-xl) var(--padding-xl) var(--padding-xl) var(--padding-xs);
  }

  .menu-drawer__localization:not(drawer-localization-component) .language-selector {
    font-family: var(--menu-localization-font);
    font-size: var(--menu-localization-font-size);
  }

  .menu-drawer__localization .language-selector.h5 {
    padding-inline-start: 0;
  }

  .drawer-localization {
    display: contents;
    color: var(--color-foreground);
  }

  .drawer-localization localization-form-component {
    position: relative;
    height: 100%;
  }

  .drawer-localization .mobile-localization,
  .drawer-localization .drawer-localization__button--label {
    display: flex;
    gap: var(--gap-xs);
    margin-block: 0;
    align-items: center;
  }

  .drawer-localization__button--label.h6 {
    font-family: var(--menu-localization-font);
  }

  .drawer-localization img {
    width: var(--icon-size-sm);
  }

  .drawer-localization .localization-button__icon,
  .drawer-localization .localization-button__icon svg {
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .drawer-localization summary.is-disabled {
    pointer-events: none;
  }

  .drawer-localization .localization-wrapper {
    width: 100%;
  }

  .drawer-localization .localization-form {
    display: flex;
    flex-direction: column;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .drawer-localization .localization-form > * {
    padding-inline: var(--padding-xl);
  }

  .drawer-localization .language-selector .svg-wrapper.icon-caret {
    transform: translateY(-50%) rotate(0deg);
    right: 20px;
  }

  .drawer-localization .language-selector .svg-wrapper.icon-caret svg {
    transform: none;
  }
/* END_SNIPPET:header-drawer */
/* START_SNIPPET:payment-terms-styles (INDEX:292) */
form.payment-terms {
    padding-top: 0.5em;
    font-size: min(0.85em, var(--font-paragraph--size));
    font-weight: var(--font-paragraph--weight);
    color: var(--color, rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)));
  }

  .installments:not(:has(shopify-payment-terms)) {
    display: none;
  }
/* END_SNIPPET:payment-terms-styles */
/* START_SNIPPET:product-media-container-styles (INDEX:306) */
:where(:not(.dialog-zoomed-gallery)) > .product-media-container {
    --slide-width: 100%;

    display: flex;
    aspect-ratio: var(--gallery-aspect-ratio, var(--media-preview-ratio));
    max-height: var(--constrained-height);
    width: var(--slide-width, 100%);

    /* Relative position needed for video and 3d models */
    position: relative;
    overflow: hidden;

    &:where(.constrain-height) {
      /* arbitrary offset value based on average theme spacing and header height */
      --viewport-offset: 400px;
      --constrained-min-height: 300px;
      --constrained-height: max(var(--constrained-min-height), calc(100vh - var(--viewport-offset)));

      margin-right: auto;
      margin-left: auto;
    }

    @supports (--test: round(up, 100%, 1px)) {
      /* width and overflow forces children to shrink to parent width */
      --slide-width: round(up, 100%, 1px);
    }
  }

  @media screen and (max-width: 749px) {
    .product-media-container.constrain-height {
      max-height: none;
    }
  }

  @media screen and (min-width: 750px) {
    .product-media-container.constrain-height {
      --viewport-offset: var(--header-height, 100px);
      --constrained-min-height: 500px;
    }

    body:has(header-component[transparent]) .product-media-container.constrain-height {
      --viewport-offset: 0px;
    }
  }

  .product-media-container img {
    aspect-ratio: inherit;
    object-fit: contain;
  }

  .product-media-container.media-fit-contain img {
    object-position: center center;
  }

  .product-media-container.media-fit {
    --product-media-fit: cover;

    img {
      object-fit: var(--product-media-fit);
    }
  }
/* END_SNIPPET:product-media-container-styles */
/* START_SNIPPET:product-media-gallery-content-styles (INDEX:307) */
/* Product Media */
  media-gallery {
    display: block;
    width: 100%;
  }

  :where(media-gallery, .product-grid__item) {
    .media-gallery__grid {
      grid-template-columns: 1fr;
      gap: var(--image-gap);
    }
  }

  @media screen and (min-width: 750px) {
    .media-gallery--large-first-image .product-media-container:first-child,
    .media-gallery--two-column .product-media-container:only-child {
      /* First child spans 2 columns */
      grid-column: span 2;
    }
  }

  media-gallery:where(.media-gallery--grid) .media-gallery__grid {
    display: none;
  }

  media-gallery.media-gallery--grid .media-gallery__grid .product-media-container {
    /* Needed for safari to stretch to full grid height */
    height: 100%;
  }

  @media screen and (min-width: 750px) {
    .media-gallery--two-column .media-gallery__grid {
      grid-template-columns: repeat(2, 1fr);
    }

    /* Display grid view as a carousel on mobile, grid on desktop */
    media-gallery:is(.media-gallery--grid) slideshow-component {
      display: none;
    }

    media-gallery:where(.media-gallery--grid) .media-gallery__grid {
      display: grid;
    }
  }

  zoom-dialog dialog {
    width: 100vw;
    height: 100vh;
    border: none;
    margin: 0;
    padding: 0;
    max-width: 100%;
    max-height: 100%;
    background: #fff;
    opacity: 0;
    transition: opacity var(--animation-speed) var(--animation-easing);
    scrollbar-width: none;

    &[open] {
      opacity: 1;
    }

    @media (prefers-reduced-motion: no-preference) {
      scroll-behavior: smooth;
    }

    &::backdrop {
      background: transparent;
    }
  }

  .product-media-container__zoom-button {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: var(--layer-flat);
    cursor: zoom-in;
    background-color: transparent;

    &:hover {
      background-color: transparent;
    }
  }

  slideshow-slide.product-media-container--tallest {
    content-visibility: visible;
  }

  .product-media__drag-zoom-wrapper {
    aspect-ratio: inherit;
    min-height: inherit;
    min-width: inherit;
    display: inherit;
    flex: inherit;
  }

  .media-gallery__mobile-controls {
    grid-area: auto;
  }

  .product-media-container--zoomable.product-media-container--image {
    cursor: zoom-in;
  }
/* END_SNIPPET:product-media-gallery-content-styles */
/* START_SNIPPET:quick-add-modal-styles (INDEX:313) */
#quick-add-dialog {
    display: contents;
  }

  /* Inputs inside the quick-add modal use the global Input Fields settings,
     not any per-block overrides set on the product page. */
  .quick-add-modal .quantity-selector-wrapper {
    --color-input-background: inherit;
    --color-input-text: inherit;
    --color-input-text-rgb: inherit;
    --color-input-border: inherit;
    --style-border-width-inputs: inherit;
    --style-border-radius-inputs: inherit;
    --style-border-radius-buttons-primary: var(--style-border-radius-inputs);
    --style-border-radius-buttons-secondary: var(--style-border-radius-inputs);
  }

  .quick-add-modal .product-details .quantity-selector {
    border-radius: var(--style-border-radius-inputs);
  }

  @media screen and (min-width: 750px) {
    .quick-add-modal {
      width: var(--quick-add-modal-width);
      height: var(--quick-add-modal-height);
      max-width: none;
    }
  }

  .quick-add-modal {
    padding: 0;
    border: var(--style-border-popover);
    overflow: hidden;
    box-shadow: 0 5px 30px rgb(0 0 0 / var(--opacity-15));

    @media screen and (max-width: 749px) {
      position: fixed;
      margin: auto 0 0 0;
      min-height: unset;
      max-width: 100%;
      border-radius: 0;
      overflow: clip;
      height: fit-content;
    }
  }

  .quick-add-modal[open] {
    @media screen and (max-width: 750px) {
      border-top-left-radius: var(--style-border-radius-popover);
      border-top-right-radius: var(--style-border-radius-popover);
    }
  }

  .quick-add-modal[open] {
    @media screen and (min-width: 750px) {
      display: flex;
    }
  }

  .quick-add-modal .view-more-details__wrapper {
    @media screen and (max-width: 749px) {
      display: none;
    }
  }

  .quick-add-modal[open] {
    animation: modalSlideInTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .quick-add-modal.dialog-closing {
    animation: modalSlideOutTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .quick-add-modal__close {
    position: absolute;
    top: var(--margin-2xs);
    right: var(--margin-2xs);
    transition: transform 0.15s var(--animation-timing-bounce);
    z-index: var(--layer-raised);
    overflow: visible;
    transform-origin: center;
  }

  .quick-add-modal__close:active {
    transform: scale(0.99) translateY(1px);
  }

  .quick-add-modal__close {
    &:focus-visible {
      outline: none;
    }

    &:focus-visible::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: calc(var(--style-border-radius-popover) - var(--margin-2xs));
      outline: var(--focus-outline-width) solid currentColor;
    }
  }

  .quick-add-modal__content {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: 100% 1fr;
    position: relative;
    overflow-y: auto;
    max-height: 100vh;
    flex-grow: 1;

    @media screen and (max-width: 749px) {
      grid-template-columns: repeat(4, 1fr);
      grid-template-rows: auto;
      padding-inline: var(--padding-xl);
      padding-block: var(--padding-xl);
      gap: var(--gap-lg);
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      height: auto; /* Prevent a bug in Safari where height:fit-content is not respected */
      max-height: 100vh;
    }
  }

  .quick-add-modal__content .media-gallery--grid .media-gallery__grid {
    grid-template-columns: 1fr;
  }

  .quick-add-modal__content .media-gallery--grid.media-gallery--two-column .product-media-container:first-child {
    grid-column: auto;
  }

  .quick-add-modal__content {
    /* One column */
    .media-gallery--grid:not(.media-gallery--two-column) .product-media > *,
      /* Two column, small first image */
      .media-gallery--grid.media-gallery--two-column:not(.media-gallery--large-first-image)
      .product-media-container:nth-of-type(odd)
      .product-media > *,
      /* Two column, large first image */
      .media-gallery--grid.media-gallery--two-column.media-gallery--large-first-image
        .product-media-container:is(:first-of-type, :nth-of-type(even))
        .product-media > *,
        /* Carousel */
      .media-gallery--carousel slideshow-container {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }
  }

  .quick-add-modal__content .view-more-details__wrapper {
    display: flex;
    justify-content: flex-start;
    width: 100%;
  }

  .view-more-details__wrapper .view-more-details {
    display: flex;
    align-items: center;
    width: fit-content;
  }

  .quick-add-modal__content .product-header {
    @media screen and (max-width: 749px) {
      display: flex;
      flex-direction: column;
      grid-column: 2 / -1;
      grid-row: 1;
      padding-right: var(--padding-2xl);
    }
  }

  .quick-add-modal__content .product-header a:not(product-price *) {
    @media screen and (max-width: 749px) {
      font-size: var(--font-size--md);
      font-weight: 500;
      color: inherit;
      width: fit-content;
    }
  }

  .quick-add-modal__content variant-picker,
  .quick-add-modal__content product-form-component {
    @media screen and (max-width: 749px) {
      grid-column: 1 / -1;
    }
  }

  .quick-add-modal__content .product-media-container__zoom-button {
    cursor: default;
  }

  .quick-add-modal__content .product-details {
    grid-column: 4 / -1;
    grid-row: 1 / span 2;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    position: relative;

    dialog[open] & {
      animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
      animation-delay: 0.1s;
    }

    @media screen and (max-width: 749px) {
      grid-column: 2 / span 2;
      grid-row: span 1;
      max-height: 100%;
      height: 100%;
    }
  }

  @property --quick-add-modal-mask-start {
    syntax: '<length>';
    initial-value: 0px;
    inherits: false;
  }

  @property --quick-add-modal-mask-end {
    syntax: '<length>';
    initial-value: 0px;
    inherits: true;
  }

  @keyframes detect-scroll {
    from,
    to {
      --can-scroll: ;
    }
  }

  @supports (animation-timeline: scroll(self)) {
    dialog[open] .quick-add-modal__content .product-details {
      mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--quick-add-modal-mask-start), #000 100%);
      animation: 0.3s var(--animation-timing-fade-in) 0.1s both fadeSlideIn, scrollStart 1s linear both,
        scrollEnd 1s linear both, detect-scroll 1ms linear none;
      animation-timeline: auto, scroll(self), scroll(self), scroll(self);
      animation-range: normal, 0px 48px, calc(100% - 48px) 100%, 0% 100%;
    }
  }

  @keyframes scrollStart {
    from {
      --quick-add-modal-mask-start: 0px;
    }
    to {
      --quick-add-modal-mask-start: 48px;
    }
  }

  @keyframes scrollEnd {
    from {
      --quick-add-modal-mask-end: 0px;
    }
    to {
      --quick-add-modal-mask-end: 48px;
    }
  }

  .quick-add-modal__content .product-details > .group-block {
    flex-grow: 1;
    width: auto;
  }

  .quick-add-modal__content > * {
    min-height: 0;
  }

  .quick-add-modal__content .product-details :is(.view-product-title, .buy-buttons-block) {
    flex: 0 0 auto;
  }
  .quick-add-modal__content .product-details :is(.buy-buttons-block) {
    margin-top: auto;
    position: sticky;
    bottom: 0;
    padding-bottom: var(--padding-3xl);
    background-color: var(--color-background);
    z-index: var(--layer-raised);

    &::before {
      --quick-add-modal-mask-end-progressive-enhanced: 0px;

      position: absolute;
      content: '';
      display: block;
      inset: auto 0 100% 0;
      pointer-events: none;
      height: min(var(--gap-2xl), var(--gap));
      background-color: inherit;
      mask-image: linear-gradient(
        to top,
        #000 0%,
        #000 calc(var(--gap-2xs)),
        transparent calc(100% - var(--quick-add-modal-mask-end-progressive-enhanced)),
        transparent
      );
    }
  }

  .quick-add-modal__content .product-details .buy-buttons-block:has(gift-card-recipient-form) {
    position: static;
    padding-bottom: 0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
  }

  .quick-add-modal__content .product-details .buy-buttons-block:has(gift-card-recipient-form) > product-form-component {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
  }

  .quick-add-modal__content .product-details .buy-buttons-block:has(gift-card-recipient-form) form {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
  }

  .quick-add-modal__content .product-details .buy-buttons-block:has(gift-card-recipient-form)::before {
    display: none;
  }

  .quick-add-modal__content .product-details .buy-buttons-block__bar {
    display: block;
    position: sticky;
    bottom: 0;
    margin-top: auto;
    padding-block: var(--gap-md) var(--padding-3xl);
    background-color: var(--color-background);
    z-index: var(--layer-raised);

    &::before {
      --quick-add-modal-mask-end-progressive-enhanced: 0px;

      position: absolute;
      content: '';
      display: block;
      inset: auto 0 100% 0;
      pointer-events: none;
      height: min(var(--gap-2xl), var(--gap));
      background-color: inherit;
      mask-image: linear-gradient(
        to top,
        #000 0%,
        #000 calc(var(--gap-2xs)),
        transparent calc(100% - var(--quick-add-modal-mask-end-progressive-enhanced)),
        transparent
      );
    }
  }

  @supports (animation-timeline: scroll(self)) {
    .quick-add-modal__content .product-details :is(.buy-buttons-block)::before,
    .quick-add-modal__content .product-details .buy-buttons-block__bar::before {
      --mask-if-scroll: var(--can-scroll) var(--quick-add-modal-mask-end);
      --mask-if-no-scroll: 48px;
      --quick-add-modal-mask-end-progressive-enhanced: var(--mask-if-scroll, var(--mask-if-no-scroll));
      height: calc(var(--gap-2xs) + 48px);
    }
  }

  .quick-add-modal__content .product-details .variant-picker {
    flex: 0 0 auto;

    padding-block: min(var(--gap-2xl), var(--gap));
    margin-block-end: calc(var(--focus-outline-offset) + var(--focus-outline-width));
  }

  .quick-add-modal__content .variant-option--swatches {
    padding-inline-start: var(--padding-2xs);
  }

  .quick-add-modal__content .variant-option--swatches legend {
    margin-inline-start: calc(-1 * var(--padding-2xs));
  }

  .quick-add-modal__content:not(:has(.product-information__media)) .product-details {
    grid-column: 1 / -1;
  }

  .quick-add-modal__content .view-product-title {
    display: flex;
    padding-block: 0;
    margin-block-end: 12px;

    /* Prevent overlap between title and close button */
    padding-inline-end: calc(var(--padding-2xl) + calc(var(--minimum-touch-target) / 2));
  }

  .quick-add-modal__content .view-product-title a {
    color: inherit;
    text-decoration: none;
    text-align: left;
    font-size: var(--font-size--2xl);
    font-weight: 600;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color 0.2s var(--animation-easing);
  }

  .quick-add-modal__content .product-details product-price {
    --text-align: left;
  }

  .quick-add-modal__content .product-details product-price.text-block--align-center {
    margin-inline: 0;
  }

  .quick-add-modal__content .product-details product-price.text-center {
    --text-align: left;
  }

  .quick-add-modal__content .product-details product-price > * {
    text-align: left;
  }

  .quick-add-modal__content
    .product-details
    *:not(
      .group-block,
      .group-block-content,
      .buy-buttons-block,
      .buy-buttons-block *,
      .view-product-title,
      .view-product-title *,
      variant-picker,
      variant-picker *,
      product-price,
      product-price *,
      product-inventory,
      product-inventory *,
      .view-more-details__wrapper,
      .view-more-details__wrapper *
    ) {
    @media screen and (min-width: 750px) {
      /* stylelint-disable-next-line declaration-no-important */
      display: none !important;
    }
  }

  .quick-add-modal__content
    .group-block:not(
      :has(
          .buy-buttons-block,
          .buy-buttons-block *,
          .view-product-title,
          .view-product-title *,
          variant-picker,
          variant-picker *,
          product-price,
          product-price *,
          product-inventory,
          product-inventory *,
          .view-more-details__wrapper,
          .view-more-details__wrapper *
        ),
      .buy-buttons-block
    ) {
    display: none;
  }

  @media screen and (min-width: 750px) {
    .quick-add-modal__content .group-block-content {
      gap: 0;
    }

    .quick-add-modal__content .media-gallery__grid {
      gap: min(var(--gap-2xs), var(--image-gap));
      border-radius: var(--style-border-radius-popover, 0);
    }

    .quick-add-modal__content .media-gallery--grid .product-media img {
      border-radius: 0;
    }
  }

  .quick-add-modal__content .product-details > .group-block {
    padding-block: var(--padding-3xl) 0;
  }

  .quick-add-modal__content :where(.product-details > .group-block > .group-block-content > *) {
    padding-inline: var(--padding-3xl);
  }

  .quick-add-modal__content slideshow-slide:not([aria-hidden='false']) {
    content-visibility: auto;
  }

  .quick-add-modal__content .product-information__media {
    width: 100%;
    grid-column: 1 / span 1;
    grid-row: 1;
    position: relative;
    top: 0;
    animation: fadeIn 0.4s var(--animation-timing-fade-in) both;

    @media screen and (min-width: 750px) {
      position: sticky;
      grid-column: 1 / 4;
      width: var(--quick-add-modal-gallery-width);
      overflow-y: auto;
      -ms-overflow-style: none;
      scrollbar-width: none;
    }

    &::-webkit-scrollbar {
      display: none;
    }
  }

  .quick-add-modal__content .product-information__media media-gallery {
    pointer-events: none;

    @media screen and (min-width: 750px) {
      position: absolute;
      inset: 0;
    }
  }

  .quick-add-modal media-gallery {
    padding: 0;
  }

  .quick-add-modal__content .product-information__media slideshow-arrows {
    display: none;
  }

  .quick-add-modal__content .product-information__media slideshow-container {
    display: block;
  }

  .quick-add-modal__content .product-information__media slideshow-slides {
    display: flex;
    flex-direction: column;
    gap: var(--gap-2xs);
    overflow: visible;
    scroll-snap-type: none;
  }

  .quick-add-modal__content .product-information__media slideshow-slide {
    width: 100%;
    flex: none;
    scroll-snap-align: unset;
    position: relative;
    transform: none;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s var(--animation-easing);
  }

  .quick-add-modal__content .product-information__media slideshow-slide[aria-hidden='true'] {
    @media screen and (max-width: 749px) {
      display: none;
    }
  }

  .quick-add-modal__content .product-information__media slideshow-slide:nth-child(1) {
    animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
  }

  .quick-add-modal__content .product-information__media slideshow-slide:nth-child(2) {
    animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
    animation-delay: 0.05s;
  }

  .quick-add-modal__content .product-information__media slideshow-slide:nth-child(3) {
    animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
    animation-delay: 0.1s;
  }

  .quick-add-modal__content .product-information__media :is(slideshow-controls, slideshow-controls[thumbnails]) {
    display: none;
  }

  .quick-add-modal__content .sticky-content,
  .quick-add-modal__content .sticky-content--desktop {
    top: 0;
  }

  .quick-add-modal__content .text-block.rte:not(product-price),
  .quick-add-modal__content .view-more-details__wrapper {
    display: none;
  }

  @keyframes fadeSlideIn {
    from {
      opacity: 0;
      transform: translateY(10px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
/* END_SNIPPET:quick-add-modal-styles */
/* START_SNIPPET:search (INDEX:325) */
.search-action {
    --search-border-radius: var(--style-border-radius-inputs);
    --search-border-width: var(--style-border-width-inputs);

    display: flex;
  }

  @media screen and (max-width: 749px) {
    .search-action--hidden-on-drawer {
      display: none;
    }
  }

  @media screen and (min-width: 750px) {
    [data-menu-style='drawer'] .search-action--hidden-on-drawer {
      display: none;
    }

    [data-menu-style='menu'] .search-action--hidden-on-menu {
      display: none;
    }
  }

  [data-menu-style='menu'] .header__column--left .search-action {
    @media screen and (min-width: 750px) {
      margin-inline: calc(var(--padding-lg) * -1);
    }
  }

  .header__column--right .search-action {
    @media screen and (min-width: 750px) {
      margin-inline: calc(var(--gap-md) * -1) calc(var(--gap-xs) * -1);
    }
  }

  @media screen and (min-width: 750px) {
    .header__column--right .search-action--text {
      margin-inline: 0;
    }

    [data-menu-style='menu'] .header__column--left .search-action--text {
      margin-inline: 0;
    }
  }
/* END_SNIPPET:search */
/* START_SNIPPET:skip-to-content-link (INDEX:328) */
.skip-to-content-link {
    position: absolute;
    left: -99999px;
  }

  .skip-to-content-link:focus {
    z-index: var(--layer-temporary);
    overflow: auto;
    width: auto;
    height: auto;
    padding: var(--padding-lg) var(--padding-4xl);
    left: var(--margin-lg);
    top: var(--margin-lg);
    background-color: var(--color-background);
    box-shadow: 0 0 0 var(--focus-outline-offset) var(--color-background);
  }
/* END_SNIPPET:skip-to-content-link */
/* START_SNIPPET:slideshow-styles (INDEX:334) */
/*
   * Slideshow Component
   */
  slideshow-component {
    --cursor: grab;
    --slide-offset: 6px;

    position: relative;
    display: flex;
    flex-direction: column;
    timeline-scope: var(--slideshow-timeline);
  }

  .slideshow--single-media {
    --cursor: default;
  }

  a slideshow-component {
    --cursor: pointer;
  }

  slideshow-component [data-placeholder='true'] * {
    cursor: grab;
  }

  /*
   * Slideshow Slides
   */
  slideshow-slides {
    width: 100%;
    position: relative;
    display: flex;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-color: transparent transparent;
    scrollbar-width: none;
    gap: var(--slideshow-gap, 0);
    cursor: var(--cursor);
    min-height: var(--slide-min-height);
    align-items: var(--slideshow-align-items, normal);

    @media (prefers-reduced-motion) {
      scroll-behavior: auto;
    }

    &::-webkit-scrollbar {
      width: 0;
    }

    &::-webkit-scrollbar-track {
      background: transparent;
    }

    &::-webkit-scrollbar-thumb {
      background: transparent;
      border: none;
    }

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

  .slideshow--stretch-content slideshow-slides > * {
    height: auto;
  }

  slideshow-component[disabled='true'] slideshow-slides {
    overflow: hidden;
  }

  /**
   * By default, slideshows have overflow: hidden (no compositor layer).
   * When the slideshow enters the viewport, JavaScript adds [in-viewport] which enables scrolling.
   */
  slideshow-component:not([in-viewport]) slideshow-slides {
    overflow: hidden;
  }

  slideshow-component[mobile-disabled] slideshow-slides {
    @media screen and (max-width: 749px) {
      overflow: hidden;
    }
  }

  slideshow-slides[gutters*='start'] {
    padding-inline-start: var(--gutter-slide-width, 0);
    scroll-padding-inline-start: var(--gutter-slide-width, 0);
  }

  slideshow-slides[gutters*='end'] {
    padding-inline-end: var(--gutter-slide-width, 0);
  }

  slideshow-component[dragging] {
    --cursor: grabbing;

    * {
      pointer-events: none;
    }
  }

  slideshow-component[dragging] slideshow-arrows {
    display: none;
  }

  slideshow-container {
    width: 100%;
    display: block;
    position: relative;
    grid-area: container;
    container-type: inline-size;
    background-color: var(--color-background);
  }

  /*
   * Be specific about HTML children structure to avoid targeting nested slideshows.
   * Ensure that the content is 'visible' while scrolling instead of 'auto' to avoid issues in Safari.
   */
  slideshow-component:is([dragging], [transitioning], :hover)
    > slideshow-container
    > slideshow-slides
    > slideshow-slide {
    content-visibility: visible;
  }

  @keyframes slide-reveal {
    0% {
      translate: calc(var(--slideshow-slide-offset, 6) * 1rem) 0;
      opacity: 0;
    }

    50% {
      opacity: 1;
    }

    100% {
      translate: calc(var(--slideshow-slide-offset, 6) * -1rem) 0;
      opacity: 0;
    }
  }

  /*
   * Slideshow Slide
   */
  slideshow-slide {
    position: relative;
    scroll-snap-align: center;
    width: var(--slide-width, 100%);
    max-height: 100%;
    flex-shrink: 0;
    view-timeline-name: var(--slideshow-timeline);
    view-timeline-axis: inline;
    content-visibility: auto;
    contain-intrinsic-size: auto none;
    border-radius: var(--corner-radius, 0);
    overflow: hidden;

    slideshow-component[actioned] &,
    &[aria-hidden='false'] {
      content-visibility: visible;
    }

    slideshow-component slideshow-slide:not([aria-hidden='false']) {
      content-visibility: hidden;
    }

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

    /* Make inactive slides appear clickable */
    &[aria-hidden='true'] {
      cursor: pointer;
    }
  }

  slideshow-slide .shopify-model-viewer-ui__controls-area.shopify-model-viewer-ui__controls-area {
    bottom: var(--padding-sm);
    right: var(--padding-sm);
  }

  slideshow-component.slideshow--content-below-media slideshow-slide {
    display: grid;
  }

  .slideshow--content-below-media slideshow-slide :is(.slide__image-container, .slide__content) {
    position: static;
  }

  .slideshow--content-below-media slideshow-slide {
    grid-template-rows: var(--grid-template-rows);

    @media screen and (min-width: 750px) {
      grid-template-rows: var(--grid-template-rows-desktop);
    }
  }
/* END_SNIPPET:slideshow-styles */
/* START_SNIPPET:theme-drawer-styles (INDEX:348) */
theme-drawer {
    display: contents;
  }

  .theme-drawer__dialog {
    --theme-drawer-padding: var(--padding-xl);

    z-index: calc(var(--layer-sticky) + var(--drawer-stack-order, 0));
    position: fixed;
    inset: unset;
    top: 0;
    right: calc(-1 * var(--theme-drawer-width, var(--sidebar-width)));
    flex-direction: column;
    width: var(--theme-drawer-width, var(--sidebar-width));
    max-width: 100%;
    max-height: none;
    height: 100dvh;
    padding: 0;
    border: none;
    border-left: var(--style-border-drawer);
    background-color: var(--color-background);
    color: var(--color-foreground);
  }

  .theme-drawer__dialog[open] {
    display: flex;
    right: 0;
  }

  .theme-drawer__dialog--opening {
    animation: drawer-slide-in var(--animation-speed) var(--animation-timing-fade-in);
  }

  .theme-drawer__dialog--opening-inline-start {
    animation: drawer-slide-in-inline-start var(--animation-speed) var(--animation-timing-fade-in);
  }

  .theme-drawer__dialog--closing {
    animation: drawer-slide-out var(--animation-speed) var(--animation-timing-fade-out) forwards;
  }

  .theme-drawer__dialog-instant {
    animation: none;
  }

  @keyframes drawer-slide-in {
    from {
      right: calc(-1 * var(--theme-drawer-width, var(--sidebar-width)));
    }
  }

  @keyframes drawer-slide-in-inline-start {
    from {
      right: calc(var(--theme-drawer-width, var(--sidebar-width)) / 2);
    }
  }

  @keyframes drawer-slide-out {
    to {
      right: calc(-1 * var(--theme-drawer-width, var(--sidebar-width)));
    }
  }

  .theme-drawer__dialog::backdrop {
    background: rgb(var(--backdrop-color-rgb) / var(--backdrop-opacity));
  }

  /* Exclude open drawers from the page navigation cross-fade so they
     stay frozen (visually unchanged) while the rest of the page transitions. */
  html:active-view-transition-type(page-navigation) .theme-drawer__dialog[open] {
    view-transition-name: theme-drawer;
  }

  ::view-transition-old(theme-drawer),
  ::view-transition-new(theme-drawer) {
    animation: none;
  }

  .theme-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--theme-drawer-padding);
    flex-shrink: 0;
    color: var(--color-foreground);
  }

  .theme-drawer__title {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
    margin: 0;
  }

  .theme-drawer__badge {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    flex-shrink: 0;
    border-radius: var(--style-border-radius-lg);
    background-color: rgb(var(--color-foreground-rgb) / 0.1);
    font-family: var(--font-paragraph--family);
    font-weight: var(--font-paragraph--weight);
    color: var(--color-foreground);
    font-size: clamp(var(--font-size--3xs), 0.75em, var(--font-size--xs));
    padding-inline: 0.5em;
    line-height: 1;
  }

  .theme-drawer__badge[data-maintain-ratio] {
    aspect-ratio: 1 / 1;
    padding-inline: 0.2em;
  }

  .theme-drawer__close-button {
    --private-button-size: 34px;
    --private-focus-ring-size: 2px;
    --private-motion-speed: 150ms;
    --private-motion-ease: cubic-bezier(0.25, 0, 0.1, 1);
    --private-border-width: 1px;
    --private-button-border-color: rgb(0, 0, 0, 0.06);
    --private-button-shadow: 0 2px 6px 0 var(--private-button-border-color);

    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-inline-start: auto;
    width: var(--private-button-size);
    height: var(--private-button-size);
    border-radius: var(--private-button-size);
    background-color: var(--color-background);
    outline: var(--private-focus-ring-size) solid transparent;
    outline-offset: var(--private-focus-ring-size);
    transition-property: color, outline-color, background-color;
    transition-duration: var(--private-motion-speed);
    transition-timing-function: var(--private-motion-ease);

    /* Legacy non-contrast-aware color scheme */
    --button-icon-opacity: 0.8;
    color: var(--color-foreground);
    border: var(--private-border-width) solid var(--private-button-border-color);
    box-shadow: var(--private-button-shadow);

    &:hover:not(:active) {
      /* Legacy non-contrast-aware color scheme */
      --button-icon-opacity: 1;
    }

    &:focus-visible {
      outline-color: var(--color-foreground);
    }
  }

  @supports (color: oklch(from red l c h)) {
    .theme-drawer__close-button {
      --contrast-color: oklch(from var(--color-background) clamp(0, (0.6 / l - 1) * infinity, 1) 0 0);
      --button-icon-opacity: 1;
      --private-button-border-color: color-mix(in srgb, var(--contrast-color) 6%, transparent);
      --private-button-shadow: 0 2px 6px 0 var(--private-button-border-color);

      color: color-mix(in srgb, var(--contrast-color) 50%, transparent);

      &:hover:not(:active) {
        color: color-mix(in srgb, var(--contrast-color) 70%, transparent);
      }
    }

    .theme-drawer__close-button:hover:not(:active) {
      background-color: color-mix(in srgb, var(--contrast-color) 6%, var(--color-background));
    }
  }
/* END_SNIPPET:theme-drawer-styles */
