@font-face {
  font-family: "MPS Noto Sans";
  src: url("../fonts/noto-sans-latin-wght-normal.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "MPS Noto Serif";
  src: url("../fonts/noto-serif-latin-wght-normal.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

/* The drawn italic, not the browser's synthetic slant. Only the upright was
   bundled originally, so anything set in italic — the preloader wordmark
   above all — was being mechanically sheared. At display size that reads as
   a shortcut; a true italic has its own letterforms. */
@font-face {
  font-family: "MPS Noto Serif";
  src: url("../fonts/noto-serif-latin-wght-italic.woff2") format("woff2-variations");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}

/* The display face, used for the opening wordmark alone.
   Noto is drawn for coverage across every writing system, which is exactly
   what the body text needs and exactly why it reads as neutral rather than
   expensive at 6rem. Cormorant Garamond is a Garamond revival drawn for
   display: high stroke contrast, long extenders, a true cursive italic with
   its own letterforms. It is the face this kind of lockup is made of. */
@font-face {
  font-family: "MPS Display";
  src: url("../fonts/cormorant-garamond-latin-wght-italic.woff2") format("woff2-variations");
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
}

:root {
  /* Nature-green editorial minimalism. Hues moved from the original warm
     brown at equivalent luminance, so every contrast pairing the design
     relied on still holds. Gold is unchanged: it is the crest's metal. */
  --canvas: #f4f7f2;
  --surface: #e8efe7;
  --surface-strong: #d6e3d3;
  --ink: #16251c;
  --muted: #5f7368;
  --line: #c9d9c5;
  --accent: #3f7d55;
  --accent-strong: #285538;
  --brand-gold: #c2a464;
  --brand-gold-strong: #8c7038;
  --on-accent: #f2f8f1;
  --nature-deep: #12241a;
  --focus: #2f6b46;
  --serif: "MPS Noto Serif", "Noto Serif Thai", "Noto Serif SC", Georgia, serif;
  --sans: "MPS Noto Sans", "Noto Sans Thai", "Noto Sans SC", Arial, sans-serif;
  --shell: 1360px;
  --reading: 680px;
  --gutter: clamp(1.25rem, 4vw, 3.5rem);
  --section: clamp(6rem, 9vw, 10rem);
  --radius: 2px;
  --ease-luxury: cubic-bezier(0.22, 1, 0.36, 1);
  --transition: 280ms var(--ease-luxury);
  --transition-slow: 600ms var(--ease-luxury);
  --header-height: 72px;
}

.locale-th {
  --serif: "Noto Serif Thai Variable", "MPS Noto Serif", serif;
  --sans: "Noto Sans Thai Variable", "MPS Noto Sans", sans-serif;
}

.locale-zh-cn {
  --serif: "Noto Serif SC Variable", "MPS Noto Serif", serif;
  --sans: "Noto Sans SC Variable", "MPS Noto Sans", sans-serif;
}

/* Signature motif: a brass hairline beside every section kicker, echoing a fragrance
   house's catalogue dossier — the recurring device that ties every page together. */
.section-note,
.media-hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
}
.section-note::before,
.media-hero__kicker::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 1px;
  background: var(--brand-gold-strong);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }
html.is-preloading { overflow: hidden; }

body {
  margin: 0;
  overflow-x: clip;
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

body.menu-open,
body.has-home-language-popup { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
button,
input,
select,
textarea { color: inherit; font: inherit; }
button,
a { -webkit-tap-highlight-color: transparent; }

:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

h1,
h2,
h3,
p { margin-top: 0; }

h1,
h2,
h3 {
  margin-bottom: 1.25rem;
  font-family: var(--serif);
  font-weight: 500;
  line-height: 1.04;
}

h1 { font-size: clamp(3rem, 6.5vw, 6rem); letter-spacing: -0.045em; }
h2 { font-size: clamp(2.4rem, 4.4vw, 4.6rem); letter-spacing: -0.035em; }
h3 { font-size: clamp(1.35rem, 2.1vw, 2rem); letter-spacing: -0.02em; }

.locale-th h1,
.locale-th h2,
.locale-th h3,
.locale-zh-cn h1,
.locale-zh-cn h2,
.locale-zh-cn h3 { letter-spacing: 0; line-height: 1.22; }

p { max-width: 65ch; color: var(--muted); }
.lead { color: var(--ink); font-size: clamp(1.25rem, 1.1rem + 0.75vw, 1.75rem); line-height: 1.5; }
.reading-width { width: min(100%, var(--reading)); }
.shell { width: min(100% - (var(--gutter) * 2), var(--shell)); margin-inline: auto; }
.section { padding-block: var(--section); }

.site-preloader {
  position: fixed;
  z-index: 400;
  inset: 0;
  display: grid;
  visibility: hidden;
  place-items: center;
  overflow: hidden;
  /* The one deliberate departure from the original site: a plain forest
     green rather than the terracotta accent. Flat colour, no gradient — the
     wordmark being written is the only thing that should hold the eye. */
  background: #0e241a;
  color: var(--on-accent);
  opacity: 0;
  pointer-events: none;
  transform: translate3d(0, 100%, 0);
  isolation: isolate;
  overscroll-behavior: contain;
  touch-action: none;
  will-change: transform;
}

html.is-preloading .site-preloader {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  animation: preloader-failsafe 7600ms linear forwards;
}

.site-preloader.is-entering {
  transform: translate3d(0, 0, 0);
  transition: transform 720ms var(--ease-luxury);
}

.site-preloader.is-closing {
  visibility: visible;
  opacity: 1;
  pointer-events: none;
  transform: translate3d(0, -100%, 0);
  animation: none;
  transition: transform 820ms var(--ease-luxury);
}

.site-preloader__stage {
  display: grid;
  width: min(86vw, 760px);
  min-height: clamp(136px, 18vw, 210px);
  place-items: center;
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition: opacity 900ms var(--ease-luxury), transform 1200ms var(--ease-luxury);
}

.site-preloader.is-typing .site-preloader__stage {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.site-preloader__signature {
  display: grid;
  justify-items: center;
  color: inherit;
}

.site-preloader__wordmark {
  display: block;
  color: var(--on-accent);
  font-family: "MPS Display", var(--serif);
  /* Cormorant runs small and light for its point size, so it is set larger
     and a step heavier than the Noto it replaces, with the tracking opened
     slightly — a display italic needs air around it to read as composed
     rather than cramped. */
  font-size: clamp(3.6rem, 8.6vw, 7.4rem);
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.012em;
  line-height: 1.08;
  text-rendering: geometricPrecision;
  white-space: nowrap;
}

.site-preloader__descriptor {
  /* Given a little more room and weight than before: the display face sits
     larger than the Noto it replaced, and the descriptor has to hold its own
     under it rather than trail off. */
  margin-top: clamp(0.8rem, 1.5vw, 1.3rem);
  color: color-mix(in srgb, var(--brand-gold), var(--on-accent) 22%);
  font-family: var(--sans);
  font-size: clamp(0.72rem, 0.9vw, 0.95rem);
  font-weight: 620;
  letter-spacing: 0.52em;
  line-height: 1;
  opacity: 0;
  text-indent: 0.52em;
  transform: translate3d(0, 8px, 0);
  transition: opacity 760ms var(--ease-luxury), transform 900ms var(--ease-luxury);
}

.site-preloader.is-written .site-preloader__descriptor {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.site-preloader.is-closing .site-preloader__stage {
  opacity: 0;
  transform: translate3d(0, -10px, 0);
  transition: opacity 300ms ease, transform 520ms var(--ease-luxury);
}

@keyframes preloader-failsafe {
  0%, 96% { visibility: visible; }
  100% { visibility: hidden; }
}

@media (max-width: 680px) {
  .site-preloader__stage { width: min(92vw, 430px); min-height: 142px; }
  .site-preloader__wordmark { font-size: clamp(3.3rem, 15vw, 4.9rem); }
  .site-preloader__descriptor { font-size: 0.64rem; letter-spacing: 0.4em; text-indent: 0.4em; }
}

@media (max-width: 360px) {
  .site-preloader__stage { width: 94vw; }
  .site-preloader__wordmark { font-size: 3.15rem; }
}

.site-loading-shell {
  position: fixed;
  z-index: 350;
  inset: 0;
  visibility: hidden;
  overflow: hidden;
  background: var(--canvas);
  opacity: 0;
  pointer-events: none;
}

html.is-page-loading .site-loading-shell {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  animation: loading-shell-failsafe 5200ms linear forwards;
}

.site-loading-shell.is-closing {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  animation: none;
  transition: opacity 220ms var(--ease-luxury), visibility 220ms;
}

.site-loading-shell__header {
  height: var(--header-height);
  border-bottom: 1px solid color-mix(in srgb, var(--line), transparent 24%);
  background: color-mix(in srgb, var(--canvas), transparent 3%);
}

.site-loading-shell__header-inner {
  display: grid;
  height: 100%;
  align-items: center;
  grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
  gap: clamp(1rem, 3vw, 3rem);
}

.site-loading-shell__brand,
.site-loading-shell__nav,
.site-loading-shell__actions,
.site-loading-shell__progress { display: flex; align-items: center; }
.site-loading-shell__logo { width: 42px; height: 42px; object-fit: contain; opacity: 0.42; }
.site-loading-shell__nav { justify-content: center; gap: clamp(1rem, 2vw, 1.75rem); }
.site-loading-shell__nav span { width: clamp(42px, 5vw, 72px); height: 6px; background: color-mix(in srgb, var(--ink), transparent 84%); }
.site-loading-shell__nav span:first-child,
.site-loading-shell__nav span:last-child { width: clamp(56px, 6vw, 88px); }
.site-loading-shell__actions { justify-self: end; gap: 1rem; }
.site-loading-shell__actions span { width: 18px; height: 18px; border: 1px solid color-mix(in srgb, var(--ink), transparent 70%); border-radius: 50%; }

.site-loading-shell__hero {
  position: relative;
  display: grid;
  min-height: calc(100dvh - var(--header-height));
  overflow: hidden;
  background: var(--surface);
}

.site-loading-shell__wash {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 76% 68% at 0% 18%, rgb(14 90 73 / 0.16), transparent 72%),
    linear-gradient(118deg, var(--surface-strong), var(--canvas) 72%);
}

.site-loading-shell__title {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: start;
  gap: clamp(0.7rem, 1.2vw, 1rem);
  padding-top: clamp(6rem, 13vh, 9rem);
}

.site-loading-shell__title > span {
  width: min(52vw, 710px);
  height: clamp(2.8rem, 5.2vw, 4.8rem);
  background: color-mix(in srgb, var(--accent-strong), transparent 82%);
}

.site-loading-shell__title > span:last-child {
  width: min(43vw, 590px);
  margin-left: clamp(1rem, 4vw, 4.5rem);
  background: color-mix(in srgb, var(--accent-strong), transparent 87%);
}

.site-loading-shell__progress {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 1.35rem;
  left: 0;
  width: min(100% - (var(--gutter) * 2), var(--shell));
  gap: 0.5rem;
}

.site-loading-shell__progress span { width: min(98px, 9vw); height: 1px; background: color-mix(in srgb, var(--accent), transparent 68%); }

@keyframes loading-shell-failsafe {
  0%, 94% { visibility: visible; opacity: 1; }
  100% { visibility: hidden; opacity: 0; pointer-events: none; }
}

@media (max-width: 1120px) {
  .site-loading-shell__header-inner { grid-template-columns: minmax(0, 1fr) auto; }
  .site-loading-shell__nav { display: none; }
}

@media (max-width: 680px) {
  .site-loading-shell__logo { width: 38px; height: 38px; }
  .site-loading-shell__actions { gap: 0.7rem; }
  .site-loading-shell__actions span { width: 16px; height: 16px; }
  .site-loading-shell__title { gap: 0.65rem; padding-top: clamp(4rem, 13vh, 6rem); }
  .site-loading-shell__title > span { width: min(82vw, 390px); height: clamp(2rem, 10vw, 2.9rem); }
  .site-loading-shell__title > span:last-child { width: min(68vw, 320px); margin-left: 0; }
  .site-loading-shell__progress { bottom: max(0.75rem, env(safe-area-inset-bottom)); gap: 0.3rem; }
  .site-loading-shell__progress span { width: min(20vw, 72px); }
}

.skip-link {
  position: fixed;
  z-index: 300;
  top: 0;
  left: 1rem;
  padding: 0.7rem 1rem;
  background: var(--focus);
  color: #fff;
  transform: translateY(-160%);
  transition: transform var(--transition);
}

.skip-link:focus { transform: translateY(0); }

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.header-scroll-sentinel { position: absolute; top: 0; left: 0; width: 1px; height: 8px; pointer-events: none; }

.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  height: var(--header-height);
  border-bottom: 1px solid color-mix(in srgb, var(--line), transparent 20%);
  background: color-mix(in srgb, var(--canvas), transparent 4%);
  color: var(--ink);
  box-shadow: 0 0 0 rgb(20 32 29 / 0);
  transition: background-color var(--transition-slow), border-color var(--transition), box-shadow var(--transition-slow), color var(--transition);
}

.site-header--overlay {
  position: fixed;
  right: 0;
  left: 0;
  border-bottom-color: transparent;
  background: transparent;
}

.site-header.is-scrolled {
  border-bottom-color: rgb(255 255 255 / 0.52);
  background: rgb(242 245 243 / 0.86);
  color: var(--ink);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.72), 0 12px 32px rgb(20 32 29 / 0.08);
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
}

.site-header.has-open-panel {
  border-bottom-color: var(--line);
  background: rgb(242 245 243 / 0.98);
  color: var(--ink);
  box-shadow: 0 12px 32px rgb(20 32 29 / 0.08);
  backdrop-filter: blur(14px) saturate(115%);
  -webkit-backdrop-filter: blur(14px) saturate(115%);
}

body:has([data-header-hero] .has-image) .site-header--overlay:not(.is-scrolled) { color: var(--on-accent); }
body:has([data-header-hero].is-placeholder) .site-header--overlay:not(.is-scrolled) { color: var(--ink); }
body:has(.home-hero.is-placeholder) .site-header--overlay:not(.is-scrolled) { color: var(--ink); }
body:has([data-header-hero] .has-image) .site-header--overlay.has-open-panel:not(.is-scrolled) { color: var(--ink); }

.site-header__inner { position: relative; z-index: 2; display: grid; min-width: 0; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: clamp(0.85rem, 2vw, 2rem); height: 100%; }
.brand { display: inline-flex; flex: 0 0 auto; align-items: center; line-height: 0; text-decoration: none; }
.brand__mark { width: 54px; height: 54px; object-fit: contain; opacity: 0.88; transition: opacity 320ms var(--ease-luxury), transform 480ms var(--ease-luxury); }
.brand:hover .brand__mark,
.brand:focus-visible .brand__mark { opacity: 1; transform: scale(1.025); }

.site-nav { display: flex; min-width: 0; align-items: center; justify-content: center; }
.site-nav__list { display: flex; align-items: center; gap: clamp(0.75rem, 1.55vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.site-nav a,
.site-nav summary { font-size: 0.66rem; font-weight: 720; letter-spacing: 0.115em; line-height: 1; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.site-nav a:not(.button) { position: relative; }
.site-nav a:not(.button)::after { position: absolute; right: 0; bottom: -0.35rem; left: 0; height: 1px; background: currentColor; content: ""; transform: scaleX(0); transform-origin: right; transition: transform 320ms var(--ease-luxury); }
.site-nav a:not(.button):hover::after,
.site-nav a:not(.button):focus-visible::after,
.site-nav a[aria-current]::after { transform: scaleX(1); transform-origin: left; }
.site-nav details { position: static; }
.site-nav summary { position: relative; display: flex; cursor: pointer; list-style: none; align-items: center; gap: 0.38rem; }
.site-nav summary::-webkit-details-marker { display: none; }
.site-nav details[open] summary .nav-group__indicator { transform: translateY(-0.02em) rotate(45deg); }
.nav-group__indicator { display: inline-grid; width: 0.8rem; height: 0.8rem; flex: 0 0 0.8rem; place-items: center; color: currentColor; font-size: 0.72rem; line-height: 1; transform: translateY(-0.02em) rotate(0); transform-origin: center; transition: transform var(--transition); }
.site-nav summary.is-current { color: var(--accent); }
.site-nav summary.is-current::after { position: absolute; right: 0; bottom: -0.35rem; left: 0; height: 1px; background: currentColor; content: ""; }

@media (min-width: 1121px) {
  .site-nav__list > li,
  .site-nav__list > li > details { display: flex; align-items: center; }
  .site-nav__list > li > a,
  .site-nav__list > li > details > summary { display: inline-flex; min-height: 44px; box-sizing: border-box; align-items: center; padding: 0; }
}

.nav-menu { position: fixed; z-index: 1; top: var(--header-height); right: 0; left: 0; display: flex; min-height: 82px; align-items: stretch; justify-content: center; margin: 0; padding: 0 var(--gutter); border-block: 1px solid var(--line); background: rgb(242 245 243 / 0.985); color: var(--ink); list-style: none; box-shadow: 0 12px 32px rgb(20 32 29 / 0.08); animation: header-panel-reveal 420ms var(--ease-luxury) both; backdrop-filter: blur(14px) saturate(120%); -webkit-backdrop-filter: blur(14px) saturate(120%); }
.nav-menu li { width: min(220px, 22vw); border-left: 1px solid color-mix(in srgb, var(--line), transparent 14%); }
.nav-menu li:last-child { border-right: 1px solid color-mix(in srgb, var(--line), transparent 14%); }
.nav-menu a { display: grid; min-height: 82px; place-items: center; padding: 1rem 1.2rem; white-space: normal; text-align: center; transition: color 280ms var(--ease-luxury), background-color 360ms var(--ease-luxury); }
.nav-menu a::after { right: 1.2rem !important; bottom: 0 !important; left: 1.2rem !important; }
.nav-menu a:hover,
.nav-menu a:focus-visible { background: color-mix(in srgb, var(--accent), transparent 94%); color: var(--accent); }

.menu-toggle { display: none; flex: 0 0 auto; align-items: center; gap: 0.65rem; min-height: 44px; border: 0; background: transparent; cursor: pointer; }
.menu-toggle__lines,
.menu-toggle__lines::before { display: block; width: 21px; height: 1px; background: currentColor; content: ""; transition: transform var(--transition); }
.menu-toggle__lines::before { transform: translateY(6px); }
.menu-toggle[aria-expanded="true"] .menu-toggle__lines { transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__lines::before { transform: rotate(90deg); }
.header-utilities { display: flex; align-items: center; border-left: 1px solid color-mix(in srgb, currentColor, transparent 68%); }
.header-action { position: relative; display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 0; background: transparent; color: currentColor; cursor: pointer; transition: background-color var(--transition), color var(--transition); }
.header-action::after { position: absolute; right: 9px; bottom: 2px; left: 9px; height: 1px; background: currentColor; content: ""; transform: scaleX(0); transform-origin: right; transition: transform var(--transition); }
.header-action:hover,
.header-action:focus-visible,
.header-action[aria-expanded="true"] { background: color-mix(in srgb, currentColor, transparent 93%); }
.header-action:hover::after,
.header-action:focus-visible::after,
.header-action[aria-expanded="true"]::after { transform: scaleX(1); transform-origin: left; }
.header-action .phosphor-icon { font-size: 1.32rem; }

.header-panel[hidden],
.header-search__item[hidden],
.header-search__empty[hidden] { display: none; }
.header-panel { position: fixed; z-index: 1; top: var(--header-height); background: rgb(242 245 243 / 0.985); color: var(--ink); box-shadow: 0 16px 40px rgb(20 32 29 / 0.1); animation: header-panel-reveal 420ms var(--ease-luxury) both; backdrop-filter: blur(16px) saturate(125%); -webkit-backdrop-filter: blur(16px) saturate(125%); }
.header-search { right: 0; left: 0; max-height: calc(100dvh - var(--header-height)); overflow-y: auto; border-block: 1px solid var(--line); }
.header-search__inner { padding-block: clamp(1.5rem, 3vw, 2.75rem); }
.header-search__topline { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-bottom: clamp(1.4rem, 2.6vw, 2.3rem); }
.header-search__topline h2 { margin: 0; font-size: clamp(2rem, 3.4vw, 3.6rem); }
.header-search__topline button { min-height: 44px; padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--accent); cursor: pointer; font-size: 0.72rem; font-weight: 700; }
.header-search input { width: 100%; min-height: 68px; padding: 0.9rem 0; border: 0; border-block: 1px solid var(--ink); border-radius: 0; outline: 0; background: transparent; color: var(--ink); font-family: var(--serif); font-size: clamp(1.35rem, 2.5vw, 2.5rem); }
.header-search input::placeholder { color: color-mix(in srgb, var(--ink), transparent 55%); }
.header-search input:focus { border-block-color: var(--accent); }
.header-search__results { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 1.5rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.header-search__item { display: grid; min-width: 0; min-height: 108px; align-content: start; padding: 1.1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; transition: background-color var(--transition), color var(--transition); }
.header-search__item > span { margin-bottom: 1rem; color: var(--accent); font-size: 0.58rem; font-weight: 750; letter-spacing: 0.1em; text-transform: uppercase; }
.header-search__item strong { overflow-wrap: anywhere; font-family: var(--serif); font-size: clamp(1.15rem, 1.7vw, 1.55rem); font-weight: 500; line-height: 1.15; }
.header-search__item small { display: -webkit-box; margin-top: 0.55rem; overflow: hidden; color: var(--muted); font-size: 0.72rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.header-search__item:hover,
.header-search__item:focus-visible { background: var(--accent); color: var(--on-accent); }
.header-search__item:hover > span,
.header-search__item:focus-visible > span,
.header-search__item:hover small,
.header-search__item:focus-visible small { color: color-mix(in srgb, var(--on-accent), transparent 18%); }
.header-search__empty { margin: 1.5rem 0 0; color: var(--muted); }

.header-language { right: max(var(--gutter), calc((100vw - var(--shell)) / 2)); width: min(360px, calc(100vw - (var(--gutter) * 2))); border: 1px solid var(--line); }
.header-language__topline { padding: 1.25rem 1.4rem; border-bottom: 1px solid var(--line); }
.header-language__topline h2 { margin: 0; font-family: var(--sans); font-size: 0.68rem; font-weight: 750; letter-spacing: 0.09em; text-transform: uppercase; }
.header-language__list { display: grid; }
.header-language__list a { position: relative; isolation: isolate; display: grid; min-height: 72px; grid-template-columns: 52px minmax(0, 1fr); align-items: center; padding: 0 1.4rem; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }
.header-language__list a:last-child { border-bottom: 0; }
.header-language__list a::before { position: absolute; z-index: -1; inset: 0; background: var(--accent); content: ""; transform: scaleX(0); transform-origin: right; transition: transform 480ms var(--ease-luxury); }
.header-language__list a > span { color: var(--accent); font-size: 0.62rem; font-weight: 750; letter-spacing: 0.08em; }
.header-language__list a strong { font-family: var(--serif); font-size: 1.25rem; font-weight: 500; }
.header-language__list a:hover,
.header-language__list a:focus-visible,
.header-language__list a[aria-current] { color: var(--on-accent); }
.header-language__list a:hover::before,
.header-language__list a:focus-visible::before,
.header-language__list a[aria-current]::before { transform: scaleX(1); transform-origin: left; }
.header-language__list a:hover > span,
.header-language__list a:focus-visible > span,
.header-language__list a[aria-current] > span { color: color-mix(in srgb, var(--on-accent), transparent 18%); }

.home-language-popup {
  --popup-metal: #a38c62;
  width: min(780px, calc(100vw - (var(--gutter) * 2)));
  max-width: none;
  max-height: min(720px, calc(100dvh - (var(--gutter) * 2)));
  overflow: auto;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--popup-metal), var(--accent) 34%);
  border-radius: var(--radius);
  background: var(--canvas);
  color: var(--ink);
  box-shadow: 0 42px 120px rgb(10 24 16 / 0.34), 0 0 0 1px rgb(247 250 248 / 0.32);
}

.home-language-popup[open] { animation: home-language-popup-reveal 680ms var(--ease-luxury) both; }
.home-language-popup::backdrop {
  background: rgb(10 24 16 / 0.72);
  animation: home-language-backdrop-reveal 520ms ease both;
  backdrop-filter: blur(12px) saturate(82%);
  -webkit-backdrop-filter: blur(12px) saturate(82%);
}

.home-language-popup__topline {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-left: clamp(1.25rem, 4vw, 2.5rem);
  border-bottom: 1px solid color-mix(in srgb, var(--popup-metal), transparent 52%);
}

.home-language-popup__topline > span {
  color: color-mix(in srgb, var(--popup-metal), var(--accent) 28%);
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.home-language-popup__topline button {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  padding: 0;
  border: 0;
  border-left: 1px solid color-mix(in srgb, var(--popup-metal), transparent 52%);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  transition: background-color 420ms var(--ease-luxury), color 420ms var(--ease-luxury);
}

.home-language-popup__topline button > span {
  font-family: var(--serif);
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  transform: translateY(-1px);
  transition: transform 520ms var(--ease-luxury);
}

.home-language-popup__topline button:hover,
.home-language-popup__topline button:focus-visible { background: var(--accent); color: var(--on-accent); }
.home-language-popup__topline button:hover > span,
.home-language-popup__topline button:focus-visible > span { transform: translateY(-1px) rotate(90deg); }

.home-language-popup__body { display: grid; grid-template-columns: minmax(260px, 0.9fr) minmax(320px, 1.1fr); }
.home-language-popup__copy {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 360px;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: clamp(2rem, 5vw, 3.5rem);
  background: var(--accent-strong);
  color: var(--on-accent);
}

.home-language-popup__copy::before {
  position: absolute;
  z-index: -1;
  top: clamp(2rem, 5vw, 3.5rem);
  right: clamp(2rem, 5vw, 3.5rem);
  width: 72px;
  height: 72px;
  border-top: 1px solid color-mix(in srgb, var(--popup-metal), transparent 15%);
  border-right: 1px solid color-mix(in srgb, var(--popup-metal), transparent 15%);
  content: "";
}

.home-language-popup__index {
  margin-bottom: auto;
  color: color-mix(in srgb, var(--popup-metal), var(--on-accent) 20%);
  font-size: 0.6rem;
  font-weight: 750;
  letter-spacing: 0.16em;
}

.home-language-popup__copy h2 { max-width: 7ch; margin-bottom: 1rem; font-size: clamp(2.65rem, 5vw, 4.2rem); }
.home-language-popup__copy p { max-width: 30ch; margin-bottom: 0; color: color-mix(in srgb, var(--on-accent), transparent 22%); font-size: 0.88rem; }
.home-language-popup__languages { display: grid; grid-template-rows: repeat(3, 1fr); border-left: 1px solid color-mix(in srgb, var(--popup-metal), transparent 52%); }

.home-language-popup__languages a {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: 120px;
  grid-template-columns: 56px minmax(0, 1fr) 28px;
  align-items: center;
  padding: 0 clamp(1.25rem, 4vw, 2.5rem);
  border-bottom: 1px solid color-mix(in srgb, var(--popup-metal), transparent 52%);
  color: inherit;
  text-decoration: none;
  transition: color 420ms var(--ease-luxury);
}

.home-language-popup__languages a:last-child { border-bottom: 0; }
.home-language-popup__languages a::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: var(--accent);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 620ms var(--ease-luxury);
}

.home-language-popup__languages a > span { color: color-mix(in srgb, var(--popup-metal), var(--accent) 30%); font-size: 0.62rem; font-weight: 750; letter-spacing: 0.12em; transition: color 420ms var(--ease-luxury), transform 620ms var(--ease-luxury); }
.home-language-popup__languages a strong { font-family: var(--serif); font-size: clamp(1.35rem, 3vw, 1.75rem); font-weight: 500; transition: transform 620ms var(--ease-luxury); }
.home-language-popup__languages a i { font-family: var(--serif); font-size: 1.1rem; font-style: normal; opacity: 0; transform: translate(-14px, 14px); transition: opacity 320ms ease, transform 620ms var(--ease-luxury); }
.home-language-popup__languages a[aria-current] { background: color-mix(in srgb, var(--popup-metal), transparent 90%); }
.home-language-popup__languages a:hover,
.home-language-popup__languages a:focus-visible { color: var(--on-accent); }
.home-language-popup__languages a:hover::before,
.home-language-popup__languages a:focus-visible::before { transform: scaleX(1); transform-origin: left; }
.home-language-popup__languages a:hover > span,
.home-language-popup__languages a:focus-visible > span { color: color-mix(in srgb, var(--popup-metal), var(--on-accent) 24%); transform: translateX(4px); }
.home-language-popup__languages a:hover strong,
.home-language-popup__languages a:focus-visible strong { transform: translateX(9px); }
.home-language-popup__languages a:hover i,
.home-language-popup__languages a:focus-visible i { opacity: 1; transform: translate(0, 0); }
.home-language-popup[open] .home-language-popup__languages a { animation: home-language-option-reveal 720ms var(--ease-luxury) both; }
.home-language-popup[open] .home-language-popup__languages a:nth-child(2) { animation-delay: 80ms; }
.home-language-popup[open] .home-language-popup__languages a:nth-child(3) { animation-delay: 160ms; }

@keyframes home-language-popup-reveal {
  from { opacity: 0; transform: translateY(32px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes home-language-option-reveal {
  from { opacity: 0; transform: translateX(22px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes home-language-backdrop-reveal {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes header-panel-reveal {
  from { opacity: 0; transform: translateY(-12px); }
  to { opacity: 1; transform: translateY(0); }
}

.language-switcher { display: flex; align-items: center; gap: 0.55rem; padding-left: 0.75rem; border-left: 1px solid var(--line); }
.language-switcher a { color: var(--muted); font-size: 0.64rem; letter-spacing: 0.09em; }
.language-switcher a[aria-current] { color: currentColor; }
.language-switcher a::after { display: none; }

.button {
  --button-bg: var(--accent);
  --button-fill: var(--accent-strong);
  --button-ink: var(--on-accent);
  --button-hover-ink: var(--on-accent);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0.72rem 1.15rem;
  border: 1px solid var(--accent);
  border-radius: var(--radius);
  background: var(--button-bg);
  color: var(--button-ink);
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color 320ms var(--ease-luxury), color 320ms var(--ease-luxury), transform 160ms var(--ease-luxury);
}

.button::before { position: absolute; z-index: -1; inset: 0; background: var(--button-fill); content: ""; transform: scaleX(0); transform-origin: left; transition: transform 340ms var(--ease-luxury); }
.button:hover,
.button:focus-visible { border-color: var(--button-fill); color: var(--button-hover-ink); }
.button:hover::before,
.button:focus-visible::before { transform: scaleX(1); }
.button:active { transform: scale(0.985); }
.button--small { min-height: 42px; padding: 0.55rem 0.85rem; }
.button--secondary { --button-bg: transparent; --button-fill: var(--ink); --button-ink: var(--ink); --button-hover-ink: var(--on-accent); border-color: var(--ink); }

.text-link { position: relative; display: inline-flex; width: fit-content; align-items: center; gap: 0.45rem; color: var(--accent); font-weight: 650; text-decoration: none; }
.text-link::after { position: absolute; right: 0; bottom: -0.12rem; left: 0; height: 1px; background: currentColor; content: ""; transform: scaleX(0); transform-origin: right; transition: transform 320ms var(--ease-luxury); }
a:hover .text-link::after,
a:focus-visible .text-link::after,
.text-link:hover::after,
.text-link:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-top: 2rem; }

.media-frame { position: relative; width: 100%; min-width: 0; max-width: 100%; overflow: hidden; margin: 0; border-radius: var(--radius); background: var(--surface); }
.media-frame picture { display: block; width: 100%; height: 100%; transition: transform var(--transition-slow); }
.media-frame img { width: 100%; height: 100%; object-fit: cover; }
.media-frame.has-image::after { position: absolute; z-index: 2; inset: 0; border: 1px solid rgb(247 250 248 / 0.62); box-shadow: inset 0 0 0 0 rgb(14 90 73 / 0); content: ""; opacity: 0; pointer-events: none; transition: opacity var(--transition), box-shadow var(--transition-slow); }
.media-frame.ratio-16-9 { aspect-ratio: 16 / 9; }
.media-frame.ratio-22-15 { aspect-ratio: 22 / 15; }
.media-frame.ratio-11-7 { aspect-ratio: 11 / 7; }
.media-frame.ratio-2-1 { aspect-ratio: 2 / 1; }
.media-frame.ratio-3-2 { aspect-ratio: 3 / 2; }
.media-frame.ratio-4-3 { aspect-ratio: 4 / 3; }
.media-frame.ratio-4-5 { aspect-ratio: 4 / 5; }
.media-frame.ratio-10-7 { aspect-ratio: 10 / 7; }
.media-placeholder { position: absolute; inset: 0; display: grid; width: 100%; min-height: 100%; overflow: hidden; place-items: center; padding: clamp(1rem, 2vw, 1.75rem); border: 1px solid var(--line); background: color-mix(in srgb, var(--surface), var(--canvas) 24%); text-align: center; transition: border-color 360ms var(--ease-luxury), background-color 520ms var(--ease-luxury); }
.media-placeholder__content { width: min(100%, 25rem); }
.media-placeholder strong { display: block; color: var(--accent); font-family: var(--sans); font-size: clamp(0.68rem, 0.72vw, 0.78rem); font-weight: 750; letter-spacing: 0.07em; line-height: 1.25; text-transform: uppercase; }
.media-placeholder dl { display: grid; gap: 0.18rem; margin: 0.65rem 0 0; color: var(--muted); font-size: clamp(0.65rem, 0.68vw, 0.73rem); font-variant-numeric: tabular-nums; line-height: 1.4; }
.media-placeholder dl div { display: flex; min-width: 0; flex-wrap: wrap; justify-content: center; gap: 0.2rem 0.45rem; }
.media-placeholder dt { color: var(--ink); font-weight: 700; }
.media-placeholder dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }

.home-hero {
  position: relative;
  display: grid;
  min-height: clamp(620px, 88svh, 860px);
  align-items: end;
  isolation: isolate;
  overflow: hidden;
  background: var(--surface);
}

.home-hero__slides { position: absolute; inset: 0; }
.home-hero__slide { position: absolute; z-index: 0; inset: 0; display: grid; align-items: end; visibility: hidden; opacity: 0; pointer-events: none; transition: visibility 900ms, opacity 900ms ease; }
.home-hero__slide.is-active { z-index: 1; visibility: visible; opacity: 1; pointer-events: auto; }
.home-hero__slide::after { position: absolute; z-index: 1; inset: 0; pointer-events: none; content: ""; }
.home-hero__slide.has-image::after {
  background:
    radial-gradient(ellipse 78% 72% at 0% 78%, rgb(10 24 16 / 0.92) 0%, rgb(10 24 16 / 0.7) 40%, rgb(10 24 16 / 0.2) 70%, transparent 86%),
    linear-gradient(0deg, rgb(10 24 16 / 0.34), transparent 52%);
}
.home-hero__media { position: absolute; z-index: 0; inset: 0; width: 100%; max-width: 100vw; height: 100%; border-radius: 0; aspect-ratio: auto !important; }
.home-hero__media picture { transform: scale(1.055); transition: transform 1800ms var(--ease-luxury); }
.home-hero__slide.is-active .home-hero__media picture { transform: scale(1); }
.home-hero__media .media-placeholder { align-content: start; justify-items: center; padding: calc(var(--header-height) + clamp(3rem, 8vh, 6rem)) var(--gutter) 2rem; }
.home-hero__content {
  position: relative;
  z-index: 2;
  padding-top: calc(var(--header-height) + clamp(2.5rem, 5vw, 4.5rem));
  padding-bottom: clamp(5rem, 9vh, 7.25rem);
}
.home-hero h1,
.home-hero__content h2 {
  width: min(820px, 62vw);
  max-width: none;
  margin: 0;
  color: var(--on-accent);
  font-family: var(--serif);
  font-size: clamp(3rem, 4.25vw, 4.6rem);
  font-kerning: normal;
  font-weight: 390;
  letter-spacing: -0.055em;
  line-height: 0.94;
  text-shadow: 0 2px 18px rgb(10 24 16 / 0.34);
  text-wrap: balance;
  transform: translateY(24px);
  opacity: 0;
  transition: transform 900ms var(--ease-luxury) 140ms, opacity 560ms ease 140ms;
}
.home-hero h1 span,
.home-hero__content h2 span { display: block; }
.home-hero h1 span:last-child,
.home-hero__content h2 span:last-child { margin-left: clamp(1rem, 4vw, 4.5rem); }
.home-hero__slide.is-active h1,
.home-hero__slide.is-active h2 { transform: translateY(0); opacity: 1; }
.home-hero.is-placeholder h1,
.home-hero.is-placeholder .home-hero__content h2 { color: var(--ink); text-shadow: none; }
.locale-th .home-hero h1,
.locale-th .home-hero__content h2,
.locale-zh-cn .home-hero h1,
.locale-zh-cn .home-hero__content h2 { letter-spacing: 0; line-height: 1.12; }
.home-hero__navigation { position: absolute; z-index: 5; right: 0; bottom: 1.1rem; left: 0; display: none; align-items: center; justify-content: flex-start; pointer-events: none; }
.js .home-hero__navigation { display: flex; }
.home-hero__navigation button { pointer-events: auto; }
.home-hero__progress { display: grid; width: min(180px, 28vw); grid-auto-columns: 1fr; grid-auto-flow: column; gap: 0.4rem; filter: drop-shadow(0 1px 6px rgb(10 24 16 / 0.58)); }
.home-hero__progress button { position: relative; height: 28px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.home-hero__progress button::before,
.home-hero__progress button::after { position: absolute; top: 50%; right: 0; left: 0; height: 1px; content: ""; transform: translateY(-50%); }
.home-hero__progress button::before { background: rgb(247 250 248 / 0.38); }
.home-hero.is-placeholder .home-hero__progress button::before { background: var(--line); }
.home-hero__progress button::after { background: var(--on-accent); transform: translateY(-50%) scaleX(0); transform-origin: left; }
.home-hero.is-placeholder .home-hero__progress button::after { background: var(--accent); }
.home-hero__progress button[aria-current="true"]::after { transform: translateY(-50%) scaleX(1); }
.home-hero.is-running .home-hero__progress button[aria-current="true"]::after { animation: home-hero-progress 3000ms linear forwards; }

@keyframes home-hero-progress {
  from { transform: translateY(-50%) scaleX(0); }
  to { transform: translateY(-50%) scaleX(1); }
}

.editorial-two-column { display: grid; grid-template-columns: minmax(130px, 3fr) minmax(0, 9fr); gap: 2rem; }
.section-note,
.media-hero__kicker { color: var(--accent); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.section-heading { display: grid; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.section-heading h2 { max-width: 12ch; margin-bottom: 1rem; }
.section-heading--split { grid-template-columns: 1fr auto; align-items: end; gap: 2rem; }

.partnership-manifesto { position: relative; overflow: hidden; background: var(--nature-deep, #12241a); color: var(--on-accent); }
/* Set as a ruled specification sheet: one statement across the top, four
   numbered steps beneath it. The uppercase kicker that used to open the
   section is gone — "MPS / ONE INTEGRATED PARTNERSHIP" restated the heading
   ("One partner across the guest room.") in miniature, and was given a
   quarter of the header's width to say nothing new in. The ordinals on the
   cards now carry the sequence that label only asserted, so the section
   reads as a process rather than a claim about one. */
.partnership-manifesto__header { display: grid; gap: clamp(1.25rem, 4vw, 1.75rem); margin-bottom: clamp(2.5rem, 5vw, 4.25rem); }
/* The side-by-side pairing only earns its keep once the lead has room to set
   as a paragraph rather than a column of two-word lines. Below that the
   statement simply stacks over it. */
@media (min-width: 1180px) {
  .partnership-manifesto__header { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; gap: clamp(2rem, 4.5vw, 5rem); }
}
/* 15ch, not 10ch: with the kicker no longer taking a column of its own the
   heading finally has the width to break where the sentence wants to. */
.partnership-manifesto h2 { max-width: 15ch; margin-bottom: 0; font-size: clamp(2.45rem, 4vw, 4rem); }
/* The global .lead runs to 1.75rem, which in a five-twelfths column set this
   paragraph in 24-character lines at nearly half the heading's size — two
   competing blocks rather than a statement and its support. This is the same
   scale the Products header below it uses, so the two read as one page. */
.partnership-manifesto .lead { max-width: 46ch; margin-bottom: 0; padding-bottom: 0.4rem; color: color-mix(in srgb, var(--on-accent), transparent 23%); font-size: clamp(1rem, 0.95rem + 0.3vw, 1.25rem); line-height: 1.6; }
.partnership-manifesto__principles { display: flex; border-block: 1px solid rgb(247 250 248 / 0.24); }
.partnership-manifesto__principles article { position: relative; isolation: isolate; display: flex; min-width: 0; min-height: 270px; flex: 1 1 0; align-items: center; justify-content: center; overflow: hidden; flex-direction: column; padding: clamp(1.5rem, 2.7vw, 2.6rem); border-right: 1px solid rgb(247 250 248 / 0.24); outline-offset: -4px; text-align: center; transform: translateY(0); transition: color 420ms var(--ease-luxury), border-color 420ms ease, transform 620ms var(--ease-luxury); }
.partnership-manifesto__principles article:last-child { border-right: 0; }
.partnership-manifesto__principles article::before { position: absolute; z-index: -1; inset: -42%; border-radius: 50%; background: radial-gradient(circle at 50% 42%, #f4f9f2 0%, var(--on-accent) 58%, #e4ece1 100%); content: ""; opacity: 0; transform: scale(0.18); transition: opacity 320ms ease, transform 820ms var(--ease-luxury); }
.partnership-manifesto__principles article::after { position: absolute; top: 0; left: 16%; width: 68%; height: 1px; background: linear-gradient(90deg, transparent, #c2a464 48%, transparent); content: ""; opacity: 0.25; transform: scaleX(0.22); transition: opacity 420ms ease, transform 760ms var(--ease-luxury); }
/* The step number, set as an editorial figure rather than a badge: italic
   serif, gold, sitting on the card's own content edge so the four read as
   01–04 across the row. */
.partnership-manifesto__step { position: absolute; top: clamp(1.5rem, 2.7vw, 2.6rem); left: clamp(1.5rem, 2.7vw, 2.6rem); color: color-mix(in srgb, #c2a464, transparent 22%); font-family: var(--serif); font-size: 0.95rem; font-style: italic; letter-spacing: 0.02em; line-height: 1; transition: color 420ms ease; }
.partnership-manifesto__icon { --principle-icon-size: clamp(66px, 5.6vw, 82px); position: relative; display: grid; width: var(--principle-icon-size); min-width: var(--principle-icon-size); height: var(--principle-icon-size); min-height: var(--principle-icon-size); flex: 0 0 var(--principle-icon-size); place-items: center; box-sizing: border-box; aspect-ratio: 1; margin-bottom: clamp(1.45rem, 2vw, 1.9rem); border: 1px solid rgb(194 164 100 / 0.48); border-radius: 50%; color: #c2a464; box-shadow: inset 0 0 0 7px rgb(247 250 248 / 0.025), 0 18px 46px rgb(2 19 15 / 0.18); transition: border-color 420ms ease, background-color 420ms ease, color 420ms ease, box-shadow 620ms var(--ease-luxury), transform 680ms var(--ease-luxury); }
.partnership-manifesto__icon::before { position: absolute; inset: -9px; border: 1px solid rgb(247 250 248 / 0.15); border-radius: inherit; content: ""; opacity: 0.7; transform: rotate(0deg) scale(0.92); transition: border-color 420ms ease, opacity 420ms ease, transform 820ms var(--ease-luxury); }
.partnership-manifesto__icon::after { position: absolute; top: -11px; left: 50%; width: 5px; height: 5px; border-radius: 50%; background: #c2a464; box-shadow: 0 0 0 4px rgb(194 164 100 / 0.08), 0 0 18px rgb(194 164 100 / 0.58); content: ""; transform: translateX(-50%); transition: background-color 420ms ease, box-shadow 420ms ease, transform 820ms var(--ease-luxury); }
.partnership-manifesto__icon .phosphor-icon { font-size: clamp(1.75rem, 2.4vw, 2.2rem); transition: transform 680ms var(--ease-luxury); }
.partnership-manifesto__principles h3 { max-width: 9ch; margin: 0 0 0.9rem; font-size: clamp(1.75rem, 2.6vw, 2.75rem); transition: color 420ms ease, transform 620ms var(--ease-luxury); }
.partnership-manifesto__principles p { max-width: 25ch; margin: 0; color: color-mix(in srgb, var(--on-accent), transparent 25%); font-size: 0.9rem; transition: color var(--transition), opacity 420ms ease, transform 620ms var(--ease-luxury); }

.product-index-section {
  position: relative;
  border-block: 1px solid color-mix(in srgb, var(--line), transparent 20%);
  overflow: clip;
  background: var(--canvas);
}

.product-index-section__header {
  display: grid;
  width: min(100%, 820px);
  gap: 1.25rem;
  margin-bottom: clamp(3rem, 5vw, 5.5rem);
}

.product-index-section__header h2 {
  max-width: none;
  margin: 0;
  font-size: clamp(2.45rem, 3.5vw, 3.75rem);
  letter-spacing: -0.04em;
  line-height: 1.02;
}

.product-index-section__header p {
  max-width: 52ch;
  margin: 0;
  color: var(--muted);
  font-size: clamp(1rem, 0.95rem + 0.3vw, 1.25rem);
}

.product-stage {
  --product-stage-pan-x: 0px;
  --product-stage-pan-y: 0px;
  display: grid;
  grid-template-columns: minmax(330px, 0.68fr) minmax(0, 1.55fr);
  align-items: stretch;
  gap: clamp(1.5rem, 3vw, 3.5rem);
}

.product-stage__tabs { display: none; }

.js .product-stage__tabs {
  display: grid;
  min-width: 0;
  grid-template-rows: repeat(6, minmax(0, 1fr));
  border-top: 1px solid var(--line);
}

.product-stage__tab {
  position: relative;
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-content: center;
  align-items: center;
  gap: 0.45rem 1rem;
  padding: clamp(0.9rem, 1.4vw, 1.35rem) clamp(1rem, 1.7vw, 1.6rem);
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: background-color 260ms ease, color 260ms ease;
}

.product-stage__tab-icon {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  width: clamp(42px, 3.5vw, 50px);
  height: clamp(42px, 3.5vw, 50px);
  grid-column: 1;
  grid-row: 1;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--muted);
  transition:
    border-color 320ms ease,
    background-color 320ms ease,
    color 320ms ease;
}

.product-stage__tab-icon :is(.phosphor-icon, .hugeicons-icon) {
  position: relative;
  z-index: 1;
  color: inherit;
  font-size: clamp(1.3rem, 1.55vw, 1.58rem);
  transform-origin: center;
  transition: transform 400ms var(--ease-luxury);
}

.product-stage__tab-copy {
  display: grid;
  min-width: 0;
  grid-column: 2;
  grid-row: 1;
  gap: 0.45rem;
}

.product-stage__tab::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--accent);
  content: "";
  transform: scaleY(0);
  transform-origin: center;
  transition: transform 420ms var(--ease-luxury);
}

.product-stage__tab.is-active {
  background: transparent;
}

.product-stage__tab.is-active::before { transform: scaleY(1); }

.product-stage__tab-title {
  overflow-wrap: anywhere;
  font-family: var(--serif);
  font-size: clamp(1.28rem, 1.65vw, 1.82rem);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.05;
}

.product-stage__tab-body {
  display: block;
  max-width: 42ch;
  color: var(--muted);
  font-size: clamp(0.72rem, 0.7rem + 0.08vw, 0.8rem);
  line-height: 1.45;
  transition: color 260ms ease;
}

.product-stage__tab-mark {
  grid-column: 3;
  grid-row: 1;
  color: var(--muted);
  font-size: 1.1rem;
  transform: translateX(0);
  transition: color 260ms ease, transform 420ms var(--ease-luxury);
}

.product-stage__tab.is-active .product-stage__tab-body,
.product-stage__tab.is-active .product-stage__tab-mark { color: var(--accent); }
.product-stage__tab.is-active .product-stage__tab-mark { transform: translateX(0.28rem); }
.product-stage__tab.is-active .product-stage__tab-icon {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--on-accent);
}

.product-stage__viewport {
  display: grid;
  min-width: 0;
  gap: 1.25rem;
  align-self: stretch;
}

.js .product-stage__viewport {
  position: relative;
  isolation: isolate;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.product-stage__panel {
  min-width: 0;
}

.js .product-stage__panel {
  z-index: 0;
  grid-area: 1 / 1;
  opacity: 0;
  visibility: hidden;
  clip-path: inset(0 100% 0 0);
  pointer-events: none;
  transform: scale(0.992);
  transform-origin: center;
  transition:
    opacity 220ms ease,
    clip-path 720ms var(--ease-luxury),
    transform 760ms var(--ease-luxury),
    visibility 0s linear 720ms;
}

.js .product-stage__panel.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  clip-path: inset(0);
  pointer-events: auto;
  transform: scale(1);
  transition-delay: 0s;
}

.product-stage__panel-link {
  display: grid;
  height: 100%;
  min-width: 0;
  grid-template-rows: auto 1fr;
  color: inherit;
  text-decoration: none;
}

.product-stage__visual {
  display: block;
  overflow: hidden;
  background: var(--surface);
}

.product-stage__media {
  min-height: 0;
  border: 0;
  border-radius: 0;
  aspect-ratio: 11 / 7 !important;
}

.product-stage__media picture,
.product-stage__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 100%;
}

.product-stage__media img {
  object-fit: cover;
  transform: translate3d(var(--product-stage-pan-x), var(--product-stage-pan-y), 0) scale(1.012);
  transform-origin: center;
  transition: transform 900ms var(--ease-luxury), filter 320ms ease;
}

.product-stage__panel-copy {
  display: grid;
  min-height: clamp(104px, 9vw, 132px);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.25rem 2rem;
  padding: clamp(1.25rem, 2.2vw, 2rem);
  border-top: 1px solid var(--line);
  background: color-mix(in srgb, var(--canvas), var(--surface) 18%);
}

.product-stage__panel-copy > span:first-child {
  display: grid;
  min-width: 0;
  gap: 0.42rem;
}

.product-stage__panel-copy strong {
  overflow-wrap: anywhere;
  font-family: var(--serif);
  font-size: clamp(1.55rem, 2.4vw, 2.35rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.04;
}

.product-stage__panel-copy > span:first-child > span {
  max-width: 52ch;
  color: var(--muted);
  font-size: clamp(0.78rem, 0.74rem + 0.18vw, 0.92rem);
}

.product-stage__panel-copy .text-link {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 0.45rem;
  color: var(--accent);
  white-space: nowrap;
}

.product-stage__panel-copy .text-link > span {
  display: inline-block;
  transition: transform 420ms var(--ease-luxury);
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .product-stage.is-pointer-active .product-stage__panel.is-active .product-stage__media img {
    will-change: transform;
  }
  .product-stage__panel-link:hover .product-stage__media img,
  .product-stage__panel-link:focus-visible .product-stage__media img {
    transform: translate3d(var(--product-stage-pan-x), var(--product-stage-pan-y), 0) scale(1.035);
  }
  .product-stage__panel-link:hover .text-link > span,
  .product-stage__panel-link:focus-visible .text-link > span { transform: translateX(0.32rem); }
}

.collection-showcase {
  --collection-slide-width: clamp(280px, 29vw, 400px);
  overflow: hidden;
  border-block: 1px solid color-mix(in srgb, var(--line), transparent 12%);
  background: color-mix(in srgb, var(--surface), var(--canvas) 44%);
}

.collection-showcase__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(2rem, 7vw, 8rem);
  margin-bottom: clamp(2.25rem, 5vw, 4.75rem);
}

.collection-showcase__header h2 { max-width: 12ch; margin-bottom: 0.8rem; }
.collection-showcase__header p { margin-bottom: 0; }
.collection-showcase__actions { display: flex; align-items: center; gap: clamp(1.25rem, 3vw, 2.5rem); }
.collection-showcase__controls { display: grid; grid-template-columns: repeat(2, 52px); border: 1px solid var(--line); background: color-mix(in srgb, var(--canvas), transparent 16%); }
.collection-showcase__controls button { position: relative; min-width: 0; min-height: 52px; padding: 0 0.85rem; border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; font-size: 0.74rem; font-weight: 700; transition: background-color var(--transition), color var(--transition), transform var(--transition); }
.collection-showcase__controls button:last-child { border-right: 0; }
.collection-showcase__controls button:hover,
.collection-showcase__controls button:focus-visible { background: var(--accent); color: var(--on-accent); }
.collection-showcase__controls button:active { transform: scale(0.97); }
.collection-showcase__controls button:first-child,
.collection-showcase__controls button:last-child { font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }

.collection-showcase__viewport {
  position: relative;
  width: 100%;
  max-width: 100vw;
  overflow-x: auto;
  overflow-y: hidden;
  cursor: grab;
  perspective: 1500px;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
  touch-action: pan-y;
}

.collection-showcase__viewport::-webkit-scrollbar { display: none; }
.js .collection-showcase__viewport { overflow-x: hidden; }
.collection-showcase.is-dragging .collection-showcase__viewport { cursor: grabbing; }
.collection-showcase__viewport:focus-visible { outline-offset: -5px; }

.collection-showcase__track {
  display: flex;
  width: max-content;
  height: clamp(440px, 60svh, 580px);
  gap: clamp(0.65rem, 1.2vw, 1.15rem);
  padding-inline: max(var(--gutter), calc((100vw - var(--collection-slide-width)) / 2));
  transform: translate3d(var(--collection-shift, 0px), 0, 0);
  transform-style: preserve-3d;
  transition: transform 1050ms var(--ease-luxury);
  user-select: none;
  will-change: transform;
}

.collection-showcase.is-dragging .collection-showcase__track { transition: none; }

.collection-slide {
  --collection-tilt: 0deg;
  position: relative;
  flex: 0 0 var(--collection-slide-width);
  min-width: 0;
  height: 100%;
  opacity: 0.52;
  scroll-snap-align: center;
  transform: rotateY(var(--collection-tilt)) scale(0.86);
  transform-origin: center;
  transition: opacity 720ms var(--ease-luxury), transform 1050ms var(--ease-luxury);
}

.collection-slide.is-before { --collection-tilt: 4.5deg; transform-origin: right center; }
.collection-slide.is-after { --collection-tilt: -4.5deg; transform-origin: left center; }
.collection-slide.is-active { z-index: 2; opacity: 1; transform: rotateY(0) scale(1); }
.collection-slide__link { position: relative; isolation: isolate; display: block; width: 100%; height: 100%; overflow: hidden; color: var(--on-accent); text-decoration: none; }
.collection-slide__link::before { position: absolute; z-index: 2; inset: 0; border: 1px solid rgb(247 250 248 / 0.36); box-shadow: inset 0 0 0 0 rgb(247 250 248 / 0); content: ""; pointer-events: none; transition: border-color var(--transition-slow), box-shadow var(--transition-slow); }
.collection-slide__link::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg, rgb(10 24 16 / 0.86) 0%, rgb(10 24 16 / 0.28) 44%, rgb(10 24 16 / 0.04) 70%); content: ""; pointer-events: none; }
.collection-slide.is-active .collection-slide__link::before { border-color: rgb(247 250 248 / 0.74); box-shadow: inset 0 0 0 7px rgb(247 250 248 / 0.09); }
.collection-slide__media { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; border-radius: 0; aspect-ratio: auto !important; background: var(--surface-strong); }
.collection-slide__media picture { height: 100%; transform: scale(1.13); transition: transform 1250ms var(--ease-luxury); }
.collection-slide.is-active .collection-slide__media picture { transform: scale(1.015); }
.collection-slide__media .media-placeholder { height: 100%; padding: clamp(1.5rem, 3vw, 2.5rem); background: linear-gradient(145deg, color-mix(in srgb, var(--surface-strong), var(--canvas) 22%), var(--surface)); }
.collection-slide__media .media-placeholder__content { max-width: 100%; }

.collection-slide__copy { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; display: flex; min-width: 0; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.7rem); }
.collection-slide__copy strong { max-width: 12ch; overflow-wrap: anywhere; font-family: var(--serif); font-size: clamp(2rem, 3vw, 3.25rem); font-weight: 500; line-height: 1.02; text-shadow: 0 1px 2px rgb(10 24 16 / 0.34); transform: translateY(22px); transition: transform 850ms var(--ease-luxury); }
.collection-slide__description { max-width: 38ch; margin-top: 0.9rem; color: color-mix(in srgb, var(--on-accent), transparent 18%); font-size: 0.9rem; line-height: 1.55; opacity: 0; transform: translateY(18px); transition: opacity 520ms var(--ease-luxury), transform 850ms var(--ease-luxury); }
.collection-slide__cta { align-self: flex-start; margin-top: 1.35rem; border-bottom: 1px solid currentColor; color: var(--on-accent); font-size: 0.76rem; font-weight: 700; opacity: 0; transform: translateY(14px); transition: opacity 520ms var(--ease-luxury) 70ms, transform 850ms var(--ease-luxury) 70ms; }
.collection-slide.is-active .collection-slide__copy strong,
.collection-slide.is-active .collection-slide__description,
.collection-slide.is-active .collection-slide__cta { opacity: 1; transform: translateY(0); }

.collection-showcase__footer { padding-top: clamp(1.75rem, 3vw, 2.75rem); }
.collection-showcase__progress { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.55rem; }
.collection-showcase__progress button { position: relative; height: 24px; overflow: hidden; padding: 0; border: 0; background: transparent; cursor: pointer; }
.collection-showcase__progress button::before,
.collection-showcase__progress button::after { position: absolute; right: 0; left: 0; top: 50%; height: 1px; content: ""; transform: translateY(-50%); }
.collection-showcase__progress button::before { background: color-mix(in srgb, var(--line), transparent 8%); }
.collection-showcase__progress button::after { background: var(--accent); transform: translateY(-50%) scaleX(0); transform-origin: left; }
.collection-showcase__progress button[aria-current="true"]::after { transform: translateY(-50%) scaleX(1); }
.collection-showcase.is-running .collection-showcase__progress button[aria-current="true"]::after { animation: collection-progress 3000ms linear forwards; }

@keyframes collection-progress {
  from { transform: translateY(-50%) scaleX(0); }
  to { transform: translateY(-50%) scaleX(1); }
}

@media (hover: hover) and (pointer: fine) {
  .collection-slide:not(.is-active):hover { opacity: 0.78; }
  .collection-slide:hover .collection-slide__media picture { transform: scale(1.08); }
  .collection-slide.is-active:hover .collection-slide__media picture { transform: scale(1.045); }
  .collection-showcase__progress button:hover::before,
  .collection-showcase__progress button:focus-visible::before { background: var(--accent); }
}

:is(.phosphor-icon, .hugeicons-icon) { display: block; width: 1em; height: 1em; flex: 0 0 auto; }
.phosphor-icon { fill: currentColor; }
.hugeicons-icon { overflow: visible; fill: none; stroke: currentColor; }
.hugeicons-icon .hugeicon-part {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 400ms var(--ease-luxury);
}

.home-nature-commitments { position: relative; display: grid; min-height: min(82svh, 780px); align-items: center; isolation: isolate; overflow: hidden; background: #16281c; color: var(--on-accent); }
.home-nature-commitments::before { position: absolute; z-index: 1; inset: 0; background: rgb(10 24 16 / 0.42); content: ""; pointer-events: none; }
.home-nature-commitments__media { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; border-radius: 0; aspect-ratio: auto !important; }
.home-nature-commitments__media img { filter: saturate(0.86) contrast(1.06); object-position: center; }
.home-nature-commitments__media .media-placeholder { align-items: end; justify-items: end; padding: clamp(1.5rem, 3vw, 2.5rem) max(var(--gutter), calc((100vw - var(--shell)) / 2)); text-align: left; }
.home-nature-commitments__media .media-placeholder__content { width: min(100%, 21rem); padding: 0.8rem 0.95rem; border: 1px solid rgb(247 250 248 / 0.72); background: rgb(247 250 248 / 0.94); box-shadow: 0 12px 32px rgb(10 24 16 / 0.14); }
.home-nature-commitments__media .media-placeholder strong { color: var(--accent-strong); font-size: 0.7rem; }
.home-nature-commitments__media .media-placeholder dl { margin-top: 0.4rem; color: var(--muted); }
.home-nature-commitments__media .media-placeholder dl div { justify-content: flex-start; }
.home-nature-commitments__media .media-placeholder dt { color: var(--ink); }
.home-nature-commitments__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(260px, 5fr) minmax(0, 7fr); align-items: center; gap: clamp(3rem, 8vw, 9rem); padding-block: clamp(4.5rem, 7vw, 6.5rem); }
.home-nature-commitments__intro h2 { max-width: 9ch; margin-bottom: 1.35rem; font-size: clamp(2.8rem, 4.5vw, 4.6rem); }
.home-nature-commitments__intro p { max-width: 46ch; color: color-mix(in srgb, var(--on-accent), transparent 24%); }
.home-nature-commitments__intro .text-link { margin-top: 1.25rem; color: var(--on-accent); }
.home-nature-commitments__list { border: 1px solid rgb(247 250 248 / 0.28); background: rgb(10 24 16 / 0.38); box-shadow: inset 0 1px 0 rgb(247 250 248 / 0.12); backdrop-filter: blur(14px) saturate(115%); -webkit-backdrop-filter: blur(14px) saturate(115%); }
.home-nature-commitments__list article { position: relative; isolation: isolate; display: grid; min-height: 132px; grid-template-columns: 64px minmax(150px, 5fr) minmax(0, 7fr); align-items: center; gap: clamp(0.8rem, 2vw, 1.6rem); overflow: hidden; padding: clamp(1.4rem, 2.8vw, 2.25rem); border-bottom: 1px solid rgb(247 250 248 / 0.24); outline-offset: -5px; }
.home-nature-commitments__list .home-nature-commitments__item--without-icon { grid-template-columns: minmax(150px, 5fr) minmax(0, 7fr); }
.home-nature-commitments__list article:last-child { border-bottom: 0; }
.home-nature-commitments__list article::before { position: absolute; z-index: -1; inset: 0; background: rgb(247 250 248 / 0.94); content: ""; transform: scaleX(0); transform-origin: right; transition: transform 680ms var(--ease-luxury); }
.home-nature-commitments__icon { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgb(247 250 248 / 0.34); border-radius: 50%; color: color-mix(in srgb, var(--on-accent), transparent 14%); transition: border-color 360ms ease, color 360ms ease, transform 560ms var(--ease-luxury); }
.home-nature-commitments__icon .phosphor-icon { font-size: 1.45rem; transition: transform 560ms var(--ease-luxury); }
.home-nature-commitments__logo-placeholder { font-size: 0.55rem; font-weight: 750; letter-spacing: 0.08em; }
.home-nature-commitments__list h3 { max-width: 15ch; margin: 0; color: var(--on-accent); font-size: clamp(1.35rem, 2vw, 2rem); transition: color 360ms ease; }
.home-nature-commitments__list p { max-width: 38ch; margin: 0; color: color-mix(in srgb, var(--on-accent), transparent 24%); font-size: 0.84rem; transition: color 360ms ease, opacity 340ms ease, transform 560ms var(--ease-luxury); }

.contact-band { padding-block: clamp(4.5rem, 8vw, 7rem); background: var(--accent); color: var(--on-accent); }
.contact-band__inner { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.contact-band h2 { max-width: 13ch; margin-bottom: 0.8rem; }
.contact-band p { margin-bottom: 0; color: color-mix(in srgb, var(--on-accent), transparent 18%); }
.contact-band .button { --button-bg: var(--on-accent); --button-fill: var(--canvas); --button-ink: var(--accent); --button-hover-ink: var(--accent-strong); border-color: var(--on-accent); }

.media-hero { position: relative; display: grid; min-height: 66svh; max-height: 900px; align-items: end; isolation: isolate; overflow: hidden; background: var(--surface); }
.media-hero--corporate { min-height: 70svh; }
.media-hero--sustainability { min-height: 68svh; }
.media-hero--products { min-height: 66svh; }
.media-hero--collections { min-height: 72svh; }
.media-hero--product { min-height: 64svh; }
.media-hero--contact { min-height: 54svh; }
.media-hero::after { position: absolute; z-index: 1; inset: 0; pointer-events: none; content: ""; }
.media-hero.has-image::after { background: linear-gradient(90deg, rgb(10 24 16 / 0.76) 0%, rgb(10 24 16 / 0.32) 46%, transparent 72%), linear-gradient(0deg, rgb(10 24 16 / 0.38), transparent 40%); }
.media-hero__media { position: absolute; z-index: 0; inset: 0; width: 100%; max-width: 100vw; height: 100%; border-radius: 0; aspect-ratio: auto !important; }
.media-hero__media .media-placeholder { align-content: start; justify-items: center; padding: calc(var(--header-height) + clamp(3rem, 8vh, 6rem)) var(--gutter) 2rem; }
.media-hero__content { position: relative; z-index: 2; padding-bottom: clamp(2.75rem, 6vh, 4.5rem); }
.media-hero__content h1 { width: min(820px, 72vw); max-width: none; margin-bottom: 1rem; font-size: clamp(3rem, 4.8vw, 4.6rem); }
.media-hero__content > p { max-width: 52ch; margin-bottom: 0; font-size: clamp(1.05rem, 1rem + 0.25vw, 1.25rem); }
.media-hero.has-image .media-hero__content h1,
.media-hero.has-image .media-hero__content > p,
.media-hero.has-image .media-hero__kicker { color: var(--on-accent); text-shadow: 0 1px 2px rgb(10 24 16 / 0.3); }
.media-hero--sustainability .media-hero__content { padding-left: min(8vw, 7rem); padding-bottom: clamp(4rem, 11vh, 8rem); }
.media-hero--products .media-hero__content { margin-left: auto; text-align: right; }
.media-hero--products .media-hero__content h1,
.media-hero--products .media-hero__content > p { width: min(840px, 74vw); margin-left: auto; }
.media-hero--collections .media-hero__content { padding-bottom: clamp(4rem, 10vh, 7rem); }
.media-hero--contact .media-hero__content { padding-bottom: clamp(2.5rem, 5vh, 4rem); }
.media-hero--contact .media-hero__content h1 { max-width: 9ch; }

.company-overview { background: var(--canvas); }
.company-overview__grid { display: grid; grid-template-columns: minmax(260px, 5fr) minmax(0, 7fr); gap: clamp(3rem, 8vw, 9rem); }
.company-overview__title h2 { max-width: 10ch; margin-bottom: 0; }
.company-overview__copy .lead { margin-bottom: 2rem; }
.company-overview__copy > p:last-child { margin-bottom: 0; }
.company-facts { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(3rem, 6vw, 5.5rem); border-block: 1px solid var(--line); }
.company-facts > div { min-width: 0; min-height: 155px; padding: clamp(1.4rem, 2.5vw, 2.2rem); border-right: 1px solid var(--line); transition: background-color var(--transition-slow), color var(--transition); }
.company-facts > div:last-child { border-right: 0; }
.company-facts dt { max-width: 19ch; margin-bottom: 1.4rem; color: var(--accent); font-family: var(--serif); font-size: clamp(1.45rem, 2.6vw, 2.85rem); font-weight: 450; letter-spacing: -0.04em; line-height: 1.03; }
.company-facts dd { max-width: 20ch; margin: 0; color: var(--muted); font-size: 0.8rem; line-height: 1.45; }
.company-statements { padding-block: clamp(2.25rem, 5vw, 5rem); background: color-mix(in srgb, var(--surface), var(--canvas) 30%); }
.company-statements .statement-pair__grid { width: min(100% - (var(--gutter) * 2), 1560px); }
.company-statements article {
  display: grid;
  min-height: clamp(340px, 30vw, 500px);
  grid-template-rows: auto auto minmax(6.25rem, auto);
  align-content: center;
  justify-items: center;
  padding: clamp(3rem, 5vw, 5.5rem);
  text-align: center;
}
.company-statement__icon {
  display: grid;
  width: clamp(64px, 5.5vw, 78px);
  height: clamp(64px, 5.5vw, 78px);
  place-items: center;
  margin-bottom: clamp(1.75rem, 3vw, 2.75rem);
  border: 1px solid color-mix(in srgb, var(--accent), transparent 38%);
  border-radius: 50%;
  color: var(--accent);
  transition: border-color var(--transition), background-color var(--transition), color var(--transition), transform var(--transition-slow);
}
.company-statement__icon .phosphor-icon { font-size: clamp(1.7rem, 2.6vw, 2.25rem); }
.company-statements article h2 { max-width: 14ch; margin-bottom: 1.15rem; }
.company-statements .hover-reveal__description { max-width: 50ch; margin: 0 auto; }

.company-timeline { position: relative; isolation: isolate; overflow: clip; background: #16281c; color: var(--on-accent); }
.company-timeline__ghost { position: absolute; z-index: 0; top: clamp(2.5rem, 5vw, 5.5rem); left: -0.025em; color: rgb(247 250 248 / 0.026); font-family: var(--sans); font-size: clamp(6rem, 17vw, 17rem); font-variant-numeric: tabular-nums; font-weight: 260; letter-spacing: -0.07em; line-height: 0.8; white-space: nowrap; pointer-events: none; }
.company-timeline__header { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(150px, 3fr) minmax(0, 9fr); gap: clamp(2rem, 6vw, 7rem); margin-bottom: clamp(3.5rem, 7vw, 6rem); }
.company-timeline .section-note { color: #c2a464; }
.company-timeline__header h2 { max-width: 10ch; }
.company-timeline__header > div > p { max-width: 64ch; color: rgb(247 250 248 / 0.84); font-size: clamp(0.95rem, 1.05vw, 1.05rem); line-height: 1.72; }
.company-timeline__header > div > p:last-child { margin-bottom: 0; color: rgb(247 250 248 / 0.94); }
.company-timeline__rail { position: relative; z-index: 1; view-timeline-name: --company-timeline; view-timeline-axis: block; }
.company-timeline__rail::before,
.company-timeline__rail::after { position: absolute; top: 0; bottom: 0; left: 50%; content: ""; transform: translateX(-50%); transform-origin: center top; }
.company-timeline__rail::before { width: 1px; background: rgb(247 250 248 / 0.18); }
.company-timeline__rail::after { width: 2px; background: #c2a464; box-shadow: 0 0 0 1px rgb(194 164 100 / 0.08); }
.timeline-entry { --timeline-shift: 24px; position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 76px minmax(0, 1fr); grid-template-areas: "year marker panel"; align-items: start; min-height: 290px; }
.timeline-entry--reverse { --timeline-shift: -24px; grid-template-areas: "panel marker year"; }
.timeline-entry__year { grid-area: year; padding: 1.2rem clamp(1.5rem, 4vw, 4rem) 0; color: rgb(247 250 248 / 0.28); font-family: var(--sans); font-size: clamp(3rem, 6.5vw, 6.8rem); font-variant-numeric: tabular-nums; font-weight: 260; letter-spacing: -0.065em; line-height: 0.85; text-align: right; transition: color var(--transition-slow); }
.timeline-entry--reverse .timeline-entry__year { text-align: left; }
.timeline-entry__marker { position: relative; z-index: 2; display: grid; grid-area: marker; justify-items: center; padding-top: 0.3rem; }
.timeline-entry__marker span { display: block; width: 15px; height: 15px; border: 4px solid #16281c; border-radius: 50%; background: #c2a464; box-shadow: 0 0 0 1px rgb(247 250 248 / 0.48); transition: transform var(--transition-slow), background-color var(--transition); }
.timeline-entry__panel { position: relative; grid-area: panel; min-width: 0; margin-inline: clamp(1.2rem, 2vw, 2rem); padding: clamp(1.35rem, 2.5vw, 2rem) clamp(1.4rem, 3vw, 2.8rem) clamp(2.5rem, 5vw, 4rem); border-top: 1px solid rgb(247 250 248 / 0.24); background: rgb(247 250 248 / 0.028); transition: background-color var(--transition-slow), border-color var(--transition); }
.timeline-entry__panel::before { position: absolute; top: -1px; left: clamp(-2rem, -2vw, -1.2rem); width: clamp(1.2rem, 2vw, 2rem); height: 1px; background: #c2a464; content: ""; }
.timeline-entry--reverse .timeline-entry__panel::before { right: clamp(-2rem, -2vw, -1.2rem); left: auto; }
.timeline-entry__region { margin-bottom: 0.75rem; color: #c2a464; font-size: 0.68rem; font-weight: 720; letter-spacing: 0.1em; text-transform: uppercase; }
.timeline-entry h3 { max-width: 15ch; margin-bottom: 1rem; font-size: clamp(1.8rem, 3vw, 3rem); }
.timeline-entry ul { display: grid; gap: 0.6rem; margin: 0; padding: 0; color: rgb(247 250 248 / 0.78); list-style: none; }
.timeline-entry li { position: relative; max-width: 48ch; padding-left: 1rem; font-size: 0.9rem; line-height: 1.6; }
.timeline-entry li::before { position: absolute; top: 0.72em; left: 0; width: 4px; height: 4px; border-radius: 50%; background: #c2a464; content: ""; }
.timeline-entry__media { display: grid; width: min(100%, 240px); gap: 0.65rem; margin-top: 1.5rem; }
.timeline-entry__media--split { width: 100%; grid-template-columns: 1fr 1fr; }
.timeline-entry__visual { border: 1px solid rgb(247 250 248 / 0.2); background: rgb(247 250 248 / 0.06); }
.timeline-entry__visual .media-placeholder { border: 0; background: rgb(247 250 248 / 0.06); }
.timeline-entry__visual .media-placeholder strong { color: #c2a464; }
.timeline-entry__visual .media-placeholder dt { color: var(--on-accent); }
.timeline-entry__visual .media-placeholder dd { color: color-mix(in srgb, var(--on-accent), transparent 35%); }

.statement-pair { background: var(--surface); }
.statement-pair__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); }
.statement-pair article { padding: clamp(2rem, 5vw, 5rem); background: var(--surface); }
.statement-pair h2 { font-size: clamp(2rem, 3.7vw, 3.6rem); }
.responsibility-list { border-top: 1px solid var(--line); }
.responsibility-list article { display: grid; grid-template-columns: 5fr 7fr; gap: 2rem; padding-block: clamp(1.8rem, 4vw, 3rem); border-bottom: 1px solid var(--line); }
.responsibility-list h2 { margin: 0; font-size: clamp(1.75rem, 3vw, 3.1rem); }
.responsibility-list p { margin: 0; }
.certification-section { background: var(--surface); }
.certification-list { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 4rem); }
.certification-list article { padding-top: 1.2rem; border-top: 1px solid var(--ink); }
.certification-list h3 { font-family: var(--sans); font-size: 1rem; font-weight: 700; }

.sustainability-page {
  --nature-pale: #e9f1e6;
  --nature-mid: #cfe0cb;
  --nature-deep: #12241a;
}

.sustainability-page .media-hero--sustainability { background: var(--nature-mid); }
.sustainability-page .media-hero--sustainability.is-placeholder::after { background: linear-gradient(90deg, rgb(23 62 52 / 0.04), transparent 55%); }
.sustainability-manifesto { display: grid; min-height: 0; grid-template-columns: minmax(0, 22fr) minmax(0, 8fr); align-items: stretch; overflow: hidden; aspect-ratio: 2 / 1; background: var(--nature-deep); }
.sustainability-manifesto__media { width: 100%; height: 100%; border-radius: 0; aspect-ratio: 22 / 15 !important; }
.sustainability-manifesto__panel { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(1.75rem, 2.6vw, 2.75rem); background: var(--nature-deep); color: var(--on-accent); }
.sustainability-manifesto__panel .section-note { color: #c2a464; }
.sustainability-manifesto__panel h2 { max-width: 11ch; margin-bottom: 0.9rem; font-size: clamp(2.35rem, 3.2vw, 3.4rem); }
.sustainability-manifesto__panel .lead { margin-bottom: 0; color: color-mix(in srgb, var(--on-accent), transparent 24%); font-size: clamp(0.98rem, 0.93rem + 0.2vw, 1.12rem); line-height: 1.48; }
.sustainability-manifesto__panel ol { margin: clamp(1.15rem, 2vw, 1.7rem) 0 0; padding: 0; border-top: 1px solid rgb(247 250 248 / 0.24); list-style: none; }
.sustainability-manifesto__panel li { display: grid; min-height: clamp(52px, 4vw, 60px); grid-template-columns: 44px 1fr; align-items: center; border-bottom: 1px solid rgb(247 250 248 / 0.24); transition: background-color var(--transition), color var(--transition); }
.sustainability-manifesto__panel li span { color: #c2a464; font-family: var(--serif); font-size: 0.8rem; }
.sustainability-manifesto__panel li strong { font-size: 0.82rem; font-weight: 620; letter-spacing: 0.03em; }

@media (max-width: 1280px) {
  .sustainability-manifesto { grid-template-columns: 1fr; aspect-ratio: auto; }
  .sustainability-manifesto__media { height: auto; aspect-ratio: 22 / 15 !important; }
  .sustainability-manifesto__panel { padding: clamp(3rem, 7vw, 5rem); }
  .sustainability-manifesto__panel h2 { max-width: 12ch; font-size: clamp(2.75rem, 4.3vw, 4.5rem); }
  .sustainability-manifesto__panel .lead { max-width: 54ch; font-size: clamp(1.1rem, 1rem + 0.45vw, 1.45rem); }
  .sustainability-manifesto__panel ol { margin-top: clamp(2rem, 4vw, 3rem); }
  .sustainability-manifesto__panel li { min-height: 68px; }
}

@media (max-width: 820px) and (orientation: portrait) {
  .sustainability-manifesto__media { aspect-ratio: 3 / 4 !important; }
}

.nature-context { overflow: clip; border-bottom: 1px solid color-mix(in srgb, var(--accent), transparent 72%); background: var(--nature-mid); }
.nature-context__grid { display: grid; grid-template-columns: minmax(260px, 5fr) minmax(0, 7fr); gap: clamp(3rem, 8vw, 9rem); }
.nature-context__intro { position: sticky; top: calc(var(--header-height) + 2rem); align-self: start; }
.nature-context__intro h2 { max-width: 10ch; color: var(--nature-deep); }
.nature-context__intro p:last-child { max-width: 54ch; }
.nature-context__points { border-top: 1px solid color-mix(in srgb, var(--nature-deep), transparent 52%); }
.nature-context__points article { min-height: 145px; padding: clamp(1.5rem, 3vw, 2.4rem) 0; border-bottom: 1px solid color-mix(in srgb, var(--nature-deep), transparent 52%); }
.nature-context__points h3 { max-width: 15ch; color: var(--nature-deep); font-size: clamp(1.8rem, 3vw, 3rem); }
.nature-context__points p { max-width: 56ch; }
.sustainability-pillars .section-heading { grid-template-columns: minmax(0, 7fr) minmax(260px, 5fr); align-items: end; gap: clamp(2rem, 7vw, 8rem); }
.sustainability-pillars .section-heading h2 { max-width: 11ch; margin-bottom: 0; }
.sustainability-pillars .section-heading p { margin: 0; }
.sustainability-pillars--plain { background: var(--nature-deep); color: var(--on-accent); }
.review-path { border-block: 1px solid color-mix(in srgb, var(--accent), transparent 76%); background: var(--nature-pale); }
.review-path__grid { display: grid; grid-template-columns: minmax(280px, 5fr) minmax(0, 7fr); gap: clamp(3rem, 8vw, 9rem); }
.review-path .section-heading { position: sticky; top: calc(var(--header-height) + 2rem); align-self: start; margin: 0; }
.review-path .section-heading h2 { max-width: 11ch; }
.review-path__list { border-top: 1px solid var(--line); }
.review-path__list article { display: grid; min-height: 130px; grid-template-columns: 76px minmax(0, 1fr); gap: 1.25rem; padding-block: clamp(1.4rem, 3vw, 2.2rem); border-bottom: 1px solid var(--line); }
.review-path__list article > span { color: var(--accent); font-family: var(--serif); font-size: 1.1rem; font-variant-numeric: tabular-nums; }
.review-path__list h3 { margin-bottom: 0.75rem; font-size: clamp(1.45rem, 2.2vw, 2.2rem); }
.review-path__list p { margin-bottom: 0; }
.sustainability-image-section {
  --sustainability-section-overlay:
    linear-gradient(90deg, rgb(9 32 26 / 0.28) 0%, rgb(9 32 26 / 0.12) 52%, rgb(9 32 26 / 0.2) 100%),
    linear-gradient(0deg, rgb(9 32 26 / 0.16), transparent 46%);
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-top: clamp(8rem, 10vw, 9rem);
  background: var(--nature-deep);
  color: var(--on-accent);
}
.sustainability-pillars.sustainability-image-section {
  --sustainability-section-overlay:
    linear-gradient(105deg, rgb(9 32 26 / 0.3) 0%, rgb(9 32 26 / 0.18) 58%, rgb(9 32 26 / 0.14) 100%),
    radial-gradient(circle at 82% 18%, rgb(194 164 100 / 0.06), transparent 34%);
}
.review-path.sustainability-image-section {
  --sustainability-section-overlay:
    linear-gradient(90deg, rgb(9 32 26 / 0.3) 0%, rgb(9 32 26 / 0.12) 50%, rgb(9 32 26 / 0.2) 100%),
    linear-gradient(180deg, rgb(10 24 16 / 0.06), rgb(10 24 16 / 0.18));
}
.sustainability-image-section::after { position: absolute; z-index: 1; inset: 0; background: var(--sustainability-section-overlay); content: ""; pointer-events: none; }
.sustainability-section-background { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 0; aspect-ratio: auto !important; }
.sustainability-section-background picture { height: 100%; }
.sustainability-section-background img { object-position: center; }
.sustainability-section-background .media-placeholder {
  align-items: start;
  justify-items: end;
  padding: calc(var(--header-height) + 1.25rem) max(var(--gutter), calc((100vw - var(--shell)) / 2)) 1.25rem;
  border: 0;
  background:
    radial-gradient(circle at 78% 22%, rgb(194 164 100 / 0.28), transparent 30%),
    linear-gradient(125deg, #62766b, #2b5146 52%, #183f35);
  text-align: left;
}
.sustainability-section-background .media-placeholder__content {
  position: relative;
  z-index: 4;
  width: min(100%, 23rem);
  padding: 0.8rem 1rem;
  border: 1px solid rgb(20 32 29 / 0.24);
  background: rgb(247 250 248 / 0.96);
  box-shadow: 0 12px 34px rgb(10 24 16 / 0.2);
}
.sustainability-section-background .media-placeholder strong { color: var(--accent-strong); }
.sustainability-section-background .media-placeholder dl { margin-top: 0.38rem; color: var(--muted); }
.sustainability-section-background .media-placeholder dl div { justify-content: flex-start; }
.sustainability-section-background .media-placeholder dt { color: var(--ink); }
.sustainability-image-section__content { position: relative; z-index: 2; }
:is(.sustainability-image-section, .sustainability-pillars--plain) h2,
:is(.sustainability-image-section, .sustainability-pillars--plain) h3 { color: var(--on-accent); text-shadow: 0 1px 16px rgb(10 24 16 / 0.18); }
:is(.sustainability-image-section, .sustainability-pillars--plain) p { color: color-mix(in srgb, var(--on-accent), transparent 23%); }
:is(.sustainability-image-section, .sustainability-pillars--plain) .section-note,
.sustainability-image-section .review-path__list article > span { color: #d7c99f; }
.sustainability-image-section .nature-context__points,
.sustainability-pillars--plain .responsibility-list,
.sustainability-image-section .review-path__list { border-top-color: rgb(247 250 248 / 0.38); }
.sustainability-image-section .nature-context__points article,
.sustainability-pillars--plain .responsibility-list article,
.sustainability-image-section .review-path__list article { border-bottom-color: rgb(247 250 248 / 0.38); }
.beyond-sustainability { background: var(--nature-deep); color: var(--on-accent); }
.beyond-sustainability__grid { display: grid; grid-template-columns: minmax(260px, 5fr) minmax(0, 7fr); gap: clamp(3rem, 8vw, 9rem); }
.beyond-sustainability__intro > .section-note,
.beyond-sustainability__references .section-note { color: var(--on-accent); }
.beyond-sustainability__intro h2 { max-width: 11ch; font-size: clamp(2.5rem, 4.2vw, 4.4rem); }
.beyond-sustainability__intro p:last-child { max-width: 48ch; margin-bottom: 0; color: color-mix(in srgb, var(--on-accent), transparent 25%); }
.beyond-sustainability__topics { border-top: 1px solid rgb(247 250 248 / 0.26); }
.beyond-sustainability__topics article { padding-block: clamp(1.5rem, 3vw, 2.4rem); border-bottom: 1px solid rgb(247 250 248 / 0.26); }
.beyond-sustainability__topics h3 { max-width: 18ch; color: var(--on-accent); font-size: clamp(1.65rem, 2.6vw, 2.65rem); }
.beyond-sustainability__topics p { max-width: 56ch; margin-bottom: 0; color: color-mix(in srgb, var(--on-accent), transparent 27%); }
.sustainability-page .certification-section { background: color-mix(in srgb, var(--nature-mid), var(--canvas) 42%); }
.sustainability-page .certification-section .section-heading { grid-template-columns: minmax(0, 7fr) minmax(260px, 5fr); align-items: end; gap: clamp(2rem, 7vw, 8rem); }
.sustainability-page .certification-section .section-heading h2,
.sustainability-page .certification-section .section-heading p { margin-bottom: 0; }

.hover-reveal { position: relative; transition: border-color var(--transition), background-color var(--transition), color var(--transition); }
.hover-reveal:not(a) { cursor: default; }
.hover-reveal__description { display: block; }

.product-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.product-list__item { display: grid; min-width: 0; grid-template-columns: 42% minmax(0, 1fr); min-height: 290px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }
.product-list__item:nth-child(2n) { border-right: 0; }
.product-list__media { height: 100%; border-radius: 0; }
.product-list__item > span { display: flex; flex-direction: column; padding: clamp(1.2rem, 3vw, 2rem); }
.product-list strong { font-family: var(--serif); font-size: clamp(1.35rem, 2vw, 2.1rem); font-weight: 500; line-height: 1.2; }
.product-list em { margin-top: 0.6rem; color: var(--muted); font-size: 0.88rem; font-style: normal; }
.product-list small { margin-top: auto; color: var(--accent); font-weight: 650; }

.collection-story__logo.has-image img { opacity: 0.78; transition: opacity 320ms var(--ease-luxury); }
.collection-story__logo.has-image:hover img { opacity: 1; }
.product-groups { display: grid; border-top: 1px solid var(--line); }
.product-groups article { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); padding-block: clamp(2rem, 5vw, 4rem); border-bottom: 1px solid var(--line); }
.product-groups article:has(.product-group__media) { grid-template-columns: minmax(280px, 5fr) minmax(0, 7fr); }
.product-group__media { width: 100%; }
.product-groups h2 { max-width: 15ch; font-size: clamp(1.8rem, 3.3vw, 3.3rem); }
.product-showcase { overflow: clip; border-block: 1px solid var(--line); background: color-mix(in srgb, var(--surface), var(--canvas) 30%); }
.product-showcase__header { width: min(100%, 820px); margin-bottom: clamp(4rem, 8vw, 8rem); }
.product-showcase__header h2 { max-width: 10ch; margin-bottom: 1.2rem; font-size: clamp(3rem, 6vw, 6.4rem); }
.product-showcase__header p { max-width: 58ch; margin-bottom: 0; font-size: clamp(1rem, 1rem + 0.25vw, 1.2rem); }
.product-showcase__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 2.8vw, 2.75rem); }
/* Only collection-detail.php's concept board carries the "shop this
   collection" button below it, so this stays scoped to that adjacency rather
   than becoming a general rule every .button-row inherits. */
.product-showcase__grid + .button-row { margin-top: clamp(3rem, 6vw, 5rem); }
.product-concept { min-width: 0; outline-offset: 8px; }
.product-concept__visual { position: relative; isolation: isolate; overflow: hidden; background: var(--surface); }
.product-concept__visual::before { position: absolute; z-index: 3; inset: clamp(0.65rem, 1.4vw, 1.25rem); border: 1px solid rgb(247 250 248 / 0.72); content: ""; opacity: 0; pointer-events: none; transform: scale(0.98); transition: opacity 360ms ease, transform 620ms var(--ease-luxury); }
.product-concept__visual::after { position: absolute; z-index: 3; top: 0; bottom: 0; left: 0; width: 3px; background: var(--accent); content: ""; pointer-events: none; transform: scaleY(0); transform-origin: bottom; transition: transform 680ms var(--ease-luxury); }
.product-concept__media { border-radius: 0; aspect-ratio: 4 / 5 !important; }
.product-concept__copy { display: grid; grid-template-columns: clamp(44px, 5vw, 72px) minmax(0, 1fr); gap: clamp(0.8rem, 2vw, 1.5rem); margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--ink); }
.product-concept__copy > span { padding-top: 0.35rem; color: var(--accent); font-family: var(--serif); font-size: 0.8rem; font-variant-numeric: tabular-nums; }
.product-concept__copy h3 { margin: 0; font-size: clamp(1.7rem, 3vw, 3.1rem); }
.product-concept__copy p { max-width: 38ch; margin: 0.65rem 0 0; color: var(--muted); font-size: 0.82rem; }

.brand-collection-showcase {
  --brand-card-width: clamp(270px, 26vw, 360px);
  overflow: clip;
  border-block: 1px solid var(--line);
  background:
    linear-gradient(112deg, color-mix(in srgb, var(--surface-strong), transparent 36%), transparent 42%),
    color-mix(in srgb, var(--surface), var(--canvas) 24%);
}
.brand-collection-showcase__header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 2rem; margin-bottom: clamp(2.75rem, 5vw, 4.5rem); }
.brand-collection-showcase__intro { width: min(100%, 760px); }
.brand-collection-showcase__intro h2 { max-width: 11ch; margin-bottom: 1rem; font-size: clamp(3rem, 5.5vw, 5.8rem); }
.brand-collection-showcase__intro p { max-width: 56ch; margin-bottom: 0; }
.brand-collection-showcase__navigation { display: grid; justify-items: end; gap: 0.75rem; }
.brand-collection-showcase__status { min-height: 1.5em; margin: 0; color: var(--accent); font-size: 0.72rem; font-weight: 700; text-align: right; }
.brand-collection-showcase__controls { display: grid; grid-template-columns: repeat(2, 52px); border: 1px solid var(--ink); background: var(--canvas); }
.brand-collection-showcase__controls button { width: 52px; min-height: 52px; padding: 0; border: 0; border-right: 1px solid var(--ink); background: transparent; color: var(--ink); cursor: pointer; font-family: var(--serif); font-size: 1.25rem; transition: background-color var(--transition), color var(--transition), transform var(--transition); }
.brand-collection-showcase__controls button:last-child { border-right: 0; }
.brand-collection-showcase__controls button:hover,
.brand-collection-showcase__controls button:focus-visible { background: var(--accent); color: var(--on-accent); }
.brand-collection-showcase__controls button:active { transform: scale(0.96); }
.brand-collection-showcase__viewport { min-width: 0; overflow-x: auto; overflow-y: hidden; cursor: grab; scroll-behavior: smooth; scroll-snap-type: inline mandatory; scrollbar-width: none; touch-action: pan-x pan-y; }
.brand-collection-showcase__viewport::-webkit-scrollbar { display: none; }
.brand-collection-showcase__viewport:focus-visible { outline-offset: -5px; }
.brand-collection-showcase.is-dragging .brand-collection-showcase__viewport { cursor: grabbing; scroll-snap-type: none; }
.brand-collection-showcase__track { display: flex; width: max-content; align-items: flex-start; gap: clamp(1rem, 2.2vw, 2rem); padding: 1.25rem max(var(--gutter), calc((100vw - var(--brand-card-width)) / 2)) 2.5rem; }
.brand-collection-card { width: var(--brand-card-width); min-width: 0; flex: 0 0 auto; opacity: 0.56; scroll-snap-align: center; transform: perspective(1100px) translateY(1.8rem) rotateY(2.5deg) scale(0.93); transform-origin: right center; transition: opacity 520ms var(--ease-luxury), transform 760ms var(--ease-luxury); }
.brand-collection-card.is-after { transform: perspective(1100px) translateY(1.8rem) rotateY(-2.5deg) scale(0.93); transform-origin: left center; }
.brand-collection-card.is-active { opacity: 1; transform: perspective(1100px) translateY(0) rotateY(0) scale(1); }
.brand-collection-card__link { display: block; color: inherit; text-decoration: none; }
.brand-collection-card__visual { position: relative; isolation: isolate; overflow: hidden; background: var(--surface-strong); transition: transform var(--transition); }
.brand-collection-card__visual::before { position: absolute; z-index: 3; inset: 0.7rem; border: 1px solid rgb(247 250 248 / 0.82); content: ""; opacity: 0; pointer-events: none; transform: scale(0.975); transition: opacity 360ms ease, transform 620ms var(--ease-luxury); }
.brand-collection-card__visual::after { position: absolute; z-index: 2; inset: 0; background: linear-gradient(105deg, transparent 28%, rgb(247 250 248 / 0.38) 48%, transparent 68%); content: ""; opacity: 0; pointer-events: none; transform: translateX(-105%); transition: opacity 280ms ease, transform 920ms var(--ease-luxury); }
.brand-collection-card__media { border-radius: 0; transition: transform 760ms var(--ease-luxury), filter 520ms var(--ease-luxury); }
.brand-collection-card:not(.is-active) .brand-collection-card__media { filter: saturate(0.72) contrast(0.94); }
.brand-collection-card__copy { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--ink); transition: border-color var(--transition), transform var(--transition); }
.brand-collection-card__copy h3 { margin-bottom: 0.55rem; font-size: clamp(1.55rem, 2.2vw, 2.25rem); }
.brand-collection-card__copy p { min-height: 4.6em; margin-bottom: 1.1rem; font-size: 0.82rem; line-height: 1.55; }
.brand-collection-card__cta { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--accent); font-size: 0.74rem; font-weight: 700; }
.brand-collection-card__cta > span { transition: transform var(--transition); }
.brand-collection-card:focus-within { opacity: 1; transform: perspective(1100px) translateY(0.55rem) rotateY(0) scale(0.975); }
.brand-collection-card:focus-within .brand-collection-card__visual::before { opacity: 1; transform: scale(1); }
.brand-collection-card:focus-within .brand-collection-card__visual::after { opacity: 1; transform: translateX(105%); }
.brand-collection-card:focus-within .brand-collection-card__media { filter: none; transform: scale(1.025); }
.brand-collection-card:focus-within .brand-collection-card__copy { border-color: var(--accent); transform: translateY(-0.2rem); }
.brand-collection-card:focus-within .brand-collection-card__cta > span { transform: translateX(0.3rem); }
.brand-collection-showcase.is-static .brand-collection-showcase__viewport { overflow: hidden; cursor: default; }
.brand-collection-showcase.is-static .brand-collection-showcase__track { width: 100%; justify-content: center; padding: 0 var(--gutter) 1rem; }
.brand-collection-showcase.is-static .brand-collection-card { opacity: 1; transform: none; }

.linen-catalogue { overflow: clip; border-block: 1px solid var(--line); background: var(--canvas); }
.slipper-lookbook { overflow: clip; border-block: 1px solid var(--line); background: color-mix(in srgb, var(--surface), var(--canvas) 44%); }
.linen-catalogue__intro,
.slipper-lookbook__intro { width: min(100%, 800px); margin-bottom: clamp(3rem, 6vw, 5rem); }
.linen-catalogue__intro h2,
.slipper-lookbook__intro h2 { max-width: 11ch; margin-bottom: 1.15rem; font-size: clamp(2.7rem, 4.6vw, 4.7rem); }
.linen-catalogue__intro p,
.slipper-lookbook__intro p { max-width: 58ch; margin-bottom: 0; font-size: clamp(1rem, 1rem + 0.2vw, 1.16rem); }
.linen-catalogue__ranges,
.slipper-lookbook__ranges { border-top: 1px solid var(--ink); }
.linen-range,
.slipper-range { display: grid; grid-template-columns: minmax(230px, 3fr) minmax(0, 9fr); align-items: start; gap: clamp(2.5rem, 6vw, 6.5rem); padding-block: clamp(3rem, 5.5vw, 5rem); border-bottom: 1px solid var(--line); }
.linen-range:last-child,
.slipper-range:last-child { border-bottom: 0; padding-bottom: 0; }
.linen-range__header,
.slipper-range__header { display: grid; min-height: 100%; align-content: space-between; gap: 2rem; }
.linen-range__header h3,
.slipper-range__header h3 { max-width: 12ch; margin-bottom: 0.75rem; font-size: clamp(2.2rem, 3.5vw, 3.7rem); }
.linen-range__header p,
.slipper-range__header p { max-width: 38ch; margin-bottom: 0; color: var(--muted); font-size: 0.9rem; }
.luxury-product-rail { min-width: 0; overflow-x: auto; overflow-y: hidden; padding-bottom: 0.35rem; cursor: grab; scroll-behavior: smooth; scroll-snap-type: inline mandatory; scrollbar-width: none; }
.luxury-product-rail::-webkit-scrollbar { display: none; }
.luxury-product-rail:active { cursor: grabbing; }
.luxury-product-rail:focus-visible { outline-offset: 5px; }
.luxury-product-rail__track { display: flex; width: max-content; align-items: flex-start; gap: clamp(0.9rem, 1.6vw, 1.4rem); }
.luxury-product-card { width: clamp(210px, 20vw, 270px); min-width: 0; flex: 0 0 auto; scroll-snap-align: start; }
.linen-product h4,
.slipper-product h4 { margin: 0.75rem 0 0; padding-top: 0.75rem; border-top: 1px solid var(--ink); font-family: var(--sans); font-size: clamp(0.86rem, 0.84rem + 0.18vw, 1rem); font-weight: 680; line-height: 1.4; }
.linen-product__media,
.slipper-product__media { border-radius: 0; background: var(--surface-strong); }
.linen-product__media,
.slipper-product__media { aspect-ratio: 4 / 5 !important; }
.luxury-product-rail__controls { display: none; grid-template-columns: repeat(2, 48px); width: fit-content; border: 1px solid var(--line); background: var(--canvas); }
.js .luxury-product-rail__controls { display: grid; }
.luxury-product-rail__controls button { width: 48px; min-height: 48px; padding: 0; border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; font-family: var(--serif); font-size: 1.2rem; transition: background-color var(--transition), color var(--transition), transform var(--transition); }
.luxury-product-rail__controls button:last-child { border-right: 0; }
.luxury-product-rail__controls button:hover,
.luxury-product-rail__controls button:focus-visible { background: var(--accent); color: var(--on-accent); }
.luxury-product-rail__controls button:active { transform: scale(0.96); }
.luxury-product-rail__controls button:disabled { cursor: default; opacity: 0.36; }
.linen-range.is-static .luxury-product-rail__controls,
.slipper-range.is-static .luxury-product-rail__controls { visibility: hidden; }
.wide-feature-media { max-width: 1000px; margin-inline: auto; }
.related-section { border-top: 1px solid var(--line); }
.related-section h2 { font-size: clamp(1.8rem, 3vw, 3rem); }
.related-links { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.related-links a { min-height: 48px; padding: 0.7rem 1rem; border: 1px solid var(--line); text-decoration: none; transition: border-color var(--transition), background var(--transition); }
.related-links a:hover,
.related-links a:focus-visible { border-color: var(--accent); background: var(--surface); }
.filter-links { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.filter-links a { min-height: 44px; padding: 0.55rem 0.8rem; border: 1px solid var(--line); text-decoration: none; }
.filter-links a[aria-current] { border-color: var(--accent); background: var(--accent); color: var(--on-accent); }

.collection-directory__header { width: min(100%, 640px); margin-bottom: clamp(2.25rem, 4vw, 3.5rem); text-align: left; }
.collection-directory__header h2 { max-width: 18ch; margin-bottom: 0.8rem; font-size: clamp(1.85rem, 2.5vw, 2.65rem); line-height: 1.06; }
.collection-directory__header p { max-width: 58ch; margin-bottom: 0; font-size: clamp(0.92rem, 0.88rem + 0.12vw, 1rem); line-height: 1.65; }
.collection-directory__filters {
  margin-bottom: clamp(3rem, 6vw, 5.5rem);
  border-top: 1px solid var(--ink);
  view-transition-name: collection-filters;
}
.collection-directory__filters,
.collection-directory__results { transition: opacity 220ms ease; }
.collection-directory.is-filtering .collection-directory__filters,
.collection-directory.is-filtering .collection-directory__results { opacity: 0.64; pointer-events: none; }
.collection-directory__groups {
  display: flex;
  min-width: 0;
  overflow-x: auto;
  gap: clamp(1.75rem, 3.5vw, 3.5rem);
  padding-inline: clamp(0.2rem, 0.7vw, 0.65rem);
  background: transparent;
  scrollbar-width: none;
}
.collection-directory__groups::-webkit-scrollbar,
.collection-directory__alphabet-viewport::-webkit-scrollbar { display: none; }
.collection-directory__groups a {
  position: relative;
  display: inline-flex;
  min-height: 64px;
  flex: 0 0 auto;
  align-items: center;
  color: var(--muted);
  font-size: 0.73rem;
  font-weight: 650;
  letter-spacing: 0.025em;
  text-decoration: none;
  transition: color 200ms ease;
}
.collection-directory__groups a::after {
  position: absolute;
  right: 50%;
  bottom: 11px;
  left: 50%;
  height: 1px;
  background: var(--accent);
  content: "";
  transform: scaleX(0);
  transition: right 240ms var(--ease-luxury), left 240ms var(--ease-luxury), transform 240ms var(--ease-luxury);
}
.collection-directory__groups a:hover,
.collection-directory__groups a:focus-visible,
.collection-directory__groups a[aria-current],
.collection-directory__groups a.is-luxury-pressed { color: var(--ink); }
.collection-directory__groups a:focus-visible,
.collection-directory__alphabet a:focus-visible { outline-color: var(--accent); }
.collection-directory__groups a:focus-visible { outline-offset: -9px; }
.collection-directory__alphabet a:focus-visible { outline-offset: -5px; }
.collection-directory__groups a:hover::after,
.collection-directory__groups a:focus-visible::after,
.collection-directory__groups a[aria-current]::after,
.collection-directory__groups a.is-luxury-pressed::after {
  right: 0;
  left: 0;
  transform: scaleX(1);
}
.collection-directory__alphabet-viewport {
  overflow-x: auto;
  background: transparent;
  scrollbar-width: none;
}
.collection-directory__alphabet {
  position: relative;
  display: grid;
  width: max(100%, 1040px);
  grid-template-columns: minmax(80px, 1.7fr) repeat(26, minmax(36px, 1fr));
}
.collection-directory__alphabet::after {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  background: color-mix(in srgb, var(--ink), transparent 88%);
  content: "";
  pointer-events: none;
}
.collection-directory__alphabet a,
.collection-directory__alphabet span {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 62px;
  place-items: center;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 540;
  text-decoration: none;
  transition: color 200ms ease, transform 180ms ease;
}
.collection-directory__alphabet a::before {
  position: absolute;
  z-index: 1;
  top: 0;
  right: clamp(0.15rem, 0.35vw, 0.35rem);
  left: clamp(0.15rem, 0.35vw, 0.35rem);
  height: 2px;
  background: var(--accent);
  content: "";
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 240ms var(--ease-luxury);
}
.collection-directory__alphabet a:first-child {
  padding-inline: 0.75rem;
  font-size: 0.7rem;
  font-weight: 680;
}
.collection-directory__alphabet a:hover,
.collection-directory__alphabet a:focus-visible,
.collection-directory__alphabet a[aria-current],
.collection-directory__alphabet a.is-luxury-pressed { color: var(--ink); }
.collection-directory__alphabet a:hover::before,
.collection-directory__alphabet a:focus-visible::before,
.collection-directory__alphabet a[aria-current]::before,
.collection-directory__alphabet a.is-luxury-pressed::before { transform: scaleX(1); }
.collection-directory__alphabet a:active { transform: translateY(1px); }
.collection-directory__alphabet span[aria-disabled="true"] { color: color-mix(in srgb, var(--muted), transparent 78%); }
.collection-directory__results { view-transition-name: collection-results; }

::view-transition-old(collection-filters),
::view-transition-old(collection-results) { animation: collection-filter-out 180ms ease both; }
::view-transition-new(collection-filters),
::view-transition-new(collection-results) { animation: collection-filter-in 460ms var(--ease-luxury) both; }

@keyframes collection-filter-out {
  to { opacity: 0; transform: translateY(-6px); }
}

@keyframes collection-filter-in {
  from { opacity: 0; transform: translateY(12px); }
}
.collection-directory__empty { display: grid; min-height: 280px; align-content: center; justify-items: start; padding: clamp(2rem, 5vw, 4rem); background: color-mix(in srgb, var(--surface), var(--canvas) 22%); }
.collection-directory__empty h3 { max-width: 20ch; margin-bottom: 0.75rem; }
.collection-directory__empty p { margin-bottom: 1.4rem; }
.pure-soap-groups { display: grid; grid-template-columns: minmax(230px, 4fr) minmax(0, 8fr); gap: clamp(2rem, 7vw, 7rem); margin-top: clamp(4rem, 8vw, 7rem); padding-top: clamp(2rem, 4vw, 3.5rem); border-top: 1px solid var(--ink); }
.pure-soap-groups__intro h3 { max-width: 13ch; font-size: clamp(2rem, 3.8vw, 3.8rem); }
.pure-soap-groups__intro p { max-width: 42ch; margin-bottom: 0; }
.pure-soap-groups__list { border-top: 1px solid var(--line); }
.pure-soap-groups__list article { display: grid; grid-template-columns: minmax(150px, 4fr) minmax(0, 8fr); gap: 1.5rem; padding-block: clamp(1.3rem, 2.8vw, 2.2rem); border-bottom: 1px solid var(--line); }
.pure-soap-groups__list h4 { margin: 0; color: var(--accent); font-family: var(--serif); font-size: clamp(1.35rem, 2vw, 2.1rem); font-weight: 500; }
.pure-soap-groups__list p { margin: 0; }

.collection-hero { position: relative; display: grid; min-height: clamp(680px, 86svh, 900px); align-items: end; isolation: isolate; overflow: hidden; background: var(--surface); }
.collection-hero::after { position: absolute; z-index: 1; inset: 0; pointer-events: none; content: ""; }
.collection-hero:has(.has-image)::after { background: linear-gradient(90deg, rgb(10 24 16 / 0.74), transparent 62%), linear-gradient(0deg, rgb(10 24 16 / 0.4), transparent 42%); }
.collection-hero__media { position: absolute; z-index: 0; inset: 0; width: 100%; max-width: 100vw; height: 100%; max-height: none; border-radius: 0; aspect-ratio: auto !important; }
.collection-hero__media .media-placeholder { align-content: start; justify-items: center; padding: calc(var(--header-height) + clamp(3rem, 8vh, 6rem)) var(--gutter) 2rem; }
.collection-hero__content { position: relative; z-index: 2; padding-bottom: clamp(3rem, 8vh, 6rem); }
.collection-hero__copy { width: min(650px, 100%); }
.collection-hero__copy p { margin-bottom: 0.45rem; color: var(--collection-aurora-primary, var(--accent)); font-size: 0.78rem; font-weight: 700; }
.collection-hero__copy h1 { max-width: 12ch; margin-bottom: 0.75rem; font-size: clamp(3.5rem, 5.5vw, 5.25rem); }
.collection-hero__copy span { color: var(--muted); }
.collection-hero:has(.has-image) .collection-hero__copy p,
.collection-hero:has(.has-image) .collection-hero__copy h1,
.collection-hero:has(.has-image) .collection-hero__copy span { color: var(--on-accent); text-shadow: 0 1px 2px rgb(10 24 16 / 0.34); }
.collection-story { border-top: 1px solid color-mix(in srgb, var(--collection-aurora-primary, var(--line)), var(--line) 55%); }
.collection-story__grid { display: grid; grid-template-columns: 4fr 8fr; gap: clamp(2rem, 6vw, 7rem); }
.collection-story__logo { align-self: start; }
.collection-story[data-collection-story-reverse] .collection-story__grid { grid-template-columns: 8fr 4fr; }
.collection-story[data-collection-story-reverse] .collection-story__logo { order: 2; }
.collection-story[data-collection-story-reverse] .collection-story__grid > *:not(.collection-story__logo) { order: 1; }
.collection-products h2 { margin-top: 3rem; font-family: var(--sans); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.collection-information { overflow: clip; background: color-mix(in srgb, var(--surface), var(--canvas) 34%); }
.collection-information__layout { display: grid; grid-template-columns: minmax(230px, 4fr) minmax(0, 8fr); align-items: start; gap: clamp(2.5rem, 7vw, 7.5rem); }
.collection-information__intro { position: sticky; top: calc(var(--header-height) + 2rem); }
.collection-information__intro h2 { max-width: 10ch; margin-bottom: 1rem; font-size: clamp(2.5rem, 4.2vw, 4.25rem); }
.collection-information__intro p { max-width: 36ch; margin-bottom: 0; }
.collection-information__ledger { margin: 0; border-top: 1px solid var(--ink); }
.collection-information__item { position: relative; isolation: isolate; display: grid; min-height: 136px; grid-template-columns: minmax(138px, 3fr) minmax(0, 9fr); align-items: center; gap: clamp(1.25rem, 3vw, 3rem); overflow: hidden; padding: clamp(1.35rem, 2.4vw, 2rem); border-bottom: 1px solid var(--line); }
.collection-information__item::before { position: absolute; z-index: 0; inset: 0; background: var(--collection-aurora-primary, var(--accent)); content: ""; transform: scaleX(0); transform-origin: right center; transition: transform 520ms var(--ease-luxury); }
.collection-information__item dt,
.collection-information__item dd { position: relative; z-index: 1; margin: 0; transition: color 320ms var(--ease-luxury), transform 520ms var(--ease-luxury); }
.collection-information__item dt { color: var(--collection-aurora-primary, var(--accent)); font-size: 0.72rem; font-weight: 740; letter-spacing: 0.07em; text-transform: uppercase; }
.collection-information__item dd { max-width: 56ch; color: var(--ink); font-family: var(--serif); font-size: clamp(1.2rem, 2vw, 1.75rem); line-height: 1.35; }
.collection-information__item:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.collection-information__item:focus::before { transform: scaleX(1); transform-origin: left center; }
.collection-information__item:focus dt { color: color-mix(in srgb, var(--on-accent), transparent 28%); }
.collection-information__item:focus dd { color: var(--on-accent); transform: translateX(0.55rem); }
@media (hover: hover) and (pointer: fine) {
  .collection-information__item:hover::before { transform: scaleX(1); transform-origin: left center; }
  .collection-information__item:hover dt { color: color-mix(in srgb, var(--on-accent), transparent 28%); }
  .collection-information__item:hover dd { color: var(--on-accent); transform: translateX(0.55rem); }
}
.collection-products { background: var(--surface); }
.collection-products__grid { display: grid; grid-template-columns: 4fr 8fr; align-items: center; gap: clamp(2rem, 6vw, 7rem); }

.contact-section__grid { display: grid; grid-template-columns: 4fr 8fr; align-items: start; gap: clamp(3rem, 8vw, 9rem); }
.contact-section aside { position: sticky; top: 110px; }
.contact-section aside h2 { font-size: clamp(1.8rem, 3vw, 3rem); }
.office-list { margin-top: 2rem; border-top: 1px solid var(--line); }
.office-list article { padding: 1.4rem 0; border-bottom: 1px solid var(--line); transition: background-color var(--transition), border-color var(--transition); }
.office-list .section-note { margin-bottom: 0.4rem; }
.office-list h3 { margin-bottom: 0.65rem; font-family: var(--sans); font-size: 0.9rem; font-weight: 720; line-height: 1.35; }
.office-list address { margin-bottom: 0.6rem; color: var(--muted); font-size: 0.78rem; font-style: normal; line-height: 1.55; }
.office-list a { color: var(--accent); font-size: 0.78rem; font-weight: 680; text-decoration: none; }
.contact-form-wrap > h2 { max-width: 12ch; }
.contact-form-wrap form { display: grid; grid-template-columns: 1fr 1fr; gap: 1.35rem; margin-top: 2.5rem; }
.form-field { display: flex; min-width: 0; flex-direction: column; gap: 0.45rem; }
.form-field--wide { grid-column: 1 / -1; }
.form-field label { color: var(--ink); font-size: 0.86rem; font-weight: 650; }
.form-field label span { color: var(--muted); font-size: 0.72rem; font-weight: 400; }
.form-field input,
.form-field select,
.form-field textarea { width: 100%; min-height: 50px; padding: 0.7rem 0.8rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--canvas); transition: border-color 280ms var(--ease-luxury); }
.form-field textarea { min-height: 160px; resize: vertical; }
.form-field input:hover,
.form-field select:hover,
.form-field textarea:hover { border-color: var(--muted); }
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus { border-color: var(--accent); }
.form-field [aria-invalid="true"] { border-color: var(--focus); }
.field-error { color: #91371f; }
.checkbox-field { display: grid; grid-template-columns: 24px 1fr; align-items: start; }
.checkbox-field input { width: 22px; min-height: 22px; margin-top: 0.2rem; }
.checkbox-field .field-error { grid-column: 2; }
.field-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-status { margin-block: 1.5rem; padding: 1.1rem 1.25rem; border-left: 3px solid var(--accent); background: var(--surface); }
.form-status--error { border-color: var(--focus); }
.form-status h3 { margin-bottom: 0.4rem; font-family: var(--sans); font-size: 1rem; font-weight: 700; }
.form-status p { margin-bottom: 0; }

.simple-hero { padding: clamp(5rem, 10vw, 10rem) 0 clamp(3rem, 6vw, 6rem); border-bottom: 1px solid var(--line); }
.simple-hero h1 { font-size: clamp(3rem, 7vw, 6rem); }
.faq-hero h1 { max-width: 11ch; }
.faq-hero .lead { max-width: 52ch; }
.faq-section__grid { display: grid; grid-template-columns: minmax(260px, 5fr) minmax(0, 7fr); gap: clamp(3rem, 8vw, 9rem); }
.faq-section__intro { position: sticky; top: calc(var(--header-height) + 2rem); align-self: start; }
.faq-section__intro h2 { max-width: 9ch; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; display: grid; min-height: 94px; grid-template-columns: 52px minmax(0, 1fr) 24px; align-items: center; gap: 1rem; padding-block: 1.2rem; cursor: pointer; font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.8rem); line-height: 1.25; list-style: none; transition: color var(--transition), background-color var(--transition); }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--accent); font-family: var(--sans); font-size: 0.7rem; font-variant-numeric: tabular-nums; font-weight: 700; }
.faq-list summary i { color: var(--accent); font-family: var(--sans); font-size: 1.25rem; font-style: normal; transition: transform var(--transition-slow); }
.faq-list details[open] summary i { transform: rotate(45deg); }
.faq-list details > div { overflow: hidden; }
.faq-list details > div p { max-width: 58ch; margin: 0 0 2rem calc(52px + 1rem); }
.legal-copy { display: grid; max-width: var(--reading); gap: 3rem; }
.legal-copy section { padding-bottom: 2rem; border-bottom: 1px solid var(--line); transition: border-color var(--transition), background-color var(--transition); }
.legal-copy h2 { font-size: clamp(1.7rem, 3vw, 2.7rem); }
.not-found { display: grid; min-height: 72vh; align-items: center; padding-block: 5rem; }

.site-footer { background: #12241a; color: var(--on-accent); }
.site-footer__main { display: grid; grid-template-columns: minmax(220px, 4fr) minmax(260px, 4fr) minmax(220px, 4fr); align-items: start; gap: clamp(2rem, 5vw, 5rem); padding-block: clamp(2rem, 3vw, 2.75rem); border-bottom: 1px solid rgb(247 250 248 / 0.14); }
.site-footer__identity p { max-width: 38ch; margin: 1rem 0 0; color: color-mix(in srgb, var(--on-accent), transparent 42%); font-size: 0.75rem; }
.site-footer__brand-link { display: inline-flex; align-items: center; gap: 0.7rem; color: var(--on-accent); font-size: 0.7rem; font-weight: 750; letter-spacing: 0.07em; line-height: 1.15; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.site-footer__brand-link img { width: 38px; height: 38px; object-fit: contain; opacity: 0.78; transition: opacity var(--transition), transform var(--transition-slow); }
.site-footer__brand-link:hover img,
.site-footer__brand-link:focus-visible img { opacity: 1; transform: scale(1.04); }
.site-footer__nav { display: grid; min-width: 0; grid-template-columns: 1fr 1fr; gap: 0.9rem 1.5rem; }
.site-footer__nav a { position: relative; color: color-mix(in srgb, var(--on-accent), transparent 30%); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.09em; text-decoration: none; text-transform: uppercase; transition: color var(--transition); }
.site-footer__nav a::after { position: absolute; right: 0; bottom: 0; left: 0; height: 1px; background: currentColor; content: ""; transform: scaleX(0); transform-origin: right; transition: transform var(--transition); }
.site-footer__nav a:hover,
.site-footer__nav a:focus-visible { color: var(--on-accent); }
.site-footer__nav a:hover::after,
.site-footer__nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.site-footer__contacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem 1rem; }
.site-footer__contacts > a { display: flex; min-width: 0; align-items: baseline; justify-content: space-between; gap: 1rem; padding-bottom: 0.7rem; border-bottom: 1px solid rgb(247 250 248 / 0.14); color: var(--on-accent); text-decoration: none; }
.site-footer__contacts span { color: color-mix(in srgb, var(--on-accent), transparent 50%); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.site-footer__contacts strong { font-size: 0.74rem; font-variant-numeric: tabular-nums; font-weight: 620; white-space: nowrap; }
.site-footer__contacts > a:hover strong,
.site-footer__contacts > a:focus-visible strong { color: #c2a464; }
.site-footer__public-links { display: flex; grid-column: 1 / -1; min-width: 0; align-items: center; flex-wrap: wrap; gap: 0.45rem 1.25rem; }
.site-footer__public-links a { display: inline-flex; min-width: 0; align-items: center; color: color-mix(in srgb, var(--on-accent), transparent 30%); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.01em; overflow-wrap: anywhere; text-decoration: none; text-transform: none; }
.site-footer__public-links .site-footer__public-email { flex-basis: 100%; }
.site-footer__public-links a:hover,
.site-footer__public-links a:focus-visible { color: var(--on-accent); }
.site-footer__locale { display: flex; align-items: center; gap: 0.8rem; }
.site-footer__locale > span { color: color-mix(in srgb, var(--on-accent), transparent 52%); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.site-footer .language-switcher { width: fit-content; min-height: 0; margin: 0; padding: 0; border: 0; }
.site-footer .language-switcher a { position: relative; color: color-mix(in srgb, var(--on-accent), transparent 34%); text-decoration: none; transition: color var(--transition); }
.site-footer .language-switcher a:hover,
.site-footer .language-switcher a:focus-visible,
.site-footer .language-switcher a[aria-current] { color: var(--on-accent); }
.site-footer__bottom { display: flex; min-height: 70px; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 1rem; }
.site-footer__bottom p,
.site-footer__bottom a { margin: 0; color: color-mix(in srgb, var(--on-accent), transparent 43%); font-size: 0.68rem; text-decoration: none; }
.site-footer__bottom > p span { color: color-mix(in srgb, var(--on-accent), transparent 62%); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.site-footer__bottom div { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 0.6rem 1.25rem; }
.site-footer__bottom a:hover,
.site-footer__bottom a:focus-visible { color: var(--on-accent); }

@media (prefers-reduced-motion: no-preference) {
  .partnership-manifesto__principles article p { opacity: 0; transform: translateY(16px); }
  .partnership-manifesto__principles article:hover,
  .partnership-manifesto__principles article:focus-visible,
  .partnership-manifesto__principles article:focus-within { border-color: rgb(194 164 100 / 0.48); color: var(--ink); transform: translateY(-6px); }
  .partnership-manifesto__principles article:hover::before,
  .partnership-manifesto__principles article:focus-visible::before,
  .partnership-manifesto__principles article:focus-within::before { opacity: 1; transform: scale(1); }
  .partnership-manifesto__principles article:hover::after,
  .partnership-manifesto__principles article:focus-visible::after,
  .partnership-manifesto__principles article:focus-within::after { opacity: 1; transform: scaleX(1); }
  .partnership-manifesto__principles article:hover .partnership-manifesto__icon,
  .partnership-manifesto__principles article:focus-visible .partnership-manifesto__icon,
  .partnership-manifesto__principles article:focus-within .partnership-manifesto__icon { border-color: rgb(20 73 60 / 0.42); background: rgb(20 73 60 / 0.055); color: var(--accent); box-shadow: inset 0 0 0 7px rgb(20 73 60 / 0.035), 0 24px 54px rgb(20 73 60 / 0.16); transform: translateY(-5px) rotate(-4deg); }
  .partnership-manifesto__principles article:hover .partnership-manifesto__icon::before,
  .partnership-manifesto__principles article:focus-visible .partnership-manifesto__icon::before,
  .partnership-manifesto__principles article:focus-within .partnership-manifesto__icon::before { border-color: rgb(20 73 60 / 0.2); opacity: 1; transform: rotate(48deg) scale(1.08); }
  .partnership-manifesto__principles article:hover .partnership-manifesto__icon::after,
  .partnership-manifesto__principles article:focus-visible .partnership-manifesto__icon::after,
  .partnership-manifesto__principles article:focus-within .partnership-manifesto__icon::after { background: var(--accent); box-shadow: 0 0 0 5px rgb(20 73 60 / 0.08), 0 0 22px rgb(20 73 60 / 0.28); transform: translateX(-50%) rotate(180deg) translateY(2px); }
  .partnership-manifesto__principles article:hover .partnership-manifesto__icon .phosphor-icon,
  .partnership-manifesto__principles article:focus-visible .partnership-manifesto__icon .phosphor-icon,
  .partnership-manifesto__principles article:focus-within .partnership-manifesto__icon .phosphor-icon { transform: rotate(4deg) scale(1.1); }
  .partnership-manifesto__principles article:hover .partnership-manifesto__step,
  .partnership-manifesto__principles article:focus-visible .partnership-manifesto__step,
  .partnership-manifesto__principles article:focus-within .partnership-manifesto__step { color: color-mix(in srgb, var(--accent-strong), transparent 22%); }
  .partnership-manifesto__principles article:hover h3,
  .partnership-manifesto__principles article:focus-visible h3,
  .partnership-manifesto__principles article:focus-within h3 { color: var(--accent-strong); transform: translateY(-2px); }
  .partnership-manifesto__principles article:hover p,
  .partnership-manifesto__principles article:focus-visible p,
  .partnership-manifesto__principles article:focus-within p { color: var(--muted); opacity: 1; transform: translateY(0); }
}

/* The same reveal, driven by scroll position instead of a pointer.
   A touch screen cannot hover, so on a phone every one of these
   descriptions stayed at opacity 0 — the copy was not merely un-animated,
   it was unreadable. site.js adds .is-revealed to whichever card is
   currently crossing the middle of the viewport, so the section reads as
   the reader scrolls through it. Desktop is untouched: the class is only
   ever applied where the pointer cannot hover. */
@media (prefers-reduced-motion: no-preference) {
  .partnership-manifesto__principles article.is-revealed { border-color: rgb(194 164 100 / 0.48); color: var(--ink); transform: translateY(-6px); }
  .partnership-manifesto__principles article.is-revealed::before { opacity: 1; transform: scale(1); }
  .partnership-manifesto__principles article.is-revealed::after { opacity: 1; transform: scaleX(1); }
  .partnership-manifesto__principles article.is-revealed .partnership-manifesto__icon { border-color: rgb(20 73 60 / 0.42); background: rgb(20 73 60 / 0.055); color: var(--accent); box-shadow: inset 0 0 0 7px rgb(20 73 60 / 0.035), 0 24px 54px rgb(20 73 60 / 0.16); transform: translateY(-5px) rotate(-4deg); }
  .partnership-manifesto__principles article.is-revealed .partnership-manifesto__icon::before { border-color: rgb(20 73 60 / 0.2); opacity: 1; transform: rotate(48deg) scale(1.08); }
  .partnership-manifesto__principles article.is-revealed .partnership-manifesto__icon::after { background: var(--accent); box-shadow: 0 0 0 5px rgb(20 73 60 / 0.08), 0 0 22px rgb(20 73 60 / 0.28); transform: translateX(-50%) rotate(180deg) translateY(2px); }
  .partnership-manifesto__principles article.is-revealed .partnership-manifesto__icon .phosphor-icon { transform: rotate(4deg) scale(1.1); }
  .partnership-manifesto__principles article.is-revealed .partnership-manifesto__step { color: color-mix(in srgb, var(--accent-strong), transparent 22%); }
  .partnership-manifesto__principles article.is-revealed h3 { color: var(--accent-strong); transform: translateY(-2px); }
  .partnership-manifesto__principles article.is-revealed p { color: var(--muted); opacity: 1; transform: translateY(0); }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .company-facts > div:hover,
  .company-facts > div:focus-visible { background: var(--accent); color: var(--on-accent); }
  .company-facts > div:hover dt,
  .company-facts > div:focus-visible dt,
  .company-facts > div:hover dd,
  .company-facts > div:focus-visible dd { color: var(--on-accent); }

  .company-statement:hover .company-statement__icon,
  .company-statement:focus-visible .company-statement__icon,
  .company-statement:focus-within .company-statement__icon {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--on-accent);
    transform: rotate(-6deg) scale(1.04);
  }

  .timeline-entry:hover .timeline-entry__year,
  .timeline-entry:focus-within .timeline-entry__year { color: #c2a464; }
  .timeline-entry:hover .timeline-entry__marker span,
  .timeline-entry:focus-within .timeline-entry__marker span { background: var(--on-accent); transform: scale(1.35); }
  .timeline-entry:hover .timeline-entry__panel,
  .timeline-entry:focus-within .timeline-entry__panel { border-top-color: #c2a464; background: rgb(247 250 248 / 0.055); }
  .sustainability-manifesto__panel li:hover,
  .sustainability-manifesto__panel li:focus-visible { background: var(--on-accent); color: var(--accent); }
  .faq-list summary:hover,
  .faq-list summary:focus-visible { background: color-mix(in srgb, var(--accent), transparent 95%); color: var(--accent); }
  .hover-reveal__description {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 320ms ease, transform 560ms var(--ease-luxury);
  }

  .hover-reveal:hover .hover-reveal__description,
  .hover-reveal:focus-visible .hover-reveal__description,
  .hover-reveal:focus-within .hover-reveal__description {
    opacity: 1;
    transform: translateY(0);
  }

  .statement-pair .hover-reveal:hover,
  .statement-pair .hover-reveal:focus-visible,
  .nature-context__points .hover-reveal:hover,
  .nature-context__points .hover-reveal:focus-visible,
  .review-path__list .hover-reveal:hover,
  .review-path__list .hover-reveal:focus-visible,
  .certification-list .hover-reveal:hover,
  .certification-list .hover-reveal:focus-visible {
    background: color-mix(in srgb, var(--accent), transparent 94%);
  }

  .responsibility-list .hover-reveal:hover,
  .responsibility-list .hover-reveal:focus-visible,
  .product-groups .hover-reveal:hover,
  .product-groups .hover-reveal:focus-visible {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent), transparent 95%);
  }

  .product-list__item:hover,
  .product-list__item:focus-visible { border-bottom-color: var(--accent); background: color-mix(in srgb, var(--accent), transparent 95%); }

  .brand-collection-card:hover { opacity: 1; transform: perspective(1100px) translateY(0.55rem) rotateY(0) scale(0.975); }
  .brand-collection-card:hover .brand-collection-card__visual::before { opacity: 1; transform: scale(1); }
  .brand-collection-card:hover .brand-collection-card__visual::after { opacity: 1; transform: translateX(105%); }
  .brand-collection-card:hover .brand-collection-card__media { filter: none; transform: scale(1.025); }
  .brand-collection-card:hover .brand-collection-card__copy { border-color: var(--accent); transform: translateY(-0.2rem); }
  .brand-collection-card:hover .brand-collection-card__cta > span { transform: translateX(0.3rem); }

  .product-concept__copy p {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 320ms ease, transform 560ms var(--ease-luxury);
  }

  .product-concept:hover .product-concept__copy p,
  .product-concept:focus-visible .product-concept__copy p,
  .product-concept:focus-within .product-concept__copy p { opacity: 1; transform: translateY(0); }
  .product-concept:hover .product-concept__visual::before,
  .product-concept:focus-visible .product-concept__visual::before,
  .product-concept:focus-within .product-concept__visual::before { opacity: 1; transform: scale(1); }
  .product-concept:hover .product-concept__visual::after,
  .product-concept:focus-visible .product-concept__visual::after,
  .product-concept:focus-within .product-concept__visual::after { transform: scaleY(1); }
  .product-concept:hover .product-concept__media picture,
  .product-concept:focus-visible .product-concept__media picture,
  .product-concept:focus-within .product-concept__media picture { transform: scale(1.045); }
  .product-concept:hover .media-placeholder,
  .product-concept:focus-visible .media-placeholder,
  .product-concept:focus-within .media-placeholder { border-color: var(--collection-aurora-primary, var(--accent)); background: color-mix(in srgb, var(--collection-aurora-primary, var(--accent)), var(--surface) 92%); }
  .product-concept:hover .product-concept__copy,
  .product-concept:focus-visible .product-concept__copy,
  .product-concept:focus-within .product-concept__copy { border-top-color: var(--collection-aurora-primary, var(--accent)); }

  .linen-product:hover .media-placeholder,
  .slipper-product:hover .media-placeholder { border-color: var(--accent); background: color-mix(in srgb, var(--accent), var(--surface) 93%); }
  .linen-product:hover h4,
  .slipper-product:hover h4 { border-top-color: var(--accent); color: var(--accent); }
  .linen-product:hover .linen-product__media picture,
  .slipper-product:hover .slipper-product__media picture { transform: scale(1.035); }

  .home-nature-commitments__list article p { opacity: 0; transform: translateX(22px); }
  .home-nature-commitments__list article:hover::before,
  .home-nature-commitments__list article:focus-visible::before,
  .home-nature-commitments__list article:focus-within::before { transform: scaleX(1); transform-origin: left; }
  .home-nature-commitments__list article:hover .home-nature-commitments__icon,
  .home-nature-commitments__list article:focus-visible .home-nature-commitments__icon,
  .home-nature-commitments__list article:focus-within .home-nature-commitments__icon { border-color: color-mix(in srgb, var(--accent), transparent 35%); color: var(--accent); transform: rotate(-7deg); }
  .home-nature-commitments__list article:hover .home-nature-commitments__icon .phosphor-icon,
  .home-nature-commitments__list article:focus-visible .home-nature-commitments__icon .phosphor-icon,
  .home-nature-commitments__list article:focus-within .home-nature-commitments__icon .phosphor-icon { transform: rotate(7deg) scale(1.06); }
  .home-nature-commitments__list article:hover h3,
  .home-nature-commitments__list article:focus-visible h3,
  .home-nature-commitments__list article:focus-within h3 { color: var(--accent-strong); }
  .home-nature-commitments__list article:hover p,
  .home-nature-commitments__list article:focus-visible p,
  .home-nature-commitments__list article:focus-within p { color: var(--ink); opacity: 1; transform: translateX(0); }

  .office-list article:hover,
  .office-list article:focus-within { border-color: var(--accent); background: color-mix(in srgb, var(--accent), transparent 95%); }

  .legal-copy section:hover { border-color: var(--accent); background: color-mix(in srgb, var(--accent), transparent 96%); }

  .media-frame.has-image:hover picture,
  a:hover .media-frame.has-image picture,
  a:focus-visible .media-frame.has-image picture { transform: scale(1.022); }

  .media-frame.has-image:hover::after,
  a:hover .media-frame.has-image::after,
  a:focus-visible .media-frame.has-image::after { box-shadow: inset 0 0 0 7px rgb(14 90 73 / 0.16); opacity: 1; }
}

@supports (animation-timeline: view()) {
  @media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
    .parallax-media img {
      animation: media-drift linear both;
      animation-timeline: view();
      animation-range: entry 0% cover 100%;
      transform-origin: center;
    }

    @keyframes media-drift {
      from { transform: translateY(-20px) scale(1.04); }
      to { transform: translateY(20px) scale(1.04); }
    }

    .company-timeline__rail::after {
      animation: timeline-progress linear both;
      animation-duration: auto;
      animation-timeline: --company-timeline;
      animation-range: entry 5% exit 88%;
    }

    .timeline-entry__year,
    .timeline-entry__panel {
      animation: timeline-entry-arrival linear both;
      animation-duration: auto;
      animation-timeline: view();
      animation-range: entry 8% cover 32%;
    }

    .timeline-entry__marker span {
      animation: timeline-marker-awaken linear both;
      animation-duration: auto;
      animation-timeline: view();
      animation-range: entry 12% cover 28%;
    }

    @keyframes timeline-progress {
      from { transform: translateX(-50%) scaleY(0); }
      to { transform: translateX(-50%) scaleY(1); }
    }

    @keyframes timeline-entry-arrival {
      from { transform: translate3d(var(--timeline-shift), 16px, 0); }
      to { transform: translate3d(0, 0, 0); }
    }

    @keyframes timeline-marker-awaken {
      from { background: #16281c; transform: scale(0.72); }
      to { background: #c2a464; transform: scale(1); }
    }
  }
}


/* Checklist retouch: compact laptop pacing, approved eco-mark slot and evidence reference ledger. */
.home-nature-commitments__eco-logo { width: 30px; height: 30px; object-fit: contain; }
.company-timeline__header > div > p + p { margin-top: 1rem; }
.beyond-sustainability__references {
  display: grid;
  grid-template-columns: minmax(240px, 5fr) minmax(0, 7fr);
  gap: clamp(2rem, 8vw, 9rem);
  margin-top: clamp(3rem, 5vw, 4.5rem);
  padding-top: clamp(1.5rem, 3vw, 2.25rem);
  border-top: 1px solid rgb(247 250 248 / 0.26);
}
.beyond-sustainability__references > div > p:last-child { max-width: 54ch; margin-bottom: 0; color: color-mix(in srgb, var(--on-accent), transparent 27%); }
.beyond-sustainability__references ul { display: grid; gap: 0; margin: 0; padding: 0; border-top: 1px solid rgb(247 250 248 / 0.2); list-style: none; }
.beyond-sustainability__references li { padding: 0.9rem 0; border-bottom: 1px solid rgb(247 250 248 / 0.2); font-size: 0.82rem; }

@media (min-width: 901px) and (max-height: 820px) {
  :root { --section: clamp(4.25rem, 6vw, 5.75rem); }
  .home-hero { min-height: min(86svh, 760px); }
  .home-hero__content { padding-bottom: clamp(4.5rem, 8vh, 6rem); }
  .media-hero { max-height: 760px; }
  .collection-showcase__track { height: clamp(420px, 58svh, 520px); }
  .company-statements article { min-height: 320px; }
  .home-nature-commitments__list article { min-height: 96px; }
}

@media (max-width: 1120px) {
  .site-header__inner { grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 0.7rem; }
  .product-stage { grid-template-columns: minmax(290px, 0.74fr) minmax(0, 1.26fr); gap: 1.5rem; }
  .product-stage__tab { padding-inline: 1rem; }
  .product-stage__tab-title { font-size: clamp(1.12rem, 1.75vw, 1.48rem); }
  .product-stage__tab-body { font-size: 0.7rem; }
  .menu-toggle { display: inline-flex; }
  .home-hero h1,
  .home-hero__content h2 { width: min(780px, 72vw); font-size: clamp(3.25rem, 6.4vw, 4rem); }
  .site-nav { position: fixed; z-index: 1; top: var(--header-height); right: 0; left: 0; max-height: calc(100dvh - var(--header-height)); align-items: flex-start; overflow-y: auto; padding: 1rem var(--gutter) 1.5rem; border-top: 1px solid var(--line); background: var(--canvas); color: var(--ink); box-shadow: 0 24px 64px rgb(20 32 29 / 0.12); }
  .site-nav__list { width: 100%; align-items: stretch; flex-direction: column; gap: 0; }
  .site-nav__list > li { border-bottom: 1px solid var(--line); }
  .site-nav__list > li > a,
  .site-nav summary { display: flex; min-height: 48px; align-items: center; justify-content: space-between; }
  .site-nav summary.is-current::after { display: none; }
  .nav-menu { position: static; width: 100%; min-height: 0; align-items: stretch; flex-direction: column; padding: 0.35rem 0 0.75rem 1rem; border: 0; border-top: 1px solid var(--line); background: transparent; box-shadow: none; animation: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .nav-menu li,
  .nav-menu li:last-child { width: 100%; border: 0; }
  .nav-menu a { min-height: 44px; place-items: center start; padding: 0.7rem 0.9rem; text-align: left; }
  .nav-menu a::after { right: auto !important; left: 0.9rem !important; width: 34px; }
  .header-utilities { justify-self: end; }
  .header-search__results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer__main { grid-template-columns: minmax(220px, 1.05fr) minmax(210px, 0.9fr) minmax(340px, 1.35fr); gap: 2rem; padding-block: 1.5rem; }
  .site-footer__contacts > a { align-items: flex-start; flex-direction: column; gap: 0.15rem; }
  .site-footer__bottom { min-height: 64px; }
  .js .site-nav { display: none; }
  .js .site-nav.is-open { display: flex; }
}

@media (max-width: 900px) {
  :root { --section: clamp(4rem, 11vw, 6.5rem); }
  .collection-story__grid,
  .collection-information__layout,
  .collection-products__grid,
  .contact-section__grid,
  .home-nature-commitments__inner,
  .nature-context__grid,
  .review-path__grid,
  .beyond-sustainability__grid,
  .pure-soap-groups,
  .company-overview__grid,
  .faq-section__grid { grid-template-columns: 1fr; }
  .product-stage { grid-template-columns: 1fr; gap: 2rem; }
  .js .product-stage__tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(88px, auto));
  }
  .product-stage__tab:nth-child(odd) { border-right: 1px solid var(--line); }
  .product-stage__tab-title { font-size: clamp(1.18rem, 3vw, 1.55rem); }
  .product-stage__tab-body { font-size: 0.76rem; }
  .home-nature-commitments { min-height: 0; }
  .home-nature-commitments__inner { align-items: start; }
  .home-nature-commitments__intro { width: min(100%, 720px); }
  .home-nature-commitments__intro h2 { max-width: 11ch; }
  .product-list { grid-template-columns: 1fr; }
  .product-list__item { border-right: 0; }
  .product-groups article,
  .product-groups article:has(.product-group__media) { grid-template-columns: 1fr; }
  .brand-collection-showcase__header { grid-template-columns: 1fr; align-items: start; }
  .brand-collection-showcase__navigation { justify-items: start; }
  .brand-collection-showcase__status { text-align: left; }
  .linen-catalogue__intro,
  .slipper-lookbook__intro { margin-bottom: 4rem; }
  .linen-range,
  .slipper-range { gap: 2.5rem; padding-block: 5rem; }
  .luxury-product-card { width: clamp(220px, 29vw, 280px); }
  .contact-section aside { position: static; }
  .nature-context__intro,
  .review-path .section-heading,
  .faq-section__intro { position: static; }
  .sustainability-pillars .section-heading,
  .sustainability-page .certification-section .section-heading { grid-template-columns: 1fr; }
  .collection-showcase__header { grid-template-columns: 1fr; align-items: start; }
  .collection-showcase__actions { justify-content: space-between; }
  .site-footer__main { grid-template-columns: 1fr 1fr; column-gap: clamp(1.5rem, 5vw, 2.5rem); row-gap: 1.5rem; }
  .site-footer__nav { grid-column: 1 / -1; grid-row: 2; }
  .site-footer__contacts { grid-column: 2; grid-row: 1; }
  .collection-story[data-collection-story-reverse] .collection-story__grid { grid-template-columns: 1fr; }
  .collection-story[data-collection-story-reverse] .collection-story__logo,
  .collection-story[data-collection-story-reverse] .collection-story__grid > *:not(.collection-story__logo) { order: 0; }
  .company-facts { grid-template-columns: 1fr; }
  .company-facts > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .company-facts > div:last-child { border-bottom: 0; }
  .collection-information__intro { position: static; }
  .collection-information__intro h2 { max-width: 12ch; }
  .company-statements .statement-pair__grid { grid-template-columns: 1fr; }
  .company-statements article { min-height: 360px; }
  .sustainability-manifesto { min-height: 0; grid-template-columns: 1fr; }
  .sustainability-manifesto__media { min-height: 0; }
  .sustainability-manifesto__panel { padding-block: clamp(4rem, 10vw, 6rem); }
}

@media (max-width: 680px) {
  :root { --header-height: 64px; --gutter: 1.25rem; }
  h2 { font-size: clamp(2.2rem, 10vw, 3.2rem); }
  .home-language-popup { width: calc(100vw - 2rem); max-height: calc(100dvh - 2rem); }
  .home-language-popup__topline { min-height: 56px; }
  .home-language-popup__topline button { width: 56px; height: 56px; }
  .home-language-popup__body { grid-template-columns: 1fr; }
  .home-language-popup__copy { min-height: 230px; padding: 1.75rem; }
  .home-language-popup__copy::before { top: 1.75rem; right: 1.75rem; width: 52px; height: 52px; }
  .home-language-popup__copy h2 { margin-bottom: 0.65rem; font-size: clamp(2.35rem, 11vw, 3.2rem); }
  .home-language-popup__languages { border-top: 1px solid color-mix(in srgb, var(--popup-metal), transparent 52%); border-left: 0; }
  .home-language-popup__languages a { min-height: 76px; grid-template-columns: 48px minmax(0, 1fr) 24px; }
  .brand-collection-showcase { --brand-card-width: min(76vw, 280px); }
  .brand-collection-showcase__header { margin-bottom: 2.25rem; }
  .brand-collection-showcase__intro h2 { font-size: clamp(2.65rem, 13vw, 4rem); }
  .brand-collection-showcase__controls { grid-template-columns: repeat(2, 48px); }
  .brand-collection-showcase__controls button { width: 48px; min-height: 48px; }
  .brand-collection-showcase__track { gap: 0.85rem; padding-block: 0.5rem 1.5rem; }
  .brand-collection-card,
  .brand-collection-card.is-before,
  .brand-collection-card.is-after,
  .brand-collection-card.is-active,
  .brand-collection-card:focus-within { opacity: 1; transform: none; }
  .brand-collection-card__copy p { min-height: 0; }
  .collection-directory__header { margin-bottom: 2.25rem; }
  .collection-directory__header h2 { font-size: clamp(1.8rem, 7.5vw, 2.2rem); }
  .collection-directory__filters { margin-bottom: 3rem; }
  .collection-directory__groups { gap: 1.65rem; }
  .collection-directory__groups a { min-height: 58px; }
  .collection-directory__alphabet { width: 1024px; grid-template-columns: 76px repeat(26, minmax(36px, 1fr)); }
  .collection-directory__alphabet a,
  .collection-directory__alphabet span { min-height: 54px; }
  .site-header { height: var(--header-height); }
  .site-header__inner { grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 0.4rem; }
  .brand__mark { width: 46px; height: 46px; }
  .header-action { width: 38px; height: 42px; }
  .header-action .phosphor-icon { font-size: 1.18rem; }
  .menu-toggle { min-height: 42px; padding-inline: 0.35rem; }
  .menu-toggle > span:first-child { display: none; }
  .header-search__inner { padding-block: 1.25rem 2rem; }
  .header-search__topline { margin-bottom: 1rem; }
  .header-search__topline h2 { font-size: 2rem; }
  .header-search input { min-height: 58px; font-size: 1.25rem; }
  .header-search__results { grid-template-columns: 1fr; margin-top: 1rem; }
  .header-search__item { min-height: 104px; }
  .header-language { right: 0; width: 100%; border-right: 0; border-left: 0; }
  .home-hero { min-height: 100dvh; }
  .home-hero__media .media-placeholder,
  .media-hero__media .media-placeholder,
  .collection-hero__media .media-placeholder {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding-top: calc(var(--header-height) + 2.25rem);
  }
  .home-hero__content { padding-top: calc(var(--header-height) + clamp(2.5rem, 10vw, 4rem)); padding-bottom: max(5.5rem, calc(env(safe-area-inset-bottom) + 5rem)); }
  .home-hero__slide[data-home-hero-media="home-hero-hospitality"] .home-hero__content {
    padding-bottom: max(12.5rem, calc(env(safe-area-inset-bottom) + 12rem));
  }
  .home-hero__slide[data-home-hero-media="home-hero-recognition"] .home-hero__content {
    padding-bottom: max(4.25rem, calc(env(safe-area-inset-bottom) + 4rem));
  }
  .home-hero h1,
  .home-hero__content h2 { width: min(100%, 15ch); max-width: none; font-size: clamp(2.15rem, 10vw, 2.85rem); line-height: 1.02; }
  .home-hero h1 span:last-child,
  .home-hero__content h2 span:last-child { margin-left: 0; }
  .locale-th .home-hero h1,
  .locale-th .home-hero__content h2 {
    font-size: clamp(2rem, 9.25vw, 2.6rem);
    line-height: 1.1;
  }
  .locale-zh-cn .home-hero h1,
  .locale-zh-cn .home-hero__content h2 { line-height: 1.12; }
  .home-hero__navigation { bottom: max(0.45rem, env(safe-area-inset-bottom)); }
  .home-hero__progress { width: min(30vw, 118px); gap: 0.3rem; }
  .editorial-two-column,
  .section-heading--split,
  .statement-pair__grid,
  .responsibility-list article,
  .certification-list { grid-template-columns: 1fr; }
  .company-timeline__header { grid-template-columns: 1fr; gap: 1rem; }
  .partnership-manifesto h2 { font-size: clamp(2.5rem, 11vw, 3.7rem); }
  .partnership-manifesto__principles { flex-direction: column; }
  .partnership-manifesto__principles article { min-height: 292px; padding: clamp(2.5rem, 10vw, 3rem) clamp(1.5rem, 8vw, 2.25rem); border-right: 0; border-bottom: 1px solid rgb(247 250 248 / 0.24); }
  .partnership-manifesto__principles article:last-child { border-bottom: 0; }
  .partnership-manifesto__step { top: clamp(1.5rem, 6vw, 2rem); left: clamp(1.5rem, 8vw, 2.25rem); }
  .partnership-manifesto__icon { --principle-icon-size: 64px; margin-bottom: 1.4rem; }
  .partnership-manifesto__principles h3 { margin: 0 0 0.8rem; }
  .section-note { margin-bottom: 0; }
  .product-index-section__header { gap: 0.8rem; margin-bottom: 3rem; }
  .product-index-section__header h2 { font-size: clamp(2.35rem, 10vw, 3.1rem); }
  .product-stage { gap: 1.25rem; }
  .js .product-stage__tabs {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(6, minmax(58px, auto));
  }
  .product-stage__tab,
  .product-stage__tab:nth-child(odd) { min-height: 58px; padding: 0.7rem 1rem; border-right: 0; }
  .product-stage__tab-title { font-size: clamp(1.05rem, 5vw, 1.28rem); }
  .product-stage__tab-body { display: none; }
  .product-stage__tab-mark { grid-row: 1; }
  .product-stage__panel-copy {
    min-height: 0;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 1rem;
    padding: 1.25rem;
  }
  .product-stage__panel-copy strong { font-size: clamp(1.45rem, 7vw, 2rem); }
  .product-stage__panel-copy .text-link { min-height: 44px; align-items: center; }
  .collection-showcase { --collection-slide-width: min(82vw, 340px); }
  .collection-showcase__header { margin-bottom: 2.25rem; }
  .collection-showcase__actions { align-items: flex-start; flex-direction: column; gap: 1.25rem; }
  .collection-showcase__controls { width: 104px; grid-template-columns: repeat(2, 52px); }
  .js .collection-showcase__viewport { overflow-x: auto; }
  .collection-showcase__viewport { touch-action: pan-x pan-y; }
  .collection-showcase__track {
    height: min(68svh, 540px);
    gap: 0.75rem;
    padding-inline: var(--gutter);
    transform: none !important;
    transition: none;
    will-change: auto;
  }
  .collection-slide,
  .collection-slide.is-before,
  .collection-slide.is-after,
  .collection-slide.is-active { opacity: 1; transform: none; }
  .collection-slide__copy { padding: 1.5rem; }
  .collection-slide__copy strong { font-size: clamp(2rem, 9vw, 2.75rem); }
  .collection-slide__description { font-size: 0.84rem; }
  .collection-showcase__footer { padding-top: 1.25rem; }
  .home-nature-commitments__inner { gap: 3.5rem; padding-block: 5rem; }
  .home-nature-commitments__intro h2 { font-size: clamp(2.7rem, 12vw, 4rem); }
  .home-nature-commitments__list article { grid-template-columns: 46px minmax(0, 1fr); gap: 0.8rem; padding: 1.4rem 1.2rem; }
  .home-nature-commitments__list article p { grid-column: 2; opacity: 1; transform: none; }
  .home-nature-commitments__list .home-nature-commitments__item--without-icon { grid-template-columns: 1fr; }
  .home-nature-commitments__list .home-nature-commitments__item--without-icon p { grid-column: 1; }
  .home-nature-commitments__icon { width: 40px; height: 40px; }
  .home-nature-commitments__icon .phosphor-icon { font-size: 1.2rem; }
  .home-nature-commitments__media img { object-position: 62% center; }
  .contact-band__inner { align-items: flex-start; flex-direction: column; }
  .media-hero { min-height: min(76svh, 680px); max-height: none; }
  .media-hero--collections { min-height: min(82svh, 720px); }
  .media-hero--contact { min-height: 56svh; }
  .media-hero__content { padding-bottom: 2.5rem; }
  .media-hero--sustainability .media-hero__content { padding-left: 0; }
  .nature-context__points article { min-height: 0; }
  .review-path__list article { min-height: 0; grid-template-columns: 48px minmax(0, 1fr); gap: 0.75rem; }
  .sustainability-image-section { padding-top: 11rem; }
  .sustainability-image-section::after { background: linear-gradient(180deg, rgb(9 32 26 / 0.18), rgb(9 32 26 / 0.36)); }
  .sustainability-section-background .media-placeholder { justify-items: stretch; padding: calc(var(--header-height) + 1rem) var(--gutter) 1rem; }
  .sustainability-section-background .media-placeholder__content { width: 100%; padding: 0.7rem 0.8rem; }
  .sustainability-section-background .media-placeholder dl { grid-template-columns: 1fr 1fr; gap: 0.5rem; }
  .sustainability-section-background .media-placeholder dl div { display: block; }
  .media-hero--products .media-hero__content { margin-inline: auto; text-align: left; }
  .media-hero--products .media-hero__content h1,
  .media-hero--products .media-hero__content > p { width: 100%; margin-left: 0; }
  .media-hero__content h1 { width: 100%; max-width: 14ch; margin-bottom: 0.85rem; font-size: 2.25rem; }
  .media-hero__content > p { max-width: 36ch; font-size: 1rem; line-height: 1.5; }
  .linen-catalogue__intro,
  .slipper-lookbook__intro { margin-bottom: 3.25rem; }
  .linen-catalogue__intro h2,
  .slipper-lookbook__intro h2 { font-size: clamp(2.65rem, 13vw, 4rem); }
  .linen-range,
  .slipper-range { grid-template-columns: 1fr; gap: 2.25rem; padding-block: 3.75rem; }
  .linen-range__header,
  .slipper-range__header { min-height: 0; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 1rem; margin-bottom: 0; }
  .linen-range__header h3,
  .slipper-range__header h3 { font-size: clamp(2.35rem, 12vw, 3.5rem); }
  .luxury-product-card { width: min(72vw, 260px); }
  .luxury-product-rail__controls { grid-template-columns: repeat(2, 44px); }
  .luxury-product-rail__controls button { width: 44px; min-height: 44px; }
  .company-facts { grid-template-columns: 1fr; }
  .company-facts > div { min-height: 150px; border-right: 0; border-bottom: 1px solid var(--line); }
  .company-facts > div:last-child { border-bottom: 0; }
  .company-statements { padding-block: 2rem; }
  .company-statements article { min-height: 320px; grid-template-rows: auto auto auto; padding: 2.75rem 1.25rem; }
  .company-timeline__header { margin-bottom: 4rem; }
  .company-timeline__rail::before,
  .company-timeline__rail::after { left: 22px; }
  .timeline-entry,
  .timeline-entry--reverse { --timeline-shift: 18px; min-height: 0; grid-template-columns: 44px minmax(0, 1fr); grid-template-areas: "marker year" "marker panel"; }
  .timeline-entry__year,
  .timeline-entry--reverse .timeline-entry__year { padding: 0 0 1.2rem 1rem; font-size: clamp(3rem, 17vw, 4.8rem); text-align: left; }
  .timeline-entry__panel { margin: 0; padding: 1.25rem 1.1rem 4rem; }
  .timeline-entry__panel::before,
  .timeline-entry--reverse .timeline-entry__panel::before { right: auto; left: -22px; width: 22px; }
  .timeline-entry__media--split { grid-template-columns: 1fr; }
  .timeline-entry__marker { padding-top: 0.2rem; }
  .sustainability-manifesto__media { min-height: 0; aspect-ratio: 3 / 4 !important; }
  .sustainability-manifesto__panel { padding-inline: var(--gutter); }
  .sustainability-manifesto__panel h2 { font-size: clamp(2.75rem, 12vw, 4rem); }
  .faq-list summary { min-height: 82px; grid-template-columns: 36px minmax(0, 1fr) 20px; gap: 0.7rem; font-size: 1.22rem; }
  .faq-list details > div p { margin-left: calc(36px + 0.7rem); }
  .product-list__item { grid-template-columns: 38% 1fr; min-height: 230px; }
  .product-showcase__header { margin-bottom: 3.5rem; }
  .product-showcase__grid { grid-template-columns: 1fr; gap: 3.5rem; }
  .product-concept { grid-column: 1; margin-top: 0; }
  .collection-hero { min-height: 82svh; }
  .collection-hero__content { padding-bottom: 2.5rem; }
  .collection-hero__copy h1 { max-width: 11ch; font-size: clamp(2.5rem, 11vw, 2.75rem); }
  .collection-information__item { min-height: 0; grid-template-columns: 1fr; gap: 0.75rem; padding: 1.4rem 1rem; }
  .collection-information__item dd { font-size: clamp(1.15rem, 5.5vw, 1.5rem); }
  .contact-form-wrap form { grid-template-columns: 1fr; }
  .form-field--wide { grid-column: auto; }
  .pure-soap-groups__list article { grid-template-columns: 1fr; gap: 0.65rem; }
  .site-footer__main { min-height: 0; grid-template-columns: 1fr; align-items: start; gap: 0.55rem; padding-block: 1.35rem; }
  .site-footer__identity p { margin-top: 0.6rem; font-size: 0.7rem; }
  .site-footer__nav { display: grid; grid-column: 1; grid-row: auto; grid-template-columns: 1fr 1fr; justify-content: stretch; gap: 0.6rem 1.25rem; padding-block: 0.8rem; border-block: 1px solid rgb(247 250 248 / 0.12); }
  .site-footer__contacts { grid-column: 1; grid-row: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.45rem 0.75rem; }
  .site-footer__contacts > a { padding-bottom: 0.55rem; }
  .site-footer__public-links { grid-column: 1 / -1; }
  .site-footer__locale { justify-content: space-between; }
  .site-footer__bottom { min-height: 0; align-items: flex-start; flex-direction: column; gap: 0.35rem; padding-block: 0.8rem; }
  .site-footer__bottom div { width: 100%; justify-content: flex-start; }
}

@media (max-width: 440px) {
  .product-list__item { grid-template-columns: 1fr; }
  .product-list__media { min-height: 220px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .site-preloader { display: none !important; }
  html.is-page-loading .site-loading-shell { animation: none !important; }
  *,
  *::before,
  *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .brand-collection-card,
  .brand-collection-card.is-before,
  .brand-collection-card.is-after,
  .brand-collection-card.is-active,
  .brand-collection-card:focus-within { opacity: 1; transform: none; }
  .brand-collection-card__visual::after { display: none; }
}

@media (prefers-reduced-transparency: reduce) {
  .site-header.is-scrolled { background: var(--canvas); backdrop-filter: none; -webkit-backdrop-filter: none; }
  .home-nature-commitments__list { background: rgb(10 24 16 / 0.88); backdrop-filter: none; -webkit-backdrop-filter: none; }
}


/* Amend Checklist v1.15.0
   Continue from v1.14.0: align page heroes, standardise section headings and column rhythm,
   compact laptop layouts, show four amenity concepts, and align Brand Collection rails. */

/* One shared edge alignment for Home and every internal-page hero. */
.home-hero h1 span:last-child,
.home-hero__content h2 span:last-child { margin-left: 0; }

.media-hero__content {
  width: min(100% - (var(--gutter) * 2), var(--shell));
  padding-top: calc(var(--header-height) + 2rem);
}
.media-hero--sustainability .media-hero__content,
.media-hero--products .media-hero__content {
  margin-inline: auto;
  padding-left: 0;
  text-align: left;
}
.media-hero--products .media-hero__content h1,
.media-hero--products .media-hero__content > p {
  width: min(820px, 72vw);
  margin-left: 0;
}

/* FAQ now follows the same lower-left page-header position and scale. */
.simple-hero.faq-hero {
  display: grid;
  min-height: min(64svh, 680px);
  align-items: end;
  padding: calc(var(--header-height) + 2rem) 0 clamp(2.75rem, 6vh, 4rem);
  background: var(--surface);
}
.simple-hero.faq-hero h1 {
  width: min(820px, 72vw);
  max-width: none;
  margin-bottom: 1rem;
  font-size: clamp(3rem, 4.25vw, 4.35rem);
}
.simple-hero.faq-hero .lead {
  max-width: 52ch;
  margin-bottom: 0;
  font-size: clamp(1.05rem, 1rem + 0.2vw, 1.2rem);
}

/* Responsibility heading gains the same small header as Nature in Mind. */
.section-heading__title { min-width: 0; }
.section-heading__title .section-note { margin-bottom: 0.85rem; }

@media (min-width: 901px) {
  :root {
    --section: clamp(4rem, 5.7vw, 5.8rem);
  }

  /* Hero title sizing and placement are now consistent page to page. */
  .home-hero {
    min-height: min(84svh, 760px);
  }
  .home-hero__content {
    padding-top: calc(var(--header-height) + 2.25rem);
    padding-bottom: clamp(3.75rem, 7vh, 5.25rem);
  }
  .home-hero h1,
  .home-hero__content h2,
  .media-hero__content h1 {
    width: min(790px, 68vw);
    max-width: none;
    font-size: clamp(3rem, 4.25vw, 4.35rem);
    line-height: 1.04;
  }
  .media-hero,
  .media-hero--corporate,
  .media-hero--sustainability,
  .media-hero--products,
  .media-hero--collections,
  .media-hero--product,
  .media-hero--contact {
    min-height: min(64svh, 680px);
    max-height: 720px;
  }
  .media-hero__content,
  .media-hero--sustainability .media-hero__content,
  .media-hero--collections .media-hero__content,
  .media-hero--contact .media-hero__content {
    padding-bottom: clamp(2.75rem, 6vh, 4rem);
  }
  .media-hero__content > p {
    max-width: 52ch;
    font-size: clamp(1rem, 0.96rem + 0.18vw, 1.16rem);
    line-height: 1.55;
  }

  /* A single subheader scale prevents Brand Collection, Sustainability and other sections drifting apart. */
  .section-heading h2,
  .partnership-manifesto h2,
  .collection-showcase__header h2,
  .home-nature-commitments__intro h2,
  .company-overview__title h2,
  .company-timeline__header h2,
  .nature-context__intro h2,
  .sustainability-manifesto__panel h2,
  .beyond-sustainability__intro h2,
  .brand-collection-showcase__intro h2,
  .linen-catalogue__intro h2,
  .slipper-lookbook__intro h2,
  .product-showcase__header h2,
  .faq-section__intro h2,
  .contact-form-wrap > h2 {
    font-size: clamp(2.45rem, 3.5vw, 3.75rem);
    line-height: 1.02;
  }

  /* Consistent vertical gaps between a section header and its next column/content block. */
  .section-heading,
  .partnership-manifesto__header,
  .collection-showcase__header,
  .brand-collection-showcase__header,
  .company-timeline__header,
  .linen-catalogue__intro,
  .slipper-lookbook__intro,
  .product-showcase__header {
    margin-bottom: clamp(2.25rem, 3.6vw, 3.25rem);
  }

  /* Corporate Profile: compact enough to remain inside a standard laptop viewport. */
  .company-overview__grid,
  .company-timeline__header,
  .nature-context__grid,
  .review-path__grid,
  .beyond-sustainability__grid,
  .contact-section__grid,
  .faq-section__grid {
    gap: clamp(2.5rem, 4vw, 4.5rem);
  }
  .company-overview__grid {
    grid-template-columns: minmax(260px, 4fr) minmax(0, 8fr);
    align-items: start;
  }
  .company-overview__title h2 { max-width: 14ch; }
  .company-overview__copy .lead { margin-bottom: 1.25rem; }
  .company-facts { margin-top: clamp(2.25rem, 3.5vw, 3.25rem); }
  .company-facts > div {
    min-height: 126px;
    padding: clamp(1.15rem, 1.8vw, 1.7rem);
  }
  .company-facts dt { font-size: clamp(2.1rem, 3vw, 3.2rem); }

  /* Headings explicitly requested to occupy roughly two visual lines rather than three or four. */
  .company-timeline__header h2 {
    max-width: 21ch;
  }
  .company-timeline__header > div > p {
    max-width: 64ch;
  }
  .linen-catalogue__intro,
  .slipper-lookbook__intro {
    width: min(100%, 1040px);
  }
  .linen-catalogue__intro h2,
  .slipper-lookbook__intro h2 {
    max-width: 22ch;
  }
  .linen-catalogue__intro p,
  .slipper-lookbook__intro p {
    max-width: 66ch;
  }

  /* Sustainability text columns remain aligned within the laptop frame. */
  .nature-context__grid,
  .review-path__grid,
  .beyond-sustainability__grid {
    grid-template-columns: minmax(260px, 4fr) minmax(0, 8fr);
  }
  .nature-context__intro h2,
  .review-path .section-heading h2,
  .beyond-sustainability__intro h2 { max-width: 15ch; }
  .sustainability-pillars .section-heading,
  .sustainability-page .certification-section .section-heading {
    grid-template-columns: minmax(280px, 5fr) minmax(0, 7fr);
    align-items: start;
    gap: clamp(2.5rem, 4vw, 4.5rem);
  }
  .sustainability-pillars .section-heading h2,
  .sustainability-page .certification-section .section-heading h2 {
    max-width: 15ch;
  }
  .sustainability-pillars .section-heading > p,
  .sustainability-page .certification-section .section-heading > p {
    padding-top: 1.55rem;
  }
  .sustainability-image-section { padding-top: clamp(6.5rem, 8vw, 7.5rem); }

  /* Product rails use smaller, equal cards and cleaner internal spacing. */
  .linen-range,
  .slipper-range {
    grid-template-columns: minmax(210px, 2.5fr) minmax(0, 9.5fr);
    gap: clamp(2rem, 3.5vw, 4rem);
    padding-block: clamp(2.5rem, 4vw, 3.75rem);
  }
  .luxury-product-card { width: clamp(190px, 17vw, 238px); }

  /* Amenities: four product concepts across a standard desktop/laptop width. */
  .product-showcase__header {
    width: min(100%, 900px);
  }
  .product-showcase__header h2 { max-width: 16ch; }
  .product-showcase__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1.25rem, 2vw, 2rem);
  }
  .product-concept__copy {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 0.65rem;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
  }
  .product-concept__copy h3 { font-size: clamp(1.25rem, 1.6vw, 1.7rem); }
  .product-concept__copy p { font-size: 0.76rem; }

  /* Brand Collection starts at the common shell edge, not half outside the viewport. */
  .brand-collection-showcase {
    --brand-card-width: clamp(235px, 22vw, 300px);
  }
  .brand-collection-showcase__intro h2 { max-width: 16ch; }
  .brand-collection-showcase__track {
    gap: clamp(0.9rem, 1.6vw, 1.5rem);
    padding: 0.75rem max(var(--gutter), calc((100vw - var(--shell)) / 2)) 2rem;
  }
  .brand-collection-card { scroll-snap-align: start; }
  .brand-collection-card__copy h3 { font-size: clamp(1.4rem, 1.8vw, 1.9rem); }
  .brand-collection-card__copy p { min-height: 0; }

  /* Contact and FAQ columns use the same measured gap as the rest of the site. */
  .contact-section__grid { grid-template-columns: minmax(260px, 4fr) minmax(0, 8fr); }
  .faq-section__grid { grid-template-columns: minmax(260px, 4fr) minmax(0, 8fr); }
  .faq-section__intro h2 { max-width: 13ch; }
}

@media (min-width: 901px) and (max-width: 1120px) {
  .product-showcase__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-concept__copy h3 { font-size: clamp(1.45rem, 2.6vw, 2rem); }
}

@media (max-width: 900px) {
  .simple-hero.faq-hero {
    min-height: min(68svh, 620px);
    padding-bottom: 2.5rem;
  }
  .simple-hero.faq-hero h1 {
    width: 100%;
    max-width: 14ch;
    font-size: 2.25rem;
  }
  .section-heading__title .section-note { margin-bottom: 0.65rem; }
}


/* Align Product Concepts to the left for Dry & Wet Amenities */
body:has(.media-hero--product) .product-showcase__header {
    width: min(100% - (var(--gutter) * 2), var(--shell));
    margin-inline: auto;
    text-align: left;
}

body:has(.media-hero--product) .product-showcase__header h2,
body:has(.media-hero--product) .product-showcase__header p {
    margin-left: 0;
    margin-right: auto;
    text-align: left;
}

/* Homepage viewport framing: preserve full artwork on tablets and use focal cover crops on larger screens. */
@media (min-width: 681px) {
  .home-hero {
    height: 100svh;
    min-height: 100svh;
    max-height: none;
    aspect-ratio: auto;
    background: #0e1a13;
  }

  .home-hero__media img {
    object-fit: contain;
  }

  .home-hero__media {
    background: #0e1a13;
  }

  .home-hero__media picture,
  .home-hero__slide.is-active .home-hero__media picture {
    transform: none;
    transition: none;
  }

  .collection-showcase__track {
    height: calc(var(--collection-slide-width) * 1.25);
  }

  .collection-slide__media img {
    object-fit: contain;
  }

  .collection-slide__media picture,
  .collection-slide.is-active .collection-slide__media picture,
  .collection-slide:hover .collection-slide__media picture,
  .collection-slide.is-active:hover .collection-slide__media picture {
    transform: none;
  }
}

@media (min-width: 1121px) {
  .home-hero__media img {
    object-fit: cover;
    object-position: center bottom;
  }

  .home-hero__slide[data-home-hero-media="home-hero-recognition"] .home-hero__media img {
    object-position: center 48%;
  }
}

/* Responsive page-header artwork: cover each recommended hero size with a protected focal crop. */
body:has([data-header-hero][data-header-contrast="dark"] .has-image) .site-header--overlay:not(.is-scrolled, .has-open-panel) {
  color: var(--ink);
}

.media-hero[data-hero-artwork="protected"] {
  height: clamp(580px, 70svh, 760px);
  min-height: 0;
  max-height: none;
}

.media-hero[data-hero-artwork="protected"] .media-hero__media {
  background: inherit;
}

.media-hero[data-hero-artwork="protected"] .media-hero__media picture,
.media-hero[data-hero-artwork="protected"] .media-hero__media:hover picture {
  transform: none;
  transition: none;
}

.media-hero[data-hero-artwork="protected"] .media-hero__media img {
  object-fit: cover;
  object-position: center;
  animation: none !important;
  transform: none !important;
}

.media-hero--slot-corporate-hero,
.media-hero--slot-sustainability-hero {
  height: clamp(620px, 76svh, 840px);
}

.media-hero--slot-collections-hero {
  height: clamp(660px, 80svh, 880px);
}

.media-hero--slot-contact-hero {
  height: clamp(500px, 62svh, 680px);
}

.media-hero--slot-faq-hero {
  height: clamp(540px, 64svh, 700px);
}

.media-hero--slot-corporate-hero .media-hero__media img { object-position: center 50%; }
.media-hero--slot-sustainability-hero .media-hero__media img { object-position: center 52%; }
.media-hero--slot-collections-hero .media-hero__media img { object-position: center bottom; }
.media-hero--slot-contact-hero .media-hero__media img { object-position: center 55%; }
.media-hero--slot-faq-hero .media-hero__media img { object-position: center 58%; }
.media-hero--slot-category-dry-amenities .media-hero__media img { object-position: center bottom; }
.media-hero--slot-category-wet-amenities .media-hero__media img { object-position: center 48%; }
.media-hero--slot-category-slippers .media-hero__media img { object-position: center bottom; }
.media-hero--slot-category-linen .media-hero__media img { object-position: center 54%; }

.media-hero[data-hero-artwork="protected"] .media-hero__media::after {
  display: none;
}

.media-hero[data-hero-artwork="protected"].has-image::after {
  background:
    linear-gradient(90deg, rgb(10 24 16 / 0.66) 0%, rgb(10 24 16 / 0.28) 38%, transparent 62%),
    linear-gradient(0deg, rgb(10 24 16 / 0.45) 0%, transparent 34%);
}

.media-hero[data-hero-artwork="protected"][data-hero-copy-tone="ink"].has-image::after {
  background:
    linear-gradient(90deg, rgb(242 245 243 / 0.88) 0%, rgb(242 245 243 / 0.5) 38%, transparent 64%),
    linear-gradient(0deg, rgb(242 245 243 / 0.78) 0%, transparent 36%);
}

.media-hero[data-hero-artwork="protected"][data-hero-copy-tone="ink"].has-image .media-hero__content h1,
.media-hero[data-hero-artwork="protected"][data-hero-copy-tone="ink"].has-image .media-hero__content > p,
.media-hero[data-hero-artwork="protected"][data-hero-copy-tone="ink"].has-image .media-hero__kicker {
  color: var(--ink);
  text-shadow: 0 1px 1px rgb(255 255 255 / 0.48);
}

.media-hero[data-hero-artwork="protected"][data-hero-copy-position="left-upper"] {
  align-items: start;
}

.media-hero[data-hero-artwork="protected"][data-hero-copy-position="left-upper"] .media-hero__content {
  padding-top: calc(var(--header-height) + clamp(3.5rem, 9vh, 7rem));
  padding-bottom: 2rem;
}

.media-hero--slot-category-wet-amenities .media-hero__content h1,
.media-hero--slot-category-wet-amenities .media-hero__content > p {
  width: min(560px, 44vw);
}

.media-hero--slot-corporate-hero,
.media-hero--slot-sustainability-hero,
.media-hero--slot-contact-hero,
.media-hero--slot-faq-hero,
.media-hero--slot-category-wet-amenities {
  background: #0e1a13;
}

.media-hero--slot-collections-hero,
.media-hero--slot-category-dry-amenities,
.media-hero--slot-category-slippers,
.media-hero--slot-category-linen {
  background: #e8ebe8;
}

@media (max-width: 767px) {
  .media-hero[data-hero-artwork="protected"] {
    height: clamp(500px, 72svh, 680px);
  }

  .media-hero--slot-corporate-hero,
  .media-hero--slot-sustainability-hero {
    height: clamp(540px, 76svh, 720px);
  }

  .media-hero--slot-collections-hero {
    height: clamp(560px, 78svh, 740px);
  }

  .media-hero--slot-contact-hero {
    height: clamp(480px, 62svh, 620px);
  }

  .media-hero--slot-faq-hero {
    height: clamp(500px, 66svh, 640px);
  }

  .media-hero[data-hero-artwork="protected"] .media-hero__content {
    padding-top: calc(var(--header-height) + 1.5rem);
    padding-bottom: 1.5rem;
  }

  .media-hero[data-hero-artwork="protected"] .media-hero__content h1 {
    max-width: 13ch;
    font-size: clamp(2rem, 9.5vw, 2.5rem);
    line-height: 1.04;
  }

  .media-hero[data-hero-artwork="protected"] .media-hero__content > p {
    max-width: 34ch;
    font-size: 0.92rem;
    line-height: 1.45;
  }

  .media-hero--slot-category-wet-amenities.has-image::after {
    background:
      linear-gradient(0deg, rgb(242 245 243 / 0.94) 0%, rgb(242 245 243 / 0.62) 38%, transparent 64%);
  }

  .media-hero--slot-category-wet-amenities {
    align-items: end;
  }

  .media-hero--slot-category-wet-amenities .media-hero__content {
    padding-top: calc(var(--header-height) + 1.5rem);
    padding-bottom: 1.5rem;
  }

  .media-hero--slot-category-wet-amenities .media-hero__content h1,
  .media-hero--slot-category-wet-amenities .media-hero__content > p {
    width: 100%;
  }

  .media-hero--slot-category-wet-amenities.has-image .media-hero__content h1,
  .media-hero--slot-category-wet-amenities.has-image .media-hero__content > p,
  .media-hero--slot-category-wet-amenities.has-image .media-hero__kicker {
    color: var(--ink);
    text-shadow: 0 1px 1px rgb(255 255 255 / 0.52);
  }

  .media-hero--slot-contact-hero .media-hero__media img { object-position: 62% center; }
  .media-hero--slot-faq-hero .media-hero__media img { object-position: 58% center; }
  .media-hero--slot-category-slippers .media-hero__media img { object-position: 62% center; }
}

/* The six 1755:929 owner exports define their desktop header height.
   Portrait mobile artwork keeps the existing full-height mobile composition. */
@media (min-width: 1024px) {
  .media-hero.media-hero[data-hero-desktop-fit="contain"] {
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: 1755 / 929;
  }

  .media-hero.media-hero[data-hero-desktop-fit="contain"] .media-hero__media img {
    object-fit: contain;
    object-position: center;
  }

  .media-hero.media-hero[data-hero-desktop-fit="contain"] .media-hero__content {
    box-sizing: border-box;
    padding-top: calc(var(--header-height) + clamp(1.5rem, 3vw, 3rem));
    padding-bottom: clamp(2rem, 4vw, 4rem);
  }

  .media-hero.media-hero[data-hero-desktop-fit="contain"] .media-hero__content h1 {
    width: min(820px, 68vw);
    font-size: clamp(2.5rem, 4.35vw, 4.65rem);
    line-height: 1.04;
  }

  .media-hero.media-hero[data-hero-desktop-fit="contain"] .media-hero__content > p {
    max-width: 48ch;
    font-size: clamp(0.95rem, 1vw, 1.1rem);
  }
}

/* Dry and Wet Amenities keep their artwork completely open.
   A fine light keyline lets dark ink cross mixed photography without adding a panel or image wash. */
@media (min-width: 821px) {
  .media-hero.media-hero[data-hero-copy-treatment="outlined-ink"].has-image::after {
    background: none;
  }

  .media-hero.media-hero[data-hero-copy-treatment="outlined-ink"].has-image .media-hero__content h1,
  .media-hero.media-hero[data-hero-copy-treatment="outlined-ink"].has-image .media-hero__content > p {
    color: var(--ink);
    paint-order: stroke fill;
    -webkit-text-stroke: 0.35px rgb(247 250 248 / 0.92);
    text-shadow:
      0 1px 1px rgb(247 250 248 / 0.92),
      0 0 4px rgb(247 250 248 / 0.68);
  }

  .media-hero.media-hero[data-hero-copy-treatment="outlined-ink"].has-image .media-hero__content > p {
    font-weight: 520;
    -webkit-text-stroke-width: 0.2px;
  }

  .media-hero.media-hero[data-hero-copy-treatment="outlined-ink"].has-image .media-hero__kicker {
    color: var(--accent-strong);
    text-shadow: 0 1px 1px rgb(247 250 248 / 0.96);
  }
}

@media (max-width: 767px) and (orientation: landscape) {
  .media-hero[data-hero-artwork="protected"] {
    height: clamp(320px, 88svh, 560px);
  }

  .media-hero[data-hero-artwork="protected"][data-hero-copy-position="left-upper"] .media-hero__content {
    padding-top: calc(var(--header-height) + 1rem);
  }

  .media-hero[data-hero-artwork="protected"] .media-hero__content h1 {
    max-width: 12ch;
    font-size: clamp(1.8rem, 5vw, 2.4rem);
  }

  .media-hero[data-hero-artwork="protected"] .media-hero__content > p {
    max-width: 44ch;
    font-size: 0.82rem;
  }
}

/* Viewport hero contract and high-contrast MPS-gold active navigation. */
.home-hero.home-hero,
.media-hero.media-hero,
.collection-hero.collection-hero {
  height: 100svh;
  min-height: 100svh;
  max-height: none;
}

.home-hero__media img,
.media-hero__media img,
.collection-hero__media img {
  object-fit: cover;
}

.site-nav a[aria-current],
.site-nav summary.is-current {
  color: var(--brand-gold-strong);
  font-weight: 800;
}

.site-header--overlay:not(.is-scrolled, .has-open-panel) .site-nav a[aria-current],
.site-header--overlay:not(.is-scrolled, .has-open-panel) .site-nav summary.is-current {
  color: #f0dda4;
  text-shadow: 0 1px 4px rgb(10 24 16 / 0.86);
}

body:has([data-header-hero][data-header-contrast="dark"] .has-image)
  .site-header--overlay:not(.is-scrolled, .has-open-panel)
  .site-nav a[aria-current],
body:has([data-header-hero][data-header-contrast="dark"] .has-image)
  .site-header--overlay:not(.is-scrolled, .has-open-panel)
  .site-nav summary.is-current {
  color: var(--brand-gold-strong);
  text-shadow: 0 1px 2px rgb(255 255 255 / 0.92);
}

/* Unified page-header position, contrast and navigation contract. */
body:has([data-header-hero] .has-image)
  .site-header--overlay:not(.is-scrolled, .has-open-panel) {
  color: var(--on-accent);
}

body:has([data-header-hero] .has-image)
  .site-header--overlay:not(.is-scrolled, .has-open-panel)
  .site-nav a:not([aria-current]),
body:has([data-header-hero] .has-image)
  .site-header--overlay:not(.is-scrolled, .has-open-panel)
  .site-nav summary:not(.is-current) {
  color: var(--on-accent);
  text-shadow: 0 1px 4px rgb(10 24 16 / 0.72);
}

body:has([data-header-hero] .has-image)
  .site-header--overlay:not(.is-scrolled, .has-open-panel)
  .site-nav a[aria-current],
body:has([data-header-hero] .has-image)
  .site-header--overlay:not(.is-scrolled, .has-open-panel)
  .site-nav summary.is-current {
  color: var(--brand-gold);
  text-shadow: 0 1px 4px rgb(10 24 16 / 0.82);
}

.site-nav a[aria-current]::after,
.site-nav summary.is-current::after {
  height: 2px;
  background: currentColor;
}

.home-hero__slide.has-image::before,
.media-hero.has-image::before,
.collection-hero:has(.has-image)::before {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  left: 0;
  height: calc(var(--header-height) + 6rem);
  background: linear-gradient(180deg, rgb(10 24 16 / 0.62) 0%, rgb(10 24 16 / 0.24) 58%, transparent 100%);
  content: "";
  pointer-events: none;
}

.media-hero.media-hero {
  display: grid;
  height: 100svh;
  min-height: 100svh;
  max-height: none;
  align-items: end;
}

.media-hero.media-hero .media-hero__content {
  width: min(100% - (var(--gutter) * 2), var(--shell));
  align-self: end;
  margin-inline: auto;
  padding: calc(var(--header-height) + 2rem) 0 clamp(2.75rem, 6vh, 4.5rem);
  text-align: left;
}

.media-hero.media-hero .media-hero__content h1 {
  width: min(780px, 72vw);
  max-width: none;
  margin-bottom: 0.75rem;
  font-size: clamp(2.9rem, 4.35vw, 4.35rem);
  line-height: 0.98;
  text-wrap: balance;
}

.media-hero.media-hero .media-hero__content > p {
  width: auto;
  max-width: 48ch;
  margin: 0;
  font-size: clamp(0.98rem, 0.92rem + 0.24vw, 1.16rem);
  line-height: 1.5;
  text-wrap: pretty;
}

.media-hero.media-hero.has-image::after {
  background:
    linear-gradient(90deg, rgb(10 24 16 / 0.76) 0%, rgb(10 24 16 / 0.34) 42%, transparent 68%),
    linear-gradient(0deg, rgb(10 24 16 / 0.66) 0%, rgb(10 24 16 / 0.2) 40%, transparent 64%);
}

.media-hero.media-hero[data-hero-copy-tone="ink"].has-image::after {
  background:
    radial-gradient(ellipse 92% 68% at 0% 100%, rgb(242 245 243 / 0.98) 0%, rgb(242 245 243 / 0.9) 38%, rgb(242 245 243 / 0.48) 62%, transparent 84%),
    linear-gradient(0deg, rgb(242 245 243 / 0.58) 0%, transparent 34%);
}

.media-hero.media-hero.has-image .media-hero__content h1,
.media-hero.media-hero.has-image .media-hero__content > p,
.media-hero.media-hero.has-image .media-hero__kicker {
  color: var(--on-accent);
  text-shadow: 0 1px 3px rgb(10 24 16 / 0.34);
}

.media-hero.media-hero[data-hero-copy-tone="ink"].has-image .media-hero__content h1,
.media-hero.media-hero[data-hero-copy-tone="ink"].has-image .media-hero__content > p,
.media-hero.media-hero[data-hero-copy-tone="ink"].has-image .media-hero__kicker {
  color: var(--ink);
  text-shadow: 0 1px 1px rgb(255 255 255 / 0.6);
}

.locale-th .media-hero.media-hero .media-hero__content h1,
.locale-zh-cn .media-hero.media-hero .media-hero__content h1 {
  letter-spacing: 0;
  line-height: 1.12;
}

.simple-hero {
  display: grid;
  min-height: 54svh;
  align-items: end;
  padding: calc(var(--header-height) + 2rem) 0 clamp(2.75rem, 6vh, 4.5rem);
}

.simple-hero h1 {
  margin-bottom: 0.75rem;
  font-size: clamp(2.9rem, 4.35vw, 4.35rem);
  line-height: 0.98;
  text-wrap: balance;
}

.simple-hero .lead {
  max-width: 48ch;
  margin-bottom: 0;
  font-size: clamp(0.98rem, 0.92rem + 0.24vw, 1.16rem);
  line-height: 1.5;
}

.collection-hero__content {
  padding-bottom: clamp(2.75rem, 6vh, 4.5rem);
}

.collection-hero__copy h1 {
  font-size: clamp(2.9rem, 4.35vw, 4.35rem);
  line-height: 0.98;
}

@media (max-width: 900px) {
  .media-hero.media-hero .media-hero__content h1,
  .simple-hero h1,
  .collection-hero__copy h1 {
    font-size: clamp(2.4rem, 6vw, 3.35rem);
  }

  .media-hero.media-hero .media-hero__content > p,
  .simple-hero .lead {
    font-size: clamp(0.9rem, 0.84rem + 0.28vw, 1rem);
  }
}

@media (max-width: 1120px) {
  .site-nav {
    border-top-color: rgb(247 250 248 / 0.18);
    background: #12241a;
    color: var(--on-accent);
  }

  .site-nav__list > li,
  .nav-menu {
    border-color: rgb(247 250 248 / 0.16);
  }

  .site-nav a:not([aria-current]),
  .site-nav summary:not(.is-current) {
    color: var(--on-accent);
  }

  .site-nav a[aria-current],
  .site-nav summary.is-current {
    color: var(--brand-gold);
  }

  .nav-menu a:hover,
  .nav-menu a:focus-visible {
    background: rgb(247 250 248 / 0.08);
    color: var(--on-accent);
  }
}

@media (max-width: 820px) and (orientation: portrait) {
  .media-hero.media-hero[data-hero-artwork="protected"] {
    display: grid;
    grid-template-rows: clamp(62svh, 133.333vw, 75svh) minmax(0, 1fr);
    height: 100svh;
    min-height: 100svh;
    align-items: stretch;
  }

  .media-hero.media-hero[data-hero-artwork="protected"] .media-hero__media {
    position: relative;
    grid-row: 1;
    inset: auto;
    height: 100%;
  }

  .media-hero.media-hero[data-hero-artwork="protected"].has-image::after {
    display: none;
  }

  .media-hero.media-hero[data-hero-artwork="protected"] .media-hero__content {
    display: flex;
    grid-row: 2;
    align-self: stretch;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    padding-top: clamp(1rem, 2.8svh, 1.5rem);
    padding-bottom: clamp(1rem, 2.8svh, 1.5rem);
  }

  .media-hero.media-hero[data-hero-artwork="protected"] .media-hero__content h1 {
    max-width: 18ch;
    margin-bottom: 0.5rem;
    font-size: clamp(1.85rem, 6vw, 2.4rem);
    line-height: 1.04;
  }

  .media-hero.media-hero[data-hero-artwork="protected"] .media-hero__content > p {
    max-width: 38ch;
    font-size: clamp(0.8rem, 2.3vw, 1rem);
    line-height: 1.4;
  }

  .media-hero.media-hero[data-hero-artwork="protected"] .media-hero__kicker {
    margin-bottom: 0.3rem;
    font-size: 0.64rem;
  }

  .media-hero--slot-category-wet-amenities.media-hero {
    background: #e8ebe8;
  }

  .sustainability-page .media-hero--slot-sustainability-hero.media-hero {
    background: var(--nature-deep);
  }

  .media-hero.media-hero[data-hero-artwork="protected"].has-image .media-hero__content h1,
  .media-hero.media-hero[data-hero-artwork="protected"].has-image .media-hero__content > p,
  .media-hero.media-hero[data-hero-artwork="protected"].has-image .media-hero__kicker {
    text-shadow: none;
  }
}

@media (max-width: 767px) {
  .media-hero.media-hero:not([data-hero-artwork="protected"]) .media-hero__content {
    display: block;
    grid-row: auto;
    align-self: end;
    padding: calc(var(--header-height) + 1.25rem) 0 clamp(1.5rem, 5svh, 2.5rem);
  }

  .media-hero.media-hero .media-hero__content h1,
  .media-hero.media-hero[data-hero-artwork="protected"] .media-hero__content h1,
  .simple-hero h1,
  .collection-hero__copy h1 {
    width: 100%;
    max-width: 18ch;
    margin-bottom: 0.5rem;
    font-size: clamp(1.75rem, 7.4vw, 2.15rem);
    line-height: 1.04;
  }

  .locale-th .media-hero.media-hero .media-hero__content h1,
  .locale-zh-cn .media-hero.media-hero .media-hero__content h1 {
    line-height: 1.16;
  }

  .media-hero.media-hero .media-hero__content > p,
  .media-hero.media-hero[data-hero-artwork="protected"] .media-hero__content > p,
  .simple-hero .lead {
    width: 100%;
    max-width: 34ch;
    font-size: clamp(0.78rem, 3.35vw, 0.9rem);
    line-height: 1.42;
  }

  .media-hero.media-hero .media-hero__kicker {
    margin-bottom: 0.3rem;
    font-size: 0.62rem;
  }

  .media-hero.media-hero.has-image::after {
    background:
      linear-gradient(90deg, rgb(10 24 16 / 0.72) 0%, rgb(10 24 16 / 0.28) 76%, transparent 100%),
      linear-gradient(0deg, rgb(10 24 16 / 0.82) 0%, rgb(10 24 16 / 0.36) 48%, transparent 70%);
  }

  .media-hero.media-hero[data-hero-copy-tone="ink"].has-image::after {
    background:
      radial-gradient(ellipse 150% 62% at 0% 100%, rgb(242 245 243 / 0.98) 0%, rgb(242 245 243 / 0.92) 46%, rgb(242 245 243 / 0.48) 72%, transparent 100%),
      linear-gradient(0deg, rgb(242 245 243 / 0.62) 0%, transparent 36%);
  }

  .media-hero--slot-category-wet-amenities.media-hero.has-image .media-hero__content h1,
  .media-hero--slot-category-wet-amenities.media-hero.has-image .media-hero__content > p,
  .media-hero--slot-category-wet-amenities.media-hero.has-image .media-hero__kicker {
    color: var(--ink);
    text-shadow: 0 1px 1px rgb(255 255 255 / 0.6);
  }

  .simple-hero {
    min-height: 48svh;
    padding: calc(var(--header-height) + 1.25rem) 0 clamp(1.75rem, 5svh, 2.5rem);
  }

  .collection-hero__content {
    padding-bottom: clamp(1.5rem, 5svh, 2.5rem);
  }
}

/* Keep every interior-page title and description inside the visible desktop viewport.
   Ratio-based artwork may extend below the fold, so its copy rises by that overflow. */
@media (min-width: 1024px) {
  .media-hero.media-hero .media-hero__content,
  .collection-hero.collection-hero .collection-hero__content {
    --header-copy-gap: clamp(2rem, 4vw, 4rem);
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: max(
      var(--header-copy-gap),
      calc(100% - 100svh + var(--header-copy-gap))
    );
    left: 0;
    width: min(100% - (var(--gutter) * 2), var(--shell));
    align-self: auto;
    margin-inline: auto;
    padding: 0;
  }

  .media-hero.media-hero[data-hero-copy-layout="shared-lower-left"] .media-hero__content h1,
  .collection-hero.collection-hero[data-hero-copy-layout="shared-lower-left"] .collection-hero__copy h1 {
    width: min(820px, 68vw);
    max-width: none;
    margin-bottom: 0.75rem;
    font-size: clamp(2.5rem, 4.35vw, 4.65rem);
    line-height: 1.04;
    text-wrap: balance;
  }

  .media-hero.media-hero[data-hero-copy-layout="shared-lower-left"] .media-hero__content > p,
  .collection-hero.collection-hero[data-hero-copy-layout="shared-lower-left"] .collection-hero__copy span {
    max-width: 48ch;
    margin: 0;
    font-size: clamp(0.95rem, 1vw, 1.1rem);
    line-height: 1.5;
    text-wrap: pretty;
  }

  .collection-hero.collection-hero[data-hero-copy-layout="shared-lower-left"] .collection-hero__copy {
    width: min(820px, 68vw);
  }
}

/* Product and collection discovery revamp, v1.15.36. */
.product-list__icon {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  width: 52px;
  height: 52px;
  flex: 0 0 auto;
  place-items: center;
  margin-bottom: clamp(1.25rem, 2.4vw, 2rem);
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--accent);
  transition:
    border-color 320ms ease,
    background-color 320ms ease,
    color 320ms ease;
}

.product-list__icon :is(.phosphor-icon, .hugeicons-icon) {
  position: relative;
  z-index: 1;
  color: inherit;
  font-size: 1.58rem;
  transform-origin: center;
  transition: transform 400ms var(--ease-luxury);
}

.product-stage__tab-icon::after,
.product-list__icon::after {
  position: absolute;
  inset: 5px;
  border-radius: inherit;
  background: currentColor;
  content: "";
  opacity: 0;
  pointer-events: none;
  transform: scale(0.68);
  transition: opacity 280ms ease, transform 420ms var(--ease-luxury);
}

/* Stable Products icon motion: one-axis object movement keeps outlined strokes crisp. */
:is(.product-stage__tab, .product-list__item) {
  --product-icon-lift: 0px;
  --product-icon-drop: 0px;
  --product-icon-nudge: 0px;
}

.product-stage__tab-icon .phosphor-icon,
.product-list__icon :is(.phosphor-icon, .hugeicons-icon) {
  transform: translate3d(0, var(--product-icon-lift), 0);
}

.product-stage__tab [data-icon="amenities-kit"] :is(.hugeicon-part--pack-lid, .hugeicon-part--pack-label),
.product-stage__tab :is([data-icon="shampoo"], [data-icon="dispenser-bottle"]) .hugeicon-part--pump,
.product-stage__tab [data-icon="hotel-slippers"] .hugeicon-part--slipper-left,
.product-stage__tab [data-icon="hotel-bedroom"] .hugeicon-part--pillows {
  transform: translate3d(0, var(--product-icon-lift), 0);
}

.product-stage__tab [data-icon="amenities-kit"] .hugeicon-part--pack-label {
  transform: translate3d(var(--product-icon-nudge), var(--product-icon-lift), 0);
}

.product-stage__tab [data-icon="dispenser-bottle"] .hugeicon-part--drop,
.product-stage__tab [data-icon="hotel-slippers"] .hugeicon-part--slipper-right {
  transform: translate3d(0, var(--product-icon-drop), 0);
}
/* End stable Products icon motion. */

.product-list small > span {
  display: inline-block;
  transition: transform 420ms var(--ease-luxury);
}

.collection-directory {
  overflow: clip;
  background: var(--canvas);
}

.collection-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--ink);
}

.collection-grid__item {
  --collection-aurora-primary: #176b5c;
  --collection-aurora-secondary: #6f91a0;
  --collection-aurora-highlight: #c28e76;
  position: relative;
  isolation: isolate;
  display: grid;
  min-width: 0;
  min-height: 0;
  grid-template-columns: 1fr;
  align-content: start;
  overflow: hidden;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: inherit;
  outline-offset: -4px;
  text-decoration: none;
  transition:
    background-color 460ms var(--ease-luxury),
    border-color 320ms ease;
}

/* Collection identity tokens: attribute-scoped so the directory grid, collection hero,
   story and information ledger all inherit the same per-collection accent. */
:is(
  [data-collection-slug="grs"],
  [data-collection-slug="essentials"],
  [data-collection-slug="pure-soap"]
) {
  --collection-aurora-primary: #286b61;
  --collection-aurora-secondary: #7695a1;
  --collection-aurora-highlight: #b8b8a7;
}

:is(
  [data-collection-slug="minus-2"],
  [data-collection-slug="petrichor"]
) {
  --collection-aurora-primary: #2c6970;
  --collection-aurora-secondary: #6b86a1;
  --collection-aurora-highlight: #a8b8c2;
}

:is(
  [data-collection-slug="urban-forest"],
  [data-collection-slug="fresh-lemongrass"]
) {
  --collection-aurora-primary: #3d7358;
  --collection-aurora-secondary: #88a779;
  --collection-aurora-highlight: #c6ad64;
}

:is(
  [data-collection-slug="aromatherapy"],
  [data-collection-slug="blooming-lush"],
  [data-collection-slug="scents-7"]
) {
  --collection-aurora-primary: #4b6e63;
  --collection-aurora-secondary: #a17f91;
  --collection-aurora-highlight: #c79478;
}

:is(
  [data-collection-slug="highland-white-tea"],
  [data-collection-slug="scents-15"]
) {
  --collection-aurora-primary: #326b62;
  --collection-aurora-secondary: #808a9e;
  --collection-aurora-highlight: #bea071;
}

.collection-grid__item:nth-child(2n) {
  border-right: 0;
}

.collection-grid__item:only-child {
  width: min(100%, 900px);
  grid-column: 1 / -1;
}

.collection-grid__item::after {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: var(--accent);
  content: "";
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 620ms var(--ease-luxury);
}

.collection-grid__visual {
  position: relative;
  isolation: isolate;
  display: grid;
  min-width: 0;
  overflow: hidden;
  place-items: center;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface), var(--canvas) 28%);
  transition: background-color 520ms var(--ease-luxury);
}

.collection-grid__visual::before {
  position: absolute;
  z-index: 0;
  inset: -8%;
  background:
    radial-gradient(
      ellipse 62% 98% at 92% 6%,
      color-mix(in srgb, var(--collection-aurora-secondary), var(--surface) 62%) 0%,
      transparent 67%
    ),
    radial-gradient(
      ellipse 64% 94% at 78% 104%,
      color-mix(in srgb, var(--collection-aurora-primary), var(--surface) 70%) 0%,
      transparent 70%
    ),
    linear-gradient(
      125deg,
      transparent 24%,
      color-mix(in srgb, var(--collection-aurora-highlight), var(--surface) 78%) 58%,
      color-mix(in srgb, var(--collection-aurora-primary), var(--surface) 74%) 100%
    );
  content: "";
  opacity: 0.14;
  pointer-events: none;
  transform: scale(1.04);
  transition:
    opacity 420ms ease,
    transform 980ms var(--ease-luxury);
}

.collection-grid__visual::after {
  position: absolute;
  z-index: 0;
  inset: -46% -26% -42% 30%;
  background:
    radial-gradient(
      circle at 28% 34%,
      color-mix(in srgb, var(--collection-aurora-primary), var(--surface) 45%) 0 10%,
      transparent 42%
    ),
    radial-gradient(
      circle at 74% 62%,
      color-mix(in srgb, var(--collection-aurora-secondary), var(--surface) 38%) 0 12%,
      transparent 45%
    ),
    conic-gradient(
      from 205deg at 50% 50%,
      transparent 0 18%,
      color-mix(in srgb, var(--collection-aurora-highlight), transparent 28%) 30%,
      transparent 48%,
      color-mix(in srgb, var(--collection-aurora-primary), transparent 36%) 68%,
      transparent 86%
    );
  content: "";
  opacity: 0;
  pointer-events: none;
  transform: translate3d(-5%, -3%, 0) rotate(-8deg) scale(0.92);
  transition:
    opacity 380ms ease,
    transform 1200ms var(--ease-luxury);
}

.collection-grid__media {
  position: relative;
  z-index: 2;
  width: 100%;
  border: 0;
  border-radius: 0;
  aspect-ratio: 2 / 1 !important;
  background: transparent;
}

.collection-grid__media picture,
.collection-grid__media img {
  width: 100%;
  height: 100%;
}

.collection-grid__media picture {
  transition:
    filter 420ms ease,
    transform 760ms var(--ease-luxury);
}

.collection-grid__media img {
  object-fit: contain;
}

.collection-grid__copy {
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: 0;
  display: grid;
  width: 32%;
  min-width: 0;
  min-height: 0;
  align-content: end;
  justify-items: start;
  gap: clamp(0.65rem, 1vw, 0.9rem);
  padding: clamp(1rem, 1.8vw, 1.55rem);
  pointer-events: none;
}

.collection-grid__copy em {
  display: block;
  display: -webkit-box;
  max-width: 24ch;
  overflow: hidden;
  color: var(--muted);
  font-family: var(--sans);
  font-size: clamp(0.7rem, 0.65rem + 0.16vw, 0.8rem);
  font-style: normal;
  font-weight: 570;
  letter-spacing: 0.012em;
  line-height: 1.5;
  opacity: 1 !important;
  text-shadow: 0 1px 16px color-mix(in srgb, var(--surface), transparent 8%);
  text-wrap: pretty;
  transform: none !important;
  transition: color 320ms ease;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.collection-grid__copy small {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--accent), transparent 68%);
  color: var(--accent);
  font-family: var(--serif);
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1;
  transition:
    border-color 320ms ease,
    background-color 320ms ease,
    color 320ms ease,
    transform 460ms var(--ease-luxury);
}

.collection-grid__item:is(:focus-visible, .is-luxury-pressed) {
  border-bottom-color: var(--accent);
  background: color-mix(in srgb, var(--accent), var(--canvas) 95%);
}

.collection-grid__item:is(:focus-visible, .is-luxury-pressed)::after {
  transform: scaleX(1);
  transform-origin: left;
}

.collection-grid__item:is(:focus-visible, .is-luxury-pressed) .collection-grid__visual {
  background: color-mix(in srgb, var(--accent), var(--surface) 94%);
}

.collection-grid__item:is(:focus-visible, .is-luxury-pressed) .collection-grid__visual::before {
  opacity: 0.96;
  transform: scale(1);
}

.collection-grid__item:is(:focus-visible, .is-luxury-pressed) .collection-grid__visual::after {
  opacity: 0.78;
}

.collection-grid__item.is-luxury-pressed .collection-grid__visual::before,
.collection-grid__item.is-luxury-pressed .collection-grid__visual::after {
  transition-duration: 160ms;
}

.collection-grid__item:is(:focus-visible, .is-luxury-pressed) .collection-grid__copy em {
  color: var(--ink);
}

.collection-grid__item:is(:focus-visible, .is-luxury-pressed) .collection-grid__copy small {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--on-accent);
  transform: translateX(0.2rem);
}

@keyframes collection-aurora-drift {
  0% {
    transform: translate3d(-5%, -3%, 0) rotate(-8deg) scale(0.92);
  }
  48% {
    transform: translate3d(3%, 4%, 0) rotate(3deg) scale(1.06);
  }
  100% {
    transform: translate3d(-1%, 8%, 0) rotate(9deg) scale(0.98);
  }
}

@media (hover: hover) and (pointer: fine) {
  .product-stage__tab:not(.is-active):hover .product-stage__tab-icon {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent), transparent 92%);
    color: var(--accent);
  }

  .product-stage__tab.is-active:hover .product-stage__tab-icon {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--on-accent);
  }

  .product-list__item:hover .product-list__icon,
  .product-list__item:focus-visible .product-list__icon {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--on-accent);
  }

  .product-stage__tab:hover .product-stage__tab-icon::after,
  .product-list__item:hover .product-list__icon::after,
  .product-list__item:focus-visible .product-list__icon::after {
    opacity: 0.12;
    transform: scale(1);
  }

  .product-stage__tab:hover .product-stage__tab-mark {
    color: var(--accent);
    transform: translateX(0.28rem);
  }

  .collection-grid__item:hover {
    border-bottom-color: var(--accent);
    background: color-mix(in srgb, var(--accent), var(--canvas) 95%);
  }

  .collection-grid__item:hover::after {
    transform: scaleX(1);
    transform-origin: left;
  }

  .collection-grid__item:hover .collection-grid__visual {
    background: color-mix(in srgb, var(--accent), var(--surface) 94%);
  }

  .collection-grid__item:hover .collection-grid__visual::before {
    opacity: 0.96;
    transform: scale(1);
  }

  .collection-grid__item:hover .collection-grid__visual::after {
    opacity: 0.78;
  }

  .collection-grid__item:hover .collection-grid__copy em {
    color: var(--ink);
  }

  .collection-grid__item:hover .collection-grid__copy small {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--on-accent);
    transform: translateX(0.2rem);
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  :is(.product-stage__tab, .product-list__item):hover {
    --product-icon-lift: -1px;
    --product-icon-drop: 1px;
    --product-icon-nudge: 1px;
  }

  .product-list__item:hover small > span,
  .product-list__item:focus-visible small > span {
    transform: translateX(0.35rem);
  }

  .collection-grid__item:hover .collection-grid__visual::after {
    animation: collection-aurora-drift 7.2s cubic-bezier(0.45, 0, 0.2, 1) infinite alternate;
    will-change: transform, opacity;
  }
}

@media (prefers-reduced-motion: no-preference) {
  :is(.product-stage__tab, .product-list__item):is(:focus-visible, .is-luxury-pressed) {
    --product-icon-lift: -1px;
    --product-icon-drop: 1px;
    --product-icon-nudge: 1px;
  }

  .collection-grid__item:is(:focus-visible, .is-luxury-pressed) .collection-grid__visual::after {
    animation: collection-aurora-drift 7.2s cubic-bezier(0.45, 0, 0.2, 1) infinite alternate;
    will-change: transform, opacity;
  }
}

/* Touch and pen feedback mirrors hover without delaying or blocking navigation. */
:is(a[href], button, summary, [role="button"]).is-luxury-pressed {
  opacity: 0.78;
}

.button.is-luxury-pressed {
  border-color: var(--button-fill);
  color: var(--button-hover-ink);
  opacity: 1;
  transform: scale(0.985);
}

.button.is-luxury-pressed::before {
  transform: scaleX(1);
}

a.is-luxury-pressed .text-link::after,
.text-link.is-luxury-pressed::after {
  transform: scaleX(1);
  transform-origin: left;
}

.product-stage__tab.is-luxury-pressed {
  background: transparent;
  opacity: 1;
}

.product-stage__tab:focus-visible .product-stage__tab-icon,
.product-stage__tab.is-luxury-pressed:not(.is-active) .product-stage__tab-icon {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent), transparent 92%);
  color: var(--accent);
}

.product-stage__tab.is-active:focus-visible .product-stage__tab-icon,
.product-stage__tab.is-active.is-luxury-pressed .product-stage__tab-icon,
.product-list__item:focus-visible .product-list__icon,
.product-list__item.is-luxury-pressed .product-list__icon {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--on-accent);
}

.product-stage__tab:focus-visible .product-stage__tab-icon::after,
.product-stage__tab.is-luxury-pressed .product-stage__tab-icon::after,
.product-list__item:focus-visible .product-list__icon::after,
.product-list__item.is-luxury-pressed .product-list__icon::after {
  opacity: 0.12;
  transform: scale(1);
}

.product-stage__panel-link.is-luxury-pressed,
.product-list__item.is-luxury-pressed,
.hover-reveal.is-luxury-pressed {
  opacity: 1;
}

.product-stage__panel-link.is-luxury-pressed .product-stage__media img,
.product-list__item.is-luxury-pressed .product-list__media picture,
.media-frame.has-image.is-luxury-pressed picture,
a.is-luxury-pressed .media-frame.has-image picture {
  transform: scale(1.028);
}

a.collection-grid__item:is(:hover, :focus-visible, .is-luxury-pressed) .collection-grid__media.has-image picture {
  transform: none;
}

a.collection-grid__item:is(:hover, :focus-visible, .is-luxury-pressed) .collection-grid__media.has-image::after {
  box-shadow: none;
  opacity: 0;
}

.product-stage__panel-link.is-luxury-pressed .text-link > span,
.product-list__item.is-luxury-pressed small > span {
  transform: translateX(0.35rem);
}

.hover-reveal.is-luxury-pressed {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent), transparent 95%);
}

.brand-collection-card__link.is-luxury-pressed {
  opacity: 1;
}

.brand-collection-card:has(.brand-collection-card__link.is-luxury-pressed) {
  opacity: 1;
  transform: perspective(1100px) translateY(0.35rem) rotateY(0) scale(0.985);
}

.brand-collection-card:has(.brand-collection-card__link.is-luxury-pressed) .brand-collection-card__visual::before {
  opacity: 1;
  transform: scale(1);
}

.brand-collection-card:has(.brand-collection-card__link.is-luxury-pressed) .brand-collection-card__media {
  filter: none;
  transform: scale(1.025);
}

:is(.product-concept, .linen-product, .slipper-product).is-luxury-pressed .media-placeholder {
  border-color: var(--collection-aurora-primary, var(--accent));
  background: color-mix(in srgb, var(--collection-aurora-primary, var(--accent)), var(--surface) 93%);
}

.product-concept.is-luxury-pressed .product-concept__visual::before {
  opacity: 1;
  transform: scale(1);
}

.product-concept.is-luxury-pressed .product-concept__visual::after {
  transform: scaleY(1);
}

.product-concept.is-luxury-pressed .product-concept__media picture,
.linen-product.is-luxury-pressed .linen-product__media picture,
.slipper-product.is-luxury-pressed .slipper-product__media picture {
  transform: scale(1.035);
}

:is(.collection-information__item, .company-facts > div, .sustainability-manifesto__panel li).is-luxury-pressed {
  background: var(--accent);
  color: var(--on-accent);
}

.collection-information__item.is-luxury-pressed::before {
  transform: scaleX(1);
  transform-origin: left center;
}

.collection-information__item.is-luxury-pressed dt,
.collection-information__item.is-luxury-pressed dd,
.company-facts > div.is-luxury-pressed dt,
.company-facts > div.is-luxury-pressed dd {
  color: var(--on-accent);
}

:is(.faq-list summary, .office-list article, .legal-copy section).is-luxury-pressed {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent), transparent 95%);
}

:is(
  .partnership-manifesto__principles article,
  .home-nature-commitments__list article
).is-luxury-pressed {
  background: color-mix(in srgb, var(--on-accent), transparent 92%);
}

:is(
  .partnership-manifesto__principles article,
  .home-nature-commitments__list article
).is-luxury-pressed :is(.partnership-manifesto__icon, .home-nature-commitments__icon) {
  border-color: var(--accent);
  color: var(--accent);
  transform: rotate(-6deg);
}

.company-statement.is-luxury-pressed .company-statement__icon {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--on-accent);
  transform: rotate(-6deg) scale(1.04);
}

.timeline-entry.is-luxury-pressed .timeline-entry__panel {
  border-top-color: var(--accent);
  background: rgb(247 250 248 / 0.055);
}

@media (max-width: 900px) {
  .collection-grid { grid-template-columns: 1fr; }
  .collection-grid__item,
  .collection-grid__item:nth-child(2n) { border-right: 0; }
}

@media (max-width: 680px) {
  .product-stage__tab {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    column-gap: 0.8rem;
  }

  .product-stage__tab-icon {
    width: 42px;
    height: 42px;
  }

  .collection-grid__item {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .collection-grid__visual {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .collection-grid__copy {
    width: 35%;
    min-height: 0;
    padding: 0.8rem 0.75rem;
  }

  .collection-grid__copy em {
    font-size: clamp(0.64rem, 2.65vw, 0.74rem);
    line-height: 1.4;
    -webkit-line-clamp: 3;
  }

  .collection-grid__copy small {
    width: 28px;
    height: 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(collection-filters),
  ::view-transition-old(collection-results),
  ::view-transition-new(collection-filters),
  ::view-transition-new(collection-results) { animation: none; }

  .collection-directory__alphabet a::before,
  .collection-directory__groups a::after,
  .collection-grid__visual::before,
  .collection-grid__visual::after {
    animation: none;
    transition: none;
  }

  .collection-grid__item,
  .collection-grid__item:is(:focus-visible, .is-luxury-pressed),
  .product-stage__tab-icon,
  .product-list__icon,
  :is(
    .partnership-manifesto__principles article,
    .home-nature-commitments__list article
  ).is-luxury-pressed :is(.partnership-manifesto__icon, .home-nature-commitments__icon),
  .company-statement.is-luxury-pressed .company-statement__icon {
    transform: none;
  }

  .collection-grid__item:is(:focus-visible, .is-luxury-pressed) .collection-grid__media picture,
  .product-stage__panel-link.is-luxury-pressed .product-stage__media img,
  .product-list__item.is-luxury-pressed .product-list__media picture {
    transform: none;
  }

  .product-stage__tab-icon :is(.phosphor-icon, .hugeicons-icon),
  .product-list__icon :is(.phosphor-icon, .hugeicons-icon),
  .hugeicons-icon .hugeicon-part,
  .product-stage__tab-icon::after,
  .product-list__icon::after {
    transition: none;
    transform: none;
  }
}

/* ==========================================================================
   Collections directory on tablets and phones (review of 19 Oct 2026).

   Before: the A–Z strip was a 1,040px-wide grid scrolled sideways (most letters
   greyed out, only "All A–G" visible on a phone) and each card's description was
   laid over the right of its wordmark picture, so the two collided. Now:
   - only the letters that have a collection are offered, as touch-sized chips
     that wrap, so every option is visible without side-scrolling;
   - the group tabs scroll with a fade at the edge (and the active one is kept in
     view by site.js);
   - each card is a picture with its description underneath, and the arrow is a
     proper tap target. Two columns on a tablet, one on a phone.
   Desktop (above 900px) is unchanged.
   ========================================================================== */
@media (max-width: 900px) {
  .collection-directory__filters { margin-bottom: 2rem; }

  /* Group tabs: scroll sideways with a soft fade, last tab clear of the fade. */
  .collection-directory__groups {
    padding-inline: 0 2.5rem;
    scroll-snap-type: x proximity;
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 2.25rem), transparent);
    mask-image: linear-gradient(to right, #000 calc(100% - 2.25rem), transparent);
  }
  .collection-directory__groups a { min-height: 52px; scroll-snap-align: start; font-size: 0.78rem; }

  /* A–Z: only real options, as wrapping touch-sized chips. */
  .collection-directory__alphabet-viewport { overflow: visible; border-top: 1px solid var(--line); }
  .collection-directory__alphabet {
    display: flex;
    width: auto;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding-block: 0.95rem 1.05rem;
    grid-template-columns: none;
  }
  .collection-directory__alphabet::after,
  .collection-directory__alphabet a::before,
  .collection-directory__alphabet span[aria-disabled="true"] { display: none; }
  .collection-directory__alphabet a {
    min-width: 44px;
    min-height: 44px;
    padding-inline: 0.55rem;
    border: 1px solid var(--line);
    color: var(--ink);
    font-size: 0.86rem;
    font-weight: 600;
    transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease, transform 180ms ease;
  }
  .collection-directory__alphabet a:first-child { padding-inline: 1rem; font-size: 0.78rem; letter-spacing: 0.02em; }
  .collection-directory__alphabet a:hover,
  .collection-directory__alphabet a:focus-visible { border-color: var(--accent); }
  .collection-directory__alphabet a[aria-current],
  .collection-directory__alphabet a.is-luxury-pressed {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--on-accent);
  }
  .collection-directory__alphabet a:focus-visible { outline-offset: 2px; }

  /* Cards: picture on top, words underneath — nothing laid over the wordmark. */
  .collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collection-grid__item { border-right: 1px solid var(--line); }
  .collection-grid__item:nth-child(2n) { border-right: 0; }
  .collection-grid__item:only-child { width: 100%; }
  .collection-grid__copy {
    position: relative;
    z-index: 4;
    width: auto;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-content: center;
    align-items: center;
    gap: 0.9rem;
    padding: 0.95rem 1rem 1.1rem;
  }
  .collection-grid__copy em {
    max-width: none;
    color: color-mix(in srgb, var(--ink) 74%, var(--muted));
    font-size: 0.84rem;
    line-height: 1.5;
    text-shadow: none;
    -webkit-line-clamp: 3;
  }
  .collection-grid__copy small { width: 40px; height: 40px; font-size: 1.05rem; }
}

@media (max-width: 600px) {
  .collection-grid { grid-template-columns: 1fr; }
  .collection-grid__item,
  .collection-grid__item:nth-child(2n) { border-right: 0; }
  .collection-grid__copy { padding: 0.85rem 1rem 1rem; }
}
