﻿/* WA Cushion ?? Ambiance Atelier (20260728coherent)
   Palette locked to bg-ambiance-brown.jpg only.
   Cream ?? sand ?? warm taupe ?? chocolate ?? dark ink. */

:root {
  /* === BG-LOCKED PALETTE (bg-ambiance-brown.jpg) === */
  --cream: #f5ede0;
  --cream-soft: #faf6ef;
  --sand: #e4d4c0;
  --sand-deep: #d4c0a8;
  --taupe: #b89a7a;
  --taupe-soft: #c4a882;
  --taupe-mid: #c9b091;
  --taupe-light: #e4d4c0;
  --taupe-cream: #f0e6d6;
  --taupe-deep: #8f7358;
  --taupe-ink: #6b5544;
  --champagne: #e0c8a8;
  --chocolate: #3d2a1c;
  --chocolate-mid: #4a3424;
  --chocolate-deep: #2a1810;
  --ink-dark: #1c120c;

  /* Soft taupe / champagne aliases */
  --taupe-soft: #c4a882;
  --taupe-mid: #c9b091;
  --taupe-light: #e4d4c0;
  --taupe-cream: #f0e6d6;
  --taupe-deep: #8f7358;
  --taupe-ink: #6b5544;
  --champagne: #e0c8a8;

  /* Core surfaces ?? translucent washes, not oily flats */
  --bg: transparent;
  --bg-2: rgba(245, 237, 224, 0.55);
  --bg-3: rgba(228, 212, 192, 0.42);
  --panel: rgba(245, 237, 224, 0.58);
  --panel-strong: rgba(250, 246, 239, 0.78);
  --panel-deep: rgba(42, 24, 16, 0.72);
  --wash: rgba(245, 237, 224, 0.28);
  --wash-2: rgba(245, 237, 224, 0.48);

  /* Text roles */
  --ink-heading: #1c120c;
  --ink: #2a1810;
  --ink-body: #3d2a1c;
  --ink-muted: #6b5544;
  --fg: var(--ink);
  --fg-muted: var(--ink-muted);
  --accent: #8f7358;
  --bronze: #8f7358;
  --on-dark: #f5ede0;
  --on-dark-muted: #d4c0a8;

  /* Legacy token map ?? ambiance system */
  --white: #faf6ef;
  --warm: #f0e6d6;
  --stone: #6b5544;
  --black: #1c120c;
  --brown: #6b5544;
  --brown-deep: #3d2a1c;
  --brown-mid: #8f7358;
  --line: rgba(61, 42, 28, 0.18);
  --line-2: rgba(184, 154, 122, 0.35);

  /* Ambiance photo */
  --ambiance-photo: url("../brand/bg-ambiance-brown.jpg");
  --atelier-grain: var(--ambiance-photo);
  --atelier-streak: var(--ambiance-photo);
  --streak-photo: var(--ambiance-photo);

  /* Atelier aliases */
  --atelier-ink: #1c120c;
  --atelier-body: #3d2a1c;
  --atelier-mute: #6b5544;
  --atelier-line: rgba(61, 42, 28, 0.18);
  --atelier-wash: rgba(245, 237, 224, 0.28);
  --atelier-wash-2: rgba(245, 237, 224, 0.48);
  --atelier-panel: rgba(245, 237, 224, 0.62);
  --atelier-deep: #2a1810;
  --atelier-accent: #8f7358;

  /* Page wash ?? soft ambiance-derived atmosphere (fallback only) */
  --grad-page:
    radial-gradient(ellipse 90% 70% at 12% 8%, rgba(245, 237, 224, 0.9) 0%, transparent 55%),
    radial-gradient(ellipse 80% 65% at 92% 18%, rgba(224, 200, 168, 0.45) 0%, transparent 52%),
    radial-gradient(ellipse 70% 55% at 78% 88%, rgba(184, 154, 122, 0.35) 0%, transparent 50%),
    radial-gradient(ellipse 60% 50% at 8% 92%, rgba(228, 212, 192, 0.55) 0%, transparent 48%),
    linear-gradient(180deg, #f5ede0 0%, #e4d4c0 42%, #3d2a1c 100%);
  --grad-warm:
    radial-gradient(ellipse 90% 70% at 0% 40%, rgba(224, 200, 168, 0.3) 0%, transparent 55%),
    radial-gradient(ellipse 80% 60% at 100% 30%, rgba(184, 154, 122, 0.24) 0%, transparent 52%),
    linear-gradient(160deg, #f0e6d6 0%, #e4d4c0 50%, #f5ede0 100%);
  --grad-accent: linear-gradient(135deg, #e0c8a8 0%, #8f7358 100%);
  --grad-deep:
    radial-gradient(ellipse 70% 55% at 92% 8%, rgba(184, 154, 122, 0.22) 0%, transparent 48%),
    radial-gradient(ellipse 65% 50% at 6% 92%, rgba(61, 42, 28, 0.4) 0%, transparent 50%),
    linear-gradient(170deg, #2a1810 0%, #3d2a1c 42%, #1c120c 100%);
  --grad-hero-veil:
    linear-gradient(108deg, rgba(28, 18, 12, 0.28) 0%, rgba(28, 18, 12, 0.08) 38%, rgba(224, 200, 168, 0.16) 58%, rgba(184, 154, 122, 0.1) 76%, rgba(28, 18, 12, 0.22) 100%),
    linear-gradient(180deg, rgba(245, 237, 224, 0.35) 0%, rgba(245, 237, 224, 0.1) 28%, transparent 48%, rgba(28, 18, 12, 0.4) 100%);

  --font-display: "Instrument Serif", "Times New Roman", Georgia, serif;
  --font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* Editorial type scale ?? visibly distinct */
  --text-hero: clamp(4rem, 10vw, 7.5rem);
  --text-h1: clamp(2.85rem, 6vw, 4.75rem);
  --text-h2: clamp(2.35rem, 4.5vw, 3.65rem);
  --text-h3: clamp(1.4rem, 2.2vw, 1.95rem);
  --text-body: clamp(1.05rem, 0.35vw + 1rem, 1.125rem);
  --text-small: 0.92rem;
  --text-eyebrow: 0.68rem;
  --text-btn: 0.7rem;
  --leading-display: 0.98;
  --leading-tight: 1.1;
  --leading-body: 1.72;
  --tracking-display: -0.025em;
  --tracking-eyebrow: 0.22em;
  --tracking-btn: 0.18em;

  /* Spacing */
  --space-1: 0.35rem;
  --space-2: 0.7rem;
  --space-3: 1.15rem;
  --space-4: 1.75rem;
  --space-5: 2.5rem;
  --space-6: 3.75rem;
  --section-y: clamp(6.25rem, 11vw, 8.75rem);

  --header-h: 6.75rem;
  --lang-bar-h: 2rem;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --motion: 0.75s;
  --max: 88rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }

body {
  margin: 0;
  color: var(--ink-body);
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body);
  line-height: var(--leading-body);
  letter-spacing: 0.005em;
  background-color: #f3e6d4;
  background-image: var(--grad-page);
  background-attachment: fixed;
  background-size: 140% 140%;
  background-position: 0% 40%;
  animation: brownlab-bg-shift 22s ease-in-out infinite alternate;
  overflow-x: hidden;
  isolation: isolate;
}

@keyframes brownlab-bg-shift {
  0% { background-position: 0% 30%; }
  50% { background-position: 55% 65%; }
  100% { background-position: 100% 40%; }
}

/* Motion-blur light streaks ?? Fragrance Lab feel in taupe / cream */
body::before {
  content: "";
  position: fixed;
  inset: -18% -8%;
  z-index: -1;
  pointer-events: none;
  background:
    /* vertical light streaks */
    repeating-linear-gradient(
      92deg,
      transparent 0px,
      rgba(247, 240, 230, 0.55) 3px,
      transparent 9px,
      rgba(232, 201, 160, 0.42) 14px,
      transparent 28px,
      rgba(196, 168, 130, 0.32) 34px,
      transparent 52px,
      rgba(243, 230, 212, 0.65) 58px,
      transparent 78px
    ),
    /* soft horizontal wash bands */
    repeating-linear-gradient(
      0deg,
      transparent 0px,
      rgba(232, 213, 188, 0.28) 18px,
      transparent 48px,
      rgba(196, 168, 130, 0.18) 72px,
      transparent 110px
    ),
    radial-gradient(ellipse 55% 70% at 48% 18%, rgba(247, 240, 230, 0.85) 0%, transparent 58%),
    radial-gradient(ellipse 50% 45% at 88% 72%, rgba(196, 168, 130, 0.45) 0%, transparent 55%),
    radial-gradient(ellipse 45% 40% at 12% 78%, rgba(232, 201, 160, 0.4) 0%, transparent 52%);
  filter: blur(28px);
  opacity: 0.92;
  mix-blend-mode: soft-light;
  animation: brownlab-streak-drift 26s ease-in-out infinite alternate;
  -webkit-mask-image: none;
  mask-image: none;
}

@keyframes brownlab-streak-drift {
  0% { transform: translate3d(-1.5%, -1%, 0) scale(1.02); }
  100% { transform: translate3d(2%, 1.5%, 0) scale(1.06); }
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(125deg, rgba(247, 240, 230, 0.35) 0%, transparent 40%, rgba(196, 168, 130, 0.12) 72%, transparent 100%),
    radial-gradient(ellipse 80% 50% at 50% 110%, rgba(107, 87, 68, 0.12) 0%, transparent 55%),
    linear-gradient(180deg, transparent 50%, rgba(212, 184, 150, 0.22) 100%);
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; cursor: pointer; }
ul, ol { margin: 0; padding: 0; list-style: none; }
p { margin: 0; }

h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 500;
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-display);
  margin: 0;
  color: var(--ink-heading);
}

h1 { font-size: var(--text-h1); }
h2 { font-size: var(--text-h2); }
h3 { font-size: var(--text-h3); }

p, .lead, .muted {
  color: var(--ink-body);
}

.lead {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--ink-muted);
  max-width: 42ch;
}

.muted { color: var(--ink-muted); }

::selection { background: rgba(196, 168, 130, 0.4); color: var(--ink-heading); }

.container {
  width: min(100% - 2.5rem, var(--max));
  margin-inline: auto;
}

.container--narrow {
  width: min(100% - 2.5rem, 44rem);
  margin-inline: auto;
}

.text-center { text-align: center; }

a, button, summary, label[for],
.btn, .slider-arrow, .slider-dots span,
.nav-toggle, .search-btn, .category-nav a,
.product-tile, .news-card, .faq-item button,
.download-item, .feature, .compliance-card,
.rail-card, .cat-bar a, .client-mark,
.lang-bar__link, .header-cats a, .header-link, .header-icon,
.logo, .link-arrow, .link-more,
.logo, .link-arrow, .link-more,
.collection-card, .col-item, .why-tile, .why-card, .feat-card, .feat-piece, .feat-panel, .featured-card, .gallery-item,
.home-cta__btn, .hero-cta, .site-cta__btn,
.gallery-grid > div, .nav a, .footer-col a,
select, input[type="submit"], input[type="button"],
[role="button"], [data-filter], [data-faq-item],
[data-hero-prev], [data-hero-next], [data-hero-dot],
[data-nav-toggle], [data-search-toggle] {
  cursor: pointer;
}

button,
.btn,
.slider-arrow,
.nav-toggle,
.search-btn {
  cursor: pointer;
}

/* Fluid fire trail ?? visible on cream & dark */
.water-canvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9998;
  opacity: 0.95;
}

.lux-spotlight {
  position: fixed;
  top: 0;
  left: 0;
  width: min(28vw, 18rem);
  height: min(28vw, 18rem);
  border-radius: 50%;
  pointer-events: none;
  z-index: 3;
  background: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.22) 0%,
    rgba(255, 255, 255, 0.06) 42%,
    transparent 72%
  );
  /* soft-light + large moving layer caused cursor stutter; keep a cheap wash */
  opacity: 0;
  transition: opacity 0.45s ease;
  will-change: transform;
  contain: layout style;
}

.page-home.is-cursor-live .lux-spotlight {
  opacity: 0.85;
}

.water-cursor {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 9999;
  will-change: transform;
  opacity: 0;
  transition: opacity 0.2s ease;
  contain: layout style;
}

html.is-cursor-live .water-cursor {
  opacity: 1;
}

/* Classic arrow tip ?? origin at tip (top-left); no CSS filter (drop-shadow lagged) */
.water-cursor--core {
  width: 18px;
  height: 22px;
  border-radius: 0;
  background: transparent;
}

.water-cursor--core svg {
  display: block;
  width: 18px;
  height: 22px;
  overflow: visible;
}

.water-cursor--core .ptr-shadow {
  fill: #000;
}

.water-cursor--core .ptr-fill {
  fill: var(--ink);
  transition: fill 0.2s ease;
}

.water-cursor--core .ptr-stroke {
  stroke: #ffffff;
  stroke-width: 1.6;
  stroke-linejoin: round;
  stroke-linecap: round;
  transition: stroke 0.2s ease;
}

.water-cursor--halo {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: none;
  background: radial-gradient(
    circle,
    rgba(90, 70, 56, 0.14) 0%,
    rgba(90, 70, 56, 0.05) 45%,
    transparent 72%
  );
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
  filter: none;
  transition: background 0.25s ease, opacity 0.25s ease;
  opacity: 0.85;
}

.water-cursor--label {
  width: auto;
  height: auto;
  border-radius: 0;
  padding: 0.22rem 0.5rem;
  font-family: var(--font-body);
  font-size: 0.58rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(17, 17, 16, 0.12);
  opacity: 0 !important;
  transition: opacity 0.2s ease;
  white-space: nowrap;
}

html.is-cursor-live.is-cursor-hover .water-cursor--label {
  opacity: 0.92 !important;
}

/* Click ripple ?? left/top set once on mousedown; only scale is animated */
.water-cursor--ripple {
  width: 12px;
  height: 12px;
  margin: -6px 0 0 -6px;
  border-radius: 50%;
  border: 1px solid rgba(17, 17, 16, 0.35);
  background: transparent;
  opacity: 0 !important;
  transform: scale(0.4);
  pointer-events: none;
  will-change: auto;
  transition: none;
}

.water-cursor--ripple.is-play {
  animation: ptr-ripple 0.5s var(--ease) forwards;
}

@keyframes ptr-ripple {
  0% {
    opacity: 0.55 !important;
    transform: scale(0.4);
  }
  100% {
    opacity: 0 !important;
    transform: scale(3.2);
  }
}

html.has-water-cursor.is-cursor-live,
html.has-water-cursor.is-cursor-live * {
  cursor: none !important;
}

html.has-water-cursor.is-cursor-hover .water-cursor--core .ptr-fill {
  fill: #ffffff;
}

html.has-water-cursor.is-cursor-hover .water-cursor--core .ptr-stroke {
  stroke: var(--ink);
  stroke-width: 1.8;
}

html.has-water-cursor.is-cursor-hover .water-cursor--halo {
  background: radial-gradient(
    circle,
    rgba(17, 17, 16, 0.14) 0%,
    rgba(17, 17, 16, 0.05) 40%,
    transparent 70%
  );
  opacity: 1;
}

html.has-water-cursor.is-cursor-down .water-cursor--halo {
  background: radial-gradient(
    circle,
    rgba(17, 17, 16, 0.18) 0%,
    rgba(17, 17, 16, 0.06) 42%,
    transparent 68%
  );
  opacity: 1;
}

@media (hover: none), (pointer: coarse) {
  html:not(.fx-force) .water-canvas,
  html:not(.fx-force) .water-cursor,
  html:not(.fx-force) .lux-spotlight { display: none !important; }
  html:not(.fx-force).has-water-cursor,
  html:not(.fx-force).has-water-cursor * { cursor: auto !important; }
}

@media (prefers-reduced-motion: reduce) {
  html:not(.fx-force) .water-canvas,
  html:not(.fx-force) .water-cursor,
  html:not(.fx-force) .lux-spotlight { display: none !important; }
  html:not(.fx-force).has-water-cursor,
  html:not(.fx-force).has-water-cursor * { cursor: auto !important; }
}

.visually-hidden {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

.reveal {
  /* base rules replaced by cinematic motion system below */
}

.reveal.is-visible { opacity: 1; transform: none; }

.reveal--fade {
  transform: none;
}
.reveal--soft {
  transform: translateY(1.25rem) scale(0.985);
}
.reveal--left {
  transform: translateX(-1.5rem);
}
.reveal--right {
  transform: translateX(1.5rem);
}

.reveal-stagger > .reveal:nth-child(1) { --delay: 0ms; }
.reveal-stagger > .reveal:nth-child(2) { --delay: 90ms; }
.reveal-stagger > .reveal:nth-child(3) { --delay: 180ms; }
.reveal-stagger > .reveal:nth-child(4) { --delay: 270ms; }
.reveal-stagger > .reveal:nth-child(5) { --delay: 360ms; }
.reveal-stagger > .reveal:nth-child(6) { --delay: 450ms; }

/* ========== LANGUAGE BAR ??reveal on header hover ========== */
.site-chrome {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: calc(var(--lang-bar-h) + var(--header-h));
  z-index: 210;
  pointer-events: none;
}

.site-chrome .lang-bar,
.site-chrome .site-header {
  pointer-events: auto;
}

.lang-bar {
  position: fixed;
  inset: 0 0 auto;
  z-index: 211;
  height: var(--lang-bar-h);
  background: var(--black);
  color: var(--white);
  border-bottom: none;
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  transition:
    transform 0.4s var(--ease),
    opacity 0.3s ease;
  will-change: transform, opacity;
}

.site-chrome:hover .lang-bar,
.site-chrome:focus-within .lang-bar {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

/* When scrolled, keep language on hover only (same behavior) */
body.is-scrolled .site-chrome:hover .lang-bar,
body.is-scrolled .site-chrome:focus-within .lang-bar {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.lang-bar::before,
.lang-bar::after {
  display: none;
}

.lang-bar__inner {
  position: relative;
  z-index: 1;
  height: 100%;
  width: min(100% - 1.5rem, 92rem);
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 0.85rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.lang-bar__inner::-webkit-scrollbar {
  display: none;
}

.lang-bar__globe {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.85);
  opacity: 1;
  transition: color 0.3s ease;
}

.lang-bar:hover .lang-bar__globe {
  color: var(--white);
}

.lang-bar__list {
  display: flex;
  align-items: center;
  gap: clamp(0.15rem, 0.4vw, 0.35rem);
  min-width: max-content;
}

.lang-bar__link {
  position: relative;
  flex: 0 0 auto;
  padding: 0.3rem 0.45rem;
  font-family: var(--font-body);
  font-size: 0.55rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  transition: color 0.3s ease;
  animation: none;
}

.lang-bar__link:nth-child(1) { animation-delay: 0.04s; }
.lang-bar__link:nth-child(2) { animation-delay: 0.08s; }
.lang-bar__link:nth-child(3) { animation-delay: 0.12s; }
.lang-bar__link:nth-child(4) { animation-delay: 0.16s; }
.lang-bar__link:nth-child(5) { animation-delay: 0.2s; }
.lang-bar__link:nth-child(6) { animation-delay: 0.24s; }
.lang-bar__link:nth-child(7) { animation-delay: 0.28s; }
.lang-bar__link:nth-child(8) { animation-delay: 0.32s; }
.lang-bar__link:nth-child(9) { animation-delay: 0.36s; }

@keyframes lang-link-in {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.lang-bar__link span {
  position: relative;
  display: inline-block;
}

.lang-bar__link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0.12rem;
  width: 0;
  height: 1px;
  background: currentColor;
  transform: translateX(-50%);
  transition: width 0.4s var(--ease), opacity 0.3s;
  opacity: 0.85;
}

.lang-bar__link:hover {
  color: var(--white);
}

.lang-bar__link:hover::after {
  width: calc(100% - 1.1rem);
}

.lang-bar__link.is-active {
  color: var(--white);
  font-weight: 500;
}

.lang-bar__link.is-active::after {
  width: calc(100% - 1.1rem);
  background: var(--white);
  opacity: 1;
  box-shadow: none;
}

.lang-bar__link.is-active span {
  text-shadow: none;
}

.lang-bar__link:not(:last-child)::before {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .lang-bar::after,
  .lang-bar__link {
    animation: none !important;
  }
}

/* ========== HEADER ?? transparent at rest; frosted on hover; white when scrolled ========== */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  display: grid;
  gap: 0.25rem;
  padding: 0.85rem 0 0.7rem;
  background: transparent;
  border-bottom: 1px solid transparent;
  pointer-events: auto;
  color: var(--ink);
  box-shadow: none;
  transition:
    top 0.4s var(--ease),
    background 0.5s var(--ease),
    border-color 0.45s var(--ease),
    box-shadow 0.5s var(--ease),
    color 0.45s var(--ease),
    padding 0.45s var(--ease),
    backdrop-filter 0.45s var(--ease);
}

/* Push header down when language row is revealed */
.site-chrome:hover .site-header,
.site-chrome:focus-within .site-header {
  top: var(--lang-bar-h);
}

/* Hero pages: true transparent bar + dark ink (readable without a cream plate) */
.page-home .site-header,
.page-products .site-header,
.page-craftsmanship .site-header,
.page-about .site-header,
.page-download .site-header,
.page-contact .site-header,
.page-news .site-header,
.page-faq .site-header {
  color: var(--ink-heading);
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom-color: transparent;
  box-shadow: none;
}

/* Hover ?? frosted cream / soft white for comfort */
.page-home:not(.is-scrolled) .site-chrome:hover .site-header,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-products:not(.is-scrolled) .site-chrome:hover .site-header,
.page-products:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-craftsmanship:not(.is-scrolled) .site-chrome:hover .site-header,
.page-craftsmanship:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-about:not(.is-scrolled) .site-chrome:hover .site-header,
.page-about:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-download:not(.is-scrolled) .site-chrome:hover .site-header,
.page-download:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-contact:not(.is-scrolled) .site-chrome:hover .site-header,
.page-contact:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-news:not(.is-scrolled) .site-chrome:hover .site-header,
.page-news:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-faq:not(.is-scrolled) .site-chrome:hover .site-header,
.page-faq:not(.is-scrolled) .site-chrome:focus-within .site-header {
  background: rgba(247, 240, 230, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom-color: rgba(107, 87, 68, 0.12);
  box-shadow: 0 8px 28px rgba(28, 28, 26, 0.06);
  color: var(--ink);
}

.page-home:not(.is-scrolled) .site-header:hover .header-cats a:hover,
.page-products:not(.is-scrolled) .site-header:hover .header-cats a:hover,
.page-craftsmanship:not(.is-scrolled) .site-header:hover .header-cats a:hover,
.page-about:not(.is-scrolled) .site-header:hover .header-cats a:hover,
.page-download:not(.is-scrolled) .site-header:hover .header-cats a:hover,
.page-contact:not(.is-scrolled) .site-header:hover .header-cats a:hover,
.page-news:not(.is-scrolled) .site-header:hover .header-cats a:hover {
  text-shadow: none;
}

/* Inner pages: white header (except hero pages) */
.page-inner:not(.page-products):not(.page-craftsmanship):not(.page-about):not(.page-download):not(.page-contact):not(.page-news) .site-header {
  background: rgba(255, 255, 255, 0.98);
  border-bottom-color: rgba(42, 42, 40, 0.08);
  color: var(--ink);
  box-shadow: 0 1px 0 rgba(42, 42, 40, 0.04);
}

/* Scrolled ??white bar */
body.is-scrolled .site-header,
.site-header.is-scrolled {
  top: 0;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom-color: rgba(42, 42, 40, 0.08);
  box-shadow: 0 8px 28px rgba(28, 28, 26, 0.06);
  color: var(--ink);
  padding: 0.55rem 0 0.45rem;
  gap: 0.2rem;
}

body.is-scrolled .site-chrome:hover .site-header,
body.is-scrolled .site-chrome:focus-within .site-header {
  top: var(--lang-bar-h);
}

.site-header__top {
  width: min(100% - 2rem, 92rem);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
  min-height: 2.4rem;
}

.header-left,
.header-right {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  min-height: 2.4rem;
}

/* Far-left: burger + search hug the leading edge */
.header-left {
  justify-self: start;
  justify-content: flex-start;
  order: 0;
}

.site-header__top > .logo {
  justify-self: center;
}

.header-right {
  justify-self: end;
  justify-content: flex-end;
}

/* Clean monogram ??RH-like, no stacked ?the WORLD of??clutter */
.logo {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1;
  transition: opacity 0.3s;
}

.logo:hover { opacity: 0.7; }

.logo__mark {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif;
  font-size: clamp(1.75rem, 2.4vw, 2.2rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  /* optical center: cancel trailing letter-spacing */
  padding-left: 0.06em;
  text-transform: none;
  font-variant-caps: normal;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-shadow: none;
  transition: font-size 0.45s var(--ease), letter-spacing 0.45s var(--ease), padding 0.45s var(--ease);
}

body.is-scrolled .logo__mark,
.site-header.is-scrolled .logo__mark {
  font-size: clamp(1.5rem, 1.9vw, 1.85rem);
  letter-spacing: 0.055em;
  padding-left: 0.055em;
  font-weight: 700;
  text-shadow: none;
}

.header-link {
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.92;
  transition: opacity 0.3s, letter-spacing 0.35s var(--ease);
}

.header-link:hover {
  opacity: 0.55;
  letter-spacing: 0.2em;
}

.nav-toggle {
  display: flex;
  width: 1.7rem;
  height: 1.5rem;
  border: 0;
  background: transparent;
  padding: 0.15rem 0;
  flex-direction: column;
  justify-content: space-between;
  color: inherit;
}

.nav-toggle span {
  display: block;
  height: 1px;
  background: currentColor;
  transition: transform 0.3s, opacity 0.3s;
}

.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(0.48rem) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-0.48rem) rotate(-45deg); }

.search-btn {
  width: 1.2rem;
  height: 1.2rem;
  border: 0;
  background: transparent;
  position: relative;
  opacity: 1;
  color: inherit;
  transition: opacity 0.3s;
}

.search-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 9px;
  height: 9px;
  border: 1.4px solid currentColor;
  border-radius: 50%;
}

.search-btn::after {
  content: "";
  position: absolute;
  top: 9px;
  left: 9px;
  width: 5px;
  height: 1.4px;
  background: currentColor;
  transform: rotate(45deg);
}

.search-btn:hover { opacity: 0.55; }

.header-cats {
  width: min(100% - 1.5rem, 92rem);
  margin: 0.45rem auto 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(0.9rem, 1.9vw, 1.85rem);
  max-height: 4rem;
  opacity: 1;
  overflow: visible;
  pointer-events: auto;
}

.site-chrome:hover .header-cats,
.site-chrome:focus-within .header-cats,
body.is-scrolled .header-cats,
.page-home:not(.is-scrolled) .header-cats {
  max-height: 4rem;
  opacity: 1;
  pointer-events: auto;
  margin-top: 0.45rem;
}

body.is-scrolled .header-cats,
.site-header.is-scrolled .header-cats {
  margin-top: 0.15rem;
  gap: clamp(0.75rem, 1.5vw, 1.45rem);
}

.header-cats a {
  position: relative;
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: none;
  opacity: 1;
  padding: 0.4rem 0;
  color: inherit;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-shadow: none;
  transition:
    opacity 0.3s,
    color 0.3s,
    letter-spacing 0.35s var(--ease),
    text-shadow 0.35s ease;
}

.header-cats a:hover {
  opacity: 0.85;
  letter-spacing: 0.045em;
  text-shadow: none;
}

.header-cats a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.08rem;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.45s var(--ease);
}

.header-cats a:hover::after,
.header-cats a.is-active::after {
  transform: scaleX(1);
}

.header-cats a.is-active {
  opacity: 1;
}

body.is-scrolled .header-cats a,
.site-header.is-scrolled .header-cats a {
  font-size: 0.82rem;
  letter-spacing: 0.035em;
  font-weight: 500;
}

body.is-scrolled .header-cats a:hover,
.site-header.is-scrolled .header-cats a:hover {
  letter-spacing: 0.04em;
  text-shadow: none;
}

/* Slide-out primary menu ?? must NOT live under .site-chrome (fixed + backdrop-filter trap) */
.nav {
  position: fixed;
  top: 0;
  left: 0;
  width: min(22rem, 88vw);
  height: 100vh;
  height: 100dvh;
  max-height: none;
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  transform: translateX(-105%);
  transition: transform 0.45s var(--ease), visibility 0.45s;
  z-index: 280;
  box-shadow: 8px 0 40px rgba(0, 0, 0, 0.14);
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
}

.nav[hidden] {
  display: flex !important;
  visibility: hidden;
  pointer-events: none;
}

.nav.is-open {
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
}

.nav__head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.35rem 1.5rem 1.1rem;
  border-bottom: 1px solid var(--line);
}

.nav__brand {
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  padding-left: 0.28em;
  color: var(--ink);
  line-height: 1;
}

.nav__close {
  position: relative;
  width: 2.25rem;
  height: 2.25rem;
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  flex-shrink: 0;
  opacity: 0.75;
  transition: opacity 0.3s;
}

.nav__close:hover {
  opacity: 1;
}

.nav__close span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1.05rem;
  height: 1px;
  background: currentColor;
  display: block;
}

.nav__close span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}

.nav__close span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.nav__links {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0.75rem 1.5rem 2rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.nav a {
  font-family: var(--font-body);
  font-size: 0.92rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
  padding: 0.95rem 0;
  border-bottom: 1px solid var(--line);
  opacity: 0.82;
  transition: opacity 0.3s, padding-left 0.3s var(--ease);
  text-decoration: none;
  flex-shrink: 0;
}

.nav a:hover,
.nav a.is-active {
  opacity: 1;
  padding-left: 0.35rem;
}

.nav a.is-active {
  font-weight: 500;
}

.nav-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(26, 23, 20, 0.42);
  z-index: 270;
  opacity: 0;
  transition: opacity 0.35s;
  pointer-events: none;
}

.nav-backdrop:not([hidden]) {
  opacity: 1;
  pointer-events: auto;
}

body.is-nav-open {
  overflow: hidden;
}

.search-panel {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid var(--line-2);
  padding: 1.25rem;
  color: var(--ink);
  animation: panel-in 0.35s var(--ease) both;
}

.search-panel[hidden] {
  display: none;
}

.search-form {
  width: min(100% - 2rem, var(--max));
  margin: 0 auto;
  display: flex;
  gap: 0.65rem;
}

.search-form input {
  flex: 1;
  padding: 0.85rem 1.1rem;
  border: 1px solid var(--line-2);
  background: var(--bg);
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: var(--ink);
}

.search-form input:focus {
  outline: none;
  border-color: var(--ink);
}

/* ========== BUTTONS ========== */
.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 1.05rem 2.1rem;
  font-family: var(--font-body);
  font-size: var(--text-btn);
  font-weight: 500;
  letter-spacing: var(--tracking-btn);
  text-transform: uppercase;
  border: 1px solid transparent;
  border-radius: 0;
  overflow: hidden;
  isolation: isolate;
  transition:
    color 0.5s var(--ease),
    border-color 0.5s var(--ease),
    transform 0.5s var(--ease-out),
    box-shadow 0.5s var(--ease),
    letter-spacing 0.5s var(--ease),
    background 0.5s var(--ease);
}

.btn > * {
  position: relative;
  z-index: 1;
}

.btn:hover {
  transform: translateY(-3px);
  letter-spacing: 0.22em;
  box-shadow: 0 16px 36px rgba(26, 22, 18, 0.14);
}

.btn:active {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(26, 22, 18, 0.1);
}

.btn:focus-visible {
  outline: 1px solid var(--bronze);
  outline-offset: 3px;
}

.btn--dark {
  background-color: var(--ink);
  background-image: linear-gradient(145deg, #2c2620 0%, #353028 100%);
  color: var(--cream);
  border-color: var(--ink);
}

.btn--dark::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--grad-accent);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.55s var(--ease-out);
  z-index: 0;
}

.btn--dark:hover {
  background-color: var(--ink);
  background-image: var(--grad-accent);
  color: var(--ink);
  border-color: var(--accent);
}

.btn--dark:hover::before {
  transform: scaleX(1);
}

.btn--line {
  background: transparent;
  border-color: rgba(26, 22, 18, 0.45);
  color: var(--ink);
}

.btn--line::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ink);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.55s var(--ease);
  z-index: 0;
}

.btn--line:hover::before {
  transform: scaleX(1);
}

.btn--line:hover {
  background: transparent;
  color: var(--cream);
  border-color: var(--ink);
}

.btn--light {
  background: var(--bg);
  color: var(--ink);
  border-color: var(--cream);
}

.btn--light::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--white);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.55s var(--ease-out);
  z-index: 0;
}

.btn--light:hover {
  background: var(--bg);
  border-color: var(--cream);
  color: var(--ink);
}

.btn--light:hover::before {
  transform: scaleX(1);
}

.cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.75rem;
}

/* ========== CATEGORY BAR (like RH) ========== */
.cat-bar {
  border-bottom: 1px solid var(--line);
  background: var(--white);
  padding: 0.85rem 0;
}

.cat-bar__inner {
  width: min(100% - 2rem, var(--max));
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: clamp(1.5rem, 3vw, 2.75rem);
}

.cat-bar a {
  position: relative;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--stone);
  text-decoration: none;
  transition: color 0.35s var(--ease);
}

.cat-bar a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.4rem;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.45s var(--ease);
}

.cat-bar a:hover {
  color: var(--ink);
}

.cat-bar a:hover::after {
  transform: scaleX(1);
}

/* ========== HOME HERO ??original full-bleed ========== */
.home-hero {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  height: 100vh;
  height: 100dvh;
  display: grid;
  align-items: center;
  justify-items: center;
  text-align: center;
  overflow: hidden;
  margin-top: 0;
  background: var(--brown-deep);
}

.home-hero__stage {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.home-hero__media {
  position: absolute;
  inset: -3% 0;
  opacity: 0;
  transform: scale(1.05);
  transition: opacity 1.6s var(--ease);
  will-change: transform, opacity;
  background-size: cover;
  background-position: center;
}

.home-hero__media.is-active {
  opacity: 1;
  z-index: 1;
}

.home-hero__media.is-ken {
  animation: ken-burns 14s ease-out forwards;
}

.home-hero__veil {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(44, 38, 32, 0.3) 0%, transparent 34%, transparent 48%, rgba(47, 41, 36, 0.52) 100%),
    linear-gradient(105deg, rgba(160, 147, 125, 0.14) 0%, transparent 45%);
}

.home-hero__content {
  position: relative;
  z-index: 4;
  padding: 6rem 1.5rem 5rem;
  color: var(--white);
  max-width: 42rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}

.hero-kicker {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 500;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: rgba(160, 147, 125, 0.86);
}

.hero-brand {
  font-family: var(--font-display);
  font-size: var(--text-hero);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 0;
  padding-left: 0.16em;
  color: rgba(255, 250, 245, 0.98);
  line-height: 0.92;
  text-shadow: 0 2px 40px rgba(0, 0, 0, 0.28);
}

.hero-brand span {
  display: block;
}

.hero-line {
  margin: 0.15rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2.2vw, 1.55rem);
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.02em;
  color: rgba(255, 248, 240, 0.88);
  line-height: 1.2;
}

.hero-cta {
  margin-top: 0.85rem;
  min-width: 11rem;
}

.home-hero .btn--line.hero-cta {
  background: transparent;
  border-color: rgba(255, 248, 240, 0.72);
  color: rgba(255, 252, 248, 0.98);
  box-shadow: none;
  text-shadow: none;
  padding: 0.9rem 1.6rem;
  letter-spacing: var(--tracking-btn);
}

.home-hero .btn--line.hero-cta:hover {
  background: transparent;
  border-color: var(--cream);
  color: var(--ink);
}

.home-hero [data-hero-rise] {
  opacity: 0;
  transform: translateY(1.2rem);
  transition:
    opacity 1s var(--ease),
    transform 1s var(--ease);
}

.home-hero.is-ready [data-hero-rise] {
  opacity: 1;
  transform: none;
}

.home-hero.is-ready [data-hero-rise]:nth-child(1) { transition-delay: 0.15s; }
.home-hero.is-ready [data-hero-rise]:nth-child(2) { transition-delay: 0.32s; }
.home-hero.is-ready [data-hero-rise]:nth-child(3) { transition-delay: 0.48s; }
.home-hero.is-ready [data-hero-rise]:nth-child(4) { transition-delay: 0.64s; }

.hero-scroll {
  position: absolute;
  left: 50%;
  bottom: 1.5rem;
  z-index: 5;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  color: rgba(255, 248, 240, 0.55);
  pointer-events: none;
}

.hero-scroll span {
  font-size: 0.58rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.hero-scroll i {
  display: block;
  width: 1px;
  height: 2.2rem;
  background: rgba(255, 248, 240, 0.35);
  position: relative;
  overflow: hidden;
}

.hero-scroll i::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 40%;
  background: rgba(255, 248, 240, 0.9);
  animation: scroll-line 1.8s ease-in-out infinite;
}

.home-hero.is-leaving .hero-scroll {
  opacity: 0;
  transition: opacity 0.35s;
}

.home-hero .slider-dots {
  position: absolute;
  left: 50%;
  right: auto;
  bottom: 4.25rem;
  transform: translateX(-50%);
  display: flex;
  gap: 0.5rem;
  opacity: 0.35;
  z-index: 5;
}

.home-hero:hover .slider-dots {
  opacity: 0.75;
}

.home-hero .slider-dots span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid rgba(255, 248, 240, 0.7);
}

.home-hero .slider-dots span.is-active {
  background: rgba(255, 248, 240, 0.95);
  width: 5px;
  border-radius: 50%;
}

.home-hero .slider-arrow {
  opacity: 0.35;
  color: #fff;
}

.home-hero:hover .slider-arrow {
  opacity: 0.75;
}

.home-hero.is-leaving .home-hero__content {
  opacity: 0.55;
  transform: translate3d(0, -12px, 0);
  filter: none;
}

.page-home .home-about {
  padding-top: clamp(2.75rem, 5vw, 4rem);
  padding-bottom: clamp(2.75rem, 5vw, 4rem);
}

@media (max-width: 720px) {
  .home-hero__content {
    padding: 5rem 1.25rem 4.5rem;
  }
  .hero-brand {
    font-size: clamp(3.2rem, 18vw, 4.5rem);
  }
}
@keyframes hero-glow-drift {
  from { transform: translate3d(-2%, 1%, 0) scale(1); }
  to { transform: translate3d(3%, -2%, 0) scale(1.06); }
}

/* Home: header visible, but transparent until hover / scroll */
.page-home:not(.is-scrolled) .site-header {
  opacity: 1;
  transform: none;
  pointer-events: auto;
  transition:
    opacity 0.4s ease,
    transform 0.4s var(--ease),
    background 0.5s var(--ease),
    color 0.45s var(--ease),
    top 0.4s var(--ease),
    padding 0.45s var(--ease),
    box-shadow 0.5s var(--ease),
    border-color 0.45s var(--ease);
}

.page-home:not(.is-scrolled) .site-chrome:hover .site-header,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.page-home.is-scrolled .site-header {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

@media (max-width: 720px) {
  .home-hero__content {
    padding: 0 1.25rem 5rem;
    max-width: 100%;
  }
}

.slider-dots {
  position: absolute;
  left: 50%;
  bottom: 1.75rem;
  transform: translateX(-50%);
  z-index: 5;
  display: flex;
  gap: 0.55rem;
  opacity: 0.45;
  transition: opacity 0.35s;
}

.home-hero:hover .slider-dots {
  opacity: 0.85;
}

.slider-dots span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid rgba(255, 248, 240, 0.7);
  padding: 0;
  transition: background 0.35s, width 0.35s, border-radius 0.35s;
}

.slider-dots span.is-active,
.slider-dots span:hover {
  background: rgba(255, 248, 240, 0.95);
  width: 5px;
  border-radius: 50%;
}

.slider-arrow {
  position: absolute;
  top: 50%;
  z-index: 5;
  transform: translateY(-50%);
  width: 2.5rem;
  height: 2.5rem;
  border: 0;
  background: transparent;
  color: rgba(255, 248, 240, 0.55);
  font-size: 1.75rem;
  line-height: 1;
  opacity: 0;
  transition: opacity 0.35s, color 0.3s;
}

.home-hero:hover .slider-arrow {
  opacity: 1;
}

.slider-arrow:hover {
  color: rgba(255, 248, 240, 0.95);
}

.slider-arrow--prev { left: 1.25rem; }
.slider-arrow--next { right: 1.25rem; }

/* Hide noisy progress ring on first screen / dark heroes */
.page-home:not(.is-scrolled-page) .scroll-progress,
.page-products:not(.is-scrolled-page) .scroll-progress,
.page-products-catalog:not(.is-scrolled-page) .scroll-progress {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}
/* Circular scroll progress ??bottom right, always readable */
.scroll-progress {
  position: fixed;
  top: auto;
  bottom: 1.35rem;
  left: auto;
  right: 1.35rem;
  z-index: 140;
  width: 3.75rem;
  height: 3.75rem;
  display: grid;
  place-items: center;
  opacity: 1;
  transform: none;
  transition: opacity 0.45s var(--ease), transform 0.45s var(--ease), background 0.45s;
  pointer-events: none;
  background: rgba(255, 252, 248, 0.78);
  border-radius: 50%;
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 28px rgba(20, 17, 14, 0.12);
}

.scroll-progress.is-visible {
  opacity: 1;
  transform: none;
}

.scroll-progress__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.scroll-progress__track {
  fill: none;
  stroke: rgba(44, 40, 36, 0.14);
  stroke-width: 2.5;
}

.page-inner .scroll-progress__track {
  stroke: rgba(44, 40, 36, 0.14);
}

.scroll-progress__bar {
  fill: none;
  stroke: #6a655c;
  stroke-width: 2.75;
  stroke-linecap: round;
  transition: stroke-dashoffset 0.12s linear;
}

.scroll-progress__value {
  position: relative;
  z-index: 1;
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--ink);
}

.page-inner .scroll-progress__value {
  color: var(--ink);
}

.page-home:not(.is-scrolled-page) .site-header.is-scrolled ~ .scroll-progress,
body.page-home .scroll-progress {
  /* keep readable over hero */
}

body.is-scrolled-deep .scroll-progress__track {
  stroke: rgba(44, 40, 36, 0.12);
}

body.is-scrolled-deep .scroll-progress__value {
  color: var(--ink);
}

body.is-scrolled-deep .scroll-progress {
  background: rgba(255, 252, 248, 0.72);
  border-radius: 50%;
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 24px rgba(20, 17, 14, 0.08);
}

@media (max-width: 720px) {
  .scroll-progress {
    top: auto;
    bottom: 1.1rem;
    left: 1rem;
    width: 2.9rem;
    height: 2.9rem;
  }
  .hero-tag-box__mark { display: none; }
}

/* ========== SECTIONS ========== */
.section {
  padding: var(--section-y) 0;
}

.section--warm {
  background-color: transparent;
  background-image: none;
}

.section--linen {
  background-color: transparent;
  background-image: none;
}

.section--charcoal {
  background-color: var(--brown);
  background-image: var(--grad-deep);
  color: rgba(243, 241, 238, 0.92);
}

.section--charcoal .eyebrow {
  color: rgba(160, 147, 125, 0.62);
}

.section--charcoal h2,
.section--charcoal h3 {
  color: var(--cream);
}

.section--charcoal p,
.section--charcoal .muted {
  color: rgba(243, 241, 238, 0.68);
}

.section--dark {
  background-color: var(--black);
  background-image: var(--grad-deep);
  color: var(--cream);
}

.section--editorial .lead {
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  line-height: 1.7;
  color: var(--ink);
  margin: 1.1rem 0 0.85rem;
  max-width: 36ch;
}

.section-intro {
  max-width: 40rem;
  margin-bottom: clamp(2.75rem, 5.5vw, 4.25rem);
}

.section-intro--wide {
  max-width: none;
  width: 100%;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-5);
  flex-wrap: wrap;
}

.section-intro--wide > div { max-width: 30rem; }
.section-intro--wide > p { max-width: 34ch; color: var(--stone); margin: 0; line-height: var(--leading-body); }

.section-intro.text-center {
  margin-inline: auto;
  text-align: center;
}

.section-intro h2 {
  font-size: var(--text-h2);
  margin-bottom: 1rem;
  letter-spacing: var(--tracking-display);
  line-height: var(--leading-display);
  color: var(--ink-heading);
}

.section-intro p {
  color: var(--ink-muted);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  max-width: 42ch;
}

.eyebrow {
  display: block;
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 500;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--taupe-deep);
  opacity: 1;
  margin-bottom: 1.15rem;
}

.muted { color: var(--ink-muted); }

.link-arrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 1.75rem;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border-bottom: none;
  padding-bottom: 0.25rem;
  transition: gap 0.35s var(--ease), opacity 0.3s;
}

.link-arrow::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0.35);
  transform-origin: left center;
  transition: transform 0.45s var(--ease);
}

.link-arrow::after {
  content: "\2192";
  transition: transform 0.35s var(--ease);
}

.link-arrow:hover {
  gap: 0.95rem;
  opacity: 0.85;
}

.link-arrow:hover::before {
  transform: scaleX(1);
}

.link-arrow:hover::after {
  transform: translateX(3px);
}

/* Marquee */
.marquee {
  overflow: hidden;
  border-block: 1px solid rgba(44, 40, 36, 0.08);
  background:
    linear-gradient(90deg, rgba(243, 241, 238, 0.9), rgba(196, 190, 182, 0.95), rgba(243, 241, 238, 0.9));
  padding: 1.05rem 0;
}

.marquee__track {
  display: flex;
  width: max-content;
  gap: 3.25rem;
  animation: marquee 42s linear infinite;
}

.marquee__track span {
  font-size: 0.66rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--stone);
  white-space: nowrap;
}

.marquee__track span::before {
  content: "\2726";
  margin-right: 3.25rem;
  color: var(--accent);
  font-size: 0.55rem;
  opacity: 0.55;
}

/* Collection cards */
.collection-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  grid-template-rows: 300px 300px;
  gap: 0.85rem;
}

.collection-card {
  position: relative;
  overflow: hidden;
  display: block;
  color: var(--white);
  min-height: 240px;
}

.collection-card--tall { grid-row: 1 / 3; }
.collection-card--wide { grid-column: 2 / 4; }

.collection-card__img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 1.25s var(--ease), filter 0.7s;
}

.collection-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 28%, rgba(20, 17, 14, 0.78)),
    linear-gradient(0deg, transparent 70%, rgba(20, 17, 14, 0.15));
  transition: opacity 0.5s;
}

.collection-card__copy {
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 1;
  transform: translateY(0.5rem);
  transition: transform 0.7s var(--ease);
}

.collection-card__index {
  display: block;
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(160, 147, 125, 0.82);
  margin-bottom: 0.65rem;
}

.collection-card h3 {
  font-size: clamp(1.95rem, 3vw, 2.7rem);
  margin-bottom: 0.35rem;
  letter-spacing: -0.015em;
  line-height: 1.05;
}

.collection-card p {
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.55;
  opacity: 0;
  max-width: 26ch;
  transform: translateY(0.5rem);
  transition: opacity 0.55s var(--ease), transform 0.55s var(--ease);
}

.collection-card:hover .collection-card__img {
  transform: scale(1.1);
  filter: brightness(1.08) saturate(1.08);
}

.collection-card:hover .collection-card__copy {
  transform: translateY(0);
}

.collection-card:hover p {
  opacity: 0.85;
  transform: none;
}

/* Statement band */
.statement {
  position: relative;
  min-height: 78vh;
  display: grid;
  place-items: center;
  overflow: hidden;
  text-align: center;
  color: var(--white);
}

.statement__media {
  position: absolute;
  inset: -6% 0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 45%, transparent 10%, rgba(14, 12, 10, 0.55) 100%),
    linear-gradient(180deg, rgba(20, 17, 14, 0.35), rgba(20, 17, 14, 0.62)),
    url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=2000&q=80")
      center / cover no-repeat;
  will-change: transform;
}

.statement__content {
  position: relative;
  z-index: 1;
  padding: 4.5rem 1.5rem;
  max-width: 44rem;
}

.statement__quote {
  font-family: var(--font-display);
  font-size: clamp(2.05rem, 4.6vw, 3.4rem);
  line-height: 1.18;
  font-style: italic;
  letter-spacing: -0.015em;
  margin-bottom: 2.25rem;
  color: rgba(255, 250, 244, 0.95);
  text-shadow: 0 2px 28px rgba(0, 0, 0, 0.25);
}

/* Why choose */
.why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.why-card {
  background: rgba(255, 255, 255, 0.72);
  padding: clamp(1.75rem, 3vw, 2.6rem);
  transition: background 0.45s, transform 0.45s;
}

.why-card:hover {
  background: var(--bg);
  transform: translateY(-2px);
}

.why-card__num {
  display: block;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  opacity: 0.78;
  margin-bottom: 1.45rem;
}

.why-card h3 {
  font-size: clamp(1.45rem, 2vw, 1.75rem);
  letter-spacing: -0.015em;
  line-height: 1.12;
  margin-bottom: 0.8rem;
  color: var(--ink);
}

.why-card p {
  color: var(--stone);
  font-size: var(--text-small);
  line-height: var(--leading-body);
  max-width: 32ch;
}

/* Featured rail */
.featured-rail {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.15rem, 2.8vw, 2rem);
}

.featured-card {
  display: grid;
  gap: 1.15rem;
}

.featured-card__img {
  aspect-ratio: 4 / 5;
  background-size: cover;
  background-position: center;
  transition: transform 1.1s var(--ease), filter 0.6s;
}

.featured-card:hover .featured-card__img {
  transform: scale(1.03);
  filter: brightness(1.04);
}

.featured-card h3 {
  font-size: clamp(1.55rem, 2.2vw, 1.85rem);
  margin-bottom: 0.4rem;
  letter-spacing: -0.015em;
  line-height: 1.12;
  color: var(--ink);
}

.featured-card p {
  color: var(--stone);
  font-size: var(--text-small);
  line-height: var(--leading-body);
  max-width: 34ch;
}

/* Stats */
.section--stats {
  background:
    radial-gradient(ellipse at center, rgba(255, 255, 255, 0.04), transparent 55%),
    var(--black);
}

.stats-layout {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

.stats-copy .eyebrow { color: rgba(255, 255, 255, 0.45); }
.stats-copy h2 { color: var(--white); font-size: var(--text-h2); margin-bottom: 0.95rem; line-height: var(--leading-display); letter-spacing: var(--tracking-display); }
.stats-copy p { color: rgba(255, 255, 255, 0.58); max-width: 36ch; line-height: var(--leading-body); }

.gallery-grid--luxe {
  grid-template-rows: 280px 280px;
  gap: 0.65rem;
}

/* Final CTA banner */
.cta-banner {
  position: relative;
  min-height: 68vh;
  display: grid;
  place-items: center;
  overflow: hidden;
  text-align: center;
  color: var(--white);
}

.cta-banner__media {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 65% 55% at 50% 45%, transparent 15%, rgba(14, 12, 10, 0.58) 100%),
    linear-gradient(180deg, rgba(20, 17, 14, 0.35), rgba(20, 17, 14, 0.7)),
    url("https://images.unsplash.com/photo-1616594039964-ae9021a400a0?auto=format&fit=crop&w=2000&q=80")
      center / cover no-repeat;
}

.cta-banner__content {
  position: relative;
  z-index: 1;
  padding: 4.5rem 1.5rem;
  max-width: 38rem;
}

.cta-banner .eyebrow { color: rgba(160, 147, 125, 0.78); opacity: 1; letter-spacing: var(--tracking-eyebrow); font-weight: 500; }
.cta-banner h2 {
  font-size: var(--text-h2);
  margin-bottom: 1.05rem;
  letter-spacing: var(--tracking-display);
  line-height: var(--leading-display);
}
.cta-banner p {
  color: rgba(255, 250, 244, 0.72);
  margin-bottom: 2rem;
  line-height: var(--leading-body);
  font-size: 1.05rem;
}

.cta-banner .btn--dark {
  background: var(--white);
  color: var(--ink);
}

.cta-banner .btn--dark:hover {
  background: var(--bg);
}

/* ========== SITE CTA + FOOTER ?? editorial dark closing bar (VPI317CV) ========== */
.site-cta {
  position: relative;
  overflow: hidden;
  text-align: left;
  color: var(--cream);
  background-color: var(--brown-deep);
  background-image: var(--grad-deep);
  border-top: 1px solid rgba(243, 241, 238, 0.1);
  padding: clamp(3.75rem, 5.5vw, 5rem) 0;
}

.site-cta__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: clamp(1.5rem, 3vw, 2.75rem) clamp(2rem, 4vw, 3.5rem);
}

.site-cta__copy {
  flex: 1 1 18rem;
  max-width: 38rem;
  min-width: 0;
}

.site-cta__eyebrow {
  display: block;
  margin: 0 0 0.65rem;
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 500;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: rgba(160, 147, 125, 0.92);
}

.site-cta__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.85rem, 3.2vw, 2.65rem);
  font-weight: 400;
  letter-spacing: var(--tracking-display);
  line-height: 1.12;
  color: #f3f1ee;
  max-width: 22ch;
  text-align: left;
  text-wrap: balance;
}

.site-cta__lead {
  display: none;
}

.site-cta__btn {
  position: relative;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  padding: 1.05rem 1.9rem;
  border: 1px solid var(--cream);
  background: var(--bg);
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: var(--tracking-btn);
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
  white-space: nowrap;
  transition:
    background 0.45s var(--ease),
    color 0.45s var(--ease),
    border-color 0.45s var(--ease),
    gap 0.45s var(--ease),
    opacity 0.45s var(--ease);
}

.site-cta__btn:hover {
  background: var(--taupe);
  border-color: var(--taupe);
  color: var(--ink);
  gap: 1.05rem;
}

.site-cta__btn:focus-visible {
  outline: 1px solid var(--bronze);
  outline-offset: 3px;
}

.site-cta__arrow {
  display: inline-block;
  transition: transform 0.45s var(--ease);
}

.site-cta__btn:hover .site-cta__arrow {
  transform: translateX(4px);
}

.site-cta__meta {
  display: block;
  margin: 0.85rem 0 0;
  font-family: var(--font-body);
  font-size: 0.86rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: rgba(243, 241, 238, 0.42);
}

.site-cta__meta a {
  color: rgba(243, 241, 238, 0.48);
  text-decoration: none;
  border-bottom: 1px solid rgba(243, 241, 238, 0.14);
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.site-cta__meta a:hover {
  color: rgba(243, 241, 238, 0.82);
  border-bottom-color: rgba(243, 241, 238, 0.4);
}

.site-cta__meta-sep,
.site-cta__aside,
.site-cta__media,
.site-cta__veil {
  display: none;
}

@media (max-width: 820px) {
  .site-cta {
    padding: clamp(3.5rem, 10vw, 4.5rem) 0;
  }

  .site-cta__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 1.75rem;
  }

  .site-cta__copy {
    max-width: none;
  }

  .site-cta__title {
    max-width: 18ch;
  }

  .site-cta__btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-cta__btn,
  .site-cta__arrow {
    transition: none !important;
  }

  .site-cta__btn:hover .site-cta__arrow {
    transform: none;
  }
}

html.nofx .site-cta__btn,
html.nofx .site-cta__arrow,
.fx-off .site-cta__btn,
.fx-off .site-cta__arrow {
  transition: none !important;
}

html.nofx .site-cta__btn:hover .site-cta__arrow,
.fx-off .site-cta__btn:hover .site-cta__arrow {
  transform: none;
}

/* ========== SPLIT ========== */
.split {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}

.split--reverse { grid-template-columns: 1.1fr 1fr; }

.split__copy h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 1.15rem;
}

.split__copy p + p { margin-top: 0.85rem; }
.split__copy .btn { margin-top: 1.5rem; }

.split__media {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background:
    url("https://images.unsplash.com/photo-1616046229478-9901c5536a45?auto=format&fit=crop&w=1200&q=80")
      center / cover no-repeat;
  background-size: 112% auto;
  transition: transform 0.7s var(--ease), filter 0.5s;
  will-change: background-position, transform;
}

.split__media:hover {
  transform: scale(1.01);
  filter: brightness(1.03);
}

.split__media--alt {
  background-image: url("https://images.unsplash.com/photo-1586023492125-27b2c045efd7?auto=format&fit=crop&w=1200&q=80");
}

.split__media--craft {
  background-image: url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=1200&q=80");
}

/* ========== GRIDS ========== */
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(1.25rem, 3vw, 2rem); }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.25rem, 3vw, 2rem); }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(1rem, 2.5vw, 1.75rem); }

/* ========== PRODUCT TILES ========== */
.product-tile {
  display: grid;
  gap: 0.95rem;
  text-align: left;
}

.product-tile__img {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background-color: var(--warm);
  background-size: cover;
  background-position: center;
  transition: transform 0.9s var(--ease), filter 0.7s var(--ease);
}

.product-tile:hover .product-tile__img {
  transform: scale(1.045);
  filter: brightness(1.03);
}

.product-tile h3 {
  font-size: clamp(1.35rem, 1.8vw, 1.55rem);
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 1.15;
  color: var(--ink);
}

.product-tile p {
  color: var(--accent);
  font-size: 0.84rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.45;
}

/* Products page ?? quiet luxury editorial */
.product-hero {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  align-items: center;
  justify-items: start;
  text-align: left;
  margin-top: 0;
  overflow: hidden;
  background: var(--black);
}

.product-hero__media {
  position: absolute;
  inset: -4% 0;
  background:
    url("https://images.unsplash.com/photo-1600210492493-0946911123ea?auto=format&fit=crop&w=2400&q=88")
      72% 40% / cover no-repeat;
  will-change: transform;
  transform: scale(1.06);
}

.product-hero__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(92deg, rgba(44, 38, 32, 0.56) 0%, rgba(44, 38, 32, 0.2) 42%, rgba(160, 147, 125, 0.08) 68%, rgba(47, 41, 36, 0.16) 100%),
    linear-gradient(180deg, rgba(44, 38, 32, 0.26) 0%, transparent 40%, rgba(47, 41, 36, 0.36) 100%);
}

.product-hero__content {
  position: relative;
  z-index: 2;
  color: var(--white);
  padding:
    calc(var(--lang-bar-h) + var(--header-h) + clamp(1.5rem, 4vh, 3rem))
    clamp(1.5rem, 6vw, 5.5rem)
    clamp(3rem, 8vh, 5rem);
  max-width: 38rem;
}

.product-hero__label {
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255, 250, 243, 0.72);
  margin-bottom: 1.35rem;
}

.product-hero__content h1,
.product-hero__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(3.15rem, 7.2vw, 5.5rem);
  letter-spacing: -0.025em;
  line-height: 0.92;
  margin-bottom: 1.35rem;
  min-height: 0;
  max-width: none;
  color: #ffffff;
  text-align: left;
}

.product-hero__title-line {
  display: block;
}

.product-hero .hero-title__fallback {
  text-align: left;
  margin-inline: 0;
  max-width: 12ch;
}

.product-hero__content p,
.product-hero__lead {
  margin-top: 0;
  opacity: 0.92;
  max-width: 42ch;
  line-height: 1.7;
  font-size: clamp(0.95rem, 1.15vw, 1.05rem);
  font-weight: 300;
  color: rgba(255, 255, 255, 0.92);
}

.product-hero [data-reveal-line] {
  opacity: 0;
  transform: translateY(1.35rem);
  transition: opacity 0.95s var(--ease), transform 0.95s var(--ease);
}

.product-hero [data-reveal-line].is-in {
  opacity: 1;
  transform: none;
}

.product-hero__media {
  transition: transform 1.8s cubic-bezier(0.22, 1, 0.36, 1), opacity 1.4s ease;
  opacity: 0.72;
  transform: scale(1.12);
}

.product-hero.is-ready .product-hero__media {
  opacity: 1;
  transform: scale(1.06);
}

.product-hero__title {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 1.1s var(--ease) 0.15s, transform 1.1s var(--ease) 0.15s;
}

.product-hero.is-ready .product-hero__title {
  opacity: 1;
  transform: none;
}

.product-hero__search {
  margin-top: 1rem !important;
  opacity: 0.9 !important;
}

html.has-motion .product-mosaic__item:not(.is-visible) {
  pointer-events: none;
}

.products-section {
  padding-top: clamp(3.5rem, 7vw, 5.5rem);
}

.products-toolbar {
  display: grid;
  gap: 2rem;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.products-toolbar .section-intro {
  margin-bottom: 0;
  max-width: 40rem;
}

.category-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.35rem;
  padding: 0 0 1.15rem;
  border-bottom: 1px solid var(--line);
  justify-content: flex-start;
}

.category-nav a {
  position: relative;
  padding: 0.35rem 0;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--stone);
  border: 0;
  background: none;
  transition: color 0.3s;
}

.category-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s var(--ease);
}

.category-nav a:hover,
.category-nav a.is-active {
  color: var(--ink);
  background: none;
  border: 0;
}

.category-nav a.is-active::after,
.category-nav a:hover::after {
  transform: scaleX(1);
}

.product-mosaic {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.product-mosaic__item {
  display: grid;
  gap: 0;
  background: var(--bg);
  overflow: hidden;
  transition: transform 0.45s var(--ease), box-shadow 0.45s var(--ease);
}

.product-mosaic__item--wide {
  grid-column: 1 / -1;
  grid-template-columns: 1.35fr 1fr;
  align-items: stretch;
}

.product-mosaic__media {
  min-height: 320px;
  aspect-ratio: 4 / 5;
  background-size: cover;
  background-position: center;
  transition: transform 1.1s var(--ease), filter 0.6s;
}

.product-mosaic__item--wide .product-mosaic__media {
  aspect-ratio: auto;
  min-height: 420px;
  height: 100%;
}

.product-mosaic__body {
  padding: clamp(1.35rem, 3vw, 2.1rem);
  display: grid;
  align-content: end;
  gap: 0.45rem;
}

.product-mosaic__index {
  font-family: var(--font-display);
  font-size: 0.95rem;
  letter-spacing: 0.12em;
  color: var(--accent);
  opacity: 0.7;
  margin-bottom: 0.35rem;
}

.product-mosaic__body .eyebrow {
  margin-bottom: 0.25rem;
}

.product-mosaic__body h3 {
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  letter-spacing: -0.01em;
  margin: 0;
}

.product-mosaic__body p {
  color: var(--stone);
  font-size: 0.95rem;
  line-height: 1.65;
  max-width: 34ch;
  margin: 0.25rem 0 0.5rem;
}

.product-mosaic__body .link-arrow {
  margin-top: 0.5rem;
  justify-self: start;
}

.product-mosaic__item:hover .product-mosaic__media {
  transform: scale(1.045);
  filter: brightness(1.04);
}

.service-rail {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.service-rail__item {
  background: rgba(255, 255, 255, 0.72);
  padding: clamp(1.75rem, 3vw, 2.6rem);
  transition: background 0.4s;
}

.service-rail__item:hover {
  background: var(--bg);
}

.service-rail__item span {
  display: block;
  font-family: var(--font-display);
  font-size: 1.25rem;
  color: var(--accent);
  opacity: 0.7;
  margin-bottom: 1.15rem;
  letter-spacing: 0.08em;
}

.service-rail__item h3 {
  font-size: 1.55rem;
  margin-bottom: 0.65rem;
}

.service-rail__item p {
  color: var(--stone);
  font-size: 0.92rem;
  line-height: 1.7;
  margin: 0;
}

/* Legacy showcase kept for safety */
.product-showcase { display: grid; gap: clamp(2.5rem, 5vw, 4rem); }
.product-showcase__row { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
.product-showcase__row--reverse { grid-template-columns: 1fr 1.2fr; }
.product-showcase__img {
  aspect-ratio: 4 / 5;
  background-size: cover; background-position: center;
  transition: transform 0.6s;
}
.product-showcase__img:hover { transform: scale(1.015); }
.product-showcase__copy h3 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: 0.65rem; }
.product-showcase__copy p { color: var(--stone); max-width: 34ch; }

.img-1 { background-image: url("https://images.unsplash.com/photo-1586023492125-27b2c045efd7?auto=format&fit=crop&w=900&q=80"); }
.img-2 { background-image: url("https://images.unsplash.com/photo-1567016432779-094069958ea5?auto=format&fit=crop&w=900&q=80"); }
.img-3 { background-image: url("https://images.unsplash.com/photo-1493663284031-b7e3aefcae8e?auto=format&fit=crop&w=900&q=80"); }
.img-4 { background-image: url("https://images.unsplash.com/photo-1567016432779-094069958ea5?auto=format&fit=crop&w=900&q=80"); }
.img-5 { background-image: url("https://images.unsplash.com/photo-1616594039964-ae9021a400a0?auto=format&fit=crop&w=900&q=80"); }
.img-6 { background-image: url("https://images.unsplash.com/photo-1618220179428-22790b461013?auto=format&fit=crop&w=900&q=80"); }

/* ========== STATS ========== */
.stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  text-align: center;
}

.stat { padding: 1rem 0; }

.stat__num {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 5vw, 3.8rem);
  font-weight: 400;
  line-height: 1;
  margin-bottom: 0.4rem;
  color: var(--white);
  transition: transform 0.5s var(--ease);
}

.stat.is-visible .stat__num {
  animation: soft-pop 0.7s var(--ease) both;
}

.stat__label {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
}

/* ========== GALLERY ========== */
.gallery-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  grid-template-rows: 240px 240px;
  gap: 0.5rem;
}

.gallery-grid > div {
  overflow: hidden;
  background-size: 115% auto;
  background-position: center;
  transition: transform 0.8s var(--ease), filter 0.6s var(--ease);
  will-change: background-position, transform;
}

.gallery-grid > div:first-child { grid-row: 1 / 3; }

.gallery-grid > div:hover {
  transform: scale(1.02);
  filter: brightness(1.04);
}

/* ========== FEATURE CARDS ========== */
.feature {
  padding: 1.5rem 1.25rem;
  border: 1px solid var(--line);
  transition: transform 0.5s var(--ease), border-color 0.4s, box-shadow 0.5s var(--ease);
}
.feature:hover {
  transform: translateY(-5px);
  border-color: var(--line-2);
  box-shadow: 0 14px 34px rgba(44, 40, 36, 0.06);
}
.feature h3 { font-size: 1.4rem; margin-bottom: 0.5rem; }
.feature p { color: var(--stone); font-size: 0.92rem; }

/* ========== VALUES ========== */
.value-list { display: grid; }
.value-item {
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  gap: 1.25rem;
  padding: 1.5rem 0;
  border-top: 1px solid var(--line);
  transition: padding-left 0.35s;
}
.value-item:hover { padding-left: 0.5rem; }
.value-item:last-child { border-bottom: 1px solid var(--line); }
.value-item__num { font-family: var(--font-display); font-size: 1.4rem; color: #1A1510; opacity: 1; }
.value-item h3 { font-size: 1.4rem; margin-bottom: 0.3rem; }

/* Process */
.process {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.65rem;
  counter-reset: step;
}

.process__step {
  padding: 1.25rem 0.85rem;
  border-top: 1px solid var(--line);
  counter-increment: step;
  transition: background 0.4s;
}

.process__step:hover { background: var(--warm); }
.process__step::before {
  content: "0" counter(step);
  display: block;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: var(--accent);
  margin-bottom: 0.55rem;
}
.process__step h3 { font-size: 0.95rem; margin-bottom: 0.3rem; }
.process__step p { font-size: 0.82rem; color: var(--stone); }

.process-flow { display: grid; gap: 2.5rem; }
.process-flow__item {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
}
.process-flow__item:nth-child(even) .process-flow__img { order: 2; }
.process-flow__item:nth-child(even) .process-flow__body { order: 1; }
.process-flow__img {
  aspect-ratio: 16 / 10;
  background-size: cover;
  background-position: center;
  transition: transform 0.5s;
}
.process-flow__img:hover { transform: scale(1.01); }
.process-flow__body span { display: block; font-family: var(--font-display); font-size: 1.4rem; color: var(--accent); margin-bottom: 0.45rem; }
.process-flow__body h3 { font-size: 1.6rem; margin-bottom: 0.5rem; }
.process-flow__body p { color: var(--stone); }

.factory-1 { background-image: url("https://images.unsplash.com/photo-1538688525198-9b88f6f53126?auto=format&fit=crop&w=1200&q=80"); }
.factory-2 { background-image: url("https://images.unsplash.com/photo-1615529328331-f8917597711f?auto=format&fit=crop&w=1200&q=80"); }
.factory-3 { background-image: url("https://images.unsplash.com/photo-1524758631624-e2822e304c36?auto=format&fit=crop&w=1200&q=80"); }
.factory-4 { background-image: url("https://images.unsplash.com/photo-1524758631624-e2822e304c36?auto=format&fit=crop&w=1200&q=80"); }
.factory-5 { background-image: url("https://images.unsplash.com/photo-1578683010236-d716f9a3f461?auto=format&fit=crop&w=1200&q=80"); }
.factory-6 { background-image: url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1200&q=80"); }

/* Tests & compliance */
.test-list { display: grid; margin-top: 1.25rem; }
.test-item {
  display: grid; grid-template-columns: 1.25rem 1fr;
  gap: 0.75rem; padding: 0.85rem 0;
  border-top: 1px solid var(--line);
  font-size: 0.92rem;
}
.test-item:last-child { border-bottom: 1px solid var(--line); }
.test-item::before { content: "\2713"; color: var(--accent); }

.compliance-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 2.5vw, 1.75rem); }
.compliance-card {
  padding: 1.75rem 1.35rem;
  border: 1px solid var(--line);
  background: var(--white);
  transition: transform 0.4s, box-shadow 0.4s;
}
.compliance-card:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(0,0,0,0.06); }
.compliance-card h3 { font-size: 1.25rem; margin-bottom: 0.6rem; }
.compliance-card p { color: var(--stone); font-size: 0.9rem; }
.compliance-card ul { margin-top: 0.75rem; }
.compliance-card li { color: var(--stone); font-size: 0.86rem; padding: 0.3rem 0 0.3rem 1rem; position: relative; }
.compliance-card li::before { content: ""; position: absolute; left: 0; top: 0.7rem; width: 4px; height: 4px; border-radius: 50%; background: var(--taupe); }

.client-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
.client-mark {
  height: 4.5rem; display: grid; place-items: center;
  border: 1px solid var(--line);
  color: var(--accent);
  font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase;
  transition: border-color 0.3s, color 0.3s;
}
.client-mark:hover { border-color: var(--ink); color: var(--ink); }

/* News */
.news-feature {
  display: grid; grid-template-columns: 1.3fr 1fr; gap: 2rem; align-items: center;
  margin-bottom: 3rem;
}
.news-feature__img {
  aspect-ratio: 16 / 10;
  background: url("https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?auto=format&fit=crop&w=1400&q=80") center / cover no-repeat;
  transition: transform 0.5s;
}
.news-feature__img:hover { transform: scale(1.01); }
.news-meta { font-family: var(--font-body); font-size: 0.68rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); margin-bottom: 0.75rem; }
.news-feature h2 { font-size: clamp(1.9rem, 3.6vw, 2.65rem); margin-bottom: 0.85rem; letter-spacing: -0.02em; line-height: 1.08; color: var(--ink); }
.news-card {
  display: grid; gap: 0.7rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--line);
  transition: transform 0.35s;
}
.news-card__img {
  aspect-ratio: 16 / 10;
  background-size: cover;
  background-position: center;
  margin-bottom: 0.4rem;
}
.news-card:hover { transform: translateX(4px); }
.news-card h3 { font-size: clamp(1.25rem, 1.8vw, 1.45rem); letter-spacing: -0.015em; line-height: 1.15; color: var(--ink); }

.link-more {
  display: inline-block;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink);
  border-bottom: 1px solid var(--ink);
  padding-bottom: 0.15rem;
  transition: opacity 0.3s;
}
.link-more:hover { opacity: 0.6; }

/* FAQ */
.faq-list { display: grid; gap: 0; }
.faq-item { padding: 1.5rem 0; border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-item button {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding: 0; border: 0; background: transparent;
  font-family: var(--font-display); font-size: 1.3rem;
  text-align: left; color: var(--ink);
  transition: color 0.3s;
}
.faq-item button:hover { color: var(--stone); }
.faq-item button::after {
  content: "+";
  font-family: var(--font-body);
  font-size: 1.2rem;
  color: var(--accent);
  transition: transform 0.35s var(--ease), color 0.35s;
}
.faq-item.is-open button::after {
  content: "\2212";
  color: var(--ink);
}
.faq-item .faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  margin-top: 0;
  opacity: 0;
  transition:
    grid-template-rows 0.45s var(--ease),
    opacity 0.4s var(--ease),
    margin-top 0.35s var(--ease);
}
.faq-item .faq-answer > * {
  overflow: hidden;
}
.faq-item.is-open .faq-answer {
  grid-template-rows: 1fr;
  margin-top: 0.75rem;
  opacity: 1;
}
.faq-item p { color: var(--stone); max-width: 58ch; }

/* Download */
.download-list { display: grid; gap: 0; }
.download-item {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1.5rem; padding: 1.5rem 0;
  border-top: 1px solid var(--line);
  transition: padding-left 0.35s;
}
.download-item:last-child { border-bottom: 1px solid var(--line); }
.download-item:hover { padding-left: 0.5rem; }
.download-item h3 { font-size: 1.3rem; margin-bottom: 0.25rem; }
.download-item p { color: var(--stone); font-size: 0.88rem; }

/* Contact */
.contact-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(2rem, 5vw, 4rem); }
.contact-details { display: grid; gap: 1.75rem; align-content: start; }
.contact-details h3 { font-size: 1.2rem; margin-bottom: 0.3rem; }
.contact-form { display: grid; gap: 1rem; }
.field { display: grid; gap: 0.4rem; }
.field label { font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--stone); }
.field input, .field textarea, .field select {
  width: 100%; padding: 0.9rem 1rem;
  border: 1px solid var(--line-2);
  background: var(--white);
  font-family: var(--font-body); font-size: 0.95rem; color: var(--ink);
  transition: border-color 0.3s;
}
.field textarea { min-height: 9rem; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { outline: none; border-color: var(--ink); }
.field.is-invalid input, .field.is-invalid textarea, .field.is-invalid select { border-color: #c45; }
.field-error { color: #c45; font-size: 0.75rem; }
.alert { padding: 1rem 1.25rem; margin-bottom: 1.5rem; border: 1px solid var(--line); font-size: 0.9rem; }
.alert--success { background: #edf6ee; border-color: #b8d4ba; color: #2c5c30; }
.alert--error { background: #fceded; border-color: #e0b8b8; color: #6c2525; }

.map-placeholder {
  margin-top: 3rem;
  aspect-ratio: 21 / 8;
  background: linear-gradient(180deg, rgba(0,0,0,0.05), rgba(0,0,0,0.15)),
    url("https://images.unsplash.com/photo-1524661135-423995f22d0b?auto=format&fit=crop&w=1600&q=80") center / cover no-repeat;
  display: grid; place-items: end start;
  padding: 1.5rem;
  color: var(--ink);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Footer ?? same dark closing tone as .site-cta */
.site-footer {
  border-top: 1px solid rgba(243, 241, 238, 0.1);
  background-color: var(--brown-deep);
  background-image: var(--grad-deep);
  color: rgba(243, 241, 238, 0.78);
  padding: clamp(3rem, 6vw, 4.25rem) 0 2rem;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: clamp(1.75rem, 3vw, 2.5rem);
  margin-bottom: 2.5rem;
}

.site-footer .logo {
  color: #f3f1ee;
  margin-bottom: 0.85rem;
  display: block;
  font-family: var(--font-display);
  font-size: 1.65rem;
  letter-spacing: 0.18em;
  transition: opacity 0.3s var(--ease);
}

.site-footer .logo:hover { opacity: 0.7; }

.footer-copy {
  color: rgba(243, 241, 238, 0.42);
  max-width: 28ch;
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.7;
}

.footer-col h4 {
  font-family: var(--font-body);
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 1.05rem;
  color: rgba(160, 147, 125, 0.78);
}

.footer-col a {
  display: block;
  font-family: var(--font-body);
  color: rgba(243, 241, 238, 0.58);
  font-size: 0.9rem;
  margin-bottom: 0.55rem;
  transition: color 0.3s var(--ease);
}

.footer-col a:hover {
  color: #f3f1ee;
  transform: none;
}

.footer-bottom {
  padding-top: 1.6rem;
  border-top: 1px solid rgba(243, 241, 238, 0.1);
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  font-family: var(--font-body);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  color: rgba(243, 241, 238, 0.32);
}

/* ========== PAGE HERO (shared inner pages) ========== */
.page-hero {
  padding: calc(var(--lang-bar-h) + var(--header-h) + 2.75rem) 0 3.25rem;
  border-bottom: 1px solid var(--line);
  background-color: var(--warm);
  background-image: var(--grad-warm);
  text-align: center;
  overflow: hidden;
}
.page-hero__label,
.page-hero h1,
.page-hero p {
  opacity: 0;
  transform: translateY(1.1rem);
  animation: rise 0.95s var(--ease) forwards;
}
.page-hero__label { animation-delay: 0.08s; }
.page-hero h1 { animation-delay: 0.2s; }
.page-hero p { animation-delay: 0.34s; }
.page-hero__label {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 500;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.95rem;
}
.page-hero h1 {
  font-size: clamp(2.55rem, 5.8vw, 4.35rem);
  margin-inline: auto;
  max-width: 16ch;
  line-height: var(--leading-display);
  letter-spacing: var(--tracking-display);
  color: var(--ink);
}
.page-hero p {
  margin-top: 1.1rem;
  max-width: 44ch;
  margin-inline: auto;
  color: var(--stone);
  font-size: 1.05rem;
  line-height: var(--leading-body);
}

.contact-band {
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 1rem;
}
.contact-band h2 { font-size: var(--text-h2); letter-spacing: var(--tracking-display); line-height: var(--leading-display); color: var(--ink); }
.contact-band p { max-width: 36ch; color: var(--stone); }

.section--charcoal .contact-band p {
  color: rgba(245, 240, 232, 0.62);
}

/* Animations + cinematic motion system */
.display-title {
  font-size: clamp(2.8rem, 5.5vw, 4.8rem);
  letter-spacing: -0.02em;
  line-height: 1.02;
}

.split-word {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  margin-right: 0.18em;
}

.split-word__inner {
  display: inline-block;
  transform: translateY(110%);
  transition: transform 0.95s var(--ease);
  transition-delay: var(--wdelay, 0ms);
}

.split-word.is-in .split-word__inner {
  transform: none;
}

.reveal {
  opacity: 0;
  transform: translateY(1.5rem);
  transition:
    opacity var(--motion, 0.65s) var(--ease),
    transform var(--motion, 0.65s) var(--ease),
    clip-path 0.75s var(--ease),
    filter var(--motion, 0.65s) var(--ease);
  transition-delay: var(--delay, 0ms);
  will-change: opacity, transform;
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
  filter: none;
  clip-path: inset(0 0 0 0);
}

.reveal--up {
  opacity: 0;
  transform: translateY(1.75rem);
}
.reveal--scale {
  transform: translateY(1.5rem) scale(0.96);
  filter: blur(2px);
}
.reveal--clip {
  opacity: 1;
  transform: none;
  clip-path: inset(12% 12% 12% 12%);
  filter: brightness(0.85);
}
.reveal--clip.is-visible {
  clip-path: inset(0 0 0 0);
  filter: none;
}

.btn--magnetic {
  will-change: transform;
  transition:
    background 0.45s var(--ease),
    color 0.45s var(--ease),
    border-color 0.45s var(--ease),
    transform 0.25s var(--ease),
    box-shadow 0.45s var(--ease),
    letter-spacing 0.45s var(--ease);
}

.marquee--luxe {
  padding: 1.25rem 0;
  background:
    linear-gradient(90deg, rgba(20, 17, 14, 0.04), transparent 20%, transparent 80%, rgba(20, 17, 14, 0.04)),
    var(--cream);
}

.marquee--luxe .marquee__track {
  animation-duration: 32s;
}

.marquee--luxe span {
  font-size: 0.72rem;
  letter-spacing: 0.32em;
  color: var(--ink);
  opacity: 0.72;
}

.media-mask {
  position: relative;
  overflow: hidden;
}

.media-mask__shine {
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255, 248, 240, 0.18) 48%, transparent 62%);
  transform: translateX(-120%);
  transition: transform 1.1s var(--ease);
  pointer-events: none;
}

.media-mask:hover .media-mask__shine,
.media-mask.is-visible .media-mask__shine {
  transform: translateX(120%);
}

.statement__veil,
.cta-banner__veil {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 55% at 50% 45%, transparent 10%, rgba(8, 6, 5, 0.55) 100%);
}

.statement__content,
.cta-banner__content {
  z-index: 1;
}

.stat__num {
  font-size: clamp(2.8rem, 5vw, 4.2rem);
  font-family: var(--font-display);
  letter-spacing: -0.02em;
  background: linear-gradient(180deg, #fff 20%, rgba(160, 147, 125, 0.85));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

@keyframes rise {
  from { opacity: 0; transform: translateY(1.35rem); }
  to { opacity: 1; transform: none; }
}

@keyframes soft-pop {
  from { opacity: 0.35; transform: translateY(0.6rem) scale(0.96); }
  to { opacity: 1; transform: none; }
}

@keyframes panel-in {
  from { opacity: 0; transform: translateY(-0.5rem); }
  to { opacity: 1; transform: none; }
}

@keyframes slow-zoom {
  from { transform: scale(1); }
  to { transform: scale(1.05); }
}

@keyframes ken-burns {
  from { transform: scale(1.12) translate3d(0, 0, 0); }
  to { transform: scale(1.22) translate3d(0, -2%, 0); }
}

@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@keyframes scroll-line {
  0% { transform: translateY(-120%); }
  100% { transform: translateY(280%); }
}

/* ========== CINEMATIC INTRO ========== */
html.intro-lock,
html.intro-lock body {
  overflow: hidden !important;
}

.site-intro {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  pointer-events: auto;
  cursor: pointer;
}

.site-intro__shade {
  position: absolute;
  inset: 0;
  background: #1f1b17;
  opacity: 1;
  transition: opacity 0.9s var(--ease);
}

.site-intro__panel {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 52%;
  background: #2f2924;
  z-index: 2;
  transition: transform 1.15s cubic-bezier(0.76, 0, 0.24, 1);
}

.site-intro__panel--left { left: 0; }
.site-intro__panel--right { right: 0; }

.site-intro__center {
  position: relative;
  z-index: 3;
  text-align: center;
  color: #f7f1e8;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.6s var(--ease), transform 0.6s var(--ease);
}

.site-intro.is-ready .site-intro__center {
  opacity: 1;
  transform: none;
}

.site-intro__eyebrow {
  font-size: 0.68rem;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: rgba(160, 147, 125, 0.7);
  margin-bottom: 1rem;
}

.site-intro__count {
  font-family: var(--font-display);
  font-size: clamp(5rem, 14vw, 9rem);
  line-height: 0.9;
  letter-spacing: 0.08em;
  margin: 0;
  transition: opacity 0.25s, transform 0.25s;
}

.site-intro.is-flash .site-intro__count {
  animation: intro-pop 0.55s var(--ease);
}

.site-intro__brand,
.site-intro__sub {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.55s var(--ease), transform 0.55s var(--ease);
}

.site-intro__brand {
  font-family: var(--font-display);
  font-size: clamp(4rem, 12vw, 7.5rem);
  letter-spacing: 0.18em;
  margin: 0;
}

.site-intro__sub {
  margin-top: 0.75rem;
  font-size: 0.72rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(160, 147, 125, 0.75);
}

.site-intro.is-brand .site-intro__count {
  opacity: 0;
  transform: scale(0.9);
  position: absolute;
  pointer-events: none;
}

.site-intro.is-brand .site-intro__brand,
.site-intro.is-brand .site-intro__sub {
  opacity: 1;
  transform: none;
}

.site-intro.is-exit .site-intro__panel--left {
  transform: translateX(-105%);
}

.site-intro.is-exit .site-intro__panel--right {
  transform: translateX(105%);
}

.site-intro.is-exit .site-intro__center {
  opacity: 0;
  transform: scale(1.04);
}

.site-intro.is-exit .site-intro__shade {
  opacity: 0;
  transition-delay: 0.35s;
}

.site-intro.is-gone {
  pointer-events: none;
  visibility: hidden;
}

@keyframes intro-pop {
  from { opacity: 0.2; transform: scale(0.86); }
  to { opacity: 1; transform: none; }
}

/* ========== HORIZONTAL SCROLL PANORAMA ========== */
.hscroll {
  position: relative;
  background: var(--brown-deep);
}

.hscroll__sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  display: grid;
  align-items: stretch;
}

.hscroll__meta {
  position: absolute;
  top: calc(var(--header-h) + 0.5rem);
  left: 1.5rem;
  z-index: 3;
  color: rgba(255, 248, 240, 0.85);
  pointer-events: none;
}

.hscroll__meta .eyebrow {
  color: rgba(160, 147, 125, 0.75);
  opacity: 1;
  margin-bottom: 0.35rem;
}

.hscroll__hint {
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
}

.hscroll__track {
  display: flex;
  height: 100%;
  width: max-content;
  will-change: transform;
  transition: transform 0.05s linear;
}

.hscroll__panel {
  position: relative;
  width: 100vw;
  height: 100%;
  flex: 0 0 100vw;
  background-size: cover;
  background-position: center;
  transform: scale(1.04);
  filter: brightness(0.72);
  transition: transform 0.8s var(--ease), filter 0.8s var(--ease);
}

.hscroll__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8, 6, 5, 0.72) 0%, rgba(8, 6, 5, 0.2) 45%, rgba(8, 6, 5, 0.55) 100%),
    linear-gradient(180deg, rgba(8, 6, 5, 0.25), rgba(8, 6, 5, 0.55));
}

.hscroll__panel.is-active {
  transform: scale(1);
  filter: brightness(1);
}

.hscroll__copy {
  position: absolute;
  left: clamp(1.5rem, 6vw, 5rem);
  bottom: clamp(3rem, 8vh, 5.5rem);
  z-index: 1;
  color: #fffaf4;
  max-width: 28rem;
}

.hscroll__copy span {
  display: block;
  font-family: var(--font-display);
  font-size: 1.1rem;
  letter-spacing: 0.14em;
  color: rgba(160, 147, 125, 0.8);
  margin-bottom: 0.85rem;
}

.hscroll__copy h2 {
  font-size: clamp(2.8rem, 6vw, 5rem);
  margin-bottom: 0.65rem;
  letter-spacing: -0.02em;
}

.hscroll__copy p {
  font-size: 1.05rem;
  color: rgba(255, 248, 240, 0.72);
  margin-bottom: 1.35rem;
  line-height: 1.6;
}

.hscroll__progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: rgba(255, 255, 255, 0.12);
  z-index: 4;
}

.hscroll__progress span {
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, var(--accent), var(--taupe));
}

@media (max-width: 720px) {
  .hscroll__meta {
    top: 4.5rem;
    left: 1rem;
    right: 1rem;
  }
  .hscroll__copy {
    left: 1.15rem;
    right: 1.15rem;
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .home-hero__media,
  .home-hero__content .hero-brand,
  .home-hero__content .hero-sub,
  .home-hero__content h1,
  .home-hero__content .hero-tagline,
  .home-hero__content .cta-row,
  .page-hero__label,
  .page-hero h1,
  .page-hero p,
  .reveal,
  .stat__num,
  .search-panel,
  .marquee__track,
  .hero-scroll span,
  .hero-scroll__line i,
  .split-word__inner,
  .site-intro,
  .hscroll__track,
  .hscroll__panel {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    filter: none !important;
  }

  .site-intro { display: none !important; }
  .hscroll { height: auto !important; }
  .hscroll__sticky { position: relative; height: auto; }
  .hscroll__track { flex-wrap: wrap; width: 100%; }
  .hscroll__panel { width: 100%; flex: 1 1 100%; min-height: 70vh; }

  [data-parallax] {
    background-position: center center !important;
    transform: none !important;
  }
}

/* Responsive */
@media (max-width: 980px) {
  :root { --header-h: 5.8rem; }

  .header-link { display: none; }
  .header-cats {
    gap: 0.75rem 1rem;
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding: 0 0.25rem 0.25rem;
    -webkit-overflow-scrolling: touch;
  }
  .header-cats a { white-space: nowrap; font-size: 0.7rem; }

  .collection-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 220px 220px 220px;
  }
  .collection-card--tall { grid-row: auto; grid-column: 1 / -1; min-height: 280px; }
  .collection-card--wide { grid-column: 1 / -1; }

  .why-grid,
  .featured-rail,
  .stats-layout {
    grid-template-columns: 1fr 1fr;
  }

  .split, .split--reverse, .news-feature, .contact-layout,
  .process-flow__item, .product-showcase__row, .product-showcase__row--reverse,
  .product-mosaic__item--wide {
    grid-template-columns: 1fr;
  }

  .product-mosaic,
  .service-rail {
    grid-template-columns: 1fr;
  }

  .product-mosaic__item--wide .product-mosaic__media {
    min-height: 280px;
  }

  .process-flow__item:nth-child(even) .process-flow__img,
  .process-flow__item:nth-child(even) .process-flow__body { order: unset; }

  .compliance-grid, .grid-3, .grid-4, .client-row, .footer-grid, .stats-row {
    grid-template-columns: repeat(2, 1fr);
  }
  .process { grid-template-columns: repeat(3, 1fr); }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 180px 180px 180px; }
  .gallery-grid > div:first-child { grid-row: auto; grid-column: 1 / -1; min-height: 220px; }
}

@media (max-width: 640px) {
  .lang-bar__inner { gap: 0.65rem; }
  .lang-bar__link { font-size: 0.56rem; padding: 0.3rem 0.4rem; }
  .lang-bar__globe { display: none; }

  .why-grid,
  .featured-rail,
  .stats-layout,
  .collection-grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .collection-card,
  .collection-card--tall,
  .collection-card--wide {
    grid-column: auto;
    min-height: 260px;
  }

  .statement { min-height: 58vh; }
  .cta-banner { min-height: 52vh; }

  .grid-2, .grid-3, .grid-4, .client-row, .footer-grid, .stats-row, .process {
    grid-template-columns: 1fr;
  }
  .download-item { flex-direction: column; align-items: flex-start; }
  .slider-arrow { display: none; }
  .hero-bottom { grid-template-columns: 1fr; }
  .about-stage { grid-template-columns: 1fr; }
}

/* =========================================================
   LUXE UPGRADE ?? atmosphere, editorial drama, motion polish
   (grain on html::after so body::before neon orbs stay visible)
   ========================================================= */

html::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9000;
  opacity: 0.04;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

.section {
  position: relative;
}

.section--editorial {
  padding-block: clamp(6rem, 12vw, 10rem);
}

.split--editorial {
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}

.split--editorial .split__copy h2 {
  font-size: clamp(2.8rem, 5.5vw, 4.8rem);
  letter-spacing: -0.02em;
  max-width: 10ch;
}

.section--editorial .lead {
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.55;
  color: var(--ink);
  max-width: 28ch;
  margin: 1.25rem 0 1rem;
}

.media-frame {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  isolation: isolate;
}

.media-frame::before {
  content: "";
  position: absolute;
  inset: 1.1rem;
  border: 1px solid rgba(255, 248, 240, 0.28);
  z-index: 2;
  pointer-events: none;
  transition: inset 0.7s var(--ease);
}

.media-frame:hover::before {
  inset: 0.65rem;
}

.media-frame__tag {
  position: absolute;
  left: 1.5rem;
  bottom: 1.5rem;
  z-index: 3;
  font-size: 0.62rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 248, 240, 0.85);
  padding: 0.55rem 0.85rem;
  border: 1px solid rgba(255, 248, 240, 0.28);
  backdrop-filter: blur(8px);
  background: rgba(20, 16, 12, 0.28);
}

.collection-grid--luxe {
  grid-template-rows: minmax(340px, 42vh) minmax(280px, 34vh);
  gap: 1rem;
}

.collection-card--tall {
  min-height: 100%;
}

.collection-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(135deg, rgba(160, 147, 125, 0.18), transparent 42%);
  opacity: 0;
  transition: opacity 0.6s;
  pointer-events: none;
}

.collection-card:hover::before {
  opacity: 1;
}

.marquee--luxe {
  border-block: 1px solid rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(90deg, var(--bg), var(--bg-2) 50%, var(--bg));
  padding: 1.15rem 0;
}

.marquee--luxe .marquee__track {
  animation-duration: 48s;
}

.marquee--luxe span {
  font-size: 0.7rem;
  letter-spacing: 0.28em;
  color: var(--ink);
  opacity: 0.55;
}

.statement {
  min-height: 88vh;
  min-height: 88dvh;
}

.statement__veil {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(ellipse 70% 55% at 50% 48%, transparent 8%, rgba(10, 8, 6, 0.55) 100%),
    linear-gradient(180deg, rgba(12, 10, 8, 0.25), rgba(12, 10, 8, 0.55));
  pointer-events: none;
}

.statement__quote {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4.8vw, 3.6rem);
  line-height: 1.2;
  letter-spacing: -0.015em;
  max-width: 18ch;
  margin: 0 auto 2rem;
  color: rgba(255, 250, 244, 0.95);
  text-shadow: 0 8px 40px rgba(0, 0, 0, 0.35);
}

.statement .btn--line {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.55);
}

.statement .btn--line:hover {
  background: rgba(255, 255, 255, 0.1);
}

.section--why {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(243, 241, 238, 0.35), transparent 60%),
    var(--cream);
}

.why-grid--luxe {
  gap: 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--line);
}

.why-grid--luxe .why-card {
  background: transparent;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: clamp(2rem, 4vw, 3.2rem) clamp(1.25rem, 2.5vw, 2rem);
  position: relative;
  overflow: hidden;
}

.why-grid--luxe .why-card:last-child {
  border-right: 0;
}

.why-grid--luxe .why-card::before {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 2px;
  background: linear-gradient(90deg, var(--accent), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.7s var(--ease);
}

.why-grid--luxe .why-card:hover {
  background: rgba(255, 255, 255, 0.55);
  transform: none;
}

.why-grid--luxe .why-card:hover::before {
  transform: scaleX(1);
}

.why-grid--luxe .why-card__num {
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  opacity: 1;
  color: #1A1510;
  margin-bottom: 1.6rem;
  transition: opacity 0.45s, color 0.45s;
}

.why-grid--luxe .why-card:hover .why-card__num {
  opacity: 1;
  color: #1A1510;
}

.featured-rail--luxe {
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.featured-card__frame {
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: var(--sand);
}

.featured-rail--luxe .featured-card__img {
  height: 100%;
  aspect-ratio: auto;
  transform: scale(1.04);
  transition: transform 1.2s var(--ease), filter 0.7s;
}

.featured-rail--luxe .featured-card:hover .featured-card__img {
  transform: scale(1.12);
}

.featured-card__copy {
  padding-top: 0.25rem;
}

.featured-card__copy .eyebrow {
  margin-bottom: 0.55rem;
}

.section--stats {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.stats-atmosphere {
  position: absolute;
  inset: -20%;
  z-index: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(160, 147, 125, 0.28), transparent 42%),
    radial-gradient(circle at 80% 70%, rgba(243, 241, 238, 0.08), transparent 40%),
    #2f2924;
  animation: atmosphere-drift 18s ease-in-out infinite alternate;
}

.section--stats .container {
  position: relative;
  z-index: 1;
}

@keyframes atmosphere-drift {
  from { transform: scale(1) translate(0, 0); }
  to { transform: scale(1.08) translate(-2%, 1.5%); }
}

.gallery-grid--luxe {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  grid-template-rows: 260px 260px;
  gap: 0.85rem;
}

.gallery-grid--luxe > div {
  background-size: cover;
  background-position: center;
  overflow: hidden;
  position: relative;
  transition: transform 0.8s var(--ease), filter 0.6s;
}

.gallery-grid--luxe > div:first-child {
  grid-row: 1 / 3;
}

.gallery-grid--luxe > div::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(20, 16, 12, 0.35));
  opacity: 0;
  transition: opacity 0.5s;
}

.gallery-grid--luxe > div:hover {
  filter: brightness(1.06);
  transform: scale(1.01);
}

.gallery-grid--luxe > div:hover::after {
  opacity: 1;
}

/* Inner page heroes ?? more atmosphere */
.page-hero {
  position: relative;
  padding: calc(var(--lang-bar-h) + var(--header-h) + 4rem) 0 4.5rem;
  background-color: var(--warm);
  background-image:
    linear-gradient(148deg, rgba(243, 241, 238, 0.94) 0%, rgba(196, 190, 182, 0.9) 52%, rgba(184, 180, 174, 0.88) 100%),
    url("https://images.unsplash.com/photo-1616594039964-ae9021a400a0?auto=format&fit=crop&w=1800&q=70");
  background-position: center, center 35%;
  background-size: auto, cover;
  background-repeat: no-repeat;
  border-bottom: 0;
}

.page-hero::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(12rem, 40%);
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  transform: translateX(-50%);
  opacity: 0.45;
}

.page-hero .container {
  position: relative;
  z-index: 1;
}

.page-hero h1 {
  font-size: var(--text-h1);
  max-width: 14ch;
  line-height: var(--leading-display);
}

/* Products mosaic drama */
.product-mosaic__item {
  position: relative;
}

.product-mosaic__media {
  transform: scale(1.02);
}

.product-mosaic__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px rgba(44, 40, 36, 0.1);
}

.product-mosaic__body .link-arrow {
  opacity: 0.55;
  transition: opacity 0.4s, gap 0.4s;
}

.product-mosaic__item:hover .product-mosaic__body .link-arrow {
  opacity: 1;
}

.product-hero.is-ready .product-hero__content {
  animation: rise 1.1s var(--ease) both;
}

.cta-banner {
  min-height: 78vh;
}

.cta-banner__content h2 {
  max-width: 14ch;
  margin-inline: auto;
}

.btn--magnetic {
  will-change: transform;
}

html.has-motion .split__media,
html.has-motion .collection-card__img,
html.has-motion .featured-card__img,
html.has-motion .product-mosaic__media {
  will-change: transform;
}

@media (max-width: 900px) {
  .why-grid--luxe {
    grid-template-columns: 1fr 1fr;
  }
  .why-grid--luxe .why-card:nth-child(2n) {
    border-right: 0;
  }
  .collection-grid--luxe {
    grid-template-rows: none;
  }
  .gallery-grid--luxe {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 200px 200px 200px;
  }
  .gallery-grid--luxe > div:first-child {
    grid-row: auto;
    grid-column: 1 / -1;
    min-height: 240px;
  }
}

@media (max-width: 640px) {
  .why-grid--luxe {
    grid-template-columns: 1fr;
  }
  .why-grid--luxe .why-card {
    border-right: 0;
  }
  .statement {
    min-height: 70vh;
  }
  body::before {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .stats-atmosphere,
  .marquee__track {
    animation: none !important;
  }
}

/* =========================================================
   CALM LUXURY SYSTEM ??clean hierarchy, quiet motion
   ========================================================= */

.section--calm {
  padding: clamp(3rem, 6vw, 5rem) 0;
}

.block-head {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 2rem;
  align-items: end;
  margin-bottom: clamp(2.5rem, 5vw, 3.75rem);
}

.block-head--center {
  grid-template-columns: 1fr;
  justify-items: center;
  text-align: center;
  max-width: 36rem;
  margin-inline: auto;
}

.block-head h2 {
  font-size: clamp(2.4rem, 4.8vw, 3.8rem);
  letter-spacing: -0.02em;
  line-height: 1.05;
  max-width: 12ch;
}

.block-head--center h2 {
  max-width: 16ch;
}

.block-head p {
  color: var(--stone);
  font-size: 1rem;
  line-height: 1.75;
  max-width: 34ch;
  margin: 0;
}

.block-head .link-arrow {
  margin-top: 0;
  justify-self: end;
}

/* About duo */
.layout-duo {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: clamp(2.5rem, 6vw, 5.5rem);
  align-items: center;
}

.layout-duo__copy h2 {
  font-size: clamp(2.5rem, 5vw, 4rem);
  letter-spacing: -0.02em;
  max-width: 11ch;
  margin-bottom: 1.35rem;
}

.layout-duo__copy .lead {
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 1.8vw, 1.4rem);
  line-height: 1.45;
  color: var(--ink);
  max-width: 28ch;
  margin-bottom: 1rem;
}

.layout-duo__copy .muted {
  max-width: 36ch;
  line-height: 1.75;
}

.layout-duo__media {
  aspect-ratio: 4 / 5;
  background:
    url("https://images.unsplash.com/photo-1616046229478-9901c5536a45?auto=format&fit=crop&w=1400&q=85")
      center / cover no-repeat;
  overflow: hidden;
}

/* Collection mosaic */
.mosaic {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  grid-template-rows: minmax(280px, 36vh) minmax(240px, 30vh);
  gap: 0.75rem;
}

.mosaic__cell {
  position: relative;
  overflow: hidden;
  display: block;
  color: #fff;
  min-height: 220px;
}

.mosaic__cell--lg {
  grid-row: 1 / 3;
}

.mosaic__cell--wide {
  grid-column: 2 / 4;
}

.mosaic__img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 1.1s var(--ease);
}

.mosaic__cell::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(14, 12, 10, 0.72));
}

.mosaic__meta {
  position: absolute;
  left: 1.35rem;
  right: 1.35rem;
  bottom: 1.35rem;
  z-index: 1;
  transform: translateY(0.65rem);
  transition: transform 0.7s var(--ease);
}

.mosaic__name {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
  margin-bottom: 0.25rem;
}

.mosaic__name::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  margin-top: 0.45rem;
  background: rgba(255, 248, 240, 0.7);
  transition: width 0.65s var(--ease);
}

.mosaic__desc {
  display: block;
  font-size: 0.86rem;
  opacity: 0;
  max-width: 24ch;
  transform: translateY(0.55rem);
  transition: opacity 0.5s var(--ease), transform 0.5s var(--ease);
}

.mosaic__cell:hover .mosaic__img {
  transform: scale(1.05);
}

.mosaic__cell:hover .mosaic__meta {
  transform: none;
}

.mosaic__cell:hover .mosaic__name::after {
  width: 2.75rem;
}

.mosaic__cell:hover .mosaic__desc {
  opacity: 0.88;
  transform: none;
}

/* Image clip reveal */
[data-reveal-media] {
  clip-path: inset(12% 12% 12% 12%);
  transform: scale(1.06);
  filter: brightness(0.9);
  transition:
    clip-path 1.15s var(--ease),
    transform 1.15s var(--ease),
    filter 1.15s var(--ease);
}

[data-reveal-media].is-in,
.reveal--clip.is-visible {
  clip-path: inset(0 0 0 0);
  transform: none;
  filter: none;
}

.layout-duo__media {
  position: relative;
}

.layout-duo__media::after {
  content: "";
  position: absolute;
  inset: 1.1rem;
  border: 1px solid rgba(255, 248, 240, 0.28);
  pointer-events: none;
  opacity: 0;
  transform: scale(0.96);
  transition: opacity 0.9s var(--ease) 0.15s, transform 0.9s var(--ease) 0.15s;
}

.layout-duo__media.is-visible::after,
.layout-duo__media.is-in::after {
  opacity: 1;
  transform: none;
}

/* Eyebrow draw-in */
.eyebrow {
  position: relative;
  display: inline-block;
}

.eyebrow::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.35rem;
  width: 100%;
  height: 1px;
  background: currentColor;
  opacity: 0.35;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.8s var(--ease);
}

.eyebrow.is-visible::after,
.reveal.is-visible > .eyebrow::after,
.block-head.is-visible .eyebrow::after,
.layout-duo__copy .eyebrow.is-visible::after,
.stats-duo__copy .eyebrow.is-visible::after {
  transform: scaleX(1);
}

/* Soften pillar / feature motion */
.pillar {
  transition: background 0.4s ease, transform 0.4s var(--ease);
}

.pillar:hover {
  background: rgba(255, 255, 255, 0.28);
  transform: translateY(-3px);
}

.pillar::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--accent), transparent 75%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.65s var(--ease);
}

.pillar {
  position: relative;
}

.pillar:hover::after {
  transform: scaleX(1);
}

.feature-piece {
  transition: transform 0.45s var(--ease);
}

.feature-piece:hover {
  transform: translateY(-4px);
}

.feature-piece__img {
  overflow: hidden;
  transition: filter 0.5s;
}

.feature-piece:hover .feature-piece__img {
  filter: brightness(1.04);
}

.strip-gallery > div {
  overflow: hidden;
}

.strip-gallery > div.is-in,
.strip-gallery > div.is-visible {
  clip-path: inset(0 0 0 0);
}

.cta-banner--clean {
  position: relative;
  overflow: hidden;
}

.cta-banner--clean .cta-banner__content {
  animation: none;
}

.cta-banner--clean.is-in-view .cta-banner__content > * {
  animation: rise 0.95s var(--ease) both;
}

.cta-banner--clean.is-in-view .cta-banner__content > *:nth-child(1) { animation-delay: 0.05s; }
.cta-banner--clean.is-in-view .cta-banner__content > *:nth-child(2) { animation-delay: 0.18s; }
.cta-banner--clean.is-in-view .cta-banner__content > *:nth-child(3) { animation-delay: 0.3s; }
.cta-banner--clean.is-in-view .cta-banner__content > *:nth-child(4) { animation-delay: 0.42s; }

@keyframes rise {
  from {
    opacity: 0;
    transform: translateY(1.4rem);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* Quote band ?? quiet luxury editorial split (VPI317CV, no glass) */
.quote-band {
  position: relative;
  display: grid;
  grid-template-columns: minmax(17rem, 0.86fr) minmax(0, 1.24fr);
  min-height: min(70vh, 42rem);
  overflow: hidden;
  background: var(--warm);
  color: var(--ink);
}

.quote-band__copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: clamp(1.5rem, 2.5vw, 2.15rem);
  padding: clamp(3.25rem, 7.5vw, 6.5rem) clamp(2rem, 5.5vw, 5rem);
  background: var(--warm);
}

.quote-band__copy .eyebrow {
  margin: 0 0 0.15rem;
  color: var(--bronze);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.32em;
  opacity: 1;
}

.quote-band__copy blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  max-width: 19ch;
}

.quote-band__copy blockquote p {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 2.55vw, 2.4rem);
  font-weight: 400;
  font-style: italic;
  line-height: 1.34;
  letter-spacing: -0.012em;
  color: var(--ink);
}

.quote-band__copy .btn {
  margin-top: 0.65rem;
}

.quote-band__media {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  background-color: var(--sand);
  background-image:
    url("https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?auto=format&fit=crop&w=2200&q=88");
  background-position: 52% 48%;
  background-size: cover;
  background-repeat: no-repeat;
  transform: scale(1.03);
  transform-origin: 50% 45%;
  transition: transform 1.35s var(--ease);
  will-change: transform;
}

.quote-band__media.is-alive {
  animation: quote-ken 22s ease-out forwards;
}

.quote-band:hover .quote-band__media,
.quote-band:hover .quote-band__media.is-alive {
  animation: none;
  transform: scale(1.07);
}

.quote-band__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(196, 190, 182, 0.18) 0%, transparent 20%),
    linear-gradient(180deg, transparent 70%, rgba(44, 38, 32, 0.1) 100%);
  pointer-events: none;
}

@keyframes quote-ken {
  from { transform: scale(1.03) translate3d(0, 0, 0); }
  to { transform: scale(1.08) translate3d(-0.8%, -0.4%, 0); }
}

/* Why pillars */
.pillar-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--line);
}

.pillar {
  padding: clamp(1.75rem, 3vw, 2.75rem) clamp(1.1rem, 2vw, 1.75rem);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.pillar:last-child {
  border-right: 0;
}

.pillar__n {
  display: block;
  font-family: var(--font-display);
  font-size: 1.15rem;
  letter-spacing: 0.08em;
  color: var(--accent);
  opacity: 0.55;
  margin-bottom: 1.25rem;
}

.pillar h3 {
  font-size: 1.45rem;
  margin-bottom: 0.65rem;
}

.pillar p {
  color: var(--stone);
  font-size: 0.92rem;
  line-height: 1.7;
}

/* Featured pieces */
.feature-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.feature-piece__img {
  aspect-ratio: 4 / 5;
  background-size: cover;
  background-position: center;
  margin-bottom: 1.1rem;
  transition: transform 1s var(--ease);
}

.feature-piece:hover .feature-piece__img {
  transform: scale(1.02);
}

.feature-piece h3 {
  font-size: 1.55rem;
  margin-bottom: 0.35rem;
}

.feature-piece p {
  color: var(--stone);
  font-size: 0.92rem;
  line-height: 1.65;
  max-width: 28ch;
}

/* Stats */
.section--ink {
  background-color: var(--ink);
  background-image: var(--grad-deep);
  color: rgba(243, 241, 238, 0.92);
}

.section--ink .eyebrow {
  color: rgba(160, 147, 125, 0.62);
}

.section--ink h2 {
  color: var(--cream);
}

.section--ink p {
  color: rgba(243, 241, 238, 0.65);
}

.stats-duo {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: center;
}

.stats-duo__copy h2 {
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  max-width: 12ch;
  margin-bottom: 1rem;
}

.stats-duo__nums {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.metric {
  background: var(--ink);
  padding: clamp(1.5rem, 3vw, 2.4rem);
}

.metric strong {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  font-weight: 400;
  letter-spacing: -0.02em;
  color: #f0e4d0;
  margin-bottom: 0.35rem;
  font-variant-numeric: tabular-nums;
}

.metric span {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(245, 240, 232, 0.45);
}

/* Gallery strip */
.strip-gallery {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  grid-template-rows: 220px 220px;
  gap: 0.75rem;
}

.strip-gallery > div {
  background-size: cover;
  background-position: center;
  transition: filter 0.5s, transform 0.8s var(--ease);
}

.strip-gallery > div:first-child {
  grid-row: 1 / 3;
}

.strip-gallery > div:hover {
  filter: brightness(1.05);
}

.cta-banner--clean {
  min-height: 68vh;
}

.cta-banner--clean h2 {
  max-width: 14ch;
  margin-inline: auto;
}

/* Reveal targets for new markup */
html.has-motion .layout-duo__copy > *,
html.has-motion .layout-duo__media,
html.has-motion .block-head,
html.has-motion .mosaic__cell,
html.has-motion .pillar,
html.has-motion .feature-piece,
html.has-motion .metric,
html.has-motion .strip-gallery > div,
html.has-motion .quote-band__copy > * {
  /* marked by JS */
}

@media (max-width: 980px) {
  .quote-band {
    grid-template-columns: 1fr;
  }

  .quote-band__media {
    min-height: 22rem;
    order: -1;
  }

  .quote-band__media::after {
    background: linear-gradient(180deg, transparent 50%, rgba(196, 190, 182, 0.55));
  }

  .layout-duo,
  .stats-duo,
  .block-head {
    grid-template-columns: 1fr;
  }
  .block-head .link-arrow {
    justify-self: start;
  }
  .mosaic {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: none;
  }
  .mosaic__cell--lg,
  .mosaic__cell--wide {
    grid-column: auto;
    grid-row: auto;
  }
  .mosaic__cell--lg {
    grid-column: 1 / -1;
    min-height: 320px;
  }
  .pillar-row {
    grid-template-columns: 1fr 1fr;
  }
  .pillar:nth-child(2n) {
    border-right: 0;
  }
  .feature-row {
    grid-template-columns: 1fr;
  }
  .strip-gallery {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 180px 180px 180px;
  }
  .strip-gallery > div:first-child {
    grid-row: auto;
    grid-column: 1 / -1;
    min-height: 240px;
  }
}

@media (max-width: 640px) {
  .pillar-row,
  .stats-duo__nums,
  .mosaic {
    grid-template-columns: 1fr;
  }
  .pillar {
    border-right: 0;
  }
  .quote-band {
    min-height: 0;
  }

  .quote-band__media {
    min-height: 16rem;
  }
}

/* ========== LUX MOTION & DESIGN LAYER ========== */
.lux-rail {
  overflow: hidden;
  background: var(--ink);
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  padding: 0.85rem 0;
  cursor: default;
}

.lux-rail::-webkit-scrollbar {
  display: none;
}

.lux-rail__track {
  display: flex;
  gap: 3.25rem;
  width: max-content;
  padding-inline: 1.5rem;
  animation: lux-rail-move 22s linear infinite;
  will-change: transform;
}

.lux-rail.is-paused .lux-rail__track {
  animation-play-state: paused;
}

.lux-rail__track span {
  font-family: var(--font-body);
  font-size: 0.62rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(160, 147, 125, 0.58);
  white-space: nowrap;
}

.lux-rail__track span::before {
  content: "\25C6";
  margin-right: 3.25rem;
  font-size: 0.38rem;
  color: rgba(160, 147, 125, 0.65);
  vertical-align: middle;
}

@keyframes lux-rail-move {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

/* Keep marquee moving even when OS has reduce-motion, unless FX forced off */
html.fx-force .lux-rail__track {
  animation: lux-rail-move 22s linear infinite !important;
}

.lux-rail:active {
  cursor: grabbing;
}

.media-lux {
  position: relative;
  overflow: hidden;
}

.media-lux__frame {
  position: absolute;
  inset: 1rem;
  border: 1px solid rgba(255, 248, 240, 0.35);
  z-index: 2;
  pointer-events: none;
  transform: scale(0.94);
  opacity: 0;
  transition: transform 1.2s var(--ease), opacity 1s var(--ease);
}

.layout-duo__media.is-visible .media-lux__frame,
.media-lux.is-visible .media-lux__frame {
  transform: none;
  opacity: 1;
}

.mosaic--lux .mosaic__cell {
  position: relative;
  overflow: hidden;
}

.mosaic--lux .mosaic__cell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(
    115deg,
    transparent 30%,
    rgba(255, 240, 220, 0.22) 48%,
    transparent 62%
  );
  transform: translateX(-120%) skewX(-12deg);
  transition: transform 0.9s var(--ease);
  pointer-events: none;
}

.mosaic--lux .mosaic__cell:hover::before {
  transform: translateX(120%) skewX(-12deg);
}

.mosaic--lux .mosaic__meta {
  transform: translateY(0.6rem);
  transition: transform 0.7s var(--ease);
}

.mosaic--lux .mosaic__cell:hover .mosaic__meta {
  transform: none;
}

.mosaic--lux .mosaic__img {
  transition: transform 1.2s var(--ease), filter 0.7s;
}

.pillar {
  position: relative;
  transition: background 0.45s, transform 0.45s var(--ease);
}

.pillar::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--accent), transparent 70%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.7s var(--ease);
}

.pillar:hover {
  background: rgba(255, 255, 255, 0.35);
  transform: translateY(-4px);
}

.pillar:hover::after {
  transform: scaleX(1);
}

.pillar__n {
  transition: color 0.4s, opacity 0.4s, transform 0.45s var(--ease);
}

.pillar:hover .pillar__n {
  color: var(--accent);
  opacity: 0.85;
  transform: translateY(-2px);
}

.quote-band__copy blockquote p .split-word__inner {
  transition-duration: 1.15s;
}

/* Slim why header */
.home-why__head {
  max-width: 28rem;
  margin: 0 auto clamp(2.5rem, 5vw, 3.5rem);
  text-align: center;
}

.home-why__head h2 {
  font-size: clamp(2rem, 3.8vw, 3rem);
  letter-spacing: -0.02em;
  line-height: 1.12;
  margin: 0.65rem 0 0;
}

/* Slim stats strip */
.home-stats {
  border-block: 1px solid var(--line);
  background: var(--warm);
  padding: clamp(2.5rem, 5vw, 3.75rem) 0;
}

.home-stats__inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  text-align: center;
}

.home-stats__item strong {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  margin-bottom: 0.55rem;
}

.home-stats__item span {
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--stone);
}

@media (max-width: 720px) {
  .home-stats__inner {
    grid-template-columns: 1fr 1fr;
    row-gap: 2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .quote-band__media,
  .quote-band__media.is-alive,
  .quote-band:hover .quote-band__media {
    animation: none !important;
    transform: none !important;
    transition: none !important;
  }
}

.btn--line {
  position: relative;
  overflow: hidden;
}

.btn--line::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    110deg,
    transparent 20%,
    rgba(255, 255, 255, 0.18) 45%,
    transparent 70%
  );
  transform: translateX(-120%);
  transition: transform 0.7s var(--ease);
  pointer-events: none;
  z-index: 1;
}

.btn--line:hover::after {
  transform: translateX(120%);
}

.feature-piece {
  transition: transform 0.5s var(--ease);
}

.feature-piece:hover {
  transform: translateY(-6px);
}

.home-hero.is-leaving .home-hero__content {
  opacity: 0.7;
  transform: none;
  filter: none;
}

@media (prefers-reduced-motion: reduce) {
  .lux-rail__track,
  .home-hero__glow,
  .home-hero__dust {
    animation: none !important;
  }
  .home-hero [data-hero-rise] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}

/* ========== MINI HEADER + THIN SCROLL LINE ========== */
.scroll-line {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 260;
  height: 2px;
  background: rgba(255, 248, 240, 0.18);
  pointer-events: none;
}

.page-inner .scroll-line {
  background: rgba(44, 40, 36, 0.1);
}

.scroll-line__fill {
  display: block;
  height: 100%;
  width: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, var(--accent), var(--taupe));
  will-change: transform;
}

.mini-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 250;
  height: var(--header-h);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 clamp(1.1rem, 3vw, 2rem);
  pointer-events: none;
  color: rgba(255, 250, 245, 0.92);
  transition: color 0.35s, background 0.35s, backdrop-filter 0.35s;
}

.mini-header > * {
  pointer-events: auto;
}

.page-inner .mini-header,
body.is-scrolled .mini-header {
  color: var(--ink);
  background: rgba(255, 250, 243, 0.88);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(44, 40, 36, 0.06);
}

.page-home:not(.is-scrolled) .mini-header {
  background: transparent;
  border-bottom: 0;
  backdrop-filter: none;
}

.mini-header .nav-toggle {
  justify-self: start;
  color: inherit;
}

.mini-logo {
  justify-self: center;
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: inherit;
  text-decoration: none;
  padding-left: 0.28em;
  transition: opacity 0.3s;
}

.mini-logo:hover {
  opacity: 0.7;
}

.mini-contact {
  justify-self: end;
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: inherit;
  text-decoration: none;
  opacity: 0.78;
  transition: opacity 0.3s;
}

.mini-contact:hover {
  opacity: 1;
}

.mini-right {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.mini-lang {
  position: relative;
}

.mini-lang__btn {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 0.35rem 0;
  cursor: pointer;
  opacity: 0.78;
  transition: opacity 0.3s;
}

.mini-lang__btn:hover,
.mini-lang.is-open .mini-lang__btn {
  opacity: 1;
}

.mini-lang__list {
  position: absolute;
  top: calc(100% + 0.65rem);
  right: 0;
  min-width: 4.5rem;
  padding: 0.4rem;
  border-radius: 0.75rem;
  background: rgba(255, 250, 243, 0.96);
  border: 1px solid rgba(44, 40, 36, 0.08);
  box-shadow: 0 16px 40px rgba(26, 23, 20, 0.14);
  display: grid;
  gap: 0.15rem;
  z-index: 20;
}

.mini-lang__list a {
  display: block;
  padding: 0.45rem 0.65rem;
  border-radius: 0.45rem;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
  text-align: center;
  opacity: 0.7;
  transition: background 0.25s, opacity 0.25s;
}

.mini-lang__list a:hover,
.mini-lang__list a.is-active {
  opacity: 1;
  background: rgba(44, 40, 36, 0.06);
}

.mini-lang__list a.is-active {
  background: var(--ink);
  color: var(--cream);
}

.nav {
  z-index: 280;
}

.nav-backdrop {
  z-index: 270;
}

.nav__langs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}

.nav__langs a {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0.4rem 0.7rem !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.nav__langs a.is-active {
  background: var(--ink);
  color: var(--cream);
  border-color: var(--ink);
  padding-left: 0.7rem !important;
}

.site-chrome,
.lang-bar,
.site-header {
  /* restored classic header */
}

.scroll-ruler,
.float-header,
.scroll-line,
.mini-header {
  display: none !important;
}

.home-hero .slider-dots {
  bottom: 4.25rem;
}
/* =========================================================
   PREMIUM HOME SYSTEM ??striking editorial luxury
   ========================================================= */

.page-home {
  --max: 92rem;
}

.page-home .eyebrow {
  display: inline-block;
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--bronze);
  margin-bottom: 1.15rem;
}

.page-home .link-arrow {
  position: relative;
  margin-top: 1.85rem;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--ink);
  opacity: 0.88;
  transition:
    opacity 0.35s,
    gap 0.45s var(--ease-out),
    color 0.35s;
}

.page-home .link-arrow::after {
  content: "\2192";
  transition: transform 0.45s var(--ease-out);
}

.page-home .link-arrow:hover {
  opacity: 1;
  gap: 1rem;
  color: var(--brown-deep);
}

.page-home .link-arrow:hover::after {
  transform: translateX(4px);
}

/* --- Hero: cinematic full-bleed, brand-led --- */
.page-home .home-hero,
.page-home .home-hero--quiet {
  min-height: 100vh;
  min-height: 100dvh;
  height: 100vh;
  height: 100dvh;
  align-items: end;
  justify-items: stretch;
  text-align: left;
  background-color: #6b5744;
  background-image:
    radial-gradient(ellipse 70% 55% at 50% 20%, rgba(247, 240, 230, 0.35) 0%, transparent 55%),
    linear-gradient(170deg, #8b7355 0%, #6b5744 45%, #4a3c30 100%);
}

.page-home .home-hero__streaks {
  position: absolute;
  inset: -8% -4%;
  z-index: 2;
  pointer-events: none;
  background:
    repeating-linear-gradient(
      88deg,
      transparent 0px,
      rgba(247, 240, 230, 0.22) 2px,
      transparent 8px,
      rgba(232, 201, 160, 0.18) 12px,
      transparent 26px,
      rgba(196, 168, 130, 0.14) 32px,
      transparent 48px
    ),
    repeating-linear-gradient(
      0deg,
      transparent 0px,
      rgba(243, 230, 212, 0.12) 20px,
      transparent 56px
    );
  filter: blur(18px);
  opacity: 0.85;
  mix-blend-mode: soft-light;
  animation: brownlab-streak-drift 28s ease-in-out infinite alternate;
}

.page-home .home-hero__veil {
  background: var(--grad-hero-veil);
}

.page-home .home-hero__content {
  align-items: flex-start;
  justify-self: start;
  width: min(100% - 3rem, var(--max));
  max-width: 36rem;
  margin: 0 auto 0 max(1.75rem, calc((100% - var(--max)) / 2 + 1.75rem));
  padding: 0 0 clamp(5.5rem, 12vh, 8rem);
  gap: 0.55rem;
  text-align: left;
  z-index: 5;
}

.page-home .hero-kicker {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(232, 201, 160, 0.92);
  margin-bottom: 0.65rem;
}

.page-home .hero-brand {
  font-family: var(--font-display);
  font-size: var(--text-hero);
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 0.92;
  color: var(--on-dark);
  text-shadow: 0 6px 36px rgba(42, 34, 28, 0.35);
  padding-left: 0.04em;
  margin: 0;
}

.page-home .hero-line {
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.4;
  color: rgba(247, 240, 230, 0.9);
  opacity: 1;
  margin: 0.65rem 0 0;
  max-width: 28ch;
}

.page-home .hero-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.75rem;
  padding: 1rem 1.75rem;
  border: 1px solid rgba(247, 240, 230, 0.88);
  font-family: var(--font-body);
  font-size: var(--text-btn);
  font-weight: 500;
  letter-spacing: var(--tracking-btn);
  text-transform: uppercase;
  color: var(--ink-heading);
  background: var(--cream);
  overflow: hidden;
  isolation: isolate;
  transition:
    color 0.5s var(--ease),
    border-color 0.5s var(--ease),
    gap 0.5s var(--ease-out),
    transform 0.5s var(--ease-out),
    box-shadow 0.5s var(--ease);
}

.page-home .hero-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--bronze);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.55s var(--ease-out);
  z-index: 0;
}

.page-home .hero-cta > * {
  position: relative;
  z-index: 1;
}

.page-home .hero-cta:hover {
  gap: 1.05rem;
  border-color: var(--bronze);
  background: var(--bg);
  color: var(--ink);
  letter-spacing: 0.2em;
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

.page-home .hero-cta:hover::before {
  transform: scaleX(1);
}

.page-home .hero-cta__arrow {
  display: inline-block;
  transition: transform 0.55s var(--ease-out);
}

.page-home .hero-cta:hover .hero-cta__arrow {
  transform: translateX(6px);
}

.page-home .home-hero .btn--line.hero-cta {
  display: none;
}

.page-home .home-hero .slider-dots {
  left: max(1.25rem, calc((100% - var(--max)) / 2 + 1.25rem));
  right: auto;
  bottom: 1.75rem;
  transform: none;
  justify-content: flex-start;
  opacity: 0.7;
}

.page-home .home-hero .slider-dots span {
  background: rgba(243, 241, 238, 0.35);
}

.page-home .home-hero .slider-dots span.is-active {
  background: var(--bronze);
}

.page-home .home-hero .slider-arrow {
  opacity: 0;
  color: rgba(243, 241, 238, 0.78);
  border-color: transparent;
  background: transparent;
  font-size: 1.75rem;
}

.page-home .home-hero:hover .slider-arrow {
  opacity: 0.75;
}

.page-home .home-hero .slider-arrow:hover {
  opacity: 1;
  color: var(--bronze);
  background: transparent;
}

.page-home .hero-scroll {
  display: none;
}

@media (max-width: 720px) {
  .page-home .home-hero__content {
    margin-left: 1.25rem;
    margin-right: 1.25rem;
    width: auto;
    max-width: none;
    padding-bottom: 4.5rem;
  }

  .page-home .hero-brand {
    letter-spacing: 0.1em;
    font-size: clamp(3.25rem, 16vw, 4.75rem);
  }

  .page-home .hero-cta {
    padding: 0.95rem 1.55rem;
  }

  .page-home .home-hero .slider-dots {
    left: 1.25rem;
  }
}

/* --- Section heads --- */
.home-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: clamp(2.25rem, 4.5vw, 3.5rem);
  max-width: 100%;
}

.home-section-head h2 {
  font-size: var(--text-h2);
  letter-spacing: var(--tracking-display);
  line-height: var(--leading-display);
  color: var(--ink-heading);
  max-width: 14ch;
}

.home-section-head--center {
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: clamp(2.75rem, 5vw, 4rem);
}

.home-section-head--center h2 {
  max-width: 18ch;
}

/* --- About: editorial duo --- */
.home-about {
  padding: clamp(4.5rem, 9vw, 7.5rem) 0;
  background: transparent;
}

.home-about__grid {
  display: grid;
  grid-template-columns: 0.95fr 1.15fr;
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}

.home-about__copy h2 {
  font-size: var(--text-h2);
  letter-spacing: var(--tracking-display);
  line-height: var(--leading-display);
  color: var(--ink-heading);
  max-width: 14ch;
  margin-bottom: 1.35rem;
}

.home-about__copy .lead {
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--ink-muted);
  max-width: 40ch;
  font-weight: 400;
  margin-bottom: 1.75rem;
}

.home-about__media {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--sand);
}

.home-about__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    url("https://images.unsplash.com/photo-1616046229478-9901c5536a45?auto=format&fit=crop&w=1400&q=88")
      center / cover no-repeat;
  transform: scale(1);
  transition: transform 0.85s var(--ease);
  will-change: transform;
}

.home-about__media:hover::after {
  transform: scale(1.05);
}

.home-about__media::before {
  content: "";
  position: absolute;
  inset: 1.15rem;
  border: 1px solid rgba(255, 248, 240, 0.28);
  z-index: 1;
  pointer-events: none;
  transition: inset 0.7s var(--ease);
}

.home-about__media:hover::before {
  inset: 0.7rem;
}

.home-about__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  margin-top: clamp(3rem, 6vw, 4.5rem);
  padding-top: clamp(2rem, 4vw, 2.75rem);
  border-top: 1px solid var(--line);
}

.home-about__stat {
  text-align: left;
}

.home-about__stat strong {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 4.5vw, 3.5rem);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--ink);
  margin-bottom: 0.55rem;
}

.home-about__stat span {
  display: block;
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--stone);
}

/* --- Collection --- */
.home-collection {
  padding: clamp(4.5rem, 9vw, 7.5rem) 0;
  background: transparent;
}

.collection-stack {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1.25rem, 2.5vw, 1.75rem);
}

.col-item {
  display: flex;
  flex-direction: column;
  background: var(--white);
  color: var(--ink);
  overflow: hidden;
  transform: translateY(0);
  transition:
    transform 0.55s var(--ease),
    box-shadow 0.55s var(--ease);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

.col-item:hover,
.col-item.reveal.is-visible:hover {
  transform: translateY(-7px);
  box-shadow: 0 18px 40px rgba(17, 17, 16, 0.08);
}

.col-item__media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 11;
  overflow: hidden;
  background: var(--sand);
}

.col-item__img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transform-origin: center center;
  transition: transform 0.75s var(--ease);
  will-change: transform;
}

.col-item__img--sofa {
  background-image: url("https://images.unsplash.com/photo-1567016432779-094069958ea5?auto=format&fit=crop&w=1400&q=85");
}

.col-item__img--cushion {
  background-image: url("https://images.unsplash.com/photo-1586023492125-27b2c045efd7?auto=format&fit=crop&w=1400&q=85");
}

.col-item__img--headboard {
  background-image: url("https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1400&q=85");
}

.col-item__img--furniture {
  background-image: url("https://images.unsplash.com/photo-1618220179428-22790b461013?auto=format&fit=crop&w=1400&q=85");
}

.col-item__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(44, 36, 28, 0.05) 0%,
    rgba(44, 36, 28, 0.45) 100%
  );
  opacity: 0;
  transition: opacity 0.55s var(--ease);
  pointer-events: none;
}

.col-item:hover .col-item__img {
  transform: scale(1.06);
}

.col-item:hover .col-item__overlay {
  opacity: 1;
}

.col-item__body {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  flex: 1;
}

.col-item__name {
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 2.4vw, 2rem);
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.col-item__desc {
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--stone);
  max-width: 34ch;
  flex: 1;
}

.col-item__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-top: 0.85rem;
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink);
}

.col-item__arrow {
  display: inline-block;
  transition: transform 0.45s var(--ease);
}

.col-item:hover .col-item__arrow {
  transform: translateX(6px);
}

/* --- Quote / craftsmanship teaser --- */
.page-home .quote-band {
  min-height: min(72vh, 44rem);
  grid-template-columns: minmax(17rem, 0.84fr) minmax(0, 1.26fr);
}

.page-home .quote-band__copy {
  padding: clamp(3.5rem, 8vw, 7rem) clamp(2.25rem, 5.5vw, 5.25rem);
  gap: clamp(1.65rem, 2.8vw, 2.35rem);
}

.page-home .quote-band__copy blockquote {
  max-width: 20ch;
}

.page-home .quote-band__copy blockquote p {
  font-size: clamp(1.85rem, 2.8vw, 2.55rem);
  line-height: 1.3;
  letter-spacing: -0.014em;
}

.page-home .quote-band__copy .btn--dark {
  margin-top: 0.85rem;
  padding: 1.05rem 2.15rem;
}

/* --- Why --- */
.home-why {
  padding: clamp(4.5rem, 9vw, 7.5rem) 0;
  background: var(--white);
}

.why-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(0.85rem, 1.8vw, 1.25rem);
}

.why-tile {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: clamp(1.5rem, 2.8vw, 2rem) clamp(1.15rem, 2vw, 1.5rem);
  background: var(--warm);
  color: var(--ink);
  transform: translateY(0);
  transition:
    transform 0.5s var(--ease),
    background 0.5s var(--ease),
    box-shadow 0.5s var(--ease);
}

.why-tile:hover,
.why-tile.reveal.is-visible:hover {
  transform: translateY(-8px);
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(44, 36, 28, 0.08);
}

.why-tile__icon {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 0.35rem;
  color: var(--ink);
  transition: transform 0.45s var(--ease);
}

.why-tile:hover .why-tile__icon {
  transform: rotate(5deg);
}

.why-tile h3 {
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 1.7vw, 1.45rem);
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 1.2;
  margin: 0;
}

.why-tile p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--stone);
  max-width: 22ch;
}

/* --- Featured Products ?? magazine editorial runway --- */
.home-featured {
  padding: clamp(4.5rem, 9vw, 7.5rem) 0 clamp(4.5rem, 8vw, 7rem);
  background: var(--bg);
  color: var(--ink);
}

.home-featured__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(1.5rem, 4vw, 3rem);
  margin-bottom: clamp(2.75rem, 5.5vw, 4.25rem);
  padding-bottom: clamp(1.75rem, 3vw, 2.5rem);
  border-bottom: 1px solid var(--line);
}

.home-featured__intro .eyebrow {
  display: inline-block;
  color: var(--bronze);
  letter-spacing: 0.3em;
  margin-bottom: 0.85rem;
}

.home-featured__intro h2 {
  font-family: var(--font-display);
  font-size: clamp(2.85rem, 5.6vw, 4.6rem);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.02;
  max-width: 12ch;
  margin: 0;
  color: var(--ink);
}

.home-featured__head .btn {
  flex: 0 0 auto;
  margin: 0 0 0.35rem;
  padding: 1.05rem 1.9rem;
}

.feat-runway {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  gap: clamp(1rem, 1.8vw, 1.35rem);
}

.feat-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--warm);
  overflow: hidden;
  transition:
    transform 0.7s var(--ease-out),
    box-shadow 0.7s var(--ease);
}

.feat-panel:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 48px rgba(44, 38, 32, 0.12);
}

.feat-panel--hero {
  grid-column: 1;
  grid-row: 1 / 3;
  min-height: 100%;
  height: 100%;
}

.feat-panel--tile:nth-of-type(2) {
  grid-column: 2;
  grid-row: 1;
}

.feat-panel--tile:nth-of-type(3) {
  grid-column: 2;
  grid-row: 2;
}

.feat-panel--wide {
  grid-column: 1 / -1;
  grid-row: 3;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
  flex-direction: unset;
  background: var(--warm);
  color: var(--ink);
}

.feat-panel__media {
  position: relative;
  overflow: hidden;
  background: var(--sand);
  flex: 1 1 auto;
}

.feat-panel--hero .feat-panel__media {
  min-height: clamp(18rem, 36vw, 28rem);
  flex: 1 1 auto;
}

.feat-panel--tile .feat-panel__media {
  aspect-ratio: 16 / 11;
  min-height: 12rem;
  flex: 0 0 auto;
}

.feat-panel--wide .feat-panel__media {
  min-height: clamp(18rem, 32vw, 24rem);
  flex: unset;
}

.feat-panel__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transform: scale(1.03);
  transition: transform 1.15s var(--ease-out);
  will-change: transform;
}

.feat-panel:hover .feat-panel__media img {
  transform: scale(1.09);
}

.feat-panel__body {
  position: relative;
  display: flex;
  align-items: stretch;
  overflow: hidden;
}

.feat-panel--hero .feat-panel__body,
.feat-panel--tile .feat-panel__body {
  flex: 0 0 auto;
  background: var(--warm);
  border-top: 1px solid var(--line);
}

.feat-panel--wide .feat-panel__body {
  background: var(--warm);
  border-top: 0;
}

.feat-panel__mark {
  position: absolute;
  right: clamp(0.35rem, 1.5vw, 1rem);
  top: 50%;
  transform: translateY(-52%);
  font-family: var(--font-display);
  font-size: clamp(5.5rem, 10vw, 9.5rem);
  font-weight: 400;
  line-height: 0.8;
  letter-spacing: -0.04em;
  color: var(--ink);
  opacity: 0.06;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

.feat-panel--wide .feat-panel__mark {
  color: var(--ink);
  opacity: 0.06;
  right: clamp(0.5rem, 2vw, 1.5rem);
  font-size: clamp(6rem, 12vw, 11rem);
}

.feat-panel__copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  padding: clamp(1.5rem, 3vw, 2.35rem) clamp(1.35rem, 3vw, 2.5rem) clamp(1.75rem, 3.2vw, 2.6rem);
  width: 100%;
}

.feat-panel--hero .feat-panel__copy {
  padding: clamp(1.85rem, 3.5vw, 2.85rem) clamp(1.6rem, 3.5vw, 3rem) clamp(2.1rem, 3.8vw, 3.1rem);
  gap: 0.9rem;
}

.feat-panel--wide .feat-panel__copy {
  justify-content: center;
  padding: clamp(2.25rem, 5vw, 4rem) clamp(1.75rem, 4.5vw, 3.75rem);
  gap: 1rem;
  min-height: 100%;
}

.feat-panel__index {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--bronze);
}

.feat-panel__copy h3 {
  font-family: var(--font-display);
  font-size: clamp(1.85rem, 2.8vw, 2.65rem);
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.08;
  margin: 0;
  max-width: 12ch;
  color: var(--ink);
}

.feat-panel--hero .feat-panel__copy h3 {
  font-size: clamp(2.35rem, 3.8vw, 3.5rem);
  max-width: 10ch;
}

.feat-panel--wide .feat-panel__copy h3 {
  font-size: clamp(2.4rem, 4vw, 3.6rem);
  color: var(--ink);
  max-width: 11ch;
}

.feat-panel__copy p {
  margin: 0;
  font-family: var(--font-body);
  font-size: clamp(0.92rem, 1.1vw, 1.02rem);
  font-weight: 300;
  line-height: 1.7;
  color: var(--stone);
  max-width: 34ch;
}

.feat-panel--wide .feat-panel__copy p {
  color: var(--stone);
  max-width: 36ch;
}

.feat-panel__copy .btn {
  margin-top: 0.55rem;
  padding: 0.95rem 1.7rem;
}

.feat-panel--tile .feat-panel__copy p {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Legacy ?? neutralize obsolete featured layouts */
.feat-chapters,
.feat-chapter,
.feat-editorial,
.feat-piece,
.feat-piece__veil,
.feat-piece__copy {
  display: none !important;
}

@media (max-width: 980px) {
  .home-featured__head {
    flex-direction: column;
    align-items: flex-start;
  }

  .feat-runway {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }

  .feat-panel--hero {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .feat-panel--hero .feat-panel__media {
    aspect-ratio: 16 / 10;
    min-height: 18rem;
  }

  .feat-panel--tile:nth-of-type(2),
  .feat-panel--tile:nth-of-type(3) {
    grid-column: auto;
    grid-row: auto;
  }

  .feat-panel--wide {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }

  .feat-panel--wide .feat-panel__media {
    min-height: 16rem;
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 640px) {
  .feat-runway {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .feat-panel--hero,
  .feat-panel--tile:nth-of-type(2),
  .feat-panel--tile:nth-of-type(3),
  .feat-panel--wide {
    grid-column: 1;
  }

  .feat-panel--hero .feat-panel__media,
  .feat-panel--tile .feat-panel__media,
  .feat-panel--wide .feat-panel__media {
    aspect-ratio: 16 / 11;
    min-height: 15rem;
  }

  .feat-panel__copy h3,
  .feat-panel--hero .feat-panel__copy h3,
  .feat-panel--wide .feat-panel__copy h3 {
    max-width: none;
  }

  .feat-panel--tile .feat-panel__copy p {
    display: block;
    -webkit-line-clamp: unset;
  }

  .feat-panel:hover {
    transform: none;
    box-shadow: none;
  }
}

/* --- Achievements --- */
.page-home .home-stats {
  position: relative;
  overflow: hidden;
  background: var(--brown-deep);
  border: 0;
  margin: 0;
  padding: clamp(4.25rem, 8vw, 6.25rem) 0;
  color: var(--cream);
}

.page-home .home-stats__bg {
  position: absolute;
  inset: -12% 0;
  background:
    radial-gradient(ellipse 70% 60% at 18% 40%, rgba(243, 241, 238, 0.06), transparent 60%),
    radial-gradient(ellipse 50% 50% at 82% 72%, rgba(160, 147, 125, 0.14), transparent 55%),
    var(--brown-deep);
  pointer-events: none;
  will-change: transform;
}

.page-home .home-stats__inner {
  position: relative;
  z-index: 1;
  gap: 1.5rem;
}

.page-home .home-stats__item strong {
  color: var(--cream);
  font-size: clamp(2.6rem, 5vw, 4rem);
  margin-bottom: 0.7rem;
}

.page-home .home-stats__item.reveal {
  opacity: 0;
}

.page-home .home-stats__item.reveal.is-visible {
  opacity: 1;
}

.page-home .home-stats__item span {
  color: rgba(243, 241, 238, 0.62);
  letter-spacing: 0.18em;
}
/* --- Project Gallery --- */
.home-gallery {
  padding: clamp(4.5rem, 9vw, 7.5rem) 0;
  background: var(--white);
}

.gallery-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem 0.15rem;
  margin: 0 0 clamp(2rem, 4vw, 3rem);
}

.gallery-filters button {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--stone);
  font-family: var(--font-body);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 0.55rem 0.9rem;
  cursor: pointer;
  transition: color 0.3s ease;
}

.gallery-filters button:hover,
.gallery-filters button.is-active {
  color: var(--ink);
}

.gallery-filters button.is-active {
  text-decoration: underline;
  text-underline-offset: 0.35em;
}

.gallery-masonry {
  column-count: 3;
  column-gap: clamp(0.85rem, 1.8vw, 1.25rem);
}

.gallery-item {
  display: block;
  break-inside: avoid;
  margin: 0 0 clamp(0.85rem, 1.8vw, 1.25rem);
  color: var(--ink);
  background: transparent;
}

.gallery-item[hidden],
.gallery-item.is-filtered-out {
  display: none !important;
}

.gallery-item__media {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--sand);
  aspect-ratio: 4 / 5;
}

.gallery-item--tall .gallery-item__media {
  aspect-ratio: 3 / 4.4;
}

.gallery-item--wide .gallery-item__media {
  aspect-ratio: 5 / 4;
}

.gallery-item__img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transform-origin: center center;
  transition: transform 0.75s var(--ease);
  will-change: transform;
}

.gallery-item__img--1 {
  background-image: url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1200&q=85");
}
.gallery-item__img--2 {
  background-image: url("https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?auto=format&fit=crop&w=1200&q=85");
}
.gallery-item__img--3 {
  background-image: url("https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1200&q=85");
}
.gallery-item__img--4 {
  background-image: url("https://images.unsplash.com/photo-1600573472592-401b489a3cdc?auto=format&fit=crop&w=1200&q=85");
}
.gallery-item__img--5 {
  background-image: url("https://images.unsplash.com/photo-1493809842364-78817add7ffb?auto=format&fit=crop&w=1200&q=85");
}
.gallery-item__img--6 {
  background-image: url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1200&q=85");
}

.gallery-item__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--brown-deep);
    opacity: 0;
  transition: opacity 0.45s var(--ease);
  pointer-events: none;
}

.gallery-item__action {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  transform: translate(-50%, -40%);
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #fff;
  opacity: 0;
  transition:
    opacity 0.4s var(--ease),
    transform 0.45s var(--ease);
  pointer-events: none;
  white-space: nowrap;
}

.gallery-item:hover .gallery-item__img {
  transform: scale(1.06);
}

.gallery-item:hover .gallery-item__overlay {
  opacity: 0.4;
}

.gallery-item:hover .gallery-item__action {
    opacity: 1;
  transform: translate(-50%, -50%);
}

.gallery-item__meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.85rem 0.1rem 0.35rem;
}

.gallery-item__name {
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 1.6vw, 1.35rem);
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.gallery-item__cat {
  font-size: 0.66rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--stone);
}

@media (max-width: 980px) {
  .gallery-masonry {
    column-count: 2;
  }
}

@media (max-width: 640px) {
  .gallery-masonry {
    column-count: 1;
  }
}

/* --- Contact CTA ??horizontal closing bar --- */
.page-home .home-cta {
  position: relative;
  display: block;
  min-height: 0;
  overflow: visible;
  color: var(--ink);
  background: var(--bg);
  text-align: left;
  padding: 0;
  border-top: 1px solid var(--line);
}

.page-home .home-cta__bg,
.page-home .home-cta__shade,
.page-home .home-cta__grid,
.page-home .home-cta__visual,
.page-home .home-cta__copy,
.page-home .home-cta__kicker,
.page-home .home-cta__inner,
.page-home .home-cta__panel {
  display: none !important;
}

.page-home .home-cta__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1.75rem, 4vw, 3.5rem);
  padding: clamp(3.75rem, 7vw, 5.5rem) 0;
}

.page-home .home-cta__text {
  max-width: 36rem;
}

.page-home .home-cta h2 {
  margin: 0 0 0.7rem;
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.2;
  max-width: 18ch;
  color: var(--ink);
}

.page-home .home-cta__lead {
  margin: 0;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.65;
  color: var(--stone);
  max-width: 34ch;
}

.page-home .home-cta__btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 1.1rem 1.85rem;
  border: 1px solid var(--ink);
  background: var(--ink);
  font-size: 0.66rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cream);
  transition:
    background 0.5s var(--ease),
    color 0.5s var(--ease),
    border-color 0.5s var(--ease),
    gap 0.5s var(--ease);
}

.page-home .home-cta__btn:hover {
  background: transparent;
  color: var(--ink);
  border-color: var(--ink);
  gap: 0.95rem;
}

.page-home .home-cta__arrow {
  display: inline-block;
  transition: transform 0.5s var(--ease);
}

.page-home .home-cta__btn:hover .home-cta__arrow {
  transform: translateX(4px);
}

@media (max-width: 720px) {
  .page-home .home-cta__row {
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(3.25rem, 9vw, 4.25rem) 0;
  }

  .page-home .home-cta h2 {
    max-width: 16ch;
  }
}

@media (max-width: 980px) {
  .home-about__grid {
    grid-template-columns: 1fr;
  }

  .home-about__media {
    order: -1;
    aspect-ratio: 16 / 11;
    max-height: 22rem;
  }

  .home-about__stats {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .collection-stack {
    grid-template-columns: 1fr;
  }

  .why-row {
    grid-template-columns: 1fr 1fr;
  }

  .home-section-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .page-home .quote-band {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .page-home .quote-band__media {
    min-height: 18rem;
    order: -1;
  }
}

@media (max-width: 720px) {
  .why-row {
    grid-template-columns: 1fr;
  }

  .page-home .mosaic {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .page-home .mosaic__cell--lg,
  .page-home .mosaic__cell--wide {
    grid-column: auto;
    grid-row: auto;
    min-height: 16rem;
  }

  .page-home .pillar-row {
    grid-template-columns: 1fr;
  }

  .page-home .home-stats__inner {
    grid-template-columns: 1fr 1fr;
  }
}

/* =========================================================
   HOMEPAGE STRIKE ?? richer quiet luxury (no glass)
   ========================================================= */

.page-home {
  --max: 92rem;
}

.page-home .eyebrow {
  color: var(--taupe-deep);
  letter-spacing: var(--tracking-eyebrow);
  font-size: var(--text-eyebrow);
  font-weight: 500;
  margin-bottom: 1.15rem;
}

.page-home .link-arrow {
  position: relative;
  margin-top: 2rem;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  color: var(--ink);
  opacity: 1;
  gap: 0.75rem;
  padding-bottom: 0.35rem;
}

.page-home .link-arrow::before {
  transform: scaleX(0.35);
  opacity: 0.55;
  transition: transform 0.55s var(--ease), opacity 0.55s var(--ease);
}

.page-home .link-arrow:hover {
  opacity: 1;
  gap: 1.05rem;
  color: var(--brown-deep);
}

.page-home .link-arrow:hover::before {
  transform: scaleX(1);
  opacity: 1;
}

.page-home .link-arrow:hover::after {
  transform: translateX(5px);
}

.page-home .home-section-head h2,
.page-home .home-about__copy h2 {
  font-size: var(--text-h2);
  letter-spacing: var(--tracking-display);
  line-height: var(--leading-display);
  font-weight: 500;
  color: var(--ink-heading);
}

.page-home .home-about__copy .lead {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--ink-muted);
}

.page-home .home-about__media:hover::after {
  transform: scale(1.07);
}

.page-home .home-about__stat strong {
  color: var(--ink);
  font-size: clamp(2.6rem, 4.8vw, 3.75rem);
}

.page-home .col-item:hover,
.page-home .col-item.reveal.is-visible:hover {
  transform: translateY(-14px);
  box-shadow: 0 28px 55px rgba(18, 14, 11, 0.12);
}

.page-home .col-item__name {
  font-size: clamp(1.7rem, 2.6vw, 2.2rem);
}

.page-home .col-item__cta {
  letter-spacing: 0.18em;
  color: var(--brown);
}

.page-home .col-item:hover .col-item__cta {
  color: var(--ink);
}

.page-home .col-item:hover .col-item__img {
  transform: scale(1.06);
}

.page-home .quote-band__copy blockquote p {
  font-size: clamp(1.9rem, 2.9vw, 2.6rem);
  line-height: 1.3;
}

.page-home .quote-band__copy .btn--dark {
  margin-top: 1rem;
}

.page-home .why-tile {
  border-top: 1px solid transparent;
  transition:
    transform 0.55s var(--ease),
    background 0.55s var(--ease),
    box-shadow 0.55s var(--ease),
    border-color 0.55s var(--ease);
}

.page-home .why-tile:hover,
.page-home .why-tile.reveal.is-visible:hover {
  transform: translateY(-10px);
  background: var(--white);
  border-top-color: var(--bronze);
  box-shadow: 0 20px 40px rgba(18, 14, 11, 0.1);
}

.page-home .why-tile h3 {
  font-size: clamp(1.3rem, 1.9vw, 1.55rem);
}

.page-home .why-tile__icon {
  color: var(--brown);
}

.page-home .feat-panel--hero .feat-panel__copy h3 {
  font-size: clamp(2.45rem, 4vw, 3.65rem);
}

.page-home .home-stats__bg {
  background:
    radial-gradient(ellipse 65% 55% at 16% 40%, rgba(160, 147, 125, 0.18), transparent 58%),
    radial-gradient(ellipse 50% 50% at 84% 70%, rgba(243, 241, 238, 0.06), transparent 55%),
    var(--brown-deep);
}

.page-home .home-stats__item strong {
  color: var(--cream);
  font-size: clamp(2.9rem, 5.4vw, 4.4rem);
  letter-spacing: -0.03em;
}

.page-home .home-stats__item span {
  color: rgba(243, 241, 238, 0.62);
  letter-spacing: 0.2em;
}

.page-home .home-stats__item.reveal.is-visible strong {
  animation: lux-count-settle 0.85s var(--ease) both;
}

@keyframes lux-count-settle {
  from { opacity: 0.35; transform: translateY(0.55rem); }
  to { opacity: 1; transform: none; }
}

.page-home .gallery-filters button {
  position: relative;
  letter-spacing: 0.16em;
  padding: 0.65rem 1rem;
  text-decoration: none !important;
}

.page-home .gallery-filters button::after {
  content: "";
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 0.35rem;
  height: 1px;
  background: var(--ink);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.4s var(--ease);
}

.page-home .gallery-filters button:hover,
.page-home .gallery-filters button.is-active {
  color: var(--ink);
}

.page-home .gallery-filters button.is-active::after,
.page-home .gallery-filters button:hover::after {
  transform: scaleX(1);
}

.page-home .gallery-item:hover .gallery-item__img {
  transform: scale(1.06);
}

.page-home .home-cta {
  color: var(--ink);
  background: var(--bg);
  border-top: 1px solid var(--line);
}

.page-home .home-cta__bg,
.page-home .home-cta__shade,
.page-home .home-cta__panel,
.page-home .home-cta__grid,
.page-home .home-cta__visual,
.page-home .home-cta__copy,
.page-home .home-cta__kicker,
.page-home .home-cta__inner {
  display: none !important;
}

.page-home .home-cta__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(2rem, 5vw, 4rem);
  padding: clamp(4.25rem, 8vw, 6rem) 0;
}

.page-home .home-cta__text {
  max-width: 38rem;
}

.page-home .home-cta h2 {
  margin: 0 0 0.85rem;
  font-family: var(--font-display);
  font-size: clamp(2.1rem, 3.6vw, 3.15rem);
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.12;
  max-width: 16ch;
  color: var(--ink);
}

.page-home .home-cta__lead {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 300;
  line-height: 1.7;
  color: var(--stone);
  max-width: 36ch;
}

.page-home .home-cta__btn {
  position: relative;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.2rem 2rem;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid var(--ink);
  background: var(--ink);
  font-size: 0.66rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cream);
  transition:
    color 0.55s var(--ease),
    border-color 0.55s var(--ease),
    gap 0.55s var(--ease),
    transform 0.55s var(--ease),
    box-shadow 0.55s var(--ease);
}

.page-home .home-cta__btn > * {
  position: relative;
  z-index: 1;
}

.page-home .home-cta__btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--bg);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.55s var(--ease);
  z-index: 0;
}

.page-home .home-cta__btn:hover {
  color: var(--ink);
  border-color: var(--ink);
  background: var(--ink);
  gap: 1.05rem;
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(18, 14, 11, 0.12);
}

.page-home .home-cta__btn:hover::before {
  transform: scaleX(1);
}

.page-home .home-cta__arrow {
  display: inline-block;
  transition: transform 0.55s var(--ease);
}

.page-home .home-cta__btn:hover .home-cta__arrow {
  transform: translateX(5px);
}

.page-home .home-cta__btn:focus-visible {
  outline: 1px solid var(--bronze);
  outline-offset: 3px;
}

@media (max-width: 720px) {
  .page-home .home-cta__row {
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(3.5rem, 10vw, 4.75rem) 0;
  }

  .page-home .home-cta h2 {
    max-width: 14ch;
  }
}

.page-home .reveal {
  transform: translateY(2rem);
  transition-duration: 0.85s;
}

.page-home .reveal--up {
  transform: translateY(2.25rem);
}

.page-home .reveal--scale {
  transform: translateY(1.75rem) scale(0.97);
  filter: blur(1.5px);
}

@media (prefers-reduced-motion: reduce) {
  .page-home .home-cta__btn::before,
  .page-home .home-stats__item.reveal.is-visible strong {
    transition: none !important;
    animation: none !important;
  }

  .page-home .reveal,
  .page-home .reveal--up,
  .page-home .reveal--scale {
    transform: none;
    filter: none;
  }
}

/* =========================================================
   PAGE ABOUT ??brand manifesto (RH / Poltrona Frau quality)
   ========================================================= */

.page-about {
  color: var(--ink);
  background: var(--bg);
}

.page-about .section {
  padding: clamp(7.5rem, 14vw, 10rem) 0;
}

.page-about .section-intro {
  max-width: 40rem;
  margin-bottom: clamp(2.75rem, 5vw, 4rem);
}

.page-about .section-intro--center {
  margin-inline: auto;
  text-align: center;
}

.page-about .section-intro h2,
.page-about h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.75rem, 5.5vw, 4.5rem);
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 0 0 1.25rem;
}

.page-about .section-intro p,
.page-about .about-intro__copy > p,
.page-about .about-intro__cols > p,
.page-about .about-craft__copy > p,
.page-about .about-sustain__lead,
.page-about .about-custom__head > p,
.page-about .about-clients__head > p,
.page-about .about-story__lead {
  font-family: var(--font-body);
  font-size: clamp(1.05rem, 1.35vw, 1.15rem);
  font-weight: 400;
  line-height: 1.78;
  color: var(--ink);
  opacity: 1;
  max-width: 44ch;
}

.page-about .section-intro--center p {
  margin-inline: auto;
}

.page-about .section-intro p + p,
.page-about .about-intro__cols > p + p,
.page-about .about-craft__copy > p + p {
  margin-top: 0.95rem;
}

.page-about .eyebrow {
  display: block;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--brown-mid);
  margin-bottom: 1.1rem;
  opacity: 1;
}

.page-about .btn--dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 3.15rem;
  padding: 0.9rem 1.85rem;
  background: var(--ink);
  color: var(--cream);
  border: 1px solid var(--ink);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-about .btn--dark:hover {
  background: var(--brown);
  border-color: var(--brown);
  color: var(--cream);
}

/* --- Hero --- */
.page-about .about-hero {
  position: relative;
  min-height: 92vh;
  min-height: 92dvh;
  display: grid;
  align-items: end;
  justify-items: start;
  text-align: left;
  overflow: hidden;
  color: var(--cream);
  background: var(--black);
}

.page-about .about-hero__media {
  position: absolute;
  inset: -8% 0;
  z-index: 0;
  background:
    url("https://images.unsplash.com/photo-1557618159-7d6fe547ae20?auto=format&fit=crop&w=2400&q=88")
      50% 45% / cover no-repeat;
  transform: scale(1.1);
  animation: about-kenburns 22s ease-out forwards;
  will-change: transform;
}

.page-about .about-hero__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(92deg, rgba(12, 10, 9, 0.56) 0%, rgba(12, 10, 9, 0.22) 42%, rgba(12, 10, 9, 0.08) 70%, rgba(12, 10, 9, 0.14) 100%),
    linear-gradient(180deg, rgba(12, 10, 9, 0.24) 0%, transparent 44%, rgba(12, 10, 9, 0.34) 100%);
  pointer-events: none;
}

.page-about .about-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 52rem;
  padding:
    calc(var(--lang-bar-h) + var(--header-h) + clamp(3rem, 8vh, 5.5rem))
    clamp(1.5rem, 5vw, 4.5rem)
    clamp(3.5rem, 9vh, 5.5rem);
  text-align: left;
  color: var(--cream);
}

.page-about .about-hero__label {
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(160, 147, 125, 0.9);
  margin: 0 0 1.25rem;
  opacity: 0;
  transform: translateY(1.2rem);
  animation: about-rise 1s var(--ease) 0.15s forwards;
}

.page-about .about-hero h1,
.page-about .about-hero__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(3.75rem, 9.5vw, 7.5rem);
  line-height: 0.92;
  letter-spacing: -0.03em;
  color: #f3f1ee;
  max-width: 9ch;
  margin: 0 0 1.35rem;
  opacity: 0;
  transform: translateY(1.5rem);
  animation: about-rise 1.1s var(--ease) 0.28s forwards;
}

html[lang="zh"] .page-about .about-hero__title,
html[lang="ja"] .page-about .about-hero__title,
html[lang="ko"] .page-about .about-hero__title {
  max-width: 12em;
  letter-spacing: -0.01em;
  font-size: clamp(3.2rem, 8vw, 6.2rem);
}

.page-about .about-hero__lead {
  max-width: 34ch;
  font-family: var(--font-body);
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  font-weight: 400;
  line-height: 1.72;
  color: rgba(255, 250, 243, 0.9);
  margin: 0;
  opacity: 0;
  transform: translateY(1.2rem);
  animation: about-rise 1.05s var(--ease) 0.42s forwards;
}

.page-about .about-hero__cta {
  margin-top: 2.25rem;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--cream);
  border-color: rgba(243, 241, 238, 0.42);
  background: transparent;
  opacity: 0;
  transform: translateY(1.1rem);
  animation: about-rise 1.05s var(--ease) 0.58s forwards;
}

.page-about .about-hero__cta:hover {
  color: var(--ink);
  border-color: var(--cream);
  background: var(--bg);
}

.page-about .about-hero__cta-arrow {
  display: inline-block;
  transition: transform 0.45s var(--ease);
}

.page-about .about-hero__cta:hover .about-hero__cta-arrow {
  transform: translateX(5px);
}

@keyframes about-kenburns {
  from { transform: scale(1.12); }
  to { transform: scale(1); }
}

@keyframes about-rise {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* --- Intro manifesto --- */
.page-about .about-intro {
  background: var(--white);
  overflow: hidden;
}

.page-about .about-intro__stage {
  position: relative;
}

.page-about .about-intro__mark {
  position: absolute;
  top: -0.15em;
  left: -0.06em;
  z-index: 0;
  font-family: var(--font-display);
  font-size: clamp(12rem, 28vw, 22rem);
  font-weight: 500;
  line-height: 0.8;
  letter-spacing: -0.04em;
  color: var(--ink);
  opacity: 0.045;
  pointer-events: none;
  user-select: none;
}

.page-about .about-intro__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(2.75rem, 7vw, 6.5rem);
  align-items: center;
}

.page-about .about-intro__media {
  position: relative;
  aspect-ratio: 5 / 4;
  overflow: hidden;
  background: var(--sand);
}

.page-about .about-intro__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    url("../brand/wa-factory-exterior.jpg")
      55% 40% / cover no-repeat;
  transform: scale(1.04);
  transition: transform 1.1s var(--ease);
}

.page-about .about-intro__media:hover::after {
  transform: scale(1.08);
}

.page-about .about-intro__quote {
  margin: 0 0 2rem;
  padding: 0;
  border: 0;
}

.page-about .about-intro__quote p {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4.2vw, 3.35rem);
  font-weight: 500;
  font-style: italic;
  line-height: 1.18;
  letter-spacing: -0.02em;
  color: var(--ink);
  max-width: 16ch;
  margin: 0;
}

.page-about .about-intro__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem 1.75rem;
  margin-bottom: 1.35rem;
}

.page-about .about-intro__cols > p {
  margin: 0;
  max-width: none;
  font-size: 0.98rem;
  line-height: 1.72;
  color: rgba(44, 38, 32, 0.78);
}

.page-about .about-intro__closer {
  margin: 0 0 0.25rem;
  max-width: 42ch !important;
  font-size: 1.05rem !important;
}

.page-about .about-intro__copy .btn {
  margin-top: 2rem;
}

.page-about .about-intro__stats {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  margin-top: clamp(4.5rem, 9vw, 7rem);
  padding-top: clamp(2.75rem, 5vw, 3.75rem);
  border-top: 1px solid rgba(44, 38, 32, 0.18);
}

.page-about .about-stat strong {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(4rem, 8vw, 6.5rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.9;
  color: var(--ink);
  margin-bottom: 0.85rem;
}

.page-about .about-stat span {
  display: block;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brown);
}

/* --- Story timeline --- */
.page-about .about-story {
  background: var(--warm);
}

.page-about .about-story__head {
  max-width: 36rem;
  margin-bottom: clamp(3.5rem, 7vw, 5.5rem);
}

.page-about .about-story__lead {
  margin: 0;
  max-width: 42ch;
}

.page-about .about-timeline {
  --tl-progress: 0;
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: clamp(4rem, 8vw, 6.5rem);
}

.page-about .about-timeline::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  margin-left: -0.5px;
  background: rgba(44, 38, 32, 0.12);
}

.page-about .about-timeline::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 1px;
  height: 100%;
  margin-left: -0.5px;
  background: var(--brown-mid);
  transform: scaleY(var(--tl-progress, 0));
  transform-origin: top center;
  will-change: transform;
  transition: transform 0.12s linear;
}

.page-about .about-timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
  padding: 0;
}

.page-about .about-timeline__item:nth-child(even) .about-timeline__media {
  order: 2;
}

.page-about .about-timeline__item:nth-child(even) .about-timeline__body {
  order: 1;
  text-align: right;
  justify-self: end;
}

.page-about .about-timeline__item:nth-child(even) .about-timeline__body p {
  margin-left: auto;
}

.page-about .about-timeline__dot {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.85rem;
  height: 0.85rem;
  margin: -0.425rem 0 0 -0.425rem;
  border-radius: 50%;
  background: var(--warm);
  border: 1.5px solid rgba(44, 38, 32, 0.35);
  z-index: 2;
  transform: scale(0);
  box-shadow: 0 0 0 0 transparent;
  transition:
    transform 0.55s var(--ease),
    background 0.45s var(--ease),
    border-color 0.45s var(--ease),
    box-shadow 0.45s var(--ease);
}

.page-about .about-timeline__item.is-visible .about-timeline__dot {
  transform: scale(1);
  background: var(--ink);
  border-color: var(--ink);
}

.page-about .about-timeline__item.is-active .about-timeline__dot {
  background: var(--taupe);
  border-color: var(--taupe);
  box-shadow: 0 0 0 6px rgba(160, 147, 125, 0.2);
}

.page-about .about-timeline__media {
  position: relative;
  aspect-ratio: 5 / 4;
  overflow: hidden;
  background: var(--sand);
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: translate3d(0, 1.5rem, 0);
  transition:
    opacity 0.8s var(--ease),
    transform 0.8s var(--ease);
}

.page-about .about-timeline__item.is-visible .about-timeline__media {
  opacity: 1;
  transform: none;
  transition-delay: 60ms;
}

.page-about .about-timeline__media--1 {
  background-image: url("../brand/wa-factory-exterior.jpg");
  background-position: 55% 40%;
}
.page-about .about-timeline__media--2 {
  background-image: url("https://images.unsplash.com/photo-1586023492125-27b2c045efd7?auto=format&fit=crop&w=1200&q=85");
}
.page-about .about-timeline__media--3 {
  background-image: url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=1200&q=85");
}
.page-about .about-timeline__media--4 {
  background-image: url("https://images.unsplash.com/photo-1631679706909-1844bbd07221?auto=format&fit=crop&w=1200&q=85");
}

.page-about .about-timeline__body {
  max-width: 28rem;
  padding-inline: clamp(0.5rem, 2vw, 1.5rem);
}

.page-about .about-timeline__year,
.page-about .about-timeline__body h3,
.page-about .about-timeline__body p {
  opacity: 0;
  transform: translate3d(0, 1.35rem, 0);
  transition:
    opacity 0.7s var(--ease),
    transform 0.7s var(--ease),
    color 0.35s var(--ease);
}

.page-about .about-timeline__item.is-visible .about-timeline__year {
  opacity: 1;
  transform: none;
  transition-delay: 80ms;
}

.page-about .about-timeline__item.is-visible .about-timeline__body h3 {
  opacity: 1;
  transform: none;
  transition-delay: 160ms;
}

.page-about .about-timeline__item.is-visible .about-timeline__body p {
  opacity: 1;
  transform: none;
  transition-delay: 240ms;
}

.page-about .about-timeline__year {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 7vw, 5.75rem);
  font-weight: 500;
  letter-spacing: -0.035em;
  color: var(--ink);
  line-height: 0.9;
  margin-bottom: 0.85rem;
}

.page-about .about-timeline__body h3 {
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 2.4vw, 2rem);
  font-weight: 500;
  color: var(--ink);
  margin: 0 0 0.75rem;
  line-height: 1.2;
}

.page-about .about-timeline__body p {
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.75;
  color: rgba(44, 38, 32, 0.72);
  max-width: 34ch;
  margin: 0;
}

@media (hover: hover) and (pointer: fine) {
  .page-about .about-timeline__item:hover .about-timeline__dot {
    transform: scale(1.2);
  }

  .page-about .about-timeline__item.is-active:hover .about-timeline__dot {
    transform: scale(1.22);
  }

  .page-about .about-timeline__item:hover .about-timeline__body h3 {
    color: var(--brown-mid);
  }
}

/* --- Mission & Vision ?? editorial cards --- */
.page-about .about-mv {
  background: var(--bg);
  color: var(--ink);
}

.page-about .about-mv__head {
  max-width: 36rem;
  margin-bottom: clamp(2.75rem, 5.5vw, 4.25rem);
}

.page-about .about-mv__lead {
  margin: 0.85rem 0 0;
  max-width: 42ch;
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: 400;
  line-height: var(--leading-body);
  color: rgba(44, 38, 32, 0.72);
}

.page-about .about-mv__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: stretch;
}

.page-about .about-mv__card {
  display: flex;
  flex-direction: column;
  padding: clamp(2.25rem, 4.5vw, 3.5rem);
  background: var(--white);
  border: 1px solid rgba(44, 38, 32, 0.12);
  color: var(--ink);
}

.page-about .about-mv__num {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.12em;
  color: var(--brown-mid);
  margin: 0;
}

.page-about .about-mv__rule {
  display: block;
  width: 100%;
  height: 1px;
  margin: 1.35rem 0 1.75rem;
  background: rgba(44, 38, 32, 0.16);
}

.page-about .about-mv__card h3 {
  font-family: var(--font-display);
  font-size: clamp(2.15rem, 3.8vw, 3.15rem);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 1rem;
  color: var(--ink);
}

.page-about .about-mv__card p {
  font-family: var(--font-body);
  font-size: clamp(1.02rem, 1.3vw, 1.12rem);
  font-weight: 400;
  line-height: 1.72;
  max-width: 36ch;
  margin: 0;
  color: rgba(44, 38, 32, 0.78);
}

/* --- Values ??editorial list --- */
.page-about .about-values {
  background: var(--white);
}

.page-about .about-values__layout {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  gap: clamp(2.5rem, 6vw, 5.5rem);
  align-items: start;
}

.page-about .about-values__intro {
  position: sticky;
  top: calc(var(--header-h) + 2rem);
}

.page-about .about-values__intro h2 {
  max-width: 10ch;
}

.page-about .about-values__list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(44, 38, 32, 0.18);
}

.page-about .about-value {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  gap: clamp(1rem, 3vw, 2.5rem);
  padding: clamp(2rem, 3.5vw, 2.85rem) 0;
  border-bottom: 1px solid rgba(44, 38, 32, 0.18);
  transition: background 0.4s var(--ease);
}

.page-about .about-value__num {
  font-family: var(--font-display);
  font-size: 1.15rem;
  letter-spacing: 0.08em;
  color: #1A1510;
  opacity: 1;
  padding-top: 0.35rem;
}

.page-about .about-value h3 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.5vw, 2.85rem);
  font-weight: 500;
  color: var(--ink);
  margin: 0 0 0.65rem;
  line-height: 1.1;
  letter-spacing: -0.02em;
  transition: color 0.35s var(--ease);
}

.page-about .about-value p {
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.72;
  color: #3A271C;
  opacity: 1;
  max-width: 38ch;
  margin: 0;
}

@media (hover: hover) and (pointer: fine) {
  .page-about .about-value:hover h3 {
    color: var(--brown-mid);
  }
}

/* --- Craft teaser --- */
.page-about .about-craft {
  background: var(--warm);
}

.page-about .about-craft__top {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: clamp(2.5rem, 6vw, 5.5rem);
  align-items: center;
  margin-bottom: clamp(3.5rem, 7vw, 5.5rem);
}

.page-about .about-craft__media {
  position: relative;
  aspect-ratio: 5 / 4;
  overflow: hidden;
  background: var(--sand);
}

.page-about .about-craft__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=1600&q=88")
      center 45% / cover no-repeat;
  transform: scale(1.06);
  transition: transform 1s var(--ease);
}

.page-about .about-craft__media:hover::after,
.page-about .about-craft__media.reveal.is-visible::after {
  transform: scale(1);
}

.page-about .about-craft__process {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.75rem, 4vw, 3rem);
  padding-top: clamp(2.5rem, 4vw, 3.25rem);
  border-top: 1px solid rgba(44, 38, 32, 0.16);
}

.page-about .about-craft__step-num {
  display: block;
  font-family: var(--font-display);
  font-size: 0.95rem;
  letter-spacing: 0.14em;
  color: var(--brown-mid);
  margin-bottom: 1rem;
}

.page-about .about-craft__step h3 {
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 2.2vw, 1.95rem);
  font-weight: 500;
  color: var(--ink);
  margin: 0 0 0.75rem;
}

.page-about .about-craft__step p {
  font-size: 0.98rem;
  font-weight: 400;
  line-height: 1.65;
  color: rgba(44, 38, 32, 0.72);
  margin: 0;
  max-width: 28ch;
}

/* --- Customisation ?? material image cards --- */
.page-about .about-custom {
  background: var(--white);
}

.page-about .about-custom__head {
  max-width: 36rem;
  margin-bottom: clamp(2.75rem, 5vw, 4rem);
}

.page-about .about-custom__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2.2vw, 1.65rem);
}

.page-about .about-custom__card {
  display: flex;
  flex-direction: column;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(44, 38, 32, 0.045);
  transition:
    transform 0.55s var(--ease),
    box-shadow 0.55s var(--ease);
}

.page-about .about-custom__media {
  position: relative;
  aspect-ratio: 5 / 4;
  overflow: hidden;
  background: var(--sand);
}

.page-about .about-custom__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.9s var(--ease);
}

.page-about .about-custom__body {
  display: grid;
  gap: 0.45rem;
  padding: clamp(1.15rem, 2.2vw, 1.55rem) clamp(1.05rem, 2vw, 1.35rem)
    clamp(1.35rem, 2.5vw, 1.75rem);
}

.page-about .about-custom__body h3 {
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 2.2vw, 1.95rem);
  font-weight: 500;
  color: var(--ink);
  margin: 0;
  letter-spacing: -0.015em;
  line-height: 1.15;
}

.page-about .about-custom__body p {
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.65;
  color: rgba(44, 38, 32, 0.72);
  margin: 0;
  max-width: 28ch;
}

@media (hover: hover) and (pointer: fine) {
  .page-about .about-custom__card:hover {
    transform: translateY(-7px);
    box-shadow: 0 22px 48px rgba(44, 38, 32, 0.1);
  }

  .page-about .about-custom__card:hover .about-custom__media img {
    transform: scale(1.07);
  }
}

.page-about .about-swatches {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-top: clamp(2.25rem, 4vw, 3rem);
  padding-top: clamp(1.5rem, 3vw, 2rem);
  border-top: 1px solid rgba(44, 38, 32, 0.12);
}

.page-about .about-swatch {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  background: var(--sw);
  border: 1px solid rgba(44, 38, 32, 0.18);
  box-shadow: inset 0 0 0 2px var(--white);
  transition: transform 0.4s var(--ease);
  cursor: default;
}

@media (hover: hover) and (pointer: fine) {
  .page-about .about-swatch:hover {
    transform: scale(1.12);
  }
}

html.nofx .page-about .about-custom__card,
html.nofx .page-about .about-custom__media img,
html.nofx .page-about .about-swatch,
html.nofx .page-about .about-sustain__media::after,
.fx-off .page-about .about-custom__card,
.fx-off .page-about .about-custom__media img,
.fx-off .page-about .about-swatch,
.fx-off .page-about .about-sustain__media::after {
  transition: none !important;
}

html.nofx .page-about .about-custom__card:hover,
.fx-off .page-about .about-custom__card:hover {
  transform: none;
  box-shadow: none;
}

html.nofx .page-about .about-custom__card:hover .about-custom__media img,
.fx-off .page-about .about-custom__card:hover .about-custom__media img,
html.nofx .page-about .about-swatch:hover,
.fx-off .page-about .about-swatch:hover,
html.nofx .page-about .about-sustain__media:hover::after,
.fx-off .page-about .about-sustain__media:hover::after,
html.nofx .page-about .about-sustain__list li:hover,
.fx-off .page-about .about-sustain__list li:hover {
  transform: none;
}

/* --- Clients --- */
.page-about .about-clients {
  background: var(--warm);
}

.page-about .about-clients__head {
  max-width: 36rem;
  margin-inline: auto;
  text-align: center;
  margin-bottom: clamp(2.75rem, 5vw, 4rem);
}

.page-about .about-clients__head p {
  margin-inline: auto;
}

.page-about .about-logos {
  overflow: hidden;
  margin-bottom: clamp(3.5rem, 7vw, 5rem);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.page-about .about-logos__track {
  display: flex;
  gap: 0;
  width: max-content;
  animation: about-logo-marquee 36s linear infinite;
}

.page-about .about-logo {
  flex: 0 0 auto;
  min-width: 10rem;
  height: 4rem;
  display: grid;
  place-items: center;
  padding: 0 1.75rem;
  border: 0;
  border-right: 1px solid rgba(44, 38, 32, 0.12);
  color: rgba(44, 38, 32, 0.42);
  font-family: var(--font-display);
  font-size: 1.55rem;
  letter-spacing: 0.04em;
  filter: none;
  transition: color 0.4s;
}

.page-about .about-logo:hover {
  color: var(--ink);
}

@keyframes about-logo-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.page-about .about-testimonials {
  position: relative;
  max-width: 44rem;
  margin: 0 auto;
  min-height: 11rem;
  text-align: center;
}

.page-about .about-quote {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(0.75rem);
  transition: opacity 0.6s var(--ease), transform 0.6s var(--ease), visibility 0.6s;
}

.page-about .about-quote.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.page-about .about-quote p {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3.4vw, 2.55rem);
  font-weight: 500;
  font-style: italic;
  line-height: 1.3;
  color: var(--ink);
  margin: 0 0 1.25rem;
}

.page-about .about-quote cite {
  font-style: normal;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brown);
}

.page-about .about-testimonials__dots {
  display: flex;
  justify-content: center;
  gap: 0.55rem;
  margin-top: 2rem;
}

.page-about .about-testimonials__dots button {
  width: 0.5rem;
  height: 0.5rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(44, 38, 32, 0.22);
  cursor: pointer;
}

.page-about .about-testimonials__dots button.is-active {
  background: var(--ink);
}

/* --- Sustainability ?? dark panel + upholstery textile (neon cinematic) --- */
.page-about .about-sustain {
  position: relative;
  display: grid;
  grid-template-columns: minmax(18rem, 0.92fr) minmax(0, 1.2fr);
  align-items: stretch;
  min-height: min(88vh, 44rem);
  padding: 0;
  overflow: hidden;
  background: #4a3c30;
  color: #fff;
}

.page-about .about-sustain__media {
  position: relative;
  inset: auto;
  z-index: 0;
  order: 2;
  overflow: hidden;
  background: #6b5744;
  min-height: 100%;
}

.page-about .about-sustain__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(61, 50, 40, 0.45) 0%,
      rgba(61, 50, 40, 0.1) 28%,
      transparent 55%
    ),
    radial-gradient(ellipse 50% 40% at 90% 10%, rgba(232, 201, 160, 0.22) 0%, transparent 55%),
    radial-gradient(ellipse 45% 35% at 80% 95%, rgba(196, 168, 130, 0.18) 0%, transparent 50%),
    url("https://images.unsplash.com/photo-1616046229478-9901c5536a45?auto=format&fit=crop&w=2200&q=88")
      center / cover no-repeat;
  transform: scale(1.04);
  transition: transform 1.35s var(--ease);
}

@media (hover: hover) and (pointer: fine) {
  .page-about .about-sustain__media:hover::after {
    transform: scale(1);
  }
}

.page-about .about-sustain__panel {
  position: relative;
  z-index: 1;
  order: 1;
  width: auto;
  max-width: none;
  background: #4a3c30;
  color: #fff;
  padding:
    clamp(3.25rem, 7vw, 5.5rem)
    clamp(1.75rem, 4vw, 3.25rem)
    clamp(3.25rem, 7vw, 5.5rem)
    clamp(1.75rem, 5vw, 4.5rem);
  box-shadow: none;
  border-right: 1px solid rgba(196, 168, 130, 0.35);
}

.page-about .about-sustain__panel-inner {
  max-width: 26rem;
  width: 100%;
}

.page-about .about-sustain__panel .eyebrow {
  color: var(--champagne);
  opacity: 1;
}

.page-about .about-sustain__panel h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.65rem, 4.8vw, 3.85rem);
  line-height: 1.02;
  letter-spacing: -0.03em;
  max-width: 10ch;
  margin: 0 0 1.15rem;
  color: #fff;
}

.page-about .about-sustain__lead {
  margin: 0 0 2.5rem;
  max-width: 36ch;
  font-family: var(--font-body);
  color: rgba(247, 245, 255, 0.72);
  opacity: 1;
}

.page-about .about-sustain__list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.page-about .about-sustain__list li {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
  padding: 1.35rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  transition: transform 0.4s var(--ease);
}

.page-about .about-sustain__num {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.35;
  color: var(--champagne);
  opacity: 1;
  padding-top: 0.15rem;
}

.page-about .about-sustain__item h3 {
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.015em;
  margin: 0 0 0.35rem;
  color: #fff;
  transition: color 0.35s var(--ease);
}

.page-about .about-sustain__item p {
  font-family: var(--font-body);
  font-size: 0.98rem;
  font-weight: 400;
  line-height: 1.65;
  margin: 0;
  max-width: 34ch;
  color: rgba(247, 245, 255, 0.68);
  opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
  .page-about .about-sustain__list li:hover {
    transform: translateX(4px);
  }

  .page-about .about-sustain__list li:hover .about-sustain__num {
    color: var(--taupe-mid);
  }

  .page-about .about-sustain__list li:hover .about-sustain__item h3 {
    color: var(--champagne);
  }
}

/* --- Legacy CTA hooks (shared band preferred) --- */
.page-about .about-cta {
  position: relative;
  min-height: min(78vh, 42rem);
  display: grid;
  place-items: center;
  overflow: hidden;
  text-align: center;
  color: #f3f1ee;
  background: var(--black);
}

.page-about .about-cta__media {
  position: absolute;
  inset: -6%;
  background:
    url("https://images.unsplash.com/photo-1616594039964-ae9021a400a0?auto=format&fit=crop&w=2200&q=85")
      center / cover no-repeat;
}

.page-about .about-cta__veil {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(26, 16, 8, 0.45), rgba(26, 16, 8, 0.78));
}

.page-about .about-cta__content {
  position: relative;
  z-index: 1;
  padding: clamp(4.5rem, 9vw, 7rem) 1.5rem;
  max-width: 40rem;
}

.page-about .about-cta h2 {
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 5.5vw, 4.2rem);
  font-weight: 500;
  color: #f3f1ee;
  margin: 0 auto 1rem;
  max-width: 14ch;
}

.page-about .about-cta__content > p {
  font-size: 1.12rem;
  font-weight: 400;
  line-height: 1.65;
  color: rgba(255, 250, 243, 0.9);
  margin: 0 0 2rem;
}

.page-about .about-cta__btn {
  background: var(--bg);
  color: var(--ink);
  border-color: var(--cream);
}

.page-about .about-cta__btn:hover {
  background: #fff;
  color: var(--ink);
  border-color: #fff;
}

.page-about .about-cta__arrow {
  display: inline-block;
  transition: transform 0.45s var(--ease);
}

.page-about .about-cta__btn:hover .about-cta__arrow {
  transform: translateX(5px);
}

.page-about .about-cta__meta {
  display: grid;
  gap: 0.45rem;
  margin-top: 2.5rem;
  font-size: 0.88rem;
  font-weight: 400;
  color: rgba(255, 250, 243, 0.78);
}

.page-about .about-cta__meta a {
  color: rgba(255, 250, 243, 0.92);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.page-about .about-cta__meta a:hover {
  color: #fff;
}

/* --- Motion reduced / nofx --- */
html.nofx .page-about .about-hero__media,
html.nofx .page-about .about-logos__track,
.fx-off .page-about .about-hero__media,
.fx-off .page-about .about-logos__track {
  animation: none !important;
}

html.nofx .page-about .about-timeline,
.fx-off .page-about .about-timeline {
  --tl-progress: 1;
}

html.nofx .page-about .about-timeline::after,
.fx-off .page-about .about-timeline::after {
  transform: scaleY(1);
  transition: none;
}

html.nofx .page-about .about-timeline__dot,
.fx-off .page-about .about-timeline__dot {
  transform: scale(1);
  background: var(--ink);
  border-color: var(--ink);
  transition: none;
}

html.nofx .page-about .about-timeline__year,
html.nofx .page-about .about-timeline__body h3,
html.nofx .page-about .about-timeline__body p,
html.nofx .page-about .about-timeline__media,
.fx-off .page-about .about-timeline__year,
.fx-off .page-about .about-timeline__body h3,
.fx-off .page-about .about-timeline__body p,
.fx-off .page-about .about-timeline__media {
  opacity: 1;
  transform: none;
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .page-about .about-hero__media,
  .page-about .about-logos__track,
  .page-about .about-hero__label,
  .page-about .about-hero h1,
  .page-about .about-hero__title,
  .page-about .about-hero__lead,
  .page-about .about-hero__cta {
    animation: none !important;
    opacity: 1;
    transform: none;
  }

  .page-about .about-timeline {
    --tl-progress: 1;
  }

  .page-about .about-timeline::after {
    transform: scaleY(1);
    transition: none;
  }

  .page-about .about-timeline__dot {
    transform: scale(1) !important;
    background: var(--ink);
    border-color: var(--ink);
    transition: none;
  }

  .page-about .about-timeline__year,
  .page-about .about-timeline__body h3,
  .page-about .about-timeline__body p,
  .page-about .about-timeline__media {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .page-about .about-custom__card,
  .page-about .about-custom__media img,
  .page-about .about-swatch,
  .page-about .about-sustain__media::after,
  .page-about .about-sustain__list li {
    transition: none !important;
  }

  .page-about .about-custom__card:hover,
  .page-about .about-custom__card:hover .about-custom__media img,
  .page-about .about-swatch:hover,
  .page-about .about-sustain__media:hover::after,
  .page-about .about-sustain__list li:hover {
    transform: none;
    box-shadow: none;
  }
}

/* --- Responsive --- */
@media (max-width: 980px) {
  .page-about .about-intro__grid,
  .page-about .about-craft__top,
  .page-about .about-values__layout,
  .page-about .about-mv__grid {
    grid-template-columns: 1fr;
  }

  .page-about .about-sustain {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    padding: 0;
  }

  .page-about .about-sustain__media {
    position: relative;
    inset: auto;
    order: 1;
    aspect-ratio: 4 / 3;
    min-height: 15rem;
  }

  .page-about .about-sustain__panel {
    order: 2;
    width: auto;
    margin: 0;
    border-right: 0;
    border-top: 1px solid rgba(196, 168, 130, 0.35);
    padding:
      clamp(2.25rem, 6vw, 3rem)
      clamp(1.35rem, 4vw, 2rem)
      clamp(3rem, 8vw, 4rem);
  }

  .page-about .about-sustain__panel h2 {
    max-width: 12ch;
  }

  .page-about .about-custom__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-about .about-values__intro {
    position: static;
  }

  .page-about .about-intro__media,
  .page-about .about-craft__media {
    aspect-ratio: 16 / 11;
  }

  .page-about .about-intro__mark {
    font-size: clamp(9rem, 32vw, 14rem);
  }

  .page-about .about-timeline::before,
  .page-about .about-timeline::after {
    left: 0.42rem;
    margin-left: 0;
  }

  .page-about .about-timeline__item,
  .page-about .about-timeline__item:nth-child(even) {
    grid-template-columns: 1fr;
    padding-left: 2.25rem;
  }

  .page-about .about-timeline__item:nth-child(even) .about-timeline__media,
  .page-about .about-timeline__item:nth-child(even) .about-timeline__body {
    order: initial;
    text-align: left;
    justify-self: start;
  }

  .page-about .about-timeline__item:nth-child(even) .about-timeline__body p {
    margin-left: 0;
  }

  .page-about .about-timeline__dot {
    left: 0.42rem;
    top: 1.1rem;
    margin: 0 0 0 -0.425rem;
  }

  .page-about .about-timeline__media {
    aspect-ratio: 16 / 10;
    margin-bottom: 0.25rem;
  }

  .page-about .about-craft__process {
    grid-template-columns: 1fr;
  }

  .page-about .about-mv__card {
    padding: clamp(1.85rem, 5vw, 2.5rem);
  }
}

@media (max-width: 640px) {
  .page-about .about-intro__stats,
  .page-about .about-intro__cols {
    grid-template-columns: 1fr;
  }

  .page-about .about-custom__grid {
    grid-template-columns: 1fr;
    gap: 1.15rem;
  }

  .page-about .about-hero {
    min-height: 88vh;
    min-height: 88dvh;
  }

  .page-about .about-hero__content {
    text-align: left;
    max-width: 100%;
  }

  .page-about .about-hero h1,
  .page-about .about-hero__title {
    max-width: 11ch;
    font-size: clamp(3.2rem, 14vw, 4.4rem);
  }

  .page-about .about-intro__quote p {
    max-width: none;
  }

  .page-about .about-stat strong {
    font-size: clamp(3.25rem, 16vw, 4.5rem);
  }

  .page-about .about-value {
    grid-template-columns: 3rem 1fr;
  }

  .page-about .about-timeline__year {
    font-size: clamp(2.85rem, 14vw, 3.75rem);
  }
}

/* ========== PRODUCTS CATALOG (page-products-catalog) ========== */
.page-products-catalog .pcat-section {
  padding: clamp(6.25rem, 10vw, 8.75rem) 0;
}

.page-products-catalog .pcat-section--white {
  background: transparent;
}

.page-products-catalog .pcat-section--grey {
  background: transparent;
}

/* Left editorial section heads ?? ban centered PPT intros */
.page-products-catalog .pcat-head {
  max-width: 38rem;
  margin: 0 0 clamp(2.75rem, 5.5vw, 4.25rem);
  text-align: left;
}

.page-products-catalog .pcat-head .eyebrow {
  display: block;
  margin-bottom: 1rem;
  color: var(--brown-mid);
}

.page-products-catalog .pcat-head h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.55rem, 5vw, 4rem);
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 0 0 1rem;
  max-width: 14ch;
}

.page-products-catalog .pcat-head p {
  margin: 0;
  max-width: 42ch;
  font-size: clamp(1.02rem, 1.3vw, 1.12rem);
  line-height: 1.75;
  color: var(--stone);
}

/* Products hero ?? deep lifestyle room, Ken Burns + fill CTA */
.page-products-catalog .product-hero {
  min-height: 100vh;
  min-height: 100dvh;
  align-items: center;
}

.page-products-catalog .product-hero__media {
  background-image:
    url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=2400&q=88");
  background-position: 72% 40%;
  background-size: cover;
  background-repeat: no-repeat;
}

.page-products-catalog .product-hero__veil {
  background:
    linear-gradient(92deg, rgba(12, 10, 9, 0.62) 0%, rgba(12, 10, 9, 0.28) 40%, rgba(12, 10, 9, 0.08) 68%, rgba(12, 10, 9, 0.18) 100%),
    linear-gradient(180deg, rgba(12, 10, 9, 0.28) 0%, transparent 44%, rgba(12, 10, 9, 0.36) 100%);
}

.page-products-catalog .product-hero__content {
  max-width: 38rem;
}

.page-products-catalog .product-hero__label {
  color: rgba(255, 250, 243, 0.72);
  letter-spacing: 0.3em;
}

.page-products-catalog .product-hero__title,
.page-products-catalog .product-hero__content h1 {
  max-width: none;
  font-size: clamp(3.25rem, 7.4vw, 5.65rem);
  line-height: 0.9;
  letter-spacing: -0.03em;
  color: #fff;
}

.page-products-catalog .product-hero__lead,
.page-products-catalog .product-hero__content > p:not(.product-hero__label):not(.product-hero__search) {
  max-width: 40ch;
  opacity: 0.9;
  color: rgba(255, 255, 255, 0.9);
}

.page-products-catalog .product-hero__cta {
  position: relative;
  margin-top: 2rem;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.75rem;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.88);
  border-radius: 0;
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition:
    color 0.55s var(--ease),
    border-color 0.55s var(--ease),
    gap 0.55s var(--ease);
}

.page-products-catalog .product-hero__cta > * {
  position: relative;
  z-index: 1;
}

.page-products-catalog .product-hero__cta::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #fff;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.55s var(--ease);
}

.page-products-catalog .product-hero__cta::after {
  display: none;
  content: none;
}

.page-products-catalog .product-hero__cta:hover {
  color: var(--ink);
  border-color: #fff;
  gap: 1.05rem;
}

.page-products-catalog .product-hero__cta:hover::before {
  transform: scaleX(1);
}

.page-products-catalog .product-hero__cta-arrow {
  display: inline-block;
  transition: transform 0.45s var(--ease);
}

.page-products-catalog .product-hero__cta:hover .product-hero__cta-arrow {
  transform: translateX(5px);
}

html.has-motion .page-products-catalog .product-hero.is-ready .product-hero__media {
  animation: ken-burns 24s ease-out forwards;
}

@media (prefers-reduced-motion: reduce) {
  html.has-motion .page-products-catalog .product-hero.is-ready .product-hero__media {
    animation: none;
  }
}

@media (max-width: 720px) {
  .page-products-catalog .product-hero__title,
  .page-products-catalog .product-hero__content h1 {
    font-size: clamp(2.75rem, 12vw, 3.6rem);
  }

  .page-products-catalog .product-hero__content {
    max-width: 28rem;
  }

  .page-products-catalog .product-hero__media {
    background-position: 52% 40%;
  }

  .page-products-catalog .product-hero__veil {
    background:
      linear-gradient(92deg, rgba(12, 10, 9, 0.68) 0%, rgba(12, 10, 9, 0.32) 55%, rgba(12, 10, 9, 0.22) 100%),
      linear-gradient(180deg, rgba(12, 10, 9, 0.28) 0%, transparent 42%, rgba(12, 10, 9, 0.4) 100%);
  }
}

/* Categories ?? overlay editorial tiles */
.page-products-catalog .pcat-cats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(0.85rem, 1.8vw, 1.25rem);
}

.page-products-catalog .pcat-cats.reveal-stagger > .reveal:nth-child(1) { --delay: 0ms; }
.page-products-catalog .pcat-cats.reveal-stagger > .reveal:nth-child(2) { --delay: 80ms; }
.page-products-catalog .pcat-cats.reveal-stagger > .reveal:nth-child(3) { --delay: 160ms; }
.page-products-catalog .pcat-cats.reveal-stagger > .reveal:nth-child(4) { --delay: 240ms; }

.page-products-catalog .pcat-cat {
  position: relative;
  display: block;
  color: #fff;
  background: var(--black);
  overflow: hidden;
}

.page-products-catalog .pcat-cat__media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 4.2;
  background: var(--sand);
}

.page-products-catalog .pcat-cat__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform 1s var(--ease);
}

.page-products-catalog .pcat-cat__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 28%, rgba(18, 12, 8, 0.72) 78%, rgba(18, 12, 8, 0.9) 100%);
  opacity: 0.88;
  transition: opacity 0.55s var(--ease);
  pointer-events: none;
}

.page-products-catalog .pcat-cat__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: grid;
  gap: 0.35rem;
  padding: 1.35rem 1.15rem 1.45rem;
  color: #fff;
}

.page-products-catalog .pcat-cat__title {
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 2.2vw, 2.05rem);
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.1;
}

.page-products-catalog .pcat-cat__desc {
  color: rgba(255, 250, 243, 0.78);
  font-size: 0.88rem;
  line-height: 1.55;
  max-width: 26ch;
  opacity: 0.92;
  transform: translateY(0.35rem);
  transition:
    opacity 0.45s var(--ease),
    transform 0.45s var(--ease);
}

.page-products-catalog .pcat-cat__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.65rem;
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 250, 243, 0.92);
}

.page-products-catalog .pcat-cat__arrow {
  display: inline-block;
  transition: transform 0.45s var(--ease);
}

@media (hover: hover) and (pointer: fine) {
  .page-products-catalog .pcat-cat:hover .pcat-cat__img {
    transform: scale(1.1);
  }

  .page-products-catalog .pcat-cat:hover .pcat-cat__overlay {
    opacity: 1;
  }

  .page-products-catalog .pcat-cat:hover .pcat-cat__desc {
    opacity: 1;
    transform: translateY(0);
  }

  .page-products-catalog .pcat-cat:hover .pcat-cat__arrow {
    transform: translateX(6px);
  }
}

/* Featured ?? asymmetric editorial */
.page-products-catalog .pcat-featured {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  grid-template-areas:
    "lead side-a"
    "lead side-b"
    "wide wide";
  gap: clamp(1.15rem, 2.4vw, 1.85rem);
}

.page-products-catalog .pcat-feat-card--lead {
  grid-area: lead;
}

.page-products-catalog .pcat-featured > .pcat-feat-card:nth-child(2) {
  grid-area: side-a;
}

.page-products-catalog .pcat-featured > .pcat-feat-card:nth-child(3) {
  grid-area: side-b;
}

.page-products-catalog .pcat-feat-card--wide {
  grid-area: wide;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  align-items: stretch;
}

.page-products-catalog .pcat-feat-card {
  background: #fff;
  overflow: hidden;
  transition:
    transform 0.55s var(--ease),
    box-shadow 0.55s var(--ease);
}

.page-products-catalog .pcat-feat-card--lead {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.page-products-catalog .pcat-feat-card--lead .pcat-feat-card__media {
  flex: 1 1 auto;
  aspect-ratio: auto;
  min-height: clamp(22rem, 48vw, 36rem);
}

.page-products-catalog .pcat-feat-card--wide .pcat-feat-card__media {
  aspect-ratio: auto;
  min-height: clamp(16rem, 28vw, 22rem);
}

.page-products-catalog .pcat-feat-card__media {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--sand);
}

.page-products-catalog .pcat-feat-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.95s var(--ease);
}

.page-products-catalog .pcat-feat-card__body {
  display: grid;
  gap: 0.45rem;
  padding: clamp(1.25rem, 2.5vw, 1.85rem);
  align-content: start;
}

.page-products-catalog .pcat-feat-card__body h3 {
  font-size: clamp(1.55rem, 2.2vw, 2.15rem);
  letter-spacing: -0.015em;
}

.page-products-catalog .pcat-feat-card--lead .pcat-feat-card__body h3 {
  font-size: clamp(1.85rem, 2.8vw, 2.55rem);
}

.page-products-catalog .pcat-feat-card__body p {
  color: var(--stone);
  font-size: 0.95rem;
  line-height: 1.65;
  max-width: 36ch;
  margin-bottom: 0.35rem;
}

.page-products-catalog .pcat-feat-card__body .link-arrow {
  justify-self: start;
  transition: letter-spacing 0.4s var(--ease), gap 0.4s var(--ease);
}

@media (hover: hover) and (pointer: fine) {
  .page-products-catalog .pcat-feat-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 52px rgba(44, 38, 32, 0.1);
  }

  .page-products-catalog .pcat-feat-card:hover .pcat-feat-card__media img {
    transform: scale(1.07);
  }
}

/* All products toolbar + sticky filter */
.page-products-catalog .pcat-toolbar {
  position: sticky;
  top: 4.75rem;
  z-index: 30;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin: 0 0 clamp(1.75rem, 3.5vw, 2.5rem);
  padding: 0.85rem 0 1rem;
  background: linear-gradient(180deg, var(--cream) 70%, rgba(243, 241, 238, 0));
  border-bottom: 1px solid var(--line);
}

.page-products-catalog .pcat-section--white .pcat-toolbar {
  background: linear-gradient(180deg, #fff 70%, rgba(255, 255, 255, 0));
}

.page-products-catalog .pcat-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.35rem;
}

.page-products-catalog .pcat-filter a {
  position: relative;
  padding: 0.35rem 0;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--stone);
  transition: color 0.3s ease;
}

.page-products-catalog .pcat-filter a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s var(--ease);
}

.page-products-catalog .pcat-filter a:hover,
.page-products-catalog .pcat-filter a.is-active {
  color: var(--ink);
}

.page-products-catalog .pcat-filter a.is-active::after,
.page-products-catalog .pcat-filter a:hover::after {
  transform: scaleX(1);
}

.page-products-catalog .pcat-search input {
  width: min(100%, 16rem);
  border: 0;
  border-bottom: 1px solid var(--line-2);
  background: transparent;
  padding: 0.55rem 0;
  font-family: var(--font-body);
  font-size: 0.88rem;
  font-weight: 300;
  color: var(--ink);
  outline: none;
  transition: border-color 0.3s ease;
}

.page-products-catalog .pcat-search input::placeholder {
  color: var(--accent);
}

.page-products-catalog .pcat-search input:focus {
  border-bottom-color: var(--brown-mid);
}

.page-products-catalog .pcat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1.15rem, 2.2vw, 1.75rem);
}

.page-products-catalog .pcat-card {
  background: #fff;
  overflow: hidden;
  transition:
    transform 0.55s var(--ease),
    box-shadow 0.55s var(--ease),
    opacity 0.4s ease;
}

.page-products-catalog .pcat-card[hidden],
.page-products-catalog .pcat-card.is-filtered-out {
  display: none !important;
}

.page-products-catalog .pcat-card__media {
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: var(--sand);
}

.page-products-catalog .pcat-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.9s var(--ease);
}

.page-products-catalog .pcat-card__body {
  display: grid;
  gap: 0.35rem;
  padding: 1.15rem 1.15rem 1.35rem;
}

.page-products-catalog .pcat-card__body h3 {
  font-size: clamp(1.25rem, 1.6vw, 1.45rem);
  letter-spacing: -0.01em;
}

.page-products-catalog .pcat-card__body p {
  color: var(--stone);
  font-size: 0.88rem;
  line-height: 1.6;
  margin-bottom: 0.25rem;
}

.page-products-catalog .pcat-card__body .link-arrow {
  justify-self: start;
}

@media (hover: hover) and (pointer: fine) {
  .page-products-catalog .pcat-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 44px rgba(44, 38, 32, 0.1);
  }

  .page-products-catalog .pcat-card:hover .pcat-card__media img {
    transform: scale(1.06);
  }
}

.page-products-catalog .pcat-empty {
  text-align: left;
  color: var(--stone);
  margin-top: 2rem;
}

/* Customisation ?? material photos, asymmetric hero + stack */
.page-products-catalog .pcat-custom {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: clamp(1.15rem, 2.4vw, 1.85rem);
  align-items: stretch;
}

.page-products-catalog .pcat-custom__side {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.15rem, 2.4vw, 1.85rem);
}

.page-products-catalog .pcat-custom__card {
  display: flex;
  flex-direction: column;
  background: #fff;
  overflow: hidden;
  transition:
    transform 0.55s var(--ease),
    box-shadow 0.55s var(--ease);
}

.page-products-catalog .pcat-custom__card--hero {
  min-height: 100%;
}

.page-products-catalog .pcat-custom__card--hero .pcat-custom__media {
  flex: 1 1 auto;
  aspect-ratio: auto;
  min-height: clamp(22rem, 48vw, 34rem);
}

.page-products-catalog .pcat-custom__media {
  position: relative;
  aspect-ratio: 5 / 3.4;
  overflow: hidden;
  background: var(--sand);
}

.page-products-catalog .pcat-custom__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.95s var(--ease);
}

.page-products-catalog .pcat-custom__body {
  display: grid;
  gap: 0.4rem;
  padding: clamp(1.15rem, 2.2vw, 1.55rem) clamp(1.05rem, 2vw, 1.35rem)
    clamp(1.35rem, 2.5vw, 1.75rem);
}

.page-products-catalog .pcat-custom__body h3 {
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2vw, 1.95rem);
  font-weight: 500;
  color: var(--ink);
  margin: 0;
  letter-spacing: -0.015em;
  line-height: 1.15;
}

.page-products-catalog .pcat-custom__body p {
  font-family: var(--font-body);
  color: rgba(44, 38, 32, 0.72);
  font-size: 0.92rem;
  line-height: 1.65;
  margin: 0;
  max-width: 32ch;
}

.page-products-catalog .pcat-custom__card--hero .pcat-custom__body p {
  max-width: 38ch;
}

@media (hover: hover) and (pointer: fine) {
  .page-products-catalog .pcat-custom__card:hover {
    transform: translateY(-7px);
    box-shadow: 0 22px 48px rgba(44, 38, 32, 0.1);
  }

  .page-products-catalog .pcat-custom__card:hover .pcat-custom__media img {
    transform: scale(1.07);
  }
}
.page-products-catalog .pcat-swatches {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.75rem;
  margin-top: clamp(2.25rem, 4vw, 3.25rem);
  padding-top: clamp(1.5rem, 3vw, 2rem);
  border-top: 1px solid rgba(44, 38, 32, 0.12);
}

.page-products-catalog .pcat-swatch {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  background: var(--sw, var(--taupe));
  border: 1px solid rgba(44, 38, 32, 0.18);
  box-shadow: inset 0 0 0 2px #fff;
  transition: transform 0.4s var(--ease);
  cursor: default;
}

@media (hover: hover) and (pointer: fine) {
  .page-products-catalog .pcat-swatch:hover {
    transform: scale(1.12);
  }
}

/* Why choose ?? numbered monumental editorial (about-values DNA) */
.page-products-catalog .pcat-why {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  gap: clamp(2.5rem, 6vw, 5.5rem);
  align-items: start;
}

.page-products-catalog .pcat-why__intro {
  position: sticky;
  top: calc(var(--header-h) + 2rem);
  text-align: left;
}

.page-products-catalog .pcat-why__intro .eyebrow {
  display: block;
  margin-bottom: 1rem;
  color: var(--brown-mid);
}

.page-products-catalog .pcat-why__intro h2 {
  font-family: var(--font-display);
  font-size: clamp(2.55rem, 5vw, 4rem);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 0 0 1rem;
  max-width: 10ch;
}

.page-products-catalog .pcat-why__intro p {
  margin: 0;
  max-width: 34ch;
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--stone);
}

.page-products-catalog .pcat-why__list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(44, 38, 32, 0.18);
}

.page-products-catalog .pcat-why__item {
  display: grid;
  grid-template-columns: 4.75rem 1fr;
  gap: clamp(1rem, 3vw, 2.5rem);
  padding: clamp(2rem, 3.5vw, 2.85rem) 0;
  border-bottom: 1px solid rgba(44, 38, 32, 0.18);
  transition: background 0.4s var(--ease), padding-left 0.45s var(--ease);
}

.page-products-catalog .pcat-why__num {
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  letter-spacing: 0.08em;
  color: #1A1510;
  opacity: 1;
  padding-top: 0.45rem;
}

.page-products-catalog .pcat-why__copy h3 {
  font-family: var(--font-display);
  font-size: clamp(1.85rem, 3.2vw, 2.65rem);
  font-weight: 500;
  color: var(--ink);
  margin: 0 0 0.65rem;
  letter-spacing: -0.02em;
  line-height: 1.1;
  transition: color 0.4s var(--ease);
}

.page-products-catalog .pcat-why__copy p {
  margin: 0;
  color: #3A271C;
  opacity: 1;
  font-size: 0.98rem;
  line-height: 1.7;
  max-width: 42ch;
}

@media (hover: hover) and (pointer: fine) {
  .page-products-catalog .pcat-why__item:hover {
    padding-left: 0.55rem;
  }

  .page-products-catalog .pcat-why__item:hover .pcat-why__copy h3 {
    color: var(--brown-mid);
  }
}

/* Gallery ?? furniture lifestyle only */
.page-products-catalog .pcat-gallery {
  column-count: 3;
  column-gap: clamp(0.85rem, 1.8vw, 1.25rem);
}

.page-products-catalog .pcat-gallery__item {
  display: block;
  break-inside: avoid;
  margin: 0 0 clamp(0.85rem, 1.8vw, 1.25rem);
  color: inherit;
}

.page-products-catalog .pcat-gallery__media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: var(--sand);
}

.page-products-catalog .pcat-gallery__item--tall .pcat-gallery__media {
  aspect-ratio: 3 / 4.4;
}

.page-products-catalog .pcat-gallery__img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transition: transform 0.85s var(--ease);
}

.page-products-catalog .pcat-gallery__img--1 {
  background-image: url("https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?auto=format&fit=crop&w=1200&q=85");
}

.page-products-catalog .pcat-gallery__img--2 {
  background-image: url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=1200&q=85");
}

.page-products-catalog .pcat-gallery__img--3 {
  background-image: url("https://images.unsplash.com/photo-1586023492125-27b2c045efd7?auto=format&fit=crop&w=1200&q=85");
}

.page-products-catalog .pcat-gallery__img--4 {
  background-image: url("https://images.unsplash.com/photo-1493663284031-b7e3aefcae8e?auto=format&fit=crop&w=1200&q=85");
}

.page-products-catalog .pcat-gallery__img--5 {
  background-image: url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1200&q=85");
}

.page-products-catalog .pcat-gallery__img--6 {
  background-image: url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1200&q=85");
}

.page-products-catalog .pcat-gallery__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--brown-deep);
  opacity: 0;
  transition: opacity 0.45s var(--ease);
  pointer-events: none;
}

.page-products-catalog .pcat-gallery__action {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  transform: translate(-50%, -40%);
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #fff;
  opacity: 0;
  transition: opacity 0.4s var(--ease), transform 0.45s var(--ease);
  pointer-events: none;
  white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
  .page-products-catalog .pcat-gallery__item:hover .pcat-gallery__img {
    transform: scale(1.07);
  }

  .page-products-catalog .pcat-gallery__item:hover .pcat-gallery__overlay {
    opacity: 0.42;
  }

  .page-products-catalog .pcat-gallery__item:hover .pcat-gallery__action {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}

.page-products-catalog .pcat-gallery__meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.85rem 0.1rem 0.25rem;
}

.page-products-catalog .pcat-gallery__name {
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 1.6vw, 1.35rem);
  letter-spacing: -0.01em;
}

.page-products-catalog .pcat-gallery__cat {
  font-size: 0.66rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--stone);
}

.page-products-catalog .pcat-gallery__more {
  display: flex;
  justify-content: flex-start;
  margin-top: clamp(2rem, 4vw, 3rem);
}

.page-products-catalog .pcat-gallery__more .btn--line {
  transition: color 0.45s var(--ease), background 0.45s var(--ease), gap 0.45s var(--ease);
}

/* FAQ polish */
.page-products-catalog #product-faq .pcat-head {
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.page-products-catalog #product-faq .faq-item {
  border-color: rgba(44, 38, 32, 0.16);
}

.page-products-catalog #product-faq .faq-item button {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 500;
  letter-spacing: -0.01em;
}

/* CTA ?? shared editorial bar (photo strip removed) */
.page-products-catalog .site-cta__media {
  display: none;
}

/* Legacy pcat-cta (detail / older) */
.page-products-catalog .pcat-cta {
  position: relative;
  min-height: 58vh;
  display: grid;
  place-items: center start;
  text-align: left;
  overflow: hidden;
  color: var(--cream);
  background: var(--black);
}

.page-products-catalog .pcat-cta__media {
  position: absolute;
  inset: -8% 0;
  background:
    url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=2200&q=85")
      58% 45% / cover no-repeat;
  will-change: transform;
}

.page-products-catalog .pcat-cta__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(95deg, rgba(18, 12, 8, 0.72) 0%, rgba(18, 12, 8, 0.35) 55%, rgba(18, 12, 8, 0.4) 100%);
}

.page-products-catalog .pcat-cta__content {
  position: relative;
  z-index: 2;
  padding: clamp(4rem, 10vw, 7rem) clamp(1.5rem, 6vw, 5rem);
  max-width: 40rem;
  text-align: left;
}

.page-products-catalog .pcat-cta__content h2 {
  font-size: clamp(2.2rem, 4.5vw, 3.4rem);
  letter-spacing: -0.02em;
  margin-bottom: 0.85rem;
}

.page-products-catalog .pcat-cta__content p {
  opacity: 0.82;
  margin-bottom: 1.75rem;
  font-size: 1.05rem;
}

.page-products-catalog .pcat-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
}

.page-products-catalog .pcat-cta__arrow {
  display: inline-block;
  transition: transform 0.45s var(--ease);
}

.page-products-catalog .pcat-cta__btn:hover .pcat-cta__arrow {
  transform: translateX(6px);
}

/* nofx / reduced-motion safety for products premium */
html.nofx .page-products-catalog .product-hero__media,
html.nofx .page-products-catalog .product-hero__cta,
html.nofx .page-products-catalog .product-hero__cta::before,
html.nofx .page-products-catalog .pcat-cat__img,
html.nofx .page-products-catalog .pcat-cat__overlay,
html.nofx .page-products-catalog .pcat-cat__desc,
html.nofx .page-products-catalog .pcat-cat__arrow,
html.nofx .page-products-catalog .pcat-feat-card,
html.nofx .page-products-catalog .pcat-feat-card__media img,
html.nofx .page-products-catalog .pcat-card,
html.nofx .page-products-catalog .pcat-card__media img,
html.nofx .page-products-catalog .pcat-custom__card,
html.nofx .page-products-catalog .pcat-custom__media,
html.nofx .page-products-catalog .pcat-swatch,
html.nofx .page-products-catalog .pcat-why__item,
html.nofx .page-products-catalog .pcat-why__copy h3,
html.nofx .page-products-catalog .pcat-gallery__img,
html.nofx .page-products-catalog .pcat-gallery__overlay,
html.nofx .page-products-catalog .pcat-gallery__action,
.fx-off .page-products-catalog .product-hero__media,
.fx-off .page-products-catalog .product-hero__cta,
.fx-off .page-products-catalog .product-hero__cta::before,
.fx-off .page-products-catalog .pcat-cat__img,
.fx-off .page-products-catalog .pcat-cat__overlay,
.fx-off .page-products-catalog .pcat-cat__desc,
.fx-off .page-products-catalog .pcat-cat__arrow,
.fx-off .page-products-catalog .pcat-feat-card,
.fx-off .page-products-catalog .pcat-feat-card__media img,
.fx-off .page-products-catalog .pcat-card,
.fx-off .page-products-catalog .pcat-card__media img,
.fx-off .page-products-catalog .pcat-custom__card,
.fx-off .page-products-catalog .pcat-custom__media,
.fx-off .page-products-catalog .pcat-swatch,
.fx-off .page-products-catalog .pcat-why__item,
.fx-off .page-products-catalog .pcat-why__copy h3,
.fx-off .page-products-catalog .pcat-gallery__img,
.fx-off .page-products-catalog .pcat-gallery__overlay,
.fx-off .page-products-catalog .pcat-gallery__action {
  transition: none !important;
  animation: none !important;
}

html.nofx .page-products-catalog .pcat-cat__desc,
.fx-off .page-products-catalog .pcat-cat__desc {
  opacity: 1;
  transform: none;
}

html.nofx .page-products-catalog .pcat-feat-card:hover,
html.nofx .page-products-catalog .pcat-card:hover,
html.nofx .page-products-catalog .pcat-custom__card:hover,
.fx-off .page-products-catalog .pcat-feat-card:hover,
.fx-off .page-products-catalog .pcat-card:hover,
.fx-off .page-products-catalog .pcat-custom__card:hover {
  transform: none;
  box-shadow: none;
}

html.nofx .page-products-catalog .pcat-feat-card:hover .pcat-feat-card__media img,
html.nofx .page-products-catalog .pcat-card:hover .pcat-card__media img,
html.nofx .page-products-catalog .pcat-custom__card:hover .pcat-custom__media,
html.nofx .page-products-catalog .pcat-cat:hover .pcat-cat__img,
.fx-off .page-products-catalog .pcat-feat-card:hover .pcat-feat-card__media img,
.fx-off .page-products-catalog .pcat-card:hover .pcat-card__media img,
.fx-off .page-products-catalog .pcat-custom__card:hover .pcat-custom__media,
.fx-off .page-products-catalog .pcat-cat:hover .pcat-cat__img {
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .page-products-catalog .product-hero__cta::before,
  .page-products-catalog .pcat-cat__img,
  .page-products-catalog .pcat-feat-card,
  .page-products-catalog .pcat-feat-card__media img,
  .page-products-catalog .pcat-card,
  .page-products-catalog .pcat-card__media img,
  .page-products-catalog .pcat-custom__card,
  .page-products-catalog .pcat-custom__media,
  .page-products-catalog .pcat-gallery__img {
    transition: none !important;
    animation: none !important;
  }
}

@media (max-width: 1100px) {
  .page-products-catalog .pcat-cats {
    grid-template-columns: repeat(2, 1fr);
  }

  .page-products-catalog .pcat-featured {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "lead lead"
      "side-a side-b"
      "wide wide";
  }

  .page-products-catalog .pcat-feat-card--lead .pcat-feat-card__media {
    min-height: clamp(18rem, 52vw, 28rem);
  }

  .page-products-catalog .pcat-feat-card--wide {
    grid-template-columns: 1fr 1fr;
  }

  .page-products-catalog .pcat-custom {
    grid-template-columns: 1fr 1fr;
  }

  .page-products-catalog .pcat-custom__card:nth-child(1) {
    grid-row: auto;
  }

  .page-products-catalog .pcat-custom__card:nth-child(1) .pcat-custom__media {
    min-height: 0;
    aspect-ratio: 5 / 3.6;
  }

  .page-products-catalog .pcat-why {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .page-products-catalog .pcat-why__intro {
    position: static;
  }

  .page-products-catalog .pcat-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .page-products-catalog .pcat-gallery {
    column-count: 2;
  }
}

@media (max-width: 720px) {
  .page-products-catalog .pcat-cats,
  .page-products-catalog .pcat-featured,
  .page-products-catalog .pcat-custom,
  .page-products-catalog .pcat-grid {
    grid-template-columns: 1fr;
  }

  .page-products-catalog .pcat-featured {
    grid-template-areas:
      "lead"
      "side-a"
      "side-b"
      "wide";
  }

  .page-products-catalog .pcat-feat-card--wide {
    grid-template-columns: 1fr;
  }

  .page-products-catalog .pcat-why__item {
    grid-template-columns: 3.25rem 1fr;
    gap: 1rem;
  }

  .page-products-catalog .pcat-gallery {
    column-count: 1;
  }

  .page-products-catalog .pcat-toolbar {
    position: sticky;
    top: 4.25rem;
    flex-direction: column;
    align-items: stretch;
  }

  .page-products-catalog .pcat-search input {
    width: 100%;
  }

  .page-products-catalog .pcat-head h2,
  .page-products-catalog .pcat-why__intro h2 {
    max-width: none;
  }
}

/* ========== PRODUCT DETAIL (page-product-detail) ?? VPI317CV ========== */
.page-product-detail {
  background: var(--bg);
  color: var(--ink);
}

.page-product-detail .pdet-hero {
  padding: clamp(7.5rem, 14vw, 10rem) 0 clamp(4rem, 8vw, 6rem);
}

.page-product-detail .pdet-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}

.page-product-detail .pdet-hero__media {
  overflow: hidden;
  background: #ede4d4;
  aspect-ratio: 5 / 4;
}

.page-product-detail .pdet-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.9s var(--ease);
}

.page-product-detail .pdet-hero__media:hover img {
  transform: scale(1.03);
}

.page-product-detail .pdet-back {
  display: inline-flex;
  margin-bottom: 1.5rem;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-product-detail .pdet-hero__copy .eyebrow {
  display: block;
  margin-bottom: 0.75rem;
}

.page-product-detail .pdet-hero__copy h1 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.35rem, 5vw, 3.75rem);
  letter-spacing: -0.02em;
  line-height: 1.05;
  margin: 0 0 1.1rem;
}

.page-product-detail .pdet-hero__lead {
  font-size: 1.1rem;
  line-height: 1.55;
  color: var(--brown);
  margin-bottom: 1rem;
}

.page-product-detail .pdet-hero__copy > p {
  color: rgba(44, 38, 32, 0.78);
  line-height: 1.7;
  max-width: 34rem;
}

.page-product-detail .pdet-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 2rem;
}

.page-product-detail .pdet-related {
  padding-block: clamp(4.5rem, 9vw, 7rem);
  background: #fff;
}

.page-product-detail .pdet-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.page-product-detail .pdet-related .pcat-card {
  background: var(--bg);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 0.45s var(--ease), box-shadow 0.45s var(--ease);
}

.page-product-detail .pdet-related .pcat-card__media {
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

.page-product-detail .pdet-related .pcat-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--ease);
}

.page-product-detail .pdet-related .pcat-card__body {
  padding: 1.25rem 1.25rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  flex: 1;
}

.page-product-detail .pdet-related .pcat-card__body h3 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.45rem;
  margin: 0;
}

.page-product-detail .pdet-related .pcat-card__body p {
  color: rgba(44, 38, 32, 0.72);
  font-size: 0.95rem;
  line-height: 1.55;
  margin: 0;
  flex: 1;
}

.page-product-detail .pdet-related .pcat-card:hover {
  transform: translateY(-4px);
}

.page-product-detail .pdet-related .pcat-card:hover .pcat-card__media img {
  transform: scale(1.04);
}

.page-product-detail .pdet-related__more {
  margin-top: 2.5rem;
  text-align: center;
}

.page-product-detail .pcat-cta {
  position: relative;
  min-height: clamp(22rem, 48vw, 30rem);
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--cream);
  text-align: center;
}

.page-product-detail .pcat-cta__media {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(44, 38, 32, 0.55), rgba(64, 48, 34, 0.35)),
    url("https://images.unsplash.com/photo-1618220179428-22790b461013?auto=format&fit=crop&w=1800&q=80")
      center / cover no-repeat;
  transform: scale(1.08);
}

.page-product-detail .pcat-cta__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(44, 38, 32, 0.35), rgba(44, 38, 32, 0.62));
}

.page-product-detail .pcat-cta__content {
  position: relative;
  z-index: 1;
  padding: 3rem 1.5rem;
  max-width: 36rem;
}

.page-product-detail .pcat-cta__content h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2rem, 4.5vw, 3rem);
  margin: 0 0 0.85rem;
}

.page-product-detail .pcat-cta__content p {
  margin: 0 0 1.5rem;
  color: rgba(243, 241, 238, 0.88);
}

.page-product-detail .pcat-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
}

.page-product-detail .pcat-cta__arrow {
  display: inline-block;
  transition: transform 0.45s var(--ease);
}

.page-product-detail .pcat-cta__btn:hover .pcat-cta__arrow {
  transform: translateX(5px);
}

@media (max-width: 900px) {
  .page-product-detail .pdet-hero__grid,
  .page-product-detail .pdet-related__grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   FAQ page (.page-faq) ?? Apple Support / BoConcept / Herman Miller
   ========================================================================== */

.page-faq {
  --faq-ink: #3d3228;
  --faq-cream: #f7f0e6;
  --faq-taupe: #d4b896;
  --faq-cocoa: #c4a882;
  --faq-brown: #6b5744;
  background: var(--bg);
  color: var(--ink);
}

.page-faq .section {
  padding-block: clamp(4.5rem, 9vw, 7.5rem);
}

.page-faq .section-intro {
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.page-faq .section-intro--center {
  text-align: center;
  max-width: 40rem;
  margin-inline: auto;
}

.page-faq .section-intro h2,
.page-faq .faq-help h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: -0.02em;
  line-height: 1.12;
  color: var(--ink);
  margin: 0 0 0.85rem;
}

.page-faq .section-intro p,
.page-faq .faq-help p {
  color: var(--stone);
  font-size: 1.05rem;
  line-height: 1.7;
  max-width: 42ch;
  margin: 0;
}

.page-faq .section-intro--center p {
  margin-inline: auto;
}

.page-faq .eyebrow {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--faq-cocoa);
  margin-bottom: 0.85rem;
}

/* --- Hero (Products-collection style) --- */
.page-faq .faq-hero {
  position: relative;
  min-height: 78vh;
  min-height: 78dvh;
  display: grid;
  align-items: end;
  justify-items: start;
  text-align: left;
  margin-top: 0;
  overflow: hidden;
  color: var(--white);
  background: var(--black);
}

.page-faq .faq-hero__media {
  position: absolute;
  inset: -6% 0;
  background:
    url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=2200&q=85")
      74% center / cover no-repeat;
  will-change: transform;
  transform: scale(1.14);
  opacity: 0.55;
  transition: transform 1.8s cubic-bezier(0.22, 1, 0.36, 1), opacity 1.4s ease;
}

.page-faq .faq-hero.is-ready .faq-hero__media {
  opacity: 1;
  transform: scale(1.08);
}

.page-faq .faq-hero__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(12, 10, 8, 0.8) 0%, rgba(12, 10, 8, 0.48) 38%, rgba(12, 10, 8, 0.16) 66%, rgba(12, 10, 8, 0.32) 100%),
    linear-gradient(180deg, rgba(12, 10, 8, 0.22) 0%, transparent 36%, rgba(12, 10, 8, 0.55) 100%);
}

.page-faq .faq-hero__content {
  position: relative;
  z-index: 2;
  color: var(--white);
  max-width: 44rem;
  padding: clamp(5rem, 12vh, 8rem) clamp(1.75rem, 6vw, 5rem) clamp(3rem, 7vh, 4.5rem);
  margin: 0;
}

.page-faq .faq-hero__label {
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.82);
  margin: 0 0 1.1rem;
}

.page-faq .faq-hero__content h1,
.page-faq .faq-hero__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(3rem, 7vw, 5.6rem);
  line-height: 0.98;
  letter-spacing: -0.02em;
  color: #ffffff;
  max-width: 12ch;
  margin: 0 0 1rem;
  text-align: left;
  min-height: clamp(5rem, 14vw, 8.5rem);
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 1.1s var(--ease) 0.15s, transform 1.1s var(--ease) 0.15s;
}

.page-faq .faq-hero.is-ready .faq-hero__title {
  opacity: 1;
  transform: none;
}

.page-faq .faq-hero .hero-title__fallback {
  text-align: left;
  margin-inline: 0;
  max-width: 12ch;
  color: #ffffff;
}

.page-faq .faq-hero__lead {
  max-width: 36ch;
  margin: 0;
  line-height: 1.7;
  font-size: clamp(1.02rem, 1.45vw, 1.1rem);
  color: rgba(255, 255, 255, 0.92);
}

.page-faq .faq-hero [data-reveal-line] {
  opacity: 0;
  transform: translateY(1.35rem);
  transition: opacity 0.95s var(--ease), transform 0.95s var(--ease);
}

.page-faq .faq-hero [data-reveal-line].is-in {
  opacity: 1;
  transform: none;
}

.page-faq .faq-hero__cta {
  margin-top: 1.75rem;
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  color: var(--cream);
  border-color: rgba(243, 241, 238, 0.55);
}

.page-faq .faq-hero__cta:hover {
  color: var(--ink);
  border-color: var(--cream);
  background: var(--bg);
}

.page-faq .faq-hero__cta-arrow {
  display: inline-block;
  transition: transform 0.45s var(--ease);
}

.page-faq .faq-hero__cta:hover .faq-hero__cta-arrow {
  transform: translateX(5px);
}

/* --- Search --- */
.page-faq .faq-search-section {
  background: var(--white);
  padding-block: clamp(2.75rem, 5vw, 4rem);
}

.page-faq .faq-search-wrap {
  max-width: 44rem;
  margin-inline: auto;
}

.page-faq .faq-search {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  width: 100%;
  padding: 1.05rem 1.35rem;
  border: 1px solid var(--line-2);
  background: #fff;
  transition: border-color 0.35s var(--ease), box-shadow 0.35s var(--ease);
}

.page-faq .faq-search:focus-within {
  border-color: var(--ink);
  box-shadow: 0 0 0 3px rgba(44, 38, 32, 0.08);
}

.page-faq .faq-search__icon {
  flex: 0 0 auto;
  color: var(--accent);
  display: grid;
  place-items: center;
}

.page-faq .faq-search input {
  flex: 1;
  width: 100%;
  border: 0;
  outline: none;
  background: transparent;
  font-family: var(--font-body);
  font-size: 1.05rem;
  color: var(--ink);
  letter-spacing: 0.01em;
}

.page-faq .faq-search input::placeholder {
  color: rgba(44, 38, 32, 0.42);
}

.page-faq .faq-search input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

/* --- Popular --- */
.page-faq .faq-popular-section {
  background: var(--bg);
  padding-block: clamp(3.25rem, 6vw, 5rem);
}

.page-faq .faq-popular__head {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1.5rem;
}

.page-faq .faq-popular__star {
  color: var(--faq-cocoa);
  display: grid;
  place-items: center;
}

.page-faq .faq-popular__head h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.55rem, 2.8vw, 2rem);
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
}

.page-faq .faq-popular__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  border-top: 1px solid var(--line);
}

.page-faq .faq-popular__list li {
  border-bottom: 1px solid var(--line);
}

.page-faq .faq-popular__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 0;
  color: var(--ink);
  text-decoration: none;
  font-size: 1.05rem;
  transition: color 0.3s var(--ease), padding-left 0.35s var(--ease);
}

.page-faq .faq-popular__link::after {
  content: "\2192";
  color: var(--accent);
  font-size: 1rem;
  transition: transform 0.35s var(--ease), color 0.3s;
}

.page-faq .faq-popular__link:hover {
  color: var(--faq-cocoa);
  padding-left: 0.35rem;
}

.page-faq .faq-popular__link:hover::after {
  color: var(--ink);
  transform: translateX(4px);
}

/* --- Category icons --- */
.page-faq .faq-cats-section {
  background: var(--white);
}

.page-faq .faq-cats {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.75rem;
}

.page-faq .faq-cat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
  padding: 1.35rem 0.65rem;
  text-align: center;
  text-decoration: none;
  color: var(--ink);
  border: 1px solid transparent;
  background: transparent;
  transition:
    background 0.35s var(--ease),
    border-color 0.35s var(--ease),
    transform 0.35s var(--ease);
}

.page-faq .faq-cat__icon {
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  color: var(--faq-brown);
  transition: transform 0.4s var(--ease), color 0.3s;
}

.page-faq .faq-cat__label {
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.page-faq .faq-cat:hover {
  background: rgba(243, 241, 238, 0.65);
  border-color: var(--line);
}

.page-faq .faq-cat:hover .faq-cat__icon {
  transform: scale(1.12);
  color: var(--ink);
}

/* --- Accordion layout --- */
.page-faq .faq-main-section {
  background: var(--bg);
}

.page-faq .faq-layout {
  display: grid;
  grid-template-columns: 13.5rem minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}

.page-faq .faq-sidenav {
  position: sticky;
  top: calc(var(--lang-bar-h) + var(--header-h) + 1.25rem);
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding-top: 0.25rem;
}

.page-faq .faq-sidenav a {
  display: block;
  padding: 0.55rem 0.75rem;
  color: var(--stone);
  text-decoration: none;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  border-left: 2px solid transparent;
  transition: color 0.3s, border-color 0.3s, background 0.3s;
}

.page-faq .faq-sidenav a:hover,
.page-faq .faq-sidenav a.is-active {
  color: var(--ink);
  border-left-color: var(--faq-cocoa);
  background: rgba(255, 255, 255, 0.45);
}

.page-faq .faq-panels {
  min-width: 0;
}

.page-faq .faq-group {
  margin-bottom: clamp(2.25rem, 4vw, 3.25rem);
  scroll-margin-top: calc(var(--lang-bar-h) + var(--header-h) + 1.5rem);
}

.page-faq .faq-group:last-child {
  margin-bottom: 0;
}

.page-faq .faq-group.is-hidden {
  display: none;
}

.page-faq .faq-group__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0 0 0.85rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--line);
}

.page-faq .faq-empty {
  padding: 1.5rem 0;
  color: var(--stone);
  font-size: 1.02rem;
}

.page-faq .faq-item {
  scroll-margin-top: calc(var(--lang-bar-h) + var(--header-h) + 1.25rem);
}

.page-faq .faq-item.is-filtered-out {
  display: none;
}

.page-faq .faq-item button {
  font-size: clamp(1.12rem, 1.6vw, 1.28rem);
  line-height: 1.35;
}

.page-faq .faq-item button::after {
  content: "+";
  flex: 0 0 auto;
}

.page-faq .faq-item.is-open button::after {
  content: "\2212";
}

.page-faq .faq-item .faq-answer p {
  color: var(--stone);
  font-size: 1.02rem;
  line-height: 1.7;
  max-width: 58ch;
  margin: 0;
  transform: translateY(-0.35rem);
  transition: transform 0.4s var(--ease);
}

.page-faq .faq-item.is-open .faq-answer p {
  transform: translateY(0);
}

/* --- Still need help --- */
.page-faq .faq-help-section {
  background: #e8e9e5;
  text-align: center;
}

.page-faq .faq-help {
  max-width: 36rem;
  margin-inline: auto;
}

.page-faq .faq-help p {
  margin-inline: auto;
  margin-bottom: 1.75rem;
}

.page-faq .faq-help .btn {
  margin-top: 0.25rem;
}

.page-faq .faq-cta .cta-banner__media {
  background:
    url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=2000&q=80")
      center / cover no-repeat;
}

/* --- nofx / reduced motion --- */
html.nofx .page-faq .faq-hero__media,
.fx-off .page-faq .faq-hero__media {
  opacity: 1 !important;
  transform: scale(1.08) !important;
  animation: none !important;
  transition: none !important;
}

html.nofx .page-faq .faq-hero__label,
html.nofx .page-faq .faq-hero h1,
html.nofx .page-faq .faq-hero__title,
html.nofx .page-faq .faq-hero__lead,
html.nofx .page-faq .faq-hero__cta,
html.nofx .page-faq .faq-hero [data-reveal-line],
.fx-off .page-faq .faq-hero__label,
.fx-off .page-faq .faq-hero h1,
.fx-off .page-faq .faq-hero__title,
.fx-off .page-faq .faq-hero__lead,
.fx-off .page-faq .faq-hero__cta,
.fx-off .page-faq .faq-hero [data-reveal-line] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .page-faq .faq-hero__media {
    opacity: 1 !important;
    transform: scale(1.08) !important;
    animation: none !important;
    transition: none !important;
  }

  .page-faq .faq-hero__label,
  .page-faq .faq-hero h1,
  .page-faq .faq-hero__title,
  .page-faq .faq-hero__lead,
  .page-faq .faq-hero__cta,
  .page-faq .faq-hero [data-reveal-line] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .page-faq .faq-cat:hover .faq-cat__icon {
    transform: none;
  }
}

@media (max-width: 980px) {
  .page-faq .faq-cats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .page-faq .faq-layout {
    grid-template-columns: 1fr;
  }

  .page-faq .faq-sidenav {
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 1.5rem;
  }

  .page-faq .faq-sidenav a {
    border-left: 0;
    border-bottom: 2px solid transparent;
    padding: 0.45rem 0.7rem;
    background: rgba(255, 255, 255, 0.5);
  }

  .page-faq .faq-sidenav a:hover,
  .page-faq .faq-sidenav a.is-active {
    border-left-color: transparent;
    border-bottom-color: var(--faq-cocoa);
  }
}

@media (max-width: 640px) {
  .page-faq .faq-cats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-faq .faq-hero {
    min-height: 68vh;
    min-height: 68dvh;
  }

  .page-faq .faq-hero__content {
    padding-inline: clamp(1.35rem, 5vw, 2rem);
  }

  .page-faq .faq-hero__title {
    min-height: 0;
  }
}


/* ==========================================================================
   PAGE NEWS ?? Apple Newsroom / BoConcept Journal (VPI317CV)
   Cache: 20260728newsprem ?? Cormorant + Outfit ?? no glass
   ========================================================================== */

.page-news {
  color: var(--ink);
  background: var(--bg);
}

.page-news .section,
.page-news .news-section {
  padding: clamp(6.5rem, 12vw, 9.5rem) 0;
}

.page-news .section-intro,
.page-news .news-intro {
  max-width: 38rem;
  margin-bottom: clamp(2.75rem, 5.5vw, 4.25rem);
}

.page-news .section-intro h2,
.page-news .news-intro h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.55rem, 4.8vw, 3.85rem);
  letter-spacing: -0.025em;
  line-height: 1.05;
  color: var(--ink);
  margin: 0.4rem 0 0.9rem;
}

.page-news .section-intro p,
.page-news .news-intro p {
  font-size: 1.06rem;
  font-weight: 400;
  line-height: 1.72;
  color: rgba(44, 38, 32, 0.72);
  max-width: 34rem;
  margin: 0;
}

.page-news .eyebrow {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--brown-mid);
}

.page-news .news-date {
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 0.55rem;
}

.page-news .news-kicker {
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brown-mid);
  margin: 0 0 0.35rem;
}

.page-news .news-more {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-top: 1.25rem;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink);
  border-bottom: 1px solid rgba(44, 38, 32, 0.22);
  padding-bottom: 0.15rem;
  transition: color 0.35s var(--ease), border-color 0.35s;
}

.page-news .news-more:hover {
  color: var(--brown-mid);
  border-color: var(--brown-mid);
}

.page-news .news-more__arrow {
  display: inline-block;
  width: 1.1em;
  transition: transform 0.45s var(--ease);
}

.page-news .news-more__arrow::before {
  content: "\2192";
}

.page-news .news-more:hover .news-more__arrow {
  transform: translateX(5px);
}

.page-news .news-section--white { background: transparent; }
.page-news .news-section--cream {
  background-color: var(--bg);
  background-image: var(--grad-page);
}

/* --- Hero --- */
.page-news .news-hero {
  position: relative;
  isolation: isolate;
  min-height: 92vh;
  min-height: 92dvh;
  display: grid;
  align-items: end;
  justify-items: start;
  text-align: left;
  overflow: hidden;
  color: var(--cream);
  background: var(--black);
  z-index: 1;
}

.page-news .news-hero__media {
  position: absolute;
  inset: -8% 0;
  z-index: 0;
  background:
    url("https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?auto=format&fit=crop&w=2400&q=88")
      50% 45% / cover no-repeat;
  opacity: 1;
  transform: scale(1.04);
  will-change: transform;
}

html.has-motion .page-news .news-hero__media {
  opacity: 0.5;
  transform: scale(1.14);
  transition: transform 1.9s cubic-bezier(0.22, 1, 0.36, 1), opacity 1.5s ease;
}

html.has-motion .page-news .news-hero.is-ready .news-hero__media {
  opacity: 1;
  transform: scale(1.06);
  animation: news-kenburns 22s ease-out forwards;
}

.page-news .news-hero__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(12, 10, 8, 0.82) 0%, rgba(12, 10, 8, 0.28) 48%, rgba(12, 10, 8, 0.45) 100%),
    linear-gradient(180deg, rgba(12, 10, 8, 0.22) 0%, transparent 42%, rgba(12, 10, 8, 0.78) 100%);
}

.page-news .news-hero__content {
  position: relative;
  z-index: 2;
  width: min(100% - 2rem, 44rem);
  max-width: 44rem;
  margin: 0;
  padding:
    calc(var(--lang-bar-h) + var(--header-h) + clamp(2.5rem, 6vh, 4.5rem))
    clamp(1.5rem, 5vw, 4.5rem)
    clamp(3.25rem, 8vh, 5.25rem);
  color: var(--cream);
}

.page-news .news-hero__label {
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: rgba(160, 147, 125, 0.9);
  margin: 0 0 1.1rem;
}

.page-news .news-hero__title,
.page-news .news-hero h1 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(3.1rem, 7vw, 5.6rem);
  line-height: 0.96;
  letter-spacing: -0.03em;
  color: var(--cream);
  max-width: 13ch;
  margin: 0 0 1.2rem;
  text-align: left;
}

.page-news .news-hero__lead {
  max-width: 36ch;
  font-size: clamp(1.02rem, 1.45vw, 1.18rem);
  font-weight: 400;
  line-height: 1.72;
  color: rgba(255, 250, 243, 0.88);
  margin: 0;
}

.page-news .news-hero__cta {
  margin-top: 1.9rem;
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  color: var(--cream);
  border-color: rgba(243, 241, 238, 0.5);
  background: transparent;
}

.page-news .news-hero__cta:hover {
  color: var(--ink);
  border-color: var(--cream);
  background: var(--bg);
}

.page-news .news-hero__cta-arrow {
  display: inline-block;
  transition: transform 0.45s var(--ease);
}

.page-news .news-hero__cta:hover .news-hero__cta-arrow {
  transform: translateX(5px);
}

.page-news .news-hero [data-reveal-line] {
  opacity: 1;
  transform: none;
}

html.has-motion .page-news .news-hero:not(.is-ready) [data-reveal-line] {
  opacity: 0;
  transform: translateY(1.4rem);
}

html.has-motion .page-news .news-hero [data-reveal-line] {
  transition: opacity 0.95s var(--ease), transform 0.95s var(--ease);
}

html.has-motion .page-news .news-hero [data-reveal-line].is-in {
  opacity: 1;
  transform: none;
}

.page-news .news-hero__title {
  opacity: 1;
  transform: none;
}

html.has-motion .page-news .news-hero:not(.is-ready) .news-hero__title {
  opacity: 0;
  transform: translateY(1.6rem);
}

html.has-motion .page-news .news-hero__title {
  transition: opacity 1.15s var(--ease) 0.12s, transform 1.15s var(--ease) 0.12s;
}

html.has-motion .page-news .news-hero.is-ready .news-hero__title {
  opacity: 1;
  transform: none;
}

@keyframes news-kenburns {
  from { transform: scale(1.06); }
  to { transform: scale(1); }
}

/* --- Sticky filter --- */
.page-news .news-filter {
  position: sticky;
  top: calc(var(--header-h) - 0.15rem);
  z-index: 35;
  background: #fff;
  border-bottom: 1px solid rgba(42, 42, 40, 0.1);
}

.page-news .news-filter__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.1rem 0.2rem;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 0.85rem 0.25rem 0.95rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.page-news .news-filter__inner::-webkit-scrollbar {
  display: none;
}

.page-news .news-filter__btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: rgba(44, 38, 32, 0.42);
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 0.6rem 1.05rem;
  cursor: pointer;
  position: relative;
  white-space: nowrap;
  transition: color 0.35s var(--ease);
}

.page-news .news-filter__btn::after {
  content: "";
  position: absolute;
  left: 1.05rem;
  right: 1.05rem;
  bottom: 0.2rem;
  height: 1px;
  background: var(--ink);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.4s var(--ease);
}

.page-news .news-filter__btn:hover,
.page-news .news-filter__btn.is-active {
  color: var(--ink);
}

.page-news .news-filter__btn.is-active::after,
.page-news .news-filter__btn:hover::after {
  transform: scaleX(1);
}

/* --- Featured magazine spread --- */
.page-news .news-feature {
  display: grid;
  grid-template-columns: 1.28fr 0.72fr;
  gap: clamp(2rem, 4.5vw, 4rem);
  align-items: center;
  position: relative;
  margin-bottom: 0;
}

.page-news .news-feature__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 5 / 4;
  background: var(--sand);
  min-height: min(58vh, 32rem);
}

.page-news .news-feature__img {
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 1.2s var(--ease);
}

.page-news .news-feature:hover .news-feature__img {
  transform: scale(1.045);
}

.page-news .news-feature__body {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding-right: clamp(0, 2vw, 1.5rem);
}

.page-news .news-feature__body h3 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.2rem, 4vw, 3.35rem);
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 0 0 1rem;
  line-height: 1.08;
}

.page-news .news-feature__excerpt {
  font-size: 1.08rem;
  font-weight: 400;
  line-height: 1.75;
  color: rgba(44, 38, 32, 0.74);
  margin: 0;
}

/* --- Latest journal 2-col --- */
.page-news .news-journal {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2.5rem, 5vw, 4rem) clamp(1.75rem, 3.5vw, 3rem);
}

.page-news .news-journal__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  transition: transform 0.55s var(--ease);
}

.page-news .news-journal__card:hover {
  transform: translateY(-6px);
}

.page-news .news-journal__media {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: var(--sand);
  margin-bottom: 1.35rem;
}

.page-news .news-journal__card:nth-child(odd) .news-journal__media {
  aspect-ratio: 4 / 3;
}

.page-news .news-journal__img {
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 1.05s var(--ease);
}

.page-news .news-journal__card:hover .news-journal__img {
  transform: scale(1.06);
}

.page-news .news-journal__body h3 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.65rem, 2.6vw, 2.15rem);
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 0.65rem;
  line-height: 1.15;
}

.page-news .news-journal__body h3 a {
  color: inherit;
  text-decoration: none;
}

.page-news .news-journal__body h3 a:hover {
  color: var(--brown-mid);
}

.page-news .news-journal__body > p:not(.news-date):not(.news-kicker) {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.68;
  color: rgba(44, 38, 32, 0.7);
  margin: 0;
  max-width: 36ch;
}

/* --- Product launch --- */
.page-news .news-launch {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  gap: clamp(1.35rem, 2.8vw, 2.25rem);
  align-items: start;
}

.page-news .news-launch__card {
  min-width: 0;
  transition: transform 0.5s var(--ease);
}

.page-news .news-launch__card:hover {
  transform: translateY(-5px);
}

.page-news .news-launch__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: var(--sand);
  margin-bottom: 1.25rem;
}

.page-news .news-launch__card--lead .news-launch__media {
  aspect-ratio: 4 / 5;
  min-height: 28rem;
}

.page-news .news-launch__img {
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 1.05s var(--ease);
}

.page-news .news-launch__card:hover .news-launch__img {
  transform: scale(1.055);
}

.page-news .news-launch__body h3 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.45rem, 2.2vw, 1.85rem);
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 0.55rem;
  line-height: 1.18;
}

.page-news .news-launch__card--lead .news-launch__body h3 {
  font-size: clamp(1.75rem, 2.8vw, 2.35rem);
}

.page-news .news-launch__body > p:not(.news-date) {
  font-size: 0.98rem;
  font-weight: 400;
  line-height: 1.68;
  color: rgba(44, 38, 32, 0.7);
  margin: 0;
}

/* --- Events timeline --- */
.page-news .news-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: clamp(3rem, 6vw, 5rem);
}

.page-news .news-timeline__item {
  display: grid;
  grid-template-columns: 2.5rem 1.05fr 0.95fr;
  gap: clamp(1.25rem, 3vw, 2.75rem);
  align-items: center;
}

.page-news .news-timeline__item:nth-child(even) .news-timeline__media {
  order: 3;
}

.page-news .news-timeline__item:nth-child(even) .news-timeline__body {
  order: 2;
}

.page-news .news-timeline__rail {
  position: relative;
  align-self: stretch;
  display: flex;
  justify-content: center;
  padding-top: 0.35rem;
}

.page-news .news-timeline__rail::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: -3rem;
  left: 50%;
  width: 1px;
  background: rgba(44, 38, 32, 0.14);
  transform: translateX(-50%);
}

.page-news .news-timeline__item:last-child .news-timeline__rail::before {
  bottom: 40%;
}

.page-news .news-timeline__dot {
  position: relative;
  z-index: 1;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  background: var(--ink);
  box-shadow: 0 0 0 4px var(--cream);
}

.page-news .news-timeline__media {
  overflow: hidden;
  aspect-ratio: 16 / 11;
  background: var(--sand);
}

.page-news .news-timeline__img {
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 1.15s var(--ease);
}

.page-news .news-timeline__item:hover .news-timeline__img {
  transform: scale(1.05);
}

.page-news .news-timeline__loc {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--brown-mid);
  margin: 0 0 0.55rem;
}

.page-news .news-timeline__body h3 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.9rem, 3.2vw, 2.65rem);
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 0.8rem;
  line-height: 1.12;
}

.page-news .news-timeline__body > p:not(.news-date):not(.news-timeline__loc) {
  font-size: 1.04rem;
  font-weight: 400;
  line-height: 1.72;
  color: rgba(44, 38, 32, 0.72);
  margin: 0;
  max-width: 38ch;
}

/* --- Company inside ?? editorial rows --- */
.page-news .news-inside {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(44, 38, 32, 0.12);
}

.page-news .news-inside__row {
  display: grid;
  grid-template-columns: 11rem minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2.5rem);
  align-items: center;
  padding: clamp(1.5rem, 3vw, 2.15rem) 0;
  border-bottom: 1px solid rgba(44, 38, 32, 0.12);
  transition: background 0.4s var(--ease), transform 0.45s var(--ease);
}

.page-news .news-inside__row:hover {
  transform: translateX(4px);
}

.page-news .news-inside__media {
  overflow: hidden;
  aspect-ratio: 5 / 4;
  background: var(--sand);
}

.page-news .news-inside__img {
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 1s var(--ease);
}

.page-news .news-inside__row:hover .news-inside__img {
  transform: scale(1.06);
}

.page-news .news-inside__body h3 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 0.45rem;
  line-height: 1.2;
}

.page-news .news-inside__body p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.65;
  color: rgba(44, 38, 32, 0.7);
  margin: 0;
  max-width: 42rem;
}

/* --- Media masonry --- */
.page-news .news-masonry {
  column-count: 3;
  column-gap: 0.85rem;
}

.page-news .news-masonry__item {
  appearance: none;
  border: 0;
  background: var(--sand);
  display: block;
  width: 100%;
  margin: 0 0 0.85rem;
  padding: 0;
  break-inside: avoid;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  min-height: 15rem;
}

.page-news .news-masonry__item--tall { min-height: 24rem; }
.page-news .news-masonry__item--wide { min-height: 12.5rem; }

.page-news .news-masonry__img {
  display: block;
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.95s var(--ease);
}

.page-news .news-masonry__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(18, 12, 8, 0.55) 100%);
  opacity: 0;
  transition: opacity 0.45s var(--ease);
}

.page-news .news-masonry__cap {
  position: absolute;
  left: 1.1rem;
  bottom: 1.1rem;
  z-index: 1;
  color: #f3f1ee;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(0.45rem);
  transition: opacity 0.4s, transform 0.4s var(--ease);
}

.page-news .news-masonry__item:hover .news-masonry__img {
  transform: scale(1.07);
}

.page-news .news-masonry__item:hover .news-masonry__overlay {
  opacity: 1;
}

.page-news .news-masonry__item:hover .news-masonry__cap {
  opacity: 1;
  transform: translateY(0);
}

.page-news .news-gallery__more {
  margin-top: 2.75rem;
  text-align: center;
}

/* --- Lightbox --- */
.page-news .news-lightbox {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  background: rgba(18, 12, 8, 0.9);
  padding: 1.5rem;
}

.page-news .news-lightbox[hidden] {
  display: none;
}

.page-news .news-lightbox__close {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  appearance: none;
  border: 0;
  background: transparent;
  color: #f3f1ee;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  padding: 0.35rem 0.55rem;
}

.page-news .news-lightbox__panel {
  width: min(100%, 58rem);
}

.page-news .news-lightbox__img {
  width: 100%;
  aspect-ratio: 16 / 10;
  background-size: cover;
  background-position: center;
  background-color: var(--brown);
}

.page-news .news-lightbox__cap {
  margin-top: 0.9rem;
  text-align: center;
  color: rgba(255, 250, 243, 0.85);
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* --- Curated imagery (furniture / showroom / atelier ?? no industrial clutter) --- */
.page-news .news-img--showroom {
  background-image: url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=1800&q=88");
}
.page-news .news-img--collection {
  background-image: url("https://images.unsplash.com/photo-1567016432779-094069958ea5?auto=format&fit=crop&w=1400&q=88");
}
.page-news .news-img--milestone {
  background-image: url("https://images.unsplash.com/photo-1618220179428-22790b461013?auto=format&fit=crop&w=1400&q=88");
}
.page-news .news-img--atelier {
  background-image: url("https://images.unsplash.com/photo-1616046229478-9901c5536a45?auto=format&fit=crop&w=1400&q=88");
}
.page-news .news-img--training {
  background-image: url("https://images.unsplash.com/photo-1616594039964-ae9021a400a0?auto=format&fit=crop&w=1400&q=88");
}
.page-news .news-img--csr {
  background-image: url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1400&q=88");
}
.page-news .news-img--awards {
  background-image: url("https://images.unsplash.com/photo-1631679706909-1844bbd07221?auto=format&fit=crop&w=1400&q=88");
}
.page-news .news-img--sofa {
  background-image: url("https://images.unsplash.com/photo-1567016432779-094069958ea5?auto=format&fit=crop&w=1200&q=88");
}
.page-news .news-img--cushion {
  background-image: url("https://images.unsplash.com/photo-1586023492125-27b2c045efd7?auto=format&fit=crop&w=1200&q=88");
}
.page-news .news-img--hotel {
  background-image: url("https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1200&q=88");
}
.page-news .news-img--expo {
  background-image: url("https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?auto=format&fit=crop&w=1600&q=88");
}
.page-news .news-img--openday {
  background-image: url("https://images.unsplash.com/photo-1586023492125-27b2c045efd7?auto=format&fit=crop&w=1600&q=88");
}
.page-news .news-img--upd1 {
  background-image: url("https://images.unsplash.com/photo-1600210492493-0946911123ea?auto=format&fit=crop&w=900&q=85");
}
.page-news .news-img--upd2 {
  background-image: url("https://images.unsplash.com/photo-1616046229478-9901c5536a45?auto=format&fit=crop&w=900&q=85");
}
.page-news .news-img--upd3 {
  background-image: url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=900&q=85");
}
.page-news .news-img--upd4 {
  background-image: url("https://images.unsplash.com/photo-1616594039964-ae9021a400a0?auto=format&fit=crop&w=900&q=85");
}
.page-news .news-img--upd5 {
  background-image: url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=900&q=85");
}
.page-news .news-img--gal1 {
  background-image: url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=1100&q=88");
}
.page-news .news-img--gal2 {
  background-image: url("https://images.unsplash.com/photo-1616046229478-9901c5536a45?auto=format&fit=crop&w=1100&q=88");
}
.page-news .news-img--gal3 {
  background-image: url("https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?auto=format&fit=crop&w=1100&q=88");
}
.page-news .news-img--gal4 {
  background-image: url("https://images.unsplash.com/photo-1616594039964-ae9021a400a0?auto=format&fit=crop&w=1100&q=88");
}
.page-news .news-img--gal5 {
  background-image: url("https://images.unsplash.com/photo-1567016432779-094069958ea5?auto=format&fit=crop&w=1100&q=88");
}
.page-news .news-img--gal6 {
  background-image: url("https://images.unsplash.com/photo-1586023492125-27b2c045efd7?auto=format&fit=crop&w=1100&q=88");
}

.page-news .news-lightbox__img.is-showroom {
  background-image: url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=2000&q=90");
}
.page-news .news-lightbox__img.is-atelier {
  background-image: url("https://images.unsplash.com/photo-1616046229478-9901c5536a45?auto=format&fit=crop&w=2000&q=90");
}
.page-news .news-lightbox__img.is-event {
  background-image: url("https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?auto=format&fit=crop&w=2000&q=90");
}
.page-news .news-lightbox__img.is-training {
  background-image: url("https://images.unsplash.com/photo-1616594039964-ae9021a400a0?auto=format&fit=crop&w=2000&q=90");
}
.page-news .news-lightbox__img.is-launch {
  background-image: url("https://images.unsplash.com/photo-1567016432779-094069958ea5?auto=format&fit=crop&w=2000&q=90");
}
.page-news .news-lightbox__img.is-craft {
  background-image: url("https://images.unsplash.com/photo-1586023492125-27b2c045efd7?auto=format&fit=crop&w=2000&q=90");
}

/* Filter fade */
.page-news .news-stream {
  position: relative;
  z-index: 1;
  overflow: clip;
}

.page-news [data-news-item],
.page-news [data-news-section] {
  transition: opacity 0.45s var(--ease), transform 0.45s var(--ease);
}

.page-news [data-news-item].is-filtering,
.page-news [data-news-section].is-filtering {
  opacity: 0;
  transform: translateY(0.6rem);
  pointer-events: none;
}

.page-news [data-news-item].is-filtered-out,
.page-news [data-news-section].is-filtered-out {
  display: none !important;
}

.page-news .news-journal,
.page-news .news-launch,
.page-news .news-inside,
.page-news .news-timeline {
  position: relative;
}

/* nofx / reduced motion */
html.nofx .page-news .news-hero__media,
.fx-off .page-news .news-hero__media {
  animation: none !important;
  opacity: 1;
  transform: none;
}

html.nofx .page-news .news-hero__label,
html.nofx .page-news .news-hero__title,
html.nofx .page-news .news-hero h1,
html.nofx .page-news .news-hero__lead,
html.nofx .page-news .news-hero [data-reveal-line],
html.nofx .page-news .news-hero__cta,
.fx-off .page-news .news-hero__label,
.fx-off .page-news .news-hero__title,
.fx-off .page-news .news-hero h1,
.fx-off .page-news .news-hero__lead,
.fx-off .page-news .news-hero [data-reveal-line],
.fx-off .page-news .news-hero__cta {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .page-news .news-hero__media,
  .page-news .news-hero__label,
  .page-news .news-hero__title,
  .page-news .news-hero h1,
  .page-news .news-hero__lead,
  .page-news .news-hero [data-reveal-line],
  .page-news .news-hero__cta {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .page-news .news-journal__card:hover,
  .page-news .news-launch__card:hover,
  .page-news .news-inside__row:hover {
    transform: none;
  }
}

@media (max-width: 1100px) {
  .page-news .news-feature {
    grid-template-columns: 1fr;
  }

  .page-news .news-feature__media {
    min-height: 22rem;
  }

  .page-news .news-launch {
    grid-template-columns: 1fr 1fr;
  }

  .page-news .news-launch__card--lead {
    grid-column: 1 / -1;
  }

  .page-news .news-launch__card--lead .news-launch__media {
    aspect-ratio: 16 / 10;
    min-height: 0;
  }

  .page-news .news-timeline__item,
  .page-news .news-timeline__item:nth-child(even) {
    grid-template-columns: 2rem 1fr;
  }

  .page-news .news-timeline__media,
  .page-news .news-timeline__item:nth-child(even) .news-timeline__media {
    order: 0;
    grid-column: 2;
  }

  .page-news .news-timeline__body,
  .page-news .news-timeline__item:nth-child(even) .news-timeline__body {
    order: 0;
    grid-column: 2;
  }

  .page-news .news-masonry {
    column-count: 2;
  }
}

@media (max-width: 720px) {
  .page-news .news-journal,
  .page-news .news-launch {
    grid-template-columns: 1fr;
  }

  .page-news .news-inside__row {
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: 1rem;
  }

  .page-news .news-masonry {
    column-count: 1;
  }

  .page-news .news-hero {
    min-height: 78vh;
    min-height: 78dvh;
  }

  .page-news .news-hero__content {
    width: min(100% - 2rem, 30rem);
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .page-news .news-filter {
    top: 3.75rem;
  }

  .page-news .news-filter__inner {
    justify-content: flex-start;
    width: 100%;
  }

  .page-news .news-timeline__item {
    grid-template-columns: 1.5rem 1fr;
    gap: 1rem;
  }
}

/* =========================================================
   PAGE CRAFTSMANSHIP ?? premium VPI317CV (high contrast)
   ========================================================= */

/* ==========================================================================
   Craftsmanship page ?? premium manufacturer editorial (VPI317CV)
   ========================================================================== */
.page-craftsmanship {
  color: var(--ink);
  background: var(--bg);
}

.page-craftsmanship .section {
  padding: clamp(6.5rem, 12vw, 8.75rem) 0;
}

.page-craftsmanship .section-intro {
  max-width: 38rem;
  margin-bottom: clamp(3rem, 6vw, 4.5rem);
}

.page-craftsmanship .section-intro--center {
  margin-inline: auto;
  text-align: center;
}

.page-craftsmanship .section-intro h2,
.page-craftsmanship h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.65rem, 5.2vw, 4.15rem);
  line-height: 1.06;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 0 0 1.2rem;
}

.page-craftsmanship .section-intro p,
.page-craftsmanship .craft-commit__copy > p,
.page-craftsmanship .craft-comp p,
.page-craftsmanship .craft-cert p {
  font-family: var(--font-body);
  font-size: clamp(1.02rem, 1.3vw, 1.12rem);
  font-weight: 400;
  line-height: 1.78;
  color: var(--ink);
  max-width: 46ch;
}

.page-craftsmanship .section-intro--center p {
  margin-inline: auto;
}

.page-craftsmanship .section-intro p + p,
.page-craftsmanship .craft-commit__copy > p + p {
  margin-top: 1rem;
}

.page-craftsmanship .eyebrow {
  display: block;
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--brown-mid);
  margin-bottom: 1rem;
}

.page-craftsmanship .btn--dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  min-height: 3.25rem;
  padding: 0.95rem 2rem;
  background: var(--ink);
  color: var(--cream);
  border: 1px solid var(--ink);
  font-family: var(--font-body);
  font-size: 0.76rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: background 0.35s var(--ease), border-color 0.35s, color 0.35s;
}

.page-craftsmanship .btn--dark:hover {
  background: var(--brown);
  border-color: var(--brown);
  color: var(--cream);
}

/* Sticky sidenav ?? thin marks, not dots */
.page-craftsmanship .craft-sidenav {
  position: fixed;
  top: 50%;
  right: 1.5rem;
  z-index: 120;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  transform: translateY(-50%);
  pointer-events: none;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.page-craftsmanship .craft-sidenav a {
  pointer-events: auto;
  position: relative;
  display: block;
  padding-right: 1.1rem;
  font-family: var(--font-body);
  font-size: 0.58rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(44, 38, 32, 0.38);
  text-align: right;
  transition: color 0.35s var(--ease);
}

.page-craftsmanship .craft-sidenav a span {
  display: inline-block;
  opacity: 0;
  transform: translateX(6px);
  transition: opacity 0.35s var(--ease), transform 0.35s var(--ease);
}

.page-craftsmanship .craft-sidenav a::after {
  content: "\0020";
  position: absolute;
  right: 0;
  top: 50%;
  width: 0.7rem;
  height: 1px;
  border-radius: 0;
  background: rgba(44, 38, 32, 0.28);
  transform: translateY(-50%);
  transition: width 0.35s var(--ease), background 0.35s;
}

.page-craftsmanship .craft-sidenav a.is-active,
.page-craftsmanship .craft-sidenav a:hover {
  color: var(--ink);
}

.page-craftsmanship .craft-sidenav a.is-active span,
.page-craftsmanship .craft-sidenav a:hover span {
  opacity: 1;
  transform: translateX(0);
}

.page-craftsmanship .craft-sidenav a.is-active::after {
  width: 1.15rem;
  background: var(--ink);
  transform: translateY(-50%);
}

/* Hero ?? cinematic full-bleed (Products-style) */
.page-craftsmanship .craft-hero {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  align-items: center;
  justify-items: start;
  text-align: left;
  overflow: hidden;
  color: var(--cream);
  background: #0c0a09;
}

.page-craftsmanship .craft-hero__media {
  position: absolute;
  inset: -4% 0;
  background:
    url("https://images.unsplash.com/photo-1616046229478-9901c5536a45?auto=format&fit=crop&w=2400&q=88")
      62% 44% / cover no-repeat;
  transform: scale(1.06);
  animation: craft-kenburns 22s ease-out forwards;
  will-change: transform;
}

.page-craftsmanship .craft-hero__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(92deg, rgba(12, 10, 9, 0.52) 0%, rgba(12, 10, 9, 0.14) 48%, rgba(12, 10, 9, 0.22) 100%),
    linear-gradient(180deg, rgba(12, 10, 9, 0.22) 0%, transparent 42%, rgba(12, 10, 9, 0.36) 100%);
}

.page-craftsmanship .craft-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 38rem;
  margin: 0;
  padding:
    calc(var(--lang-bar-h) + var(--header-h) + clamp(1.5rem, 4vh, 3rem))
    clamp(1.5rem, 6vw, 5.5rem)
    clamp(3rem, 8vh, 5rem);
}

.page-craftsmanship .craft-hero__label {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255, 250, 243, 0.7);
  margin: 0 0 1.2rem;
  opacity: 0;
  transform: translateY(1.2rem);
  animation: craft-rise 1s var(--ease) 0.15s forwards;
}

.page-craftsmanship .craft-hero h1 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(3.1rem, 7.2vw, 5.5rem);
  line-height: 0.92;
  letter-spacing: -0.03em;
  color: #fff;
  max-width: 12ch;
  margin: 0 0 1.35rem;
  opacity: 0;
  transform: translateY(1.4rem);
  animation: craft-rise 1.05s var(--ease) 0.28s forwards;
}

.page-craftsmanship .craft-hero__lead {
  max-width: 40ch;
  font-family: var(--font-body);
  font-size: clamp(1.02rem, 1.45vw, 1.18rem);
  font-weight: 400;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
  opacity: 0;
  transform: translateY(1.2rem);
  animation: craft-rise 1.05s var(--ease) 0.42s forwards;
}

@keyframes craft-kenburns {
  from { transform: scale(1.1); }
  to { transform: scale(1); }
}

@keyframes craft-rise {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Commitment ?? editorial split ~58 / 42 */
.page-craftsmanship .craft-commit {
  background: var(--white);
  padding: clamp(6.5rem, 12vw, 8.75rem) 0;
}

.page-craftsmanship .craft-commit__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: clamp(2.75rem, 6vw, 5.75rem);
  align-items: center;
}

.page-craftsmanship .craft-commit__media {
  position: relative;
  min-height: clamp(28rem, 58vw, 42rem);
  overflow: hidden;
  background: var(--sand);
}

.page-craftsmanship .craft-commit__media::after {
  content: "\0020";
  position: absolute;
  inset: 0;
  background:
    url("https://images.unsplash.com/photo-1616046229478-9901c5536a45?auto=format&fit=crop&w=1800&q=90")
      center / cover no-repeat;
  transform: scale(1.04);
  transition: transform 1.15s var(--ease);
}

.page-craftsmanship .craft-commit__media:hover::after {
  transform: scale(1.09);
}

.page-craftsmanship .craft-commit__copy h2 {
  max-width: 12ch;
}

.page-craftsmanship .craft-commit__highlights {
  list-style: none;
  margin: 2.5rem 0 0;
  padding: 0;
  display: grid;
  gap: 0;
}

.page-craftsmanship .craft-commit__highlights li {
  display: grid;
  grid-template-columns: 3.25rem 1fr;
  gap: 1rem;
  padding: 1.35rem 0;
  border-top: 1px solid rgba(44, 38, 32, 0.12);
}

.page-craftsmanship .craft-commit__highlights li:last-child {
  border-bottom: 1px solid rgba(44, 38, 32, 0.12);
}

.page-craftsmanship .craft-commit__num {
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--brown-mid);
  letter-spacing: 0.04em;
}

.page-craftsmanship .craft-commit__highlights strong {
  display: block;
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--ink);
  margin-bottom: 0.4rem;
}

.page-craftsmanship .craft-commit__highlights span {
  display: block;
  font-family: var(--font-body);
  font-size: 0.98rem;
  font-weight: 400;
  line-height: 1.68;
  color: var(--ink);
}

/* Standards ?? horizontal editorial rows */
.page-craftsmanship .craft-standards {
  background: var(--bg);
}

.page-craftsmanship .craft-standards__rows {
  display: grid;
  gap: clamp(2.5rem, 5vw, 4rem);
}

.page-craftsmanship .craft-std__row {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
  gap: clamp(1.75rem, 4vw, 3.75rem);
  align-items: center;
  background: var(--white);
}

.page-craftsmanship .craft-std__row--flip {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr);
}

.page-craftsmanship .craft-std__row--flip .craft-std__media {
  order: 2;
}

.page-craftsmanship .craft-std__row--flip > .media-torn {
  order: 2;
}

.page-craftsmanship .craft-std__row--flip .craft-std__body {
  order: 1;
}

.page-craftsmanship .craft-std__media {
  min-height: clamp(16rem, 32vw, 24rem);
  background-size: cover;
  background-position: center;
  transition: transform 0.9s var(--ease);
}

.page-craftsmanship .craft-std__row:hover .craft-std__media {
  transform: scale(1.03);
}

.page-craftsmanship .craft-std__body {
  padding: clamp(2rem, 4vw, 3.25rem) clamp(1.5rem, 3.5vw, 3rem);
}

.page-craftsmanship .craft-std__index {
  display: block;
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--brown-mid);
  margin-bottom: 1.1rem;
}

.page-craftsmanship .craft-std__body h3 {
  font-family: var(--font-display);
  font-size: clamp(1.85rem, 3vw, 2.55rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--ink);
  margin: 0 0 0.9rem;
}

.page-craftsmanship .craft-std__body p {
  font-family: var(--font-body);
  font-size: 1.02rem;
  font-weight: 400;
  line-height: 1.75;
  color: var(--ink);
  margin: 0;
  max-width: 36ch;
}

/* How We Build ?? elegant horizontal process */
.page-craftsmanship .craft-process {
  background: var(--white);
}

.page-craftsmanship .craft-process .section-intro {
  max-width: 40rem;
}

.page-craftsmanship .craft-process .section-intro h2 {
  max-width: 12ch;
  margin-inline: auto;
}

.page-craftsmanship .craft-flow {
  position: relative;
  margin-top: 0.35rem;
}

.page-craftsmanship .craft-flow__track {
  display: none;
}

.page-craftsmanship .craft-flow__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1.25rem;
}

.page-craftsmanship .craft-flow__node {
  position: relative;
  opacity: 0;
  transform: translateY(1.35rem);
  transition: opacity 0.75s var(--ease), transform 0.75s var(--ease);
  transition-delay: calc(var(--i, 0) * 80ms);
}

.page-craftsmanship .craft-flow__node.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.page-craftsmanship .craft-flow__num {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 2.4vw, 2.35rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
  color: var(--ink);
  margin-bottom: 1.15rem;
  text-shadow: none;
  background: transparent;
  padding: 0;
}

.page-craftsmanship .craft-flow__photo {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: var(--sand);
  cursor: zoom-in;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  margin: 0 0 1.15rem;
}

.page-craftsmanship .craft-flow__img {
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.8s var(--ease);
}

.page-craftsmanship .craft-flow__photo:hover .craft-flow__img {
  transform: scale(1.06);
}

.page-craftsmanship .craft-flow__node h3 {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.25;
  color: var(--ink);
  margin: 0 0 0.45rem;
}

.page-craftsmanship .craft-flow__node p {
  font-family: var(--font-body);
  font-size: 0.88rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--ink);
  margin: 0;
  max-width: none;
}

@media (min-width: 1100px) {
  .page-craftsmanship .craft-flow__track {
    display: block;
    position: absolute;
    left: 3%;
    right: 3%;
    top: 1.1rem;
    height: 1px;
    z-index: 0;
    pointer-events: none;
  }

  .page-craftsmanship .craft-flow__line,
  .page-craftsmanship .craft-flow__progress {
    position: absolute;
    left: 0;
    top: 0;
    height: 1px;
    width: 100%;
  }

  .page-craftsmanship .craft-flow__line {
    background: rgba(44, 38, 32, 0.12);
  }

  .page-craftsmanship .craft-flow__progress {
    background: var(--brown-mid);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.2s linear;
  }

  .page-craftsmanship .craft-flow__list {
    position: relative;
    z-index: 1;
  }

  .page-craftsmanship .craft-flow__num {
    background: var(--white);
    display: inline-block;
    padding-right: 0.55rem;
    position: relative;
    z-index: 1;
  }
}

/* Materials & testing ?? refined list + quiet grid */
.page-craftsmanship .craft-materials {
  background: var(--bg);
}

.page-craftsmanship .craft-materials__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  gap: clamp(2.75rem, 6vw, 5.5rem);
  align-items: start;
}

.page-craftsmanship .craft-materials__heading {
  font-family: var(--font-display);
  font-size: 1.65rem;
  font-weight: 500;
  color: var(--ink);
  margin: 0 0 1.65rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(44, 38, 32, 0.14);
}

.page-craftsmanship .craft-mat-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-craftsmanship .craft-mat-item {
  padding: 1.35rem 0;
  border-bottom: 1px solid rgba(44, 38, 32, 0.12);
}

.page-craftsmanship .craft-mat-item h4 {
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--ink);
  margin: 0 0 0.45rem;
}

.page-craftsmanship .craft-mat-item p {
  font-family: var(--font-body);
  font-size: 0.98rem;
  font-weight: 400;
  line-height: 1.7;
  color: var(--ink);
  margin: 0;
  max-width: 38ch;
}

.page-craftsmanship .craft-tests {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(44, 38, 32, 0.1);
  border: 1px solid rgba(44, 38, 32, 0.1);
}

.page-craftsmanship .craft-test {
  padding: 1.55rem 1.4rem 1.65rem;
  background: var(--white);
}

.page-craftsmanship .craft-test h4 {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--ink);
  margin: 0 0 0.55rem;
}

.page-craftsmanship .craft-test p {
  font-family: var(--font-body);
  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1.65;
  color: var(--ink);
  margin: 0;
}

/* Certifications ?? premium certificate gallery */
.page-craftsmanship .craft-certs {
  background: #f4f2ed;
}

.page-craftsmanship .craft-certs__note {
  text-align: center;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(44, 38, 32, 0.45);
  margin: 2.75rem auto 0;
  max-width: 52ch;
  line-height: 1.7;
}

.page-craftsmanship .craft-certs__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.5rem, 2.8vw, 2.35rem) clamp(1.15rem, 2.2vw, 1.85rem);
  margin-top: clamp(2.5rem, 4vw, 3.5rem);
}

.page-craftsmanship .craft-cert-thumb {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.95rem;
  transition: transform 0.55s var(--ease);
}

.page-craftsmanship .craft-cert-thumb__btn {
  display: block;
  width: 100%;
  padding: 0;
  border: 1px solid rgba(44, 38, 32, 0.1);
  background: #fff;
  cursor: zoom-in;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  box-shadow: 0 10px 28px rgba(26, 16, 8, 0.06);
  transition:
    transform 0.55s var(--ease),
    box-shadow 0.55s var(--ease),
    border-color 0.45s var(--ease);
}

.page-craftsmanship .craft-cert-thumb__btn img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transform: scale(1);
  transition: transform 0.75s var(--ease);
}

.page-craftsmanship .craft-cert-thumb:hover {
  transform: translateY(-8px);
}

.page-craftsmanship .craft-cert-thumb:hover .craft-cert-thumb__btn {
  border-color: rgba(44, 38, 32, 0.22);
  box-shadow: 0 22px 48px rgba(26, 16, 8, 0.12);
}

.page-craftsmanship .craft-cert-thumb:hover .craft-cert-thumb__btn img {
  transform: scale(1.04);
}

.page-craftsmanship .craft-cert-thumb figcaption {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
  text-align: center;
  line-height: 1.45;
  opacity: 0.78;
}

.page-craftsmanship .craft-cert {
  background: var(--bg);
  padding: clamp(2.25rem, 4vw, 3.25rem);
  min-height: 18rem;
  border-top: 1px solid rgba(44, 38, 32, 0.16);
  transition: transform 0.55s var(--ease), box-shadow 0.55s var(--ease);
}

.page-craftsmanship .craft-cert:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(26, 16, 8, 0.07);
}

.page-craftsmanship .craft-cert__mark {
  display: block;
  font-family: var(--font-display);
  font-size: 1.15rem;
  letter-spacing: 0.1em;
  color: var(--brown-mid);
  margin-bottom: 2rem;
}

.page-craftsmanship .craft-cert h3 {
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.2vw, 1.85rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--ink);
  margin: 0 0 0.9rem;
}

.page-craftsmanship .craft-cert p {
  margin: 0;
  max-width: none;
}

/* Compliance ?? tall image cards (export / docs / materials) */
.page-craftsmanship .craft-compliance {
  background: var(--warm);
}

.page-craftsmanship .craft-compliance__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.15rem, 2.4vw, 1.75rem);
  align-items: stretch;
}

.page-craftsmanship .craft-comp {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
  border: 0;
  border-top: none;
  background: var(--white);
  overflow: hidden;
  box-shadow: 0 10px 32px rgba(26, 16, 8, 0.05);
}

.page-craftsmanship .craft-comp__media {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--sand);
  flex-shrink: 0;
}

.page-craftsmanship .craft-comp__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 55%,
    rgba(26, 16, 8, 0.18) 100%
  );
  pointer-events: none;
  z-index: 1;
}

.page-craftsmanship .craft-comp__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.04);
  transition: transform 0.95s var(--ease);
}

.page-craftsmanship .craft-comp__body {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: clamp(1.45rem, 2.6vw, 1.9rem) clamp(1.25rem, 2.2vw, 1.65rem)
    clamp(1.65rem, 3vw, 2.1rem);
  border-top: 1px solid rgba(44, 38, 32, 0.1);
}

.page-craftsmanship .craft-comp__body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2.75rem;
  height: 2px;
  background: var(--brown-mid);
  transition: width 0.55s var(--ease), background 0.45s var(--ease);
}

.page-craftsmanship .craft-comp__mark {
  display: block;
  font-family: var(--font-display);
  font-size: 0.98rem;
  letter-spacing: 0.14em;
  color: var(--brown-mid);
  margin-bottom: 0.85rem;
}

.page-craftsmanship .craft-comp h3 {
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.15vw, 1.85rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0 0 0.85rem;
}

.page-craftsmanship .craft-comp p {
  margin: 0;
  max-width: 34ch;
  font-size: clamp(0.94rem, 1.15vw, 1.02rem);
  line-height: 1.7;
  color: rgba(44, 38, 32, 0.72);
}

@media (hover: hover) and (pointer: fine) {
  .page-craftsmanship .craft-comp:hover {
    box-shadow: 0 22px 48px rgba(26, 16, 8, 0.11);
  }

  .page-craftsmanship .craft-comp:hover .craft-comp__media img {
    transform: scale(1.1);
  }

  .page-craftsmanship .craft-comp:hover .craft-comp__body::before {
    width: 4.5rem;
    background: var(--ink);
  }

  .page-craftsmanship .craft-comp:hover h3 {
    color: var(--brown);
  }
}

/* CTA ?? shared .site-cta closing bar; craft keeps page-specific title width only */
.page-craftsmanship .site-cta__title {
  max-width: 22ch;
}

/* Lightbox */
.page-craftsmanship .craft-lightbox {
  position: fixed;
  inset: 0;
  z-index: 400;
  display: grid;
  place-items: center;
  background: rgba(26, 16, 8, 0.9);
  padding: 2rem;
}

.page-craftsmanship .craft-lightbox[hidden] {
  display: none !important;
}

.page-craftsmanship .craft-lightbox img {
  max-width: min(92vw, 56rem);
  max-height: 84vh;
  object-fit: contain;
}

.page-craftsmanship .craft-lightbox__close {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(255, 250, 243, 0.35);
  background: transparent;
  color: #f3f1ee;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

/* Motion / nofx */
html.nofx .page-craftsmanship .craft-hero__media,
.fx-off .page-craftsmanship .craft-hero__media {
  animation: none !important;
}

html.nofx .page-craftsmanship .craft-comp,
html.nofx .page-craftsmanship .craft-comp__media img,
html.nofx .page-craftsmanship .craft-comp__body::before,
.fx-off .page-craftsmanship .craft-comp,
.fx-off .page-craftsmanship .craft-comp__media img,
.fx-off .page-craftsmanship .craft-comp__body::before {
  transition: none !important;
  transform: none !important;
}

html.nofx .page-craftsmanship .craft-comp:hover,
.fx-off .page-craftsmanship .craft-comp:hover {
  transform: none !important;
  box-shadow: 0 10px 32px rgba(26, 16, 8, 0.05);
}

html.nofx .page-craftsmanship .craft-comp:hover .craft-comp__media img,
.fx-off .page-craftsmanship .craft-comp:hover .craft-comp__media img {
  transform: none !important;
}

html.nofx .page-craftsmanship .craft-comp__media img,
.fx-off .page-craftsmanship .craft-comp__media img {
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .page-craftsmanship .craft-hero__media,
  .page-craftsmanship .craft-hero__label,
  .page-craftsmanship .craft-hero h1,
  .page-craftsmanship .craft-hero__lead,
  .page-craftsmanship .craft-flow__node,
  .page-craftsmanship .craft-comp,
  .page-craftsmanship .craft-comp__media img,
  .page-craftsmanship .craft-comp__body::before {
    animation: none !important;
    transition: none !important;
    opacity: 1;
    transform: none !important;
  }

  .page-craftsmanship .craft-comp:hover {
    transform: none !important;
  }

  .page-craftsmanship .craft-comp:hover .craft-comp__media img {
    transform: none !important;
  }
}

/* Responsive */
@media (max-width: 1100px) {
  .page-craftsmanship .craft-sidenav {
    display: none;
  }

  .page-craftsmanship .craft-flow__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.75rem 1.25rem;
  }
}

@media (max-width: 900px) {
  .page-craftsmanship .craft-commit__grid,
  .page-craftsmanship .craft-materials__grid,
  .page-craftsmanship .craft-compliance__grid {
    grid-template-columns: 1fr;
  }

  .page-craftsmanship .craft-comp__media {
    aspect-ratio: 16 / 10;
  }

  .page-craftsmanship .craft-certs__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-craftsmanship .craft-commit__media {
    min-height: 22rem;
  }

  .page-craftsmanship .craft-std__row,
  .page-craftsmanship .craft-std__row--flip {
    grid-template-columns: 1fr;
  }

  .page-craftsmanship .craft-std__row--flip .craft-std__media,
  .page-craftsmanship .craft-std__row--flip .craft-std__body {
    order: initial;
  }

  .page-craftsmanship .craft-std__media {
    min-height: 16rem;
  }

  .page-craftsmanship .craft-flow__list {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .page-craftsmanship .craft-flow__node {
    display: grid;
    grid-template-columns: 4rem 7.5rem 1fr;
    grid-template-rows: auto auto;
    column-gap: 1.15rem;
    row-gap: 0.35rem;
    padding: 1.5rem 0;
    border-top: 1px solid rgba(44, 38, 32, 0.12);
  }

  .page-craftsmanship .craft-flow__node:last-child {
    border-bottom: 1px solid rgba(44, 38, 32, 0.12);
  }

  .page-craftsmanship .craft-flow__num {
    grid-row: 1 / span 2;
    margin: 0;
    align-self: start;
    padding-top: 0.25rem;
    background: transparent;
  }

  .page-craftsmanship .craft-flow__photo {
    grid-row: 1 / span 2;
    aspect-ratio: 1;
    margin: 0;
  }

  .page-craftsmanship .craft-flow__node h3,
  .page-craftsmanship .craft-flow__node p {
    grid-column: 3;
  }
}

@media (max-width: 640px) {
  .page-craftsmanship .craft-tests {
    grid-template-columns: 1fr;
  }

  .page-craftsmanship .craft-certs__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.35rem 0.85rem;
  }

  .page-craftsmanship .craft-cert-thumb figcaption {
    font-size: 0.62rem;
    letter-spacing: 0.1em;
  }

  .page-craftsmanship .craft-hero {
    min-height: 100vh;
    min-height: 100dvh;
  }

  .page-craftsmanship .craft-hero h1 {
    font-size: clamp(2.75rem, 12vw, 3.5rem);
  }

  .page-craftsmanship .craft-hero__veil {
    background:
      linear-gradient(92deg, rgba(12, 10, 9, 0.62) 0%, rgba(12, 10, 9, 0.24) 55%, rgba(12, 10, 9, 0.32) 100%),
      linear-gradient(180deg, rgba(12, 10, 9, 0.26) 0%, transparent 42%, rgba(12, 10, 9, 0.42) 100%);
  }

  .page-craftsmanship .craft-flow__node {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .page-craftsmanship .craft-flow__num {
    grid-row: auto;
    padding-top: 0;
  }

  .page-craftsmanship .craft-flow__photo {
    grid-row: auto;
    aspect-ratio: 16 / 10;
  }

  .page-craftsmanship .craft-flow__node h3,
  .page-craftsmanship .craft-flow__node p {
    grid-column: auto;
  }
}


/* ============================================================
   PAGE CONTACT ?? premium VPI317CV (high contrast)
   ============================================================ */
.page-contact {
  color: var(--ink);
  background: var(--bg);
}

.page-contact .section {
  padding: clamp(5.5rem, 9vw, 8rem) 0;
}

.page-contact .section-intro {
  margin-bottom: clamp(2.25rem, 4vw, 3.25rem);
}

.page-contact .section-intro--center {
  text-align: center;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

.page-contact .section-intro h2,
.page-contact h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.1rem, 4.2vw, 3.2rem);
  letter-spacing: -0.02em;
  line-height: 1.08;
  color: var(--ink);
  margin: 0 0 0.85rem;
}

.page-contact .section-intro p,
.page-contact .contact-intro__copy > p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--ink);
  max-width: 42ch;
}

.page-contact .section-intro--center p {
  margin-inline: auto;
}

.page-contact .eyebrow {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brown-mid);
  margin-bottom: 0.85rem;
}

.page-contact .btn--dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.95rem 1.6rem;
  background: var(--ink);
  color: var(--cream);
  border: 1px solid var(--ink);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background 0.35s var(--ease), border-color 0.35s var(--ease), color 0.35s var(--ease), transform 0.35s var(--ease);
}

.page-contact .btn--dark:hover {
  background: var(--brown);
  border-color: var(--brown);
  color: var(--cream);
}

.page-contact .btn--line {
  border: 1px solid var(--ink);
  color: var(--ink);
  background: transparent;
  padding: 0.9rem 1.45rem;
  font-size: 0.76rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background 0.35s var(--ease), color 0.35s var(--ease);
}

.page-contact .btn--line:hover {
  background: var(--ink);
  color: var(--cream);
}

/* --- Hero ?? Products-style quiet luxury --- */
.page-contact .contact-hero {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  align-items: center;
  justify-items: start;
  text-align: left;
  overflow: hidden;
  color: var(--cream);
  background: var(--black);
}

.page-contact .contact-hero__media {
  position: absolute;
  inset: -4% 0;
  background:
    url("https://images.unsplash.com/photo-1631679706909-1844bbd07221?auto=format&fit=crop&w=2400&q=88")
      70% 44% / cover no-repeat;
  transform: scale(1.06);
  animation: contact-kenburns 22s ease-out forwards;
  will-change: transform;
}

.page-contact .contact-hero__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(92deg, rgba(12, 10, 9, 0.58) 0%, rgba(12, 10, 9, 0.24) 40%, rgba(12, 10, 9, 0.08) 68%, rgba(12, 10, 9, 0.16) 100%),
    linear-gradient(180deg, rgba(12, 10, 9, 0.24) 0%, transparent 42%, rgba(12, 10, 9, 0.34) 100%);
}

.page-contact .contact-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 36rem;
  margin: 0;
  padding:
    calc(var(--lang-bar-h) + var(--header-h) + clamp(1.5rem, 4vh, 3rem))
    clamp(1.5rem, 6vw, 5.5rem)
    clamp(3rem, 8vh, 5rem);
}

.page-contact .contact-hero__label {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255, 250, 243, 0.7);
  margin: 0 0 1.1rem;
  opacity: 0;
  transform: translateY(1.2rem);
  animation: contact-rise 1s var(--ease) 0.15s forwards;
}

.page-contact .contact-hero h1 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(3.1rem, 7.2vw, 5.4rem);
  line-height: 0.92;
  letter-spacing: -0.03em;
  color: #fff;
  max-width: 14ch;
  margin: 0 0 1.25rem;
  opacity: 0;
  transform: translateY(1.4rem);
  animation: contact-rise 1.05s var(--ease) 0.28s forwards;
}

.page-contact .contact-hero__lead {
  max-width: 40ch;
  font-size: clamp(1.02rem, 1.5vw, 1.18rem);
  font-weight: 400;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
  opacity: 0;
  transform: translateY(1.2rem);
  animation: contact-rise 1.05s var(--ease) 0.42s forwards;
}

.page-contact .contact-hero__cta {
  margin-top: 2rem;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1.55rem;
  color: #fff;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 0;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: none;
  opacity: 0;
  transform: translateY(1rem);
  animation: contact-rise 1.05s var(--ease) 0.55s forwards;
  transition: color 0.35s var(--ease), background 0.35s var(--ease), border-color 0.35s var(--ease);
}

.page-contact .contact-hero__cta:hover {
  color: var(--ink);
  background: #fff;
  border-color: #fff;
}

.page-contact .contact-hero__cta-arrow {
  display: inline-block;
  transition: transform 0.45s var(--ease);
}

.page-contact .contact-hero__cta:hover .contact-hero__cta-arrow {
  transform: translateX(5px);
}

@keyframes contact-kenburns {
  from { transform: scale(1.08); }
  to { transform: scale(1); }
}

@keyframes contact-rise {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* --- Get In Touch --- */
.page-contact .contact-intro {
  background: #fff;
}

.page-contact .contact-intro__grid {
  display: grid;
  grid-template-columns: 1.1fr 0.95fr;
  gap: clamp(2.5rem, 6vw, 5.5rem);
  align-items: center;
}

.page-contact .contact-intro__media {
  aspect-ratio: 4 / 5;
  background:
    linear-gradient(180deg, rgba(26, 16, 8, 0.08), rgba(26, 16, 8, 0.28)),
    url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=1400&q=85")
      center / cover no-repeat;
}

.page-contact .contact-intro__copy h2 {
  margin-bottom: 1rem;
}

.page-contact .contact-intro__copy > p + p {
  margin-top: 0.85rem;
}

.page-contact .contact-intro__copy .btn {
  margin-top: 1.75rem;
}

/* --- Contact cards --- */
.page-contact .contact-info {
  background: var(--bg);
}

.page-contact .contact-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1rem, 2vw, 1.5rem);
}

.page-contact .contact-card {
  background: #fff;
  padding: clamp(1.5rem, 2.5vw, 2rem);
  border: 1px solid rgba(44, 38, 32, 0.08);
  transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease), border-color 0.4s var(--ease);
}

.page-contact .contact-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(44, 38, 32, 0.08);
  border-color: rgba(44, 38, 32, 0.16);
}

.page-contact .contact-card__icon {
  display: inline-flex;
  color: var(--brown-mid);
  margin-bottom: 1rem;
}

.page-contact .contact-card h3 {
  font-size: 1.15rem;
  color: var(--ink);
  margin-bottom: 0.55rem;
}

.page-contact .contact-card p {
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--ink);
}

.page-contact .contact-card a {
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s;
}

.page-contact .contact-card a:hover {
  border-bottom-color: var(--ink);
}

/* --- Hours --- */
.page-contact .contact-hours {
  background: #ede4d4;
}

.page-contact .contact-hours__list {
  max-width: 40rem;
  margin: 0 auto;
  display: grid;
  gap: 0;
  list-style: none;
  padding: 0;
}

.page-contact .contact-hours__list li {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1.15fr) minmax(0, 1fr);
  column-gap: clamp(1rem, 3vw, 1.75rem);
  align-items: baseline;
  padding: 1.15rem 0;
  border-bottom: 1px solid rgba(44, 38, 32, 0.12);
  font-size: 1rem;
  color: var(--ink);
  text-align: left;
}

.page-contact .contact-hours__list li:first-child {
  border-top: 1px solid rgba(44, 38, 32, 0.12);
}

.page-contact .contact-hours__num {
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 2.4vw, 2.1rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.page-contact .contact-hours__day {
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  font-weight: 500;
  line-height: 1.35;
}

.page-contact .contact-hours__time {
  font-weight: 500;
  line-height: 1.45;
  color: var(--brown, #6b5e52);
}

@media (max-width: 540px) {
  .page-contact .contact-hours__list li {
    grid-template-columns: 2.75rem minmax(0, 1fr);
    grid-template-areas:
      "num day"
      "num time";
    row-gap: 0.2rem;
  }

  .page-contact .contact-hours__num { grid-area: num; }
  .page-contact .contact-hours__day { grid-area: day; }
  .page-contact .contact-hours__time { grid-area: time; }
}

/* --- Location --- */
.page-contact .contact-location {
  background: #fff;
}

.page-contact .contact-location__grid {
  display: grid;
  grid-template-columns: 1.35fr 0.85fr;
  gap: clamp(1.75rem, 4vw, 3rem);
  align-items: start;
}

.page-contact .contact-location__visual {
  display: grid;
  gap: 0.85rem;
}

.page-contact .contact-location__photo {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(44, 38, 32, 0.1);
  background: #ebe6dc;
}

.page-contact .contact-location__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: 55% 40%;
}

.page-contact .contact-map {
  position: relative;
  aspect-ratio: 16 / 11;
  overflow: hidden;
  background: var(--bg);
  border: 1px solid rgba(44, 38, 32, 0.1);
}

.page-contact .contact-map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.page-contact .contact-location__side h3 {
  font-size: 1.25rem;
  margin-bottom: 0.65rem;
}

.page-contact .contact-location__side > p {
  margin-bottom: 0.75rem;
  color: var(--ink);
  line-height: 1.65;
}

.page-contact .contact-location__note {
  font-size: 0.95rem;
  color: var(--brown);
}

.page-contact .contact-location__side .btn {
  margin: 1.25rem 0 1.5rem;
}

.page-contact .contact-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.page-contact .contact-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid rgba(44, 38, 32, 0.14);
  background: var(--bg);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
}

/* --- Form --- */
.page-contact .contact-form-section {
  background: #fff;
}

.page-contact .contact-form-section__inner {
  max-width: 52rem;
}

.page-contact .contact-form--full {
  display: grid;
  gap: 1.5rem;
}

.page-contact .contact-interest {
  border: 0;
  margin: 0;
  padding: 0;
}

.page-contact .contact-interest legend {
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brown);
  margin-bottom: 1rem;
  padding: 0;
}

.page-contact .contact-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.page-contact .contact-chip {
  position: relative;
  cursor: pointer;
}

.page-contact .contact-chip input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.page-contact .contact-chip span {
  display: inline-flex;
  align-items: center;
  padding: 0.7rem 1.05rem;
  border: 1px solid rgba(44, 38, 32, 0.18);
  background: var(--bg);
  color: var(--ink);
  font-size: 0.88rem;
  transition: background 0.3s var(--ease), border-color 0.3s var(--ease), color 0.3s var(--ease), transform 0.3s var(--ease);
}

.page-contact .contact-chip:hover span {
  border-color: var(--ink);
}

.page-contact .contact-chip input:checked + span {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--cream);
}

.page-contact .contact-chip input:focus-visible + span {
  outline: 2px solid var(--brown-mid);
  outline-offset: 2px;
}

.page-contact .contact-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.15rem 1.25rem;
}

.page-contact .contact-form__grid .field--full {
  grid-column: 1 / -1;
}

.page-contact .contact-form .field label {
  color: var(--brown);
}

.page-contact .contact-form .field input,
.page-contact .contact-form .field textarea,
.page-contact .contact-form .field select {
  background: #fff;
  border-color: rgba(44, 38, 32, 0.18);
}

.page-contact .contact-file {
  display: grid;
  gap: 0.55rem;
}

.page-contact .contact-file input[type="file"] {
  padding: 0.85rem 0;
  border: 0;
  background: transparent;
  font-size: 0.9rem;
}

.page-contact .contact-file__hint {
  font-size: 0.82rem;
  color: var(--brown);
}

.page-contact .contact-form__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
}

.page-contact .contact-form__note {
  font-size: 0.85rem;
  color: var(--brown);
  max-width: 34ch;
}

.page-contact .contact-form__submit {
  position: relative;
  min-width: 12rem;
}

.page-contact .contact-form__submit.is-loading {
  pointer-events: none;
  opacity: 0.85;
}

.page-contact .contact-form__spinner {
  width: 1rem;
  height: 1rem;
  border: 1.5px solid rgba(255, 250, 243, 0.35);
  border-top-color: var(--cream);
  border-radius: 50%;
  animation: contact-spin 0.7s linear infinite;
  margin-left: 0.55rem;
}

@keyframes contact-spin {
  to { transform: rotate(360deg); }
}

/* --- Why --- */
.page-contact .contact-why {
  background: #ede4d4;
}

.page-contact .contact-why__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.page-contact .contact-why__item {
  padding: 0.25rem 0;
}

.page-contact .contact-why__icon {
  display: inline-flex;
  color: var(--brown-mid);
  margin-bottom: 1rem;
}

.page-contact .contact-why__item h3 {
  font-size: 1.2rem;
  margin-bottom: 0.55rem;
  color: var(--ink);
}

.page-contact .contact-why__item p {
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--ink);
}

/* --- Social --- */
.page-contact .contact-social {
  background: #fff;
}

.page-contact .contact-social__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.5rem, 3.5vw, 2.75rem) clamp(1.25rem, 3vw, 2.5rem);
  width: 100%;
  max-width: 56rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-contact .contact-social__link {
  display: grid;
  justify-items: start;
  align-content: start;
  gap: 0.85rem;
  color: var(--ink);
  width: 100%;
  padding: 0.85rem 0 1rem;
  transition: transform 0.35s var(--ease), color 0.35s var(--ease);
}

.page-contact .contact-social__link svg {
  width: 36px;
  height: 36px;
  display: block;
  transition: transform 0.35s var(--ease);
}

.page-contact .contact-social__link:hover {
  color: var(--brown-mid);
}

.page-contact .contact-social__link:hover svg {
  transform: scale(1.08);
}

.page-contact .contact-social__link[aria-disabled="true"] {
  opacity: 0.55;
  cursor: default;
}

.page-contact .contact-social__link span {
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.3;
}

/* --- FAQ quick --- */
.page-contact .contact-faq {
  background: var(--bg);
}

.page-contact .contact-faq__list {
  max-width: 40rem;
  margin: 0 auto;
  display: grid;
  gap: 0;
}

.page-contact .contact-faq__list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 0;
  border-bottom: 1px solid rgba(44, 38, 32, 0.12);
  color: var(--ink);
  font-size: 1.05rem;
  transition: padding-left 0.35s var(--ease), color 0.35s var(--ease);
}

.page-contact .contact-faq__list li:first-child a {
  border-top: 1px solid rgba(44, 38, 32, 0.12);
}

.page-contact .contact-faq__list a:hover {
  padding-left: 0.4rem;
  color: var(--brown-mid);
}

.page-contact .contact-faq__more {
  text-align: center;
  margin-top: 2rem;
}

/* --- Floating WhatsApp --- */
.page-contact .contact-fab {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 60;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem 0.75rem 0.75rem;
  background: var(--ink);
  color: var(--cream);
  border: 1px solid rgba(255, 250, 243, 0.12);
  box-shadow: 0 14px 36px rgba(44, 38, 32, 0.28);
  transition: transform 0.35s var(--ease), background 0.35s var(--ease);
}

.page-contact .contact-fab:hover {
  transform: translateY(-3px);
  background: var(--brown);
}

.page-contact .contact-fab__icon {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  background: rgba(255, 250, 243, 0.1);
}

.page-contact .contact-fab__text {
  display: grid;
  gap: 0.1rem;
  line-height: 1.2;
}

.page-contact .contact-fab__text strong {
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.page-contact .contact-fab__text em {
  font-style: normal;
  font-size: 0.72rem;
  opacity: 0.78;
}

/* --- nofx / reduced motion --- */
html.nofx .page-contact .contact-hero__media,
.fx-off .page-contact .contact-hero__media {
  animation: none !important;
}

html.nofx .page-contact .contact-hero__label,
html.nofx .page-contact .contact-hero h1,
html.nofx .page-contact .contact-hero__lead,
.fx-off .page-contact .contact-hero__label,
.fx-off .page-contact .contact-hero h1,
.fx-off .page-contact .contact-hero__lead {
  opacity: 1;
  transform: none;
  animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .page-contact .contact-hero__media,
  .page-contact .contact-hero__label,
  .page-contact .contact-hero h1,
  .page-contact .contact-hero__lead,
  .page-contact .contact-form__spinner,
  .page-contact .contact-card,
  .page-contact .contact-social__link svg {
    animation: none !important;
    transition: none !important;
    opacity: 1;
    transform: none;
  }
}

/* --- Responsive --- */
@media (max-width: 1100px) {
  .page-contact .contact-cards,
  .page-contact .contact-why__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 900px) {
  .page-contact .contact-intro__grid,
  .page-contact .contact-location__grid {
    grid-template-columns: 1fr;
  }

  .page-contact .contact-intro__media {
    aspect-ratio: 16 / 10;
  }

  .page-contact .contact-form__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .page-contact .contact-cards,
  .page-contact .contact-why__grid {
    grid-template-columns: 1fr;
  }

  .page-contact .contact-hero {
    min-height: 78vh;
  }

  .page-contact .contact-fab__text {
    display: none;
  }

  .page-contact .contact-fab {
    padding: 0.75rem;
    border-radius: 0;
  }
}

/* ==========================================================================
   PAGE DOWNLOAD ?? H?fele / Blum-style B2B resource centre (VPI317CV)
   ========================================================================== */

.page-download {
  --dl-cream: #f7f0e6;
  --dl-ink: #3d3228;
  --dl-taupe: #d4b896;
  --dl-cocoa: #8b7355;
  --dl-brown: #6b5744;
  --dl-white: #f3e6d4;
  --dl-grey: #e8d5bc;
  background: var(--bg);
  color: var(--ink);
}

.page-download .section {
  padding-block: clamp(4rem, 8vw, 6.5rem);
}

.page-download .section-intro {
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.page-download .section-intro--center {
  text-align: center;
  max-width: 40rem;
  margin-inline: auto;
  margin-bottom: clamp(2.25rem, 4.5vw, 3.25rem);
}

.page-download .section-intro h2,
.page-download .dl-intro__copy h2,
.page-download .dl-cta h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2rem, 4.2vw, 3.15rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--dl-ink);
  margin: 0 0 0.85rem;
}

.page-download .section-intro p,
.page-download .dl-intro__copy > p,
.page-download .dl-cat-card p,
.page-download .dl-step__body p {
  color: var(--dl-brown);
  font-size: 1.02rem;
  line-height: 1.7;
  max-width: 42rem;
}

.page-download .section-intro--center p {
  margin-inline: auto;
}

.page-download .eyebrow {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--dl-cocoa);
  margin-bottom: 0.85rem;
}

.page-download .btn--dark {
  background: var(--dl-ink);
  color: var(--dl-cream);
  border-color: var(--dl-ink);
}

.page-download .btn--dark:hover {
  background: var(--dl-cocoa);
  border-color: var(--dl-cocoa);
  color: #fff;
}

/* --- Hero (matches Products catalogue premium bar) --- */
.page-download .dl-hero {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  align-items: center;
  justify-items: start;
  text-align: left;
  overflow: hidden;
  color: #fff;
  background: var(--black);
}

.page-download .dl-hero__media {
  position: absolute;
  inset: -4% 0;
  z-index: 0;
  background-image:
    url("https://images.unsplash.com/photo-1616594039964-ae9021a400a0?auto=format&fit=crop&w=2400&q=88");
  background-position: center 48%;
  background-size: cover;
  background-repeat: no-repeat;
  will-change: transform;
  opacity: 0.72;
  transform: scale(1.12);
  transition: transform 1.8s cubic-bezier(0.22, 1, 0.36, 1), opacity 1.4s ease;
}

.page-download .dl-hero.is-ready .dl-hero__media {
  opacity: 1;
  transform: scale(1.06);
}

.page-download .dl-hero__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(92deg, rgba(12, 10, 9, 0.36) 0%, rgba(12, 10, 9, 0.08) 44%, rgba(12, 10, 9, 0.12) 100%),
    linear-gradient(180deg, rgba(12, 10, 9, 0.2) 0%, transparent 45%, rgba(12, 10, 9, 0.26) 100%);
}

.page-download .dl-hero__content {
  position: relative;
  z-index: 2;
  max-width: 36rem;
  color: #fff;
  padding:
    calc(var(--lang-bar-h) + var(--header-h) + clamp(1.5rem, 4vh, 3rem))
    clamp(1.5rem, 6vw, 5.5rem)
    clamp(3rem, 8vh, 5rem);
}

.page-download .dl-hero__label {
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255, 250, 243, 0.7);
  margin: 0 0 1.35rem;
}

.page-download .dl-hero__title,
.page-download .dl-hero h1 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(3.25rem, 7.4vw, 5.65rem);
  line-height: 0.9;
  letter-spacing: -0.03em;
  color: #fff;
  max-width: none;
  margin: 0 0 1.35rem;
  text-align: left;
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 1.1s var(--ease) 0.15s, transform 1.1s var(--ease) 0.15s;
}

.page-download .dl-hero.is-ready .dl-hero__title,
.page-download .dl-hero.is-ready .dl-hero h1 {
  opacity: 1;
  transform: none;
}

.page-download .dl-hero__title-line {
  display: block;
}

.page-download .dl-hero__lead {
  font-family: var(--font-body);
  font-weight: 300;
  max-width: 40ch;
  font-size: clamp(0.95rem, 1.15vw, 1.05rem);
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
  opacity: 0.9;
}

.page-download .dl-hero__cta {
  margin-top: 2rem;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1.55rem;
  color: #fff;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 0;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.page-download .dl-hero__cta::before,
.page-download .dl-hero__cta::after {
  display: none;
  content: none;
}

.page-download .dl-hero__cta:hover {
  color: var(--ink);
  background: #fff;
  border-color: #fff;
}

.page-download .dl-hero__cta-arrow {
  display: inline-block;
  transition: transform 0.45s var(--ease);
}

.page-download .dl-hero__cta:hover .dl-hero__cta-arrow {
  transform: translateX(5px);
}

.page-download .dl-hero [data-reveal-line] {
  opacity: 0;
  transform: translateY(1.35rem);
  transition: opacity 0.95s var(--ease), transform 0.95s var(--ease);
}

.page-download .dl-hero [data-reveal-line].is-in {
  opacity: 1;
  transform: none;
}

html.has-motion .page-download .dl-hero.is-ready .dl-hero__media {
  animation: ken-burns 22s ease-out forwards;
}

@media (prefers-reduced-motion: reduce) {
  html.has-motion .page-download .dl-hero.is-ready .dl-hero__media {
    animation: none;
  }
}

/* --- Introduction --- */
.page-download .dl-intro {
  background: var(--dl-white);
}

.page-download .dl-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

.page-download .dl-intro__media {
  min-height: clamp(18rem, 42vw, 28rem);
  background:
    url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=1600&q=85")
      center / cover no-repeat;
  clip-path: inset(0 0 0 0);
}

.page-download .dl-intro__copy > p + p {
  margin-top: 1rem;
}

.page-download .dl-sample-note {
  margin-top: 1.35rem !important;
  font-size: 0.88rem !important;
  color: #3a322c !important;
  -webkit-text-fill-color: #3a322c !important;
  border-left: 2px solid rgba(20, 17, 14, 0.35);
  padding-left: 0.9rem;
}

/* --- Featured --- */
.page-download .dl-featured {
  background: var(--dl-grey);
}

.page-download .dl-feat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2rem);
}

.page-download .dl-feat-card {
  background: var(--dl-white);
  border: 1px solid rgba(44, 38, 32, 0.1);
  padding: clamp(1.75rem, 3.5vw, 2.5rem);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  transition: transform 0.45s var(--ease), box-shadow 0.45s var(--ease), border-color 0.35s ease;
}

.page-download .dl-feat-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(44, 38, 32, 0.1);
  border-color: rgba(160, 147, 125, 0.28);
}

.page-download .dl-feat-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.page-download .dl-feat-card__icon {
  width: 3.25rem;
  height: 3.25rem;
  display: grid;
  place-items: center;
  color: var(--dl-cocoa);
  border: 1px solid rgba(160, 147, 125, 0.28);
  background: rgba(160, 147, 125, 0.1);
  transition: color 0.35s ease, background 0.35s ease, border-color 0.35s ease;
}

.page-download .dl-feat-card:hover .dl-feat-card__icon {
  color: var(--dl-ink);
  background: rgba(160, 147, 125, 0.18);
  border-color: var(--dl-cocoa);
}

.page-download .dl-feat-card__meta-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}

.page-download .dl-feat-card__meta-tags span {
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--dl-cocoa);
  border: 1px solid rgba(160, 147, 125, 0.25);
  padding: 0.28rem 0.55rem;
}

.page-download .dl-feat-card h3 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.65rem, 2.8vw, 2.15rem);
  line-height: 1.15;
  color: var(--dl-ink);
  margin: 0 0 1.15rem;
}

.page-download .dl-feat-card__meta {
  display: grid;
  gap: 0.55rem;
  margin: 0 0 1.25rem;
  padding: 0 0 1.15rem;
  border-bottom: 1px solid rgba(44, 38, 32, 0.1);
}

.page-download .dl-feat-card__meta li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.92rem;
}

.page-download .dl-feat-card__meta span {
  color: var(--dl-brown);
}

.page-download .dl-feat-card__meta strong {
  font-weight: 500;
  color: var(--dl-ink);
}

.page-download .dl-feat-card__list {
  display: grid;
  gap: 0.55rem;
  margin: 0 0 1.75rem;
  flex: 1;
}

.page-download .dl-feat-card__list li {
  position: relative;
  padding-left: 1.35rem;
  font-size: 0.95rem;
  color: var(--dl-brown);
  line-height: 1.5;
}

.page-download .dl-feat-card__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45rem;
  width: 0.55rem;
  height: 0.55rem;
  border: 1.5px solid var(--dl-cocoa);
  border-radius: 50%;
  box-sizing: border-box;
}

.page-download .dl-feat-card__list li::after {
  content: "";
  position: absolute;
  left: 0.16rem;
  top: 0.61rem;
  width: 0.22rem;
  height: 0.22rem;
  background: var(--dl-cocoa);
  border-radius: 50%;
}

.page-download .dl-feat-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  width: 100%;
  margin-top: auto;
}

.page-download .dl-feat-card__btn-icon {
  display: inline-flex;
  transition: transform 0.35s var(--ease);
}

.page-download .dl-feat-card__btn:hover .dl-feat-card__btn-icon {
  transform: translateY(2px);
}

/* --- Table --- */
.page-download .dl-table-section {
  background: var(--dl-white);
}

.page-download .dl-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(44, 38, 32, 0.12);
  -webkit-overflow-scrolling: touch;
}

.page-download .dl-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 52rem;
}

.page-download .dl-table th,
.page-download .dl-table td {
  padding: 1rem 1.1rem;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid rgba(44, 38, 32, 0.1);
  font-size: 0.94rem;
}

.page-download .dl-table th {
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dl-cocoa);
  background: rgba(160, 147, 125, 0.08);
  white-space: nowrap;
}

.page-download .dl-table tbody tr {
  transition: background 0.25s ease;
}

.page-download .dl-table tbody tr:hover {
  background: rgba(160, 147, 125, 0.1);
}

.page-download .dl-table__icon-col {
  width: 3.5rem;
}

.page-download .dl-table__file-icon {
  display: inline-flex;
  color: var(--dl-cocoa);
}

.page-download .dl-table__name {
  font-weight: 500;
  color: var(--dl-ink);
}

.page-download .dl-table__dl {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.86rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--dl-ink);
  border-bottom: 1px solid transparent;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.page-download .dl-table__dl:hover {
  color: var(--dl-cocoa);
  border-bottom-color: var(--dl-cocoa);
}

.page-download .dl-table__dl-icon {
  display: inline-flex;
  transition: transform 0.35s var(--ease);
}

.page-download .dl-table__dl:hover .dl-table__dl-icon {
  transform: translateY(3px);
  animation: dl-bounce 0.7s var(--ease);
}

@keyframes dl-bounce {
  0%, 100% { transform: translateY(0); }
  40% { transform: translateY(4px); }
  70% { transform: translateY(1px); }
}

.page-download .dl-table__count {
  margin-top: 1rem;
  font-size: 0.86rem;
  color: var(--dl-brown);
}

/* --- Categories --- */
.page-download .dl-cats {
  background: var(--dl-cream);
}

.page-download .dl-cats__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.15rem;
}

.page-download .dl-cat-card {
  background: var(--dl-white);
  border: 1px solid rgba(44, 38, 32, 0.1);
  padding: 1.6rem 1.35rem 1.75rem;
  transition: transform 0.4s var(--ease), border-color 0.35s ease, box-shadow 0.4s var(--ease);
}

.page-download .dl-cat-card:hover {
  transform: translateY(-4px);
  border-color: rgba(160, 147, 125, 0.3);
  box-shadow: 0 14px 32px rgba(44, 38, 32, 0.08);
}

.page-download .dl-cat-card__icon {
  display: inline-flex;
  color: var(--dl-cocoa);
  margin-bottom: 1rem;
  transition: color 0.3s ease, transform 0.35s var(--ease);
}

.page-download .dl-cat-card:hover .dl-cat-card__icon {
  color: var(--dl-ink);
  transform: translateY(-2px);
}

.page-download .dl-cat-card h3 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.45rem;
  margin: 0 0 0.55rem;
  color: var(--dl-ink);
}

.page-download .dl-cat-card p {
  font-size: 0.92rem;
  margin: 0;
}

/* --- Steps --- */
.page-download .dl-steps {
  background: var(--dl-grey);
}

.page-download .dl-steps__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  counter-reset: none;
  list-style: none;
}

.page-download .dl-step {
  position: relative;
  background: var(--dl-white);
  border: 1px solid rgba(44, 38, 32, 0.1);
  padding: 1.5rem 1.25rem 1.65rem;
  min-height: 100%;
}

.page-download .dl-step__num {
  display: block;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  color: var(--dl-cocoa);
  margin-bottom: 0.85rem;
}

.page-download .dl-step__body h3 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.4rem;
  margin: 0 0 0.45rem;
  color: var(--dl-ink);
}

.page-download .dl-step__body p {
  font-size: 0.92rem;
  margin: 0;
}

.page-download .dl-step__arrow {
  display: none;
  position: absolute;
  right: -0.85rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 50%;
  background: var(--dl-white);
  border: 1px solid rgba(44, 38, 32, 0.14);
  color: var(--dl-cocoa);
  place-items: center;
  animation: dl-arrow-pulse 2.4s var(--ease) infinite;
}

@keyframes dl-arrow-pulse {
  0%, 100% { transform: translateY(-50%) translateX(0); opacity: 0.75; }
  50% { transform: translateY(-50%) translateX(3px); opacity: 1; }
}

/* --- CTA --- */
.page-download .dl-cta {
  position: relative;
  min-height: min(52vh, 28rem);
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--dl-cream);
  background: var(--black);
}

.page-download .dl-cta__media {
  position: absolute;
  inset: -6%;
  background:
    url("https://images.unsplash.com/photo-1618220179428-22790b461013?auto=format&fit=crop&w=2200&q=85")
      center / cover no-repeat;
}

.page-download .dl-cta__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26, 16, 8, 0.55) 0%, rgba(26, 16, 8, 0.78) 100%);
  pointer-events: none;
}

.page-download .dl-cta__content {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: clamp(3.5rem, 8vw, 5.5rem) 0;
}

.page-download .dl-cta h2 {
  color: #f3f1ee;
  max-width: 16ch;
  margin-inline: auto;
}

.page-download .dl-cta__content > p {
  max-width: 36rem;
  margin: 0 auto 1.75rem;
  color: rgba(255, 250, 243, 0.88);
  font-size: 1.05rem;
  line-height: 1.65;
}

.page-download .dl-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  background: var(--dl-cream);
  color: var(--dl-ink);
  border-color: var(--dl-cream);
}

.page-download .dl-cta__btn:hover {
  background: #fff;
  border-color: #fff;
  color: var(--dl-ink);
}

.page-download .dl-cta__arrow {
  width: 0.85rem;
  height: 0.85rem;
  border-right: 1.5px solid currentColor;
  border-top: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.35s var(--ease);
}

.page-download .dl-cta__btn:hover .dl-cta__arrow {
  transform: rotate(45deg) translate(2px, -2px);
}

/* --- nofx / reduced motion --- */
html.nofx .page-download .dl-hero__media,
.fx-off .page-download .dl-hero__media {
  animation: none;
  opacity: 1;
  transform: scale(1.02);
  transition: none;
}

html.nofx .page-download .dl-hero__title,
html.nofx .page-download .dl-hero h1,
html.nofx .page-download .dl-hero [data-reveal-line],
.fx-off .page-download .dl-hero__title,
.fx-off .page-download .dl-hero h1,
.fx-off .page-download .dl-hero [data-reveal-line] {
  opacity: 1;
  transform: none;
  transition: none;
  animation: none;
}

html.nofx .page-download .dl-step__arrow,
.fx-off .page-download .dl-step__arrow,
html.nofx .page-download .dl-table__dl:hover .dl-table__dl-icon,
.fx-off .page-download .dl-table__dl:hover .dl-table__dl-icon {
  animation: none;
}

@media (prefers-reduced-motion: reduce) {
  .page-download .dl-hero__media,
  .page-download .dl-hero__title,
  .page-download .dl-hero h1,
  .page-download .dl-hero [data-reveal-line],
  .page-download .dl-step__arrow {
    animation: none;
    transition: none;
  }

  .page-download .dl-hero__media {
    opacity: 1;
    transform: scale(1.02);
  }

  .page-download .dl-hero__title,
  .page-download .dl-hero h1,
  .page-download .dl-hero [data-reveal-line] {
    opacity: 1;
    transform: none;
  }

  .page-download .dl-feat-card:hover,
  .page-download .dl-cat-card:hover {
    transform: none;
  }
}

@media (min-width: 960px) {
  .page-download .dl-step__arrow {
    display: grid;
  }
}

@media (max-width: 960px) {
  .page-download .dl-intro__grid,
  .page-download .dl-feat-grid {
    grid-template-columns: 1fr;
  }

  .page-download .dl-cats__grid,
  .page-download .dl-steps__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .page-download .dl-hero__title,
  .page-download .dl-hero h1 {
    font-size: clamp(2.75rem, 12vw, 3.6rem);
  }

  .page-download .dl-hero__content {
    max-width: 28rem;
  }

  .page-download .dl-hero__veil {
    background:
      linear-gradient(92deg, rgba(12, 10, 9, 0.48) 0%, rgba(12, 10, 9, 0.18) 55%, rgba(12, 10, 9, 0.22) 100%),
      linear-gradient(180deg, rgba(12, 10, 9, 0.24) 0%, transparent 42%, rgba(12, 10, 9, 0.36) 100%);
  }
}

@media (max-width: 640px) {
  .page-download .dl-cats__grid,
  .page-download .dl-steps__list {
    grid-template-columns: 1fr;
  }

  .page-download .dl-feat-card__meta-tags {
    justify-content: flex-start;
  }

  .page-download .dl-feat-card__top {
    flex-direction: column;
  }
}


/* =========================================================
   SITE-WIDE PREMIUM MOTION POLISH ?? 20260728motion
   BoConcept / RH calm motion. No glass. Respects nofx / reduce.
   ========================================================= */

.reveal-stagger > .reveal:nth-child(1) { --delay: 0ms; }
.reveal-stagger > .reveal:nth-child(2) { --delay: 60ms; }
.reveal-stagger > .reveal:nth-child(3) { --delay: 120ms; }
.reveal-stagger > .reveal:nth-child(4) { --delay: 180ms; }
.reveal-stagger > .reveal:nth-child(5) { --delay: 240ms; }
.reveal-stagger > .reveal:nth-child(6) { --delay: 300ms; }
.reveal-stagger > .reveal:nth-child(7) { --delay: 360ms; }
.reveal-stagger > .reveal:nth-child(8) { --delay: 420ms; }

/* --- CTA bands: fade-up when in view --- */
.about-cta__content > *,
.craft-cta__content > *,
.news-cta__content > *,
.pcat-cta__content > *,
.dl-cta__content > *,
.home-cta__row > *,
.faq-cta .cta-banner__content > * {
  opacity: 0;
  transform: translate3d(0, 1.35rem, 0);
  transition:
    opacity 0.85s var(--ease),
    transform 0.85s var(--ease);
}

.about-cta.is-in-view .about-cta__content > *,
.craft-cta.is-in-view .craft-cta__content > *,
.news-cta.is-in-view .news-cta__content > *,
.pcat-cta.is-in-view .pcat-cta__content > *,
.dl-cta.is-in-view .dl-cta__content > *,
.home-cta.is-in-view .home-cta__row > *,
.faq-cta.is-in-view .cta-banner__content > * {
  opacity: 1;
  transform: none;
}

.about-cta.is-in-view .about-cta__content > *:nth-child(1),
.craft-cta.is-in-view .craft-cta__content > *:nth-child(1),
.news-cta.is-in-view .news-cta__content > *:nth-child(1),
.pcat-cta.is-in-view .pcat-cta__content > *:nth-child(1),
.dl-cta.is-in-view .dl-cta__content > *:nth-child(1),
.home-cta.is-in-view .home-cta__row > *:nth-child(1),
.faq-cta.is-in-view .cta-banner__content > *:nth-child(1) { transition-delay: 0.05s; }

.about-cta.is-in-view .about-cta__content > *:nth-child(2),
.craft-cta.is-in-view .craft-cta__content > *:nth-child(2),
.news-cta.is-in-view .news-cta__content > *:nth-child(2),
.pcat-cta.is-in-view .pcat-cta__content > *:nth-child(2),
.dl-cta.is-in-view .dl-cta__content > *:nth-child(2),
.home-cta.is-in-view .home-cta__row > *:nth-child(2),
.faq-cta.is-in-view .cta-banner__content > *:nth-child(2) { transition-delay: 0.16s; }

.about-cta.is-in-view .about-cta__content > *:nth-child(3),
.craft-cta.is-in-view .craft-cta__content > *:nth-child(3),
.news-cta.is-in-view .news-cta__content > *:nth-child(3),
.pcat-cta.is-in-view .pcat-cta__content > *:nth-child(3),
.dl-cta.is-in-view .dl-cta__content > *:nth-child(3),
.faq-cta.is-in-view .cta-banner__content > *:nth-child(3) { transition-delay: 0.28s; }

.about-cta.is-in-view .about-cta__content > *:nth-child(4),
.craft-cta.is-in-view .craft-cta__content > *:nth-child(4),
.news-cta.is-in-view .news-cta__content > *:nth-child(4),
.pcat-cta.is-in-view .pcat-cta__content > *:nth-child(4),
.dl-cta.is-in-view .dl-cta__content > *:nth-child(4) { transition-delay: 0.4s; }

/* Reveal class on CTA children still works ?? avoid double-hide once revealed */
.about-cta .about-cta__content > *.reveal.is-visible,
.craft-cta .craft-cta__content > *.reveal.is-visible,
.news-cta .news-cta__content > *.reveal.is-visible,
.pcat-cta .pcat-cta__content > *.reveal.is-visible,
.dl-cta .dl-cta__content > *.reveal.is-visible,
.home-cta .home-cta__row > *.reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* --- Unified soft card lift (grids) --- */
.page-craftsmanship .craft-comp,
.page-craftsmanship .craft-test,
.page-contact .contact-card,
.page-contact .contact-why__item,
.page-download .dl-step,
.page-faq .faq-cat,
.page-news .news-launch__card,
.page-news .news-timeline__item,
.page-news .news-inside__row,
.page-news .news-journal__card,
.page-products-catalog .pcat-why__item {
  transition:
    transform 0.55s var(--ease),
    box-shadow 0.55s var(--ease),
    border-color 0.45s var(--ease),
    background 0.45s var(--ease);
}

@media (hover: hover) and (pointer: fine) {
  .page-craftsmanship .craft-comp:hover,
  .page-craftsmanship .craft-test:hover,
  .page-contact .contact-card:hover,
  .page-contact .contact-why__item:hover,
  .page-download .dl-step:hover,
  .page-faq .faq-cat:hover,
  .page-news .news-launch__card:hover,
  .page-news .news-journal__card:hover,
  .page-news .news-timeline__item:hover {
    transform: translateY(-7px);
    box-shadow: 0 16px 36px rgba(26, 16, 8, 0.08);
  }
}

/* --- FAQ accordion: smoother answer fade --- */
.faq-item .faq-answer {
  transition:
    grid-template-rows 0.5s var(--ease),
    opacity 0.45s var(--ease),
    margin-top 0.4s var(--ease);
}

.page-faq .faq-item .faq-answer p {
  opacity: 0.35;
  transform: translateY(-0.4rem);
  transition:
    opacity 0.45s var(--ease),
    transform 0.45s var(--ease);
}

.page-faq .faq-item.is-open .faq-answer p {
  opacity: 1;
  transform: translateY(0);
}

/* --- Download cat cards: unify lift --- */
.page-download .dl-cat-card:hover,
.page-download .dl-feat-card:hover {
  transform: translateY(-7px);
}

/* --- Filter chip underline origin unify --- */
.page-news .news-filter__btn::after,
.page-products-catalog .pcat-filter a::after,
.page-home .gallery-filters button::after {
  transform-origin: left center;
}

/* --- Logo row: ensure color on hover --- */
.page-about .about-logo {
  transition: color 0.45s var(--ease), filter 0.45s var(--ease), border-color 0.45s var(--ease);
}

/* --- nofx / reduced motion safety --- */
html.nofx .about-cta__content > *,
html.nofx .craft-cta__content > *,
html.nofx .news-cta__content > *,
html.nofx .pcat-cta__content > *,
html.nofx .dl-cta__content > *,
html.nofx .home-cta__row > *,
html.nofx .faq-cta .cta-banner__content > *,
.fx-off .about-cta__content > *,
.fx-off .craft-cta__content > *,
.fx-off .news-cta__content > *,
.fx-off .pcat-cta__content > *,
.fx-off .dl-cta__content > *,
.fx-off .home-cta__row > *,
.fx-off .faq-cta .cta-banner__content > * {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

html.nofx .page-about .about-value h3,
.fx-off .page-about .about-value h3 {
  transition: none !important;
}

html.nofx .page-products-catalog .pcat-why__item,
html.nofx .page-products-catalog .pcat-why__num,
html.nofx .page-products-catalog .pcat-why__item::before,
.fx-off .page-products-catalog .pcat-why__item,
.fx-off .page-products-catalog .pcat-why__num,
.fx-off .page-products-catalog .pcat-why__item::before {
  transition: none !important;
}

html.nofx .page-products-catalog .pcat-why__item:hover,
html.nofx .page-products-catalog .pcat-why__item.reveal.is-visible:hover,
.fx-off .page-products-catalog .pcat-why__item:hover,
.fx-off .page-products-catalog .pcat-why__item.reveal.is-visible:hover {
  transform: none !important;
  box-shadow: none !important;
}

html.nofx .page-products-catalog .pcat-why__item:hover::before,
.fx-off .page-products-catalog .pcat-why__item:hover::before {
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .about-cta__content > *,
  .craft-cta__content > *,
  .news-cta__content > *,
  .pcat-cta__content > *,
  .dl-cta__content > *,
  .home-cta__row > *,
  .faq-cta .cta-banner__content > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .page-craftsmanship .craft-cert-thumb:hover,
  .gallery-item:hover .gallery-item__img,
  .col-item:hover .col-item__img,
  .page-products-catalog .pcat-gallery__item:hover .pcat-gallery__img {
    transform: none;
  }

  .page-about .about-value h3 {
    transition: none;
  }

  .page-products-catalog .pcat-why__item,
  .page-products-catalog .pcat-why__num,
  .page-products-catalog .pcat-why__item::before {
    transition: none !important;
  }

  .page-products-catalog .pcat-why__item:hover,
  .page-products-catalog .pcat-why__item.reveal.is-visible:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  .page-products-catalog .pcat-why__item:hover::before {
    transform: none !important;
  }
}

/* =========================================================
   UNIFIED DARK CLOSING ?? CTA + FOOTER (20260728dark1)
   Seamless near-black. Light button on dark. No warm cream.
   ========================================================= */
.site-cta {
  min-height: 0 !important;
  display: block !important;
  place-items: unset !important;
  background-color: var(--bg) !important;
  background-image: var(--grad-deep) !important;
  color: var(--fg) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: clamp(3.75rem, 5.5vw, 5rem) 0 !important;
}

.site-cta__veil,
.site-cta__aside,
.site-cta__media,
.site-cta__lead {
  display: none !important;
}

.site-cta__inner {
  display: flex !important;
  flex-wrap: wrap !important;
  grid-template-columns: unset !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: clamp(1.5rem, 3vw, 2.75rem) clamp(2rem, 4vw, 3.5rem) !important;
}

.site-cta__btn {
  background: var(--fg) !important;
  border-color: var(--fg) !important;
  color: #0b0b0b !important;
  box-shadow: none !important;
  transform: none !important;
}

.site-cta__btn::before {
  display: none !important;
}

.site-cta__btn:hover {
  background-color: var(--accent) !important;
  background-image: none !important;
  border-color: var(--accent) !important;
  color: #0b0b0b !important;
  transform: none !important;
  box-shadow: 0 0 28px rgba(255, 255, 255, 0.12) !important;
}

.site-footer {
  background-color: var(--bg) !important;
  background-image: none !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: rgba(243, 241, 238, 0.72) !important;
}

/* Hide scroll % junk over closing composition */
body.is-near-footer .scroll-progress,
.scroll-progress:not(.is-visible) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Optional fade-up for shared CTA copy */
.site-cta__copy > * {
  opacity: 0;
  transform: translate3d(0, 1.2rem, 0);
  transition:
    opacity 0.85s var(--ease),
    transform 0.85s var(--ease);
}

.site-cta.is-in-view .site-cta__copy > * {
  opacity: 1;
  transform: none;
}

.site-cta.is-in-view .site-cta__copy > *:nth-child(1) { transition-delay: 0.05s; }
.site-cta.is-in-view .site-cta__copy > *:nth-child(2) { transition-delay: 0.14s; }
.site-cta.is-in-view .site-cta__copy > *:nth-child(3) { transition-delay: 0.24s; }

.site-cta .site-cta__copy > *.reveal.is-visible {
  opacity: 1;
  transform: none;
}

html.nofx .site-cta__copy > *,
.fx-off .site-cta__copy > * {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

@media (max-width: 820px) {
  .site-cta__inner {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .site-cta__btn {
    width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-cta__copy > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* =========================================================
   BROWN LAB SAFETY (20260728brownlab)
   Soft ??? streaks ?? no neon cyan / magenta / violet.
   ========================================================= */
html {
  background-color: #f3e6d4;
  color-scheme: light;
}

body {
  background-color: #f3e6d4 !important;
  background-image: var(--grad-page) !important;
  background-attachment: fixed !important;
  background-size: 140% 140% !important;
  background-position: 0% 40% !important;
  animation: brownlab-bg-shift 22s ease-in-out infinite alternate !important;
  color: var(--ink) !important;
}

/* Force taupe motion-blur streaks */
body::before {
  content: "" !important;
  position: fixed !important;
  inset: -18% -8% !important;
  z-index: -1 !important;
  pointer-events: none !important;
  height: auto !important;
  background:
    repeating-linear-gradient(
      92deg,
      transparent 0px,
      rgba(247, 240, 230, 0.55) 3px,
      transparent 9px,
      rgba(232, 201, 160, 0.42) 14px,
      transparent 28px,
      rgba(196, 168, 130, 0.32) 34px,
      transparent 52px,
      rgba(243, 230, 212, 0.65) 58px,
      transparent 78px
    ),
    repeating-linear-gradient(
      0deg,
      transparent 0px,
      rgba(232, 213, 188, 0.28) 18px,
      transparent 48px,
      rgba(196, 168, 130, 0.18) 72px,
      transparent 110px
    ),
    radial-gradient(ellipse 55% 70% at 48% 18%, rgba(247, 240, 230, 0.85) 0%, transparent 58%),
    radial-gradient(ellipse 50% 45% at 88% 72%, rgba(196, 168, 130, 0.45) 0%, transparent 55%),
    radial-gradient(ellipse 45% 40% at 12% 78%, rgba(232, 201, 160, 0.4) 0%, transparent 52%) !important;
  filter: blur(28px) !important;
  opacity: 0.92 !important;
  mix-blend-mode: soft-light !important;
  animation: brownlab-streak-drift 26s ease-in-out infinite alternate !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

body::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(125deg, rgba(247, 240, 230, 0.4) 0%, transparent 40%, rgba(196, 168, 130, 0.14) 72%, transparent 100%),
    radial-gradient(ellipse 80% 50% at 50% 110%, rgba(107, 87, 68, 0.1) 0%, transparent 55%),
    linear-gradient(180deg, transparent 50%, rgba(212, 184, 150, 0.25) 100%) !important;
}

.section--warm,
.section--linen {
  background-color: transparent !important;
  background-image: var(--grad-warm) !important;
  color: var(--ink);
  border-color: var(--line);
}

.section--ink,
.section--charcoal,
.section--dark {
  background-color: transparent !important;
  background-image: var(--grad-deep) !important;
  color: rgba(247, 240, 230, 0.92) !important;
}

.section--charcoal h2,
.section--charcoal h3,
.section--dark h2,
.section--dark h3,
.section--ink h2,
.section--ink h3 {
  color: var(--cream) !important;
}

.section--charcoal .eyebrow,
.section--dark .eyebrow,
.section--ink .eyebrow {
  color: var(--champagne) !important;
}

.section--charcoal p,
.section--charcoal .muted,
.section--dark p,
.section--dark .muted {
  color: rgba(247, 240, 230, 0.72) !important;
}

.page-home .home-hero__veil {
  background: var(--grad-hero-veil) !important;
}

/* Soft cream panels + taupe hairlines */
.product-tile,
.news-card,
.faq-item,
.download-item,
.feature,
.compliance-card,
.rail-card,
.collection-card,
.why-tile,
.why-card,
.feat-card,
.feat-panel,
.featured-card,
.contact-card,
.form-card {
  background-color: rgba(247, 240, 230, 0.78) !important;
  border: 1px solid rgba(196, 168, 130, 0.42) !important;
  box-shadow:
    0 0 0 1px rgba(232, 201, 160, 0.18),
    0 18px 48px rgba(61, 50, 40, 0.08);
}

/* Champagne / deep-brown buttons */
.btn--dark {
  background-color: var(--brown-deep) !important;
  background-image: linear-gradient(145deg, #4a3c30 0%, #6b5744 100%) !important;
  color: var(--cream) !important;
  border-color: transparent !important;
  box-shadow: 0 10px 28px rgba(61, 50, 40, 0.18) !important;
}

.btn--dark::before {
  background: var(--grad-accent) !important;
}

.btn--dark:hover {
  background-image: var(--grad-accent) !important;
  color: var(--ink) !important;
  border-color: transparent !important;
  box-shadow: 0 14px 36px rgba(196, 168, 130, 0.35) !important;
}

.btn--line {
  background: transparent !important;
  border-color: rgba(107, 87, 68, 0.45) !important;
  color: var(--ink) !important;
  box-shadow: none;
}

.btn--line:hover {
  border-color: var(--taupe-deep) !important;
  color: var(--cream) !important;
  box-shadow: 0 10px 28px rgba(61, 50, 40, 0.12) !important;
}

.btn:hover {
  box-shadow: 0 12px 28px rgba(139, 115, 85, 0.2);
}

.muted {
  color: var(--fg-muted) !important;
}

.eyebrow {
  color: var(--taupe-deep) !important;
}

a:hover {
  color: var(--taupe-ink);
}

/* Header / chrome ?? dark readable nav; lang-bar stays light-on-dark */
.site-chrome .site-header {
  color: var(--ink);
}

.site-header,
.lang-bar {
  border-color: rgba(196, 168, 130, 0.35);
}

::selection {
  background: rgba(196, 168, 130, 0.4);
  color: var(--ink);
}

/* Champagne luminous phrase highlight */
.accent-glow,
.hero-line__glow {
  background-image: linear-gradient(135deg, #e8c9a0 0%, #c4a882 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0 28px rgba(232, 201, 160, 0.45);
}

@media (prefers-reduced-motion: reduce) {
  body {
    animation: none !important;
    background-size: 100% 100% !important;
    background-position: center !important;
  }

  body::before {
    animation: none !important;
    filter: blur(22px) !important;
    opacity: 0.88 !important;
  }
}

/* =========================================================
   BROWN TYPE SAFETY (20260728browntype)
   Unified colors ?? sizes ?? positions across all pages.
   ========================================================= */

:root {
  --ink-heading: #2f2820 !important;
  --ink: #3d3228 !important;
  --ink-body: #4a4038 !important;
  --ink-muted: #7a6e62 !important;
  --on-dark: #f7f0e6 !important;
  --on-dark-muted: #c4b8a8 !important;
  --text-hero: clamp(3.5rem, 8vw, 6.5rem) !important;
  --text-h1: clamp(2.5rem, 5.2vw, 4rem) !important;
  --text-h2: clamp(2.25rem, 4.2vw, 3.5rem) !important;
  --text-h3: clamp(1.35rem, 2vw, 1.85rem) !important;
  --text-body: clamp(1.05rem, 0.35vw + 1rem, 1.15rem) !important;
  --text-eyebrow: 0.7rem !important;
  --text-btn: 0.72rem !important;
  --leading-body: 1.7 !important;
  --tracking-eyebrow: 0.26em !important;
  --tracking-btn: 0.2em !important;
}

body {
  color: var(--ink-body) !important;
  font-size: var(--text-body) !important;
  line-height: var(--leading-body) !important;
}

h1, h2, h3, h4,
.section-intro h2,
.home-section-head h2,
.home-about__copy h2,
.home-featured__intro h2,
.why-tile h3,
.col-item__name,
.feat-panel__copy h3,
.block-head h2,
.layout-duo__copy h2 {
  color: var(--ink-heading) !important;
  font-family: var(--font-display) !important;
}

h1 { font-size: var(--text-h1) !important; }
h2,
.section-intro h2,
.home-section-head h2,
.home-about__copy h2,
.page-home .home-section-head h2,
.page-home .home-about__copy h2,
.home-featured__intro h2 {
  font-size: var(--text-h2) !important;
  line-height: var(--leading-display) !important;
  letter-spacing: var(--tracking-display) !important;
}

h3 { font-size: var(--text-h3) !important; }

p,
.lead,
.section-intro p,
.home-about__copy .lead,
.page-home .home-about__copy .lead,
.product-hero__lead,
.about-hero__lead,
.craft-hero__lead,
.contact-hero__lead,
.faq-hero__lead,
.news-hero__lead,
.dl-hero__lead {
  color: var(--ink-muted) !important;
  font-size: var(--text-body) !important;
  line-height: var(--leading-body) !important;
}

.eyebrow,
.page-home .eyebrow,
.page-about .eyebrow,
.product-hero__label,
.about-hero__label,
.craft-hero__label,
.contact-hero__label,
.faq-hero__label,
.news-hero__label,
.dl-hero__label {
  color: var(--taupe-deep) !important;
  font-size: var(--text-eyebrow) !important;
  letter-spacing: var(--tracking-eyebrow) !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}

.muted { color: var(--ink-muted) !important; }

.btn,
.hero-cta,
.site-cta__btn,
.home-cta__btn {
  font-size: var(--text-btn) !important;
  letter-spacing: var(--tracking-btn) !important;
}

/* Dark espresso panels / footer / quote / CTA */
.site-footer,
.site-footer p,
.site-footer a,
.site-cta,
.quote-band__copy,
.section--ink,
.section--charcoal,
.section--dark {
  color: var(--on-dark-muted) !important;
}

.site-footer .logo,
.site-footer h4,
.site-cta h2,
.site-cta h3,
.quote-band__copy blockquote p,
.quote-band__copy .eyebrow,
.section--ink h2,
.section--ink h3,
.section--charcoal h2,
.section--charcoal h3,
.section--dark h2,
.section--dark h3 {
  color: var(--on-dark) !important;
}

.section--ink .eyebrow,
.section--charcoal .eyebrow,
.section--dark .eyebrow,
.quote-band__copy .eyebrow {
  color: var(--champagne) !important;
}

.site-footer .footer-col a:hover,
.site-footer .logo:hover {
  color: var(--cream) !important;
}

/* Page heroes ?? cream on soft taupe veil */
.product-hero__title,
.about-hero__title,
.page-about .about-hero h1,
.craft-hero h1,
.contact-hero h1,
.faq-hero__title,
.news-hero__title,
.dl-hero__title,
.page-home .hero-brand {
  color: var(--on-dark) !important;
  font-size: var(--text-hero) !important;
  font-family: var(--font-display) !important;
  line-height: 0.98 !important;
}

.product-hero__title { font-size: var(--text-h1) !important; }
.about-hero__title,
.page-about .about-hero h1,
.craft-hero h1,
.contact-hero h1,
.faq-hero__title,
.news-hero__title,
.dl-hero__title {
  font-size: var(--text-h1) !important;
}

.product-hero__lead,
.about-hero__lead,
.craft-hero__lead,
.contact-hero__lead,
.faq-hero__lead,
.news-hero__lead,
.dl-hero__lead,
.page-home .hero-line {
  color: rgba(247, 240, 230, 0.88) !important;
}

.product-hero__label,
.about-hero__label,
.craft-hero__label,
.contact-hero__label,
.faq-hero__label,
.news-hero__label,
.dl-hero__label,
.page-home .hero-kicker {
  color: rgba(232, 201, 160, 0.92) !important;
}

/* Hero content rhythm ?? container-aligned, generous bottom margin */
.page-home .home-hero__content,
.product-hero__content,
.about-hero__content,
.craft-hero__content,
.contact-hero__content,
.faq-hero__content,
.news-hero__content,
.dl-hero__content {
  width: min(100% - 3rem, var(--max)) !important;
  margin-inline: max(1.75rem, calc((100% - var(--max)) / 2 + 1.75rem)) auto !important;
  padding-bottom: clamp(4.5rem, 10vh, 7.5rem) !important;
  z-index: 5 !important;
}

.page-home .home-hero__content {
  max-width: 36rem !important;
  margin-left: max(1.75rem, calc((100% - var(--max)) / 2 + 1.75rem)) !important;
  margin-right: auto !important;
}

/* Section intro / head spacing */
.section-intro,
.home-section-head,
.block-head {
  margin-bottom: clamp(2.25rem, 4.5vw, 3.5rem) !important;
}

.section {
  padding-block: clamp(4.5rem, 9vw, 7rem);
}

/* Cards / tiles on light ?? readable body */
.why-tile p,
.why-card p,
.col-item__desc,
.feat-panel__copy p,
.news-card p,
.product-tile p,
.faq-item p {
  color: var(--ink-muted) !important;
}

.why-tile h3,
.why-card h3,
.col-item__name,
.feat-panel__copy h3,
.news-card h3,
.product-tile h3 {
  color: var(--ink-heading) !important;
}

/* Fix white-on-cream / leftover cool tints on light surfaces */
.page-about .about-sustain__item p {
  color: var(--on-dark-muted) !important;
}

.page-about .about-sustain__panel h2,
.page-about .about-sustain__item h3 {
  color: var(--on-dark) !important;
}

.page-faq {
  --faq-ink: #2f2820 !important;
  --faq-cream: #f7f0e6 !important;
  --faq-taupe: #d4b896 !important;
  --faq-cocoa: #8b7355 !important;
  --faq-brown: #6b5744 !important;
}

.page-download {
  --dl-cream: #f7f0e6 !important;
  --dl-ink: #2f2820 !important;
  --dl-taupe: #d4b896 !important;
  --dl-cocoa: #8b7355 !important;
  --dl-brown: #6b5744 !important;
  --dl-white: #f3e6d4 !important;
  --dl-grey: #e8d5bc !important;
}

/* Champagne highlight */
.accent-glow,
.hero-line__glow {
  background-image: linear-gradient(135deg, #e8c9a0 0%, #c4a882 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow: 0 0 24px rgba(232, 201, 160, 0.4);
}

@media (max-width: 720px) {
  .page-home .home-hero__content,
  .product-hero__content,
  .about-hero__content,
  .craft-hero__content,
  .contact-hero__content,
  .faq-hero__content,
  .news-hero__content,
  .dl-hero__content {
    margin-inline: 1.35rem !important;
    width: auto !important;
    padding-bottom: 4.25rem !important;
  }

  .page-home .hero-brand {
    font-size: clamp(3.25rem, 16vw, 4.75rem) !important;
  }
}

/* =========================================================
   YIGAO AMBIANCE BASE MAP (20260728yigao)
   Cream ?? chocolate photo + grain. Replaces woven streak2.
   ========================================================= */
:root {
  --ambiance-photo: url("../brand/bg-ambiance-brown.jpg");
  --streak-photo: var(--ambiance-photo);
}

html {
  background-color: #2a1810 !important;
  background-image: none !important;
}

/* Photo is the page surface ?? cream top ?? chocolate bottom */
body {
  background-color: transparent !important;
  background-image: var(--ambiance-photo) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
  animation: none !important;
  isolation: isolate;
}

/* Soft swooping light-leak shapes ?? NOT woven streaks */
body::before {
  content: "" !important;
  display: block !important;
  position: fixed !important;
  inset: -12% -8% !important;
  z-index: -1 !important;
  pointer-events: none !important;
  height: auto !important;
  background:
    radial-gradient(ellipse 70% 45% at 18% 8%, rgba(255, 250, 242, 0.55) 0%, transparent 62%),
    radial-gradient(ellipse 55% 40% at 88% 12%, rgba(236, 220, 198, 0.4) 0%, transparent 58%),
    radial-gradient(ellipse 80% 35% at 50% 42%, rgba(90, 58, 40, 0.22) 0%, transparent 70%),
    radial-gradient(ellipse 60% 50% at 70% 88%, rgba(42, 24, 16, 0.45) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 12% 78%, rgba(58, 36, 24, 0.35) 0%, transparent 55%) !important;
  background-size: auto !important;
  filter: blur(42px) !important;
  opacity: 0.7 !important;
  mix-blend-mode: soft-light !important;
  animation: brownlab-streak-drift 36s ease-in-out infinite alternate !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* Heavy film grain + gentle edge deepen */
body::after {
  content: "" !important;
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.7'/%3E%3C/svg%3E"),
    linear-gradient(180deg, transparent 55%, rgba(28, 16, 10, 0.28) 100%),
    radial-gradient(ellipse 95% 80% at 50% 45%, transparent 40%, rgba(42, 24, 16, 0.22) 100%) !important;
  background-size: 140px 140px, auto, auto !important;
  background-repeat: repeat, no-repeat, no-repeat !important;
  opacity: 0.55 !important;
  mix-blend-mode: overlay !important;
  animation: none !important;
}

/* Backup fixed photo plate (gutters / under transparent sections) */
html::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -4 !important;
  pointer-events: none !important;
  background: var(--ambiance-photo) center top / cover no-repeat fixed !important;
  filter: contrast(1.06) saturate(1.05) !important;
  opacity: 1 !important;
}

html::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 9000 !important;
  pointer-events: none !important;
  opacity: 0.055 !important;
  mix-blend-mode: soft-light !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") !important;
}

/* Let ambiance peek ?? no opaque flat cream panels */
.section--warm,
.section--linen {
  background-color: rgba(255, 248, 240, 0.22) !important;
  background-image: none !important;
}

/* Continuity: no flat oil plates ?? ambiance grain must continue */
.page-home .home-why--editorial,
.page-about .about-custom,
.page-about .about-mv,
.page-about .about-values,
.page-about .about-clients,
.page-products-catalog .pcat-section--white,
.page-products-catalog .pcat-section--grey,
.page-news .news-section--white,
.page-news .news-section--cream,
.page-home .home-collection--mosaic {
  background-color: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.page-home .home-about--editorial {
  background: transparent !important;
}

/* Hero: show ambiance (cream top); dark ink for contrast */
.page-home .home-hero,
.page-home .home-hero--quiet {
  background-color: transparent !important;
  background-image: none !important;
}

.page-home .home-hero__streaks {
  display: none !important;
  opacity: 0 !important;
}

.page-home .home-hero__veil {
  background:
    linear-gradient(180deg, rgba(255, 248, 240, 0.12) 0%, transparent 42%, rgba(42, 24, 16, 0.18) 100%) !important;
}

.page-home .hero-brand,
.page-home .home-hero__content h1 {
  color: var(--ink-heading) !important;
  text-shadow: 0 2px 24px rgba(255, 248, 240, 0.35) !important;
}

.page-home .hero-kicker,
.page-home .hero-line,
.page-home .hero-tagline,
.page-home .home-hero__content .lead {
  color: var(--ink-body) !important;
}

@media (max-width: 640px) {
  body::before {
    display: block !important;
    filter: blur(28px) !important;
    opacity: 0.55 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body::before {
    animation: none !important;
    filter: blur(28px) !important;
  }
}

html.nofx body::before,
.fx-off body::before {
  animation: none !important;
}

/* =========================================================
   CREATIVE EDITORIAL LAYOUTS (20260728streak)
   Anti-PPT: asymmetry, scale drama, staggered rhythm.
   ========================================================= */

/* --- Home about: clean editorial split (no orphan inset) --- */
.page-home .home-about--editorial {
  padding: clamp(5rem, 11vw, 8.5rem) 0 clamp(3.5rem, 7vw, 5.5rem) !important;
  background: transparent !important;
  overflow: visible;
}

.page-home .home-about--editorial .home-about__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr) !important;
  grid-template-rows: auto !important;
  gap: clamp(1.75rem, 4vw, 3.5rem) !important;
  align-items: center !important;
  position: relative;
}

.page-home .home-about--editorial .home-about__copy {
  position: relative;
  z-index: 2;
  padding: clamp(0.25rem, 1vw, 0.5rem) clamp(0.5rem, 1.5vw, 1rem) clamp(0.25rem, 1vw, 0.5rem) 0;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  overflow: visible;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.page-home .home-about--editorial .home-about__copy h2 {
  font-family: var(--font-display) !important;
  font-size: clamp(2.6rem, 5.5vw, 4.25rem) !important;
  max-width: 11ch !important;
  line-height: 0.98 !important;
  color: var(--ink-heading) !important;
}

.page-home .home-about--editorial .home-about__copy .lead {
  font-family: var(--font-display) !important;
  color: var(--ink-body) !important;
  max-width: 34ch;
}

/* Removed: .home-about__pull giant watermark collided with sticky logo */
.page-home .home-about__pull {
  display: none !important;
}

.page-home .home-about--editorial .home-about__media {
  grid-column: 2;
  grid-row: 1;
  aspect-ratio: 4 / 5 !important;
  min-height: min(68vh, 38rem);
  margin-left: 0 !important;
  background: rgba(212, 192, 168, 0.25) !important;
}

@media (max-width: 820px) {
  .page-home .home-about--editorial .home-about__grid {
    grid-template-columns: 1fr !important;
    gap: clamp(1.5rem, 4vw, 2.25rem) !important;
  }

  .page-home .home-about--editorial .home-about__media {
    grid-column: 1;
    min-height: min(52vh, 28rem);
    aspect-ratio: 5 / 4 !important;
  }
}

/* Orphan inset removed ?? never float a lonely thumbnail in negative space */
.page-home .home-about__inset,
.home-about__inset {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

/* --- Collection mosaic --- */
.page-home .home-section-head--split {
  align-items: flex-end !important;
  justify-content: space-between !important;
  text-align: left !important;
  flex-direction: row !important;
}

.page-home .home-section-head__aside {
  display: none;
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  color: var(--taupe-deep);
  max-width: 14ch;
  margin: 0;
  opacity: 0.7;
}

@media (min-width: 800px) {
  .page-home .home-section-head__aside {
    display: block;
  }
}

.page-home .collection-stack--mosaic {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  grid-auto-rows: minmax(10rem, auto);
  gap: clamp(0.85rem, 1.8vw, 1.35rem) !important;
}

.page-home .collection-stack--mosaic .col-item {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.page-home .collection-stack--mosaic .col-item--hero {
  grid-column: 1 / span 7;
  grid-row: 1 / span 2;
}

.page-home .collection-stack--mosaic .col-item--tall {
  grid-column: 8 / span 5;
  grid-row: 1 / span 2;
  margin-top: clamp(2rem, 5vw, 4.5rem);
}

.page-home .collection-stack--mosaic .col-item--wide {
  grid-column: 1 / span 5;
  grid-row: 3;
}

.page-home .collection-stack--mosaic .col-item--offset {
  grid-column: 6 / span 7;
  grid-row: 3;
  margin-top: -clamp(1.5rem, 3vw, 2.75rem);
}

.page-home .collection-stack--mosaic .col-item--hero .col-item__media {
  aspect-ratio: 4 / 5 !important;
  min-height: min(62vh, 34rem);
}

.page-home .collection-stack--mosaic .col-item--tall .col-item__media {
  aspect-ratio: 3 / 4.4 !important;
}

.page-home .collection-stack--mosaic .col-item--wide .col-item__media,
.page-home .collection-stack--mosaic .col-item--offset .col-item__media {
  aspect-ratio: 16 / 10 !important;
}

.page-home .col-item__index {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.5vw, 2.75rem);
  font-weight: 400;
  line-height: 1;
  color: #1A1510;
  opacity: 1;
  margin-bottom: 0.35rem;
}

.page-home .collection-stack--mosaic .col-item__body {
  padding: clamp(1rem, 2vw, 1.35rem) 0.15rem !important;
  background: transparent !important;
}

@media (max-width: 820px) {
  .page-home .collection-stack--mosaic {
    grid-template-columns: 1fr 1fr !important;
  }

  .page-home .collection-stack--mosaic .col-item--hero,
  .page-home .collection-stack--mosaic .col-item--tall,
  .page-home .collection-stack--mosaic .col-item--wide,
  .page-home .collection-stack--mosaic .col-item--offset {
    grid-column: auto;
    grid-row: auto;
    margin: 0;
  }

  .page-home .collection-stack--mosaic .col-item--hero {
    grid-column: 1 / -1;
  }
}

/* Full-bleed image break */
.page-home .home-bleed {
  position: relative;
  height: min(58vh, 28rem);
  overflow: hidden;
  margin: 0;
}

.page-home .home-bleed__media {
  position: absolute;
  inset: -8% 0;
  background:
    url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=1800&q=85")
      center / cover no-repeat;
  transform: scale(1.05);
}

.page-home .home-bleed__word {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2.75rem, 8vw, 6rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  color: rgba(247, 240, 230, 0.92);
  text-shadow: 0 8px 40px rgba(42, 34, 28, 0.35);
  white-space: nowrap;
  pointer-events: none;
}

.page-home .home-bleed::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(74, 60, 48, 0.15), rgba(74, 60, 48, 0.45));
  z-index: 1;
}

/* Quote editorial ?? oversized pull */
.page-home .quote-band--editorial {
  min-height: min(78vh, 48rem) !important;
}

.page-home .quote-band--editorial .quote-band__copy blockquote p {
  font-size: clamp(2.1rem, 4.2vw, 3.6rem) !important;
  line-height: 1.18 !important;
  max-width: 14ch;
}

/* Why ?? monumental numbered strip (ban equal cards) */
.page-home .home-why--editorial {
  padding: clamp(5rem, 10vw, 8rem) 0 !important;
}

.page-home .why-strip {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}

.page-home .why-strip__item {
  display: grid;
  grid-template-columns: minmax(4.5rem, 0.22fr) 1fr;
  gap: clamp(1rem, 3vw, 2.5rem);
  align-items: baseline;
  padding: clamp(1.75rem, 3.5vw, 2.75rem) 0;
  border-top: 1px solid rgba(196, 168, 130, 0.45);
}

.page-home .why-strip__item:last-child {
  border-bottom: 1px solid rgba(196, 168, 130, 0.45);
}

.page-home .why-strip__item:nth-child(even) {
  padding-left: clamp(1.5rem, 6vw, 5rem);
}

.page-home .why-strip__item:nth-child(odd) {
  padding-right: clamp(1rem, 4vw, 3rem);
}

.page-home .why-strip__num {
  font-family: var(--font-display);
  font-size: clamp(3.25rem, 7vw, 5.5rem);
  font-weight: 400;
  line-height: 0.9;
  color: #1A1510;
  opacity: 1;
  letter-spacing: -0.03em;
}

.page-home .why-strip__copy h3 {
  font-size: clamp(1.55rem, 2.6vw, 2.15rem) !important;
  margin: 0 0 0.55rem;
}

.page-home .why-strip__copy p {
  margin: 0;
  max-width: 42ch;
  color: #3A271C !important;
  opacity: 1;
}

/* Home stats ?? monumental */
.page-home .home-stats__item strong {
  font-size: clamp(3rem, 7vw, 5.25rem) !important;
}

/* Products category mosaic */
.page-products-catalog .pcat-cats--mosaic {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  gap: clamp(0.75rem, 1.6vw, 1.2rem) !important;
}

.page-products-catalog .pcat-cat--hero {
  grid-column: 1 / span 7;
}

.page-products-catalog .pcat-cat--tall {
  grid-column: 8 / span 5;
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.page-products-catalog .pcat-cat--wide {
  grid-column: 1 / span 5;
}

.page-products-catalog .pcat-cat--offset {
  grid-column: 6 / span 7;
  margin-top: -clamp(1.25rem, 2.5vw, 2.25rem);
}

.page-products-catalog .pcat-cat--hero .pcat-cat__media {
  aspect-ratio: 4 / 5 !important;
}

.page-products-catalog .pcat-cat--tall .pcat-cat__media {
  aspect-ratio: 3 / 4.5 !important;
}

.page-products-catalog .pcat-cat--wide .pcat-cat__media,
.page-products-catalog .pcat-cat--offset .pcat-cat__media {
  aspect-ratio: 16 / 11 !important;
}

.page-products-catalog .pcat-cat__index {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  color: rgba(232, 201, 160, 0.85);
  line-height: 1;
  margin-bottom: 0.25rem;
}

@media (max-width: 820px) {
  .page-products-catalog .pcat-cats--mosaic {
    grid-template-columns: 1fr 1fr !important;
  }

  .page-products-catalog .pcat-cat--hero,
  .page-products-catalog .pcat-cat--tall,
  .page-products-catalog .pcat-cat--wide,
  .page-products-catalog .pcat-cat--offset {
    grid-column: auto;
    margin: 0;
  }

  .page-products-catalog .pcat-cat--hero {
    grid-column: 1 / -1;
  }
}

/* About customisation mosaic */
.page-about .about-custom__grid--mosaic {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  gap: clamp(0.9rem, 2vw, 1.4rem) !important;
}

.page-about .about-custom__card--hero {
  grid-column: 1 / span 7;
}

.page-about .about-custom__card--tall {
  grid-column: 8 / span 5;
  margin-top: clamp(2rem, 4vw, 3.5rem);
}

.page-about .about-custom__card--hero .about-custom__media {
  aspect-ratio: 5 / 4.4 !important;
}

.page-about .about-custom__card--tall .about-custom__media {
  aspect-ratio: 4 / 5 !important;
}

.page-about .about-custom__grid--mosaic > .about-custom__card:not([class*="--"]) {
  grid-column: 1 / span 5;
}

.page-about .about-custom__card--wide {
  grid-column: 6 / span 7;
}

@media (max-width: 820px) {
  .page-about .about-custom__grid--mosaic {
    grid-template-columns: 1fr !important;
  }

  .page-about .about-custom__card--hero,
  .page-about .about-custom__card--tall,
  .page-about .about-custom__card--wide,
  .page-about .about-custom__grid--mosaic > .about-custom__card {
    grid-column: auto !important;
    margin: 0 !important;
  }
}

/* About MV ?? asymmetric overlap */
.page-about .about-mv__grid {
  display: grid !important;
  grid-template-columns: 1.15fr 0.95fr !important;
  gap: clamp(1.25rem, 3vw, 2.5rem) !important;
  align-items: start;
}

.page-about .about-mv__card:first-child {
  margin-top: 0;
}

.page-about .about-mv__card:last-child {
  margin-top: clamp(3rem, 7vw, 6rem);
}

.page-about .about-mv__num {
  font-size: clamp(3rem, 6vw, 4.75rem) !important;
  color: #1A1510 !important;
  opacity: 1 !important;
}

/* News journal mosaic */
.page-news .news-journal--mosaic {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  gap: clamp(1.75rem, 3.5vw, 3rem) clamp(1.25rem, 2.5vw, 2rem) !important;
}

.page-news .news-journal__card--lead {
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: 1.35fr 1fr;
  gap: clamp(1.5rem, 3vw, 2.75rem);
  align-items: center;
  margin-bottom: clamp(1rem, 2vw, 1.75rem);
}

.page-news .news-journal__card--lead .news-journal__media {
  aspect-ratio: 16 / 10 !important;
  margin-bottom: 0 !important;
}

.page-news .news-journal--mosaic > .news-journal__card:not(.news-journal__card--lead):nth-child(2) {
  grid-column: 1 / span 5;
}

.page-news .news-journal--mosaic > .news-journal__card:not(.news-journal__card--lead):nth-child(3) {
  grid-column: 6 / span 7;
  margin-top: clamp(2rem, 4vw, 3.5rem);
}

.page-news .news-journal--mosaic > .news-journal__card:not(.news-journal__card--lead):nth-child(4) {
  grid-column: 1 / span 7;
}

.page-news .news-journal--mosaic > .news-journal__card:not(.news-journal__card--lead):nth-child(5) {
  grid-column: 8 / span 5;
  margin-top: clamp(1.5rem, 3vw, 2.75rem);
}

.page-news .news-journal--mosaic > .news-journal__card:not(.news-journal__card--lead):nth-child(6),
.page-news .news-journal--mosaic > .news-journal__card:not(.news-journal__card--lead):nth-child(7) {
  grid-column: span 6;
}

@media (max-width: 820px) {
  .page-news .news-journal--mosaic,
  .page-news .news-journal__card--lead {
    grid-template-columns: 1fr !important;
  }

  .page-news .news-journal--mosaic > .news-journal__card {
    grid-column: auto !important;
    margin-top: 0 !important;
  }
}

/* Craft compliance ?? staggered heights */
.page-craftsmanship .craft-compliance__grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
  align-items: start;
}

.page-craftsmanship .craft-comp:nth-child(2) {
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
}

.page-craftsmanship .craft-comp:nth-child(3) {
  margin-top: clamp(1rem, 2vw, 1.75rem);
}

.page-craftsmanship .craft-tests {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: clamp(0.85rem, 1.8vw, 1.25rem) !important;
}

.page-craftsmanship .craft-test:nth-child(odd) {
  transform: translateY(0.75rem);
}

@media (max-width: 820px) {
  .page-craftsmanship .craft-compliance__grid,
  .page-craftsmanship .craft-tests {
    grid-template-columns: 1fr !important;
  }

  .page-craftsmanship .craft-comp:nth-child(2),
  .page-craftsmanship .craft-comp:nth-child(3),
  .page-craftsmanship .craft-test:nth-child(odd) {
    margin-top: 0;
    transform: none;
  }
}

/* Hover zooms ?? respect nofx */
@media (hover: hover) and (pointer: fine) {
  .page-home .collection-stack--mosaic .col-item:hover .col-item__img,
  .page-products-catalog .pcat-cats--mosaic .pcat-cat:hover .pcat-cat__img,
  .page-about .about-custom__grid--mosaic .about-custom__card:hover .about-custom__media img {
    transform: scale(1.08);
  }
}

html.nofx .page-home .collection-stack--mosaic .col-item:hover .col-item__img,
html.nofx .page-products-catalog .pcat-cats--mosaic .pcat-cat:hover .pcat-cat__img,
html.nofx .page-about .about-custom__grid--mosaic .about-custom__card:hover .about-custom__media img,
.fx-off .page-home .collection-stack--mosaic .col-item:hover .col-item__img,
.fx-off .page-products-catalog .pcat-cats--mosaic .pcat-cat:hover .pcat-cat__img,
.fx-off .page-about .about-custom__grid--mosaic .about-custom__card:hover .about-custom__media img {
  transform: none !important;
}

/* Never show Contact CTA bands on pages */
.site-cta,
.about-cta,
.craft-cta,
.news-cta,
.pcat-cta,
.home-cta,
.dl-cta,
.faq-cta {
  display: none !important;
}

/* =========================================================
   NAV CLEAR (20260728navclear)
   Default: true transparent header ?? no cream plate.
   Logo/nav stay dark + full opacity (+ soft halo for busy heroes).
   Hover: frosted cream. Scrolled: solid white.
   ========================================================= */
.page-home:not(.is-scrolled) .site-header,
.page-products:not(.is-scrolled) .site-header,
.page-craftsmanship:not(.is-scrolled) .site-header,
.page-about:not(.is-scrolled) .site-header,
.page-download:not(.is-scrolled) .site-header,
.page-contact:not(.is-scrolled) .site-header,
.page-news:not(.is-scrolled) .site-header,
.page-faq:not(.is-scrolled) .site-header {
  color: #2f2820 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}

.page-home:not(.is-scrolled) .site-chrome:hover .site-header,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-products:not(.is-scrolled) .site-chrome:hover .site-header,
.page-products:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-craftsmanship:not(.is-scrolled) .site-chrome:hover .site-header,
.page-craftsmanship:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-about:not(.is-scrolled) .site-chrome:hover .site-header,
.page-about:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-download:not(.is-scrolled) .site-chrome:hover .site-header,
.page-download:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-contact:not(.is-scrolled) .site-chrome:hover .site-header,
.page-contact:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-news:not(.is-scrolled) .site-chrome:hover .site-header,
.page-news:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-faq:not(.is-scrolled) .site-chrome:hover .site-header,
.page-faq:not(.is-scrolled) .site-chrome:focus-within .site-header {
  background: rgba(247, 240, 230, 0.92) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  color: #2f2820 !important;
  border-bottom-color: rgba(107, 87, 68, 0.12) !important;
  box-shadow: 0 8px 28px rgba(28, 28, 26, 0.06) !important;
}

body.is-scrolled .site-header,
.site-header.is-scrolled {
  color: var(--ink) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom-color: rgba(42, 42, 40, 0.08) !important;
}

.site-header .logo__mark,
.site-header .header-cats a,
.site-header .header-link,
.site-header .header-icon,
.site-header .search-btn,
.site-header .nav-toggle {
  color: inherit !important;
  opacity: 1 !important;
}

.site-header .header-cats a {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
}

.site-header .nav-toggle span {
  background: currentColor !important;
}

/* Soft halo only while transparent (not hovered / not scrolled) */
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-products:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-products:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-craftsmanship:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-craftsmanship:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-about:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-about:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-download:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-download:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-contact:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-contact:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-news:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-news:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-faq:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-faq:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a {
  text-shadow:
    0 1px 2px rgba(247, 240, 230, 0.9),
    0 0 14px rgba(247, 240, 230, 0.55) !important;
}

.page-home:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
.page-home:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
.page-products:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
.page-products:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
.page-products:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
.page-products:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
.page-craftsmanship:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
.page-craftsmanship:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
.page-craftsmanship:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
.page-craftsmanship:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
.page-about:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
.page-about:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
.page-about:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
.page-about:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
.page-download:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
.page-download:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
.page-download:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
.page-download:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
.page-contact:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
.page-contact:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
.page-contact:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
.page-contact:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
.page-news:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
.page-news:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
.page-news:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
.page-news:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
.page-faq:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
.page-faq:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
.page-faq:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
.page-faq:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
body.is-scrolled .site-header .logo__mark,
body.is-scrolled .site-header .header-cats a,
.site-header.is-scrolled .logo__mark,
.site-header.is-scrolled .header-cats a {
  text-shadow: none !important;
}

.lang-bar,
.lang-bar__link {
  color: rgba(247, 240, 230, 0.72);
}

.lang-bar__link.is-active,
.lang-bar__link:hover {
  color: var(--cream);
}

/* =========================================================
   AMBIANCE VISIBILITY HARD LOCK (20260728yigao)
   Keep cream??chocolate photo dominant; no woven streak fight.
   ========================================================= */
body {
  background-color: transparent !important;
  background-image: var(--ambiance-photo) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
}

html::before {
  background: var(--ambiance-photo) center top / cover no-repeat fixed !important;
  opacity: 1 !important;
}

/* Keep soft light-leaks on mobile */
@media (max-width: 640px) {
  body::before {
    display: block !important;
  }
}

/* No floating keyword overlays (legacy + safety) */
.hero-float-words,
.hero-float-words__item,
.page-home .hero-float-words,
.page-about .hero-float-words,
.page-craftsmanship .hero-float-words {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
  content: none !important;
}

/* Sticky chrome stacking; logo stays above page type */
.site-chrome {
  isolation: isolate;
}

.site-header .logo {
  position: relative;
  z-index: 2;
}

/* Keep logo clear of any page type that scrolls underneath */
.site-header .logo__mark {
  position: relative;
  z-index: 1;
}

/* Section gutters: texture must show at edges */
.page-home .home-featured,
.page-home .home-gallery,
.page-about .about-story,
.page-about .about-intro,
.page-craftsmanship .craft-intro,
.page-products-catalog .pcat-intro {
  background-color: transparent !important;
  background-image: none !important;
}

.page-news .news-section--white,
.page-products-catalog .pcat-section--white {
  background-color: rgba(247, 240, 230, 0.32) !important;
  background-image: none !important;
}


/* =========================================================
   ATELIER EDITORIAL LAYOUT SYSTEM (20260728layout)
   Furniture magazine / BoConcept catalog ?? asymmetric,
   brand-forward, grain-aware. Final cascade authority.
   ========================================================= */

:root {
  --atelier-ink: #2a221c;
  --atelier-body: #4a4038;
  --atelier-mute: #7a6e62;
  --atelier-line: rgba(74, 60, 48, 0.18);
  --atelier-wash: rgba(247, 240, 230, 0.22);
  --atelier-wash-2: rgba(247, 240, 230, 0.42);
  --atelier-panel: rgba(247, 240, 230, 0.72);
  --atelier-deep: #3d3228;
  --atelier-accent: #8b7355;
  --atelier-grain: url("../brand/bg-ambiance-brown.jpg");
  --atelier-streak: url("../brand/bg-ambiance-brown.jpg");
  --text-hero: clamp(3.75rem, 9vw, 7rem);
  --text-h1: clamp(2.65rem, 5.6vw, 4.35rem);
  --text-h2: clamp(2.15rem, 4vw, 3.35rem);
  --section-y: clamp(5.5rem, 10vw, 8.25rem);
}

/* --- Atmosphere: cream??chocolate ambiance (no woven streak) --- */
html {
  background-color: #2a1810 !important;
}

body {
  background-color: transparent !important;
  background-image: var(--atelier-grain) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
  color: var(--atelier-body) !important;
  animation: none !important;
}

html::before {
  background: var(--atelier-grain) center top / cover no-repeat fixed !important;
  opacity: 1 !important;
  mix-blend-mode: normal;
  filter: contrast(1.04) saturate(1.04);
  z-index: -4 !important;
}

/* Let grain breathe ?? no opaque page plates */
.page-home,
.page-inner,
.page-about,
.page-products,
.page-products-catalog,
.page-product-detail,
.page-craftsmanship,
.page-news,
.page-faq,
.page-download,
.page-contact {
  background: transparent !important;
  background-image: none !important;
}

.section,
.section--warm,
.section--linen,
.section--grey,
.pcat-section,
.pcat-section--white,
.pcat-section--grey,
.news-section,
.news-section--white,
.news-section--cream,
.faq-search-section,
.faq-cats-section,
.faq-popular-section,
.faq-main-section,
.dl-intro,
.dl-featured,
.dl-table-section,
.dl-cats,
.dl-steps,
.contact-intro,
.about-intro,
.about-story,
.about-mv,
.about-values,
.about-custom,
.about-clients,
.home-collection--mosaic,
.home-why--editorial,
.home-featured,
.home-gallery,
.pdet-related {
  background-color: transparent !important;
  background-image: none !important;
}

/* Soft readable bands only where interaction needs contrast */
.page-faq .faq-search-section,
.page-download .dl-table-wrap,
.page-contact .contact-form-wrap,
.page-products-catalog .pcat-toolbar {
  background: var(--atelier-wash-2) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* =========================================================
   TYPE + SECTION HEADS ?? left editorial, ban PPT center
   ========================================================= */
.section-intro,
.section-intro--wide,
.section-intro--center,
.pcat-head,
.home-section-head,
.news-intro,
.faq-help .section-intro {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: min(42rem, 100%) !important;
  display: grid !important;
  gap: 0.65rem;
  justify-items: start !important;
  align-items: start !important;
}

.section-intro--center,
.page-faq .section-intro--center,
.page-download .section-intro--center,
.page-contact .section-intro--center,
.page-craftsmanship .section-intro--center,
.page-about .section-intro--center {
  text-align: left !important;
  margin-inline: 0 !important;
  max-width: min(40rem, 100%) !important;
}

.section-intro h2,
.section-intro--center h2,
.pcat-head h2,
.home-section-head h2,
.news-intro h2 {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: var(--text-h2) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.028em !important;
  color: var(--atelier-ink) !important;
  max-width: 16ch;
  margin: 0 !important;
}

.section-intro p,
.section-intro--center p,
.pcat-head p {
  margin: 0 !important;
  margin-inline: 0 !important;
  max-width: 38ch !important;
  color: var(--atelier-mute) !important;
  font-size: clamp(1rem, 0.3vw + 0.95rem, 1.08rem) !important;
  line-height: 1.7 !important;
  text-align: left !important;
}

.eyebrow {
  font-family: var(--font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: var(--atelier-accent) !important;
}

.lead {
  font-family: var(--font-display) !important;
  font-size: clamp(1.2rem, 2vw, 1.55rem) !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: var(--atelier-body) !important;
  max-width: 34ch;
}

/* =========================================================
   SHARED INNER HEROES ?? one composition, no empty voids
   ========================================================= */
.page-faq .faq-hero,
.page-download .dl-hero,
.page-contact .contact-hero,
.page-news .news-hero,
.page-about .about-hero,
.page-craftsmanship .craft-hero,
.page-products-catalog .product-hero {
  min-height: min(88vh, 52rem) !important;
  align-items: end !important;
  justify-items: start !important;
  text-align: left !important;
}

.page-faq .faq-hero {
  min-height: min(72vh, 40rem) !important;
}

.page-faq .faq-hero__content,
.page-download .dl-hero__content,
.page-contact .contact-hero__content,
.page-news .news-hero__content,
.page-about .about-hero__content,
.page-craftsmanship .craft-hero__content,
.page-products-catalog .product-hero__content {
  max-width: 38rem !important;
  text-align: left !important;
  justify-self: start !important;
  padding-bottom: clamp(3.25rem, 8vh, 5.5rem) !important;
}

.page-faq .faq-hero__title,
.page-faq .faq-hero h1,
.page-download .dl-hero__title,
.page-download .dl-hero h1,
.page-contact .contact-hero h1,
.page-news .news-hero__title,
.page-about .about-hero__title,
.page-craftsmanship .craft-hero h1,
.page-products-catalog .product-hero__title {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: clamp(3rem, 7.2vw, 5.75rem) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.03em !important;
  max-width: 11ch !important;
  min-height: 0 !important;
  text-align: left !important;
}

.page-faq .faq-hero__veil,
.page-download .dl-hero__veil,
.page-contact .contact-hero__veil,
.page-news .news-hero__veil,
.page-about .about-hero__veil,
.page-craftsmanship .craft-hero__veil,
.page-products-catalog .product-hero__veil {
  background:
    linear-gradient(105deg, rgba(42, 34, 28, 0.55) 0%, rgba(42, 34, 28, 0.18) 42%, rgba(42, 34, 28, 0.08) 68%, rgba(42, 34, 28, 0.28) 100%),
    linear-gradient(180deg, rgba(42, 34, 28, 0.18) 0%, transparent 38%, rgba(42, 34, 28, 0.42) 100%) !important;
}

/* =========================================================
   HOME ?? brand-led first viewport + editorial rhythm
   ========================================================= */
.page-home .home-hero__content {
  max-width: 34rem !important;
  gap: 0.35rem !important;
}

.page-home .hero-brand {
  font-size: var(--text-hero) !important;
  letter-spacing: 0.12em !important;
  line-height: 0.88 !important;
}

.page-home .hero-line {
  font-size: clamp(1.2rem, 2.2vw, 1.65rem) !important;
  max-width: 26ch !important;
  margin-top: 0.85rem !important;
}

.page-home .home-section-head--split {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr) !important;
  align-items: end !important;
  gap: clamp(1.5rem, 4vw, 3rem) !important;
  margin-bottom: clamp(2.5rem, 5vw, 4rem) !important;
}

.page-home .home-section-head__aside {
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-size: clamp(1.05rem, 1.6vw, 1.25rem) !important;
  color: var(--atelier-mute) !important;
  max-width: 28ch;
  margin: 0 0 0.35rem auto;
  text-align: right;
  line-height: 1.45;
}

.page-home .home-about--editorial .home-about__copy {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

.page-home .quote-band--editorial {
  min-height: min(68vh, 42rem) !important;
}

.page-home .quote-band--editorial .quote-band__copy {
  background: rgba(42, 34, 28, 0.04);
  padding: clamp(2rem, 5vw, 3.5rem);
}

.page-home .feat-runway {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
}

.page-home .feat-panel--hero {
  grid-column: 1 / -1 !important;
}

.page-home .feat-panel--tile:nth-of-type(2) {
  grid-column: 1 / span 5 !important;
}

.page-home .feat-panel--tile:nth-of-type(3) {
  grid-column: 6 / span 7 !important;
  margin-top: clamp(2rem, 4vw, 3.5rem);
}

.page-home .feat-panel--tile:nth-of-type(4) {
  grid-column: 1 / span 7 !important;
}

.page-home .feat-panel--tile:nth-of-type(5) {
  grid-column: 8 / span 5 !important;
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.page-home .feat-panel {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.page-home .feat-panel__body {
  padding: 1.1rem 0 0 !important;
}

.page-home .about-intro__stats,
.page-about .about-intro__stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: clamp(3rem, 6vw, 4.5rem);
  border-top: 1px solid var(--atelier-line);
  padding-top: clamp(1.75rem, 3vw, 2.5rem);
  background: transparent !important;
}

.page-about .about-stat {
  padding: 0.5rem clamp(0.75rem, 2vw, 1.5rem) 0.5rem 0;
  border-right: 1px solid var(--atelier-line);
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}

.page-about .about-stat:last-child {
  border-right: 0;
}

.page-about .about-stat strong {
  display: block;
  font-family: var(--font-display) !important;
  font-size: clamp(2.5rem, 5vw, 4rem) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  color: var(--atelier-ink) !important;
}

.page-about .about-stat span {
  display: block;
  margin-top: 0.45rem;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--atelier-mute);
}

/* =========================================================
   PRODUCTS ?? BoConcept catalog, not marketplace tiles
   ========================================================= */
.page-products-catalog .pcat-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 3vw, 2.5rem) !important;
}

.page-products-catalog .pcat-card {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  overflow: visible !important;
}

.page-products-catalog .pcat-card:nth-child(even) {
  transform: translateY(clamp(1.25rem, 3vw, 2.75rem));
}

.page-products-catalog .pcat-card__media {
  aspect-ratio: 4 / 5 !important;
  background: rgba(212, 184, 150, 0.35) !important;
}

.page-products-catalog .pcat-card__body {
  padding: 1rem 0 0 !important;
  gap: 0.3rem !important;
}

.page-products-catalog .pcat-card__body h3 {
  font-size: clamp(1.45rem, 2.2vw, 1.85rem) !important;
  letter-spacing: -0.02em !important;
}

.page-products-catalog .pcat-card__body p {
  max-width: 34ch;
  font-size: 0.92rem !important;
}

@media (hover: hover) and (pointer: fine) {
  .page-products-catalog .pcat-card:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  .page-products-catalog .pcat-card:nth-child(even):hover {
    transform: translateY(clamp(1.25rem, 3vw, 2.75rem)) !important;
  }

  .page-products-catalog .pcat-card:hover .pcat-card__media img {
    transform: scale(1.04) !important;
  }
}

.page-products-catalog .pcat-custom__card,
.page-products-catalog .pcat-feat-card {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.page-products-catalog .pcat-featured {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  gap: clamp(1.25rem, 2.5vw, 2rem) !important;
}

.page-products-catalog .pcat-feat-card--lead {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: 1.35fr 1fr !important;
  gap: clamp(1.5rem, 3vw, 2.75rem) !important;
  align-items: center !important;
}

.page-products-catalog .pcat-feat-card:not(.pcat-feat-card--lead):nth-of-type(2) {
  grid-column: 1 / span 5;
}

.page-products-catalog .pcat-feat-card:not(.pcat-feat-card--lead):nth-of-type(3) {
  grid-column: 6 / span 7;
  margin-top: clamp(2rem, 4vw, 3.5rem);
}

.page-products-catalog .pcat-feat-card__body {
  padding: 1rem 0 0 !important;
}

/* Product detail ?? magazine spread */
.page-product-detail .pdet-hero {
  padding-top: clamp(6.5rem, 12vw, 8.5rem) !important;
}

.page-product-detail .pdet-hero__grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr) !important;
  gap: clamp(2rem, 5vw, 4rem) !important;
  align-items: start !important;
}

.page-product-detail .pdet-hero__media {
  aspect-ratio: 5 / 4.2 !important;
  background: rgba(212, 184, 150, 0.28) !important;
}

.page-product-detail .pdet-hero__copy {
  position: sticky;
  top: calc(var(--header-h) + 1.5rem);
  padding-top: 0.5rem;
}

.page-product-detail .pdet-hero__copy h1 {
  font-size: clamp(2.5rem, 5vw, 3.85rem) !important;
  max-width: 12ch;
}

.page-product-detail .pdet-related {
  background: transparent !important;
}

.page-product-detail .pdet-related__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(1.25rem, 2.5vw, 2rem) !important;
}

.page-product-detail .pdet-related .pcat-card {
  background: transparent !important;
  box-shadow: none !important;
}

.page-product-detail .pdet-related .pcat-card:nth-child(2) {
  margin-top: clamp(1.5rem, 3vw, 2.75rem);
}

.page-product-detail .pdet-related .pcat-card__body {
  padding: 1rem 0 0 !important;
}

.page-product-detail .pdet-related__more {
  text-align: left !important;
}

/* =========================================================
   FAQ ?? clean utility, not icon-card admin
   ========================================================= */
.page-faq .faq-cats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  border-top: 1px solid var(--atelier-line);
  border-bottom: 1px solid var(--atelier-line);
  padding: 0.35rem 0;
  justify-content: flex-start !important;
}

.page-faq .faq-cat {
  flex: 0 0 auto !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.55rem !important;
  padding: 0.95rem 1.15rem 0.95rem 0 !important;
  margin-right: 0.5rem;
  text-align: left !important;
  border: 0 !important;
  background: transparent !important;
  border-bottom: 2px solid transparent !important;
}

.page-faq .faq-cat__icon {
  width: auto !important;
  height: auto !important;
  color: var(--atelier-accent) !important;
}

.page-faq .faq-cat__icon svg {
  width: 1rem;
  height: 1rem;
}

.page-faq .faq-cat__label {
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.page-faq .faq-cat:hover,
.page-faq .faq-cat:focus-visible {
  background: transparent !important;
  border-bottom-color: var(--atelier-ink) !important;
  transform: none !important;
}

.page-faq .faq-search {
  border: 0 !important;
  border-bottom: 1px solid var(--atelier-line) !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 1rem 0 !important;
  box-shadow: none !important;
}

.page-faq .faq-search:focus-within {
  border-bottom-color: var(--atelier-ink) !important;
  box-shadow: none !important;
}

.page-faq .faq-search-wrap {
  max-width: 36rem !important;
  margin-inline: 0 !important;
}

.page-faq .faq-layout {
  grid-template-columns: 11rem minmax(0, 1fr) !important;
  gap: clamp(2rem, 5vw, 4rem) !important;
}

.page-faq .faq-sidenav a {
  padding: 0.45rem 0 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-left: 0 !important;
  background: transparent !important;
}

.page-faq .faq-sidenav a.is-active,
.page-faq .faq-sidenav a:hover {
  color: var(--atelier-ink) !important;
  background: transparent !important;
}

.page-faq .faq-item {
  padding: 1.35rem 0 !important;
  border-color: var(--atelier-line) !important;
  background: transparent !important;
}

.page-faq .faq-item button {
  font-family: var(--font-display) !important;
  font-size: clamp(1.15rem, 1.8vw, 1.4rem) !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  text-align: left !important;
  color: var(--atelier-ink) !important;
}

.page-faq .faq-group__title {
  font-family: var(--font-display) !important;
  font-size: clamp(1.85rem, 3vw, 2.45rem) !important;
  margin: 0 0 1rem !important;
}

.page-faq .faq-popular__list {
  max-width: 40rem;
}

/* =========================================================
   DOWNLOAD ?? resource atelier, not bootstrap admin
   ========================================================= */
.page-download .dl-feat-grid {
  display: grid !important;
  grid-template-columns: 1.2fr 0.9fr !important;
  gap: clamp(1.5rem, 3vw, 2.5rem) !important;
  align-items: stretch !important;
}

.page-download .dl-feat-card {
  background: var(--atelier-panel) !important;
  border: 1px solid rgba(74, 60, 48, 0.1) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.page-download .dl-feat-card:first-child {
  min-height: 100%;
}

.page-download .dl-feat-card:last-child {
  margin-top: clamp(2rem, 4vw, 3.5rem);
}

.page-download .dl-feat-card:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: rgba(74, 60, 48, 0.22) !important;
}

.page-download .dl-feat-card h3 {
  font-family: var(--font-display) !important;
  font-size: clamp(1.65rem, 2.5vw, 2.15rem) !important;
}

.page-download .dl-cat-grid,
.page-download .dl-cats__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
}

.page-download .dl-cat-card {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 1rem !important;
  align-items: start !important;
  padding: 1.5rem 1.25rem 1.5rem 0 !important;
  border-top: 1px solid var(--atelier-line) !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}

.page-download .dl-cat-card:nth-child(-n+2) {
  border-top: 0 !important;
}

.page-download .dl-steps__list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}

.page-download .dl-step {
  display: grid !important;
  grid-template-columns: 4.5rem 1fr !important;
  gap: 1.25rem !important;
  align-items: baseline !important;
  padding: 1.5rem 0 !important;
  border-top: 1px solid var(--atelier-line) !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}

.page-download .dl-step:last-child {
  border-bottom: 1px solid var(--atelier-line);
}

.page-download .dl-step__num,
.page-download .dl-step .dl-step__num {
  font-family: var(--font-display) !important;
  font-size: clamp(2rem, 3.5vw, 2.75rem) !important;
  color: #1A1510 !important;
  opacity: 1 !important;
  line-height: 1 !important;
}

.page-download .dl-table {
  width: 100%;
  border-collapse: collapse;
  background: transparent !important;
}

.page-download .dl-table th,
.page-download .dl-table td {
  padding: 1.1rem 0.75rem 1.1rem 0 !important;
  border-bottom: 1px solid var(--atelier-line) !important;
  background: transparent !important;
  text-align: left !important;
  vertical-align: middle;
}

.page-download .dl-table th {
  font-size: 0.68rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--atelier-mute) !important;
  font-weight: 500 !important;
}

.page-download .dl-table-wrap {
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow-x: auto;
}

/* --- Download hover preview popover --- */
.dl-preview {
  position: fixed;
  z-index: 1200;
  width: min(22rem, calc(100vw - 2rem));
  pointer-events: auto;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.22s ease, transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
  filter: drop-shadow(0 18px 40px rgba(42, 34, 28, 0.18));
}

.dl-preview.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.dl-preview.is-instant {
  transition: none;
}

.dl-preview[hidden] {
  display: none !important;
}

.dl-preview__inner {
  background:
    linear-gradient(165deg, rgba(247, 240, 230, 0.98) 0%, rgba(243, 230, 212, 0.96) 100%);
  border: 1px solid rgba(74, 60, 48, 0.16);
  color: var(--atelier-body, #4a4038);
  padding: 1.15rem 1.15rem 1.05rem;
  text-align: left;
}

.dl-preview__eyebrow {
  margin: 0 0 0.35rem;
  font-family: var(--font-body);
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--atelier-accent, #8b7355);
}

.dl-preview__title {
  margin: 0 0 0.85rem;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--atelier-ink, #2a221c);
  max-width: 18ch;
}

.dl-preview__facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem 1rem;
  margin: 0 0 0.95rem;
  padding: 0;
}

.dl-preview__fact {
  margin: 0;
  min-width: 0;
}

.dl-preview__fact dt {
  margin: 0 0 0.12rem;
  font-size: 0.64rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--atelier-mute, #7a6e62);
}

.dl-preview__fact dd {
  margin: 0;
  font-size: 0.9rem;
  color: var(--atelier-ink, #2a221c);
  font-weight: 500;
}

.dl-preview__fact--cat {
  grid-column: 1 / -1;
}

.dl-preview__frame-wrap {
  position: relative;
  height: 15.5rem;
  overflow: hidden;
  border: 1px solid rgba(74, 60, 48, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 250, 243, 0.7) 0%, rgba(232, 213, 188, 0.45) 100%);
}

.dl-preview__frame-wrap.is-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    100deg,
    transparent 20%,
    rgba(247, 240, 230, 0.55) 45%,
    transparent 70%
  );
  background-size: 200% 100%;
  animation: dl-preview-shimmer 1.1s ease infinite;
  pointer-events: none;
}

@keyframes dl-preview-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

.dl-preview__fallback {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: grid;
  place-content: center;
  gap: 0.45rem;
  justify-items: center;
  color: var(--atelier-accent, #8b7355);
  pointer-events: none;
}

.dl-preview__fallback-text {
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--atelier-mute, #7a6e62);
}

.dl-preview__frame {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #f7f0e6;
}

.dl-preview__frame-wrap:not(.is-ready) .dl-preview__frame {
  opacity: 0;
}

.dl-preview__frame-wrap.is-fallback .dl-preview__frame {
  opacity: 0.08;
}

/* Preview trigger = Download control only (a.dl-feat-card__btn / a.dl-table__dl) */
.page-download a[data-dl-preview] {
  cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
  .dl-preview,
  .dl-preview__frame-wrap.is-loading::after {
    transition: none;
    animation: none;
  }
}

@media (max-width: 720px), (hover: none) {
  .dl-preview {
    display: none !important;
  }
}

/* =========================================================
   CONTACT ?? editorial enquiry, not form dashboard
   ========================================================= */
.page-contact .contact-form-section .section-intro--center,
.page-contact .section-intro--center {
  max-width: 36rem !important;
}

.page-contact .contact-layout,
.page-contact .contact-form-grid,
.page-contact .contact-main__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.15fr) !important;
  gap: clamp(2rem, 5vw, 4rem) !important;
  align-items: start !important;
}

.page-contact input,
.page-contact select,
.page-contact textarea {
  border-radius: 0 !important;
  background: rgba(247, 240, 230, 0.55) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--atelier-line) !important;
  box-shadow: none !important;
}

.page-contact input:focus,
.page-contact select:focus,
.page-contact textarea:focus {
  border-bottom-color: var(--atelier-ink) !important;
  outline: none !important;
  box-shadow: none !important;
}

.page-contact .contact-card,
.page-contact .contact-channel,
.page-contact .contact-social a {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* =========================================================
   ABOUT / CRAFT / NEWS ?? rhythm polish
   ========================================================= */
.page-about .about-mv__card,
.page-about .about-value,
.page-about .about-custom__card {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.page-about .about-mv__card {
  padding: clamp(1.5rem, 3vw, 2.25rem) 0 !important;
  border-top: 1px solid var(--atelier-line);
}

.page-about .about-values__list,
.page-about .about-value {
  border-color: var(--atelier-line) !important;
}

.page-craftsmanship .craft-test,
.page-craftsmanship .craft-mat,
.page-craftsmanship .craft-comp,
.page-craftsmanship .craft-hl {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.page-craftsmanship .craft-tests {
  grid-template-columns: 1fr 1fr !important;
}

.page-craftsmanship .craft-test {
  padding: 1.25rem 0 !important;
  border-top: 1px solid var(--atelier-line);
}

.page-craftsmanship .section-intro--center {
  text-align: left !important;
  margin-inline: 0 !important;
}

.page-news .news-journal__card,
.page-news .news-feature,
.page-news .news-card {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.page-news .news-filter__inner {
  justify-content: flex-start !important;
  gap: 0 !important;
  border-bottom: 1px solid var(--atelier-line);
}

.page-news .news-filter__btn {
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  padding: 0.85rem 1rem 0.85rem 0 !important;
  margin-right: 1rem;
  font-size: 0.72rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.page-news .news-filter__btn.is-active {
  border-bottom-color: var(--atelier-ink) !important;
  background: transparent !important;
  color: var(--atelier-ink) !important;
}

/* =========================================================
   FOOTER ?? continuous dark close (contact via footer only)
   ========================================================= */
.site-footer {
  background: #2a221c !important;
  color: rgba(247, 240, 230, 0.78) !important;
}

.site-footer a {
  color: rgba(247, 240, 230, 0.7) !important;
}

.site-footer a:hover {
  color: #f7f0e6 !important;
}

.site-footer .logo,
.site-footer h4 {
  color: #f7f0e6 !important;
}

/* Keep CTA bands dead */
.site-cta,
.about-cta,
.craft-cta,
.news-cta,
.pcat-cta,
.home-cta,
.dl-cta,
.faq-cta,
.contact-band {
  display: none !important;
}

/* No floating keywords / giant craft pull under logo */
.hero-float-words,
.page-home .hero-float-words,
.page-craftsmanship .craft-hero .pull-quote,
.logo + .craft-pull,
.site-header .craft-pull {
  display: none !important;
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 900px) {
  .page-products-catalog .pcat-grid,
  .page-download .dl-feat-grid,
  .page-download .dl-cat-grid,
  .page-download .dl-cats__grid,
  .page-faq .faq-layout,
  .page-contact .contact-layout,
  .page-contact .contact-form-grid,
  .page-contact .contact-main__grid,
  .page-product-detail .pdet-hero__grid,
  .page-product-detail .pdet-related__grid,
  .page-products-catalog .pcat-featured,
  .page-products-catalog .pcat-feat-card--lead,
  .page-home .feat-runway,
  .page-home .home-section-head--split,
  .page-about .about-intro__stats {
    grid-template-columns: 1fr !important;
  }

  .page-products-catalog .pcat-card:nth-child(even),
  .page-products-catalog .pcat-feat-card:not(.pcat-feat-card--lead),
  .page-home .feat-panel--tile,
  .page-download .dl-feat-card:last-child,
  .page-product-detail .pdet-related .pcat-card:nth-child(2),
  .page-product-detail .pdet-hero__copy {
    margin-top: 0 !important;
    transform: none !important;
    position: static !important;
  }

  .page-home .home-section-head__aside {
    text-align: left;
    margin: 0;
  }

  .page-faq .faq-cats {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .page-faq .faq-sidenav {
    position: static !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 0.35rem 1rem !important;
    margin-bottom: 1.5rem;
  }

  .page-download .dl-step {
    grid-template-columns: 3rem 1fr !important;
  }
}

@media (max-width: 640px) {
  .page-products-catalog .pcat-grid {
    grid-template-columns: 1fr !important;
  }

  .page-home .hero-brand {
    font-size: clamp(3.25rem, 16vw, 4.75rem) !important;
  }

  body {
    background-attachment: scroll !important;
  }
}

/* Preserve navclear hierarchy above page type */
.site-header .logo__mark {
  position: relative;
  z-index: 3;
}

/* =========================================================
   YIGAO FINAL LOCK (20260728yigao) ?? last-wins ambiance BG
   ========================================================= */
:root {
  --ambiance-photo: url("../brand/bg-ambiance-brown.jpg");
}

html {
  background-color: #2a1810 !important;
}

body {
  background-color: transparent !important;
  background-image: var(--ambiance-photo) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
  animation: none !important;
}

html::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -4 !important;
  pointer-events: none !important;
  background: var(--ambiance-photo) center top / cover no-repeat fixed !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

/* Kill legacy woven streak overlays */
.page-home .home-hero__streaks,
.hero-float-words {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}


/* =========================================================
   EDITORIAL SYSTEM (20260728editorial)
   BoConcept / international atelier ?? asymmetric, typographic,
   anti-PPT. Primitives: .ed-head .ed-split .ed-bleed .ed-rail
   .ed-manifesto .ed-list .ed-figures .ed-scroll .ed-catalog
   ========================================================= */

:root {
  --ed-gutter: clamp(1.25rem, 4vw, 3.5rem);
  --ed-gap: clamp(1.5rem, 3vw, 3rem);
  --ed-rule: rgba(47, 40, 32, 0.14);
  --ed-ink: #2f2820;
  --ed-muted: #6b5f54;
  --ed-surface: rgba(247, 240, 230, 0.42);
  --ed-surface-strong: rgba(247, 240, 230, 0.72);
  --section-y: clamp(5.5rem, 10vw, 8.5rem);
}

/* ???? Section head: left editorial, never centered PPT ???? */
.ed-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: var(--ed-gap);
  align-items: end;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
  text-align: left !important;
}
.ed-head--solo {
  grid-template-columns: 1fr;
  max-width: 38rem;
}
.ed-head .eyebrow,
.ed-head__eyebrow {
  display: block;
  margin-bottom: 0.85rem;
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 600;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--bronze);
}
.ed-head h1,
.ed-head h2,
.ed-head__title {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 5vw, 3.75rem);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--ed-ink);
  max-width: 16ch;
}
.ed-head__aside,
.ed-head p {
  margin: 0;
  max-width: 34ch;
  font-size: 1.02rem;
  line-height: 1.65;
  color: var(--ed-muted);
  justify-self: end;
  align-self: end;
}
.ed-head--solo p { justify-self: start; }

@media (max-width: 820px) {
  .ed-head {
    grid-template-columns: 1fr;
  }
  .ed-head__aside,
  .ed-head p { justify-self: start; }
}

/* ???? Split: copy left / media bleed right ???? */
.ed-split {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 0;
  align-items: stretch;
  min-height: clamp(28rem, 62vh, 44rem);
}
.ed-split--flip { grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); }
.ed-split--flip .ed-split__copy { order: 2; }
.ed-split--flip .ed-split__media { order: 1; }
.ed-split__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2.5rem, 6vw, 5rem) var(--ed-gutter);
  background: var(--ed-surface);
}
.ed-split__copy .eyebrow { margin-bottom: 0.9rem; }
.ed-split__copy h2 {
  font-size: clamp(2.2rem, 4.2vw, 3.4rem);
  max-width: 12ch;
  margin-bottom: 1.25rem;
}
.ed-split__copy p {
  max-width: 38ch;
  color: var(--ed-muted);
  margin-bottom: 1rem;
}
.ed-split__media {
  position: relative;
  min-height: 22rem;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}
.ed-split__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 900px) {
  .ed-split,
  .ed-split--flip { grid-template-columns: 1fr; min-height: 0; }
  .ed-split--flip .ed-split__copy,
  .ed-split--flip .ed-split__media { order: unset; }
  .ed-split__media { min-height: 18rem; }
}

/* ???? Full-bleed media band ???? */
.ed-bleed {
  position: relative;
  min-height: clamp(22rem, 48vh, 36rem);
  overflow: hidden;
  display: grid;
  place-items: end start;
}
.ed-bleed__media {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.ed-bleed__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ed-bleed__word {
  position: relative;
  z-index: 1;
  margin: 0 0 clamp(1.5rem, 4vw, 3rem) var(--ed-gutter);
  font-family: var(--font-display);
  font-size: clamp(3rem, 10vw, 7.5rem);
  font-weight: 500;
  line-height: 0.9;
  letter-spacing: -0.03em;
  color: rgba(247, 240, 230, 0.92);
  text-shadow: 0 8px 40px rgba(20, 16, 12, 0.35);
  pointer-events: none;
}

/* ???? Sticky side rail ???? */
.ed-rail {
  display: grid;
  grid-template-columns: 12rem minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: start;
}
.ed-rail__nav {
  position: sticky;
  top: calc(var(--header-h, 6.75rem) + 1.25rem);
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding-top: 0.25rem;
}
.ed-rail__nav a {
  display: block;
  padding: 0.45rem 0;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ed-muted);
  border-bottom: 1px solid transparent;
  transition: color 0.25s var(--ease), border-color 0.25s var(--ease);
}
.ed-rail__nav a:hover,
.ed-rail__nav a.is-active {
  color: var(--ed-ink);
  border-bottom-color: var(--ed-ink);
}
@media (max-width: 900px) {
  .ed-rail { grid-template-columns: 1fr; }
  .ed-rail__nav {
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.15rem 1.25rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--ed-rule);
  }
}

/* ???? Manifesto / numbered editorial list ???? */
.ed-manifesto {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--ed-rule);
}
.ed-manifesto__item {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2.5rem);
  padding: clamp(1.75rem, 3.5vw, 2.75rem) 0;
  border-bottom: 1px solid var(--ed-rule);
  align-items: start;
}
.ed-manifesto__num {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.03em;
  color: #1A1510;
  opacity: 1;
}
.ed-manifesto__item h3 {
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  margin-bottom: 0.55rem;
}
.ed-manifesto__item p {
  max-width: 48ch;
  color: var(--ed-muted);
}
@media (max-width: 640px) {
  .ed-manifesto__item { grid-template-columns: 3.5rem 1fr; }
}

/* ???? Horizontal figures (not dashboard stats) ???? */
.ed-figures {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--ed-rule);
  border-bottom: 1px solid var(--ed-rule);
}
.ed-figures__item {
  padding: clamp(1.75rem, 3vw, 2.5rem) clamp(1rem, 2vw, 1.75rem);
  border-right: 1px solid var(--ed-rule);
}
.ed-figures__item:last-child { border-right: 0; }
.ed-figures__item strong {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--ed-ink);
  margin-bottom: 0.55rem;
}
.ed-figures__item span {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ed-muted);
}
@media (max-width: 820px) {
  .ed-figures { grid-template-columns: 1fr 1fr; }
  .ed-figures__item:nth-child(2n) { border-right: 0; }
  .ed-figures__item:nth-child(-n+2) { border-bottom: 1px solid var(--ed-rule); }
}
@media (max-width: 480px) {
  .ed-figures { grid-template-columns: 1fr; }
  .ed-figures__item {
    border-right: 0;
    border-bottom: 1px solid var(--ed-rule);
  }
  .ed-figures__item:last-child { border-bottom: 0; }
}

/* ???? Catalog product grid (image-led, not PPT cards) ???? */
.ed-catalog {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 2vw, 1.75rem);
}
.ed-catalog__item {
  display: flex;
  flex-direction: column;
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
}
.ed-catalog__media {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: rgba(61, 50, 40, 0.06);
}
.ed-catalog__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.9s var(--ease);
}
.ed-catalog__item:hover .ed-catalog__media img {
  transform: scale(1.04);
}
.ed-catalog__body {
  padding: 1.1rem 0 0;
  background: transparent;
}
.ed-catalog__body .eyebrow {
  margin-bottom: 0.35rem;
}
.ed-catalog__body h3 {
  font-size: clamp(1.25rem, 1.6vw, 1.55rem);
  margin-bottom: 0.45rem;
}
.ed-catalog__body p {
  font-size: 0.95rem;
  color: var(--ed-muted);
  margin-bottom: 0.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 900px) {
  .ed-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .ed-catalog { grid-template-columns: 1fr; }
}

/* ???? Editorial list rows ???? */
.ed-list {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--ed-rule);
}
.ed-list__row {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr) auto;
  gap: 1.25rem;
  align-items: center;
  padding: 1.35rem 0;
  border-bottom: 1px solid var(--ed-rule);
}
.ed-list__row h3 {
  font-size: 1.35rem;
}
.ed-list__row p {
  color: var(--ed-muted);
  margin: 0;
}
@media (max-width: 720px) {
  .ed-list__row {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}

/* ???? Horizontal scroll strip ???? */
.ed-scroll {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  padding-bottom: 1rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.ed-scroll > * {
  flex: 0 0 min(78vw, 22rem);
  scroll-snap-align: start;
}

/* ???? Kill centered PPT section intros sitewide ???? */
.section-intro--center,
.home-section-head--center,
.pcat-head,
.faq-popular__head,
.news-intro.section-intro--center {
  text-align: left !important;
  margin-inline: 0 !important;
  max-width: none !important;
}
.section-intro--center h2,
.home-section-head--center h2,
.pcat-head h2 {
  margin-inline: 0 !important;
  max-width: 16ch;
}
.section-intro--center p,
.pcat-head p {
  margin-inline: 0 !important;
  max-width: 42ch;
}

/* ???? Contact: kill equal icon cards ???? */
.page-contact .contact-cards {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  border-top: 1px solid var(--ed-rule);
}
.page-contact .contact-card {
  display: grid !important;
  grid-template-columns: 8rem minmax(0, 1fr) !important;
  gap: 1.5rem !important;
  align-items: start !important;
  padding: 1.5rem 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ed-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  text-align: left !important;
}
.page-contact .contact-card__icon {
  display: none !important;
}
.page-contact .contact-card h3 {
  font-size: 0.72rem !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--bronze) !important;
  margin: 0 !important;
}
.page-contact .contact-card p {
  grid-column: 2;
  margin: 0;
  font-size: 1.15rem;
  color: var(--ed-ink);
}
.page-contact .contact-why__grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  border-top: 1px solid var(--ed-rule);
}
.page-contact .contact-why__item {
  display: grid !important;
  grid-template-columns: 5rem minmax(0, 1fr) !important;
  gap: 1.5rem !important;
  padding: 1.75rem 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ed-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  text-align: left !important;
}
.page-contact .contact-why__icon { display: none !important; }
.page-contact .contact-why__item::before {
  content: counter(edwhy, decimal-leading-zero);
  counter-increment: edwhy;
  font-family: var(--font-display);
  font-size: 2.4rem;
  font-weight: 500;
  color: rgba(47, 40, 32, 0.22);
  line-height: 1;
}
.page-contact .contact-why__grid { counter-reset: edwhy; }
.page-contact .contact-social__list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  flex-wrap: unset !important;
  gap: clamp(1.5rem, 3.5vw, 2.75rem) clamp(1.25rem, 3vw, 2.5rem) !important;
  justify-content: stretch !important;
  width: 100% !important;
  max-width: 56rem !important;
}
.page-contact .contact-social__link {
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ed-rule) !important;
  padding: 0.85rem 0 1rem !important;
  justify-items: start !important;
  min-width: 0 !important;
}
.page-contact .contact-social__link svg {
  width: 36px !important;
  height: 36px !important;
}
.page-contact .contact-social__link span {
  font-size: 0.92rem !important;
  letter-spacing: 0.1em !important;
}
@media (max-width: 720px) {
  .page-contact .contact-social__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 420px) {
  .page-contact .contact-social__list {
    grid-template-columns: 1fr !important;
  }
}

/* ???? FAQ: kill icon category grid ???? */
.page-faq .faq-cats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.35rem 1.75rem !important;
  border-top: 1px solid var(--ed-rule);
  border-bottom: 1px solid var(--ed-rule);
  padding: 1.25rem 0 !important;
}
.page-faq .faq-cat {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 0.55rem 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  min-height: 0 !important;
}
.page-faq .faq-cat__icon { display: none !important; }
.page-faq .faq-cat__label {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}
.page-faq .faq-popular__star { display: none !important; }
.page-faq .faq-popular__list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem 1.5rem !important;
}
.page-faq .faq-popular__link {
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ed-ink) !important;
  padding: 0.35rem 0 !important;
  box-shadow: none !important;
}
.page-faq .faq-help {
  text-align: left !important;
  max-width: 36rem !important;
  margin-inline: 0 !important;
  padding: clamp(2.5rem, 5vw, 4rem) 0 !important;
  background: transparent !important;
  border-top: 1px solid var(--ed-rule);
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* ???? Download: kill equal icon cards ???? */
.page-download .dl-feat-grid {
  display: grid !important;
  grid-template-columns: 1.25fr 1fr !important;
  gap: clamp(1.5rem, 3vw, 2.5rem) !important;
}
.page-download .dl-feat-card {
  border-radius: 0 !important;
  box-shadow: none !important;
  background: var(--ed-surface) !important;
  border: 1px solid var(--ed-rule) !important;
  padding: clamp(1.5rem, 3vw, 2.25rem) !important;
}
.page-download .dl-feat-card__icon { opacity: 0.45; }
.page-download .dl-cats__grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  border-top: 1px solid var(--ed-rule);
}
.page-download .dl-cat-card {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr) !important;
  gap: 1.5rem !important;
  align-items: baseline !important;
  padding: 1.5rem 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ed-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  text-align: left !important;
}
.page-download .dl-cat-card__icon { display: none !important; }
.page-download .dl-steps__list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  border-top: 1px solid var(--ed-rule);
}
.page-download .dl-step {
  display: grid !important;
  grid-template-columns: 5rem minmax(0, 1fr) !important;
  gap: 1.5rem !important;
  padding: 1.75rem 0 !important;
  border-bottom: 1px solid var(--ed-rule) !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  position: relative;
}
.page-download .dl-step__arrow { display: none !important; }
.page-download .dl-step__num {
  font-family: var(--font-display) !important;
  font-size: 2.4rem !important;
  color: #1A1510 !important;
  opacity: 1 !important;
}
@media (max-width: 820px) {
  .page-download .dl-feat-grid { grid-template-columns: 1fr !important; }
  .page-download .dl-cat-card { grid-template-columns: 1fr !important; }
}

/* ???? Products: catalog not PPT ???? */
.page-products-catalog .pcat-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) !important;
  gap: var(--ed-gap) !important;
  align-items: end !important;
  text-align: left !important;
}
.page-products-catalog .pcat-head .eyebrow { grid-column: 1; }
.page-products-catalog .pcat-head h2 { grid-column: 1; max-width: 14ch; }
.page-products-catalog .pcat-head p {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  margin: 0 !important;
}
@media (max-width: 820px) {
  .page-products-catalog .pcat-head { grid-template-columns: 1fr !important; }
  .page-products-catalog .pcat-head p { grid-column: 1; grid-row: auto; }
}
.page-products-catalog .pcat-card,
.page-product-detail .pcat-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.page-products-catalog .pcat-card__media,
.page-product-detail .pcat-card__media {
  border-radius: 0 !important;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}
.page-products-catalog .pcat-card__body,
.page-product-detail .pcat-card__body {
  padding: 1rem 0 0 !important;
  background: transparent !important;
}
.page-products-catalog .pcat-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(12rem, 18rem) !important;
  gap: 1.5rem !important;
  align-items: end !important;
  margin-bottom: 2rem !important;
  padding-bottom: 1rem !important;
  border-bottom: 1px solid var(--ed-rule);
}
.page-products-catalog .pcat-filter {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.25rem 1.25rem !important;
}
.page-products-catalog .pcat-filter a {
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid transparent !important;
  padding: 0.4rem 0 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}
.page-products-catalog .pcat-filter a.is-active {
  border-bottom-color: var(--ed-ink) !important;
  color: var(--ed-ink) !important;
}
.page-products-catalog .pcat-why {
  display: grid !important;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr) !important;
  gap: clamp(2rem, 4vw, 4rem) !important;
  align-items: start !important;
}
.page-products-catalog .pcat-why__list {
  border-top: 1px solid var(--ed-rule);
}
.page-products-catalog .pcat-why__item {
  display: grid !important;
  grid-template-columns: 4.5rem minmax(0, 1fr) !important;
  gap: 1.25rem !important;
  padding: 1.5rem 0 !important;
  border-bottom: 1px solid var(--ed-rule) !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
@media (max-width: 900px) {
  .page-products-catalog .pcat-why { grid-template-columns: 1fr !important; }
  .page-products-catalog .pcat-toolbar { grid-template-columns: 1fr !important; }
}

/* ???? About: mission/vision + craft steps ???? */
.page-about .about-mv__grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  border-top: 1px solid var(--ed-rule);
}
.page-about .about-mv__card {
  padding: clamp(2rem, 4vw, 3rem) clamp(1.25rem, 3vw, 2.5rem) !important;
  border: 0 !important;
  border-right: 1px solid var(--ed-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.page-about .about-mv__card:last-child { border-right: 0 !important; }
.page-about .about-craft__process {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  margin-top: 3rem !important;
  border-top: 1px solid var(--ed-rule);
}
.page-about .about-craft__step {
  display: grid !important;
  grid-template-columns: 4rem minmax(0, 0.8fr) minmax(0, 1.4fr) !important;
  gap: 1.25rem !important;
  align-items: baseline !important;
  padding: 1.5rem 0 !important;
  border-bottom: 1px solid var(--ed-rule) !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
}
.page-about .about-intro__stats {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
  margin-top: 3rem !important;
  border-top: 1px solid var(--ed-rule);
  border-bottom: 1px solid var(--ed-rule);
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.page-about .about-stat {
  padding: 1.75rem 1.25rem !important;
  border-right: 1px solid var(--ed-rule) !important;
  background: transparent !important;
  text-align: left !important;
}
.page-about .about-stat:last-child { border-right: 0 !important; }
@media (max-width: 820px) {
  .page-about .about-mv__grid { grid-template-columns: 1fr !important; }
  .page-about .about-mv__card { border-right: 0 !important; border-bottom: 1px solid var(--ed-rule) !important; }
  .page-about .about-craft__step { grid-template-columns: 3rem 1fr !important; }
  .page-about .about-craft__step p { grid-column: 2; }
}

/* ???? Home: gallery + stats ???? */
.page-home .home-section-head--center {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  text-align: left !important;
  max-width: 20rem !important;
  margin-inline: 0 !important;
}
.page-home .home-stats {
  background: transparent !important;
  min-height: 0 !important;
  padding: 0 !important;
}
.page-home .home-stats__bg { display: none !important; }
.page-home .home-stats__inner {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--ed-rule);
  border-bottom: 1px solid var(--ed-rule);
  background: transparent !important;
}
.page-home .home-stats__item {
  padding: clamp(1.75rem, 3vw, 2.75rem) 1.25rem !important;
  border-right: 1px solid var(--ed-rule) !important;
  text-align: left !important;
  background: transparent !important;
}
.page-home .home-stats__item:last-child { border-right: 0 !important; }
.page-home .home-stats__item strong {
  font-family: var(--font-display) !important;
  font-size: clamp(2.4rem, 4.5vw, 3.5rem) !important;
  font-weight: 500 !important;
}
@media (max-width: 820px) {
  .page-home .home-stats__inner { grid-template-columns: 1fr 1fr !important; }
}

/* ???? News: launch as editorial rows ???? */
.page-news .news-launch {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  border-top: 1px solid var(--ed-rule);
}
.page-news .news-launch__card {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
  gap: clamp(1.25rem, 3vw, 2.5rem) !important;
  align-items: center !important;
  padding: 1.75rem 0 !important;
  border-bottom: 1px solid var(--ed-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
}
.page-news .news-launch__card--lead {
  grid-column: auto !important;
}
.page-news .news-launch__media {
  aspect-ratio: 16 / 11;
  overflow: hidden;
  border-radius: 0 !important;
}
.page-news .news-launch__body {
  padding: 0 !important;
  background: transparent !important;
}
@media (max-width: 720px) {
  .page-news .news-launch__card { grid-template-columns: 1fr !important; }
}

/* ???? Craftsmanship: compliance not equal cards ???? */
.page-craftsmanship .craft-compliance__grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}
.page-craftsmanship .craft-comp {
  display: grid !important;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr) !important;
  gap: clamp(1.5rem, 3vw, 2.5rem) !important;
  align-items: center !important;
  padding: 2rem 0 !important;
  border-bottom: 1px solid var(--ed-rule) !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.page-craftsmanship .section-intro--center {
  text-align: left !important;
  max-width: none !important;
  margin-inline: 0 !important;
}
@media (max-width: 820px) {
  .page-craftsmanship .craft-comp { grid-template-columns: 1fr !important; }
}

/* ???? Product detail ???? */
.page-product-detail .pdet-hero__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) !important;
  gap: clamp(1.5rem, 4vw, 3.5rem) !important;
  align-items: center !important;
  min-height: calc(100vh - var(--header-h, 6.75rem) - 2rem);
  padding-block: clamp(2rem, 5vw, 4rem);
}
.page-product-detail .pdet-hero__media {
  border-radius: 0 !important;
  overflow: hidden;
  min-height: clamp(24rem, 70vh, 42rem);
}
.page-product-detail .pdet-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-product-detail .pdet-related__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(1.25rem, 2.5vw, 2rem) !important;
}
@media (max-width: 900px) {
  .page-product-detail .pdet-hero__grid { grid-template-columns: 1fr !important; min-height: 0; }
  .page-product-detail .pdet-related__grid { grid-template-columns: 1fr 1fr !important; }
}

/* ???? Shared link underline language ???? */
.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-bottom: 1px solid currentColor;
  padding-bottom: 0.15rem;
  width: fit-content;
  transition: gap 0.35s var(--ease), opacity 0.25s var(--ease);
}
.link-arrow:hover { gap: 0.85rem; opacity: 0.72; }

/* ???? Footer editorial tighten ???? */
.site-footer {
  border-top: 1px solid rgba(247, 240, 230, 0.12);
}
.site-footer .footer-grid {
  align-items: start;
}
.site-footer .logo {
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: -0.02em;
}

/* ???? Motion: soft reveal for editorial rows ???? */
@media (prefers-reduced-motion: no-preference) {
  .ed-manifesto__item,
  .ed-list__row,
  .page-news .news-launch__card,
  .page-download .dl-step,
  .page-contact .contact-why__item {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
  }
  .ed-manifesto__item.is-visible,
  .ed-list__row.is-visible,
  .page-news .news-launch__card.is-visible,
  .page-download .dl-step.is-visible,
  .page-contact .contact-why__item.is-visible,
  .reveal.is-visible .ed-manifesto__item,
  html.nofx .ed-manifesto__item,
  html.nofx .ed-list__row,
  html.nofx .page-news .news-launch__card,
  html.nofx .page-download .dl-step,
  html.nofx .page-contact .contact-why__item,
  .fx-off .ed-manifesto__item,
  .fx-off .ed-list__row,
  .fx-off .page-news .news-launch__card,
  .fx-off .page-download .dl-step,
  .fx-off .page-contact .contact-why__item {
    opacity: 1;
    transform: none;
  }
}


/* =========================================================
   LAYOUT CASCADE LOCK (20260728layout)
   Last-wins composition rules. Respects YIGAO ambiance BG.
   ========================================================= */

/* Keep YIGAO cream??chocolate ambiance dominant */
body {
  background-image: var(--ambiance-photo, url("../brand/bg-ambiance-brown.jpg")) !important;
  background-size: cover !important;
  background-position: center 42% !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
  background-color: transparent !important;
}

/* Ban centered PPT section heads everywhere */
.section-intro,
.section-intro--center,
.pcat-head,
.news-intro {
  text-align: left !important;
  margin-inline: 0 !important;
  max-width: min(42rem, 100%) !important;
  justify-items: start !important;
}

.section-intro--center p,
.section-intro p,
.pcat-head p {
  text-align: left !important;
  margin-inline: 0 !important;
}

/* Product catalog ?? 2-col atelier, no white marketplace tiles */
.page-products-catalog .pcat-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 3vw, 2.5rem) !important;
}
.page-products-catalog .pcat-card {
  background: transparent !important;
  box-shadow: none !important;
}
.page-products-catalog .pcat-card:nth-child(even) {
  transform: translateY(clamp(1.25rem, 3vw, 2.75rem));
}
.page-products-catalog .pcat-card__body {
  padding: 1rem 0 0 !important;
}

/* FAQ cats ?? text rail, not icon card wall */
.page-faq .faq-cats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  border-top: 1px solid rgba(74, 60, 48, 0.18);
  border-bottom: 1px solid rgba(74, 60, 48, 0.18);
}
.page-faq .faq-cat {
  flex-direction: row !important;
  text-align: left !important;
  padding: 0.95rem 1.1rem 0.95rem 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.page-faq .faq-cat__label {
  font-size: 0.72rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}
.page-faq .faq-search {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(74, 60, 48, 0.18) !important;
  box-shadow: none !important;
}
.page-faq .faq-search-wrap { margin-inline: 0 !important; max-width: 36rem !important; }

/* Download featured ?? asymmetric, not twin cards */
.page-download .dl-feat-grid {
  grid-template-columns: 1.2fr 0.9fr !important;
  align-items: start !important;
}
.page-download .dl-feat-card:last-child {
  margin-top: clamp(2rem, 4vw, 3.5rem);
}
.page-download .dl-feat-card {
  background: rgba(247, 240, 230, 0.55) !important;
  box-shadow: none !important;
}
.page-download .dl-steps__list { grid-template-columns: 1fr !important; }
.page-download .dl-step {
  display: grid !important;
  grid-template-columns: 4.5rem 1fr !important;
  background: transparent !important;
  box-shadow: none !important;
  border-top: 1px solid rgba(74, 60, 48, 0.18);
  padding: 1.5rem 0 !important;
}

/* Transparent content plates so ambiance shows */
.page-faq,
.page-download,
.page-contact,
.page-about,
.page-craftsmanship,
.page-news,
.page-products-catalog,
.page-product-detail {
  background: transparent !important;
}

.site-cta, .about-cta, .craft-cta, .news-cta, .pcat-cta, .home-cta, .dl-cta, .faq-cta {
  display: none !important;
}

@media (max-width: 900px) {
  .page-products-catalog .pcat-grid,
  .page-download .dl-feat-grid,
  .page-download .dl-steps__list {
    grid-template-columns: 1fr !important;
  }
  .page-products-catalog .pcat-card:nth-child(even),
  .page-download .dl-feat-card:last-child {
    margin-top: 0 !important;
    transform: none !important;
  }
}

/* =========================================================
   STABILIZE (20260728layout2)
   Parallel-agent reconcile ?? last-wins only.
   Keep: atelier editorial + YIGAO ambiance + navclear.
   ========================================================= */
:root {
  --ambiance-photo: url("../brand/bg-ambiance-brown.jpg");
}

html {
  background-color: #2a1810 !important;
}

body {
  background-color: transparent !important;
  background-image: var(--ambiance-photo) !important;
  background-size: cover !important;
  background-position: center 42% !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
}

html::before {
  background: var(--ambiance-photo) center top / cover no-repeat fixed !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Navclear ?? transparent until hover / scroll */
.page-home:not(.is-scrolled) .site-header,
.page-products:not(.is-scrolled) .site-header,
.page-craftsmanship:not(.is-scrolled) .site-header,
.page-about:not(.is-scrolled) .site-header,
.page-download:not(.is-scrolled) .site-header,
.page-contact:not(.is-scrolled) .site-header,
.page-news:not(.is-scrolled) .site-header,
.page-faq:not(.is-scrolled) .site-header {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  color: #2f2820 !important;
}

.hero-float-words,
.hero-float-words__item {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

.site-cta,
.about-cta,
.craft-cta,
.news-cta,
.pcat-cta,
.home-cta,
.dl-cta,
.faq-cta {
  display: none !important;
}

/* =========================================================
   DESIGNFIX CONTINUITY + COHERENCE (20260728designfix)
   1) Kill hard section seams / flat oil plates
   2) Shared ambiance texture through all bands
   3) No orphan inset; editorial about split
   4) Typography + palette lock wins last
   ========================================================= */

:root {
  --cream: #f5ede0;
  --cream-soft: #faf6ef;
  --sand: #e4d4c0;
  --taupe: #b89a7a;
  --taupe-soft: #c4a882;
  --taupe-deep: #8f7358;
  --chocolate: #3d2a1c;
  --chocolate-deep: #2a1810;
  --ink-dark: #1c120c;
  --ink-heading: #1c120c;
  --ink: #2a1810;
  --ink-body: #3d2a1c;
  --ink-muted: #6b5544;
  --accent: #8f7358;
  --bronze: #8f7358;
  --on-dark: #f5ede0;
  --on-dark-muted: #d4c0a8;
  --warm: #f0e6d6;
  --white: #faf6ef;
  --line: rgba(61, 42, 28, 0.16);
  --ambiance-photo: url("../brand/bg-ambiance-brown.jpg");
  --atelier-panel: transparent;
  --atelier-wash: transparent;
  --atelier-wash-2: rgba(245, 237, 224, 0.4);
  --atelier-ink: #1c120c;
  --atelier-body: #3d2a1c;
  --atelier-mute: #6b5544;
  --atelier-accent: #8f7358;
  --atelier-line: rgba(61, 42, 28, 0.16);
  --font-display: "Instrument Serif", "Times New Roman", Georgia, serif;
  --font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --text-hero: clamp(4rem, 10vw, 7.5rem);
  --text-h1: clamp(2.85rem, 6vw, 4.75rem);
  --text-h2: clamp(2.35rem, 4.5vw, 3.65rem);
  --text-h3: clamp(1.4rem, 2.2vw, 1.95rem);
  --text-body: clamp(1.05rem, 0.35vw + 1rem, 1.125rem);
}

html {
  background-color: #2a1810 !important;
}

body {
  background-color: transparent !important;
  background-image: var(--ambiance-photo) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
  color: var(--ink-body) !important;
  font-family: var(--font-body) !important;
  animation: none !important;
}

html::before {
  background: var(--ambiance-photo) center top / cover no-repeat fixed !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* ---- Continuity: every content band stays transparent ---- */
.section,
.section--warm,
.section--linen,
.section--grey,
.home-about,
.home-about--editorial,
.home-collection,
.home-collection--mosaic,
.home-why,
.home-why--editorial,
.home-featured,
.home-gallery,
.home-stats,
.home-bleed,
.quote-band,
.quote-band--editorial,
.pcat-section,
.pcat-section--white,
.pcat-section--grey,
.news-section,
.news-section--white,
.news-section--cream,
.faq-search-section,
.faq-cats-section,
.faq-popular-section,
.faq-main-section,
.dl-intro,
.dl-featured,
.dl-table-section,
.dl-cats,
.dl-steps,
.contact-intro,
.about-intro,
.about-story,
.about-mv,
.about-values,
.about-custom,
.about-clients,
.about-sustain,
.craft-intro,
.craft-process,
.craft-materials,
.craft-tests-section,
.craft-compliance,
.pdet-related,
.page-home,
.page-inner,
.page-about,
.page-products,
.page-products-catalog,
.page-product-detail,
.page-craftsmanship,
.page-news,
.page-faq,
.page-download,
.page-contact {
  background-color: transparent !important;
  background-image: none !important;
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Beat higher-specificity yigao washes that created flat seams */
.page-home .home-collection,
.page-home .home-collection--mosaic,
.page-home .home-why--editorial,
.page-home .home-featured,
.page-home .home-gallery,
.page-home .home-stats,
.page-home .home-about--editorial,
.page-about .about-custom,
.page-about .about-mv,
.page-about .about-values,
.page-about .about-clients,
.page-about .about-intro,
.page-about .about-story,
.page-products-catalog .pcat-section--white,
.page-products-catalog .pcat-section--grey,
.page-news .news-section--white,
.page-news .news-section--cream,
.page-faq .faq-search-section,
.page-faq .faq-cats-section,
.page-faq .faq-popular-section,
.page-faq .faq-main-section,
.page-download .dl-intro,
.page-download .dl-featured,
.page-download .dl-table-section,
.page-download .dl-cats,
.page-download .dl-steps,
.page-contact .contact-intro,
.page-craftsmanship .craft-intro {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  margin-top: 0 !important;
}

/* Soft readable washes ONLY on interactive controls ?? no full-section plates */
.page-faq .faq-search,
.page-download .dl-table-wrap,
.page-contact .contact-form-wrap,
.page-products-catalog .pcat-toolbar {
  background: rgba(245, 237, 224, 0.42) !important;
  border: 1px solid rgba(61, 42, 28, 0.12) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* Seamless section rhythm ?? shared padding, no hard gutters */
.page-home .section,
.page-home .home-about--editorial,
.page-home .home-collection--mosaic,
.page-home .home-why--editorial,
.page-home .home-featured,
.page-home .home-gallery,
.page-home .home-stats {
  padding-top: clamp(4.25rem, 8vw, 6.75rem) !important;
  padding-bottom: clamp(4.25rem, 8vw, 6.75rem) !important;
}

.page-home .home-about--editorial {
  padding-bottom: clamp(2.5rem, 5vw, 4rem) !important;
}

.page-home .home-collection--mosaic {
  padding-top: clamp(2.5rem, 5vw, 4rem) !important;
}

/* About: text + one strong image, continuous with ambiance */
.page-home .home-about__inset,
.home-about__inset {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.page-home .home-about--editorial .home-about__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr) !important;
  gap: clamp(1.75rem, 4vw, 3.5rem) !important;
  align-items: center !important;
}

.page-home .home-about--editorial .home-about__copy {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0.25rem 0.5rem 0.25rem 0 !important;
}

.page-home .home-about--editorial .home-about__media {
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  min-height: min(68vh, 38rem) !important;
  aspect-ratio: 4 / 5 !important;
}

/* Cards / tiles: no oily flat white cells */
.page-home .col-item,
.page-home .feat-panel,
.page-products-catalog .pcat-card,
.page-products-catalog .pcat-feat-card,
.page-products-catalog .pcat-custom__card,
.page-news .news-journal__card,
.page-download .dl-feat-card,
.page-download .dl-cat,
.page-about .about-mv__card,
.page-about .about-custom__card,
.page-faq .faq-cat,
.page-contact .contact-card {
  background: transparent !important;
  box-shadow: none !important;
  border-color: rgba(61, 42, 28, 0.14) !important;
}

.page-home .col-item {
  background: transparent !important;
}

.page-download .dl-feat-card,
.page-download .dl-cat {
  background: rgba(245, 237, 224, 0.28) !important;
  border: 1px solid rgba(61, 42, 28, 0.12) !important;
}

/* Typography ?? visibly Cormorant + Outfit */
body,
button,
input,
textarea,
select,
.btn,
.eyebrow,
.header-cats a,
.nav__links a,
.lang-bar,
.link-arrow {
  font-family: var(--font-body) !important;
}

h1, h2, h3, h4,
.hero-brand,
.logo__mark,
.section-intro h2,
.home-section-head h2,
.pcat-head h2,
.lead,
blockquote p,
.why-strip__num,
.home-stats__item strong,
.about-stat strong {
  font-family: var(--font-display) !important;
}

.page-home .hero-brand {
  font-size: var(--text-hero) !important;
  letter-spacing: 0.1em !important;
  line-height: 0.88 !important;
  color: var(--ink-heading) !important;
}

.section-intro h2,
.home-section-head h2,
.pcat-head h2,
.news-intro h2 {
  font-size: var(--text-h2) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.028em !important;
  color: var(--ink-heading) !important;
  text-align: left !important;
}

html[lang="zh"] h1,
html[lang="zh"] h2,
html[lang="zh"] h3,
html[lang="zh"] .hero-brand {
  letter-spacing: 0.04em !important;
}

html[lang="zh"] body {
  letter-spacing: 0.02em !important;
}

/* Buttons / links / footer ?? same family */
.btn--dark,
.hero-cta,
.site-footer {
  background: var(--chocolate-deep) !important;
  color: var(--on-dark) !important;
  border-color: transparent !important;
}

.btn--dark:hover,
.hero-cta:hover {
  background: var(--chocolate) !important;
}

.site-footer {
  border-top: 0 !important;
  background:
    linear-gradient(180deg, transparent 0%, rgba(42, 24, 16, 0.55) 18%, #2a1810 55%) !important;
}

.site-footer a,
.site-footer p,
.site-footer h4 {
  color: var(--on-dark-muted) !important;
}

.site-footer .logo,
.site-footer h4 {
  color: var(--on-dark) !important;
  font-family: var(--font-display) !important;
}

/* Nav: transparent ?? frosted cream ?? solid light */
.page-home:not(.is-scrolled) .site-header,
.page-products:not(.is-scrolled) .site-header,
.page-craftsmanship:not(.is-scrolled) .site-header,
.page-about:not(.is-scrolled) .site-header,
.page-download:not(.is-scrolled) .site-header,
.page-contact:not(.is-scrolled) .site-header,
.page-news:not(.is-scrolled) .site-header,
.page-faq:not(.is-scrolled) .site-header {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  color: var(--ink-heading) !important;
}

.page-home:not(.is-scrolled) .site-chrome:hover .site-header,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-products:not(.is-scrolled) .site-chrome:hover .site-header,
.page-products:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-craftsmanship:not(.is-scrolled) .site-chrome:hover .site-header,
.page-craftsmanship:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-about:not(.is-scrolled) .site-chrome:hover .site-header,
.page-about:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-download:not(.is-scrolled) .site-chrome:hover .site-header,
.page-download:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-contact:not(.is-scrolled) .site-chrome:hover .site-header,
.page-contact:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-news:not(.is-scrolled) .site-chrome:hover .site-header,
.page-news:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-faq:not(.is-scrolled) .site-chrome:hover .site-header,
.page-faq:not(.is-scrolled) .site-chrome:focus-within .site-header {
  background: rgba(245, 237, 224, 0.92) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-bottom-color: rgba(61, 42, 28, 0.1) !important;
}

body.is-scrolled .site-header,
.site-header.is-scrolled {
  background: rgba(250, 246, 239, 0.96) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  color: var(--ink) !important;
}

/* Safety: hide float keywords + per-page CTAs */
.hero-float-words,
.hero-float-words__item {
  display: none !important;
}

.site-cta,
.about-cta,
.craft-cta,
.news-cta,
.pcat-cta,
.home-cta,
.dl-cta,
.faq-cta {
  display: none !important;
}

@media (max-width: 820px) {
  .page-home .home-about--editorial .home-about__grid {
    grid-template-columns: 1fr !important;
  }
  .page-home .home-about--editorial .home-about__media {
    grid-column: 1 !important;
    min-height: min(52vh, 28rem) !important;
    aspect-ratio: 5 / 4 !important;
  }
}
/* =========================================================
   PREMIUM CLEAN LOCK (20260728clean)
   One coherent end-state. Neutralizes stacked theme fights.
   ========================================================= */

:root {
  --cream: #F3EBDD;
  --cream-soft: #F5EFE4;
  --sand: #E4D4C0;
  --taupe: #B89A7A;
  --chocolate: #3D2A1F;
  --chocolate-deep: #1A1510;
  --ink: #1A1510;
  --ink-heading: #1A1510;
  --ink-body: #2A2218;
  --ink-muted: #4A3F34;
  --on-dark: #F5EFE4;
  --on-dark-muted: #E8DFD0;
  --accent: #8F7358;
  --line: rgba(26, 21, 16, 0.16);
  --ambiance-photo: url("../brand/bg-ambiance-brown.jpg");
  --font-display: "Instrument Serif", "Times New Roman", Georgia, serif;
  --font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --header-h: 5.25rem;
  --text-hero: clamp(3.25rem, 7.5vw, 5.75rem);
  --text-h2: clamp(2.1rem, 4vw, 3.25rem);
}

/* ---- Atmosphere: static photo, NO animated blur streaks ---- */
html {
  background-color: #1A1510 !important;
}
body {
  background-color: transparent !important;
  background-image: var(--ambiance-photo) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
  color: var(--ink-body) !important;
  font-family: var(--font-body) !important;
  animation: none !important;
  font-size: 1.0625rem !important;
  line-height: 1.7 !important;
}
body::before,
body::after,
html::before,
html::after {
  animation: none !important;
  filter: none !important;
}
body::before {
  opacity: 0.22 !important;
  mix-blend-mode: soft-light !important;
  background:
    radial-gradient(ellipse 60% 40% at 20% 10%, rgba(255,250,242,0.35), transparent 60%),
    radial-gradient(ellipse 50% 40% at 80% 90%, rgba(26,21,16,0.35), transparent 55%) !important;
  backdrop-filter: none !important;
}
body::after {
  opacity: 0.18 !important;
  mix-blend-mode: overlay !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") !important;
  background-size: 180px 180px !important;
}
html::before {
  background: var(--ambiance-photo) center top / cover no-repeat fixed !important;
  opacity: 1 !important;
  filter: contrast(1.08) saturate(1.06) !important;
  z-index: -4 !important;
}
.lux-spotlight { display: none !important; }

/* ---- Ink lock ---- */
h1, h2, h3, h4, h5, h6,
.section-intro h2, .home-section-head h2, .pcat-head h2,
.lead, p, li, label, td, th, .muted, .eyebrow, a {
  opacity: 1 !important;
}
h1, h2, h3, h4, h5, h6,
.section-intro h2, .home-section-head h2, .pcat-head h2, .news-intro h2 {
  font-family: var(--font-display) !important;
  color: var(--ink-heading) !important;
  font-weight: 500 !important;
}
p, li, label, td, th, .lead, .muted, body {
  color: var(--ink-body) !important;
}
.eyebrow {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-size: 0.72rem !important;
  color: var(--ink-muted) !important;
}
.section-intro, .home-section-head, .pcat-head, .news-intro {
  text-align: left !important;
  margin-inline: 0 !important;
}
.section, .section--warm, .section--linen, .section--grey,
.home-collection, .home-featured, .home-why, .home-gallery, .home-stats,
.home-about, .pcat-section, .pcat-section--white, .pcat-section--grey,
.news-section, .news-section--white, .news-section--cream {
  background: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* ---- HEADER: always frosted + readable ---- */
.site-chrome {
  height: auto !important;
  pointer-events: none !important;
  z-index: 500 !important;
}
.site-header {
  pointer-events: auto !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 501 !important;
  min-height: var(--header-h) !important;
  padding: 0.85rem 0 0.75rem !important;
  border-bottom: 1px solid transparent !important;
  box-shadow: none !important;
}
/* Home dark hero: dark frosted + cream type */
.page-home:not(.is-scrolled) .site-header {
  background: rgba(26, 21, 16, 0.62) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom-color: rgba(245, 239, 228, 0.12) !important;
  color: #F5EFE4 !important;
}
.page-home:not(.is-scrolled) .site-chrome:hover .site-header,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header {
  background: rgba(26, 21, 16, 0.82) !important;
  color: #F5EFE4 !important;
}
/* Inner pages: cream frosted + dark ink */
.page-inner:not(.is-scrolled) .site-header,
body:not(.page-home):not(.is-scrolled) .site-header {
  background: rgba(243, 235, 221, 0.9) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom-color: rgba(26, 21, 16, 0.1) !important;
  color: #1A1510 !important;
}
/* Scrolled: solid cream + dark ink everywhere */
body.is-scrolled .site-header,
.site-header.is-scrolled {
  background: rgba(245, 239, 228, 0.97) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-bottom-color: rgba(26, 21, 16, 0.12) !important;
  color: #1A1510 !important;
  box-shadow: 0 8px 24px rgba(26, 21, 16, 0.06) !important;
}
.site-header .logo,
.site-header .logo__mark,
.site-header .header-cats a,
.site-header .nav-toggle,
.site-header .search-btn,
.site-header .header-link {
  color: inherit !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
.site-header .logo__mark {
  font-family: var(--font-display) !important;
  font-weight: 600 !important;
  font-size: clamp(1.35rem, 1.8vw, 1.65rem) !important;
  letter-spacing: 0.22em !important;
  line-height: 1 !important;
  position: relative !important;
  z-index: 2 !important;
}
.site-header .header-cats a {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}
.site-header .nav-toggle span,
.site-header .search-btn::before {
  border-color: currentColor !important;
  background: currentColor !important;
}
.site-header .search-btn::after {
  background: currentColor !important;
}
.site-header .search-btn:hover,
.site-header .logo:hover,
.site-header .header-cats a:hover {
  opacity: 0.78 !important;
}

/* ---- HOME HERO: editorial, cream type, clear of header ---- */
.page-home .home-hero,
.page-home .home-hero--editorial,
.page-home .home-hero--quiet {
  position: relative !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  height: auto !important;
  display: block !important;
  overflow: hidden !important;
  margin: 0 !important;
  background: #1A1510 !important;
  text-align: left !important;
  align-items: stretch !important;
  justify-items: stretch !important;
}
.page-home .home-hero__stage {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}
.page-home .home-hero__media {
  position: absolute !important;
  inset: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  background-size: cover !important;
  background-position: center !important;
  animation: none !important;
}
.page-home .home-hero__veil {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(105deg, rgba(26,21,16,0.72) 0%, rgba(26,21,16,0.35) 42%, rgba(26,21,16,0.2) 68%, rgba(26,21,16,0.55) 100%),
    linear-gradient(180deg, rgba(26,21,16,0.45) 0%, transparent 28%, rgba(26,21,16,0.55) 100%) !important;
  pointer-events: none !important;
}
.page-home .home-hero__gridlines {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background-image: repeating-linear-gradient(
    90deg,
    transparent,
    transparent calc(20% - 1px),
    rgba(245, 239, 228, 0.08) calc(20% - 1px),
    rgba(245, 239, 228, 0.08) 20%
  ) !important;
  opacity: 0.7 !important;
}
.page-home .home-hero__streaks,
.page-home .slider-arrow,
.page-home .slider-dots,
.page-home .home-hero__media--b {
  display: none !important;
}
.page-home .home-hero__layout {
  position: relative !important;
  z-index: 3 !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  width: min(100% - 2.5rem, 88rem) !important;
  margin: 0 auto !important;
  padding: calc(var(--header-h) + 2.5rem) 0 2.5rem !important;
  display: grid !important;
  grid-template-rows: 1fr auto !important;
  gap: 2rem !important;
  color: #F5EFE4 !important;
}
.page-home .home-hero__copy {
  max-width: 36rem !important;
  align-self: end !important;
  padding-bottom: 1rem !important;
}
.page-home .hero-kicker,
.page-home .hero-index,
.page-home .hero-brand,
.page-home .hero-line,
.page-home .hero-cta,
.page-home .home-hero__copy * {
  color: #F5EFE4 !important;
  text-shadow: 0 2px 18px rgba(0,0,0,0.35) !important;
  opacity: 1 !important;
}
.page-home .hero-kicker {
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  margin: 0 0 0.85rem !important;
  color: #E8DFD0 !important;
}
.page-home .hero-index {
  font-family: var(--font-display) !important;
  font-size: 0.95rem !important;
  margin: 0 0 0.35rem !important;
  opacity: 0.85 !important;
  color: #E8DFD0 !important;
  text-shadow: none !important;
}
.page-home .hero-brand {
  font-family: var(--font-display) !important;
  font-size: var(--text-hero) !important;
  font-weight: 500 !important;
  font-style: italic !important;
  letter-spacing: -0.02em !important;
  line-height: 0.95 !important;
  margin: 0 0 1rem !important;
  max-width: 12ch !important;
  text-transform: none !important;
  padding: 0 !important;
}
.page-home .hero-line {
  font-family: var(--font-display) !important;
  font-size: clamp(1.05rem, 1.6vw, 1.25rem) !important;
  line-height: 1.55 !important;
  max-width: 34ch !important;
  margin: 0 0 1.75rem !important;
  color: #E8DFD0 !important;
}
.page-home .hero-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  padding: 0.85rem 1.35rem !important;
  background: #F5EFE4 !important;
  color: #1A1510 !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  border: 0 !important;
}
.page-home .hero-cta:hover {
  background: #fff !important;
}
.page-home .hero-cta,
.page-home .hero-cta span {
  color: #1A1510 !important;
  text-shadow: none !important;
}

/* Hero tiles ?? neat bottom strip, no overlap */
.page-home .home-hero__tiles {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.85rem !important;
  width: min(100%, 42rem) !important;
  justify-self: end !important;
  margin-left: auto !important;
}
.page-home .hero-tile {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  grid-template-rows: auto auto !important;
  gap: 0.35rem 0.55rem !important;
  color: #F5EFE4 !important;
  text-decoration: none !important;
  align-items: end !important;
}
.page-home .hero-tile__idx {
  grid-row: 2 !important;
  font-family: var(--font-display) !important;
  font-size: 0.85rem !important;
  color: #E8DFD0 !important;
  opacity: 1 !important;
}
.page-home .hero-tile__media {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  aspect-ratio: 3 / 4 !important;
  background-size: cover !important;
  background-position: center !important;
  display: block !important;
}
.page-home .hero-tile__name {
  display: none !important;
}

/* ---- About: text + one image ---- */
.page-home .home-about__inset { display: none !important; }
.page-home .home-about--editorial .home-about__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) !important;
  gap: clamp(2rem, 4vw, 3.5rem) !important;
  align-items: center !important;
}
.page-home .home-about--editorial .home-about__copy {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
}
.page-home .home-about--editorial .home-about__media {
  margin: 0 !important;
  min-height: min(58vh, 32rem) !important;
  aspect-ratio: 4 / 5 !important;
  position: relative !important;
}

/* ---- Collection / Featured: clean grids, kill mosaics ---- */
.page-home .collection-stack,
.page-home .collection-stack--mosaic,
.page-home .collection-stack--grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
  align-items: stretch !important;
}
.page-home .col-item,
.page-home .col-item--hero,
.page-home .col-item--tall,
.page-home .col-item--wide,
.page-home .col-item--offset {
  grid-column: auto !important;
  grid-row: auto !important;
  margin: 0 !important;
  transform: none !important;
  position: relative !important;
  background: transparent !important;
  box-shadow: none !important;
}
.page-home .col-item__media {
  aspect-ratio: 4 / 3 !important;
  min-height: 0 !important;
}
.page-home .feat-runway { display: none !important; }
.page-home .feat-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
}
.page-home .feat-card {
  background: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.85rem !important;
}
.page-home .feat-card__media {
  display: block !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 3 !important;
}
.page-home .feat-card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.page-home .feat-card__body {
  padding: 0 !important;
}
.page-home .feat-card__index {
  font-family: var(--font-display) !important;
  color: var(--ink-muted) !important;
  font-size: 0.9rem !important;
}
.page-home .feat-card__body h3,
.page-home .feat-card__body h3 a {
  font-family: var(--font-display) !important;
  color: var(--ink-heading) !important;
  font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
  margin: 0.25rem 0 !important;
}
.page-home .feat-card__body p {
  color: var(--ink-muted) !important;
  max-width: 36ch !important;
}

/* Kill absolute collage leftovers */
.page-home .feat-panel,
.page-home .feat-panel__body,
.page-home .feat-panel__mark {
  position: static !important;
  transform: none !important;
  margin: 0 !important;
}
.page-home .home-bleed { display: none !important; }

/* Dark bands keep cream text */
.site-footer,
.section--charcoal,
.section--dark,
.quote-band--editorial .quote-band__copy {
  color: var(--on-dark) !important;
}
.site-footer a, .site-footer p, .site-footer h4,
.section--charcoal h2, .section--dark h2 {
  color: var(--on-dark) !important;
}
.site-footer {
  background: linear-gradient(180deg, transparent, #1A1510 28%) !important;
}

/* Inner page heroes ?? cream on photo */
.page-hero, .product-hero, .about-hero, .craft-hero,
.news-hero, .faq-hero, .dl-hero, .contact-hero {
  color: #F5EFE4 !important;
}
.page-hero h1, .product-hero h1, .about-hero h1, .craft-hero h1,
.news-hero h1, .faq-hero h1, .dl-hero h1, .contact-hero h1,
.product-hero__title, .about-hero__title, .news-hero__title,
.faq-hero__title, .dl-hero__title {
  color: #F5EFE4 !important;
  text-shadow: 0 2px 20px rgba(0,0,0,0.4) !important;
}

.site-cta, .about-cta, .craft-cta, .news-cta, .pcat-cta, .home-cta, .dl-cta, .faq-cta {
  display: none !important;
}
.hero-float-words, .hero-float-words__item { display: none !important; }

@media (max-width: 820px) {
  .page-home .home-about--editorial .home-about__grid,
  .page-home .collection-stack,
  .page-home .feat-grid {
    grid-template-columns: 1fr !important;
  }
  .page-home .home-hero__tiles {
    width: 100% !important;
    justify-self: stretch !important;
  }
  .page-home .hero-brand {
    font-size: clamp(2.6rem, 12vw, 3.75rem) !important;
  }
}

/* =========================================================
   MATERIALS PHOTOS + FAQ + CRAFT BAND (20260728mats)
   ========================================================= */
:root {
  --space-section: clamp(4.5rem, 8vw, 7rem);
  --space-gap: 1.5rem;
  --space-gap-sm: 1rem;
  --space-gap-lg: 2rem;
  --max: 75rem;
  --ratio-mat: 4 / 5;
  --ink: #1A1510;
  --ink-body: #3D342C;
  --ink-muted: #5A4E42;
  --line-warm: rgba(26, 21, 16, 0.15);
  --font-display: "Instrument Serif", "Times New Roman", Georgia, serif;
  --font-body: "Outfit", "Helvetica Neue", Helvetica, sans-serif;
  --lang-bar-h: 2rem;
  --header-h: 5.25rem;
}

/* Lang bar always visible */
.lang-bar {
  display: flex !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 502 !important;
  height: var(--lang-bar-h) !important;
  transform: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  background: #1A1510 !important;
  color: #F5EFE4 !important;
}
.lang-bar__link { color: rgba(245, 239, 228, 0.75) !important; }
.lang-bar__link.is-active,
.lang-bar__link:hover { color: #F5EFE4 !important; }
.header-lang { display: none !important; }
.site-header {
  top: var(--lang-bar-h) !important;
  position: fixed !important;
  z-index: 501 !important;
}
.page-home:not(.is-scrolled) .site-header {
  background: rgba(26, 21, 16, 0.72) !important;
  backdrop-filter: blur(14px) !important;
  color: #F5EFE4 !important;
}
body:not(.page-home):not(.is-scrolled) .site-header {
  background: rgba(237, 228, 212, 0.92) !important;
  backdrop-filter: blur(14px) !important;
  color: #1A1510 !important;
}
body.is-scrolled .site-header {
  background: rgba(245, 239, 228, 0.98) !important;
  color: #1A1510 !important;
}

/* Home craftsmanship band */
.page-home .quote-band,
.page-home .quote-band--editorial,
.page-home .home-pullquote { display: none !important; }
.home-craft-band {
  padding: var(--space-section) 0 !important;
  background: transparent !important;
}
.home-craft-band__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) !important;
  gap: var(--space-gap-lg) !important;
  align-items: center !important;
}
.home-craft-band__copy .eyebrow {
  color: var(--ink-muted) !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
}
.home-craft-band__copy blockquote {
  margin: 0.85rem 0 1.5rem !important;
  max-width: 28ch !important;
}
.home-craft-band__copy blockquote p {
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-size: clamp(1.65rem, 3vw, 2.35rem) !important;
  line-height: 1.3 !important;
  color: #1A1510 !important;
  margin: 0 !important;
}
.home-craft-band__copy .btn--dark {
  background: #1A1510 !important;
  color: #F5EFE4 !important;
  border: 0 !important;
}
.home-craft-band__media {
  aspect-ratio: 16 / 10 !important;
  min-height: min(42vh, 22rem) !important;
  background-size: cover !important;
  background-position: center !important;
}

/* Materials photo grid */
.page-craftsmanship .craft-materials--photos {
  padding: var(--space-section) 0 !important;
  background: transparent !important;
}
.page-craftsmanship .craft-materials__intro {
  max-width: 40rem !important;
  margin-bottom: var(--space-gap-lg) !important;
  text-align: left !important;
}
.page-craftsmanship .craft-materials__heading {
  font-family: var(--font-display) !important;
  font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
  font-weight: 500 !important;
  color: #1A1510 !important;
  margin: 0 0 1.25rem !important;
  padding-bottom: 0.75rem !important;
  border-bottom: 1px solid var(--line-warm) !important;
}
.page-craftsmanship .craft-mat-grid {
  list-style: none !important;
  margin: 0 0 var(--space-section) !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--space-gap) !important;
}
.page-craftsmanship .craft-mat-card {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) !important;
  gap: 1.1rem !important;
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.page-craftsmanship .craft-mat-card__media {
  display: block !important;
  aspect-ratio: var(--ratio-mat) !important;
  background-size: cover !important;
  background-position: center !important;
  background-color: #E5E2D9 !important;
}
.page-craftsmanship .craft-mat-card__body {
  padding: 0.25rem 0 !important;
}
.page-craftsmanship .craft-mat-card__num {
  display: block !important;
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  color: var(--ink-muted) !important;
  margin-bottom: 0.45rem !important;
}
.page-craftsmanship .craft-mat-card h4 {
  font-family: var(--font-display) !important;
  font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
  font-weight: 500 !important;
  color: #1A1510 !important;
  margin: 0 0 0.45rem !important;
}
.page-craftsmanship .craft-mat-card p {
  font-family: var(--font-body) !important;
  font-size: 0.98rem !important;
  line-height: 1.65 !important;
  color: var(--ink-body) !important;
  margin: 0 !important;
  max-width: 32ch !important;
}
.page-craftsmanship .craft-tests--band {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--space-gap) !important;
  background: transparent !important;
  border: 0 !important;
}
.page-craftsmanship .craft-tests--band .craft-test {
  background: transparent !important;
  border-top: 1px solid var(--line-warm) !important;
  padding: 1.15rem 0 0 !important;
}
.page-craftsmanship .craft-test__num {
  font-family: var(--font-display) !important;
  font-style: italic !important;
  color: var(--ink-muted) !important;
  display: block !important;
  margin-bottom: 0.35rem !important;
}
.page-craftsmanship .craft-test h4 {
  font-family: var(--font-display) !important;
  color: #1A1510 !important;
  font-size: 1.25rem !important;
  margin: 0 0 0.4rem !important;
}
.page-craftsmanship .craft-test p {
  font-family: var(--font-body) !important;
  color: var(--ink-body) !important;
  font-size: 0.92rem !important;
  margin: 0 !important;
}

/* FAQ neat editorial */
.page-faq .faq-main-section {
  padding: var(--space-section) 0 !important;
}
.page-faq .faq-main-section .section-intro {
  display: none !important;
}
.page-faq .faq-layout {
  display: grid !important;
  grid-template-columns: minmax(10rem, 13rem) minmax(0, 1fr) !important;
  gap: clamp(2rem, 4vw, 3.5rem) !important;
  align-items: start !important;
  max-width: var(--max) !important;
}
.page-faq .faq-sidenav {
  position: sticky !important;
  top: calc(var(--lang-bar-h) + var(--header-h) + 1rem) !important;
  display: grid !important;
  gap: 0.35rem !important;
}
.page-faq .faq-sidenav a {
  font-family: var(--font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--ink-muted) !important;
  padding: 0.45rem 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.page-faq .faq-sidenav a.is-active,
.page-faq .faq-sidenav a:hover {
  color: #1A1510 !important;
}
.page-faq .faq-group {
  margin: 0 0 2.75rem !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
.page-faq .faq-group__title {
  font-family: var(--font-display) !important;
  font-size: clamp(1.65rem, 2.6vw, 2.15rem) !important;
  font-weight: 500 !important;
  color: #1A1510 !important;
  margin: 0 0 0.85rem !important;
  white-space: nowrap !important;
}
.page-faq .faq-list {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.page-faq .faq-item {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--line-warm) !important;
  border-radius: 0 !important;
  padding: 1.15rem 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
.page-faq .faq-item:last-child {
  border-bottom: 1px solid var(--line-warm) !important;
}
.page-faq .faq-item button {
  font-family: var(--font-body) !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  color: #1A1510 !important;
  text-align: left !important;
  width: 100% !important;
  padding: 0.25rem 2.25rem 0.25rem 0 !important;
  background: transparent !important;
}
.page-faq .faq-item .faq-answer p {
  font-family: var(--font-body) !important;
  color: var(--ink-body) !important;
  font-size: 0.98rem !important;
  max-width: 58ch !important;
}

/* Stats contrast */
.page-home .home-stats__item strong,
.page-home .ed-figures__item strong {
  color: #1A1510 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.page-home .home-stats__item span,
.page-home .ed-figures__item span {
  color: #5A4E42 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.page-home .home-stats__item,
.page-home .ed-figures__item {
  border-color: var(--line-warm) !important;
}

/* Sustainability cinematic */
.page-about .about-sustain--cinematic {
  display: block !important;
  position: relative !important;
  min-height: min(82vh, 42rem) !important;
  grid-template-columns: unset !important;
  background: #1A1510 !important;
  color: #F5EFE4 !important;
  overflow: hidden !important;
  padding: 0 !important;
}
.page-about .about-sustain__stage { position: absolute !important; inset: 0 !important; }
.page-about .about-sustain__media {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  order: unset !important;
  background-size: cover !important;
  background-position: center !important;
}
.page-about .about-sustain__veil {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(26,21,16,0.35), rgba(26,21,16,0.82)) !important;
}
.page-about .about-sustain__panel { display: none !important; }
.page-about .about-sustain__content {
  position: relative !important;
  z-index: 2 !important;
  padding: var(--space-section) 0 !important;
}
.page-about .about-sustain__intro h2,
.page-about .about-sustain__intro .eyebrow,
.page-about .about-sustain__lead,
.page-about .about-sustain__strip h3,
.page-about .about-sustain__strip p,
.page-about .about-sustain__num {
  color: #F5EFE4 !important;
  opacity: 1 !important;
}
.page-about .about-sustain__lead { color: #E8DFD0 !important; }
.page-about .about-sustain__strip {
  list-style: none !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--space-gap) !important;
  margin: 2rem 0 0 !important;
  padding: 1.25rem 0 0 !important;
  border-top: 1px solid rgba(245,239,228,0.22) !important;
}

@media (max-width: 900px) {
  .home-craft-band__grid,
  .page-craftsmanship .craft-mat-grid,
  .page-craftsmanship .craft-mat-card,
  .page-craftsmanship .craft-tests--band,
  .page-about .about-sustain__strip,
  .page-faq .faq-layout {
    grid-template-columns: 1fr !important;
  }
  .page-faq .faq-group__title { white-space: normal !important; }
}

/* =========================================================
   HEADER IDLE TRANSPARENT + NO GLOW + STATS LOCK (20260728hdr2)
   ========================================================= */

/* Kill glow / halo everywhere in chrome */
.site-chrome,
.site-header,
.site-header *,
.site-header .logo,
.site-header .logo__mark,
.site-header .header-cats a,
.site-header .nav-toggle,
.site-header .search-btn {
  text-shadow: none !important;
  filter: none !important;
  box-shadow: none !important;
}

/* Idle: transparent plate ?? no dark/frosted fill */
body:not(.is-scrolled) .site-header,
body:not(.is-scrolled) .site-chrome .site-header,
.page-home:not(.is-scrolled) .site-header,
.page-home:not(.is-scrolled) .site-chrome .site-header,
.page-inner:not(.is-scrolled) .site-header,
body:not(.page-home):not(.is-scrolled) .site-header {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}

/* Home idle: cream type on transparent over dark hero ?? NO glow */
.page-home:not(.is-scrolled) .site-header,
.page-home:not(.is-scrolled) .site-header .logo__mark,
.page-home:not(.is-scrolled) .site-header .header-cats a,
.page-home:not(.is-scrolled) .site-header .nav-toggle,
.page-home:not(.is-scrolled) .site-header .search-btn {
  color: #F5EFE4 !important;
  text-shadow: none !important;
}
.page-home:not(.is-scrolled) .site-header .nav-toggle span,
.page-home:not(.is-scrolled) .site-header .search-btn::before,
.page-home:not(.is-scrolled) .site-header .search-btn::after {
  background: #F5EFE4 !important;
  border-color: #F5EFE4 !important;
}

/* Inner pages idle on light ambiance: dark ink, still transparent */
body:not(.page-home):not(.is-scrolled) .site-header,
body:not(.page-home):not(.is-scrolled) .site-header .logo__mark,
body:not(.page-home):not(.is-scrolled) .site-header .header-cats a {
  color: #1A1510 !important;
  text-shadow: none !important;
}

/* Hover / focus: soft warm cream frosted bar (#E5E2D9) */
body:not(.is-scrolled) .site-chrome:hover .site-header,
body:not(.is-scrolled) .site-chrome:focus-within .site-header {
  background: rgba(229, 226, 217, 0.92) !important;
  background-color: rgba(229, 226, 217, 0.92) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-bottom-color: rgba(26, 21, 16, 0.1) !important;
  color: #1A1510 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
body:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:hover .site-header .nav-toggle,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .nav-toggle,
body:not(.is-scrolled) .site-chrome:hover .site-header .search-btn,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn {
  color: #1A1510 !important;
  text-shadow: none !important;
}
body:not(.is-scrolled) .site-chrome:hover .site-header .nav-toggle span,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .nav-toggle span,
body:not(.is-scrolled) .site-chrome:hover .site-header .search-btn::before,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn::before,
body:not(.is-scrolled) .site-chrome:hover .site-header .search-btn::after,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn::after {
  background: #1A1510 !important;
  border-color: #1A1510 !important;
}

/* Scrolled: solid soft warm cream + dark ink */
body.is-scrolled .site-header,
.site-header.is-scrolled {
  background: rgba(229, 226, 217, 0.98) !important;
  background-color: rgba(229, 226, 217, 0.98) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-bottom-color: rgba(26, 21, 16, 0.12) !important;
  color: #1A1510 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
body.is-scrolled .site-header .logo__mark,
body.is-scrolled .site-header .header-cats a,
.site-header.is-scrolled .logo__mark,
.site-header.is-scrolled .header-cats a {
  color: #1A1510 !important;
  text-shadow: none !important;
}

/* Logo mark: full brand name, no glow */
.site-header .logo__mark {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.55rem, 2vw, 1.95rem) !important;
  letter-spacing: 0.1em !important;
  padding-left: 0.1em !important;
  text-transform: none !important;
  text-shadow: none !important;
  white-space: nowrap !important;
  font-synthesis: none !important;
  -webkit-font-smoothing: antialiased !important;
}

/* Classic home hero (no Aurora tiles) */
.page-home .home-hero--classic,
.page-home .home-hero {
  position: relative !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
  background: #1A1510 !important;
}
.page-home .home-hero__layout--classic {
  position: relative !important;
  z-index: 3 !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  width: min(100% - 2.5rem, 75rem) !important;
  margin: 0 auto !important;
  padding: calc(var(--lang-bar-h, 2rem) + var(--header-h, 5.25rem) + 3rem) 0 3rem !important;
  display: flex !important;
  align-items: center !important;
  grid-template-columns: unset !important;
}
.page-home .home-hero__layout--classic .home-hero__copy {
  max-width: 34rem !important;
  margin: 0 !important;
  grid-column: auto !important;
}
.page-home .home-hero__tiles,
.page-home .home-hero__gridlines,
.page-home .hero-index { display: none !important; }
.page-home .hero-kicker,
.page-home .hero-brand,
.page-home .hero-line {
  color: #F5EFE4 !important;
  text-shadow: none !important;
}
.page-home .hero-brand {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-size: clamp(2.8rem, 7vw, 4.75rem) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  margin: 0.35rem 0 1rem !important;
}
.page-home .hero-cta {
  background: #F5EFE4 !important;
  color: #1A1510 !important;
  text-shadow: none !important;
}

/* STATS READABILITY LOCK ?? last wins */
#achievements,
#achievements *,
.home-stats,
.home-stats *,
.home-stats__item,
.home-stats__item *,
.home-stats__inner,
.home-stats__inner *,
.ed-figures,
.ed-figures *,
.ed-figures__item,
.ed-figures__item *,
.page-home .home-stats,
.page-home .home-stats *,
.page-home .ed-figures,
.page-home .ed-figures *,
.page-home #achievements,
.page-home #achievements *,
.metric,
.metric *,
.stat,
.stat *,
.stat__num,
.stat__label,
.about-stat,
.about-stat * {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}
#achievements .home-stats__item span,
#achievements .ed-figures__item span,
.home-stats__item span,
.ed-figures__item span,
.page-home .home-stats__item span,
.page-home .ed-figures__item span,
.metric span,
.stat__label,
.about-stat span {
  color: #3D342C !important;
  -webkit-text-fill-color: #3D342C !important;
}
#achievements .ed-figures,
#achievements .home-stats__inner,
.page-home .ed-figures,
.page-home .home-stats__inner,
.page-home .home-stats__item,
.page-home .ed-figures__item {
  border-color: rgba(26, 21, 16, 0.2) !important;
  background: transparent !important;
}

/* =========================================================
   BEAUTY ATMOSPHERE + PLAIN FOOTER + FAQ POLISH (20260728footplain)
   Quiet luxury: warmer cream??chocolate, refined grain, solid footer.
   ========================================================= */
:root {
  --cream: #F3EBDD !important;
  --cream-soft: #F7F1E6 !important;
  --sand: #E6D5BF !important;
  --sand-deep: #D4BEA3 !important;
  --taupe: #B89574 !important;
  --taupe-soft: #C9A882 !important;
  --taupe-deep: #8C7358 !important;
  --chocolate: #3A271C !important;
  --chocolate-deep: #1C140F !important;
  --ink: #1A1510 !important;
  --ink-heading: #1A1510 !important;
  --ink-body: #3A3128 !important;
  --ink-muted: #5C5044 !important;
  --on-dark: #F5EFE4 !important;
  --on-dark-muted: #E6DCCB !important;
  --line: rgba(26, 21, 16, 0.14) !important;
  --line-warm: rgba(26, 21, 16, 0.16) !important;
  --ambiance-photo: url("../brand/bg-ambiance-brown.jpg") !important;
  --space-section: clamp(4.5rem, 8vw, 7rem) !important;
  --max: 75rem !important;
  --font-display: "Instrument Serif", "Times New Roman", Georgia, serif !important;
  --font-body: "Outfit", "Helvetica Neue", Helvetica, sans-serif !important;
}

/* Richer ambiance ?? warm deepen, soft premium grain */
html {
  background-color: #1C140F !important;
}
html::before {
  background: var(--ambiance-photo) center top / cover no-repeat fixed !important;
  opacity: 1 !important;
  filter: brightness(0.9) contrast(1.07) saturate(1.08) !important;
  z-index: -4 !important;
}
body {
  background-color: transparent !important;
  background-image: var(--ambiance-photo) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
  color: var(--ink-body) !important;
  font-family: var(--font-body) !important;
  animation: none !important;
}
body::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  opacity: 0.42 !important;
  mix-blend-mode: multiply !important;
  background:
    linear-gradient(165deg, rgba(243, 235, 221, 0.22) 0%, transparent 38%, rgba(58, 39, 28, 0.28) 100%),
    radial-gradient(ellipse 70% 50% at 18% 12%, rgba(255, 248, 236, 0.2), transparent 58%),
    radial-gradient(ellipse 55% 45% at 88% 78%, rgba(140, 115, 88, 0.22), transparent 55%) !important;
  filter: none !important;
  animation: none !important;
}
body::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  opacity: 0.12 !important;
  mix-blend-mode: soft-light !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") !important;
  background-size: 220px 220px !important;
  animation: none !important;
  filter: none !important;
}

.section,
.section--warm,
.section--linen,
.section--grey,
.home-collection,
.home-featured,
.home-why,
.home-gallery,
.home-stats,
.home-about,
.pcat-section,
.faq-search-section,
.faq-popular-section,
.faq-main-section,
.craft-materials {
  background: transparent !important;
  background-image: none !important;
}

/* Plain footer ?? solid chocolate, compact (20260728footplain) */
.site-footer {
  position: relative !important;
  isolation: isolate !important;
  background: #1C140F !important;
  background-image: none !important;
  color: #F5EFE4 !important;
  border-top: 1px solid rgba(245, 239, 228, 0.12) !important;
  padding-top: clamp(1.65rem, 3.2vw, 2.25rem) !important;
  padding-bottom: clamp(1rem, 2vw, 1.35rem) !important;
}
.site-footer::before {
  content: none !important;
  display: none !important;
}
.site-footer > * {
  position: relative !important;
  z-index: 1 !important;
}
.site-footer .footer-grid {
  gap: clamp(1rem, 2vw, 1.5rem) !important;
  margin-bottom: 1.15rem !important;
  align-items: start !important;
}
.site-footer .logo {
  color: #F5EFE4 !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1.2rem, 1.8vw, 1.45rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  margin-bottom: 0.35rem !important;
  text-shadow: none !important;
}
.site-footer h4 {
  color: rgba(245, 239, 228, 0.72) !important;
  font-family: var(--font-body) !important;
  font-size: 0.62rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  margin-bottom: 0.55rem !important;
  text-shadow: none !important;
}
.site-footer .footer-copy {
  color: rgba(245, 239, 228, 0.78) !important;
  font-family: var(--font-body) !important;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
  max-width: 26ch !important;
  text-shadow: none !important;
}
.site-footer .footer-col a {
  color: rgba(245, 239, 228, 0.88) !important;
  font-family: var(--font-body) !important;
  font-size: 0.8rem !important;
  margin-bottom: 0.28rem !important;
  text-shadow: none !important;
}
.site-footer a:hover {
  color: #fff !important;
}
.site-footer .footer-bottom {
  border-top: 1px solid rgba(245, 239, 228, 0.14) !important;
  margin-top: 0.85rem !important;
  padding-top: 0.7rem !important;
  gap: 0.5rem 1rem !important;
}
.site-footer .footer-bottom p {
  font-size: 0.68rem !important;
  color: rgba(245, 239, 228, 0.7) !important;
  text-shadow: none !important;
}
@media (max-width: 720px) {
  .site-footer {
    padding-top: 1.5rem !important;
    padding-bottom: 1rem !important;
  }
  .site-footer .footer-grid {
    gap: 1.1rem 1.25rem !important;
    margin-bottom: 1rem !important;
  }
}

/* FAQ neat ?? search, popular list, rail + accordion, no CTA band */
.page-faq .faq-help-section,
.page-faq .faq-cats-section,
.page-faq .faq-cta,
.faq-help-section {
  display: none !important;
}
.page-faq .faq-search-section,
.page-faq .faq-popular-section,
.page-faq .faq-main-section {
  padding: clamp(2.5rem, 5vw, 4rem) 0 !important;
}
.page-faq .faq-search-wrap,
.page-faq .faq-tools,
.page-faq .faq-main__container {
  width: min(100% - 2.5rem, var(--max)) !important;
  margin-inline: auto !important;
}
.page-faq .faq-search {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  max-width: 36rem !important;
  padding: 0.95rem 1.15rem !important;
  background: rgba(247, 241, 230, 0.72) !important;
  border: 1px solid rgba(26, 21, 16, 0.22) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
  filter: none !important;
}
.page-faq .faq-search:focus-within {
  border-color: rgba(26, 21, 16, 0.4) !important;
  box-shadow: none !important;
}
.page-faq .faq-search__icon { color: #1A1510 !important; }
.page-faq .faq-search input {
  flex: 1 !important;
  border: 0 !important;
  background: transparent !important;
  color: #1A1510 !important;
  font-family: var(--font-body) !important;
  font-size: 1rem !important;
  outline: none !important;
  box-shadow: none !important;
}
.page-faq .faq-search input::placeholder {
  color: #5C5044 !important;
  opacity: 1 !important;
}
.page-faq .faq-tools__title,
.page-faq .faq-popular__head h2 {
  font-family: var(--font-display) !important;
  font-size: clamp(1.75rem, 3vw, 2.35rem) !important;
  font-weight: 500 !important;
  color: #1A1510 !important;
  margin: 0 0 1rem !important;
  text-align: left !important;
}
.page-faq .faq-popular__star { display: none !important; }
.page-faq .faq-popular__list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  max-width: 40rem !important;
  border-top: 1px solid var(--line-warm) !important;
}
.page-faq .faq-popular__list li {
  margin: 0 !important;
  border-bottom: 1px solid var(--line-warm) !important;
}
.page-faq .faq-popular__link {
  display: block !important;
  padding: 0.95rem 0 !important;
  font-family: var(--font-body) !important;
  font-size: 1.02rem !important;
  font-weight: 500 !important;
  color: #1A1510 !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.page-faq .faq-popular__link::after {
  content: " ??" !important;
  color: #5C5044 !important;
}
.page-faq .faq-popular__link:hover {
  color: #3A271C !important;
}
.page-faq .faq-layout {
  display: grid !important;
  grid-template-columns: minmax(10rem, 12.5rem) minmax(0, 1fr) !important;
  gap: clamp(2rem, 4vw, 3.5rem) !important;
  align-items: start !important;
}
.page-faq .faq-rail__label {
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #5C5044 !important;
  margin: 0 0 0.85rem !important;
}
.page-faq .faq-sidenav {
  position: sticky !important;
  top: calc(var(--lang-bar-h, 2rem) + var(--header-h, 5.25rem) + 1rem) !important;
  display: grid !important;
  gap: 0.25rem !important;
}
.page-faq .faq-sidenav a {
  font-family: var(--font-body) !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  color: #5C5044 !important;
  padding: 0.4rem 0 !important;
  background: transparent !important;
  border: 0 !important;
  text-decoration: none !important;
}
.page-faq .faq-sidenav a.is-active,
.page-faq .faq-sidenav a:hover {
  color: #1A1510 !important;
}
.page-faq .faq-group {
  margin: 0 0 2.5rem !important;
  background: transparent !important;
  border: 0 !important;
}
.page-faq .faq-group__title {
  font-family: var(--font-display) !important;
  font-size: clamp(1.55rem, 2.4vw, 2rem) !important;
  font-weight: 500 !important;
  color: #1A1510 !important;
  margin: 0 0 0.75rem !important;
}
.page-faq .faq-item {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--line-warm) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 1.05rem 0 !important;
}
.page-faq .faq-item:last-child {
  border-bottom: 1px solid var(--line-warm) !important;
}
.page-faq .faq-item button {
  font-family: var(--font-body) !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  color: #1A1510 !important;
  background: transparent !important;
}
.page-faq .faq-item .faq-answer p {
  color: #3A3128 !important;
  font-family: var(--font-body) !important;
}
.page-faq .faq-more-help {
  margin: 2rem 0 0 !important;
  padding-top: 1.25rem !important;
  border-top: 1px solid var(--line-warm) !important;
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  color: #5C5044 !important;
}
.page-faq .faq-more-help a {
  color: #1A1510 !important;
  text-decoration: underline !important;
  text-underline-offset: 0.25em !important;
}

@media (max-width: 900px) {
  .page-faq .faq-layout { grid-template-columns: 1fr !important; }
  .page-faq .faq-sidenav { position: static !important; display: flex !important; flex-wrap: wrap !important; gap: 0.75rem 1.25rem !important; }
}

/* =========================================================
   FEATURED 2??2 GRID FIX + FILTER + HEADER HOVER (20260728featfix)
   Root cause: .pcat-featured expected --lead/--wide modifiers + later
   12-col rules left side cards without span ?? ultra-narrow columns.
   ========================================================= */

.page-products-catalog .pcat-featured,
.page-products-catalog .pcat-featured--grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-areas: none !important;
  grid-template-rows: none !important;
  gap: clamp(1.5rem, 3vw, 2.25rem) clamp(1.35rem, 2.5vw, 2rem) !important;
  width: 100% !important;
  max-width: none !important;
}

.page-products-catalog .pcat-featured > .pcat-feat-card,
.page-products-catalog .pcat-featured--grid > .pcat-feat-card,
.page-products-catalog .pcat-feat-card--lead,
.page-products-catalog .pcat-feat-card--wide,
.page-products-catalog .pcat-feat-card:not(.pcat-feat-card--lead):nth-of-type(2),
.page-products-catalog .pcat-feat-card:not(.pcat-feat-card--lead):nth-of-type(3),
.page-products-catalog .pcat-featured > .pcat-feat-card:nth-child(2),
.page-products-catalog .pcat-featured > .pcat-feat-card:nth-child(3) {
  grid-area: auto !important;
  grid-column: auto !important;
  grid-row: auto !important;
  margin-top: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

.page-products-catalog .pcat-feat-card {
  display: flex !important;
  flex-direction: column !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  overflow: hidden !important;
}

.page-products-catalog .pcat-feat-card__media {
  aspect-ratio: 4 / 3 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #E5E2D9 !important;
}

.page-products-catalog .pcat-feat-card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.page-products-catalog .pcat-feat-card__body {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.4rem !important;
  padding: 1rem 0 0 !important;
  min-width: 0 !important;
}

.page-products-catalog .pcat-feat-card__body .eyebrow {
  color: #5C5044 !important;
  font-family: var(--font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
}

.page-products-catalog .pcat-feat-card__body h3 {
  color: #1A1510 !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.page-products-catalog .pcat-feat-card__body p {
  color: #3A3128 !important;
  font-family: var(--font-body) !important;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
  max-width: none !important;
  margin: 0 0 0.35rem !important;
}

.page-products-catalog .pcat-feat-card__body .link-arrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  white-space: nowrap !important;
  color: #1A1510 !important;
  font-family: var(--font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  margin-top: auto !important;
  padding-top: 0.35rem !important;
}

@media (max-width: 720px) {
  .page-products-catalog .pcat-featured,
  .page-products-catalog .pcat-featured--grid {
    grid-template-columns: 1fr !important;
  }
}

/* Products filter toolbar ?? sharp dark ink (20260728featfix) */
.page-products-catalog .pcat-toolbar {
  position: sticky !important;
  top: calc(var(--lang-bar-h, 2rem) + var(--header-h, 5.25rem) - 0.25rem) !important;
  z-index: 28 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.85rem 1.5rem !important;
  margin: 0 0 1.75rem !important;
  padding: 0.75rem 0 0.85rem !important;
  background: rgba(243, 235, 221, 0.94) !important;
  border-bottom: 1px solid rgba(26, 21, 16, 0.18) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.page-products-catalog .pcat-filter {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.25rem 1.25rem !important;
}
.page-products-catalog .pcat-filter a {
  position: relative !important;
  padding: 0.4rem 0 !important;
  font-family: "Outfit", "Helvetica Neue", Helvetica, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #1A1510 !important;
  opacity: 0.55 !important;
  text-shadow: none !important;
  filter: none !important;
}
.page-products-catalog .pcat-filter a:hover,
.page-products-catalog .pcat-filter a.is-active {
  color: #1A1510 !important;
  opacity: 1 !important;
}
.page-products-catalog .pcat-filter a::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0.08rem !important;
  height: 1.5px !important;
  background: #1A1510 !important;
  transform: scaleX(0) !important;
  transform-origin: left center !important;
  transition: transform 0.3s ease !important;
}
.page-products-catalog .pcat-filter a.is-active::after,
.page-products-catalog .pcat-filter a:hover::after {
  transform: scaleX(1) !important;
}
.page-products-catalog .pcat-search input {
  width: min(100%, 15rem) !important;
  border: 0 !important;
  border-bottom: 1.5px solid rgba(26, 21, 16, 0.35) !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0.5rem 0 !important;
  font-family: "Outfit", "Helvetica Neue", Helvetica, sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 400 !important;
  color: #1A1510 !important;
  outline: none !important;
  box-shadow: none !important;
}
.page-products-catalog .pcat-search input::placeholder {
  color: rgba(26, 21, 16, 0.45) !important;
  opacity: 1 !important;
}
.page-products-catalog .pcat-search input:focus {
  border-bottom-color: #1A1510 !important;
}

/* Header states ?? idle / hover / scrolled (20260728hdrbg: soft warm cream) */
body:not(.is-scrolled) .site-chrome:hover .site-header,
body:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-home:not(.is-scrolled) .site-chrome:hover .site-header,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header {
  background: rgba(229, 226, 217, 0.92) !important;
  background-color: rgba(229, 226, 217, 0.92) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  color: #1A1510 !important;
  border-bottom-color: rgba(26, 21, 16, 0.1) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.page-home:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
.page-home:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
.page-home:not(.is-scrolled) .site-chrome:hover .site-header .nav-toggle,
.page-home:not(.is-scrolled) .site-chrome:hover .site-header .search-btn,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .nav-toggle,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn,
body:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:hover .site-header .nav-toggle,
body:not(.is-scrolled) .site-chrome:hover .site-header .search-btn,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .nav-toggle,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn {
  color: #1A1510 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  filter: none !important;
}
.page-home:not(.is-scrolled) .site-chrome:hover .site-header .nav-toggle span,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .nav-toggle span,
body:not(.is-scrolled) .site-chrome:hover .site-header .nav-toggle span,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .nav-toggle span {
  background: #1A1510 !important;
}
.page-home:not(.is-scrolled) .site-chrome:hover .site-header .search-btn::before,
.page-home:not(.is-scrolled) .site-chrome:hover .site-header .search-btn::after,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn::before,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn::after,
body:not(.is-scrolled) .site-chrome:hover .site-header .search-btn::before,
body:not(.is-scrolled) .site-chrome:hover .site-header .search-btn::after,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn::before,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn::after {
  background: #1A1510 !important;
  border-color: #1A1510 !important;
}

/* Soften soft-halo kill */
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a {
  text-shadow: none !important;
}

/* Process step stagger pop ?? craft / about / home why / download */
html.has-motion .craft-flow__node,
html.has-motion .about-craft__step,
html.has-motion .why-strip__item,
html.has-motion .dl-step,
html.has-motion .craft-commit__highlights li {
  opacity: 0;
  transform: translate3d(0, 1.1rem, 0) scale(0.97);
  transition:
    opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: calc(var(--i, 0) * 0.12s);
  will-change: opacity, transform;
}
html.has-motion .craft-flow__node.is-visible,
html.has-motion .about-craft__step.is-visible,
html.has-motion .why-strip__item.is-visible,
html.has-motion .dl-step.is-visible,
html.has-motion .craft-commit__highlights li.is-visible,
html.has-motion .craft-flow__node.reveal.is-visible,
html.has-motion .dl-step.reveal.is-visible {
  opacity: 1;
  transform: none;
}
html.nofx .craft-flow__node,
html.nofx .about-craft__step,
html.nofx .why-strip__item,
html.nofx .dl-step,
html.nofx .craft-commit__highlights li,
.fx-off .craft-flow__node,
.fx-off .about-craft__step,
.fx-off .why-strip__item,
.fx-off .dl-step,
.fx-off .craft-commit__highlights li {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
  html.has-motion .craft-flow__node,
  html.has-motion .about-craft__step,
  html.has-motion .why-strip__item,
  html.has-motion .dl-step,
  html.has-motion .craft-commit__highlights li {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ========== PAGE TRANSITION LOADER (WA Cushion ? quiet luxury 20260728loadok) ========== */
.page-loader {
  position: fixed;
  inset: 0;
  z-index: 9990;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  background: #E5E2D9;
  color: #1A1510;
  transition:
    opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.page-loader.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.page-loader__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.page-loader__wash {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 55% at 50% 40%, rgba(245, 239, 228, 0.55) 0%, transparent 72%),
    linear-gradient(165deg, #E5E2D9 0%, #E0DBD1 42%, #D8D2C6 100%);
}

.page-loader__noise {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0.16;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 160px 160px;
  mix-blend-mode: multiply;
  pointer-events: none;
}

.page-loader__stage {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: min(22rem, 78vw);
  padding: 1.5rem;
  color: #1A1510;
}

.page-loader__eyebrow,
.page-loader__brand,
.page-loader__rule,
.page-loader__tagline {
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.page-loader.is-active .page-loader__eyebrow,
.page-loader.is-active .page-loader__brand,
.page-loader.is-active .page-loader__rule,
.page-loader.is-active .page-loader__tagline {
  opacity: 1;
  transform: none;
}

.page-loader.is-active .page-loader__eyebrow { transition-delay: 0.04s; }
.page-loader.is-active .page-loader__brand { transition-delay: 0.12s; }
.page-loader.is-active .page-loader__rule { transition-delay: 0.2s; }
.page-loader.is-active .page-loader__tagline { transition-delay: 0.28s; }

.page-loader__eyebrow {
  margin: 0 0 1rem;
  font-family: "Outfit", "Helvetica Neue", Helvetica, sans-serif;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #1A1510;
}

.page-loader__brand {
  margin: 0;
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif;
  font-size: clamp(2.35rem, 7vw, 3.35rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.05;
  color: #1A1510;
}

.page-loader__rule {
  width: 100%;
  max-width: 11.5rem;
  margin: 1.65rem 0 0;
}

.page-loader__rule-track {
  position: relative;
  height: 1px;
  width: 100%;
  background: rgba(26, 21, 16, 0.14);
  overflow: hidden;
}

.page-loader__rule-fill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: #1A1510;
  will-change: transform;
}

.page-loader__tagline {
  margin: 1.15rem 0 0;
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif;
  font-size: 1.05rem;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.06em;
  color: #1A1510;
  opacity: 0;
}

.page-loader.is-active .page-loader__tagline {
  opacity: 0.72;
}

/* Hide legacy orb / star / footer chrome if leftover markup appears */
.page-loader__space,
.page-loader__stars,
.page-loader__glow,
.page-loader__orb,
.page-loader__spark,
.page-loader__mark,
.page-loader__footer,
.page-loader__connect,
.page-loader__ellipsis,
.page-loader__ticks,
.page-loader__bar-tip {
  display: none !important;
}

.page-loader.is-minimal,
html.nofx .page-loader {
  transition-duration: 0.12s;
}

.page-loader.is-minimal .page-loader__eyebrow,
.page-loader.is-minimal .page-loader__brand,
.page-loader.is-minimal .page-loader__rule,
.page-loader.is-minimal .page-loader__tagline,
html.nofx .page-loader .page-loader__eyebrow,
html.nofx .page-loader .page-loader__brand,
html.nofx .page-loader .page-loader__rule,
html.nofx .page-loader .page-loader__tagline {
  transition: none !important;
  transition-delay: 0s !important;
  opacity: 1;
  transform: none;
}

.page-loader.is-minimal .page-loader__tagline,
html.nofx .page-loader .page-loader__tagline {
  opacity: 0.72;
}

@media (prefers-reduced-motion: reduce) {
  .page-loader {
    transition-duration: 0.1s;
  }
  .page-loader__eyebrow,
  .page-loader__brand,
  .page-loader__rule,
  .page-loader__tagline {
    transition: none !important;
  }
  .page-loader.is-active .page-loader__eyebrow,
  .page-loader.is-active .page-loader__brand,
  .page-loader.is-active .page-loader__rule,
  .page-loader.is-active .page-loader__tagline {
    opacity: 1;
    transform: none;
  }
  .page-loader.is-active .page-loader__tagline {
    opacity: 0.72;
  }
}


/* =========================================================
   MOBILE / DRAWER NAV CONTRAST LOCK (20260728navfix)
   --bg is transparent (ambiance photo) ?? drawer was dark-on-dark.
   Force solid dark panel + cream links at full opacity.
   ========================================================= */
.nav,
.nav.is-open,
nav.nav[data-nav],
#site-nav {
  background: rgba(20, 14, 10, 0.92) !important;
  background-color: rgba(20, 14, 10, 0.92) !important;
  color: #F5EFE4 !important;
  box-shadow: 8px 0 40px rgba(0, 0, 0, 0.35) !important;
}

.nav-backdrop,
.nav-backdrop:not([hidden]) {
  background: rgba(20, 14, 10, 0.55) !important;
}

.nav__head {
  border-bottom-color: rgba(245, 239, 228, 0.18) !important;
}

.nav__brand,
.nav__close,
.nav .nav__brand,
.nav .nav__close {
  color: #F5EFE4 !important;
  opacity: 1 !important;
}

.nav__close span,
.nav .nav__close span {
  background: #F5EFE4 !important;
}

.nav__links a,
.nav a,
.nav .nav__links a,
#site-nav a,
#site-nav .nav__links a {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
  opacity: 1 !important;
  border-bottom-color: rgba(245, 239, 228, 0.16) !important;
  text-shadow: none !important;
  filter: none !important;
}

.nav__links a:hover,
.nav__links a.is-active,
.nav a:hover,
.nav a.is-active,
.nav .nav__links a:hover,
.nav .nav__links a.is-active,
#site-nav a:hover,
#site-nav a.is-active {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
  opacity: 1 !important;
}

.nav__langs a {
  color: #F5EFE4 !important;
  border-color: rgba(245, 239, 228, 0.35) !important;
  opacity: 1 !important;
}

.nav__langs a.is-active,
.nav__langs a:hover {
  background: rgba(245, 239, 228, 0.14) !important;
  color: #F5EFE4 !important;
  border-color: #F5EFE4 !important;
  opacity: 1 !important;
}

/* =========================================================
   NUMBERED INDEX CONTRAST LOCK (20260728nums)
   Pale gold/taupe on cream was illegible ?? force dark ink.
   Photo-overlay indexes (pcat-cat__index, about-sustain) excluded.
   ========================================================= */
.page-home .why-strip__num,
.why-strip__num,
.page-home .col-item__index,
.col-item__index,
.page-about .about-mv__num,
.page-about .about-value__num,
.page-products-catalog .pcat-why__num,
.pcat-why__num,
.value-item__num,
.why-card__num,
.why-grid--luxe .why-card__num,
.why-grid--luxe .why-card:hover .why-card__num,
.page-craftsmanship .craft-commit__num,
.page-craftsmanship .craft-std__index,
.page-craftsmanship .craft-flow__num,
.page-download .dl-step__num,
.page-download .dl-step .dl-step__num,
.ed-manifesto__num,
.process-flow__body > span:first-child {
  color: #1A1510 !important;
  opacity: 1 !important;
}

.page-home .why-strip__copy p,
.page-products-catalog .pcat-why__copy p,
.page-about .about-value p,
.value-item p,
.why-card p {
  color: #3A271C !important;
  opacity: 1 !important;
}

/* =========================================================
   CRAFT HERO TEXT POSITION (20260728heropos)
   Mid-left on dark left veil ?? title clear of sideboard
   ========================================================= */
.page-craftsmanship .craft-hero {
  align-items: center !important;
  justify-items: start !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
}

.page-craftsmanship .craft-hero__veil {
  background:
    linear-gradient(
      90deg,
      rgba(12, 10, 9, 0.82) 0%,
      rgba(12, 10, 9, 0.64) 26%,
      rgba(12, 10, 9, 0.32) 48%,
      rgba(12, 10, 9, 0.1) 68%,
      transparent 100%
    ),
    linear-gradient(
      180deg,
      rgba(12, 10, 9, 0.38) 0%,
      transparent 30%,
      transparent 58%,
      rgba(12, 10, 9, 0.58) 100%
    ) !important;
}

.page-craftsmanship .craft-hero__content {
  max-width: 32rem !important;
  width: min(100% - 3rem, 32rem) !important;
  margin-inline: clamp(1.75rem, 5.5vw, 5rem) auto !important;
  margin-block: 0 !important;
  padding:
    calc(var(--lang-bar-h, 2rem) + var(--header-h, 4.5rem) + 0.5rem)
    0
    clamp(2.5rem, 7vh, 4.5rem) !important;
  transform: translateY(-4vh);
  text-align: left !important;
  justify-self: start !important;
}

.page-craftsmanship .craft-hero__label {
  margin: 0 0 1.55rem !important;
  color: rgba(245, 239, 228, 0.78) !important;
  letter-spacing: 0.28em !important;
}

.page-craftsmanship .craft-hero h1 {
  max-width: 11ch !important;
  margin: 0 0 1.85rem !important;
  color: #f5efe4 !important;
  text-shadow: 0 2px 22px rgba(0, 0, 0, 0.38) !important;
}

.page-craftsmanship .craft-hero__lead {
  max-width: 34ch !important;
  margin: 0 !important;
  color: rgba(245, 239, 228, 0.9) !important;
  line-height: 1.7 !important;
  text-shadow: 0 1px 14px rgba(0, 0, 0, 0.32) !important;
}

@media (max-width: 760px) {
  .page-craftsmanship .craft-hero {
    align-items: end !important;
  }

  .page-craftsmanship .craft-hero__veil {
    background:
      linear-gradient(
        180deg,
        rgba(12, 10, 9, 0.42) 0%,
        rgba(12, 10, 9, 0.18) 28%,
        rgba(12, 10, 9, 0.55) 58%,
        rgba(12, 10, 9, 0.82) 100%
      ),
      linear-gradient(
        90deg,
        rgba(12, 10, 9, 0.55) 0%,
        rgba(12, 10, 9, 0.28) 55%,
        transparent 100%
      ) !important;
  }

  .page-craftsmanship .craft-hero__content {
    transform: none;
    max-width: 36rem !important;
    width: min(100% - 2.5rem, 36rem) !important;
    margin-inline: 1.25rem auto !important;
    padding:
      1rem
      0
      clamp(3rem, 10vh, 5rem) !important;
  }

  .page-craftsmanship .craft-hero__label {
    margin-bottom: 1.25rem !important;
  }

  .page-craftsmanship .craft-hero h1 {
    margin-bottom: 1.4rem !important;
  }
}

/* ==========================================================================
   Torn-paper scrapbook media frame (.media-torn)
   Assets: assets/brand/mask-torn.svg
   Floral accent (accent-floral.png) removed site-wide ?? 20260728nofloral
   Usage:
     <div class="media-torn">
       <div class="media-torn__frame your-media-class">??</div>
     </div>
     ?? or on img wrappers:
     <a class="feat-card__media media-torn"><img ??></a>
   ========================================================================== */

.media-torn {
  position: relative;
  display: block;
  overflow: visible !important;
  isolation: isolate;
}

.media-torn__frame {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-mask-image: url("../brand/mask-torn.svg");
  mask-image: url("../brand/mask-torn.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  filter:
    drop-shadow(0 12px 22px rgba(26, 21, 16, 0.14))
    drop-shadow(0 2px 4px rgba(26, 21, 16, 0.08));
}

/* Direct <img> children of .media-torn */
.media-torn > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-mask-image: url("../brand/mask-torn.svg");
  mask-image: url("../brand/mask-torn.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  filter:
    drop-shadow(0 12px 22px rgba(26, 21, 16, 0.14));
}

/* Background / span photo layers inside wrappers */
.media-torn > [class*="__img"]:not([class*="overlay"]):not([class*="action"]),
.media-torn .media-torn__photo {
  -webkit-mask-image: url("../brand/mask-torn.svg");
  mask-image: url("../brand/mask-torn.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  filter: none;
}

/* Floral accent disabled ?? keep torn-edge mask only (20260728nofloral) */
.media-torn::after,
.media-torn--no-floral::after,
.media-torn--floral-sm::after,
.media-torn--floral-lg::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

/* Hide rectangular inset borders that fight the torn silhouette */
.media-torn .media-torn__frame::before,
.media-torn.media-torn__frame::before,
.media-torn__frame.home-about__media::before,
.media-torn__frame.craft-commit__media::before {
  display: none !important;
}

/* Slight inset so torn edges / drop-shadows aren??t clipped */
.media-torn {
  margin-top: 0.35rem;
  padding-top: 0.15rem;
}

.feat-card__media.media-torn,
.pcat-feat-card__media.media-torn,
.pcat-card__media.media-torn,
.gallery-item__media.media-torn,
.about-custom__media.media-torn,
.news-journal__media.media-torn,
.news-feature__media.media-torn,
.news-launch__media.media-torn,
.craft-mat-card__media.media-torn,
.craft-std__media.media-torn,
.craft-flow__photo.media-torn {
  overflow: visible !important;
}

/* Keep aspect boxes when overflow becomes visible */
.feat-card__media.media-torn img,
.pcat-feat-card__media.media-torn img,
.pcat-card__media.media-torn img,
.about-custom__media.media-torn img {
  -webkit-mask-image: url("../brand/mask-torn.svg");
  mask-image: url("../brand/mask-torn.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  filter:
    drop-shadow(0 10px 18px rgba(26, 21, 16, 0.12));
}

/* Gallery / catalog: mask the photo layer, keep overlay/actions unmasked */
.gallery-item__media.media-torn .gallery-item__img,
.pcat-gallery__media.media-torn .pcat-gallery__img {
  -webkit-mask-image: url("../brand/mask-torn.svg");
  mask-image: url("../brand/mask-torn.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  filter: none;
}

.news-feature__media.media-torn .news-feature__img,
.news-journal__media.media-torn .news-journal__img,
.news-launch__media.media-torn .news-launch__img {
  -webkit-mask-image: url("../brand/mask-torn.svg");
  mask-image: url("../brand/mask-torn.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  filter: none;
}

/* Self-masked bg media (no img child) ?? wrap with .media-torn > .media-torn__frame */
.media-torn > .home-about__media,
.media-torn > .home-craft-band__media,
.media-torn > .about-intro__media,
.media-torn > .about-craft__media,
.media-torn > .about-sustain__media,
.media-torn > .craft-commit__media {
  -webkit-mask-image: url("../brand/mask-torn.svg");
  mask-image: url("../brand/mask-torn.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  filter:
    drop-shadow(0 12px 22px rgba(26, 21, 16, 0.14));
  overflow: hidden;
}

.media-torn > .craft-std__media,
.media-torn > .craft-mat-card__media {
  -webkit-mask-image: url("../brand/mask-torn.svg");
  mask-image: url("../brand/mask-torn.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  filter: drop-shadow(0 10px 18px rgba(26, 21, 16, 0.1));
}

.craft-flow__photo.media-torn .craft-flow__img {
  -webkit-mask-image: url("../brand/mask-torn.svg");
  mask-image: url("../brand/mask-torn.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  filter: none;
}

@media (prefers-reduced-motion: reduce) {
  .media-torn__frame,
  .media-torn > img {
    transition: none;
  }
}

/* ???? Torn frame: keep wrappers in existing grids ???? */
.page-home .home-about--editorial .home-about__grid > .media-torn {
  grid-column: 2;
  grid-row: 1;
  min-height: min(68vh, 38rem);
  align-self: stretch;
}

.page-home .home-about--editorial .home-about__grid > .media-torn .home-about__media {
  grid-column: auto;
  grid-row: auto;
  min-height: 100%;
  height: 100%;
  width: 100%;
}

@media (max-width: 820px) {
  .page-home .home-about--editorial .home-about__grid > .media-torn {
    grid-column: 1;
    min-height: min(52vh, 28rem);
  }
}

.home-craft-band__grid > .media-torn {
  min-width: 0;
  width: 100%;
}

.home-craft-band__grid > .media-torn .home-craft-band__media {
  width: 100%;
}

.page-about .about-intro__grid > .media-torn,
.page-about .about-craft__top > .media-torn {
  min-width: 0;
  width: 100%;
}

.page-about .about-intro__grid > .media-torn .about-intro__media,
.page-about .about-craft__top > .media-torn .about-craft__media {
  width: 100%;
}

.page-craftsmanship .craft-commit__grid > .media-torn {
  min-width: 0;
  width: 100%;
  align-self: stretch;
}

.page-craftsmanship .craft-commit__grid > .media-torn .craft-commit__media {
  width: 100%;
  min-height: clamp(28rem, 58vw, 42rem);
}

.page-craftsmanship .craft-std__row > .media-torn {
  min-width: 0;
  width: 100%;
}

.page-craftsmanship .craft-std__row > .media-torn .craft-std__media {
  width: 100%;
  min-height: inherit;
  aspect-ratio: 4 / 3;
  background-size: cover;
  background-position: center;
}

/* Self-bg media with .media-torn on the same node */
.craft-mat-card__media.media-torn {
  -webkit-mask-image: url("../brand/mask-torn.svg");
  mask-image: url("../brand/mask-torn.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  filter: drop-shadow(0 8px 14px rgba(26, 21, 16, 0.1));
}

/* Soften hover zoom so torn silhouette stays readable */
.media-torn .gallery-item__img,
.media-torn img {
  transform-origin: center;
}

/* =========================================================
   TRUSTED PARTNERS ?? full replacement (20260728trusted)
   Left intro + name grid + editorial pull-quote. No marquee/dots.
   ========================================================= */
.page-about .about-clients,
.page-about .about-clients--partners {
  background: transparent !important;
  padding-block: clamp(4.5rem, 9vw, 7.5rem) !important;
  border-top: 1px solid rgba(26, 21, 16, 0.14) !important;
  text-align: left !important;
}

.page-about .about-clients--partners .container {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(2.75rem, 6vw, 4.5rem) !important;
}

.page-about .about-clients__split {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr) !important;
  gap: clamp(2rem, 5vw, 4.5rem) !important;
  align-items: start !important;
}

.page-about .about-clients__intro,
.page-about .about-clients__head {
  max-width: 22rem !important;
  margin: 0 !important;
  margin-inline: 0 !important;
  text-align: left !important;
}

.page-about .about-clients__intro .eyebrow,
.page-about .about-clients__intro h2,
.page-about .about-clients__intro p {
  text-align: left !important;
  margin-inline: 0 !important;
}

.page-about .about-clients__intro .eyebrow {
  display: block !important;
  color: #5C5044 !important;
  margin: 0 0 0.85rem !important;
}

.page-about .about-clients__intro h2 {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-size: clamp(2.6rem, 5vw, 3.85rem) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.02em !important;
  color: #1A1510 !important;
  margin: 0 0 1rem !important;
}

.page-about .about-clients__intro p {
  font-family: "Outfit", "Helvetica Neue", Helvetica, sans-serif !important;
  font-size: 1.02rem !important;
  line-height: 1.65 !important;
  color: #3A3128 !important;
  margin: 0 !important;
  max-width: 28ch !important;
}

.page-about .about-clients__names {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  border-top: 1px solid rgba(26, 21, 16, 0.16) !important;
  border-left: 1px solid rgba(26, 21, 16, 0.16) !important;
}

.page-about .about-clients__names li {
  margin: 0 !important;
  padding: clamp(1.15rem, 2.4vw, 1.65rem) clamp(1rem, 2vw, 1.35rem) !important;
  border-right: 1px solid rgba(26, 21, 16, 0.16) !important;
  border-bottom: 1px solid rgba(26, 21, 16, 0.16) !important;
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-size: clamp(1.55rem, 2.6vw, 2.05rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.15 !important;
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  opacity: 1 !important;
  background: transparent !important;
  min-width: 0 !important;
}

/* Kill old marquee / centered slider if any leftover CSS hits */
.page-about .about-clients--partners .about-logos,
.page-about .about-clients--partners .about-logos__track,
.page-about .about-clients--partners .about-logo,
.page-about .about-clients--partners .about-testimonials,
.page-about .about-clients--partners .about-testimonials__dots {
  display: none !important;
}

.page-about .about-clients__pull {
  margin: 0 !important;
  padding-top: clamp(1.5rem, 3vw, 2.25rem) !important;
  border-top: 1px solid rgba(26, 21, 16, 0.14) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  gap: clamp(1.75rem, 4vw, 3.5rem) !important;
  align-items: start !important;
  text-align: left !important;
}

.page-about .about-clients__pull > blockquote {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  max-width: 34rem !important;
}

.page-about .about-clients__pull > blockquote p {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-size: clamp(1.85rem, 3.6vw, 2.85rem) !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.22 !important;
  letter-spacing: -0.015em !important;
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  margin: 0 0 1.25rem !important;
  opacity: 1 !important;
}

.page-about .about-clients__pull > blockquote cite,
.page-about .about-clients__aside-quotes cite {
  display: block !important;
  font-family: "Outfit", "Helvetica Neue", Helvetica, sans-serif !important;
  font-style: normal !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #5C5044 !important;
}

.page-about .about-clients__aside-quotes {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  gap: 1.5rem !important;
}

.page-about .about-clients__aside-quotes li {
  margin: 0 !important;
  padding: 0 0 0 1.1rem !important;
  border-left: 1px solid rgba(140, 115, 88, 0.55) !important;
}

.page-about .about-clients__aside-quotes p {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-size: clamp(1.15rem, 1.8vw, 1.35rem) !important;
  font-style: italic !important;
  line-height: 1.4 !important;
  color: #1A1510 !important;
  margin: 0 0 0.55rem !important;
}

@media (max-width: 900px) {
  .page-about .about-clients__split,
  .page-about .about-clients__pull {
    grid-template-columns: 1fr !important;
  }

  .page-about .about-clients__names {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .page-about .about-clients__intro {
    max-width: none !important;
  }
}

@media (max-width: 520px) {
  .page-about .about-clients__names {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* Customisation cards ?? equal readable columns (fix ultra-narrow Custom Size) */
.page-about .about-custom__grid,
.page-about .about-custom__grid--mosaic {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(16rem, 1fr)) !important;
  gap: clamp(1.25rem, 2.8vw, 2rem) !important;
}

.page-about .about-custom__card,
.page-about .about-custom__card--hero,
.page-about .about-custom__card--tall,
.page-about .about-custom__card--wide,
.page-about .about-custom__card--size,
.page-about .about-custom__grid--mosaic > .about-custom__card {
  grid-column: auto !important;
  grid-row: auto !important;
  margin: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

.page-about .about-custom__body {
  min-width: 0 !important;
  width: 100% !important;
}

.page-about .about-custom__body h3,
.page-about .about-custom__body p {
  max-width: none !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  color: #1A1510 !important;
}

.page-about .about-custom__body p {
  color: #3A3128 !important;
}

.page-about .about-custom__card--hero .about-custom__media,
.page-about .about-custom__card--tall .about-custom__media,
.page-about .about-custom__card--size .about-custom__media,
.page-about .about-custom__card--wide .about-custom__media {
  aspect-ratio: 5 / 4 !important;
}

@media (max-width: 720px) {
  .page-about .about-custom__grid,
  .page-about .about-custom__grid--mosaic {
    grid-template-columns: 1fr !important;
  }
}

/* Products customisation side cards ?? keep readable width */
.page-products-catalog .pcat-custom {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 1fr) !important;
  gap: clamp(1.15rem, 2.4vw, 1.85rem) !important;
}

.page-products-catalog .pcat-custom__side {
  display: grid !important;
  grid-template-columns: 1fr !important;
  min-width: 0 !important;
}

.page-products-catalog .pcat-custom__card {
  min-width: 0 !important;
  width: 100% !important;
}

.page-products-catalog .pcat-custom__body h3,
.page-products-catalog .pcat-custom__body p {
  max-width: none !important;
  word-break: normal !important;
}

@media (max-width: 900px) {
  .page-products-catalog .pcat-custom {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   HEADER HOVER BG (20260728hdrbg)
   Soft warm cream #E5E2D9 ?? not yellow piss-cream.
   Idle: transparent. Hover/focus: frosted cream + dark ink.
   Scrolled: matching cream solid. No font glow.
   ========================================================= */
body:not(.is-scrolled) .site-chrome:hover .site-header,
body:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-home:not(.is-scrolled) .site-chrome:hover .site-header,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-products:not(.is-scrolled) .site-chrome:hover .site-header,
.page-products:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-craftsmanship:not(.is-scrolled) .site-chrome:hover .site-header,
.page-craftsmanship:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-about:not(.is-scrolled) .site-chrome:hover .site-header,
.page-about:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-download:not(.is-scrolled) .site-chrome:hover .site-header,
.page-download:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-contact:not(.is-scrolled) .site-chrome:hover .site-header,
.page-contact:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-news:not(.is-scrolled) .site-chrome:hover .site-header,
.page-news:not(.is-scrolled) .site-chrome:focus-within .site-header,
.page-faq:not(.is-scrolled) .site-chrome:hover .site-header,
.page-faq:not(.is-scrolled) .site-chrome:focus-within .site-header {
  background: rgba(229, 226, 217, 0.92) !important;
  background-color: rgba(229, 226, 217, 0.92) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  color: #1A1510 !important;
  border-bottom-color: rgba(26, 21, 16, 0.1) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}

body:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:hover .site-header .nav-toggle,
body:not(.is-scrolled) .site-chrome:hover .site-header .search-btn,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .nav-toggle,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn,
.page-home:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
.page-home:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
.page-home:not(.is-scrolled) .site-chrome:hover .site-header .nav-toggle,
.page-home:not(.is-scrolled) .site-chrome:hover .site-header .search-btn,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .nav-toggle,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn {
  color: #1A1510 !important;
  text-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

body:not(.is-scrolled) .site-chrome:hover .site-header .nav-toggle span,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .nav-toggle span,
.page-home:not(.is-scrolled) .site-chrome:hover .site-header .nav-toggle span,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .nav-toggle span {
  background: #1A1510 !important;
}

body:not(.is-scrolled) .site-chrome:hover .site-header .search-btn::before,
body:not(.is-scrolled) .site-chrome:hover .site-header .search-btn::after,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn::before,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn::after,
.page-home:not(.is-scrolled) .site-chrome:hover .site-header .search-btn::before,
.page-home:not(.is-scrolled) .site-chrome:hover .site-header .search-btn::after,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn::before,
.page-home:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn::after {
  background: #1A1510 !important;
  border-color: #1A1510 !important;
}

body.is-scrolled .site-header,
.site-header.is-scrolled {
  background: rgba(229, 226, 217, 0.98) !important;
  background-color: rgba(229, 226, 217, 0.98) !important;
  color: #1A1510 !important;
  text-shadow: none !important;
  box-shadow: none !important;
}


/* =========================================================
   TACTILE MATERIAL ATMOSPHERE (20260728tactile)
   Linen/canvas weave + plaster fiber ?? physical surface, not film grain.
   Keeps Neil Barlowe warm beige ?? chocolate direction.
   ========================================================= */
:root {
  --ambiance-photo: url("../brand/bg-tactile.jpg") !important;
  --atelier-grain: url("../brand/bg-tactile.jpg") !important;
  --atelier-streak: url("../brand/bg-tactile.jpg") !important;
  --streak-photo: url("../brand/bg-tactile.jpg") !important;
  --cream: #F3EBDD !important;
  --cream-soft: #F7F1E6 !important;
  --sand: #E6D5BF !important;
  --ink: #1A1510 !important;
  --ink-heading: #1A1510 !important;
  --ink-body: #3A3128 !important;
  --ink-muted: #5C5044 !important;
}

html {
  background-color: #1C140F !important;
}
html::before {
  background: var(--ambiance-photo) center top / cover no-repeat fixed !important;
  opacity: 1 !important;
  filter: brightness(0.96) contrast(1.04) saturate(1.02) !important;
  z-index: -4 !important;
}
html::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  opacity: 0.18 !important;
  mix-blend-mode: multiply !important;
  background-image:
    repeating-linear-gradient(
      0deg,
      rgba(42, 28, 18, 0.045) 0px,
      rgba(42, 28, 18, 0.045) 1px,
      transparent 1px,
      transparent 3px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(55, 40, 28, 0.04) 0px,
      rgba(55, 40, 28, 0.04) 1px,
      transparent 1px,
      transparent 3px
    ) !important;
  background-size: 3px 3px, 3px 3px !important;
  animation: none !important;
  filter: none !important;
}

body {
  background-color: transparent !important;
  background-image: var(--ambiance-photo) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
  color: var(--ink-body) !important;
  animation: none !important;
}

/* Soft warm wash ?? keeps beige readable, not muddy */
body::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  opacity: 0.38 !important;
  mix-blend-mode: multiply !important;
  background:
    linear-gradient(165deg, rgba(247, 241, 230, 0.28) 0%, transparent 36%, rgba(58, 39, 28, 0.2) 100%),
    radial-gradient(ellipse 70% 50% at 18% 10%, rgba(255, 248, 236, 0.22), transparent 58%),
    radial-gradient(ellipse 55% 45% at 88% 78%, rgba(140, 115, 88, 0.14), transparent 55%) !important;
  filter: none !important;
  animation: none !important;
}

/* Plaster / paper-fiber layer ?? coarser than film grain */
body::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  opacity: 0.22 !important;
  mix-blend-mode: soft-light !important;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.42' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.22 0 0 0 0 0.16 0 0 0 0 0.11 0 0 0 0.55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E"),
    repeating-linear-gradient(
      0deg,
      transparent 0,
      transparent 2px,
      rgba(26, 21, 16, 0.028) 2px,
      rgba(26, 21, 16, 0.028) 3px
    ),
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent 2px,
      rgba(26, 21, 16, 0.024) 2px,
      rgba(26, 21, 16, 0.024) 3px
    ) !important;
  background-size: 280px 280px, 4px 4px, 4px 4px !important;
  animation: none !important;
  filter: none !important;
}

/* Keep content plates transparent so tactile surface shows */
.section,
.section--warm,
.section--linen,
.section--grey,
.home-collection,
.home-featured,
.home-why,
.home-gallery,
.home-stats,
.home-about,
.pcat-section,
.faq-search-section,
.faq-popular-section,
.faq-main-section,
.craft-materials {
  background: transparent !important;
  background-image: none !important;
}

/* Dark ink stays readable over warm tactile beige */
body,
.page-inner,
.page-home {
  color: #3A3128 !important;
}
h1, h2, h3, h4, h5, h6,
.section-title,
.page-title {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
}

@media (prefers-reduced-motion: reduce) {
  html::before,
  body,
  body::before,
  body::after,
  html::after {
    animation: none !important;
  }
}

/* =========================================================
   HEADER TYPE (20260728hdrtype)
   Logo: Cormorant Garamond elegant brand mark.
   Nav: Outfit 600, refined tracking ?? not ultra-wide caps.
   Lang: smaller cleaner Outfit. No Times / no glow / crisp.
   ========================================================= */

:root {
  --font-display: "Instrument Serif", "Times New Roman", Georgia, serif !important;
  --font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

.site-header .logo__mark,
.logo__mark {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.55rem, 2vw, 1.95rem) !important;
  letter-spacing: 0.1em !important;
  padding-left: 0.1em !important;
  line-height: 1 !important;
  text-transform: none !important;
  font-style: normal !important;
  font-synthesis: none !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-shadow: none !important;
  filter: none !important;
  white-space: nowrap !important;
}

body.is-scrolled .site-header .logo__mark,
.site-header.is-scrolled .logo__mark,
body.is-scrolled .logo__mark {
  font-size: clamp(1.35rem, 1.7vw, 1.65rem) !important;
  letter-spacing: 0.085em !important;
  padding-left: 0.085em !important;
  font-weight: 600 !important;
}

.site-header .header-cats a,
.header-cats a {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-synthesis: none !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-shadow: none !important;
  filter: none !important;
}

.site-header .header-cats a:hover,
.header-cats a:hover {
  letter-spacing: 0.1em !important;
  text-shadow: none !important;
}

body.is-scrolled .site-header .header-cats a,
.site-header.is-scrolled .header-cats a,
body.is-scrolled .header-cats a {
  font-size: 0.72rem !important;
  letter-spacing: 0.07em !important;
  font-weight: 600 !important;
}

.site-header .header-link,
.header-link {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.08em !important;
  text-shadow: none !important;
}

.lang-bar,
.lang-bar__link,
.lang-bar__globe {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, -apple-system, "Segoe UI", sans-serif !important;
  text-shadow: none !important;
  filter: none !important;
}

.lang-bar__link {
  font-size: 0.55rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  font-synthesis: none !important;
  -webkit-font-smoothing: antialiased !important;
}

.lang-bar__link.is-active {
  font-weight: 600 !important;
}

/* Idle transparent colors preserved ?? cream on home, dark ink elsewhere; no glow */
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a {
  text-shadow: none !important;
  filter: none !important;
}

body:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a {
  color: #1A1510 !important;
  text-shadow: none !important;
  filter: none !important;
}

@media (max-width: 980px) {
  .site-header .header-cats a,
  .header-cats a {
    font-size: 0.7rem !important;
    letter-spacing: 0.07em !important;
  }
  .site-header .logo__mark,
  .logo__mark {
    font-size: clamp(1.4rem, 4.5vw, 1.7rem) !important;
    letter-spacing: 0.09em !important;
  }
}

@media (max-width: 640px) {
  .lang-bar__link {
    font-size: 0.5rem !important;
    letter-spacing: 0.05em !important;
    padding: 0.28rem 0.38rem !important;
  }
}

/* =========================================================
   MEDIA-TORN PAPER PLATE ?? cool stone (20260728frame)
   Was champagne-fluoro yellow (#F0E9B4 / #E8DE9A) ?? ugly gold cast.
   Soft stone fill + thin ink hairline. No yellow/peach/gold.
   ========================================================= */
:root {
  --torn-plate: #E5E2D9;
  --torn-plate-mid: #D8D4CC;
  --torn-plate-deep: #D8D4CC;
  --torn-glow: rgba(26, 21, 16, 0.1);
  --torn-glow-soft: rgba(26, 21, 16, 0.06);
}

.feat-card__media.media-torn,
.pcat-feat-card__media.media-torn,
.pcat-card__media.media-torn,
.gallery-item__media.media-torn,
.about-custom__media.media-torn,
.news-journal__media.media-torn,
.news-feature__media.media-torn,
.news-launch__media.media-torn,
.craft-mat-card__media.media-torn,
.craft-std__media.media-torn,
.craft-flow__photo.media-torn,
.page-products-catalog .pcat-feat-card__media,
.page-products-catalog .pcat-card__media.media-torn,
.page-craftsmanship .craft-mat-card__media.media-torn,
.media-torn > .home-about__media,
.media-torn > .home-craft-band__media,
.media-torn > .about-intro__media,
.media-torn > .about-craft__media,
.media-torn > .about-sustain__media,
.media-torn > .craft-commit__media,
.media-torn > .craft-std__media,
.media-torn > .craft-mat-card__media {
  background:
    linear-gradient(158deg, #E5E2D9 0%, #D8D4CC 55%, #E5E2D9 100%) !important;
  background-color: #E5E2D9 !important;
  box-shadow:
    0 0 0 1px rgba(26, 21, 16, 0.14),
    0 10px 24px rgba(26, 21, 16, 0.08) !important;
}

/* Wrapper plate when torn child is masked ?? soft stone edge, no floral */
.media-torn:has(> .media-torn__frame),
.media-torn:has(> img) {
  background:
    linear-gradient(158deg, #E5E2D9 0%, #D8D4CC 55%, #E5E2D9 100%) !important;
  background-color: #E5E2D9 !important;
  box-shadow:
    0 0 0 1px rgba(26, 21, 16, 0.12),
    0 8px 20px rgba(26, 21, 16, 0.07) !important;
}

/* Keep flower off */
.media-torn::after,
.media-torn--no-floral::after,
.media-torn--floral-sm::after,
.media-torn--floral-lg::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

/* =========================================================
   HEADER TYPE LOCK (20260728hdrtype) ?? last wins over fluoro
   ========================================================= */
.site-header .logo__mark,
.logo__mark {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.55rem, 2vw, 1.95rem) !important;
  letter-spacing: 0.1em !important;
  padding-left: 0.1em !important;
  font-synthesis: none !important;
  -webkit-font-smoothing: antialiased !important;
  text-shadow: none !important;
}
body.is-scrolled .logo__mark,
.site-header.is-scrolled .logo__mark {
  font-size: clamp(1.35rem, 1.7vw, 1.65rem) !important;
  letter-spacing: 0.085em !important;
  padding-left: 0.085em !important;
}
.site-header .header-cats a,
.header-cats a {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
  text-shadow: none !important;
}
body.is-scrolled .header-cats a,
.site-header.is-scrolled .header-cats a {
  font-size: 0.72rem !important;
  letter-spacing: 0.07em !important;
}
.lang-bar__link {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, sans-serif !important;
  font-size: 0.55rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
}

/* =========================================================
   NUCLEAR TYPE + BG LOCK (20260728finalbg)
   Last-wins. No ambiance photo. Solid warm stone + subtle linen.
   Dark ink on light. Cream only on dark surfaces.
   ========================================================= */
:root {
  --font-display: "Instrument Serif", "Times New Roman", Georgia, serif !important;
  --font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif !important;
  --ink-heading: #1A1510 !important;
  --ink: #1A1510 !important;
  --ink-body: #3A271C !important;
  --ink-muted: #5C4A3A !important;
  --ambiance-photo: none !important;
  --atelier-grain: none !important;
  --atelier-streak: none !important;
  --streak-photo: none !important;
}

/* --- Background: solid elegant warm stone ?? NO photo --- */
html {
  background: #E6E2D8 !important;
  background-color: #E6E2D8 !important;
  background-image: none !important;
}

html::before,
html::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

body {
  background: #E6E2D8 !important;
  background-color: #E6E2D8 !important;
  background-image:
    repeating-linear-gradient(
      0deg,
      transparent 0,
      transparent 3px,
      rgba(26, 21, 16, 0.035) 3px,
      rgba(26, 21, 16, 0.035) 4px
    ),
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent 3px,
      rgba(26, 21, 16, 0.028) 3px,
      rgba(26, 21, 16, 0.028) 4px
    ) !important;
  background-size: auto, auto !important;
  background-attachment: fixed !important;
  background-repeat: repeat !important;
  color: #1A1510 !important;
  font-family: var(--font-body) !important;
  animation: none !important;
}

/* Kill dark washes / multiply grain / muddy overlays */
body::before,
body::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  animation: none !important;
}

/* Optional micro linen plate (very light SVG noise) ?? soft, not dirty */
body {
  /* stack linen over stone via second layer using background-color already set */
}

/* --- Typography force --- */
body,
button,
input,
textarea,
select,
.lead,
.muted,
p,
li,
a,
label,
.nav,
.header-link,
.header-cats a,
.lang-bar,
.lang-bar__link,
.btn,
.stat,
.stat__label,
.client-name,
[class*="label"] {
  font-family: var(--font-body) !important;
}

h1, h2, h3, h4, h5, h6,
.logo,
.logo__mark,
.display,
.hero-brand,
.section-title,
.page-title,
.home-section-head h2,
.section-intro h2,
.pcat-head h2,
.news-intro h2,
[class*="title"],
.hero h1,
.home-hero__content h1 {
  font-family: var(--font-display) !important;
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  text-shadow: none !important;
}

body,
p,
.lead,
.muted,
li,
label,
.stat__value,
.stat__num,
.stat__number,
.client-name,
.section-intro p,
.pcat-head p {
  color: #3A271C !important;
  -webkit-text-fill-color: #3A271C !important;
}

body,
.page-home,
.page-inner,
.page-about,
.page-products,
.page-products-catalog,
.page-product-detail,
.page-craftsmanship,
.page-news,
.page-faq,
.page-download,
.page-contact {
  color: #1A1510 !important;
  background-color: transparent !important;
}

/* Header: logo Cormorant, nav Outfit, dark ink on light pages */
.site-header .logo__mark,
.logo__mark {
  font-family: var(--font-display) !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  text-shadow: none !important;
}

.site-header .header-cats a,
.header-cats a,
.site-header .header-link,
.header-link,
.lang-bar__link {
  font-family: var(--font-body) !important;
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  text-shadow: none !important;
}

/* Dark heroes only: cream type */
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-link {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

/* Hover / scrolled cream bar ?? dark ink */
body:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
body.is-scrolled .site-header .logo__mark,
body.is-scrolled .site-header .header-cats a,
.site-header.is-scrolled .logo__mark,
.site-header.is-scrolled .header-cats a {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
}

/* Footer / dark bands / CTA: cream readable */
.site-footer,
.site-footer *,
.cta-band,
.cta-band *,
.section--dark,
.section--dark * {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

.site-footer .logo__mark,
.cta-band h2,
.cta-band .section-title {
  font-family: var(--font-display) !important;
}

/* Loading: dark cinematic text (do NOT force .page-loader opacity ? hide lock owns it) */
.page-loader__stage,
.page-loader__brand,
.page-loader__footer,
.page-loader__connect,
.page-loader__stage *,
.page-loader__brand *,
.page-loader__footer * {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
.page-loader__brand,
.page-loader__footer {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}
.page-loader {
  background: #0C0B0A !important;
}
.page-loader__space {
  background:
    radial-gradient(ellipse 46% 36% at 50% 42%, rgba(180, 190, 210, 0.12) 0%, transparent 68%),
    #0C0B0A !important;
}

/* =========================================================
   FRAME STONE LOCK (20260728frame) ?? last wins
   Kill any yellow/peach/gold torn plates + sepia cast.
   ========================================================= */
:root {
  --torn-plate: #E5E2D9 !important;
  --torn-plate-mid: #D8D4CC !important;
  --torn-plate-deep: #D8D4CC !important;
  --torn-glow: rgba(26, 21, 16, 0.1) !important;
  --torn-glow-soft: rgba(26, 21, 16, 0.06) !important;
}

.feat-card__media.media-torn,
.pcat-feat-card__media.media-torn,
.pcat-card__media.media-torn,
.gallery-item__media.media-torn,
.about-custom__media.media-torn,
.news-journal__media.media-torn,
.news-feature__media.media-torn,
.news-launch__media.media-torn,
.craft-mat-card__media.media-torn,
.craft-std__media.media-torn,
.craft-flow__photo.media-torn,
.page-products-catalog .pcat-feat-card__media,
.page-products-catalog .pcat-card__media.media-torn,
.page-craftsmanship .craft-mat-card__media,
.page-craftsmanship .craft-mat-card__media.media-torn,
.media-torn > .home-about__media,
.media-torn > .home-craft-band__media,
.media-torn > .about-intro__media,
.media-torn > .about-craft__media,
.media-torn > .about-sustain__media,
.media-torn > .craft-commit__media,
.media-torn > .craft-std__media,
.media-torn > .craft-mat-card__media,
.media-torn:has(> .media-torn__frame),
.media-torn:has(> img) {
  background: #E5E2D9 !important;
  background-color: #E5E2D9 !important;
  background-image: linear-gradient(158deg, #E5E2D9 0%, #D8D4CC 55%, #E5E2D9 100%) !important;
  box-shadow:
    0 0 0 1px rgba(26, 21, 16, 0.14),
    0 8px 20px rgba(26, 21, 16, 0.07) !important;
}

.media-torn__frame,
.media-torn > img,
.media-torn img,
.media-torn .gallery-item__img,
.media-torn .pcat-gallery__img,
.media-torn .news-feature__img,
.media-torn .news-journal__img,
.media-torn .news-launch__img,
.media-torn .craft-flow__img,
.media-torn > [class*="__img"]:not([class*="overlay"]):not([class*="action"]),
.media-torn .media-torn__photo,
.media-torn > .home-about__media,
.media-torn > .home-craft-band__media,
.media-torn > .about-intro__media,
.media-torn > .about-craft__media,
.media-torn > .about-sustain__media,
.media-torn > .craft-commit__media,
.media-torn > .craft-std__media,
.media-torn > .craft-mat-card__media,
.craft-mat-card__media.media-torn {
  filter: drop-shadow(0 10px 18px rgba(26, 21, 16, 0.1)) !important;
}

/* =========================================================
   BG SOLID CLEAN 20260728solid
   Last-wins. Solid warm stone only ?? no photo, grain, linen, washes.
   ========================================================= */
:root {
  --ambiance-photo: none !important;
  --atelier-grain: none !important;
  --atelier-streak: none !important;
  --streak-photo: none !important;
}

html {
  background: #E5E2D9 !important;
  background-color: #E5E2D9 !important;
  background-image: none !important;
}

html::before,
html::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  background-color: transparent !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body {
  background: #E5E2D9 !important;
  background-color: #E5E2D9 !important;
  background-image: none !important;
  color: #1A1510 !important;
  animation: none !important;
}

body::before,
body::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  background-color: transparent !important;
  opacity: 0 !important;
  visibility: hidden !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  animation: none !important;
  pointer-events: none !important;
}

h1, h2, h3, h4, h5, h6,
.section-title,
.page-title,
.logo__mark {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
}

body,
p,
.lead,
.muted,
li,
label {
  color: #1A1510 !important;
}


/* =========================================================
   HEADER TYPE LOCK (20260728hdrtype) ?? last wins
   ========================================================= */
.site-header .logo__mark,
.logo__mark {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.55rem, 2vw, 1.95rem) !important;
  letter-spacing: 0.1em !important;
  padding-left: 0.1em !important;
  font-synthesis: none !important;
  -webkit-font-smoothing: antialiased !important;
  text-shadow: none !important;
}
body.is-scrolled .logo__mark,
.site-header.is-scrolled .logo__mark {
  font-size: clamp(1.35rem, 1.7vw, 1.65rem) !important;
  letter-spacing: 0.085em !important;
  padding-left: 0.085em !important;
}
.site-header .header-cats a,
.header-cats a {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
  text-shadow: none !important;
}
body.is-scrolled .header-cats a,
.site-header.is-scrolled .header-cats a {
  font-size: 0.72rem !important;
  letter-spacing: 0.07em !important;
}
.lang-bar__link {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, sans-serif !important;
  font-size: 0.55rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
}

/* HEADER TYPE LOCK (20260728hdrtype) */
.site-header .logo__mark, .logo__mark {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.55rem, 2vw, 1.95rem) !important;
  letter-spacing: 0.1em !important;
  padding-left: 0.1em !important;
  text-shadow: none !important;
  -webkit-font-smoothing: antialiased !important;
}
body.is-scrolled .logo__mark, .site-header.is-scrolled .logo__mark {
  font-size: clamp(1.35rem, 1.7vw, 1.65rem) !important;
  letter-spacing: 0.085em !important;
}
.site-header .header-cats a, .header-cats a {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
  text-shadow: none !important;
}
body.is-scrolled .header-cats a, .site-header.is-scrolled .header-cats a {
  font-size: 0.72rem !important;
  letter-spacing: 0.07em !important;
}
.lang-bar__link {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, sans-serif !important;
  font-size: 0.55rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
}

/* =========================================================
   NUCLEAR NO-BG 20260728nobg ?? absolute last wins
   NO page background images. Solid light only. Dark ink lock.
   ========================================================= */
:root {
  --ambiance-photo: none !important;
  --atelier-grain: none !important;
  --atelier-streak: none !important;
  --streak-photo: none !important;
  --bg: #F3F1EC !important;
  --ink-heading: #111111 !important;
  --ink: #1A1510 !important;
  --ink-body: #1A1510 !important;
  --ink-muted: #1A1510 !important;
  --fg: #1A1510 !important;
  --fg-muted: #1A1510 !important;
}

html {
  background: #F3F1EC !important;
  background-color: #F3F1EC !important;
  background-image: none !important;
}

html::before,
html::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  background-color: transparent !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body {
  background: #F3F1EC !important;
  background-color: #F3F1EC !important;
  background-image: none !important;
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  opacity: 1 !important;
  animation: none !important;
}

/* Kill ALL ambiance / tactile / paper / linen / grain chrome layers */
body::before,
body::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  background-color: transparent !important;
  opacity: 0 !important;
  visibility: hidden !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  animation: none !important;
  pointer-events: none !important;
}

/* Main content text ?? full opacity dark ink on light */
body,
.page-home,
.page-inner,
.page-about,
.page-products,
.page-products-catalog,
.page-product-detail,
.page-craftsmanship,
.page-news,
.page-faq,
.page-download,
.page-contact,
main,
.section,
.section:not(.section--dark):not(.cta-band),
h1, h2, h3, h4, h5, h6,
.section-title,
.page-title,
.logo__mark,
.site-header .logo__mark,
.header-cats a,
.header-link,
.lang-bar,
.lang-bar__link,
.nav a,
p, .lead, .muted, li, label, a,
.stat, .stat__value, .stat__num, .stat__number, .stat__label,
.client-row, .client-mark, .client-name,
.block-head, .section-intro, .section-intro p,
.home-section-head h2, .pcat-head h2, .pcat-head p,
.news-intro h2, .why-card, .pillar, .compliance-card {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  opacity: 1 !important;
}

h1, h2, h3, h4, h5, h6,
.section-title,
.page-title,
.logo__mark,
.site-header .logo__mark {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

/* Light page sections ?? solid cream, no photo wash */
.section:not(.section--dark):not(.cta-band),
.section--linen,
.section--cream,
.section--warm,
main > .section:not(.section--dark) {
  background-image: none !important;
  background-color: #F3F1EC !important;
}

/* Dark heroes / footer / loader / CTA ?? cream text on dark only */
.page-hero,
.page-hero h1,
.page-hero p,
.page-hero__label,
.site-footer,
.site-footer *,
.cta-band,
.cta-band *,
.section--dark,
.section--dark *,
.section--stats,
.section--stats * {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-link {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

body:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
body.is-scrolled .site-header .logo__mark,
body.is-scrolled .site-header .header-cats a,
.site-header.is-scrolled .logo__mark,
.site-header.is-scrolled .header-cats a {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

.page-loader__stage,
.page-loader__brand,
.page-loader__footer,
.page-loader__connect {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
.page-loader__brand,
.page-loader__footer {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}
.page-loader {
  background: #0C0B0A !important;
  background-image: none !important;
}
.page-loader__space {
  background: #0C0B0A !important;
  background-image: none !important;
}

/* =========================================================
   CLIENT GRID MOTION 20260728clientanim
   Trusted By ?? stagger scroll-in, underline hover, hairline draw.
   transform/opacity only. Respects nofx / reduced-motion.
   ========================================================= */

.page-about .about-clients__names {
  position: relative !important;
  overflow: visible !important;
}

.page-about .about-clients__names .about-clients__name {
  position: relative;
  display: inline-block;
}

/* Underline draw ?? scaleX only */
.page-about .about-clients__names .about-clients__name::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.22em;
  height: 1px;
  background: currentColor;
  opacity: 0.5;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

/* Outer hairline draw (top + left) via scale */
html.has-motion .page-about .about-clients__names {
  border-top-color: transparent !important;
  border-left-color: transparent !important;
}

html.has-motion .page-about .about-clients__names::before,
html.has-motion .page-about .about-clients__names::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  background: rgba(26, 21, 16, 0.16) !important;
  opacity: 0;
  pointer-events: none !important;
  z-index: 1;
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

html.has-motion .page-about .about-clients__names::before {
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left center;
}

html.has-motion .page-about .about-clients__names::after {
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  transform: scaleY(0);
  transform-origin: top center;
  transition-delay: 0.12s;
}

html.has-motion .page-about .about-clients__names.is-in::before,
html.has-motion .page-about .about-clients__names.is-in::after {
  opacity: 1;
  transform: none;
}

/* Cell stagger ?? fade + rise/scale (mirrors process steps) */
html.has-motion .page-about .about-clients__names > li {
  opacity: 0 !important;
  transform: translate3d(0, 1rem, 0) scale(0.97);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.4s ease,
    -webkit-text-fill-color 0.4s ease;
  transition-delay: calc(var(--i, 0) * 0.1s);
  will-change: opacity, transform;
  cursor: default;
}

html.has-motion .page-about .about-clients__names > li.is-visible {
  opacity: 1 !important;
  transform: none;
}

/* Hover ?? soft lift + ink intensify + underline */
html.has-motion .page-about .about-clients__names > li.is-visible:hover {
  transform: translate3d(0, -0.2rem, 0);
  color: #0C0A08 !important;
  -webkit-text-fill-color: #0C0A08 !important;
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.4s ease,
    -webkit-text-fill-color 0.4s ease;
  transition-delay: 0s;
}

html.has-motion .page-about .about-clients__names > li.is-visible:hover .about-clients__name::after {
  transform: scaleX(1);
}

/* nofx / reduced-motion ?? static, fully visible */
html.nofx .page-about .about-clients__names > li,
.fx-off .page-about .about-clients__names > li,
html.nofx .page-about .about-clients__names::before,
html.nofx .page-about .about-clients__names::after,
.fx-off .page-about .about-clients__names::before,
.fx-off .page-about .about-clients__names::after {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  will-change: auto !important;
}

html.nofx .page-about .about-clients__names,
.fx-off .page-about .about-clients__names {
  border-top-color: rgba(26, 21, 16, 0.16) !important;
  border-left-color: rgba(26, 21, 16, 0.16) !important;
}

html.nofx .page-about .about-clients__names::before,
html.nofx .page-about .about-clients__names::after,
.fx-off .page-about .about-clients__names::before,
.fx-off .page-about .about-clients__names::after {
  content: none !important;
  display: none !important;
}

html.nofx .page-about .about-clients__names .about-clients__name::after,
.fx-off .page-about .about-clients__names .about-clients__name::after {
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html.has-motion .page-about .about-clients__names > li,
  html.has-motion .page-about .about-clients__names::before,
  html.has-motion .page-about .about-clients__names::after {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }

  html.has-motion .page-about .about-clients__names {
    border-top-color: rgba(26, 21, 16, 0.16) !important;
    border-left-color: rgba(26, 21, 16, 0.16) !important;
  }

  html.has-motion .page-about .about-clients__names::before,
  html.has-motion .page-about .about-clients__names::after {
    content: none !important;
    display: none !important;
  }

  html.has-motion .page-about .about-clients__names > li.is-visible:hover {
    transform: none !important;
  }

  .page-about .about-clients__names .about-clients__name::after {
    transition: none !important;
  }
}


/* =========================================================
   FRAME STONE FINAL (20260728frame)
   ========================================================= */
:root {
  --torn-plate: #E5E2D9 !important;
  --torn-plate-mid: #D8D4CC !important;
  --torn-plate-deep: #D8D4CC !important;
}
.feat-card__media.media-torn,
.pcat-feat-card__media.media-torn,
.pcat-card__media.media-torn,
.gallery-item__media.media-torn,
.about-custom__media.media-torn,
.news-journal__media.media-torn,
.news-feature__media.media-torn,
.news-launch__media.media-torn,
.craft-mat-card__media.media-torn,
.craft-std__media.media-torn,
.craft-flow__photo.media-torn,
.page-products-catalog .pcat-feat-card__media,
.page-craftsmanship .craft-mat-card__media,
.media-torn:has(> .media-torn__frame),
.media-torn:has(> img),
.media-torn > .home-about__media,
.media-torn > .home-craft-band__media,
.media-torn > .about-intro__media,
.media-torn > .about-craft__media,
.media-torn > .about-sustain__media,
.media-torn > .craft-commit__media,
.media-torn > .craft-std__media,
.media-torn > .craft-mat-card__media {
  background: #E5E2D9 !important;
  background-color: #E5E2D9 !important;
  background-image: linear-gradient(158deg, #E5E2D9 0%, #D8D4CC 55%, #E5E2D9 100%) !important;
  box-shadow: 0 0 0 1px rgba(26, 21, 16, 0.14), 0 8px 20px rgba(26, 21, 16, 0.07) !important;
}
.media-torn__frame,
.media-torn > img,
.media-torn img,
.media-torn [class*="__img"]:not([class*="overlay"]):not([class*="action"]),
.craft-mat-card__media.media-torn {
  filter: drop-shadow(0 10px 18px rgba(26, 21, 16, 0.1)) !important;
}

/* =========================================================
   HERO CREAM INK 20260728heroink ? AFTER ink lock (absolute last)
   Photo heroes: cream/white type + soft dark veil. Beats #1A1510.
   ========================================================= */

/* Soft dark gradient veil behind type (all photo heroes) */
.home-hero__veil,
.page-hero__veil,
.craft-hero__veil,
.about-hero__veil,
.pcat-hero__veil,
.product-hero__veil,
.news-hero__veil,
.faq-hero__veil,
.dl-hero__veil,
.contact-hero__veil,
.pdet-hero__veil {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  background:
    linear-gradient(105deg, rgba(12, 10, 8, 0.58) 0%, rgba(12, 10, 8, 0.22) 42%, rgba(12, 10, 8, 0.12) 68%, rgba(12, 10, 8, 0.4) 100%),
    linear-gradient(180deg, rgba(12, 10, 8, 0.28) 0%, transparent 36%, rgba(12, 10, 8, 0.55) 100%) !important;
}

/* page-hero may lack a veil node ? use ::before */
.page-hero {
  position: relative !important;
}
.page-hero::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(105deg, rgba(12, 10, 8, 0.55) 0%, rgba(12, 10, 8, 0.2) 45%, rgba(12, 10, 8, 0.35) 100%),
    linear-gradient(180deg, rgba(12, 10, 8, 0.25) 0%, transparent 40%, rgba(12, 10, 8, 0.5) 100%) !important;
}
.page-hero > * {
  position: relative;
  z-index: 1;
}

/* Cream / white type ? wins over global ink lock on photo heroes */
.hero,
.hero *,
.home-hero,
.home-hero *,
.page-hero,
.page-hero *,
.craft-hero,
.craft-hero *,
.about-hero,
.about-hero *,
.pcat-hero,
.pcat-hero *,
.product-hero,
.product-hero *,
.news-hero,
.news-hero *,
.faq-hero,
.faq-hero *,
.dl-hero,
.dl-hero *,
.contact-hero,
.contact-hero *,
.pdet-hero,
.pdet-hero * {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

/* Explicit eyebrow / title / lead / content / h1 / p / a */
.hero__eyebrow, .hero__title, .hero__lead, .hero__content,
.hero h1, .hero p, .hero a,
.home-hero__eyebrow, .home-hero__title, .home-hero__lead, .home-hero__content,
.home-hero h1, .home-hero p, .home-hero a,
.hero-kicker, .hero-brand, .hero-line, .hero-cta, .hero-cta *,
.page-hero__eyebrow, .page-hero__label, .page-hero__title, .page-hero__lead, .page-hero__content,
.page-hero h1, .page-hero p, .page-hero a,
.craft-hero__eyebrow, .craft-hero__label, .craft-hero__title, .craft-hero__lead, .craft-hero__content,
.craft-hero h1, .craft-hero p, .craft-hero a,
.about-hero__eyebrow, .about-hero__label, .about-hero__title, .about-hero__lead, .about-hero__content,
.about-hero h1, .about-hero p, .about-hero a,
.pcat-hero__eyebrow, .pcat-hero__label, .pcat-hero__title, .pcat-hero__lead, .pcat-hero__content,
.pcat-hero h1, .pcat-hero p, .pcat-hero a,
.product-hero__eyebrow, .product-hero__label, .product-hero__title, .product-hero__lead, .product-hero__content,
.product-hero h1, .product-hero p, .product-hero a,
.product-hero__title-line, .product-hero__search, .product-hero__search strong,
.news-hero__eyebrow, .news-hero__label, .news-hero__title, .news-hero__lead, .news-hero__content,
.news-hero h1, .news-hero p, .news-hero a,
.faq-hero__eyebrow, .faq-hero__label, .faq-hero__title, .faq-hero__lead, .faq-hero__content,
.faq-hero h1, .faq-hero p, .faq-hero a,
.dl-hero__eyebrow, .dl-hero__label, .dl-hero__title, .dl-hero__lead, .dl-hero__content,
.dl-hero h1, .dl-hero p, .dl-hero a,
.dl-hero__title-line,
.contact-hero__eyebrow, .contact-hero__label, .contact-hero__title, .contact-hero__lead, .contact-hero__content,
.contact-hero h1, .contact-hero p, .contact-hero a,
.pdet-hero__eyebrow, .pdet-hero__label, .pdet-hero__title, .pdet-hero__lead, .pdet-hero__content, .pdet-hero__copy,
.pdet-hero h1, .pdet-hero p, .pdet-hero a {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

/* CTAs on photo heroes ? white (beats .btn--line ink lock) */
.hero .btn,
.hero .btn *,
.hero a.btn,
.home-hero .btn,
.home-hero .btn *,
.home-hero .btn--line,
.home-hero .btn--line *,
.home-hero .hero-cta,
.home-hero .hero-cta *,
.page-hero .btn,
.page-hero .btn *,
.page-hero .btn--line,
.page-hero .btn--line *,
.craft-hero .btn,
.craft-hero .btn *,
.craft-hero .btn--line,
.craft-hero .btn--line *,
.about-hero .btn,
.about-hero .btn *,
.about-hero .btn--line,
.about-hero .btn--line *,
.about-hero__cta,
.about-hero__cta *,
.pcat-hero .btn,
.pcat-hero .btn *,
.pcat-hero .btn--line,
.pcat-hero .btn--line *,
.product-hero .btn,
.product-hero .btn *,
.product-hero .btn--line,
.product-hero .btn--line *,
.product-hero__cta,
.product-hero__cta *,
.news-hero .btn,
.news-hero .btn *,
.news-hero .btn--line,
.news-hero .btn--line *,
.news-hero__cta,
.news-hero__cta *,
.faq-hero .btn,
.faq-hero .btn *,
.faq-hero .btn--line,
.faq-hero .btn--line *,
.faq-hero__cta,
.faq-hero__cta *,
.dl-hero .btn,
.dl-hero .btn *,
.dl-hero .btn--line,
.dl-hero .btn--line *,
.dl-hero__cta,
.dl-hero__cta *,
.contact-hero .btn,
.contact-hero .btn *,
.contact-hero .btn--line,
.contact-hero .btn--line *,
.contact-hero__cta,
.contact-hero__cta *,
.pdet-hero .btn,
.pdet-hero .btn *,
.pdet-hero .btn--line,
.pdet-hero .btn--line * {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Product detail hero is split layout (copy on light) ? restore dark ink */
.page-product-detail .pdet-hero,
.page-product-detail .pdet-hero__copy,
.page-product-detail .pdet-hero__copy *,
.page-product-detail .pdet-hero__lead,
.page-product-detail .pdet-hero__actions,
.page-product-detail .pdet-hero__actions *,
.page-product-detail .pdet-hero h1,
.page-product-detail .pdet-hero p,
.page-product-detail .pdet-hero .eyebrow {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
}
.page-product-detail .pdet-hero .btn--dark,
.page-product-detail .pdet-hero .btn--dark *,
.page-product-detail .pdet-hero a.btn--dark {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Header on dark/photo heroes ? cream when transparent idle */
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-link,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .nav-toggle,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-link,
.page-about:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-about:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-craftsmanship:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-craftsmanship:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-products:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-products:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-products-catalog:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-products-catalog:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-news:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-news:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-faq:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-faq:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-download:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-download:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-contact:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-contact:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .nav-toggle span {
  background: #F5EFE4 !important;
}
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn::before,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn::after {
  background: #F5EFE4 !important;
  border-color: #F5EFE4 !important;
}

/* =========================================================
   NUCLEAR NO-BG 20260728nobg ?? absolute last wins (reassert)
   NO page background images. Solid light only. Dark ink lock.
   ========================================================= */
:root {
  --ambiance-photo: none !important;
  --atelier-grain: none !important;
  --atelier-streak: none !important;
  --streak-photo: none !important;
  --bg: #F3F1EC !important;
  --ink-heading: #111111 !important;
  --ink: #1A1510 !important;
  --ink-body: #1A1510 !important;
  --ink-muted: #1A1510 !important;
  --fg: #1A1510 !important;
  --fg-muted: #1A1510 !important;
}

html {
  background: #F3F1EC !important;
  background-color: #F3F1EC !important;
  background-image: none !important;
}

html::before,
html::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  background-color: transparent !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body {
  background: #F3F1EC !important;
  background-color: #F3F1EC !important;
  background-image: none !important;
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  opacity: 1 !important;
  animation: none !important;
}

body::before,
body::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  background-color: transparent !important;
  opacity: 0 !important;
  visibility: hidden !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  animation: none !important;
  pointer-events: none !important;
}

body,
.page-home,
.page-inner,
.page-about,
.page-products,
.page-products-catalog,
.page-product-detail,
.page-craftsmanship,
.page-news,
.page-faq,
.page-download,
.page-contact,
main,
.section:not(.section--dark):not(.cta-band):not(.section--stats),
h1, h2, h3, h4, h5, h6,
.section-title,
.page-title,
.logo__mark,
.site-header .logo__mark,
.header-cats a,
.header-link,
.lang-bar,
.lang-bar__link,
.nav a,
p, .lead, .muted, li, label,
.stat, .stat__value, .stat__num, .stat__number, .stat__label,
.client-row, .client-mark, .client-name,
.block-head, .section-intro, .section-intro p,
.home-section-head h2, .pcat-head h2, .pcat-head p,
.news-intro h2, .why-card, .pillar, .compliance-card {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  opacity: 1 !important;
}

h1, h2, h3, h4, h5, h6,
.section-title,
.page-title,
.logo__mark,
.site-header .logo__mark {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

.section:not(.section--dark):not(.cta-band):not(.section--stats),
.section--linen,
.section--cream,
.section--warm {
  background-image: none !important;
  background-color: #F3F1EC !important;
}

.page-hero,
.page-hero h1,
.page-hero p,
.page-hero__label,
.site-footer,
.site-footer *,
.cta-band,
.cta-band *,
.section--dark,
.section--dark *,
.section--stats,
.section--stats * {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-link {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

body:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
body.is-scrolled .site-header .logo__mark,
body.is-scrolled .site-header .header-cats a,
.site-header.is-scrolled .logo__mark,
.site-header.is-scrolled .header-cats a {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

.page-loader__stage,
.page-loader__brand,
.page-loader__footer,
.page-loader__connect {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
.page-loader__brand,
.page-loader__footer {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}
.page-loader {
  background: #0C0B0A !important;
  background-image: none !important;
}
.page-loader__space {
  background: #0C0B0A !important;
  background-image: none !important;
}

/* =========================================================
   READABILITY SEE 20260728see ? ABSOLUTE LAST (wins over ink)
   Order: (1) light page ink  (2) cream on dark surfaces
          (3) WHITE on dark buttons/CTAs ? beats `a { #1A1510 }`
   ========================================================= */

/* (1) Light page surfaces ? readable dark body text */
body,
.page-home,
.page-inner,
.page-about,
.page-products,
.page-products-catalog,
.page-product-detail,
.page-craftsmanship,
.page-news,
.page-faq,
.page-download,
.page-contact,
main,
.section:not(.section--dark):not(.cta-band):not(.section--stats),
p, .lead, .muted, li, label {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
}

/* (2) Dark surfaces ? cream text */
.page-hero,
.page-hero *,
.dl-hero,
.dl-hero *,
.site-footer,
.site-footer *,
.cta-band,
.cta-band *,
.section--dark,
.section--dark *,
.section--stats,
.section--stats *,
.nav-drawer,
.nav-drawer *,
.mobile-nav,
.mobile-nav *,
.page-loader,
.page-loader * {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

/* (3) Dark buttons / download CTAs ? WHITE beats ink lock on `a` */
.btn,
.btn--primary,
.btn--dark,
a.btn,
button.btn,
.btn-primary,
.cta,
.site-footer .btn,
.dl-feat-card__btn,
.dl-hero__cta,
.home-cta__btn,
.site-cta__btn,
.contact-form__submit,
.hero-cta,
[class*="download"].btn,
a[download].btn,
a.btn.btn--dark,
a.btn.dl-feat-card__btn,
.page-download .btn--dark,
.page-download .dl-feat-card__btn,
.page-download a.btn.btn--dark,
.page-download a[download].btn--dark,
.btn--dark span,
.btn--dark *,
.dl-feat-card__btn span,
.dl-feat-card__btn *,
a.btn.btn--dark span,
a.btn.btn--dark *,
a.btn.dl-feat-card__btn span,
a.btn.dl-feat-card__btn * {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Light CTAs / outline buttons keep dark ink (not white-on-cream) */
.btn--line,
a.btn--line,
button.btn--line,
.btn--light,
a.btn--light,
button.btn--light,
.dl-cta__btn,
a.dl-cta__btn,
.dl-table__dl,
a.dl-table__dl,
.btn--line span,
.btn--line *,
.btn--light span,
.btn--light *,
.dl-cta__btn span,
.dl-cta__btn *,
.dl-table__dl span,
.dl-table__dl * {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
}

.btn--line:hover,
a.btn--line:hover,
.btn--line:hover span,
.btn--line:hover * {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

/* =========================================================
   NUCLEAR NO-BG 20260728nobg ? ABSOLUTE LAST (final)
   Confirmed: no page BG image. Solid #F3F1EC. Text #111/#1A1510.
   ========================================================= */
:root {
  --ambiance-photo: none !important;
  --atelier-grain: none !important;
  --atelier-streak: none !important;
  --streak-photo: none !important;
  --bg: #F3F1EC !important;
  --ink-heading: #111111 !important;
  --ink: #1A1510 !important;
  --ink-body: #1A1510 !important;
  --ink-muted: #1A1510 !important;
  --fg: #1A1510 !important;
  --fg-muted: #1A1510 !important;
}
html {
  background: #F3F1EC !important;
  background-color: #F3F1EC !important;
  background-image: none !important;
}
html::before,
html::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body {
  background: #F3F1EC !important;
  background-color: #F3F1EC !important;
  background-image: none !important;
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  opacity: 1 !important;
  animation: none !important;
}
body::before,
body::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  animation: none !important;
  pointer-events: none !important;
}
body, main, .page-home, .page-inner, .page-about, .page-products,
.page-products-catalog, .page-product-detail, .page-craftsmanship,
.page-news, .page-faq, .page-download, .page-contact,
.section:not(.section--dark):not(.cta-band):not(.section--stats),
h1, h2, h3, h4, h5, h6, .section-title, .page-title, .logo__mark,
.site-header .logo__mark, .header-cats a, .header-link, .lang-bar,
.lang-bar__link, .nav a, p, .lead, .muted, li, label,
.stat, .stat__value, .stat__num, .stat__number, .stat__label,
.client-row, .client-mark, .client-name, .block-head, .section-intro,
.section-intro p, .home-section-head h2, .pcat-head h2, .pcat-head p,
.news-intro h2, .why-card, .pillar, .compliance-card {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  opacity: 1 !important;
}
h1, h2, h3, h4, h5, h6, .section-title, .page-title, .logo__mark,
.site-header .logo__mark {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
.section:not(.section--dark):not(.cta-band):not(.section--stats),
.section--linen, .section--cream, .section--warm {
  background-image: none !important;
  background-color: #F3F1EC !important;
}
.page-hero, .page-hero h1, .page-hero p, .page-hero__label,
.site-footer, .site-footer *, .cta-band, .cta-band *,
.section--dark, .section--dark *, .section--stats, .section--stats * {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-link {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}
body:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
body.is-scrolled .site-header .logo__mark,
body.is-scrolled .site-header .header-cats a,
.site-header.is-scrolled .logo__mark,
.site-header.is-scrolled .header-cats a {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
.page-loader__stage, .page-loader__brand, .page-loader__footer,
.page-loader__connect, .page-loader__stage *, .page-loader__brand * {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
.page-loader__brand, .page-loader__footer {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}
.page-loader, .page-loader__space {
  background: #0C0B0A !important;
  background-image: none !important;
}

/* =========================================================
   HERO CREAM INK 20260728heroink ? ABSOLUTE LAST (beats ink lock)
   Every photo-BG page hero: cream/white type + soft dark veil.
   ========================================================= */

/* Soft dark veil behind type */
.home-hero__veil,
.page-hero__veil,
.craft-hero__veil,
.about-hero__veil,
.pcat-hero__veil,
.product-hero__veil,
.news-hero__veil,
.faq-hero__veil,
.dl-hero__veil,
.contact-hero__veil,
.pdet-hero__veil {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  background:
    linear-gradient(105deg, rgba(12, 10, 8, 0.58) 0%, rgba(12, 10, 8, 0.22) 42%, rgba(12, 10, 8, 0.12) 68%, rgba(12, 10, 8, 0.4) 100%),
    linear-gradient(180deg, rgba(12, 10, 8, 0.28) 0%, transparent 36%, rgba(12, 10, 8, 0.55) 100%) !important;
}
.page-hero { position: relative !important; }
.page-hero::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(105deg, rgba(12, 10, 8, 0.55) 0%, rgba(12, 10, 8, 0.2) 45%, rgba(12, 10, 8, 0.35) 100%),
    linear-gradient(180deg, rgba(12, 10, 8, 0.25) 0%, transparent 40%, rgba(12, 10, 8, 0.5) 100%) !important;
}
.page-hero > * { position: relative; z-index: 1; }

/* Cream type on all photo heroes + children */
.hero, .hero *,
.home-hero, .home-hero *,
.page-hero, .page-hero *,
.craft-hero, .craft-hero *,
.about-hero, .about-hero *,
.pcat-hero, .pcat-hero *,
.product-hero, .product-hero *,
.news-hero, .news-hero *,
.faq-hero, .faq-hero *,
.dl-hero, .dl-hero *,
.contact-hero, .contact-hero * {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

.hero__eyebrow, .hero__title, .hero__lead, .hero__content, .hero h1, .hero p, .hero a,
.home-hero__eyebrow, .home-hero__title, .home-hero__lead, .home-hero__content,
.home-hero h1, .home-hero p, .home-hero a,
.hero-kicker, .hero-brand, .hero-line, .hero-cta, .hero-cta *,
.page-hero__eyebrow, .page-hero__label, .page-hero__title, .page-hero__lead, .page-hero__content,
.page-hero h1, .page-hero p, .page-hero a,
.craft-hero__eyebrow, .craft-hero__label, .craft-hero__title, .craft-hero__lead, .craft-hero__content,
.craft-hero h1, .craft-hero p, .craft-hero a,
.about-hero__eyebrow, .about-hero__label, .about-hero__title, .about-hero__lead, .about-hero__content,
.about-hero h1, .about-hero p, .about-hero a,
.pcat-hero__eyebrow, .pcat-hero__label, .pcat-hero__title, .pcat-hero__lead, .pcat-hero__content,
.pcat-hero h1, .pcat-hero p, .pcat-hero a,
.product-hero__eyebrow, .product-hero__label, .product-hero__title, .product-hero__lead, .product-hero__content,
.product-hero h1, .product-hero p, .product-hero a,
.product-hero__title-line, .product-hero__search, .product-hero__search strong,
.news-hero__eyebrow, .news-hero__label, .news-hero__title, .news-hero__lead, .news-hero__content,
.news-hero h1, .news-hero p, .news-hero a,
.faq-hero__eyebrow, .faq-hero__label, .faq-hero__title, .faq-hero__lead, .faq-hero__content,
.faq-hero h1, .faq-hero p, .faq-hero a,
.dl-hero__eyebrow, .dl-hero__label, .dl-hero__title, .dl-hero__lead, .dl-hero__content,
.dl-hero h1, .dl-hero p, .dl-hero a, .dl-hero__title-line,
.contact-hero__eyebrow, .contact-hero__label, .contact-hero__title, .contact-hero__lead, .contact-hero__content,
.contact-hero h1, .contact-hero p, .contact-hero a {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

/* Hero CTAs ? white (beats .btn--line ink lock) */
.hero .btn, .hero .btn *, .hero a.btn,
.home-hero .btn, .home-hero .btn *, .home-hero .btn--line, .home-hero .btn--line *,
.home-hero .hero-cta, .home-hero .hero-cta *,
.page-hero .btn, .page-hero .btn *, .page-hero .btn--line, .page-hero .btn--line *,
.craft-hero .btn, .craft-hero .btn *, .craft-hero .btn--line, .craft-hero .btn--line *,
.about-hero .btn, .about-hero .btn *, .about-hero .btn--line, .about-hero .btn--line *,
.about-hero__cta, .about-hero__cta *,
.pcat-hero .btn, .pcat-hero .btn *, .pcat-hero .btn--line, .pcat-hero .btn--line *,
.product-hero .btn, .product-hero .btn *, .product-hero .btn--line, .product-hero .btn--line *,
.product-hero__cta, .product-hero__cta *,
.news-hero .btn, .news-hero .btn *, .news-hero .btn--line, .news-hero .btn--line *,
.news-hero__cta, .news-hero__cta *,
.faq-hero .btn, .faq-hero .btn *, .faq-hero .btn--line, .faq-hero .btn--line *,
.faq-hero__cta, .faq-hero__cta *,
.dl-hero .btn, .dl-hero .btn *, .dl-hero .btn--line, .dl-hero .btn--line *,
.dl-hero__cta, .dl-hero__cta *,
.contact-hero .btn, .contact-hero .btn *, .contact-hero .btn--line, .contact-hero .btn--line *,
.contact-hero__cta, .contact-hero__cta * {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Header idle cream on photo-hero pages (transparent) */
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-link,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .nav-toggle,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .nav-toggle span {
  background: #F5EFE4 !important;
}
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn::before,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn::after {
  background: #F5EFE4 !important;
  border-color: #F5EFE4 !important;
}


/* =========================================================
   READABILITY SEE 20260728see ? TRUE ABSOLUTE LAST
   Dark-button white MUST follow any ink lock that paints .
   ========================================================= */
.btn,
.btn--primary,
.btn--dark,
a.btn,
button.btn,
.btn-primary,
.cta,
.site-footer .btn,
.dl-feat-card__btn,
.dl-hero__cta,
.home-cta__btn,
.site-cta__btn,
.contact-form__submit,
.hero-cta,
[class*="download"].btn,
a[download].btn,
a.btn.btn--dark,
a.btn.dl-feat-card__btn,
.page-download .btn--dark,
.page-download .dl-feat-card__btn,
.page-download a.btn.btn--dark,
.page-download a[download].btn--dark,
.page-download a.dl-feat-card__btn,
.page-download a.dl-feat-card__btn span,
.btn--dark span,
.btn--dark *,
.dl-feat-card__btn span,
.dl-feat-card__btn *,
a.btn.btn--dark span,
a.btn.btn--dark *,
a.btn.dl-feat-card__btn span,
a.btn.dl-feat-card__btn * {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
.btn--line,
a.btn--line,
button.btn--line,
.btn--light,
a.btn--light,
button.btn--light,
.dl-cta__btn,
a.dl-cta__btn,
.dl-table__dl,
a.dl-table__dl,
.btn--line span,
.btn--line *,
.btn--light span,
.btn--light *,
.dl-cta__btn span,
.dl-cta__btn *,
.dl-table__dl span,
.dl-table__dl * {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
}
.btn--line:hover,
a.btn--line:hover,
.btn--line:hover span,
.btn--line:hover * {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}
.page-hero, .page-hero *, .dl-hero, .dl-hero *,
.home-hero, .home-hero *,
.craft-hero, .craft-hero *,
.about-hero, .about-hero *,
.pcat-hero, .pcat-hero *,
.product-hero, .product-hero *,
.news-hero, .news-hero *,
.faq-hero, .faq-hero *,
.contact-hero, .contact-hero *,
.hero, .hero *,
.site-footer, .site-footer *, .cta-band, .cta-band *,
.section--dark, .section--dark *, .section--stats, .section--stats *,
.nav-drawer, .nav-drawer *, .mobile-nav, .mobile-nav *,
.page-loader, .page-loader * {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}
.site-footer .btn,
.site-footer .btn *,
.cta-band .btn--dark,
.cta-band .btn--dark *,
.dl-hero .btn--dark,
.dl-hero .btn--dark *,
.page-hero .btn--dark,
.page-hero .btn--dark * {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* =========================================================
   HERO CREAM INK 20260728heroink ? true last (after btn ink)
   ========================================================= */
.home-hero__veil, .page-hero__veil, .craft-hero__veil, .about-hero__veil,
.pcat-hero__veil, .product-hero__veil, .news-hero__veil, .faq-hero__veil,
.dl-hero__veil, .contact-hero__veil, .pdet-hero__veil {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  background:
    linear-gradient(105deg, rgba(12, 10, 8, 0.58) 0%, rgba(12, 10, 8, 0.22) 42%, rgba(12, 10, 8, 0.12) 68%, rgba(12, 10, 8, 0.4) 100%),
    linear-gradient(180deg, rgba(12, 10, 8, 0.28) 0%, transparent 36%, rgba(12, 10, 8, 0.55) 100%) !important;
}
.page-hero { position: relative !important; }
.page-hero::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(105deg, rgba(12, 10, 8, 0.55) 0%, rgba(12, 10, 8, 0.2) 45%, rgba(12, 10, 8, 0.35) 100%),
    linear-gradient(180deg, rgba(12, 10, 8, 0.25) 0%, transparent 40%, rgba(12, 10, 8, 0.5) 100%) !important;
}
.page-hero > * { position: relative; z-index: 1; }

.hero, .hero *,
.home-hero, .home-hero *,
.page-hero, .page-hero *,
.craft-hero, .craft-hero *,
.about-hero, .about-hero *,
.pcat-hero, .pcat-hero *,
.product-hero, .product-hero *,
.news-hero, .news-hero *,
.faq-hero, .faq-hero *,
.dl-hero, .dl-hero *,
.contact-hero, .contact-hero *,
.hero__eyebrow, .hero__title, .hero__lead, .hero__content, .hero h1, .hero p, .hero a,
.home-hero__eyebrow, .home-hero__title, .home-hero__lead, .home-hero__content,
.home-hero h1, .home-hero p, .home-hero a, .hero-kicker, .hero-brand, .hero-line,
.page-hero__eyebrow, .page-hero__label, .page-hero__title, .page-hero__lead, .page-hero__content,
.page-hero h1, .page-hero p, .page-hero a,
.craft-hero__eyebrow, .craft-hero__label, .craft-hero__title, .craft-hero__lead, .craft-hero__content,
.craft-hero h1, .craft-hero p, .craft-hero a,
.about-hero__eyebrow, .about-hero__label, .about-hero__title, .about-hero__lead, .about-hero__content,
.about-hero h1, .about-hero p, .about-hero a,
.pcat-hero__eyebrow, .pcat-hero__label, .pcat-hero__title, .pcat-hero__lead, .pcat-hero__content,
.pcat-hero h1, .pcat-hero p, .pcat-hero a,
.product-hero__eyebrow, .product-hero__label, .product-hero__title, .product-hero__lead, .product-hero__content,
.product-hero h1, .product-hero p, .product-hero a, .product-hero__title-line,
.news-hero__eyebrow, .news-hero__label, .news-hero__title, .news-hero__lead, .news-hero__content,
.news-hero h1, .news-hero p, .news-hero a,
.faq-hero__eyebrow, .faq-hero__label, .faq-hero__title, .faq-hero__lead, .faq-hero__content,
.faq-hero h1, .faq-hero p, .faq-hero a,
.dl-hero__eyebrow, .dl-hero__label, .dl-hero__title, .dl-hero__lead, .dl-hero__content,
.dl-hero h1, .dl-hero p, .dl-hero a, .dl-hero__title-line,
.contact-hero__eyebrow, .contact-hero__label, .contact-hero__title, .contact-hero__lead, .contact-hero__content,
.contact-hero h1, .contact-hero p, .contact-hero a {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

.hero .btn, .hero .btn *, .hero a.btn, .hero-cta, .hero-cta *,
.home-hero .btn, .home-hero .btn *, .home-hero .btn--line, .home-hero .btn--line *,
.page-hero .btn, .page-hero .btn *, .page-hero .btn--line, .page-hero .btn--line *,
.craft-hero .btn, .craft-hero .btn *, .craft-hero .btn--line, .craft-hero .btn--line *,
.about-hero .btn, .about-hero .btn *, .about-hero .btn--line, .about-hero .btn--line *,
.about-hero__cta, .about-hero__cta *,
.pcat-hero .btn, .pcat-hero .btn *, .pcat-hero .btn--line, .pcat-hero .btn--line *,
.product-hero .btn, .product-hero .btn *, .product-hero .btn--line, .product-hero .btn--line *,
.product-hero__cta, .product-hero__cta *,
.news-hero .btn, .news-hero .btn *, .news-hero .btn--line, .news-hero .btn--line *,
.news-hero__cta, .news-hero__cta *,
.faq-hero .btn, .faq-hero .btn *, .faq-hero .btn--line, .faq-hero .btn--line *,
.faq-hero__cta, .faq-hero__cta *,
.dl-hero .btn, .dl-hero .btn *, .dl-hero .btn--line, .dl-hero .btn--line *,
.dl-hero__cta, .dl-hero__cta *,
.contact-hero .btn, .contact-hero .btn *, .contact-hero .btn--line, .contact-hero .btn--line *,
.contact-hero__cta, .contact-hero__cta * {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-link,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .nav-toggle,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .nav-toggle span {
  background: #F5EFE4 !important;
}
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn::before,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn::after {
  background: #F5EFE4 !important;
  border-color: #F5EFE4 !important;
}

/* =========================================================
   FRAME NEUTRAL LOCK 20260728frameneutral ? ABSOLUTE LAST
   Kill champagne-fluoro yellow (#F0E9B4 / #E8DE9A / #EAF3C2).
   Neutral stone plate only. No gold / peach / celadon glow.
   Torn mask kept; floral stays off. Does not touch heroink.
   ========================================================= */
:root {
  --torn-plate: #E5E2D9 !important;
  --torn-plate-mid: #D8D4CC !important;
  --torn-plate-deep: #D8D4CC !important;
  --torn-glow: rgba(26, 21, 16, 0.1) !important;
  --torn-glow-soft: rgba(26, 21, 16, 0.06) !important;
}

.feat-card__media.media-torn,
.pcat-feat-card__media.media-torn,
.pcat-card__media.media-torn,
.gallery-item__media.media-torn,
.about-custom__media.media-torn,
.news-journal__media.media-torn,
.news-feature__media.media-torn,
.news-launch__media.media-torn,
.craft-mat-card__media.media-torn,
.craft-std__media.media-torn,
.craft-flow__photo.media-torn,
.page-products-catalog .pcat-feat-card__media,
.page-products-catalog .pcat-card__media.media-torn,
.page-craftsmanship .craft-mat-card__media,
.page-craftsmanship .craft-mat-card__media.media-torn,
.media-torn:has(> .media-torn__frame),
.media-torn:has(> img),
.media-torn > .home-about__media,
.media-torn > .home-craft-band__media,
.media-torn > .about-intro__media,
.media-torn > .about-craft__media,
.media-torn > .about-sustain__media,
.media-torn > .craft-commit__media,
.media-torn > .craft-std__media,
.media-torn > .craft-mat-card__media {
  background: #E5E2D9 !important;
  background-color: #E5E2D9 !important;
  background-image: linear-gradient(158deg, #E5E2D9 0%, #D8D4CC 55%, #E5E2D9 100%) !important;
  box-shadow:
    0 0 0 1px rgba(26, 21, 16, 0.14),
    0 8px 20px rgba(26, 21, 16, 0.07) !important;
}

.media-torn::after,
.media-torn--no-floral::after,
.media-torn--floral-sm::after,
.media-torn--floral-lg::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

.media-torn__frame,
.media-torn > img,
.media-torn img,
.media-torn .gallery-item__img,
.media-torn .pcat-gallery__img,
.media-torn .news-feature__img,
.media-torn .news-journal__img,
.media-torn .news-launch__img,
.media-torn .craft-flow__img,
.media-torn > [class*="__img"]:not([class*="overlay"]):not([class*="action"]),
.media-torn .media-torn__photo,
.media-torn > .home-about__media,
.media-torn > .home-craft-band__media,
.media-torn > .about-intro__media,
.media-torn > .about-craft__media,
.media-torn > .about-sustain__media,
.media-torn > .craft-commit__media,
.media-torn > .craft-std__media,
.media-torn > .craft-mat-card__media,
.craft-mat-card__media.media-torn {
  filter: drop-shadow(0 10px 18px rgba(26, 21, 16, 0.1)) !important;
}

/* SEEBTNLOCK20260728see ? dark CTA text must win over ink  */
.btn.btn--dark, a.btn.btn--dark, button.btn.btn--dark,
a.btn.dl-feat-card__btn, .dl-feat-card__btn, .page-download .dl-feat-card__btn,
.page-download a.btn.btn--dark, .page-download a[download].btn,
.btn.btn--dark span, .btn.btn--dark *, a.btn.btn--dark span, a.btn.btn--dark *,
a.btn.dl-feat-card__btn span, a.btn.dl-feat-card__btn *, .dl-feat-card__btn span, .dl-feat-card__btn *,
.contact-form__submit, .site-footer .btn, .site-footer .btn *,
.home-cta__btn, .site-cta__btn, .hero-cta.btn--dark {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
/* =========================================================
   HEADER TYPE LOCK (20260728hdrtype2) ? ABSOLUTE LAST WINS
   Logo: Cormorant 700, larger, tracking 0.06em (not sparse).
   Nav: Outfit 500, 0.875rem, tracking 0.04em, sentence case.
   Crisp AA; no glow; idle transparent OK; hover cream?ink.
   ========================================================= */
:root {
  --font-display: "Instrument Serif", "Times New Roman", Georgia, serif !important;
  --font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

.site-header .logo,
.site-header .logo__mark,
.logo__mark,
a.logo .logo__mark {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-weight: 700 !important;
  font-size: clamp(1.75rem, 2.4vw, 2.2rem) !important;
  letter-spacing: 0.06em !important;
  padding-left: 0.06em !important;
  line-height: 1 !important;
  text-transform: none !important;
  font-variant: normal !important;
  font-variant-caps: normal !important;
  font-style: normal !important;
  font-synthesis: none !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-shadow: none !important;
  filter: none !important;
  white-space: nowrap !important;
}

body.is-scrolled .site-header .logo__mark,
.site-header.is-scrolled .logo__mark,
body.is-scrolled .logo__mark,
body.is-scrolled a.logo .logo__mark {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-weight: 700 !important;
  font-size: clamp(1.5rem, 1.9vw, 1.85rem) !important;
  letter-spacing: 0.055em !important;
  padding-left: 0.055em !important;
  text-transform: none !important;
  text-shadow: none !important;
  filter: none !important;
}

.site-header .header-cats a,
.header-cats a,
nav.header-cats a {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  font-synthesis: none !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-shadow: none !important;
  filter: none !important;
}

.site-header .header-cats a:hover,
.header-cats a:hover,
nav.header-cats a:hover {
  letter-spacing: 0.045em !important;
  text-shadow: none !important;
  filter: none !important;
}

body.is-scrolled .site-header .header-cats a,
.site-header.is-scrolled .header-cats a,
body.is-scrolled .header-cats a {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.035em !important;
  text-transform: none !important;
  text-shadow: none !important;
}

body.is-scrolled .site-header .header-cats a:hover,
.site-header.is-scrolled .header-cats a:hover,
body.is-scrolled .header-cats a:hover {
  letter-spacing: 0.04em !important;
  text-shadow: none !important;
}

/* Hover cream ? dark ink (preserve idle transparent) */
body:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  text-shadow: none !important;
  filter: none !important;
}

.lang-bar__link {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-size: 0.55rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  -webkit-font-smoothing: antialiased !important;
}

@media (max-width: 980px) {
  .site-header .header-cats a,
  .header-cats a,
  nav.header-cats a {
    font-size: 0.8rem !important;
    letter-spacing: 0.035em !important;
    text-transform: none !important;
  }
  .site-header .logo__mark,
  .logo__mark {
    font-size: clamp(1.55rem, 5vw, 1.9rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.055em !important;
  }
}

/* === HEROINK FINAL 20260728heroink (wins ink) === */
.home-hero__veil,.page-hero__veil,.craft-hero__veil,.about-hero__veil,.pcat-hero__veil,.product-hero__veil,.news-hero__veil,.faq-hero__veil,.dl-hero__veil,.contact-hero__veil,.pdet-hero__veil{display:block!important;position:absolute!important;inset:0!important;z-index:2!important;pointer-events:none!important;opacity:1!important;visibility:visible!important;background:linear-gradient(105deg,rgba(12,10,8,.58) 0%,rgba(12,10,8,.22) 42%,rgba(12,10,8,.12) 68%,rgba(12,10,8,.4) 100%),linear-gradient(180deg,rgba(12,10,8,.28) 0%,transparent 36%,rgba(12,10,8,.55) 100%)!important}
.page-hero{position:relative!important}
.page-hero::before{content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;background:linear-gradient(105deg,rgba(12,10,8,.55) 0%,rgba(12,10,8,.2) 45%,rgba(12,10,8,.35) 100%),linear-gradient(180deg,rgba(12,10,8,.25) 0%,transparent 40%,rgba(12,10,8,.5) 100%)!important}
.page-hero>*{position:relative;z-index:1}
.hero,.hero *,.home-hero,.home-hero *,.page-hero,.page-hero *,.craft-hero,.craft-hero *,.about-hero,.about-hero *,.pcat-hero,.pcat-hero *,.product-hero,.product-hero *,.news-hero,.news-hero *,.faq-hero,.faq-hero *,.dl-hero,.dl-hero *,.contact-hero,.contact-hero *,.hero__eyebrow,.hero__title,.hero__lead,.hero__content,.hero h1,.hero p,.hero a,.home-hero__eyebrow,.home-hero__title,.home-hero__lead,.home-hero__content,.home-hero h1,.home-hero p,.home-hero a,.hero-kicker,.hero-brand,.hero-line,.page-hero__eyebrow,.page-hero__label,.page-hero__title,.page-hero__lead,.page-hero__content,.page-hero h1,.page-hero p,.page-hero a,.craft-hero__eyebrow,.craft-hero__label,.craft-hero__title,.craft-hero__lead,.craft-hero__content,.craft-hero h1,.craft-hero p,.craft-hero a,.about-hero__eyebrow,.about-hero__label,.about-hero__title,.about-hero__lead,.about-hero__content,.about-hero h1,.about-hero p,.about-hero a,.pcat-hero__eyebrow,.pcat-hero__label,.pcat-hero__title,.pcat-hero__lead,.pcat-hero__content,.pcat-hero h1,.pcat-hero p,.pcat-hero a,.product-hero__eyebrow,.product-hero__label,.product-hero__title,.product-hero__lead,.product-hero__content,.product-hero h1,.product-hero p,.product-hero a,.product-hero__title-line,.news-hero__eyebrow,.news-hero__label,.news-hero__title,.news-hero__lead,.news-hero__content,.news-hero h1,.news-hero p,.news-hero a,.faq-hero__eyebrow,.faq-hero__label,.faq-hero__title,.faq-hero__lead,.faq-hero__content,.faq-hero h1,.faq-hero p,.faq-hero a,.dl-hero__eyebrow,.dl-hero__label,.dl-hero__title,.dl-hero__lead,.dl-hero__content,.dl-hero h1,.dl-hero p,.dl-hero a,.dl-hero__title-line,.contact-hero__eyebrow,.contact-hero__label,.contact-hero__title,.contact-hero__lead,.contact-hero__content,.contact-hero h1,.contact-hero p,.contact-hero a{color:#F5EFE4!important;-webkit-text-fill-color:#F5EFE4!important}
.hero .btn,.hero .btn *,.hero a.btn,.hero-cta,.hero-cta *,.home-hero .btn,.home-hero .btn *,.home-hero .btn--line,.home-hero .btn--line *,.page-hero .btn,.page-hero .btn *,.page-hero .btn--line,.page-hero .btn--line *,.craft-hero .btn,.craft-hero .btn *,.craft-hero .btn--line,.craft-hero .btn--line *,.about-hero .btn,.about-hero .btn *,.about-hero .btn--line,.about-hero .btn--line *,.about-hero__cta,.about-hero__cta *,.pcat-hero .btn,.pcat-hero .btn *,.pcat-hero .btn--line,.pcat-hero .btn--line *,.product-hero .btn,.product-hero .btn *,.product-hero .btn--line,.product-hero .btn--line *,.product-hero__cta,.product-hero__cta *,.news-hero .btn,.news-hero .btn *,.news-hero .btn--line,.news-hero .btn--line *,.news-hero__cta,.news-hero__cta *,.faq-hero .btn,.faq-hero .btn *,.faq-hero .btn--line,.faq-hero .btn--line *,.faq-hero__cta,.faq-hero__cta *,.dl-hero .btn,.dl-hero .btn *,.dl-hero .btn--line,.dl-hero .btn--line *,.dl-hero__cta,.dl-hero__cta *,.contact-hero .btn,.contact-hero .btn *,.contact-hero .btn--line,.contact-hero .btn--line *,.contact-hero__cta,.contact-hero__cta *{color:#1A1510!important;-webkit-text-fill-color:#1A1510!important}
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-link,body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .nav-toggle,body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn{color:#F5EFE4!important;-webkit-text-fill-color:#F5EFE4!important}
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .nav-toggle span{background:#F5EFE4!important}
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn::before,body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn::after{background:#F5EFE4!important;border-color:#F5EFE4!important}

/* =========================================================
   HEADER TYPE LOCK (20260728hdrtype2) ? FINAL ABSOLUTE LAST
   ========================================================= */
.site-header .logo__mark,
.logo__mark,
a.logo .logo__mark {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-weight: 700 !important;
  font-size: clamp(1.75rem, 2.4vw, 2.2rem) !important;
  letter-spacing: 0.06em !important;
  padding-left: 0.06em !important;
  line-height: 1 !important;
  text-transform: none !important;
  font-variant-caps: normal !important;
  font-synthesis: none !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-shadow: none !important;
  filter: none !important;
}
body.is-scrolled .site-header .logo__mark,
.site-header.is-scrolled .logo__mark,
body.is-scrolled .logo__mark {
  font-weight: 700 !important;
  font-size: clamp(1.5rem, 1.9vw, 1.85rem) !important;
  letter-spacing: 0.055em !important;
  padding-left: 0.055em !important;
  text-transform: none !important;
  text-shadow: none !important;
}
.site-header .header-cats a,
.header-cats a,
nav.header-cats a {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  font-synthesis: none !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-shadow: none !important;
  filter: none !important;
}
.site-header .header-cats a:hover,
.header-cats a:hover {
  letter-spacing: 0.045em !important;
  text-shadow: none !important;
}
body.is-scrolled .site-header .header-cats a,
.site-header.is-scrolled .header-cats a,
body.is-scrolled .header-cats a {
  font-weight: 500 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.035em !important;
  text-transform: none !important;
}
body:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  text-shadow: none !important;
}
@media (max-width: 980px) {
  .site-header .header-cats a, .header-cats a {
    font-size: 0.8rem !important;
    letter-spacing: 0.035em !important;
    text-transform: none !important;
  }
  .site-header .logo__mark, .logo__mark {
    font-size: clamp(1.55rem, 5vw, 1.9rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.055em !important;
  }
}

/* Product card media + title links */
a.pcat-feat-card__media,
a.pcat-card__media,
a.feat-card__media {
  display: block;
  color: inherit;
  text-decoration: none;
}
.page-products-catalog .pcat-feat-card__body h3 a,
.page-products-catalog .pcat-card__body h3 a,
.page-product-detail .pdet-related .pcat-card__body h3 a,
.page-home .feat-card__body h3 a {
  color: inherit;
  text-decoration: none;
}
.page-products-catalog .pcat-feat-card__body h3 a:hover,
.page-products-catalog .pcat-card__body h3 a:hover,
.page-product-detail .pdet-related .pcat-card__body h3 a:hover,
.page-home .feat-card__body h3 a:hover {
  color: inherit;
}

/* =========================================================
   BREATHING ROOM 20260728pad ? absolute last (spacing only)
   Softer borders, generous padding. Contrast locks untouched.
   ========================================================= */

:root {
  --line: rgba(26, 21, 16, 0.12) !important;
  --line-2: rgba(26, 21, 16, 0.12) !important;
  --lang-bar-h: 2.35rem;
}

/* 1. Header / lang bar */
.lang-bar {
  height: var(--lang-bar-h) !important;
}
.lang-bar__link {
  padding: 0.45rem 0.65rem !important;
}
.lang-bar__link::after {
  bottom: 0.2rem !important;
}
.site-header {
  padding: 1rem 0 1.05rem !important;
  gap: 0.45rem !important;
  border-bottom-color: rgba(26, 21, 16, 0.12) !important;
}
body.is-scrolled .site-header,
.site-header.is-scrolled {
  padding: 0.75rem 0 0.85rem !important;
  gap: 0.35rem !important;
  border-bottom-color: rgba(26, 21, 16, 0.12) !important;
}
.header-cats {
  margin-top: 0.55rem !important;
  padding-bottom: 0.35rem !important;
}
body.is-scrolled .header-cats,
.site-header.is-scrolled .header-cats {
  margin-top: 0.35rem !important;
  padding-bottom: 0.25rem !important;
}
.header-cats a {
  padding: 0.55rem 0.15rem 0.65rem !important;
}
.header-cats a::after {
  bottom: 0.28rem !important;
}

/* 2. Client name grid (Trusted By) */
.page-about .about-clients__names {
  border-top: 1px solid rgba(26, 21, 16, 0.12) !important;
  border-left: 1px solid rgba(26, 21, 16, 0.12) !important;
}
.page-about .about-clients__names li {
  padding: clamp(1.65rem, 3.2vw, 2.35rem) clamp(1.35rem, 2.6vw, 1.95rem) !important;
  border-right: 1px solid rgba(26, 21, 16, 0.12) !important;
  border-bottom: 1px solid rgba(26, 21, 16, 0.12) !important;
}
.page-about .about-clients__names .about-clients__name::after {
  bottom: -0.35em !important;
  opacity: 0.35 !important;
}
html.has-motion .page-about .about-clients__names::before,
html.has-motion .page-about .about-clients__names::after {
  background: rgba(26, 21, 16, 0.12) !important;
}
html.nofx .page-about .about-clients__names,
.fx-off .page-about .about-clients__names {
  border-top-color: rgba(26, 21, 16, 0.12) !important;
  border-left-color: rgba(26, 21, 16, 0.12) !important;
}
.page-about .about-clients,
.page-about .about-clients--partners {
  border-top-color: rgba(26, 21, 16, 0.12) !important;
}
.page-about .about-clients__pull {
  border-top-color: rgba(26, 21, 16, 0.12) !important;
  padding-top: clamp(2rem, 4vw, 3rem) !important;
}
.page-about .about-clients__aside-quotes li {
  padding: 0.15rem 0 0.15rem 1.35rem !important;
  border-left-color: rgba(26, 21, 16, 0.18) !important;
}
.page-about .about-clients__intro .eyebrow {
  margin: 0 0 1.25rem !important;
  padding-bottom: 0.4rem !important;
}

/* 3. Section eyebrow hairlines */
.eyebrow {
  margin-bottom: 1.55rem !important;
  padding-bottom: 0.35rem !important;
}
.eyebrow::after {
  bottom: -0.55rem !important;
  opacity: 0.28 !important;
  background: rgba(26, 21, 16, 0.22) !important;
}
.ed-split__copy .eyebrow {
  margin-bottom: 1.35rem !important;
}

/* 4. Buttons / download row */
.btn,
a.btn,
button.btn {
  padding: 1.2rem 2.35rem !important;
}
.home-hero .btn--line.hero-cta,
.page-hero .btn,
.dl-hero .btn,
.craft-hero .btn,
.about-hero .btn {
  padding: 1.1rem 2.1rem !important;
}
.page-download .dl-feat-card__btn,
.page-download a.btn.btn--dark,
.page-download a[download].btn--dark {
  padding: 1.2rem 2.25rem !important;
}
.page-download .dl-table th,
.page-download .dl-table td {
  padding: 1.2rem 1.35rem !important;
}
.page-download .dl-table__dl {
  padding: 0.35rem 0.15rem !important;
}
.download-item {
  padding: 1.85rem 0.35rem !important;
}

/* 5. Hero content from edges/veils */
.home-hero__content {
  padding: 6.5rem clamp(1.75rem, 5vw, 3rem) 5.5rem !important;
}
.page-hero__content,
.about-hero__content,
.craft-hero__content,
.pcat-hero__content,
.product-hero__content,
.news-hero__content,
.faq-hero__content,
.dl-hero__content,
.contact-hero__content,
.pdet-hero__content {
  padding-inline: clamp(1.75rem, 5vw, 3rem) !important;
}


/* SEEBTNLOCK20260728see FINAL */
.btn.btn--dark,a.btn.btn--dark,button.btn.btn--dark,a.btn.dl-feat-card__btn,.dl-feat-card__btn,.page-download .dl-feat-card__btn,.page-download a.btn.btn--dark,.page-download a[download].btn,.btn.btn--dark span,.btn.btn--dark *,a.btn.btn--dark span,a.btn.btn--dark *,a.btn.dl-feat-card__btn span,a.btn.dl-feat-card__btn *,.dl-feat-card__btn span,.dl-feat-card__btn *,.contact-form__submit,.site-footer .btn,.site-footer .btn *,.home-cta__btn,.site-cta__btn,.hero-cta.btn--dark{color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important}

/* inlined last ? also loaded via btn-lock.css */
/* BUTTON TEXT VISIBLE 20260728btns ? load AFTER styles.css */
a.btn, button.btn, .btn, .btn *,
.btn--primary, .btn--primary *,
.btn--dark, .btn--dark *,
.btn--fill, .btn--solid,
.dl-feat-card__btn, .dl-feat-card__btn *,
button[type="submit"], input[type="submit"],
.cta-btn, .hero .btn--dark, .hero a.btn.btn--dark,
.home-cta__btn, .site-cta__btn, .site-cta__btn *,
.contact-form__submit, .contact-form__submit *,
.site-footer .btn, .site-footer .btn *,
.cta-band .btn--dark, .cta-band .btn--dark *,
.page-download .btn--dark, .page-download .btn--dark *,
.page-download .dl-feat-card__btn, .page-download .dl-feat-card__btn *,
.hero-cta.btn--dark, .hero-cta.btn--dark * {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  opacity: 1 !important;
}

/* Cream / light filled CTAs ? dark ink (not nuclear white) */
.hero-cta, .hero-cta *, a.hero-cta, .page-home .hero-cta, .page-home .hero-cta *,
.home-hero .hero-cta, .home-hero .hero-cta *, .home-hero a.hero-cta,
.btn--light, .btn--light *, a.btn--light,
.dl-cta__btn, .dl-cta__btn *, .dl-table__dl, .dl-table__dl * {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  opacity: 1 !important;
}

/* Outline / ghost / line on light BG ? dark ink (after white) */
a.btn.btn--ghost, button.btn.btn--ghost, .btn--ghost, .btn--ghost *,
a.btn.btn--outline, button.btn.btn--outline, .btn--outline, .btn--outline *,
a.btn.btn--line, button.btn.btn--line, .btn--line, .btn--line *,
a.btn.btn--light, button.btn.btn--light, .btn--light, .btn--light *,
.dl-cta__btn, .dl-cta__btn * {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  opacity: 1 !important;
}

/* Photo-hero CTAs: ink type on cream plate idle (hover invert in btn-ink-lock) */
.hero .btn--line, .hero .btn--line *,
.home-hero .btn--line, .home-hero .btn--line *,
.page-hero .btn--line, .page-hero .btn--line *,
.craft-hero .btn--line, .craft-hero .btn--line *,
.about-hero .btn--line, .about-hero .btn--line *,
.pcat-hero .btn--line, .pcat-hero .btn--line *,
.product-hero .btn--line, .product-hero .btn--line *,
.news-hero .btn--line, .news-hero .btn--line *,
.faq-hero .btn--line, .faq-hero .btn--line *,
.dl-hero .btn--line, .dl-hero .btn--line *,
.contact-hero .btn--line, .contact-hero .btn--line *,
.hero .btn--ghost, .hero .btn--outline,
.home-hero .btn--ghost, .home-hero .btn--outline,
.page-hero .btn--ghost, .page-hero .btn--outline,
.about-hero__cta, .about-hero__cta *,
.news-hero__cta, .news-hero__cta *,
.faq-hero__cta, .faq-hero__cta *,
.dl-hero__cta, .dl-hero__cta *,
.product-hero__cta, .product-hero__cta *,
.contact-hero__cta, .contact-hero__cta * {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  opacity: 1 !important;
}

.btn--line:hover, a.btn--line:hover, .btn--line:hover *, a.btn--line:hover * {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

/* =========================================================
   LOADER QUIET LUXURY 20260728loadok ? absolute last
   Cream field + ink type. Beats dark-loader readability locks.
   ========================================================= */
.page-loader,
.page-loader__bg,
.page-loader__wash,
.page-loader__field,
.page-loader__paper,
.page-loader__space {
  background: #E5E2D9 !important;
  background-color: #E5E2D9 !important;
}
.page-loader {
  background-image: linear-gradient(165deg, #E5E2D9 0%, #E0DBD1 42%, #D8D2C6 100%) !important;
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
}
.page-loader__wash {
  background-image:
    radial-gradient(ellipse 70% 55% at 50% 40%, rgba(245, 239, 228, 0.55) 0%, transparent 72%),
    linear-gradient(165deg, #E5E2D9 0%, #E0DBD1 42%, #D8D2C6 100%) !important;
}
.page-loader,
.page-loader *,
.page-loader__stage,
.page-loader__stage *,
.page-loader__eyebrow,
.page-loader__brand,
.page-loader__tagline,
.page-loader__connect,
.page-loader__connect-text,
.page-loader__status,
.page-loader__footer,
.page-loader__footer * {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
}
.page-loader__eyebrow {
  font-family: "Outfit", sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
}
.page-loader.is-active .page-loader__eyebrow { opacity: 1 !important; }
.page-loader__brand {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-size: clamp(2.35rem, 7vw, 3.35rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: none !important;
  opacity: 1 !important;
}
.page-loader.is-active .page-loader__brand { opacity: 1 !important; }
.page-loader__tagline {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-style: italic !important;
  font-size: 1.05rem !important;
  opacity: 0.72 !important;
}
.page-loader.is-active .page-loader__tagline { opacity: 0.72 !important; }
.page-loader__rule-track {
  background: rgba(26, 21, 16, 0.14) !important;
}
.page-loader__rule-fill {
  background: #1A1510 !important;
}
.page-loader__space,
.page-loader__stars,
.page-loader__glow,
.page-loader__orb,
.page-loader__spark,
.page-loader__mark,
.page-loader__footer,
.page-loader__connect,
.page-loader__ellipsis,
.page-loader__ticks,
.page-loader__bar-tip,
.page-loader__status {
  display: none !important;
}

/* HDRTYPE2_FINAL ? absolute last (wins over later agent appends) */
.site-header .logo__mark,.logo__mark,a.logo .logo__mark{font-family:"Cormorant Garamond",Georgia,serif!important;font-weight:700!important;font-size:clamp(1.75rem,2.4vw,2.2rem)!important;letter-spacing:0.06em!important;padding-left:0.06em!important;line-height:1!important;text-transform:none!important;font-variant-caps:normal!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;text-shadow:none!important;filter:none!important}
body.is-scrolled .site-header .logo__mark,.site-header.is-scrolled .logo__mark,body.is-scrolled .logo__mark{font-weight:700!important;font-size:clamp(1.5rem,1.9vw,1.85rem)!important;letter-spacing:0.055em!important;padding-left:0.055em!important;text-transform:none!important;text-shadow:none!important}
.site-header .header-cats a,.header-cats a,nav.header-cats a{font-family:"Outfit",system-ui,-apple-system,"Segoe UI",sans-serif!important;font-weight:500!important;font-size:0.875rem!important;letter-spacing:0.04em!important;text-transform:none!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;text-shadow:none!important;filter:none!important}
.site-header .header-cats a:hover,.header-cats a:hover{letter-spacing:0.045em!important;text-shadow:none!important}
body.is-scrolled .site-header .header-cats a,.site-header.is-scrolled .header-cats a,body.is-scrolled .header-cats a{font-weight:500!important;font-size:0.82rem!important;letter-spacing:0.035em!important;text-transform:none!important}
body:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,body:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,body:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,body:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a{color:#1A1510!important;-webkit-text-fill-color:#1A1510!important;text-shadow:none!important}
/* =========================================================
   HEADER LAYOUT OK (20260728layoutok) ? TRUE LAST WINS
   lang row + logo left / nav center / tools right
   idle transparent; hover #E5E2D9; scrolled solid cream
   ========================================================= */

:root {
  --lang-bar-h: 2.1rem !important;
  --header-h: 4.35rem !important;
  --header-cream: #E5E2D9 !important;
  --header-ink: #1A1510 !important;
  --header-cream-text: #F5EFE4 !important;
}

.site-chrome {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: calc(var(--lang-bar-h) + var(--header-h)) !important;
  z-index: 210 !important;
  pointer-events: none !important;
  isolation: isolate !important;
}
.site-chrome .lang-bar,
.site-chrome .site-header { pointer-events: auto !important; }

.lang-bar {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  z-index: 212 !important;
  height: var(--lang-bar-h) !important;
  display: flex !important;
  align-items: center !important;
  background: #0C0B0A !important;
  color: rgba(245, 239, 228, 0.72) !important;
  border-bottom: 1px solid rgba(245, 239, 228, 0.08) !important;
  transform: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  overflow: hidden !important;
}
.lang-bar__inner {
  width: min(100% - 2.5rem, 92rem) !important;
  margin-inline: auto !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
}
.lang-bar__link,
.lang-bar a,
.lang-bar__globe {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, sans-serif !important;
  font-size: 0.58rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
  opacity: 1 !important;
  padding: 0.35rem 0.4rem !important;
}
.lang-bar__globe { padding: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
.lang-bar__link.is-active,
.lang-bar__link:hover {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
.lang-bar__link.is-active::after,
.lang-bar__link:hover::after {
  background: #FFFFFF !important;
  opacity: 1 !important;
  width: calc(100% - 1.1rem) !important;
}

.site-header {
  position: fixed !important;
  top: var(--lang-bar-h) !important;
  left: 0 !important; right: 0 !important;
  z-index: 211 !important;
  display: block !important;
  height: var(--header-h) !important;
  padding: 0 !important;
  gap: 0 !important;
  background: transparent !important;
  border-bottom: 1px solid transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: var(--header-cream-text) !important;
  overflow: visible !important;
}

.site-header__top,
.header-left,
.header-right { display: none !important; }

.site-header__bar {
  width: min(100% - 2.5rem, 92rem) !important;
  margin-inline: auto !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  gap: clamp(1rem, 2.5vw, 2.5rem) !important;
  min-height: var(--header-h) !important;
}

.site-header .logo,
.site-header__bar > .logo {
  justify-self: start !important;
  display: flex !important;
  align-items: center !important;
  text-align: left !important;
  overflow: visible !important;
  max-width: none !important;
  z-index: 2 !important;
}

.site-header .logo__mark,
.logo__mark,
a.logo .logo__mark {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-weight: 700 !important;
  font-size: clamp(1.35rem, 1.8vw, 1.75rem) !important;
  letter-spacing: 0.05em !important;
  padding-left: 0.05em !important;
  line-height: 1.05 !important;
  text-transform: none !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-shadow: none !important;
  filter: none !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

.site-header .header-cats,
nav.header-cats {
  justify-self: center !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(0.85rem, 1.6vw, 1.65rem) !important;
  max-height: none !important;
  opacity: 1 !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

.site-header .header-cats a,
.header-cats a,
nav.header-cats a {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
  padding: 0.55rem 0 !important;
  opacity: 1 !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
  white-space: nowrap !important;
}

.header-tools {
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.85rem !important;
  color: inherit !important;
}

.site-header .nav-toggle,
.site-header .search-btn { color: inherit !important; opacity: 1 !important; }
.site-header .nav-toggle span { background: currentColor !important; }
.site-header .search-btn::before { background: transparent !important; border-color: currentColor !important; }
.site-header .search-btn::after { background: currentColor !important; }

/* Idle transparent + cream type */
body:not(.is-scrolled) .site-header,
.page-home:not(.is-scrolled) .site-header,
.page-about:not(.is-scrolled) .site-header,
.page-products:not(.is-scrolled) .site-header,
.page-craftsmanship:not(.is-scrolled) .site-header,
.page-download:not(.is-scrolled) .site-header,
.page-contact:not(.is-scrolled) .site-header,
.page-news:not(.is-scrolled) .site-header,
.page-faq:not(.is-scrolled) .site-header {
  top: var(--lang-bar-h) !important;
  background: transparent !important;
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  color: var(--header-cream-text) !important;
}

body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .nav-toggle,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn {
  color: var(--header-cream-text) !important;
  -webkit-text-fill-color: var(--header-cream-text) !important;
  text-shadow: none !important;
}
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .nav-toggle span {
  background: var(--header-cream-text) !important;
}
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn::before {
  background: transparent !important;
  border-color: var(--header-cream-text) !important;
}
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn::after {
  background: var(--header-cream-text) !important;
}

/* Hover cream #E5E2D9 */
body:not(.is-scrolled) .site-chrome:hover .site-header,
body:not(.is-scrolled) .site-chrome:focus-within .site-header {
  top: var(--lang-bar-h) !important;
  background: rgba(229, 226, 217, 0.96) !important;
  background-color: rgba(229, 226, 217, 0.96) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom-color: rgba(26, 21, 16, 0.1) !important;
  box-shadow: none !important;
  color: var(--header-ink) !important;
}
body:not(.is-scrolled) .site-chrome:hover .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:hover .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:hover .site-header .nav-toggle,
body:not(.is-scrolled) .site-chrome:hover .site-header .search-btn,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .nav-toggle,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn {
  color: var(--header-ink) !important;
  -webkit-text-fill-color: var(--header-ink) !important;
  text-shadow: none !important;
}
body:not(.is-scrolled) .site-chrome:hover .site-header .nav-toggle span,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .nav-toggle span {
  background: var(--header-ink) !important;
}
body:not(.is-scrolled) .site-chrome:hover .site-header .search-btn::before,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn::before {
  background: transparent !important;
  border-color: var(--header-ink) !important;
}
body:not(.is-scrolled) .site-chrome:hover .site-header .search-btn::after,
body:not(.is-scrolled) .site-chrome:focus-within .site-header .search-btn::after {
  background: var(--header-ink) !important;
}

/* Scrolled solid cream */
body.is-scrolled .site-header,
.site-header.is-scrolled {
  top: var(--lang-bar-h) !important;
  background: rgba(229, 226, 217, 0.98) !important;
  background-color: rgba(229, 226, 217, 0.98) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom-color: rgba(26, 21, 16, 0.1) !important;
  box-shadow: none !important;
  color: var(--header-ink) !important;
  padding: 0 !important;
}
body.is-scrolled .site-header .logo__mark,
body.is-scrolled .site-header .header-cats a,
.site-header.is-scrolled .logo__mark,
.site-header.is-scrolled .header-cats a {
  color: var(--header-ink) !important;
  -webkit-text-fill-color: var(--header-ink) !important;
  text-shadow: none !important;
}
body.is-scrolled .site-header .logo__mark,
.site-header.is-scrolled .logo__mark {
  font-size: clamp(1.2rem, 1.5vw, 1.55rem) !important;
}
body.is-scrolled .site-header .header-cats a,
.site-header.is-scrolled .header-cats a {
  font-size: 0.76rem !important;
}
body.is-scrolled .site-header .nav-toggle span,
.site-header.is-scrolled .nav-toggle span {
  background: var(--header-ink) !important;
}
body.is-scrolled .site-chrome:hover .site-header,
body.is-scrolled .site-chrome:focus-within .site-header {
  top: var(--lang-bar-h) !important;
}

.site-header .search-panel {
  position: absolute !important;
  left: 0 !important; right: 0 !important; top: 100% !important;
  background: rgba(229, 226, 217, 0.98) !important;
  color: var(--header-ink) !important;
  z-index: 5 !important;
}

main { position: relative !important; z-index: 1 !important; }

@media (max-width: 980px) {
  .site-header .header-cats,
  nav.header-cats { display: none !important; }
  .site-header__bar { grid-template-columns: 1fr auto !important; }
  .site-header .logo__mark, .logo__mark {
    font-size: clamp(1.25rem, 4.5vw, 1.55rem) !important;
  }
  :root { --header-h: 3.85rem !important; }
}
@media (max-width: 640px) {
  .lang-bar__globe { display: none !important; }
  .lang-bar__inner { width: min(100% - 1.25rem, 92rem) !important; }
  .site-header__bar { width: min(100% - 1.25rem, 92rem) !important; gap: 0.75rem !important; }
}


/* =========================================================
   LOADER QUIET LUXURY FINAL 20260728loadok ? beats SEEALL dark loader
   ========================================================= */
.page-loader,
.page-loader__bg,
.page-loader__wash,
.page-loader__field,
.page-loader__paper,
.page-loader__space {
  background: #E5E2D9 !important;
  background-color: #E5E2D9 !important;
  background-image: none !important;
}
.page-loader {
  background-image: linear-gradient(165deg, #E5E2D9 0%, #E0DBD1 42%, #D8D2C6 100%) !important;
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
}
.page-loader__wash {
  background:
    radial-gradient(ellipse 70% 55% at 50% 40%, rgba(245, 239, 228, 0.55) 0%, transparent 72%),
    linear-gradient(165deg, #E5E2D9 0%, #E0DBD1 42%, #D8D2C6 100%) !important;
  background-image:
    radial-gradient(ellipse 70% 55% at 50% 40%, rgba(245, 239, 228, 0.55) 0%, transparent 72%),
    linear-gradient(165deg, #E5E2D9 0%, #E0DBD1 42%, #D8D2C6 100%) !important;
}
.page-loader,
.page-loader *,
.page-loader__stage,
.page-loader__stage *,
.page-loader__eyebrow,
.page-loader__brand,
.page-loader__tagline {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
}
.page-loader__eyebrow {
  font-family: "Outfit", sans-serif !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
}
.page-loader__brand {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-size: clamp(2.35rem, 7vw, 3.35rem) !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}
.page-loader__tagline {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-style: italic !important;
  opacity: 0.72 !important;
}
.page-loader.is-active .page-loader__eyebrow,
.page-loader.is-active .page-loader__brand {
  opacity: 1 !important;
}
.page-loader.is-active .page-loader__tagline {
  opacity: 0.72 !important;
}
.page-loader__rule-track { background: rgba(26, 21, 16, 0.14) !important; }
.page-loader__rule-fill { background: #1A1510 !important; }
.page-loader__space,
.page-loader__stars,
.page-loader__glow,
.page-loader__orb,
.page-loader__spark,
.page-loader__mark,
.page-loader__footer,
.page-loader__connect,
.page-loader__ellipsis,
.page-loader__ticks,
.page-loader__bar-tip,
.page-loader__status {
  display: none !important;
}
/* end LOADER 20260728loadok */

/* =========================================================
   VISIBILITY FINAL 20260728vis ? absolute EOF / last sheet
   Order: light ink ? photo heroes ? dark buttons ? header
   Beats see / seeall / heroink / btns / layoutok / hdrtype
   ========================================================= */

/* A. Light page ? dark ink */
body,
.section:not(.section--dark):not(.cta-band):not(.section--stats),
main p,
main h2,
main h3,
.section h2,
.section h3,
.lead,
.muted,
.block-head,
.home-section-head h2,
.pcat-head h2,
.pcat-head p {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.accent-glow,
.hero-line__glow {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  text-shadow: none !important;
}

/* B. Photo heroes ? cream + veil + content above veil */
.home-hero__veil,
.page-hero__veil,
.craft-hero__veil,
.about-hero__veil,
.pcat-hero__veil,
.product-hero__veil,
.news-hero__veil,
.faq-hero__veil,
.dl-hero__veil,
.contact-hero__veil,
.pdet-hero__veil,
.hero__veil {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  background:
    linear-gradient(105deg, rgba(12, 10, 8, 0.58) 0%, rgba(12, 10, 8, 0.22) 42%, rgba(12, 10, 8, 0.12) 68%, rgba(12, 10, 8, 0.4) 100%),
    linear-gradient(180deg, rgba(12, 10, 8, 0.28) 0%, transparent 36%, rgba(12, 10, 8, 0.55) 100%) !important;
}
.home-hero,
.page-hero,
.craft-hero,
.about-hero,
.pcat-hero,
.product-hero,
.news-hero,
.faq-hero,
.dl-hero,
.contact-hero,
.pdet-hero,
.hero {
  position: relative !important;
}
.home-hero__layout,
.home-hero__copy,
.home-hero__content,
.craft-hero__content,
.about-hero__content,
.page-hero__content,
.pcat-hero__content,
.product-hero__content,
.news-hero__content,
.faq-hero__content,
.dl-hero__content,
.contact-hero__content,
.pdet-hero__content,
[class*="-hero"] .hero-content,
[class*="-hero__content"] {
  position: relative !important;
  z-index: 3 !important;
}
.page-hero::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(105deg, rgba(12, 10, 8, 0.55) 0%, rgba(12, 10, 8, 0.2) 45%, rgba(12, 10, 8, 0.35) 100%),
    linear-gradient(180deg, rgba(12, 10, 8, 0.25) 0%, transparent 40%, rgba(12, 10, 8, 0.5) 100%) !important;
}
.page-hero > * { position: relative !important; z-index: 1 !important; }

.hero,
.home-hero,
.page-hero,
.craft-hero,
.about-hero,
.pcat-hero,
.product-hero,
.news-hero,
.faq-hero,
.dl-hero,
.contact-hero,
.pdet-hero,
.hero-kicker,
.hero-brand,
.hero-line,
.hero-line__glow,
.hero-tagline,
.hero__eyebrow,
.hero__title,
.hero__lead,
.hero__content,
.home-hero__copy,
.home-hero__content,
.home-hero h1,
.home-hero p,
.home-hero a:not(.btn):not(.hero-cta),
.page-hero__eyebrow,
.page-hero__label,
.page-hero__title,
.page-hero__lead,
.craft-hero__eyebrow,
.craft-hero__label,
.craft-hero__title,
.craft-hero__lead,
.craft-hero__content,
.about-hero__eyebrow,
.about-hero__label,
.about-hero__title,
.about-hero__lead,
.about-hero__content,
.pcat-hero__eyebrow,
.pcat-hero__label,
.pcat-hero__title,
.pcat-hero__lead,
.product-hero__eyebrow,
.product-hero__label,
.product-hero__title,
.product-hero__lead,
.news-hero__eyebrow,
.news-hero__label,
.news-hero__title,
.news-hero__lead,
.faq-hero__eyebrow,
.faq-hero__label,
.faq-hero__title,
.faq-hero__lead,
.dl-hero__eyebrow,
.dl-hero__label,
.dl-hero__title,
.dl-hero__lead,
.contact-hero__eyebrow,
.contact-hero__label,
.contact-hero__title,
.contact-hero__lead {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.hero .accent-glow,
.home-hero .accent-glow,
.home-hero .hero-line__glow,
.page-hero .accent-glow,
.craft-hero .accent-glow,
.about-hero .accent-glow {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  text-shadow: none !important;
}

/* C. Dark buttons ? AFTER ink + hero (white on dark pill) */
.btn--dark,
a.btn--dark,
button.btn--dark,
a.btn.btn--dark,
.dl-feat-card__btn,
a.dl-feat-card__btn,
.page-download .dl-feat-card__btn,
.page-download a.btn.btn--dark,
.page-download a[download].btn--dark,
.contact-form__submit,
.home-cta__btn,
.site-cta__btn,
.site-footer .btn--dark,
.cta-band .btn--dark,
.btn--dark span,
.btn--dark *,
a.btn--dark span,
a.btn--dark *,
.dl-feat-card__btn span,
.dl-feat-card__btn *,
.hero-cta.btn--dark,
.hero-cta.btn--dark * {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.btn--dark,
a.btn--dark,
button.btn--dark,
.dl-feat-card__btn,
a.btn.btn--dark.dl-feat-card__btn {
  background-color: #1A1510 !important;
  background-image: none !important;
  border-color: #1A1510 !important;
}
.btn--dark:hover,
a.btn--dark:hover,
.dl-feat-card__btn:hover,
.btn--dark:hover span,
.btn--dark:hover *,
.dl-feat-card__btn:hover span,
.dl-feat-card__btn:hover * {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* C2. Cream / light filled CTAs ? dark ink */
.btn--light, a.btn--light, .btn--light *,
.hero-cta, a.hero-cta, .hero-cta span, .hero-cta *,
.page-home .hero-cta, .page-home .hero-cta *,
.home-hero .hero-cta, .home-hero .hero-cta *, .home-hero a.hero-cta,
.dl-cta__btn, .dl-cta__btn *, .dl-table__dl, .dl-table__dl * {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  text-shadow: none !important;
}
.hero-cta, a.hero-cta, .page-home .hero-cta, .home-hero .hero-cta, .btn--light {
  background-color: #F5EFE4 !important;
}

/* D. Header ? home idle cream; else / hover / scrolled = ink */
.site-header .logo,
.site-header .logo__mark,
.site-header .header-cats a,
.site-header .nav a,
.site-header .header-link,
.site-header .nav-toggle,
.site-header .search-btn {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
}
.site-header .nav-toggle span { background: #1A1510 !important; }
.site-header .search-btn::before,
.site-header .search-btn::after {
  background: #1A1510 !important;
  border-color: #1A1510 !important;
}

/* Kill layoutok all-page idle cream (equal specificity, then home wins) */
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .logo__mark,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-cats a,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .nav a,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .header-link,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .nav-toggle,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
}
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .nav-toggle span {
  background: #1A1510 !important;
}
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn::before,
body:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .site-header .search-btn::after {
  background: #1A1510 !important;
  border-color: #1A1510 !important;
}

.page-home .site-chrome:not(:hover):not(.is-scrolled) .logo,
.page-home .site-chrome:not(:hover):not(.is-scrolled) .logo__mark,
.page-home .site-chrome:not(:hover):not(.is-scrolled) .nav a,
.page-home .site-chrome:not(:hover):not(.is-scrolled) .header-cats a,
.page-home .site-chrome:not(:hover):not(.is-scrolled) .header-link,
.page-home .site-chrome:not(:hover):not(.is-scrolled) .nav-toggle,
.page-home .site-chrome:not(:hover):not(.is-scrolled) .search-btn,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .logo,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .logo__mark,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .header-cats a,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .header-link,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .nav-toggle,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .search-btn {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}
.page-home .site-chrome:not(:hover):not(.is-scrolled) .nav-toggle span,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .nav-toggle span {
  background: #F5EFE4 !important;
}
.page-home .site-chrome:not(:hover):not(.is-scrolled) .search-btn::before,
.page-home .site-chrome:not(:hover):not(.is-scrolled) .search-btn::after,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .search-btn::before,
.page-home:not(.is-scrolled) .site-chrome:not(:hover):not(:focus-within) .search-btn::after {
  background: #F5EFE4 !important;
  border-color: #F5EFE4 !important;
}

.site-chrome:hover .logo,
.site-chrome:hover .logo__mark,
.site-chrome:hover .nav a,
.site-chrome:hover .header-cats a,
.site-chrome:hover .header-link,
.site-chrome:hover .nav-toggle,
.site-chrome:hover .search-btn,
.site-chrome.is-scrolled .logo,
.site-chrome.is-scrolled .logo__mark,
.site-chrome.is-scrolled .nav a,
.site-chrome.is-scrolled .header-cats a,
.site-chrome:focus-within .logo,
.site-chrome:focus-within .logo__mark,
.site-chrome:focus-within .header-cats a,
.site-chrome:focus-within .nav-toggle,
.site-chrome:focus-within .search-btn,
body.is-scrolled .site-header .logo,
body.is-scrolled .site-header .logo__mark,
body.is-scrolled .site-header .header-cats a,
body.is-scrolled .site-header .nav-toggle,
body.is-scrolled .site-header .search-btn,
.site-header.is-scrolled .logo__mark,
.site-header.is-scrolled .header-cats a {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
}
.site-chrome:hover .nav-toggle span,
.site-chrome:focus-within .nav-toggle span,
.site-chrome.is-scrolled .nav-toggle span,
body.is-scrolled .site-header .nav-toggle span {
  background: #1A1510 !important;
}
.site-chrome:hover .search-btn::before,
.site-chrome:hover .search-btn::after,
.site-chrome:focus-within .search-btn::before,
.site-chrome:focus-within .search-btn::after,
body.is-scrolled .site-header .search-btn::before,
body.is-scrolled .site-header .search-btn::after {
  background: #1A1510 !important;
  border-color: #1A1510 !important;
}
/* end VISIBILITY FINAL 20260728vis */

/* =========================================================
   FEATURED CAPTION TYPE 20260728feattype ? absolute last
   Home .feat-card + Products .pcat-feat-card under-image copy
   ========================================================= */

/* Body stack: air under image, clear rhythm between lines */
.page-home .feat-card,
.page-home .feat-card.feat-card {
  gap: 0 !important;
}

.page-home .feat-card__body,
.page-products-catalog .pcat-feat-card__body {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.55rem !important;
  padding: clamp(1.15rem, 2.2vw, 1.55rem) 0.1rem 0.25rem !important;
  margin: 0 !important;
  min-width: 0 !important;
}

/* 1. Category / index label ? Outfit, small caps, dark ink (not washed grey) */
.page-home .feat-card__index,
.page-products-catalog .pcat-feat-card__body .eyebrow,
.featured-card__copy .eyebrow {
  display: block !important;
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #3A3128 !important;
  -webkit-text-fill-color: #3A3128 !important;
  opacity: 1 !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}

.page-home .feat-card__index {
  letter-spacing: 0.12em !important;
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  font-variant-numeric: tabular-nums !important;
}

/* 2. Title ? Cormorant Garamond, elegant weight/size */
.page-home .feat-card__body h3,
.page-home .feat-card__body h3 a,
.page-products-catalog .pcat-feat-card__body h3,
.page-products-catalog .pcat-feat-card__body h3 a,
.featured-card h3,
.featured-card__copy h3 {
  font-family: var(--wa-font-display, "Instrument Serif"), Georgia, serif !important;
  font-size: clamp(1.45rem, 2.15vw, 1.9rem) !important;
  font-weight: 500 !important;
  letter-spacing: -0.012em !important;
  line-height: 1.22 !important;
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  margin: 0 !important;
  max-width: none !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-decoration: none !important;
}

.page-home .feat-card__body h3 a:hover,
.page-products-catalog .pcat-feat-card__body h3 a:hover {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  opacity: 0.78 !important;
}

/* 3. Description ? Outfit, readable, #3A3128 */
.page-home .feat-card__body p,
.page-products-catalog .pcat-feat-card__body p,
.featured-card p,
.featured-card__copy p {
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: #3A3128 !important;
  -webkit-text-fill-color: #3A3128 !important;
  margin: 0 !important;
  max-width: 38ch !important;
  opacity: 1 !important;
}

/* 4. View details ? clean Outfit, one line, proper underline */
.page-products-catalog .pcat-feat-card__body .link-arrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  white-space: nowrap !important;
  font-family: var(--wa-font-body, "Plus Jakarta Sans"), system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(26, 21, 16, 0.55) !important;
  padding-bottom: 0.12rem !important;
  margin: 0.35rem 0 0 !important;
  line-height: 1.3 !important;
  opacity: 1 !important;
}

.page-products-catalog .pcat-feat-card__body .link-arrow::before {
  display: none !important;
  content: none !important;
}

.page-products-catalog .pcat-feat-card__body .link-arrow::after {
  content: "\2192" !important;
  font-size: 0.95em !important;
  line-height: 1 !important;
  transform: none !important;
}

.page-products-catalog .pcat-feat-card__body .link-arrow:hover {
  opacity: 0.72 !important;
  gap: 0.65rem !important;
  border-bottom-color: #1A1510 !important;
}

.page-products-catalog .pcat-feat-card__body .link-arrow:hover::after {
  transform: translateX(2px) !important;
}

.featured-card__copy {
  padding-top: clamp(1.15rem, 2.2vw, 1.55rem) !important;
}

/* end FEATURED CAPTION TYPE 20260728feattype */

/* =========================================================
   LOADER GRAIN 20260728loadgrain ? visible paper/film texture
   ========================================================= */
.page-loader__noise {
  display: block !important;
  opacity: 0.16 !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") !important;
  background-size: 160px 160px !important;
  background-repeat: repeat !important;
  mix-blend-mode: multiply !important;
  pointer-events: none !important;
}
/* end LOADER GRAIN 20260728loadgrain */

/* =========================================================
   SOLID CREAM EOF 20260728solid ? kill paper grain overlays
   Flat #E5E2D9 only. Satellite solidcream-20260728.css also wins.
   ========================================================= */
:root {
  --ambiance-photo: none !important;
  --atelier-grain: none !important;
  --atelier-streak: none !important;
  --streak-photo: none !important;
  --bg: #E5E2D9 !important;
  --cream: #E5E2D9 !important;
  --ink: #1A1510 !important;
  --ink-heading: #1A1510 !important;
  --ink-body: #1A1510 !important;
  --ink-muted: #3A3128 !important;
  --fg: #1A1510 !important;
  --fg-muted: #3A3128 !important;
}

html {
  background: #E5E2D9 !important;
  background-color: #E5E2D9 !important;
  background-image: none !important;
}

html::before,
html::after,
body::before,
body::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body {
  background: #E5E2D9 !important;
  background-color: #E5E2D9 !important;
  background-image: none !important;
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
  animation: none !important;
}

.page-loader__noise {
  display: none !important;
  opacity: 0 !important;
  background: none !important;
  background-image: none !important;
}

body,
p,
.lead,
.muted,
li,
label {
  color: #1A1510 !important;
}

h1, h2, h3, h4, h5, h6,
.section-title,
.page-title,
.logo__mark {
  color: #1A1510 !important;
  -webkit-text-fill-color: #1A1510 !important;
}
/* end SOLID CREAM EOF 20260728solid */

/* =========================================================
   SOLID CREAM ABSOLUTE KILL 20260728solid2
   ========================================================= */
html, body {
  background: #E5E2D9 !important;
  background-color: #E5E2D9 !important;
  background-image: none !important;
}
html::before, html::after, body::before, body::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  background: none !important;
  background-image: none !important;
  pointer-events: none !important;
}
.page-loader__noise { display: none !important; opacity: 0 !important; background: none !important; background-image: none !important; }