/* Nirvana product page gallery (v3), details spec grid and card mini slider.
   Loaded after nirvana.css. Styles only the hooks rendered by templates/product.sg and snippets/product-card.sg;
   the gallery uses its own element classes (__rail, __thumbs, __thumb, __stage, __slides, __slide, __arrow, __counter, __pager)
   so none of the old mosaic rules (__track, __item, __dots) apply. */

/* ---------- Product gallery: phones and tablets (swipe track with dots) ---------- */
.nv-gallery { position: relative; min-width: 0; }
.nv-gallery__rail { display: none; }
.nv-gallery__stage { position: relative; min-width: 0; }
.nv-gallery__slides { position: relative; display: flex; gap: .5rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin-inline: -1rem; padding-inline: 1rem; }
.nv-gallery__slides::-webkit-scrollbar { display: none; }
.nv-gallery__slides:focus-visible { outline-offset: -2px; }
.nv-gallery__slide { position: relative; flex: 0 0 88%; margin: 0; overflow: hidden; border-radius: 8px; background: var(--nv-well); aspect-ratio: 1; scroll-snap-align: center; scroll-snap-stop: always; display: grid; place-items: center; }
.nv-gallery__slide img, .nv-gallery__slide video { width: 100%; height: 100%; object-fit: contain; }
.nv-gallery__slide video { background: var(--nv-well); }
.nv-gallery__slide--empty { color: var(--nv-line); }
.nv-gallery__arrow, .nv-gallery__counter { display: none; }
.nv-gallery__pager { display: flex; justify-content: center; gap: .4rem; margin-top: .75rem; }
.nv-gallery__pager button[hidden] { display: none; }
@media (max-width: 1023px) {
    .nv-gallery.has-many-photos .nv-gallery__counter { display: block; position: absolute; right: 1rem; bottom: 1rem; padding: .25rem .65rem; border-radius: 2px; color: var(--nv-ink); background: var(--nv-paper); font-size: .75rem; font-variant-numeric: tabular-nums; pointer-events: none; }
}
.nv-gallery__pager button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: var(--nv-line); cursor: pointer; transition: background-color var(--nv-fast) var(--nv-ease); }
.nv-gallery__pager button[aria-selected="true"] { background: var(--nv-ink); }
.nv-gallery:not(.has-many) .nv-gallery__pager { display: none; }
.nv-gallery:not(.is-ready) .nv-gallery__arrow, .nv-gallery:not(.is-ready) .nv-gallery__counter, .nv-gallery:not(.is-ready) .nv-gallery__pager { visibility: hidden; }
.nv-gallery__badges { left: 1.6rem; top: .6rem; }
@media (min-width: 640px) {
    .nv-gallery__slides { margin-inline: 0; padding-inline: 0; }
    .nv-gallery__slide { flex-basis: 100%; }
    .nv-gallery__badges { left: .6rem; }
}

/* ---------- Product gallery: desktop (thumbnail rail + square stage) ---------- */
@media (min-width: 1024px) {
    .nv-gallery { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 1rem; align-items: stretch; }
    .nv-gallery:not(.has-many) { grid-template-columns: minmax(0, 1fr); }
    .nv-gallery:not(.has-many) .nv-gallery__rail { display: none; }
    /* The rail is an empty grid item so the row height comes from the square stage; the scroller fills it absolutely. */
    .nv-gallery__rail { display: block; position: relative; min-height: 0; }
    .nv-gallery__thumbs { position: absolute; inset: -3px; display: flex; flex-direction: column; gap: .5rem; padding: 3px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; }
    .nv-gallery__thumbs::-webkit-scrollbar { display: none; }
    .nv-gallery__thumb { position: relative; flex: none; width: 72px; height: 72px; padding: 0; border: 0; border-radius: 4px; background: #fff; box-shadow: inset 0 0 0 1px var(--nv-line); cursor: pointer; overflow: hidden; transition: box-shadow var(--nv-fast) var(--nv-ease); }
    .nv-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
    .nv-gallery__thumb:hover { box-shadow: inset 0 0 0 1px var(--nv-ink); }
    .nv-gallery__thumb[aria-selected="true"] { box-shadow: inset 0 0 0 2px var(--nv-ink); }
    .nv-gallery__thumb:focus-visible { outline: 2px solid var(--nv-action); outline-offset: 1px; }
    .nv-gallery__play { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; }
    .nv-gallery__play svg { width: 24px; height: 24px; padding: 6px; border-radius: 999px; background: rgba(27, 25, 23, .78); }
    .nv-gallery__slides { gap: 0; overflow: hidden; border-radius: 4px; }
    .nv-gallery__slide { flex-basis: 100%; border-radius: 4px; background: #fff; box-shadow: inset 0 0 0 1px var(--nv-line); scroll-snap-align: start; }
    .nv-gallery__slide img { transition: transform 600ms var(--nv-ease); }
    .nv-gallery__arrow { position: absolute; top: 50%; z-index: 3; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-top: -22px; padding: 0; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--nv-ink); box-shadow: 0 2px 10px rgba(27, 25, 23, .14), inset 0 0 0 1px var(--nv-line); cursor: pointer; transition: background-color var(--nv-fast) var(--nv-ease), box-shadow var(--nv-fast) var(--nv-ease), transform var(--nv-fast) var(--nv-ease); }
    .nv-gallery__arrow--prev { left: .75rem; }
    .nv-gallery__arrow--next { right: .75rem; }
    .nv-gallery__arrow:hover { background: #fff; box-shadow: 0 4px 14px rgba(27, 25, 23, .18), inset 0 0 0 1px var(--nv-ink); }
    .nv-gallery__arrow:active { transform: scale(.96); }
    .nv-gallery:not(.has-many) .nv-gallery__arrow, .nv-gallery:not(.has-many) .nv-gallery__counter { display: none; }
    .nv-gallery__counter { position: absolute; right: .75rem; bottom: .75rem; z-index: 3; display: inline-flex; align-items: center; min-height: 26px; padding: 0 .6rem; border-radius: 999px; background: rgba(255, 255, 255, .92); box-shadow: inset 0 0 0 1px var(--nv-line); font-size: .6875rem; font-weight: 800; letter-spacing: .08em; color: var(--nv-ink); font-variant-numeric: tabular-nums; pointer-events: none; }
    .nv-gallery__pager { display: none; }
    .nv-gallery__badges { left: .75rem; top: .75rem; }
}
@media (min-width: 1024px) and (hover: hover) {
    .nv-gallery__stage:hover .nv-gallery__slide img { transform: scale(1.04); }
}

/* ---------- Details: intro paragraph and the Leather / Pockets / Measurements / Features spec grid ---------- */
.nv-accordion__body--specs { max-width: 80ch; }
.nv-specs > p:first-child { max-width: 62ch; font-size: 1.0625rem; line-height: 1.6; color: var(--nv-ink); }
.nv-specs dl { display: grid; grid-template-columns: minmax(0, 1fr); margin: 1.5rem 0 0; border-top: 1px solid var(--nv-line); }
.nv-specs dt { margin: 0; padding: 1rem 0 .3rem; font-size: .6875rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--nv-muted); }
.nv-specs dd { margin: 0; padding: 0 0 1rem; border-bottom: 1px solid var(--nv-line); font-size: .9375rem; line-height: 1.55; }
.nv-specs dd p { margin: 0; }
.nv-specs dd p + p { margin-top: .35em; }
.nv-specs dd ul, .nv-specs dd ol { margin: 0; padding-left: 1.1rem; }
@media (min-width: 768px) {
    .nv-specs dl { grid-template-columns: 180px minmax(0, 1fr); column-gap: 2rem; }
    .nv-specs dt { padding: 1rem 0; border-bottom: 1px solid var(--nv-line); }
    .nv-specs dd { padding: 1rem 0; }
}
/* Fallback for plain copy: headings and label-only paragraphs become spec labels, lists become hairline rows. */
.nv-specs h2, .nv-specs h3, .nv-specs h4, .nv-specs p:has(> strong:only-child) { margin: 1.5rem 0 .35rem; font-size: .6875rem; font-weight: 800; letter-spacing: .14em; line-height: 1.4; text-transform: uppercase; color: var(--nv-muted); }
.nv-specs p:has(> strong:only-child) strong { font-weight: 800; }
.nv-specs h2 + p, .nv-specs h3 + p, .nv-specs h4 + p, .nv-specs h2 + ul, .nv-specs h3 + ul, .nv-specs h4 + ul, .nv-specs p:has(> strong:only-child) + p, .nv-specs p:has(> strong:only-child) + ul { margin-top: 0; }
.nv-specs > ul, .nv-specs > ol { list-style: none; margin: .25rem 0 0; padding: 0; display: grid; gap: 0; }
.nv-specs > ul > li, .nv-specs > ol > li { position: relative; margin: 0; padding: .45rem 0 .45rem 1rem; border-bottom: 1px solid var(--nv-line); font-size: .9375rem; line-height: 1.5; }
.nv-specs > ul > li::before, .nv-specs > ol > li::before { content: ""; position: absolute; left: 0; top: 1.05em; width: 5px; height: 5px; border-radius: 999px; background: var(--nv-action); }
.nv-specs > p { font-size: .9375rem; }
.nv-specs > p:first-child { font-size: 1.0625rem; }

/* ---------- Product card: colour buttons, hover arrows and pager ---------- */
.nv-dots { position: relative; z-index: 2; }
.nv-dots li { display: flex; }
button.nv-dot { display: block; padding: 0; border: 0; cursor: pointer; transition: transform var(--nv-fast) var(--nv-ease), box-shadow var(--nv-fast) var(--nv-ease); }
button.nv-dot:hover { transform: scale(1.18); }
button.nv-dot[aria-pressed="true"] { box-shadow: inset 0 0 0 1px rgba(27, 25, 23, .14), 0 0 0 2px #fff, 0 0 0 3.5px var(--nv-ink); }
button.nv-dot:focus-visible { outline-offset: 2px; }
.nv-card__arrow { position: absolute; top: 50%; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin-top: -16px; padding: 0; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .94); color: var(--nv-ink); box-shadow: 0 1px 6px rgba(27, 25, 23, .16), inset 0 0 0 1px var(--nv-line); cursor: pointer; opacity: 0; pointer-events: none; transition: opacity var(--nv-fast) var(--nv-ease), background-color var(--nv-fast) var(--nv-ease), box-shadow var(--nv-fast) var(--nv-ease); }
.nv-card__arrow--prev { left: .6rem; }
.nv-card__arrow--next { right: .6rem; }
.nv-card__arrow:hover { background: #fff; box-shadow: 0 2px 10px rgba(27, 25, 23, .2), inset 0 0 0 1px var(--nv-ink); }
.nv-card__pager { position: absolute; left: 50%; bottom: 3.75rem; z-index: 2; display: inline-flex; gap: 4px; padding: 4px 6px; border-radius: 999px; background: rgba(255, 255, 255, .92); box-shadow: inset 0 0 0 1px var(--nv-line); transform: translateX(-50%); opacity: 0; pointer-events: none; transition: opacity var(--nv-fast) var(--nv-ease); }
.nv-card__pager[hidden] { display: none; }
.nv-card__pager i { display: block; width: 5px; height: 5px; border-radius: 999px; background: rgba(27, 25, 23, .28); transition: background-color var(--nv-fast) var(--nv-ease); }
.nv-card__pager i.is-active { background: var(--nv-ink); }
@media (hover: hover) and (pointer: fine) {
    .nv-card__media:hover .nv-card__arrow, .nv-card__media:focus-within .nv-card__arrow, .nv-card__arrow:focus-visible { opacity: 1; pointer-events: auto; }
    .nv-card__media:hover .nv-card__pager, .nv-card__media:focus-within .nv-card__pager { opacity: 1; }
    .nv-card.is-browsing.has-hover-image .nv-card__img--inside { opacity: 1; }
    .nv-card.is-browsing.has-hover-image .nv-card__img:not(.nv-card__img--inside) { opacity: 0; }
}
@media (hover: none) {
    .nv-card__arrow, .nv-card__pager { display: none; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
    .nv-gallery__stage:hover .nv-gallery__slide img { transform: none; }
    .nv-gallery__slide img, button.nv-dot { transition: none !important; }
    button.nv-dot:hover { transform: none; }
}

/* Spec table: the catalog builder emits <table class="nv-spec-table"> (the platform's rich-text
   sanitizer keeps table markup but strips dl/dt/dd). Stacked on phones, two columns from md. */
.nv-specs .nv-spec-table { width: 100%; margin: 1.5rem 0 0; border-collapse: collapse; border-top: 1px solid var(--nv-line); }
.nv-specs .nv-spec-table tr { display: block; border-bottom: 1px solid var(--nv-line); }
.nv-specs .nv-spec-table th { display: block; padding: 1rem 0 .3rem; text-align: left; font-size: .6875rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--nv-muted); }
.nv-specs .nv-spec-table td { display: block; padding: 0 0 1rem; font-size: .9375rem; line-height: 1.55; color: var(--nv-ink); }
@media (min-width: 768px) {
    .nv-specs .nv-spec-table tr { display: table-row; }
    .nv-specs .nv-spec-table th { display: table-cell; width: 180px; padding: 1rem 2rem 1rem 0; vertical-align: top; border-bottom: 1px solid var(--nv-line); }
    .nv-specs .nv-spec-table td { display: table-cell; padding: 1rem 0; vertical-align: top; border-bottom: 1px solid var(--nv-line); }
}

/* Owner rule (2026-10-08): product photos are used as shot, so cards show them edge to edge
   (cover) instead of letterboxing landscape frames inside the well. */
.nv-card__img { object-fit: cover; padding: 0; }
.nv-carousel__item .nv-card__img { object-fit: cover; padding: 0; }

/* ---------- Stars (buy box and reviews): grey track with a filled overlay sized by JS ---------- */
.nv-stars { position: relative; display: inline-block; font-size: 1rem; line-height: 1; letter-spacing: .12em; color: var(--nv-line); white-space: nowrap; }
.nv-stars::before { content: "â˜…â˜…â˜…â˜…â˜…"; }
.nv-stars__fill { position: absolute; inset: 0 auto 0 0; width: 0; overflow: hidden; color: var(--nv-action); }
.nv-stars__fill::before { content: "â˜…â˜…â˜…â˜…â˜…"; }
.nv-buy__rating { display: inline-flex; align-items: center; gap: .5rem; margin: .75rem 0 0; font-size: .875rem; color: var(--nv-muted); text-decoration: none; }
.nv-buy__rating strong { color: var(--nv-ink); font-variant-numeric: tabular-nums; }
.nv-buy__rating-count { text-decoration: underline; text-underline-offset: .2rem; }
.nv-buy__rating:hover .nv-buy__rating-count { color: var(--nv-ink); }

/* ---------- What it holds: facts from the spec table ---------- */
.nv-holds__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: 1px; margin: 1.5rem 0 0; border: 1px solid var(--nv-line); border-radius: 8px; overflow: hidden; background: var(--nv-line); }
.nv-holds__facts > div { padding: .9rem 1rem; background: var(--nv-paper, #fff); }
.nv-holds__facts dt { font-size: .6875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--nv-muted); }
.nv-holds__facts dd { margin: .3rem 0 0; font-size: 1rem; font-weight: 700; line-height: 1.35; color: var(--nv-ink); }
.nv-holds__label { margin: 1.5rem 0 0; font-size: .6875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--nv-muted); }
.nv-holds__list--pockets { margin-top: .5rem; }
.nv-holds__list--pockets li::first-letter { text-transform: uppercase; }

/* ---------- Card swatches without their own photos ---------- */
.nv-dot--nophoto { background-image: repeating-linear-gradient(135deg, transparent 0 3px, rgba(255, 255, 255, .55) 3px 5px); outline: 1px dashed var(--nv-muted); outline-offset: 1px; }
.nv-card__note { position: absolute; left: .75rem; right: .75rem; bottom: .75rem; z-index: 3; padding: .45rem .7rem; border-radius: 6px; background: rgba(20, 20, 20, .82); color: #fff; font-size: .75rem; font-weight: 600; text-align: center; pointer-events: none; }

/* ---------- Reviews ---------- */
.sg-theme-reviews.sg-review-nirvana { background: var(--nv-surface); border-top: 0; }
.sg-theme-reviews.sg-review-nirvana #product-reviews.nv-reviews { display: grid; gap: 2.5rem; max-width: 1400px !important; padding: clamp(3rem, 6vw, 5rem) clamp(1rem, 3vw, 2.5rem) !important; }
@media (min-width: 1024px) {
  .sg-theme-reviews.sg-review-nirvana #product-reviews.nv-reviews { grid-template-columns: minmax(18rem, 22rem) minmax(0, 1fr); gap: clamp(3rem, 6vw, 6rem); align-items: start; }
  .nv-reviews__summary { position: sticky; top: 7rem; }
}
.nv-reviews__summary .nv-lead { margin: 0 0 .5rem; }
.sg-theme-reviews #product-reviews.nv-reviews #product-reviews-title { margin: 0 0 1.75rem !important; font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.5rem) !important; }
.nv-reviews__score { display: flex; align-items: center; gap: 1rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--nv-line); }
.nv-reviews__average { font-size: clamp(3rem, 2.5rem + 2vw, 4rem); font-weight: 800; line-height: .9; letter-spacing: -.04em; color: var(--nv-ink); font-variant-numeric: tabular-nums; }
.nv-reviews__score-side { display: grid; gap: .4rem; }
.nv-reviews__score .nv-stars { font-size: 1.25rem; }
.nv-reviews__count { font-size: .8125rem; color: var(--nv-muted); }
.nv-reviews__bars { display: grid; gap: .2rem; margin: 1.25rem 0 0; }
.nv-reviews__bar { display: grid; grid-template-columns: 2.25rem 1fr 2rem; align-items: center; gap: .75rem; min-height: 36px; padding: 0 .5rem; margin: 0 -.5rem; border-radius: 6px; color: var(--nv-ink); font-size: .8125rem; font-weight: 600; text-decoration: none; font-variant-numeric: tabular-nums; transition: background-color .15s ease; }
.nv-reviews__bar:hover, .nv-reviews__bar:focus-visible { background: rgba(0, 0, 0, .04); }
.nv-reviews__bar.is-active { background: rgba(0, 0, 0, .06); box-shadow: inset 3px 0 0 var(--nv-action); }
.nv-reviews__bar.is-empty { color: var(--nv-muted); pointer-events: none; }
.nv-reviews__track { position: relative; height: 8px; border-radius: 999px; background: var(--nv-line); overflow: hidden; }
.nv-reviews__track-fill { position: absolute; inset: 0 auto 0 0; border-radius: inherit; background: var(--nv-action); }
.nv-reviews__bar-count { text-align: right; color: var(--nv-muted); }
.sg-theme-reviews #product-reviews.nv-reviews .nv-reviews__signin { margin: 1.5rem 0 0 !important; padding: 1rem 1.1rem; border: 1px solid var(--nv-line); border-radius: 8px; background: var(--nv-paper, #fff); font-size: .8125rem; color: var(--nv-muted); }
.nv-reviews__list { min-width: 0; }
.sg-theme-reviews #product-reviews.nv-reviews .nv-reviews__filters { display: flex !important; flex-wrap: wrap; align-items: end; justify-content: flex-end; gap: .75rem !important; margin: 0 0 1.25rem !important; padding: 0 0 1.25rem; border: 0; border-bottom: 1px solid var(--nv-line); border-radius: 0; background: none; }
.nv-reviews__showing { margin: 0 auto 0 0 !important; align-self: center; font-size: .9375rem; font-weight: 700; color: var(--nv-ink); }
.sg-theme-reviews #product-reviews.nv-reviews .nv-reviews__filters select { min-width: 10rem; min-height: 40px; padding: .5rem .8rem; border-radius: 999px; background: var(--nv-paper, #fff); }
.nv-reviews__apply { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.nv-reviews__apply:focus-visible { position: static !important; width: auto; height: auto; clip-path: none; }
.sg-theme-reviews #product-reviews.nv-reviews .nv-review { display: grid; gap: .6rem; margin: 0 0 1rem; padding: clamp(1.25rem, 2vw, 1.75rem) !important; border: 1px solid var(--nv-line) !important; border-radius: 12px; background: var(--nv-paper, #fff); }
.sg-theme-reviews #product-reviews.nv-reviews .nv-review > * { margin: 0 !important; }
.nv-review__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .25rem !important; }
.nv-review__who { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.nv-review__avatar { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; flex: none; border-radius: 999px; background: var(--nv-ink); color: #fff; font-size: .9375rem; font-weight: 700; }
.nv-review__meta { display: grid; gap: .1rem; min-width: 0; }
.nv-review__name { font-size: .9375rem; color: var(--nv-ink); }
.nv-review__verified { display: inline-flex; align-items: center; gap: .3rem; font-size: .75rem; color: #2f6b3a; }
.nv-review__verified::before { content: ""; width: .8rem; height: .8rem; border-radius: 999px; background: #2f6b3a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat; }
.sg-theme-reviews #product-reviews.nv-reviews .nv-review__stars { flex: none; font-size: 1rem !important; letter-spacing: .08em !important; }
.sg-theme-reviews #product-reviews.nv-reviews .nv-review > h3 { margin-top: .25rem !important; font-size: 1.0625rem; font-weight: 700; }
.sg-theme-reviews #product-reviews.nv-reviews .nv-review > p { font-size: .9375rem; line-height: 1.65; color: var(--nv-ink); }
.sg-theme-reviews #product-reviews.nv-reviews .nv-review__variant { justify-self: start; padding: .25rem .65rem; border-radius: 999px; background: var(--nv-surface); font-size: .75rem !important; font-weight: 600; color: var(--nv-muted) !important; }
.sg-theme-reviews #product-reviews.nv-reviews .nv-review__reply { margin-top: .5rem !important; padding: 1rem 1.1rem !important; border: 0 !important; border-left: 3px solid var(--nv-action) !important; border-radius: 0 8px 8px 0; background: var(--nv-surface) !important; font-size: .875rem; }
.sg-theme-reviews #product-reviews.nv-reviews .nv-review__reply strong { margin-bottom: .3rem; font-size: .8125rem; }
.sg-theme-reviews #product-reviews.nv-reviews .nv-review__reply p { margin: 0; color: var(--nv-muted); }
.sg-theme-reviews #product-reviews.nv-reviews .nv-reviews__empty { display: grid; justify-items: center; gap: .4rem; margin: 0 !important; padding: clamp(2rem, 4vw, 3.5rem) 1.5rem !important; border: 1px dashed var(--nv-line) !important; border-radius: 12px; background: var(--nv-paper, #fff) !important; text-align: center; color: var(--nv-muted); }
.nv-reviews__empty-stars { font-size: 1.5rem; letter-spacing: .15em; color: var(--nv-line); }
.nv-reviews__empty strong { font-size: 1.125rem; color: var(--nv-ink); }
@media (max-width: 639px) {
  .sg-theme-reviews #product-reviews.nv-reviews .nv-reviews__filters { display: grid !important; grid-template-columns: 1fr 1fr; }
  .nv-reviews__showing { grid-column: 1 / -1; }
  .sg-theme-reviews #product-reviews.nv-reviews .nv-reviews__filters select { min-width: 0; width: 100%; }
  .nv-review__head { align-items: flex-start; }
}

/* Nirvana campaign copy refresh: Bellroy-inspired hierarchy, sized for the real product photography. */
.nv-home .nv-hero__slide--woven .nv-hero__scrim,
.nv-home .nv-hero__slide--fanny .nv-hero__scrim,
.nv-home .nv-hero__slide--multi-diva .nv-hero__scrim,
.nv-home .nv-hero__slide--wallet .nv-hero__scrim,
.nv-home .nv-hero__slide--card-holder .nv-hero__scrim,
.nv-home .nv-hero__slide--case .nv-hero__scrim {
  display: block;
  background: linear-gradient(90deg, rgba(20,20,20,.48) 0%, rgba(20,20,20,.28) 25%, rgba(20,20,20,0) 57%);
}
.nv-home .nv-hero__slide--woven .nv-hero__copy,
.nv-home .nv-hero__slide--fanny .nv-hero__copy,
.nv-home .nv-hero__slide--multi-diva .nv-hero__copy,
.nv-home .nv-hero__slide--wallet .nv-hero__copy,
.nv-home .nv-hero__slide--card-holder .nv-hero__copy,
.nv-home .nv-hero__slide--case .nv-hero__copy {
  inset: 0 auto 0 6% !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: .8rem;
  width: min(39vw, 550px);
  max-width: 550px;
  padding: 2.5rem 0 4rem;
  transform: none !important;
  background: transparent;
  color: #fff;
}
.nv-home .nv-hero__eyebrow {
  display: block;
  margin: 0 0 .2rem;
  color: #f1c8a5;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1.35;
  text-transform: none;
}
.nv-home .nv-hero__title {
  max-width: 12ch;
  margin: 0;
  color: #fff;
  font-size: clamp(2.35rem, 3.2vw, 3.55rem);
  font-weight: 720;
  letter-spacing: -.045em;
  line-height: 1.02;
  text-transform: none;
  text-shadow: 0 2px 16px rgba(0,0,0,.2);
  text-wrap: balance;
}
.nv-home .nv-hero__text {
  max-width: 35ch;
  margin: 0;
  color: rgba(255,255,255,.94);
  font-size: clamp(.9rem, 1vw, 1.03rem);
  font-weight: 450;
  line-height: 1.55;
  text-shadow: 0 1px 10px rgba(0,0,0,.18);
}
.nv-home .nv-hero__slide--woven .nv-hero__actions,
.nv-home .nv-hero__slide--fanny .nv-hero__actions,
.nv-home .nv-hero__slide--multi-diva .nv-hero__actions,
.nv-home .nv-hero__slide--wallet .nv-hero__actions,
.nv-home .nv-hero__slide--card-holder .nv-hero__actions,
.nv-home .nv-hero__slide--case .nv-hero__actions {
  position: relative;
  inset: auto;
  display: block;
  margin-top: .35rem;
  pointer-events: auto;
}
.nv-home .nv-hero__cta {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nv-action,#9A5B2E);
  border-radius: 2px;
  background: var(--nv-action,#9A5B2E);
  color: #fff;
  padding: .7rem 1.25rem;
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .13em;
  line-height: 1.1;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .18s ease, border-color .18s ease;
}
.nv-home .nv-hero__cta:hover { border-color: #963f1c; background: #963f1c; color: #fff; }
.nv-home .nv-hero__cta:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

@media (max-width: 639px) {
  .nv-home .nv-hero__slide--woven .nv-hero__scrim,
  .nv-home .nv-hero__slide--fanny .nv-hero__scrim,
  .nv-home .nv-hero__slide--multi-diva .nv-hero__scrim,
  .nv-home .nv-hero__slide--wallet .nv-hero__scrim,
  .nv-home .nv-hero__slide--card-holder .nv-hero__scrim,
  .nv-home .nv-hero__slide--case .nv-hero__scrim {
    background: linear-gradient(0deg, rgba(22,21,20,.88) 0%, rgba(22,21,20,.62) 28%, rgba(22,21,20,.08) 65%, transparent 100%);
  }
  .nv-home .nv-hero__slide--woven .nv-hero__copy,
  .nv-home .nv-hero__slide--fanny .nv-hero__copy,
  .nv-home .nv-hero__slide--multi-diva .nv-hero__copy,
  .nv-home .nv-hero__slide--wallet .nv-hero__copy,
  .nv-home .nv-hero__slide--card-holder .nv-hero__copy,
  .nv-home .nv-hero__slide--case .nv-hero__copy {
    inset: auto 0 0 !important;
    display: flex;
    justify-content: flex-end;
    gap: .45rem;
    width: 100%;
    max-width: none;
    padding: 1rem 1.15rem 3.5rem;
    transform: none !important;
  }
  .nv-home .nv-hero__eyebrow { margin-bottom: .05rem; font-size: .58rem; letter-spacing: .16em; }
  .nv-home .nv-hero__title { max-width: 15ch; font-size: clamp(1.55rem, 7.2vw, 2rem); font-weight: 650; line-height: 1.06; letter-spacing: -.035em; text-transform: none; }
  .nv-home .nv-hero__text { max-width: 34ch; font-size: .82rem; line-height: 1.45; }
  .nv-home .nv-hero__actions { margin-top: .25rem; }
  .nv-home .nv-hero__cta { min-height: 40px; padding: .62rem 1rem; font-size: .62rem; letter-spacing: .12em; }
  .nv-home .nv-hero__slide--woven img,
  .nv-home .nv-hero__slide--fanny img,
  .nv-home .nv-hero__slide--multi-diva img,
  .nv-home .nv-hero__slide--wallet img,
  .nv-home .nv-hero__slide--card-holder img,
  .nv-home .nv-hero__slide--case img { object-position: 73% center; }
}
.sg-theme-reviews #product-reviews.nv-reviews .nv-review__stars > span { color: var(--nv-action) !important; }
.sg-theme-reviews #product-reviews.nv-reviews .nv-reviews__filters label { display: grid; gap: .35rem; font-size: .6875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--nv-muted); }

/* The name link's stretched hit area covers the text block only (the photo has its own link), so the photo gets real
   hover for the inside view, arrows and quick view; the colour dots sit above the hit area. */
.nv-card__body { position: relative; }
.nv-card__body .nv-dots { position: relative; z-index: 2; }

/* Final local hero override: keep the approved studio art; only refine copy hierarchy. */
.nv-home [data-nv-hero-slide] .nv-hero__scrim {
  display: block !important;
  background: linear-gradient(90deg,rgba(18,18,18,.44) 0%,rgba(18,18,18,.24) 27%,transparent 58%) !important;
}
.nv-home [data-nv-hero-slide] .nv-hero__copy {
  position: absolute !important;
  inset: 0 auto 0 6% !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: .65rem;
  width: min(40vw,540px) !important;
  max-width: 540px !important;
  padding: 2rem 0 3rem !important;
  transform: none !important;
  background: transparent !important;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}
.nv-home [data-nv-hero-slide] .nv-hero__eyebrow {
  display: block !important;
  margin: 0 0 .1rem;
  color: #f1c8a5;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.35;
  text-transform: uppercase;
}
.nv-home [data-nv-hero-slide] .nv-hero__title {
  max-width: 13ch;
  margin: 0;
  color: #fff;
  font-size: clamp(2.15rem,3vw,3.25rem) !important;
  font-weight: 650 !important;
  letter-spacing: -.04em !important;
  line-height: 1.04 !important;
  text-transform: none !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.2);
  text-wrap: balance;
}
.nv-home [data-nv-hero-slide] .nv-hero__text {
  max-width: 36ch;
  margin: 0;
  color: rgba(255,255,255,.96);
  font-size: clamp(.9rem,1vw,1rem) !important;
  font-weight: 450;
  line-height: 1.5 !important;
  text-shadow: 0 1px 10px rgba(0,0,0,.18);
}
.nv-home [data-nv-hero-slide] .nv-hero__actions {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  margin-top: .3rem !important;
  pointer-events: auto !important;
}
.nv-home [data-nv-hero-slide] .nv-hero__title,
.nv-home [data-nv-hero-slide] .nv-hero__text,
.nv-home [data-nv-hero-slide] .nv-hero__eyebrow { pointer-events: none !important; user-select: none !important; }
.nv-home [data-nv-hero-slide] .nv-hero__cta {
  min-height: 42px;
  padding: .65rem 1.1rem;
  border: 1px solid var(--nv-action,#9A5B2E);
  border-radius: 3px;
  background: var(--nv-action,#9A5B2E);
  color: #fff;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-decoration: none;
  text-transform: uppercase;
  pointer-events: auto !important;
  cursor: pointer;
}
@media (max-width: 639px) {
  .nv-home [data-nv-hero-slide] .nv-hero__scrim {
    background: linear-gradient(0deg,rgba(22,21,20,.82) 0%,rgba(22,21,20,.54) 31%,rgba(22,21,20,.08) 66%,transparent 100%) !important;
  }
  .nv-home [data-nv-hero-slide] .nv-hero__copy {
    inset: auto 0 0 !important;
    justify-content: flex-end;
    gap: .42rem;
    width: 100% !important;
    max-width: none !important;
    padding: 1rem 1rem 3.45rem !important;
  }
  .nv-home [data-nv-hero-slide] .nv-hero__eyebrow { font-size: .56rem; letter-spacing: .14em; }
  .nv-home [data-nv-hero-slide] .nv-hero__title { max-width: 16ch; font-size: clamp(1.5rem,6.5vw,1.9rem) !important; line-height: 1.08 !important; }
  .nv-home [data-nv-hero-slide] .nv-hero__text { max-width: 34ch; font-size: .82rem !important; line-height: 1.42 !important; }
  .nv-home [data-nv-hero-slide] .nv-hero__cta { min-height: 40px; padding: .6rem .95rem; font-size: .62rem; }
}

/* Bag button (replaces the Quick view label): always visible, bottom-right of the photo; opens the product modal. */
.nv-card__bag { position: absolute; right: .65rem; bottom: .65rem; z-index: 3; display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .96); color: var(--nv-ink); box-shadow: 0 2px 10px rgba(27, 25, 23, .14), inset 0 0 0 1px var(--nv-line); cursor: pointer; transition: background-color var(--nv-fast) var(--nv-ease), color var(--nv-fast) var(--nv-ease), transform var(--nv-fast) var(--nv-ease); }
.nv-card__bag:hover, .nv-card__bag:focus-visible { background: var(--nv-ink); color: #fff; transform: scale(1.06); }
.nv-card__bag:focus-visible { outline: 2px solid var(--nv-action); outline-offset: 2px; }
.nv-card__bag svg { width: 20px; height: 20px; }
/* The touch "Inside" chip moves left so it never sits under the bag button. */
.nv-card__inside { right: auto; left: .6rem; }
.nv-card .nv-card__note { right: 4rem; }
.nv-card__pager { bottom: 1.15rem; }

/* ---------- Compact cards (2026-10-08 pass) ----------
   The customer's photos are 2000px squares: a square well shows the whole product with no crop and keeps rows short. */
.nv-card__media { aspect-ratio: 1 / 1; border-radius: 8px; background: #fff; }
.nv-card__img, .nv-carousel__item .nv-card__img { object-fit: cover; padding: 0; }
.nv-dot--nophoto { background-image: none; outline: 0; opacity: .55; }
.nv-card__bag { width: 36px; height: 36px; right: .5rem; bottom: .5rem; }
.nv-card__bag svg { width: 17px; height: 17px; }
.nv-card__body { gap: .15rem; padding-top: .6rem; }
.nv-card__capacity { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
@media (max-width: 639px) {
  .nv-card__bag { width: 32px; height: 32px; right: .4rem; bottom: .4rem; }
  .nv-card__bag svg { width: 15px; height: 15px; }
  .nv-card__body { padding-top: .5rem; }
  .nv-card__name { font-size: .875rem; line-height: 1.25; }
  .nv-card__capacity { font-size: .75rem; }
  .nv-card__price { font-size: .875rem; }
  .nv-dots { gap: .3rem; margin-bottom: .15rem; }
  .nv-dot { width: 14px; height: 14px; }
  .nv-card__note { left: .4rem; right: 2.6rem; bottom: .4rem; padding: .3rem .45rem; font-size: .6875rem; }
  .nv-card__badges { left: .4rem; top: .4rem; }
}

/* Card photos are shown whole, never cropped (the customer's set mixes 1:1, 2:3 and 3:2 shots): contain inside the square
   well, on a light grey close to the photos' own backdrop so the bands read as part of the shot. Files are used as is. */
.nv-card__media { background: #ECECEC; }
.nv-card__img, .nv-carousel__item .nv-card__img { object-fit: contain; padding: 0; }
/* Touch: no "Inside" chip; swipe the photo left or right instead (nirvana-product.js), with the pager dots showing position. */
.nv-card__inside { display: none !important; }
.nv-card__media { touch-action: pan-y; }
.nv-card.is-browsing.has-hover-image .nv-card__img--inside { opacity: 1; }
.nv-card.is-browsing.has-hover-image .nv-card__img:not(.nv-card__img--inside) { opacity: 0; }
@media (hover: none) {
  .nv-card__pager { display: inline-flex; opacity: 1; bottom: .55rem; padding: 3px 5px; }
  .nv-card__pager[hidden] { display: none; }
}

/* Colour dots: each is a 20px button with the 12px swatch centred inside, so the selected ring (a thin ink circle at the
   button edge with a white gap) never extends past the card and is never clipped. */
.nv-dots { gap: .1rem; margin-left: 0; }
button.nv-dot, .nv-dot { position: relative; width: 20px; height: 20px; padding: 0; border-radius: 999px; background: transparent !important; box-shadow: none !important; transform: none !important; }
button.nv-dot::before { content: ""; position: absolute; inset: 4px; border-radius: 999px; background: var(--swatch, #CFC7BA); box-shadow: inset 0 0 0 1px rgba(27, 25, 23, .16); transition: transform var(--nv-fast) var(--nv-ease); }
button.nv-dot:hover::before { transform: scale(1.12); }
button.nv-dot[aria-pressed="true"] { box-shadow: inset 0 0 0 1.5px var(--nv-ink) !important; }
button.nv-dot[aria-pressed="true"]::before { transform: none; }
.nv-dot--nophoto { opacity: 1; }
.nv-dot--nophoto::before { opacity: .5; }
@media (max-width: 639px) { .nv-dot, button.nv-dot { width: 20px; height: 20px; } .nv-dots { gap: .05rem; } }
@media (prefers-reduced-motion: reduce) { button.nv-dot::before { transition: none; } button.nv-dot:hover::before { transform: none; } }
/* Selected colour, quieter (Bellroy-like): a hairline soft ring, swatch unchanged. */
button.nv-dot[aria-pressed="true"] { box-shadow: inset 0 0 0 1px rgba(27, 25, 23, .38) !important; }
/* The second (hover/swipe) photo has no src until the visitor hovers or swipes (nirvana-product.js sets it), halving card downloads. */
.nv-card__img--inside:not([src]) { visibility: hidden; }

/* Site-wide editorial typography: Bellroy-inspired clarity, kept in Nirvana's own voice.
   The locally hosted Manrope face is intentional; no third-party font or copy is imported. */
:root {
  --nv-type-body: var(--nv-font-sans, "Manrope"), ui-sans-serif, system-ui, sans-serif;
  --nv-type-tracking: -.035em;
}
html,
body,
button,
input,
select,
textarea { font-family: var(--nv-type-body); font-feature-settings: "kern" 1, "liga" 1; }
body { font-size: 15.5px; line-height: 1.66; }
.nv-h1,
.nv-h2,
.nv-h3,
.nv-buy__title,
.nv-newsletter__title,
.nv-service-heading h2,
.nv-service-editorial__copy h2,
.nv-service-enquiry h2,
.nv-service-hero__copy h1 {
  font-weight: 650;
  letter-spacing: -.035em;
  line-height: 1.08;
  text-wrap: balance;
}
.nv-h1 { letter-spacing: -.045em; }
.nv-h2,
.nv-service-heading h2,
.nv-service-editorial__copy h2,
.nv-service-enquiry h2 { letter-spacing: -.04em; }
.nv-h3,
.nv-service-cards h3,
.nv-service-steps h3 { font-weight: 650; letter-spacing: -.025em; }
.nv-page__intro,
.nv-service-hero__copy > p:not(.nv-service-eyebrow),
.nv-service-editorial__copy > p:not(.nv-service-eyebrow),
.nv-service-card__body p { line-height: 1.65; }
.nv-nav__link { font-size: .9rem; font-weight: 600; letter-spacing: -.01em; }
.nv-mega__list a { font-weight: 500; letter-spacing: -.01em; }
.nv-sheet__link,
.nv-sheet__group summary { font-weight: 650; letter-spacing: -.015em; }
.nv-card__name { font-size: .9375rem; font-weight: 600; letter-spacing: -.01em; line-height: 1.4; }
.nv-card__capacity { font-size: .8125rem; line-height: 1.5; }
.nv-card__price { font-size: .9375rem; font-weight: 650; letter-spacing: -.01em; }
.nv-price--lg { font-weight: 700; letter-spacing: -.035em; }
.nv-hero__title { max-width: 11ch; font-size: clamp(3rem, 2rem + 3vw, 4.6rem); font-weight: 600; letter-spacing: -.045em; line-height: 1; text-transform: uppercase; }
.nv-hero__text { max-width: 34ch; font-size: clamp(1rem, .9rem + .3vw, 1.15rem); font-weight: 450; line-height: 1.65; }
.nv-service-hero__copy h1 { font-weight: 600; }
.nv-service-switch .nv-service-tabs a { font-weight: 650; letter-spacing: -.015em; }
.nv-footer__nav strong { font-size: .6875rem; letter-spacing: .15em; }
.nv-ribbon { font-size: .6875rem; font-weight: 550; letter-spacing: .045em; }
.nv-ribbon p { padding-block: .48rem; }
.nv-header__bar { border-bottom-color: rgba(27,25,23,.1); box-shadow: none; }
.nv-header.is-scrolled .nv-header__bar { box-shadow: 0 5px 18px rgba(27,25,23,.045); }
.nv-header__row { min-height: 64px; }
.nv-logo img { max-height: 42px; }
.nv-nav { gap: .35rem; }
.nv-nav__link { min-height: 46px; padding-inline: .72rem; font-size: .82rem; font-weight: 600; letter-spacing: .005em; }
.nv-nav__toggle { margin-left: -.5rem; }
.nv-header__actions .nv-iconbtn { width: 40px; height: 40px; }
.nv-header__actions { gap: .2rem; }
.nv-ribbon .nv-shell { text-align: center; }
.nv-mega { border-top-color: rgba(27,25,23,.06); box-shadow: 0 22px 45px rgba(27,25,23,.1); }
.nv-mega__grid { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.1fr); gap: clamp(1.5rem,3vw,3rem); padding-block: 1.65rem 1.8rem; }
.nv-mega__feature-wrap { min-width: 0; }
.nv-mega__features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; }
.nv-mega__feature-group { min-width: 0; }
.nv-mega__feature { min-width: 0; gap: .75rem; }
.nv-mega__feature-media { aspect-ratio: 1.35; border-radius: 4px; background: #f1efec; }
.nv-mega__title { margin-bottom: .85rem; }
.nv-mega__feature-media img { transition: transform 400ms cubic-bezier(.22,1,.36,1), filter 220ms ease; }
.nv-mega__feature:hover .nv-mega__feature-media img { transform: scale(1.03); filter: brightness(1.05); }
@media (max-width: 1279px) { .nv-mega__features { grid-template-columns: minmax(0,1fr); } }
.nv-stories { padding-block: clamp(2.75rem,4vw,4rem); }
.nv-story { border: 0; border-radius: 10px; transition: none; }
.nv-story img { transition: filter 220ms ease; }
.nv-story:hover img { transform: none; filter: brightness(1.055) saturate(.96); }
.nv-story:hover { border: 0; box-shadow: none; }
.nv-story::after { transition: background 220ms ease; }
.nv-story:hover::after { background: linear-gradient(to top,rgba(10,12,16,.73) 0%,rgba(10,12,16,.12) 53%,rgba(10,12,16,0) 100%); }
.nv-stories .nv-rail__arrow--side { width: 42px; height: 54px; border: 0; border-radius: 0; background: transparent; color: var(--nv-ink); box-shadow: none; }
.nv-stories .nv-rail__arrow--side:hover { background: rgba(239,235,229,.78); color: var(--nv-ink); }
.nv-stories .nv-rail__arrow--side svg { width: 24px; height: 24px; }
.nv-stories .nv-rail__arrow--prev { left: -2.75rem; }
.nv-stories .nv-rail__arrow--next { right: -2.75rem; }
.nv-stories .nv-story { border-radius: 9px; }
@media (max-width: 639px) {
  .nv-card__name { font-size: .875rem; }
  .nv-hero__title { max-width: 13ch; font-size: clamp(1.9rem, 6.4vw, 2.35rem); font-weight: 600; letter-spacing: -.04em; line-height: 1.04; }
  .nv-hero__text { font-size: .9rem; line-height: 1.6; }
  .nv-ribbon { font-size: .65rem; letter-spacing: .025em; }
  .nv-header__row { min-height: 62px; }
  .nv-logo img { max-height: 37px; }
  .nv-ribbon .nv-shell { text-align: center; }
  .nv-hero__slide--weave img { object-position: 80% center; }
  .nv-hero__slide--yellow img { object-position: 72% center; }
  .nv-hero__slide--small-goods img { object-position: 72% center; }
  .nv-stories .nv-rail__arrow--side { width: 36px; height: 44px; }
  .nv-stories .nv-rail__arrow--side svg { width: 20px; height: 20px; }
  .nv-stories .nv-rail__arrow--prev { left: -.8rem; }
  .nv-stories .nv-rail__arrow--next { right: -.8rem; }
}

/* Luxury editorial pass: tactile finish gallery and one focused product story. */
.nv-material { background: #f4f0ea; }
.nv-material__grid { grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: clamp(2.5rem,6vw,6rem); padding-block: clamp(4rem,7vw,7rem); }
.nv-material__copy { max-width: 34rem; }
.nv-material__title { max-width: 9ch; font-size: clamp(2.65rem,4.2vw,4.35rem); font-weight: 560; letter-spacing: -.065em; line-height: .99; }
.nv-material__intro { margin-top: 1.35rem; max-width: 38ch; font-size: 1rem; font-weight: 450; line-height: 1.75; }
.nv-material__signature { margin: 2rem 0 0; padding-top: 1.1rem; border-top: 1px solid rgba(27,25,23,.17); font-size: .65rem; font-weight: 750; letter-spacing: .12em; line-height: 1.8; text-transform: uppercase; color: var(--nv-ink); }
.nv-material__signature span { padding-inline: .35rem; color: var(--nv-action); }
.nv-material .nv-link--arrow { margin-top: 1.35rem; }
.nv-finishes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); grid-template-rows: repeat(2,clamp(145px,13vw,205px)); gap: .65rem; margin: 0; padding: 0; overflow: visible; }
.nv-finish { min-height: 0; border-radius: 2px; background: #e9e4dc; aspect-ratio: auto; }
.nv-finish:first-child { grid-column: span 2; grid-row: span 2; }
.nv-finish img { transition: none; }
.nv-finish::after { position: absolute; inset: 0; content: ''; background: linear-gradient(180deg,transparent 58%,rgba(21,19,17,.48) 100%); pointer-events: none; }
.nv-finish__chip { left: .9rem; bottom: .8rem; min-height: 0; padding: 0; border-radius: 0; background: transparent; color: #fff; font-size: .625rem; font-weight: 750; letter-spacing: .16em; text-shadow: 0 1px 8px rgba(0,0,0,.26); }
.nv-finish:last-child { background: #eeeae4; }
.nv-finish:last-child img { object-fit: contain; padding: .75rem; mix-blend-mode: multiply; }
.nv-campaign { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: 0; margin: 0; padding: 0; overflow: hidden; border-radius: 3px; background: #eee8df; color: var(--nv-ink); text-decoration: none; }
.nv-campaign__copy-panel { display: flex; align-items: center; min-width: 0; }
.nv-campaign__copy { position: static; display: flex; align-items: flex-start; justify-content: center; gap: 1.1rem; width: 100%; max-width: 39rem; padding: clamp(2.5rem,5vw,5.5rem); }
.nv-campaign__eyebrow { margin: 0; color: var(--nv-action); font-size: .65rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.nv-campaign__headline { max-width: 8ch; font-size: clamp(3rem,4.7vw,5.4rem); font-weight: 560; letter-spacing: -.07em; line-height: .96; color: var(--nv-ink); }
.nv-campaign__text { max-width: 31ch; font-size: 1rem; font-weight: 450; line-height: 1.7; }
.nv-campaign__link { margin-top: .5rem; text-decoration: none; }
.nv-campaign__visual { position: relative; min-width: 0; min-height: clamp(420px,46vw,650px); overflow: hidden; background: #e7e1d8; }
.nv-campaign__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; padding: 0; mix-blend-mode: multiply; transform: scale(1.2); transition: none; }
.nv-campaign:hover .nv-campaign__visual img { transform: scale(1.2); }
@media (min-width: 640px) { .nv-finishes { grid-template-rows: repeat(2,clamp(155px,13vw,205px)); margin: 0; padding: 0; } }
@media (max-width: 1023px) {
  .nv-material__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .nv-material__copy { max-width: 42rem; }
  .nv-finishes { max-width: 52rem; }
}
@media (max-width: 639px) {
  .nv-material__grid { padding-block: 3.25rem; gap: 2rem; }
  .nv-material__title { max-width: 10ch; font-size: clamp(2.35rem,10vw,3.1rem); }
  .nv-material__intro { margin-top: 1rem; font-size: .9375rem; }
  .nv-material__signature { margin-top: 1.35rem; font-size: .58rem; letter-spacing: .09em; }
  .nv-finishes { display: flex; gap: .65rem; margin-inline: -1rem; padding: 0 1rem 2px; overflow-x: auto; }
  .nv-finish, .nv-finish:first-child { flex: 0 0 76%; grid-column: auto; grid-row: auto; aspect-ratio: 4/3; }
  .nv-finish__chip { left: .8rem; bottom: .75rem; }
  .nv-campaign { grid-template-columns: 1fr; }
  .nv-campaign__visual { order: -1; min-height: 0; aspect-ratio: 1.18; }
  .nv-campaign__visual img { transform: scale(1.15); }
  .nv-campaign:hover .nv-campaign__visual img { transform: scale(1.15); }
  .nv-campaign__copy { gap: .85rem; padding: 2rem 1.4rem 2.25rem; }
  .nv-campaign__headline { max-width: 9ch; font-size: clamp(2.8rem,12vw,3.7rem); }
  .nv-campaign__text { font-size: .9375rem; }
}

/* Materials section rewrite: editorial title row followed by one uninterrupted tactile gallery. */
.nv-material { background: linear-gradient(118deg,#d5d5d4 0%,#ededec 58%,#dededd 100%); }
.nv-material__grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 2.25rem; padding-block: clamp(3.75rem,6vw,6rem); }
.nv-material__heading-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,.58fr); align-items: end; gap: clamp(2rem,5vw,5rem); }
.nv-material__copy { max-width: 52rem; }
.nv-material__title { max-width: 17ch; font-size: clamp(2.55rem,3.8vw,4rem); font-weight: 550; letter-spacing: -.065em; line-height: 1; }
.nv-material__aside { max-width: 37rem; padding-bottom: .3rem; }
.nv-material__intro { margin: 0; max-width: 48ch; font-size: 1rem; font-weight: 450; line-height: 1.75; }
.nv-material__signature { margin: 1.1rem 0 0; color: var(--nv-muted); font-size: .62rem; font-weight: 750; letter-spacing: .13em; line-height: 1.7; text-transform: uppercase; }
.nv-material__signature span { padding-inline: .3rem; color: var(--nv-action); }
.nv-material .nv-link--arrow { margin-top: 1rem; }
.nv-finishes { display: grid; grid-template-columns: minmax(0,1.8fr) repeat(4,minmax(0,1fr)); grid-template-rows: none; gap: .75rem; height: clamp(300px,30vw,430px); margin: 0; padding: 0; overflow: visible; }
.nv-finishes[data-nv-finish-count] .nv-finish { grid-column: auto; grid-row: auto; min-width: 0; height: 100%; border-radius: 2px; background: #ebe6df; }
.nv-finishes[data-nv-finish-count] .nv-finish img { object-fit: cover; transition: none; }
.nv-finishes[data-nv-finish-count] .nv-finish::after { position: absolute; inset: 0; content: ''; background: linear-gradient(180deg,transparent 68%,rgba(21,19,17,.52) 100%); pointer-events: none; }
.nv-finishes[data-nv-finish-count] .nv-finish__chip { left: 1rem; bottom: .9rem; min-height: 0; padding: 0; border-radius: 0; background: transparent; color: #fff; font-size: .62rem; font-weight: 750; letter-spacing: .16em; text-shadow: 0 1px 9px rgba(0,0,0,.3); }
.nv-finishes[data-nv-finish-count] .nv-finish:last-child { background: #eeebe6; }
.nv-finishes[data-nv-finish-count="5"] .nv-finish:nth-child(n+4) { grid-column: auto; }
.nv-finishes[data-nv-finish-count] .nv-finish:last-child img { object-fit: contain; padding: .35rem; mix-blend-mode: multiply; transform: scale(1.9); }
@media (max-width: 1023px) {
  .nv-material__heading-row { grid-template-columns: minmax(0,1fr) minmax(16rem,.7fr); gap: 2rem; }
  .nv-finishes { display: flex; height: auto; gap: .65rem; margin-inline: -1rem; padding: 0 1rem 4px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .nv-finishes::-webkit-scrollbar { display: none; }
  .nv-finishes[data-nv-finish-count] .nv-finish { flex: 0 0 44%; height: auto; aspect-ratio: 1.16; scroll-snap-align: start; }
}
@media (max-width: 639px) {
  .nv-material__grid { gap: 1.7rem; padding-block: 3rem; }
  .nv-material__heading-row { grid-template-columns: 1fr; gap: .8rem; }
  .nv-material__title { max-width: 13ch; font-size: clamp(2.35rem,9vw,3rem); }
  .nv-material__aside { max-width: 42rem; }
  .nv-material__intro { font-size: .9375rem; line-height: 1.65; }
  .nv-material__signature { margin-top: .85rem; font-size: .57rem; letter-spacing: .09em; }
  .nv-finishes { padding-bottom: 2px; }
  .nv-finishes[data-nv-finish-count] .nv-finish { flex-basis: 78%; }
  .nv-finishes[data-nv-finish-count] .nv-finish__chip { left: .8rem; bottom: .75rem; }
  .nv-finishes[data-nv-finish-count] .nv-finish:last-child img { transform: scale(2); }
  .nv-hero__slide--weave img { object-position: 82% center; }
}

/* Nirvana campaign set: pearl-grey studio ground, product-led copy and no shouty all-caps. */
.nv-home .nv-hero__slide { background: #d7d7d6; }
.nv-home .nv-hero__scrim { background: linear-gradient(90deg,rgba(18,18,18,.24) 0%,rgba(18,18,18,.11) 30%,rgba(18,18,18,0) 57%); }
.nv-home .nv-hero__copy { gap: 1rem; color: #fff; }
.nv-home .nv-hero__title { max-width: 10ch; color: #fff; font-size: clamp(3rem,4.8vw,5.65rem); font-weight: 720; letter-spacing: -.058em; line-height: .98; text-transform: none; text-shadow: 0 2px 20px rgba(0,0,0,.12); text-wrap: balance; }
.nv-home .nv-hero__text { max-width: 34ch; color: rgba(255,255,255,.94); font-size: clamp(1rem,.9rem + .35vw,1.2rem); line-height: 1.55; text-shadow: 0 1px 12px rgba(0,0,0,.16); }
.nv-home .nv-hero__eyebrow { display: none; }
.nv-home .nv-hero__actions { margin-top: .35rem; }
.nv-home .nv-hero__slide--woven .nv-hero__scrim,
.nv-home .nv-hero__slide--fanny .nv-hero__scrim,
.nv-home .nv-hero__slide--multi-diva .nv-hero__scrim,
.nv-home .nv-hero__slide--wallet .nv-hero__scrim,
.nv-home .nv-hero__slide--card-holder .nv-hero__scrim,
.nv-home .nv-hero__slide--case .nv-hero__scrim { display: none; }
.nv-home .nv-hero__slide--woven .nv-hero__copy,
.nv-home .nv-hero__slide--fanny .nv-hero__copy,
.nv-home .nv-hero__slide--multi-diva .nv-hero__copy,
.nv-home .nv-hero__slide--wallet .nv-hero__copy,
.nv-home .nv-hero__slide--card-holder .nv-hero__copy,
.nv-home .nv-hero__slide--case .nv-hero__copy { inset: 0; display: block; width: auto; max-width: none; padding: 0; transform: none; background: transparent; }
.nv-home .nv-hero__slide--woven .nv-hero__actions,
.nv-home .nv-hero__slide--fanny .nv-hero__actions,
.nv-home .nv-hero__slide--multi-diva .nv-hero__actions,
.nv-home .nv-hero__slide--wallet .nv-hero__actions,
.nv-home .nv-hero__slide--card-holder .nv-hero__actions,
.nv-home .nv-hero__slide--case .nv-hero__actions { position: absolute; inset: 0; margin: 0; pointer-events: none; }
.nv-home .nv-hero__baked-link { position: absolute; left: 5%; top: 58%; width: 31%; height: 14%; display: block; overflow: hidden; padding: 0; border: 0; background: transparent; color: transparent; font-size: 1px; line-height: 1; opacity: 0; pointer-events: auto; }
.nv-home .nv-hero__slide--woven .nv-hero__baked-link { top: 59%; }
.nv-home .nv-hero__slide--fanny .nv-hero__baked-link { top: 60%; }
.nv-home .nv-hero__slide--multi-diva .nv-hero__baked-link { top: 61%; }
.nv-home .nv-hero__slide--wallet .nv-hero__baked-link { top: 58%; }
.nv-home .nv-hero__slide--card-holder .nv-hero__baked-link { top: 53%; }
.nv-home .nv-hero__slide--case .nv-hero__baked-link { top: 57%; }
.nv-home .nv-hero__baked-link:focus-visible { opacity: 1; outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 6px var(--nv-action); }
@media (max-width: 639px) {
  .nv-home .nv-hero__scrim { display: none; }
  .nv-home .nv-hero__copy { gap: .6rem; padding: 1.2rem 1.1rem 1.45rem; background: linear-gradient(110deg,#d1d1d0,#e9e9e8); color: var(--nv-ink); }
  .nv-home .nv-hero__title { max-width: 14ch; color: var(--nv-ink); font-size: clamp(1.9rem,7vw,2.45rem); font-weight: 720; letter-spacing: -.045em; line-height: 1.04; text-shadow: none; }
  .nv-home .nv-hero__text { max-width: 36ch; color: var(--nv-muted); font-size: .9rem; text-shadow: none; }
  .nv-home .nv-hero__slide--wallet img,
  .nv-home .nv-hero__slide--case img,
  .nv-home .nv-hero__slide--woven img,
  .nv-home .nv-hero__slide--fanny img,
  .nv-home .nv-hero__slide--multi-diva img,
  .nv-home .nv-hero__slide--card-holder img { object-position: 73% center; }
}

/* Mobile campaign art stays full-bleed: all product copy lives on the image. */
@media (max-width: 639px) {
  .nv-home .nv-hero__slide {
    display: block;
    position: relative;
    aspect-ratio: 4 / 5;
    max-height: 78svh;
    overflow: hidden;
    background: #d7d7d6;
  }
  .nv-home .nv-hero__slide picture {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    overflow: hidden;
  }
  .nv-home [data-nv-hero-slide] img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 72% center;
  }
  .nv-home .nv-hero__scrim {
    display: block;
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(16,16,17,.78) 0%, rgba(16,16,17,.58) 28%, rgba(16,16,17,.2) 53%, rgba(16,16,17,0) 72%);
  }
  .nv-home .nv-hero__copy {
    position: absolute;
    inset: auto 0 0;
    z-index: 1;
    display: grid;
    justify-items: start;
    gap: .55rem;
    width: 100%;
    padding: 1.25rem 1.2rem 3.65rem;
    background: transparent;
    color: #fff;
  }
  .nv-home .nv-hero__title {
    max-width: 13ch;
    color: #fff;
    font-size: clamp(1.85rem, 7.2vw, 2.55rem);
    font-weight: 700;
    letter-spacing: -.05em;
    line-height: 1;
    text-shadow: 0 2px 18px rgba(0,0,0,.2);
  }
  .nv-home .nv-hero__text {
    max-width: 32ch;
    color: rgba(255,255,255,.94);
    font-size: .9rem;
    line-height: 1.5;
    text-shadow: 0 1px 10px rgba(0,0,0,.18);
  }
  .nv-home .nv-hero__actions { margin-top: .25rem; }
  .nv-home .nv-hero__actions .nv-btn { min-height: 42px; padding-inline: 1.15rem; font-size: .7rem; }
  .nv-home .nv-hero__controls { top: auto; bottom: .8rem; z-index: 2; }
  .nv-home .nv-hero__dots button { background: rgba(255,255,255,.55); }
  .nv-home .nv-hero__dots button[aria-selected="true"] { background: #fff; }
  .nv-home .nv-hero__slide--woven .nv-hero__baked-link { left: 24%; top: 87%; width: 53%; height: 8%; }
  .nv-home .nv-hero__slide--fanny .nv-hero__baked-link { left: 12%; top: 85%; width: 62%; height: 9%; }
  .nv-home .nv-hero__slide--multi-diva .nv-hero__baked-link { left: 12%; top: 86%; width: 55%; height: 8%; }
  .nv-home .nv-hero__slide--wallet .nv-hero__baked-link { left: 10%; top: 87%; width: 57%; height: 8%; }
  .nv-home .nv-hero__slide--card-holder .nv-hero__baked-link { left: 8%; top: 85%; width: 57%; height: 9%; }
  .nv-home .nv-hero__slide--case .nv-hero__baked-link { left: 10%; top: 84%; width: 54%; height: 9%; }
}

/* Mobile campaign: Bellroy-inspired full-bleed image, safely framed product, and lower gradient copy. */
@media (max-width: 639px) {
  .nv-home .nv-hero__slide {
    height: min(72svh, 520px);
    min-height: 480px;
    aspect-ratio: auto;
    background: #d7d7d6;
  }
  .nv-home .nv-hero__slide picture {
    inset: 0;
    height: 100%;
    background: #c9c7c4;
  }
  .nv-home .nv-hero__slide img {
    inset: 0 0 auto !important;
    height: 74%;
    object-fit: cover;
    object-position: 100% 50%;
  }
  .nv-home [data-nv-hero-slide] .nv-hero__scrim {
    display: block !important;
    inset: 0 !important;
    height: 100% !important;
    background: linear-gradient(180deg,transparent 38%,rgba(20,19,18,.12) 48%,rgba(20,19,18,.78) 100%) !important;
  }
  .nv-home .nv-hero__copy {
    inset: auto 0 0 !important;
    justify-content: flex-end;
    gap: .55rem;
    padding: 1rem 1rem 4rem !important;
    background: transparent !important;
    color: #fff;
  }
  .nv-home [data-nv-hero-slide] .nv-hero__eyebrow { display: none !important; }
  .nv-home [data-nv-hero-slide] .nv-hero__title {
    max-width: 15ch;
    color: #fff !important;
    font-size: clamp(1.75rem,7.4vw,2.05rem) !important;
    font-weight: 760 !important;
    letter-spacing: -.035em !important;
    line-height: 1.02 !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.2) !important;
  }
  .nv-home [data-nv-hero-slide] .nv-hero__text {
    max-width: 34ch;
    color: rgba(255,255,255,.96) !important;
    font-size: .8rem !important;
    line-height: 1.4 !important;
    text-shadow: 0 1px 8px rgba(0,0,0,.22) !important;
  }
  .nv-home .nv-hero__actions { margin-top: .15rem !important; }
  .nv-home .nv-hero__actions .nv-btn { min-height: 40px; padding: .6rem 1rem; font-size: .62rem; }
  .nv-home .nv-hero__controls { bottom: .65rem; }
  .nv-home .nv-hero__arrow { display: none !important; }
  .nv-home .nv-hero__dots button { background: rgba(255,255,255,.58); }
  .nv-home .nv-hero__dots button[aria-selected="true"] { background: #fff; }
  .nv-home .nv-hero__pause { display: none !important; }
}
@media (max-width: 360px) {
  .nv-home .nv-hero__slide { min-height: 460px; }
  .nv-home .nv-hero__copy { padding-inline: .85rem !important; padding-bottom: 3.7rem !important; }
  .nv-home [data-nv-hero-slide] .nv-hero__title { font-size: 1.6rem !important; }
  .nv-home [data-nv-hero-slide] .nv-hero__text { font-size: .74rem !important; }
}

/* Homepage editorial edit: an asymmetric, image-led composition using live catalog media. */
.nv-home .nv-edit { padding-block: clamp(3.75rem,8vw,8rem); background: var(--nv-paper,#f7f5f1); }
.nv-home .nv-edit__head { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(17rem,.62fr); align-items: end; gap: clamp(2rem,6vw,6rem); margin-bottom: clamp(2rem,4vw,3.75rem); }
.nv-home .nv-edit__head .nv-lead { margin: 0 0 1rem; color: var(--nv-action,#a65d32); font-size: .65rem; font-weight: 750; letter-spacing: .17em; text-transform: uppercase; }
.nv-home .nv-edit__title { max-width: 12ch; margin: 0; color: var(--nv-ink,#1b1917); font-size: clamp(2.8rem,5.8vw,6rem); font-weight: 540; letter-spacing: -.075em; line-height: .94; text-wrap: balance; }
.nv-home .nv-edit__intro { max-width: 37rem; padding-bottom: .25rem; }
.nv-home .nv-edit__intro p { margin: 0; color: var(--nv-muted,#716b65); font-size: clamp(.98rem,1.15vw,1.15rem); line-height: 1.75; }
.nv-home .nv-edit__intro .nv-link { margin-top: 1.15rem; }
.nv-home .nv-edit__grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); grid-template-rows: repeat(2,clamp(14rem,18vw,19rem)); gap: clamp(.75rem,1.25vw,1.15rem); }
.nv-home .nv-edit__card { position: relative; display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr) auto; min-width: 0; overflow: hidden; background: #eeeae4; color: var(--nv-ink,#1b1917); text-decoration: none; }
.nv-home .nv-edit__card--lead { grid-column: span 7; grid-row: span 2; }
.nv-home .nv-edit__card:not(.nv-edit__card--lead) { grid-column: span 5; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); grid-template-rows: minmax(0,1fr); }
.nv-home .nv-edit__media { position: relative; display: grid; min-width: 0; min-height: 0; overflow: hidden; place-items: center; background: #e9e4dc; }
.nv-home .nv-edit__media img { display: block; width: 100%; height: 100%; object-fit: contain; padding: clamp(.6rem,2vw,1.65rem); mix-blend-mode: multiply; transition: transform 700ms cubic-bezier(.2,.65,.25,1); }
.nv-home .nv-edit__card--lead .nv-edit__media img { padding: clamp(1rem,3vw,2.5rem); }
.nv-home .nv-edit__placeholder { width: 100%; height: 100%; background: linear-gradient(135deg,#e7e1d8,#f3f0eb); }
.nv-home .nv-edit__caption { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; gap: .38rem; padding: 1.05rem 1.25rem; border-top: 1px solid rgba(27,25,23,.12); }
.nv-home .nv-edit__card:not(.nv-edit__card--lead) .nv-edit__caption { align-self: stretch; padding: clamp(1rem,2.2vw,2rem); border-top: 0; border-left: 1px solid rgba(27,25,23,.12); }
.nv-home .nv-edit__eyebrow { color: var(--nv-action,#a65d32); font-size: .59rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.nv-home .nv-edit__name { max-width: 22ch; font-size: clamp(1rem,1.55vw,1.65rem); font-weight: 560; letter-spacing: -.04em; line-height: 1.18; }
.nv-home .nv-edit__card--lead .nv-edit__name { font-size: clamp(1.2rem,2vw,2rem); }
.nv-home .nv-edit__arrow { display: grid; place-items: center; width: 2rem; height: 2rem; margin-top: .35rem; border: 1px solid rgba(27,25,23,.22); border-radius: 50%; transition: color 250ms ease,background-color 250ms ease,border-color 250ms ease,transform 250ms ease; }
.nv-home .nv-edit__card:hover .nv-edit__media img { transform: scale(1.025); }
.nv-home .nv-edit__card:hover .nv-edit__arrow { transform: translateX(3px); border-color: var(--nv-ink,#1b1917); background: var(--nv-ink,#1b1917); color: #fff; }
.nv-home .nv-edit__card:focus-visible { outline: 2px solid var(--nv-action,#a65d32); outline-offset: 4px; }
.nv-home .nv-edit [data-nv-reveal].is-pending { opacity: 0; transform: translateY(18px); }
.nv-home .nv-edit [data-nv-reveal].is-visible { opacity: 1; transform: translateY(0); transition: opacity 700ms ease,transform 700ms cubic-bezier(.2,.65,.25,1); }
.nv-home .nv-edit [data-nv-reveal-delay="1"].is-visible { transition-delay: 100ms; }
.nv-home .nv-edit [data-nv-reveal-delay="2"].is-visible { transition-delay: 190ms; }
@media (max-width: 767px) {
  .nv-home .nv-edit { padding-block: 3.5rem; }
  .nv-home .nv-edit__head { grid-template-columns: minmax(0,1fr); gap: 1rem; margin-bottom: 1.65rem; }
  .nv-home .nv-edit__title { max-width: 11ch; font-size: clamp(2.75rem,12vw,4.25rem); }
  .nv-home .nv-edit__intro p { max-width: 42ch; font-size: .94rem; }
  .nv-home .nv-edit__intro .nv-link { margin-top: .7rem; }
  .nv-home .nv-edit__grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: auto; gap: .65rem; }
  .nv-home .nv-edit__card--lead { grid-column: 1 / -1; grid-row: auto; }
  .nv-home .nv-edit__card--lead .nv-edit__media { aspect-ratio: 1.24 / 1; }
  .nv-home .nv-edit__card:not(.nv-edit__card--lead) { grid-column: span 1; grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto; }
  .nv-home .nv-edit__card:not(.nv-edit__card--lead) .nv-edit__media { aspect-ratio: .9 / 1; }
  .nv-home .nv-edit__card:not(.nv-edit__card--lead) .nv-edit__caption { min-height: 6rem; gap: .3rem; padding: .75rem; border-top: 1px solid rgba(27,25,23,.12); border-left: 0; }
  .nv-home .nv-edit__name,.nv-home .nv-edit__card--lead .nv-edit__name { font-size: .98rem; }
  .nv-home .nv-edit__arrow { width: 1.7rem; height: 1.7rem; }
}
@media (prefers-reduced-motion: reduce) {
  .nv-home .nv-edit [data-nv-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
  .nv-home .nv-edit__media img,.nv-home .nv-edit__arrow { transition: none !important; }
}

/* This file loads after nirvana.css; explicitly restore the mobile finish mosaic after legacy finish-rail rules. */
.nv-home .nv-material .nv-finishes[data-nv-finishes] { display: grid; width: 100%; max-width: 100%; height: auto; grid-template-columns: repeat(12,minmax(0,1fr)); grid-template-rows: repeat(2,clamp(9rem,15vw,13rem)); gap: .75rem; margin: 0; padding: 0; overflow: visible; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish { display: grid; flex: 0 1 auto !important; width: 100%; grid-column: span 3; grid-row: auto; height: auto; min-width: 0; aspect-ratio: auto; border-radius: 0; background: transparent; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish:first-child { grid-column: span 6; grid-row: span 2; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish img { position: relative; inset: auto; width: 100%; height: 100%; padding: 0; object-fit: cover; transform: none !important; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish::after { display: none; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish__chip { position: static; padding: .55rem 0 0; color: var(--nv-ink); font-size: .59rem; text-shadow: none; }
@media (max-width: 639px) {
  .nv-home .nv-material .nv-material__heading-row { grid-template-columns: minmax(0,1fr); gap: .8rem; }
  .nv-home .nv-material .nv-finishes[data-nv-finishes] { width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: auto; gap: .75rem .6rem; }
  .nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish,.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish:first-child { grid-column: span 1; grid-row: auto; }
  .nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish:first-child { grid-column: 1 / -1; }
  .nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish img { height: auto; aspect-ratio: 1 / 1; }
  .nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish:first-child img { aspect-ratio: 1.5 / 1; }
}

/* One cinematic craft feature: let the real product photograph carry the moment. */
.nv-home .nv-edit { padding-block: clamp(2.5rem,5vw,4.5rem); background: var(--nv-paper,#f7f5f1); }
.nv-home .nv-edit__frame { position: relative; min-height: clamp(30rem,43vw,41rem); overflow: hidden; isolation: isolate; background: #777675; }
.nv-home .nv-edit__image { position: absolute; inset: 0; z-index: -2; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.nv-home .nv-edit__frame::after { position: absolute; inset: 0; z-index: -1; content: ''; background: linear-gradient(90deg,rgba(25,24,23,.72) 0%,rgba(25,24,23,.5) 27%,rgba(25,24,23,.12) 55%,transparent 72%); }
.nv-home .nv-edit__copy { position: absolute; top: 50%; left: clamp(2rem,7vw,7.5rem); width: min(34rem,38%); color: #fff; transform: translateY(-50%); }
.nv-home .nv-edit__eyebrow { margin: 0 0 1.2rem; color: #ead0b9; font-size: .64rem; font-weight: 750; letter-spacing: .19em; text-transform: uppercase; }
.nv-home .nv-edit__title { max-width: 9ch; margin: 0; color: #fff; font-size: clamp(3rem,5.4vw,6rem); font-weight: 540; letter-spacing: -.075em; line-height: .94; text-wrap: balance; }
.nv-home .nv-edit__text { max-width: 33ch; margin: 1.2rem 0 0; color: rgba(255,255,255,.86); font-size: clamp(.94rem,1.08vw,1.08rem); line-height: 1.7; }
.nv-home .nv-edit__cta { display: inline-flex; align-items: center; gap: 1.1rem; min-height: 46px; margin-top: 1.35rem; color: #fff; font-size: .67rem; font-weight: 750; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.nv-home .nv-edit__cta span { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; transition: color 260ms ease,background-color 260ms ease,border-color 260ms ease,transform 260ms ease; }
.nv-home .nv-edit__cta:hover span { transform: translateX(3px); border-color: #fff; background: #fff; color: var(--nv-ink,#1b1917); }
.nv-home .nv-edit__links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-bottom: 1px solid rgba(27,25,23,.18); }
.nv-home .nv-edit__links a { display: grid; grid-template-columns: 2.25rem minmax(0,1fr) auto; align-items: center; gap: .65rem; min-width: 0; min-height: 4.25rem; padding: .5rem 1.1rem; border-right: 1px solid rgba(27,25,23,.15); color: var(--nv-ink,#1b1917); font-size: .75rem; font-weight: 700; letter-spacing: .045em; text-decoration: none; transition: background-color 240ms ease,color 240ms ease; }
.nv-home .nv-edit__links a:last-child { border-right: 0; }
.nv-home .nv-edit__links a:hover { background: #eee9e2; color: var(--nv-action,#a65d32); }
.nv-home .nv-edit__links a > span { color: var(--nv-action,#a65d32); font-size: .59rem; letter-spacing: .12em; }
.nv-home .nv-edit__links i { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border: 1px solid rgba(27,25,23,.2); border-radius: 50%; font-style: normal; }
.nv-home .nv-edit__links a:focus-visible,.nv-home .nv-edit__cta:focus-visible { outline: 2px solid var(--nv-action,#a65d32); outline-offset: 4px; }
@media (max-width: 767px) {
  .nv-home .nv-edit { padding-block: 2rem 2.75rem; }
  .nv-home .nv-edit__frame { display: flex; min-height: 0; flex-direction: column; background: #ede9e3; }
  .nv-home .nv-edit__image { position: relative; inset: auto; z-index: 0; width: 100%; height: auto; aspect-ratio: 1.25 / 1; object-fit: contain; background: #dadada; }
  .nv-home .nv-edit__frame::after { display: none; }
  .nv-home .nv-edit__copy { position: relative; inset: auto; width: auto; padding: 1.4rem 1.25rem 1.55rem; color: var(--nv-ink,#1b1917); transform: none; }
  .nv-home .nv-edit__eyebrow { margin-bottom: .65rem; color: var(--nv-action,#a65d32); font-size: .57rem; }
  .nv-home .nv-edit__title { max-width: 12ch; color: var(--nv-ink,#1b1917); font-size: clamp(2.5rem,10vw,3.7rem); }
  .nv-home .nv-edit__text { margin-top: .75rem; color: var(--nv-muted,#716b65); font-size: .9rem; }
  .nv-home .nv-edit__cta { margin-top: .8rem; color: var(--nv-ink,#1b1917); font-size: .6rem; }
  .nv-home .nv-edit__cta span { border-color: rgba(27,25,23,.35); }
  .nv-home .nv-edit__links a { grid-template-columns: 1.5rem minmax(0,1fr) auto; gap: .4rem; min-height: 3.65rem; padding-inline: .45rem; font-size: .63rem; }
  .nv-home .nv-edit__links i { width: 1.5rem; height: 1.5rem; }
}

/* Restrained editorial reveal: one short fade-and-rise per content section. */
#MainContent .nv-motion-pending { opacity: 0; transform: translateY(10px); }
#MainContent .nv-motion-visible { opacity: 1; transform: translateY(0); transition: opacity 520ms cubic-bezier(.22,1,.36,1),transform 520ms cubic-bezier(.22,1,.36,1); }
@media (prefers-reduced-motion: reduce) {
  #MainContent .nv-motion-pending,#MainContent .nv-motion-visible { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Bellroy-inspired editorial style cards: console-managed campaign photos, titles and links. */
.nv-home .nv-graph { background: var(--nv-paper); }
.nv-home .nv-stories { padding-block: clamp(3rem,5.5vw,5.5rem); }
.nv-home .nv-stories .nv-section__head { align-items: end; margin-bottom: clamp(1.2rem,2.4vw,2rem); }
.nv-home .nv-stories .nv-lead { margin-bottom: .65rem; }
.nv-home .nv-stories__intro { max-width: 22ch; font-size: clamp(2rem,3.5vw,3.4rem); font-weight: 560; letter-spacing: -.055em; line-height: 1; text-wrap: balance; }
.nv-home .nv-stories .nv-track { gap: .85rem; }
.nv-home .nv-stories .nv-story { flex-basis: calc(20% - .7rem); aspect-ratio: .66; border-radius: 5px; }
.nv-home .nv-stories .nv-story img { transition: filter 420ms cubic-bezier(.22,1,.36,1); }
.nv-home .nv-stories .nv-story:hover img { transform: none; filter: brightness(1.06) saturate(.96); }
.nv-home .nv-stories .nv-story::after { background: linear-gradient(180deg,rgba(12,11,10,.02) 30%,rgba(12,11,10,.13) 54%,rgba(12,11,10,.76) 100%); }
.nv-home .nv-stories .nv-story__copy { gap: .4rem; padding: clamp(1rem,1.25vw,1.4rem); }
.nv-home .nv-stories .nv-story__title { font-size: clamp(1.25rem,1.65vw,1.8rem); font-weight: 650; letter-spacing: -.04em; line-height: 1.02; }
.nv-home .nv-stories .nv-story__sub { max-width: 25ch; font-size: .76rem; font-weight: 500; line-height: 1.4; }
.nv-home .nv-stories .nv-rail__arrow--side { top: 50%; width: 42px; height: 42px; border: 1px solid var(--nv-line); border-radius: 50%; background: var(--nv-paper); color: var(--nv-ink); box-shadow: 0 4px 16px rgba(27,25,23,.12); }
.nv-home .nv-stories .nv-rail__arrow--prev { left: -1.25rem; }
.nv-home .nv-stories .nv-rail__arrow--next { right: -1.25rem; }
@media (max-width: 1023px) { .nv-home .nv-stories .nv-story { flex-basis: calc(33.333% - .6rem); } }
@media (max-width: 639px) {
  .nv-home .nv-stories { padding-block: 2.5rem; }
  .nv-home .nv-stories .nv-track { gap: .7rem; }
  .nv-home .nv-stories .nv-story { flex-basis: 70%; aspect-ratio: .68; }
  .nv-home .nv-stories .nv-story__title { font-size: clamp(1.45rem,7vw,1.85rem); }
  .nv-home .nv-stories .nv-rail__arrow--side { display: none; }
}
@media (prefers-reduced-motion: reduce) { .nv-home .nv-stories .nv-story img { transition: none !important; } }
/* Local Nirvana home collection cards: Bellroy-inspired clean studio wells and a calmer three-up desktop rhythm. */
.nv-home [data-nv-range] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.nv-home [data-nv-range] .nv-card__media,
.nv-home .nv-carousel .nv-card__media {
    aspect-ratio: 1 / 1;
    border-radius: 2px;
    background: #fff;
}
.nv-home [data-nv-range] .nv-card__img,
.nv-home .nv-carousel .nv-card__img {
    object-fit: contain;
    padding: 0;
    mix-blend-mode: normal;
}
.nv-home [data-nv-range] .nv-card__img--cutout,
.nv-home .nv-carousel .nv-card__img--cutout { mix-blend-mode: normal; }
@media (min-width: 1024px) {
    .nv-home [data-nv-range] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
    .nv-home [data-nv-range] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Local luxury homepage art direction: supersede the earlier finish collage in nirvana.css. */
.nv-home .nv-material { background: #211e1b !important; color: #f8f5ef; }
.nv-home .nv-material__grid { display: grid; grid-template-columns: minmax(0,1fr); gap: clamp(1.8rem,3.2vw,3rem); padding-block: clamp(3.5rem,6vw,5.5rem); }
.nv-home .nv-material__heading-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,.62fr); align-items: end; gap: clamp(2rem,6vw,6rem); }
.nv-home .nv-material__copy { max-width: 52rem; }
.nv-home .nv-material__copy .nv-lead { color: #c8a580; }
.nv-home .nv-material .nv-material__title { max-width: 12ch; color: #f8f5ef; font-size: clamp(2.6rem,4.6vw,4.6rem); font-weight: 550; letter-spacing: -.06em; line-height: 1.02; }
.nv-home .nv-material__aside { max-width: 38rem; padding-bottom: .25rem; }
.nv-home .nv-material .nv-material__intro { margin: 0; color: rgba(248,245,239,.78); font-size: 1rem; line-height: 1.75; }
.nv-home .nv-material .nv-material__signature { margin-top: 1.1rem; padding-top: .9rem; border-color: rgba(248,245,239,.22); color: #d7c6b4; font-size: .62rem; }
.nv-home .nv-material .nv-link--arrow { margin-top: 1rem; color: #e0b98f; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); grid-template-rows: none; gap: .8rem; width: 100%; max-width: 100%; height: auto; margin: 0; padding: 0; overflow: visible; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish,
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish:first-child { position: relative; display: block; grid-column: auto; grid-row: auto; width: 100%; height: auto; min-width: 0; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 2px; background: #38322d; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish img { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; object-fit: cover; mix-blend-mode: normal; transform: none; transition: transform 650ms ease; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish::after { display: block; position: absolute; inset: 35% 0 0; content: ""; background: linear-gradient(transparent,rgba(15,13,12,.74)); pointer-events: none; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish__chip { position: absolute; z-index: 1; inset: auto .85rem .8rem; display: flex; justify-content: space-between; align-items: center; min-height: 0; padding: 0; color: #fff; font-size: .63rem; letter-spacing: .14em; text-shadow: none; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish__chip::after { content: "â†—"; color: #e0b98f; font-size: .9rem; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish:hover img { transform: scale(1.035); }
@media (min-width: 640px) and (max-width: 1023px) {
  .nv-home .nv-material .nv-finishes[data-nv-finishes] { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 639px) {
  .nv-home .nv-material__grid { gap: 1.5rem; padding-block: 3rem; }
  .nv-home .nv-material__heading-row { grid-template-columns: minmax(0,1fr); gap: .8rem; }
  .nv-home .nv-material .nv-material__title { max-width: 12ch; font-size: clamp(2.35rem,10vw,3.2rem); }
  .nv-home .nv-material .nv-material__intro { font-size: .9rem; }
  .nv-home .nv-material .nv-material__signature { margin-top: .8rem; font-size: .55rem; }
  .nv-home .nv-material .nv-finishes[data-nv-finishes] { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
  .nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish,
  .nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish:first-child { aspect-ratio: 1 / 1; }
  .nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish:first-child { grid-column: 1 / -1; aspect-ratio: 1.5 / 1; }
  .nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish__chip { inset: auto .65rem .65rem; font-size: .57rem; }
}
@media (prefers-reduced-motion: reduce) { .nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish img { transition: none; } }

/* Category cards on phones: keep the editorial image-first hierarchy without tinted slabs. */
@media (max-width: 639px) {
  .nv-home .nv-carry { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem .6rem; margin: 0; padding: 0; overflow: visible; }
  .nv-home .nv-carry__tile,.nv-home .nv-carry__tile:first-child { display: grid; grid-column: span 1; grid-template-rows: auto auto; min-height: 0; aspect-ratio: auto; overflow: hidden; border: 0; border-radius: 0; background: transparent; color: var(--nv-ink,#1b1917); }
  .nv-home .nv-carry__tile:first-child { grid-column: 1 / -1; }
  .nv-home .nv-carry__media { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #f0ede8; }
  .nv-home .nv-carry__tile:first-child .nv-carry__media { aspect-ratio: 1.6 / 1; }
  .nv-home .nv-carry__media::after { display: none; }
  .nv-home .nv-carry__media img,.nv-home .nv-carry__tile--3 .nv-carry__media img,.nv-home .nv-carry__tile--4 .nv-carry__media img,.nv-home .nv-carry__tile--5 .nv-carry__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; mix-blend-mode: normal; }
  .nv-home .nv-carry__copy { position: relative; inset: auto; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .2rem .5rem; min-height: 3.9rem; padding: .65rem .1rem .25rem; border: 0; border-bottom: 1px solid rgba(27,25,23,.16); background: transparent; color: var(--nv-ink,#1b1917); }
  .nv-home .nv-carry__copy strong { font-size: .92rem; font-weight: 650; letter-spacing: -.02em; }
  .nv-home .nv-carry__copy span { grid-column: 1; color: #716b65; font-size: .68rem; line-height: 1.4; }
  .nv-home .nv-carry__copy::after { content: "\2197"; grid-column: 2; grid-row: 1 / span 2; display: grid; place-items: center; width: 1.65rem; height: 1.65rem; border: 1px solid rgba(27,25,23,.2); border-radius: 50%; color: var(--nv-action,#a65d32); font-size: .8rem; }
  .nv-home .nv-carry__tile:hover .nv-carry__copy { background: transparent; }
}
/* The handcrafted bag photo is the only full product image in the materials gallery; blend its white studio backdrop into stone. */
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish:last-child { background: #d8d0c5; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish:last-child img { padding: .35rem; object-fit: contain; mix-blend-mode: multiply; }
@media (max-width: 639px) {
  .nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish:last-child img { padding: .25rem; }
}

/* Bellroy-inspired materials story: editorial feature on the existing Nirvana paper background. */
.nv-home .nv-material { background: transparent !important; color: var(--nv-ink,#1b1917); }
.nv-home .nv-material__grid { display: grid; grid-template-columns: minmax(0,1fr); gap: clamp(2.75rem,5vw,4.75rem); padding-block: clamp(3.5rem,6vw,5.5rem); }
.nv-home .nv-material__feature { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); align-items: center; gap: clamp(2rem,6vw,6rem); }
.nv-home .nv-material__hero { position: relative; margin: 0; overflow: hidden; background: #f0ede8; aspect-ratio: 1.18 / 1; }
.nv-home .nv-material__hero img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nv-home .nv-material__hero figcaption { position: absolute; right: 1.1rem; bottom: 1rem; left: 1.1rem; display: flex; align-items: center; gap: .8rem; color: #fff; font-size: .66rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; text-shadow: 0 1px 12px rgba(0,0,0,.45); }
.nv-home .nv-material__hero figcaption span { color: #e4bd98; }
.nv-home .nv-material__copy { max-width: 38rem; }
.nv-home .nv-material__copy .nv-lead { margin: 0 0 1rem; color: var(--nv-action,#9a5b2e); font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.nv-home .nv-material .nv-material__title { max-width: 11ch; margin: 0; color: var(--nv-ink,#1b1917); font-size: clamp(2.5rem,4.2vw,4.2rem); font-weight: 550; letter-spacing: -.065em; line-height: .98; }
.nv-home .nv-material .nv-material__intro { margin: 1.25rem 0 0; max-width: 43ch; color: var(--nv-muted,#66605A); font-size: 1rem; line-height: 1.75; }
.nv-home .nv-material .nv-material__signature { margin: 1.5rem 0 0; padding-top: 1rem; border-top: 1px solid rgba(27,25,23,.17); color: #514b45; font-size: .63rem; font-weight: 700; letter-spacing: .12em; line-height: 1.8; text-transform: uppercase; }
.nv-home .nv-material .nv-material__signature span { color: var(--nv-action,#9a5b2e); }
.nv-home .nv-material .nv-link--arrow { margin-top: 1.15rem; color: var(--nv-action,#9a5b2e); }
.nv-home .nv-material .nv-finishes[data-nv-finishes] { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; width: 100%; max-width: 100%; height: auto; margin: 0; padding: 1.5rem 0 0; border-top: 1px solid rgba(27,25,23,.14); overflow: visible; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish { position: relative; display: grid; grid-template-rows: auto auto; grid-column: auto; grid-row: auto; width: 100%; height: auto; min-width: 0; aspect-ratio: auto; overflow: hidden; border: 0; background: transparent; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish img { position: relative; inset: auto; display: block; width: 100%; height: auto; aspect-ratio: 1.45 / 1; padding: 0; object-fit: cover; background: #efede9; transform: none; transition: transform 550ms ease; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish::after { display: none; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish__chip { position: static; display: block; min-height: 0; padding: .7rem 0 0; color: var(--nv-ink,#1b1917); font-size: .62rem; font-weight: 700; letter-spacing: .13em; text-shadow: none; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish__chip::after { display: none; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish:hover img { transform: scale(1.025); }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish:last-child img { padding: .3rem; object-fit: contain; mix-blend-mode: multiply; }
@media (min-width: 640px) and (max-width: 1023px) {
  .nv-home .nv-material__feature { gap: 2rem; }
  .nv-home .nv-material .nv-finishes[data-nv-finishes] { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 639px) {
  .nv-home .nv-material__grid { gap: 2rem; padding-block: 3rem; }
  .nv-home .nv-material__feature { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  .nv-home .nv-material__hero { aspect-ratio: 1.12 / 1; }
  .nv-home .nv-material .nv-material__title { max-width: 12ch; font-size: clamp(2.35rem,10vw,3.2rem); }
  .nv-home .nv-material .nv-material__intro { margin-top: .9rem; font-size: .9rem; }
  .nv-home .nv-material .nv-material__signature { margin-top: 1rem; font-size: .56rem; }
  .nv-home .nv-material .nv-finishes[data-nv-finishes] { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem .65rem; padding-top: 1rem; }
  .nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish img { aspect-ratio: 1.1 / 1; }
}
@media (prefers-reduced-motion: reduce) { .nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish img { transition: none; } }

/* 2026-10-14 owner redesign: a quiet category index and a craft story on the house paper. */
.nv-home .nv-carry__head { align-items: end; margin-bottom: clamp(1.25rem,2.4vw,2rem); }
.nv-home .nv-carry__head .nv-lead { margin-bottom: .65rem; color: var(--nv-action,#a65d32); font-size: .64rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.nv-home .nv-carry__head .nv-h2 { max-width: 12ch; font-size: clamp(2.25rem,4.5vw,4rem); font-weight: 550; letter-spacing: -.065em; line-height: .98; }
.nv-home .nv-carry__intro { max-width: 34ch; margin: 0; color: #716b65; font-size: clamp(.95rem,1.2vw,1.1rem); line-height: 1.7; }
.nv-home .nv-carry { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(20rem,.8fr); grid-template-rows: repeat(4,minmax(6.25rem,1fr)); gap: .15rem clamp(1.5rem,3vw,3rem); margin: 0; padding: 0; overflow: visible; }
.nv-home .nv-carry__tile,.nv-home .nv-carry__tile:first-child { position: relative; display: grid; grid-template-columns: minmax(5.5rem,7.5rem) minmax(0,1fr); grid-template-rows: 1fr; align-items: center; min-width: 0; min-height: 0; aspect-ratio: auto; overflow: hidden; border: 0; border-bottom: 1px solid rgba(27,25,23,.15); border-radius: 0; background: transparent; color: var(--nv-ink,#1b1917); }
.nv-home .nv-carry__tile:first-child { grid-column: 1; grid-row: 1 / span 4; display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr) auto; border: 0; background: #f0ede8; }
.nv-home .nv-carry__media { position: relative; display: grid; min-width: 0; min-height: 0; aspect-ratio: auto; overflow: hidden; place-items: center; background: #f0ede8; }
.nv-home .nv-carry__tile:first-child .nv-carry__media { min-height: 25rem; }
.nv-home .nv-carry__media img { width: 100%; height: 100%; padding: .45rem; object-fit: contain; mix-blend-mode: normal; transition: transform 650ms cubic-bezier(.2,.65,.25,1); }
.nv-home .nv-carry__tile:first-child .nv-carry__media img { padding: clamp(1rem,3vw,2.5rem); }
.nv-home .nv-carry__copy { position: relative; inset: auto; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .35rem .65rem; min-height: 0; padding: 1rem 0 1rem 1.2rem; border: 0; background: transparent; color: var(--nv-ink,#1b1917); }
.nv-home .nv-carry__copy strong { font-size: clamp(1rem,1.4vw,1.3rem); font-weight: 560; letter-spacing: -.035em; }
.nv-home .nv-carry__copy span { grid-column: 1; color: #716b65; font-size: .78rem; font-weight: 450; line-height: 1.45; }
.nv-home .nv-carry__copy::before { grid-column: 1 / -1; color: var(--nv-action,#a65d32); font-size: .55rem; font-weight: 750; letter-spacing: .15em; }
.nv-home .nv-carry__tile:nth-child(2) .nv-carry__copy::before { content: '01'; }
.nv-home .nv-carry__tile:nth-child(3) .nv-carry__copy::before { content: '02'; }
.nv-home .nv-carry__tile:nth-child(4) .nv-carry__copy::before { content: '03'; }
.nv-home .nv-carry__tile:nth-child(5) .nv-carry__copy::before { content: '04'; }
.nv-home .nv-carry__copy::after { content: 'â†—'; grid-column: 2; grid-row: 1 / span 2; display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid rgba(27,25,23,.22); border-radius: 50%; color: var(--nv-action,#a65d32); font-size: .9rem; transition: color 250ms ease,background-color 250ms ease,border-color 250ms ease,transform 250ms ease; }
.nv-home .nv-carry__tile:hover .nv-carry__media img { transform: scale(1.025); }
.nv-home .nv-carry__tile:hover .nv-carry__copy::after { transform: translateX(2px); border-color: var(--nv-action,#a65d32); background: var(--nv-action,#a65d32); color: #fff; }
.nv-home .nv-material { background: transparent !important; color: var(--nv-ink,#1b1917); }
.nv-home .nv-material__grid { display: grid; grid-template-columns: minmax(17rem,.72fr) minmax(0,1.28fr); grid-template-rows: auto auto; align-items: center; gap: 1.5rem clamp(2rem,6vw,6rem); padding-block: clamp(4rem,7vw,7rem); }
.nv-home .nv-material__feature { display: contents; }
.nv-home .nv-material__copy { grid-column: 1; grid-row: 1 / span 2; align-self: center; max-width: 32rem; }
.nv-home .nv-material__copy .nv-lead { margin: 0 0 1rem; color: var(--nv-action,#a65d32); font-size: .64rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.nv-home .nv-material .nv-material__title { max-width: 10ch; margin: 0; color: var(--nv-ink,#1b1917); font-size: clamp(2.55rem,4.5vw,4.5rem); font-weight: 540; letter-spacing: -.07em; line-height: .96; }
.nv-home .nv-material .nv-material__intro { max-width: 38ch; margin: 1.25rem 0 0; color: var(--nv-muted,#66605A); font-size: 1rem; line-height: 1.75; }
.nv-home .nv-material .nv-material__signature { margin: 1.4rem 0 0; padding-top: .85rem; border-top: 1px solid rgba(27,25,23,.17); color: #514b45; font-size: .6rem; font-weight: 700; letter-spacing: .12em; line-height: 1.8; text-transform: uppercase; }
.nv-home .nv-material .nv-link--arrow { margin-top: 1rem; color: var(--nv-action,#9a5b2e); }
.nv-home .nv-material__hero { grid-column: 2; grid-row: 1; position: relative; width: 100%; margin: 0; overflow: hidden; background: #f0ede8; aspect-ratio: 1.55 / 1; }
.nv-home .nv-material__hero img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nv-home .nv-material__hero figcaption { position: absolute; right: 1rem; bottom: .9rem; left: 1rem; display: flex; align-items: center; gap: .7rem; color: #fff; font-size: .62rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; text-shadow: 0 1px 12px rgba(0,0,0,.42); }
.nv-home .nv-material__hero figcaption span { color: #e4bd98; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] { grid-column: 2; grid-row: 2; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem; width: 100%; max-width: 100%; height: auto; margin: 0; padding: 0; border: 0; overflow: visible; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish { display: grid; grid-template-rows: auto auto; min-width: 0; height: auto; aspect-ratio: auto; overflow: hidden; border: 0; background: transparent; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish img { position: relative; inset: auto; display: block; width: 100%; height: auto; aspect-ratio: 1.25 / 1; padding: 0; object-fit: cover; background: #f0ede8; mix-blend-mode: normal; transform: none; transition: transform 550ms cubic-bezier(.2,.65,.25,1); }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish__chip { position: static; display: block; min-height: 0; padding: .55rem 0 0; color: var(--nv-ink,#1b1917); font-size: .55rem; font-weight: 700; letter-spacing: .11em; text-shadow: none; }
.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish:hover img { transform: scale(1.025); }
@media (min-width: 640px) and (max-width: 1023px) {
  .nv-home .nv-carry { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: auto auto auto; gap: .8rem; }
  .nv-home .nv-carry__tile:first-child { grid-column: 1 / -1; grid-row: auto; }
  .nv-home .nv-carry__tile:first-child .nv-carry__media { min-height: 0; aspect-ratio: 1.65 / 1; }
  .nv-home .nv-carry__tile:not(:first-child) { grid-template-columns: 6rem minmax(0,1fr); }
  .nv-home .nv-material__grid { grid-template-columns: minmax(14rem,.7fr) minmax(0,1.3fr); gap: 1.25rem 2rem; }
  .nv-home .nv-material .nv-finishes[data-nv-finishes] { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 639px) {
  .nv-home .nv-carry__head { align-items: start; gap: .65rem; }
  .nv-home .nv-carry__head .nv-h2 { font-size: clamp(2.1rem,10vw,3rem); }
  .nv-home .nv-carry__intro { max-width: 34ch; font-size: .82rem; }
  .nv-home .nv-carry { grid-template-columns: minmax(0,1fr); grid-template-rows: auto; gap: .1rem; }
  .nv-home .nv-carry__tile:first-child { grid-column: 1; grid-row: auto; }
  .nv-home .nv-carry__tile:first-child .nv-carry__media { min-height: 0; aspect-ratio: 1.35 / 1; }
  .nv-home .nv-carry__tile:not(:first-child) { grid-template-columns: 5.5rem minmax(0,1fr); min-height: 5.6rem; }
  .nv-home .nv-carry__tile:not(:first-child) .nv-carry__media { height: 5.35rem; }
  .nv-home .nv-carry__copy { gap: .25rem .5rem; padding: .65rem .15rem .65rem .8rem; }
  .nv-home .nv-carry__copy strong { font-size: .96rem; }
  .nv-home .nv-carry__copy span { font-size: .68rem; }
  .nv-home .nv-carry__copy::after { width: 1.7rem; height: 1.7rem; }
  .nv-home .nv-material__grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.5rem; padding-block: 3.25rem; }
  .nv-home .nv-material__feature { display: flex; flex-direction: column; align-items: stretch; gap: 1rem; }
  .nv-home .nv-material__copy { order: 0; max-width: 34rem; }
  .nv-home .nv-material__hero { order: 1; aspect-ratio: 1.35 / 1; }
  .nv-home .nv-material .nv-material__title { max-width: 12ch; font-size: clamp(2.35rem,10.5vw,3.3rem); }
  .nv-home .nv-material .nv-material__intro { margin-top: .8rem; font-size: .9rem; }
  .nv-home .nv-material .nv-material__signature { margin-top: .9rem; font-size: .53rem; }
  .nv-home .nv-material .nv-finishes[data-nv-finishes] { grid-column: 1; grid-row: auto; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem .65rem; }
  .nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish img { aspect-ratio: 1.18 / 1; }
}
@media (prefers-reduced-motion: reduce) {
  .nv-home .nv-carry__media img,.nv-home .nv-carry__copy::after,.nv-home .nv-material .nv-finishes[data-nv-finishes] .nv-finish img { transition: none !important; }
}
@media (min-width: 1024px) {
  .nv-home .nv-carry { grid-template-columns: minmax(0,1.2fr) minmax(20rem,.8fr); grid-template-rows: repeat(4,8rem); grid-auto-rows: 8rem; }
  .nv-home .nv-carry__tile:not(:first-child) { grid-column: 2; grid-row: auto; }
  .nv-home .nv-carry__tile:first-child { grid-column: 1; grid-row: 1 / span 4; }
}
@media (min-width: 640px) and (max-width: 1023px) {
  .nv-home .nv-carry__tile:not(:first-child) { grid-column: auto; grid-row: auto; }
}
@media (max-width: 639px) {
  .nv-home .nv-carry__tile:not(:first-child) { grid-column: 1; grid-row: auto; }
}
.nv-mega__feature-media--bestsellers { background: #fff !important; }
.nv-mega__feature-media--bestsellers img { object-fit: contain !important; mix-blend-mode: normal; }
.nv-home .nv-carry__media::after { display: none !important; }

/* Premium carry index: full-bleed ink field, with the product well kept on the console's photo color. */
.nv-home .nv-carry-section { padding-block: clamp(3.5rem,6vw,5.5rem); background: #25211e; color: #f8f5ef; }
.nv-home .nv-carry-section .nv-carry__head { align-items: end; margin-bottom: clamp(1.5rem,3vw,2.5rem); }
.nv-home .nv-carry-section .nv-carry__head .nv-lead { color: #c9a47f; }
.nv-home .nv-carry-section .nv-carry__head .nv-h2 { color: #f8f5ef; }
.nv-home .nv-carry-section .nv-carry__intro { color: rgba(248,245,239,.72); }
.nv-home .nv-carry-section .nv-carry { gap: .15rem clamp(1.75rem,3.4vw,3.5rem); }
.nv-home .nv-carry-section .nv-carry__tile:not(:first-child) { border-color: rgba(248,245,239,.24); color: #f8f5ef; }
.nv-home .nv-carry-section .nv-carry__tile:not(:first-child) .nv-carry__media,
.nv-home .nv-carry-section .nv-carry__tile:first-child .nv-carry__media { background: #fff; }
.nv-home .nv-carry-section .nv-carry__tile:not(:first-child) .nv-carry__copy { color: #f8f5ef; }
.nv-home .nv-carry-section .nv-carry__tile:not(:first-child) .nv-carry__copy span { color: rgba(248,245,239,.68); }
.nv-home .nv-carry-section .nv-carry__copy::before { color: #c9a47f; }
.nv-home .nv-carry-section .nv-carry__copy::after { border-color: rgba(248,245,239,.4); color: #d9b38e; }
.nv-home .nv-carry-section .nv-carry__tile:not(:first-child):hover .nv-carry__copy::after { border-color: #d9b38e; background: #d9b38e; color: #25211e; }
.nv-home .nv-carry-section .nv-carry__tile:first-child { background: #fff; }
.nv-home .nv-carry-section .nv-carry__tile:first-child .nv-carry__copy,
.nv-home .nv-carry-section .nv-carry__tile:first-child .nv-carry__copy strong,
.nv-home .nv-carry-section .nv-carry__tile:first-child .nv-carry__copy span { color: #25211e; }
.nv-home .nv-carry-section .nv-carry__tile:first-child .nv-carry__copy::after { border-color: rgba(37,33,30,.35); color: #975a36; }
.nv-home .nv-carry-section .nv-carry__tile:first-child .nv-carry__media img { padding: clamp(1.35rem,3.7vw,3rem); }

/* Theme paper and product-photo well are separate dynamic theme settings. */
.nv-card__media,
.nv-home [data-nv-range] .nv-card__media,
.nv-home .nv-carousel .nv-card__media { background: var(--nv-well,#F7F7F7) !important; }
@media (max-width: 767px) {
  .nv-home .nv-carry-section { padding-block: 3rem; }
  .nv-home .nv-carry-section .nv-carry__tile:not(:first-child) .nv-carry__copy { color: #f8f5ef; }
  .nv-home .nv-carry-section .nv-carry__tile:not(:first-child) .nv-carry__copy span { color: rgba(248,245,239,.72); }
  .nv-home .nv-carry-section .nv-carry__tile:first-child .nv-carry__copy,
  .nv-home .nv-carry-section .nv-carry__tile:first-child .nv-carry__copy strong,
  .nv-home .nv-carry-section .nv-carry__tile:first-child .nv-carry__copy span { color: #25211e; }
}

/* Console-configured reel section field (Reels and collaborations). */
.nv-home .nv-reels { background: var(--nv-reels-background,#DBDBDB); }

/* Calm, image-led category cards with Bellroy-like typography and motion. */
.nv-home .nv-carry-section { padding-block: clamp(3rem,5vw,4.75rem); background: var(--nv-paper,#fff); color: var(--nv-ink,#1b1917); }
.nv-home .nv-carry-section .nv-carry__head { align-items: end; gap: 1.25rem; margin-bottom: clamp(1.25rem,2.2vw,2rem); }
.nv-home .nv-carry-section .nv-carry__head .nv-lead { margin-bottom: .55rem; color: var(--nv-action,#c2501f); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.nv-home .nv-carry-section .nv-carry__head .nv-h2 { color: var(--nv-ink,#1b1917); font-size: clamp(1.8rem,2.65vw,2.5rem); font-weight: 700; letter-spacing: -.045em; line-height: 1.08; }
.nv-home .nv-carry-section .nv-carry__intro { color: #625d58; font-size: .9rem; line-height: 1.65; }
.nv-home .nv-carry-section .nv-carry { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); grid-template-rows: auto; gap: clamp(.65rem,1.25vw,1.15rem); }
.nv-home .nv-carry-section .nv-carry__tile,
.nv-home .nv-carry-section .nv-carry__tile:first-child,
.nv-home .nv-carry-section .nv-carry__tile:not(:first-child) { display: grid; grid-column: auto; grid-row: auto; grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto; min-width: 0; min-height: 0; aspect-ratio: auto; overflow: visible; border: 0; border-radius: 5px; background: transparent; color: var(--nv-ink,#1b1917); }
.nv-home .nv-carry-section .nv-carry__media { position: relative; inset: auto; display: grid; place-items: center; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; padding: 10%; border: 1px solid rgba(27,25,23,.055); border-radius: 5px; background: var(--nv-well,#F7F7F7); }
.nv-home .nv-carry-section .nv-carry__tile:first-child .nv-carry__media { min-height: 0 !important; aspect-ratio: 1 / 1 !important; }
.nv-home .nv-carry-section .nv-carry__tile:first-child .nv-carry__media,
.nv-home .nv-carry-section .nv-carry__tile:not(:first-child) .nv-carry__media { background: var(--nv-well,#F7F7F7) !important; }
.nv-home .nv-carry-section .nv-carry__media::after { display: none !important; }
.nv-home .nv-carry-section .nv-carry__media img { position: relative; inset: auto; width: 100%; height: 100%; max-height: 100%; padding: 0; object-fit: contain; mix-blend-mode: normal; transform: none; transition: transform 420ms cubic-bezier(.2,.65,.25,1); }
.nv-home .nv-carry-section .nv-carry__copy,
.nv-home .nv-carry-section .nv-carry__tile:first-child .nv-carry__copy,
.nv-home .nv-carry-section .nv-carry__tile:not(:first-child) .nv-carry__copy { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .22rem .5rem; min-width: 0; padding: .72rem .1rem .1rem; border: 0; background: transparent; color: var(--nv-ink,#1b1917); }
.nv-home .nv-carry-section .nv-carry__copy::before { display: none; }
.nv-home .nv-carry-section .nv-carry__copy strong { grid-column: 1; color: var(--nv-ink,#1b1917); font-size: clamp(.95rem,1.12vw,1.08rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.3; }
.nv-home .nv-carry-section .nv-carry__copy span { grid-column: 1; color: #716b65; font-size: .74rem; line-height: 1.45; }
.nv-home .nv-carry-section .nv-carry__tile .nv-carry__copy span { color: #716b65 !important; }
.nv-home .nv-carry-section .nv-carry__copy::after { grid-column: 2; grid-row: 1 / span 2; display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border: 1px solid rgba(27,25,23,.2); border-radius: 50%; color: var(--nv-ink,#1b1917); transition: color 240ms ease,background-color 240ms ease,border-color 240ms ease,transform 240ms ease; }
.nv-home .nv-carry-section .nv-carry__tile:hover .nv-carry__media img { transform: scale(1.02); }
.nv-home .nv-carry-section .nv-carry__tile:hover .nv-carry__copy::after { transform: translateX(2px); border-color: var(--nv-ink,#1b1917); background: var(--nv-ink,#1b1917); color: #fff; }
.nv-home .nv-carry-section .nv-carry__tile:focus-visible { outline: 2px solid var(--nv-action,#c2501f); outline-offset: 4px; }
#MainContent .nv-motion-pending { transform: translateY(8px); }
#MainContent .nv-motion-visible { transform: translateY(0); transition: opacity 480ms cubic-bezier(.22,1,.36,1),transform 480ms cubic-bezier(.22,1,.36,1); }
.nv-home .nv-edit [data-nv-reveal].is-pending { transform: none; }
.nv-home .nv-edit [data-nv-reveal].is-visible { transform: none; transition: opacity 260ms ease-out; }
.nv-home .nv-edit [data-nv-reveal-delay="1"].is-visible { transition-delay: 45ms; }
.nv-home .nv-edit [data-nv-reveal-delay="2"].is-visible { transition-delay: 90ms; }
@media (min-width: 640px) and (max-width: 1023px) {
  .nv-home .nv-carry-section .nv-carry { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 639px) {
  .nv-home .nv-carry-section { padding-block: 2.8rem; }
  .nv-home .nv-carry-section .nv-carry__head { align-items: start; gap: .5rem; }
  .nv-home .nv-carry-section .nv-carry__head .nv-h2 { font-size: clamp(1.8rem,8vw,2.35rem); }
  .nv-home .nv-carry-section .nv-carry { display: flex; gap: .75rem; margin-inline: -1rem; padding: 0 1rem .35rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .nv-home .nv-carry-section .nv-carry::-webkit-scrollbar { display: none; }
  .nv-home .nv-carry-section .nv-carry__tile,
  .nv-home .nv-carry-section .nv-carry__tile:first-child,
  .nv-home .nv-carry-section .nv-carry__tile:not(:first-child) { flex: 0 0 min(78vw,18rem); scroll-snap-align: start; }
  .nv-home .nv-carry-section .nv-carry__tile .nv-carry__media { width: 100%; height: auto !important; min-height: 0 !important; aspect-ratio: 1 / 1 !important; }
}
@media (prefers-reduced-motion: reduce) {
  #MainContent .nv-motion-pending,#MainContent .nv-motion-visible { transition: none !important; }
  .nv-home .nv-edit [data-nv-reveal],.nv-home .nv-carry-section .nv-carry__media img,.nv-home .nv-carry-section .nv-carry__copy::after { transition: none !important; }
}

/* Polished navigation panel reveal and type hierarchy from the supplied reference. */
@keyframes nvMegaReveal { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: translateY(0); } }
.nv-mega:not([hidden]) { animation: nvMegaReveal 260ms cubic-bezier(.2,.65,.25,1) both; transform-origin: top center; }
.nv-mega__title { font-family: var(--nv-font-sans); font-size: .7rem; font-weight: 750; letter-spacing: .14em; line-height: 1.4; }
.nv-mega__list--carry strong { font-family: var(--nv-font-sans); font-size: 1.03rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.35; }
.nv-mega__list--carry span { font-family: var(--nv-font-sans); font-size: .85rem; font-weight: 400; line-height: 1.55; }
.nv-mega__feature-copy strong { font-family: var(--nv-font-sans); font-size: 1.08rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.3; }
.nv-mega__feature-copy span { font-family: var(--nv-font-sans); font-size: .88rem; font-weight: 400; line-height: 1.5; }
.nv-mega__feature-copy em { font-size: .72rem; font-weight: 750; letter-spacing: .11em; }
.nv-mega__feature-media { background: var(--nv-well,#F7F7F7); }
.nv-mega__feature-media--bestsellers { background: var(--nv-well,#F7F7F7) !important; }
.nv-mega__feature:hover .nv-mega__feature-media img { transform: scale(1.025); }
@media (prefers-reduced-motion: reduce) { .nv-mega:not([hidden]) { animation: none !important; } }

.nv-home__product-tabs [data-nv-tabpanel] { height: auto; min-height: 0; }
.nv-home__product-tabs .nv-carousel__track { align-items: flex-start; }

/* New arrivals use a slightly shorter image frame so its tab has its own natural rhythm. */
#NirvanaNewArrivalsPanel .nv-card__media { aspect-ratio: 1.08 / 1; }

/* Shared configured image wells, with original photo color and detail preserved. */
.nv-card__media,.nv-carousel .nv-card__media,.nv-rail__item .nv-card__media,.nv-gallery__slide,.nv-gallery__item,.nv-gallery__thumb,.nv-type__media,.nv-tile__media,.nv-holds__media { background: var(--nv-well,#F7F7F7) !important; }
.nv-editorial-feature__image { background: var(--nv-well,#F7F7F7); }
.nv-editorial-feature { padding-block: clamp(3.5rem,7vw,6.5rem); background: var(--nv-paper,#fff); color: var(--nv-ink,#1b1917); }
.nv-editorial-feature__grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(18rem,.8fr); align-items: center; gap: clamp(2.5rem,8vw,8rem); }
.nv-editorial-feature__image { display: block; min-width: 0; aspect-ratio: 1.32 / 1; overflow: hidden; }
.nv-editorial-feature__image img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: normal; transition: transform 650ms cubic-bezier(.2,.65,.25,1); }
.nv-editorial-feature__image:hover img { transform: scale(1.025); }
.nv-editorial-feature__copy { max-width: 34rem; }
.nv-editorial-feature__copy .nv-lead { margin: 0 0 1rem; color: var(--nv-action,#9A5B2E); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.nv-editorial-feature__copy .nv-h2 { margin: 0; color: var(--nv-ink,#1b1917); font-size: clamp(2.4rem,4vw,4.1rem); font-weight: 600; letter-spacing: -.055em; line-height: 1.04; }
.nv-editorial-feature__description { max-width: 38ch; margin: 1rem 0 1.5rem; color: var(--nv-muted,#66605a); font-size: clamp(.95rem,1.1vw,1.08rem); line-height: 1.7; }
.nv-editorial-feature__copy .nv-link { color: var(--nv-ink,#1b1917); }
@media (max-width: 767px) { .nv-editorial-feature { padding-block: 2.5rem; } .nv-editorial-feature__grid { grid-template-columns: minmax(0,1fr); gap: 1.6rem; } .nv-editorial-feature__image { aspect-ratio: 1.18 / 1; } .nv-editorial-feature__copy .nv-h2 { font-size: clamp(2.25rem,9vw,3.25rem); } .nv-editorial-feature__description { margin-block: .8rem 1.1rem; } }
@media (prefers-reduced-motion: reduce) { .nv-editorial-feature__image img { transition: none !important; } }

/* Three product cards per collection row; use explicit CSS at every desktop width. */
@media (min-width: 768px) { [data-nv-product-grid] { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (min-width: 1024px) { .nv-home__collection-section .nv-carousel__item { flex-basis: calc(25% - .6rem); } }
@media (min-width: 640px) and (max-width: 1023px) { .nv-home__collection-section .nv-carousel__item { flex-basis: calc(33.333% - .5rem); } }
@media (max-width: 639px) { .nv-home__collection-section .nv-carousel__item { flex-basis: 72%; } }


/* Local alpha masks retain original photo colours against the configured image well. */
img.nv-studio-image { mix-blend-mode: normal !important; }
