/** Shopify CDN: Minification failed

Line 90:22 Unexpected "@media"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:about-us (INDEX:0) */
.about__head { text-align: center; max-width: 760px; margin: 0 auto clamp(36px, 5vw, 56px); }
.about__head .eyebrow { display: block; margin-bottom: 14px; }
.about__lead { margin-top: 18px; color: var(--text-muted); font-size: 1.12rem; line-height: 1.85; }

.about__story { max-width: 760px; margin: 0 auto clamp(40px, 6vw, 64px); text-align: center; }
.about__h { font-family: var(--font-serif); font-size: clamp(1.5rem, 2.8vw, 2.2rem); font-weight: 500; margin-bottom: 20px; }
.about__story p { color: var(--text-muted); line-height: 1.85; margin-bottom: 1em; }

.about__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(12px, 2vw, 24px); margin-bottom: clamp(40px, 6vw, 72px); text-align: center; border-block: 1px solid var(--sand); padding-block: clamp(28px, 3vw, 40px); }
.about__stat { display: flex; flex-direction: column; gap: 8px; }
.about__stat-n { font-family: var(--font-serif); font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 500; color: var(--forest-deep); }
.about__stat-l { font-size: 0.8rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--text-muted); }

.about__values { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2vw, 26px); margin-bottom: clamp(40px, 6vw, 72px); }
.about__value { background: var(--white); border: 1px solid var(--sand); border-radius: var(--radius-lg); padding: clamp(22px, 2.5vw, 30px); }
.about__icon { display: inline-flex; color: var(--gold); margin-bottom: 14px; }
.about__icon svg { width: 26px; height: 26px; }
.about__value-title { font-family: var(--font-serif); font-size: 1.2rem; font-weight: 500; margin-bottom: 10px; }
.about__value p { color: var(--text-muted); font-size: 0.92rem; line-height: 1.7; }

.about__cta { text-align: center; background: var(--forest-deep); color: var(--cream); border-radius: var(--radius-lg); padding: clamp(40px, 5vw, 60px); }
.about__cta-title { font-family: var(--font-serif); font-size: clamp(1.6rem, 2.8vw, 2.3rem); font-weight: 500; margin-bottom: 12px; }
.about__cta p { color: var(--text-on-dark-muted); margin-bottom: 28px; }
.about__cta p a { color: var(--gold-light); }
.about__cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 860px) {
  .about__stats { grid-template-columns: 1fr 1fr; gap: 24px 12px; }
  .about__values { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .about__values { grid-template-columns: 1fr; }
}
/* END_SECTION:about-us */

/* START_SECTION:announcement-bar (INDEX:1) */
.announcement { background: var(--sand); color: var(--forest-ink); font-size: 0.8rem; letter-spacing: 0.02em; }
.announcement__inner {
  max-width: 1720px; margin-inline: auto; padding: 7px clamp(12px, 2vw, 28px);
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.announcement__msg { margin: 0; font-weight: 400; }
.announcement__msg a { border-bottom: 1px solid var(--forest-deep); padding-bottom: 1px; }
.announcement__right { display: flex; align-items: center; gap: 14px; }
.announcement__link { transition: color .3s; }
.announcement__link:hover { color: var(--forest-deep); text-decoration: underline; }
.announcement__sep { width: 1px; height: 14px; background: rgba(23,32,29,0.35); }
.announcement__social { display: inline-flex; gap: 12px; }
.announcement__social a { display: inline-flex; color: var(--forest-ink); transition: color .3s; }
.announcement__social a:hover { color: var(--forest-deep); }
.announcement__social svg { width: 16px; height: 16px; }
@media (max-width: 749px) {
  .announcement__inner { justify-content: center; }
  .announcement__right { display: none; }
  .announcement__msg { text-align: center; font-size: 0.74rem; }
}
/* END_SECTION:announcement-bar */

/* START_SECTION:banner-with-cards (INDEX:2) */
.bwc__banner {
  position: relative; isolation: isolate; overflow: hidden; border-radius: 10px; display: flex; align-items: center;
  min-height: 320px; padding: clamp(36px, 6vw, 72px) clamp(24px, 5vw, 64px) calc(clamp(100px, 12vw, 170px) + 40px);
}
.bwc__banner--light { color: var(--cream); background: linear-gradient(135deg, var(--forest-deep), var(--forest-ink)); }
.bwc__banner--dark { color: var(--forest-ink); background: linear-gradient(135deg, var(--cream), var(--sand)); }
.bwc__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.bwc__veil { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(13,64,53,.7), rgba(13,64,53,0) 75%); }
.bwc__banner--dark .bwc__veil { background: linear-gradient(90deg, rgba(245,241,232,.8), rgba(245,241,232,0) 75%); }
.bwc__copy { max-width: 52ch; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.bwc__banner--dark .eyebrow { color: var(--forest-deep); }
.bwc__heading { font-family: var(--font-serif); font-weight: 500; font-size: clamp(1.9rem, 4vw, 3.2rem); line-height: 1.08; }
.bwc__text { margin: 0; opacity: .9; }

.bwc__cards {
  position: relative; z-index: 2; display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: clamp(12px, 2vw, 22px);
  margin: calc(-1 * clamp(100px, 12vw, 170px)) clamp(12px, 3vw, 40px) 0;
  border-radius: 22px; overflow: visible;
}
.bwc__card { flex:0 0 clamp(190px, 24vw, 300px); min-width:0; }
.bwc__marquee--static @media (prefers-reduced-motion: reduce) { }
.bwc__card {
  display: flex; flex-direction: column; background: var(--white); border-radius: 10px; overflow: hidden;
  box-shadow: var(--shadow-md); transition: transform .45s var(--ease), box-shadow .45s var(--ease);
}
.bwc__card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.bwc__card-media { display: block; aspect-ratio: 1 / 1; background: var(--panel); }
.bwc__card-media img { width: 100%; height: 100%; object-fit: contain; padding: 8%; transition: transform .6s var(--ease); }
.bwc__card:hover .bwc__card-media img { transform: scale(1.06); }
.bwc__card-title { padding: 16px 12px 20px; text-align: center; font-family: var(--font-serif); font-weight: 600; font-size: clamp(1.05rem, 1.8vw, 1.4rem); letter-spacing: 0.1em; text-transform: uppercase; }

@media (max-width: 749px) {
  .bwc__banner { padding-bottom: 150px; min-height: 0; }
  .bwc__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: -110px; margin-inline: 8px; }
}
/* END_SECTION:banner-with-cards */

/* START_SECTION:brand-arches (INDEX:3) */
.arches { background: var(--white); }
.arches__head { margin-bottom: clamp(20px, 3vw, 36px); }
.arches__view-all { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: clamp(24px, 3vw, 38px); text-align: center; }
.arches__view-all-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 48px; padding: 0 26px; border: 1px solid var(--gold); border-radius: 999px;
  background: var(--gold); color: var(--forest-ink); font-size: .76rem; font-weight: 600;
  letter-spacing: var(--tracking-wide); text-transform: uppercase;
  transition: background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);
}
.arches__view-all-btn:hover { background: var(--white); transform: translateY(-2px); }
.arches__view-all-btn span { display: inline-flex; }
.arches__view-all-btn svg { width: 17px; height: 17px; }
.arches__view-all p { margin: 0; color: var(--text-muted); font-size: .8rem; }
.arches__head .eyebrow { display: block; margin-bottom: 10px; }
.arches__grid { display: grid; grid-template-columns: repeat(var(--ar-cols), 1fr); gap: clamp(14px, 2vw, 28px); }
.arch {
  position: relative; display: flex; flex-direction: column; aspect-ratio: 3 / 5; border-radius: 999px; overflow: hidden; isolation: isolate;
  background: linear-gradient(180deg, var(--forest-ink), var(--forest-deep)); color: var(--cream);
  transition: transform .5s var(--ease), box-shadow .5s var(--ease);
}
.arch:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.arch__media { position: absolute; inset: 0; z-index: -1; }
.arch__media img { width: 100%; height: 100%; object-fit: cover; }
.arch__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,64,53,.8) 0%, rgba(13,64,53,0) 44%); }
.arch--product { background: var(--cream); color: var(--forest-ink); }
.arch--product .arch__media img { object-fit: contain; mix-blend-mode: multiply; padding: 34% 12% 24%; }
.arch--product .arch__media::after { display: none; }
.arch__top { padding: 14% 8% 0; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.arch__name { font-family: var(--font-serif); font-weight: 600; font-size: clamp(1.1rem, 1.8vw, 1.6rem); letter-spacing: 0.12em; text-transform: uppercase; line-height: 1.1; }
.arch__offer { font-size: 0.74rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; font-weight: 600; color: var(--gold-light); }
.arch--product .arch__offer { color: var(--forest-deep); }
.arch__cta {
  margin-top: auto; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: clamp(16px, 9%, 26px) 0 clamp(22px, 12%, 36px);
  background: var(--gold); color: var(--forest-ink); font-size: 0.78rem; letter-spacing: var(--tracking-wider); text-transform: uppercase; font-weight: 600;
}
.arch__cta svg { width: 26px; height: 18px; transition: transform .35s var(--ease); }
.arch:hover .arch__cta svg { transform: translateX(6px); }

@media (max-width: 990px) {
  .arches__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 8px; }
  .arches__grid::-webkit-scrollbar { display: none; }
  .arch { flex: 0 0 56%; scroll-snap-align: start; }
}
@media (max-width: 620px) { .arch { flex-basis: 74%; } }
/* END_SECTION:brand-arches */

/* START_SECTION:brand-hero (INDEX:4) */
.brand-hero { position: relative; min-height: 58vh; display: flex; align-items: center; justify-content: center; text-align: center; color: var(--cream); background: var(--forest-deep); overflow: hidden; }
/* When a full-bleed brand photo is used, let it speak for itself — hide text overlay chrome */
.brand-hero--photo { min-height: min(80vh, 720px); color: var(--forest-ink); background: var(--cream); }
.brand-hero--photo .brand-hero__inner { display: none; }
.brand-hero__bg { position: absolute; inset: 0; }
.brand-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.brand-hero__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,64,53,0.55), rgba(13,64,53,0.82)); }
.brand-hero__inner { position: relative; z-index: 2; max-width: 720px; padding-block: 64px; }
.brand-hero__logo { max-height: 96px; width: auto; margin: 0 auto 8px; filter: brightness(0) invert(1); }
.brand-hero__name { font-family: var(--font-serif); font-weight: 500; font-size: clamp(2.4rem, 5vw, 4rem); }
.brand-hero__meta { display: flex; gap: 12px; justify-content: center; align-items: center; margin-top: 16px; font-size: 0.72rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--gold); }
.brand-hero__dot { color: var(--sage); }
.brand-hero__story { margin-top: 22px; color: rgba(245,241,232,0.9); font-size: 1.05rem; line-height: 1.8; }
.brand-hero__count { display: inline-block; margin-top: 24px; font-size: 0.74rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--sage); }
/* END_SECTION:brand-hero */

/* START_SECTION:brand-showcase (INDEX:5) */
.brand-showcase { border-top: 1px solid var(--sand); }
.brand-showcase .section-head p { max-width: 620px; margin-inline: auto; }
.brand-wall {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  row-gap: clamp(16px, 2vw, 28px);
}
@property --neon-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
.brand-card {
  position: relative;
  flex: 0 0 calc(100% / var(--per-row));
  min-height: 104px;
  display: flex; align-items: center; justify-content: center;
  padding: 16px clamp(20px, 3.5vw, 48px);
  /* Explicit backdrop (matching the section behind it) so mix-blend-mode on the logo has
     something correct to blend against even while .reveal's opacity transition puts this
     element in an isolated compositing layer — without it, the logo's white PNG background
     briefly shows through unblended during the fade-in. */
  background: var(--cream);
}
.section-dark .brand-card { background: var(--bg-dark); }
.brand-card__logo {
  position: relative; z-index: 2;
  /* Cap BOTH dimensions so wide wordmarks and compact marks occupy a similar optical box */
  max-height: 68px; max-width: 150px; width: auto; object-fit: contain;
  mix-blend-mode: multiply; opacity: 0.68;
  transition: opacity 0.45s var(--ease), transform 0.45s var(--ease);
}
.brand-card:hover .brand-card__logo { opacity: 1; transform: scale(1.04); }

/* Neon border frame — fades in on hover with a travelling gold light */
.brand-card__frame {
  position: absolute; inset: 10px; border-radius: 14px; z-index: 1;
  opacity: 0; pointer-events: none;
  transition: opacity 0.4s var(--ease);
  border: 1px solid rgba(217, 163, 74, 0.4);
  box-shadow: 0 0 18px rgba(217, 163, 74, 0.26), inset 0 0 10px rgba(217, 163, 74, 0.1);
}
.brand-card:hover .brand-card__frame { opacity: 1; }
.brand-card__frame::before,
.brand-card__frame::after {
  content: ""; position: absolute; inset: -1px; border-radius: inherit;
  padding: 1.5px;
  background: conic-gradient(from var(--neon-angle),
    rgba(217,163,74,0) 0deg,
    rgba(217,163,74,0) 268deg,
    var(--gold-light) 310deg,
    #fff7e6 338deg,
    var(--gold-light) 356deg,
    rgba(217,163,74,0) 360deg);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
          mask-composite: exclude;
}
.brand-card__frame::after { filter: blur(8px); opacity: 0.9; }
.brand-card:hover .brand-card__frame::before,
.brand-card:hover .brand-card__frame::after { animation: neon-spin 2.8s linear infinite; }
@keyframes neon-spin { to { --neon-angle: 360deg; } }
@media (prefers-reduced-motion: reduce) {
  .brand-card:hover .brand-card__frame::before,
  .brand-card:hover .brand-card__frame::after { animation: none; }
}
.brand-card__name { font-family: var(--font-serif); font-size: 1.35rem; letter-spacing: 0.04em; color: var(--forest-deep); }
.brand-showcase__foot { text-align: center; margin-top: clamp(20px, 2.5vw, 32px); }
@media (max-width: 990px) {
  .brand-card { flex-basis: calc(100% / 3); }
}
@media (max-width: 620px) { .brand-card { flex-basis: 50%; padding: 14px; min-height: 90px; } .brand-card__logo { max-height: 52px; } .brand-card__frame { inset: 6px; } }
/* END_SECTION:brand-showcase */

/* START_SECTION:collection-grid (INDEX:6) */
.cgrid { display: grid; grid-template-columns: repeat(var(--cols), 1fr); gap: clamp(14px, 1.6vw, 22px); }
.ctile { position: relative; display: block; transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.ctile:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.ctile__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--forest); }
.ctile__media img, .ctile__ph { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.ctile:hover .ctile__media img { transform: scale(1.06); }
.ctile__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,64,53,0) 40%, rgba(13,64,53,0.82)); transition: background .45s var(--ease); }
.ctile:hover .ctile__overlay { background: linear-gradient(180deg, rgba(13,64,53,0.12) 25%, rgba(13,64,53,0.9)); }
.ctile__caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px; color: var(--cream); }
.ctile__title { font-family: var(--font-serif); font-size: clamp(1.3rem, 2vw, 1.7rem); margin-bottom: 6px; }
.ctile__cta { font-size: 0.72rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--gold); display: inline-flex; align-items: center; gap: 8px; }
.ctile__cta svg { width: 18px; height: 18px; transition: transform .4s var(--ease); }
.ctile:hover .ctile__cta svg { transform: translateX(5px); }
@media (max-width: 990px) { .cgrid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .cgrid { grid-template-columns: 1fr; } }
/* END_SECTION:collection-grid */

/* START_SECTION:contact (INDEX:7) */
.contact__head { text-align: center; max-width: 640px; margin: 0 auto clamp(36px, 5vw, 56px); }
.contact__head .eyebrow { display: block; margin-bottom: 14px; }
.contact__lead { margin-top: 18px; color: var(--text-muted); font-size: 1.08rem; line-height: 1.8; }

.contact__grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(28px, 4vw, 64px); align-items: start; }
.contact__info { display: flex; flex-direction: column; gap: 26px; }
.contact__info-block { display: flex; flex-direction: column; gap: 6px; }
.contact__info-label { font-size: 0.72rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--gold); }
.contact__info-value { font-size: 1.02rem; color: var(--forest-ink); }
a.contact__info-value { transition: color .3s; }
a.contact__info-value:hover { color: var(--gold); }
.contact__social { display: flex; gap: 12px; margin-top: 4px; }
.contact__social a { color: var(--forest-ink); transition: color .3s; }
.contact__social a:hover { color: var(--gold); }
.contact__social svg { width: 20px; height: 20px; }

.contact__form-wrap { background: var(--white); border: 1px solid var(--sand); border-radius: var(--radius-lg); padding: clamp(24px, 3vw, 40px); }
.contact__form-title { font-family: var(--font-serif); font-size: 1.4rem; font-weight: 500; margin-bottom: 22px; }
.contact__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact__field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 16px; }
.contact__field span { font-size: 0.8rem; letter-spacing: 0.03em; text-transform: uppercase; color: var(--text-muted); }
.contact__field em { text-transform: none; letter-spacing: 0; font-style: normal; opacity: 0.7; }
.contact__field input, .contact__field textarea {
  border: 1px solid var(--sand); background: var(--cream); border-radius: var(--radius);
  padding: 13px 15px; font-family: var(--font-sans); font-size: 0.95rem; color: var(--forest-ink); width: 100%;
}
.contact__field textarea { resize: vertical; }
.contact__field input:focus, .contact__field textarea:focus { outline: none; border-color: var(--forest-deep); }
.contact__form-wrap .btn { margin-top: 6px; }
.contact__success { background: rgba(217,163,74,0.15); color: var(--forest-deep); padding: 14px 16px; border-radius: var(--radius); margin-bottom: 20px; font-size: 0.95rem; }
.contact__error { background: rgba(176,86,63,0.12); color: #b0563f; padding: 14px 16px; border-radius: var(--radius); margin-bottom: 20px; font-size: 0.95rem; }

@media (max-width: 860px) {
  .contact__grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .contact__row { grid-template-columns: 1fr; }
}
/* END_SECTION:contact */

/* START_SECTION:cylinder-carousel (INDEX:8) */
.cyl-section { overflow: hidden; }
.cyl { position: relative; width: 100%; outline: none; }
.cyl:focus-visible { outline: 2px solid var(--gold); outline-offset: 6px; border-radius: 8px; }
.cyl__stage {
  position: relative; width: 100%; touch-action: pan-y;
  cursor: grab; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none;
}
.cyl.is-dragging .cyl__stage { cursor: grabbing; }
.cyl__item {
  position: absolute; left: 50%; top: 50%;
  display: block; will-change: transform, opacity; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.cyl__ball {
  display: block; width: 100%; height: 100%; border-radius: 50%; overflow: hidden;
  background: var(--white); border: 1px solid var(--sand);
  box-shadow: 0 18px 40px rgba(23, 32, 29, 0.14);
  transition: border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.cyl__item.is-active .cyl__ball { border-color: var(--gold); box-shadow: 0 26px 54px rgba(23, 32, 29, 0.22); }
.cyl__ball img { width: 100%; height: 100%; object-fit: contain; padding: 14%; pointer-events: none; }
.section-forest .cyl__ball { background: var(--cream); border-color: rgba(245,241,232,0.22); }


@media (max-width: 620px) {
}
@media (prefers-reduced-motion: reduce) { .cyl__ball { transition: none; } }
/* END_SECTION:cylinder-carousel */

/* START_SECTION:featured-brand (INDEX:9) */
.fbrand__inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(30px, 5vw, 80px); align-items: center; }
.fbrand--right .fbrand__media { order: 2; }
.fbrand__media { position: relative; aspect-ratio: 5 / 6; overflow: hidden; }
.fbrand__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.fbrand:hover .fbrand__media img { transform: scale(1.04); }
.fbrand__media:has(.watch-doodle) { color: rgba(13, 64, 53, 0.5); background: var(--panel); border-radius: var(--radius); }
.section-forest .fbrand__media:has(.watch-doodle) { color: rgba(230, 184, 102, 0.5); background: transparent; }
.fbrand__doodle { width: 100%; height: 100%; object-fit: contain; padding: clamp(20px, 6%, 52px); }
.fbrand__title { margin: 18px 0 22px; }
.fbrand__text { font-size: 1.08rem; line-height: 1.8; color: var(--text-muted); margin-bottom: 32px; max-width: 46ch; }
.section-forest .fbrand__text { color: var(--text-on-dark-muted); }
@media (max-width: 820px) {
  .fbrand__inner { grid-template-columns: 1fr; gap: 28px; }
  .fbrand--right .fbrand__media { order: 0; }
  .fbrand__media { aspect-ratio: 16 / 11; }
}
/* END_SECTION:featured-brand */

/* START_SECTION:featured-collection (INDEX:10) */
.featured__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: clamp(24px, 4vw, 44px); }
.featured__head .eyebrow { display: block; margin-bottom: 12px; }
.featured__titlewrap { display: flex; align-items: baseline; gap: 20px; flex-wrap: wrap; }
.featured__viewall { flex: none; }
.featured__subtitle { margin: 8px 0 0; color: var(--text-muted); font-size: 0.95rem; }
.section-dark .featured__subtitle { color: var(--text-on-dark-muted); }
.featured__foot { display: flex; justify-content: center; margin-top: clamp(26px, 4vw, 44px); }
.featured__btn { padding: 13px 30px; }
.featured__btn svg { width: 16px; height: 16px; }
.section-dark .featured__btn { border-color: var(--cream); color: var(--cream); }
.section-dark .featured__btn:hover { background: var(--cream); color: var(--forest-ink); }
.carousel__nav { display: flex; gap: 8px; }
.carousel__arrow {
  width: 44px; height: 44px; border-radius: 999px; border: 1px solid var(--sand); background: var(--white);
  display: inline-flex; align-items: center; justify-content: center; color: var(--forest-ink); transition: .25s;
}
.section-dark .carousel__arrow { background: transparent; border-color: var(--border-dark); color: var(--cream); }
.carousel__arrow:hover:not(:disabled) { background: var(--forest-ink); color: var(--cream); border-color: var(--forest-ink); }
.carousel__arrow:disabled { opacity: .32; cursor: not-allowed; }
.carousel__arrow svg { width: 18px; height: 18px; }
.carousel__arrow[data-carousel-prev] svg { transform: rotate(90deg); }
.carousel__arrow[data-carousel-next] svg { transform: rotate(-90deg); }

.carousel { margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); }
.carousel__track {
  display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory;
  scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 4px;
}
.carousel__track::-webkit-scrollbar { display: none; }
.carousel__item {
  flex: 0 0 calc((100% - (var(--pv) - 1) * 24px) / var(--pv));
  scroll-snap-align: start;
}
@media (max-width: 990px) { .carousel__item { flex-basis: calc((100% - 24px) / 2.2); } .carousel__nav { display: none; } }
@media (max-width: 620px) { .carousel__item { flex-basis: 80%; } .carousel { margin-inline: calc(var(--gutter) * -1); } }
/* END_SECTION:featured-collection */

/* START_SECTION:footer (INDEX:11) */
.footer { background: var(--forest-deep); color: var(--text-on-dark); padding-top: clamp(48px, 7vw, 88px); }
.footer .divider { background: var(--border-dark); margin-block: clamp(36px, 5vw, 56px); }
.footer__news { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: clamp(28px, 4vw, 64px); }
.footer__news-copy { max-width: 440px; }
.footer__news-copy .eyebrow { display: block; margin-bottom: 12px; }
.footer__news-copy p { color: var(--text-on-dark-muted); margin: 10px 0 0; max-width: 46ch; }
.footer__news-form { display: flex; gap: 12px; flex-wrap: wrap; flex: 1 1 340px; max-width: 500px; }
.footer__news-form input {
  flex: 1; min-width: 220px; background: transparent; border: 1px solid var(--border-dark); color: var(--cream);
  padding: 15px 18px; border-radius: var(--radius); font-family: var(--font-sans); font-size: 0.9rem;
}
.footer__news-form input::placeholder { color: var(--sage); }
.footer__news-form input:focus { outline: none; border-color: var(--gold); }
.footer__news-success { flex-basis: 100%; color: var(--gold-light); font-size: 0.85rem; }

.footer__grid { display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 40px; }
.footer__lockup { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.footer__lockup .logo-mark { height: 30px; width: auto; color: var(--gold); }
.footer__wordmark { font-family: var(--font-serif); font-size: 1.6rem; letter-spacing: 0.2em; color: var(--gold); display: block; }
.footer__brand p { color: var(--text-on-dark-muted); margin: 18px 0 0; max-width: 34ch; font-size: 0.9rem; }
.footer__col-title { font-size: 0.74rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--gold); margin-bottom: 18px; }
.footer__col li { margin-bottom: 11px; }
.footer__col a { color: var(--text-on-dark-muted); font-size: 0.9rem; transition: color .3s; }
.footer__col a:hover { color: var(--cream); }

/* Keep in touch bar */
.footer__touch {
  display: flex; flex-wrap: wrap; align-items: center; gap: 18px clamp(20px, 4vw, 56px);
  margin-top: clamp(36px, 5vw, 56px); padding: 18px clamp(16px, 2.5vw, 28px);
  background: rgba(245, 241, 232, 0.07); border: 1px solid var(--border-dark); border-radius: 10px;
}
.footer__touch-title { font-size: 0.74rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--gold); }
.footer__social { display: flex; gap: 12px; }
.footer__social a { width: 38px; height: 38px; border: 1px solid var(--border-dark); border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; transition: .3s; }
.footer__social a:hover { background: var(--gold); color: var(--forest-ink); border-color: var(--gold); }
.footer__social svg { width: 17px; height: 17px; }
.footer__touch-list { display: flex; flex-wrap: wrap; gap: 10px clamp(20px, 3vw, 40px); }
.footer__touch-list li { display: flex; align-items: center; gap: 10px; font-size: 0.92rem; }
.footer__touch-icon { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 999px; background: var(--gold); color: var(--forest-ink); }
.footer__touch-icon svg { width: 16px; height: 16px; }
.footer__touch-list a { color: var(--cream); transition: color .3s; }
.footer__touch-list a:hover { color: var(--gold-light); }

.footer__bottom {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px;
  margin-top: clamp(28px, 4vw, 44px); padding-block: 22px; border-top: 1px solid var(--border-dark);
  font-size: 0.8rem; color: var(--text-on-dark-muted);
}
.footer__bottom p { margin: 0; }
.footer__payments { display: flex; gap: 8px; flex-wrap: wrap; }
.footer__payment { height: 32px; width: 50px; background: #fff; border-radius: 5px; padding: 5px 7px; box-sizing: border-box; object-fit: contain; }

/* Delivery accordion */
.footer__quick { border: 1px solid var(--border-dark); border-radius: 8px; margin-bottom: clamp(24px, 3vw, 36px); }
.footer__quick summary { list-style: none; display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; cursor: pointer; font-size: 0.88rem; color: var(--text-on-dark-muted); }
.footer__quick summary::-webkit-details-marker { display: none; }
.footer__quick summary svg { width: 16px; height: 16px; transition: transform .3s; }
.footer__quick[open] summary svg { transform: rotate(180deg); }
.footer__quick p { margin: 0; padding: 0 18px 16px; font-size: 0.88rem; color: var(--text-on-dark-muted); max-width: 70ch; }

@media (max-width: 990px) { .footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .footer__grid { grid-template-columns: 1fr; } .footer__bottom { flex-direction: column; align-items: flex-start; } }
/* END_SECTION:footer */

/* START_SECTION:hero (INDEX:13) */
.hero { position: relative; display: flex; align-items: center; overflow: hidden; background: var(--forest-deep); color: var(--cream); }
.hero--tall { min-height: 88vh; }
.hero--medium { min-height: 68vh; }
.hero--short { min-height: 52vh; }
.hero__media, .hero__overlay { position: absolute; inset: 0; }
.hero__img { width: 100%; height: 100%; object-fit: cover; object-position: center right; }
.hero__img--mobile { display: none; }
.hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center right; }
.hero__overlay { background: linear-gradient(180deg, rgba(13,64,53,0.15), rgba(13,64,53,0.75)); }
.hero--left .hero__overlay { background: linear-gradient(90deg, rgba(13,64,53,0.95) 0%, rgba(13,64,53,0.74) 30%, rgba(13,64,53,0.34) 55%, rgba(13,64,53,0.06) 80%, rgba(13,64,53,0) 100%); }
.hero--right .hero__overlay { background: linear-gradient(270deg, rgba(13,64,53,0.95) 0%, rgba(13,64,53,0.34) 55%, rgba(13,64,53,0) 100%); }
.hero__content { position: relative; z-index: 2; width: 100%; padding-block: 60px; }
.hero__inner { max-width: 620px; }
.hero--center { justify-content: center; text-align: center; }
.hero--center .hero__inner { margin-inline: auto; }
.hero--right { justify-content: flex-end; text-align: right; }
.hero--right .hero__inner { margin-left: auto; }
.hero__eyebrow { display: inline-block; margin-bottom: 20px; }
.hero__title { margin: 0 0 22px; }
.hero__text { font-size: 1.08rem; color: rgba(245,241,232,0.9); max-width: 46ch; margin: 0 0 32px; }
.hero--center .hero__text, .hero--right .hero__text { margin-left: auto; margin-right: auto; }
.hero--right .hero__text { margin-right: 0; }
.hero__ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.hero--center .hero__ctas { justify-content: center; }
.hero--right .hero__ctas { justify-content: flex-end; }
/* Corner left-aligned hero content hard to the left edge (full-width, small gutter) */
.hero--left .hero__content { max-width: none; padding-inline: clamp(22px, 3.5vw, 52px); }
@media (max-width: 749px) {
  .hero--tall, .hero--medium { min-height: 82vh; }
  .hero__img--desktop { display: none; }
  .hero__img--mobile { display: block; }
  .hero__img { object-position: 66% center; }
  .hero__video { object-position: center center; }
  .hero, .hero--right { text-align: center; justify-content: center; }
  .hero__inner { margin-inline: auto !important; }
  .hero__ctas { justify-content: center !important; }
  .hero--left .hero__overlay,
  .hero--right .hero__overlay { background: linear-gradient(180deg, rgba(13,64,53,0.45) 0%, rgba(13,64,53,0.62) 45%, rgba(13,64,53,0.9) 100%); }
}

/* Montaire homepage hero carousel */
.montaire-hero-carousel{position:relative;isolation:isolate;overflow:hidden;background:var(--forest-deep);border-radius:24px}
.montaire-hero-carousel__slides{position:relative}
.montaire-hero-carousel__slide{display:none;width:100%;min-height:inherit;animation:montaireHeroFade .55s ease both}
.montaire-hero-carousel__slide.is-active{display:flex}
.montaire-hero-carousel__controls{position:absolute;z-index:5;inset-inline:0;bottom:clamp(18px,3vw,34px);display:flex;align-items:center;justify-content:center;gap:14px;pointer-events:none}
.montaire-hero-carousel__arrow,.montaire-hero-carousel__dot{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(245,241,232,.65);background:rgba(13,64,53,.48);color:var(--cream);backdrop-filter:blur(8px);cursor:pointer;transition:background .2s ease,transform .2s ease}
.montaire-hero-carousel__arrow{width:44px;height:44px;border-radius:50%;padding:0}
.montaire-hero-carousel__arrow:hover{background:rgba(13,64,53,.9);transform:scale(1.05)}
.montaire-hero-carousel__dots{display:flex;align-items:center;justify-content:center;gap:8px;pointer-events:auto}
.montaire-hero-carousel__dot{width:9px;height:9px;min-width:9px;padding:0;border-radius:99px;background:rgba(245,241,232,.5)}
.montaire-hero-carousel__dot.is-active{width:25px;background:var(--cream);border-color:var(--cream)}
.montaire-hero-carousel__arrow:focus-visible,.montaire-hero-carousel__dot:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
@keyframes montaireHeroFade{from{opacity:.55}to{opacity:1}}
@media(max-width:749px){.montaire-hero-carousel{border-radius:18px}.montaire-hero-carousel__controls{bottom:16px;gap:10px}.montaire-hero-carousel__arrow{width:40px;height:40px}.montaire-hero-carousel .hero__content{padding-bottom:86px}}
@media(prefers-reduced-motion:reduce){.montaire-hero-carousel__slide{animation:none}}
/* END_SECTION:hero */

/* START_SECTION:image-with-text (INDEX:14) */
.iwt__inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 72px); align-items: center; }
.iwt--right .iwt__media { order: 2; }
.iwt__media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; }
.iwt__media img { width: 100%; height: 100%; object-fit: cover; }
.iwt__media:has(.watch-doodle) { color: rgba(13, 64, 53, 0.5); background: var(--panel); border-radius: var(--radius); }
.iwt__doodle { width: 100%; height: 100%; object-fit: contain; padding: clamp(24px, 6%, 56px); }
.section-forest .iwt__media:has(.watch-doodle) { color: rgba(230, 184, 102, 0.55); background: transparent; }
.iwt__title { margin: 16px 0 20px; }
.iwt__text { color: var(--text-muted); font-size: 1.02rem; line-height: 1.75; margin-bottom: 30px; }
.section-forest .iwt__text { color: var(--text-on-dark-muted); }
.iwt__text p { margin: 0 0 1em; }
@media (max-width: 820px) {
  .iwt__inner { grid-template-columns: 1fr; gap: 30px; }
  .iwt--right .iwt__media { order: 0; }
  .iwt__media { aspect-ratio: 16 / 10; }
}
/* END_SECTION:image-with-text */

/* START_SECTION:journal (INDEX:15) */
.journal__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 40px); }
.journal .post__media { aspect-ratio: 4/3; overflow: hidden; background: var(--forest); }
.journal .post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.journal .post:hover .post__media img { transform: scale(1.04); }
.journal .post__date { font-size: 0.72rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--gold); display: block; margin: 16px 0 8px; }
.journal .post__title { font-family: var(--font-serif); font-size: 1.3rem; margin-bottom: 8px; }
.journal .post__excerpt { color: var(--text-muted); font-size: 0.9rem; }
@media (max-width: 860px) { .journal__grid { grid-template-columns: 1fr; } }
/* END_SECTION:journal */

/* START_SECTION:main-404 (INDEX:16) */
.error-404__inner { text-align: center; max-width: 560px; margin: 0 auto; padding-block: clamp(40px, 8vw, 90px); }
.error-404 .eyebrow { display: block; margin-bottom: 16px; }
.error-404 p { color: var(--text-muted); margin: 18px 0 30px; font-size: 1.05rem; }
/* END_SECTION:main-404 */

/* START_SECTION:main-article (INDEX:17) */
.article-page__wrap { max-width: 780px; }
.article-page__head { text-align: center; margin-bottom: 32px; }
.article-page__head .eyebrow { display: block; margin-bottom: 16px; }
.article-page__author { color: var(--text-muted); font-size: 0.9rem; display: block; margin-top: 14px; }
.article-page__hero { margin: 40px -6vw; }
.article-page__hero img { width: 100%; }
.article-page__body { font-size: 1.08rem; line-height: 1.85; }
.article-page__body p { margin: 0 0 1.3em; }
.article-page__body h2 { font-family: var(--font-serif); font-size: 1.8rem; margin: 1.4em 0 .5em; }
.article-page__foot { text-align: center; margin-top: 48px; }
@media (max-width: 860px) { .article-page__hero { margin: 30px 0; } }
/* END_SECTION:main-article */

/* START_SECTION:main-blog (INDEX:18) */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 40px); }
.post__media { aspect-ratio: 4/3; overflow: hidden; background: var(--forest); }
.post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.post:hover .post__media img { transform: scale(1.04); }
.post__date { font-size: 0.72rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--gold); display: block; margin: 18px 0 8px; }
.post__title { font-family: var(--font-serif); font-size: 1.35rem; margin-bottom: 10px; }
.post__excerpt { color: var(--text-muted); font-size: 0.92rem; margin-bottom: 14px; }
@media (max-width: 860px) { .blog-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .blog-grid { grid-template-columns: 1fr; } }
/* END_SECTION:main-blog */

/* START_SECTION:main-cart (INDEX:19) */
.cart-discovery { margin-top: clamp(42px, 6vw, 76px); }
.cart-discovery__continue {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: clamp(24px, 4vw, 42px); border: 1px solid var(--sand); border-radius: 20px;
  background: linear-gradient(115deg, var(--cream), var(--white));
}
.cart-discovery__continue .eyebrow, .cart-discovery__heading .eyebrow { display: block; margin-bottom: 10px; }
.cart-discovery__continue h2, .cart-discovery__heading h2 { margin: 0; }
.cart-discovery__continue p { color: var(--text-muted); margin: 10px 0 0; max-width: 520px; }
.cart-discovery__continue-btn { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: 999px; }
.cart-discovery__continue-btn svg { width: 16px; height: 16px; }
.cart-discovery__products { margin-top: clamp(38px, 5vw, 64px); }
.cart-discovery__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.cart-discovery__heading .link-under { flex: none; }
.cart-discovery__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.8vw, 24px); }
.cart-discovery__card { min-width: 0; }
.cart-discovery__trust {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px;
  margin-top: clamp(32px, 4vw, 52px); border: 1px solid var(--sand); border-radius: 18px;
  overflow: hidden; background: var(--sand);
}
.cart-discovery__trust > div { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; padding: 24px; background: var(--white); }
.cart-discovery__trust-mark { font-size: .66rem; letter-spacing: .12em; color: var(--gold); }
.cart-discovery__trust strong { font-size: .9rem; font-weight: 600; }
.cart-discovery__trust > div > span:last-child { color: var(--text-muted); font-size: .8rem; line-height: 1.5; }
.cart-discovery__trust a { color: var(--forest-ink); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) { .cart-discovery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) {
  .cart-discovery__continue { align-items: flex-start; flex-direction: column; }
  .cart-discovery__continue-btn { width: 100%; }
  .cart-discovery__heading { align-items: flex-start; flex-direction: column; }
  .cart-discovery__grid { gap: 12px; }
  .cart-discovery__trust { grid-template-columns: 1fr; }
  .cart-discovery__trust > div { padding: 18px 20px; }
}

.montaire-shipping-goal {
  margin: 0 0 28px;
  padding: 20px 22px;
  border: 1px solid var(--sand);
  border-radius: 18px;
  background: var(--white);
  text-align: center;
}
.montaire-shipping-goal__message {
  margin: 0 0 14px;
  font-size: 0.95rem;
  line-height: 1.6;
}
.montaire-shipping-goal__message strong { color: var(--gold); }
.montaire-shipping-goal__track {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--sand);
}
.montaire-shipping-goal__track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--gold);
  transition: width 0.4s ease;
}
.montaire-shipping-goal__caption {
  margin: 10px 0 0;
  font-size: 0.65rem;
  letter-spacing: var(--tracking-wide);
  color: var(--text-muted);
}

.cart-page__title { text-align: center; margin-bottom: 44px; }
.cart-list__head { display: grid; grid-template-columns: 2.4fr 1fr 0.8fr; padding-bottom: 14px; border-bottom: 1px solid var(--sand); font-size: 0.72rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--text-muted); }
.cart-list__head span:nth-child(2) { text-align: center; } .cart-list__head span:last-child { text-align: right; }
.cart-item { display: grid; grid-template-columns: 90px 1.6fr 1fr 0.8fr; gap: 20px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--sand); }
.cart-item__media img { border: 1px solid var(--sand); background: var(--white); }
.cart-item__vendor { font-size: 0.68rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--gold); display: block; }
.cart-item__title { font-family: var(--font-serif); font-size: 1.1rem; display: block; margin: 4px 0; }
.cart-item__variant { font-size: 0.82rem; color: var(--text-muted); display: block; }
.cart-item__price { font-size: 0.85rem; color: var(--text-muted); }
.cart-item__qty { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.qty__step { display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; height: 44px; background: none; border: 0; }
.qty__step.is-disabled { opacity: .3; cursor: not-allowed; }
.cart-item__cap { font-size: 0.68rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-muted); }
.qty__step svg { width: 14px; height: 14px; }
.cart-item__remove { font-size: 0.74rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-muted); border-bottom: 1px solid var(--sand); }
.cart-item__remove:hover { color: var(--forest-ink); }
.cart-item__total { text-align: right; font-family: var(--font-serif); font-size: 1.1rem; }
.cart-footer { display: flex; justify-content: flex-end; margin-top: 40px; }
.cart-summary { background: var(--cream); border: 1px solid var(--sand); padding: 30px; width: 100%; max-width: 400px; }
.cart-summary__row { display: flex; justify-content: space-between; align-items: baseline; font-size: 1rem; }
.cart-summary__row strong { font-family: var(--font-serif); font-size: 1.6rem; }
.cart-summary__note { font-size: 0.78rem; color: var(--text-muted); margin: 8px 0 22px; }
.cart-summary__checkout { width: 100%; margin-bottom: 14px; }
.cart-summary__continue { display: block; text-align: center; }
.cart-empty { text-align: center; padding: 60px 0; }
.cart-empty p { color: var(--text-muted); margin-bottom: 24px; font-size: 1.1rem; }
@media (max-width: 749px) {
  .cart-list__head { display: none; }
  .cart-item { grid-template-columns: 72px 1fr; grid-template-areas: "media info" "media qty" "total total"; gap: 6px 16px; }
  .cart-item__media { grid-area: media; align-self: start; } .cart-item__info { grid-area: info; }
  .cart-item__qty { grid-area: qty; align-items: flex-start; } .cart-item__total { grid-area: total; text-align: left; margin-top: 8px; }
  .cart-footer { grid-template-columns: 1fr; }
}
/* END_SECTION:main-cart */

/* START_SECTION:main-collection (INDEX:20) */
/* object-fit: contain (not cover) — deliberately never crops, no matter what
   aspect ratio a brand's source photo turns out to have. A wrong guess here
   previously caused a photo to be crushed into an unrecognizable close-up crop.
   Container has a real, defined height (not just max-height) so it can never
   collapse to 0 — a percentage-height child needs a parent with an actual height. */
.brand-banner { width: 100%; margin-bottom: clamp(28px, 4.5vw, 52px); background: var(--panel); }
.brand-banner img { width: 100%; height: auto; display: block; }
.collection-hero { text-align: center; max-width: 720px; margin: 0 auto clamp(30px, 4vw, 52px); }
.collection-hero .eyebrow { display: block; margin-bottom: 12px; }
.collection-hero__desc { color: var(--text-muted); margin-top: 14px; }
.collection-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 44px; align-items: start; }
.facets { position: sticky; top: 100px; padding: 22px; border: 1px solid var(--sand); border-radius: 18px; background: var(--white); }
.collection-filter-toggle { display: none; align-items: center; gap: 9px; border: 1px solid var(--sand); border-radius: 999px; padding: 10px 14px; background: var(--white); color: var(--forest-ink); font: inherit; font-size: .78rem; cursor: pointer; }
.collection-filter-toggle__icon { display: inline-flex; }
.collection-filter-toggle__icon svg { width: 16px; height: 16px; }
.collection-filter-toggle__count { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; border-radius: 999px; background: var(--cream); font-size: .7rem; }
.facets__head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 14px; border-bottom: 1px solid var(--sand); margin-bottom: 10px; }
.facets__clear { padding: 5px 9px; border-radius: 999px; background: var(--cream); }
.facet:last-child { border-bottom: 0; }
.facet__opt { padding: 2px 0; }
.facet__opt input { width: 16px; height: 16px; accent-color: var(--forest-deep); }
.facet__price input { border-radius: 8px; background: var(--white); }
.facets__title { font-size: 0.74rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; }
.facets__clear { font-size: 0.78rem; color: var(--gold); }
.facet { border-bottom: 1px solid var(--sand); padding: 6px 0; }
.facet summary { list-style: none; display: flex; align-items: center; justify-content: space-between; padding: 12px 0; cursor: pointer; font-size: 0.92rem; }
.facet summary::-webkit-details-marker { display: none; }
.facet summary svg { width: 16px; height: 16px; transition: transform .3s; }
.facet[open] summary svg { transform: rotate(180deg); }
.facet__body { padding-bottom: 12px; display: flex; flex-direction: column; gap: 9px; }
.facet__opt { display: flex; align-items: center; gap: 9px; font-size: 0.86rem; color: var(--text-muted); cursor: pointer; }
.facet__opt input { accent-color: var(--forest-deep); }
.facet__count { margin-left: auto; color: var(--sage); font-size: 0.78rem; }
.facet__price { display: flex; align-items: center; gap: 8px; }
.facet__price input { width: 100%; padding: 8px 10px; border: 1px solid var(--sand); font-size: 0.85rem; }
.collection-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 26px; padding-bottom: 16px; border-bottom: 1px solid var(--sand); }
.collection-sort { margin-left: auto; }
.collection-sort select { min-width: 190px; border-radius: 999px; padding: 11px 38px 11px 14px; cursor: pointer; }
.collection-sort select:focus-visible, .collection-filter-toggle:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.active-filter-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: -8px 0 24px; }
.active-filter-chips__label { color: var(--text-muted); font-size: .76rem; }
.active-filter-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; padding: 6px 11px; border: 1px solid var(--sand); border-radius: 999px; background: var(--white); color: var(--forest-ink); font-size: .76rem; text-decoration: none; }
.active-filter-chip span { color: var(--gold); font-size: 1rem; line-height: 1; }
.active-filter-chip:hover { border-color: var(--gold); }
.active-filter-chips__clear { margin-left: 3px; color: var(--text-muted); font-size: .76rem; text-decoration: underline; text-underline-offset: 3px; }
.facets__head { position: sticky; top: 0; background: var(--white); }
.facets__clear:hover, .active-filter-chips__clear:hover { color: var(--gold); }
.facet summary { font-weight: 500; }
.facet__opt:hover { color: var(--forest-ink); }
.facet__count { min-width: 22px; text-align: right; }
@media (max-width: 620px) {
  .active-filter-chips { gap: 7px; margin: 0 0 18px; }
  .active-filter-chips__label { width: 100%; }
  .active-filter-chip { min-height: 30px; padding: 5px 9px; font-size: .72rem; }
}


/* Floating mobile sort/filter capsule */
.mobile-sort-filter-dock { display: none; }
@media (max-width: 990px) {
  .mobile-sort-filter-dock {
    position: fixed; z-index: 900; left: 50%; bottom: calc(78px + env(safe-area-inset-bottom));
    transform: translateX(-50%); width: min(264px, calc(100vw - 112px)); min-height: 46px;
    display: grid; grid-template-columns: 1fr 1fr; align-items: stretch;
    padding: 4px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px;
    background: rgba(25, 43, 36, .96); color: #fff; box-shadow: 0 8px 28px rgba(0,0,0,.22);
    backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  }
  .mobile-dock-sort, .mobile-dock-filter {
    min-width: 0; position: relative; display: flex; align-items: center; justify-content: center;
    gap: 6px; border: 0; border-radius: 999px; background: transparent; color: #fff;
    font: inherit; font-size: .8rem; font-weight: 600; cursor: pointer;
  }
  .mobile-dock-sort { border-right: 1px solid rgba(255,255,255,.2); border-radius: 999px 0 0 999px; }
  .mobile-dock-sort select {
    position: absolute; inset: 0; width: 100%; height: 100%; opacity: .015; cursor: pointer;
    border: 0; appearance: none; -webkit-appearance: none;
  }
  .mobile-dock-filter { border-radius: 0 999px 999px 0; }
  .mobile-dock-sort:focus-within, .mobile-dock-filter:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }
  .mobile-dock-active-count { display: inline-flex; align-items: center; justify-content: center; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; background: var(--gold); color: var(--forest-ink); font-size: .68rem; }
  .collection-toolbar .collection-sort { display: none; }
  .collection-toolbar .collection-filter-toggle { display: none; }
  .collection-page { padding-bottom: 88px; }
  .facets { scroll-margin-top: 18px; }
  .facets.is-open {
    display: block; position: fixed; z-index: 1001; left: 16px; right: 16px; top: 50%;
    transform: translateY(-50%); width: auto; max-height: min(76dvh, 620px); overflow-y: auto;
    margin: 0; padding: 18px; background: var(--white); border: 1px solid var(--sand);
    border-radius: 22px; box-shadow: 0 0 0 100vmax rgba(12, 22, 18, .58), 0 20px 70px rgba(0,0,0,.25);
    overscroll-behavior: contain;
  }
  .facets__head-actions { display: flex; align-items: center; gap: 12px; }
  .facets__close { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid var(--sand); border-radius: 50%; background: var(--cream); color: var(--forest-ink); font-size: 24px; line-height: 1; cursor: pointer; }
  html.mp-filter-modal-open { overflow: hidden; }
}

.collection-count { font-size: 0.82rem; color: var(--text-muted); letter-spacing: 0.03em; }
.collection-sort { display: flex; align-items: center; gap: 10px; font-size: 0.78rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--text-muted); }
.collection-sort select { border: 1px solid var(--sand); padding: 9px 12px; background: var(--white); font-family: var(--font-sans); font-size: 0.82rem; color: var(--forest-ink); }
.collection-grid-products { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 30px); }
.collection-empty { padding: 60px 0; text-align: center; color: var(--text-muted); }
.pagination { display: flex; gap: 8px; justify-content: center; margin-top: 56px; }
.pagination__link { min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--sand); font-size: 0.85rem; padding: 0 12px; transition: .25s; }
.pagination__link:hover { border-color: var(--forest-ink); }
.pagination__link.is-current { background: var(--forest-ink); color: var(--cream); border-color: var(--forest-ink); }
@media (max-width: 990px) {
  .collection-layout { grid-template-columns: 1fr; gap: 20px; }
  .collection-filter-toggle { display: inline-flex; }
  .facets { display: none; position: static; margin-bottom: 20px; }
  .facets.is-open { display: block; }
  .collection-grid-products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .collection-toolbar { flex-wrap: wrap; }
  .collection-count { flex: 1 1 35%; }
  .collection-filter-toggle { order: 2; }
  .collection-sort { flex: 1 1 100%; margin-left: 0; display: flex; justify-content: space-between; }
  .collection-sort select { min-width: 0; flex: 1; max-width: 68%; }
}
@media (max-width: 520px) { .collection-grid-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }
/* END_SECTION:main-collection */

/* START_SECTION:main-list-collections (INDEX:21) */
/* Categories row */
.lc-cats { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-bottom: clamp(30px, 4vw, 48px); }
.lc-cat { display: inline-flex; align-items: baseline; gap: 10px; border: 1px solid var(--sand); border-radius: 999px; padding: 10px 20px; transition: border-color .3s var(--ease), background .3s var(--ease); }
.lc-cat:hover { border-color: var(--forest-deep); background: var(--white); }
.lc-cat__label { font-family: var(--font-sans); font-weight: 500; font-size: 0.85rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--forest-ink); }
.lc-cat__count { font-size: 0.75rem; color: var(--text-muted); }

/* Brand header + filter */
.lc-brandhead { margin-bottom: 16px; }
.lc-brandhead__title { margin: 0; }

/* Grid */
.lc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 26px); }
.lc-tile { display: block; position: relative; }
.lc-tile__media { position: relative; aspect-ratio: 3/4; overflow: hidden; background: var(--forest); }
.lc-tile__media img, .lc-tile__ph { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.lc-tile:hover .lc-tile__media img { transform: scale(1.05); }
.lc-tile__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,64,53,0) 45%, rgba(13,64,53,0.85)); }
.lc-tile__cap { position: absolute; left: 0; bottom: 0; padding: 24px; color: var(--cream); }
.lc-tile__title { display: block; font-family: var(--font-serif); font-weight: 500; font-size: clamp(1.3rem, 2.2vw, 1.75rem); line-height: 1.2; }
.lc-tile__count { font-size: 0.75rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--gold); }
@media (max-width: 860px) { .lc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) {
  .lc-grid { grid-template-columns: 1fr; }
}
/* END_SECTION:main-list-collections */

/* START_SECTION:main-page (INDEX:22) */
.page-content__wrap { max-width: 820px; }
.page-content__head { text-align: center; margin-bottom: 40px; }
.page-content__head .eyebrow { display: block; margin-bottom: 14px; }
.page-content__body { font-size: 1.05rem; line-height: 1.8; color: var(--text); }
.page-content__body h2 { font-family: var(--font-serif); font-size: 1.7rem; margin: 1.6em 0 0.5em; }
.page-content__body h3 { font-family: var(--font-serif); font-size: 1.3rem; margin: 1.4em 0 0.5em; }
.page-content__body img { margin: 1.5em 0; }
/* END_SECTION:main-page */

/* START_SECTION:main-product (INDEX:23) */
.product { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(30px, 5vw, 76px); align-items: start; }
.product__media { position: sticky; top: 100px; display: grid; gap: 14px; align-items: start; }
.product__gallery { display: grid; min-width: 0; }
.product__main {
  grid-area: 1 / 1;
  width: 100%; background: var(--white); border: 1px solid var(--sand); padding: 0; cursor: zoom-in; aspect-ratio: 1;
  opacity: 0;
  transition: opacity 300ms var(--ease);
  pointer-events: none;
}
.product__main.is-active { opacity: 1; pointer-events: auto; }
@media (prefers-reduced-motion: reduce) {
  .product__main { transition: none; }
}
.product__main img, .product__ph { width: 100%; height: 100%; object-fit: contain; padding: 6%; }
.product__thumbs { display: flex; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
@media (min-width: 861px) {
  .product__media:has(.product__thumbs) { grid-template-columns: 88px minmax(0, 1fr); }
  .product__media:has(.product__thumbs) .product__gallery { grid-column: 2; grid-row: 1; }
  .product__media:has(.product__thumbs) .product__thumbs {
    grid-column: 1; grid-row: 1; flex-direction: column; flex-wrap: nowrap; margin-top: 0;
  }
}
.product__thumb { width: 88px; height: 88px; border: 1px solid var(--sand); background: var(--white); padding: 7px; cursor: pointer; transition: border-color .25s var(--ease), transform .25s var(--ease); }
.product__thumb:hover { border-color: var(--forest-deep); transform: translateY(-2px); }
.product__thumb.is-active { border-color: var(--gold); }
@media (prefers-reduced-motion: reduce) { .product__thumb { transition: none; } .product__thumb:hover { transform: none; } }
@media (max-width: 620px) { .product__thumb { width: 72px; height: 72px; } }
.product__thumb img { width: 100%; height: 100%; object-fit: contain; }
.product__vendor { font-size: 0.74rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--gold); font-weight: 500; }
.product__title { font-family: var(--font-sans); font-weight: 600; font-size: clamp(1.35rem, 2.1vw, 1.7rem); line-height: 1.3; letter-spacing: -0.005em; color: var(--forest-ink); margin: 10px 0 16px; word-break: break-word; }
.product__price { display: flex; align-items: baseline; gap: 12px; font-size: 1.35rem; font-weight: 600; margin-bottom: 20px; }
.product__price-now { color: var(--forest-ink); }
.product__price-was { color: var(--sage); font-size: 1rem; font-weight: 400; }
.product__price-badge { font-family: var(--font-sans); font-size: 0.62rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; background: var(--gold); color: var(--forest-ink); padding: 5px 12px; border-radius: 999px; align-self: center; font-weight: 600; }
.product__option { margin-bottom: 22px; }
.product__option-label { display: block; font-size: 0.74rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--text-muted); margin-bottom: 10px; }
.product__option-values { display: flex; gap: 10px; flex-wrap: wrap; }
.opt { position: relative; cursor: pointer; }
.opt input { position: absolute; opacity: 0; }
.opt span { display: inline-flex; align-items: center; justify-content: center; min-width: 52px; padding: 11px 18px; border: 1px solid var(--sand); font-size: 0.85rem; transition: .25s; }
.opt.is-selected span { border-color: var(--forest-ink); background: var(--forest-ink); color: var(--cream); }
.opt:hover span { border-color: var(--forest-ink); }
.product__buy { display: flex; gap: 14px; margin: 28px 0; }
.qty { display: inline-flex; align-items: center; border: 1px solid var(--sand); }
.qty button { background: none; border: 0; padding: 0 14px; height: 52px; color: var(--forest-ink); }
.qty button svg { width: 15px; height: 15px; }
.qty input { width: 46px; text-align: center; border: 0; font-size: 0.95rem; background: none; -moz-appearance: textfield; }
.qty input::-webkit-outer-spin-button, .qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.product__atc { flex: 1; height: 52px; }
.product__atc:disabled { opacity: .5; cursor: not-allowed; }
.product__wish { width: 52px; height: 52px; border: 1px solid var(--sand); background: var(--white); color: var(--forest-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: color .25s, border-color .25s; border-radius: 2px; flex-shrink: 0; }
.product__wish:hover { color: var(--gold); border-color: var(--gold); }
.product__wish svg { width: 20px; height: 20px; }
.product__wish[aria-pressed="true"] { color: var(--gold); border-color: var(--gold); }
.product__wish[aria-pressed="true"] svg { fill: var(--gold); stroke: var(--gold); }
.product__wish[aria-pressed="true"] svg { animation: wish-pop 160ms var(--ease); }
@media (prefers-reduced-motion: reduce) {
  .product__wish[aria-pressed="true"] svg { animation: none; }
}
.product__assurance { display: flex; flex-direction: column; gap: 12px; padding: 22px 0; border-block: 1px solid var(--sand); margin-bottom: 8px; }
.product__assurance span { display: flex; align-items: center; gap: 12px; font-size: 0.88rem; color: var(--text-muted); }
.product__assurance svg { width: 20px; height: 20px; color: var(--gold); }
.product__buynow { margin-top: 12px; }
.product__buynow .shopify-payment-button__button { border-radius: var(--radius); font-family: var(--font-sans); font-weight: 500; letter-spacing: var(--tracking-wide); text-transform: uppercase; font-size: 0.78rem; min-height: 52px; }
.product__buynow .shopify-payment-button__button--unbranded { background: var(--gold); color: var(--forest-ink); }
.product__buynow .shopify-payment-button__button--unbranded:hover:not([disabled]) { background: var(--gold-light); }
.product__buynow .shopify-payment-button__more-options { display: none !important; }
.acc { border-bottom: 1px solid var(--sand); }
.acc__trigger { width: 100%; background: none; border: 0; display: flex; align-items: center; justify-content: space-between; padding: 20px 0; font-family: var(--font-serif); font-size: 1.1rem; color: var(--forest-ink); }
.acc__trigger svg { width: 18px; height: 18px; transition: transform .3s; }
.acc__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.acc__panel {
  display: grid;
  grid-template-rows: minmax(0, 0fr);
  opacity: 0;
  overflow: hidden;
  transition: grid-template-rows 280ms var(--ease), opacity 200ms var(--ease);
}
.acc__panel > * { overflow: hidden; min-height: 0; }
.acc__trigger[aria-expanded="true"] + .acc__panel { grid-template-rows: minmax(0, 1fr); opacity: 1; }
.acc__panel .rte { padding-bottom: 22px; color: var(--text-muted); line-height: 1.75; }
@media (prefers-reduced-motion: reduce) {
  .acc__panel { transition: none; }
}
.rte p { margin: 0 0 1em; } .rte a { color: var(--gold); border-bottom: 1px solid currentColor; }
@media (max-width: 860px) {
  .product { grid-template-columns: 1fr; gap: 30px; }
  .product__media { position: static; }
}
/* END_SECTION:main-product */

/* START_SECTION:main-search (INDEX:24) */
.search-hero { text-align: center; max-width: 620px; margin: 0 auto clamp(28px, 4vw, 44px); }
.search-hero .eyebrow { display: block; margin-bottom: 12px; }
.search-hero__title { margin-bottom: 0; }
.search-count { text-align: center; color: var(--text-muted); margin-bottom: 30px; font-size: 0.85rem; letter-spacing: 0.03em; }
.search-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2vw, 28px); }
.search-misc { border: 1px solid var(--sand); padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.search-misc__type { font-size: 0.68rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--gold); }
.search-misc h3 { font-family: var(--font-serif); font-size: 1.2rem; }
.search-empty { text-align: center; padding: 60px 0; color: var(--text-muted); font-size: 1.1rem; }

.pagination { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: clamp(36px, 5vw, 56px); }
.pagination__link { min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--sand); font-size: 0.85rem; padding: 0 12px; transition: .25s; color: var(--forest-ink); }
.pagination__link:hover { border-color: var(--forest-ink); }
.pagination__link.is-current { background: var(--forest-ink); color: var(--cream); border-color: var(--forest-ink); }
.pagination__gap { border-color: transparent; }

@media (max-width: 990px) { .search-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) {
  .search-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
}
/* END_SECTION:main-search */

/* START_SECTION:main-wishlist (INDEX:25) */
.wishlist-page .section-head { text-align: center; margin-bottom: 40px; }
.wishlist-page .section-head p { color: var(--text-muted); margin-top: 12px; }
.wishlist-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2vw, 28px); }
.wishlist-empty { text-align: center; padding: 40px 0 60px; }
.wishlist-empty p { color: var(--text-muted); margin-bottom: 24px; font-size: 1.05rem; }
@media (max-width: 990px) { .wishlist-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .wishlist-grid { grid-template-columns: 1fr 1fr; } }
/* END_SECTION:main-wishlist */

/* START_SECTION:montaire-hero-carousel (INDEX:26) */
.hero { position: relative; display: flex; align-items: center; overflow: hidden; background: var(--forest-deep); color: var(--cream); }
.hero--tall { min-height: 88vh; }
.hero--medium { min-height: 68vh; }
.hero--short { min-height: 52vh; }
.hero__media, .hero__overlay { position: absolute; inset: 0; }
.hero__img { width: 100%; height: 100%; object-fit: cover; object-position: center right; }
.hero__img--mobile { display: none; }
.hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center right; }
.hero__overlay { background: linear-gradient(180deg, rgba(13,64,53,0.15), rgba(13,64,53,0.75)); }
.hero--left .hero__overlay { background: linear-gradient(90deg, rgba(13,64,53,0.95) 0%, rgba(13,64,53,0.74) 30%, rgba(13,64,53,0.34) 55%, rgba(13,64,53,0.06) 80%, rgba(13,64,53,0) 100%); }
.hero--right .hero__overlay { background: linear-gradient(270deg, rgba(13,64,53,0.95) 0%, rgba(13,64,53,0.34) 55%, rgba(13,64,53,0) 100%); }
.hero__content { position: relative; z-index: 2; width: 100%; padding-block: 60px; }
.hero__inner { max-width: 620px; }
.hero--center { justify-content: center; text-align: center; }
.hero--center .hero__inner { margin-inline: auto; }
.hero--right { justify-content: flex-end; text-align: right; }
.hero--right .hero__inner { margin-left: auto; }
.hero__eyebrow { display: inline-block; margin-bottom: 20px; }
.hero__title { margin: 0 0 22px; }
.hero__text { font-size: 1.08rem; color: rgba(245,241,232,0.9); max-width: 46ch; margin: 0 0 32px; }
.hero--center .hero__text, .hero--right .hero__text { margin-left: auto; margin-right: auto; }
.hero--right .hero__text { margin-right: 0; }
.hero__ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.hero--center .hero__ctas { justify-content: center; }
.hero--right .hero__ctas { justify-content: flex-end; }
/* Corner left-aligned hero content hard to the left edge (full-width, small gutter) */
.hero--left .hero__content { max-width: none; padding-inline: clamp(22px, 3.5vw, 52px); }
@media (max-width: 749px) {
  .hero--tall, .hero--medium { min-height: 82vh; }
  .hero__img--desktop { display: none; }
  .hero__img--mobile { display: block; }
  .hero__img { object-position: 66% center; }
  .hero__video { object-position: center center; }
  .hero, .hero--right { text-align: center; justify-content: center; }
  .hero__inner { margin-inline: auto !important; }
  .hero__ctas { justify-content: center !important; }
  .hero--left .hero__overlay,
  .hero--right .hero__overlay { background: linear-gradient(180deg, rgba(13,64,53,0.45) 0%, rgba(13,64,53,0.62) 45%, rgba(13,64,53,0.9) 100%); }
}

/* Montaire homepage hero carousel */
.montaire-hero-carousel{position:relative;isolation:isolate;overflow:hidden;background:var(--forest-deep);border-radius:24px}
.montaire-hero-carousel__slides{position:relative;display:grid;overflow:hidden}
.montaire-hero-carousel__slide{display:none;grid-area:1/1;width:100%;min-height:inherit;transform:translateX(100%);z-index:1}
.montaire-hero-carousel__slide.is-active{display:flex;z-index:2;animation:montaireHeroSlideIn .68s cubic-bezier(.22,.72,.22,1) both}
.montaire-hero-carousel__slide.is-exiting-left,.montaire-hero-carousel__slide.is-exiting-right{display:flex;z-index:1;animation-duration:.68s;animation-timing-function:cubic-bezier(.22,.72,.22,1);animation-fill-mode:both}
.montaire-hero-carousel__slide.is-exiting-left{animation-name:montaireHeroSlideOutLeft}
.montaire-hero-carousel__slide.is-exiting-right{animation-name:montaireHeroSlideOutRight}
@keyframes montaireHeroSlideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes montaireHeroSlideOutLeft{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@keyframes montaireHeroSlideOutRight{from{transform:translateX(0)}to{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.montaire-hero-carousel__slide.is-active,.montaire-hero-carousel__slide.is-exiting-left,.montaire-hero-carousel__slide.is-exiting-right{animation-duration:.01ms}}
.montaire-hero-carousel__controls{position:absolute;z-index:5;inset-inline:0;bottom:clamp(18px,3vw,34px);display:flex;align-items:center;justify-content:center;gap:14px;pointer-events:none}
.montaire-hero-carousel__arrow,.montaire-hero-carousel__dot{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(245,241,232,.65);background:rgba(13,64,53,.48);color:var(--cream);backdrop-filter:blur(8px);cursor:pointer;transition:background .2s ease,transform .2s ease}
.montaire-hero-carousel__arrow{width:44px;height:44px;border-radius:50%;padding:0}
.montaire-hero-carousel__arrow:hover{background:rgba(13,64,53,.9);transform:scale(1.05)}
.montaire-hero-carousel__dots{display:flex;align-items:center;justify-content:center;gap:8px;pointer-events:auto}
.montaire-hero-carousel__dot{width:9px;height:9px;min-width:9px;padding:0;border-radius:99px;background:rgba(245,241,232,.5)}
.montaire-hero-carousel__dot.is-active{width:25px;background:var(--cream);border-color:var(--cream)}
.montaire-hero-carousel__arrow:focus-visible,.montaire-hero-carousel__dot:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
@keyframes montaireHeroFade{from{opacity:.55}to{opacity:1}}
@media(max-width:749px){.montaire-hero-carousel{border-radius:18px}.montaire-hero-carousel__controls{bottom:16px;gap:10px}.montaire-hero-carousel__arrow{width:40px;height:40px}.montaire-hero-carousel .hero__content{padding-bottom:86px}}
@media(prefers-reduced-motion:reduce){.montaire-hero-carousel__slide{animation:none}}
/* END_SECTION:montaire-hero-carousel */

/* START_SECTION:promo-banners (INDEX:28) */
.promo__title { text-align: center; margin-bottom: clamp(18px, 3vw, 32px); }
.promo__grid { display: grid; gap: var(--pb-gap); }
.promo--two .promo__grid { grid-template-columns: repeat(2, 1fr); }
.promo--three .promo__grid { grid-template-columns: repeat(3, 1fr); }
.promo--full .promo__grid { grid-template-columns: 1fr; }
.promo--mosaic .promo__grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: var(--pb-h) var(--pb-h); }
.promo--mosaic .pb:first-child { grid-row: 1 / span 2; }
.promo--mosaic .pb { min-height: 0; }

.pb {
  position: relative; display: flex; align-items: center; min-height: var(--pb-h); border-radius: 10px; overflow: hidden;
  isolation: isolate; padding: clamp(22px, 3.5vw, 48px);
}
.pb--light { color: var(--cream); background: linear-gradient(135deg, var(--forest-deep), var(--forest-ink)); }
.pb--dark { color: var(--forest-ink); background: linear-gradient(135deg, var(--cream), var(--sand)); }
.pb__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .8s var(--ease); }
.pb:hover .pb__img { transform: scale(1.04); }
.pb__veil { position: absolute; inset: 0; z-index: -1; }
.pb--light .pb__veil { background: linear-gradient(90deg, rgba(13,64,53,.74), rgba(13,64,53,0) 72%); }
.pb--dark .pb__veil { background: linear-gradient(90deg, rgba(245,241,232,.82), rgba(245,241,232,0) 72%); }
.pb--right .pb__veil { transform: scaleX(-1); }
.pb--center .pb__veil { background: rgba(13,64,53,.45); }
.pb--dark.pb--center .pb__veil { background: rgba(245,241,232,.6); }

/* Fallback when only a product photo is available: white tile on the right */
.pb--product .pb__img {
  inset: 14px 14px 14px auto; width: 46%; height: calc(100% - 28px); background: #fff; border-radius: 8px;
  object-fit: contain; padding: 14px;
}
.pb--product:hover .pb__img { transform: none; }
.pb--product .pb__body { max-width: 48%; }

.pb__body { max-width: 46ch; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.pb--center .pb__body { margin-inline: auto; align-items: center; text-align: center; }
.pb--right .pb__body { margin-left: auto; align-items: flex-end; text-align: right; }
.pb__eyebrow { font-size: 0.72rem; letter-spacing: var(--tracking-wider); text-transform: uppercase; font-weight: 500; color: var(--gold); }
.pb--dark .pb__eyebrow { color: var(--forest-deep); }
.pb__heading { font-family: var(--font-serif); font-weight: 500; font-size: clamp(1.6rem, 3vw, 2.6rem); line-height: 1.1; }
.pb__text { font-size: 0.95rem; opacity: .9; }
.pb__btn {
  margin-top: 8px; display: inline-flex; padding: 13px 28px; font-size: 0.72rem; letter-spacing: var(--tracking-wide);
  text-transform: uppercase; font-weight: 500; border-radius: var(--radius); transition: background .35s var(--ease), color .35s var(--ease);
}
.pb--light .pb__btn { background: var(--cream); color: var(--forest-ink); }
.pb--dark .pb__btn { background: var(--forest-deep); color: var(--cream); }
.pb:hover .pb__btn { background: var(--gold); color: var(--forest-ink); }

@media (max-width: 749px) {
  .promo--two .promo__grid, .promo--three .promo__grid { grid-template-columns: 1fr; }
  .promo--mosaic .promo__grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .promo--mosaic .pb:first-child { grid-row: auto; }
  .pb, .promo--mosaic .pb { min-height: min(var(--pb-h), 260px); }
  .pb--product .pb__img { width: 40%; }
  .pb--product .pb__body { max-width: 56%; }
}
/* END_SECTION:promo-banners */

/* START_SECTION:related-products (INDEX:29) */
.related__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2vw, 28px); }
@media (max-width: 990px) { .related__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .related__grid { grid-template-columns: 1fr 1fr; } }
/* END_SECTION:related-products */

/* START_SECTION:shop-by-price (INDEX:30) */
.sbp__head { margin-bottom: clamp(20px, 3vw, 36px); }
.sbp__head .eyebrow { display: block; margin-bottom: 10px; }
.sbp__grid { display: grid; grid-template-columns: repeat(var(--n), 1fr); gap: clamp(12px, 2vw, 24px); }
.sbp__tile {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center;
  padding: clamp(22px, 3vw, 38px) 12px; background: var(--white); border: 1px solid var(--sand); border-radius: 10px;
  transition: transform .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
}
.sbp__tile:hover { transform: translateY(-4px); border-color: var(--gold); box-shadow: var(--shadow-md); }
.sbp__label { font-size: 0.74rem; letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-muted); }
.sbp__amount { font-family: var(--font-serif); font-weight: 600; font-size: clamp(2.2rem, 4.4vw, 3.8rem); line-height: 1.05; color: var(--forest-deep); }
.sbp__cur { font-size: 0.72rem; letter-spacing: var(--tracking-wide); color: var(--gold); font-weight: 600; }
.sbp__arrow { margin-top: 10px; color: var(--forest-deep); opacity: 0; transform: translateX(-6px); transition: .35s var(--ease); }
.sbp__arrow svg { width: 20px; height: 20px; }
.sbp__tile:hover .sbp__arrow { opacity: 1; transform: none; }
@media (max-width: 749px) { .sbp__grid { grid-template-columns: repeat(2, 1fr); } .sbp__arrow { opacity: 1; transform: none; } }
/* END_SECTION:shop-by-price */

/* START_SECTION:terms-of-service (INDEX:31) */
.legal__head { text-align: center; margin: 0 auto clamp(30px, 4vw, 48px); }
.legal__head .eyebrow { display: block; margin-bottom: 14px; }
.legal__content { max-width: 820px; margin: 0 auto; color: var(--text-muted); line-height: 1.8; font-size: 0.98rem; }
.legal__content strong { display: block; font-family: var(--font-serif); font-weight: 500; font-size: clamp(1.2rem, 2vw, 1.45rem); color: var(--forest-deep); margin: 1.8em 0 0.5em; letter-spacing: 0.005em; }
.legal__content strong:first-child { margin-top: 0; }
.legal__content a { color: var(--gold); text-decoration: underline; text-underline-offset: 2px; }
.legal__content a:hover { color: var(--forest-deep); }
/* END_SECTION:terms-of-service */

/* START_SECTION:testimonials (INDEX:32) */
.testimonials__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 40px); }
.quote { display: flex; flex-direction: column; gap: 16px; padding: clamp(24px, 3vw, 38px); border: 1px solid var(--sand); background: var(--white); }
.section-dark .quote { border-color: var(--border-dark); background: var(--forest); }
.quote__stars { display: flex; gap: 3px; color: var(--gold); }
.quote__stars svg { width: 16px; height: 16px; }
.quote__text { font-family: var(--font-serif); font-size: 1.2rem; line-height: 1.5; margin: 0; color: var(--forest-ink); }
.section-dark .quote__text { color: var(--cream); }
.quote__author { display: flex; flex-direction: column; gap: 3px; margin-top: auto; }
.quote__name { font-size: 0.82rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--gold); }
.quote__detail { font-size: 0.85rem; color: var(--text-muted); }
.section-dark .quote__detail { color: var(--text-on-dark-muted); }
@media (max-width: 860px) { .testimonials__grid { grid-template-columns: 1fr; } }
/* END_SECTION:testimonials */

/* START_SECTION:trust-badges (INDEX:33) */
.trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(20px, 3vw, 40px); }
.trust__item { display: flex; gap: 16px; align-items: flex-start; }
.trust__icon { flex: none; color: var(--gold); }
.trust__icon svg { width: 30px; height: 30px; }
.trust__title { font-family: var(--font-serif); font-size: 1.15rem; margin-bottom: 4px; }
.trust__item p { font-size: 0.85rem; color: var(--text-muted); margin: 0; }
.section-forest .trust__item p { color: var(--text-on-dark-muted); }

/* Strip style: compact tinted row, sits directly under the hero */
.trust.trust--strip { background: rgba(169, 181, 174, 0.22); padding-block: 14px; }
.trust--strip .trust__grid { gap: 0; }
.trust--strip .trust__item { align-items: center; padding: 6px clamp(12px, 2vw, 28px); border-right: 1px solid rgba(23, 32, 29, 0.12); }
.trust--strip .trust__item:last-child { border-right: 0; }
.trust--strip .trust__icon { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 999px; background: var(--white); color: var(--forest-deep); }
.trust--strip .trust__icon svg { width: 22px; height: 22px; }
.trust--strip .trust__title { font-family: var(--font-sans); font-size: 0.88rem; font-weight: 500; margin-bottom: 1px; }
.trust--strip .trust__item p { font-size: 0.76rem; }
@media (max-width: 749px) {
  .trust__grid { grid-template-columns: 1fr 1fr; gap: 26px; }
  .trust--strip .trust__grid { gap: 10px 0; }
  .trust--strip .trust__item:nth-child(2n) { border-right: 0; }
}
@media (max-width: 460px) { .trust:not(.trust--strip) .trust__grid { grid-template-columns: 1fr; } }
/* END_SECTION:trust-badges */

/* START_SECTION:warranty (INDEX:34) */
.warranty__head { text-align: center; max-width: 720px; margin: 0 auto clamp(36px, 5vw, 60px); }
.warranty__head .eyebrow { display: block; margin-bottom: 14px; }
.warranty__lead { margin-top: 18px; color: var(--text-muted); font-size: 1.08rem; line-height: 1.8; }
.warranty__lead strong { color: var(--forest-ink); font-weight: 500; }

.warranty__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 26px); margin-bottom: clamp(40px, 6vw, 72px); }
.warranty__card { background: var(--white); border: 1px solid var(--sand); border-radius: var(--radius-lg); padding: clamp(24px, 3vw, 34px); }
.warranty__icon { display: inline-flex; color: var(--gold); margin-bottom: 16px; }
.warranty__icon svg { width: 28px; height: 28px; }
.warranty__card-title { font-family: var(--font-serif); font-size: 1.3rem; font-weight: 500; margin-bottom: 10px; }
.warranty__card p { color: var(--text-muted); font-size: 0.95rem; line-height: 1.7; }

.warranty__cols { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 56px); margin-bottom: clamp(40px, 6vw, 72px); }
.warranty__h { font-family: var(--font-serif); font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 500; margin-bottom: 20px; }
.warranty__list { display: flex; flex-direction: column; gap: 12px; }
.warranty__list li { position: relative; padding-left: 30px; color: var(--text-muted); line-height: 1.6; }
.warranty__list li::before { position: absolute; left: 0; top: 0; font-weight: 600; }
.warranty__list--yes li::before { content: "\2713"; color: var(--forest-deep); }
.warranty__list--no li::before { content: "\00d7"; color: #b0563f; font-size: 1.1em; line-height: 1.4; }
.warranty__note { margin-top: 18px; font-size: 0.9rem; color: var(--text-muted); font-style: italic; }

.warranty__claim { margin-bottom: clamp(40px, 6vw, 72px); }
.warranty__steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(20px, 3vw, 32px); }
.warranty__steps li { display: flex; gap: 16px; align-items: flex-start; color: var(--text-muted); line-height: 1.7; }
.warranty__steps a { color: var(--gold); }
.warranty__step-n { flex: none; width: 38px; height: 38px; border-radius: 999px; border: 1px solid var(--gold); color: var(--forest-deep); display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-serif); font-size: 1.1rem; }

.warranty__care { max-width: 760px; margin: 0 auto clamp(40px, 6vw, 64px); text-align: center; }
.warranty__care p { color: var(--text-muted); line-height: 1.8; }

.warranty__contact { text-align: center; background: var(--forest-deep); color: var(--cream); border-radius: var(--radius-lg); padding: clamp(36px, 5vw, 56px); }
.warranty__contact-title { font-family: var(--font-serif); font-size: clamp(1.5rem, 2.6vw, 2.1rem); font-weight: 500; margin-bottom: 12px; }
.warranty__contact p { color: var(--text-on-dark-muted); margin-bottom: 26px; }

@media (max-width: 860px) {
  .warranty__cards { grid-template-columns: 1fr; }
  .warranty__cols { grid-template-columns: 1fr; }
  .warranty__steps { grid-template-columns: 1fr; }
}
/* END_SECTION:warranty */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:product-card (INDEX:42) */
.pcard {
  display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid rgba(23, 32, 29, 0.1);
  border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-sm);
  transition: box-shadow .35s var(--ease), transform .35s var(--ease);
}
.pcard:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.carousel__item { display: flex; }
.carousel__item > .pcard { width: 100%; }

.pcard__media { position: relative; display: block; overflow: hidden; background: #fff; }
.pcard__media-link { position: absolute; inset: 0; display: block; }
.pcard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 7%; transition: transform .5s var(--ease); }
.pcard__img--placeholder { object-fit: cover; padding: 0; }
.pcard:hover .pcard__img { transform: scale(1.05); }

.pcard__badge {
  position: absolute; top: 12px; left: 12px; z-index: 2; font-size: 0.6rem; letter-spacing: var(--tracking-wide);
  text-transform: uppercase; font-weight: 600; padding: 5px 11px; border-radius: 999px;
}
.pcard__badge--out { background: var(--forest-ink); color: var(--cream); }

/* Heart: plain outline in the corner */
.pcard__wish {
  position: absolute; top: 8px; right: 8px; z-index: 3; width: 36px; height: 36px; border-radius: 999px; border: 0; background: transparent;
  display: inline-flex; align-items: center; justify-content: center; color: var(--forest-ink); cursor: pointer;
  transition: transform 0.2s var(--ease), color 0.2s var(--ease), background 0.2s var(--ease);
}
.pcard__wish:hover { transform: scale(1.1); background: rgba(23, 32, 29, 0.05); }
.pcard__wish svg { width: 20px; height: 20px; }
.pcard__wish[aria-pressed="true"] { color: var(--gold); }
.pcard__wish[aria-pressed="true"] svg { fill: var(--gold); stroke: var(--gold); animation: wish-pop 160ms var(--ease); }
@media (prefers-reduced-motion: reduce) { .pcard__wish[aria-pressed="true"] svg { animation: none; } }

/* Quick add "+" */
.pcard__qa {
  position: absolute; right: 12px; bottom: 12px; z-index: 3; width: 38px; height: 38px; border-radius: 999px;
  border: 1px solid rgba(23, 32, 29, 0.18); background: #fff; color: var(--forest-ink); cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(23, 32, 29, 0.1);
  transition: background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);
}
.pcard__qa:hover { background: var(--forest-deep); color: var(--cream); border-color: var(--forest-deep); transform: scale(1.06); }
.pcard__qa svg { width: 18px; height: 18px; }
.pcard__qa span { display: inline-flex; }
.pcard__qa-ok { display: none !important; }
.pcard__qa.is-loading { opacity: .55; pointer-events: none; }
.pcard__qa.is-added { background: var(--forest-deep); color: var(--gold-light); border-color: var(--forest-deep); }
.pcard__qa.is-added .pcard__qa-plus { display: none; }
.pcard__qa.is-added .pcard__qa-ok { display: inline-flex !important; }

/* Offer strip under the image */
.pcard__strip {
  position: relative; display: flex; align-items: center; justify-content: center; text-align: center;
  min-height: 32px; height: 32px; padding: 0 16px; overflow: hidden;
  border-radius: 999px; background: rgba(217, 163, 74, 0.16); color: var(--forest-deep);
  font-size: 0.70rem; font-weight: 600; letter-spacing: 0.035em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 1px 3px rgba(18, 35, 28, .06);
  -webkit-backdrop-filter: blur(12px) saturate(135%); backdrop-filter: blur(12px) saturate(135%);
}
.pcard__strip-track { position: relative; width: 100%; height: 100%; overflow: hidden; }
.pcard__strip-message {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 7px;
  opacity: 0; transform: translateY(-100%); transition: transform .25s cubic-bezier(.22,.61,.36,1), opacity .25s ease;
  white-space: nowrap; text-align: center;
}
.pcard__strip-message::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--gold); flex: none; }
.pcard__strip-message.is-active { opacity: 1; transform: translateY(0); }
.pcard__strip-message.is-exiting { opacity: 0; transform: translateY(100%); }
.pcard__strip--empty { background: transparent; box-shadow: none; border-radius: 0; }
.pcard__strip--empty::before { display: none; }
.pcard__strip--empty .pcard__strip-track { display: none; }
@media (prefers-reduced-motion: reduce) { .pcard__strip-message { transition: none; } }

.pcard__body { padding: 12px 14px 16px; text-align: left; display: flex; flex-direction: column; flex: 1; }
.pcard__vendor { font-size: 0.66rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--text-muted); font-weight: 500; }
.pcard__title {
  font-family: var(--font-sans); font-size: 0.92rem; font-weight: 600; margin: 4px 0 6px; line-height: 1.35; color: var(--text);
  min-height: 2.7em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.pcard__title a { transition: color .3s; }
.pcard__title a:hover { color: var(--gold); }
.pcard__rating { display: inline-flex; align-items: center; gap: 5px; font-size: 0.78rem; margin-bottom: 6px; }
.pcard__rating svg { width: 14px; height: 14px; color: var(--gold); }
.pcard__rating span { color: var(--text-muted); }
.pcard__price { display: flex; gap: 4px 8px; align-items: baseline; flex-wrap: wrap; margin-top: auto; }
.pcard__price-label { font-size: 0.68rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-muted); font-weight: 500; }
.pcard__price-now { font-size: 1.08rem; font-weight: 700; color: var(--forest-ink); }
.pcard__price-was { font-size: 0.8rem; color: var(--sage); font-weight: 400; }
.pcard__off { font-size: 0.8rem; font-weight: 700; color: var(--forest-deep); }
.pcard__ship { display: flex; align-items: center; gap: 6px; margin-top: 9px; font-size: 0.76rem; color: var(--text-muted); }
.pcard__ship svg { width: 17px; height: 17px; color: var(--forest-deep); flex: none; }
.pcard__tax-note { display: block; font-size: 0.7rem; color: var(--text-muted); margin-top: 3px; }
@media (max-width: 520px) { .pcard__body { padding: 10px 11px 14px; } .pcard__price-now { font-size: 1rem; } }
/* END_SNIPPET:product-card */