/* SNVTCHED After Hours — visual layer inspired by the approved Bolt reference. */
:root {
  --snv-ink: #0a0908;
  --snv-ink-soft: #15130f;
  --snv-paper: #f0ece4;
  --snv-ivory: #f0ece4;
  --snv-white: #f0ece4;
  --snv-burgundy: #c41e3a;
  --snv-red: #c41e3a;
  --snv-muted: #a8a199;
  --snv-border: rgba(240,236,228,.24);
  --snv-border-light: rgba(240,236,228,.18);
  --snv-display: "Anton", Impact, sans-serif;
  --snv-editorial: "Playfair Display", "Times New Roman", serif;
  --snv-body: "Playfair Display", "Times New Roman", serif;
  --snv-compact: "Anton", Impact, sans-serif;
  --snv-condensed: "Arial Narrow", Arial, sans-serif;
  --snv-didot: "Times New Roman", Times, serif;
  --snv-container: 1500px;
  --snv-gutter: clamp(1rem, 4.25vw, 4.5rem);
}

/* Release 1.0.14 — storefront polish requested during staging QA. */
.snv-shop-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.snv-shop-hero__background {
  position: absolute;
  z-index: 0;
  top: -25%;
  left: 0;
  width: 100%;
  max-width: none;
  height: 150%;
  object-fit: cover;
  object-position: center 90%;
  filter: grayscale(1) contrast(1.28) brightness(.42);
  transform: translate3d(0, calc(var(--snv-shop-hero-shift, 0px) - 132px), 0) scale(1.04);
  transform-origin: center;
  will-change: transform;
  pointer-events: none;
}
.snv-shop-hero__shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    radial-gradient(circle at 62% 38%, transparent 0 18%, rgba(10,9,8,.16) 58%),
    linear-gradient(90deg, rgba(10,9,8,.56), rgba(10,9,8,.08) 64%),
    linear-gradient(0deg, rgba(10,9,8,.68), transparent 52%);
  pointer-events: none;
}
.snv-shop-hero > :not(.snv-shop-hero__background):not(.snv-shop-hero__shade) {
  position: relative;
  z-index: 2;
}
.snv-shop-hero > p:last-child,
.snv-shop-toolbar .woocommerce-result-count {
  font-family: "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
}
.snv-shop-hero > p:last-child {
  max-width: 38rem;
  color: rgba(240,236,228,.78) !important;
  font-size: clamp(.95rem,1.05vw,1.05rem) !important;
  line-height: 1.45 !important;
}
.snv-shop-toolbar .woocommerce-result-count {
  color: rgba(240,236,228,.72) !important;
  font-size: .76rem !important;
  text-transform: uppercase;
}
.snv-footer nav a {
  font-family: "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
}
.snv-shop-card__price {
  font-family: "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif !important;
  font-size: clamp(1.2rem,1.45vw,1.55rem) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}
.snv-shop-card__price del {
  font-size: .72em;
  font-weight: 500;
}
.snv-shop-card__price ins {
  color: var(--snv-red) !important;
}
.snv-color-swatch,
.snv-color-swatch:hover,
.snv-color-swatch:focus,
.snv-color-swatch:active,
.snv-color-swatch[aria-pressed="true"] {
  color: transparent !important;
  background-color: var(--swatch-color) !important;
  background-image: none !important;
}

.woocommerce-cart .wc-block-components-totals-coupon__form {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto;
  gap: .65rem;
  align-items: stretch;
}
.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input,
.woocommerce-cart .wc-block-components-totals-coupon__form input[type="text"] {
  min-height: 3.25rem !important;
  color: var(--snv-paper) !important;
  border-color: rgba(240,236,228,.4) !important;
  border-radius: 0 !important;
  background: var(--snv-ink-soft) !important;
}
.woocommerce-cart .wc-block-components-totals-coupon__form label,
.woocommerce-cart .wc-block-components-totals-coupon__form input::placeholder {
  color: rgba(240,236,228,.72) !important;
}
.woocommerce-cart .wc-block-components-totals-coupon__form button,
.woocommerce-cart .wc-block-cart__submit-container a.wc-block-components-button {
  min-height: 3.25rem !important;
  color: var(--snv-paper) !important;
  border: 1px solid var(--snv-red) !important;
  border-radius: 0 !important;
  background: var(--snv-red) !important;
  font: 700 .78rem/1 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}
.woocommerce-cart .wc-block-components-totals-coupon__form button:hover,
.woocommerce-cart .wc-block-components-totals-coupon__form button:focus-visible,
.woocommerce-cart .wc-block-cart__submit-container a.wc-block-components-button:hover,
.woocommerce-cart .wc-block-cart__submit-container a.wc-block-components-button:focus-visible {
  color: var(--snv-paper) !important;
  border-color: #a91630 !important;
  background: #a91630 !important;
}
.woocommerce-notices-wrapper .woocommerce-message {
  position: relative;
  min-height: 3.4rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: .75rem;
  margin: 0 0 1.5rem !important;
  padding: .85rem 1rem .85rem 3rem !important;
  color: var(--snv-paper) !important;
  border: 1px solid var(--snv-border) !important;
  border-top: 2px solid var(--snv-red) !important;
  background: var(--snv-ink-soft) !important;
  font-family: "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
  line-height: 1.35 !important;
  text-align: left !important;
}
.woocommerce-notices-wrapper .woocommerce-message::before {
  top: 50% !important;
  left: 1rem !important;
  color: var(--snv-red) !important;
  transform: translateY(-50%);
}
.woocommerce-notices-wrapper .woocommerce-message .button {
  order: 2;
  flex: 0 0 auto;
  margin: 0 0 0 auto !important;
}
.snv-about .snv-about-contact {
  padding-top: clamp(2.5rem,4vw,4.5rem) !important;
}

@media (max-width: 600px) {
  .woocommerce-cart .wc-block-components-totals-coupon__form {
    grid-template-columns: minmax(0,1fr);
  }
  .woocommerce-notices-wrapper .woocommerce-message {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .woocommerce-notices-wrapper .woocommerce-message .button {
    width: 100%;
    margin-left: 0 !important;
  }
}

@font-face {
  font-family: "SNVTCHED Didot Title";
  src: url("../fonts/open/BodoniModa-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
}
@font-face {
  font-family: "SNVTCHED Tungsten Bold";
  src: url("../fonts/open/Oswald-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
}
@font-face {
  font-family: "SNVTCHED Compacta";
  src: url("../fonts/open/Oswald-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
}
@font-face {
  font-family: "SNVTCHED Suisse Intl";
  src: url("../fonts/open/Inter-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Instrument Serif";
  src: url("../fonts/open/InstrumentSerif-Italic.ttf") format("truetype");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue Condensed";
  src: url("../fonts/open/RobotoCondensed-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

html { scroll-behavior: smooth; background: var(--snv-ink); }
body { color: var(--snv-paper); background: var(--snv-ink); font-family: var(--snv-body); line-height: 1.5; }
::selection { color: var(--snv-paper); background: var(--snv-red); }
:focus-visible { outline-color: var(--snv-red); }
h1, h2, h3, h4 { font-family: var(--snv-display); font-weight: 400; letter-spacing: -.045em; text-transform: uppercase; }

.snv-announcement { position: fixed; z-index: 1002; top: 0; left: 0; right: 0; min-height: 30px; height: 30px; display: flex; align-items: center; justify-content: center; padding: 0 1rem; border: 0; color: var(--snv-paper); background: var(--snv-red); font-size: .6rem; font-weight: 700; letter-spacing: .2em; line-height: 1; }
.snv-announcement p, .snv-announcement > :last-child { width: 100%; margin: 0; line-height: 1; text-align: center; }
.snv-header { position: fixed; z-index: 1001; top: 30px; left: 0; right: 0; border: 0; color: var(--snv-paper); background: #0a0908; }
.snv-header__inner { min-height: 86px; max-width: none; padding: 1.25rem var(--snv-gutter); grid-template-columns: auto 1fr auto; background: #0a0908; }
.snv-header-wordmark { width: clamp(132px, 13vw, 188px); }
.snv-header-wordmark img { filter: invert(95%) sepia(7%) saturate(189%); }
.snv-nav { justify-self: center; }
.snv-nav .menu { gap: clamp(1.25rem, 2.5vw, 2.75rem); }
.snv-nav a, .snv-nav span, .snv-utility-link { color: var(--snv-paper); letter-spacing: .12em; text-transform: uppercase; }
.snv-nav a, .snv-nav span { font: 700 .76rem/1 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif; letter-spacing: .14em; }
.snv-utility-link { font: 400 .76rem/1 var(--snv-display); letter-spacing: .055em; }
.snv-nav a { border: 0; }
.snv-nav .current-menu-item > a, .snv-nav .current_page_item > a, .snv-nav a:hover { color: var(--snv-red); border: 0; }
.snv-utilities { gap: 1.25rem; }
.snv-icon { display: none; }
.snv-cart-count { color: var(--snv-paper); font: inherit; }
.snv-menu-toggle { color: var(--snv-paper); }
.snv-menu-toggle > span:not(.screen-reader-text) { background: currentColor; }
.snv-main { min-height: 70vh; }

.snv-afterhours-hero { min-height: 100svh; place-items: end start; border-bottom: 1px solid rgba(240,236,228,.14); background: var(--snv-ink); }
.snv-afterhours-hero > img { object-position: center; filter: grayscale(1) contrast(1.28) brightness(.42); }
.snv-afterhours-hero .snv-home-hero__shade { background: radial-gradient(circle at 62% 38%, transparent 0 18%, rgba(10,9,8,.16) 58%), linear-gradient(90deg, rgba(10,9,8,.56), rgba(10,9,8,.08) 64%), linear-gradient(0deg, rgba(10,9,8,.68), transparent 52%); }
.snv-afterhours-hero .snv-afterhours-hero__wordmark { position: absolute; z-index: 1; top: 0; left: 50%; right: auto; width: 86.14vw; max-width: calc(100% - 2 * var(--snv-gutter)); aspect-ratio: 1324 / 250; overflow: hidden; margin: 0; color: var(--snv-paper); background: currentColor; font-size: 0; line-height: 0; text-indent: -9999px; white-space: nowrap; mask-image: url("../images/brand/snvtched-wordmark-didot-lp-white.png"); mask-mode: luminance; mask-repeat: no-repeat; mask-position: center; mask-size: 121.5% 900%; transform: translateX(-50%); transform-origin: top center; transition: color 360ms ease, filter 360ms ease; }
.snv-afterhours-hero__wordmark::after { content: "•"; position: absolute; right: -.01em; top: .04em; color: var(--snv-red); font: 1.15rem var(--snv-body); letter-spacing: 0; }
.snv-hero-bags-hotspot { position: absolute; z-index: 3; top: 38%; left: 31%; width: 29%; height: 24%; }
.snv-hero-bags-hotspot:hover + .snv-afterhours-hero__wordmark {
  color: var(--snv-red);
  filter: drop-shadow(0 0 1.5rem rgba(196,30,58,.24));
}
.snv-afterhours-hero .snv-home-hero__content { position: relative; z-index: 2; width: calc(100% - 2 * var(--snv-gutter)); max-width: none; display: grid; grid-template-columns: minmax(0, 32rem) auto; justify-content: space-between; align-items: end; gap: 3rem; padding: 0 0 clamp(3.5rem, 7vh, 5.5rem); margin-left: var(--snv-gutter); text-align: left; text-shadow: none; }
.snv-afterhours-hero h1 { max-width: none; margin: 0; color: var(--snv-paper); font: 700 clamp(2rem, 3.2vw, 3.5rem)/1 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif; letter-spacing: .02em; text-transform: none; }
.snv-afterhours-hero .snv-afterhours-hero__copy p { max-width: 31rem; margin: 1rem 0 0; color: rgba(240,236,228,.62); font: 400 clamp(.78rem, 1.05vw, .95rem)/1.55 var(--snv-body); }
.snv-afterhours-hero a { margin: 0 1rem .1rem 0; padding: .65rem 0; border: 0; border-bottom: 1px solid var(--snv-red); color: var(--snv-paper); background: transparent; font: 700 .72rem/1 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif; letter-spacing: .2em; }
.snv-afterhours-hero a::after { content: "→"; margin-left: 1rem; }
.snv-afterhours-hero a:hover { color: var(--snv-red); background: transparent; }

.snv-afterhours-marquee { overflow: hidden; padding: 1.35rem 0; border-bottom: 1px solid rgba(240,236,228,.16); color: rgba(240,236,228,.38); background: var(--snv-ink); font: 700 clamp(1.7rem, 3.2vw, 3.3rem)/.9 var(--snv-compact); letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; }
.snv-afterhours-marquee > div { display: flex; width: max-content; align-items: center; gap: clamp(1.4rem, 3vw, 3.5rem); animation: snv-marquee 34s linear infinite; }
.snv-afterhours-marquee i { color: var(--snv-red); font: 700 clamp(1.7rem, 3vw, 3rem)/1 var(--snv-compact); }
@keyframes snv-marquee { to { transform: translateX(-50%); } }

.snv-home-section { padding: clamp(5.5rem, 10vw, 10rem) var(--snv-gutter); }
.snv-eyebrow { margin-bottom: 1.5rem; color: var(--snv-red); font-size: .64rem; font-weight: 700; letter-spacing: .18em; }
.snv-home-section h2 { color: inherit; font-size: clamp(4rem, 8vw, 8rem); line-height: .87; }
.snv-statement { position: relative; min-height: clamp(46rem, 64vw, 52rem); display: flex; align-items: center; overflow: hidden; border-top: 1px solid rgba(240,236,228,.08); background: var(--snv-ink); }
.snv-statement__visual { position: absolute; z-index: 0; top: 0; right: 0; width: 34%; height: 100%; overflow: hidden; }
.snv-statement__image { position: absolute; top: 50%; left: 50%; width: 191%; max-width: none; height: auto; opacity: .4; filter: grayscale(1) contrast(1.15) brightness(.9); transform: translate(-50%,-50%) rotate(-90deg); }
.snv-statement__shade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, var(--snv-ink) 0 54%, rgba(10,9,8,.72) 72%, rgba(10,9,8,.2) 100%), linear-gradient(0deg, rgba(10,9,8,.35), transparent 45%); }
.snv-statement__inner { position: relative; z-index: 2; width: 100%; }
.snv-statement__copy { width: min(58rem, 76%); }
.snv-statement .snv-eyebrow { margin-bottom: clamp(2rem, 3vw, 3rem); font-family: "SNVTCHED Suisse Intl", Inter, Arial, sans-serif; font-size: .72rem; font-weight: 500; letter-spacing: .35em; }
.snv-statement h2 { display: flex; flex-direction: column; width: max-content; max-width: 100%; margin: 0; color: var(--snv-paper); font-family: "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif; font-size: clamp(5rem, 8.2vw, 8.5rem); font-weight: 700; line-height: .85; letter-spacing: -.05em; }
.snv-statement h2 span { display: block; }
.snv-statement h2 span:nth-child(2) { padding-top: .5rem; }
.snv-statement h2 span:nth-child(2),
.snv-statement h2 span:nth-child(2) em { color: var(--snv-red); font: inherit; }
.snv-statement__body { width: min(34rem, 100%); margin-top: clamp(2.5rem, 4vw, 4rem); padding-left: 1.5rem; border-left: 2px solid var(--snv-red); }
.snv-statement__body p { margin: 0; }
.snv-statement__body p:first-child { color: rgba(240,236,228,.76); font: 700 clamp(1.05rem, 1.45vw, 1.32rem)/1.35 "Helvetica Neue Condensed", "Roboto Condensed", "Arial Narrow", sans-serif; letter-spacing: 0; }
.snv-statement__body p + p { margin-top: 1rem; color: rgba(240,236,228,.42); font: 500 clamp(.82rem, 1vw, .95rem)/1.6 "SNVTCHED Suisse Intl", Inter, Arial, sans-serif; }
.snv-statement__backdrop { position: absolute; z-index: 1; left: -.03em; bottom: -.16em; width: 100%; margin: 0; color: rgba(240,236,228,.05); font: 400 clamp(8rem, 15vw, 15rem)/1 "SNVTCHED Compacta", Oswald, "Arial Narrow", sans-serif; letter-spacing: -.05em; text-transform: uppercase; white-space: nowrap; }
.snv-statement__story { display: inline-block; position: static; margin-top: clamp(1.5rem,3vw,2.5rem); min-width: 0; padding: .65rem 0; border-bottom: 1px solid var(--snv-red); color: var(--snv-paper); font: 700 .72rem/1 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif; letter-spacing: .2em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.snv-statement__story::after { content: "→"; margin-left: 1rem; }

.snv-home-products { background: var(--snv-ink); }
.snv-section-heading { max-width: 65rem; margin-bottom: clamp(3rem, 6vw, 6rem); }
.snv-section-heading h2 { font-size: clamp(4rem, 8vw, 8rem); }
.snv-section-heading > p:last-child { max-width: 42rem; color: rgba(240,236,228,.58); }
.snv-product-preview { width: 100%; grid-template-columns: repeat(12, minmax(0,1fr)); gap: clamp(1.5rem, 3vw, 3.5rem); }
.snv-product-card { grid-column: span 4; }
.snv-product-card:nth-child(4n+1) { grid-column: 1 / span 4; }
.snv-product-card:nth-child(4n+2) { grid-column: 5 / span 4; margin-top: 5.6rem; }
.snv-product-card:nth-child(4n+3) { grid-column: 9 / span 4; }
.snv-product-card:nth-child(4n+4) { grid-column: 3 / span 8; }
.snv-product-card__image { aspect-ratio: 3/4; background: var(--snv-ink-soft); }
.snv-product-card__media { position: relative; }
.snv-product-card:nth-child(4n+4) .snv-product-card__image { aspect-ratio: 16/9; }
.snv-product-card__image img { filter: none; }
.snv-product-card__number { position: absolute; z-index: 2; top: .8rem; left: .8rem; color: var(--snv-paper); font-size: .62rem; font-weight: 700; letter-spacing: .15em; }
.snv-product-card__badge { top: auto; right: .8rem; bottom: .8rem; left: auto; color: var(--snv-paper); background: var(--snv-red); letter-spacing: .12em; }
.snv-product-card__meta { position: relative; min-height: 0; padding: 1.25rem 0; border-top: 1px solid var(--snv-border); }
.snv-product-card__meta h3 { padding-right: 0; color: var(--snv-paper); font: 400 clamp(1.6rem, 2.5vw, 2.6rem)/.94 var(--snv-display); letter-spacing: -.04em; text-transform: uppercase; }
.snv-product-card__title-city,
.snv-product-card__title-piece { display: block; }
.snv-product-card__price { position: absolute; right: 0; top: 1.3rem; color: var(--snv-paper); }
.snv-product-card__meta p { color: var(--snv-muted); }
.snv-product-card__quick, .snv-shop-card__button { min-height: 44px; border-color: var(--snv-border); color: var(--snv-paper); letter-spacing: .12em; }
.snv-product-card__quick:hover, .snv-shop-card__button:hover { color: var(--snv-paper); background: var(--snv-red); border-color: var(--snv-red); }
.snv-home-products__all { text-align: right; }
.snv-home-products__all a { display: inline-block; min-width: 0; padding: .65rem 0; border-bottom: 1px solid var(--snv-red); color: var(--snv-paper); font: 700 .72rem/1 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif; letter-spacing: .2em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.snv-home-products__all a::after { content: "→"; margin-left: 1rem; }

.snv-campaign { position: relative; min-height: 100svh; background-color: #111; background-position: center 25%; background-blend-mode: luminosity; filter: none; }
.snv-campaign::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(10,9,8,.2), rgba(10,9,8,.65)); }
.snv-campaign > div { position: relative; z-index: 1; }
.snv-campaign span { display: none; }
.snv-campaign h2 { max-width: 9ch; margin: 0 auto; color: var(--snv-paper); -webkit-text-fill-color: currentColor; font-size: clamp(5rem, 12vw, 13rem); line-height: .82; transition: color 260ms ease, -webkit-text-fill-color 260ms ease; }
.snv-campaign:hover h2,
.snv-campaign h2:hover { color: #c41e3a !important; -webkit-text-fill-color: #c41e3a !important; }

.snv-craft { color: var(--snv-ink); background: var(--snv-paper); }
.snv-craft__grid { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
.snv-craft h2 { max-width: 7ch; }
.snv-craft-list li { grid-template-columns: 4rem 1fr; padding: 2rem 0; border-color: rgba(10,9,8,.28); }
.snv-craft-list li:last-child { border-color: rgba(10,9,8,.28); }
.snv-craft-list span { color: var(--snv-red); font-size: .7rem; letter-spacing: .1em; }
.snv-craft-list h3 { color: var(--snv-ink); font: 400 clamp(1.75rem, 2.7vw, 2.7rem)/1 var(--snv-display); text-transform: uppercase; }
.snv-craft-list p { max-width: 35rem; color: rgba(10,9,8,.62); }

.snv-collections { padding-top: clamp(5.5rem, 10vw, 10rem); background: var(--snv-ink-soft); }
.snv-collections__grid { grid-template-columns: repeat(12, minmax(0,1fr)); gap: 1rem; }
.snv-collection-card { min-height: 34rem; grid-column: span 4; align-items: flex-end; gap: 1rem; padding: 1rem; border: 1px solid rgba(240,236,228,.08); filter: grayscale(1) contrast(1.08); }
.snv-collection-card:nth-child(2) { margin-top: 6rem; }
.snv-collection-card::before { inset: 30% 0 0; }
.snv-collection-card small { position: absolute; z-index: 1; top: 1rem; left: 1rem; font-size: .62rem; letter-spacing: .14em; }
.snv-collection-card span { max-width: 8ch; font: 400 clamp(2rem, 3.5vw, 4rem)/.9 var(--snv-display); letter-spacing: -.04em; text-transform: uppercase; }

.snv-contact-sheet { border-top: 1px solid rgba(240,236,228,.12); background: #0d1014; }
.snv-contact-sheet__header { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 3rem; margin-bottom: clamp(3rem, 6vw, 5rem); }
.snv-contact-sheet__header h2 { max-width: 10ch; font-size: clamp(4.6rem, 8.05vw, 8.05rem); }
.snv-contact-sheet__header > a { margin-bottom: .6rem; color: rgba(240,236,228,.6); font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-decoration: none; }
.snv-contact-sheet__social { width: 8.5rem; display: grid; grid-template-columns: repeat(2, 2rem); align-items: center; justify-content: center; justify-self: end; gap: .55rem .65rem; margin-bottom: .6rem; color: rgba(240,236,228,.6); }
.snv-contact-sheet__social a { width: 2rem; height: 2rem; display: grid; place-items: center; border: 1px solid rgba(240,236,228,.2); border-radius: 50%; color: inherit; text-decoration: none; transition: color 200ms ease, border-color 200ms ease, transform 200ms ease; }
.snv-contact-sheet__social a:hover, .snv-contact-sheet__social a:focus-visible { color: var(--snv-red); border-color: var(--snv-red); transform: translateY(-2px); }
.snv-contact-sheet__social svg { width: 1rem; height: 1rem; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.snv-contact-sheet__social .snv-social-dot { fill: currentColor; stroke: none; }
.snv-contact-sheet__social > span { grid-column: 1 / -1; font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-align: center; white-space: nowrap; }
.snv-contact-sheet__grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .6rem; }
.snv-contact-sheet figure { position: relative; aspect-ratio: 1; margin: 0; overflow: hidden; background: var(--snv-ink); transform: translateY(0); transform-origin: center bottom; transition: transform 420ms cubic-bezier(.2,.75,.2,1), opacity 320ms ease, box-shadow 420ms ease; will-change: transform; }
.snv-contact-sheet figure span { position: absolute; z-index: 1; top: .7rem; left: .7rem; color: rgba(240,236,228,.7); font-size: .56rem; font-weight: 700; letter-spacing: .16em; }
.snv-contact-sheet figure img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.16) brightness(.7); transition: filter 260ms ease; }
.snv-contact-sheet figure img.snv-contact-sheet__image--rotated { position: absolute; top: 50%; left: 50%; width: 150%; max-width: none; height: auto; object-fit: initial; transform: translate(-50%,-50%) rotate(-90deg); }
.snv-contact-sheet figure img.snv-contact-sheet__image--focus-left { object-position: 28% center; }
.snv-contact-sheet figure img.snv-contact-sheet__image--focus-right { object-position: 76% center; }
.snv-contact-sheet__grid:hover figure:not(:hover) { opacity: .72; transform: translateY(6px); }
.snv-contact-sheet figure:hover { z-index: 2; opacity: 1; transform: translateY(-12px); box-shadow: 0 1.4rem 3rem rgba(0,0,0,.36); }
.snv-contact-sheet figure:hover img { filter: grayscale(0) contrast(1.06) brightness(1); }
.snv-contact-sheet__caption { margin: clamp(4.5rem, 6vw, 6rem) 0 0; color: rgba(240,236,228,.58); font: italic 500 25px var(--snv-editorial); text-align: center; }

.snv-private-access { position: relative; min-height: clamp(40rem, 55vw, 43rem); display: grid; place-items: center; overflow: hidden; border-top: 1px solid rgba(240,236,228,.1); background: #0d1014; }
.snv-private-access__background { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; opacity: .18; filter: grayscale(1) contrast(1.15) brightness(.9); }
.snv-private-access::after { content: ""; position: absolute; z-index: 1; inset: 0; background: radial-gradient(circle at center, rgba(21,25,31,.08), rgba(10,9,8,.38) 88%); pointer-events: none; }
.snv-private-access__grid { position: relative; z-index: 2; max-width: 42rem; display: block; text-align: center; }
.snv-private-access .snv-eyebrow { margin: 0 0 1.5rem; color: var(--snv-red); font-size: .72rem; letter-spacing: .35em; }
.snv-private-access h2 { display: flex; flex-direction: column; margin: 0; color: var(--snv-paper); font-size: clamp(4.6rem, 7.7vw, 6rem); line-height: .9; letter-spacing: -.05em; }
.snv-private-access h2 span { display: block; }
.snv-private-access__lede { max-width: 28rem; margin: 2rem auto 0; color: rgba(240,236,228,.5); font: italic 400 clamp(1rem, 1.4vw, 1.15rem)/1.62 var(--snv-editorial); }
.snv-private-access form { width: min(28rem, 100%); margin: 2.7rem auto 0; }
.snv-private-access form > div { display: flex; align-items: center; border-bottom: 1px solid rgba(240,236,228,.24); }
.snv-private-access label.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.snv-private-access input { flex: 1; min-width: 0; min-height: 3.25rem; padding: .9rem .5rem; border: 0; color: var(--snv-paper); background: transparent; outline: 0; font-size: .85rem; }
.snv-private-access input::placeholder { color: rgba(240,236,228,.28); }
.snv-private-access button { min-height: 3rem; display: inline-flex; align-items: center; gap: .65rem; padding: .75rem 1rem; border: 0; color: var(--snv-paper); background: transparent; font: 700 .76rem/1 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif; letter-spacing: .14em; text-transform: uppercase; transition: color 220ms ease, transform 220ms ease; }
.snv-private-access button > span:first-child { font: inherit; letter-spacing: inherit; }
.snv-private-access button:hover, .snv-private-access button:focus-visible { color: var(--snv-red); background: transparent; transform: translateX(.2rem); }

.snv-footer { position: relative; padding: clamp(5rem, 8vw, 8rem) var(--snv-gutter) 1.5rem; color: var(--snv-paper); background: #050504; border-top: 1px solid var(--snv-border); }
.snv-footer__inner { position: relative; max-width: var(--snv-container); margin: auto; display: grid; grid-template-columns: minmax(0,1fr) minmax(20rem,1fr) 7rem; grid-template-areas: "brand navigation clock"; align-items: start; column-gap: clamp(2rem,4vw,5rem); padding-right: 0; }
.snv-footer__brand { grid-area: brand; }
.snv-wordmark--footer { color: var(--snv-paper); font: 400 clamp(2.7rem, 5vw, 5.5rem)/.85 var(--snv-didot); letter-spacing: .01em; }
.snv-wordmark--footer span { color: var(--snv-red); }
.snv-footer__brand p { max-width: 25rem; color: var(--snv-muted); }
.snv-footer nav { grid-area: navigation; justify-self: end; width: 100%; min-width: 0; text-align: left; }
.snv-footer nav .menu { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: clamp(1.25rem,2.5vw,3rem); row-gap: .75rem; margin: 0; padding: 0; list-style: none; }
.snv-footer nav li { margin: 0; min-width: 0; white-space: normal; }
.snv-footer nav a { display: inline-block; max-width: 100%; color: var(--snv-paper); font-size: .7rem; line-height: 1.5; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.snv-footer__clock { grid-area: clock; position: static; min-width: 7rem; margin: 0; text-align: right; }
.snv-footer__clock > span { display: block; color: rgba(240,236,228,.3); font: 700 .62rem/1 var(--snv-body); letter-spacing: .16em; text-transform: uppercase; }
.snv-footer__clock time { display: block; margin-top: 1.25rem; color: rgba(240,236,228,.72); font: 400 .88rem/1.2 var(--snv-body); white-space: nowrap; }
.snv-footer__clock small { display: block; margin-top: .4rem; color: rgba(240,236,228,.42); font: 400 .72rem/1.3 var(--snv-body); white-space: nowrap; }
.snv-footer__bottom { max-width: var(--snv-container); margin: 5rem auto 0; padding-top: 1.25rem; display: flex; justify-content: space-between; gap: 2rem; border-top: 1px solid var(--snv-border); color: rgba(240,236,228,.5); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.snv-footer__bottom p { margin: 0; }
.snv-footer__bottom .snv-footer__copyright { margin: 0; padding: 0; border: 0; text-align: left; text-transform: none; }

@media (min-width: 1024px) {
  .snv-footer__inner {
    grid-template-columns: minmax(0,1fr) minmax(20rem,1fr) 7rem;
    grid-template-areas: "brand navigation clock";
    align-items: start;
    min-height: 8rem;
  }
  .snv-footer__inner > .snv-footer__brand {
    grid-area: brand;
    justify-self: start;
    width: auto;
    min-width: 0;
    text-align: left;
  }
  .snv-footer__inner > nav {
    grid-area: navigation;
    justify-self: end;
    width: 100%;
    text-align: left;
  }
  .snv-footer__clock {
    position: static;
  }
}

/* Inner pages and WooCommerce inherit the same dark editorial language. */
.snv-shop, .snv-contact, .snv-about, .woocommerce-page .snv-main { color: var(--snv-paper); background: var(--snv-ink); }
.snv-account-panel__footer a { font: 700 .76rem/1 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif !important; letter-spacing: .14em; }
.woocommerce-cart .wp-block-woocommerce-cart { width: 100% !important; max-width: none !important; margin-inline: 0 !important; color: var(--snv-paper); }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block { width: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.woocommerce-cart .wc-block-cart__empty-cart__title { margin: 0 !important; padding: clamp(3rem,7vw,6rem) var(--snv-gutter) !important; border-block: 1px solid var(--snv-border); color: var(--snv-paper) !important; font: 700 clamp(2.25rem,4vw,4.25rem)/.92 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif !important; letter-spacing: 0 !important; text-transform: uppercase; }
.woocommerce-cart .wc-block-cart__empty-cart__title::before { display: none !important; content: none !important; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block hr { display: none !important; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) { margin: clamp(3.5rem,7vw,6.5rem) 0 clamp(2rem,4vw,3rem) !important; color: var(--snv-paper) !important; font: 700 clamp(2.25rem,4vw,4.25rem)/.92 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif !important; letter-spacing: 0 !important; text-align: left !important; text-transform: uppercase; }
.woocommerce-cart .wc-block-grid__products { margin: 0 !important; padding: 0 !important; display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: clamp(1.25rem,3vw,3rem) !important; list-style: none !important; }
.woocommerce-cart .wc-block-grid__product { max-width: none !important; display: flex !important; flex-direction: column; border: 0 !important; text-align: left !important; }
.woocommerce-cart .wc-block-grid__product-link { display: block; color: inherit !important; text-decoration: none !important; }
.woocommerce-cart .wc-block-grid__product-image { aspect-ratio: 4 / 5; overflow: hidden; background: var(--snv-ink-soft); }
.woocommerce-cart .wc-block-grid__product-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.woocommerce-cart .wc-block-grid__product-title { margin-top: 1rem !important; color: var(--snv-paper) !important; font: 700 clamp(1.5rem,2.4vw,2.1rem)/.95 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif !important; letter-spacing: 0 !important; text-transform: uppercase; }
.woocommerce-cart .wc-block-grid__product-price { margin-top: .65rem !important; color: var(--snv-muted) !important; font: 500 .9rem/1.4 "SNVTCHED Suisse Intl", Inter, Arial, sans-serif !important; }
.woocommerce-cart .wc-block-grid__product-add-to-cart { margin-top: auto !important; padding-top: 1rem; }
.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link { width: 100%; display: flex; align-items: center; justify-content: center; font: 700 .76rem/1 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif !important; letter-spacing: .14em !important; }
.snv-shop { padding-top: clamp(7.5rem, 10vw, 9rem); }
.snv-shop-hero { min-height: clamp(12.5rem, 18vw, 16rem); display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; padding-top: clamp(1.25rem, 2.2vw, 2rem); padding-bottom: clamp(1.25rem, 2.2vw, 2rem); }
.snv-shop-hero .snv-eyebrow { margin-bottom: .9rem; font-size: .68rem; letter-spacing: .22em; }
.snv-shop-hero h1 { max-width: 15ch; color: var(--snv-paper); font-size: clamp(2rem, 3.05vw, 3.35rem); line-height: .9; letter-spacing: 0; }
.snv-contact-hero__copy h1, .snv-about-hero__copy h1 { color: var(--snv-paper); font-size: clamp(4.5rem, 9vw, 10rem); line-height: .86; }
.snv-shop-hero > p:last-child, .snv-contact-hero__copy > p:last-child, .snv-about-hero__copy > p:last-child { color: var(--snv-muted); }
.snv-shop-toolbar { border-top: 1px solid var(--snv-border); padding-top: 1.5rem; }
.snv-shop-sort select { color: var(--snv-paper); border-color: var(--snv-border); background: var(--snv-ink); }
.snv-shop-filters h2 { color: var(--snv-paper); border-color: var(--snv-border); }
.snv-shop-filters a { color: var(--snv-muted); }
.snv-shop-card__media { position: relative; overflow: hidden; background: var(--snv-ink-soft); }
.snv-shop-card__image { display: block; background: var(--snv-ink-soft); }
.snv-shop-card__arrow { position: absolute; z-index: 4; top: 50%; width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border: 1px solid rgba(240,236,228,.58); border-radius: 0; color: var(--snv-paper); background: rgba(10,9,8,.48); font: 700 1.1rem/1 var(--snv-body); transform: translateY(-50%); cursor: pointer; }
.snv-shop-card__arrow:hover, .snv-shop-card__arrow:focus-visible { border-color: var(--snv-red); background: var(--snv-red); }
.snv-shop-card__arrow--prev { left: 0; }
.snv-shop-card__arrow--next { right: 0; }
.snv-shop-card__sizes { position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; min-height: 1.96875rem; padding: 0 clamp(.65rem,1vw,.8rem); display: grid; grid-template-columns: repeat(var(--snv-size-count,4),1fr); align-items: center; gap: .5rem; color: rgba(10,9,8,.78); background: rgba(240,236,228,.92); font: 700 .78rem/1 var(--snv-body); letter-spacing: .08em; text-align: center; pointer-events: none; }
.snv-shop-card__button { display: none; }
.snv-shop-card__meta h2, .snv-shop-card__price { color: var(--snv-paper); }
.snv-shop-card__actions { margin-top: auto; }
.snv-shop-card__actions .button { width: 100%; justify-content: center; }
.woocommerce-shop table.cfvsw-shop-variations,
.woocommerce-shop .cfvsw-shop-variations,
.woocommerce-shop .snv-shop-card__actions { display: none !important; }
.snv-shop-card__meta { min-height: 4.25rem; padding: 1.25rem 0 1rem; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: baseline; column-gap: .75rem; }
.snv-shop-card__price { justify-self: end; margin: 0; font-size: .78rem; line-height: 1.2; text-align: right; white-space: nowrap; }
.snv-shop-card__colors { grid-column: 1/-1; display: flex; align-items: center; gap: .45rem; margin-top: .7rem; }
.snv-color-swatch { width: .8rem; height: .8rem; flex: 0 0 .8rem; padding: 0; border: 1px solid rgba(240,236,228,.62); border-radius: 0; background: var(--swatch-color); cursor: pointer; transition: transform 160ms ease; }
.snv-color-swatch[aria-pressed="true"] { z-index: 1; outline: 1px solid var(--snv-paper); outline-offset: 2px; transform: scale(1.2); }
.snv-color-swatch:focus-visible { outline-color: var(--snv-paper); }
.snv-color-swatch:disabled { opacity: 1; cursor: not-allowed; }
.snv-color-swatch--maroon { --swatch-color: #761f2d; }
.snv-color-swatch--brown { --swatch-color: #654330; }
.snv-color-swatch--black { --swatch-color: #080808; }
.snv-color-swatch--white { --swatch-color: #f4f1eb; }
.snv-shop-card__meta h2 { margin: 0; font: 400 1.8rem/1 var(--snv-display); text-transform: uppercase; }
.snv-shop-card__meta p { color: var(--snv-muted); }
.snv-shop-card .onsale, .snv-shop .snv-shop-card span.onsale { position: absolute !important; z-index: 5 !important; top: .8rem !important; right: .8rem !important; bottom: auto !important; left: auto !important; background: var(--snv-red) !important; }
.snv-contact-hero { min-height: 100svh; background: var(--snv-ink); }
.snv-contact-hero__image, .snv-about-hero__image { filter: saturate(.65) contrast(1.08); }
.snv-contact-body { color: var(--snv-paper); }
.snv-contact-body h2 { color: var(--snv-paper); }
.snv-contact-details > p:not(.snv-eyebrow) { color: var(--snv-muted); }
.snv-contact-email, .snv-contact-form { border-color: var(--snv-border); }
.snv-contact-email a, .snv-contact-policy a, .snv-contact-socials a, .snv-contact-social { color: var(--snv-paper); }
.snv-contact-form { background: var(--snv-ink-soft); }
.snv-contact-form label span, .snv-contact-form input, .snv-contact-form textarea { color: var(--snv-paper); }
.snv-contact-form input, .snv-contact-form textarea { border-color: var(--snv-border); }
.snv-contact-form button { border-color: var(--snv-red); background: var(--snv-red); }

.snv-about .snv-about-hero { position: relative; min-height: clamp(12.5rem,18vw,16rem) !important; display: block !important; overflow: hidden; isolation: isolate; border-bottom: 1px solid var(--snv-border-soft); background: var(--snv-ink); }
.snv-about .snv-about-hero__copy { position: relative; z-index: 2; width: 100%; min-height: inherit; display: flex; align-items: center; justify-content: center; padding: clamp(1.25rem,2.2vw,2rem) var(--snv-gutter) !important; text-align: center; }
.snv-about .snv-about-hero__copy .snv-about-hero__title { max-width: none; margin: 0 !important; color: var(--snv-paper) !important; font: 700 clamp(3.25rem,6vw,6.25rem)/.86 var(--snv-display) !important; letter-spacing: 0 !important; white-space: nowrap; text-transform: uppercase; }
.snv-about .snv-about-hero__image { position: absolute; z-index: 0; inset: 0 0 0 38%; width: 62%; min-height: 0 !important; height: 100%; background-position: 65% center; background-repeat: no-repeat; background-size: cover; order: initial !important; }
.snv-about .snv-about-hero__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,var(--snv-ink),transparent 52%); }
.snv-about .snv-about-story, .snv-about .snv-about-contact { color: var(--snv-ink) !important; background: #fff !important; }
.snv-about .snv-about-story { border-bottom-color: rgba(10,9,8,.18); }
.snv-about .snv-about-story h2, .snv-about .snv-about-contact h2 { color: var(--snv-ink) !important; }
.snv-about .snv-about-story__copy { border-top-color: var(--snv-red); }
.snv-about .snv-about-story__copy p { text-align: justify; text-justify: inter-word; }
.snv-about .snv-about-story__copy p, .snv-about .snv-about-contact p { color: rgba(10,9,8,.78) !important; }
.snv-about .snv-about-contact > div:last-child p { font: 700 1.1rem/1.4 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif !important; letter-spacing: .03em !important; }
.snv-about .snv-about-story__copy p.snv-about-story__closing { color: var(--snv-red) !important; font-weight: 600; }
.snv-about .snv-about-contact__actions a { color: var(--snv-ink) !important; border-color: rgba(10,9,8,.35) !important; background: transparent !important; font: 700 .76rem/1 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif !important; }
.snv-about .snv-about-contact__actions a:hover { color: #fff !important; border-color: var(--snv-red) !important; background: var(--snv-red) !important; }

@media (max-width: 700px) {
  .woocommerce-cart .wc-block-grid__products { grid-template-columns: minmax(0,1fr) !important; }
  .snv-about .snv-about-hero__copy { width: 100%; }
  .snv-about .snv-about-hero__copy .snv-about-hero__title { font-size: clamp(2.75rem,12vw,4.5rem) !important; white-space: normal; }
  .snv-about .snv-about-hero__image { inset: 0; width: 100%; min-height: 0 !important; }
  .snv-about .snv-about-story, .snv-about .snv-about-contact { grid-template-columns: minmax(0,1fr) !important; gap: 2rem !important; }
}

@media (max-width: 1023px) {
  .snv-header__inner { grid-template-columns: auto 1fr auto; }
  .snv-menu-toggle { display: block; order: 3; justify-self: end; }
  .snv-utilities { order: 2; }
  .snv-utility-label { display: none; }
  .snv-nav { position: fixed; inset: 30px 0 0; display: none; padding: 8rem var(--snv-gutter) 3rem; color: var(--snv-paper); background: var(--snv-ink); }
  .snv-menu-open .snv-nav { display: block; }
  .snv-nav .menu { display: block; }
  .snv-nav li + li { border-top: 1px solid var(--snv-border); }
  .snv-nav a, .snv-nav span { display: block; padding: 1rem 0; font: 700 clamp(2.5rem, 9vw, 5rem)/.92 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif; letter-spacing: 0; }
  .snv-afterhours-hero .snv-afterhours-hero__wordmark { top: 8rem; font-size: clamp(3.7rem, 14.4vw, 8rem); }
  .snv-product-card, .snv-product-card:nth-child(n) { grid-column: span 6; margin-top: 0; }
  .snv-product-card:nth-child(3) { grid-column: 2 / span 10; }
  .snv-product-card:nth-child(4) { grid-column: span 6; }
  .snv-collection-card { grid-column: span 6; }
  .snv-collection-card:nth-child(2) { margin-top: 4rem; }
  .snv-collection-card:nth-child(3) { grid-column: 4 / span 6; }
  .snv-contact-sheet__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .snv-footer__inner { grid-template-columns: 1fr auto; grid-template-areas: "brand clock" "navigation navigation"; row-gap: 2.5rem; padding-right: 0; }
  .snv-footer nav { justify-self: start; }
  .snv-footer__clock { grid-area: clock; position: static; justify-self: end; }
}

@media (max-width: 700px) {
  .snv-announcement { font-size: .52rem; letter-spacing: .13em; }
  .snv-header__inner { min-height: 70px; padding-top: .9rem; padding-bottom: .9rem; gap: .75rem; }
  .snv-header-wordmark { width: 125px; }
  .snv-utilities { margin-left: auto; }
  .snv-afterhours-hero { min-height: 760px; }
  .snv-afterhours-hero .snv-afterhours-hero__wordmark { left: 50%; right: auto; width: 90vw; max-width: calc(100% - 2rem); }
  .snv-hero-bags-hotspot { display: none; }
  .snv-afterhours-hero > img { object-position: 66% center; }
  .snv-afterhours-hero .snv-home-hero__content { width: calc(100% - 2rem); display: block; margin-left: 1rem; }
  .snv-afterhours-hero a { display: inline-block; margin-top: 1.8rem; }
  .snv-home-section { padding-block: 5.5rem; }
  .snv-form-refined__grid, .snv-craft__grid, .snv-private-access__grid { grid-template-columns: 1fr; }
  .snv-statement { min-height: 48rem; align-items: flex-start; padding-top: 7rem; }
  .snv-statement__visual { width: 62%; }
  .snv-statement__image { opacity: .26; }
  .snv-statement__shade { background: linear-gradient(90deg, var(--snv-ink) 0 28%, rgba(10,9,8,.68) 75%, rgba(10,9,8,.35)), linear-gradient(0deg, var(--snv-ink) 0 11%, transparent 55%); }
  .snv-statement__copy { width: 100%; }
  .snv-statement h2 { font-size: clamp(4.1rem, 18vw, 6rem); }
  .snv-statement__body { width: min(28rem, 92%); padding-left: 1rem; }
  .snv-statement__backdrop { font-size: clamp(6rem, 25vw, 9rem); }
  .snv-product-preview { display: block; }
  .snv-product-card + .snv-product-card { margin-top: 3rem; }
  .snv-product-card:nth-child(4n+4) .snv-product-card__image { aspect-ratio: 3/4; }
  .snv-campaign { min-height: 78svh; }
  .snv-collections__grid { display: grid; grid-template-columns: 1fr 1fr; }
  .snv-collection-card, .snv-collection-card:nth-child(n) { min-height: 23rem; grid-column: auto; margin: 0; }
  .snv-collection-card:nth-child(3) { grid-column: 1 / -1; }
  .snv-contact-sheet__header { display: block; }
  .snv-contact-sheet__header > a { display: inline-block; margin-top: 1.5rem; }
  .snv-contact-sheet__social { justify-content: center; justify-self: start; margin-top: 1.5rem; }
  .snv-contact-sheet__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .snv-private-access form > div { grid-template-columns: 1fr; }
  .snv-private-access input { border-right: 1px solid var(--snv-border); }
  .snv-footer__inner { grid-template-columns: 1fr; grid-template-areas: "brand" "navigation" "clock"; }
  .snv-footer nav { grid-column: auto; }
  .snv-footer__clock { justify-self: start; }
  .snv-footer__bottom { display: block; }
  .snv-footer__bottom p + p { margin-top: .75rem; }
  .snv-shop-layout { display: block; }
  .snv-shop-filters { margin-bottom: 3rem; }
  .snv-shop-products ul.products { grid-template-columns: 1fr 1fr; }
  .snv-shop-card__button { display: grid; }
  .snv-shop-toolbar { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .snv-afterhours-marquee > div { animation: none; }
  .snv-contact-sheet figure, .snv-contact-sheet figure img { transition: none; }
}

/*
 * Responsive production guard.
 *
 * These selectors intentionally outrank the obsolete Additional CSS once
 * stored on production. They also keep the editorial hero bounded on wide
 * laptops instead of scaling the wordmark and headline indefinitely.
 */
.home .snv-header__inner {
  width: 100%;
  min-width: 0;
}
.home .snv-header__inner > *,
.home .snv-nav,
.home .snv-utilities {
  min-width: 0;
}
.home .snv-afterhours-hero .snv-afterhours-hero__wordmark {
  top: 116px;
  width: min(74vw, 82rem);
  max-width: calc(100% - 2 * var(--snv-gutter));
}
.home .snv-afterhours-hero .snv-home-hero__content {
  width: calc(100% - 2 * var(--snv-gutter));
  max-width: none;
  margin: 0 0 0 var(--snv-gutter);
  padding: 0 0 clamp(3.5rem, 7vh, 5.5rem);
  display: grid;
  grid-template-columns: minmax(0, 32rem) auto;
  justify-content: space-between;
  align-items: end;
  gap: clamp(1.5rem, 3vw, 3rem);
  text-align: left;
  text-shadow: none;
}
.home .snv-afterhours-hero .snv-afterhours-hero__copy h1 {
  max-width: 100%;
  margin: 0;
  color: var(--snv-paper);
  opacity: .58;
  font: 700 clamp(2rem, 3.2vw, 3.5rem)/1 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif;
  letter-spacing: .02em;
  overflow-wrap: normal;
}
.home .snv-afterhours-hero .snv-afterhours-hero__copy p {
  max-width: 31rem;
  margin: 1rem 0 0;
  color: rgba(240,236,228,.62);
  font: 400 clamp(.78rem, 1.05vw, .95rem)/1.55 var(--snv-body);
}
.home .snv-afterhours-hero .snv-home-hero__content > a {
  min-width: 0;
  margin: 0 1rem .1rem 0;
  padding: .65rem 0;
  border: 0;
  border-bottom: 1px solid var(--snv-red);
  color: var(--snv-paper);
  background: transparent;
  font: 700 .72rem/1 "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif;
  letter-spacing: .2em;
  white-space: nowrap;
}

@media (max-width: 1023px) {
  .home .snv-afterhours-hero .snv-afterhours-hero__wordmark {
    width: min(84vw, 60rem);
  }
}

@media (max-width: 700px) {
  .home .snv-afterhours-hero .snv-afterhours-hero__wordmark {
    top: 100px;
    width: 90vw;
    max-width: calc(100% - 2rem);
  }
  .home .snv-afterhours-hero .snv-home-hero__content {
    width: calc(100% - 2rem);
    margin-left: 1rem;
    display: block;
    padding-bottom: 3.5rem;
  }
  .home .snv-afterhours-hero .snv-afterhours-hero__copy h1 {
    font-size: clamp(2.1rem, 10vw, 3.35rem);
  }
  .home .snv-afterhours-hero .snv-home-hero__content > a {
    display: inline-block;
    margin-top: 1.8rem;
  }
}

/* Local staging parity: shared inner-page offset and editorial product pages. */
:root {
  --snv-border-soft: rgba(240,236,228,.12);
  --snv-druk: "SNVTCHED Tungsten Bold", Oswald, "Arial Narrow", sans-serif;
  --snv-haas: "SNVTCHED Suisse Intl", Inter, Arial, sans-serif;
  --snv-didot-local: "SNVTCHED Didot Title", "Bodoni Moda", Didot, serif;
}
body:not(.home):not(.woocommerce-shop) .snv-main { padding-top: 116px; }
body.admin-bar .snv-announcement { top: 32px; }
body.admin-bar .snv-header { top: 62px; }
body.admin-bar:not(.home):not(.woocommerce-shop) .snv-main { padding-top: 148px; }

.single-product.snv-product-detailed #content,
.single-product.snv-product-detailed .snv-main,
.single-product.snv-product-detailed #primary,
.single-product.snv-product-detailed .snv-product-page { color: var(--snv-paper); background: var(--snv-ink); }
.single-product.snv-product-detailed .woocommerce-breadcrumb { display: none; }
.single-product.snv-product-detailed main.site-main { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.single-product.snv-product-detailed #primary { max-width: none; margin: 0; padding: 0; }
.single-product.snv-product-detailed .snv-product-page { clear: both; margin: 0; padding: clamp(4rem,7vw,7rem) var(--snv-gutter) clamp(6rem,10vw,10rem); font-family: var(--snv-haas); }
.single-product.snv-product-detailed .snv-product-page::before,
.single-product.snv-product-detailed .snv-product-page::after { display: none; content: none; }
.single-product.snv-product-detailed .snv-product-page__inner { max-width: var(--snv-container); margin: auto; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr); gap: clamp(2.5rem,7vw,7rem); align-items: start; }
.single-product.snv-product-detailed .snv-product-gallery { --snv-thumb-rail: calc(18.6667% - .4rem); position: sticky; top: 150px; width: auto; min-width: 0; float: none; margin: 0; }
.single-product.snv-product-detailed .snv-product-page__image { position: relative; width: 70%; margin-left: calc(var(--snv-thumb-rail) + .75rem); aspect-ratio: 3/4; overflow: hidden; background: var(--snv-ink-soft); }
.single-product.snv-product-detailed .snv-product-page__image img { width: 100%; height: 100%; object-fit: cover; }
.single-product.snv-product-detailed .snv-product-gallery__thumbs { position: absolute; inset: 0 auto 0 0; width: var(--snv-thumb-rail); margin: 0; display: grid; grid-template-columns: minmax(0,1fr); grid-auto-rows: minmax(0,calc((100% - 2rem)/5)); align-content: start; gap: .5rem; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.single-product.snv-product-detailed .snv-product-gallery__thumbs:focus-visible { outline: 2px solid var(--snv-red); outline-offset: 3px; }
.single-product.snv-product-detailed .snv-product-gallery__thumbs button { min-height: 0; padding: 0; overflow: hidden; border: 1px solid transparent; border-radius: 0; background: var(--snv-ink-soft); cursor: pointer; }
.single-product.snv-product-detailed .snv-product-gallery__thumbs button[aria-current="true"] { border-color: var(--snv-red); }
.single-product.snv-product-detailed .snv-product-gallery__thumbs img { width: 100%; height: 100%; object-fit: contain; }
.snv-product-gallery [hidden] { display: none !important; }
.snv-product-gallery__empty { position: absolute; inset: 0; display: grid; place-content: center; margin: 0; padding: 1rem; text-align: center; color: var(--snv-paper); font: 400 1rem/1.5 var(--snv-haas); }
.single-product.snv-product-detailed .snv-product-page .summary.snv-product-page__copy { width: auto; float: none; margin: 0; padding: clamp(1rem,4vw,4rem) 0 0; color: var(--snv-paper); }
.single-product.snv-product-detailed .snv-product-page__copy .snv-eyebrow { margin: 0; color: var(--snv-red); font: 700 .72rem/1 var(--snv-haas); letter-spacing: .24em; text-transform: uppercase; }
.single-product.snv-product-detailed .snv-product-page .summary .product_title { margin: 1.35rem 0 2rem; color: var(--snv-paper); font: 700 clamp(2.8rem,4.9vw,4.9rem)/.9 var(--snv-druk); letter-spacing: 0; text-transform: uppercase; }
.single-product.snv-product-detailed .snv-product-page .summary .woocommerce-product-rating { display: none; }
.single-product.snv-product-detailed .snv-product-page .woocommerce-product-details__short-description { max-width: 35rem; color: rgba(240,236,228,.67); font: 500 clamp(1rem,1.3vw,1.2rem)/1.65 var(--snv-haas); }
.single-product.snv-product-detailed .snv-product-page .woocommerce-product-details__short-description p { margin: 0; color: inherit; font: inherit; }
.single-product.snv-product-detailed .snv-product-page .woocommerce-product-details__short-description p + p { margin-top: 1rem; }
.single-product.snv-product-detailed .snv-product-page .woocommerce-product-details__short-description,
.single-product.snv-product-detailed .snv-product-page .woocommerce-product-details__short-description p,
.single-product.snv-product-detailed .snv-product-page__features,
.single-product.snv-product-detailed .snv-product-page__features li { font-family: var(--snv-haas) !important; }
.single-product.snv-product-detailed .snv-product-page__features { max-width: 35rem; margin: 1.75rem 0 0; padding-left: 1.15rem; color: rgba(240,236,228,.78); font: 500 .92rem/1.65 var(--snv-haas); }
.single-product.snv-product-detailed .snv-product-page__features li { padding-left: .25rem; }
.single-product.snv-product-detailed .snv-product-page__price { margin: 0; padding: 1.1rem 0; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; border-top: 0; border-bottom: 1px solid var(--snv-border-soft); }
.single-product.snv-product-detailed .snv-product-page__price > span { color: var(--snv-muted); font: 500 1rem/1.3 var(--snv-haas); }
.single-product.snv-product-detailed .snv-product-page__price .price { margin: 0 !important; color: var(--snv-red) !important; font: 700 clamp(1.35rem,2vw,1.7rem)/1 var(--snv-druk); letter-spacing: 0; text-align: right; }
.single-product.snv-product-detailed .snv-product-page__price .price del,
.single-product.snv-product-detailed .snv-product-page__price .price del .amount { color: var(--snv-muted) !important; font: 500 .9rem/1 var(--snv-haas); }
.single-product.snv-product-detailed .snv-product-page__price .price ins,
.single-product.snv-product-detailed .snv-product-page__price .price ins .amount,
.single-product.snv-product-detailed .snv-product-page__price .price > .amount { color: var(--snv-red) !important; text-decoration: none; }
.single-product.snv-product-detailed .snv-product-page__details { margin: 3rem 0; padding: 0; display: block; border-block: 1px solid var(--snv-border-soft); }
.single-product.snv-product-detailed .snv-product-page__detail { padding: 1rem 0; display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-bottom: 1px solid var(--snv-border-soft); color: var(--snv-muted); }
.single-product.snv-product-detailed .snv-product-page__detail:last-child { border-bottom: 0; }
.single-product.snv-product-detailed .snv-product-page__detail > span { color: var(--snv-muted); font: 500 .82rem/1.2 var(--snv-haas); letter-spacing: .08em; text-transform: uppercase; }
.single-product.snv-product-detailed .snv-product-page__detail strong { color: var(--snv-paper); font: 500 .9rem/1.4 var(--snv-haas); }
.single-product.snv-product-detailed .snv-catalog-options__colors { display: flex; align-items: start; justify-content: flex-end; flex-wrap: wrap; gap: .75rem 1rem; padding: .2rem 3rem 1.75rem; }
.single-product.snv-product-detailed .snv-catalog-color { position: relative; width: 1.1rem; height: 1.1rem; display: block; color: var(--snv-muted); font: 500 .68rem/1.2 var(--snv-haas); white-space: nowrap; }
.single-product.snv-product-detailed .snv-catalog-color > span { position: absolute; top: 1.65rem; left: 50%; display: none; transform: translateX(-50%); }
.single-product.snv-product-detailed .snv-catalog-color > button[aria-pressed="true"] + span { display: block; }
.single-product.snv-product-detailed .snv-catalog-options__colors button { width: 1.1rem; height: 1.1rem; padding: 0; border: 1px solid rgba(240,236,228,.62); border-radius: 0; background: var(--swatch-color); cursor: pointer; }
.single-product.snv-product-detailed .snv-catalog-options__colors button[aria-pressed="true"] { outline: 1px solid var(--snv-paper); outline-offset: 3px; transform: scale(1.18); }
.single-product.snv-product-detailed .snv-product-page__sizes { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; }
.single-product.snv-product-detailed .snv-product-page__sizes button { min-width: 2.7rem; min-height: 2.7rem; padding: .5rem .75rem; color: var(--snv-paper); border: 1px solid var(--snv-border); border-radius: 0; background: transparent; cursor: pointer; font: 700 .72rem var(--snv-haas); letter-spacing: .08em; }
.single-product.snv-product-detailed .snv-product-page__sizes button:hover,
.single-product.snv-product-detailed .snv-product-page__sizes button[aria-pressed="true"] { color: var(--snv-ink); border-color: var(--snv-paper); background: var(--snv-paper); }
.single-product.snv-product-detailed .snv-product-page__sizes button:disabled { opacity: .28; cursor: not-allowed; text-decoration: line-through; }
.single-product.snv-product-detailed .snv-product-page form.cart { margin: 1.35rem 0 0 !important; }
.single-product.snv-product-detailed .snv-product-page form.cart .quantity { float: none !important; margin: 0 !important; }
.single-product.snv-product-detailed .snv-product-page form.cart .quantity .qty,
.single-product.snv-product-detailed .snv-product-page form.cart select { width: 100%; min-height: 52px; padding: 0 1rem; color: var(--snv-paper); border: 1px solid var(--snv-border); border-radius: 0; background: var(--snv-ink-soft); font: 500 .78rem var(--snv-haas); }
.single-product.snv-product-detailed .snv-product-page form.cart:not(.variations_form),
.single-product.snv-product-detailed .snv-product-page .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: minmax(90px,.35fr) minmax(0,1fr); gap: .8rem; }
.single-product.snv-product-detailed .snv-product-page form.cart .single_add_to_cart_button { min-height: 52px !important; padding: 0 1rem !important; border: 1px solid var(--snv-red) !important; border-radius: 0 !important; color: var(--snv-paper) !important; background: var(--snv-red) !important; font: 700 .78rem var(--snv-haas) !important; letter-spacing: .1em !important; text-transform: uppercase; }
.single-product.snv-product-detailed .snv-product-page form.cart .single_add_to_cart_button:hover { color: var(--snv-paper) !important; border-color: #a91630 !important; background: #a91630 !important; }
.single-product.snv-product-detailed .snv-product-page table.variations { margin: 0 0 .8rem; }
.single-product.snv-product-detailed .snv-product-page table.variations tr.snv-native-color-row,
.single-product.snv-product-detailed .snv-product-page table.variations tr.snv-native-size-row { display: none !important; }
.single-product.snv-product-detailed .snv-product-page table.variations th { color: var(--snv-muted); font: 600 .69rem var(--snv-haas); letter-spacing: .14em; }
.single-product.snv-product-detailed .snv-product-page table.variations .reset_variations { color: var(--snv-muted); }
.single-product.snv-product-detailed .snv-product-page .woocommerce-variation-description,
.single-product.snv-product-detailed .snv-product-page .woocommerce-variation-availability { color: var(--snv-muted); }
.single-product.snv-product-detailed .snv-product-page .summary > p.stock { clear: both; margin: .7rem 0 0 !important; color: var(--snv-muted) !important; font: 600 .76rem/1.4 var(--snv-haas); letter-spacing: .08em; text-transform: uppercase; }
.single-product.snv-product-detailed .snv-catalog-accordions { margin-top: 1.5rem; border-top: 1px solid var(--snv-border-soft); }
.single-product.snv-product-detailed .snv-catalog-accordion { border-bottom: 1px solid var(--snv-border-soft); }
.single-product.snv-product-detailed .snv-catalog-accordion summary { padding: 1.15rem 0; color: var(--snv-paper); cursor: pointer; font: 500 .82rem var(--snv-didot-local); letter-spacing: .12em; text-transform: uppercase; }
.single-product.snv-product-detailed .snv-catalog-accordion summary::marker { color: var(--snv-red); }
.single-product.snv-product-detailed .snv-catalog-accordion > div { padding: 0 0 1.4rem; color: var(--snv-muted); }
.single-product.snv-product-detailed .snv-catalog-accordion > div,
.single-product.snv-product-detailed .snv-catalog-accordion > div p,
.single-product.snv-product-detailed .snv-catalog-accordion > div li { font: 400 1rem/1.55 var(--snv-display); letter-spacing: .035em; }
.single-product.snv-product-detailed .snv-size-guide-trigger { width: 100%; padding: 1.15rem 0; display: flex; align-items: center; gap: .5rem; color: var(--snv-paper); border: 0; border-radius: 0; background: transparent; cursor: pointer; font: 500 .82rem var(--snv-didot-local); letter-spacing: .12em; text-align: left; text-transform: uppercase; }
.single-product.snv-product-detailed .snv-size-guide-trigger::before { content: ""; width: 0; height: 0; border-top: .28rem solid transparent; border-bottom: .28rem solid transparent; border-left: .38rem solid var(--snv-red); }
.single-product.snv-product-detailed .snv-size-guide-trigger:hover,
.single-product.snv-product-detailed .snv-size-guide-trigger:focus-visible { color: var(--snv-red); }
.snv-size-guide-modal[hidden] { display: none !important; }
.snv-size-guide-modal { position: fixed; z-index: 100000; inset: 0; display: grid; place-items: center; padding: clamp(1rem,3vw,2rem); overflow: auto; background: rgba(0,0,0,.86); overscroll-behavior: contain; }
.snv-size-guide-modal__dialog { position: relative; width: min(92vw,72vh,820px); margin: auto; background: #fff; box-shadow: 0 1.5rem 5rem rgba(0,0,0,.55); }
.snv-size-guide-modal__image { display: block; width: 100%; height: auto; background: #fff; }
.snv-size-guide-modal__close { position: absolute; z-index: 2; top: .75rem; right: .75rem; width: 2.75rem; height: 2.75rem; display: grid; place-items: center; padding: 0; color: #fff; border: 1px solid rgba(255,255,255,.65); border-radius: 0; background: rgba(10,9,8,.9); cursor: pointer; font: 400 2rem/1 Arial, sans-serif; }
.snv-size-guide-modal__close:hover,
.snv-size-guide-modal__close:focus-visible { color: #fff; border-color: var(--snv-red); background: var(--snv-red); }
body.snv-size-guide-open { overflow: hidden; }
.single-product.snv-product-detailed .snv-product-page .woocommerce-tabs { display: none !important; }
.single-product.snv-product-detailed .snv-product-page .product_meta { display: none; }
.single-product.snv-product-detailed .snv-product-page__after { max-width: var(--snv-container); margin: clamp(5rem,8vw,8rem) auto 0; color: var(--snv-paper); }
.single-product.snv-product-detailed .snv-product-page .woocommerce-tabs,
.single-product.snv-product-detailed .snv-product-page section.related { padding-top: clamp(3rem,6vw,6rem); }
.single-product.snv-product-detailed .snv-product-page .woocommerce-tabs .panel,
.single-product.snv-product-detailed .snv-product-page .woocommerce-tabs .panel h2,
.single-product.snv-product-detailed .snv-product-page section.related > h2 { color: var(--snv-paper); }
.snv-shop-card.snv-shop-card--related .snv-shop-card__meta { grid-template-columns: minmax(0,1fr); min-height: 0; }
/* Related products: keep the color swatches, but force the product name onto a single line (it normally renders as two stacked lines) since the related cards are narrower. */
.snv-shop-card--related .shop-card__meta h2,
.snv-shop-card--related .snv-shop-card__meta h2 {
  overflow: hidden;
}
.snv-shop-card--related .snv-shop-card__meta h2 a {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.snv-shop-card--related .snv-shop-card__meta .snv-product-title__line {
  display: inline !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
}

.snv-editorial-page { min-height: 70vh; padding: clamp(5rem,9vw,9rem) var(--snv-gutter) clamp(6rem,10vw,10rem); color: var(--snv-paper); background: var(--snv-ink); }
.snv-editorial-page__inner { max-width: 980px; margin: auto; }
/* Client-care placeholders share the site's live header and footer. */
.snv-client-page { color: var(--snv-paper); background: var(--snv-ink); }
.snv-client-page__hero { position: relative; isolation: isolate; overflow: hidden; min-height: clamp(17rem,30vw,28rem); display: flex; align-items: center; }
.snv-client-page__hero-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 60%; filter: grayscale(1) brightness(.45); }
.snv-client-page__hero::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(10,9,8,.8),rgba(10,9,8,.15)); }
.snv-client-page__hero-copy { padding-block: clamp(2.5rem,5vw,5rem); }
.snv-client-page__hero .snv-eyebrow { margin: 0 0 1.25rem; color: var(--snv-red); }
.snv-client-page__hero h1 { max-width: 20ch; margin: 0; color: var(--snv-paper); font: 700 clamp(2.5rem,5.5vw,5.5rem)/1.05 var(--snv-druk); letter-spacing: 0; text-transform: uppercase; overflow-wrap: break-word; }
.snv-client-page__body { min-height: 24rem; padding-block: clamp(3.5rem,7vw,7rem); }
.snv-client-page__content { max-width: 48rem; }
.snv-client-page__content h2 { margin: 0 0 1.5rem; color: var(--snv-paper); font: 700 clamp(2rem,3.5vw,3.25rem)/1.1 var(--snv-druk); text-transform: uppercase; }
.snv-client-page__content p, .snv-client-page__content li { color: var(--snv-muted); font: 400 1.1rem/1.75 var(--snv-haas); }
.snv-client-page__contact { margin-top: 2rem; }
.snv-client-page__contact a { color: var(--snv-paper); font: 700 .85rem/1.5 var(--snv-compact); letter-spacing: .1em; text-transform: uppercase; text-decoration-color: var(--snv-red); text-underline-offset: .5rem; }
.snv-editorial-page h1 { margin: 1.35rem 0 3rem; color: var(--snv-paper); font: 700 clamp(4rem,8vw,8rem)/.83 var(--snv-druk); letter-spacing: -.045em; text-transform: uppercase; }
.snv-editorial-page h2 { margin: 3.5rem 0 1rem; color: var(--snv-paper); font: 700 clamp(2rem,4vw,4rem)/.9 var(--snv-druk); text-transform: uppercase; }
.snv-editorial-page p,
.snv-editorial-page li { color: rgba(240,236,228,.68); font: 500 1.05rem/1.75 var(--snv-haas); }
.snv-editorial-page details { padding: 1.5rem 0; border-top: 1px solid var(--snv-border); }
.snv-editorial-page details:last-child { border-bottom: 1px solid var(--snv-border); }
.snv-editorial-page summary { color: var(--snv-paper); cursor: pointer; font: 700 clamp(1.5rem,2.5vw,2.4rem)/1 var(--snv-druk); text-transform: uppercase; }
.snv-editorial-page a { color: var(--snv-paper); text-decoration-color: var(--snv-red); text-underline-offset: .22em; }
.snv-editorial-page a:hover,
.snv-editorial-page a:focus-visible { color: var(--snv-red); }
.snv-faq-page details p { max-width: 54rem; margin: 1rem 0 .25rem; }
.snv-faq-page details p + p { margin-top: .65rem; }
.snv-policy-page .snv-editorial-page__inner { max-width: 1060px; }
.snv-policy-page__intro { max-width: 760px; margin: -1.25rem 0 4rem; font-size: clamp(1.2rem,2vw,1.5rem); }
.snv-policy-page section { padding-top: .25rem; border-top: 1px solid var(--snv-border); }
.snv-policy-page section + section { margin-top: 3.5rem; }
.snv-policy-page section h2 { max-width: 820px; }
.snv-policy-page section p,
.snv-policy-page section ul { max-width: 820px; }
.snv-policy-page section p + p,
.snv-policy-page section ul + p { margin-top: 1.15rem; }
.snv-policy-page section ul { margin: 1rem 0 0; padding-left: 1.4rem; }

@media (max-width: 1023px) {
  .single-product.snv-product-detailed .snv-product-page__inner { grid-template-columns: minmax(0,1fr); }
  .single-product.snv-product-detailed .snv-product-gallery { --snv-thumb-rail: clamp(3.25rem,17vw,5.5rem); position: relative; top: auto; }
  .single-product.snv-product-detailed .snv-product-page__image { width: calc(100% - var(--snv-thumb-rail) - .65rem); margin-left: calc(var(--snv-thumb-rail) + .65rem); }
  .single-product.snv-product-detailed .snv-product-gallery__thumbs { grid-template-columns: minmax(0,1fr); }
  .single-product.snv-product-detailed .snv-product-page .summary.snv-product-page__copy { padding-top: 0; }
}
@media (max-width: 782px) {
  body.admin-bar .snv-announcement { top: 46px; }
  body.admin-bar .snv-header { top: 76px; }
  body.admin-bar:not(.home):not(.woocommerce-shop) .snv-main { padding-top: 162px; }
}
@media (max-width: 700px) {
  .single-product.snv-product-detailed .snv-product-page { padding-inline: 1rem; }
  .single-product.snv-product-detailed .snv-product-page form.cart:not(.variations_form),
  .single-product.snv-product-detailed .snv-product-page .woocommerce-variation-add-to-cart { grid-template-columns: 1fr; }
  .single-product.snv-product-detailed .snv-catalog-options__colors { padding-right: 1.5rem; }
  .single-product.snv-product-detailed section.related .snv-shop-card__meta { grid-template-columns: minmax(0,1fr); }
  .single-product.snv-product-detailed section.related .snv-shop-card__colors {
    grid-column: 1;
    min-width: 0;
    max-width: 100%;
    flex-wrap: wrap;
  }
}

.snv-contact .snv-contact-hero {
  position: relative;
  height: auto;
  min-height: clamp(12.5rem,18vw,16rem) !important;
  display: block;
  overflow: hidden;
  isolation: isolate;
}
.snv-contact-hero::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, #0a0908 0 20%, rgba(10,9,8,.94) 42%, rgba(10,9,8,.48) 72%, rgba(10,9,8,.12) 100%); pointer-events: none; }
.snv-contact-hero__image { position: absolute; z-index: 0; inset: 0 0 0 25%; width: 75%; min-height: 0; background-position: 66% center; filter: grayscale(1) saturate(.65) contrast(1.08); }
.snv-contact .snv-contact-hero__copy { position: relative; z-index: 2 !important; width: min(55rem,58vw); min-height: 100%; justify-content: center; padding: clamp(1rem,1.8vw,1.5rem) var(--snv-gutter) !important; color: var(--snv-paper) !important; background: transparent; }
.snv-contact .snv-contact-hero__copy h1 { max-width: 10ch; margin: .65rem 0 .75rem !important; color: var(--snv-paper) !important; font-size: clamp(2.2rem,3vw,2.8rem) !important; line-height: .88 !important; letter-spacing: 0 !important; }
.snv-contact .snv-contact-hero__title { max-width: none !important; }
.snv-contact .snv-contact-hero__title span { display: block; white-space: nowrap; }
.snv-contact .snv-contact-hero__copy > p:last-child { max-width: 31rem; margin: 0; color: rgba(240,236,228,.72) !important; font-size: clamp(.72rem,.82vw,.82rem) !important; line-height: 1.45 !important; }
.snv-contact .snv-contact-body { display: block !important; grid-template-columns: none !important; gap: 0 !important; padding-block: clamp(4.5rem,7vw,7rem); }
.snv-contact-care { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: clamp(3rem,8vw,8rem); padding: clamp(3rem,5vw,5rem) clamp(1.5rem,4vw,4rem); color: var(--snv-ink); border-bottom: 1px solid rgba(10,9,8,.18); background: #fff; }
.snv-contact-care h2 { color: var(--snv-ink) !important; }
.snv-contact-care .snv-contact-details > p:not(.snv-eyebrow) { color: rgba(10,9,8,.72); }
.snv-contact-care .snv-contact-email { border-color: rgba(10,9,8,.22); }
.snv-contact-care .snv-contact-email a,
.snv-contact-care .snv-contact-policy a,
.snv-contact-care .snv-contact-socials a,
.snv-contact-care .snv-contact-social { color: var(--snv-ink); }
.snv-contact-details, .snv-contact-channels { width: min(100%,34rem); justify-self: center; text-align: center; }
.snv-contact-details > p:not(.snv-eyebrow) { max-width: 34rem; }
.snv-contact-policy { margin: 2rem 0 0 !important; }
.snv-contact-channels { align-self: center; }
.snv-contact-email { margin-top: 0; }
.snv-contact-socials { justify-content: center; }
.snv-contact-form { width: 100%; margin-top: clamp(4rem,7vw,7rem); padding: 0 0 clamp(1rem,2vw,2rem); border: 0; background: transparent; }
.snv-contact-form form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem clamp(2rem,5vw,5rem); }
.snv-contact-form label { margin-top: 1.5rem; }
.snv-contact-form label:nth-of-type(3), .snv-contact-form button { grid-column: 1/-1; }
.snv-contact-form button { justify-self: center; min-width: 12rem; }

@media (max-width: 800px) {
  .snv-contact .snv-contact-hero { height: clamp(28rem,58svh,36rem); }
  .snv-contact-hero__image { inset: 0; width: 100%; background-position: 62% center; }
  .snv-contact-hero::after { background: linear-gradient(90deg, rgba(10,9,8,.96) 0 18%, rgba(10,9,8,.68) 66%, rgba(10,9,8,.28)), linear-gradient(0deg, rgba(10,9,8,.5), transparent 55%); }
  .snv-contact .snv-contact-hero__copy { width: 100%; min-height: 100%; padding: clamp(2rem,7vw,3rem) var(--snv-gutter) !important; }
  .snv-contact .snv-contact-hero__copy h1 { font-size: clamp(2.7rem,12vw,4.25rem) !important; }
  .snv-contact-care, .snv-contact-form form { grid-template-columns: 1fr; }
  .snv-contact-channels { align-self: auto; }
  .snv-contact-form label, .snv-contact-form label:nth-of-type(3), .snv-contact-form button { grid-column: 1; }
  .snv-contact-form button { width: 100%; justify-self: stretch; }
}

/* Release 1.0.22 — annotated storefront and laptop readability polish. */
@media (min-width: 701px) {
  .snv-product-card__quick { display: none; }
  .snv-shop-card__title-line,
  .snv-product-title__line { display: block; white-space: nowrap; }
}

/* Release 1.0.26 — shared catalogue price template, including future products.
   Titles and prices own separate rows so ranges never collide with names. */
.snv-shop-hero h1.snv-shop-hero__label {
  max-width: none;
  margin: 0;
  color: var(--snv-red);
  font: 700 clamp(1.75rem, 2.8vw, 2.5rem)/1.1 var(--snv-druk);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.snv-shop-card .snv-shop-card__meta {
  grid-template-columns: minmax(0,1fr);
  align-items: start;
}
.snv-shop-card__meta > * { min-width: 0; max-width: 100%; }
.snv-shop-card__meta .snv-product-title__line {
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
}
.snv-shop-card .snv-shop-card__price {
  display: block;
  justify-self: start;
  margin-top: .6rem;
  color: var(--snv-red);
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.2 !important;
}
.snv-shop-card__price del,
.snv-shop-card__price ins {
  display: block;
  margin: 0;
}
.snv-shop-card__price del { margin-bottom: .2rem; }
.snv-shop-card__price .woocommerce-Price-amount { white-space: nowrap; }
.snv-shop-card__price:empty { display: none; }

/* Release 1.0.27 — name and price share a row; colours sit underneath.
   Scale to the actual card width, not the viewport, to accommodate sale ranges.
   Very small related cards retain their readable stacked layout. */
.snv-shop-card { container: snv-catalog-card / inline-size; }
@container snv-catalog-card (min-width: 240px) {
  .snv-shop-card .snv-shop-card__meta {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    column-gap: clamp(.5rem,3cqw,.9rem);
    align-items: start;
  }
  .snv-shop-card .snv-shop-card__meta h2 {
    grid-column: 1;
    grid-row: 1;
    font-size: clamp(1rem,7cqw,1.8rem);
    line-height: 1.08;
  }
  .snv-shop-card .snv-shop-card__price {
    grid-column: 2;
    grid-row: 1;
    justify-self: stretch;
    margin-top: 0;
    text-align: right;
    font-size: clamp(.8rem,5.2cqw,1.35rem) !important;
  }
  .snv-shop-card .snv-shop-card__colors {
    grid-column: 1/-1;
    grid-row: 2;
  }
}
@media (max-width: 900px) {
  .snv-shop-products ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .snv-shop-products ul.products { grid-template-columns: minmax(0,1fr); }
}

/* Release 1.0.45 — responsive edge drawer, utility icons and catalogue colours. */
@media (max-width: 1023px) {
  body.snv-menu-open { overflow: hidden; }
  body.snv-menu-open::after {
    position: fixed;
    inset: 0;
    z-index: 1000;
    content: "";
    background: rgba(0,0,0,.56);
  }
  .snv-header__inner { grid-template-columns: minmax(0,1fr) auto auto; }
  .snv-header-wordmark { order: 1; justify-self: start; }
  .snv-utilities { order: 2; margin-left: auto; gap: .25rem; }
  .snv-utility-link {
    position: relative;
    width: 2.5rem;
    min-height: 2.5rem;
    display: grid;
    place-items: center;
    padding: 0;
  }
  .snv-icon { display: block; width: 1.25rem; height: 1.25rem; }
  .snv-utility-link .snv-cart-count {
    position: absolute;
    top: -.2rem;
    right: -.35rem;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 .25rem;
    font-size: .58rem;
  }
  .snv-menu-toggle { order: 3; }
  .snv-nav {
    z-index: 2;
    top: 116px;
    right: 0;
    bottom: 0;
    left: auto;
    width: min(86vw,24rem);
    height: auto;
    max-height: none;
    display: block;
    overflow-y: auto;
    padding: clamp(2.5rem,8vh,5rem) 2rem 3rem;
    visibility: hidden;
    background: var(--snv-ink);
    box-shadow: -18px 0 46px rgba(0,0,0,.42);
    transform: translateX(105%);
    transition: transform 220ms ease, visibility 0s linear 220ms;
  }
  .snv-menu-open .snv-nav {
    visibility: visible;
    transform: translateX(0);
    transition-delay: 0s;
  }
  .snv-nav a, .snv-nav span {
    font-size: clamp(2.5rem,8vw,4.5rem);
  }
  body.admin-bar .snv-nav { top: 148px; }
}
@media (max-width: 782px) {
  body.admin-bar .snv-nav { top: 162px; }
}
@media (max-width: 700px) {
  .snv-header__inner { grid-template-columns: minmax(0,1fr) auto auto; }
  .snv-header-wordmark { width: min(125px,32vw); }
  .snv-nav { top: 100px; width: min(88vw,22rem); padding-inline: 1.5rem; }
  body.admin-bar .snv-nav { top: 146px; }
}

.snv-shop-card__colors { min-height: 1.35rem; }
.snv-color-swatch {
  width: 1rem;
  height: 1rem;
  flex-basis: 1rem;
}

@media (min-width: 1024px) {
  .single-product section.related ul.products {
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 1.25rem 1rem;
  }
  .single-product section.related .snv-shop-card__meta { min-height: 0; padding: .75rem 0; column-gap: .45rem; }
  .single-product section.related .snv-shop-card__meta h2 { font-size: 1rem; }
  .single-product section.related .snv-shop-card__arrow { width: 2rem; height: 2rem; }
  .single-product section.related .snv-shop-card__sizes { min-height: 1.5rem; font-size: .62rem; }
  .single-product section.related .snv-color-swatch { width: .65rem; height: .65rem; flex-basis: .65rem; }

  .woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-name,
  .woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__prices,
  .woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-price,
  .woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-metadata,
  .woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-details,
  .woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-details__name,
  .woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-details__value {
    font-size: 1.0625rem !important;
    line-height: 1.35 !important;
  }
  .woocommerce-cart .wc-block-cart-items__row .wc-block-components-sale-badge { font-size: .925rem !important; line-height: 1.25 !important; }
  .woocommerce-cart .wc-block-cart-items__row .wc-block-components-quantity-selector,
  .woocommerce-cart .wc-block-cart-items__row .wc-block-components-quantity-selector input,
  .woocommerce-cart .wc-block-cart-items__row .wc-block-components-quantity-selector button { font-size: 1.125rem !important; }
}


/* Client-care body turns to paper (white), matching the About Us story section.
   Hero, header and footer are untouched. */
.snv-client-page__body { background: #fff; }
.snv-client-page__content h2 { color: var(--snv-ink); }
.snv-client-page__content p,
.snv-client-page__content li { color: rgba(10,9,8,.72); }
.snv-client-page__content a { color: var(--snv-ink); text-decoration-color: var(--snv-red); }
.snv-client-page__content a:hover,
.snv-client-page__content a:focus-visible { color: var(--snv-red); }
.snv-client-page__content section { padding-top: .25rem; border-top: 1px solid rgba(10,9,8,.18); }
.snv-client-page__content section + section,
.snv-client-page__content > h2 + p,
.snv-client-page__content .wp-block-heading + p { margin-top: 0; }
.snv-client-page__content > *:not(:first-child) { margin-top: 1.15rem; }
.snv-client-page__content h2:not(:first-child) { margin-top: 3rem; }
.snv-client-page__content ul { margin: 1rem 0 0; padding-left: 1.4rem; }
.snv-client-page__contact a { color: var(--snv-ink); }

.snv-client-page__content .wp-block-table,
.snv-policy-table-wrap { margin: 1.5rem 0; overflow-x: auto; }
.snv-client-page__content table,
.snv-policy-table { width: 100%; max-width: 820px; border-collapse: collapse; }
.snv-client-page__content th,
.snv-client-page__content td,
.snv-policy-table th,
.snv-policy-table td { padding: .9rem 1.1rem; border: 1px solid rgba(10,9,8,.18); text-align: left; font: 500 1rem/1.5 var(--snv-haas); color: rgba(10,9,8,.78); }
.snv-client-page__content th,
.snv-policy-table th { color: #fff; background: var(--snv-ink); font: 700 .78rem/1 var(--snv-compact); letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 600px) {
  .snv-client-page__content table,
  .snv-policy-table { display: block; }
  .snv-client-page__content thead,
  .snv-policy-table thead { display: none; }
  .snv-client-page__content tbody, .snv-client-page__content tr, .snv-client-page__content td,
  .snv-policy-table tbody, .snv-policy-table tr, .snv-policy-table td { display: block; width: 100%; }
  .snv-client-page__content tr,
  .snv-policy-table tr { margin-bottom: 1rem; border: 1px solid rgba(10,9,8,.18); }
  .snv-client-page__content td,
  .snv-policy-table td { border: none; border-bottom: 1px solid rgba(10,9,8,.12); }
  .snv-client-page__content td:last-child,
  .snv-policy-table td:last-child { border-bottom: none; }
  .snv-client-page__content td::before,
  .snv-policy-table td::before { content: attr(data-label); display: block; margin-bottom: .25rem; color: var(--snv-red); font: 700 .7rem/1 var(--snv-compact); letter-spacing: .08em; text-transform: uppercase; }
}
