/* tokens.css */
@font-face {
  font-family: "Noto Sans SC Display";
  src: url("../fonts/noto-sans-sc-display-460-subset.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 460;
}

@font-face {
  font-family: "Noto Sans SC";
  src: url("../fonts/noto-sans-sc-display-subset.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 350 700;
}

:root {
  color-scheme: light;
  --font-display: "Iowan Old Style", "Palatino Linotype", Georgia, "Noto Sans SC Display", "PingFang SC", "Microsoft YaHei", serif;
  --font-body: "Helvetica Neue", Arial, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --font-data: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --v5-abyss: #041116;
  --v5-abyss-raised: #0a1b22;
  --v5-signal: #52cbd1;
  --v5-signal-strong: #147985;
  --v5-silver: #edf5f6;
  --v5-ice-muted: #94aab0;
  --surface: #e7edef;
  --surface-raised: #f6f9fa;
  --surface-subtle: #d3dfe2;
  --surface-deep: #b6c7cc;
  --surface-glass: #edf3f4;
  --header-surface: #eef3f4;
  --footer-surface: var(--v5-abyss);
  --footer-raised: var(--v5-abyss-raised);
  --footer-ink: var(--v5-silver);
  --footer-muted: var(--v5-ice-muted);
  --metal: #8da5ac;
  --ink: #07171d;
  --ink-muted: #344c54;
  --ink-soft: #526a72;
  --line: rgba(7, 23, 29, 0.16);
  --line-strong: rgba(7, 23, 29, 0.36);
  --accent: var(--v5-signal-strong);
  --accent-hover: #0d616b;
  --accent-soft: #cce8ea;
  --accent-bright: var(--v5-signal);
  --accent-ink: #f5fbfc;
  --focus: #087985;
  --dark: #061419;
  --dark-raised: #0c1c22;
  --dark-soft: #142b33;
  --dark-ink: #edf5f6;
  --dark-muted: #9eb0b5;
  --positive: #24644c;
  --warning: #745b17;
  --danger: #8e3c3c;
  --shadow-soft: 0 18px 48px rgba(3, 16, 21, 0.16);
  --shadow-media: 0 30px 80px rgba(3, 16, 21, 0.26);
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --content: 100rem;
  --content-narrow: 72rem;
  --gutter: clamp(1rem, 3.5vw, 4rem);
  --section-space: clamp(5rem, 9vw, 9rem);
  --header-height: 4.75rem;
  --control-height: 2.75rem;
  --transition-fast: 180ms;
  --transition-medium: 320ms;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --z-header: 40;
  --z-dialog: 100;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --v5-abyss: #061419;
  --v5-abyss-raised: #0b1c22;
  --v5-signal: #74d9de;
  --v5-signal-strong: #74d9de;
  --v5-silver: #edf5f6;
  --v5-ice-muted: #9aafb4;
  --surface: var(--v5-abyss);
  --surface-raised: var(--v5-abyss-raised);
  --surface-subtle: #132b33;
  --surface-deep: #1d3b45;
  --surface-glass: #08191f;
  --header-surface: #08191f;
  --footer-surface: #020b0f;
  --footer-raised: #091a20;
  --footer-ink: var(--v5-silver);
  --footer-muted: var(--v5-ice-muted);
  --metal: #91a8ae;
  --ink: #edf5f6;
  --ink-muted: #b1c2c6;
  --ink-soft: #8fa5aa;
  --line: rgba(237, 245, 246, 0.14);
  --line-strong: rgba(237, 245, 246, 0.34);
  --accent: var(--v5-signal);
  --accent-hover: #9ce8eb;
  --accent-soft: #12363b;
  --accent-bright: var(--v5-signal);
  --accent-ink: #041217;
  --focus: #9cf0f2;
  --shadow-soft: 0 20px 52px rgba(0, 0, 0, 0.34);
}

/* base.css */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 1.5rem);
  text-size-adjust: 100%;
}

body {
  margin: 0;
  overflow-x: clip;
  background: var(--surface);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.68;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  transition: background-color var(--transition-medium) var(--ease-out), color var(--transition-medium) var(--ease-out);
}

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

html.has-open-market {
  overscroll-behavior: none;
}

::selection {
  background: var(--accent);
  color: #fff;
}

* {
  scrollbar-color: var(--ink-soft) var(--surface-subtle);
  scrollbar-width: thin;
}

h1,
h2,
h3,
p,
ul,
ol,
dl,
figure,
blockquote {
  margin-block-start: 0;
}

h1,
h2,
h3 {
  color: var(--ink);
  font-family: var(--font-display);
  font-weight: 460;
  letter-spacing: -0.045em;
  line-height: 1.04;
  text-wrap: balance;
}

h1 {
  margin-block-end: 1.5rem;
  font-size: clamp(3rem, 6vw, 6rem);
}

h2 {
  margin-block-end: 1.2rem;
  font-size: clamp(2.25rem, 4.6vw, 4.8rem);
}

h3 {
  margin-block-end: 0.8rem;
  font-size: clamp(1.35rem, 2.2vw, 2.1rem);
}

p {
  margin-block-end: 1rem;
  color: var(--ink-muted);
}

ul,
ol {
  padding-inline-start: 1.2rem;
}

a {
  color: inherit;
  text-decoration-color: color-mix(in srgb, currentColor 38%, transparent);
  text-decoration-thickness: 0.07em;
  text-underline-offset: 0.28em;
}

a:hover {
  text-decoration-color: currentColor;
}

button,
input,
textarea,
select {
  color: inherit;
  font: inherit;
}

button,
[role="button"] {
  touch-action: manipulation;
}

button:focus-visible,
a:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
textarea:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

img,
svg,
video {
  display: block;
  max-width: 100%;
}

img,
video {
  height: auto;
}

figure,
picture {
  margin: 0;
}

fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

button {
  min-width: 2.75rem;
  min-height: 2.75rem;
  border: 0;
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

address {
  font-style: normal;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th {
  text-align: left;
}

details > summary {
  cursor: pointer;
}

[hidden] {
  display: none !important;
}

.skip-link {
  position: fixed;
  z-index: 999;
  inset: 0.75rem auto auto 0.75rem;
  padding: 0.7rem 1rem;
  transform: translateY(-180%);
  background: var(--ink);
  color: var(--surface);
}

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

.model-mark {
  margin-block-end: 1rem;
  color: var(--accent);
  font-family: var(--font-data);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.4;
}

.boundary-note {
  color: var(--ink-soft);
  font-size: 0.86rem;
}

.toast-region {
  position: fixed;
  z-index: var(--z-dialog);
  inset: auto 1rem 1rem auto;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (prefers-contrast: more) {
  :root {
    --line: currentColor;
    --line-strong: currentColor;
  }

  .button,
  button,
  select,
  [data-market-panel],
  [data-language-link],
  [data-market-language-link] {
    border: 2px solid currentColor;
  }
}

@media (forced-colors: active) {
  .button,
  .status-label,
  .brand__mark,
  .swatch-option,
  .colorway-option,
  [data-market-trigger],
  [data-market-panel],
  [data-language-link],
  [data-market-language-link],
  .market-switcher__field select {
    forced-color-adjust: auto;
    border: 1px solid ButtonText;
  }

  .scale-disc {
    border: 2px solid CanvasText;
  }
}

@media (max-width: 767px) {
  html.has-open-market {
    overflow: hidden;
  }
}

/* layout.css */
.section-shell {
  width: min(100%, var(--content));
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.site-header {
  position: sticky;
  z-index: var(--z-header);
  top: 0;
  height: var(--header-height);
  border-bottom: 1px solid var(--line);
  background: var(--surface-glass);
  backdrop-filter: blur(16px) saturate(125%);
}

.site-header__inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  width: min(100%, calc(var(--content) + 2 * var(--gutter)));
  height: 100%;
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.brand {
  display: inline-flex;
  align-items: center;
  min-height: 2.8125rem;
  gap: 0.7rem;
  width: max-content;
  text-decoration: none;
}

.brand__mark {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border: 1px solid var(--ink);
  border-radius: 50%;
  font-family: var(--font-data);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: -0.06em;
}

.brand__text {
  display: grid;
  line-height: 1;
}

.brand__text strong {
  font-family: var(--font-data);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
}

.brand__text small {
  margin-block-start: 0.28rem;
  color: var(--ink-soft);
  font-family: var(--font-data);
  font-size: 0.55rem;
  letter-spacing: 0.08em;
}

.primary-nav {
  display: flex;
  justify-content: center;
  gap: clamp(1rem, 2vw, 2.2rem);
}

.primary-nav a {
  position: relative;
  min-width: 2.75rem;
  padding-block: 1rem;
  color: var(--ink-muted);
  font-size: 0.9rem;
  text-decoration: none;
}

.primary-nav a::after {
  position: absolute;
  inset: auto 0 0.55rem;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left;
  background: currentColor;
  content: "";
  transition: transform var(--transition-fast) var(--ease-out);
}

.primary-nav a:hover,
.primary-nav a[aria-current="page"] {
  color: var(--ink);
}

.primary-nav a:hover::after,
.primary-nav a[aria-current="page"]::after {
  transform: scaleX(1);
}

.site-header__tools {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

[data-market-switcher] {
  position: relative;
}

.market-noscript {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.25rem;
  font-family: var(--font-data);
  font-size: 0.72rem;
  font-weight: 700;
}

.market-noscript a {
  display: inline-grid;
  min-width: 2.75rem;
  min-height: 2.75rem;
  place-items: center;
  color: var(--ink);
}

[data-market-trigger] {
  display: none;
  min-width: auto;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.48rem;
  padding: 0.55rem 0.72rem;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  font-family: var(--font-data);
  font-size: 0.7rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  letter-spacing: 0.055em;
  line-height: 1;
  white-space: nowrap;
  transition: border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);
}

.js [data-market-trigger] {
  display: inline-flex;
}

[data-market-trigger]::after {
  width: 0.38rem;
  height: 0.38rem;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  content: "";
  transform: translateY(-0.12rem) rotate(45deg);
  transition: transform var(--transition-fast) var(--ease-out);
}

[data-market-switcher].is-open [data-market-trigger] {
  border-color: var(--line-strong);
  background: var(--surface-subtle);
}

[data-market-switcher].is-open [data-market-trigger]::after {
  transform: translateY(0.1rem) rotate(225deg);
}

[data-market-panel] {
  position: absolute;
  z-index: calc(var(--z-dialog) + 1);
  inset: calc(100% + 0.72rem) 0 auto auto;
  width: min(29rem, calc(100vw - 2rem));
  max-height: min(40rem, calc(100dvh - var(--header-height) - 2rem));
  overflow-y: auto;
  padding: 1.4rem;
  border: 1px solid var(--line-strong);
  background: var(--surface-raised);
  box-shadow: var(--shadow-soft);
  color: var(--ink);
  animation: market-panel-in var(--transition-fast) var(--ease-out) both;
}

.market-switcher__panel-head {
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-inline-end: 3.5rem;
}

.market-switcher__panel-head h2 {
  margin: 0;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 460;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

.market-switcher__form {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.25rem;
  padding-block-start: 1.2rem;
  border-top: 1px solid var(--line);
}

.market-switcher__field {
  display: grid;
  gap: 0.55rem;
}

.market-switcher__field > span {
  color: var(--ink-muted);
  font-family: var(--font-data);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.market-switcher__field select {
  width: 100%;
  min-height: 3rem;
  padding: 0.72rem 2.8rem 0.72rem 0.85rem;
  border: 1px solid var(--line-strong);
  border-radius: 0;
  appearance: none;
  background-color: var(--surface-raised);
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 1rem) 50%, calc(100% - 0.7rem) 50%;
  background-repeat: no-repeat;
  background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
  color: var(--ink);
  line-height: 1.25;
}

.market-switcher__field select:hover {
  border-color: var(--accent);
}

.market-switcher__apply {
  width: 100%;
  min-height: 3rem;
  margin-block-start: 0.15rem;
}

[data-market-close] {
  position: absolute;
  inset: 0.78rem 0.78rem auto auto;
  display: inline-grid;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  min-height: 2.75rem;
  place-items: center;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  font-size: 0;
}

[data-market-close]::before,
[data-market-close]::after {
  position: absolute;
  width: 1rem;
  height: 1px;
  background: currentColor;
  content: "";
}

[data-market-close]::before {
  transform: rotate(45deg);
}

[data-market-close]::after {
  transform: rotate(-45deg);
}

[data-market-close]:has(svg)::before,
[data-market-close]:has(svg)::after {
  content: none;
}

[data-market-close] svg {
  width: 1.1rem;
  height: 1.1rem;
}

[data-market-close]:hover,
[data-market-trigger]:hover {
  border-color: var(--line-strong);
  background: var(--surface-subtle);
}

.market-switcher__note {
  margin: 1rem 0 0;
  padding-block-start: 1rem;
  border-top: 1px solid var(--line);
  color: var(--ink-soft);
  font-size: 0.74rem;
  line-height: 1.5;
}

@keyframes market-panel-in {
  from {
    opacity: 0;
    transform: translateY(-0.35rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.icon-button,
.nav-toggle {
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
}

.icon-button:hover,
.nav-toggle:hover {
  background: var(--surface-subtle);
}

.header-action {
  display: inline-grid;
  min-height: 2.75rem;
  padding-inline: 1rem;
  place-items: center;
  background: var(--ink);
  color: var(--surface);
  font-size: 0.84rem;
  text-decoration: none;
}

.nav-toggle {
  display: none;
  grid-template-columns: auto 1rem;
  gap: 0.6rem;
  padding-inline: 0.8rem;
}

.nav-toggle__lines {
  display: grid;
  gap: 0.28rem;
}

.nav-toggle__lines i {
  display: block;
  width: 1rem;
  height: 1px;
  background: currentColor;
  transition: transform var(--transition-fast) var(--ease-out);
}

.button {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  padding: 0.72rem 1.25rem;
  border: 1px solid transparent;
  border-radius: var(--radius-xs);
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: transform var(--transition-fast) var(--ease-out), background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.button:hover {
  transform: translateY(-2px);
}

.button--primary {
  background: var(--ink);
  color: var(--surface);
}

.button--primary:hover {
  background: var(--accent);
  color: var(--accent-ink);
}

.button--secondary {
  border-color: var(--line-strong);
  background: transparent;
  color: var(--ink);
}

.button--secondary:hover {
  border-color: var(--ink);
  background: var(--surface-raised);
}

.button--light,
.button--inverse {
  background: var(--dark-ink);
  color: var(--dark);
}

.button--light:hover,
.button--inverse:hover {
  background: #fff;
}

.button--wide {
  width: 100%;
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.text-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.8125rem;
  gap: 0.55rem;
  color: var(--ink);
  font-weight: 600;
  text-decoration: none;
}

.text-link::after {
  content: "→";
  transition: transform var(--transition-fast) var(--ease-out);
}

.text-link:hover::after {
  transform: translateX(0.3rem);
}

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

.text-link--light {
  color: var(--dark-ink);
}

.section-heading {
  margin-block-end: clamp(2.5rem, 5vw, 5rem);
}

.section-heading--split {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(17rem, 0.6fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: end;
}

.section-heading--split :is(h2, h3),
.section-heading--split p {
  margin-block-end: 0;
}

.section-heading--split p,
.section-heading--stacked p {
  max-width: 39rem;
}

.section-heading--stacked :is(h2, h3) {
  max-width: 62rem;
}

.breadcrumbs {
  width: min(100%, var(--content));
  margin-inline: auto;
  padding: 1rem var(--gutter);
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumbs li {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: var(--ink-soft);
  font-size: 0.76rem;
}

.breadcrumbs li:not(:last-child)::after {
  margin-inline-start: 0.45rem;
  content: "/";
}

.breadcrumbs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  text-decoration: none;
}

.table-scroll {
  overflow-x: auto;
  border: 1px solid var(--line);
  background: var(--surface-raised);
}

.table-scroll table {
  min-width: 52rem;
}

.table-scroll th,
.table-scroll td {
  padding: 1rem;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

.table-scroll thead th {
  background: var(--surface-subtle);
  color: var(--ink-soft);
  font-family: var(--font-data);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.empty-state {
  padding: clamp(2rem, 5vw, 5rem);
  border: 1px dashed var(--line-strong);
  background: var(--surface-raised);
  text-align: center;
}

.empty-state h3,
.empty-state p {
  max-width: 42rem;
  margin-inline: auto;
}

.closing-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
  padding-block: var(--section-space);
  border-top: 1px solid var(--line);
}

.closing-action h2 {
  margin-block-end: 0.8rem;
}

.closing-action p {
  max-width: 42rem;
  margin-block-end: 0;
}

.site-footer {
  background: var(--dark);
  color: var(--dark-ink);
}

.site-footer h2,
.site-footer p,
.site-footer a,
.site-footer span,
.site-footer strong,
.site-footer small {
  color: inherit;
}

.site-footer a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
}

.site-footer__callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-block: clamp(3rem, 6vw, 6rem);
  border-bottom: 1px solid rgba(241, 243, 244, 0.16);
}

.site-footer__callout p {
  max-width: 50rem;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1.08;
}

.site-footer__main {
  display: grid;
  grid-template-columns: 1.6fr 1fr 0.8fr 1.2fr;
  gap: clamp(2rem, 4vw, 5rem);
  padding-block: clamp(4rem, 7vw, 7rem);
}

.site-footer__main h2 {
  margin-block-end: 1.2rem;
  font-family: var(--font-data);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.site-footer__identity > h2 {
  margin-block: 1.3rem 1rem;
  font-family: var(--font-display);
  font-size: 1.5rem;
  letter-spacing: -0.02em;
  text-transform: none;
}

.brand__mark--footer {
  border-color: var(--dark-ink);
}

.site-footer__identity p {
  max-width: 34rem;
  color: var(--dark-muted);
}

.site-footer ul {
  display: grid;
  gap: 0.7rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__models a {
  display: grid;
  grid-template-columns: 4rem 1fr;
  gap: 0.5rem;
  text-decoration: none;
}

.site-footer__models small,
.site-footer__contact span,
.site-footer__contact small {
  color: var(--dark-muted);
}

.site-footer__contact address {
  display: grid;
  gap: 0.8rem;
}

.site-footer__contact address > * {
  display: grid;
  margin: 0;
  text-decoration: none;
}

.site-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 1.5rem;
  border-top: 1px solid rgba(241, 243, 244, 0.16);
}

.site-footer__bottom p {
  margin: 0;
  color: var(--dark-muted);
  font-size: 0.8rem;
}

@media (max-width: 1023px) {
  .site-header__inner {
    grid-template-columns: auto 1fr;
  }

  .primary-nav {
    position: fixed;
    inset: var(--header-height) 0 auto;
    display: none;
    max-height: calc(100dvh - var(--header-height));
    overflow-y: auto;
    padding: 1.5rem var(--gutter) 2.5rem;
    border-bottom: 1px solid var(--line);
    background: var(--surface);
  }

  .primary-nav.is-open {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }

  .primary-nav a {
    min-height: 3.5rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--line);
    font-size: 1rem;
  }

  .site-header__tools {
    justify-self: end;
    gap: 0.45rem;
  }

  .nav-toggle {
    display: grid;
  }

  .site-header.is-nav-open .nav-toggle__lines i:first-child {
    transform: translateY(0.14rem) rotate(45deg);
  }

  .site-header.is-nav-open .nav-toggle__lines i:last-child {
    transform: translateY(-0.14rem) rotate(-45deg);
  }

  .site-footer__main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  :root {
    --header-height: 4.25rem;
  }

  .brand__text small,
  .header-action,
  .nav-toggle__label {
    display: none;
  }

  .nav-toggle {
    grid-template-columns: 1rem;
    padding-inline: 0.7rem;
  }

  [data-market-trigger] {
    min-height: 2.75rem;
    padding-inline: 0.62rem;
    font-size: 0.66rem;
  }

  [data-market-panel] {
    position: fixed;
    inset: 0;
    width: 100%;
    max-height: 100dvh;
    min-height: 100dvh;
    padding: max(1.25rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    border: 0;
    background: var(--surface);
    box-shadow: none;
    animation-name: market-sheet-in;
  }

  .market-switcher__panel-head h2 {
    max-width: 18rem;
    font-size: clamp(1.75rem, 8vw, 2.5rem);
  }

  [data-market-close] {
    inset: max(0.75rem, env(safe-area-inset-top)) max(0.75rem, env(safe-area-inset-right)) auto auto;
  }

  .market-switcher__form {
    margin-block-start: 1.75rem;
    padding-block-start: 1.35rem;
  }

  .market-switcher__field select,
  .market-switcher__apply {
    min-height: 3.25rem;
    padding: 0.85rem;
    font-size: 0.88rem;
  }

  .market-switcher__field select {
    padding-inline-end: 2.8rem;
  }

  .primary-nav.is-open {
    grid-template-columns: 1fr;
  }

  .section-heading--split,
  .closing-action {
    grid-template-columns: 1fr;
  }

  .closing-action {
    align-items: start;
  }

  .site-footer__callout,
  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .site-footer__main {
    grid-template-columns: 1fr;
  }

  .button-row {
    width: 100%;
  }

  .button-row .button {
    flex: 1 1 auto;
  }
}

@media (max-width: 340px) {
  .brand {
    gap: 0.5rem;
  }

  .brand__text strong {
    font-size: 0.7rem;
  }

  .site-header__tools {
    gap: 0.3rem;
  }

  [data-market-trigger] {
    padding-inline: 0.5rem;
  }
}

@keyframes market-sheet-in {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* components.css */
.media-picture {
  display: block;
  overflow: hidden;
}

.media-picture img {
  width: 100%;
}

.product-band {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(22rem, 0.85fr);
  min-height: min(46rem, 72vw);
  margin-block-end: clamp(1.5rem, 4vw, 4rem);
  border: 1px solid var(--line);
  background: var(--surface-raised);
}

.product-band--reverse {
  grid-template-columns: minmax(22rem, 0.85fr) minmax(0, 1.15fr);
}

.product-band--reverse .product-band__media {
  order: 2;
}

.product-band__media {
  min-width: 0;
  background: var(--dark);
  text-decoration: none;
}

.product-band__media .product-visual {
  height: 100%;
}

.product-band__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 5rem);
}

.product-band__kicker {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-block-end: 2rem;
  color: var(--ink-soft);
  font-family: var(--font-data);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.product-band h2,
.product-band h3 {
  margin-block-end: 1rem;
  font-size: clamp(2rem, 4vw, 4.2rem);
}

.product-band h2 a,
.product-band h3 a {
  text-decoration: none;
}

.product-band__content > p {
  max-width: 36rem;
}

.product-band__facts {
  display: grid;
  margin-block: 2rem;
  border-block: 1px solid var(--line);
}

.product-band__facts div {
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 1rem;
  padding-block: 0.75rem;
  border-bottom: 1px solid var(--line);
}

.product-band__facts div:last-child {
  border-bottom: 0;
}

.product-band__facts dt {
  color: var(--ink-soft);
  font-size: 0.76rem;
}

.product-band__facts dd {
  margin: 0;
}

.product-band__price {
  display: grid;
  gap: 0.15rem;
  margin-block-end: 1.5rem;
}

.product-band__price span {
  color: var(--ink-soft);
  font-size: 0.76rem;
}

.product-band__price strong {
  font-family: var(--font-data);
  font-size: 0.9rem;
}

.money {
  display: inline-grid;
  max-width: 100%;
  gap: 0.12rem;
  color: inherit;
  font-variant-numeric: tabular-nums;
}

.money__value {
  white-space: nowrap;
}

.money__source {
  color: var(--ink-soft);
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 400;
  line-height: 1.45;
  white-space: normal;
}

.money--unavailable .money__value {
  white-space: normal;
}

.market-disclosure {
  max-width: 64rem;
  margin-block: 1rem 0;
  padding: 0.85rem 1rem;
  border-inline-start: 2px solid var(--accent);
  background: var(--accent-soft);
  color: var(--ink-muted);
  font-size: 0.78rem;
  line-height: 1.62;
}

.market-disclosure a {
  color: inherit;
  font-weight: 600;
}

.product-band__action {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.product-visual {
  position: relative;
  min-height: 28rem;
  background: var(--dark);
  color: var(--dark-ink);
}

.product-visual .media-picture,
.product-visual__image {
  width: 100%;
  height: 100%;
}

.product-visual__image {
  object-fit: cover;
}

.product-visual--image figcaption {
  position: absolute;
  inset: auto 1rem 1rem;
  max-width: 34rem;
  padding: 0.7rem 0.85rem;
  background: rgba(13, 17, 19, 0.82);
  color: var(--dark-muted);
  font-size: 0.72rem;
  backdrop-filter: blur(10px);
}

.product-visual--pending {
  display: grid;
  min-height: 34rem;
  place-items: center;
  overflow: hidden;
  background:
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    var(--dark);
  background-size: 3rem 3rem;
}

.product-visual--pending figcaption {
  position: absolute;
  inset: auto 1rem 1rem;
  display: grid;
  max-width: calc(100% - 2rem);
  gap: 0.15rem;
  padding: 0.75rem 0.9rem;
  background: rgba(13, 17, 19, 0.86);
  color: var(--dark-ink);
  font-size: 0.78rem;
}

.product-visual--pending figcaption span {
  color: var(--dark-muted);
}

.product-compact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.product-compact {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(15rem, 1.1fr);
  border: 1px solid var(--line);
  background: var(--surface-raised);
}

.product-compact__media {
  min-width: 0;
  background: var(--dark);
  text-decoration: none;
}

.product-compact .product-visual {
  min-height: 20rem;
}

.product-compact__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.5rem, 3vw, 3rem);
}

.product-compact__model {
  margin-block-end: 0.75rem;
  color: var(--accent);
  font-family: var(--font-data);
  font-size: 0.72rem;
}

.product-compact h3 {
  font-size: clamp(1.3rem, 2vw, 2rem);
}

.product-compact h3 a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  text-decoration: none;
}

.status-label {
  display: inline-flex;
  padding: 0.25rem 0.5rem;
  border: 1px solid currentColor;
  color: var(--positive);
  font-size: 0.72rem;
}

.media-gallery {
  padding-block: var(--section-space);
}

.media-gallery__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-block-end: 1rem;
}

.media-gallery__toolbar p {
  margin: 0;
  font-family: var(--font-data);
}

.media-gallery__toolbar div {
  display: flex;
  gap: 0.5rem;
}

.media-gallery__toolbar button,
.lightbox button,
.video-feature__error button,
.media-error button {
  padding: 0.55rem 0.9rem;
  border: 1px solid var(--line-strong);
  background: transparent;
}

.media-rail {
  display: grid;
  grid-auto-columns: minmax(18rem, 56vw);
  grid-auto-flow: column;
  gap: 1rem;
  overflow-x: auto;
  padding-block-end: 1rem;
  scroll-snap-type: x mandatory;
}

.media-rail__item {
  scroll-snap-align: start;
}

.media-rail__item a {
  display: block;
  overflow: hidden;
  background: var(--dark);
}

.media-rail__picture,
.media-rail__image {
  width: 100%;
  aspect-ratio: 1;
}

.media-rail__image {
  object-fit: cover;
  transition: transform var(--transition-medium) var(--ease-out);
}

.media-rail__item a:hover .media-rail__image {
  transform: scale(1.015);
}

.media-rail__item figcaption {
  padding-block: 0.65rem;
  color: var(--ink-soft);
  font-size: 0.75rem;
}

.lightbox {
  width: min(94vw, 76rem);
  max-width: none;
  max-height: 94dvh;
  padding: 0;
  border: 1px solid var(--line-strong);
  background: var(--surface);
  color: var(--ink);
}

.lightbox::backdrop {
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(8px);
}

.lightbox__frame {
  display: grid;
  max-height: 94dvh;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.lightbox__header,
.lightbox__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 1rem;
}

.lightbox__header p,
.lightbox__footer p {
  margin: 0;
}

.lightbox__stage {
  position: relative;
  display: grid;
  min-height: 20rem;
  overflow: auto;
  place-items: center;
  background: var(--dark);
}

.lightbox__stage img {
  width: auto;
  max-height: calc(94dvh - 8rem);
}

.lightbox__loading,
.lightbox__error,
.media-loading,
.media-error {
  position: absolute;
  inset: 50% auto auto 50%;
  min-width: 12rem;
  padding: 1rem;
  transform: translate(-50%, -50%);
  background: rgba(13, 17, 19, 0.9);
  color: var(--dark-ink);
  text-align: center;
}

.video-section {
  padding-block: var(--section-space);
}

.video-feature {
  display: grid;
  grid-template-columns: minmax(18rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: center;
}

.video-feature--portrait {
  grid-template-columns: minmax(18rem, 1fr) minmax(18rem, 0.65fr);
}

.video-feature__copy p {
  max-width: 34rem;
}

.video-feature__media {
  position: relative;
  min-width: 0;
  background: var(--dark);
}

.video-poster {
  position: relative;
}

.video-poster__picture,
.video-poster__image {
  width: 100%;
}

.video-feature--portrait .video-poster__image,
.video-feature--portrait video {
  aspect-ratio: 9 / 16;
  max-height: 46rem;
  object-fit: cover;
}

.video-poster .button {
  position: absolute;
  inset: auto 1rem 1rem;
}

.video-feature video {
  width: 100%;
  background: #000;
}

.video-feature__error {
  padding: 2rem;
  color: var(--dark-ink);
}

.color-configurator {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(22rem, 0.85fr);
  gap: clamp(2rem, 5vw, 6rem);
  align-items: start;
  padding-block: var(--section-space);
}

.color-configurator__stage {
  position: sticky;
  top: calc(var(--header-height) + 1.5rem);
}

.color-configurator__image-wrap {
  position: relative;
  background: var(--dark);
}

.color-configurator__image-wrap img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.color-configurator__caption {
  margin-block-start: 0.65rem;
  font-size: 0.75rem;
}

.option-group legend {
  display: block;
  margin-block-end: 0.65rem;
  font-size: 0.84rem;
  font-weight: 600;
}

.option-group {
  margin-block: 2rem;
}

.colorway-grid {
  display: grid;
  gap: 0.625rem;
}

.colorway-option {
  display: grid;
  min-height: 5rem;
  grid-template-columns: 4.5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.85rem;
  padding: 0.5rem;
  border: 1px solid var(--line);
  background: transparent;
  text-align: left;
}

.colorway-option[aria-pressed="true"] {
  border-color: var(--accent);
  box-shadow: inset 0 0 0 1px var(--accent);
}

.colorway-option__thumb {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f5f6f4;
}

.colorway-option__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.colorway-option__copy {
  display: grid;
  min-width: 0;
  gap: 0.18rem;
}

.colorway-option__copy strong {
  font-size: 0.84rem;
  line-height: 1.25;
}

.colorway-option__copy small {
  color: var(--ink-soft);
  font-size: 0.7rem;
  line-height: 1.35;
}

.colorway-option__state {
  color: var(--accent);
  font-size: 0.68rem;
  font-weight: 700;
  opacity: 0;
}

.colorway-option[aria-pressed="true"] .colorway-option__state {
  opacity: 1;
}

.selection-summary,
.customization-unknowns {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.65rem 1rem;
  margin-block: 1.5rem;
  padding-block: 1rem;
  border-block: 1px solid var(--line);
}

.selection-summary span,
.customization-unknowns span {
  color: var(--ink-soft);
  font-size: 0.8rem;
}

.selection-summary strong,
.customization-unknowns strong {
  text-align: right;
}

.selection-summary small {
  grid-column: 1 / -1;
  color: var(--ink-soft);
  font-size: 0.75rem;
  line-height: 1.5;
}

.configurator__status {
  min-height: 1.7rem;
  margin-block-start: 0.7rem;
  font-size: 0.8rem;
}

@media (max-width: 1023px) {
  .product-band,
  .product-band--reverse {
    grid-template-columns: 1fr;
  }

  .product-band--reverse .product-band__media {
    order: 0;
  }

  .product-band {
    min-height: 0;
  }

  .product-compact-grid {
    grid-template-columns: 1fr;
  }

  .color-configurator {
    grid-template-columns: 1fr;
  }

  .color-configurator__stage {
    position: static;
  }
}

@media (max-width: 767px) {
  .product-visual,
  .product-visual--pending {
    min-height: 23rem;
  }

  .product-band__content {
    padding: 1.5rem;
  }

  .product-band__facts div {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }

  .product-compact {
    grid-template-columns: 1fr;
  }

  .product-compact .product-visual {
    min-height: 18rem;
  }

  .media-rail {
    grid-auto-columns: 84vw;
  }

  .video-feature,
  .video-feature--portrait {
    grid-template-columns: 1fr;
  }

  .video-feature__copy {
    order: 2;
  }

  .colorway-option {
    grid-template-columns: 4rem minmax(0, 1fr) auto;
  }
}

/* pages.css */
/* Home */
.home-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(20rem, 0.9fr) minmax(0, 1.1fr);
  min-height: calc(100svh - var(--header-height));
  overflow: hidden;
  background: var(--dark);
  color: var(--dark-ink);
}

.home-hero__grid {
  position: absolute;
  z-index: 0;
  inset: 0;
  background:
    linear-gradient(rgba(241, 243, 244, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(241, 243, 244, 0.045) 1px, transparent 1px);
  background-size: 4rem 4rem;
  mask-image: linear-gradient(90deg, #000, transparent 56%);
}

.home-hero__copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(3rem, 8vw, 8rem) var(--gutter);
}

.home-hero h1,
.home-hero p {
  color: inherit;
}

.home-hero h1 {
  max-width: 10ch;
  font-size: clamp(3.5rem, 7vw, 7.5rem);
}

.home-hero__intro {
  max-width: 35rem;
  color: var(--dark-muted) !important;
  font-size: clamp(1rem, 1.4vw, 1.25rem);
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
  margin-block-start: 1.5rem;
}

.home-hero__boundary {
  margin-block-start: 2rem;
  color: var(--dark-muted) !important;
  font-size: 0.76rem;
}

.home-hero__media {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.home-hero__picture,
.home-hero__image {
  width: 100%;
  height: 100%;
}

.home-hero__image {
  object-fit: cover;
}

.home-hero__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--dark), transparent 28%);
  content: "";
  pointer-events: none;
}

.home-hero__media > p {
  position: absolute;
  z-index: 2;
  inset: auto 1rem 1rem auto;
  margin: 0;
  padding: 0.45rem 0.65rem;
  background: rgba(13, 17, 19, 0.78);
  color: var(--dark-muted);
  font-size: 0.7rem;
}

.home-hero__scroll {
  position: absolute;
  z-index: 3;
  inset: auto auto 1.4rem var(--gutter);
  display: flex;
  gap: 0.7rem;
  color: var(--dark-muted);
  font-size: 0.72rem;
  text-decoration: none;
}

.model-index {
  padding-block: var(--section-space);
}

.model-index__list {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-strong);
  list-style: none;
}

.model-index__list a {
  display: grid;
  grid-template-columns: 3rem 7rem minmax(16rem, 1fr) minmax(15rem, 0.8fr) auto;
  gap: 1rem;
  align-items: center;
  min-height: 5.5rem;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.model-index__list a:hover {
  background: var(--surface-raised);
}

.model-index__list span,
.model-index__list strong {
  font-family: var(--font-data);
}

.model-index__list span {
  color: var(--ink-soft);
  font-size: 0.72rem;
}

.model-index__list em {
  font-style: normal;
  font-size: clamp(1.15rem, 2vw, 1.8rem);
}

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

.fact-ribbon {
  border-block: 1px solid var(--line);
  background: var(--surface-subtle);
}

.fact-ribbon > div {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding-block: clamp(2rem, 4vw, 4rem);
}

.fact-ribbon p {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  padding-inline: clamp(1rem, 3vw, 3rem);
  border-right: 1px solid var(--line);
}

.fact-ribbon p:first-child {
  padding-inline-start: 0;
}

.fact-ribbon p:last-child {
  border-right: 0;
}

.fact-ribbon strong {
  color: var(--ink);
  font-family: var(--font-data);
  font-size: clamp(2.2rem, 4vw, 4.2rem);
  font-weight: 400;
}

.fact-ribbon span {
  font-size: 0.82rem;
}

.home-families {
  padding-block: var(--section-space);
}

.twin-scale {
  display: grid;
  grid-template-columns: minmax(20rem, 0.75fr) minmax(0, 1.25fr);
  gap: clamp(3rem, 7vw, 8rem);
  align-items: center;
  padding-block: var(--section-space);
  border-top: 1px solid var(--line);
}

.twin-scale__copy p:not(.model-mark) {
  max-width: 37rem;
}

.twin-scale__stage {
  position: relative;
  min-height: clamp(28rem, 50vw, 46rem);
}

.scale-disc {
  position: absolute;
  display: grid;
  place-content: center;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: radial-gradient(circle at 50% 45%, var(--surface-raised), var(--surface-subtle));
  box-shadow: var(--shadow-soft);
  text-align: center;
}

.scale-disc--large {
  inset: 0 auto auto 0;
  width: min(80%, 40rem);
  aspect-ratio: 1;
}

.scale-disc--small {
  inset: auto 0 0 auto;
  width: min(58%, 31rem);
  aspect-ratio: 1;
}

.scale-disc b {
  font-family: var(--font-data);
  font-size: clamp(2rem, 5vw, 5rem);
  font-weight: 400;
}

.scale-disc small {
  color: var(--ink-soft);
}

.display-story,
.transparent-story {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(22rem, 0.8fr);
  background: var(--dark);
  color: var(--dark-ink);
}

.display-story__media,
.transparent-story__media {
  min-width: 0;
}

.display-story__media .media-picture,
.display-story__media img,
.transparent-story__media .media-picture,
.transparent-story__media img {
  width: 100%;
  height: 100%;
}

.display-story__media img,
.transparent-story__media img {
  object-fit: cover;
}

.display-story__media > p {
  position: absolute;
}

.display-story__copy,
.transparent-story__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(3rem, 6vw, 7rem);
}

.display-story h2,
.display-story p,
.display-story dt,
.display-story dd,
.transparent-story h2,
.transparent-story p {
  color: inherit;
}

.display-story__copy > p:not(.model-mark),
.transparent-story__copy > p:not(.model-mark) {
  max-width: 34rem;
  color: var(--dark-muted);
}

.feature-ledger {
  display: grid;
  width: 100%;
  margin-block: 2rem;
  border-block: 1px solid rgba(241, 243, 244, 0.2);
}

.feature-ledger div {
  display: grid;
  grid-template-columns: 7rem 1fr;
  padding-block: 0.7rem;
  border-bottom: 1px solid rgba(241, 243, 244, 0.14);
}

.feature-ledger div:last-child {
  border-bottom: 0;
}

.custom-colors-teaser {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
  gap: clamp(3rem, 7vw, 8rem);
  align-items: center;
  padding-block: var(--section-space);
}

.custom-colors-teaser__media {
  background: var(--dark);
  box-shadow: var(--shadow-media);
}

.custom-colors-teaser__copy p:not(.model-mark) {
  max-width: 35rem;
}

.transparent-story {
  grid-template-columns: minmax(22rem, 0.8fr) minmax(0, 1.2fr);
}

.transparent-story__copy {
  order: 0;
}

.selection-guide {
  padding-block: var(--section-space);
}

.selection-guide__steps {
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-strong);
  list-style: none;
}

.selection-guide__steps li {
  display: grid;
  grid-template-columns: 8rem minmax(15rem, 1fr) minmax(15rem, 0.7fr);
  gap: 2rem;
  align-items: baseline;
  padding-block: 1.5rem;
  border-bottom: 1px solid var(--line);
}

.selection-guide__steps span {
  color: var(--accent);
  font-family: var(--font-data);
}

.selection-guide__steps p {
  margin: 0;
}

/* Catalogue */
.catalogue-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(22rem, 0.8fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: end;
  padding-block: clamp(4rem, 8vw, 8rem);
}

.catalogue-hero__copy p:not(.model-mark) {
  max-width: 44rem;
  font-size: 1.05rem;
}

.catalogue-hero__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid var(--line-strong);
}

.catalogue-hero__stats div {
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--line);
}

.catalogue-hero__stats dt {
  color: var(--ink-soft);
  font-size: 0.76rem;
}

.catalogue-hero__stats dd {
  margin: 0.25rem 0 0;
  font-family: var(--font-data);
  font-size: clamp(1.3rem, 2vw, 2rem);
}

.catalogue-list {
  padding-block: var(--section-space);
}

.catalogue-toolbar {
  position: sticky;
  z-index: 10;
  top: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-block-end: 2rem;
  padding-block: 1rem;
  border-block: 1px solid var(--line);
  background: var(--surface-glass);
  backdrop-filter: blur(14px);
}

.catalogue-toolbar h2 {
  margin: 0;
  font-size: 1.35rem;
}

.catalogue-toolbar p {
  margin: 0.2rem 0 0;
  font-size: 0.76rem;
}

.filter-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.4rem;
}

.filter-group button {
  padding: 0.55rem 0.8rem;
  border: 1px solid var(--line);
  background: transparent;
  font-size: 0.78rem;
}

.filter-group button[aria-pressed="true"] {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--surface);
}

.compare-section,
.speaker-ledger,
.catalogue-custom {
  padding-block: var(--section-space);
}

.compare-table th:first-child {
  position: sticky;
  z-index: 1;
  left: 0;
  min-width: 9rem;
  background: var(--surface-raised);
}

.compare-table thead th:first-child {
  background: var(--surface-subtle);
}

.compare-table a,
.bulk-table a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
}

.speaker-ledger__rows {
  border-top: 1px solid var(--line-strong);
}

.speaker-ledger__rows article {
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: 2rem;
  padding-block: 1.25rem;
  border-bottom: 1px solid var(--line);
}

.speaker-ledger__rows h3,
.speaker-ledger__rows p {
  margin: 0;
}

.speaker-ledger__rows h3 {
  font-family: var(--font-data);
  font-size: 1rem;
}

.speaker-ledger__rows h3 a,
.company-profile dd a {
  display: inline-flex;
  align-items: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
}

.pricing-explainer {
  background: var(--dark);
  color: var(--dark-ink);
}

.pricing-explainer > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 8vw, 10rem);
  padding-block: var(--section-space);
}

.pricing-explainer h2,
.pricing-explainer p {
  color: inherit;
}

.pricing-explainer p {
  color: var(--dark-muted);
}

.catalogue-custom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 8vw, 10rem);
  border-bottom: 1px solid var(--line);
}

/* Product */
.product-hero {
  display: grid;
  grid-template-columns: minmax(22rem, 0.8fr) minmax(0, 1.2fr);
  min-height: calc(100svh - var(--header-height) - 3rem);
  gap: clamp(2rem, 5vw, 6rem);
  align-items: center;
  padding-block: clamp(2rem, 5vw, 5rem);
}

.product-hero__lead {
  max-width: 35rem;
  font-size: 1.08rem;
}

.product-hero__price {
  display: grid;
  gap: 0.2rem;
  margin-block: 2rem;
  padding-block: 1rem;
  border-block: 1px solid var(--line);
}

.product-hero__price span {
  color: var(--ink-soft);
  font-size: 0.76rem;
}

.product-hero__price strong {
  font-family: var(--font-data);
  font-size: 1rem;
}

.product-hero__action {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.product-hero__media .product-visual {
  min-height: min(44rem, 65vw);
  box-shadow: var(--shadow-media);
}

.product-subnav {
  position: sticky;
  z-index: 20;
  top: var(--header-height);
  overflow-x: auto;
  border-block: 1px solid var(--line);
  background: var(--surface-glass);
  backdrop-filter: blur(14px);
}

.product-subnav > div {
  display: flex;
  gap: 1.5rem;
  min-width: max-content;
}

.product-subnav a {
  display: grid;
  min-width: 2.75rem;
  min-height: 3rem;
  place-items: center;
  color: var(--ink-muted);
  font-size: 0.78rem;
  text-decoration: none;
}

.product-fact-strip {
  padding-block: clamp(3rem, 6vw, 6rem);
}

.product-fact-strip dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border-block: 1px solid var(--line-strong);
}

.product-fact-strip dl div {
  padding: 1.25rem;
  border-right: 1px solid var(--line);
}

.product-fact-strip dl div:last-child {
  border-right: 0;
}

.product-fact-strip dt {
  color: var(--ink-soft);
  font-size: 0.72rem;
}

.product-fact-strip dd {
  margin: 0.35rem 0 0;
  font-family: var(--font-data);
}

.product-fact-strip > p {
  margin-block-start: 0.7rem;
  font-size: 0.75rem;
}

.product-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(20rem, 0.8fr);
  gap: clamp(3rem, 8vw, 9rem);
  padding-block: var(--section-space);
}

.product-overview__copy > p:last-child {
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
}

.product-overview__ledger {
  padding: clamp(1.5rem, 3vw, 3rem);
  border-left: 1px solid var(--line-strong);
}

.product-overview__ledger h3 {
  font-size: 1rem;
  letter-spacing: 0;
}

.product-overview__ledger small {
  color: var(--ink-soft);
}

.sound-architecture {
  background: var(--dark);
  color: var(--dark-ink);
}

.sound-architecture > div {
  display: grid;
  grid-template-columns: minmax(18rem, 0.8fr) minmax(18rem, 1fr) minmax(18rem, 0.8fr);
  gap: clamp(2rem, 5vw, 6rem);
  align-items: center;
  min-height: 46rem;
  padding-block: var(--section-space);
}

.sound-architecture h2,
.sound-architecture p,
.sound-architecture dt,
.sound-architecture dd {
  color: inherit;
}

.sound-architecture__intro p:not(.model-mark) {
  color: var(--dark-muted);
}

.sound-architecture__visual {
  position: relative;
  display: grid;
  min-height: 24rem;
  place-items: center;
}

.sound-architecture__visual span {
  position: absolute;
  display: grid;
  width: var(--driver-size);
  height: var(--driver-size);
  translate: calc((var(--driver-index) - 1) * 4.5rem) calc((var(--driver-index) - 1) * 1.5rem);
  place-items: center;
  border: 1px solid rgba(241, 243, 244, 0.48);
  border-radius: 50%;
  background: radial-gradient(circle, #273035 0 18%, #111619 20% 47%, #2b3438 49% 52%, #0d1113 54%);
  box-shadow: 0 0 0 1rem rgba(241, 243, 244, 0.025), 0 1.5rem 4rem rgba(0, 0, 0, 0.4);
}

.sound-architecture__visual span i {
  width: 34%;
  aspect-ratio: 1;
  border: 1px solid rgba(241, 243, 244, 0.28);
  border-radius: 50%;
}

.sound-architecture__specs {
  display: grid;
  margin: 0;
  border-top: 1px solid rgba(241, 243, 244, 0.2);
}

.sound-architecture__specs div {
  display: grid;
  grid-template-columns: 7rem 1fr;
  padding-block: 1rem;
  border-bottom: 1px solid rgba(241, 243, 244, 0.16);
}

.sound-architecture__specs dt {
  color: var(--dark-muted);
  font-size: 0.76rem;
}

.sound-architecture__specs dd {
  display: grid;
  margin: 0;
}

.sound-architecture__specs dd strong {
  font-family: var(--font-data);
  font-size: 1.2rem;
}

.connectivity-panel,
.display-panel,
.product-custom-callout,
.catalogue-custom,
.packaging-boundary,
.outdoor-boundary,
.custom-boundary {
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) minmax(18rem, 1fr);
  gap: clamp(3rem, 8vw, 9rem);
  padding-block: var(--section-space);
}

.connectivity-panel dl,
.system-panel dl,
.trade-terms dl,
.terms-grid dl {
  display: grid;
  margin: 0;
  border-top: 1px solid var(--line-strong);
}

.connectivity-panel dl div,
.system-panel dl div,
.trade-terms dl div,
.terms-grid dl div {
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: 1rem;
  padding-block: 1rem;
  border-bottom: 1px solid var(--line);
}

.connectivity-panel dt,
.system-panel dt,
.trade-terms dt,
.terms-grid dt {
  color: var(--ink-soft);
  font-size: 0.78rem;
}

.connectivity-panel dd,
.system-panel dd,
.trade-terms dd,
.terms-grid dd {
  margin: 0;
}

.system-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 8vw, 9rem);
  width: min(100%, var(--content));
  margin-inline: auto;
  padding: var(--section-space) var(--gutter);
  border-block: 1px solid var(--line);
  background: var(--surface-subtle);
}

.display-panel {
  border-bottom: 1px solid var(--line);
}

.product-media-section {
  padding-block-start: var(--section-space);
}

.product-media-section > .media-gallery {
  padding: 0;
}

.product-media-section > .media-gallery > .section-heading {
  display: none;
}

.pricing-section {
  display: grid;
  grid-template-columns: minmax(20rem, 0.75fr) minmax(0, 1.25fr);
  gap: clamp(3rem, 7vw, 8rem);
  padding-block: var(--section-space);
}

.pricing-section__lead > p:not(.model-mark) {
  max-width: 36rem;
}

.retail-guidance {
  display: grid;
  gap: 0.4rem;
  margin-block-start: 2rem;
  padding-block: 1rem;
  border-block: 1px solid var(--line-strong);
}

.retail-guidance span {
  color: var(--ink-soft);
  font-size: 0.76rem;
}

.retail-guidance strong {
  font-family: var(--font-data);
}

.pricing-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  background: var(--surface-raised);
}

.pricing-table th,
.pricing-table td {
  padding: 1rem;
  border-bottom: 1px solid var(--line);
}

.pricing-table thead th {
  background: var(--surface-subtle);
  color: var(--ink-soft);
  font-size: 0.76rem;
}

.pricing-table td:nth-child(2) {
  font-family: var(--font-data);
}

.trade-terms {
  display: grid;
  grid-template-columns: minmax(18rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(3rem, 8vw, 9rem);
  padding-block: var(--section-space);
  border-block: 1px solid var(--line);
}

.product-custom-callout {
  border-bottom: 1px solid var(--line);
}

.product-inquiry {
  background: var(--dark);
  color: var(--dark-ink);
}

.product-inquiry > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
  padding-block: var(--section-space);
}

.product-inquiry h2,
.product-inquiry p {
  color: inherit;
}

.product-inquiry > div > div:first-child p:not(.model-mark) {
  color: var(--dark-muted);
}

.product-inquiry__action {
  display: grid;
  justify-items: start;
  gap: 1rem;
}

.product-summary {
  padding: 1rem;
  border: 1px solid rgba(241, 243, 244, 0.2);
  color: var(--dark-muted);
  font-size: 0.84rem;
}

.related-products {
  padding-block: var(--section-space);
}

/* Custom colors */
.custom-hero,
.about-hero,
.spaces-hero,
.service-hero {
  display: grid;
  grid-template-columns: minmax(20rem, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: center;
  padding-block: clamp(3rem, 7vw, 7rem);
}

.custom-hero__copy > p:not(.model-mark),
.about-hero__copy > p:not(.model-mark),
.spaces-hero__copy > p:not(.model-mark),
.service-hero__copy > p:not(.model-mark) {
  max-width: 38rem;
  font-size: 1.06rem;
}

.custom-hero__media,
.about-hero__media,
.spaces-hero__media,
.service-hero__media {
  box-shadow: var(--shadow-media);
}

.custom-hero__media > p,
.about-hero__media figcaption,
.spaces-hero__media figcaption,
.service-hero__media > p {
  margin: 0;
  padding-block: 0.55rem;
  color: var(--ink-soft);
  font-size: 0.72rem;
}

.custom-facts,
.space-reading {
  padding-block: clamp(3rem, 6vw, 6rem);
  border-block: 1px solid var(--line);
}

.custom-facts h2,
.space-reading h2 {
  max-width: 42rem;
}

.custom-facts dl,
.space-reading dl {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin: 2rem 0 0;
}

.space-reading dl {
  grid-template-columns: repeat(3, 1fr);
}

.custom-facts dl div,
.space-reading dl div {
  padding: 1rem;
  border-left: 1px solid var(--line);
}

.custom-facts dt,
.space-reading dt {
  color: var(--accent);
  font-family: var(--font-data);
  font-size: 0.72rem;
}

.custom-facts dd,
.space-reading dd {
  margin: 0.5rem 0 0;
}

.custom-material-story,
.materials-story {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(20rem, 0.9fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
  padding-block: var(--section-space);
}

.custom-process,
.about-principles,
.inquiry-path,
.procurement-flow,
.faq-section,
.claims-section,
.source-boundary,
.company-profile,
.terms-grid,
.bulk-pricing,
.related-products {
  padding-block: var(--section-space);
}

.custom-process ol,
.about-principles ol,
.inquiry-path ol,
.procurement-flow ol {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-strong);
  list-style: none;
}

.custom-process li,
.about-principles li,
.inquiry-path li,
.procurement-flow li {
  padding: 1.5rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.custom-process li:last-child,
.about-principles li:last-child,
.inquiry-path li:last-child,
.procurement-flow li:last-child {
  border-right: 0;
}

.custom-process li > span:first-child,
.inquiry-path li > span:first-child {
  display: block;
  margin-block-end: 2rem;
  color: var(--accent);
  font-family: var(--font-data);
  font-size: 0.72rem;
}

.custom-process li strong,
.about-principles li strong,
.inquiry-path li strong,
.procurement-flow li strong {
  display: block;
  margin-block-end: 0.7rem;
}

.custom-process li p,
.inquiry-path li p {
  margin: 0;
}

.custom-boundary {
  border-block: 1px solid var(--line);
}

/* Spaces */
.space-editorial {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
  padding-block: var(--section-space);
}

.space-editorial--reverse {
  grid-template-columns: minmax(20rem, 0.85fr) minmax(0, 1.15fr);
}

.space-editorial--reverse .space-editorial__media {
  order: 2;
}

.space-editorial__media {
  box-shadow: var(--shadow-media);
}

.space-editorial__copy p:not(.model-mark) {
  max-width: 38rem;
}

.scale-reading {
  background: var(--surface-subtle);
}

.scale-reading > div {
  display: grid;
  grid-template-columns: minmax(18rem, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(3rem, 8vw, 9rem);
  padding-block: var(--section-space);
}

.scale-reading dl {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 0;
}

.scale-reading dl div {
  padding: 1.2rem;
  border: 1px solid var(--line);
}

.scale-reading dt {
  color: var(--ink-soft);
  font-family: var(--font-data);
  font-size: 0.72rem;
}

.scale-reading dd {
  margin: 0.45rem 0 0;
  font-family: var(--font-data);
}

.scale-reading > div > p {
  grid-column: 2;
}

.outdoor-boundary {
  border-block: 1px solid var(--line);
}

.space-products {
  padding-block: var(--section-space);
}

.space-products .product-compact-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.space-products .product-compact {
  grid-template-columns: 1fr;
}

/* About */
.company-profile {
  display: grid;
  grid-template-columns: minmax(20rem, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(3rem, 8vw, 9rem);
}

.company-profile dl {
  margin: 0;
  border-top: 1px solid var(--line-strong);
}

.company-profile dl div {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: 1rem;
  padding-block: 1rem;
  border-bottom: 1px solid var(--line);
}

.company-profile dt {
  color: var(--ink-soft);
  font-size: 0.76rem;
}

.company-profile dd {
  margin: 0;
}

.family-map {
  background: var(--dark);
  color: var(--dark-ink);
}

.family-map > div {
  padding-block: var(--section-space);
}

.family-map h2,
.family-map h3,
.family-map p,
.family-map a {
  color: inherit;
}

.family-map__rows {
  margin-block-start: 4rem;
  border-top: 1px solid rgba(241, 243, 244, 0.24);
}

.family-map__rows article {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  padding-block: 2rem;
  border-bottom: 1px solid rgba(241, 243, 244, 0.18);
}

.family-map__rows article p {
  color: var(--dark-muted);
}

.family-map__rows ul {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.family-map__rows a {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(241, 243, 244, 0.12);
  text-decoration: none;
}

.materials-story__copy dl {
  margin-block: 2rem;
  border-top: 1px solid var(--line-strong);
}

.materials-story__copy dl div {
  display: grid;
  grid-template-columns: 10rem 1fr;
  padding-block: 0.8rem;
  border-bottom: 1px solid var(--line);
}

.materials-story__copy dd {
  margin: 0;
}

.claims-section__content {
  display: grid;
  grid-template-columns: minmax(16rem, 0.7fr) minmax(0, 1.3fr);
  gap: 2rem;
}

.experience-claim {
  display: grid;
  align-content: center;
  padding: 2rem;
  border: 1px solid var(--line);
  background: var(--surface-raised);
}

.experience-claim strong {
  color: var(--ink);
  font-family: var(--font-data);
  font-size: clamp(4rem, 8vw, 8rem);
  font-weight: 400;
  line-height: 1;
}

.claims-section ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-strong);
  list-style: none;
}

.claims-section li {
  display: grid;
  padding: 1.2rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.claims-section li span {
  color: var(--ink-soft);
  font-size: 0.75rem;
}

.source-boundary {
  border-block: 1px solid var(--line);
}

.source-boundary__columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.source-file {
  grid-column: 2;
  font-family: var(--font-data);
  font-size: 0.72rem;
}

/* Service */
.contact-panel {
  background: var(--dark);
  color: var(--dark-ink);
}

.contact-panel > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 8vw, 9rem);
  padding-block: var(--section-space);
}

.contact-panel h2,
.contact-panel p,
.contact-panel a,
.contact-panel strong {
  color: inherit;
}

.contact-panel > div > div p:not(.model-mark) {
  color: var(--dark-muted);
}

.contact-panel address {
  display: grid;
  border-top: 1px solid rgba(241, 243, 244, 0.24);
}

.contact-panel address > * {
  display: grid;
  margin: 0;
  padding-block: 1rem;
  border-bottom: 1px solid rgba(241, 243, 244, 0.16);
  text-decoration: none;
}

.contact-panel address span,
.contact-panel address small {
  color: var(--dark-muted);
  font-size: 0.74rem;
}

.bulk-table th,
.bulk-table td {
  min-width: 8rem;
  font-family: var(--font-data);
}

.terms-grid {
  border-block: 1px solid var(--line);
}

.terms-grid > .section-heading,
.terms-grid > dl {
  max-width: none;
}

.terms-grid dl {
  grid-template-columns: repeat(2, 1fr);
}

.terms-grid dl div {
  grid-template-columns: 9rem 1fr;
  padding: 1rem;
  border-right: 1px solid var(--line);
}

.packaging-boundary {
  border-bottom: 1px solid var(--line);
}

.packaging-boundary ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-block: 1.5rem;
  padding: 0;
  list-style: none;
}

.packaging-boundary li {
  padding: 0.4rem 0.65rem;
  border: 1px solid var(--line);
  font-size: 0.78rem;
}

.faq-list {
  border-top: 1px solid var(--line-strong);
}

.faq-list details {
  border-bottom: 1px solid var(--line);
}

.faq-list summary {
  min-height: 4rem;
  padding: 1.2rem 2.5rem 1.2rem 0;
  font-weight: 600;
}

.faq-list p {
  max-width: 50rem;
  padding-block-end: 1.2rem;
}

/* Utility pages */
.not-found,
.legacy-page {
  display: grid;
  min-height: 68svh;
  place-content: center;
  padding-block: var(--section-space);
  text-align: center;
}

.not-found__record {
  position: relative;
  width: 11rem;
  aspect-ratio: 1;
  margin: 0 auto 2rem;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: repeating-radial-gradient(circle, var(--surface-subtle) 0 4px, var(--surface) 5px 7px);
}

.not-found__record span {
  position: absolute;
  inset: 37%;
  border-radius: 50%;
  background: var(--accent);
}

.not-found__code {
  margin: 0;
  color: var(--accent);
  font-family: var(--font-data);
}

@media (max-width: 1023px) {
  .home-hero,
  .display-story,
  .transparent-story,
  .product-hero,
  .custom-hero,
  .about-hero,
  .spaces-hero,
  .service-hero,
  .catalogue-hero,
  .product-overview,
  .pricing-section,
  .trade-terms,
  .company-profile,
  .custom-material-story,
  .materials-story,
  .space-editorial,
  .space-editorial--reverse,
  .scale-reading > div,
  .contact-panel > div {
    grid-template-columns: 1fr;
  }

  .home-hero__media {
    min-height: 50svh;
  }

  .home-hero__media::after {
    background: linear-gradient(180deg, var(--dark), transparent 25%);
  }

  .home-hero__scroll {
    display: none;
  }

  .display-story__copy,
  .transparent-story__copy {
    order: 0;
  }

  .display-story__media,
  .transparent-story__media {
    min-height: 34rem;
  }

  .space-editorial--reverse .space-editorial__media {
    order: 0;
  }

  .sound-architecture > div {
    grid-template-columns: 1fr 1fr;
  }

  .sound-architecture__visual {
    grid-row: span 2;
  }

  .space-products .product-compact-grid {
    grid-template-columns: 1fr;
  }

  .scale-reading > div > p,
  .source-file {
    grid-column: auto;
  }
}

@media (max-width: 767px) {
  .home-hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .home-hero__copy {
    min-height: calc(74svh - var(--header-height));
    padding-block: 4rem;
  }

  .home-hero h1 {
    font-size: clamp(3.2rem, 17vw, 5.5rem);
  }

  .home-hero__media {
    min-height: 70vw;
  }

  .model-index__list a {
    grid-template-columns: 2rem 5rem 1fr auto;
    gap: 0.6rem;
    padding-block: 1rem;
  }

  .model-index__list em {
    grid-column: 2 / 5;
  }

  .model-index__list small {
    grid-column: 2 / 5;
  }

  .model-index__list svg {
    grid-column: 4;
    grid-row: 1;
  }

  .fact-ribbon > div {
    grid-template-columns: repeat(2, 1fr);
  }

  .fact-ribbon p {
    padding: 1rem;
    border-bottom: 1px solid var(--line);
  }

  .twin-scale,
  .custom-colors-teaser,
  .pricing-explainer > div,
  .catalogue-custom,
  .connectivity-panel,
  .display-panel,
  .product-custom-callout,
  .packaging-boundary,
  .outdoor-boundary,
  .custom-boundary,
  .system-panel,
  .product-inquiry > div,
  .source-boundary,
  .claims-section__content {
    grid-template-columns: 1fr;
  }

  .twin-scale__stage {
    min-height: 23rem;
  }

  .display-story__copy,
  .transparent-story__copy {
    padding: 3rem var(--gutter);
  }

  .display-story__media,
  .transparent-story__media {
    min-height: 85vw;
  }

  .selection-guide__steps li {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .catalogue-toolbar {
    position: static;
    align-items: flex-start;
    flex-direction: column;
  }

  .filter-group {
    justify-content: flex-start;
  }

  .speaker-ledger__rows article {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .product-hero {
    padding-block-start: 2rem;
  }

  .product-hero__media .product-visual {
    min-height: 24rem;
  }

  .product-fact-strip dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-fact-strip dl div:nth-child(2) {
    border-right: 0;
  }

  .product-fact-strip dl div {
    border-bottom: 1px solid var(--line);
  }

  .sound-architecture > div {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .sound-architecture__visual {
    grid-row: auto;
  }

  .connectivity-panel dl div,
  .system-panel dl div,
  .trade-terms dl div,
  .terms-grid dl div {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .custom-facts dl,
  .space-reading dl {
    grid-template-columns: 1fr;
  }

  .custom-facts dl div,
  .space-reading dl div {
    border-bottom: 1px solid var(--line);
  }

  .custom-process ol,
  .about-principles ol,
  .inquiry-path ol,
  .procurement-flow ol {
    grid-template-columns: 1fr;
  }

  .custom-process li,
  .about-principles li,
  .inquiry-path li,
  .procurement-flow li {
    border-right: 0;
  }

  .scale-reading dl,
  .source-boundary__columns,
  .family-map__rows article,
  .claims-section ul,
  .terms-grid dl {
    grid-template-columns: 1fr;
  }

  .company-profile dl div,
  .materials-story__copy dl div {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .family-map__rows article {
    gap: 1rem;
  }
}

/* shell-v5.css */
.site-header {
  position: sticky;
  z-index: var(--z-header);
  top: 0;
  height: var(--header-height);
  border-bottom: 1px solid var(--line);
  background: var(--header-surface);
  backdrop-filter: none;
}

.site-header__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  width: min(100%, calc(var(--content) + 2 * var(--gutter)));
  height: 100%;
  margin-inline: auto;
  padding-inline: var(--gutter);
  gap: clamp(1rem, 2vw, 2.5rem);
}

.brand {
  display: inline-flex;
  width: max-content;
  min-height: var(--control-height);
  align-items: center;
  gap: 0;
  color: var(--ink);
  text-decoration: none;
}

.brand__text {
  display: flex;
  align-items: baseline;
  gap: 0.68rem;
  line-height: 1;
}

.brand__text strong {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: 0.98rem;
  font-weight: 460;
  letter-spacing: 0.085em;
  white-space: nowrap;
}

.brand__text small {
  margin: 0;
  padding-inline-start: 0.68rem;
  border-inline-start: 1px solid var(--line-strong);
  color: var(--ink-soft);
  font-family: var(--font-body);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1;
  white-space: nowrap;
}

.primary-nav {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: clamp(0.7rem, 1.35vw, 1.55rem);
}

.primary-nav a {
  position: relative;
  display: inline-grid;
  min-width: 0;
  min-height: var(--control-height);
  padding: 0.45rem 0.12rem;
  place-items: center;
  color: var(--ink-muted);
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.055em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--transition-fast) var(--ease-out);
}

.primary-nav a::after {
  position: absolute;
  inset: auto 0 0.18rem;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left;
  background: var(--accent);
  content: "";
  transition: transform var(--transition-fast) var(--ease-out);
}

.primary-nav a:hover,
.primary-nav a[aria-current="page"] {
  color: var(--ink);
}

.primary-nav a:hover::after,
.primary-nav a[aria-current="page"]::after {
  transform: scaleX(1);
}

.site-header__tools {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
}

[data-market-switcher] {
  position: relative;
}

[data-market-trigger],
.theme-toggle,
.nav-toggle {
  min-height: var(--control-height);
  border: 0;
  border-radius: var(--radius-xs);
  background: transparent;
  color: var(--ink);
}

[data-market-trigger] {
  min-width: auto;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  padding: 0.5rem 0.68rem;
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-variant-numeric: tabular-nums;
  font-weight: 650;
  letter-spacing: 0.065em;
  line-height: 1;
  white-space: nowrap;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

[data-market-trigger]::after {
  width: 0.34rem;
  height: 0.34rem;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  content: "";
  transform: translateY(-0.11rem) rotate(45deg);
  transition: transform var(--transition-fast) var(--ease-out);
}

[data-market-trigger]:hover,
[data-market-switcher].is-open [data-market-trigger],
.theme-toggle:hover,
.nav-toggle:hover {
  background: var(--surface-subtle);
  color: var(--accent-hover);
}

[data-market-switcher].is-open [data-market-trigger]::after {
  transform: translateY(0.1rem) rotate(225deg);
}

[data-market-panel] {
  position: absolute;
  z-index: calc(var(--z-dialog) + 1);
  inset: calc(100% + 0.6rem) 0 auto auto;
  width: min(29rem, calc(100vw - 2rem));
  max-height: min(40rem, calc(100dvh - var(--header-height) - 2rem));
  overflow-y: auto;
  padding: 1.45rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-xs);
  background: var(--surface-raised);
  box-shadow: var(--shadow-soft);
  color: var(--ink);
  animation: shell-market-in var(--transition-fast) var(--ease-out) both;
}

.market-switcher__panel-head {
  display: flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-inline-end: 3.4rem;
}

.market-switcher__panel-head h2 {
  margin: 0;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: 1.18rem;
  font-weight: 460;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

[data-market-close] {
  position: absolute;
  inset: 0.78rem 0.78rem auto auto;
  display: inline-grid;
  width: var(--control-height);
  min-width: var(--control-height);
  height: var(--control-height);
  min-height: var(--control-height);
  place-items: center;
  border: 0;
  border-radius: var(--radius-xs);
  background: transparent;
  color: var(--ink);
}

[data-market-close]::before,
[data-market-close]::after {
  position: absolute;
  width: 0.95rem;
  height: 1px;
  background: currentColor;
  content: "";
}

[data-market-close]::before {
  transform: rotate(45deg);
}

[data-market-close]::after {
  transform: rotate(-45deg);
}

[data-market-close]:hover {
  background: var(--surface-subtle);
  color: var(--accent-hover);
}

.market-switcher__form {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.15rem;
  padding-block-start: 1.15rem;
  border-top: 1px solid var(--line);
}

.market-switcher__field {
  display: grid;
  gap: 0.48rem;
}

.market-switcher__field > span {
  color: var(--ink-soft);
  font-family: var(--font-body);
  font-size: 0.67rem;
  font-weight: 650;
  letter-spacing: 0.105em;
  text-transform: uppercase;
}

.market-switcher__field select {
  width: 100%;
  min-height: 3rem;
  padding: 0.72rem 0.82rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-xs);
  appearance: auto;
  background-color: var(--surface-raised);
  background-image: none;
  color: var(--ink);
  line-height: 1.25;
  transition: border-color var(--transition-fast), background-color var(--transition-fast);
}

.market-switcher__field select:hover {
  border-color: var(--accent);
  background-color: var(--surface);
}

.market-switcher__apply {
  width: 100%;
  min-height: 3rem;
  margin-block-start: 0.15rem;
  border-radius: var(--radius-xs);
  background: var(--accent);
  color: var(--accent-ink);
}

.market-switcher__apply:hover {
  background: var(--accent-hover);
  color: var(--accent-ink);
}

.market-switcher__note {
  margin: 1rem 0 0;
  padding-block-start: 1rem;
  border-top: 1px solid var(--line);
  color: var(--ink-soft);
  font-size: 0.76rem;
  line-height: 1.55;
}

.market-noscript {
  min-height: var(--control-height);
  font-family: var(--font-body);
  font-size: 0.68rem;
}

.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.38rem;
  padding: 0.5rem 0.62rem;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.085em;
  line-height: 1;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.theme-toggle__label {
  color: var(--ink-soft);
}

.theme-toggle__divider {
  color: var(--metal);
}

.theme-toggle__state--dark {
  display: none;
}

:root[data-theme="dark"] .theme-toggle__state--light {
  display: none;
}

:root[data-theme="dark"] .theme-toggle__state--dark {
  display: inline;
}

.header-action {
  display: inline-grid;
  min-height: var(--control-height);
  padding-inline: 0.9rem;
  place-items: center;
  border: 1px solid var(--accent);
  border-radius: var(--radius-xs);
  background: var(--accent);
  color: var(--accent-ink);
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.045em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.header-action:hover {
  border-color: var(--accent-hover);
  background: var(--accent-hover);
  color: var(--accent-ink);
}

.nav-toggle {
  display: none;
  grid-template-columns: auto 1rem;
  align-items: center;
  gap: 0.58rem;
  padding-inline: 0.72rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.nav-toggle__lines {
  display: grid;
  gap: 0.28rem;
}

.nav-toggle__lines i {
  display: block;
  width: 1rem;
  height: 1px;
  background: currentColor;
  transition: transform var(--transition-fast) var(--ease-out);
}

.site-header.is-nav-open .nav-toggle__lines i:first-child {
  transform: translateY(0.14rem) rotate(45deg);
}

.site-header.is-nav-open .nav-toggle__lines i:last-child {
  transform: translateY(-0.14rem) rotate(-45deg);
}

@keyframes shell-market-in {
  from {
    opacity: 0;
    transform: translateY(-0.3rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.site-footer {
  border-top: 1px solid rgba(237, 245, 246, 0.14);
  background: var(--footer-surface);
  color: var(--footer-ink);
}

.site-footer h2,
.site-footer h3,
.site-footer p,
.site-footer a,
.site-footer span,
.site-footer strong,
.site-footer small {
  color: inherit;
}

.site-footer a {
  min-height: var(--control-height);
}

.site-footer__callout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(2rem, 6vw, 7rem);
  padding-block: clamp(3.5rem, 6vw, 6rem);
  border-bottom: 1px solid rgba(237, 245, 246, 0.15);
}

.site-footer__callout p {
  max-width: 18ch;
  margin: 0;
  color: var(--footer-ink);
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 4.5vw, 4.8rem);
  font-weight: 460;
  letter-spacing: -0.035em;
  line-height: 1.02;
  text-wrap: balance;
}

.site-footer__inquiry {
  display: inline-grid;
  min-width: 9rem;
  padding: 0.72rem 1.2rem;
  place-items: center;
  border: 1px solid var(--accent-bright);
  border-radius: var(--radius-xs);
  background: var(--accent-bright);
  color: #041217 !important;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.045em;
  line-height: 1;
  text-decoration: none;
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.site-footer__inquiry:hover {
  border-color: var(--footer-ink);
  background: var(--footer-ink);
  color: var(--footer-surface) !important;
}

.site-footer__wordmark {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  padding-block: clamp(3.8rem, 7vw, 7rem) clamp(2.6rem, 4vw, 4rem);
  border-bottom: 1px solid rgba(237, 245, 246, 0.15);
}

.site-footer__wordmark h2 {
  margin: 0;
  color: var(--footer-ink);
  font-family: var(--font-display);
  font-size: clamp(3.8rem, 9vw, 6rem);
  font-weight: 460;
  letter-spacing: -0.04em;
  line-height: 0.86;
}

.site-footer__wordmark p {
  margin: 0;
  color: var(--footer-muted);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  line-height: 1;
}

.site-footer__main {
  display: grid;
  grid-template-columns: 1.05fr 1fr 1fr minmax(16rem, 1.55fr);
  gap: clamp(2rem, 4vw, 5rem);
  padding-block: clamp(3.5rem, 6vw, 6rem);
}

.site-footer__main h3 {
  margin: 0 0 1.1rem;
  color: var(--footer-muted);
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1.2;
  text-transform: uppercase;
}

.site-footer ul {
  display: grid;
  gap: 0.14rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__models a,
.site-footer__links a,
.site-footer__company a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--footer-ink);
  font-size: 0.88rem;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.35rem;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

.site-footer__models a {
  grid-template-columns: none;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.035em;
}

.site-footer__models a:hover,
.site-footer__links a:hover,
.site-footer__company a:hover,
.site-footer__contact a:hover,
.site-footer__facts a:hover {
  color: var(--accent-bright);
  text-decoration-color: currentColor;
}

.site-footer__contact address {
  display: grid;
  gap: 0.32rem;
}

.site-footer__contact address > * {
  display: inline-flex;
  width: fit-content;
  max-width: 44ch;
  min-height: var(--control-height);
  align-items: center;
  margin: 0;
  color: var(--footer-ink);
  font-size: 0.84rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
  text-decoration-color: transparent;
}

.site-footer__contact address > span {
  min-height: 0;
  color: var(--footer-muted);
}

.site-footer__facts {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem 2rem;
  padding-block: 1.35rem;
  border-top: 1px solid rgba(237, 245, 246, 0.15);
}

.site-footer__facts p {
  margin: 0;
  color: var(--footer-muted);
  font-size: 0.75rem;
  line-height: 1.55;
}

.site-footer__facts p:first-child {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.28rem;
}

.site-footer__facts a {
  display: inline-flex;
  align-items: center;
  color: var(--footer-ink);
  font-size: 0.76rem;
  text-decoration-color: transparent;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

@media (max-width: 1180px) {
  html.has-open-navigation {
    overflow: hidden;
  }

  .site-header__inner {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .primary-nav {
    position: fixed;
    inset: var(--header-height) 0 0;
    display: none;
    max-height: calc(100dvh - var(--header-height));
    overflow-y: auto;
    padding: 1.5rem var(--gutter) max(2rem, env(safe-area-inset-bottom));
    border-bottom: 1px solid var(--line);
    background: var(--surface-raised);
  }

  .primary-nav.is-open {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 0;
  }

  .primary-nav a {
    min-height: 4rem;
    justify-items: start;
    padding: 1rem 0;
    border-bottom: 1px solid var(--line);
    font-size: 1rem;
  }

  .primary-nav a::after {
    content: none;
  }

  .site-header__tools {
    justify-self: end;
  }

  .nav-toggle {
    display: grid;
  }

  .site-footer__main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-footer__facts {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .site-footer__facts p:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  :root {
    --header-height: 4rem;
  }

  .site-header__inner {
    gap: 0.5rem;
  }

  .brand__text strong {
    font-size: 0.8rem;
    letter-spacing: 0.07em;
  }

  .brand__text small,
  .header-action,
  .nav-toggle__label,
  .theme-toggle__label,
  .theme-toggle__divider {
    display: none;
  }

  .theme-toggle,
  .nav-toggle {
    width: var(--control-height);
    min-width: var(--control-height);
    padding-inline: 0;
  }

  .nav-toggle {
    grid-template-columns: 1rem;
  }

  [data-market-trigger] {
    padding-inline: 0.5rem;
    font-size: 0.63rem;
  }

  [data-market-panel] {
    position: fixed;
    inset: 0;
    width: 100%;
    max-height: 100dvh;
    min-height: 100dvh;
    padding: max(1.25rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    border: 0;
    border-radius: 0;
    background: var(--surface-raised);
    box-shadow: none;
    animation-name: shell-market-sheet-in;
  }

  .market-switcher__panel-head h2 {
    max-width: 18rem;
    font-size: clamp(1.75rem, 8vw, 2.4rem);
  }

  [data-market-close] {
    inset: max(0.75rem, env(safe-area-inset-top)) max(0.75rem, env(safe-area-inset-right)) auto auto;
  }

  .market-switcher__form {
    margin-block-start: 1.65rem;
    padding-block-start: 1.3rem;
  }

  .market-switcher__field select,
  .market-switcher__apply {
    min-height: 3.25rem;
    padding: 0.85rem;
    font-size: 0.88rem;
  }

  .primary-nav.is-open {
    grid-template-columns: 1fr;
  }

  .primary-nav a {
    min-height: 4.5rem;
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 7vw, 2rem);
    font-weight: 460;
    letter-spacing: -0.02em;
  }

  .site-footer__callout {
    grid-template-columns: 1fr;
    align-items: start;
    padding-block: 3.5rem;
  }

  .site-footer__callout p {
    max-width: 15ch;
    font-size: clamp(2.15rem, 10vw, 3.4rem);
  }

  .site-footer__inquiry {
    width: min(100%, 18rem);
  }

  .site-footer__wordmark {
    display: grid;
    align-items: start;
    padding-block: 3.6rem 2.8rem;
  }

  .site-footer__wordmark h2 {
    font-size: clamp(3.5rem, 19vw, 5rem);
  }

  .site-footer__main {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding-block: 3.2rem;
  }

  .site-footer__facts {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 0.7rem;
  }

  .site-footer__facts p:first-child {
    grid-column: auto;
  }
}

@media (max-width: 360px) {
  .site-header__inner {
    padding-inline: 0.75rem;
  }

  .market-switcher__trigger > span:first-child,
  .market-switcher__trigger > span:nth-child(2) {
    display: none;
  }

  .site-header__tools {
    gap: 0.12rem;
  }
}

@keyframes shell-market-sheet-in {
  from {
    opacity: 0;
    transform: translateY(0.75rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .primary-nav a::after,
  .nav-toggle__lines i,
  [data-market-trigger]::after,
  [data-market-panel] {
    transition-duration: 0.01ms;
    animation-duration: 0.01ms;
  }
}

@media (forced-colors: active) {
  .site-header,
  .site-footer,
  [data-market-panel],
  .site-footer__inquiry,
  .header-action,
  .theme-toggle,
  .nav-toggle,
  [data-market-trigger] {
    border-color: ButtonText;
    forced-color-adjust: auto;
  }
}

/* product-v5.css */
/* v5 product stage and long-form detail pages */
.page-product main {
  overflow: clip;
}

.product-visual--pending {
  background: var(--dark);
}

.product-visual__pending-copy {
  display: grid;
  width: min(72%, 28rem);
  gap: 0.4rem;
  padding-block: 1.35rem;
  border-block: 1px solid rgba(237, 245, 246, 0.26);
  text-align: left;
}

.product-visual__pending-copy span,
.product-visual__pending-copy small {
  color: var(--dark-muted);
  font-family: var(--font-data);
  font-size: 0.75rem;
}

.product-visual__pending-copy strong {
  color: var(--dark-ink);
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.8rem);
  font-weight: 460;
  letter-spacing: -0.025em;
}

.product-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.38fr) minmax(20rem, 0.82fr);
  min-height: calc(100svh - var(--header-height) - 3.5rem);
  gap: clamp(2rem, 5vw, 6.5rem);
  align-items: center;
  padding-block: clamp(1.5rem, 4vw, 4.5rem);
}

.product-stage__media {
  min-width: 0;
  align-self: stretch;
}

.product-stage__media .product-visual {
  height: 100%;
  min-height: min(44rem, calc(100svh - var(--header-height) - 5rem));
  overflow: hidden;
  background: var(--dark);
  box-shadow: var(--shadow-media);
}

.product-stage__media .product-visual__image {
  object-fit: contain;
  padding: clamp(1rem, 3vw, 3.5rem);
}

.product-stage__copy {
  max-width: 33rem;
  padding-block: 2rem;
}

.product-stage h1 {
  display: grid;
  gap: 0.45rem;
  margin-block-end: clamp(1.5rem, 3vw, 2.5rem);
}

.product-stage__model {
  font-size: clamp(4.2rem, 7vw, 6rem);
  letter-spacing: -0.04em;
  line-height: 0.86;
}

.product-stage__name {
  max-width: 28ch;
  color: var(--ink-muted);
  font-size: clamp(1.4rem, 2.25vw, 2.35rem);
  letter-spacing: -0.025em;
  line-height: 1.12;
}

.product-stage__lead {
  max-width: 30rem;
  font-size: clamp(1rem, 1.3vw, 1.16rem);
}

.product-stage__lead strong {
  display: block;
  margin-block-end: 0.45rem;
  color: var(--ink);
  font-weight: 650;
}

.product-stage__price {
  display: grid;
  gap: 0.35rem;
  margin-block: clamp(1.5rem, 3vw, 2.35rem);
  padding-block: 1rem;
  border-block: 1px solid var(--line-strong);
}

.product-stage__price span,
.retail-guidance span {
  color: var(--ink-soft);
  font-size: 0.78rem;
}

.product-stage__price strong,
.retail-guidance strong {
  font-family: var(--font-data);
  font-size: 0.98rem;
  font-variant-numeric: tabular-nums;
}

.product-stage__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.25rem;
  align-items: center;
}

.product-stage .boundary-note {
  margin-block: 1.25rem 0;
  max-width: 31rem;
}

.product-subnav {
  position: sticky;
  z-index: calc(var(--z-header) - 1);
  top: var(--header-height);
  overflow-x: auto;
  border-block: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  backdrop-filter: blur(14px);
  scrollbar-width: thin;
}

.product-subnav .section-shell {
  display: flex;
  min-width: max-content;
  gap: clamp(1.2rem, 3vw, 3rem);
}

.product-subnav a {
  display: grid;
  min-width: 2.75rem;
  min-height: 3.25rem;
  place-items: center;
  color: var(--ink-muted);
  font-size: 0.79rem;
  font-weight: 620;
  text-decoration: none;
}

.product-subnav a:hover,
.product-subnav a:focus-visible {
  color: var(--accent);
}

.product-keyfacts {
  padding-block: clamp(3rem, 6vw, 6rem);
}

.product-keyfacts dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border-block: 1px solid var(--line-strong);
}

.product-keyfacts dl > div {
  padding: clamp(1rem, 2vw, 1.75rem);
  border-inline-end: 1px solid var(--line);
}

.product-keyfacts dl > div:last-child {
  border-inline-end: 0;
}

.product-keyfacts dt,
.engineering-ledger dt,
.commerce-section__terms dt {
  color: var(--ink-soft);
  font-size: 0.76rem;
}

.product-keyfacts dd {
  margin: 0.4rem 0 0;
  font-family: var(--font-data);
  font-size: clamp(0.84rem, 1vw, 0.98rem);
  font-variant-numeric: tabular-nums;
}

.product-keyfacts > p {
  margin-block: 0.8rem 0;
  color: var(--ink-soft);
  font-size: 0.78rem;
}

.product-story {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: start;
  padding-block: var(--section-space);
}

.product-story__copy p {
  max-width: 43rem;
  font-size: clamp(1.08rem, 1.55vw, 1.32rem);
}

.page-product .source-boundary {
  padding-block: 1.25rem;
  border-block: 1px solid var(--line-strong);
}

.page-product .source-boundary h3 {
  font-size: clamp(1.15rem, 1.7vw, 1.55rem);
  letter-spacing: -0.02em;
}

.page-product .source-boundary ul {
  margin-block: 1.25rem;
  color: var(--ink-muted);
}

.page-product .source-boundary small {
  color: var(--ink-soft);
}

.engineering-section {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding: var(--section-space) max(var(--gutter), calc((100vw - var(--content)) / 2 + var(--gutter))) clamp(2rem, 4vw, 4rem);
  overflow: hidden;
  background: var(--surface-raised);
  color: var(--ink);
}

.engineering-section h2,
.engineering-section h3,
.engineering-section p,
.engineering-section dt,
.engineering-section dd {
  color: inherit;
}

.engineering-section__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
  margin-block-end: clamp(4rem, 8vw, 8rem);
}

.engineering-section__intro p {
  max-width: 34rem;
  color: var(--ink-muted);
}

.engineering-group {
  display: grid;
  grid-template-columns: minmax(17rem, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(2.5rem, 8vw, 9rem);
  align-items: center;
  padding-block: clamp(3rem, 6vw, 6rem);
  border-top: 1px solid var(--line);
}

.engineering-group:last-child {
  padding-block-end: 0;
}

.engineering-group__heading {
  max-width: 36rem;
}

.engineering-group__heading p,
.engineering-group .boundary-note {
  color: var(--ink-muted);
}

.engineering-ledger {
  display: grid;
  margin: 0;
}

.engineering-ledger > div {
  display: grid;
  grid-template-columns: minmax(7rem, 0.55fr) minmax(0, 1.45fr);
  gap: 1rem;
  padding-block: 1rem;
  border-bottom: 1px solid var(--line);
}

.engineering-ledger > div:first-child {
  border-top: 1px solid var(--line);
}

.engineering-ledger dt {
  color: var(--ink-soft);
}

.engineering-ledger dd {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin: 0;
  font-variant-numeric: tabular-nums;
}

.engineering-ledger dd strong {
  color: var(--ink);
  font-family: var(--font-data);
  font-size: clamp(1rem, 1.4vw, 1.25rem);
}

.engineering-ledger dd span {
  color: var(--ink-muted);
}

.driver-orbit {
  position: relative;
  width: min(100%, 30rem);
  aspect-ratio: 1;
  margin-inline: auto;
  border: 1px solid color-mix(in srgb, var(--accent-bright) 42%, transparent);
  border-radius: 50%;
  animation: v5-orbit 22s linear infinite;
  animation-play-state: paused;
}

.driver-orbit[data-motion-active="true"] {
  animation-play-state: running;
}

.driver-orbit::before,
.driver-orbit::after {
  position: absolute;
  content: '';
  border: 1px solid var(--line);
  border-radius: 50%;
}

.driver-orbit::before {
  inset: 16%;
}

.driver-orbit::after {
  inset: 35%;
  background: var(--surface-subtle);
}

.driver-orbit > span {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  display: grid;
  width: clamp(2.8rem, var(--driver-size), 7.2rem);
  aspect-ratio: 1;
  translate: -50% -50%;
  transform: rotate(calc(var(--driver-index) * 118deg)) translateX(clamp(6.5rem, 14vw, 11rem));
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: var(--surface);
}

.driver-orbit > span i {
  width: 34%;
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, var(--accent-bright) 54%, transparent);
  border-radius: 50%;
}

@keyframes v5-orbit {
  to { rotate: 1turn; }
}

.product-media-section {
  padding-block: clamp(5rem, 8vw, 8rem) var(--section-space);
}

.product-media-section__heading {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-block-end: clamp(2.5rem, 5vw, 5rem);
  max-width: 60rem;
}

.product-media-section__heading p {
  max-width: 38rem;
}

.product-media-section > .media-gallery {
  padding: 0;
}

.product-media-section > .media-gallery > .section-heading {
  display: none;
}

.product-media__video {
  margin-block-start: clamp(4rem, 8vw, 8rem);
}

.commerce-section {
  display: grid;
  grid-template-columns: minmax(19rem, 0.68fr) minmax(0, 1.32fr);
  gap: clamp(3rem, 7vw, 8rem);
  align-items: start;
  padding-block: var(--section-space);
  border-block: 1px solid var(--line-strong);
}

.commerce-section__lead {
  position: sticky;
  top: calc(var(--header-height) + 5rem);
}

.retail-guidance {
  display: grid;
  gap: 0.35rem;
  margin-block-start: 2rem;
  padding-block: 1rem;
  border-block: 1px solid var(--line-strong);
}

.pricing-table-wrap {
  min-width: 0;
  overflow-x: auto;
  border: 1px solid var(--line-strong);
  background: var(--surface-raised);
  box-shadow: inset -2.5rem 0 2rem -2.8rem var(--ink-soft);
}

.pricing-table {
  min-width: 42rem;
}

.pricing-table th,
.pricing-table td {
  padding: clamp(0.85rem, 1.5vw, 1.2rem);
  border-bottom: 1px solid var(--line);
}

.pricing-table thead th {
  background: var(--surface-subtle);
  color: var(--ink-soft);
  font-size: 0.76rem;
}

.pricing-table td:nth-child(2) {
  font-family: var(--font-data);
  font-variant-numeric: tabular-nums;
}

.commerce-section__terms {
  grid-column: 2;
  margin-block-start: clamp(1rem, 3vw, 2.5rem);
}

.commerce-section__terms dl {
  display: grid;
  margin: 0;
  border-top: 1px solid var(--line-strong);
}

.commerce-section__terms dl > div {
  display: grid;
  grid-template-columns: minmax(8rem, 0.4fr) minmax(0, 1.6fr);
  gap: 1rem;
  padding-block: 1rem;
  border-bottom: 1px solid var(--line);
}

.commerce-section__terms dd {
  margin: 0;
}

.commerce-section > .market-disclosure {
  grid-column: 2;
}

.product-custom-callout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) auto;
  gap: 2rem;
  align-items: center;
  padding-block: clamp(4rem, 7vw, 7rem);
  border-bottom: 1px solid var(--line-strong);
}

.product-custom-callout p {
  max-width: 48rem;
}

.product-inquiry {
  --focus: var(--accent-ink);
  background: var(--accent);
  color: var(--accent-ink);
}

.product-inquiry > .section-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(21rem, 1fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
  padding-block: var(--section-space);
}

.product-inquiry h2,
.product-inquiry p,
.product-inquiry .text-link {
  color: inherit;
}

.page-product .product-inquiry > .section-shell > div:first-child p:not(.model-mark) {
  color: var(--accent-ink);
  opacity: 0.82;
}

.product-inquiry__action {
  display: grid;
  justify-items: start;
  gap: 1rem;
}

.product-summary {
  padding: 1rem 0;
  border-block: 1px solid color-mix(in srgb, var(--accent-ink) 42%, transparent);
  color: inherit;
  font-size: 0.86rem;
}

.related-products {
  display: grid;
  grid-template-columns: minmax(14rem, 0.3fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: start;
  padding-block: var(--section-space);
}

.related-products > div:first-child p {
  max-width: 21rem;
}

@media (max-width: 63.99rem) {
  .product-stage {
    grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
    min-height: auto;
    gap: clamp(1.5rem, 4vw, 3rem);
  }

  .product-stage__media .product-visual {
    min-height: 34rem;
  }

  .product-story,
  .engineering-section__intro,
  .product-media-section__heading,
  .commerce-section,
  .related-products {
    grid-template-columns: 1fr;
  }

  .commerce-section__lead {
    position: static;
  }

  .commerce-section__terms,
  .commerce-section > .market-disclosure {
    grid-column: auto;
  }
}

@media (max-width: 47.99rem) {
  .product-subnav {
    box-shadow: inset -1.5rem 0 1.25rem -1.25rem var(--ink-soft);
  }

  .product-subnav .section-shell {
    gap: 1rem;
    padding-inline-end: 3.75rem;
  }

  .product-stage {
    grid-template-columns: 1fr;
    padding-block-start: 1rem;
  }

  .product-stage__media .product-visual {
    min-height: clamp(16rem, 74vw, 23rem);
  }

  .product-stage__media .product-visual__image {
    padding: 1rem;
  }

  .product-stage__copy {
    max-width: none;
    padding-block: 1rem 2.5rem;
  }

  .product-stage__model {
    font-size: clamp(3.8rem, 18vw, 5.5rem);
  }

  .product-stage__actions .button {
    width: 100%;
  }

  .product-keyfacts dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-keyfacts dl > div:nth-child(2) {
    border-inline-end: 0;
  }

  .product-keyfacts dl > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

  .product-story {
    grid-template-columns: 1fr;
  }

  .engineering-section {
    padding-inline: var(--gutter);
  }

  .engineering-group {
    grid-template-columns: 1fr;
  }

  .driver-orbit {
    width: min(82vw, 24rem);
  }

  .driver-orbit > span {
    transform: rotate(calc(var(--driver-index) * 118deg)) translateX(clamp(5.2rem, 25vw, 8.8rem));
  }

  .engineering-ledger > div,
  .commerce-section__terms dl > div {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .product-custom-callout,
  .product-inquiry > .section-shell {
    grid-template-columns: 1fr;
  }

  .product-custom-callout .button {
    width: 100%;
  }

  .product-compact-grid {
    grid-template-columns: 1fr;
  }
}

.page-product :is(#overview, #sound, #system, #gallery, #pricing, #inquiry) {
  scroll-margin-top: calc(var(--header-height) + 4.5rem);
}

@media (max-width: 23.5rem) {
  .product-keyfacts dl {
    grid-template-columns: 1fr;
  }

  .product-keyfacts dl > div {
    border-inline-end: 0;
    border-bottom: 1px solid var(--line);
  }

  .product-keyfacts dl > div:last-child {
    border-bottom: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .driver-orbit {
    animation: none;
  }
}

@media (forced-colors: active) {
  .driver-orbit,
  .driver-orbit::before,
  .driver-orbit::after,
  .driver-orbit > span,
  .driver-orbit > span i {
    border-color: CanvasText;
  }
}

/* content-v5.css */
/* V5 long-form content pages: one visual system, five distinct reading tasks. */

:where(.page-catalogue, .page-custom-colors, .page-spaces, .page-about, .page-service) main {
  overflow: clip;
}

:where(.page-catalogue, .page-custom-colors, .page-spaces, .page-about, .page-service) .page-code,
.space-editorial__index {
  margin: 0 0 1.25rem;
  color: var(--accent);
  font-family: var(--font-data);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
}

.content-chapter {
  display: grid;
  grid-template-columns: clamp(3rem, 6vw, 6rem) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 3rem);
  align-items: start;
  margin-block-end: clamp(2rem, 5vw, 4.5rem);
  padding-block-start: 1.1rem;
  border-top: 1px solid var(--line-strong);
}

.content-chapter > span {
  color: var(--accent);
  font-family: var(--font-data);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.content-chapter > div {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(14rem, 0.8fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  align-items: end;
}

.content-chapter h2,
.content-chapter p {
  margin-block-end: 0;
}

.content-chapter p {
  max-width: 34rem;
  justify-self: end;
}

/* Shared dark hero foundation. */
.catalogue-hero,
.custom-hero,
.spaces-hero,
.about-hero,
.service-hero {
  position: relative;
  isolation: isolate;
  min-height: min(52rem, calc(100svh - var(--header-height)));
  color: var(--v5-silver);
}

.catalogue-hero::before,
.custom-hero::before,
.spaces-hero::before,
.about-hero::before,
.service-hero::before {
  position: absolute;
  z-index: -1;
  inset: 0 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--v5-abyss);
  content: "";
}

:where(.catalogue-hero, .custom-hero, .spaces-hero, .about-hero, .service-hero) h1,
:where(.catalogue-hero, .custom-hero, .spaces-hero, .about-hero, .service-hero) p,
:where(.catalogue-hero, .custom-hero, .spaces-hero, .about-hero, .service-hero) a {
  color: inherit;
}

:where(.catalogue-hero, .custom-hero, .spaces-hero, .about-hero, .service-hero) .page-code {
  color: var(--v5-signal);
}

:where(.catalogue-hero, .custom-hero, .spaces-hero, .about-hero, .service-hero) h1 {
  max-width: 11ch;
  color: var(--v5-silver);
  font-size: clamp(3.6rem, 7.4vw, 6rem);
  letter-spacing: -0.04em;
  line-height: 0.9;
}

:where(.catalogue-hero__copy, .custom-hero__copy, .spaces-hero__copy, .about-hero__copy, .service-hero__copy) > p:not(.page-code) {
  max-width: 38rem;
  color: var(--v5-ice-muted);
  font-size: clamp(0.98rem, 1.35vw, 1.16rem);
  line-height: 1.75;
}

.custom-hero__actions,
.spaces-hero__actions,
.catalogue-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
  margin-block-start: 2rem;
}

.custom-hero__actions > span,
.spaces-hero__actions > span {
  color: var(--v5-ice-muted);
  font-family: var(--font-data);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  line-height: 1.65;
  text-transform: uppercase;
}

@media (min-width: 1024px) {
  :where(
    .page-custom-colors .custom-hero,
    .page-spaces .spaces-hero,
    .page-about .about-hero,
    .page-service .service-hero
  ) h1 {
    max-width: 14ch;
    font-size: clamp(3.25rem, 4.5vw, 4.75rem);
    line-height: 0.94;
  }
}

/* Catalogue: editorial index and long comparison. */
.page-catalogue .catalogue-hero {
  grid-template-columns: minmax(0, 1.35fr) minmax(19rem, 0.65fr);
  gap: clamp(3rem, 9vw, 10rem);
  align-items: end;
  padding-block: clamp(5rem, 9vw, 9rem) clamp(3rem, 6vw, 6rem);
}

.page-catalogue .catalogue-hero__stats {
  border-color: rgba(237, 245, 246, 0.34);
}

.page-catalogue .catalogue-hero__stats div {
  min-height: 7.5rem;
  padding: 1.2rem;
  border-color: rgba(237, 245, 246, 0.15);
}

.page-catalogue .catalogue-hero__stats div:nth-child(odd) {
  border-right: 1px solid rgba(237, 245, 246, 0.15);
}

.page-catalogue .catalogue-hero__stats dt {
  color: var(--v5-ice-muted);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-catalogue .catalogue-hero__stats dd {
  color: var(--v5-silver);
  font-size: clamp(1.7rem, 3.2vw, 3.2rem);
  line-height: 1;
}

.catalogue-model-index {
  display: grid;
  grid-template-columns: minmax(7rem, 0.22fr) minmax(0, 1fr);
  gap: clamp(1rem, 4vw, 4rem);
  padding-block: clamp(2.25rem, 4vw, 4rem);
  border-bottom: 1px solid var(--line-strong);
}

.catalogue-model-index > p {
  margin: 0;
  color: var(--ink-soft);
  font-family: var(--font-data);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
}

.catalogue-model-index ol {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-left: 1px solid var(--line);
  list-style: none;
}

.catalogue-model-index a {
  display: grid;
  min-height: 8rem;
  align-content: space-between;
  padding: 0.85rem;
  border-right: 1px solid var(--line);
  text-decoration: none;
  transition: background-color var(--transition-fast) var(--ease-out), color var(--transition-fast) var(--ease-out);
}

.catalogue-model-index a:hover {
  background: var(--v5-abyss);
  color: var(--v5-silver);
}

.catalogue-model-index span,
.catalogue-model-index small {
  color: var(--ink-soft);
  font-family: var(--font-data);
  font-size: 0.62rem;
}

.catalogue-model-index a:hover span,
.catalogue-model-index a:hover small {
  color: var(--v5-ice-muted);
}

.catalogue-model-index strong {
  font-family: var(--font-data);
  font-size: clamp(1rem, 1.6vw, 1.45rem);
}

.page-catalogue .catalogue-list {
  padding-block: clamp(4rem, 8vw, 8rem);
}

.page-catalogue .catalogue-toolbar {
  top: calc(var(--header-height) - 1px);
  margin-block-end: clamp(3rem, 6vw, 6rem);
  padding: 0.85rem 0;
  border-top: 0;
  background: var(--surface);
  backdrop-filter: blur(18px);
}

.page-catalogue .catalogue-toolbar h2 {
  font-size: 1.15rem;
}

.page-catalogue .filter-group button {
  border-color: transparent;
  border-bottom-color: var(--line);
  color: var(--ink-muted);
}

.page-catalogue .filter-group button[aria-pressed="true"] {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--accent-ink);
}

.catalogue-list__products {
  counter-reset: catalogue-model;
}

.page-catalogue .product-band {
  position: relative;
  counter-increment: catalogue-model;
  min-height: min(43rem, 66vw);
  margin: 0;
  border: 0;
  border-top: 1px solid var(--line-strong);
  background: transparent;
}

.page-catalogue .product-band:last-child {
  border-bottom: 1px solid var(--line-strong);
}

.page-catalogue .product-band::before {
  position: absolute;
  z-index: 2;
  inset: 1rem auto auto 1rem;
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  background: var(--v5-abyss);
  color: var(--v5-signal);
  content: "0" counter(catalogue-model);
  font-family: var(--font-data);
  font-size: 0.66rem;
}

.page-catalogue .product-band__media {
  margin-block: clamp(1.25rem, 3vw, 3rem);
  background: var(--v5-abyss);
}

.page-catalogue .product-band__content {
  padding: clamp(2.5rem, 6vw, 6rem);
}

.page-catalogue .product-band h2 {
  max-width: 10ch;
  font-size: clamp(2.7rem, 5.2vw, 5.8rem);
  line-height: 0.94;
}

.page-catalogue .product-band__kicker {
  margin-block-end: clamp(2rem, 5vw, 4rem);
}

.page-catalogue .compare-section,
.page-catalogue .speaker-ledger {
  padding-block: clamp(5rem, 10vw, 10rem);
}

.page-catalogue .compare-section {
  border-top: 1px solid var(--line);
}

.page-catalogue .table-scroll,
.page-service .table-scroll {
  position: relative;
  border: 1px solid var(--line-strong);
  background: var(--surface-raised);
  box-shadow: var(--shadow-soft);
}

.page-catalogue .compare-table th,
.page-catalogue .compare-table td,
.page-service .bulk-table th,
.page-service .bulk-table td {
  padding: 1.1rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.page-catalogue .speaker-ledger__rows article {
  grid-template-columns: minmax(7rem, 0.25fr) minmax(0, 1fr);
  padding-block: clamp(1.25rem, 2vw, 2rem);
}

.page-catalogue .speaker-ledger__rows p {
  color: var(--ink);
  font-family: var(--font-data);
  font-size: clamp(0.86rem, 1.3vw, 1.05rem);
}

.page-catalogue .pricing-explainer {
  background: var(--v5-abyss);
}

.page-catalogue .pricing-explainer > div {
  min-height: 34rem;
  align-items: center;
}

.page-catalogue .pricing-explainer h2 {
  max-width: 9ch;
  color: var(--v5-silver);
}

.page-catalogue .pricing-explainer .page-code,
.page-catalogue .pricing-explainer .text-link {
  color: var(--v5-signal);
}

.page-catalogue .catalogue-custom {
  align-items: end;
  min-height: 31rem;
}

.page-catalogue .catalogue-custom > div:last-child {
  padding-block-start: 4rem;
}

/* Color lab: product color remains the visual event. */
.page-custom-colors .custom-hero {
  grid-template-columns: minmax(20rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: center;
  padding-block: clamp(4rem, 8vw, 8rem);
}

.page-custom-colors .custom-hero__media {
  position: relative;
  align-self: stretch;
  box-shadow: none;
}

.page-custom-colors .custom-hero__media .media-picture,
.page-custom-colors .custom-hero__media img {
  width: 100%;
  height: 100%;
}

.page-custom-colors .custom-hero__media img {
  min-height: 34rem;
  object-fit: cover;
}

.page-custom-colors .custom-hero__media figcaption {
  position: absolute;
  inset: auto 0 0;
  margin: 0;
  padding: 0.75rem 1rem;
  background: rgba(4, 17, 22, 0.88);
  color: var(--v5-ice-muted);
  font-size: 0.7rem;
}

.page-custom-colors .custom-facts {
  display: grid;
  grid-template-columns: minmax(15rem, 0.35fr) minmax(0, 0.65fr);
  gap: clamp(2rem, 6vw, 7rem);
  padding-block: clamp(4rem, 7vw, 7rem);
}

.custom-facts__intro {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  align-content: start;
}

.custom-facts__intro > span {
  padding-block-start: 0.45rem;
  color: var(--accent);
  font-family: var(--font-data);
  font-size: 0.7rem;
}

.page-custom-colors .custom-facts h2 {
  font-size: clamp(2.2rem, 4vw, 4rem);
}

.page-custom-colors .custom-facts dl {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid var(--line-strong);
}

.page-custom-colors .custom-facts dl div {
  min-height: 8rem;
  padding: 1.2rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: 0;
}

.page-custom-colors .custom-facts dl div:last-child {
  grid-column: 1 / -1;
}

.page-custom-colors .color-configurator {
  padding-block: clamp(5rem, 10vw, 10rem);
}

.page-custom-colors .color-configurator__stage {
  top: calc(var(--header-height) + 1rem);
}

.page-custom-colors .color-configurator__image-wrap {
  border: 1px solid rgba(237, 245, 246, 0.2);
  background: var(--v5-abyss);
  box-shadow: var(--shadow-media);
}

.page-custom-colors .color-configurator__panel {
  padding-block-start: 1rem;
  border-top: 1px solid var(--line-strong);
}

.page-custom-colors .color-configurator__panel h2 {
  font-size: clamp(2.3rem, 4.2vw, 4.4rem);
}

.page-custom-colors .swatch-option {
  min-height: 3.4rem;
  border-color: var(--line);
  background: var(--surface-raised);
}

.page-custom-colors .swatch-option[aria-pressed="true"] {
  border-color: var(--accent);
  background: var(--accent-soft);
  box-shadow: inset 0 0 0 1px var(--accent);
}

.page-custom-colors .custom-material-story {
  grid-template-columns: minmax(0, 1.25fr) minmax(22rem, 0.75fr);
  gap: 0;
  width: 100%;
  padding: 0;
  background: var(--v5-abyss);
  color: var(--v5-silver);
}

.page-custom-colors .custom-material-story__media,
.page-custom-colors .custom-material-story__media .media-picture,
.page-custom-colors .custom-material-story__media img {
  width: 100%;
  height: 100%;
}

.page-custom-colors .custom-material-story__media img {
  min-height: 42rem;
  object-fit: cover;
}

.page-custom-colors .custom-material-story__copy {
  display: grid;
  align-content: center;
  padding: clamp(3rem, 7vw, 8rem) var(--gutter);
}

.page-custom-colors .custom-material-story h2,
.page-custom-colors .custom-material-story p {
  color: inherit;
}

.page-custom-colors .custom-material-story .page-code {
  color: var(--v5-signal);
}

.page-custom-colors .custom-material-story p {
  color: var(--v5-ice-muted);
}

.page-custom-colors .custom-process,
.page-custom-colors .custom-boundary {
  padding-block: clamp(5rem, 9vw, 9rem);
}

.page-custom-colors .custom-process ol {
  border-color: var(--line-strong);
}

.page-custom-colors .custom-process li {
  min-height: 15rem;
  padding: 1.5rem;
}

.page-custom-colors .custom-process li > span:first-child {
  font-size: 1rem;
}

.page-custom-colors .media-gallery {
  padding-block: clamp(5rem, 9vw, 9rem);
}

.page-custom-colors .custom-boundary {
  align-items: start;
}

.page-custom-colors .custom-boundary ul {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-strong);
  list-style: none;
}

.page-custom-colors .custom-boundary li {
  padding-block: 0.9rem;
  border-bottom: 1px solid var(--line);
}

/* Spaces: guidance chapters, never case studies. */
.page-spaces .spaces-hero {
  grid-template-columns: minmax(19rem, 0.68fr) minmax(0, 1.32fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: center;
  padding-block: clamp(4rem, 8vw, 8rem);
}

.page-spaces .spaces-hero__media {
  position: relative;
  box-shadow: none;
}

.page-spaces .spaces-hero__media img {
  min-height: 34rem;
  object-fit: cover;
}

.page-spaces .spaces-hero__media figcaption {
  position: absolute;
  inset: auto 0 0;
  margin: 0;
  padding: 0.75rem 1rem;
  background: rgba(4, 17, 22, 0.88);
  color: var(--v5-ice-muted);
}

.page-spaces .space-reading {
  padding-block: clamp(5rem, 9vw, 9rem);
  border-bottom: 0;
}

.page-spaces .space-reading dl {
  counter-reset: reading-cue;
  gap: 0;
  margin-block-start: 3rem;
  border-top: 1px solid var(--line-strong);
}

.page-spaces .space-reading dl div {
  position: relative;
  counter-increment: reading-cue;
  min-height: 15rem;
  padding: 4.5rem 1.5rem 1.5rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: 0;
}

.page-spaces .space-reading dl div::before {
  position: absolute;
  inset: 1.25rem auto auto 1.5rem;
  color: var(--accent);
  content: "0" counter(reading-cue);
  font-family: var(--font-data);
  font-size: 0.7rem;
}

.page-spaces .space-reading dt {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 2.5vw, 2.4rem);
}

.page-spaces .space-reading dd {
  color: var(--ink-muted);
}

.page-spaces .space-editorial {
  grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.65fr);
  min-height: 48rem;
  gap: clamp(3rem, 8vw, 9rem);
  padding-block: clamp(5rem, 10vw, 10rem);
  border-top: 1px solid var(--line);
}

.page-spaces .space-editorial--reverse {
  grid-template-columns: minmax(20rem, 0.65fr) minmax(0, 1.35fr);
}

.page-spaces .space-editorial__media {
  min-height: 34rem;
  box-shadow: var(--shadow-media);
}

.page-spaces .space-editorial__media .media-picture,
.page-spaces .space-editorial__media img {
  width: 100%;
  height: 100%;
}

.page-spaces .space-editorial__media img {
  object-fit: cover;
}

.space-editorial__index {
  color: var(--accent);
}

.page-spaces .space-editorial h2 {
  max-width: 10ch;
  font-size: clamp(2.8rem, 5vw, 5.4rem);
}

.page-spaces .scale-reading {
  background: var(--v5-abyss);
  color: var(--v5-silver);
}

.page-spaces .scale-reading > div {
  min-height: 40rem;
  align-items: center;
}

.page-spaces .scale-reading h2,
.page-spaces .scale-reading p,
.page-spaces .scale-reading dt,
.page-spaces .scale-reading dd {
  color: inherit;
}

.page-spaces .scale-reading .page-code,
.page-spaces .scale-reading dt {
  color: var(--v5-signal);
}

.page-spaces .scale-reading dl div {
  min-height: 8rem;
  border-color: rgba(237, 245, 246, 0.18);
}

.page-spaces .scale-reading > div > p {
  color: var(--v5-ice-muted);
}

.page-spaces .media-gallery {
  padding-block: clamp(6rem, 10vw, 10rem);
}

.page-spaces .outdoor-boundary {
  align-items: start;
  padding-block: clamp(5rem, 9vw, 9rem);
}

.page-spaces .outdoor-boundary ul {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-strong);
  list-style: none;
}

.page-spaces .outdoor-boundary li {
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
}

.page-spaces .space-products {
  padding-block: clamp(5rem, 10vw, 10rem);
}

.page-spaces .space-products .product-compact {
  border: 0;
  border-top: 1px solid var(--line-strong);
  background: transparent;
}

/* About: an evidence-led TY brand and product record. */
.page-about .about-hero {
  grid-template-columns: minmax(20rem, 0.78fr) minmax(0, 1.22fr);
  grid-template-rows: 1fr auto;
  gap: clamp(2rem, 6vw, 7rem);
  align-items: center;
  padding-block: clamp(4rem, 8vw, 8rem) 2rem;
}

.page-about .about-hero__media {
  align-self: stretch;
  box-shadow: none;
}

.page-about .about-hero__media .media-picture,
.page-about .about-hero__media img {
  width: 100%;
  height: 100%;
}

.page-about .about-hero__media img {
  min-height: 34rem;
  object-fit: cover;
}

.page-about .about-hero__media figcaption {
  color: var(--v5-ice-muted);
}

.about-hero__identity {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 0.45fr 0.45fr 1.1fr;
  margin: 0;
  border-top: 1px solid rgba(237, 245, 246, 0.28);
}

.about-hero__identity div {
  min-height: 6.5rem;
  padding: 1rem;
  border-right: 1px solid rgba(237, 245, 246, 0.16);
}

.about-hero__identity dt {
  color: var(--v5-ice-muted);
  font-size: 0.68rem;
}

.about-hero__identity dd {
  margin: 0.5rem 0 0;
  color: var(--v5-silver);
  font-family: var(--font-data);
  font-size: clamp(1rem, 1.8vw, 1.5rem);
}

.page-about .company-profile {
  grid-template-columns: minmax(20rem, 0.72fr) minmax(0, 1.28fr);
  padding-block: clamp(6rem, 11vw, 11rem);
}

.page-about .company-profile__lead {
  position: sticky;
  top: calc(var(--header-height) + 2rem);
  align-self: start;
}

.page-about .company-profile dl div {
  grid-template-columns: 8.5rem 1fr;
  min-height: 5.2rem;
  align-items: center;
}

.page-about .family-map {
  background: var(--v5-abyss);
}

.page-about .family-map > div {
  padding-block: clamp(6rem, 11vw, 11rem);
}

.page-about .family-map__intro {
  display: grid;
  grid-template-columns: 0.3fr 0.7fr;
  gap: clamp(2rem, 7vw, 8rem);
  align-items: start;
}

.page-about .family-map__intro h2 {
  max-width: 10ch;
  color: var(--v5-silver);
}

.page-about .family-map .page-code {
  color: var(--v5-signal);
}

.page-about .family-map__rows {
  margin-block-start: clamp(3rem, 7vw, 7rem);
}

.page-about .family-map__rows article {
  grid-template-columns: minmax(16rem, 0.65fr) minmax(0, 1.35fr);
  padding-block: clamp(2rem, 4vw, 4rem);
}

.page-about .family-map__rows h3 {
  font-size: clamp(2rem, 4vw, 4.4rem);
}

.page-about .family-map__rows a {
  min-height: 3.6rem;
  align-items: center;
}

.page-about .materials-story {
  min-height: 48rem;
  padding-block: clamp(6rem, 10vw, 10rem);
}

.page-about .materials-story__media {
  min-height: 36rem;
  box-shadow: var(--shadow-media);
}

.page-about .materials-story__media .media-picture,
.page-about .materials-story__media img {
  width: 100%;
  height: 100%;
}

.page-about .materials-story__media img {
  object-fit: cover;
}

.page-about .claims-section,
.page-about .source-boundary,
.page-about .about-principles {
  padding-block: clamp(6rem, 10vw, 10rem);
}

.page-about .claims-section__content {
  gap: 0;
  border-top: 1px solid var(--line-strong);
}

.page-about .experience-claim {
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: transparent;
}

.page-about .experience-claim strong {
  color: var(--accent);
}

.page-about .source-boundary {
  grid-template-columns: minmax(17rem, 0.65fr) minmax(0, 1.35fr);
  align-items: start;
}

.page-about .source-boundary__columns {
  gap: 0;
  border-top: 1px solid var(--line-strong);
}

.page-about .source-boundary__columns section {
  padding: 1.5rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.page-about .source-file {
  margin-block-start: 1rem;
}

.page-about .about-principles ol {
  counter-reset: trust-rule;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-about .about-principles li {
  position: relative;
  counter-increment: trust-rule;
  min-height: 13rem;
  padding: 4.5rem 1.5rem 1.5rem;
}

.page-about .about-principles li::before {
  position: absolute;
  inset: 1.25rem auto auto 1.5rem;
  color: var(--accent);
  content: "0" counter(trust-rule);
  font-family: var(--font-data);
  font-size: 0.7rem;
}

/* Service: direct inquiry first, commercial evidence second. */
.page-service .service-hero {
  grid-template-columns: minmax(20rem, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
  padding-block: clamp(4rem, 8vw, 8rem);
}

.page-service .service-hero__media {
  position: relative;
  box-shadow: none;
}

.page-service .service-hero__media img {
  min-height: 32rem;
  object-fit: cover;
}

.page-service .service-hero__media > p {
  position: absolute;
  inset: auto 0 0;
  margin: 0;
  padding: 0.75rem 1rem;
  background: rgba(4, 17, 22, 0.88);
  color: var(--v5-ice-muted);
}

.service-inquiry-dock {
  display: grid;
  grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 7vw, 8rem);
  padding-block: clamp(4rem, 8vw, 8rem);
  border-bottom: 1px solid var(--line-strong);
}

.service-inquiry-dock__intro {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
}

.service-inquiry-dock__intro > span {
  padding-block-start: 0.45rem;
  color: var(--accent);
  font-family: var(--font-data);
  font-size: 0.7rem;
}

.service-inquiry-dock__intro h2 {
  font-size: clamp(2.4rem, 4.2vw, 4.6rem);
}

.service-inquiry-dock__actions {
  display: grid;
  align-content: start;
  border-top: 1px solid var(--line-strong);
}

.service-inquiry-dock__actions > a {
  display: grid;
  grid-template-columns: 8rem 1fr;
  min-height: 4.75rem;
  align-items: center;
  gap: 1rem;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}

.service-inquiry-dock__actions > a span {
  color: var(--ink-soft);
  font-size: 0.72rem;
}

.service-inquiry-dock__actions > a strong {
  overflow-wrap: anywhere;
  font-family: var(--font-data);
  font-size: clamp(0.9rem, 1.5vw, 1.12rem);
}

.service-copy-action {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0 1rem;
  align-items: center;
  padding-block-start: 1.5rem;
}

.service-copy-action p {
  grid-column: 1 / -1;
  min-height: 1.7rem;
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.78rem;
}

.page-service .inquiry-path,
.page-service .bulk-pricing,
.page-service .procurement-flow,
.page-service .terms-grid,
.page-service .packaging-boundary,
.page-service .faq-section {
  padding-block: clamp(5rem, 9vw, 9rem);
}

.page-service .inquiry-path ol {
  counter-reset: inquiry-item;
}

.page-service .inquiry-path li {
  min-height: 14rem;
}

.page-service .contact-panel {
  background: var(--v5-abyss);
}

.page-service .contact-panel > div {
  min-height: 38rem;
  align-items: center;
}

.page-service .contact-panel h2 {
  max-width: 9ch;
  color: var(--v5-silver);
}

.page-service .contact-panel .page-code {
  color: var(--v5-signal);
}

.page-service .contact-panel address > * {
  min-height: 5.5rem;
  justify-content: center;
}

.page-service .bulk-pricing .market-disclosure {
  margin-block-start: 1.25rem;
}

.page-service .procurement-flow {
  display: grid;
  grid-template-columns: minmax(18rem, 0.55fr) minmax(0, 1.45fr);
  gap: clamp(3rem, 8vw, 9rem);
}

.page-service .procurement-flow > div {
  position: sticky;
  top: calc(var(--header-height) + 2rem);
  align-self: start;
}

.page-service .procurement-flow ol {
  grid-template-columns: 1fr;
  border-top: 1px solid var(--line-strong);
}

.page-service .procurement-flow li {
  display: grid;
  grid-template-columns: minmax(11rem, 0.45fr) minmax(0, 1fr);
  min-height: 6.5rem;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 0;
  border-right: 0;
}

.page-service .terms-grid {
  border-top: 1px solid var(--line-strong);
  border-bottom: 0;
}

.page-service .terms-grid dl {
  gap: 0;
  border: 1px solid var(--line);
  border-right: 0;
  border-bottom: 0;
}

.page-service .terms-grid dl div {
  min-height: 7.5rem;
  align-content: start;
  padding: 1.25rem;
}

.page-service .packaging-boundary {
  align-items: start;
}

.page-service .packaging-boundary li {
  border-color: var(--line-strong);
  background: var(--surface-raised);
}

.page-service .faq-list details {
  background: transparent;
}

.page-service .faq-list summary {
  min-height: 5rem;
  padding-block: 1.5rem;
  font-size: clamp(1rem, 1.6vw, 1.2rem);
}

/* Shared galleries and closing panels. */
:where(.page-custom-colors, .page-spaces) .media-gallery__toolbar {
  padding-block: 0.75rem;
  border-top: 1px solid var(--line-strong);
}

:where(.page-custom-colors, .page-spaces) .media-rail {
  grid-auto-columns: minmax(22rem, 56vw);
  gap: 0.75rem;
}

:where(.page-custom-colors, .page-spaces) .media-rail__item a {
  background: var(--v5-abyss);
}

:where(.page-catalogue, .page-custom-colors, .page-about, .page-service) .closing-action {
  min-height: 24rem;
  align-items: center;
  padding-block: clamp(4rem, 7vw, 7rem);
}

@media (max-width: 1199px) {
  .catalogue-model-index ol {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .catalogue-model-index li:nth-child(n + 4) a {
    border-top: 1px solid var(--line);
  }

  .page-catalogue .product-band,
  .page-catalogue .product-band--reverse {
    grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
  }

  .page-catalogue .product-band--reverse {
    grid-template-columns: minmax(20rem, 0.95fr) minmax(0, 1.05fr);
  }

  .page-spaces .space-editorial,
  .page-spaces .space-editorial--reverse {
    min-height: 0;
  }
}

@media (max-width: 1023px) {
  .content-chapter > div {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .content-chapter p {
    justify-self: start;
  }

  .catalogue-hero,
  .custom-hero,
  .spaces-hero,
  .about-hero,
  .service-hero,
  .page-catalogue .catalogue-hero,
  .page-custom-colors .custom-hero,
  .page-spaces .spaces-hero,
  .page-about .about-hero,
  .page-service .service-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  :where(.catalogue-hero, .custom-hero, .spaces-hero, .about-hero, .service-hero) h1 {
    max-width: 12ch;
  }

  .page-catalogue .catalogue-hero__stats {
    max-width: 42rem;
  }

  .catalogue-model-index {
    grid-template-columns: 1fr;
  }

  .page-catalogue .product-band,
  .page-catalogue .product-band--reverse {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .page-catalogue .product-band--reverse .product-band__media {
    order: 0;
  }

  .page-catalogue .product-band__media {
    min-height: 32rem;
    margin-block-end: 0;
  }

  .page-custom-colors .custom-hero__media img,
  .page-spaces .spaces-hero__media img,
  .page-about .about-hero__media img,
  .page-service .service-hero__media img {
    min-height: 30rem;
  }

  .page-custom-colors .custom-facts,
  .service-inquiry-dock,
  .page-about .company-profile,
  .page-about .source-boundary,
  .page-service .procurement-flow {
    grid-template-columns: 1fr;
  }

  .page-about .company-profile__lead,
  .page-service .procurement-flow > div {
    position: static;
  }

  .page-custom-colors .custom-material-story {
    grid-template-columns: 1fr;
  }

  .page-custom-colors .custom-material-story__media img {
    min-height: 32rem;
  }

  .page-custom-colors .custom-process ol,
  .page-service .inquiry-path ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-spaces .space-editorial,
  .page-spaces .space-editorial--reverse {
    grid-template-columns: 1fr;
  }

  .page-spaces .space-editorial--reverse .space-editorial__media {
    order: 0;
  }

  .page-spaces .space-editorial__media {
    min-height: 30rem;
  }

  .page-about .about-hero__identity {
    grid-row: auto;
  }

  .page-about .family-map__intro {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

@media (max-width: 767px) {
  .content-chapter {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    margin-block-end: 2rem;
  }

  :where(.catalogue-hero, .custom-hero, .spaces-hero, .about-hero, .service-hero),
  .page-catalogue .catalogue-hero,
  .page-custom-colors .custom-hero,
  .page-spaces .spaces-hero,
  .page-about .about-hero,
  .page-service .service-hero {
    gap: 2.5rem;
    padding-block: 3.5rem 2.5rem;
  }

  :where(.catalogue-hero, .custom-hero, .spaces-hero, .about-hero, .service-hero) h1 {
    font-size: clamp(3rem, 15vw, 5.2rem);
    line-height: 0.94;
  }

  .custom-hero__actions,
  .spaces-hero__actions,
  .catalogue-hero__actions {
    align-items: flex-start;
  }

  .catalogue-model-index ol {
    grid-template-columns: 1fr 1fr;
  }

  .catalogue-model-index li:nth-child(n + 3) a {
    border-top: 1px solid var(--line);
  }

  .catalogue-model-index a {
    min-height: 7rem;
  }

  .page-catalogue .catalogue-toolbar {
    position: static;
    display: grid;
    gap: 1rem;
  }

  .page-catalogue .filter-group {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    padding-block-end: 0.45rem;
  }

  .page-catalogue .filter-group button {
    flex: 0 0 auto;
    min-height: 2.75rem;
  }

  .page-catalogue .product-band__media {
    min-height: 24rem;
    margin-block-start: 1rem;
  }

  .page-catalogue .product-band__content {
    padding: 2.5rem 1rem 3.5rem;
  }

  .page-catalogue .product-band h2 {
    font-size: clamp(2.4rem, 12vw, 4rem);
  }

  .page-catalogue .catalogue-custom > div:last-child {
    padding-block-start: 0;
  }

  .page-custom-colors .custom-hero__media img,
  .page-spaces .spaces-hero__media img,
  .page-about .about-hero__media img,
  .page-service .service-hero__media img {
    min-height: 23rem;
  }

  .page-custom-colors .custom-facts {
    gap: 2rem;
  }

  .page-custom-colors .custom-facts dl,
  .page-spaces .space-reading dl,
  .page-about .about-principles ol,
  .page-service .terms-grid dl {
    grid-template-columns: 1fr;
  }

  .page-custom-colors .custom-facts dl div:last-child {
    grid-column: auto;
  }

  .page-custom-colors .custom-facts dl div,
  .page-spaces .space-reading dl div {
    min-height: 0;
  }

  .page-custom-colors .custom-process ol,
  .page-service .inquiry-path ol {
    grid-template-columns: 1fr;
  }

  .page-custom-colors .custom-process li,
  .page-service .inquiry-path li {
    min-height: 0;
  }

  .page-custom-colors .custom-material-story__media img {
    min-height: 26rem;
  }

  .page-spaces .space-editorial {
    gap: 2rem;
  }

  .page-spaces .space-editorial__media {
    min-height: 24rem;
  }

  .page-spaces .scale-reading > div {
    min-height: 0;
  }

  .page-spaces .scale-reading dl {
    grid-template-columns: 1fr;
  }

  .page-spaces .scale-reading > div > p {
    grid-column: auto;
  }

  .page-spaces .space-products .product-compact-grid {
    grid-template-columns: 1fr;
  }

  .about-hero__identity {
    grid-template-columns: 1fr;
  }

  .about-hero__identity div {
    min-height: 4.8rem;
    border-right: 0;
    border-bottom: 1px solid rgba(237, 245, 246, 0.16);
  }

  .page-about .family-map__rows article {
    grid-template-columns: 1fr;
  }

  .page-about .materials-story__media {
    min-height: 25rem;
  }

  .page-about .claims-section__content,
  .page-about .source-boundary__columns {
    grid-template-columns: 1fr;
  }

  .page-about .experience-claim {
    border-right: 0;
  }

  .page-about .source-file {
    grid-column: auto;
  }

  .service-inquiry-dock__actions > a {
    grid-template-columns: 1fr;
    gap: 0.25rem;
    padding-block: 0.9rem;
  }

  .service-copy-action {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .service-copy-action .button {
    width: 100%;
  }

  .page-service .procurement-flow li {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }

  :where(.page-custom-colors, .page-spaces) .media-rail {
    grid-auto-columns: 84vw;
  }
}

@media (max-width: 479px) {
  .catalogue-model-index ol {
    grid-template-columns: 1fr;
  }

  .catalogue-model-index li:nth-child(n + 2) a {
    border-top: 1px solid var(--line);
  }

  .page-catalogue .catalogue-hero__stats {
    grid-template-columns: 1fr;
  }

  .page-catalogue .catalogue-hero__stats div:nth-child(odd) {
    border-right: 0;
  }

  .page-catalogue .speaker-ledger__rows article,
  .page-about .company-profile dl div,
  .page-about .materials-story__copy dl div {
    grid-template-columns: 1fr;
    gap: 0.3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .catalogue-model-index a,
  .page-custom-colors .swatch-option {
    transition: none;
  }
}

@media (forced-colors: active) {
  .catalogue-hero::before,
  .custom-hero::before,
  .spaces-hero::before,
  .about-hero::before,
  .service-hero::before {
    background: Canvas;
  }

  :where(.catalogue-hero, .custom-hero, .spaces-hero, .about-hero, .service-hero) h1,
  :where(.catalogue-hero, .custom-hero, .spaces-hero, .about-hero, .service-hero) p,
  :where(.catalogue-hero, .custom-hero, .spaces-hero, .about-hero, .service-hero) a {
    color: CanvasText;
  }
}

/* system-v6.css */
/* TY Audio v6 — light editorial system. Loaded last to retire the split dark/home themes. */

:root,
:root[data-theme="light"],
:root[data-theme="dark"] {
  color-scheme: light;
  --canvas: #f7f1e8;
  --paper: #fffdf8;
  --paper-blue: #dce8ea;
  --paper-clay: #ecd5cc;
  --paper-mauve: #e6dee8;
  --paper-sand: #eee5d7;
  --ink: #243a46;
  --ink-muted: #5b6970;
  --ink-soft: #728087;
  --line: #ddd2c4;
  --line-strong: #bcae9d;
  --dusty-blue: #7899a6;
  --terracotta: #bc725d;
  --mauve: #97889f;
  --sand: #d8c7aa;
  --accent: #365c6b;
  --accent-hover: #294c59;
  --accent-soft: #dce8ea;
  --accent-bright: #bc725d;
  --accent-ink: #fffdf8;
  --surface: var(--canvas);
  --surface-raised: var(--paper);
  --surface-subtle: var(--paper-sand);
  --surface-deep: var(--paper-blue);
  --surface-glass: rgb(255 253 248 / 0.94);
  --header-surface: rgb(255 253 248 / 0.94);
  --footer-surface: var(--paper-blue);
  --footer-raised: #cfdee1;
  --footer-ink: var(--ink);
  --footer-muted: var(--ink-muted);
  --dark: #365c6b;
  --dark-raised: #436a78;
  --dark-soft: #5b7f8b;
  --dark-ink: #fffdf8;
  --dark-muted: #dce8ea;
  --focus: #1f6377;
  --shadow-soft: 0 18px 55px rgb(77 66 53 / 0.1);
  --shadow-media: 0 28px 80px rgb(77 66 53 / 0.15);
  --font-display: "Iowan Old Style", "Palatino Linotype", Georgia, "Noto Sans SC Display", serif;
  --font-body: "Helvetica Neue", Arial, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --radius-xs: 0.125rem;
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --content: 100rem;
  --content-narrow: 76rem;
  --gutter: clamp(1rem, 3.5vw, 4.5rem);
  --section-space: clamp(5rem, 9vw, 9.5rem);
}

html {
  background: var(--canvas);
  scroll-padding-top: calc(var(--header-height) + 1rem);
}

body,
body.page-home-v7,
body[class*="page-"] {
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--font-body);
  text-rendering: optimizeLegibility;
}

::selection {
  background: var(--paper-clay);
  color: var(--ink);
}

:where(h1, h2, h3) {
  color: var(--ink);
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

:where(p, li, dd) {
  color: var(--ink-muted);
}

a {
  color: inherit;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
}

:where(a, button, input, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 4px;
}

.section-shell {
  width: min(100%, var(--content));
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.button,
.header-action {
  min-height: 2.875rem;
  border-radius: var(--radius-xs);
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1;
  text-transform: uppercase;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.button:hover,
.header-action:hover {
  transform: translateY(-1px);
}

.button--primary,
.button--light,
.button--inverse,
.header-action {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--accent-ink);
}

.button--primary:hover,
.button--light:hover,
.button--inverse:hover,
.header-action:hover {
  border-color: var(--accent-hover);
  background: var(--accent-hover);
  color: var(--accent-ink);
}

.button--secondary {
  border-color: var(--ink);
  background: transparent;
  color: var(--ink);
}

.button--secondary:hover {
  background: var(--paper-blue);
  color: var(--ink);
}

.text-link,
.home-v5-text-link,
.home-v5-arrow-link {
  color: var(--ink);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.text-link::after,
.home-v5-text-link::after {
  background: var(--terracotta);
}

.skip-link {
  background: var(--paper);
  color: var(--ink);
}

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  height: var(--header-height);
  border-bottom: 1px solid rgb(36 58 70 / 0.12);
  background: var(--header-surface);
  box-shadow: none;
  color: var(--ink);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.site-header__inner {
  width: min(100%, calc(var(--content) + (2 * var(--gutter))));
  min-height: var(--header-height);
  padding-inline: var(--gutter);
}

.brand {
  min-width: max-content;
  color: var(--ink);
  gap: 0.75rem;
}

.brand__mark,
.brand__monogram {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border: 1px solid var(--ink);
  border-radius: 50%;
  font-family: var(--font-display);
  font-size: 0.8rem;
  letter-spacing: -0.02em;
}

.brand__text strong {
  color: var(--ink);
  font-size: 0.82rem;
  letter-spacing: 0.18em;
}

.brand__text small {
  color: var(--ink-muted);
  font-size: 0.58rem;
  letter-spacing: 0.2em;
}

.primary-nav {
  gap: clamp(1rem, 2vw, 2rem);
}

.primary-nav a {
  position: relative;
  padding-block: 1.65rem 1.5rem;
  color: var(--ink-muted);
  font-size: 0.75rem;
  letter-spacing: 0.065em;
}

.primary-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 1.05rem;
  left: 0;
  height: 1px;
  background: var(--terracotta);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

.primary-nav a:hover,
.primary-nav a[aria-current="page"] {
  color: var(--ink);
}

.primary-nav a:hover::after,
.primary-nav a[aria-current="page"]::after {
  transform: scaleX(1);
}

.site-header__tools {
  gap: 0.75rem;
}

.theme-toggle {
  display: none !important;
}

.market-switcher__trigger {
  min-height: 2.75rem;
  padding-inline: 0.8rem;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}

.market-switcher__trigger:hover {
  background: var(--paper-blue);
}

.market-switcher__panel {
  top: calc(100% + 0.75rem);
  width: min(23rem, calc(100vw - 2rem));
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--paper);
  box-shadow: var(--shadow-soft);
  color: var(--ink);
}

.market-switcher__panel::before {
  background: var(--terracotta);
}

.market-switcher__panel h2,
.market-switcher__field > span,
.market-switcher__note {
  color: var(--ink);
}

.market-switcher select {
  min-height: 3rem;
  border-color: var(--line-strong);
  border-radius: var(--radius-xs);
  background: var(--paper);
  color: var(--ink);
}

.market-switcher__close,
.nav-toggle {
  color: var(--ink);
}

.nav-toggle__lines i {
  background: var(--ink);
}

/* Breadcrumbs and local navigation */
.breadcrumbs {
  background: transparent;
  color: var(--ink-muted);
}

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

.product-local-nav {
  border-block-color: var(--line);
  background: rgb(247 241 232 / 0.92);
}

/* Money and evidence */
.retail-reference {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 0.12em 0.3em;
}

.money__qualifier {
  color: var(--terracotta);
  font-family: var(--font-display);
  font-size: 0.9em;
}

.money__basis {
  grid-column: 1 / -1;
  margin-top: 0.35rem;
  color: var(--ink-soft);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.money--unavailable .money__value {
  color: var(--ink-muted);
  font-size: 0.78rem;
}

.market-disclosure,
.boundary-note {
  border-left-color: var(--terracotta);
  background: var(--paper-sand);
  color: var(--ink-muted);
}

/* Shared galleries and tables */
.media-rail__viewport,
.table-scroll,
.pricing-table-wrap {
  scrollbar-color: var(--dusty-blue) transparent;
}

.media-card,
.product-card,
.product-compact,
.empty-state {
  border-color: var(--line);
  border-radius: var(--radius-sm);
  background: var(--paper);
  box-shadow: none;
}

.media-card img,
.scene-gallery img,
.space-editorial__media img,
.custom-material-story__media img,
.materials-story__media img {
  background: var(--paper-sand);
}

.pricing-table,
.bulk-table,
.comparison-table,
.home-v6-compare table {
  border-color: var(--line);
  background: var(--paper);
  color: var(--ink);
}

:where(.pricing-table, .bulk-table, .comparison-table, .home-v6-compare table) :is(th, td) {
  border-color: var(--line);
}

:where(.pricing-table, .bulk-table, .comparison-table, .home-v6-compare table) thead th {
  background: var(--paper-blue);
  color: var(--ink);
}

details {
  border-color: var(--line);
  background: var(--paper);
}

/* Light-only footer */
.site-footer {
  margin-top: 0;
  border-top: 1px solid var(--line-strong);
  background: var(--footer-surface);
  color: var(--footer-ink);
}

.site-footer :where(h2, h3, p, a, span, strong, small, address) {
  color: inherit;
}

.site-footer__callout {
  border-bottom-color: rgb(36 58 70 / 0.18);
}

.site-footer__callout p {
  max-width: 18ch;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4.8vw, 5rem);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.site-footer a.site-footer__inquiry {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--paper) !important;
}

.site-footer a.site-footer__inquiry:hover {
  border-color: var(--terracotta);
  background: var(--terracotta);
  color: var(--paper) !important;
}

.site-footer__wordmark {
  border-bottom-color: rgb(36 58 70 / 0.18);
}

.site-footer__wordmark h2 {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(4rem, 14vw, 13rem);
  font-weight: 400;
  letter-spacing: -0.07em;
  line-height: 0.76;
}

.site-footer__wordmark p,
.site-footer__main h3 {
  color: var(--ink-muted);
}

.site-footer__main,
.site-footer__facts {
  border-color: rgb(36 58 70 / 0.18);
}

.site-footer a:hover {
  color: var(--accent-hover);
}

.site-footer__contact address > span,
.site-footer__facts p {
  color: var(--ink-muted);
}

.toast-region > * {
  border-color: var(--line-strong);
  background: var(--paper);
  color: var(--ink);
  box-shadow: var(--shadow-soft);
}

@media (max-width: 73.75rem) {
  .primary-nav {
    border-top: 1px solid var(--line);
    background: var(--paper);
    color: var(--ink);
    box-shadow: 0 24px 55px rgb(77 66 53 / 0.12);
  }

  .primary-nav a {
    border-bottom: 1px solid var(--line);
    color: var(--ink);
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 5vw, 3.5rem);
    letter-spacing: -0.03em;
    text-transform: none;
  }

  .primary-nav a::after {
    display: none;
  }

  .primary-nav.is-open {
    inset: var(--header-height) 0 0;
    width: auto;
    height: calc(100dvh - var(--header-height));
    max-height: none;
    align-content: start;
    overflow-y: auto;
  }
}

@media (max-width: 47.99rem) {
  :root {
    --header-height: 4.25rem;
    --section-space: clamp(4rem, 16vw, 6.5rem);
  }

  .site-header__inner {
    padding-inline: 1rem;
  }

  .brand__text small,
  .header-action {
    display: none;
  }

  .market-switcher__panel {
    position: fixed;
    inset: 0;
    top: 0;
    width: 100%;
    max-height: 100dvh;
    min-height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .site-footer__main {
    gap: 2.5rem 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* content-v6.css */
/*
 * TY Audio V6 content system
 * Scope: catalogue, custom colours, spaces, about and service content only.
 * Direction: light Morandi editorial, evidence-led, square edges, restrained motion.
 */

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main {
  --v6-porcelain: #f7f1e8;
  --v6-paper: #fffdf8;
  --v6-ink: #243a46;
  --v6-ink-muted: #4f6670;
  --v6-ink-soft: #667982;
  --v6-blue: #7899a6;
  --v6-blue-pale: #dce7e8;
  --v6-terracotta: #bc725d;
  --v6-terracotta-pale: #f0ddd5;
  --v6-mauve: #97889f;
  --v6-mauve-pale: #e8e0e7;
  --v6-sand: #d8c7aa;
  --v6-sand-pale: #eee4d3;
  --v6-line: rgba(36, 58, 70, 0.17);
  --v6-line-strong: rgba(36, 58, 70, 0.38);
  --v6-shadow: 0 24px 70px rgba(57, 75, 82, 0.13);
  --v6-section: clamp(5rem, 8vw, 9rem);
  --surface: var(--v6-porcelain);
  --surface-raised: var(--v6-paper);
  --surface-subtle: var(--v6-sand-pale);
  --surface-deep: var(--v6-sand);
  --ink: var(--v6-ink);
  --ink-muted: var(--v6-ink-muted);
  --ink-soft: var(--v6-ink-soft);
  --line: var(--v6-line);
  --line-strong: var(--v6-line-strong);
  --accent: #365c6b;
  --accent-hover: #294c59;
  --accent-soft: var(--v6-terracotta-pale);
  --accent-ink: var(--v6-paper);
  --focus: #884b3b;
  --shadow-soft: 0 16px 48px rgba(57, 75, 82, 0.1);
  --shadow-media: var(--v6-shadow);
  overflow: clip;
  background: var(--v6-porcelain);
  color: var(--v6-ink);
  color-scheme: light;
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main :is(h1, h2, h3) {
  color: var(--v6-ink);
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", "Noto Sans SC Display", "Noto Sans SC", serif;
  font-weight: 460;
  letter-spacing: -0.038em;
  line-height: 1.02;
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main p {
  color: var(--v6-ink-muted);
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main .breadcrumbs {
  padding-block: 0.7rem;
  border-bottom: 1px solid var(--v6-line);
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main .breadcrumbs li {
  color: var(--v6-ink-soft);
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main :is(.button, button, select, summary, a):focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 4px;
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main .button {
  min-height: 3.125rem;
  border-radius: 0;
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main .button--primary {
  background: var(--v6-ink);
  color: var(--v6-paper);
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main .button--primary:hover {
  background: #385563;
  color: var(--v6-paper);
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main .button--secondary {
  border-color: var(--v6-ink);
  background: transparent;
  color: var(--v6-ink);
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main .button--secondary:hover {
  border-color: var(--v6-ink);
  background: var(--v6-paper);
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main .text-link {
  color: var(--v6-ink);
  text-decoration-color: var(--v6-terracotta);
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main .text-link::after {
  color: var(--v6-terracotta);
}

/* Shared chapter rhythm. */

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) .content-chapter {
  grid-template-columns: clamp(2.5rem, 5vw, 4.75rem) minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 3rem);
  margin-block-end: clamp(2.5rem, 5vw, 5rem);
  padding-block-start: 1.25rem;
  border-top-color: var(--v6-line-strong);
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) .content-chapter > span {
  color: var(--v6-terracotta);
  font-size: 0.75rem;
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) .content-chapter > div {
  grid-template-columns: minmax(0, 1.1fr) minmax(16rem, 0.65fr);
  gap: clamp(2rem, 5vw, 6rem);
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) .content-chapter h2 {
  max-width: 15ch;
  font-size: clamp(2.3rem, 4.4vw, 4.85rem);
}

/* Shared light hero foundation. */

.page-catalogue .catalogue-hero,
.page-custom-colors .custom-hero,
.page-spaces .spaces-hero,
.page-about .about-hero,
.page-service .service-hero {
  min-height: auto;
  color: var(--v6-ink);
}

.page-catalogue .catalogue-hero::before,
.page-custom-colors .custom-hero::before,
.page-spaces .spaces-hero::before,
.page-about .about-hero::before,
.page-service .service-hero::before {
  background: var(--v6-paper);
}

.page-catalogue .catalogue-hero h1,
.page-custom-colors .custom-hero h1,
.page-spaces .spaces-hero h1,
.page-about .about-hero h1,
.page-service .service-hero h1 {
  max-width: 12ch;
  color: var(--v6-ink);
  font-size: clamp(3.25rem, 6.3vw, 6.25rem);
  line-height: 0.95;
}

:is(
  .page-catalogue .catalogue-hero__copy,
  .page-custom-colors .custom-hero__copy,
  .page-spaces .spaces-hero__copy,
  .page-about .about-hero__copy,
  .page-service .service-hero__copy
) > p:not(.page-code) {
  max-width: 39rem;
  color: var(--v6-ink-muted);
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  line-height: 1.78;
}

.page-custom-colors .custom-hero__actions > span,
.page-spaces .spaces-hero__actions > span {
  color: var(--v6-ink-soft);
}

/* Catalogue: typographic index, product ledger and factual comparison. */

.page-catalogue .catalogue-hero {
  grid-template-columns: minmax(0, 1.15fr) minmax(22rem, 0.85fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
  padding-block: clamp(5.5rem, 9vw, 9rem);
}

.page-catalogue .catalogue-hero::before {
  background: linear-gradient(105deg, var(--v6-paper) 0 63%, var(--v6-blue-pale) 63% 100%);
}

.page-catalogue .catalogue-hero__stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border-block: 1px solid var(--v6-line-strong);
  border-color: var(--v6-line-strong);
}

.page-catalogue .catalogue-hero__stats div {
  min-height: 8.25rem;
  padding: 1.25rem 1rem;
  border-color: var(--v6-line);
}

.page-catalogue .catalogue-hero__stats div:nth-child(odd) {
  border-right-color: var(--v6-line);
}

.page-catalogue .catalogue-hero__stats dt {
  color: var(--v6-ink-soft);
}

.page-catalogue .catalogue-hero__stats dd {
  color: var(--v6-ink);
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  font-size: clamp(2.25rem, 3.6vw, 3.8rem);
}

.page-catalogue .catalogue-model-index {
  grid-template-columns: minmax(7rem, 0.18fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 4.5rem);
  padding-block: clamp(2.75rem, 5vw, 4.75rem);
  border-bottom-color: var(--v6-line-strong);
  background: var(--v6-porcelain);
}

.page-catalogue .catalogue-model-index > p,
.page-catalogue .catalogue-model-index :is(span, small) {
  color: var(--v6-ink-soft);
}

.page-catalogue .catalogue-model-index ol {
  border-left-color: var(--v6-line);
}

.page-catalogue .catalogue-model-index a {
  min-height: 8.5rem;
  padding: 1rem;
  border-right-color: var(--v6-line);
}

.page-catalogue .catalogue-model-index a:hover {
  background: var(--v6-blue-pale);
  color: var(--v6-ink);
}

.page-catalogue .catalogue-model-index a:hover :is(span, small) {
  color: var(--v6-ink-muted);
}

.page-catalogue .catalogue-model-index strong {
  color: var(--v6-ink);
  font-size: clamp(1.05rem, 1.5vw, 1.45rem);
}

.page-catalogue .catalogue-list {
  padding-block: var(--v6-section);
}

.page-catalogue .catalogue-toolbar {
  z-index: 4;
  top: calc(var(--header-height) - 1px);
  margin-block-end: clamp(3rem, 6vw, 6rem);
  padding-block: 1rem;
  border-bottom: 1px solid var(--v6-line);
  background: var(--v6-porcelain);
  backdrop-filter: none;
}

.page-catalogue .filter-group {
  gap: 0.35rem;
}

.page-catalogue .filter-group button {
  min-height: 2.875rem;
  padding-inline: 1rem;
  border: 1px solid transparent;
  border-bottom-color: var(--v6-line-strong);
  border-radius: 0;
  background: transparent;
  color: var(--v6-ink-muted);
}

.page-catalogue .filter-group button:hover {
  border-bottom-color: var(--v6-ink);
  background: var(--v6-paper);
}

.page-catalogue .filter-group button[aria-pressed="true"] {
  border-color: var(--v6-ink);
  background: var(--v6-ink);
  color: var(--v6-paper);
}

.page-catalogue .product-band,
.page-catalogue .product-band--reverse {
  grid-template-columns: minmax(0, 1.12fr) minmax(22rem, 0.88fr);
  min-height: clamp(36rem, 54vw, 46rem);
  border-top-color: var(--v6-line-strong);
  background: transparent;
}

.page-catalogue .product-band--reverse {
  grid-template-columns: minmax(22rem, 0.88fr) minmax(0, 1.12fr);
}

.page-catalogue .product-band:last-child {
  border-bottom-color: var(--v6-line-strong);
}

.page-catalogue .product-band::before {
  inset: 1.25rem auto auto 1.25rem;
  width: 2.625rem;
  height: 2.625rem;
  border: 1px solid var(--v6-line-strong);
  background: var(--v6-paper);
  color: var(--v6-terracotta);
}

.page-catalogue .product-band__media {
  display: grid;
  align-items: stretch;
  margin-block: clamp(1.5rem, 3vw, 3rem);
  overflow: hidden;
  background: var(--v6-paper);
}

.page-catalogue .product-band__media .product-visual {
  min-height: 100%;
  background: var(--v6-paper);
  color: var(--v6-ink);
}

.page-catalogue .product-band__media .media-picture,
.page-catalogue .product-band__media .product-visual__image {
  width: 100%;
  height: 100%;
}

.page-catalogue .product-band__media .product-visual__image {
  padding: clamp(1.5rem, 3.8vw, 4rem);
  object-fit: contain;
}

.page-catalogue [data-tags~="transparent"] .product-band__media .product-visual__image {
  padding: 0;
  object-fit: cover;
}

.page-catalogue .product-band__media .product-visual--pending {
  position: relative;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  place-items: stretch;
  background:
    radial-gradient(circle at 50% 46%, transparent 0 18%, rgb(120 153 166 / 0.22) 18.2% 18.5%, transparent 18.7% 32%, rgb(151 136 159 / 0.18) 32.2% 32.5%, transparent 32.7%),
    var(--v6-blue-pale);
}

.page-catalogue .product-band__media .product-visual__pending-copy {
  display: grid;
  width: min(66%, 28rem);
  gap: 0.55rem;
  align-self: center;
  justify-self: center;
  padding-block: 1.35rem;
  border-block: 1px solid rgb(36 58 70 / 0.28);
  text-align: center;
}

.page-catalogue .product-band__media .product-visual__pending-copy span,
.page-catalogue .product-band__media .product-visual__pending-copy small {
  color: var(--v6-ink-soft);
  font-family: var(--font-data);
  font-size: 0.7rem;
  letter-spacing: 0.06em;
}

.page-catalogue .product-band__media .product-visual__pending-copy strong {
  color: var(--v6-ink);
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 4.4rem);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 0.98;
}

.page-catalogue .product-band__media .product-visual--pending figcaption {
  position: static;
  inset: auto;
  display: grid;
  width: 100%;
  max-width: none;
  gap: 0.2rem;
  padding: 1rem clamp(1rem, 2vw, 1.5rem);
  border-top: 1px solid var(--v6-line);
  background: var(--v6-paper);
  color: var(--v6-ink);
  font-size: 0.7rem;
  backdrop-filter: none;
}

.page-catalogue .product-band__media .product-visual--pending figcaption span {
  color: var(--v6-ink-soft);
}

.page-catalogue .product-band__content {
  padding: clamp(3rem, 6vw, 6rem);
}

.page-catalogue .product-band--pending .product-band__media {
  align-self: center;
  min-height: 0;
  height: clamp(28rem, 38vw, 36rem);
}

.page-catalogue .product-band h2 {
  max-width: 12ch;
  font-size: clamp(2.65rem, 4.7vw, 5.25rem);
}

.page-catalogue .product-band__kicker {
  margin-block-end: clamp(2rem, 4vw, 3.75rem);
  color: var(--v6-ink-soft);
}

.page-catalogue .product-band__facts {
  border-color: var(--v6-line);
}

.page-catalogue .product-band__facts div {
  border-bottom-color: var(--v6-line);
}

.page-catalogue .product-band__facts dt,
.page-catalogue .product-band__price span {
  color: var(--v6-ink-soft);
}

.page-catalogue .compare-section,
.page-catalogue .speaker-ledger {
  padding-block: var(--v6-section);
}

.page-catalogue .compare-section {
  border-top-color: var(--v6-line);
}

.page-catalogue .table-scroll,
.page-service .table-scroll {
  border: 1px solid var(--v6-line-strong);
  background: var(--v6-paper);
  box-shadow: none;
}

.page-catalogue .compare-table thead th,
.page-service .bulk-table thead th {
  background: var(--v6-blue-pale);
  color: var(--v6-ink);
}

.page-catalogue .compare-table th,
.page-catalogue .compare-table td,
.page-service .bulk-table th,
.page-service .bulk-table td {
  border-color: var(--v6-line);
}

.page-catalogue .compare-table tbody tr:nth-child(even),
.page-service .bulk-table tbody tr:nth-child(even) {
  background: rgba(216, 199, 170, 0.2);
}

.page-catalogue .speaker-ledger__rows {
  border-top-color: var(--v6-line-strong);
}

.page-catalogue .speaker-ledger__rows article {
  grid-template-columns: minmax(8rem, 0.25fr) minmax(0, 1fr);
  padding-block: clamp(1.4rem, 2.5vw, 2.25rem);
  border-bottom-color: var(--v6-line);
}

.page-catalogue .speaker-ledger__rows p {
  color: var(--v6-ink);
}

.page-catalogue .pricing-explainer {
  background: var(--v6-blue-pale);
  color: var(--v6-ink);
}

.page-catalogue .pricing-explainer > div {
  min-height: 31rem;
  padding-block: var(--v6-section);
}

.page-catalogue .pricing-explainer h2,
.page-catalogue .pricing-explainer p,
.page-catalogue .pricing-explainer .text-link--light {
  color: var(--v6-ink);
}

.page-catalogue .catalogue-custom {
  min-height: 28rem;
  align-items: end;
  border-bottom: 1px solid var(--v6-line);
}

.page-catalogue .catalogue-custom > div:last-child {
  padding-block-start: 3rem;
}

/* Custom colours: the product remains the focal point. */

.page-custom-colors .custom-hero {
  grid-template-columns: minmax(20rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2.5rem, 6vw, 7rem);
  align-items: center;
  padding-block: clamp(4.5rem, 8vw, 8rem);
}

.page-custom-colors .custom-hero::before {
  background: linear-gradient(110deg, var(--v6-paper) 0 53%, var(--v6-mauve-pale) 53% 100%);
}

.page-custom-colors .custom-hero__media {
  align-self: center;
  background: var(--v6-paper);
  box-shadow: var(--v6-shadow);
}

.page-custom-colors .custom-hero__media .media-picture {
  aspect-ratio: 4 / 3;
  background: var(--v6-paper);
}

.page-custom-colors .custom-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: clamp(1rem, 2.5vw, 2.5rem);
  object-fit: contain;
}

.page-custom-colors .custom-hero__media figcaption {
  position: static;
  padding: 0.8rem 0 0;
  background: transparent;
  color: var(--v6-ink-soft);
  font-size: 0.75rem;
}

.page-custom-colors .custom-facts {
  grid-template-columns: minmax(16rem, 0.32fr) minmax(0, 0.68fr);
  gap: clamp(2.5rem, 6vw, 7rem);
  padding-block: var(--v6-section);
}

.page-custom-colors .custom-facts__intro > span {
  color: var(--v6-terracotta);
}

.page-custom-colors .custom-facts dl {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-block: 1px solid var(--v6-line-strong);
}

.page-custom-colors .custom-facts dl div,
.page-custom-colors .custom-facts dl div:last-child {
  grid-column: auto;
  min-height: 10.5rem;
  padding: 1.25rem 1rem;
  border-right: 1px solid var(--v6-line);
  border-bottom: 0;
}

.page-custom-colors .custom-facts dl div:last-child {
  border-right: 0;
}

.page-custom-colors .custom-facts dt {
  color: var(--v6-terracotta);
}

.page-custom-colors .color-configurator {
  grid-template-columns: minmax(0, 1.18fr) minmax(23rem, 0.82fr);
  gap: clamp(3rem, 7vw, 8rem);
  padding-block: var(--v6-section);
}

.page-custom-colors .color-configurator__stage {
  top: calc(var(--header-height) + 1.5rem);
}

.page-custom-colors .color-configurator__image-wrap {
  aspect-ratio: 4 / 3;
  border: 1px solid var(--v6-line);
  background: var(--v6-paper);
  box-shadow: var(--v6-shadow);
}

.page-custom-colors .color-configurator__image-wrap img {
  width: 100%;
  height: 100%;
  padding: clamp(1.25rem, 3vw, 3rem);
  object-fit: contain;
}

.page-custom-colors .color-configurator__caption {
  color: var(--v6-ink-soft);
}

.page-custom-colors .color-configurator__panel {
  padding-block-start: 1.25rem;
  padding-inline-start: clamp(1.25rem, 3vw, 3rem);
  border-top: 1px solid var(--v6-line-strong);
  border-left: 1px solid var(--v6-line);
}

.page-custom-colors .color-configurator__panel h2 {
  max-width: 12ch;
  font-size: clamp(2.35rem, 4vw, 4.35rem);
}

.page-custom-colors .colorway-option {
  border-color: var(--v6-line);
  border-radius: 0;
  background: transparent;
  color: var(--v6-ink);
}

.page-custom-colors .colorway-option:hover {
  border-color: var(--v6-ink-soft);
  background: var(--v6-paper);
}

.page-custom-colors .colorway-option[aria-pressed="true"] {
  border-color: var(--v6-ink);
  background: var(--v6-blue-pale);
  box-shadow: inset 0 -3px 0 var(--v6-terracotta);
}

.page-custom-colors .colorway-option__thumb {
  border: 1px solid var(--v6-line);
}

.page-custom-colors .colorway-option__copy small {
  color: var(--v6-ink-soft);
}

.page-custom-colors .colorway-option__state {
  color: var(--v6-terracotta);
}

.page-custom-colors .selection-summary,
.page-custom-colors .customization-unknowns {
  border-color: var(--v6-line);
}

.page-custom-colors .custom-material-story {
  grid-template-columns: minmax(0, 1.2fr) minmax(22rem, 0.8fr);
  gap: 0;
  padding: 0;
  background: var(--v6-mauve-pale);
  color: var(--v6-ink);
}

.page-custom-colors .custom-material-story__media,
.page-custom-colors .custom-material-story__media .media-picture {
  min-height: 42rem;
}

.page-custom-colors .custom-material-story__media img {
  width: 100%;
  height: 100%;
  min-height: 42rem;
  object-fit: cover;
}

.page-custom-colors .custom-material-story__copy {
  padding: clamp(4rem, 7vw, 8rem) clamp(2rem, 5vw, 6rem);
}

.page-custom-colors .custom-material-story h2,
.page-custom-colors .custom-material-story p {
  color: var(--v6-ink);
}

.page-custom-colors .custom-material-story p {
  color: var(--v6-ink-muted);
}

.page-custom-colors .custom-process,
.page-custom-colors .custom-boundary,
.page-custom-colors .media-gallery {
  padding-block: var(--v6-section);
}

.page-custom-colors .custom-process ol {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top-color: var(--v6-line-strong);
}

.page-custom-colors .custom-process li {
  min-height: 14rem;
  border-color: var(--v6-line);
}

.page-custom-colors .custom-process li:nth-child(2),
.page-custom-colors .custom-process li:nth-child(4) {
  background: rgba(220, 231, 232, 0.38);
}

.page-custom-colors .custom-process li > span:first-child {
  color: var(--v6-terracotta);
}

.page-custom-colors .custom-boundary {
  grid-template-columns: minmax(18rem, 0.65fr) minmax(0, 1.35fr);
  border-color: var(--v6-line-strong);
}

.page-custom-colors .custom-boundary ul {
  border-top-color: var(--v6-line-strong);
}

.page-custom-colors .custom-boundary li {
  border-bottom-color: var(--v6-line);
}

/* Spaces: cinematic scene reading without presenting renders as case studies. */

.page-spaces .spaces-hero {
  grid-template-columns: minmax(20rem, 0.66fr) minmax(0, 1.34fr);
  gap: clamp(2.5rem, 6vw, 7rem);
  align-items: center;
  padding-block: clamp(4.5rem, 8vw, 8rem);
}

.page-spaces .spaces-hero::before {
  background: linear-gradient(108deg, var(--v6-paper) 0 47%, var(--v6-blue-pale) 47% 100%);
}

.page-spaces .spaces-hero__media {
  background: var(--v6-paper);
  box-shadow: var(--v6-shadow);
}

.page-spaces .spaces-hero__media .media-picture {
  aspect-ratio: 16 / 10;
}

.page-spaces .spaces-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.page-spaces .spaces-hero__media figcaption {
  position: static;
  padding: 0.8rem 0 0;
  background: transparent;
  color: var(--v6-ink-soft);
  font-size: 0.75rem;
}

.page-spaces .space-reading {
  padding-block: var(--v6-section);
}

.page-spaces .space-reading dl {
  gap: 0;
  margin-block-start: 3rem;
  border-block: 1px solid var(--v6-line-strong);
}

.page-spaces .space-reading dl div {
  min-height: 15rem;
  padding: 4.5rem 1.5rem 1.5rem;
  border-color: var(--v6-line);
}

.page-spaces .space-reading dl div:nth-child(2) {
  background: rgba(232, 224, 231, 0.48);
}

.page-spaces .space-reading dl div::before {
  color: var(--v6-terracotta);
}

.page-spaces .space-reading dt {
  color: var(--v6-ink);
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", "Noto Sans SC Display", serif;
}

.page-spaces .space-reading dd {
  color: var(--v6-ink-muted);
}

.page-spaces .space-editorial,
.page-spaces .space-editorial--reverse {
  grid-template-columns: minmax(0, 1.25fr) minmax(21rem, 0.75fr);
  min-height: 46rem;
  gap: clamp(3rem, 8vw, 9rem);
  padding-block: var(--v6-section);
  border-top-color: var(--v6-line);
}

.page-spaces .space-editorial--reverse {
  grid-template-columns: minmax(21rem, 0.75fr) minmax(0, 1.25fr);
}

.page-spaces .space-editorial__media {
  min-height: 34rem;
  overflow: hidden;
  background: var(--v6-paper);
  box-shadow: var(--v6-shadow);
}

.page-spaces .space-editorial__media .media-picture,
.page-spaces .space-editorial__media img {
  width: 100%;
  height: 100%;
}

.page-spaces .space-editorial__media img {
  object-fit: cover;
}

.page-spaces .space-editorial__index {
  color: var(--v6-terracotta);
}

.page-spaces .space-editorial h2 {
  max-width: 11ch;
  font-size: clamp(2.65rem, 4.8vw, 5.15rem);
}

.page-spaces .scale-reading {
  background: var(--v6-sand-pale);
  color: var(--v6-ink);
}

.page-spaces .scale-reading > div {
  min-height: 36rem;
  align-items: center;
  padding-block: var(--v6-section);
}

.page-spaces .scale-reading h2,
.page-spaces .scale-reading p,
.page-spaces .scale-reading dt,
.page-spaces .scale-reading dd {
  color: var(--v6-ink);
}

.page-spaces .scale-reading dt {
  color: var(--v6-terracotta);
}

.page-spaces .scale-reading dl div {
  min-height: 8rem;
  border-color: var(--v6-line);
  background: rgba(255, 253, 248, 0.48);
}

.page-spaces .scale-reading > div > p {
  color: var(--v6-ink-muted);
}

.page-spaces .media-gallery,
.page-spaces .space-products {
  padding-block: var(--v6-section);
}

.page-spaces .outdoor-boundary {
  grid-template-columns: minmax(18rem, 0.62fr) minmax(0, 1.38fr);
  align-items: start;
  padding-block: var(--v6-section);
  border-color: var(--v6-line);
  background: linear-gradient(90deg, transparent, rgba(240, 221, 213, 0.38));
}

.page-spaces .outdoor-boundary ul {
  border-top-color: var(--v6-line-strong);
}

.page-spaces .outdoor-boundary li {
  border-bottom-color: var(--v6-line);
}

.page-spaces .space-products .product-compact {
  border-top-color: var(--v6-line-strong);
  background: transparent;
}

.page-spaces .space-products .product-compact__media,
.page-spaces .space-products .product-visual {
  background: var(--v6-paper);
}

.page-spaces .space-products .product-visual__image {
  padding: 1rem;
  object-fit: contain;
}

.page-spaces .space-products .product-compact:nth-child(3) .product-visual__image {
  padding: 0;
  object-fit: cover;
}

/* About: an evidence-led brand record in soft blue and mauve. */

.page-about .about-hero {
  grid-template-columns: minmax(20rem, 0.74fr) minmax(0, 1.26fr);
  grid-template-rows: 1fr auto;
  gap: clamp(2.5rem, 6vw, 7rem);
  align-items: center;
  padding-block: clamp(4.5rem, 8vw, 8rem) 2.25rem;
}

.page-about .about-hero::before {
  background: linear-gradient(108deg, var(--v6-paper) 0 51%, var(--v6-mauve-pale) 51% 100%);
}

.page-about .about-hero__media {
  align-self: stretch;
  overflow: hidden;
  background: var(--v6-paper);
  box-shadow: var(--v6-shadow);
}

.page-about .about-hero__media .media-picture,
.page-about .about-hero__media img {
  width: 100%;
  height: 100%;
}

.page-about .about-hero__media img {
  min-height: 34rem;
  object-fit: cover;
}

.page-about .about-hero__media figcaption {
  padding-block-start: 0.75rem;
  color: var(--v6-ink-soft);
}

.page-about .about-hero__identity {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top-color: var(--v6-line-strong);
}

.page-about .about-hero__identity div {
  min-height: 6.5rem;
  border-right-color: var(--v6-line);
}

.page-about .about-hero__identity dt {
  color: var(--v6-ink-soft);
}

.page-about .about-hero__identity dd {
  color: var(--v6-ink);
}

.page-about .company-profile {
  grid-template-columns: minmax(20rem, 0.68fr) minmax(0, 1.32fr);
  gap: clamp(3rem, 8vw, 9rem);
  padding-block: var(--v6-section);
}

.page-about .company-profile dl {
  border-top-color: var(--v6-line-strong);
}

.page-about .company-profile dl div {
  grid-template-columns: 9rem 1fr;
  min-height: 5.4rem;
  border-bottom-color: var(--v6-line);
}

.page-about .company-profile dt {
  color: var(--v6-ink-soft);
}

.page-about .family-map {
  background: var(--v6-blue-pale);
  color: var(--v6-ink);
}

.page-about .family-map > div {
  padding-block: var(--v6-section);
}

.page-about .family-map h2,
.page-about .family-map h3,
.page-about .family-map p,
.page-about .family-map a {
  color: var(--v6-ink);
}

.page-about .family-map__intro {
  grid-template-columns: minmax(12rem, 0.28fr) minmax(0, 0.72fr);
}

.page-about .family-map__intro h2 {
  max-width: 11ch;
  color: var(--v6-ink);
}

.page-about .family-map__rows {
  border-top-color: var(--v6-line-strong);
}

.page-about .family-map__rows article {
  grid-template-columns: minmax(17rem, 0.62fr) minmax(0, 1.38fr);
  border-bottom-color: var(--v6-line);
}

.page-about .family-map__rows article p {
  color: var(--v6-ink-muted);
}

.page-about .family-map__rows a {
  min-height: 3.75rem;
  border-bottom-color: var(--v6-line);
}

.page-about .family-map__rows a:hover {
  color: #824b3d;
}

.page-about .materials-story {
  grid-template-columns: minmax(0, 1.12fr) minmax(21rem, 0.88fr);
  min-height: 46rem;
  gap: clamp(3rem, 8vw, 9rem);
  padding-block: var(--v6-section);
}

.page-about .materials-story__media {
  min-height: 35rem;
  overflow: hidden;
  background: var(--v6-paper);
  box-shadow: var(--v6-shadow);
}

.page-about .materials-story__media .media-picture,
.page-about .materials-story__media img {
  width: 100%;
  height: 100%;
}

.page-about .materials-story__media img {
  object-fit: cover;
}

.page-about .materials-story__copy dl {
  border-top-color: var(--v6-line-strong);
}

.page-about .materials-story__copy dl div {
  border-bottom-color: var(--v6-line);
}

.page-about .claims-section,
.page-about .source-boundary,
.page-about .about-principles {
  padding-block: var(--v6-section);
}

.page-about .claims-section__content {
  border-top-color: var(--v6-line-strong);
}

.page-about .experience-claim {
  border-right-color: var(--v6-line);
  border-bottom-color: var(--v6-line);
  background: var(--v6-paper);
}

.page-about .experience-claim strong {
  color: var(--v6-terracotta);
}

.page-about .claims-section ul {
  border-top-color: var(--v6-line-strong);
}

.page-about .claims-section li {
  border-color: var(--v6-line);
}

.page-about .source-boundary {
  grid-template-columns: minmax(18rem, 0.62fr) minmax(0, 1.38fr);
  border-color: var(--v6-line-strong);
  background: linear-gradient(90deg, transparent, rgba(216, 199, 170, 0.24));
}

.page-about .source-boundary__columns {
  border-top-color: var(--v6-line-strong);
}

.page-about .source-boundary__columns section {
  border-color: var(--v6-line);
  background: rgba(255, 253, 248, 0.46);
}

.page-about .about-principles ol {
  border-top-color: var(--v6-line-strong);
}

.page-about .about-principles li {
  border-color: var(--v6-line);
}

.page-about .about-principles li:nth-child(2),
.page-about .about-principles li:nth-child(3) {
  background: rgba(232, 224, 231, 0.4);
}

.page-about .about-principles li::before {
  color: var(--v6-terracotta);
}

/* Service: contact path first, commercial detail second. */

.page-service .service-hero {
  grid-template-columns: minmax(20rem, 0.84fr) minmax(0, 1.16fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
  padding-block: clamp(4.5rem, 8vw, 8rem);
}

.page-service .service-hero::before {
  background: linear-gradient(108deg, var(--v6-paper) 0 52%, var(--v6-sand-pale) 52% 100%);
}

.page-service .service-hero__media {
  background: var(--v6-paper);
  box-shadow: var(--v6-shadow);
}

.page-service .service-hero__media .media-picture {
  aspect-ratio: 4 / 3;
}

.page-service .service-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.page-service .service-hero__media > p {
  position: static;
  padding: 0.8rem 0 0;
  background: transparent;
  color: var(--v6-ink-soft);
  font-size: 0.75rem;
}

.page-service .service-inquiry-dock {
  grid-template-columns: minmax(18rem, 0.66fr) minmax(0, 1.34fr);
  gap: clamp(3rem, 7vw, 8rem);
  padding-block: var(--v6-section);
  border-bottom-color: var(--v6-line-strong);
}

.page-service .service-inquiry-dock__intro > span {
  color: var(--v6-terracotta);
}

.page-service .service-inquiry-dock__actions {
  border-top-color: var(--v6-line-strong);
}

.page-service .service-inquiry-dock__actions > a {
  border-bottom-color: var(--v6-line);
}

.page-service .service-inquiry-dock__actions > a:hover {
  background: var(--v6-paper);
}

.page-service .service-inquiry-dock__actions > a span,
.page-service .service-copy-action p {
  color: var(--v6-ink-soft);
}

.page-service .inquiry-path,
.page-service .bulk-pricing,
.page-service .procurement-flow,
.page-service .terms-grid,
.page-service .packaging-boundary,
.page-service .faq-section {
  padding-block: var(--v6-section);
}

.page-service .inquiry-path ol {
  border-top-color: var(--v6-line-strong);
}

.page-service .inquiry-path li {
  min-height: 13.5rem;
  border-color: var(--v6-line);
}

.page-service .inquiry-path li:nth-child(even) {
  background: rgba(220, 231, 232, 0.38);
}

.page-service .inquiry-path li > span:first-child {
  color: var(--v6-terracotta);
}

.page-service .contact-panel {
  background: var(--v6-mauve-pale);
  color: var(--v6-ink);
}

.page-service .contact-panel > div {
  min-height: 35rem;
  padding-block: var(--v6-section);
}

.page-service .contact-panel h2,
.page-service .contact-panel p,
.page-service .contact-panel a,
.page-service .contact-panel strong {
  color: var(--v6-ink);
}

.page-service .contact-panel > div > div p:not(.model-mark) {
  color: var(--v6-ink-muted);
}

.page-service .contact-panel__facts {
  display: grid;
  border-top-color: var(--v6-line-strong);
  border-top-style: solid;
  border-top-width: 1px;
}

.page-service .contact-panel__facts > * {
  display: grid;
  min-height: 5.25rem;
  justify-content: center;
  margin: 0;
  padding-block: 1rem;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: var(--v6-line);
}

.page-service .contact-panel__facts :is(span, small) {
  color: var(--v6-ink-soft);
  font-size: 0.74rem;
}

.page-service .procurement-flow {
  grid-template-columns: minmax(18rem, 0.52fr) minmax(0, 1.48fr);
  gap: clamp(3rem, 8vw, 9rem);
}

.page-service .procurement-flow ol {
  border-top-color: var(--v6-line-strong);
}

.page-service .procurement-flow li {
  grid-template-columns: minmax(11rem, 0.42fr) minmax(0, 1fr);
  min-height: 6.75rem;
  border-color: var(--v6-line);
}

.page-service .procurement-flow li:nth-child(even) {
  background: rgba(216, 199, 170, 0.22);
}

.page-service .terms-grid {
  border-top-color: var(--v6-line-strong);
}

.page-service .terms-grid dl {
  border-color: var(--v6-line);
}

.page-service .terms-grid dl div {
  min-height: 7.5rem;
  border-color: var(--v6-line);
}

.page-service .terms-grid dl div:nth-child(4n + 2),
.page-service .terms-grid dl div:nth-child(4n + 3) {
  background: rgba(220, 231, 232, 0.3);
}

.page-service .packaging-boundary {
  grid-template-columns: minmax(18rem, 0.62fr) minmax(0, 1.38fr);
  align-items: start;
  border-color: var(--v6-line);
}

.page-service .packaging-boundary li {
  border-color: var(--v6-line-strong);
  border-radius: 0;
  background: var(--v6-paper);
}

.page-service .faq-list {
  border-top-color: var(--v6-line-strong);
}

.page-service .faq-list details {
  border-bottom-color: var(--v6-line);
  background: transparent;
}

.page-service .faq-list details[open] {
  background: rgba(255, 253, 248, 0.72);
}

.page-service .faq-list summary {
  min-height: 5rem;
  padding: 1.45rem 3rem 1.45rem 0;
  color: var(--v6-ink);
}

.page-service .faq-list summary::marker {
  color: var(--v6-terracotta);
}

.page-service .faq-list p {
  color: var(--v6-ink-muted);
}

/* Shared media rails and closing actions. */

:is(.page-custom-colors, .page-spaces) .media-gallery__toolbar {
  padding-block: 0.9rem;
  border-top-color: var(--v6-line-strong);
}

:is(.page-custom-colors, .page-spaces) .media-gallery__toolbar button {
  min-width: 3.25rem;
  min-height: 2.875rem;
  border-color: var(--v6-line-strong);
  border-radius: 0;
  background: transparent;
  color: var(--v6-ink);
}

:is(.page-custom-colors, .page-spaces) .media-gallery__toolbar button:hover:not(:disabled) {
  background: var(--v6-paper);
}

:is(.page-custom-colors, .page-spaces) .media-rail {
  grid-auto-columns: minmax(22rem, 50vw);
  gap: 1rem;
  scrollbar-color: var(--v6-terracotta) var(--v6-sand-pale);
}

:is(.page-custom-colors, .page-spaces) .media-rail__item a {
  background: var(--v6-paper);
}

:is(.page-custom-colors, .page-spaces) .media-rail__picture,
:is(.page-custom-colors, .page-spaces) .media-rail__image {
  aspect-ratio: 4 / 3;
}

:is(.page-custom-colors, .page-spaces) .media-rail__image {
  object-fit: cover;
}

:is(.page-custom-colors, .page-spaces) .media-rail__item figcaption {
  color: var(--v6-ink-soft);
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-about,
  .page-service
) .closing-action {
  position: relative;
  isolation: isolate;
  min-height: 23rem;
  padding-block: clamp(4rem, 7vw, 7rem);
  border-top-color: var(--v6-line-strong);
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-about,
  .page-service
) .closing-action::before {
  position: absolute;
  z-index: -1;
  inset: 0 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--v6-sand-pale);
  content: "";
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main .market-disclosure {
  border-inline-start-color: var(--v6-terracotta);
  background: var(--v6-terracotta-pale);
  color: var(--v6-ink-muted);
}

@media (min-width: 1600px) {
  :is(
    .page-catalogue,
    .page-custom-colors,
    .page-spaces,
    .page-about,
    .page-service
  ) main {
    --v6-section: 9rem;
  }

  .page-spaces .space-editorial__media,
  .page-about .materials-story__media {
    min-height: 39rem;
  }
}

@media (max-width: 1199px) {
  .page-catalogue .catalogue-model-index ol {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-catalogue .catalogue-model-index li:nth-child(n + 4) a {
    border-top-color: var(--v6-line);
  }

  .page-custom-colors .custom-facts dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-custom-colors .custom-facts dl div:nth-child(3) {
    border-right: 0;
  }

  .page-custom-colors .custom-facts dl div:nth-child(n + 4) {
    border-top: 1px solid var(--v6-line);
  }
}

@media (max-width: 1023px) {
  :is(
    .page-catalogue,
    .page-custom-colors,
    .page-spaces,
    .page-about,
    .page-service
  ) main {
    --v6-section: clamp(4.5rem, 9vw, 7rem);
  }

  :is(
    .page-catalogue,
    .page-custom-colors,
    .page-spaces,
    .page-about,
    .page-service
  ) .content-chapter > div {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .page-catalogue .catalogue-hero,
  .page-custom-colors .custom-hero,
  .page-spaces .spaces-hero,
  .page-about .about-hero,
  .page-service .service-hero,
  .page-custom-colors .custom-facts,
  .page-custom-colors .color-configurator,
  .page-about .company-profile,
  .page-about .source-boundary,
  .page-service .service-inquiry-dock,
  .page-service .procurement-flow {
    grid-template-columns: 1fr;
  }

  .page-catalogue .catalogue-hero::before,
  .page-custom-colors .custom-hero::before,
  .page-spaces .spaces-hero::before,
  .page-about .about-hero::before,
  .page-service .service-hero::before {
    background: var(--v6-paper);
  }

  .page-catalogue .catalogue-hero__stats {
    max-width: 44rem;
  }

  .page-catalogue .product-band,
  .page-catalogue .product-band--reverse {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .page-catalogue .product-band--reverse .product-band__media {
    order: 0;
  }

  .page-catalogue .product-band__media {
    min-height: 32rem;
    margin-block-end: 0;
  }

  .page-custom-colors .color-configurator__stage,
  .page-about .company-profile__lead,
  .page-service .procurement-flow > div {
    position: static;
  }

  .page-custom-colors .color-configurator__panel {
    padding: 2rem 0 0;
    border-top: 1px solid var(--v6-line-strong);
    border-left: 0;
  }

  .page-custom-colors .custom-material-story,
  .page-spaces .space-editorial,
  .page-spaces .space-editorial--reverse,
  .page-about .materials-story {
    grid-template-columns: 1fr;
  }

  .page-spaces .space-editorial--reverse .space-editorial__media {
    order: 0;
  }

  .page-spaces .space-editorial__media,
  .page-about .materials-story__media {
    min-height: 31rem;
  }

  .page-about .about-hero__identity {
    grid-row: auto;
  }
}

@media (max-width: 767px) {
  :is(
    .page-catalogue,
    .page-custom-colors,
    .page-spaces,
    .page-about,
    .page-service
  ) main {
    --v6-section: 4.5rem;
  }

  :is(
    .page-catalogue,
    .page-custom-colors,
    .page-spaces,
    .page-about,
    .page-service
  ) .content-chapter {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    margin-block-end: 2.25rem;
  }

  .page-catalogue .catalogue-hero,
  .page-custom-colors .custom-hero,
  .page-spaces .spaces-hero,
  .page-about .about-hero,
  .page-service .service-hero {
    gap: 2.75rem;
    padding-block: 3.75rem 3rem;
  }

  .page-catalogue .catalogue-hero h1,
  .page-custom-colors .custom-hero h1,
  .page-spaces .spaces-hero h1,
  .page-about .about-hero h1,
  .page-service .service-hero h1 {
    max-width: 13ch;
    font-size: clamp(3rem, 14vw, 4.75rem);
    line-height: 0.98;
  }

  .page-catalogue .catalogue-model-index {
    grid-template-columns: 1fr;
  }

  .page-catalogue .catalogue-model-index ol {
    grid-template-columns: 1fr 1fr;
  }

  .page-catalogue .catalogue-model-index li:nth-child(n + 3) a {
    border-top-color: var(--v6-line);
  }

  .page-catalogue .catalogue-model-index a {
    min-height: 7.25rem;
  }

  .page-catalogue .catalogue-toolbar {
    position: static;
    gap: 1rem;
  }

  .page-catalogue .filter-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    flex-wrap: wrap;
    justify-content: flex-start;
    overflow: visible;
    width: 100%;
    padding-block-end: 0.5rem;
  }

  .page-catalogue .filter-group button {
    width: 100%;
  }

  .page-catalogue .filter-group button:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .page-catalogue .product-band__media {
    min-height: 23rem;
    margin-block-start: 1rem;
  }

  .page-catalogue .product-band__media .product-visual__image {
    padding: 1.25rem;
  }

  .page-catalogue .product-band__content {
    padding: 2.5rem 1rem 3.75rem;
  }

  .page-catalogue .product-band--pending .product-band__media {
    height: 24rem;
  }

  .page-catalogue .product-band h2 {
    font-size: clamp(2.4rem, 11vw, 3.8rem);
  }

  .page-catalogue .speaker-ledger__rows article,
  .page-custom-colors .custom-boundary,
  .page-spaces .outdoor-boundary,
  .page-about .source-boundary,
  .page-service .packaging-boundary {
    grid-template-columns: 1fr;
  }

  .page-custom-colors .custom-facts dl,
  .page-spaces .space-reading dl,
  .page-about .about-principles ol,
  .page-service .terms-grid dl {
    grid-template-columns: 1fr;
  }

  .page-custom-colors .custom-facts dl div,
  .page-custom-colors .custom-facts dl div:last-child {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--v6-line);
  }

  .page-custom-colors .custom-hero__media .media-picture,
  .page-custom-colors .color-configurator__image-wrap {
    aspect-ratio: 1 / 1;
  }

  .page-custom-colors .custom-material-story__media,
  .page-custom-colors .custom-material-story__media .media-picture,
  .page-custom-colors .custom-material-story__media img {
    min-height: 28rem;
  }

  .page-custom-colors .custom-process ol,
  .page-service .inquiry-path ol {
    grid-template-columns: 1fr;
  }

  .page-custom-colors .custom-process li,
  .page-service .inquiry-path li {
    min-height: 0;
  }

  .page-spaces .spaces-hero__media .media-picture,
  .page-service .service-hero__media .media-picture {
    aspect-ratio: 4 / 3;
  }

  .page-spaces .space-editorial,
  .page-spaces .space-editorial--reverse {
    min-height: 0;
    gap: 2.25rem;
  }

  .page-spaces .space-editorial__media,
  .page-about .materials-story__media {
    min-height: 24rem;
  }

  .page-spaces .scale-reading > div {
    min-height: 0;
  }

  .page-spaces .scale-reading dl,
  .page-about .claims-section__content,
  .page-about .source-boundary__columns {
    grid-template-columns: 1fr;
  }

  .page-spaces .space-products .product-compact-grid {
    grid-template-columns: 1fr;
  }

  .page-about .about-hero__identity,
  .page-about .family-map__rows article {
    grid-template-columns: 1fr;
  }

  .page-about .about-hero__identity div {
    min-height: 4.75rem;
    border-right: 0;
    border-bottom: 1px solid var(--v6-line);
  }

  .page-about .experience-claim {
    border-right: 0;
  }

  .page-service .service-inquiry-dock__actions > a,
  .page-service .procurement-flow li {
    grid-template-columns: 1fr;
  }

  .page-service .service-inquiry-dock__actions > a {
    gap: 0.25rem;
    padding-block: 0.9rem;
  }

  .page-service .service-copy-action {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .page-service .service-copy-action .button {
    width: 100%;
  }

  :is(.page-custom-colors, .page-spaces) .media-rail {
    grid-auto-columns: minmax(17rem, 84vw);
  }

  :is(
    .page-catalogue,
    .page-custom-colors,
    .page-about,
    .page-service
  ) .closing-action {
    grid-template-columns: 1fr;
    min-height: 0;
    align-items: start;
  }
}

@media (max-width: 359px) {
  .page-catalogue .catalogue-hero__stats,
  .page-catalogue .catalogue-model-index ol,
  .page-catalogue .catalogue-model-index li:nth-child(n + 2) a {
    border-top: 1px solid var(--v6-line);
  }

  .page-custom-colors .selection-summary,
  .page-custom-colors .customization-unknowns {
    grid-template-columns: 1fr;
  }

  .page-custom-colors .selection-summary strong,
  .page-custom-colors .customization-unknowns strong {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(
    .page-catalogue,
    .page-custom-colors,
    .page-spaces,
    .page-about,
    .page-service
  ) main *,
  :is(
    .page-catalogue,
    .page-custom-colors,
    .page-spaces,
    .page-about,
    .page-service
  ) main *::before,
  :is(
    .page-catalogue,
    .page-custom-colors,
    .page-spaces,
    .page-about,
    .page-service
  ) main *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  :is(.page-custom-colors, .page-spaces) .media-rail__image,
  .page-catalogue .catalogue-model-index a,
  .page-custom-colors .colorway-option {
    transform: none !important;
  }
}

@media (prefers-contrast: more) {
  :is(
    .page-catalogue,
    .page-custom-colors,
    .page-spaces,
    .page-about,
    .page-service
  ) main {
    --v6-line: currentColor;
    --v6-line-strong: currentColor;
  }
}

@media (forced-colors: active) {
  .page-catalogue .catalogue-hero::before,
  .page-custom-colors .custom-hero::before,
  .page-spaces .spaces-hero::before,
  .page-about .about-hero::before,
  .page-service .service-hero::before,
  :is(
    .page-catalogue,
    .page-custom-colors,
    .page-about,
    .page-service
  ) .closing-action::before {
    background: Canvas;
  }
}

/* V6.1 brand and service exhibition pages: image-led, compact and factual. */

.page-about .about-hero--exhibition,
.page-service .service-hero--exhibition {
  grid-template-columns: minmax(0, 1.18fr) minmax(20rem, 0.82fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  padding-block: clamp(2.25rem, 5vw, 5rem);
}

.page-about .about-hero--exhibition::before,
.page-service .service-hero--exhibition::before {
  background: var(--v6-paper);
}

.page-about .about-hero--exhibition h1,
.page-service .service-hero--exhibition h1 {
  max-width: 11ch;
  font-size: clamp(2.75rem, 4.65vw, 4.8rem);
  line-height: 0.98;
}

.page-about .about-hero--exhibition .about-hero__copy,
.page-service .service-hero--exhibition .service-hero__copy {
  align-self: center;
  padding-block: clamp(1rem, 4vw, 3.5rem);
}

.page-about .about-hero--exhibition .about-hero__media {
  grid-row: 1 / span 2;
  min-height: 40rem;
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 0.875rem;
  box-shadow: var(--v6-shadow);
}

.page-about .about-hero--exhibition .about-hero__media img {
  min-height: 40rem;
  object-position: 50% 55%;
}

.page-about .about-hero--exhibition .about-hero__media figcaption {
  position: absolute;
  inset: auto 1rem 1rem;
  width: fit-content;
  max-width: calc(100% - 2rem);
  padding: 0.65rem 0.8rem;
  border-radius: 0.35rem;
  background: rgba(25, 46, 55, 0.9);
  color: var(--v6-paper);
  font-size: 0.76rem;
}

.page-about .about-hero--exhibition .about-hero__identity {
  grid-column: 2;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-self: end;
  margin: 0;
}

.page-about .about-hero--exhibition .about-hero__identity div {
  min-height: 5.5rem;
  padding-inline: 0.75rem;
}

.page-about .about-hero--exhibition .about-hero__identity dd {
  font-size: clamp(1.25rem, 2.2vw, 2rem);
}

.page-about .about-family-stage {
  padding-block: var(--v6-section);
}

.page-about .about-family-stage__heading,
.page-about .about-section-heading,
.page-service .service-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(18rem, 0.58fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
  margin-block-end: clamp(2.25rem, 5vw, 4.5rem);
  padding-block-start: 1.25rem;
  border-top: 1px solid var(--v6-line-strong);
}

.page-about .about-family-stage__heading h2,
.page-about .about-section-heading h2,
.page-service .service-section-heading h2 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(2rem, 3.8vw, 4rem);
}

.page-about .about-family-stage__heading p,
.page-about .about-section-heading p,
.page-service .service-section-heading p {
  max-width: 38rem;
  margin: 0;
  line-height: 1.72;
}

.page-about .about-family-stage__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(18rem, 0.78fr);
  grid-template-rows: repeat(2, minmax(18rem, auto));
  gap: clamp(0.9rem, 1.8vw, 1.5rem);
}

.page-about .about-family-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(13rem, 0.55fr);
  min-width: 0;
  overflow: hidden;
  border-radius: 0.875rem;
  background: var(--v6-paper);
  box-shadow: 0 18px 54px rgba(57, 75, 82, 0.1);
}

.page-about .about-family-card--1 {
  grid-row: 1 / span 2;
  grid-template-columns: 1fr;
  grid-template-rows: minmax(26rem, 1fr) auto;
}

.page-about .about-family-card__media {
  display: block;
  min-height: 100%;
  overflow: hidden;
  background: var(--v6-blue-pale);
}

.page-about .about-family-card__media .media-picture,
.page-about .about-family-card__media img {
  width: 100%;
  height: 100%;
}

.page-about .about-family-card__media img {
  object-fit: cover;
  transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
}

.page-about .about-family-card--1 .about-family-card__media img {
  object-fit: contain;
  padding: clamp(0.75rem, 2vw, 1.5rem);
}

.page-about .about-family-card:hover .about-family-card__media img,
.page-about .about-family-card:focus-within .about-family-card__media img {
  transform: scale(1.025);
}

.page-about .about-family-card__body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 0.85rem;
  padding: clamp(1.25rem, 2.5vw, 2rem);
}

.page-about .about-family-card__body h3,
.page-about .about-family-card__body p {
  margin: 0;
}

.page-about .about-family-card__body h3 {
  font-size: clamp(1.6rem, 2.5vw, 2.65rem);
}

.page-about .about-family-card__body h3 a {
  color: var(--v6-ink);
  text-decoration: none;
}

.page-about .about-family-card__body p {
  max-width: 42ch;
  line-height: 1.65;
}

.page-about .about-family-card__body .text-link {
  width: fit-content;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
}

.page-about .about-family-card__body .text-link::after {
  width: 0.48rem;
  height: 0.48rem;
  margin-inline-start: 0.5rem;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  content: "";
  transform: rotate(45deg);
}

.page-about .company-profile {
  margin-block: clamp(1rem, 3vw, 2rem);
  padding-block: clamp(4rem, 7vw, 7rem);
  background: var(--v6-blue-pale);
  box-shadow: 0 0 0 100vmax var(--v6-blue-pale);
  clip-path: inset(0 -100vmax);
}

.page-about .company-profile__lead {
  position: static;
}

.page-about .materials-story {
  min-height: 0;
  padding-block: var(--v6-section);
}

.page-about .materials-story__media {
  min-height: 32rem;
  border-radius: 0.875rem;
}

.page-about .claims-section,
.page-about .source-boundary,
.page-about .about-principles {
  padding-block: var(--v6-section);
}

.page-about .claims-section__content {
  border-top: 0;
}

.page-about .source-boundary {
  grid-template-columns: minmax(17rem, 0.52fr) minmax(0, 1.48fr);
  gap: clamp(2.5rem, 7vw, 8rem);
  background: transparent;
}

.page-about .source-boundary > div:first-child h2 {
  max-width: 10ch;
  margin: 0;
  font-size: clamp(2.2rem, 4vw, 4.15rem);
}

.page-about .source-boundary__columns {
  display: block;
  border-top: 1px solid var(--v6-line-strong);
}

.page-about .source-boundary__columns details {
  border-bottom: 1px solid var(--v6-line);
  background: transparent;
}

.page-about .source-boundary__columns details[open] {
  background: rgba(255, 253, 248, 0.7);
}

.page-about .source-boundary__columns summary {
  min-height: 4.75rem;
  padding: 1.35rem 1rem;
  color: var(--v6-ink);
  cursor: pointer;
  font-weight: 700;
  list-style-position: inside;
}

.page-about .source-boundary__columns ul {
  margin: 0;
  padding: 0 1.5rem 1.5rem 2.7rem;
  color: var(--v6-ink-muted);
}

.page-about .source-boundary__columns li + li {
  margin-block-start: 0.65rem;
}

.page-about .source-file {
  grid-column: 2;
  max-width: 70ch;
  margin: 0;
  font-size: 0.82rem;
}

.page-about .about-principles li {
  min-height: 10rem;
  padding: clamp(1.35rem, 2.5vw, 2rem);
}

.page-about .about-principles li::before {
  content: none;
}

/* Service uses one strong media composition, then progressively disclosed detail. */

.page-service .service-hero--exhibition .service-hero__media {
  grid-row: 1;
  min-width: 0;
  overflow: hidden;
  border-radius: 0.875rem;
  background: transparent;
  box-shadow: none;
}

.page-service .service-hero--exhibition .service-hero__primary {
  overflow: hidden;
  border-radius: 0.875rem;
  background: var(--v6-sand-pale);
  box-shadow: var(--v6-shadow);
}

.page-service .service-hero--exhibition .service-hero__primary .media-picture {
  aspect-ratio: 4 / 3;
}

.page-service .service-hero--exhibition .service-hero__samples {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  width: min(78%, 31rem);
  margin: -4rem 1.25rem 0 auto;
  position: relative;
  z-index: 1;
}

.page-service .service-hero--exhibition .service-hero__samples a {
  display: block;
  min-height: 44px;
  overflow: hidden;
  border: 0.4rem solid var(--v6-paper);
  border-radius: 0.7rem;
  background: var(--v6-paper);
  box-shadow: 0 18px 46px rgba(57, 75, 82, 0.16);
}

.page-service .service-hero--exhibition .service-hero__samples .media-picture {
  aspect-ratio: 4 / 3;
}

.page-service .service-hero--exhibition .service-hero__samples img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 650ms cubic-bezier(0.16, 1, 0.3, 1);
}

.page-service .service-hero--exhibition .service-hero__samples a:hover img,
.page-service .service-hero--exhibition .service-hero__samples a:focus-visible img {
  transform: scale(1.035);
}

.page-service .service-hero--exhibition .service-hero__media > p {
  max-width: 62ch;
  margin: 0.8rem 0 0;
  padding: 0;
}

.page-service .service-inquiry-dock {
  grid-template-columns: minmax(0, 1.12fr) minmax(18rem, 0.88fr);
  align-items: center;
  gap: clamp(2.5rem, 7vw, 7rem);
  margin-block: clamp(1rem, 3vw, 2rem);
  padding-block: clamp(3.5rem, 6vw, 6rem);
  border-bottom: 0;
  background: var(--v6-blue-pale);
  box-shadow: 0 0 0 100vmax var(--v6-blue-pale);
  clip-path: inset(0 -100vmax);
}

.page-service .service-inquiry-dock__intro {
  display: block;
}

.page-service .service-inquiry-dock__intro h2 {
  max-width: 15ch;
  margin-block-end: 1rem;
  font-size: clamp(2rem, 3.8vw, 4rem);
}

.page-service .service-inquiry-dock__intro p {
  max-width: 52ch;
}

.page-service .service-inquiry-dock__actions {
  padding: clamp(1.25rem, 3vw, 2rem);
  border-top: 0;
  border-radius: 0.75rem;
  background: var(--v6-paper);
  box-shadow: 0 18px 54px rgba(57, 75, 82, 0.11);
}

.page-service .service-copy-action {
  padding-block-start: 0;
}

.page-service .inquiry-path ol {
  gap: 0;
}

.page-service .inquiry-path li {
  min-height: 11rem;
  padding: clamp(1.25rem, 2.5vw, 2rem);
}

.page-service .contact-panel {
  background: var(--v6-mauve-pale);
}

.page-service .contact-panel > div {
  min-height: 0;
  grid-template-columns: minmax(0, 0.9fr) minmax(19rem, 1.1fr);
  gap: clamp(2.5rem, 7vw, 8rem);
  padding-block: clamp(4rem, 7vw, 7rem);
}

.page-service .contact-panel h2 {
  max-width: 13ch;
  font-size: clamp(2.1rem, 3.7vw, 3.8rem);
}

.page-service .service-table-disclosure {
  border-top: 1px solid var(--v6-line-strong);
  border-bottom: 1px solid var(--v6-line-strong);
}

.page-service .service-table-disclosure > summary {
  min-height: 4.75rem;
  padding: 1.35rem 1rem;
  color: var(--v6-ink);
  cursor: pointer;
  font-weight: 700;
  list-style-position: inside;
}

.page-service .service-table-disclosure[open] > summary {
  border-bottom: 1px solid var(--v6-line);
  background: var(--v6-paper);
}

.page-service .service-table-disclosure .table-scroll {
  margin-block: 0;
  border: 0;
}

.page-service .service-table-disclosure .market-disclosure,
.page-service .service-table-disclosure .boundary-note {
  margin-inline: clamp(0.75rem, 2vw, 1.5rem);
}

.page-service .procurement-flow {
  align-items: start;
}

.page-service .procurement-flow > div {
  position: static;
}

.page-service .packaging-boundary {
  gap: clamp(2.5rem, 7vw, 8rem);
  background: rgba(216, 199, 170, 0.2);
  box-shadow: 0 0 0 100vmax rgba(216, 199, 170, 0.2);
  clip-path: inset(0 -100vmax);
}

.page-service .faq-list summary {
  min-height: 4.75rem;
}

@media (max-width: 1023px) {
  .page-about .about-hero--exhibition,
  .page-service .service-hero--exhibition {
    grid-template-columns: 1fr;
  }

  .page-about .about-hero--exhibition .about-hero__media,
  .page-about .about-hero--exhibition .about-hero__identity {
    grid-column: 1;
    grid-row: auto;
  }

  .page-about .about-hero--exhibition .about-hero__media,
  .page-about .about-hero--exhibition .about-hero__media img {
    min-height: 31rem;
  }

  .page-about .about-family-stage__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }

  .page-about .about-family-card--1 {
    grid-column: 1 / -1;
    grid-row: auto;
    grid-template-columns: minmax(0, 1.2fr) minmax(17rem, 0.8fr);
    grid-template-rows: minmax(22rem, auto);
  }

  .page-about .about-family-card:not(.about-family-card--1) {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(17rem, 1fr) auto;
  }

  .page-about .source-boundary,
  .page-service .service-inquiry-dock,
  .page-service .contact-panel > div {
    grid-template-columns: 1fr;
  }

  .page-about .source-file {
    grid-column: 1;
  }

  .page-service .service-hero--exhibition .service-hero__media {
    order: -1;
  }
}

@media (max-width: 767px) {
  .page-about .about-hero--exhibition,
  .page-service .service-hero--exhibition {
    gap: 1.75rem;
    padding-block: 1.75rem 3.25rem;
  }

  .page-about .about-hero--exhibition h1,
  .page-service .service-hero--exhibition h1 {
    max-width: 13ch;
    font-size: clamp(2.65rem, 12.5vw, 4rem);
  }

  .page-about .about-hero--exhibition .about-hero__copy,
  .page-service .service-hero--exhibition .service-hero__copy {
    padding-block: 0;
  }

  .page-about .about-hero--exhibition .about-hero__media,
  .page-about .about-hero--exhibition .about-hero__media img {
    min-height: 24rem;
  }

  .page-about .about-hero--exhibition .about-hero__identity {
    grid-template-columns: 1fr 1fr;
  }

  .page-about .about-hero--exhibition .about-hero__identity div:last-child {
    grid-column: 1 / -1;
  }

  .page-about .about-family-stage__heading,
  .page-about .about-section-heading,
  .page-service .service-section-heading {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .page-about .about-family-stage__grid {
    grid-template-columns: 1fr;
  }

  .page-about .about-family-card,
  .page-about .about-family-card--1,
  .page-about .about-family-card:not(.about-family-card--1) {
    grid-column: auto;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(19rem, auto) auto;
  }

  .page-about .about-family-card--1 .about-family-card__media img {
    padding: 0.75rem;
  }

  .page-about .materials-story__media {
    min-height: 23rem;
  }

  .page-service .service-hero--exhibition .service-hero__samples {
    width: calc(100% - 1rem);
    margin: -2rem 0.5rem 0;
  }

  .page-service .service-inquiry-dock__actions {
    padding: 1rem;
  }

  .page-service .contact-panel > div {
    gap: 2rem;
  }
}

@media (max-width: 374px) {
  .page-about .about-hero--exhibition .about-hero__identity {
    grid-template-columns: 1fr;
  }

  .page-about .about-hero--exhibition .about-hero__identity div:last-child {
    grid-column: auto;
  }

  .page-about .about-family-card,
  .page-about .about-family-card--1,
  .page-about .about-family-card:not(.about-family-card--1) {
    grid-template-rows: minmax(16rem, auto) auto;
  }

}

@media (prefers-reduced-motion: reduce) {
  .page-about .about-family-card__media img,
  .page-service .service-hero--exhibition .service-hero__samples img {
    transition: none;
  }

  .page-about .about-family-card:hover .about-family-card__media img,
  .page-about .about-family-card:focus-within .about-family-card__media img,
  .page-service .service-hero--exhibition .service-hero__samples a:hover img,
  .page-service .service-hero--exhibition .service-hero__samples a:focus-visible img {
    transform: none;
  }
}

@media (forced-colors: active) {
  .page-about .company-profile,
  .page-service .service-inquiry-dock,
  .page-service .packaging-boundary {
    background: Canvas;
    box-shadow: none;
  }
}

/* product-v6.css */
/* TY Audio v6 — product detail editorial system.
   This file intentionally scopes every visual decision to product pages. */

.page-product {
  --product-canvas: #f7f1e8;
  --product-paper: #fffdf8;
  --product-ink: #243a46;
  --product-blue: #7899a6;
  --product-clay: #bc725d;
  --product-mauve: #97889f;
  --product-sand: #d8c7aa;
  --product-pale-blue: #dce8ea;
  --product-pale-clay: #ecd5cc;
  --product-pale-mauve: #e6dee8;
  --product-pale-sand: #eee5d7;
  --product-line: rgb(36 58 70 / 0.18);
  --product-line-strong: rgb(36 58 70 / 0.34);
  --product-copy: #4f626b;
  --product-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --product-measure: 68ch;
  color-scheme: light;
  background: var(--product-canvas);
  color: var(--product-ink);
  accent-color: var(--product-clay);
  caret-color: var(--product-clay);
}

.page-product main {
  overflow: clip;
  background: var(--product-canvas);
}

.page-product :where(h1, h2, h3, p, ul, dl, figure) {
  margin-block-start: 0;
}

.page-product :where(h1, h2, h3) {
  color: var(--product-ink);
}

.page-product :where(p, li, dd) {
  color: var(--product-copy);
}

.page-product ::selection {
  background: var(--product-pale-clay);
  color: var(--product-ink);
}

.page-product :where(a, button, [tabindex]):focus-visible {
  outline: 3px solid var(--focus, #1f6377);
  outline-offset: 4px;
}

.page-product .breadcrumbs {
  padding-block: 0.9rem;
  border-bottom: 1px solid var(--product-line);
  color: var(--product-copy);
  font-size: 0.72rem;
  letter-spacing: 0.055em;
}

/* Stable first viewport: aspect-ratio owns the media height, not image load. */
.page-product .product-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(20rem, 0.72fr);
  min-height: auto;
  gap: clamp(2.25rem, 5.5vw, 7rem);
  align-items: center;
  padding-block: clamp(2rem, 4vw, 4.5rem) clamp(3.5rem, 7vw, 7.5rem);
}

.page-product .product-stage::after {
  position: absolute;
  right: var(--gutter);
  bottom: 0;
  left: var(--gutter);
  height: 1px;
  background: var(--product-line-strong);
  content: "";
}

.page-product .product-stage__media {
  min-width: 0;
  align-self: center;
}

.page-product .product-stage__media .product-visual {
  display: grid;
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid var(--product-line);
  border-radius: 0;
  background: var(--product-pale-blue);
  box-shadow: 0 2.2rem 5rem rgb(79 98 107 / 0.13);
  color: var(--product-ink);
}

.page-product .product-stage__media .product-visual .media-picture {
  display: block;
  min-height: 0;
  height: 100%;
  background: var(--product-pale-blue);
}

.page-product .product-stage__media .product-visual__image {
  display: block;
  width: 100%;
  height: 100%;
  padding: clamp(1.25rem, 3vw, 3.5rem);
  object-fit: contain;
  object-position: center;
}

.page-product .product-stage__media .product-visual--image figcaption {
  position: static;
  inset: auto;
  max-width: none;
  min-height: 3.25rem;
  padding: 0.85rem clamp(1rem, 2vw, 1.5rem);
  border-top: 1px solid var(--product-line);
  background: var(--product-paper);
  color: var(--product-copy);
  font-size: 0.7rem;
  line-height: 1.55;
  backdrop-filter: none;
}

.page-product .product-visual--pending {
  position: relative;
  display: grid;
  min-height: 0;
  aspect-ratio: 4 / 3;
  grid-template-rows: minmax(0, 1fr) auto;
  place-items: stretch;
  overflow: hidden;
  border: 1px solid var(--product-line);
  background:
    radial-gradient(circle at 50% 48%, transparent 0 17%, rgb(120 153 166 / 0.22) 17.2% 17.55%, transparent 17.8% 31%, rgb(151 136 159 / 0.19) 31.2% 31.55%, transparent 31.8%),
    var(--product-pale-sand);
  color: var(--product-ink);
}

.page-product .product-visual__pending-copy {
  display: grid;
  width: min(70%, 26rem);
  gap: 0.45rem;
  align-self: center;
  justify-self: center;
  padding-block: 1.25rem;
  border-block: 1px solid var(--product-line-strong);
  text-align: center;
}

.page-product .product-visual__pending-copy span,
.page-product .product-visual__pending-copy small {
  color: var(--product-copy);
  font-family: var(--font-data);
  font-size: 0.7rem;
  letter-spacing: 0.06em;
}

.page-product .product-visual__pending-copy strong {
  color: var(--product-ink);
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 3vw, 2.8rem);
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.08;
}

.page-product .product-visual--pending figcaption {
  position: static;
  inset: auto;
  display: grid;
  width: 100%;
  max-width: none;
  gap: 0.15rem;
  align-self: end;
  padding: 0.85rem clamp(1rem, 2vw, 1.5rem);
  border-top: 1px solid var(--product-line);
  background: var(--product-paper);
  color: var(--product-ink);
  font-size: 0.7rem;
}

.page-product .product-visual--pending figcaption span {
  color: var(--product-copy);
}

.page-product .product-stage__copy {
  max-width: 35rem;
  padding-block: 1.5rem;
}

.page-product .product-stage h1 {
  display: grid;
  gap: 0.8rem;
  margin-block-end: clamp(1.5rem, 3vw, 2.5rem);
}

.page-product .product-stage__model {
  color: var(--product-ink);
  font-size: clamp(4.4rem, 7.2vw, 5.9rem);
  letter-spacing: -0.04em;
  line-height: 0.86;
}

.page-product .product-stage__name {
  max-width: 25ch;
  color: var(--product-copy);
  font-family: var(--font-body);
  font-size: clamp(1.18rem, 1.8vw, 1.72rem);
  font-weight: 500;
  letter-spacing: -0.018em;
  line-height: 1.28;
}

.page-product .product-stage__lead {
  max-width: 31rem;
  font-size: clamp(0.98rem, 1.2vw, 1.12rem);
  line-height: 1.85;
}

.page-product .product-stage__price {
  display: grid;
  gap: 0.45rem;
  margin-block: clamp(1.5rem, 3vw, 2.4rem);
  padding-block: 1.05rem;
  border-block: 1px solid var(--product-line-strong);
}

.page-product .product-stage__price > span,
.page-product .retail-guidance > span {
  color: var(--product-copy);
  font-size: 0.7rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-product .product-stage__price strong,
.page-product .retail-guidance strong {
  color: var(--product-ink);
  font-family: var(--font-data);
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
}

.page-product .money__qualifier,
.page-product .money__basis {
  color: var(--product-copy);
}

.page-product .money__basis {
  font-size: 0.7rem;
}

.page-product .product-stage__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.25rem;
  align-items: center;
}

.page-product .product-stage .boundary-note {
  max-width: 31rem;
  margin-block: 1.4rem 0;
  padding: 0.8rem 0 0.8rem 1rem;
  border-inline-start: 1px solid var(--product-clay);
  background: transparent;
  color: var(--product-copy);
  font-size: 0.76rem;
  line-height: 1.65;
}

/* Local wayfinding stays available without stealing the page. */
.page-product .product-subnav {
  position: sticky;
  z-index: calc(var(--z-header) - 1);
  top: var(--header-height);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border-block: 0;
  border-bottom: 1px solid var(--product-line-strong);
  background: rgb(255 253 248 / 0.94);
  box-shadow: 0 0.6rem 1.6rem rgb(79 98 107 / 0.06);
  scrollbar-color: var(--product-blue) transparent;
  scrollbar-width: thin;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.page-product .product-subnav .section-shell {
  display: flex;
  min-width: max-content;
  gap: clamp(1.25rem, 3vw, 3.25rem);
}

.page-product .product-subnav a {
  position: relative;
  display: grid;
  min-width: 2.75rem;
  min-height: 3.35rem;
  place-items: center;
  color: var(--product-copy);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.065em;
  text-decoration: none;
}

.page-product .product-subnav a::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: var(--product-clay);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms var(--product-ease);
}

.page-product .product-subnav a:hover,
.page-product .product-subnav a:focus-visible {
  color: var(--product-ink);
}

.page-product .product-subnav a:hover::after,
.page-product .product-subnav a:focus-visible::after {
  transform: scaleX(1);
}

/* Key facts use an editorial ledger rather than cards. */
.page-product .product-keyfacts {
  padding-block: clamp(3.25rem, 6vw, 6.5rem);
}

.page-product .product-keyfacts dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border-block: 1px solid var(--product-line-strong);
}

.page-product .product-keyfacts dl > div {
  min-width: 0;
  padding: clamp(1.15rem, 2vw, 1.8rem);
  border-inline-end: 1px solid var(--product-line);
}

.page-product .product-keyfacts dl > div:last-child {
  border-inline-end: 0;
}

.page-product .product-keyfacts dt,
.page-product .engineering-ledger dt,
.page-product .commerce-section__terms dt {
  color: var(--product-copy);
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.page-product .product-keyfacts dd {
  overflow-wrap: anywhere;
  margin: 0.55rem 0 0;
  color: var(--product-ink);
  font-family: var(--font-data);
  font-size: clamp(0.82rem, 0.95vw, 0.96rem);
  font-variant-numeric: tabular-nums;
  line-height: 1.55;
}

.page-product .product-keyfacts > p {
  max-width: var(--product-measure);
  margin-block: 0.9rem 0;
  color: var(--product-copy);
  font-size: 0.76rem;
}

/* Product truth and evidence. */
.page-product .product-story {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(19rem, 0.7fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: start;
  padding-block: var(--section-space);
  border-top: 1px solid var(--product-line);
}

.page-product .product-story__copy h2,
.page-product .engineering-section__intro h2,
.page-product .product-media-section__heading h2,
.page-product .commerce-section__lead h2,
.page-product .product-inquiry h2,
.page-product .related-products > div:first-child h2 {
  max-width: 13ch;
  margin-block-end: 1.2rem;
  font-size: clamp(2.35rem, 4.7vw, 4.9rem);
  line-height: 0.98;
}

.page-product .product-story__copy p {
  max-width: 42rem;
  font-size: clamp(1.06rem, 1.5vw, 1.3rem);
  line-height: 1.82;
}

.page-product .source-boundary {
  padding: clamp(1.6rem, 3vw, 2.5rem);
  border: 0;
  border-block: 1px solid var(--product-line-strong);
  border-radius: 0;
  background: var(--product-pale-mauve);
  box-shadow: none;
}

.page-product .source-boundary h3 {
  max-width: 18ch;
  margin-block-end: 0.8rem;
  color: var(--product-ink);
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  line-height: 1.12;
}

.page-product .source-boundary p,
.page-product .source-boundary li {
  color: var(--product-copy);
}

.page-product .source-boundary ul {
  display: grid;
  gap: 0.55rem;
  margin-block: 1.4rem;
  padding-inline-start: 1.15rem;
}

.page-product .source-boundary li::marker {
  color: var(--product-mauve);
}

.page-product .source-boundary small {
  display: block;
  padding-block-start: 1rem;
  border-top: 1px solid rgb(36 58 70 / 0.2);
  color: var(--product-copy);
  font-size: 0.7rem;
  line-height: 1.65;
}

/* Sound architecture and full specification ledger. */
.page-product .engineering-section {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding: var(--section-space) max(var(--gutter), calc((100vw - var(--content)) / 2 + var(--gutter))) clamp(3rem, 6vw, 6rem);
  overflow: hidden;
  background: var(--product-paper);
  color: var(--product-ink);
}

.page-product .engineering-section :where(h2, h3, p, dt, dd) {
  color: inherit;
}

.page-product .engineering-section__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.65fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
  margin-block-end: clamp(3rem, 7vw, 7rem);
}

.page-product .engineering-section__intro p {
  max-width: 36rem;
  margin-block-end: 0;
  color: var(--product-copy);
  line-height: 1.8;
}

.page-product .engineering-group {
  display: grid;
  grid-template-columns: minmax(18rem, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(2.75rem, 8vw, 9rem);
  align-items: center;
  padding-block: clamp(3.5rem, 6vw, 6rem);
  border-top: 1px solid var(--product-line);
}

.page-product .engineering-group:last-child {
  padding-block-end: 0;
}

.page-product .engineering-group__heading {
  max-width: 37rem;
}

.page-product .engineering-group__heading h3 {
  margin-block-end: 0.8rem;
  font-size: clamp(1.85rem, 3.2vw, 3.35rem);
  line-height: 1.04;
}

.page-product .engineering-group__heading p,
.page-product .engineering-group .boundary-note {
  max-width: var(--product-measure);
  color: var(--product-copy);
  line-height: 1.75;
}

.page-product .engineering-group .boundary-note {
  padding: 1rem 0 1rem 1.25rem;
  border-inline-start: 1px solid var(--product-clay);
  background: transparent;
}

.page-product .engineering-ledger {
  display: grid;
  margin: 0;
}

.page-product .engineering-ledger > div {
  display: grid;
  grid-template-columns: minmax(7.5rem, 0.55fr) minmax(0, 1.45fr);
  gap: 1rem;
  padding-block: 1.05rem;
  border-bottom: 1px solid var(--product-line);
}

.page-product .engineering-ledger > div:first-child {
  border-top: 1px solid var(--product-line);
}

.page-product .engineering-ledger dd {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
  margin: 0;
  color: var(--product-ink);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.page-product .engineering-ledger dd strong {
  color: var(--product-ink);
  font-family: var(--font-data);
  font-size: clamp(1rem, 1.35vw, 1.22rem);
  font-weight: 650;
}

.page-product .engineering-ledger dd span {
  color: var(--product-copy);
}

.page-product .driver-orbit {
  position: relative;
  width: min(100%, 31rem);
  aspect-ratio: 1;
  margin-inline: auto;
  border: 1px solid rgb(120 153 166 / 0.72);
  border-radius: 50%;
  background:
    conic-gradient(from 35deg, transparent 0 12%, rgb(188 114 93 / 0.22) 12% 13%, transparent 13% 46%, rgb(151 136 159 / 0.2) 46% 47%, transparent 47%),
    radial-gradient(circle, var(--product-pale-blue) 0 9%, transparent 9.4% 100%);
  box-shadow: inset 0 0 0 1.25rem var(--product-paper), inset 0 0 0 calc(1.25rem + 1px) rgb(36 58 70 / 0.1);
  animation: ty-product-orbit 24s linear infinite;
  animation-play-state: paused;
}

.page-product .driver-orbit[data-motion-active="true"] {
  animation-play-state: running;
}

.page-product .driver-orbit::before,
.page-product .driver-orbit::after {
  position: absolute;
  border: 1px solid var(--product-line);
  border-radius: 50%;
  content: "";
}

.page-product .driver-orbit::before {
  inset: 16%;
  border-color: rgb(151 136 159 / 0.48);
}

.page-product .driver-orbit::after {
  inset: 35%;
  background: var(--product-pale-clay);
  box-shadow: inset 0 0 0 0.7rem var(--product-paper);
}

.page-product .driver-orbit > span {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  display: grid;
  width: clamp(3rem, var(--driver-size), 7.2rem);
  aspect-ratio: 1;
  translate: -50% -50%;
  transform: rotate(calc(var(--driver-index) * 118deg)) translateX(clamp(6.8rem, 14vw, 11.2rem));
  place-items: center;
  border: 1px solid var(--product-line-strong);
  border-radius: 50%;
  background: var(--product-paper);
  box-shadow: 0 0.8rem 2rem rgb(79 98 107 / 0.11);
}

.page-product .driver-orbit > span i {
  width: 42%;
  aspect-ratio: 1;
  border: 1px solid var(--product-blue);
  border-radius: 50%;
  background: radial-gradient(circle, var(--product-clay) 0 15%, transparent 17% 44%, rgb(120 153 166 / 0.28) 46% 55%, transparent 57%);
  animation: ty-product-driver-pulse 2.8s var(--product-ease) infinite alternate;
  animation-delay: calc(var(--driver-index) * -0.65s);
  animation-play-state: paused;
}

.page-product .driver-orbit[data-motion-active="true"] > span i {
  animation-play-state: running;
}

@keyframes ty-product-orbit {
  to {
    rotate: 1turn;
  }
}

@keyframes ty-product-driver-pulse {
  from {
    opacity: 0.64;
    scale: 0.82;
  }
  to {
    opacity: 1;
    scale: 1;
  }
}

/* Scene gallery: scene photography covers; product imagery above always contains. */
.page-product .product-media-section {
  padding-block: clamp(5.5rem, 9vw, 10rem) var(--section-space);
}

.page-product .product-media-section__heading {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.55fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
  max-width: none;
  margin-block-end: clamp(2.75rem, 5vw, 5rem);
}

.page-product .product-media-section__heading p {
  max-width: 38rem;
  margin-block-end: 0;
  line-height: 1.8;
}

.page-product .product-media-section > .media-gallery {
  padding: 0;
}

.page-product .product-media-section > .media-gallery > .section-heading {
  display: none;
}

.page-product .media-gallery__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-block-end: 1.1rem;
  padding-block: 0.8rem;
  border-block: 1px solid var(--product-line);
}

.page-product .media-gallery__toolbar p {
  margin: 0;
  color: var(--product-ink);
  font-family: var(--font-data);
  font-variant-numeric: tabular-nums;
}

.page-product .media-gallery__toolbar div {
  display: flex;
  gap: 0.55rem;
}

.page-product .media-gallery__toolbar button,
.page-product .lightbox button,
.page-product .video-feature__error button {
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.55rem 0.9rem;
  border: 1px solid var(--product-line-strong);
  border-radius: 0;
  background: var(--product-paper);
  color: var(--product-ink);
  font: inherit;
  font-size: 0.75rem;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.page-product .media-gallery__toolbar button:disabled,
.page-product .lightbox button:disabled {
  border-color: var(--product-line);
  color: rgb(79 98 107 / 0.58);
  cursor: not-allowed;
}

.page-product .media-rail {
  display: grid;
  grid-auto-columns: clamp(24rem, 66vw, 64rem);
  grid-auto-flow: column;
  gap: clamp(1rem, 2vw, 2rem);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding-block-end: 1.2rem;
  scroll-padding-inline: 1px;
  scroll-snap-type: x mandatory;
  scrollbar-color: var(--product-blue) transparent;
  scrollbar-width: thin;
}

.page-product .media-rail__item {
  min-width: 0;
  margin: 0;
  scroll-snap-align: start;
}

.page-product .media-rail__item a {
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--product-line);
  background: var(--product-pale-sand);
}

.page-product .media-rail__picture,
.page-product .media-rail__image {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
}

.page-product .media-rail__image {
  object-fit: cover;
  object-position: center;
  transition: transform 360ms var(--product-ease), filter 360ms var(--product-ease);
}

.page-product .media-rail__item figcaption {
  max-width: 72ch;
  padding-block: 0.8rem 0;
  color: var(--product-copy);
  font-size: 0.74rem;
  line-height: 1.6;
}

.page-product .empty-state {
  position: relative;
  display: grid;
  min-height: clamp(19rem, 40vw, 31rem);
  align-content: center;
  overflow: hidden;
  padding: clamp(2rem, 6vw, 6rem);
  border: 1px solid var(--product-line-strong);
  border-radius: 0;
  background:
    radial-gradient(circle at 84% 48%, transparent 0 5rem, rgb(120 153 166 / 0.22) 5.05rem 5.15rem, transparent 5.2rem 8rem, rgb(151 136 159 / 0.17) 8.05rem 8.15rem, transparent 8.2rem),
    var(--product-pale-sand);
  box-shadow: none;
  text-align: left;
}

.page-product .empty-state h3,
.page-product .empty-state p {
  max-width: 38rem;
  margin-inline: 0;
}

.page-product .empty-state h3 {
  margin-block-end: 0.85rem;
  font-size: clamp(1.7rem, 3.2vw, 3.2rem);
  line-height: 1.05;
}

.page-product .empty-state p {
  line-height: 1.75;
}

.page-product .empty-state .button {
  width: fit-content;
  margin-block-start: 1rem;
}

.page-product .product-media__video {
  margin-block-start: clamp(5rem, 9vw, 9rem);
  padding-block-start: clamp(3rem, 6vw, 6rem);
  border-top: 1px solid var(--product-line-strong);
}

.page-product .product-media__video .section-heading {
  margin-block-end: clamp(2.5rem, 5vw, 4.5rem);
}

.page-product .product-media__video .section-heading h3 {
  font-size: clamp(1.9rem, 3.2vw, 3.35rem);
}

.page-product .video-feature {
  display: grid;
  grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2.5rem, 7vw, 8rem);
  align-items: center;
}

.page-product .video-feature--portrait {
  grid-template-columns: minmax(18rem, 1fr) minmax(17rem, 0.62fr);
}

.page-product .video-feature__copy h4 {
  margin-block-end: 0.85rem;
  color: var(--product-ink);
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 2.7vw, 2.75rem);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.08;
}

.page-product .video-feature__copy p {
  max-width: 36rem;
  line-height: 1.75;
}

.page-product .video-feature__copy .boundary-note {
  padding: 0.9rem 0 0.9rem 1.1rem;
  border-inline-start: 1px solid var(--product-clay);
  background: transparent;
}

.page-product .video-feature__media {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--product-line);
  background: var(--product-pale-mauve);
}

.page-product .video-poster,
.page-product .video-poster__picture,
.page-product .video-poster__image {
  display: block;
  width: 100%;
}

.page-product .video-poster__image {
  object-fit: cover;
}

.page-product .video-feature--portrait .video-poster__image,
.page-product .video-feature--portrait video {
  aspect-ratio: 9 / 16;
  max-height: 48rem;
  object-fit: cover;
}

.page-product .video-poster .button {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  width: calc(100% - 2rem);
  background: var(--product-paper);
  color: var(--product-ink);
}

.page-product .video-poster .button:hover {
  border-color: var(--product-clay);
  background: var(--product-pale-clay);
  color: var(--product-ink);
}

.page-product .video-feature video {
  display: block;
  width: 100%;
  background: var(--product-ink);
}

.page-product .video-feature__error {
  padding: 2rem;
  background: var(--product-pale-clay);
  color: var(--product-ink);
}

.page-product .video-feature__error p,
.page-product .video-feature__error a {
  color: inherit;
}

/* Commercial data stays factual and scannable. */
.page-product .commerce-section {
  display: grid;
  grid-template-columns: minmax(20rem, 0.66fr) minmax(0, 1.34fr);
  gap: clamp(3rem, 7vw, 8rem);
  align-items: start;
  padding-block: var(--section-space);
  border-block: 1px solid var(--product-line-strong);
}

.page-product .commerce-section__lead {
  position: sticky;
  top: calc(var(--header-height) + 5rem);
}

.page-product .commerce-section__lead > p {
  max-width: 40rem;
  line-height: 1.8;
}

.page-product .retail-guidance {
  display: grid;
  gap: 0.45rem;
  margin-block-start: 2rem;
  padding: 1.1rem 1.25rem;
  border: 0;
  border-block: 1px solid var(--product-line-strong);
  background: var(--product-pale-clay);
}

.page-product .pricing-table-wrap {
  min-width: 0;
  overflow-x: auto;
  border: 1px solid var(--product-line-strong);
  border-radius: 0;
  background: var(--product-paper);
  box-shadow: inset -2.4rem 0 2rem -2.7rem rgb(36 58 70 / 0.28);
  scrollbar-color: var(--product-blue) transparent;
}

.page-product .pricing-table {
  min-width: 42rem;
  border: 0;
  border-collapse: collapse;
  background: var(--product-paper);
  color: var(--product-ink);
}

.page-product .pricing-table th,
.page-product .pricing-table td {
  padding: clamp(0.9rem, 1.5vw, 1.25rem);
  border-color: var(--product-line);
  border-bottom: 1px solid var(--product-line);
  vertical-align: top;
  line-height: 1.55;
}

.page-product .pricing-table thead th {
  background: var(--product-pale-blue);
  color: var(--product-ink);
  font-size: 0.69rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.page-product .pricing-table tbody th {
  color: var(--product-ink);
  font-weight: 650;
  text-align: start;
}

.page-product .pricing-table td {
  color: var(--product-copy);
}

.page-product .pricing-table td:nth-child(2) {
  color: var(--product-ink);
  font-family: var(--font-data);
  font-variant-numeric: tabular-nums;
}

.page-product .commerce-section__terms {
  grid-column: 2;
  margin-block-start: clamp(1rem, 3vw, 2.5rem);
}

.page-product .commerce-section__terms h3 {
  margin-block-end: 1.25rem;
  font-size: clamp(1.6rem, 2.5vw, 2.55rem);
  line-height: 1.08;
}

.page-product .commerce-section__terms dl {
  display: grid;
  margin: 0;
  border-top: 1px solid var(--product-line-strong);
}

.page-product .commerce-section__terms dl > div {
  display: grid;
  grid-template-columns: minmax(8rem, 0.42fr) minmax(0, 1.58fr);
  gap: 1.25rem;
  padding-block: 1rem;
  border-bottom: 1px solid var(--product-line);
}

.page-product .commerce-section__terms dd {
  margin: 0;
  color: var(--product-copy);
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.page-product .commerce-section > .market-disclosure {
  grid-column: 2;
  max-width: none;
  margin-block-start: 0.5rem;
  padding: 1rem 1.2rem;
  border: 0;
  border-inline-start: 1px solid var(--product-clay);
  border-radius: 0;
  background: var(--product-pale-sand);
  color: var(--product-copy);
}

/* Confirmed color service is a quiet bridge, not a sales card. */
.page-product .product-custom-callout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) auto;
  gap: 2rem;
  align-items: center;
  padding-block: clamp(4.5rem, 8vw, 8rem);
  border-bottom: 1px solid var(--product-line-strong);
  background: linear-gradient(90deg, transparent 0 58%, rgb(151 136 159 / 0.1) 58% 100%);
}

.page-product .product-custom-callout h2 {
  max-width: 22ch;
  margin-block-end: 0.8rem;
  font-size: clamp(2rem, 3.8vw, 3.85rem);
  line-height: 1.02;
}

.page-product .product-custom-callout p {
  max-width: 51rem;
  margin-block-end: 0;
  line-height: 1.78;
}

/* Inquiry remains prominent without a black or grey wall. */
.page-product .product-inquiry {
  --focus: #243a46;
  border-block: 1px solid var(--product-line-strong);
  background: var(--product-pale-blue);
  color: var(--product-ink);
}

.page-product .product-inquiry > .section-shell {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(22rem, 1.08fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
  padding-block: var(--section-space);
}

.page-product .product-inquiry :where(h2, p, .text-link) {
  color: var(--product-ink);
}

.page-product .product-inquiry > .section-shell > div:first-child p:not(.model-mark) {
  max-width: 39rem;
  color: var(--product-copy);
  line-height: 1.8;
  opacity: 1;
}

.page-product .product-inquiry__action {
  display: grid;
  justify-items: start;
  gap: 1rem;
}

.page-product .product-summary {
  padding: 1.1rem 0;
  border-block: 1px solid var(--product-line-strong);
  color: var(--product-copy);
  font-size: 0.82rem;
  line-height: 1.7;
}

.page-product .product-inquiry .button--light {
  border-color: var(--product-ink);
  background: var(--product-ink);
  color: var(--product-paper);
}

.page-product .product-inquiry .button--light:hover {
  border-color: var(--product-clay);
  background: var(--product-ink);
  color: var(--product-paper);
}

.page-product .product-inquiry [data-copy-status] {
  min-height: 1.4em;
  margin: 0;
  color: var(--product-copy);
  font-size: 0.76rem;
}

/* Related products close the page as a comparison shelf. */
.page-product .related-products {
  display: grid;
  grid-template-columns: minmax(15rem, 0.3fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 6vw, 7rem);
  align-items: start;
  padding-block: var(--section-space);
}

.page-product .related-products > div:first-child p {
  max-width: 22rem;
  line-height: 1.75;
}

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

.page-product .product-compact {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--product-line);
  border-radius: 0;
  background: var(--product-paper);
  box-shadow: none;
}

.page-product .product-compact__media {
  min-width: 0;
  border-bottom: 1px solid var(--product-line);
  background: var(--product-pale-sand);
  text-decoration: none;
}

.page-product .product-compact .product-visual {
  display: grid;
  min-height: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 0;
  background: var(--product-pale-sand);
  color: var(--product-ink);
}

.page-product .product-compact .product-visual .media-picture,
.page-product .product-compact .product-visual__image {
  display: block;
  width: 100%;
  height: 100%;
}

.page-product .product-compact .product-visual__image {
  padding: clamp(0.75rem, 2vw, 1.5rem);
  object-fit: contain;
}

.page-product .product-compact .product-visual--pending {
  aspect-ratio: 4 / 3;
  background:
    radial-gradient(circle at center, transparent 0 19%, rgb(120 153 166 / 0.22) 19.3% 19.7%, transparent 20% 35%, rgb(151 136 159 / 0.18) 35.3% 35.7%, transparent 36%),
    var(--product-pale-sand);
}

.page-product .product-compact .product-visual__pending-copy {
  width: 72%;
  text-align: center;
}

.page-product .product-compact__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.4rem, 3vw, 2.5rem);
}

.page-product .product-compact__model {
  margin-block-end: 0.65rem;
  color: var(--product-ink);
  font-family: var(--font-data);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.page-product .product-compact h3 {
  margin-block-end: 0.7rem;
  font-size: clamp(1.35rem, 2.2vw, 2.15rem);
  line-height: 1.08;
}

.page-product .product-compact h3 a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--product-ink);
  text-decoration: none;
}

.page-product .product-compact__body > p:last-child {
  margin-block-end: 0;
  color: var(--product-copy);
  font-size: 0.82rem;
}

/* Gallery dialog follows the light product system. */
.page-product .lightbox {
  width: min(94vw, 78rem);
  max-width: none;
  max-height: 94dvh;
  padding: 0;
  border: 1px solid var(--product-line-strong);
  border-radius: 0;
  background: var(--product-paper);
  color: var(--product-ink);
}

.page-product .lightbox::backdrop {
  background: rgb(36 58 70 / 0.68);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.page-product .lightbox__header,
.page-product .lightbox__footer {
  border-color: var(--product-line);
  background: var(--product-paper);
}

.page-product .lightbox__stage {
  background: var(--product-pale-sand);
}

.page-product .lightbox__stage img {
  width: auto;
  max-width: 100%;
  max-height: calc(94dvh - 8rem);
  object-fit: contain;
}

.page-product .lightbox__loading,
.page-product .lightbox__error {
  border: 1px solid var(--product-line-strong);
  background: var(--product-paper);
  color: var(--product-ink);
}

.page-product :is(#overview, #sound, #system, #gallery, #pricing, #inquiry) {
  scroll-margin-top: calc(var(--header-height) + 4.5rem);
}

@media (hover: hover) and (pointer: fine) {
  .page-product .media-gallery__toolbar button:not(:disabled):hover,
  .page-product .lightbox button:not(:disabled):hover,
  .page-product .video-feature__error button:hover {
    border-color: var(--product-ink);
    background: var(--product-pale-blue);
    transform: translateY(-1px);
  }

  .page-product .media-rail__item a:hover .media-rail__image {
    transform: scale(1.018);
    filter: saturate(1.03);
  }

  .page-product .product-compact__media:hover .product-visual__image {
    transform: scale(1.012);
  }
}

.page-product :where(.button, .media-gallery__toolbar button, .lightbox button):active {
  transform: translateY(1px);
}

@media (max-width: 78rem) {
  .page-product .product-stage {
    grid-template-columns: minmax(0, 1.16fr) minmax(19rem, 0.84fr);
    gap: clamp(2rem, 4vw, 4rem);
  }

  .page-product .product-stage__model {
    font-size: clamp(4rem, 7vw, 5.25rem);
  }

  .page-product .product-custom-callout {
    background: linear-gradient(90deg, transparent 0 48%, rgb(151 136 159 / 0.1) 48% 100%);
  }
}

@media (max-width: 63.99rem) {
  .page-product .product-stage {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .page-product .product-stage__media {
    width: min(100%, 54rem);
  }

  .page-product .product-stage__copy {
    max-width: 43rem;
    padding-block: 0 1rem;
  }

  .page-product .product-story,
  .page-product .engineering-section__intro,
  .page-product .product-media-section__heading,
  .page-product .commerce-section,
  .page-product .related-products {
    grid-template-columns: 1fr;
  }

  .page-product .engineering-section__intro {
    align-items: start;
  }

  .page-product .commerce-section__lead {
    position: static;
  }

  .page-product .commerce-section__terms,
  .page-product .commerce-section > .market-disclosure {
    grid-column: auto;
  }

  .page-product .product-custom-callout {
    background: linear-gradient(180deg, transparent 0 56%, rgb(151 136 159 / 0.1) 56% 100%);
  }
}

@media (max-width: 47.99rem) {
  .page-product .breadcrumbs {
    padding-block: 0.75rem;
  }

  .page-product .product-stage {
    gap: 1.5rem;
    padding-block: 1rem 4rem;
  }

  .page-product .product-stage::after {
    right: var(--gutter);
    left: var(--gutter);
  }

  .page-product .product-stage__media .product-visual,
  .page-product .product-visual--pending {
    aspect-ratio: 1;
  }

  .page-product .product-stage__media .product-visual__image {
    padding: 0.9rem;
  }

  .page-product .product-stage__copy {
    max-width: none;
  }

  .page-product .product-stage__model {
    font-size: clamp(3.55rem, 18vw, 5rem);
  }

  .page-product .product-stage__name {
    max-width: 28ch;
    font-size: clamp(1.08rem, 5vw, 1.4rem);
  }

  .page-product .product-stage__actions {
    align-items: stretch;
  }

  .page-product .product-stage__actions .button {
    width: 100%;
  }

  .page-product .product-subnav {
    overflow: visible;
    box-shadow: 0 0.6rem 1.6rem rgb(79 98 107 / 0.06);
  }

  .page-product .product-subnav .section-shell {
    min-width: 0;
    flex-wrap: wrap;
    gap: 0;
    padding-inline: 0.5rem;
  }

  .page-product .product-subnav a {
    flex: 1 1 33.333%;
    min-width: 0;
    min-height: 2.9rem;
    padding-inline: 0.35rem;
    text-align: center;
  }

  .page-product .product-keyfacts dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-product .product-keyfacts dl > div:nth-child(2) {
    border-inline-end: 0;
  }

  .page-product .product-keyfacts dl > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--product-line);
  }

  .page-product .engineering-section {
    padding-inline: var(--gutter);
  }

  .page-product .engineering-group {
    grid-template-columns: 1fr;
  }

  .page-product .driver-orbit {
    width: min(86vw, 24rem);
  }

  .page-product .driver-orbit > span {
    transform: rotate(calc(var(--driver-index) * 118deg)) translateX(clamp(5.1rem, 25vw, 8.7rem));
  }

  .page-product .engineering-ledger > div,
  .page-product .commerce-section__terms dl > div {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .page-product .engineering-ledger dd {
    flex-wrap: wrap;
  }

  .page-product .media-rail {
    grid-auto-columns: 88%;
    gap: 0.85rem;
  }

  .page-product .media-rail__item a {
    aspect-ratio: 4 / 3;
  }

  .page-product .video-feature,
  .page-product .video-feature--portrait {
    grid-template-columns: 1fr;
  }

  .page-product .video-feature--portrait .video-feature__media {
    width: min(100%, 26rem);
  }

  .page-product .product-custom-callout,
  .page-product .product-inquiry > .section-shell {
    grid-template-columns: 1fr;
  }

  .page-product .product-custom-callout .button,
  .page-product .product-inquiry .button--light {
    width: 100%;
  }

  .page-product .product-compact-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 23.5rem) {
  .page-product .product-stage__model {
    font-size: clamp(3.1rem, 17vw, 4rem);
  }

  .page-product .product-keyfacts dl {
    grid-template-columns: 1fr;
  }

  .page-product .product-keyfacts dl > div,
  .page-product .product-keyfacts dl > div:nth-child(2) {
    border-inline-end: 0;
    border-bottom: 1px solid var(--product-line);
  }

  .page-product .product-keyfacts dl > div:last-child {
    border-bottom: 0;
  }

  .page-product .media-gallery__toolbar {
    align-items: flex-start;
  }

  .page-product .media-gallery__toolbar div {
    flex-direction: column;
  }

  .page-product .media-rail {
    grid-auto-columns: 92%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-product .driver-orbit,
  .page-product .driver-orbit > span i {
    animation: none !important;
  }

  .page-product .media-rail__image,
  .page-product .product-compact .product-visual__image,
  .page-product .product-subnav a::after {
    transition: none !important;
  }
}

@media (forced-colors: active) {
  .page-product .product-stage__media .product-visual,
  .page-product .product-visual--pending,
  .page-product .source-boundary,
  .page-product .empty-state,
  .page-product .video-feature__media,
  .page-product .pricing-table-wrap,
  .page-product .product-compact,
  .page-product .driver-orbit,
  .page-product .driver-orbit::before,
  .page-product .driver-orbit::after,
  .page-product .driver-orbit > span,
  .page-product .driver-orbit > span i {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
  }

  .page-product .product-subnav,
  .page-product .product-inquiry,
  .page-product .engineering-section {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
  }

  .page-product .product-subnav a::after {
    background: Highlight;
  }

  .page-product :where(a, button, [tabindex]):focus-visible {
    outline-color: Highlight;
  }
}

/* shell-v7.css */
/* TY Audio v5.2.14 shell: visible desktop navigation and a compact global footer. */

:root {
  --header-height: 4.5rem;
  --control-height: 2.75rem;
  --shell-ink: #16303a;
  --shell-muted: #586d74;
  --shell-line: rgb(22 48 58 / 0.16);
  --shell-paper: #f3f6f5;
  --shell-paper-strong: #fbfdfc;
  --shell-action: #315f70;
  --shell-action-hover: #244c5b;
  --shell-radius: 0.5rem;
}

.site-header {
  height: var(--header-height);
  border-bottom: 1px solid var(--shell-line);
  background: rgb(243 246 245 / 0.95);
  color: var(--shell-ink);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  backdrop-filter: blur(18px) saturate(125%);
}

.site-header__inner {
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: var(--header-height);
  gap: clamp(0.75rem, 1.5vw, 1.5rem);
}

.brand {
  min-height: var(--control-height);
  color: var(--shell-ink);
}

.brand__text {
  gap: 0.62rem;
}

.brand__text strong {
  color: inherit;
  font-family: var(--font-body);
  font-size: 0.84rem;
  font-weight: 720;
  letter-spacing: 0.16em;
}

.brand__text small {
  padding-inline-start: 0.62rem;
  border-inline-start-color: var(--shell-line);
  color: var(--shell-muted);
  font-size: 0.56rem;
  letter-spacing: 0.18em;
}

.primary-nav {
  position: static;
  inset: auto;
  display: flex;
  width: fit-content;
  max-width: 100%;
  height: auto;
  max-height: none;
  min-height: 2.75rem;
  align-items: center;
  justify-self: center;
  justify-content: center;
  gap: 0.15rem;
  overflow: visible;
  padding: 0.2rem;
  border: 1px solid var(--shell-line);
  border-radius: 0.625rem;
  background: rgb(255 255 255 / 0.54);
  box-shadow: none;
}

.primary-nav a,
.primary-nav .primary-nav__link {
  display: inline-grid;
  min-height: var(--control-height);
  padding: 0.5rem clamp(0.48rem, 0.75vw, 0.76rem);
  place-items: center;
  border: 0;
  border-radius: 0.4rem;
  color: var(--shell-muted);
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 650;
  letter-spacing: 0.045em;
  line-height: 1;
  text-transform: none;
  white-space: nowrap;
  transition: color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.primary-nav a::after {
  content: none;
}

.primary-nav a:hover {
  background: rgb(49 95 112 / 0.09);
  color: var(--shell-ink);
}

.primary-nav a[aria-current="page"] {
  background: var(--shell-action);
  color: #f7fbfb;
  box-shadow: 0 6px 16px rgb(28 63 76 / 0.14);
}

.primary-nav__mobile-action {
  display: none !important;
}

.site-header__tools {
  gap: 0.4rem;
}

.market-switcher__trigger,
.header-action,
.nav-toggle {
  min-height: var(--control-height);
  border-radius: var(--shell-radius);
}

.market-switcher__trigger {
  gap: 0.32rem;
  padding-inline: 0.72rem;
  border: 1px solid var(--shell-line);
  background: rgb(255 255 255 / 0.5);
  color: var(--shell-ink);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.market-switcher__trigger:hover,
.market-switcher.is-open .market-switcher__trigger {
  border-color: rgb(49 95 112 / 0.38);
  background: #fff;
  color: var(--shell-action-hover);
}

.market-switcher__separator {
  color: var(--shell-muted);
  font-weight: 400;
}

.header-action {
  padding-inline: 1rem;
  border: 1px solid var(--shell-action);
  border-radius: var(--shell-radius);
  background: var(--shell-action);
  color: #f7fbfb;
  font-size: 0.75rem;
  letter-spacing: 0.075em;
  box-shadow: 0 7px 18px rgb(28 63 76 / 0.12);
}

.header-action:hover {
  border-color: var(--shell-action-hover);
  background: var(--shell-action-hover);
  color: #fff;
  transform: translateY(-1px);
}

.nav-toggle {
  display: none;
  grid-template-columns: auto 1rem;
  gap: 0.5rem;
  padding-inline: 0.72rem;
  border: 1px solid var(--shell-line);
  background: rgb(255 255 255 / 0.5);
  color: var(--shell-ink);
}

.nav-toggle:hover {
  border-color: rgb(49 95 112 / 0.38);
  background: #fff;
  color: var(--shell-action-hover);
}

.market-switcher__panel {
  border-radius: 0.75rem;
  background: var(--shell-paper-strong);
}

/* Compact footer: TY identity, five destinations, one inquiry action and one disclosure row. */

.site-footer.site-footer {
  margin-top: 0;
  border-top: 1px solid var(--shell-line);
  background: #e9f0f0;
  color: var(--shell-ink);
}

.site-footer__compact {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 4.5rem);
  padding-block: clamp(2.25rem, 4vw, 3.5rem);
}

.site-footer__identity {
  display: grid;
  gap: 0.5rem;
  min-width: max-content;
}

.site-footer__identity h2,
.site-footer__identity p {
  margin: 0;
}

.site-footer__identity h2 {
  font-family: var(--font-body);
  font-size: 1.05rem;
  font-weight: 750;
  letter-spacing: 0.16em;
  line-height: 1;
}

.site-footer__identity h2 a {
  min-height: var(--control-height);
  align-items: center;
  text-decoration: none;
}

.site-footer__identity p {
  color: var(--shell-muted);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.17em;
}

.site-footer__nav {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 0.15rem clamp(0.35rem, 1.2vw, 1.15rem);
  flex-wrap: wrap;
}

.site-footer__nav a {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  padding-inline: 0.35rem;
  color: var(--shell-ink);
  font-size: 0.75rem;
  font-weight: 650;
  letter-spacing: 0.035em;
  text-decoration-color: transparent;
  text-underline-offset: 0.35rem;
}

.site-footer__nav a:hover,
.site-footer__facts a:hover {
  color: var(--shell-action-hover);
  text-decoration-color: currentColor;
}

.site-footer__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}

.site-footer.site-footer a.site-footer__inquiry {
  display: inline-grid;
  min-width: 7.75rem;
  min-height: var(--control-height);
  padding: 0.65rem 1rem;
  place-items: center;
  border: 1px solid var(--shell-action);
  border-radius: var(--shell-radius);
  background: var(--shell-action);
  color: #f7fbfb !important;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  line-height: 1;
  text-decoration: none;
}

.site-footer.site-footer a.site-footer__inquiry:hover {
  border-color: var(--shell-action-hover);
  background: var(--shell-action-hover);
  color: #fff !important;
}

.site-footer .site-footer__facts {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem 2rem;
  padding-block: 1rem 1.25rem;
  border-top: 1px solid var(--shell-line);
}

.site-footer .site-footer__facts p,
.site-footer .site-footer__facts p:first-child {
  display: block;
  grid-column: auto;
  margin: 0;
  color: var(--shell-muted);
  font-size: 0.7rem;
  line-height: 1.65;
}

.site-footer .site-footer__facts p > * + * {
  margin-inline-start: 0.2rem;
}

.site-footer .site-footer__facts a {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  color: var(--shell-ink);
  font-size: 0.68rem;
  font-weight: 650;
}

@media (max-width: 70rem) {
  .brand__text small {
    display: none;
  }

  .primary-nav a,
  .primary-nav .primary-nav__link {
    padding-inline: 0.48rem;
    font-size: 0.75rem;
  }

  .site-footer__compact {
    gap: 1rem 2rem;
  }
}

@media (max-width: 63.99rem) {
  html.has-open-navigation {
    overflow: hidden;
  }

  .site-header__inner {
    grid-template-columns: auto minmax(0, 1fr);
  }

  html.js .primary-nav {
    position: fixed;
    z-index: calc(var(--z-header) + 1);
    inset: calc(var(--header-height) + 0.75rem) 1rem auto auto;
    display: none;
    width: min(27rem, calc(100vw - 2rem));
    max-height: calc(100dvh - var(--header-height) - 1.5rem);
    overflow-y: auto;
    padding: 0.55rem;
    border: 1px solid rgb(22 48 58 / 0.18);
    border-radius: 0.85rem;
    background: rgb(250 252 251 / 0.98);
    box-shadow: 0 24px 70px rgb(18 42 51 / 0.18);
  }

  html.js .primary-nav.is-open {
    display: grid;
    grid-template-columns: 1fr;
    align-content: start;
    gap: 0.15rem;
  }

  html.js .primary-nav a,
  html.js .primary-nav .primary-nav__link {
    min-height: 3rem;
    justify-items: start;
    padding: 0.72rem 0.85rem;
    border: 0;
    border-radius: 0.5rem;
    color: var(--shell-ink);
    font-family: var(--font-body);
    font-size: 0.86rem;
    font-weight: 650;
    letter-spacing: 0.025em;
  }

  html.js .primary-nav a:hover,
  html.js .primary-nav a[aria-current="page"] {
    background: #dce9e9;
    color: var(--shell-ink);
    box-shadow: none;
  }

  html.js .nav-toggle {
    display: grid;
  }

  html:not(.js) .site-header {
    position: static;
    height: auto;
  }

  html:not(.js) .site-header__inner {
    grid-template-columns: 1fr;
    height: auto;
    padding-block: 0.75rem;
  }

  html:not(.js) .primary-nav {
    width: 100%;
    flex-wrap: wrap;
    justify-self: stretch;
  }
}

@media (max-width: 47.99rem) {
  :root {
    --header-height: 4.125rem;
  }

  .site-header__inner {
    min-height: var(--header-height);
    padding-inline: 1rem;
  }

  .header-action,
  .brand__text small,
  .nav-toggle__label {
    display: none;
  }

  .nav-toggle {
    width: var(--control-height);
    min-width: var(--control-height);
    grid-template-columns: 1rem;
    padding-inline: 0;
  }

  html.js .primary-nav {
    right: 0.75rem;
    left: 0.75rem;
    width: calc(100vw - 1.5rem);
    justify-self: auto;
  }

  html.js .primary-nav .primary-nav__mobile-action {
    display: grid !important;
    margin-top: 0.35rem;
    border: 1px solid var(--shell-action);
    background: var(--shell-action);
    color: #fff;
  }

  .site-footer__compact {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 1.35rem;
    padding-block: 2.25rem;
  }

  .site-footer__nav {
    justify-content: flex-start;
    gap: 0.1rem 0.8rem;
  }

  .site-footer__actions {
    display: grid;
    grid-column: auto;
    grid-template-columns: 1fr;
    width: 100%;
    align-items: flex-start;
    padding-top: 1.25rem;
  }

  .site-footer.site-footer a.site-footer__inquiry {
    width: 100%;
  }

  .site-footer .site-footer__facts {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 0.35rem;
  }
}

@media (max-width: 22.5rem) {
  .site-header__inner {
    padding-inline: 0.75rem;
  }

  .market-switcher__trigger > span:first-child,
  .market-switcher__trigger > span:nth-child(2) {
    display: inline !important;
  }

  .market-switcher__trigger {
    padding-inline: 0.55rem;
    font-size: 0.61rem;
  }

  .site-header__tools {
    gap: 0.25rem;
  }

}

@media (prefers-reduced-motion: reduce) {
  .primary-nav a,
  .header-action,
  .market-switcher__trigger,
  .nav-toggle,
  .site-footer a {
    transition-duration: 0.01ms !important;
  }
}

@media (forced-colors: active) {
  .primary-nav,
  .market-switcher__trigger,
  .nav-toggle,
  .header-action,
  .site-footer__inquiry {
    border: 1px solid ButtonText;
  }
}

/* product-v7.css */
/* TY Audio v7 product commerce system.
   Cold-luxury product pages with a truthful WooCommerce runtime and compact editorial rhythm. */

.page-product {
  --product-v7-canvas: #edf3f4;
  --product-v7-paper: #fbfdfd;
  --product-v7-paper-soft: #f4f8f8;
  --product-v7-ice: #dce9eb;
  --product-v7-ice-strong: #c4d9dd;
  --product-v7-ink: #0b2631;
  --product-v7-copy: #4c646d;
  --product-v7-muted: #556970;
  --product-v7-navy: #123845;
  --product-v7-navy-raised: #194755;
  --product-v7-accent: #116c7d;
  --product-v7-accent-hover: #0f6677;
  --product-v7-positive: #22664f;
  --product-v7-warning: #88691e;
  --product-v7-danger: #8d4343;
  --product-v7-line: rgb(11 38 49 / 0.14);
  --product-v7-line-strong: rgb(11 38 49 / 0.28);
  --product-v7-shadow: 0 1.5rem 4rem rgb(14 49 61 / 0.12);
  --product-v7-shadow-small: 0 0.75rem 2rem rgb(14 49 61 / 0.09);
  --product-v7-radius: 0.5rem;
  --product-v7-radius-small: 0.25rem;
  --product-v7-ease: cubic-bezier(0.22, 1, 0.36, 1);
  color-scheme: light;
  background: var(--product-v7-canvas);
  color: var(--product-v7-ink);
  accent-color: var(--product-v7-accent);
}

.page-product main {
  overflow: clip;
  background: var(--product-v7-canvas);
}

.page-product :where(h1, h2, h3, h4, dt, strong) {
  color: var(--product-v7-ink);
}

.page-product :where(p, li, dd, small) {
  color: var(--product-v7-copy);
}

.page-product ::selection {
  background: var(--product-v7-ice-strong);
  color: var(--product-v7-ink);
}

.page-product :where(a, button, input, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--focus, #087985);
  outline-offset: 3px;
}

/* WooCommerce injects this cart destination into the shared static header. */
.site-header .ty-woo-cart-link {
  display: inline-flex;
  min-height: var(--control-height);
  gap: 0.45rem;
  align-items: center;
  justify-content: center;
  padding-inline: 0.8rem;
  border: 1px solid var(--shell-action, #315f70);
  border-radius: var(--shell-radius, 0.5rem);
  background: var(--shell-action, #315f70);
  color: #f7fbfb;
  font-size: 0.7rem;
  font-weight: 760;
  letter-spacing: 0.055em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

.site-header .ty-woo-cart-link small {
  display: grid;
  min-width: 1.35rem;
  height: 1.35rem;
  margin: 0;
  padding-inline: 0.25rem;
  place-items: center;
  border-radius: 50%;
  background: #f7fbfb;
  color: var(--shell-action, #315f70);
  font-family: var(--font-data);
  font-size: 0.64rem;
  font-variant-numeric: tabular-nums;
}

.site-header .ty-woo-cart-link:hover {
  border-color: var(--shell-action-hover, #244c5b);
  background: var(--shell-action-hover, #244c5b);
  color: #fff;
}

.site-header .ty-woo-cart-link--unavailable {
  border-color: var(--shell-line, rgb(22 48 58 / 0.16));
  background: rgb(255 255 255 / 0.5);
  color: var(--shell-ink, #16303a);
}

.site-header .ty-woo-cart-link--unavailable small {
  width: auto;
  min-width: 0;
  height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-family: var(--font-body);
}

.site-header .ty-woo-cart-link:focus-visible {
  outline: 3px solid var(--focus, #087985);
  outline-offset: 3px;
}

.page-product .breadcrumbs {
  padding-block: 0.75rem;
  border-bottom: 1px solid var(--product-v7-line);
  background: var(--product-v7-paper-soft);
  color: var(--product-v7-copy);
}

/* Product gallery and purchase module */
.page-product .product-commerce-hero {
  display: grid;
  grid-template-columns: minmax(0, 58fr) minmax(20rem, 42fr);
  gap: clamp(2rem, 4.5vw, 5rem);
  align-items: start;
  padding-block: clamp(1.5rem, 3vw, 3.25rem) clamp(3.25rem, 6vw, 6rem);
}

.page-product .product-commerce-hero__media {
  min-width: 0;
}

.page-product .product-detail-gallery {
  min-width: 0;
}

.page-product .product-detail-gallery__stage {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--product-v7-line);
  border-radius: var(--product-v7-radius);
  background: var(--product-v7-paper);
  box-shadow: var(--product-v7-shadow);
}

.page-product .product-detail-gallery__item {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  margin: 0;
  background: var(--product-v7-paper);
}

.page-product .product-detail-gallery__item[hidden] {
  display: none !important;
}

.page-product .product-detail-gallery__item .media-picture {
  display: block;
  min-height: 0;
  background: var(--product-v7-paper-soft);
}

.page-product .product-detail-gallery__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.page-product .product-detail-gallery__item figcaption {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem 1.25rem;
  align-items: baseline;
  min-height: 4.25rem;
  padding: 0.85rem clamp(1rem, 2vw, 1.5rem);
  border-top: 1px solid var(--product-v7-line);
  background: var(--product-v7-paper);
}

.page-product .product-detail-gallery__item figcaption span {
  color: var(--product-v7-ink);
  font-size: 0.8rem;
  font-weight: 760;
}

.page-product .product-detail-gallery__item figcaption small {
  justify-self: end;
  max-width: 42rem;
  font-size: 0.7rem;
  line-height: 1.55;
  text-align: end;
}

.page-product .product-detail-gallery__counter {
  position: absolute;
  z-index: 2;
  top: 0.9rem;
  right: 0.9rem;
  display: flex;
  gap: 0.35rem;
  min-height: 2.75rem;
  align-items: center;
  margin: 0;
  padding-inline: 0.85rem;
  border: 1px solid rgb(255 255 255 / 0.68);
  border-radius: var(--product-v7-radius-small);
  background: rgb(251 253 253 / 0.9);
  color: var(--product-v7-ink);
  font-family: var(--font-data);
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
  backdrop-filter: blur(12px);
}

.page-product .product-detail-gallery__counter span {
  color: inherit;
}

.page-product .product-detail-gallery__controls {
  display: grid;
  grid-auto-columns: minmax(5.75rem, 7rem);
  grid-auto-flow: column;
  gap: 0.65rem;
  margin-block-start: 0.8rem;
  padding: 0.15rem 0.1rem 0.55rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-color: var(--product-v7-accent) transparent;
  scrollbar-width: thin;
}

.page-product .product-detail-gallery__thumb {
  position: relative;
  display: grid;
  min-width: 5.75rem;
  min-height: 5.75rem;
  grid-template-rows: minmax(3.6rem, 1fr) auto;
  scroll-snap-align: start;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--product-v7-line);
  border-radius: var(--product-v7-radius-small);
  background: var(--product-v7-paper-soft);
  color: var(--product-v7-copy);
  cursor: pointer;
  font: inherit;
  text-align: start;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms var(--product-v7-ease);
}

.page-product .product-detail-gallery__thumb::before {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: transparent;
  content: "";
}

.page-product .product-detail-gallery__thumb.is-active {
  border-color: var(--product-v7-accent);
  background: var(--product-v7-paper);
  color: var(--product-v7-ink);
}

.page-product .product-detail-gallery__thumb.is-active::before {
  background: var(--product-v7-accent);
}

.page-product .product-detail-gallery__thumb .media-picture {
  display: block;
  min-height: 0;
}

.page-product .product-detail-gallery__thumb-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-product .product-detail-gallery__thumb > span {
  overflow: hidden;
  padding: 0.45rem 0.55rem 0.5rem;
  color: inherit;
  font-size: 0.65rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.page-product .purchase-card {
  position: sticky;
  top: calc(var(--header-height) + 1.25rem);
  display: grid;
  gap: 1.15rem;
  min-width: 0;
  padding: clamp(1.35rem, 2.6vw, 2.25rem);
  border: 1px solid var(--product-v7-line-strong);
  border-radius: var(--product-v7-radius);
  background: var(--product-v7-paper);
  box-shadow: var(--product-v7-shadow-small);
}

.page-product .purchase-card__eyebrow,
.page-product .section-kicker {
  margin: 0;
  color: var(--product-v7-accent);
  font-family: var(--font-data);
  font-size: 0.68rem;
  font-weight: 760;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.page-product .purchase-card h1 {
  display: grid;
  gap: 0.45rem;
  max-width: 15ch;
  margin: 0;
  font-size: clamp(2rem, 3.35vw, 3.55rem);
  font-weight: 460;
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.page-product .purchase-card h1 span {
  display: block;
  color: var(--product-v7-accent);
  font-family: var(--font-data);
  font-size: 0.7rem;
  font-weight: 760;
  letter-spacing: 0.08em;
}

.page-product .purchase-card__lead {
  max-width: 38rem;
  margin: 0;
  color: var(--product-v7-copy);
  font-size: clamp(0.94rem, 1.1vw, 1.05rem);
  line-height: 1.72;
}

.page-product .purchase-runtime {
  min-width: 0;
}

.page-product .purchase-runtime > .ty-woo-purchase + .purchase-runtime__preview,
.page-product .purchase-runtime:has(.ty-woo-purchase) .purchase-runtime__preview {
  display: none;
}

.page-product .purchase-runtime__preview {
  display: grid;
  gap: 1rem;
}

.page-product .purchase-card__reference {
  display: grid;
  gap: 0.35rem;
  padding-block: 1rem;
  border-block: 1px solid var(--product-v7-line);
}

.page-product .purchase-card__reference > span {
  color: var(--product-v7-muted);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.page-product .purchase-card__reference > strong {
  overflow-wrap: anywhere;
  color: var(--product-v7-ink);
  font-family: var(--font-data);
  font-size: clamp(0.9rem, 1.25vw, 1.05rem);
  font-variant-numeric: tabular-nums;
  line-height: 1.55;
}

.page-product .purchase-state {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.95rem;
  border: 1px solid var(--product-v7-line);
  border-inline-start: 3px solid var(--product-v7-warning);
  border-radius: var(--product-v7-radius-small);
  background: var(--product-v7-paper-soft);
}

.page-product .purchase-state__signal {
  width: 0.65rem;
  height: 0.65rem;
  margin-block-start: 0.35rem;
  border: 2px solid var(--product-v7-paper);
  border-radius: 50%;
  background: var(--product-v7-warning);
  box-shadow: 0 0 0 1px var(--product-v7-warning);
}

.page-product .purchase-state strong,
.page-product .purchase-state p {
  margin: 0;
}

.page-product .purchase-state strong {
  display: block;
  font-size: 0.84rem;
}

.page-product .purchase-state p {
  margin-block-start: 0.25rem;
  font-size: 0.76rem;
  line-height: 1.55;
}

.page-product .purchase-card__fallback-action,
.page-product .purchase-card .ty-woo-button {
  width: 100%;
  min-height: 3rem;
}

.page-product .purchase-card__service {
  display: grid;
  min-height: 3.5rem;
  gap: 0.2rem;
  align-content: center;
  padding: 0.75rem 2.7rem 0.75rem 0.9rem;
  border: 1px solid var(--product-v7-line);
  border-radius: var(--product-v7-radius-small);
  background: var(--product-v7-ice);
  color: var(--product-v7-ink);
  text-decoration: none;
}

.page-product .purchase-card__service::after {
  position: absolute;
  content: "";
}

.page-product .purchase-card__service span {
  color: inherit;
  font-size: 0.78rem;
  font-weight: 760;
}

.page-product .purchase-card__service small {
  color: var(--product-v7-copy);
  font-size: 0.69rem;
  line-height: 1.45;
}

.page-product .purchase-card__terms {
  display: grid;
  margin: 0;
  border-top: 1px solid var(--product-v7-line);
}

.page-product .purchase-card__terms > div {
  display: grid;
  grid-template-columns: minmax(5.25rem, 0.42fr) minmax(0, 1fr);
  gap: 0.75rem;
  padding-block: 0.7rem;
  border-bottom: 1px solid var(--product-v7-line);
}

.page-product .purchase-card__terms dt {
  color: var(--product-v7-muted);
  font-size: 0.67rem;
  font-weight: 700;
}

.page-product .purchase-card__terms dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--product-v7-ink);
  font-size: 0.72rem;
  line-height: 1.45;
}

.page-product .purchase-card__boundary {
  margin: 0;
  color: var(--product-v7-muted);
  font-size: 0.68rem;
  line-height: 1.55;
}

/* Live WooCommerce purchase states */
.page-product .ty-woo-purchase {
  display: grid;
  gap: 1rem;
  width: 100%;
  padding: 0;
  border: 0;
  color: var(--product-v7-ink);
}

.page-product .ty-woo-purchase__summary {
  display: flex;
  gap: 1rem;
  align-items: end;
  justify-content: space-between;
  padding-block: 1rem;
  border-block: 1px solid var(--product-v7-line);
}

.page-product .ty-woo-purchase__summary > div:first-child {
  display: grid;
  gap: 0.3rem;
}

.page-product .ty-woo-purchase__summary span,
.page-product .ty-woo-purchase__quantity-label,
.page-product .ty-woo-purchase__note {
  color: var(--product-v7-muted);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.page-product .ty-woo-purchase__price {
  color: var(--product-v7-ink);
  font-family: var(--font-data);
  font-size: clamp(1.45rem, 2.6vw, 2.15rem);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  line-height: 1.08;
}

.page-product .ty-woo-purchase__price del {
  margin-inline-end: 0.45rem;
  color: var(--product-v7-muted);
  font-size: 0.62em;
}

.page-product .ty-woo-purchase__price ins {
  text-decoration: none;
}

.page-product .ty-woo-purchase__stock .stock {
  margin: 0;
  color: var(--product-v7-positive);
  font-size: 0.77rem;
  font-weight: 760;
}

.page-product .ty-woo-purchase__form {
  display: grid;
  grid-template-columns: minmax(5.5rem, 0.22fr) minmax(0, 1fr);
  gap: 0.55rem 0.75rem;
  align-items: end;
  margin: 0;
}

.page-product .ty-woo-purchase__quantity-label,
.page-product .ty-woo-purchase .quantity {
  grid-column: 1;
}

.page-product .ty-woo-purchase .qty {
  width: 100%;
  min-height: 3rem;
  padding-inline: 0.5rem;
  border: 1px solid var(--product-v7-line-strong);
  border-radius: var(--product-v7-radius-small);
  background: var(--product-v7-paper);
  color: var(--product-v7-ink);
  font: inherit;
  font-variant-numeric: tabular-nums;
  text-align: center;
}

.page-product .ty-woo-purchase__actions {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.page-product .ty-woo-button {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--product-v7-navy);
  border-radius: var(--product-v7-radius-small);
  background: transparent;
  color: var(--product-v7-navy);
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 780;
  letter-spacing: 0.055em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms var(--product-v7-ease);
}

.page-product .ty-woo-button--primary {
  border-color: var(--product-v7-navy);
  background: var(--product-v7-navy);
  color: #f5fbfc !important;
}

.page-product .ty-woo-purchase__note {
  margin: 0;
  font-weight: 500;
  line-height: 1.55;
}

.page-product .ty-woo-purchase__state {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.95rem;
  border: 1px solid var(--product-v7-line);
  border-inline-start: 3px solid var(--product-v7-warning);
  border-radius: var(--product-v7-radius-small);
  background: var(--product-v7-paper-soft);
}

.page-product .ty-woo-purchase__signal {
  width: 0.65rem;
  height: 0.65rem;
  margin-block-start: 0.35rem;
  border-radius: 50%;
  background: var(--product-v7-warning);
}

.page-product .ty-woo-purchase__state strong,
.page-product .ty-woo-purchase__state p {
  display: block;
  margin: 0;
}

.page-product .ty-woo-purchase__state p {
  margin-block-start: 0.25rem;
  color: var(--product-v7-copy);
  font-size: 0.76rem;
  line-height: 1.55;
}

.page-product .ty-woo-purchase--unavailable .ty-woo-button {
  justify-self: stretch;
}

/* Anchored local navigation and verified facts */
.page-product .product-subnav {
  position: sticky;
  z-index: calc(var(--z-header) - 1);
  top: var(--header-height);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border-block: 1px solid var(--product-v7-line);
  background: rgb(251 253 253 / 0.94);
  box-shadow: 0 0.45rem 1.4rem rgb(14 49 61 / 0.06);
  scrollbar-width: thin;
  backdrop-filter: blur(16px);
}

.page-product .product-subnav .section-shell {
  display: flex;
  min-width: max-content;
  gap: clamp(1rem, 3vw, 2.75rem);
}

.page-product .product-subnav a {
  position: relative;
  display: inline-flex;
  min-width: 2.75rem;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  color: var(--product-v7-copy);
  font-size: 0.72rem;
  font-weight: 720;
  letter-spacing: 0.04em;
  text-decoration: none;
}

.page-product .product-subnav a::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: var(--product-v7-accent);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms var(--product-v7-ease);
}

.page-product .product-proof {
  padding-block: clamp(3rem, 6vw, 5.5rem);
}

.page-product .product-proof dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border-block: 1px solid var(--product-v7-line-strong);
}

.page-product .product-proof dl > div {
  min-width: 0;
  padding: clamp(1rem, 2vw, 1.55rem);
  border-inline-end: 1px solid var(--product-v7-line);
}

.page-product .product-proof dl > div:last-child {
  border-inline-end: 0;
}

.page-product .product-proof dt {
  color: var(--product-v7-muted);
  font-size: 0.68rem;
  font-weight: 760;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.page-product .product-proof dd {
  min-width: 0;
  margin: 0.5rem 0 0;
  overflow-wrap: anywhere;
  color: var(--product-v7-ink);
  font-family: var(--font-data);
  font-size: clamp(0.78rem, 0.95vw, 0.92rem);
  font-variant-numeric: tabular-nums;
  line-height: 1.55;
}

/* Editorial product narrative */
.page-product .product-editorial {
  display: grid;
  gap: clamp(1.75rem, 3vw, 3rem);
  padding-block: clamp(2.75rem, 5vw, 5rem);
  border-top: 1px solid var(--product-v7-line);
}

.page-product .product-editorial__intro,
.page-product .product-specification__heading,
.page-product .product-media-v7__heading,
.page-product .product-volume__heading {
  display: grid;
  grid-template-columns: minmax(16rem, 0.78fr) minmax(18rem, 1.22fr);
  gap: clamp(1.5rem, 5vw, 6rem);
  align-items: end;
}

.page-product .product-editorial__intro .section-kicker,
.page-product .product-specification__heading .section-kicker,
.page-product .product-media-v7__heading .section-kicker,
.page-product .product-volume__heading .section-kicker {
  grid-column: 1 / -1;
}

.page-product .product-editorial__intro h2,
.page-product .product-specification__heading h2,
.page-product .product-media-v7__heading h2,
.page-product .product-volume__heading h2,
.page-product .product-confidence h2,
.page-product .related-products--v7 h2 {
  max-width: 17ch;
  margin: 0;
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 460;
  letter-spacing: -0.04em;
  line-height: 1.02;
}

.page-product .product-editorial__intro h2 {
  max-width: 18ch;
  font-size: clamp(1.85rem, 3vw, 3rem);
}

.page-product .product-editorial__intro > p:last-child,
.page-product .product-specification__heading > p:last-child,
.page-product .product-media-v7__heading > p:last-child,
.page-product .product-volume__heading > p:last-child {
  max-width: 45rem;
  margin: 0;
  line-height: 1.75;
}

.page-product .product-editorial__feature {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(16rem, 0.55fr);
  min-height: clamp(27rem, 52vw, 47rem);
  overflow: hidden;
  border: 1px solid var(--product-v7-line);
  border-radius: var(--product-v7-radius);
  background: var(--product-v7-paper);
  box-shadow: var(--product-v7-shadow-small);
}

.page-product .product-editorial__feature--reverse {
  grid-template-columns: minmax(16rem, 0.55fr) minmax(0, 1.45fr);
}

.page-product .product-editorial__feature--reverse figure {
  grid-column: 2;
}

.page-product .product-editorial__feature--reverse > div {
  grid-column: 1;
  grid-row: 1;
}

.page-product .product-editorial__feature figure {
  min-width: 0;
  min-height: 0;
  margin: 0;
  background: var(--product-v7-paper-soft);
}

.page-product .product-editorial__feature figure picture {
  display: block;
  height: 100%;
}

.page-product .product-editorial__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-product .product-editorial__feature > div {
  display: grid;
  gap: 1rem;
  align-content: end;
  padding: clamp(1.4rem, 3vw, 3rem);
  border-inline-start: 1px solid var(--product-v7-line);
}

.page-product .product-editorial__feature--reverse > div {
  border-inline: 0 1px solid var(--product-v7-line);
}

.page-product .product-editorial__feature > div > span {
  color: var(--product-v7-accent);
  font-family: var(--font-data);
  font-size: 0.72rem;
}

.page-product .product-editorial__feature h3 {
  max-width: 16ch;
  margin: 0;
  font-size: clamp(1.45rem, 2.4vw, 2.45rem);
  font-weight: 460;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.page-product .product-editorial__feature p,
.page-product .product-editorial__feature small {
  margin: 0;
  line-height: 1.7;
}

.page-product .product-editorial__feature small {
  padding-block-start: 0.8rem;
  border-top: 1px solid var(--product-v7-line);
  font-size: 0.68rem;
}

.page-product .product-editorial__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-block: 1px solid var(--product-v7-line);
}

.page-product .product-editorial__facts article {
  display: grid;
  min-height: clamp(15rem, 24vw, 22rem);
  gap: 1rem;
  align-content: end;
  padding: clamp(1.5rem, 4vw, 4rem);
}

.page-product .product-editorial__facts article + article {
  border-inline-start: 1px solid var(--product-v7-line);
}

.page-product .product-editorial__facts span {
  color: var(--product-v7-accent);
  font-family: var(--font-data);
  font-size: 0.72rem;
}

.page-product .product-editorial__facts h3 {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(1.45rem, 2.4vw, 2.45rem);
  font-weight: 460;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.page-product .product-editorial__facts :where(p, small) {
  max-width: 44rem;
  margin: 0;
  line-height: 1.7;
}

.page-product .product-editorial__facts small {
  padding-block-start: 0.8rem;
  border-top: 1px solid var(--product-v7-line);
  font-size: 0.68rem;
}

/* Acoustic architecture */
.page-product .product-architecture {
  padding-block: clamp(4rem, 8vw, 8rem);
  background: var(--product-v7-navy);
  color: #edf6f7;
}

.page-product .product-architecture__inner {
  display: grid;
  grid-template-columns: minmax(16rem, 0.7fr) minmax(18rem, 0.72fr) minmax(19rem, 0.88fr);
  gap: clamp(2rem, 5vw, 6rem);
  align-items: center;
}

.page-product .product-architecture :where(h2, h3, dt, dd, strong) {
  color: #edf6f7;
}

.page-product .product-architecture :where(p, small) {
  color: #b8ccd1;
}

.page-product .product-architecture .section-kicker {
  color: #78d1d8;
}

.page-product .product-architecture__copy h2 {
  max-width: 12ch;
  margin: 0.65rem 0 1rem;
  font-size: clamp(2rem, 3.7vw, 3.65rem);
  font-weight: 460;
  letter-spacing: -0.04em;
  line-height: 1.03;
}

.page-product .product-architecture__copy p:last-child {
  max-width: 35rem;
  margin: 0;
  line-height: 1.75;
}

.page-product .product-architecture__visual {
  position: relative;
  width: min(100%, 25rem);
  aspect-ratio: 1;
  margin-inline: auto;
  border: 1px solid rgb(120 209 216 / 0.58);
  border-radius: 50%;
  box-shadow: inset 0 0 0 1.1rem rgb(237 246 247 / 0.035);
  animation: product-v7-orbit 36s linear infinite;
}

.page-product .product-architecture__visual::before,
.page-product .product-architecture__visual::after {
  position: absolute;
  border: 1px solid rgb(184 204 209 / 0.28);
  border-radius: 50%;
  content: "";
}

.page-product .product-architecture__visual::before {
  inset: 18%;
}

.page-product .product-architecture__visual::after {
  inset: 37%;
  border-color: rgb(120 209 216 / 0.5);
  background: var(--product-v7-navy-raised);
}

.page-product .product-architecture__visual > span {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  display: grid;
  width: clamp(3.4rem, 6.5vw, 5.8rem);
  aspect-ratio: 1;
  translate: -50% -50%;
  transform: rotate(calc(var(--driver-order) * 119deg)) translateX(clamp(5rem, 10vw, 8.7rem)) scale(var(--driver-scale));
  place-items: center;
  border: 1px solid rgb(120 209 216 / 0.62);
  border-radius: 50%;
  background: var(--product-v7-navy-raised);
  box-shadow: 0 0.8rem 2.2rem rgb(1 16 21 / 0.24);
}

.page-product .product-architecture__visual > span i {
  width: 42%;
  aspect-ratio: 1;
  border: 1px solid rgb(237 246 247 / 0.45);
  border-radius: 50%;
  background: #6bc4cd;
  box-shadow: 0 0 0 0.55rem rgb(107 196 205 / 0.12);
  animation: product-v7-driver 2.8s var(--product-v7-ease) infinite alternate;
  animation-delay: calc(var(--driver-order) * -0.55s);
}

.page-product .product-architecture__ledger {
  display: grid;
  margin: 0;
  border-top: 1px solid rgb(184 204 209 / 0.24);
}

.page-product .product-architecture__ledger > div {
  display: grid;
  grid-template-columns: minmax(7rem, 0.7fr) minmax(0, 1.3fr);
  gap: 1rem;
  padding-block: 1rem;
  border-bottom: 1px solid rgb(184 204 209 / 0.24);
}

.page-product .product-architecture__ledger dt {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  font-size: 0.72rem;
  font-weight: 700;
}

.page-product .product-architecture__ledger dt span {
  color: #78d1d8;
  font-family: var(--font-data);
}

.page-product .product-architecture__ledger dd {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.page-product .product-architecture__ledger dd strong {
  font-family: var(--font-data);
  font-size: 0.9rem;
  font-variant-numeric: tabular-nums;
}

.page-product .product-architecture__ledger dd small {
  font-size: 0.67rem;
  line-height: 1.45;
}

@keyframes product-v7-orbit {
  to { rotate: 1turn; }
}

@keyframes product-v7-driver {
  from { opacity: 0.62; scale: 0.84; }
  to { opacity: 1; scale: 1; }
}

/* Expandable specifications */
.page-product .product-specification {
  display: grid;
  gap: clamp(2.2rem, 5vw, 4.5rem);
  padding-block: clamp(4rem, 8vw, 8rem);
}

.page-product .product-specification__groups {
  border-top: 1px solid var(--product-v7-line-strong);
}

.page-product .product-spec-group {
  border-bottom: 1px solid var(--product-v7-line-strong);
}

.page-product .product-spec-group summary {
  display: grid;
  min-height: 4.25rem;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 1rem;
  align-items: center;
  padding-inline: 0.15rem;
  color: var(--product-v7-ink);
  cursor: pointer;
  list-style: none;
}

.page-product .product-spec-group summary::-webkit-details-marker {
  display: none;
}

.page-product .product-spec-group summary::after {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border: 1px solid var(--product-v7-line);
  border-radius: 50%;
  color: var(--product-v7-accent);
  content: "+";
  font-family: var(--font-data);
  font-size: 1.15rem;
}

.page-product .product-spec-group[open] summary::after {
  content: "−";
}

.page-product .product-spec-group summary span {
  color: inherit;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  font-weight: 720;
}

.page-product .product-spec-group summary small {
  color: var(--product-v7-muted);
  font-family: var(--font-data);
  font-size: 0.67rem;
}

.page-product .product-spec-group dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding-block-end: 1.2rem;
}

.page-product .product-spec-group dl > div {
  display: grid;
  grid-template-columns: minmax(6.5rem, 0.45fr) minmax(0, 1fr);
  gap: 0.8rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--product-v7-line);
}

.page-product .product-spec-group dl > div:nth-child(odd) {
  border-inline-end: 1px solid var(--product-v7-line);
}

.page-product .product-spec-group dt {
  color: var(--product-v7-muted);
  font-size: 0.69rem;
  font-weight: 700;
}

.page-product .product-spec-group dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--product-v7-ink);
  font-family: var(--font-data);
  font-size: 0.76rem;
  line-height: 1.5;
}

.page-product .product-spec-group > p {
  max-width: 52rem;
  margin: 0 0 1.25rem;
  padding: 0.85rem 1rem;
  border-inline-start: 3px solid var(--product-v7-accent);
  background: var(--product-v7-paper-soft);
  font-size: 0.74rem;
  line-height: 1.6;
}

/* Product scenes, video and media states */
.page-product .product-media-v7 {
  display: grid;
  min-width: 0;
  gap: clamp(2rem, 4vw, 4rem);
  padding-block: clamp(4rem, 8vw, 8rem);
  border-top: 1px solid var(--product-v7-line);
}

.page-product .product-media-v7 > *,
.page-product .product-media-v7 .media-gallery {
  width: 100%;
  min-width: 0;
}

.page-product .product-media-v7 > .media-gallery > .section-heading {
  display: none;
}

.page-product .media-gallery__toolbar {
  display: flex;
  min-height: 3.5rem;
  align-items: center;
  justify-content: space-between;
  margin-block-end: 0.85rem;
  padding-block: 0.45rem;
  border-block: 1px solid var(--product-v7-line);
}

.page-product .media-gallery__toolbar p {
  margin: 0;
  color: var(--product-v7-ink);
  font-family: var(--font-data);
  font-size: 0.72rem;
}

.page-product .media-gallery__toolbar > div {
  display: flex;
  gap: 0.5rem;
}

.page-product .media-gallery__toolbar button,
.page-product .lightbox button,
.page-product .video-feature__error button {
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.55rem 0.8rem;
  border: 1px solid var(--product-v7-line-strong);
  border-radius: var(--product-v7-radius-small);
  background: var(--product-v7-paper);
  color: var(--product-v7-ink);
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
}

.page-product .media-gallery__toolbar button:disabled,
.page-product .lightbox button:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}

.page-product .media-rail {
  display: grid;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  grid-auto-columns: minmax(19rem, 62%);
  grid-auto-flow: column;
  gap: 0.9rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding-block-end: 0.7rem;
  scroll-padding-inline: 0.1rem;
  scroll-snap-type: inline mandatory;
  scrollbar-color: var(--product-v7-accent) transparent;
  scrollbar-width: thin;
}

.page-product .media-rail__item {
  min-width: 0;
  margin: 0;
  scroll-snap-align: start;
}

.page-product .media-rail__item a {
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--product-v7-line);
  border-radius: var(--product-v7-radius);
  background: var(--product-v7-paper-soft);
}

.page-product .media-rail__picture {
  display: block;
  height: 100%;
}

.page-product .media-rail__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 280ms var(--product-v7-ease);
}

.page-product .media-rail__item figcaption {
  padding-block: 0.65rem;
  color: var(--product-v7-copy);
  font-size: 0.7rem;
  line-height: 1.55;
}

.page-product .empty-state {
  display: grid;
  min-height: 15rem;
  gap: 0.75rem;
  place-content: center;
  padding: 2rem;
  border: 1px solid var(--product-v7-line);
  background: var(--product-v7-paper-soft);
  text-align: center;
}

.page-product .product-media-v7__video {
  padding-block-start: clamp(2rem, 5vw, 5rem);
  border-top: 1px solid var(--product-v7-line);
}

.page-product .product-media-v7__video > .section-heading {
  display: grid;
  grid-template-columns: minmax(14rem, 0.7fr) minmax(18rem, 1.3fr);
  gap: 2rem;
  align-items: end;
  margin-block-end: 1.5rem;
}

.page-product .product-media-v7__video > .section-heading h3 {
  margin: 0;
  font-size: clamp(1.5rem, 2.6vw, 2.5rem);
}

.page-product .product-media-v7__video > .section-heading p {
  margin: 0;
}

.page-product .video-feature {
  display: grid;
  grid-template-columns: minmax(16rem, 0.5fr) minmax(0, 1.5fr);
  overflow: hidden;
  border: 1px solid var(--product-v7-line);
  border-radius: var(--product-v7-radius);
  background: var(--product-v7-paper);
}

.page-product .video-feature__copy {
  display: grid;
  gap: 0.9rem;
  align-content: end;
  padding: clamp(1.35rem, 3vw, 2.75rem);
  border-inline-end: 1px solid var(--product-v7-line);
}

.page-product .video-feature__copy h4,
.page-product .video-feature__copy h3 {
  margin: 0;
  font-size: clamp(1.35rem, 2vw, 2rem);
}

.page-product .video-feature__copy p {
  margin: 0;
  line-height: 1.65;
}

.page-product .video-feature__copy .boundary-note {
  padding-block-start: 0.9rem;
  border-top: 1px solid var(--product-v7-line);
  font-size: 0.7rem;
}

.page-product .video-feature__media,
.page-product .video-poster {
  position: relative;
  min-width: 0;
  min-height: 22rem;
  background: var(--product-v7-navy);
}

.page-product .video-poster__picture,
.page-product .video-poster__image,
.page-product .video-feature video {
  display: block;
  width: 100%;
  height: 100%;
}

.page-product .video-poster__image,
.page-product .video-feature video {
  object-fit: cover;
}

.page-product .video-poster .button {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  min-height: 2.75rem;
}

.page-product .video-feature__error {
  display: grid;
  min-height: 22rem;
  gap: 0.8rem;
  place-content: center;
  padding: 2rem;
  background: var(--product-v7-paper-soft);
  text-align: center;
}

.page-product .video-feature__error[hidden],
.page-product .video-feature video[hidden] {
  display: none !important;
}

.page-product .lightbox {
  width: min(94vw, 86rem);
  max-width: none;
  max-height: 94dvh;
  padding: 0;
  border: 1px solid var(--product-v7-line-strong);
  border-radius: var(--product-v7-radius);
  background: var(--product-v7-paper);
  color: var(--product-v7-ink);
}

.page-product .lightbox::backdrop {
  background: rgb(11 38 49 / 0.78);
  backdrop-filter: blur(8px);
}

.page-product .lightbox__frame {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  max-height: 94dvh;
}

.page-product .lightbox__header,
.page-product .lightbox__footer {
  display: flex;
  min-height: 3.75rem;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.8rem;
  border-color: var(--product-v7-line);
  background: var(--product-v7-paper);
}

.page-product .lightbox__header {
  border-bottom: 1px solid var(--product-v7-line);
}

.page-product .lightbox__footer {
  border-top: 1px solid var(--product-v7-line);
}

.page-product .lightbox__header p,
.page-product .lightbox__footer p {
  margin: 0;
}

.page-product .lightbox__stage {
  position: relative;
  display: grid;
  min-height: 14rem;
  place-items: center;
  overflow: hidden;
  background: var(--product-v7-paper-soft);
}

.page-product .lightbox__stage img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(94dvh - 7.5rem);
  object-fit: contain;
}

.page-product .lightbox__loading,
.page-product .lightbox__error {
  position: absolute;
  z-index: 1;
  display: grid;
  gap: 0.75rem;
  place-items: center;
  padding: 1.25rem;
  border: 1px solid var(--product-v7-line);
  background: var(--product-v7-paper);
}

.page-product .lightbox__loading[hidden],
.page-product .lightbox__error[hidden] {
  display: none !important;
}

/* Volume table and buyer confidence */
.page-product .product-volume {
  display: grid;
  gap: clamp(2rem, 4vw, 3.5rem);
  padding-block: clamp(4rem, 8vw, 8rem);
  border-top: 1px solid var(--product-v7-line);
}

.page-product .product-volume__table {
  overflow-x: auto;
  border: 1px solid var(--product-v7-line-strong);
  border-radius: var(--product-v7-radius-small);
  background: var(--product-v7-paper);
  scrollbar-width: thin;
}

.page-product .product-volume__table table {
  width: 100%;
  min-width: 44rem;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}

.page-product .product-volume__table th,
.page-product .product-volume__table td {
  padding: 1rem clamp(0.85rem, 2vw, 1.4rem);
  border-bottom: 1px solid var(--product-v7-line);
  text-align: start;
  vertical-align: top;
}

.page-product .product-volume__table thead th {
  background: var(--product-v7-ice);
  color: var(--product-v7-ink);
  font-size: 0.69rem;
  font-weight: 780;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.page-product .product-volume__table tbody th {
  color: var(--product-v7-ink);
  font-size: 0.78rem;
}

.page-product .product-volume__table td {
  color: var(--product-v7-copy);
  font-family: var(--font-data);
  font-size: 0.74rem;
  line-height: 1.55;
}

.page-product .product-volume > .market-disclosure {
  padding: 0.9rem 1rem;
  border-inline-start: 3px solid var(--product-v7-accent);
  background: var(--product-v7-paper-soft);
}

.page-product .product-confidence {
  padding-block: clamp(3.5rem, 7vw, 6.5rem);
  background: var(--product-v7-ice);
}

.page-product .product-confidence__inner {
  display: grid;
  grid-template-columns: minmax(16rem, 0.75fr) minmax(22rem, 1fr) auto;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.page-product .product-confidence__inner > div > p:last-child {
  max-width: 34rem;
  margin-block-end: 0;
  line-height: 1.65;
}

.page-product .product-confidence h2 {
  margin-block: 0.6rem 0.9rem;
  font-size: clamp(1.8rem, 3.2vw, 3.15rem);
}

.page-product .product-confidence dl {
  margin: 0;
  border-top: 1px solid var(--product-v7-line-strong);
}

.page-product .product-confidence dl > div {
  display: grid;
  grid-template-columns: minmax(7rem, 0.45fr) minmax(0, 1fr);
  gap: 1rem;
  padding-block: 0.8rem;
  border-bottom: 1px solid var(--product-v7-line-strong);
}

.page-product .product-confidence dt {
  color: var(--product-v7-muted);
  font-size: 0.68rem;
  font-weight: 700;
}

.page-product .product-confidence dd {
  margin: 0;
  color: var(--product-v7-ink);
  font-size: 0.76rem;
  line-height: 1.45;
}

.page-product .product-confidence .button {
  min-width: 10rem;
  min-height: 3rem;
}

/* Related products */
.page-product .related-products--v7 {
  display: grid;
  grid-template-columns: minmax(15rem, 0.56fr) minmax(0, 1.44fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  padding-block: clamp(4rem, 8vw, 8rem);
}

.page-product .related-products--v7 > div:first-child {
  position: sticky;
  top: calc(var(--header-height) + 4.5rem);
}

.page-product .related-products--v7 > div:first-child p:last-child {
  max-width: 32rem;
  line-height: 1.65;
}

.page-product .related-products--v7 .product-compact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}

.page-product .related-products--v7 .product-compact {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--product-v7-line);
  border-radius: var(--product-v7-radius);
  background: var(--product-v7-paper);
}

.page-product .related-products--v7 .product-compact--text {
  position: relative;
  min-height: 21rem;
  overflow: visible;
  background:
    linear-gradient(145deg, var(--product-v7-paper) 0 70%, var(--product-v7-ice) 100%);
}

.page-product .related-products--v7 .product-compact--text::before {
  position: absolute;
  inset: -1px -1px auto;
  height: 0.22rem;
  border-radius: var(--product-v7-radius) var(--product-v7-radius) 0 0;
  background: var(--product-v7-accent);
  content: "";
}

.page-product .related-products--v7 .product-compact__media {
  display: block;
  border-bottom: 1px solid var(--product-v7-line);
  background: var(--product-v7-paper-soft);
}

.page-product .related-products--v7 .product-visual {
  min-height: 0;
  aspect-ratio: 1;
}

.page-product .related-products--v7 .product-visual__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 240ms var(--product-v7-ease);
}

.page-product .related-products--v7 .product-compact__body {
  display: grid;
  gap: 0.45rem;
  padding: 1rem;
}

.page-product .related-products--v7 .product-compact--text .product-compact__body {
  grid-template-rows: auto auto 1fr auto;
  gap: 1.15rem;
  height: 100%;
  padding: clamp(1.25rem, 2vw, 1.8rem);
}

.page-product .related-products--v7 .product-compact__model {
  margin: 0;
  color: var(--product-v7-accent);
  font-family: var(--font-data);
  font-size: 0.66rem;
  letter-spacing: 0.06em;
}

.page-product .related-products--v7 .product-compact h3 {
  margin: 0;
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  line-height: 1.2;
}

.page-product .related-products--v7 .product-compact h3 a {
  color: var(--product-v7-ink);
  text-decoration: none;
}

.page-product .related-products--v7 .product-compact__body > p:last-child {
  margin: 0;
  color: var(--product-v7-copy);
  font-size: 0.72rem;
  line-height: 1.45;
}

.page-product .related-products--v7 .product-compact__facts {
  display: grid;
  align-content: start;
  margin: 0;
  border-top: 1px solid var(--product-v7-line);
}

.page-product .related-products--v7 .product-compact__facts > div {
  display: grid;
  grid-template-columns: minmax(4rem, 0.7fr) minmax(0, 1.3fr);
  gap: 0.65rem;
  padding-block: 0.72rem;
  border-bottom: 1px solid var(--product-v7-line);
}

.page-product .related-products--v7 .product-compact__facts dt {
  color: var(--product-v7-muted);
  font-size: 0.68rem;
  font-weight: 700;
}

.page-product .related-products--v7 .product-compact__facts dd {
  margin: 0;
  color: var(--product-v7-ink);
  font-family: var(--font-data);
  font-size: 0.68rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.page-product .related-products--v7 .product-compact__footer {
  display: grid;
  gap: 1rem;
  align-items: end;
}

.page-product .related-products--v7 .product-compact__footer p {
  display: grid;
  gap: 0.25rem;
  margin: 0;
}

.page-product .related-products--v7 .product-compact__footer span {
  color: var(--product-v7-muted);
  font-size: 0.64rem;
  font-weight: 700;
}

.page-product .related-products--v7 .product-compact__footer strong {
  color: var(--product-v7-ink);
  font-size: 0.78rem;
  line-height: 1.4;
}

.page-product :is(#experience, #sound, #specifications, #product-media, #volume-pricing) {
  scroll-margin-top: calc(var(--header-height) + 4.25rem);
}

@media (hover: hover) and (pointer: fine) {
  .page-product .product-detail-gallery__thumb:hover {
    border-color: var(--product-v7-accent);
    color: var(--product-v7-ink);
    transform: translateY(-2px);
  }

  .page-product .purchase-card__service:hover {
    border-color: var(--product-v7-accent);
    background: var(--product-v7-ice-strong);
  }

  .page-product .ty-woo-button:hover,
  .page-product .ty-woo-button:active {
    border-color: var(--product-v7-accent-hover);
    background: var(--product-v7-accent-hover);
    color: #f5fbfc !important;
  }

  .page-product .product-subnav a:hover,
  .page-product .product-subnav a:focus-visible {
    color: var(--product-v7-ink);
  }

  .page-product .product-subnav a:hover::after,
  .page-product .product-subnav a:focus-visible::after {
    transform: scaleX(1);
  }

  .page-product .media-gallery__toolbar button:not(:disabled):hover,
  .page-product .lightbox button:not(:disabled):hover,
  .page-product .video-feature__error button:hover {
    border-color: var(--product-v7-accent);
    background: var(--product-v7-ice);
  }

  .page-product .media-rail__item a:hover .media-rail__image,
  .page-product .related-products--v7 .product-compact__media:hover .product-visual__image {
    transform: scale(1.018);
  }
}

@media (max-width: 75rem) {
  .page-product .product-commerce-hero {
    grid-template-columns: minmax(0, 55fr) minmax(19rem, 45fr);
    gap: 2rem;
  }

  .page-product .product-architecture__inner {
    grid-template-columns: minmax(15rem, 0.65fr) minmax(17rem, 0.75fr);
  }

  .page-product .product-architecture__ledger {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-product .product-architecture__ledger > div:nth-child(odd) {
    border-inline-end: 1px solid rgb(184 204 209 / 0.24);
  }

  .page-product .product-confidence__inner {
    grid-template-columns: minmax(16rem, 0.8fr) minmax(20rem, 1.2fr);
  }

  .page-product .product-confidence .button {
    grid-column: 1 / -1;
    width: fit-content;
  }
}

@media (max-width: 63.99rem) {
  .page-product .product-commerce-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  .page-product .purchase-card {
    position: static;
    top: auto;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.8fr);
    align-items: start;
  }

  .page-product .purchase-card__eyebrow,
  .page-product .purchase-card h1,
  .page-product .purchase-card__lead,
  .page-product .purchase-card__service {
    grid-column: 1;
  }

  .page-product .purchase-runtime,
  .page-product .purchase-card__terms,
  .page-product .purchase-card__boundary {
    grid-column: 2;
  }

  .page-product .purchase-runtime {
    grid-row: 1 / span 3;
  }

  .page-product .product-editorial__feature,
  .page-product .product-editorial__feature--reverse {
    grid-template-columns: minmax(0, 1.2fr) minmax(15rem, 0.8fr);
    min-height: 33rem;
  }

  .page-product .product-editorial__facts {
    grid-template-columns: 1fr;
  }

  .page-product .product-editorial__facts article {
    min-height: 0;
  }

  .page-product .product-editorial__facts article + article {
    border-block-start: 1px solid var(--product-v7-line);
    border-inline-start: 0;
  }

  .page-product .product-architecture__visual {
    width: min(72vw, 24rem);
  }

  .page-product .related-products--v7 {
    grid-template-columns: 1fr;
  }

  .page-product .related-products--v7 > div:first-child {
    position: static;
  }
}

@media (max-width: 47.99rem) {
  .site-header .ty-woo-cart-link {
    min-width: var(--control-height);
    padding-inline: 0.55rem;
    font-size: 0.64rem;
  }

  .site-header .ty-woo-cart-link--unavailable > span {
    display: none;
  }

  .page-product .product-commerce-hero {
    padding-block: 0.9rem 3.5rem;
  }

  .page-product .product-detail-gallery__stage {
    aspect-ratio: 1 / 1.08;
    margin-inline: calc(var(--gutter) * -1);
    border-inline: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .page-product .product-detail-gallery__item figcaption {
    grid-template-columns: 1fr;
    gap: 0.25rem;
    min-height: 4.8rem;
  }

  .page-product .product-detail-gallery__item figcaption small {
    justify-self: start;
    text-align: start;
  }

  .page-product .product-detail-gallery__controls {
    grid-auto-columns: minmax(5.5rem, 6.5rem);
  }

  .page-product .purchase-card {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1.15rem;
  }

  .page-product .purchase-card__eyebrow,
  .page-product .purchase-card h1,
  .page-product .purchase-card__lead,
  .page-product .purchase-runtime,
  .page-product .purchase-card__service,
  .page-product .purchase-card__terms,
  .page-product .purchase-card__boundary {
    grid-column: 1;
    grid-row: auto;
  }

  .page-product .purchase-card h1 {
    max-width: none;
  }

  .page-product .ty-woo-purchase__form {
    grid-template-columns: 5.5rem minmax(0, 1fr);
  }

  .page-product .ty-woo-purchase__actions {
    grid-template-columns: 1fr;
  }

  .page-product .product-subnav .section-shell {
    gap: 0;
    padding-inline: 0.35rem;
  }

  .page-product .product-subnav a {
    min-height: 3rem;
    padding-inline: 0.75rem;
  }

  .page-product .product-proof dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-product .product-proof dl > div:nth-child(2) {
    border-inline-end: 0;
  }

  .page-product .product-proof dl > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--product-v7-line);
  }

  .page-product .product-editorial__intro,
  .page-product .product-specification__heading,
  .page-product .product-media-v7__heading,
  .page-product .product-volume__heading,
  .page-product .product-media-v7__video > .section-heading {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .page-product .product-editorial__feature,
  .page-product .product-editorial__feature--reverse {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .page-product .product-editorial__feature figure,
  .page-product .product-editorial__feature--reverse figure {
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: 4 / 3;
  }

  .page-product .product-editorial__feature > div,
  .page-product .product-editorial__feature--reverse > div {
    grid-column: 1;
    grid-row: 2;
    border: 0;
    border-top: 1px solid var(--product-v7-line);
  }

  .page-product .product-architecture__inner {
    grid-template-columns: 1fr;
  }

  .page-product .product-architecture__visual {
    width: min(86vw, 23rem);
  }

  .page-product .product-architecture__ledger {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .page-product .product-architecture__ledger > div:nth-child(odd) {
    border-inline-end: 0;
  }

  .page-product .product-spec-group dl {
    grid-template-columns: 1fr;
  }

  .page-product .product-spec-group dl > div:nth-child(odd) {
    border-inline-end: 0;
  }

  .page-product .media-rail {
    grid-auto-columns: 86%;
  }

  .page-product .video-feature,
  .page-product .video-feature--portrait {
    grid-template-columns: 1fr;
  }

  .page-product .video-feature__copy {
    border-inline-end: 0;
    border-bottom: 1px solid var(--product-v7-line);
  }

  .page-product .video-feature__media,
  .page-product .video-poster,
  .page-product .video-feature__error {
    min-height: 18rem;
  }

  .page-product .product-confidence__inner {
    grid-template-columns: 1fr;
  }

  .page-product .product-confidence .button {
    grid-column: auto;
    width: 100%;
  }

  .page-product .related-products--v7 .product-compact-grid {
    grid-template-columns: 1fr;
  }

  .page-product .related-products--v7 .product-compact {
    display: grid;
    grid-template-columns: minmax(8.5rem, 0.72fr) minmax(0, 1.28fr);
  }

  .page-product .related-products--v7 .product-compact__media {
    border: 0;
    border-inline-end: 1px solid var(--product-v7-line);
  }
}

@media (max-width: 23.5rem) {
  .page-product .product-detail-gallery__counter {
    top: 0.55rem;
    right: 0.55rem;
  }

  .page-product .purchase-card {
    margin-inline: calc(var(--gutter) * -0.35);
  }

  .page-product .purchase-card__terms > div,
  .page-product .product-confidence dl > div,
  .page-product .product-architecture__ledger > div,
  .page-product .product-spec-group dl > div {
    grid-template-columns: 1fr;
    gap: 0.3rem;
  }

  .page-product .ty-woo-purchase__summary {
    align-items: start;
    flex-direction: column;
  }

  .page-product .ty-woo-purchase__form {
    grid-template-columns: 1fr;
  }

  .page-product .ty-woo-purchase__quantity-label,
  .page-product .ty-woo-purchase .quantity,
  .page-product .ty-woo-purchase__actions {
    grid-column: 1;
    grid-row: auto;
  }

  .page-product .product-proof dl {
    grid-template-columns: 1fr;
  }

  .page-product .product-proof dl > div,
  .page-product .product-proof dl > div:nth-child(2) {
    border-inline-end: 0;
    border-bottom: 1px solid var(--product-v7-line);
  }

  .page-product .product-proof dl > div:last-child {
    border-bottom: 0;
  }

  .page-product .product-spec-group summary {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .page-product .product-spec-group summary small {
    display: none;
  }

  .page-product .media-rail {
    grid-auto-columns: 92%;
  }

  .page-product .related-products--v7 .product-compact {
    grid-template-columns: 1fr;
  }

  .page-product .related-products--v7 .product-compact__media {
    border-inline-end: 0;
    border-bottom: 1px solid var(--product-v7-line);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-product .product-architecture__visual,
  .page-product .product-architecture__visual > span i {
    animation: none !important;
  }

  .page-product .product-detail-gallery__thumb,
  .page-product .ty-woo-button,
  .page-product .product-subnav a::after,
  .page-product .media-rail__image,
  .page-product .related-products--v7 .product-visual__image {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

@media (forced-colors: active) {
  .page-product .product-detail-gallery__stage,
  .page-product .product-detail-gallery__thumb,
  .page-product .purchase-card,
  .page-product .purchase-state,
  .page-product .ty-woo-purchase__state,
  .page-product .product-editorial__feature,
  .page-product .product-spec-group,
  .page-product .product-volume__table,
  .page-product .product-compact,
  .page-product .media-rail__item a,
  .page-product .video-feature {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
  }

  .page-product .product-architecture {
    border-block: 1px solid CanvasText;
    background: Canvas;
    color: CanvasText;
  }

  .page-product .product-architecture :where(h2, h3, p, dt, dd, small, strong),
  .page-product .product-architecture .section-kicker {
    color: CanvasText;
  }

  .page-product :where(a, button, input, summary, [tabindex]):focus-visible {
    outline-color: Highlight;
  }
}

@media print {
  .page-product .product-subnav,
  .page-product .product-detail-gallery__controls,
  .page-product .media-gallery__toolbar,
  .page-product .video-section,
  .page-product .lightbox {
    display: none !important;
  }

  .page-product .product-commerce-hero,
  .page-product .product-editorial__feature,
  .page-product .product-architecture__inner,
  .page-product .related-products--v7 {
    grid-template-columns: 1fr;
  }

  .page-product .purchase-card,
  .page-product .related-products--v7 > div:first-child {
    position: static;
  }
}

/* aesthetic-v8.css */
/* TY Audio v5.2.19 aesthetic pass.
   A single warm-porcelain system, quieter navigation and denser editorial rhythm. */

:root {
  --aesthetic-paper: #fbf8f0;
  --aesthetic-paper-raised: #fffdf8;
  --aesthetic-mist: #e5efec;
  --aesthetic-ink: #17343c;
  --aesthetic-copy: #48656a;
  --aesthetic-lake: #176c72;
  --aesthetic-coral: #b96d54;
  --aesthetic-line: rgb(23 52 60 / 0.16);
  --aesthetic-shadow-small: 0 0.75rem 2rem rgb(28 64 68 / 0.08);
  --aesthetic-shadow-media: 0 1.75rem 4.5rem rgb(28 64 68 / 0.13);
}

body {
  background: var(--aesthetic-paper);
}

::selection {
  background: #b9e0df;
  color: #102d34;
}

/* The header should read as brand furniture, not a toolbar full of nested buttons. */

.site-header {
  border-bottom-color: var(--aesthetic-line);
  box-shadow: none;
}

.brand__text strong {
  letter-spacing: 0.18em;
}

.header-action,
.market-switcher__trigger,
.nav-toggle {
  border-radius: 0.35rem;
}

.header-action {
  box-shadow: none;
}

@media (min-width: 64rem) {
  .primary-nav {
    gap: 0.2rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .primary-nav a,
  .primary-nav .primary-nav__link {
    position: relative;
    min-height: 2.75rem;
    padding-inline: clamp(0.58rem, 0.9vw, 0.88rem);
    border-radius: 0.3rem;
  }

  .primary-nav a::after {
    position: absolute;
    right: 0.7rem;
    bottom: 0.28rem;
    left: 0.7rem;
    height: 1px;
    background: currentColor;
    content: "";
    opacity: 0;
    transform: scaleX(0.35);
    transition: opacity 180ms ease, transform 180ms var(--ease-out);
  }

  .primary-nav a:hover::after,
  .primary-nav a[aria-current="page"]::after {
    opacity: 0.72;
    transform: scaleX(1);
  }

  .primary-nav a[aria-current="page"] {
    background: transparent;
    color: var(--shell-action-hover);
    box-shadow: none;
  }

  .page-home-v20 .primary-nav {
    border: 0;
    background: transparent;
  }

  .page-home-v20 .primary-nav a[aria-current="page"] {
    background: transparent;
    color: var(--home-light);
    box-shadow: none;
  }
}

/* Homepage: keep the visual-only hero and give every later screen one material family. */

.page-home-v11 .home-v12-catalog {
  max-width: none;
  padding-inline: max(var(--gutter), calc((100vw - 100rem) / 2));
  background: var(--aesthetic-paper);
}

.page-home-v11 .home-v12-catalog__bar {
  border-bottom-color: var(--aesthetic-line);
}

.page-home-v11 .home-v12-catalog__bar nav {
  gap: 0.85rem;
}

.page-home-v11 .home-v12-catalog__bar nav a {
  min-height: 2.75rem;
  padding-inline: 0.15rem;
  border: 0;
  border-bottom: 1px solid rgb(23 52 60 / 0.3);
  border-radius: 0;
  background: transparent;
}

.page-home-v11 .home-v12-catalog__bar nav a:hover {
  border-bottom-color: var(--aesthetic-lake);
  background: transparent;
  color: var(--aesthetic-lake);
}

.page-home-v11 .home-v12-catalog__grid {
  grid-auto-flow: dense;
  gap: clamp(0.75rem, 1.25vw, 1.25rem);
  margin-top: clamp(1rem, 1.8vw, 1.75rem);
  background: transparent;
}

.page-home-v11 .home-v12-catalog-card {
  overflow: hidden;
  border: 1px solid var(--aesthetic-line);
  border-radius: 0.75rem;
  background: var(--aesthetic-paper-raised);
  transition: border-color 180ms ease, box-shadow 220ms ease, transform 220ms var(--ease-out);
}

.page-home-v11 .home-v12-catalog-card--category-lead {
  grid-column: span 2;
}

.page-home-v11 .home-v12-catalog-card--category-lead .home-v12-catalog-card__media {
  aspect-ratio: 2 / 1;
}

.page-home-v11 .home-v12-catalog-card--category-lead .home-v12-catalog-card__copy {
  min-height: 8.25rem;
}

.page-home-v11 .home-v12-catalog-card:first-child .home-v12-catalog-card__media,
.page-home-v11 .home-v12-catalog-card:first-child .home-v12-catalog-card__media img {
  background: var(--aesthetic-paper-raised);
}

.page-home-v11 .home-v12-catalog-card[data-product-slug="round-display-speaker"] .home-v12-catalog-card__media {
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 41%, rgb(255 255 255 / 0.98) 0 27%, transparent 59%),
    linear-gradient(158deg, #eef5f2 0%, #f9faf5 58%, #dde9e5 100%);
}

.page-home-v11 .home-v12-catalog-card[data-product-slug="round-display-speaker"] .home-v12-catalog-card__media::after {
  position: absolute;
  right: 18%;
  bottom: 7%;
  left: 18%;
  z-index: 0;
  height: 7%;
  border-radius: 50%;
  background: rgb(33 61 63 / 0.14);
  filter: blur(0.8rem);
  content: '';
}

.page-home-v11 .home-v12-catalog-card[data-product-slug="round-display-speaker"] .home-v12-catalog-card__media .media-picture {
  position: relative;
  z-index: 1;
}

.page-home-v11 .home-v12-catalog-card[data-product-slug="round-display-speaker"] .home-v12-catalog-card__media img {
  box-sizing: border-box;
  padding: clamp(0.45rem, 2.2vw, 1.4rem);
  object-fit: contain;
  filter: drop-shadow(0 1.1rem 1.3rem rgb(30 55 57 / 0.16));
}

.page-home-v11 .home-v12-catalog-card[data-product-slug="round-display-speaker"]:is(:hover, :focus-within) .home-v12-catalog-card__media img {
  filter: drop-shadow(0 1.35rem 1.5rem rgb(30 55 57 / 0.2)) saturate(1.03) contrast(1.02);
}

.page-home-v11 .home-v12-catalog-card__media > span {
  top: 0.85rem;
  left: 0.85rem;
  border-color: rgb(23 52 60 / 0.14);
  border-radius: 0.25rem;
  background: rgb(255 253 248 / 0.92);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.page-home-v11 .home-v12-catalog-card__copy {
  min-height: 8.75rem;
}

.page-home-v11 .home-v12-catalog-card__copy h3 {
  letter-spacing: -0.025em;
}

.page-home-v11 .home-v13-offer {
  background: var(--aesthetic-mist);
}

.page-home-v11 .home-v13-offer__feature {
  border-color: var(--aesthetic-line);
  border-radius: 0.875rem;
  background: var(--aesthetic-paper-raised);
  box-shadow: var(--aesthetic-shadow-media);
}

.page-home-v11 .home-v13-offer__label {
  display: none;
}

.page-home-v11 .home-v13-offer__copy h2 {
  font-size: clamp(2.35rem, 4vw, 3.8rem);
  letter-spacing: -0.035em;
}

.page-home-v14 .home-v11-color-studio {
  border-top-color: var(--aesthetic-line);
  background: var(--aesthetic-paper-raised);
}

.page-home-v14 .home-v11-color-studio .color-configurator__image-wrap,
.page-home-v14 .home-v11-color-studio .color-configurator__panel {
  border-color: var(--aesthetic-line);
  border-radius: 0.875rem;
}

.page-home-v14 .home-v11-color-studio .color-configurator__image-wrap {
  box-shadow: var(--aesthetic-shadow-media);
}

.page-home-v14 .home-v11-color-studio .color-configurator__panel {
  background: #fffdf8;
  box-shadow: none;
}

.page-home-v14 .home-v11-color-studio .colorway-option {
  border-color: transparent;
  border-radius: 0.45rem;
  background: #f3f6f2;
  box-shadow: inset 0 0 0 1px rgb(23 52 60 / 0.11);
}

.page-home-v14 .home-v11-color-studio .colorway-option:hover {
  border-color: transparent;
  background: #edf4f1;
  box-shadow: inset 0 0 0 1px rgb(23 108 114 / 0.5);
}

.page-home-v14 .home-v11-color-studio .colorway-option[aria-pressed="true"] {
  border-color: transparent;
  background: #edf4f1;
  box-shadow: inset 0 0 0 2px var(--aesthetic-lake);
}

.page-home-v19 .home-v19-gallery {
  --gallery-paper: #e5efec;
  --gallery-surface: #fffdf8;
  --gallery-accent: var(--aesthetic-lake);
  --gallery-signal: var(--aesthetic-coral);
}

.page-home-v19 .home-v19-gallery__header h2,
.page-home-v18 .home-v18-film__header h2 {
  letter-spacing: -0.03em;
}

.page-home-v19 .home-v19-gallery__viewport {
  border: 1px solid rgb(23 52 60 / 0.1);
  border-radius: 0.875rem;
  background: #edf4f0;
  box-shadow: var(--aesthetic-shadow-media);
}

.page-home-v19 .home-v19-gallery__item[data-gallery-position="1"],
.page-home-v19 .home-v19-gallery__item[data-gallery-position="-1"] {
  opacity: 0.62;
  filter: saturate(0.72) brightness(0.98);
}

.page-home-v19 .home-v19-gallery__frame {
  border-radius: 0.75rem;
  box-shadow: 0 1.25rem 3rem rgb(23 63 61 / 0.16);
}

.page-home-v19 .home-v19-gallery__item figcaption {
  border-radius: 0.35rem;
  background: rgb(255 253 248 / 0.94);
}

.page-home-v19 .home-v19-gallery__podium {
  background: #d7c2a8;
  box-shadow: 0 2rem 3rem rgb(28 53 48 / 0.17);
}

.page-home-v19 .home-v19-gallery__podium i {
  background: rgb(255 253 248 / 0.3);
}

.page-home-v19 .home-v19-gallery__podium b {
  background: #967a64;
}

.page-home-v18 .home-v18-film {
  background: var(--aesthetic-paper);
}

.page-home-v18 .home-v18-film .video-feature__media {
  border-radius: 0.875rem;
  box-shadow: var(--aesthetic-shadow-media);
}

/* Secondary pages: reduce manifesto scale and bring the real imagery into view sooner. */

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main {
  --v6-porcelain: #faf7ef;
  --v6-paper: #fffdf8;
  --v6-ink: #193740;
  --v6-ink-muted: #4c676c;
  --v6-ink-soft: #61787a;
  --v6-blue-pale: #e4efec;
  --v6-terracotta: #b96d54;
  --v6-terracotta-pale: #f2dfd6;
  --v6-sand-pale: #eee6d8;
  --v6-line: rgb(25 55 64 / 0.15);
  --v6-line-strong: rgb(25 55 64 / 0.3);
  --v6-shadow: var(--aesthetic-shadow-media);
}

.page-catalogue .catalogue-hero,
.page-custom-colors .custom-hero,
.page-spaces .spaces-hero,
.page-about .about-hero,
.page-service .service-hero {
  gap: clamp(2rem, 4vw, 4.5rem);
  padding-block: clamp(3.25rem, 6vw, 6.5rem);
}

.page-catalogue .catalogue-hero h1,
.page-custom-colors .custom-hero h1,
.page-spaces .spaces-hero h1,
.page-about .about-hero h1,
.page-service .service-hero h1 {
  max-width: 16ch;
  margin-bottom: 1.25rem;
  font-size: clamp(2.8rem, 4.4vw, 4.25rem);
  letter-spacing: -0.035em;
  line-height: 1.04;
}

html:lang(zh-CN) :is(
  .page-catalogue .catalogue-hero h1,
  .page-custom-colors .custom-hero h1,
  .page-spaces .spaces-hero h1,
  .page-about .about-hero h1,
  .page-service .service-hero h1
) {
  max-width: 11ch;
  font-size: clamp(2.65rem, 4vw, 3.9rem);
  line-height: 1.09;
}

:is(
  .catalogue-hero__copy,
  .custom-hero__copy,
  .spaces-hero__copy,
  .about-hero__copy,
  .service-hero__copy
) > p {
  max-width: 62ch;
  font-size: clamp(0.98rem, 1.3vw, 1.08rem);
  line-height: 1.72;
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) .content-chapter h2 {
  font-size: clamp(2rem, 3.45vw, 3.65rem);
  letter-spacing: -0.03em;
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-spaces,
  .page-about,
  .page-service
) main .button {
  border-radius: 0.3rem;
  letter-spacing: 0.055em;
}

.page-custom-colors .custom-hero__media--triptych {
  overflow: hidden;
  border: 1px solid var(--v6-line);
  border-radius: 0.875rem;
  background: var(--v6-paper);
  box-shadow: var(--aesthetic-shadow-media);
}

.page-custom-colors .custom-hero__triptych {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: 0;
}

.page-custom-colors .custom-hero__triptych .media-picture,
.page-custom-colors .custom-hero__triptych img {
  width: 100%;
  height: 100%;
}

.page-custom-colors .custom-hero__triptych .media-picture {
  overflow: hidden;
  border-right: 1px solid rgb(25 55 64 / 0.12);
}

.page-custom-colors .custom-hero__triptych .media-picture:last-child {
  border-right: 0;
}

.page-custom-colors .custom-hero__triptych img {
  object-fit: cover;
}

.page-custom-colors .custom-hero__media--triptych figcaption {
  position: static;
  padding: 0.8rem 1rem;
  border-top: 1px solid var(--v6-line);
  background: var(--v6-paper);
  color: var(--v6-ink-muted);
  font-size: 0.8rem;
  line-height: 1.5;
}

/* Give the editorial pages distinct silhouettes without introducing new visual systems. */

.page-about .about-hero__media,
.page-service .service-hero__media,
.page-spaces .spaces-hero__media {
  overflow: hidden;
  border: 1px solid var(--v6-line);
  border-radius: 0.875rem;
  box-shadow: var(--aesthetic-shadow-media);
}

.page-about .about-hero__media figcaption,
.page-service .service-hero__media > p,
.page-spaces .spaces-hero__media figcaption {
  padding: 0.8rem 1rem;
  border: 0;
  border-top: 1px solid var(--v6-line);
  background: var(--v6-paper);
  color: var(--v6-ink-muted);
  font-size: 0.8rem;
  line-height: 1.5;
}

.page-about .about-hero__identity {
  border-color: var(--v6-line);
  background: var(--v6-paper);
}

.page-service .service-hero__media {
  align-self: center;
}

.page-spaces .spaces-hero__media {
  border-radius: 0.875rem 0.875rem 3rem 0.875rem;
}

:is(
  .page-catalogue,
  .page-custom-colors,
  .page-about,
  .page-service
) .closing-action {
  min-height: clamp(16rem, 24vw, 18rem);
  padding-block: clamp(3.5rem, 5vw, 5rem);
}

/* Product pages: warmer material, stronger product stage and a faster purchase decision. */

.page-product {
  --product-v7-canvas: #f0f4f1;
  --product-v7-paper: #fffdf9;
  --product-v7-paper-soft: #f5f7f3;
  --product-v7-ice: #e0ece9;
  --product-v7-ice-strong: #c7deda;
  --product-v7-ink: #102f38;
  --product-v7-copy: #4b666b;
  --product-v7-muted: #5d7377;
  --product-v7-navy: #174651;
  --product-v7-navy-raised: #1d5862;
  --product-v7-accent: #157078;
  --product-v7-accent-hover: #0e6068;
  --product-v7-line: rgb(16 47 56 / 0.14);
  --product-v7-line-strong: rgb(16 47 56 / 0.26);
  --product-v7-shadow: var(--aesthetic-shadow-media);
  --product-v7-shadow-small: var(--aesthetic-shadow-small);
  --product-v7-radius: 0.75rem;
  --product-v7-radius-small: 0.35rem;
}

.page-product .product-commerce-hero {
  grid-template-columns: minmax(0, 1.2fr) minmax(21rem, 0.8fr);
  gap: clamp(2rem, 4vw, 4.5rem);
}

.page-product .product-detail-gallery__stage {
  border-color: var(--product-v7-line);
  box-shadow: var(--product-v7-shadow);
}

.page-product .product-detail-gallery__item--dark,
.page-product .product-detail-gallery__item--dark .media-picture {
  background: #080c0e;
}

.page-product .product-detail-gallery__thumb--dark,
.page-product .product-detail-gallery__thumb--dark .media-picture {
  background: #080c0e;
}

.page-product .purchase-card {
  gap: 1rem;
  border-color: var(--product-v7-line);
  border-top: 2px solid var(--product-v7-accent);
  box-shadow: var(--product-v7-shadow-small);
}

.page-product .purchase-card h1 {
  max-width: 18ch;
  font-size: clamp(2rem, 3vw, 3.15rem);
  letter-spacing: -0.035em;
}

.page-product .purchase-card .section-kicker,
.page-product .product-editorial .section-kicker,
.page-product .product-specification .section-kicker,
.page-product .product-architecture .section-kicker,
.page-product .product-media-v7 .section-kicker,
.page-product .product-volume .section-kicker {
  display: none;
}

.page-product .purchase-card__fallback-action {
  box-shadow: none;
}

.page-product .purchase-state {
  padding: 0.8rem 0.85rem;
  border-inline-start-width: 1px;
  background: #f4f3ec;
}

.page-product .product-editorial,
.page-product .product-specification,
.page-product .product-media-v7,
.page-product .product-volume {
  padding-block: clamp(3.5rem, 6vw, 5.5rem);
}

.page-product :is(
  .product-editorial__intro,
  .product-specification__heading,
  .product-architecture__copy,
  .product-media-v7__heading,
  .product-volume__heading
) h2 {
  font-size: clamp(2.15rem, 3.6vw, 3.35rem);
  letter-spacing: -0.035em;
}

@media (hover: hover) and (pointer: fine) {
  .page-home-v11 .home-v12-catalog-card:hover,
  .page-home-v11 .home-v12-catalog-card:focus-within {
    border-color: rgb(23 108 114 / 0.35);
    box-shadow: var(--aesthetic-shadow-small);
    transform: translateY(-0.2rem);
  }
}

@media (max-width: 76rem) {
  .page-home-v11 .home-v12-catalog-card--category-lead {
    grid-column: span 2;
  }
}

@media (max-width: 63.99rem) {
  html.js .primary-nav,
  html.js .primary-nav.is-open {
    height: auto;
    max-height: calc(100dvh - var(--header-height) - 1.5rem);
    inset: calc(var(--header-height) + 0.75rem) 1rem auto;
  }

  .page-product .product-commerce-hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 47.99rem) {
  .site-header {
    -webkit-backdrop-filter: blur(14px) saturate(115%);
    backdrop-filter: blur(14px) saturate(115%);
  }

  .page-home-v11 .home-v12-catalog {
    padding-inline: 1rem;
  }

  .page-home-v11 .home-v12-catalog__bar nav {
    gap: 0.55rem;
  }

  .page-home-v11 .home-v12-catalog__bar nav a {
    padding-inline: 0.35rem;
  }

  .page-home-v11 .home-v12-catalog-card--category-lead {
    grid-column: span 1;
  }

  .page-home-v11 .home-v12-catalog-card--category-lead .home-v12-catalog-card__media {
    aspect-ratio: 1 / 1;
  }

  .page-home-v11 .home-v12-catalog-card__copy,
  .page-home-v11 .home-v12-catalog-card--category-lead .home-v12-catalog-card__copy {
    min-height: 0;
    padding: 1rem;
  }

  .page-home-v11 .home-v13-offer__copy h2 {
    font-size: clamp(2.05rem, 10vw, 2.65rem);
  }

  .page-home-v19 .home-v19-gallery__header h2,
  .page-home-v18 .home-v18-film__header h2 {
    font-size: clamp(2rem, 10vw, 2.75rem);
  }

  .page-catalogue .catalogue-hero,
  .page-custom-colors .custom-hero,
  .page-spaces .spaces-hero,
  .page-about .about-hero,
  .page-service .service-hero {
    gap: 2rem;
    padding-block: 2.75rem 2.5rem;
  }

  .page-catalogue .catalogue-hero h1,
  .page-custom-colors .custom-hero h1,
  .page-spaces .spaces-hero h1,
  .page-about .about-hero h1,
  .page-service .service-hero h1 {
    max-width: 16ch;
    margin-bottom: 1rem;
    font-size: clamp(2.4rem, 10.5vw, 3.05rem);
    line-height: 1.06;
  }

  html:lang(zh-CN) :is(
    .page-catalogue .catalogue-hero h1,
    .page-custom-colors .custom-hero h1,
    .page-spaces .spaces-hero h1,
    .page-about .about-hero h1,
    .page-service .service-hero h1
  ) {
    max-width: 12ch;
    font-size: clamp(2.35rem, 10vw, 2.75rem);
    line-height: 1.12;
  }

  .page-custom-colors .custom-hero__media--triptych,
  .page-custom-colors .custom-hero__triptych {
    aspect-ratio: auto;
  }

  .page-custom-colors .custom-hero__triptych {
    height: min(68vw, 17rem);
  }

  .page-custom-colors .custom-hero__triptych img {
    object-position: center;
  }

  .page-product .product-commerce-hero {
    gap: 1.5rem;
    padding-block: 1rem 3.5rem;
  }

  .page-product .purchase-card h1 {
    font-size: clamp(2.15rem, 10.5vw, 2.9rem);
  }

  .page-product .product-editorial,
  .page-product .product-specification,
  .page-product .product-media-v7,
  .page-product .product-volume {
    padding-block: 3.25rem;
  }

  .page-product :is(
    .product-editorial__intro,
    .product-specification__heading,
    .product-architecture__copy,
    .product-media-v7__heading,
    .product-volume__heading
  ) h2 {
    font-size: clamp(2rem, 9vw, 2.75rem);
  }

  :is(
    .page-catalogue,
    .page-custom-colors,
    .page-about,
    .page-service
  ) .closing-action {
    min-height: 0;
    padding-block: 2.75rem;
  }

  .page-service .table-scroll {
    position: relative;
    scrollbar-color: var(--aesthetic-lake) var(--aesthetic-mist);
    scrollbar-width: thin;
  }

  .page-service .bulk-table :is(th:first-child, td:first-child) {
    position: sticky;
    left: 0;
    z-index: 1;
    background: var(--v6-paper);
    box-shadow: 1px 0 0 var(--v6-line);
  }

  .page-service .bulk-table thead th:first-child {
    z-index: 2;
    background: var(--v6-blue-pale);
  }
}

@media (min-width: 22.5rem) and (max-width: 41.99rem) {
  .page-home-v11 .home-v12-catalog__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-home-v11 .home-v12-catalog-card--category-lead {
    grid-column: 1 / -1;
  }

  .page-home-v11 .home-v12-catalog-card--category-lead .home-v12-catalog-card__media {
    aspect-ratio: 16 / 10;
  }

  .page-home-v11 .home-v12-catalog-card:not(.home-v12-catalog-card--category-lead) .home-v12-catalog-card__media {
    aspect-ratio: 4 / 5;
  }

  .page-home-v11 .home-v12-catalog-card:not(.home-v12-catalog-card--category-lead) .home-v12-catalog-card__copy h3 {
    font-size: 1rem;
    line-height: 1.2;
  }

  .page-home-v11 .home-v12-catalog-card:not(.home-v12-catalog-card--category-lead) .home-v12-catalog-card__copy small {
    font-size: 0.67rem;
  }
}

@media (max-width: 22.49rem) {
  .page-about .company-profile,
  .page-about .company-profile dl,
  .page-about .company-profile dl div {
    min-width: 0;
  }

  .page-about .company-profile dl div {
    grid-template-columns: 1fr;
    gap: 0.35rem;
    padding-block: 1rem;
  }

  .page-about .company-profile :is(dt, dd, a) {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-home-v11 .home-v12-catalog-card {
    transition: none;
  }
}

@media (forced-colors: active) {
  .page-home-v11 .home-v12-catalog-card,
  .page-custom-colors .custom-hero__media--triptych,
  .page-product .purchase-card {
    border: 1px solid CanvasText;
  }
}

/* v5.3 product catalogue: image-backed products lead, workbook SKUs remain a separate reference. */

.page-catalogue-v2 main {
  background: var(--aesthetic-paper);
}

.page-catalogue-v2 .catalogue-v2-eyebrow {
  margin: 0 0 0.75rem;
  color: var(--aesthetic-lake);
  font: 700 0.72rem/1.2 var(--font-mono);
  letter-spacing: 0.16em;
}

.page-catalogue-v2 .catalogue-v2-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: end;
  padding-block: clamp(2.5rem, 4.5vw, 4.5rem);
  border-bottom: 1px solid var(--aesthetic-line);
}

.page-catalogue-v2 .catalogue-v2-hero h1 {
  max-width: 14ch;
  margin: 0;
  color: var(--aesthetic-ink);
  font-size: clamp(2.7rem, 4.3vw, 4.6rem);
  line-height: 0.96;
  letter-spacing: -0.055em;
}

.page-catalogue-v2 .catalogue-v2-hero > div > p:not(.catalogue-v2-eyebrow) {
  max-width: 47rem;
  margin: 1.5rem 0 0;
  color: var(--aesthetic-copy);
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  line-height: 1.75;
}

.page-catalogue-v2 .catalogue-v2-hero dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid var(--aesthetic-line);
  border-left: 1px solid var(--aesthetic-line);
}

.page-catalogue-v2 .catalogue-v2-hero dl div {
  min-height: 8.5rem;
  padding: 1.2rem;
  border-right: 1px solid var(--aesthetic-line);
  border-bottom: 1px solid var(--aesthetic-line);
  background: var(--aesthetic-paper-raised);
}

.page-catalogue-v2 .catalogue-v2-hero dt {
  color: var(--aesthetic-copy);
  font-size: 0.8rem;
}

.page-catalogue-v2 .catalogue-v2-hero dd {
  margin: 1.2rem 0 0;
  color: var(--aesthetic-ink);
  font: 400 clamp(2.3rem, 4vw, 4rem)/1 var(--font-serif);
}

.page-catalogue-v2 .catalogue-v2-collection {
  padding-block: clamp(2.75rem, 5vw, 5rem);
}

.page-catalogue-v2 .catalogue-toolbar {
  display: flex;
  gap: 2rem;
  align-items: end;
  justify-content: space-between;
  margin-bottom: clamp(1.75rem, 3vw, 3rem);
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--aesthetic-line);
}

.page-catalogue-v2 .catalogue-toolbar h2,
.page-catalogue-v2 .catalogue-v2-reference h2,
.page-catalogue-v2 .catalogue-v2-boundary h2 {
  max-width: 16ch;
  margin: 0;
  color: var(--aesthetic-ink);
  font-size: clamp(2rem, 3.5vw, 3.8rem);
  line-height: 1;
  letter-spacing: -0.045em;
}

.page-catalogue-v2 .catalogue-toolbar [data-filter-status] {
  margin: 0.75rem 0 0;
  color: var(--aesthetic-copy);
}

.page-catalogue-v2 .filter-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.page-catalogue-v2 .filter-group button {
  min-height: 2.75rem;
  padding: 0.65rem 1rem;
  border: 1px solid var(--aesthetic-line);
  border-radius: 0.35rem;
  background: var(--aesthetic-paper-raised);
  color: var(--aesthetic-ink);
  font: inherit;
  cursor: pointer;
}

.page-catalogue-v2 .filter-group button:hover,
.page-catalogue-v2 .filter-group button[aria-pressed="true"] {
  border-color: var(--aesthetic-lake);
  background: var(--aesthetic-lake);
  color: #fffdf8;
}

.page-catalogue-v2 .catalogue-v2-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.8rem, 1.35vw, 1.35rem);
}

.page-catalogue-v2 .catalogue-v2-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--aesthetic-line);
  border-radius: 0.8rem;
  background: var(--aesthetic-paper-raised);
  box-shadow: var(--aesthetic-shadow-small);
}

.page-catalogue-v2 .catalogue-v2-card--featured {
  grid-column: span 2;
}

.page-catalogue-v2 .catalogue-v2-card__media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-bottom: 1px solid var(--aesthetic-line);
  background: var(--aesthetic-mist);
}

.page-catalogue-v2 .catalogue-v2-card--featured .catalogue-v2-card__media {
  aspect-ratio: 16 / 9;
}

.page-catalogue-v2 .catalogue-v2-card__media :is(picture, img) {
  width: 100%;
  height: 100%;
}

.page-catalogue-v2 .catalogue-v2-card__media img {
  display: block;
  object-fit: contain;
  transition: transform 280ms var(--ease-out);
}

.page-catalogue-v2 .catalogue-v2-card__media:hover img {
  transform: scale(1.025);
}

.page-catalogue-v2 .catalogue-v2-card__media > span {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.45rem 0.65rem;
  border: 1px solid rgb(23 52 60 / 0.14);
  border-radius: 0.25rem;
  background: rgb(255 253 248 / 0.92);
  color: var(--aesthetic-ink);
  font-size: 0.75rem;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.page-catalogue-v2 .catalogue-v2-card__body {
  display: flex;
  min-height: 25rem;
  flex: 1;
  flex-direction: column;
  padding: clamp(1rem, 1.6vw, 1.45rem);
}

.page-catalogue-v2 .catalogue-v2-card--featured .catalogue-v2-card__body {
  min-height: 22rem;
}

.page-catalogue-v2 .catalogue-v2-card__reference {
  margin: 0 0 0.8rem;
  color: var(--aesthetic-coral);
  font: 700 0.7rem/1.2 var(--font-mono);
  letter-spacing: 0.13em;
}

.page-catalogue-v2 .catalogue-v2-card h3 {
  margin: 0;
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.page-catalogue-v2 .catalogue-v2-card h3 a {
  color: var(--aesthetic-ink);
  text-decoration: none;
}

.page-catalogue-v2 .catalogue-v2-card__body > p:not(.catalogue-v2-card__reference) {
  margin: 1rem 0;
  color: var(--aesthetic-copy);
  line-height: 1.65;
}

.page-catalogue-v2 .catalogue-v2-card dl {
  margin: auto 0 0;
}

.page-catalogue-v2 .catalogue-v2-card dl div {
  display: grid;
  grid-template-columns: 5.25rem minmax(0, 1fr);
  gap: 0.75rem;
  padding-block: 0.65rem;
  border-top: 1px solid var(--aesthetic-line);
}

.page-catalogue-v2 .catalogue-v2-card :is(dt, dd) {
  margin: 0;
  color: var(--aesthetic-copy);
  font-size: 0.78rem;
  line-height: 1.45;
}

.page-catalogue-v2 .catalogue-v2-card dd {
  color: var(--aesthetic-ink);
  overflow-wrap: anywhere;
}

.page-catalogue-v2 .catalogue-v2-card__actions {
  display: flex;
  gap: 0.7rem;
  margin-top: 1rem;
}

.page-catalogue-v2 .catalogue-v2-card__actions a {
  display: inline-flex;
  min-height: 2.75rem;
  flex: 1;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--aesthetic-line);
  border-radius: 0.35rem;
  color: var(--aesthetic-ink);
  font-size: 0.78rem;
  text-align: center;
  text-decoration: none;
}

.page-catalogue-v2 .catalogue-v2-card__actions a:first-child {
  border-color: var(--aesthetic-lake);
  background: var(--aesthetic-lake);
  color: #fffdf8;
}

.page-catalogue-v2 .catalogue-v2-card__actions a:hover {
  border-color: var(--aesthetic-coral);
}

.page-catalogue-v2 .catalogue-v2-reference {
  padding-block: clamp(4rem, 8vw, 8rem);
  border-top: 1px solid var(--aesthetic-line);
}

.page-catalogue-v2 .catalogue-v2-reference > header {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(18rem, 1.2fr);
  gap: clamp(2rem, 6vw, 7rem);
  margin-bottom: 2rem;
}

.page-catalogue-v2 .catalogue-v2-reference > header > p {
  max-width: 45rem;
  margin: 0;
  color: var(--aesthetic-copy);
  font-size: 1.05rem;
  line-height: 1.75;
}

.page-catalogue-v2 .catalogue-v2-fx-index {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 1.5rem;
  border-top: 1px solid var(--aesthetic-line);
  border-left: 1px solid var(--aesthetic-line);
}

.page-catalogue-v2 .catalogue-v2-fx-index a {
  display: grid;
  min-height: 8.5rem;
  align-content: space-between;
  padding: 1rem;
  border-right: 1px solid var(--aesthetic-line);
  border-bottom: 1px solid var(--aesthetic-line);
  color: var(--aesthetic-ink);
  text-decoration: none;
}

.page-catalogue-v2 .catalogue-v2-fx-index span,
.page-catalogue-v2 .catalogue-v2-fx-index small {
  color: var(--aesthetic-copy);
}

.page-catalogue-v2 .catalogue-v2-fx-index strong {
  font-size: 1.35rem;
}

.page-catalogue-v2 .catalogue-v2-fx-index a:hover {
  background: var(--aesthetic-mist);
}

.page-catalogue-v2 .catalogue-v2-boundary {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(18rem, 1.2fr);
  gap: clamp(2rem, 7vw, 8rem);
  padding-block: clamp(4rem, 8vw, 8rem);
  border-top: 1px solid var(--aesthetic-line);
}

.page-catalogue-v2 .catalogue-v2-boundary > div:last-child > p {
  margin: 0 0 1rem;
  color: var(--aesthetic-copy);
  font-size: 1.05rem;
  line-height: 1.75;
}

@media (max-width: 74.99rem) {
  .page-catalogue-v2 .catalogue-v2-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-catalogue-v2 .catalogue-v2-fx-index {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 47.99rem) {
  .page-catalogue-v2 .catalogue-v2-hero,
  .page-catalogue-v2 .catalogue-v2-reference > header,
  .page-catalogue-v2 .catalogue-v2-boundary {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-catalogue-v2 .catalogue-v2-hero {
    align-items: start;
    padding-block: 2.5rem;
  }

  .page-catalogue-v2 .catalogue-v2-hero h1 {
    font-size: clamp(2.5rem, 12vw, 4rem);
  }

  .page-catalogue-v2 .catalogue-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .page-catalogue-v2 .filter-group {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-catalogue-v2 .catalogue-v2-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-catalogue-v2 .catalogue-v2-card--featured {
    grid-column: auto;
  }

  .page-catalogue-v2 .catalogue-v2-card__media,
  .page-catalogue-v2 .catalogue-v2-card--featured .catalogue-v2-card__media {
    aspect-ratio: 4 / 3;
  }

  .page-catalogue-v2 .catalogue-v2-card__body,
  .page-catalogue-v2 .catalogue-v2-card--featured .catalogue-v2-card__body {
    min-height: 0;
  }

  .page-catalogue-v2 .catalogue-v2-fx-index {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 23.49rem) {
  .page-catalogue-v2 .catalogue-v2-hero dl,
  .page-catalogue-v2 .catalogue-v2-fx-index {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-catalogue-v2 .catalogue-v2-card__actions {
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-catalogue-v2 .catalogue-v2-card__media img {
    transition: none;
  }
}

/* catalogue-v1.css */
/* Product catalogue v4: a compact exhibition index for every image-confirmed product. */

.page-catalogue-v3 {
  --catalogue-paper: #f7f5ef;
  --catalogue-surface: #fffdf8;
  --catalogue-mist: #e8f0ed;
  --catalogue-ink: var(--aesthetic-ink);
  --catalogue-lake: var(--aesthetic-lake);
}

.page-catalogue-v3 main {
  overflow: clip;
  background:
    radial-gradient(circle at 94% 7%, rgb(145 179 173 / 0.16), transparent 29rem),
    var(--catalogue-paper);
}

.page-catalogue-v3 .site-header.site-header {
  background: color-mix(in srgb, var(--shell-v8-paper) 94%, transparent);
}

.page-catalogue-v3 :is(.catalogue-category, .catalogue-reference, .catalogue-intent) {
  scroll-margin-top: calc(var(--header-height) + 1rem);
}

.page-catalogue-v3 .catalogue-intro {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(18rem, 5fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  align-items: end;
  padding-block: clamp(2.25rem, 4vw, 4rem) clamp(1.25rem, 2.6vw, 2.25rem);
}

.page-catalogue-v3 .catalogue-intro__copy h1 {
  max-width: 14ch;
  margin: 0;
  color: var(--catalogue-ink);
  font-size: clamp(2.35rem, 4vw, 3.85rem);
  line-height: 1.02;
  letter-spacing: -0.038em;
  text-wrap: balance;
}

.page-catalogue-v3 .catalogue-intro__copy > p {
  max-width: 46rem;
  margin: 1rem 0 0;
  color: var(--aesthetic-copy);
  font-size: clamp(0.98rem, 1.15vw, 1.1rem);
  line-height: 1.7;
}

.page-catalogue-v3 .catalogue-intro__guide {
  position: relative;
  max-width: 35rem;
  padding: 1.25rem 0 0 1.5rem;
  border-top: 1px solid var(--aesthetic-line);
}

.page-catalogue-v3 .catalogue-intro__guide::before {
  position: absolute;
  top: -0.15rem;
  left: 0;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 999px;
  background: var(--catalogue-lake);
  content: '';
}

.page-catalogue-v3 .catalogue-intro__guide p {
  margin: 0 0 0.8rem;
  color: var(--aesthetic-copy);
  font-size: 0.94rem;
  line-height: 1.65;
}

.page-catalogue-v3 .catalogue-intro__guide strong {
  color: var(--catalogue-ink);
}

.page-catalogue-v3 .catalogue-intro__guide a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.65rem;
  color: var(--catalogue-lake);
  font-size: 0.88rem;
  font-weight: 760;
  text-decoration: none;
}

.page-catalogue-v3 .catalogue-intro__guide a span {
  transition: transform 180ms var(--ease-out);
}

.page-catalogue-v3 .catalogue-intro__guide a:hover span,
.page-catalogue-v3 .catalogue-intro__guide a:focus-visible span {
  transform: translateY(0.2rem);
}

.page-catalogue-v3 .catalogue-category-index {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
  margin-top: clamp(0.75rem, 2vw, 1.5rem);
}

.page-catalogue-v3 .catalogue-category-index a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  min-height: 4.25rem;
  padding: 0.9rem 1.1rem;
  border: 1px solid var(--aesthetic-line);
  border-radius: 0.75rem;
  background: rgb(255 253 248 / 0.72);
  color: var(--catalogue-ink);
  text-decoration: none;
  transition:
    border-color 180ms var(--ease-out),
    background-color 180ms var(--ease-out),
    transform 180ms var(--ease-out);
}

.page-catalogue-v3 .catalogue-category-index span {
  font-size: clamp(1rem, 1.25vw, 1.2rem);
  font-weight: 760;
}

.page-catalogue-v3 .catalogue-category-index small {
  color: var(--aesthetic-copy);
  font: 600 0.76rem/1 var(--font-mono);
  font-variant-numeric: tabular-nums;
}

.page-catalogue-v3 .catalogue-category-index a:hover,
.page-catalogue-v3 .catalogue-category-index a:focus-visible {
  border-color: color-mix(in srgb, var(--catalogue-lake) 60%, var(--aesthetic-line));
  background: var(--catalogue-mist);
  transform: translateY(-0.12rem);
}

.page-catalogue-v3 .catalogue-category {
  position: relative;
  padding-block: clamp(3.5rem, 6vw, 6rem);
  border-top: 1px solid var(--aesthetic-line);
}

.page-catalogue-v3 .catalogue-category--transparent::before {
  position: absolute;
  z-index: -1;
  inset: 1.5rem -8vw;
  border-radius: 2rem;
  background: linear-gradient(135deg, rgb(222 237 235 / 0.7), rgb(249 247 241 / 0.34));
  content: '';
}

.page-catalogue-v3 .catalogue-category__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1rem, 2.5vw, 2rem);
  align-items: end;
  margin-bottom: clamp(1.5rem, 3vw, 2.75rem);
}

.page-catalogue-v3 .catalogue-category__header h2,
.page-catalogue-v3 .catalogue-intent h2,
.page-catalogue-v3 .catalogue-reference h2,
.page-catalogue-v3 .catalogue-contact h2 {
  margin: 0;
  color: var(--catalogue-ink);
  font-size: clamp(2rem, 3.15vw, 3.15rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.page-catalogue-v3 .catalogue-category__header > div > p {
  max-width: 45rem;
  margin: 0.8rem 0 0;
  color: var(--aesthetic-copy);
  font-size: 0.96rem;
  line-height: 1.65;
}

.page-catalogue-v3 .catalogue-category__count {
  display: grid;
  min-width: 7.5rem;
  margin: 0;
  justify-items: end;
}

.page-catalogue-v3 .catalogue-category__count strong {
  color: var(--catalogue-ink);
  font: 400 clamp(2.15rem, 3.5vw, 3.3rem)/0.9 var(--font-serif);
  font-variant-numeric: tabular-nums;
}

.page-catalogue-v3 .catalogue-category__count span {
  margin-top: 0.45rem;
  color: var(--aesthetic-copy);
  font-size: 0.72rem;
}

.page-catalogue-v3 .catalogue-category__grid {
  display: grid;
  gap: clamp(0.9rem, 1.4vw, 1.4rem);
}

.page-catalogue-v3 .catalogue-category--record .catalogue-category__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-catalogue-v3 .catalogue-category--special .catalogue-category__grid,
.page-catalogue-v3 .catalogue-category--transparent .catalogue-category__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.page-catalogue-v3 .catalogue-category--special .catalogue-product {
  grid-column: span 3;
}

.page-catalogue-v3 .catalogue-category--special .catalogue-product:is(:nth-child(1), :nth-child(6)) {
  grid-column: span 6;
}

.page-catalogue-v3 .catalogue-category--transparent .catalogue-product {
  grid-column: span 4;
}

.page-catalogue-v3 .catalogue-category--transparent .catalogue-product:is(:nth-child(4), :nth-child(5)) {
  grid-column: span 6;
}

.page-catalogue-v3 .catalogue-product {
  --exhibit-rotate-x: 0deg;
  --exhibit-rotate-y: 0deg;
  position: relative;
  display: flex;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid color-mix(in srgb, var(--aesthetic-line) 88%, transparent);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--catalogue-surface) 96%, transparent);
  box-shadow: 0 1rem 2.75rem rgb(25 58 63 / 0);
  transform: perspective(70rem) rotateX(var(--exhibit-rotate-x)) rotateY(var(--exhibit-rotate-y));
  transform-style: preserve-3d;
  transition:
    border-color 200ms var(--ease-out),
    box-shadow 260ms var(--ease-out),
    transform 260ms var(--ease-out);
}

.page-catalogue-v3 .catalogue-product:hover,
.page-catalogue-v3 .catalogue-product:focus-within {
  border-color: color-mix(in srgb, var(--catalogue-lake) 42%, var(--aesthetic-line));
  box-shadow: 0 1.3rem 3rem rgb(25 58 63 / 0.11);
  transform: perspective(70rem) translateY(-0.22rem) rotateX(var(--exhibit-rotate-x)) rotateY(var(--exhibit-rotate-y));
}

.page-catalogue-v3 .catalogue-product__media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: #ecebe5;
  isolation: isolate;
}

.page-catalogue-v3 .catalogue-product__media::after {
  position: absolute;
  pointer-events: none;
  inset: auto 0 0;
  height: 18%;
  background: linear-gradient(transparent, rgb(18 47 52 / 0.08));
  content: '';
}

.page-catalogue-v3 .catalogue-product__media--record {
  aspect-ratio: 4 / 3;
  background: #f1f3f0;
}

.page-catalogue-v3 .catalogue-category--special .catalogue-product:is(:nth-child(1), :nth-child(6)) .catalogue-product__media {
  aspect-ratio: 16 / 9;
}

.page-catalogue-v3 .catalogue-category--transparent .catalogue-product__media {
  aspect-ratio: 1 / 1;
  background: #e9f0ee;
}

.page-catalogue-v3 .catalogue-category--transparent .catalogue-product:is(:nth-child(4), :nth-child(5)) .catalogue-product__media {
  aspect-ratio: 3 / 2;
}

.page-catalogue-v3 .catalogue-product__media :is(picture, img) {
  width: 100%;
  height: 100%;
}

.page-catalogue-v3 .catalogue-product__media img {
  display: block;
  object-fit: cover;
  transition: transform 540ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.page-catalogue-v3 .catalogue-product__media--record img,
.page-catalogue-v3 .catalogue-product__media--cutout img {
  object-fit: contain;
}

.page-catalogue-v3 .catalogue-product__media--portrait img {
  object-position: center;
}

.page-catalogue-v3 .catalogue-product:hover .catalogue-product__media img,
.page-catalogue-v3 .catalogue-product:focus-within .catalogue-product__media img {
  transform: scale(1.026);
}

.page-catalogue-v3 .catalogue-product[data-product-slug="portable-lantern-speaker"] .catalogue-product__media img {
  object-position: center;
  transform-origin: 30% 62%;
  scale: 1.42;
}

.page-catalogue-v3 .catalogue-product[data-product-slug="triangular-rgb-speaker"] .catalogue-product__media img {
  object-position: center;
  transform-origin: 36% 97%;
  scale: 1.42;
}

.page-catalogue-v3 .catalogue-product__body {
  display: flex;
  min-height: 12.5rem;
  flex: 1;
  flex-direction: column;
  padding: 1rem 1rem 1.05rem;
}

.page-catalogue-v3 .catalogue-category--record .catalogue-product__body,
.page-catalogue-v3 .catalogue-category--special .catalogue-product:is(:nth-child(1), :nth-child(6)) .catalogue-product__body,
.page-catalogue-v3 .catalogue-category--transparent .catalogue-product:is(:nth-child(4), :nth-child(5)) .catalogue-product__body {
  min-height: 11.75rem;
}

.page-catalogue-v3 .catalogue-product__meta {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.6rem;
  align-items: center;
  margin: 0 0 0.65rem;
  color: #94513e;
  font: 700 0.7rem/1.35 var(--font-mono);
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.page-catalogue-v3 .catalogue-product__meta span:nth-child(2) {
  color: var(--aesthetic-copy);
  font-family: var(--font-body);
  letter-spacing: 0;
  text-transform: none;
}

.page-catalogue-v3 .catalogue-product h3 {
  margin: 0;
  color: var(--catalogue-ink);
  font-size: clamp(1.08rem, 1.35vw, 1.35rem);
  line-height: 1.18;
  letter-spacing: -0.025em;
}

.page-catalogue-v3 .catalogue-category--record .catalogue-product h3,
.page-catalogue-v3 .catalogue-category--special .catalogue-product:is(:nth-child(1), :nth-child(6)) h3,
.page-catalogue-v3 .catalogue-category--transparent .catalogue-product:is(:nth-child(4), :nth-child(5)) h3 {
  font-size: clamp(1.35rem, 2vw, 1.85rem);
}

.page-catalogue-v3 .catalogue-product h3 a {
  color: inherit;
  text-decoration: none;
}

.page-catalogue-v3 .catalogue-product h3 a::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  border-radius: inherit;
  content: '';
}

.page-catalogue-v3 .catalogue-product h3 a:focus-visible {
  outline: none;
}

.page-catalogue-v3 .catalogue-product:has(h3 a:focus-visible) {
  outline: 3px solid color-mix(in srgb, var(--catalogue-lake) 70%, white);
  outline-offset: 3px;
}

.page-catalogue-v3 .catalogue-product__shape {
  margin: 0.65rem 0 0.85rem;
  color: var(--aesthetic-copy);
  font-size: 0.83rem;
  line-height: 1.55;
}

.page-catalogue-v3 .catalogue-product__footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.7rem;
  align-items: end;
  margin-top: auto;
  padding-top: 0.75rem;
  border-top: 1px solid var(--aesthetic-line);
}

.page-catalogue-v3 .catalogue-product__footer > span {
  color: var(--aesthetic-copy);
  font-size: 0.69rem;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.page-catalogue-v3 .catalogue-product__footer .catalogue-product__cta {
  display: inline-flex;
  z-index: 2;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.35rem;
  color: var(--catalogue-lake);
  font-size: 0.74rem;
  font-weight: 760;
  text-align: right;
  text-decoration: none;
}

.page-catalogue-v3 .catalogue-product__footer .catalogue-product__cta i {
  font-style: normal;
  transition: transform 180ms var(--ease-out);
}

.page-catalogue-v3 .catalogue-product:hover .catalogue-product__cta i,
.page-catalogue-v3 .catalogue-product:focus-within .catalogue-product__cta i {
  transform: translateX(0.2rem);
}

.page-catalogue-v3 .catalogue-intent,
.page-catalogue-v3 .catalogue-reference {
  display: grid;
  grid-template-columns: minmax(17rem, 0.62fr) minmax(0, 1.38fr);
  gap: clamp(2rem, 5vw, 5.5rem);
  padding-block: clamp(3.75rem, 7vw, 7rem);
  border-top: 1px solid var(--aesthetic-line);
}

.page-catalogue-v3 .catalogue-intent {
  position: relative;
}

.page-catalogue-v3 .catalogue-intent::before {
  position: absolute;
  z-index: -1;
  inset: 1.4rem -7vw;
  border-radius: 2rem;
  background: linear-gradient(135deg, rgb(235 224 208 / 0.75), rgb(248 246 240 / 0.3));
  content: '';
}

.page-catalogue-v3 .catalogue-intent header > p,
.page-catalogue-v3 .catalogue-reference__header > div > p,
.page-catalogue-v3 .catalogue-contact p {
  max-width: 45rem;
  margin: 0.85rem 0 0;
  color: var(--aesthetic-copy);
  font-size: 0.94rem;
  line-height: 1.68;
}

.page-catalogue-v3 .catalogue-intent__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  align-content: start;
}

.page-catalogue-v3 .catalogue-intent__list a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 5.25rem;
  gap: 0.3rem 1rem;
  align-content: center;
  padding: 0.95rem 1rem;
  border: 1px solid var(--aesthetic-line);
  border-radius: 0.7rem;
  background: rgb(255 253 248 / 0.74);
  color: var(--catalogue-ink);
  text-decoration: none;
  transition:
    border-color 180ms var(--ease-out),
    background-color 180ms var(--ease-out),
    transform 180ms var(--ease-out);
}

.page-catalogue-v3 .catalogue-intent__list span {
  font-weight: 760;
}

.page-catalogue-v3 .catalogue-intent__list small {
  grid-column: 1;
  color: var(--aesthetic-copy);
}

.page-catalogue-v3 .catalogue-intent__list i {
  grid-column: 2;
  grid-row: 1 / 3;
  width: 0.6rem;
  height: 0.6rem;
  align-self: center;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 180ms var(--ease-out);
}

.page-catalogue-v3 .catalogue-intent__list a:hover,
.page-catalogue-v3 .catalogue-intent__list a:focus-visible {
  border-color: color-mix(in srgb, var(--catalogue-lake) 45%, var(--aesthetic-line));
  background: var(--catalogue-surface);
  transform: translateY(-0.12rem);
}

.page-catalogue-v3 .catalogue-intent__list a:hover i,
.page-catalogue-v3 .catalogue-intent__list a:focus-visible i {
  transform: translateX(0.2rem) rotate(45deg);
}

.page-catalogue-v3 .catalogue-reference {
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
}

.page-catalogue-v3 .catalogue-reference__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
}

.page-catalogue-v3 .catalogue-reference__header > div > p {
  max-width: 56rem;
}

.page-catalogue-v3 .catalogue-reference__header > p {
  display: grid;
  min-width: 13rem;
  margin: 0;
  padding-left: 1.25rem;
  border-left: 1px solid var(--aesthetic-line);
}

.page-catalogue-v3 .catalogue-reference__header > p strong {
  color: var(--catalogue-ink);
  font-size: 1.05rem;
}

.page-catalogue-v3 .catalogue-reference__header > p span {
  margin-top: 0.4rem;
  color: var(--aesthetic-copy);
  font-size: 0.78rem;
}

.page-catalogue-v3 .catalogue-reference__table {
  border: 1px solid var(--aesthetic-line);
  border-radius: 0.85rem;
  background: var(--catalogue-surface);
  box-shadow: 0 1rem 2.5rem rgb(25 58 63 / 0.06);
  scrollbar-color: var(--catalogue-lake) var(--catalogue-mist);
}

.page-catalogue-v3 .catalogue-reference__scroll-hint {
  display: none;
  margin: 0;
  color: var(--aesthetic-copy);
  font-size: 0.8rem;
}

.page-catalogue-v3 .catalogue-reference__table .compare-table {
  margin: 0;
}

.page-catalogue-v3 .catalogue-reference__table .compare-table th:first-child {
  min-width: 10.5rem;
}

.page-catalogue-v3 .catalogue-reference__table a {
  color: var(--catalogue-lake);
  font-weight: 760;
}

.page-catalogue-v3 .catalogue-source-price {
  display: grid;
  gap: 0.22rem;
  min-width: 8.5rem;
}

.page-catalogue-v3 .catalogue-source-price > strong {
  color: var(--catalogue-ink);
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
}

.page-catalogue-v3 .catalogue-source-price > small {
  color: var(--aesthetic-copy);
  font-size: 0.69rem;
  line-height: 1.4;
}

.page-catalogue-v3 .catalogue-reference__note {
  margin: 0;
  padding: 1rem 1.15rem;
  border-left: 0.2rem solid color-mix(in srgb, var(--catalogue-lake) 62%, white);
  background: color-mix(in srgb, var(--catalogue-mist) 64%, var(--catalogue-paper));
  color: var(--aesthetic-copy);
  font-size: 0.86rem;
  line-height: 1.6;
}

.page-catalogue-v3 .catalogue-reference__note strong {
  color: var(--catalogue-ink);
}

.page-catalogue-v3 .catalogue-contact {
  display: flex;
  gap: 2rem;
  align-items: center;
  justify-content: space-between;
  margin-block: 1rem clamp(2rem, 5vw, 5rem);
  padding: clamp(1.75rem, 3.5vw, 3.25rem);
  border-radius: 1.25rem;
  background:
    radial-gradient(circle at 92% 12%, rgb(138 187 184 / 0.42), transparent 22rem),
    #183d45;
  box-shadow: 0 1.5rem 3.5rem rgb(18 47 52 / 0.15);
}

.page-catalogue-v3 .catalogue-contact h2 {
  max-width: 20ch;
  color: #fffaf0;
  font-size: clamp(1.8rem, 2.7vw, 2.7rem);
}

.page-catalogue-v3 .catalogue-contact p {
  max-width: 48rem;
  color: rgb(255 250 240 / 0.76);
}

.page-catalogue-v3 .catalogue-contact .button {
  flex: 0 0 auto;
  border-color: #fffaf0;
  background: #fffaf0;
  color: #183d45;
}

@media (max-width: 79.99rem) {
  .page-catalogue-v3 .catalogue-category--special .catalogue-category__grid,
  .page-catalogue-v3 .catalogue-category--transparent .catalogue-category__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .page-catalogue-v3 .catalogue-category--special .catalogue-product {
    grid-column: span 2;
  }

  .page-catalogue-v3 .catalogue-category--special .catalogue-product:is(:nth-child(1), :nth-child(6)) {
    grid-column: span 4;
  }

  .page-catalogue-v3 .catalogue-category--transparent .catalogue-product {
    grid-column: span 2;
  }

  .page-catalogue-v3 .catalogue-category--transparent .catalogue-product:is(:nth-child(4), :nth-child(5)) {
    grid-column: span 3;
  }
}

@media (max-width: 63.99rem) {
  .page-catalogue-v3 .catalogue-intro,
  .page-catalogue-v3 .catalogue-intent {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.75rem;
  }

  .page-catalogue-v3 .catalogue-intro__copy h1 {
    max-width: 18ch;
  }

  .page-catalogue-v3 .catalogue-intro__guide {
    max-width: 48rem;
  }

  .page-catalogue-v3 .catalogue-category--record .catalogue-category__grid,
  .page-catalogue-v3 .catalogue-category--special .catalogue-category__grid,
  .page-catalogue-v3 .catalogue-category--transparent .catalogue-category__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-catalogue-v3 .catalogue-category--special .catalogue-product,
  .page-catalogue-v3 .catalogue-category--special .catalogue-product:is(:nth-child(1), :nth-child(6)),
  .page-catalogue-v3 .catalogue-category--transparent .catalogue-product,
  .page-catalogue-v3 .catalogue-category--transparent .catalogue-product:is(:nth-child(4), :nth-child(5)) {
    grid-column: span 1;
  }

  .page-catalogue-v3 .catalogue-category--special .catalogue-product:is(:nth-child(1), :nth-child(6)) .catalogue-product__media,
  .page-catalogue-v3 .catalogue-category--transparent .catalogue-product:is(:nth-child(4), :nth-child(5)) .catalogue-product__media {
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 47.99rem) {
  .page-catalogue-v3 .catalogue-intro {
    gap: 1rem;
    padding-block: 1.75rem 1.1rem;
  }

  .page-catalogue-v3 .catalogue-intro__copy h1 {
    font-size: clamp(2.1rem, 10.5vw, 3rem);
  }

  .page-catalogue-v3 .catalogue-intro__copy > p {
    margin-top: 0.75rem;
    font-size: 0.94rem;
    line-height: 1.55;
  }

  .page-catalogue-v3 .catalogue-intro__guide {
    padding: 0.85rem 0 0 1rem;
  }

  .page-catalogue-v3 .catalogue-intro__guide p {
    display: none;
  }

  .page-catalogue-v3 .catalogue-category-index {
    gap: 0.4rem;
  }

  .page-catalogue-v3 .catalogue-category-index a {
    grid-template-columns: minmax(0, 1fr);
    min-height: 4rem;
    gap: 0.2rem;
    align-content: center;
    padding-inline: 0.7rem;
  }

  .page-catalogue-v3 .catalogue-category-index span {
    font-size: clamp(0.78rem, 3.5vw, 0.92rem);
    overflow-wrap: anywhere;
  }

  .page-catalogue-v3 .catalogue-category-index small {
    font-size: 0.68rem;
    justify-self: start;
  }

  .page-catalogue-v3 .catalogue-category__header {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.7rem;
  }

  .page-catalogue-v3 .catalogue-category {
    padding-block: 2.5rem;
  }

  .page-catalogue-v3 .catalogue-category__header {
    margin-bottom: 1.2rem;
  }

  .page-catalogue-v3 .catalogue-category__header h2 {
    font-size: clamp(1.8rem, 9vw, 2.6rem);
  }

  .page-catalogue-v3 .catalogue-category__header > div > p {
    margin-top: 0.65rem;
    line-height: 1.5;
  }

  .page-catalogue-v3 .catalogue-category__count {
    grid-column: 1;
    grid-template-columns: auto 1fr;
    min-width: 0;
    align-items: baseline;
    gap: 0.55rem;
    justify-items: start;
  }

  .page-catalogue-v3 .catalogue-category__count span {
    margin-top: 0;
  }

  .page-catalogue-v3 .catalogue-reference__header {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  .page-catalogue-v3 .catalogue-reference__header > p {
    padding-top: 0.9rem;
    padding-left: 0;
    border-top: 1px solid var(--aesthetic-line);
    border-left: 0;
  }

  .page-catalogue-v3 .catalogue-reference__scroll-hint {
    display: block;
  }

  .page-catalogue-v3 .catalogue-contact {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 39.99rem) {
  .page-catalogue-v3 .catalogue-category--record .catalogue-category__grid,
  .page-catalogue-v3 .catalogue-category--special .catalogue-category__grid,
  .page-catalogue-v3 .catalogue-category--transparent .catalogue-category__grid,
  .page-catalogue-v3 .catalogue-intent__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-catalogue-v3 .catalogue-product,
  .page-catalogue-v3 .catalogue-category--special .catalogue-product,
  .page-catalogue-v3 .catalogue-category--special .catalogue-product:is(:nth-child(1), :nth-child(6)),
  .page-catalogue-v3 .catalogue-category--transparent .catalogue-product,
  .page-catalogue-v3 .catalogue-category--transparent .catalogue-product:is(:nth-child(4), :nth-child(5)) {
    grid-column: auto;
  }

  .page-catalogue-v3 .catalogue-product__media,
  .page-catalogue-v3 .catalogue-category--special .catalogue-product:is(:nth-child(1), :nth-child(6)) .catalogue-product__media,
  .page-catalogue-v3 .catalogue-category--transparent .catalogue-product__media,
  .page-catalogue-v3 .catalogue-category--transparent .catalogue-product:is(:nth-child(4), :nth-child(5)) .catalogue-product__media {
    aspect-ratio: 4 / 3;
  }

  .page-catalogue-v3 .catalogue-product__body {
    min-height: 0;
  }
}

@media (max-width: 23.49rem) {
  .page-catalogue-v3 .catalogue-category-index {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-catalogue-v3 .catalogue-category-index a {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .page-catalogue-v3 .catalogue-product__footer {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-catalogue-v3 .catalogue-product__footer .catalogue-product__cta {
    justify-self: start;
    text-align: left;
  }

  .page-catalogue-v3 .catalogue-contact {
    padding-inline: 1.1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-catalogue-v3 :is(
    .catalogue-intro__guide a span,
    .catalogue-category-index a,
    .catalogue-product,
    .catalogue-product__media img,
    .catalogue-product__footer .catalogue-product__cta i,
    .catalogue-intent__list a,
    .catalogue-intent__list i
  ) {
    transition: none;
  }

  .page-catalogue-v3 .catalogue-product,
  .page-catalogue-v3 .catalogue-product:hover,
  .page-catalogue-v3 .catalogue-product:focus-within {
    transform: none;
  }
}

@media (prefers-contrast: more) {
  .page-catalogue-v3 {
    --aesthetic-line: rgb(23 52 60 / 0.48);
  }
}

@media (forced-colors: active) {
  .page-catalogue-v3 :is(
    .catalogue-category-index a,
    .catalogue-category,
    .catalogue-product,
    .catalogue-product__footer,
    .catalogue-intent,
    .catalogue-intent__list a,
    .catalogue-reference,
    .catalogue-reference__table,
    .catalogue-reference__note,
    .catalogue-contact
  ) {
    border-color: CanvasText;
  }
}

/* product-v8.css */
/* TY Audio v8 product showroom.
   Human-facing product form leads; the exact model remains available as technical identity. */

.page-product--showroom {
  --page-gutter: var(--gutter);
  --showroom-canvas: #f2f7f4;
  --showroom-paper: #fffdf9;
  --showroom-paper-soft: #f8faf7;
  --showroom-mint: #dfece7;
  --showroom-mint-strong: #c8ded7;
  --showroom-sky: #dcebf0;
  --showroom-peach: #f2e6dc;
  --showroom-ink: #102f38;
  --showroom-copy: #4b666b;
  --showroom-muted: #4f676c;
  --showroom-accent: #166d76;
  --showroom-accent-strong: #0f5962;
  --showroom-caution-line: #d4c99f;
  --showroom-caution-bg: #f7f4e9;
  --showroom-line: rgb(16 47 56 / 0.14);
  --showroom-line-strong: rgb(16 47 56 / 0.26);
  --showroom-shadow: 0 1.5rem 4.5rem rgb(30 70 72 / 0.12);
  --showroom-shadow-small: 0 0.7rem 2rem rgb(30 70 72 / 0.09);
  --showroom-radius: 0.75rem;
  --showroom-radius-small: 0.4rem;
  --showroom-ease: cubic-bezier(0.22, 1, 0.36, 1);
  background: var(--showroom-canvas);
  color: var(--showroom-ink);
}

.page-product--showroom main {
  overflow: clip;
  background: var(--showroom-canvas);
}

.page-product--showroom :is(#highlights, #design, #system, #product-media, #specifications, #volume-pricing) {
  scroll-margin-top: calc(var(--header-height) + 4rem);
}

.page-product--showroom #purchase-options {
  scroll-margin-top: calc(var(--header-height) + 1rem);
}

.page-product--showroom .product-mobile-purchase {
  display: none;
}

.page-product--showroom .product-mobile-purchase[hidden] {
  display: none !important;
}

.page-product--showroom .breadcrumbs {
  padding-block: 0.75rem;
  border-bottom: 1px solid var(--showroom-line);
  background: color-mix(in srgb, var(--showroom-paper) 86%, transparent);
}

.page-product--showroom .product-showroom-kicker {
  margin: 0;
  color: var(--showroom-accent);
  font-family: var(--font-data);
  font-size: 0.7rem;
  font-weight: 760;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* First viewport: gallery and compact decision panel. */
.page-product--showroom .product-commerce-hero--showroom {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(20rem, 0.82fr);
  gap: clamp(2.25rem, 5vw, 5.5rem);
  align-items: start;
  padding-block: clamp(1.25rem, 2.5vw, 2.5rem) clamp(2.75rem, 5vw, 5rem);
}

.page-product--showroom .product-detail-gallery__stage {
  position: relative;
  overflow: hidden;
  aspect-ratio: 5 / 4;
  border: 1px solid var(--showroom-line);
  border-radius: var(--showroom-radius);
  background: var(--showroom-paper);
  box-shadow: var(--showroom-shadow);
}

.page-product--showroom .product-detail-gallery__item {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  margin: 0;
  background: var(--showroom-paper);
}

.page-product--showroom .product-detail-gallery__item[hidden] {
  display: none !important;
}

.page-product--showroom .product-detail-gallery__zoom {
  position: relative;
  display: block;
  min-height: 0;
  overflow: hidden;
  background: var(--showroom-paper-soft);
  color: var(--showroom-ink);
  text-decoration: none;
}

.page-product--showroom .product-detail-gallery__item--dark .product-detail-gallery__zoom {
  background: #0b171b;
}

:is(.page-product--fx-2, .page-product--fx-2-s) .product-detail-gallery__zoom {
  background:
    radial-gradient(circle at 50% 42%, rgb(255 255 255 / 0.98) 0 28%, transparent 62%),
    linear-gradient(155deg, #edf4f1 0%, #fbfbf7 58%, #dce8e4 100%);
}

:is(.page-product--fx-2, .page-product--fx-2-s) .product-detail-gallery__image[src*="front-cutout"] {
  box-sizing: border-box;
  padding: clamp(0.55rem, 2.2vw, 1.5rem);
  filter: drop-shadow(0 1.2rem 1.45rem rgb(28 54 57 / 0.17));
}

.page-product--showroom .product-detail-gallery__zoom .media-picture,
.page-product--showroom .product-detail-gallery__image {
  display: block;
  width: 100%;
  height: 100%;
}

.page-product--showroom .product-detail-gallery__image {
  object-fit: contain;
  object-position: center;
}

.page-product--showroom .product-detail-gallery__placeholder {
  position: relative;
  display: grid;
  min-height: 0;
  overflow: hidden;
  align-content: end;
  padding: clamp(2rem, 5vw, 4rem);
  background:
    radial-gradient(circle at 72% 24%, rgb(22 109 118 / 0.16), transparent 29%),
    linear-gradient(145deg, var(--showroom-paper), var(--showroom-mint));
}

.page-product--showroom .product-detail-gallery__placeholder-mark {
  position: absolute;
  top: 13%;
  right: 9%;
  width: min(48%, 21rem);
  aspect-ratio: 1;
  border: 1px solid rgb(16 47 56 / 0.28);
  border-radius: 50%;
  box-shadow: inset 0 0 0 1.1rem rgb(255 253 249 / 0.45), 0 2rem 4rem rgb(16 47 56 / 0.12);
}

.page-product--showroom .product-detail-gallery__placeholder--cabinet .product-detail-gallery__placeholder-mark {
  aspect-ratio: 1.45 / 1;
  border-radius: 0.8rem;
  transform: perspective(45rem) rotateY(-12deg);
}

.page-product--showroom .product-detail-gallery__placeholder-mark::before,
.page-product--showroom .product-detail-gallery__placeholder-mark::after {
  position: absolute;
  border: 1px solid rgb(22 109 118 / 0.45);
  content: "";
}

.page-product--showroom .product-detail-gallery__placeholder-mark::before {
  inset: 17%;
  border-radius: inherit;
}

.page-product--showroom .product-detail-gallery__placeholder-mark::after {
  inset: 35%;
  border-radius: 50%;
  background: rgb(255 253 249 / 0.72);
}

.page-product--showroom .product-detail-gallery__placeholder-eyebrow {
  position: relative;
  z-index: 1;
  color: var(--showroom-accent);
  font-family: var(--font-data);
  font-size: 0.68rem;
  font-weight: 760;
  letter-spacing: 0.1em;
}

.page-product--showroom .product-detail-gallery__placeholder strong {
  position: relative;
  z-index: 1;
  max-width: 8ch;
  margin-block: 0.7rem;
  color: var(--showroom-ink);
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 5vw, 4.8rem);
  font-weight: 520;
  letter-spacing: -0.05em;
  line-height: 0.94;
}

.page-product--showroom .product-detail-gallery__placeholder small {
  position: relative;
  z-index: 1;
  color: var(--showroom-copy);
  font-size: 0.72rem;
  line-height: 1.6;
}

.page-product--showroom .product-detail-gallery__item--cover .product-detail-gallery__image {
  object-fit: cover;
}

.page-product--showroom .product-detail-gallery__zoom-label {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  padding-inline: 0.9rem;
  border: 1px solid rgb(255 255 255 / 0.74);
  border-radius: var(--showroom-radius-small);
  background: rgb(255 253 249 / 0.88);
  color: var(--showroom-ink);
  font-size: 0.7rem;
  font-weight: 760;
  backdrop-filter: blur(14px);
}

.page-product--showroom .product-detail-gallery__item figcaption {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem 1.5rem;
  align-items: baseline;
  min-height: 4rem;
  padding: 0.85rem 1.1rem;
  border-top: 1px solid var(--showroom-line);
  background: var(--showroom-paper);
}

.page-product--showroom .product-detail-gallery__item figcaption span {
  color: var(--showroom-ink);
  font-size: 0.76rem;
  font-weight: 760;
}

.page-product--showroom .product-detail-gallery__item figcaption small {
  justify-self: end;
  color: var(--showroom-muted);
  font-size: 0.68rem;
  line-height: 1.5;
  text-align: end;
}

.page-product--showroom .product-detail-gallery__counter {
  position: absolute;
  z-index: 3;
  top: 1rem;
  left: 1rem;
  display: flex;
  min-height: 2.75rem;
  gap: 0.35rem;
  align-items: center;
  margin: 0;
  padding-inline: 0.8rem;
  border: 1px solid rgb(255 255 255 / 0.72);
  border-radius: var(--showroom-radius-small);
  background: rgb(255 253 249 / 0.88);
  color: var(--showroom-ink);
  font-family: var(--font-data);
  font-size: 0.7rem;
  backdrop-filter: blur(14px);
}

.page-product--showroom .product-detail-gallery__counter span {
  color: inherit;
}

.page-product--showroom .product-detail-gallery__steps {
  position: absolute;
  z-index: 3;
  right: 1rem;
  top: 1rem;
  display: flex;
  gap: 0.4rem;
}

.page-product--showroom .product-detail-gallery__steps button {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 0.72);
  border-radius: var(--showroom-radius-small);
  background: rgb(255 253 249 / 0.88);
  color: var(--showroom-ink);
  cursor: pointer;
  backdrop-filter: blur(14px);
}

.page-product--showroom .product-detail-gallery__steps button:disabled {
  cursor: default;
  opacity: 0.42;
}

.page-product--showroom .product-detail-gallery__steps svg {
  width: 1.2rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.page-product--showroom .product-detail-gallery__controls {
  display: grid;
  grid-auto-columns: minmax(6rem, 7.5rem);
  grid-auto-flow: column;
  gap: 0.65rem;
  margin-block-start: 0.75rem;
  padding: 0.1rem 0.1rem 0.5rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-color: var(--showroom-accent) transparent;
  scrollbar-width: thin;
}

.page-product--showroom .product-detail-gallery__thumb {
  position: relative;
  display: grid;
  min-width: 6rem;
  min-height: 5.5rem;
  grid-template-rows: minmax(3.55rem, 1fr) auto;
  scroll-snap-align: start;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--showroom-line);
  border-radius: var(--showroom-radius-small);
  background: var(--showroom-paper-soft);
  color: var(--showroom-copy);
  cursor: pointer;
  font: inherit;
  text-align: start;
  transition: border-color 180ms ease, transform 180ms var(--showroom-ease);
}

.page-product--showroom .product-detail-gallery__thumb::before {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: transparent;
  content: "";
}

.page-product--showroom .product-detail-gallery__thumb.is-active {
  border-color: var(--showroom-accent);
  color: var(--showroom-ink);
}

.page-product--showroom .product-detail-gallery__thumb.is-active::before {
  background: var(--showroom-accent);
}

.page-product--showroom .product-detail-gallery__thumb .media-picture,
.page-product--showroom .product-detail-gallery__thumb-image {
  display: block;
  width: 100%;
  height: 100%;
}

.page-product--showroom .product-detail-gallery__thumb-image {
  object-fit: cover;
}

.page-product--showroom .product-detail-gallery__thumb > span {
  overflow: hidden;
  padding: 0.45rem 0.55rem 0.5rem;
  color: inherit;
  font-size: 0.65rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.page-product--showroom .product-detail-gallery__thumb-placeholder {
  display: grid;
  min-height: 3.55rem;
  place-items: center;
  background: linear-gradient(145deg, var(--showroom-paper), var(--showroom-mint));
  color: var(--showroom-accent-strong);
  font-family: var(--font-data);
  font-size: 0.62rem;
  font-weight: 760;
  letter-spacing: 0.06em;
}

/* Purchase area: no oversized model typography. */
.page-product--showroom .purchase-card--showroom {
  position: sticky;
  top: calc(var(--header-height) + 1.25rem);
  display: grid;
  gap: 1rem;
  min-width: 0;
  padding: 0.4rem 0 0 clamp(1.25rem, 2.6vw, 2.5rem);
  border: 0;
  border-left: 1px solid var(--showroom-line-strong);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.page-product--showroom .purchase-card__identity {
  display: grid;
  gap: 0.7rem;
}

.page-product--showroom .purchase-card__eyebrow {
  margin: 0;
  color: var(--showroom-accent);
  font-family: var(--font-data);
  font-size: 0.69rem;
  font-weight: 760;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.page-product--showroom .purchase-card h1 {
  max-width: 18ch;
  margin: 0;
  color: var(--showroom-ink);
  font-size: clamp(2.25rem, 3.5vw, 4.15rem);
  font-weight: 520;
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.page-product--showroom .purchase-card__code {
  display: flex;
  gap: 0.55rem;
  align-items: center;
  margin: 0;
  color: var(--showroom-copy);
  font-family: var(--font-data);
  font-size: 0.7rem;
  letter-spacing: 0.05em;
}

.page-product--showroom .purchase-card__code span {
  color: var(--showroom-ink);
  font-weight: 760;
}

.page-product--showroom .purchase-card__lead {
  max-width: 39rem;
  margin: 0;
  color: var(--showroom-copy);
  font-size: 0.98rem;
  line-height: 1.7;
}

.page-product--showroom .purchase-card__decision-line {
  margin: 0;
  color: var(--showroom-ink);
  font-size: 0.78rem;
  font-weight: 720;
  line-height: 1.55;
}

.page-product--showroom .purchase-card__evidence {
  display: grid;
  gap: 0.2rem;
  margin: 0;
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--showroom-caution-line);
  border-radius: var(--showroom-radius-small);
  background: var(--showroom-caution-bg);
  color: var(--showroom-copy);
}

.page-product--showroom .purchase-card__evidence strong {
  color: var(--showroom-ink);
  font-size: 0.72rem;
}

.page-product--showroom .purchase-card__evidence span {
  font-size: 0.66rem;
  line-height: 1.5;
}

.page-product--showroom .purchase-card__evidence--verified {
  border-color: var(--showroom-line-strong);
  background: var(--showroom-mint);
}

.page-product--showroom .purchase-card__variants {
  display: grid;
  gap: 0.55rem;
  padding-block: 0.9rem;
  border-block: 1px solid var(--showroom-line);
}

.page-product--showroom .purchase-card__variants > p {
  margin: 0;
  color: var(--showroom-muted);
  font-size: 0.7rem;
  font-weight: 720;
}

.page-product--showroom .purchase-card__variants > ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-product--showroom .purchase-card__variants li {
  min-width: 0;
}

.page-product--showroom .purchase-card__variants a {
  display: grid;
  min-height: 4.2rem;
  gap: 0.2rem;
  align-content: center;
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--showroom-line-strong);
  border-radius: var(--showroom-radius-small);
  background: var(--showroom-paper);
  color: var(--showroom-ink);
  text-decoration: none;
}

.page-product--showroom .purchase-card__variants a[aria-current="page"] {
  border-color: var(--showroom-accent);
  background: var(--showroom-mint);
  box-shadow: inset 0 0 0 1px var(--showroom-accent);
}

.page-product--showroom .purchase-card__variants a span {
  color: inherit;
  font-size: 0.76rem;
  font-weight: 760;
}

.page-product--showroom .purchase-card__variants a small {
  color: var(--showroom-copy);
  font-family: var(--font-data);
  font-size: 0.63rem;
}

.page-product--showroom .purchase-card__reference {
  padding-block: 0.85rem;
  border-block: 1px solid var(--showroom-line);
}

.page-product--showroom .purchase-card__fallback-action,
.page-product--showroom .purchase-card .ty-woo-button {
  min-height: 3.15rem;
  border-radius: var(--showroom-radius-small);
}

.page-product--showroom .purchase-state {
  padding: 0.85rem;
  border: 1px solid var(--showroom-caution-line);
  border-radius: var(--showroom-radius-small);
  background: var(--showroom-caution-bg);
}

.page-product--showroom .purchase-card__service {
  position: relative;
  display: grid;
  min-height: 4rem;
  gap: 0.25rem;
  align-content: center;
  padding: 0.8rem 3rem 0.8rem 0.95rem;
  border: 1px solid var(--showroom-line);
  border-radius: var(--showroom-radius-small);
  background: var(--showroom-mint);
  color: var(--showroom-ink);
  text-decoration: none;
}

.page-product--showroom .purchase-card__service::after {
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.55rem;
  height: 0.55rem;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

.page-product--showroom .purchase-card__service span {
  color: inherit;
  font-size: 0.79rem;
  font-weight: 760;
}

.page-product--showroom .purchase-card__service small {
  color: var(--showroom-copy);
  font-size: 0.68rem;
  line-height: 1.45;
}

.page-product--showroom .purchase-card__conditions {
  border-top: 1px solid var(--showroom-line);
}

.page-product--showroom .purchase-card__conditions summary {
  min-height: 2.9rem;
  color: var(--showroom-ink);
  cursor: pointer;
  font-size: 0.74rem;
  font-weight: 760;
  line-height: 2.9rem;
}

.page-product--showroom .purchase-card__conditions dl {
  display: grid;
  margin: 0;
}

.page-product--showroom .purchase-card__conditions dl > div {
  display: grid;
  grid-template-columns: minmax(5.5rem, 0.4fr) minmax(0, 1fr);
  gap: 0.7rem;
  padding-block: 0.65rem;
  border-top: 1px solid var(--showroom-line);
}

.page-product--showroom .purchase-card__conditions dt,
.page-product--showroom .purchase-card__conditions dd,
.page-product--showroom .purchase-card__conditions > p {
  margin: 0;
  font-size: 0.68rem;
  line-height: 1.5;
}

.page-product--showroom .purchase-card__conditions dt {
  color: var(--showroom-muted);
}

.page-product--showroom .purchase-card__conditions dd {
  color: var(--showroom-ink);
  overflow-wrap: anywhere;
}

.page-product--showroom .purchase-card__conditions > p {
  padding-block-start: 0.75rem;
  color: var(--showroom-muted);
}

/* Anchored decision path and facts. */
.page-product--showroom .product-subnav--showroom {
  position: sticky;
  z-index: calc(var(--z-header) - 1);
  top: var(--header-height);
  overflow-x: auto;
  border-block: 1px solid var(--showroom-line);
  background: rgb(255 253 249 / 0.93);
  box-shadow: 0 0.45rem 1.4rem rgb(30 70 72 / 0.06);
  scrollbar-width: thin;
  backdrop-filter: blur(16px);
}

.page-product--showroom .product-subnav--showroom .section-shell {
  display: flex;
  min-width: max-content;
  gap: clamp(1.25rem, 3vw, 3rem);
}

.page-product--showroom .product-subnav--showroom a {
  min-height: 3rem;
  color: var(--showroom-copy);
  font-size: 0.71rem;
  font-weight: 720;
}

.page-product--showroom .product-proof--showroom {
  padding-block: clamp(2.75rem, 5vw, 5rem);
}

.page-product--showroom .product-proof--showroom dl {
  border-color: var(--showroom-line-strong);
}

.page-product--showroom .product-proof--showroom dl > div {
  padding: clamp(1rem, 2vw, 1.55rem);
  border-color: var(--showroom-line);
}

.page-product--showroom .product-proof--showroom dt {
  color: var(--showroom-muted);
}

.page-product--showroom .product-proof--showroom dd {
  color: var(--showroom-ink);
  font-family: var(--font-body);
  font-size: clamp(0.82rem, 1vw, 0.96rem);
  font-weight: 650;
}

/* One image, one product story. */
.page-product--showroom .product-story {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(18rem, 0.86fr);
  min-height: clamp(35rem, 56vw, 48rem);
  padding-block: clamp(3rem, 6vw, 6rem);
}

.page-product--showroom .product-story__media {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: var(--showroom-radius) 0 0 var(--showroom-radius);
  background: var(--showroom-paper-soft);
}

.page-product--showroom .product-story__media .media-picture,
.page-product--showroom .product-story__image {
  display: block;
  width: 100%;
  height: 100%;
}

.page-product--showroom .product-story__image {
  object-fit: cover;
}

.page-product--showroom .product-story__media figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem 1rem;
  align-items: center;
  padding: 0.8rem 0.95rem;
  border: 1px solid rgb(255 255 255 / 0.7);
  border-radius: var(--showroom-radius-small);
  background: rgb(255 253 249 / 0.88);
  backdrop-filter: blur(14px);
}

.page-product--showroom .product-story__media figcaption span {
  color: var(--showroom-accent);
  font-size: 0.68rem;
  font-weight: 760;
}

.page-product--showroom .product-story__media figcaption small {
  color: var(--showroom-copy);
  font-size: 0.66rem;
  line-height: 1.45;
}

.page-product--showroom .product-story__copy {
  display: grid;
  gap: 1.15rem;
  align-content: center;
  padding: clamp(2rem, 5vw, 5rem);
  border: 1px solid var(--showroom-line);
  border-left: 0;
  border-radius: 0 var(--showroom-radius) var(--showroom-radius) 0;
  background: var(--showroom-paper);
}

.page-product--showroom .product-story__copy h2,
.page-product--showroom .product-system__heading h2,
.page-product--showroom .product-colour-service h2,
.page-product--showroom .product-media-v8__heading h2,
.page-product--showroom .product-specification--showroom h2,
.page-product--showroom .product-volume--showroom h2,
.page-product--showroom .product-confidence--showroom h2,
.page-product--showroom .related-products--showroom h2 {
  margin: 0;
  color: var(--showroom-ink);
  font-size: clamp(2rem, 3.6vw, 3.7rem);
  font-weight: 520;
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.page-product--showroom .product-story__copy > p:not(.product-showroom-kicker),
.page-product--showroom .product-system__heading > p:last-child,
.page-product--showroom .product-colour-service__copy > p:not(.product-showroom-kicker),
.page-product--showroom .product-media-v8__heading > p:last-child,
.page-product--showroom .product-specification--showroom .product-specification__heading > p:last-child,
.page-product--showroom .product-volume--showroom .product-volume__heading > p:last-child,
.page-product--showroom .product-confidence--showroom > .section-shell > div > p:last-child {
  max-width: 42rem;
  margin: 0;
  color: var(--showroom-copy);
  font-size: 0.98rem;
  line-height: 1.75;
}

.page-product--showroom .product-story__copy dl {
  display: grid;
  margin: 0.8rem 0 0;
  border-top: 1px solid var(--showroom-line);
}

.page-product--showroom .product-story__copy dl > div {
  display: grid;
  grid-template-columns: minmax(7rem, 0.42fr) minmax(0, 1fr);
  gap: 1rem;
  padding-block: 0.8rem;
  border-bottom: 1px solid var(--showroom-line);
}

.page-product--showroom .product-story__copy dt,
.page-product--showroom .product-story__copy dd {
  margin: 0;
  font-size: 0.74rem;
  line-height: 1.55;
}

.page-product--showroom .product-story__copy dt {
  color: var(--showroom-muted);
}

.page-product--showroom .product-story__copy dd {
  color: var(--showroom-ink);
  font-weight: 650;
}

/* Color service belongs to record-form products, not to SKU taxonomy. */
.page-product--showroom .product-colour-service {
  padding-block: clamp(4rem, 7vw, 7rem);
  border-block: 1px solid var(--showroom-line);
  background: linear-gradient(120deg, var(--showroom-peach), var(--showroom-mint));
}

.page-product--showroom .product-colour-service__inner {
  display: grid;
  grid-template-columns: minmax(18rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.page-product--showroom .product-colour-service__copy {
  display: grid;
  gap: 1.15rem;
}

.page-product--showroom .product-colour-service__copy .button {
  justify-self: start;
}

.page-product--showroom .product-colour-service__gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}

.page-product--showroom .product-colour-service__gallery figure {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgb(16 47 56 / 0.13);
  border-radius: var(--showroom-radius-small);
  background: rgb(255 253 249 / 0.76);
}

.page-product--showroom .product-colour-service__gallery .media-picture,
.page-product--showroom .product-colour-service__image {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
}

.page-product--showroom .product-colour-service__image {
  object-fit: cover;
}

.page-product--showroom .product-colour-service__gallery figcaption {
  min-height: 3.4rem;
  padding: 0.7rem;
  color: var(--showroom-ink);
  font-size: 0.69rem;
  font-weight: 680;
  line-height: 1.4;
}

/* Truthful hardware diagram instead of decorative pseudo-3D. */
.page-product--showroom .product-system {
  padding-block: clamp(4.5rem, 8vw, 8rem);
  border-bottom: 1px solid var(--showroom-line);
  background: var(--showroom-sky);
}

.page-product--showroom .product-system__inner {
  display: grid;
  grid-template-columns: minmax(18rem, 0.75fr) minmax(20rem, 1.25fr);
  gap: clamp(2.5rem, 6vw, 6.5rem);
  align-items: center;
}

.page-product--showroom .product-system__heading {
  display: grid;
  gap: 1.1rem;
}

.page-product--showroom .product-system__drivers {
  display: flex;
  min-height: clamp(19rem, 35vw, 30rem);
  gap: clamp(1rem, 2.5vw, 2rem);
  align-items: center;
  justify-content: center;
  padding: clamp(1rem, 3vw, 2.5rem);
}

.page-product--showroom .product-system__driver {
  display: grid;
  gap: 0.8rem;
  justify-items: center;
}

.page-product--showroom .product-system__driver > span {
  display: grid;
  width: calc(6.5rem + (8.5rem * var(--driver-scale)));
  max-width: 18rem;
  aspect-ratio: 1;
  place-content: center;
  border: 1px solid rgb(16 47 56 / 0.28);
  border-radius: 50%;
  background:
    radial-gradient(circle at center, transparent 0 20%, rgb(16 47 56 / 0.08) 21% 23%, transparent 24% 38%, rgb(16 47 56 / 0.08) 39% 41%, transparent 42%),
    var(--showroom-paper);
  box-shadow: 0 1.25rem 3rem rgb(24 69 74 / 0.14);
  color: var(--showroom-ink);
  text-align: center;
}

.page-product--showroom .product-system__driver strong {
  font-family: var(--font-data);
  font-size: clamp(1.3rem, 3vw, 2.8rem);
  font-weight: 620;
}

.page-product--showroom .product-system__driver small {
  color: var(--showroom-copy);
  font-size: 0.7rem;
}

.page-product--showroom .product-system__driver p {
  margin: 0;
  color: var(--showroom-ink);
  font-family: var(--font-data);
  font-size: 0.72rem;
}

.page-product--showroom .product-system__platform {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border-block: 1px solid rgb(16 47 56 / 0.22);
}

.page-product--showroom .product-system__platform > div {
  min-width: 0;
  padding: 1rem 1.2rem;
  border-right: 1px solid rgb(16 47 56 / 0.14);
}

.page-product--showroom .product-system__platform > div:last-child {
  border-right: 0;
}

.page-product--showroom .product-system__platform dt,
.page-product--showroom .product-system__platform dd {
  margin: 0;
}

.page-product--showroom .product-system__platform dt {
  color: var(--showroom-muted);
  font-size: 0.68rem;
}

.page-product--showroom .product-system__platform dd {
  margin-block-start: 0.45rem;
  color: var(--showroom-ink);
  font-family: var(--font-data);
  font-size: 0.78rem;
  line-height: 1.5;
}

/* Scene rail and video. */
.page-product--showroom .product-media-v8 {
  display: grid;
  gap: clamp(2rem, 4vw, 4rem);
  padding-block: clamp(4.5rem, 8vw, 8rem);
}

.page-product--showroom .product-media-v8__heading {
  display: grid;
  max-width: 54rem;
  gap: 1.1rem;
}

.page-product--showroom .product-media-v8 > .media-gallery {
  display: grid;
  gap: 1rem;
  width: 100%;
  margin: 0;
}

.page-product--showroom .product-media-v8 .section-heading h3,
.page-product--showroom .product-media-v8 .video-section h3 {
  margin: 0;
  color: var(--showroom-ink);
  font-size: clamp(1.25rem, 2vw, 1.8rem);
}

.page-product--showroom .product-media-v8 .media-gallery__toolbar {
  border-color: var(--showroom-line);
  background: var(--showroom-paper);
}

.page-product--showroom .product-media-v8 .media-rail {
  grid-auto-columns: minmax(20rem, 54%);
  gap: 0.8rem;
}

.page-product--showroom .product-media-v8 .media-rail__item {
  overflow: hidden;
  border: 1px solid var(--showroom-line);
  border-radius: var(--showroom-radius-small);
  background: var(--showroom-paper);
}

.page-product--showroom .product-media-v8 .media-rail__item a,
.page-product--showroom .product-media-v8 .media-rail__picture,
.page-product--showroom .product-media-v8 .media-rail__image {
  display: block;
  width: 100%;
}

.page-product--showroom .product-media-v8 .media-rail__picture,
.page-product--showroom .product-media-v8 .media-rail__image {
  aspect-ratio: 4 / 3;
}

.page-product--showroom .product-media-v8 .media-rail__image {
  object-fit: cover;
}

.page-product--showroom .product-media-v8 .media-rail__item figcaption {
  min-height: 3.6rem;
  padding: 0.75rem 0.9rem;
  color: var(--showroom-copy);
  font-size: 0.68rem;
  line-height: 1.5;
}

.page-product--showroom .product-media-v8__video {
  margin-block-start: 1rem;
}

/* Specifications and commerce. */
.page-product--showroom .product-specification--showroom,
.page-product--showroom .product-volume--showroom {
  display: grid;
  grid-template-columns: minmax(18rem, 0.72fr) minmax(24rem, 1.28fr);
  gap: clamp(2.5rem, 6vw, 6.5rem);
  padding-block: clamp(4.5rem, 8vw, 8rem);
}

.page-product--showroom .product-specification--showroom {
  border-top: 1px solid var(--showroom-line);
}

.page-product--showroom .product-specification--showroom .product-specification__heading,
.page-product--showroom .product-volume--showroom .product-volume__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.1rem;
  align-content: start;
  min-width: 0;
}

.page-product--showroom .product-specification--showroom .product-specification__heading {
  position: sticky;
  grid-row: 1 / span 2;
  top: calc(var(--header-height) + 4.5rem);
}

.page-product--showroom .product-specification--showroom .product-specification__groups {
  display: grid;
  grid-column: 2;
  gap: 0.7rem;
}

.page-product--showroom .product-source-note {
  display: grid;
  grid-column: 2;
  gap: 0.45rem;
  padding: 1.15rem 1.25rem;
  border: 1px solid color-mix(in srgb, var(--showroom-teal) 32%, var(--showroom-line));
  border-radius: var(--showroom-radius-small);
  background: color-mix(in srgb, var(--showroom-mint) 66%, var(--showroom-paper));
}

.page-product--showroom .product-source-note--critical {
  border-inline-start: 0.3rem solid #a45f43;
  background: #fff7ef;
}

.page-product--showroom .product-source-note strong {
  color: var(--showroom-ink);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-product--showroom .product-source-note p {
  max-width: 68ch;
  margin: 0;
  color: var(--showroom-muted);
  line-height: 1.65;
}

.page-product--showroom .product-spec-group {
  border: 1px solid var(--showroom-line);
  border-radius: var(--showroom-radius-small);
  background: var(--showroom-paper);
}

.page-product--showroom .product-spec-group summary {
  min-height: 4rem;
}

.page-product--showroom .product-spec-group[open] summary {
  border-bottom: 1px solid var(--showroom-line);
  background: var(--showroom-mint);
}

.page-product--showroom .product-spec-group dl > div {
  border-color: var(--showroom-line);
}

.page-product--showroom .product-spec-group__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-product--showroom .product-spec-group__list li {
  padding: 0.9rem 1rem;
  border-block-end: 1px solid var(--showroom-line);
  color: var(--showroom-muted);
  line-height: 1.5;
}

.page-product--showroom .product-spec-group__list li:nth-child(odd) {
  border-inline-end: 1px solid var(--showroom-line);
}

.page-product--showroom .product-volume--showroom {
  border-top: 1px solid var(--showroom-line);
}

.page-product--showroom .product-volume--showroom .product-volume__table,
.page-product--showroom .product-volume--showroom > .market-disclosure {
  grid-column: 2;
}

.page-product--showroom .product-volume--showroom .product-volume__table {
  margin: 0;
  border-color: var(--showroom-line);
  border-radius: var(--showroom-radius-small);
  background: var(--showroom-paper);
}

.page-product--showroom .product-volume--showroom .product-volume__table th,
.page-product--showroom .product-volume--showroom .product-volume__table td {
  border-color: var(--showroom-line);
}

.page-product--showroom .product-confidence--showroom {
  padding-block: clamp(4rem, 7vw, 6rem);
  border-block: 1px solid var(--showroom-line);
  background: var(--showroom-mint);
}

.page-product--showroom .product-confidence--showroom .product-confidence__inner {
  display: grid;
  grid-template-columns: minmax(18rem, 0.8fr) minmax(22rem, 1fr) auto;
  gap: clamp(2rem, 4vw, 4rem);
  align-items: center;
}

.page-product--showroom .product-confidence--showroom .product-confidence__inner > div {
  display: grid;
  gap: 1rem;
}

.page-product--showroom .product-confidence--showroom h2 {
  font-size: clamp(1.8rem, 3vw, 3rem);
}

.page-product--showroom .product-confidence--showroom dl {
  display: grid;
  margin: 0;
  border-top: 1px solid rgb(16 47 56 / 0.2);
}

.page-product--showroom .product-confidence--showroom dl > div {
  display: grid;
  grid-template-columns: minmax(7.5rem, 0.4fr) minmax(0, 1fr);
  gap: 1rem;
  padding-block: 0.75rem;
  border-bottom: 1px solid rgb(16 47 56 / 0.2);
}

.page-product--showroom .product-confidence--showroom dt,
.page-product--showroom .product-confidence--showroom dd {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.5;
}

.page-product--showroom .product-confidence--showroom dt {
  color: var(--showroom-copy);
}

.page-product--showroom .product-confidence--showroom .product-confidence__inner > div > p:last-child {
  color: var(--showroom-copy);
}

.page-product--showroom .product-confidence--showroom dd {
  color: var(--showroom-ink);
  font-weight: 680;
}

.page-product--showroom .product-confidence--showroom .button {
  min-width: 10rem;
  border-color: var(--showroom-accent-strong);
  background: var(--showroom-accent-strong);
  color: #fff;
}

/* Related products are differentiated by form, not by FX taxonomy. */
.page-product--showroom .related-products--showroom {
  display: grid;
  gap: clamp(2rem, 4vw, 4rem);
  padding-block: clamp(4.5rem, 8vw, 8rem);
}

.page-product--showroom .related-products--showroom__heading {
  display: grid;
  max-width: 52rem;
  gap: 1rem;
}

.page-product--showroom .related-products--showroom__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

.page-product--showroom .product-related-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--showroom-line);
  border-radius: var(--showroom-radius-small);
  background: var(--showroom-paper);
}

.page-product--showroom .product-related-card__media,
.page-product--showroom .product-related-card__media .media-picture,
.page-product--showroom .product-related-card__image {
  display: block;
  width: 100%;
}

.page-product--showroom .product-related-card__media,
.page-product--showroom .product-related-card__media .media-picture,
.page-product--showroom .product-related-card__image {
  aspect-ratio: 4 / 3;
}

.page-product--showroom .product-related-card__media {
  overflow: hidden;
  background: var(--showroom-paper-soft);
}

.page-product--showroom .product-related-card__image {
  object-fit: cover;
  transition: transform 280ms var(--showroom-ease);
}

.page-product--showroom .product-related-card__placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  align-content: end;
  gap: 0.45rem;
  padding: 1.15rem;
  background:
    radial-gradient(circle at 75% 26%, rgb(22 109 118 / 0.18), transparent 28%),
    linear-gradient(145deg, var(--showroom-paper), var(--showroom-mint));
  color: var(--showroom-ink);
}

.page-product--showroom .product-related-card__placeholder small,
.page-product--showroom .product-related-card__placeholder em {
  color: var(--showroom-copy);
  font-family: var(--font-data);
  font-size: 0.62rem;
  font-style: normal;
  letter-spacing: 0.06em;
}

.page-product--showroom .product-related-card__placeholder strong {
  max-width: 8ch;
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 520;
  letter-spacing: -0.04em;
  line-height: 0.98;
}

.page-product--showroom .product-related-card__body {
  display: grid;
  gap: 0.55rem;
  padding: 1rem;
}

.page-product--showroom .product-related-card__body p,
.page-product--showroom .product-related-card__body h3,
.page-product--showroom .product-related-card__body span,
.page-product--showroom .product-related-card__body small {
  margin: 0;
}

.page-product--showroom .product-related-card__body > p {
  color: var(--showroom-accent);
  font-family: var(--font-data);
  font-size: 0.64rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.page-product--showroom .product-related-card h3 {
  font-size: clamp(1.1rem, 1.8vw, 1.55rem);
  line-height: 1.18;
}

.page-product--showroom .product-related-card h3 a {
  color: var(--showroom-ink);
  text-decoration: none;
}

.page-product--showroom .product-related-card__body > span {
  color: var(--showroom-ink);
  font-size: 0.78rem;
  font-weight: 680;
}

.page-product--showroom .product-related-card__body > small {
  color: var(--showroom-copy);
  font-family: var(--font-data);
  font-size: 0.64rem;
}

@media (hover: hover) and (pointer: fine) {
  .page-product--showroom .product-detail-gallery__thumb:hover:not(.is-active),
  .page-product--showroom .purchase-card__variants a:hover {
    border-color: var(--showroom-accent);
    transform: translateY(-2px);
  }

  .page-product--showroom .product-detail-gallery__steps button:not(:disabled):hover {
    background: var(--showroom-ink);
    color: #fff;
  }

  .page-product--showroom .purchase-card__service:hover {
    border-color: var(--showroom-accent);
    background: var(--showroom-mint-strong);
  }

  .page-product--showroom .purchase-card__service:hover small {
    color: var(--showroom-ink);
  }

  .page-product--showroom .product-related-card__media:hover .product-related-card__image {
    transform: scale(1.025);
  }
}

@media (max-width: 75rem) {
  .page-product--showroom .product-commerce-hero--showroom {
    grid-template-columns: minmax(0, 1.08fr) minmax(19rem, 0.92fr);
    gap: 2rem;
  }

  .page-product--showroom .purchase-card--showroom {
    padding-left: 1.5rem;
  }

  .page-product--showroom .product-system__inner {
    grid-template-columns: minmax(17rem, 0.85fr) minmax(18rem, 1.15fr);
  }

  .page-product--showroom .product-system__driver > span {
    width: calc(5rem + (7rem * var(--driver-scale)));
  }

  .page-product--showroom .product-confidence--showroom .product-confidence__inner {
    grid-template-columns: minmax(18rem, 0.8fr) minmax(20rem, 1.2fr);
  }

  .page-product--showroom .product-confidence--showroom .button {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 63.99rem) {
  .page-product--showroom .product-commerce-hero--showroom,
  .page-product--showroom .product-story,
  .page-product--showroom .product-colour-service__inner,
  .page-product--showroom .product-system__inner,
  .page-product--showroom .product-specification--showroom,
  .page-product--showroom .product-volume--showroom {
    grid-template-columns: 1fr;
  }

  .page-product--showroom .purchase-card--showroom {
    position: static;
    padding: 1.5rem 0 0;
    border-top: 1px solid var(--showroom-line-strong);
    border-left: 0;
  }

  .page-product--showroom .purchase-card h1 {
    max-width: 18ch;
  }

  .page-product--showroom .product-story {
    min-height: 0;
  }

  .page-product--showroom .product-story__media {
    min-height: 34rem;
    border-radius: var(--showroom-radius) var(--showroom-radius) 0 0;
  }

  .page-product--showroom .product-story__copy {
    border-top: 0;
    border-left: 1px solid var(--showroom-line);
    border-radius: 0 0 var(--showroom-radius) var(--showroom-radius);
  }

  .page-product--showroom .product-colour-service__gallery {
    grid-row: 1;
  }

  .page-product--showroom .product-system__drivers {
    grid-row: 1;
    min-height: 23rem;
  }

  .page-product--showroom .product-system__platform {
    grid-column: auto;
  }

  .page-product--showroom .product-specification--showroom .product-specification__heading {
    position: static;
    grid-row: auto;
  }

  .page-product--showroom .product-source-note,
  .page-product--showroom .product-specification--showroom .product-specification__groups {
    grid-column: auto;
  }

  .page-product--showroom .product-volume--showroom .product-volume__table,
  .page-product--showroom .product-volume--showroom > .market-disclosure {
    grid-column: auto;
  }

  .page-product--showroom .related-products--showroom__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-product--showroom .product-related-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
  .page-product--showroom .product-commerce-hero--showroom {
    grid-template-columns: minmax(0, 1fr) minmax(19rem, 1fr);
    gap: 1.5rem;
  }

  .page-product--showroom .purchase-card--showroom {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.8rem;
    padding: 0.25rem 0 0 1.25rem;
    border-top: 0;
    border-left: 1px solid var(--showroom-line-strong);
  }

  .page-product--showroom .purchase-card--showroom > * {
    grid-column: 1;
    grid-row: auto;
  }

  .page-product--showroom .purchase-card h1 {
    font-size: clamp(2.1rem, 5vw, 2.8rem);
  }

  .page-product--showroom .purchase-card__lead {
    font-size: 0.88rem;
    line-height: 1.55;
  }

  .page-product--showroom .purchase-card__conditions,
  .page-product--showroom .purchase-card__service {
    margin-block-start: 0.1rem;
  }

  .page-product--showroom .product-detail-gallery__item figcaption {
    grid-template-columns: 1fr;
    gap: 0.25rem;
    min-height: 5rem;
  }

  .page-product--showroom .product-detail-gallery__item figcaption small {
    justify-self: start;
    text-align: start;
  }
}

@media (max-width: 47.99rem) {
  .page-product--showroom main {
    padding-bottom: 5.5rem;
  }

  .page-product--showroom .product-mobile-purchase {
    position: fixed;
    z-index: 40;
    right: var(--page-gutter);
    bottom: max(0.6rem, env(safe-area-inset-bottom));
    left: var(--page-gutter);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: center;
    min-height: 3.75rem;
    padding: 0.65rem 0.7rem 0.65rem 1rem;
    border: 1px solid rgb(255 255 255 / 0.52);
    border-radius: 0.55rem;
    background: rgb(16 47 56 / 0.94);
    box-shadow: 0 1rem 3rem rgb(16 47 56 / 0.25);
    color: #fff;
    text-decoration: none;
    backdrop-filter: blur(16px);
  }

  .page-product--showroom .product-mobile-purchase span {
    overflow: hidden;
    font-size: 0.69rem;
    font-weight: 720;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .page-product--showroom .product-mobile-purchase strong {
    display: inline-flex;
    min-height: 2.45rem;
    align-items: center;
    padding-inline: 0.85rem;
    border-radius: 0.35rem;
    background: var(--showroom-paper);
    color: var(--showroom-ink);
    font-size: 0.68rem;
    font-weight: 780;
    letter-spacing: 0.03em;
  }
  .page-product--showroom .product-commerce-hero--showroom {
    gap: 1.6rem;
    padding-block: 0.75rem 2.5rem;
  }

  .page-product--showroom .product-detail-gallery__stage {
    aspect-ratio: 4 / 3;
    margin-inline: calc(var(--page-gutter) * -1);
    border-inline: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .page-product--showroom .product-detail-gallery__placeholder {
    align-content: end;
    padding: 4rem var(--page-gutter) 1rem;
  }

  .page-product--showroom .product-detail-gallery__placeholder strong {
    max-width: 18ch;
    margin-block: 0;
    font-size: clamp(1.65rem, 7.2vw, 1.95rem);
    line-height: 0.9;
  }

  .page-product--showroom .product-detail-gallery__placeholder-eyebrow,
  .page-product--showroom .product-detail-gallery__placeholder small {
    display: none;
  }

  .page-product--showroom .product-detail-gallery__item figcaption {
    grid-template-columns: 1fr;
    gap: 0.25rem;
    min-height: 5rem;
    padding-inline: var(--page-gutter);
  }

  .page-product--showroom .product-detail-gallery__item figcaption small {
    justify-self: start;
    text-align: start;
  }

  .page-product--showroom .product-detail-gallery__zoom-label {
    right: var(--page-gutter);
  }

  .page-product--showroom .product-detail-gallery__counter {
    left: var(--page-gutter);
  }

  .page-product--showroom .product-detail-gallery__steps {
    right: var(--page-gutter);
  }

  .page-product--showroom .product-detail-gallery__controls {
    grid-auto-columns: minmax(5.5rem, 6.5rem);
  }

  .page-product--showroom .purchase-card--showroom {
    gap: 0.9rem;
  }

  .page-product--showroom .purchase-card__identity {
    order: 1;
  }

  .page-product--showroom .purchase-card__decision-line {
    order: 2;
  }

  .page-product--showroom .purchase-runtime {
    order: 3;
  }

  .page-product--showroom .purchase-card__evidence {
    order: 4;
  }

  .page-product--showroom .purchase-card__lead {
    order: 5;
  }

  .page-product--showroom .purchase-card__variants {
    order: 6;
  }

  .page-product--showroom .purchase-card__service {
    order: 7;
  }

  .page-product--showroom .purchase-card__conditions {
    order: 8;
  }

  .page-product--showroom .purchase-card h1 {
    font-size: clamp(2.2rem, 12vw, 3.2rem);
  }

  .page-product--showroom .purchase-card__variants > ul {
    grid-template-columns: 1fr;
  }

  .page-product--showroom .product-subnav--showroom {
    top: var(--header-height-mobile, var(--header-height));
  }

  .page-product--showroom .product-proof--showroom {
    padding-block: 2.5rem;
  }

  .page-product--showroom .product-proof--showroom dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-product--showroom .product-proof--showroom dl > div,
  .page-product--showroom .product-proof--showroom dl > div:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid var(--showroom-line);
  }

  .page-product--showroom .product-proof--showroom dl > div:nth-child(odd) {
    border-right: 1px solid var(--showroom-line);
  }

  .page-product--showroom .product-proof--showroom dl > div:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .page-product--showroom .product-story {
    padding-block: 3.5rem;
  }

  .page-product--showroom .product-story__media {
    min-height: 29rem;
    margin-inline: calc(var(--page-gutter) * -1);
    border-radius: 0;
  }

  .page-product--showroom .product-story__media figcaption {
    grid-template-columns: 1fr;
  }

  .page-product--showroom .product-story__copy {
    margin-inline: calc(var(--page-gutter) * -1);
    padding: 2rem var(--page-gutter);
    border-inline: 0;
    border-radius: 0;
  }

  .page-product--showroom .product-story__copy h2,
  .page-product--showroom .product-system__heading h2,
  .page-product--showroom .product-colour-service h2,
  .page-product--showroom .product-media-v8__heading h2,
  .page-product--showroom .product-specification--showroom h2,
  .page-product--showroom .product-volume--showroom h2,
  .page-product--showroom .related-products--showroom h2 {
    font-size: clamp(1.9rem, 9.5vw, 2.7rem);
  }

  .page-product--showroom .product-colour-service {
    padding-block: 3.5rem;
  }

  .page-product--showroom .product-colour-service__gallery {
    margin-inline-end: calc(var(--page-gutter) * -1);
    padding-inline-end: var(--page-gutter);
    overflow-x: auto;
    grid-template-columns: repeat(3, minmax(13rem, 72vw));
    scroll-snap-type: inline mandatory;
  }

  .page-product--showroom .product-colour-service__gallery figure {
    scroll-snap-align: start;
  }

  .page-product--showroom .product-system {
    padding-block: 3.75rem;
  }

  .page-product--showroom .product-system__drivers {
    min-height: 18rem;
    gap: 0.55rem;
    padding-inline: 0;
  }

  .page-product--showroom .product-system__driver > span {
    width: calc(3rem + (5.6rem * var(--driver-scale)));
  }

  .page-product--showroom .product-system__driver strong {
    font-size: clamp(1rem, 6vw, 1.7rem);
  }

  .page-product--showroom .product-system__driver small,
  .page-product--showroom .product-system__driver p {
    font-size: 0.61rem;
  }

  .page-product--showroom .product-system__platform {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-product--showroom .product-system__platform > div:nth-child(2) {
    border-right: 0;
  }

  .page-product--showroom .product-system__platform > div:nth-child(-n + 2) {
    border-bottom: 1px solid rgb(16 47 56 / 0.14);
  }

  .page-product--showroom .product-media-v8,
  .page-product--showroom .product-specification--showroom,
  .page-product--showroom .product-volume--showroom,
  .page-product--showroom .related-products--showroom {
    padding-block: 3.75rem;
  }

  .page-product--showroom .product-media-v8 .media-rail {
    grid-auto-columns: 88%;
  }

  .page-product--showroom .product-spec-group summary small {
    display: none;
  }

  .page-product--showroom .product-spec-group__list {
    grid-template-columns: 1fr;
  }

  .page-product--showroom .product-spec-group__list li:nth-child(odd) {
    border-inline-end: 0;
  }

  .page-product--showroom .product-confidence--showroom .product-confidence__inner {
    grid-template-columns: 1fr;
  }

  .page-product--showroom .product-confidence--showroom .button {
    grid-column: auto;
    width: 100%;
  }

  .page-product--showroom .related-products--showroom__grid {
    display: grid;
    margin-inline-end: calc(var(--page-gutter) * -1);
    padding-inline-end: var(--page-gutter);
    overflow-x: auto;
    grid-template-columns: repeat(3, minmax(17rem, 82vw));
    scroll-snap-type: inline mandatory;
  }

  .page-product--showroom .product-related-card,
  .page-product--showroom .product-related-card:last-child:nth-child(odd) {
    grid-column: auto;
    scroll-snap-align: start;
  }
}

@media (max-width: 23.5rem) {
  .page-product--showroom .product-proof--showroom dl {
    grid-template-columns: 1fr;
  }

  .page-product--showroom .product-proof--showroom dl > div,
  .page-product--showroom .product-proof--showroom dl > div:nth-child(odd),
  .page-product--showroom .product-proof--showroom dl > div:nth-last-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid var(--showroom-line);
  }

  .page-product--showroom .product-proof--showroom dl > div:last-child {
    border-bottom: 0;
  }

  .page-product--showroom .product-story__copy dl > div,
  .page-product--showroom .purchase-card__conditions dl > div,
  .page-product--showroom .product-confidence--showroom dl > div {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .page-product--showroom .product-system__drivers {
    flex-wrap: wrap;
  }
}

@media (max-width: 21.875rem) {
  .page-product--showroom .product-detail-gallery__stage {
    aspect-ratio: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-product--showroom .product-detail-gallery__thumb,
  .page-product--showroom .purchase-card__variants a,
  .page-product--showroom .product-related-card__image {
    transition: none !important;
  }
}

@media (forced-colors: active) {
  .page-product--showroom .product-detail-gallery__stage,
  .page-product--showroom .product-detail-gallery__thumb,
  .page-product--showroom .purchase-card__variants a,
  .page-product--showroom .purchase-card__service,
  .page-product--showroom .product-story__copy,
  .page-product--showroom .product-colour-service__gallery figure,
  .page-product--showroom .product-system__driver > span,
  .page-product--showroom .product-spec-group,
  .page-product--showroom .product-related-card {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
  }
}

@media print {
  .page-product--showroom .product-mobile-purchase,
  .page-product--showroom .product-subnav--showroom,
  .page-product--showroom .product-detail-gallery__steps,
  .page-product--showroom .product-detail-gallery__controls,
  .page-product--showroom .media-gallery__toolbar,
  .page-product--showroom .video-section,
  .page-product--showroom .lightbox {
    display: none !important;
  }

  .page-product--showroom .purchase-card--showroom,
  .page-product--showroom .product-specification--showroom .product-specification__heading {
    position: static;
  }
}

/* v5.5 exhibition pass: the product photograph leads and details follow. */
.page-product--showroom {
  --showroom-canvas: #eef5f2;
  --showroom-paper: #fffdf9;
  --showroom-paper-soft: #f7faf8;
  --showroom-mint: #dfece7;
  --showroom-mint-strong: #c8ded7;
  --showroom-sky: #dcebf0;
}

.page-product--showroom .product-showroom-kicker,
.page-product--showroom .purchase-card__eyebrow {
  display: none;
}

.page-product--showroom .product-commerce-hero--showroom {
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
  gap: clamp(2rem, 4.5vw, 5rem);
  min-height: 0;
  padding-block: clamp(1rem, 2vw, 2rem) clamp(3.5rem, 7vw, 6rem);
}

.page-product--showroom .product-detail-gallery__stage {
  aspect-ratio: 1 / 1;
  box-shadow: 0 1.6rem 4rem rgb(30 70 72 / 0.1);
}

.page-product--showroom .product-detail-gallery__controls {
  grid-auto-columns: minmax(5.75rem, 6.75rem);
  gap: 0.55rem;
}

.page-product--showroom .product-detail-gallery__thumb {
  min-height: 5.15rem;
  background: var(--showroom-paper);
}

.page-product--showroom .purchase-card--showroom {
  top: calc(var(--header-height) + 1.5rem);
  gap: 0.9rem;
  padding-left: clamp(1.25rem, 2.4vw, 2.25rem);
}

.page-product--showroom .purchase-card h1 {
  max-width: 16ch;
  font-size: clamp(2.35rem, 3.5vw, 3.85rem);
  line-height: 1.01;
}

.page-product--showroom .purchase-card__lead {
  line-height: 1.65;
}

.page-product--showroom .purchase-card__evidence,
.page-product--showroom .purchase-card__service,
.page-product--showroom .purchase-card__variants a,
.page-product--showroom .product-spec-group,
.page-product--showroom .product-related-card {
  border-radius: var(--showroom-radius);
}

.page-product--showroom .product-proof--showroom {
  padding-block: clamp(2rem, 4vw, 3.5rem);
  border-block: 1px solid var(--showroom-line);
  background: var(--showroom-paper);
}

.page-product--showroom .product-proof--showroom dl > div {
  padding-block: 1.1rem;
}

.page-product--showroom .product-story {
  grid-template-columns: minmax(0, 1.2fr) minmax(19rem, 0.8fr);
  min-height: clamp(36rem, 58vw, 50rem);
  padding-block: clamp(4rem, 8vw, 7rem);
}

.page-product--showroom .product-story__media {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}

.page-product--showroom .product-story__media figcaption {
  position: static;
  right: auto;
  bottom: auto;
  left: auto;
  border: 0;
  border-top: 1px solid var(--showroom-line);
  border-radius: 0;
  background: var(--showroom-paper);
  backdrop-filter: none;
}

.page-product--showroom .product-story__copy {
  gap: 1.15rem;
}

.page-product--showroom .product-story__copy h2,
.page-product--showroom .product-system__heading h2,
.page-product--showroom .product-colour-service h2,
.page-product--showroom .product-media-v8__heading h2,
.page-product--showroom .product-specification--showroom h2,
.page-product--showroom .product-volume--showroom h2,
.page-product--showroom .product-confidence--showroom h2,
.page-product--showroom .related-products--showroom h2 {
  max-width: 20ch;
  font-size: clamp(2rem, 3.2vw, 3.2rem);
  line-height: 1.07;
}

.page-product--showroom .product-colour-service {
  background: var(--showroom-sky);
}

.page-product--showroom .product-colour-service__gallery figure {
  border-radius: var(--showroom-radius);
  background: var(--showroom-paper);
}

.page-product--showroom .product-system {
  background: var(--showroom-paper);
}

.page-product--showroom .product-system__driver > span {
  box-shadow: 0 1.25rem 3rem rgb(24 69 74 / 0.1);
}

.page-product--showroom .product-media-v8 {
  max-width: none;
  padding-inline: max(var(--page-gutter), calc((100vw - 96rem) / 2));
  border-block: 1px solid var(--showroom-line);
  background: var(--showroom-sky);
}

.page-product--showroom .product-media-v8__heading {
  max-width: 48rem;
}

.page-product--showroom .product-media-v8 .media-rail {
  grid-auto-columns: minmax(22rem, 62%);
}

.page-product--showroom .product-media-v8 .media-rail__item {
  border-radius: var(--showroom-radius);
  background: var(--showroom-paper);
}

.page-product--showroom .product-source-note {
  border-color: color-mix(in srgb, var(--showroom-accent) 32%, var(--showroom-line));
}

.page-product--showroom .related-products--showroom__grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
  grid-template-rows: repeat(2, minmax(0, auto));
  gap: 1rem;
}

.page-product--showroom .product-related-card {
  display: grid;
  min-height: 0;
}

.page-product--showroom .product-related-card:first-child {
  grid-row: 1 / span 2;
  grid-template-rows: minmax(0, 1fr) auto;
}

.page-product--showroom .product-related-card:not(:first-child) {
  grid-template-columns: minmax(9rem, 0.82fr) minmax(0, 1.18fr);
}

.page-product--showroom .product-related-card__media,
.page-product--showroom .product-related-card__media .media-picture,
.page-product--showroom .product-related-card__image {
  height: 100%;
  aspect-ratio: auto;
}

.page-product--showroom .product-related-card:first-child .product-related-card__media {
  min-height: 29rem;
}

.page-product--showroom .product-related-card:not(:first-child) .product-related-card__media {
  min-height: 13rem;
}

.page-product--showroom .product-related-card__body {
  align-content: center;
  padding: 1.2rem;
}

@media (max-width: 63.99rem) {
  .page-product--showroom .product-commerce-hero--showroom {
    grid-template-columns: 1fr;
  }

  .page-product--showroom .purchase-card--showroom {
    position: static;
    padding: 1.5rem 0 0;
    border-top: 1px solid var(--showroom-line-strong);
    border-left: 0;
  }

  .page-product--showroom .related-products--showroom__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }

  .page-product--showroom .product-related-card:first-child {
    grid-row: auto;
  }

  .page-product--showroom .product-related-card:not(:first-child) {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) auto;
  }

  .page-product--showroom .product-related-card:first-child .product-related-card__media,
  .page-product--showroom .product-related-card:not(:first-child) .product-related-card__media {
    min-height: 18rem;
  }
}

@media (max-width: 47.99rem) {
  .page-product--showroom .product-detail-gallery__stage {
    aspect-ratio: 4 / 3;
  }

  .page-product--showroom .product-story {
    min-height: 0;
  }

  .page-product--showroom .product-story__media {
    min-height: 26rem;
  }

  .page-product--showroom .product-media-v8 {
    padding-inline: var(--page-gutter);
  }

  .page-product--showroom .related-products--showroom__grid {
    display: grid;
    margin-inline-end: calc(var(--page-gutter) * -1);
    padding-inline-end: var(--page-gutter);
    overflow-x: auto;
    grid-template-columns: repeat(3, minmax(17rem, 82vw));
    scroll-snap-type: inline mandatory;
  }

  .page-product--showroom .product-related-card,
  .page-product--showroom .product-related-card:first-child,
  .page-product--showroom .product-related-card:not(:first-child) {
    grid-column: auto;
    grid-row: auto;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) auto;
    scroll-snap-align: start;
  }

  .page-product--showroom .product-related-card:first-child .product-related-card__media,
  .page-product--showroom .product-related-card:not(:first-child) .product-related-card__media {
    min-height: 16rem;
  }
}

@media (hover: hover) and (pointer: fine) {
  .page-product--showroom [data-exhibit-tilt] {
    transition: border-color 220ms var(--showroom-ease), box-shadow 220ms var(--showroom-ease), transform 220ms var(--showroom-ease);
  }

  .page-product--showroom [data-exhibit-tilt]:hover {
    box-shadow: 0 1.35rem 3.2rem rgb(30 70 72 / 0.12);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-product--showroom [data-exhibit-tilt] {
    transition: none !important;
    transform: none !important;
  }
}

@media (forced-colors: active) {
  .page-product--showroom .product-proof--showroom,
  .page-product--showroom .product-media-v8,
  .page-product--showroom .product-system,
  .page-product--showroom .product-related-card {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
  }
}

/* image-product-v1.css */
/* Image-led real-product detail pages.
   The gallery is evidence first: no invented model, price, feature or offer fields. */

.page-image-product {
  --image-product-paper: #f7f6f0;
  --image-product-surface: #fffefa;
  --image-product-mist: #e8f0ed;
  --image-product-mist-strong: #d7e5e0;
  --image-product-ink: #12323b;
  --image-product-copy: #4d686d;
  --image-product-muted: #526a6e;
  --image-product-lake: #176c72;
  --image-product-lake-dark: #0f5158;
  --image-product-coral: #8f4d3b;
  --image-product-line: rgb(18 50 59 / 0.16);
  --image-product-line-strong: rgb(18 50 59 / 0.28);
  --image-product-shadow: 0 1.8rem 5rem rgb(26 65 66 / 0.13);
  --image-product-shadow-small: 0 0.8rem 2.2rem rgb(26 65 66 / 0.09);
  background: var(--image-product-paper);
  color: var(--image-product-ink);
}

html[lang="en-US"] .page-image-product :is(.image-product-hero__local-title, .image-product-related-card small[lang="en"]) {
  display: none;
}

.page-image-product main {
  overflow: clip;
  background:
    linear-gradient(90deg, transparent calc(50% - 0.5px), rgb(18 50 59 / 0.035) 50%, transparent calc(50% + 0.5px)),
    var(--image-product-paper);
}

.page-image-product :is(#purchase-options, #catalogue-specifications, #visible-details, #product-gallery, #evidence-title) {
  scroll-margin-top: calc(var(--header-height) + 5rem);
}

.page-image-product .breadcrumbs {
  padding-block: 0.75rem;
  border-bottom: 1px solid var(--image-product-line);
  background: color-mix(in srgb, var(--image-product-paper) 92%, transparent);
}

.page-image-product .image-product-kicker {
  margin: 0;
  color: var(--image-product-lake);
  font-family: var(--font-data);
  font-size: 0.7rem;
  font-weight: 760;
  letter-spacing: 0.13em;
  line-height: 1.4;
  text-transform: uppercase;
}

.page-image-product .image-product-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(19rem, 0.75fr);
  gap: clamp(2rem, 4.8vw, 5.5rem);
  align-items: center;
  min-height: min(45rem, calc(100svh - var(--header-height) - 3rem));
  padding-block: clamp(1.25rem, 2.4vw, 2.25rem) clamp(2.5rem, 4.5vw, 4.5rem);
}

.page-image-product .image-product-hero__gallery {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(9rem, 0.5fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(0.55rem, 1vw, 0.9rem);
  min-height: clamp(30rem, 54vw, 38rem);
}

.page-image-product .image-product-hero__gallery--count-1 {
  display: block;
  min-height: 0;
}

.page-image-product .image-product-hero__gallery--count-2 .image-product-hero__frame--2 {
  grid-row: 1 / 3;
}

.page-image-product .image-product-hero__frame {
  position: relative;
  overflow: hidden;
  min-width: 0;
  min-height: 0;
  margin: 0;
  border: 1px solid var(--image-product-line);
  background:
    radial-gradient(circle at 52% 42%, rgb(255 255 255 / 0.94), transparent 58%),
    var(--image-product-mist);
  box-shadow: var(--image-product-shadow-small);
}

.page-image-product .image-product-hero__gallery--count-1 .image-product-hero__frame {
  aspect-ratio: 1 / 1;
}

.page-image-product .image-product-hero__frame--1 {
  grid-row: 1 / 3;
}

.page-image-product .image-product-hero__frame figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  padding: 0.65rem 0.85rem;
  border-top: 1px solid rgb(255 255 255 / 0.62);
  border-right: 1px solid rgb(255 255 255 / 0.62);
  background: rgb(248 248 242 / 0.88);
  color: var(--image-product-ink);
  font-family: var(--font-data);
  font-size: 0.63rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  backdrop-filter: blur(0.7rem);
}

.page-image-product .image-product-hero__link,
.page-image-product .image-product-hero__link .media-picture,
.page-image-product .image-product-hero__image {
  display: block;
  width: 100%;
  height: 100%;
}

.page-image-product .image-product-hero__link {
  min-height: 44px;
}

.page-image-product .image-product-hero__image {
  object-fit: contain;
  object-position: center;
  transition: transform 320ms var(--ease-out), filter 320ms ease;
}

.page-image-product--round-display-speaker .image-product-hero__frame,
.page-image-product--round-display-speaker .image-product-gallery__link,
.page-image-product--round-display-speaker .image-product-related-card__media {
  background:
    radial-gradient(circle at 50% 41%, rgb(255 255 255 / 0.98) 0 28%, transparent 62%),
    linear-gradient(156deg, #edf4f1 0%, #fbfbf7 57%, #dce8e4 100%);
}

.page-image-product--round-display-speaker :is(.image-product-hero__image, .image-product-gallery__image, .image-product-related-card__image)[src*="front-cutout"] {
  box-sizing: border-box;
  padding: clamp(0.4rem, 1.8vw, 1.25rem);
  filter: drop-shadow(0 1.2rem 1.45rem rgb(28 54 57 / 0.17));
}

.page-image-product .image-product-hero__link:hover .image-product-hero__image {
  filter: saturate(1.035) contrast(1.015);
  transform: scale(1.015);
}

.page-image-product--round-display-speaker .image-product-hero__link:hover .image-product-hero__image[src*="front-cutout"] {
  filter: drop-shadow(0 1.35rem 1.55rem rgb(28 54 57 / 0.2)) saturate(1.035) contrast(1.015);
}

.page-image-product .image-product-hero__link:focus-visible {
  outline: 3px solid var(--image-product-coral);
  outline-offset: -3px;
}

.page-image-product .image-product-hero__empty {
  display: grid;
  min-height: 34rem;
  place-content: center;
  border: 1px solid var(--image-product-line);
  background:
    radial-gradient(circle at center, rgb(255 255 255 / 0.78), transparent 34%),
    repeating-radial-gradient(circle at center, transparent 0 3rem, rgb(23 108 114 / 0.08) 3rem 3.1rem),
    var(--image-product-mist);
  text-align: center;
}

.page-image-product .image-product-hero__empty span {
  font-family: var(--font-data);
  font-size: 0.68rem;
  letter-spacing: 0.16em;
}

.page-image-product .image-product-hero__empty strong {
  margin-top: 0.75rem;
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 4vw, 3rem);
  font-weight: 520;
}

.page-image-product .image-product-hero__details {
  position: relative;
  max-width: 36rem;
  padding-block: clamp(1rem, 4vw, 3rem);
}

.page-image-product .image-product-hero__details::before {
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(3rem, 10vw, 7rem);
  height: 1px;
  background: var(--image-product-coral);
  content: "";
}

.page-image-product .image-product-hero h1 {
  max-width: 12ch;
  margin: clamp(0.85rem, 1.7vw, 1.35rem) 0 0;
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 4.8vw, 4.6rem);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 0.94;
  text-wrap: balance;
}

.page-image-product .image-product-hero__local-title {
  margin: 0.85rem 0 0;
  color: var(--image-product-lake);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  font-weight: 650;
  letter-spacing: 0.035em;
}

.page-image-product .image-product-hero__summary {
  max-width: 38rem;
  margin: clamp(1.35rem, 2vw, 2rem) 0 0;
  color: var(--image-product-copy);
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  line-height: 1.75;
}

.page-image-product .image-product-hero__status {
  display: grid;
  margin: clamp(1.75rem, 3vw, 2.75rem) 0 0;
  border-top: 1px solid var(--image-product-line);
}

.page-image-product .image-product-hero__status div {
  display: grid;
  grid-template-columns: minmax(7rem, 0.72fr) minmax(0, 1.28fr);
  gap: 1rem;
  align-items: center;
  min-height: 3.2rem;
  padding-block: 0.65rem;
  border-bottom: 1px solid var(--image-product-line);
}

.page-image-product .image-product-hero__status dt {
  color: var(--image-product-muted);
  font-size: 0.78rem;
}

.page-image-product .image-product-hero__status dd {
  margin: 0;
  color: var(--image-product-ink);
  font-size: 0.88rem;
  font-weight: 670;
  overflow-wrap: anywhere;
}

.page-image-product .image-product-status-dot {
  display: inline-block;
  width: 0.58rem;
  height: 0.58rem;
  margin-right: 0.52rem;
  border: 2px solid var(--image-product-surface);
  border-radius: 50%;
  background: #418366;
  box-shadow: 0 0 0 1px #418366;
  vertical-align: 0.02em;
}

.page-image-product .image-product-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.75rem;
}

.page-image-product .image-product-button {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 1.2rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  font-family: var(--font-data);
  font-size: 0.73rem;
  font-weight: 760;
  letter-spacing: 0.075em;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms var(--ease-out);
}

.page-image-product .image-product-button--primary {
  background: var(--image-product-lake-dark);
  color: #fffefa;
}

.page-image-product .image-product-button--primary:hover {
  background: var(--image-product-lake);
  color: #fff;
  transform: translateY(-2px);
}

.page-image-product .image-product-button--text {
  border-color: var(--image-product-line-strong);
  background: transparent;
  color: var(--image-product-ink);
}

.page-image-product .image-product-button--text:hover {
  border-color: var(--image-product-lake);
  background: var(--image-product-surface);
  color: var(--image-product-lake-dark);
}

.page-image-product .image-product-button:focus-visible {
  outline: 3px solid var(--image-product-coral);
  outline-offset: 3px;
}

.page-image-product .image-product-purchase {
  display: grid;
  gap: 0.9rem;
  margin-top: 1.15rem;
  padding-block: 1rem;
  border-block: 1px solid var(--image-product-line-strong);
}

.page-image-product .image-product-purchase > .ty-woo-purchase + .image-product-purchase__preview,
.page-image-product .image-product-purchase:has(.ty-woo-purchase) .image-product-purchase__preview {
  display: none;
}

.page-image-product .image-product-purchase__preview {
  display: grid;
  gap: 0.9rem;
}

.page-image-product .image-product-purchase__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  background: var(--image-product-line);
}

.page-image-product .image-product-purchase__facts > div {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
  padding: 0.85rem;
  background: var(--image-product-surface);
}

.page-image-product .image-product-purchase__facts dt {
  color: var(--image-product-muted);
  font-size: 0.72rem;
  font-weight: 650;
}

.page-image-product .image-product-purchase__facts dd {
  margin: 0;
  color: var(--image-product-ink);
  font-family: var(--font-data);
  font-size: clamp(1.05rem, 2vw, 1.45rem);
  font-variant-numeric: tabular-nums;
  font-weight: 720;
  overflow-wrap: anywhere;
}

.page-image-product .image-product-purchase__state {
  display: grid;
  gap: 0.25rem;
}

.page-image-product .image-product-purchase__state :is(strong, p),
.page-image-product .image-product-purchase__note {
  margin: 0;
}

.page-image-product .image-product-purchase__state strong {
  color: var(--image-product-lake-dark);
  font-size: 0.86rem;
}

.page-image-product .image-product-purchase__state p,
.page-image-product .image-product-purchase__note {
  color: var(--image-product-muted);
  font-size: 0.76rem;
  line-height: 1.6;
}

.page-image-product .image-product-purchase > .ty-woo-purchase {
  padding-block: 0;
  border: 0;
}

.page-image-product .image-product-hero__boundary {
  margin: 1.25rem 0 0;
  padding-left: 1rem;
  border-left: 2px solid var(--image-product-coral);
  color: var(--image-product-muted);
  font-size: 0.78rem;
  line-height: 1.65;
}

.page-image-product .image-product-subnav {
  position: sticky;
  z-index: 8;
  top: var(--header-height);
  border-block: 1px solid var(--image-product-line);
  background: rgb(247 246 240 / 0.93);
  backdrop-filter: blur(1rem);
}

.page-image-product .image-product-subnav .section-shell {
  display: flex;
  overflow-x: auto;
  scrollbar-width: thin;
}

.page-image-product .image-product-subnav a {
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 3rem;
  align-items: center;
  padding-inline: clamp(0.9rem, 2vw, 1.6rem);
  border-right: 1px solid var(--image-product-line);
  color: var(--image-product-copy);
  font-family: var(--font-data);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-decoration: none;
}

.page-image-product .image-product-subnav a:first-child {
  border-left: 1px solid var(--image-product-line);
}

.page-image-product .image-product-subnav a:hover {
  background: var(--image-product-mist);
  color: var(--image-product-lake-dark);
}

.page-image-product .image-product-subnav a:focus-visible {
  outline: 3px solid var(--image-product-coral);
  outline-offset: -3px;
}

.page-image-product .image-product-specs {
  padding-block: clamp(4.5rem, 8vw, 8rem);
  border-bottom: 1px solid var(--image-product-line);
  background: var(--image-product-surface);
}

.page-image-product .image-product-specs__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.36fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  padding-bottom: clamp(2rem, 4vw, 3.5rem);
  border-bottom: 1px solid var(--image-product-line-strong);
}

.page-image-product .image-product-specs__heading h2 {
  max-width: 20ch;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3.8rem);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.03;
  text-wrap: balance;
}

.page-image-product .image-product-specs__heading > div > p {
  max-width: 68ch;
  margin: 1.2rem 0 0;
  color: var(--image-product-copy);
  font-size: clamp(0.96rem, 1.2vw, 1.12rem);
  line-height: 1.75;
}

.page-image-product .image-product-specs__source {
  display: grid;
  gap: 0.45rem;
  padding-top: 1rem;
  border-top: 1px solid var(--image-product-coral);
  color: var(--image-product-muted);
  font-size: 0.76rem;
  line-height: 1.5;
}

.page-image-product .image-product-specs__source strong {
  color: var(--image-product-ink);
  font-size: 0.85rem;
}

.page-image-product .image-product-specs__models {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
  background: var(--image-product-line);
  border-block: 1px solid var(--image-product-line);
}

.page-image-product .image-product-specs__models--1 {
  grid-template-columns: minmax(0, 1fr);
}

.page-image-product .image-product-specs__model {
  min-width: 0;
  padding: clamp(1.4rem, 3vw, 2.5rem);
  background: var(--image-product-surface);
}

.page-image-product .image-product-specs__model > header {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  justify-content: space-between;
  min-height: 6.5rem;
  padding-bottom: 1.4rem;
}

.page-image-product .image-product-specs__model h3 {
  margin: 0;
  color: var(--image-product-ink);
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 4vw, 3.6rem);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 0.95;
}

.page-image-product .image-product-specs__model header p {
  margin: 0.65rem 0 0;
  color: var(--image-product-copy);
  font-size: 0.9rem;
  line-height: 1.5;
}

.page-image-product .image-product-specs__model header > span {
  flex: 0 0 auto;
  color: var(--image-product-coral);
  font-family: var(--font-data);
  font-size: 0.67rem;
  font-weight: 720;
  letter-spacing: 0.06em;
  line-height: 1.5;
  text-align: right;
}

.page-image-product .image-product-specs__model dl {
  margin: 0;
  border-top: 1px solid var(--image-product-line-strong);
}

.page-image-product .image-product-specs__model dl > div {
  display: grid;
  grid-template-columns: minmax(6.8rem, 0.37fr) minmax(0, 1fr);
  gap: 1rem;
  min-height: 4.2rem;
  align-items: start;
  padding-block: 1rem;
  border-bottom: 1px solid var(--image-product-line);
}

.page-image-product .image-product-specs__model dt {
  color: var(--image-product-muted);
  font-size: 0.76rem;
  line-height: 1.55;
}

.page-image-product .image-product-specs__model dd {
  margin: 0;
  color: var(--image-product-ink);
  font-size: 0.92rem;
  font-weight: 680;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.page-image-product .image-product-specs__model dd small {
  display: block;
  margin-top: 0.24rem;
  color: var(--image-product-muted);
  font-size: 0.72rem;
  font-weight: 450;
  line-height: 1.55;
}

.page-image-product .image-product-specs__boundary {
  max-width: 78ch;
  margin: clamp(1.75rem, 3vw, 2.5rem) 0 0 auto;
  color: var(--image-product-muted);
  font-size: 0.78rem;
  line-height: 1.7;
}

.page-image-product .image-product-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(18rem, 1.14fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
}

.page-image-product .image-product-section-heading h2 {
  max-width: 17ch;
  margin: 0.8rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4.4vw, 4.2rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.02;
  text-wrap: balance;
}

.page-image-product .image-product-section-heading > p,
.page-image-product .image-product-section-heading > div + p {
  max-width: 45rem;
  margin: 0;
  color: var(--image-product-copy);
  font-size: clamp(0.98rem, 1.35vw, 1.2rem);
  line-height: 1.75;
}

.page-image-product .image-product-profile {
  padding-block: clamp(5rem, 10vw, 10rem);
}

.page-image-product .image-product-profile__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: clamp(3rem, 6vw, 5rem) 0 0;
  border-top: 1px solid var(--image-product-line-strong);
}

.page-image-product .image-product-profile__grid > div {
  display: grid;
  grid-template-columns: minmax(8rem, 0.68fr) minmax(0, 1.32fr);
  gap: 1rem;
  min-height: 7.5rem;
  align-items: center;
  padding: clamp(1.2rem, 2.5vw, 2rem);
  border-right: 1px solid var(--image-product-line);
  border-bottom: 1px solid var(--image-product-line);
}

.page-image-product .image-product-profile__grid > div:nth-child(even) {
  border-right: 0;
}

.page-image-product .image-product-profile__grid dt {
  display: grid;
  gap: 0.6rem;
  color: var(--image-product-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.page-image-product .image-product-profile__grid dt span {
  color: var(--image-product-coral);
  font-family: var(--font-data);
  font-size: 0.66rem;
  letter-spacing: 0.08em;
}

.page-image-product .image-product-profile__grid dd {
  margin: 0;
  color: var(--image-product-ink);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.25;
}

.page-image-product .image-product-gallery {
  padding-block: clamp(4rem, 8vw, 8rem) clamp(6rem, 11vw, 11rem);
  border-top: 1px solid var(--image-product-line);
}

.page-image-product .image-product-section-heading--gallery {
  align-items: end;
}

.page-image-product .image-product-gallery__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 2rem);
  margin-top: clamp(3rem, 6vw, 6rem);
}

.page-image-product .image-product-gallery__item {
  grid-column: span 6;
  margin: 0;
}

.page-image-product .image-product-gallery__item--0,
.page-image-product .image-product-gallery__item--3 {
  grid-column: span 7;
}

.page-image-product .image-product-gallery__item--1,
.page-image-product .image-product-gallery__item--4 {
  grid-column: span 5;
  padding-top: clamp(1.5rem, 5vw, 5rem);
}

.page-image-product .image-product-gallery__link {
  display: block;
  overflow: hidden;
  min-height: 44px;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--image-product-line);
  background:
    radial-gradient(circle at center, rgb(255 255 255 / 0.95), transparent 62%),
    var(--image-product-mist);
  box-shadow: var(--image-product-shadow-small);
}

.page-image-product .image-product-gallery__link .media-picture,
.page-image-product .image-product-gallery__image {
  display: block;
  width: 100%;
  height: 100%;
}

.page-image-product .image-product-gallery__image {
  object-fit: contain;
  object-position: center;
  transition: transform 320ms var(--ease-out), filter 320ms ease;
}

.page-image-product .image-product-gallery__link:hover .image-product-gallery__image {
  filter: saturate(1.04) contrast(1.02);
  transform: scale(1.018);
}

.page-image-product .image-product-gallery__link:focus-visible {
  outline: 3px solid var(--image-product-coral);
  outline-offset: -3px;
}

.page-image-product .image-product-gallery__item figcaption {
  display: grid;
  grid-template-columns: 2.2rem minmax(0, 1fr);
  gap: 0.7rem;
  margin-top: 0.8rem;
  color: var(--image-product-copy);
  font-size: 0.78rem;
  line-height: 1.55;
}

.page-image-product .image-product-gallery__item figcaption span {
  color: var(--image-product-coral);
  font-family: var(--font-data);
  font-size: 0.66rem;
  letter-spacing: 0.08em;
}

.page-image-product .image-product-gallery__complete {
  margin: 3rem 0 0;
  padding: 1.3rem 1.5rem;
  border-block: 1px solid var(--image-product-line);
  color: var(--image-product-copy);
}

.page-image-product .image-product-evidence {
  background: var(--image-product-ink);
  color: #f8f6ee;
}

.page-image-product .image-product-evidence__inner {
  display: grid;
  grid-template-columns: minmax(17rem, 0.85fr) repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 5vw, 5rem);
  padding-block: clamp(5rem, 10vw, 9rem);
}

.page-image-product .image-product-evidence .image-product-kicker {
  color: #9bd2d0;
}

.page-image-product .image-product-evidence__intro h2 {
  margin: 0.8rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(2.1rem, 4.3vw, 4.1rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1;
}

.page-image-product .image-product-evidence__intro > p:last-child {
  margin: 1.4rem 0 0;
  color: #bed0d1;
  line-height: 1.75;
}

.page-image-product .image-product-evidence__column {
  padding-top: 0.35rem;
  border-top: 1px solid rgb(255 255 255 / 0.28);
}

.page-image-product .image-product-evidence__column h3 {
  margin: 1.1rem 0 0;
  font-size: 0.78rem;
  font-weight: 760;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.page-image-product .image-product-evidence__column ul {
  display: grid;
  gap: 0;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.page-image-product .image-product-evidence__column li {
  position: relative;
  padding: 0.9rem 0 0.9rem 1.5rem;
  border-bottom: 1px solid rgb(255 255 255 / 0.12);
  color: #d8e2e1;
  font-size: 0.86rem;
  line-height: 1.55;
}

.page-image-product .image-product-evidence__column li::before {
  position: absolute;
  top: 1.27rem;
  left: 0;
  width: 0.55rem;
  height: 0.55rem;
  border: 1px solid currentColor;
  content: "";
}

.page-image-product .image-product-evidence__column--confirmed li::before {
  border-radius: 50%;
  background: #79b69b;
  color: #79b69b;
}

.page-image-product .image-product-evidence__column--pending li::before {
  color: #d7a07c;
  transform: rotate(45deg);
}

.page-image-product .image-product-related {
  padding-block: clamp(5rem, 10vw, 10rem);
}

.page-image-product .image-product-section-heading--related {
  grid-template-columns: minmax(0, 1fr) auto;
}

.page-image-product .image-product-section-heading--related > a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  border-bottom: 1px solid var(--image-product-lake);
  color: var(--image-product-lake-dark);
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
}

.page-image-product .image-product-section-heading--related > a:hover {
  color: var(--image-product-coral);
}

.page-image-product .image-product-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 2rem);
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
}

.page-image-product .image-product-related-card {
  min-width: 0;
  border-top: 1px solid var(--image-product-line-strong);
}

.page-image-product .image-product-related-card__media {
  display: block;
  overflow: hidden;
  min-height: 44px;
  aspect-ratio: 1 / 1;
  margin-top: 0.75rem;
  border: 1px solid var(--image-product-line);
  background: var(--image-product-mist);
}

.page-image-product .image-product-related-card__media .media-picture,
.page-image-product .image-product-related-card__image {
  display: block;
  width: 100%;
  height: 100%;
}

.page-image-product .image-product-related-card__image {
  object-fit: contain;
  transition: transform 300ms var(--ease-out), filter 300ms ease;
}

.page-image-product .image-product-related-card__media:hover .image-product-related-card__image {
  filter: saturate(1.04) contrast(1.02);
  transform: scale(1.025);
}

.page-image-product .image-product-related-card__media:focus-visible {
  outline: 3px solid var(--image-product-coral);
  outline-offset: -3px;
}

.page-image-product .image-product-related-card > div {
  padding: 1.05rem 0 0;
}

.page-image-product .image-product-related-card p {
  margin: 0;
  color: var(--image-product-lake);
  font-family: var(--font-data);
  font-size: 0.65rem;
  font-weight: 740;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-image-product .image-product-related-card h3 {
  margin: 0.55rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 2.3vw, 2rem);
  font-weight: 500;
  line-height: 1.08;
}

.page-image-product .image-product-related-card h3 a {
  color: var(--image-product-ink);
  text-decoration: none;
}

.page-image-product .image-product-related-card h3 a:hover {
  color: var(--image-product-lake);
}

.page-image-product .image-product-related-card small {
  display: block;
  margin-top: 0.55rem;
  color: var(--image-product-muted);
  font-size: 0.78rem;
}

.page-image-product .image-product-service {
  padding-block: clamp(5rem, 11vw, 10rem);
  background:
    linear-gradient(135deg, rgb(23 108 114 / 0.08), transparent 55%),
    var(--image-product-mist);
}

.page-image-product .image-product-service__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(20rem, 1.2fr) auto;
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}

.page-image-product .image-product-service h2 {
  max-width: 17ch;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2.1rem, 4vw, 4rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.02;
}

.page-image-product .image-product-service__inner > p:not(.image-product-kicker) {
  max-width: 42rem;
  margin: 0;
  color: var(--image-product-copy);
  font-size: clamp(1rem, 1.2vw, 1.14rem);
  line-height: 1.75;
}

.page-image-product .image-product-button--light {
  border-color: var(--image-product-lake-dark);
  background: var(--image-product-surface);
  color: var(--image-product-lake-dark);
  white-space: nowrap;
}

.page-image-product .image-product-button--light:hover {
  background: var(--image-product-lake-dark);
  color: #fffefa;
}

@media (max-width: 74rem) {
  .page-image-product .image-product-hero {
    grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
    gap: clamp(1.5rem, 3vw, 3rem);
  }

  .page-image-product .image-product-hero__gallery {
    min-height: clamp(28rem, 61vw, 39rem);
  }

  .page-image-product .image-product-evidence__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-image-product .image-product-evidence__intro {
    grid-column: 1 / -1;
    max-width: 50rem;
  }

  .page-image-product .image-product-service__inner {
    grid-template-columns: minmax(0, 0.8fr) minmax(18rem, 1.2fr);
  }

  .page-image-product .image-product-service .image-product-button {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 56rem) {
  .page-image-product .image-product-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .page-image-product .image-product-hero__gallery {
    min-height: clamp(30rem, 92vw, 44rem);
  }

  .page-image-product .image-product-hero__details {
    max-width: 46rem;
  }

  .page-image-product .image-product-hero h1 {
    max-width: 13ch;
  }

  .page-image-product .image-product-specs__heading {
    grid-template-columns: minmax(0, 1fr) minmax(13rem, 0.45fr);
    gap: 2rem;
  }

  .page-image-product .image-product-specs__models {
    grid-template-columns: 1fr;
  }

  .page-image-product .image-product-profile__grid {
    grid-template-columns: 1fr;
  }

  .page-image-product .image-product-profile__grid > div,
  .page-image-product .image-product-profile__grid > div:nth-child(even) {
    border-right: 0;
  }

  .page-image-product .image-product-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 47.99rem) {
  .page-image-product .image-product-subnav {
    top: var(--header-height);
  }

  .page-image-product .image-product-section-heading,
  .page-image-product .image-product-section-heading--related {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    align-items: start;
  }

  .page-image-product .image-product-specs__heading {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    align-items: start;
  }

  .page-image-product .image-product-gallery__item,
  .page-image-product .image-product-gallery__item--0,
  .page-image-product .image-product-gallery__item--1,
  .page-image-product .image-product-gallery__item--3,
  .page-image-product .image-product-gallery__item--4 {
    grid-column: span 12;
    padding-top: 0;
  }

  .page-image-product .image-product-evidence__inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .page-image-product .image-product-evidence__intro {
    grid-column: auto;
  }

  .page-image-product .image-product-service__inner {
    grid-template-columns: 1fr;
  }

  .page-image-product .image-product-service .image-product-button {
    grid-column: auto;
    justify-self: stretch;
  }
}

@media (max-width: 39.99rem) {
  .page-image-product .image-product-hero {
    padding-top: 0.75rem;
  }

  .page-image-product .image-product-hero__gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto;
    min-height: 0;
  }

  .page-image-product .image-product-hero__frame--1,
  .page-image-product .image-product-hero__gallery--count-2 .image-product-hero__frame--2 {
    grid-column: 1 / -1;
    grid-row: auto;
    aspect-ratio: 1 / 1;
  }

  .page-image-product .image-product-hero__frame--2,
  .page-image-product .image-product-hero__frame--3 {
    aspect-ratio: 1 / 1;
  }

  .page-image-product .image-product-hero__gallery--count-2 .image-product-hero__frame--2 {
    aspect-ratio: 1 / 1;
  }

  .page-image-product .image-product-hero__status div {
    grid-template-columns: 1fr;
    gap: 0.28rem;
    align-items: start;
    min-height: 4rem;
  }

  .page-image-product .image-product-hero__actions {
    display: grid;
  }

  .page-image-product .image-product-purchase__facts {
    grid-template-columns: 1fr;
  }

  .page-image-product .image-product-specs__model > header {
    display: grid;
    gap: 0.8rem;
    min-height: 0;
  }

  .page-image-product .image-product-specs__model header > span {
    text-align: left;
  }

  .page-image-product .image-product-specs__model dl > div {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .page-image-product .image-product-profile__grid > div {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .page-image-product .image-product-related__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 22rem) {
  .page-image-product .image-product-hero h1 {
    font-size: clamp(2.15rem, 13vw, 2.75rem);
  }

  .page-image-product .image-product-hero__gallery {
    display: block;
  }

  .page-image-product .image-product-hero__frame + .image-product-hero__frame {
    margin-top: 0.55rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-image-product .image-product-hero__image,
  .page-image-product .image-product-gallery__image,
  .page-image-product .image-product-related-card__image,
  .page-image-product .image-product-button {
    transition: none;
  }

  .page-image-product .image-product-hero__link:hover .image-product-hero__image,
  .page-image-product .image-product-gallery__link:hover .image-product-gallery__image,
  .page-image-product .image-product-related-card__media:hover .image-product-related-card__image,
  .page-image-product .image-product-button--primary:hover {
    transform: none;
  }
}

@media (forced-colors: active) {
  .page-image-product .image-product-button,
  .page-image-product .image-product-hero__frame,
  .page-image-product .image-product-gallery__link,
  .page-image-product .image-product-related-card__media {
    border-color: CanvasText;
  }

  .page-image-product .image-product-status-dot {
    background: Highlight;
  }
}

/* v5.5 exhibition pass: media leads, commerce stays calm and factual. */
.page-image-product main {
  background: var(--image-product-paper);
}

.page-image-product .image-product-hero {
  grid-template-columns: minmax(0, 1.18fr) minmax(20rem, 0.82fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  min-height: 0;
  padding-block: clamp(1rem, 2vw, 2rem) clamp(3.5rem, 7vw, 6.5rem);
}

.page-image-product .image-product-hero__gallery {
  min-height: clamp(34rem, 56vw, 45rem);
}

.page-image-product .image-product-hero__frame {
  border-radius: 0.75rem;
  box-shadow: 0 1.6rem 4rem rgb(26 65 66 / 0.1);
}

.page-image-product .image-product-hero__frame--1 {
  background:
    radial-gradient(circle at 52% 42%, rgb(255 255 255 / 0.98), transparent 62%),
    var(--image-product-surface);
}

.page-image-product .image-product-hero__details {
  position: sticky;
  top: calc(var(--header-height) + 1.5rem);
  max-width: 34rem;
  padding-block: 0.4rem 1rem;
}

.page-image-product .image-product-hero h1 {
  max-width: 15ch;
  margin-top: 0;
  font-size: clamp(2.6rem, 4.2vw, 4.1rem);
  line-height: 0.98;
}

.page-image-product .image-product-hero__status {
  margin-top: clamp(1.4rem, 2.4vw, 2.1rem);
}

.page-image-product .image-product-hero__status div {
  min-height: 3rem;
  padding-block: 0.58rem;
}

.page-image-product .image-product-section-heading,
.page-image-product .image-product-section-heading--gallery {
  grid-template-columns: minmax(0, 48rem);
  gap: 1rem;
  align-items: start;
}

.page-image-product .image-product-section-heading h2 {
  max-width: 20ch;
  margin-top: 0;
  font-size: clamp(2rem, 3.6vw, 3.45rem);
}

.page-image-product .image-product-profile {
  padding-block: clamp(4.5rem, 8vw, 7.5rem);
}

.page-image-product .image-product-profile__grid {
  margin-top: clamp(2.5rem, 4vw, 4rem);
  border-bottom: 1px solid var(--image-product-line-strong);
}

.page-image-product .image-product-profile__grid > div {
  min-height: 6.5rem;
}

.page-image-product .image-product-profile__grid dt {
  display: block;
  color: var(--image-product-lake-dark);
}

.page-image-product .image-product-profile__grid dd {
  font-family: var(--font-body);
  font-size: clamp(1rem, 1.45vw, 1.25rem);
  font-weight: 610;
  line-height: 1.45;
}

.page-image-product .image-product-gallery {
  padding-block: clamp(4.5rem, 8vw, 7.5rem);
  background: var(--image-product-surface);
}

.page-image-product .image-product-gallery__grid {
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
}

.page-image-product .image-product-gallery__link {
  border-radius: 0.75rem;
  box-shadow: none;
}

.page-image-product .image-product-gallery__item figcaption {
  display: block;
  max-width: 62ch;
  margin-top: 0.75rem;
}

.page-image-product .image-product-evidence {
  border-block: 1px solid var(--image-product-line);
  background: var(--image-product-mist-strong);
  color: var(--image-product-ink);
}

.page-image-product .image-product-evidence__intro h2 {
  max-width: 18ch;
  margin-top: 0;
  font-size: clamp(2rem, 3.5vw, 3.4rem);
}

.page-image-product .image-product-evidence__intro > p:last-child,
.page-image-product .image-product-evidence__column li {
  color: var(--image-product-copy);
}

.page-image-product .image-product-evidence__column {
  border-top-color: var(--image-product-line-strong);
}

.page-image-product .image-product-evidence__column li {
  border-bottom-color: var(--image-product-line);
}

.page-image-product .image-product-evidence__column--confirmed li::before {
  background: var(--image-product-lake);
  color: var(--image-product-lake);
}

.page-image-product .image-product-evidence__column--pending li::before {
  color: var(--image-product-coral);
}

.page-image-product .image-product-related__grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
  grid-template-rows: repeat(2, minmax(0, auto));
  gap: 1rem;
}

.page-image-product .image-product-related-card {
  display: grid;
  min-height: 0;
  overflow: hidden;
  border: 1px solid var(--image-product-line);
  border-radius: 0.75rem;
  background: var(--image-product-surface);
}

.page-image-product .image-product-related-card:first-child {
  grid-row: 1 / span 2;
  grid-template-rows: minmax(0, 1fr) auto;
}

.page-image-product .image-product-related-card:not(:first-child) {
  grid-template-columns: minmax(9rem, 0.82fr) minmax(0, 1.18fr);
}

.page-image-product .image-product-related-card__media {
  height: 100%;
  margin-top: 0;
  border: 0;
  background: var(--image-product-mist);
}

.page-image-product .image-product-related-card:first-child .image-product-related-card__media {
  aspect-ratio: auto;
  min-height: 28rem;
}

.page-image-product .image-product-related-card:not(:first-child) .image-product-related-card__media {
  aspect-ratio: auto;
  min-height: 13rem;
}

.page-image-product .image-product-related-card > div {
  align-content: center;
  padding: 1.2rem;
}

.page-image-product .image-product-related-card h3 {
  font-size: clamp(1.2rem, 2vw, 1.8rem);
}

.page-image-product .image-product-service {
  border-top: 1px solid var(--image-product-line);
  background: var(--image-product-mist);
}

@media (max-width: 56rem) {
  .page-image-product .image-product-hero__details {
    position: static;
    max-width: 46rem;
  }

  .page-image-product .image-product-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }

  .page-image-product .image-product-related-card:first-child {
    grid-row: auto;
  }

  .page-image-product .image-product-related-card:not(:first-child) {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) auto;
  }

  .page-image-product .image-product-related-card:first-child .image-product-related-card__media,
  .page-image-product .image-product-related-card:not(:first-child) .image-product-related-card__media {
    min-height: 18rem;
  }
}

@media (max-width: 39.99rem) {
  .page-image-product .image-product-hero__gallery {
    min-height: 0;
  }

  .page-image-product .image-product-hero h1 {
    font-size: clamp(2.2rem, 11vw, 3.15rem);
  }

  .page-image-product .image-product-related__grid {
    grid-template-columns: 1fr;
  }

  .page-image-product .image-product-related-card:first-child .image-product-related-card__media,
  .page-image-product .image-product-related-card:not(:first-child) .image-product-related-card__media {
    min-height: 16rem;
  }
}

@media (hover: hover) and (pointer: fine) {
  .page-image-product [data-exhibit-tilt] {
    transition: border-color 220ms var(--ease-out), box-shadow 220ms var(--ease-out), transform 220ms var(--ease-out);
  }

  .page-image-product [data-exhibit-tilt]:hover {
    border-color: var(--image-product-line-strong);
    box-shadow: 0 1.3rem 3rem rgb(26 65 66 / 0.12);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-image-product [data-exhibit-tilt] {
    transition: none !important;
    transform: none !important;
  }
}

@media (forced-colors: active) {
  .page-image-product .image-product-evidence,
  .page-image-product .image-product-related-card,
  .page-image-product .image-product-service,
  .page-image-product .image-product-purchase__facts > div {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
  }
}

/* collection-v1.css */
.page-collection {
  --collection-paper: #f7f5ef;
  --collection-surface: #fffdf8;
  --collection-mist: #e6efec;
  --collection-warm: #efe1d2;
  --collection-ink: var(--color-ink, #15343d);
  --collection-copy: var(--color-text, #34535a);
  --collection-lake: #235c66;
  overflow-x: clip;
  background:
    radial-gradient(circle at 8% 2%, rgb(218 233 229 / 0.68), transparent 26rem),
    var(--collection-paper);
}

.catalogue-seo-collections {
  display: grid;
  grid-template-columns: minmax(16rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(2rem, 6vw, 6rem);
  padding-block: clamp(3.5rem, 7vw, 6rem);
  border-top: 1px solid rgb(21 52 61 / 20%);
}

.catalogue-seo-collections header {
  max-width: 34rem;
}

.catalogue-seo-collections h2 {
  margin: 0 0 0.85rem;
  color: var(--collection-ink);
  font-size: clamp(2rem, 3.3vw, 3.35rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.catalogue-seo-collections header p {
  margin: 0;
  color: var(--collection-copy);
  line-height: 1.65;
}

.catalogue-seo-collections__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  align-content: start;
}

.catalogue-seo-collections__list a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.25rem 1rem;
  align-content: center;
  min-height: 5rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgb(21 52 61 / 18%);
  border-radius: 0.7rem;
  background: rgb(255 253 248 / 0.72);
  color: var(--collection-ink);
  text-decoration: none;
  transition:
    border-color 180ms ease-out,
    background-color 180ms ease-out,
    transform 180ms ease-out;
}

.catalogue-seo-collections__list a::after {
  grid-column: 2;
  grid-row: 1 / 3;
  width: 0.6rem;
  height: 0.6rem;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  content: '';
  transform: rotate(45deg);
  transition: transform 180ms ease-out;
}

.catalogue-seo-collections__list a:hover,
.catalogue-seo-collections__list a:focus-visible {
  border-color: rgb(35 92 102 / 52%);
  background: var(--collection-mist);
  transform: translateY(-0.12rem);
}

.catalogue-seo-collections__list a:hover::after,
.catalogue-seo-collections__list a:focus-visible::after {
  transform: translateX(0.2rem) rotate(45deg);
}

.catalogue-seo-collections__list span {
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  font-weight: 750;
}

.catalogue-seo-collections__list small {
  grid-column: 1;
  color: #5b777b;
}

.collection-hero {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  padding-block: clamp(2.25rem, 5vw, 5rem);
}

.collection-hero__copy {
  z-index: 2;
  grid-column: 8 / -1;
  grid-row: 1;
  max-width: 38rem;
  padding: clamp(1.5rem, 3.2vw, 3rem);
  border: 1px solid rgb(21 52 61 / 15%);
  border-radius: 1rem;
  background: rgb(255 253 248 / 0.94);
  box-shadow: 0 1.5rem 4rem rgb(21 52 61 / 0.12);
}

.collection-hero__eyebrow {
  margin: 0 0 0.8rem;
  color: #5b777b;
  font-family: var(--font-mono, monospace);
  font-size: 0.69rem;
  font-weight: 750;
  letter-spacing: 0.12em;
  line-height: 1.45;
}

.collection-hero h1 {
  max-width: 14ch;
  margin: 0 0 1rem;
  color: var(--collection-ink);
  font-size: clamp(2.15rem, 3.7vw, 3.65rem);
  line-height: 1;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.collection-hero__copy > p:not(.collection-hero__eyebrow) {
  max-width: 60ch;
  margin: 0;
  color: var(--collection-copy);
  font-size: clamp(0.96rem, 1.15vw, 1.08rem);
  line-height: 1.68;
}

.collection-hero__actions,
.collection-product__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1.05rem;
  margin-top: 1.35rem;
}

.collection-hero__actions > a:not(.button),
.collection-product__actions > a:not(.button) {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--collection-lake);
  font-size: 0.86rem;
  font-weight: 720;
  text-underline-offset: 0.32em;
}

.collection-hero__media {
  --exhibit-rotate-x: 0deg;
  --exhibit-rotate-y: 0deg;
  position: relative;
  grid-column: 1 / 9;
  grid-row: 1;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  border-radius: 1.1rem;
  background: var(--collection-mist);
  box-shadow: 0 1.5rem 4rem rgb(21 52 61 / 0.13);
  transform: perspective(85rem) rotateX(var(--exhibit-rotate-x)) rotateY(var(--exhibit-rotate-y));
  transform-style: preserve-3d;
}

.collection-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.collection-hero__media figcaption {
  position: absolute;
  inset: auto 0.85rem 0.85rem;
  width: fit-content;
  max-width: calc(100% - 1.7rem);
  padding: 0.55rem 0.72rem;
  border: 1px solid rgb(255 255 255 / 52%);
  border-radius: 0.45rem;
  background: rgb(255 253 248 / 0.9);
  color: var(--collection-ink);
  font-size: 0.76rem;
  backdrop-filter: blur(0.5rem);
}

.collection-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.72fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
  padding-block: clamp(3rem, 6vw, 5.5rem) clamp(1.75rem, 3vw, 2.75rem);
  border-top: 1px solid rgb(21 52 61 / 20%);
}

.collection-intro h2 {
  margin: 0 0 0.75rem;
  color: var(--collection-ink);
  font-size: clamp(1.9rem, 3.1vw, 3.1rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.collection-intro p {
  max-width: 68ch;
  margin: 0;
  color: var(--collection-copy);
  font-size: 0.94rem;
  line-height: 1.65;
}

.collection-intro > p {
  padding: 1rem 0 0 1.25rem;
  border-top: 1px solid rgb(21 52 61 / 20%);
}

.collection-intro > p strong {
  display: inline-block;
  margin-right: 0.55rem;
  color: var(--collection-ink);
  font: 400 clamp(1.8rem, 2.8vw, 2.75rem)/1 var(--font-serif, serif);
  font-variant-numeric: tabular-nums;
}

.collection-intro__evidence span {
  color: var(--collection-copy);
}

.collection-intro__evidence br + strong {
  margin-top: 0.7rem;
  font-family: var(--font-sans, sans-serif);
  font-size: 0.92rem;
  font-weight: 800;
}

.collection-products {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(0.9rem, 1.5vw, 1.4rem);
  padding-bottom: clamp(4rem, 7vw, 7rem);
  border-top: 1px solid rgb(21 52 61 / 20%);
}

.collection-product {
  --exhibit-rotate-x: 0deg;
  --exhibit-rotate-y: 0deg;
  position: relative;
  display: flex;
  grid-column: span 6;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid rgb(21 52 61 / 15%);
  border-radius: 1rem;
  background: rgb(255 253 248 / 0.9);
  box-shadow: 0 1rem 2.75rem rgb(21 52 61 / 0);
  transform: perspective(75rem) rotateX(var(--exhibit-rotate-x)) rotateY(var(--exhibit-rotate-y));
  transform-style: preserve-3d;
  transition:
    border-color 200ms ease-out,
    box-shadow 260ms ease-out,
    transform 260ms ease-out;
}

.collection-product:nth-child(1) { grid-column: span 8; }
.collection-product:nth-child(2) { grid-column: span 4; }
.collection-product:nth-child(3) { grid-column: span 5; }
.collection-product:nth-child(4) { grid-column: span 7; }
.collection-product:nth-child(5) { grid-column: span 7; }
.collection-product:nth-child(6) { grid-column: span 5; }
.collection-product:nth-child(7) { grid-column: span 12; }

.collection-product:hover,
.collection-product:focus-within {
  border-color: rgb(35 92 102 / 45%);
  box-shadow: 0 1.4rem 3.25rem rgb(21 52 61 / 0.11);
  transform: perspective(75rem) translateY(-0.2rem) rotateX(var(--exhibit-rotate-x)) rotateY(var(--exhibit-rotate-y));
}

.collection-product__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: var(--collection-mist);
}

.collection-product:nth-child(2) .collection-product__media {
  aspect-ratio: 4 / 5;
}

.collection-product:nth-child(7) .collection-product__media {
  aspect-ratio: 2 / 1;
}

.collection-product__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 520ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.collection-product:hover .collection-product__image,
.collection-product:focus-within .collection-product__image {
  transform: scale(1.025);
}

.collection-product__copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(1rem, 1.7vw, 1.45rem);
}

.collection-product__copy > p:first-child {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: flex-start;
  margin: 0 0 0.65rem;
  color: #5b777b;
  font: 750 0.7rem/1.35 var(--font-mono, monospace);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.collection-product h2 {
  margin: 0 0 0.85rem;
  color: var(--collection-ink);
  font-size: clamp(1.45rem, 2.25vw, 2.25rem);
  line-height: 1.03;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.collection-product:nth-child(2) h2 {
  font-size: clamp(1.3rem, 1.75vw, 1.75rem);
}

.collection-product h2 a {
  color: inherit;
  text-decoration: none;
}

.collection-product h2 a:hover,
.collection-product h2 a:focus-visible {
  text-decoration: underline;
  text-decoration-thickness: 0.07em;
  text-underline-offset: 0.18em;
}

.collection-product__copy > p:not(:first-child) {
  color: var(--collection-copy);
  font-size: 0.9rem;
  line-height: 1.62;
}

.collection-product__models {
  display: grid;
  gap: 0.25rem;
  margin: 0 0 0.75rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid rgb(21 52 61 / 15%);
}

.collection-product__models span {
  color: #5b777b;
  font-size: 0.72rem;
}

.collection-product__models strong {
  color: var(--collection-ink);
  font-size: 0.84rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.45;
}

.collection-product__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 1rem 0 0;
  border-top: 1px solid rgb(21 52 61 / 15%);
  border-left: 1px solid rgb(21 52 61 / 15%);
}

.collection-product__facts div {
  min-width: 0;
  padding: 0.7rem 0.75rem;
  border-right: 1px solid rgb(21 52 61 / 15%);
  border-bottom: 1px solid rgb(21 52 61 / 15%);
}

.collection-product__facts dt,
.collection-product__facts dd {
  margin: 0;
}

.collection-product__facts dt {
  margin-bottom: 0.28rem;
  color: #5b777b;
  font-size: 0.68rem;
}

.collection-product__facts dd {
  color: var(--collection-ink);
  font-size: 0.79rem;
  font-weight: 720;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.collection-product__mapping-note {
  margin: 1rem 0 0;
  padding: 0.75rem 0.85rem;
  border-left: 2px solid #b5765d;
  background: rgb(181 118 93 / 7%);
  color: var(--collection-copy);
  font-size: 0.8rem;
  line-height: 1.55;
}

.collection-product__price-basis {
  display: grid;
  grid-template-columns: 5.25rem minmax(0, 1fr);
  gap: 0.8rem;
  align-items: baseline;
  margin: 0.8rem 0 0;
  padding: 0.7rem 0;
  border-bottom: 1px solid rgb(21 52 61 / 15%);
}

.collection-product__price-basis span {
  color: #5b777b;
  font-size: 0.72rem;
}

.collection-product__price-basis strong {
  color: var(--collection-ink);
  font-size: 0.82rem;
  line-height: 1.45;
}

.collection-product__actions {
  margin-top: auto;
  padding-top: 1rem;
}

.collection-products[data-product-count="1"] .collection-product {
  display: grid;
  grid-column: span 12;
  grid-template-columns: minmax(0, 1.2fr) minmax(20rem, 0.8fr);
  align-items: stretch;
}

.collection-products[data-product-count="1"] .collection-product__media {
  aspect-ratio: 4 / 3;
}

.collection-boundary {
  position: relative;
  margin-block: clamp(1rem, 3vw, 3rem) clamp(3rem, 6vw, 6rem);
}

.collection-boundary::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(135deg, var(--collection-warm), var(--collection-mist));
  content: '';
}

.collection-boundary__inner {
  display: grid;
  grid-template-columns: minmax(15rem, 0.62fr) minmax(0, 1.38fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  padding-block: clamp(3rem, 5vw, 5rem);
}

.collection-boundary h2 {
  max-width: 17ch;
  margin: 0;
  color: var(--collection-ink);
  font-size: clamp(1.95rem, 3.1vw, 3.1rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.collection-boundary dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  margin: 0;
}

.collection-boundary dl div {
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgb(21 52 61 / 16%);
  border-radius: 0.65rem;
  background: rgb(255 253 248 / 0.62);
}

.collection-boundary dt {
  margin-bottom: 0.35rem;
  color: var(--collection-ink);
  font-size: 0.86rem;
  font-weight: 800;
}

.collection-boundary dd {
  margin: 0;
  color: var(--collection-copy);
  font-size: 0.82rem;
  line-height: 1.55;
}

.collection-boundary .button {
  grid-column: 2;
  width: fit-content;
}

@media (max-width: 64rem) {
  .catalogue-seo-collections,
  .collection-boundary__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .collection-hero__media {
    grid-column: 1 / 8;
  }

  .collection-hero__copy {
    grid-column: 7 / -1;
  }

  .collection-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .collection-product,
  .collection-product:nth-child(n) {
    grid-column: span 1;
  }

  .collection-product--featured {
    grid-column: span 2 !important;
  }

  .collection-product:nth-child(2) .collection-product__media,
  .collection-product:nth-child(7) .collection-product__media {
    aspect-ratio: 3 / 2;
  }

  .collection-products[data-product-count="1"] .collection-product {
    grid-column: span 2;
  }

  .collection-boundary .button {
    grid-column: auto;
  }
}

@media (max-width: 48rem) {
  .catalogue-seo-collections__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .collection-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding-top: 2rem;
  }

  .collection-hero__media {
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: 4 / 3;
    border-radius: 0.85rem 0.85rem 0 0;
  }

  .collection-hero__copy {
    grid-column: 1;
    grid-row: 2;
    max-width: none;
    border-top: 0;
    border-radius: 0 0 0.85rem 0.85rem;
    box-shadow: 0 1rem 2.5rem rgb(21 52 61 / 0.08);
  }

  .collection-intro {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
  }

  .collection-products[data-product-count="1"] .collection-product {
    display: flex;
    grid-column: auto;
  }

  .collection-boundary dl {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 39.99rem) {
  .collection-products {
    grid-template-columns: minmax(0, 1fr);
  }

  .collection-product,
  .collection-product:nth-child(n),
  .collection-product--featured {
    grid-column: auto !important;
  }

  .collection-product__media,
  .collection-product:nth-child(2) .collection-product__media,
  .collection-product:nth-child(7) .collection-product__media {
    aspect-ratio: 4 / 3;
  }

  .collection-product__facts {
    grid-template-columns: minmax(0, 1fr);
  }

  .collection-hero__actions,
  .collection-product__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .collection-hero__actions > a,
  .collection-product__actions > a {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 23.49rem) {
  .collection-hero__copy,
  .collection-product__copy,
  .collection-boundary dl div {
    padding-inline: 0.9rem;
  }

  .collection-product__price-basis {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .catalogue-seo-collections__list a,
  .catalogue-seo-collections__list a::after,
  .collection-product,
  .collection-product__image {
    transition: none;
  }

  .collection-hero__media,
  .collection-product,
  .collection-product:hover,
  .collection-product:focus-within {
    transform: none;
  }
}

@media (prefers-contrast: more) {
  .page-collection {
    --collection-copy: #23454d;
  }
}

@media (forced-colors: active) {
  .catalogue-seo-collections__list a,
  .collection-hero__copy,
  .collection-hero__media,
  .collection-product,
  .collection-product__facts,
  .collection-product__facts div,
  .collection-boundary dl div {
    border-color: CanvasText;
  }
}

/* shell-v8.css */
/* TY Audio v5.3.7 shell: one premium navigation system and a factual two-tier footer. */

:root {
  --header-height: 4.75rem;
  --shell-v8-ink: #14333d;
  --shell-v8-copy: #4b666d;
  --shell-v8-paper: #f7f9f7;
  --shell-v8-paper-strong: #fcfdfb;
  --shell-v8-mist: #e5eeeb;
  --shell-v8-mist-deep: #d7e4e0;
  --shell-v8-line: rgb(20 51 61 / 0.16);
  --shell-v8-line-strong: rgb(20 51 61 / 0.34);
  --shell-v8-accent: #2b6572;
  --shell-v8-accent-deep: #194752;
}

.site-header.site-header {
  height: var(--header-height);
  border-bottom: 1px solid var(--shell-v8-line);
  background: rgb(247 249 247 / 0.98);
  color: var(--shell-v8-ink);
  box-shadow: 0 0.4rem 1.5rem rgb(18 47 56 / 0.045);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

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

.site-header .site-header__inner {
  grid-template-columns: minmax(9.5rem, 1fr) auto minmax(9.5rem, 1fr);
  gap: clamp(0.75rem, 1.6vw, 1.75rem);
  min-height: var(--header-height);
}

.site-header .brand {
  min-height: 2.75rem;
  color: var(--shell-v8-ink);
}

.site-header .brand__text {
  gap: 0.7rem;
}

.site-header .brand__text strong {
  color: inherit;
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 760;
  letter-spacing: 0.18em;
}

.site-header .brand__text small {
  margin: 0;
  padding-inline-start: 0.7rem;
  border-inline-start: 1px solid var(--shell-v8-line-strong);
  color: var(--shell-v8-copy);
  font-family: var(--font-body);
  font-size: 0.65rem;
  font-weight: 650;
  letter-spacing: 0.15em;
}

.site-header .primary-nav {
  position: static;
  inset: auto;
  display: flex;
  width: fit-content;
  max-width: 100%;
  height: auto;
  max-height: none;
  min-height: 2.75rem;
  align-items: center;
  justify-self: center;
  justify-content: center;
  gap: clamp(0.15rem, 0.45vw, 0.45rem);
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.site-header .primary-nav a,
.site-header .primary-nav .primary-nav__link {
  position: relative;
  display: inline-grid;
  min-height: 2.75rem;
  padding: 0.5rem clamp(0.5rem, 0.75vw, 0.78rem);
  place-items: center;
  border: 0;
  border-radius: 0.25rem;
  background: transparent;
  color: var(--shell-v8-copy);
  font-family: var(--font-body);
  font-size: 0.79rem;
  font-weight: 690;
  letter-spacing: 0.035em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: color 180ms var(--ease-out), background-color 180ms var(--ease-out);
}

.site-header .primary-nav a::after {
  position: absolute;
  right: 0.62rem;
  bottom: 0.22rem;
  left: 0.62rem;
  height: 2px;
  background: var(--shell-v8-accent);
  content: "";
  opacity: 0;
  transform: scaleX(0.3);
  transform-origin: center;
  transition: opacity 180ms var(--ease-out), transform 180ms var(--ease-out);
}

.site-header .primary-nav a:hover,
.site-header .primary-nav a[aria-current="page"],
.site-header .primary-nav a.is-parent-active {
  background: transparent;
  color: var(--shell-v8-ink);
  box-shadow: none;
}

.site-header .primary-nav a:hover::after,
.site-header .primary-nav a[aria-current="page"]::after,
.site-header .primary-nav a.is-parent-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.site-header .primary-nav__mobile-action {
  display: none !important;
}

.site-header .site-header__tools {
  min-width: 0;
  justify-self: end;
  gap: 0.45rem;
}

.site-header .market-switcher__trigger,
.site-header .header-action,
.site-header .nav-toggle {
  min-height: 2.75rem;
  border-radius: 0.3rem;
}

.site-header .market-switcher__trigger {
  gap: 0.32rem;
  padding-inline: 0.78rem;
  border: 1px solid transparent;
  background: transparent;
  color: var(--shell-v8-ink);
  font-size: 0.76rem;
  font-weight: 720;
  letter-spacing: 0.055em;
}

.site-header .market-switcher__trigger:hover,
.site-header .market-switcher.is-open .market-switcher__trigger {
  border-color: var(--shell-v8-line);
  background: var(--shell-v8-mist);
  color: var(--shell-v8-accent-deep);
}

.site-header .market-switcher__separator {
  color: var(--shell-v8-copy);
  font-weight: 400;
}

.site-header .header-action {
  padding-inline: 1.15rem;
  border: 1px solid var(--shell-v8-accent-deep);
  background: var(--shell-v8-accent-deep);
  color: #f8fbfa;
  font-size: 0.76rem;
  font-weight: 740;
  letter-spacing: 0.07em;
  box-shadow: none;
  transition: border-color 180ms var(--ease-out), background-color 180ms var(--ease-out), color 180ms var(--ease-out);
}

.site-header .header-action:hover {
  border-color: var(--shell-v8-accent);
  background: var(--shell-v8-accent);
  color: #fff;
  transform: none;
}

.site-header .nav-toggle {
  display: none;
  grid-template-columns: auto 1rem;
  gap: 0.55rem;
  padding-inline: 0.76rem;
  border: 1px solid var(--shell-v8-line);
  background: transparent;
  color: var(--shell-v8-ink);
}

.site-header .nav-toggle:hover {
  border-color: var(--shell-v8-line-strong);
  background: var(--shell-v8-mist);
  color: var(--shell-v8-accent-deep);
}

.site-header .market-switcher__panel {
  border: 1px solid var(--shell-v8-line);
  border-radius: 0.75rem;
  background: var(--shell-v8-paper-strong);
  color: var(--shell-v8-ink);
  box-shadow: 0 1.25rem 3.5rem rgb(18 47 56 / 0.16);
}

/* The home header keeps the dusk scene, while preserving the same geometry and states. */

.page-home-v20 .site-header.site-header {
  border-bottom-color: rgb(212 244 245 / 0.2);
  background: rgb(11 23 37 / 0.985);
  color: var(--home-light);
  box-shadow: 0 0.5rem 1.75rem rgb(3 10 18 / 0.18);
}

.page-home-v20 .site-header .brand,
.page-home-v20 .site-header .brand__text strong {
  color: var(--home-light);
}

.page-home-v20 .site-header .brand__text small {
  border-inline-start-color: rgb(212 244 245 / 0.3);
  color: rgb(212 244 245 / 0.72);
}

.page-home-v20 .site-header .primary-nav a,
.page-home-v20 .site-header .primary-nav .primary-nav__link {
  color: rgb(246 251 250 / 0.76);
}

.page-home-v20 .site-header .primary-nav a:hover,
.page-home-v20 .site-header .primary-nav a[aria-current="page"],
.page-home-v20 .site-header .primary-nav a.is-parent-active {
  color: var(--home-light);
}

.page-home-v20 .site-header .primary-nav a::after {
  background: var(--home-ice);
}

.page-home-v20 .site-header .market-switcher__trigger,
.page-home-v20 .site-header .nav-toggle {
  border-color: transparent;
  background: transparent;
  color: var(--home-light);
}

.page-home-v20 .site-header .market-switcher__trigger:hover,
.page-home-v20 .site-header .market-switcher.is-open .market-switcher__trigger,
.page-home-v20 .site-header .nav-toggle:hover {
  border-color: rgb(212 244 245 / 0.26);
  background: rgb(145 216 221 / 0.12);
  color: var(--home-ice-bright);
}

.page-home-v20 .site-header .market-switcher__separator {
  color: rgb(212 244 245 / 0.58);
}

.page-home-v20 .site-header .header-action {
  border-color: var(--home-ice);
  background: var(--home-ice);
  color: #0a1c28;
}

.page-home-v20 .site-header .header-action:hover {
  border-color: var(--home-ice-bright);
  background: var(--home-ice-bright);
  color: #071722;
}

.page-home-v20 .site-header :where(a, button):focus-visible {
  outline-color: var(--home-ice-bright);
}

.page-home-v20 .market-switcher__panel :where(a, button, select):focus-visible,
.page-home-v20 .site-footer :where(a, button):focus-visible {
  outline-color: var(--focus);
}

/* A compact service-oriented footer. Every destination exists in the current site. */

.site-footer.site-footer {
  margin-top: 0;
  border-top: 1px solid var(--shell-v8-line);
  background: var(--shell-v8-mist);
  color: var(--shell-v8-ink);
}

.site-footer .site-footer__action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem clamp(2rem, 6vw, 7rem);
  align-items: center;
  padding-block: clamp(2rem, 3.4vw, 3.25rem);
  border-bottom: 1px solid var(--shell-v8-line);
}

.site-footer__action h2,
.site-footer__action p {
  margin: 0;
}

.site-footer__action h2 {
  max-width: 25ch;
  color: var(--shell-v8-ink);
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 2.4vw, 2.5rem);
  font-weight: 460;
  letter-spacing: -0.03em;
  line-height: 1.1;
  text-wrap: balance;
}

.site-footer__action p {
  max-width: 55ch;
  margin-top: 0.7rem;
  color: var(--shell-v8-copy);
  font-size: 0.9rem;
  line-height: 1.65;
}

.site-footer.site-footer a.site-footer__inquiry {
  display: inline-grid;
  min-width: 8.75rem;
  min-height: 2.75rem;
  padding: 0.72rem 1.2rem;
  place-items: center;
  border: 1px solid var(--shell-v8-accent-deep);
  border-radius: 0.3rem;
  background: var(--shell-v8-accent-deep);
  color: #f8fbfa !important;
  font-size: 0.78rem;
  font-weight: 740;
  letter-spacing: 0.055em;
  line-height: 1;
  text-decoration: none;
}

.site-footer.site-footer a.site-footer__inquiry:hover {
  border-color: var(--shell-v8-accent);
  background: var(--shell-v8-accent);
  color: #fff !important;
}

.site-footer .site-footer__body {
  display: grid;
  grid-template-columns: minmax(15rem, 1.7fr) minmax(9rem, 0.7fr) minmax(9rem, 0.7fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: start;
  padding-block: clamp(2.25rem, 4vw, 4rem);
}

.site-footer__identity {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
}

.site-footer__brand {
  display: inline-flex;
  width: fit-content;
  min-height: 2.75rem;
  align-items: center;
  color: var(--shell-v8-ink);
  font-size: 1rem;
  font-weight: 760;
  letter-spacing: 0.18em;
  line-height: 1;
  text-decoration: none;
}

.site-footer__identity p {
  max-width: 31ch;
  margin: 0;
  color: var(--shell-v8-copy);
  font-size: 0.88rem;
  line-height: 1.65;
}

.site-footer .site-footer__nav {
  display: grid;
  min-width: 0;
  gap: 0.65rem;
  align-items: start;
  justify-content: stretch;
}

.site-footer__nav h3 {
  margin: 0;
  color: var(--shell-v8-copy);
  font-family: var(--font-body);
  font-size: 0.76rem;
  font-weight: 720;
  letter-spacing: 0.08em;
  line-height: 1.2;
}

.site-footer .site-footer__nav ul {
  display: grid;
  gap: 0.05rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer .site-footer__nav a {
  display: inline-flex;
  width: fit-content;
  min-height: 2.75rem;
  align-items: center;
  padding: 0;
  color: var(--shell-v8-ink);
  font-size: 0.88rem;
  font-weight: 610;
  letter-spacing: 0;
  text-decoration-color: transparent;
  text-underline-offset: 0.3rem;
}

.site-footer .site-footer__nav a:hover,
.site-footer .site-footer__nav a[aria-current="page"] {
  color: var(--shell-v8-accent-deep);
  text-decoration-color: currentColor;
}

.site-footer .site-footer__facts {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem 2rem;
  align-items: center;
  padding-block: 1rem 1.2rem;
  border-top: 1px solid var(--shell-v8-line);
}

.site-footer .site-footer__facts p,
.site-footer .site-footer__facts p:first-child {
  display: block;
  grid-column: auto;
  margin: 0;
  color: var(--shell-v8-copy);
  font-size: 0.76rem;
  line-height: 1.65;
}

.site-footer .site-footer__facts p > * + * {
  margin-inline-start: 0.2rem;
}

.site-footer .site-footer__facts a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--shell-v8-ink);
  font-size: 0.78rem;
  font-weight: 670;
  text-decoration-color: transparent;
  text-underline-offset: 0.3rem;
}

.site-footer .site-footer__facts a:hover {
  color: var(--shell-v8-accent-deep);
  text-decoration-color: currentColor;
}

@media (max-width: 72rem) {
  .site-header .brand__text small {
    display: none;
  }

  .site-header .primary-nav a,
  .site-header .primary-nav .primary-nav__link {
    padding-inline: 0.5rem;
  }
}

@media (max-width: 63.99rem) {
  html.has-open-navigation {
    overflow: hidden;
  }

  .site-header .site-header__inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .site-header .site-header__tools {
    grid-column: 3;
  }

  .site-header .header-action {
    display: none;
  }

  html.js .site-header .primary-nav,
  html.js .site-header .primary-nav.is-open {
    position: fixed;
    z-index: calc(var(--z-header) + 1);
    inset: var(--header-height) 0 0;
    width: 100%;
    height: calc(100dvh - var(--header-height));
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: clamp(1.25rem, 5vw, 3rem) var(--gutter) max(2rem, env(safe-area-inset-bottom));
    border: 0;
    border-top: 1px solid var(--shell-v8-line);
    border-radius: 0;
    background: var(--shell-v8-paper-strong);
    box-shadow: none;
  }

  html.js .site-header .primary-nav {
    display: none;
  }

  html.js .site-header .primary-nav.is-open {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 0;
  }

  html.js .site-header .primary-nav a,
  html.js .site-header .primary-nav .primary-nav__link {
    min-height: 4.15rem;
    justify-items: start;
    padding: 0.85rem 0.15rem;
    border: 0;
    border-bottom: 1px solid var(--shell-v8-line);
    border-radius: 0;
    background: transparent;
    color: var(--shell-v8-ink);
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 4.4vw, 2rem);
    font-weight: 460;
    letter-spacing: -0.025em;
    line-height: 1.1;
  }

  html.js .site-header .primary-nav a::after {
    content: none;
  }

  html.js .site-header .primary-nav a:hover,
  html.js .site-header .primary-nav a[aria-current="page"],
  html.js .site-header .primary-nav a.is-parent-active {
    background: transparent;
    color: var(--shell-v8-accent-deep);
    box-shadow: none;
  }

  html.js .site-header .primary-nav .primary-nav__mobile-action {
    display: grid !important;
    min-height: 3.25rem;
    margin-top: 1.5rem;
    padding: 0.75rem 1rem;
    place-items: center;
    border: 1px solid var(--shell-v8-accent-deep);
    border-radius: 0.3rem;
    background: var(--shell-v8-accent-deep);
    color: #fff;
    font-family: var(--font-body);
    font-size: 0.82rem;
    font-weight: 740;
    letter-spacing: 0.07em;
  }

  html.js .site-header .nav-toggle {
    display: grid;
  }

  html.js .page-home-v20 .site-header .primary-nav,
  html.js .page-home-v20 .site-header .primary-nav.is-open {
    border-top-color: rgb(212 244 245 / 0.2);
    background: #0b1725;
  }

  html.js .page-home-v20 .site-header .primary-nav a,
  html.js .page-home-v20 .site-header .primary-nav .primary-nav__link {
    border-bottom-color: rgb(212 244 245 / 0.18);
    color: rgb(246 251 250 / 0.84);
  }

  html.js .page-home-v20 .site-header .primary-nav a:hover,
  html.js .page-home-v20 .site-header .primary-nav a[aria-current="page"],
  html.js .page-home-v20 .site-header .primary-nav a.is-parent-active {
    color: var(--home-ice-bright);
  }

  html.js .page-home-v20 .site-header .primary-nav .primary-nav__mobile-action {
    border-color: var(--home-ice);
    background: var(--home-ice);
    color: #0a1c28;
  }

  html:not(.js) .site-header.site-header {
    position: static;
    height: auto;
  }

  html:not(.js) .site-header .site-header__inner {
    grid-template-columns: 1fr;
    height: auto;
    padding-block: 0.75rem;
  }

  html:not(.js) .site-header .primary-nav {
    width: 100%;
    flex-wrap: wrap;
    justify-self: stretch;
  }
}

@media (max-width: 47.99rem) {
  :root {
    --header-height: 4.25rem;
  }

  .site-header .site-header__inner {
    min-height: var(--header-height);
    padding-inline: 1rem;
  }

  .site-header .nav-toggle__label {
    display: none;
  }

  .site-header .nav-toggle {
    width: 2.75rem;
    min-width: 2.75rem;
    grid-template-columns: 1rem;
    padding-inline: 0;
  }

  .site-footer .site-footer__action,
  .site-footer .site-footer__body,
  .site-footer .site-footer__facts {
    grid-template-columns: minmax(0, 1fr);
  }

  .site-footer .site-footer__action {
    align-items: start;
  }

  .site-footer.site-footer a.site-footer__inquiry {
    width: 100%;
  }

  .site-footer .site-footer__body {
    gap: 2rem;
  }

  .site-footer .site-footer__facts {
    gap: 0.35rem;
    align-items: start;
  }
}

@media (max-width: 23rem) {
  .site-header .brand__text strong {
    font-size: 0.78rem;
    letter-spacing: 0.13em;
  }

  .site-header .site-header__tools {
    gap: 0.25rem;
  }

  .site-header .market-switcher__trigger {
    padding-inline: 0.55rem;
    font-size: 0.68rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .primary-nav a,
  .site-header .header-action,
  .site-header .market-switcher__trigger,
  .site-header .nav-toggle,
  .site-footer a {
    transition-duration: 0.01ms;
  }
}

@media (forced-colors: active) {
  .site-header .market-switcher__trigger,
  .site-header .nav-toggle,
  .site-header .header-action,
  .site-footer .site-footer__inquiry {
    border: 1px solid ButtonText;
  }

  .site-header .primary-nav a[aria-current="page"],
  .site-header .primary-nav a.is-parent-active,
  .site-footer .site-footer__nav a[aria-current="page"] {
    text-decoration: underline;
  }
}

/* exhibition-v1.css */
/* v5.5: shared exhibition choreography for catalogue, product, brand and service surfaces. */

::selection {
  background: #276675;
  color: #fffaf0;
}

html {
  scrollbar-color: #56747b #eef3f0;
  scrollbar-width: thin;
}

@media (prefers-reduced-motion: no-preference) {
  main.exhibition-motion-ready [data-exhibit-reveal] {
    opacity: 0.001;
    transition:
      opacity 620ms cubic-bezier(0.16, 1, 0.3, 1) var(--exhibit-delay, 0ms),
      transform 760ms cubic-bezier(0.16, 1, 0.3, 1) var(--exhibit-delay, 0ms),
      clip-path 820ms cubic-bezier(0.16, 1, 0.3, 1) var(--exhibit-delay, 0ms),
      filter 620ms ease var(--exhibit-delay, 0ms);
  }

  main.exhibition-motion-ready [data-exhibit-reveal][data-exhibit-style="copy"] {
    transform: translate3d(0, 1.1rem, 0)
      perspective(1200px)
      rotateX(var(--exhibit-rotate-x, 0deg))
      rotateY(var(--exhibit-rotate-y, 0deg));
  }

  main.exhibition-motion-ready [data-exhibit-reveal][data-exhibit-style="object"] {
    transform: translate3d(0, 1rem, 0)
      perspective(1200px)
      rotateX(var(--exhibit-rotate-x, 0deg))
      rotateY(var(--exhibit-rotate-y, 0deg))
      scale(0.992);
  }

  main.exhibition-motion-ready [data-exhibit-reveal][data-exhibit-style="media"] {
    clip-path: inset(0 0 9% 0 round 0.85rem);
    filter: saturate(0.9) blur(3px);
    transform: perspective(1200px)
      rotateX(var(--exhibit-rotate-x, 0deg))
      rotateY(var(--exhibit-rotate-y, 0deg))
      scale(1.012);
  }

  main.exhibition-motion-ready [data-exhibit-reveal][data-exhibit-visible="true"] {
    opacity: 1;
    clip-path: inset(0 round 0.85rem);
    filter: none;
    transform: perspective(1200px)
      rotateX(var(--exhibit-rotate-x, 0deg))
      rotateY(var(--exhibit-rotate-y, 0deg));
  }

  main.exhibition-motion-ready [data-exhibit-reveal].is-exhibit-settled {
    transition-duration: 180ms;
    transition-delay: 0ms;
  }
}

[data-exhibit-tilt] {
  transform: perspective(1200px)
    rotateX(var(--exhibit-rotate-x, 0deg))
    rotateY(var(--exhibit-rotate-y, 0deg));
  transform-style: preserve-3d;
  transition: transform 180ms ease-out;
}

[data-exhibit-tilt][data-exhibit-tilt-active="true"] {
  will-change: transform;
}

@media (hover: none), (pointer: coarse) {
  [data-exhibit-tilt] {
    --exhibit-rotate-x: 0deg !important;
    --exhibit-rotate-y: 0deg !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  main [data-exhibit-reveal],
  main [data-exhibit-tilt] {
    opacity: 1 !important;
    clip-path: none !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (forced-colors: active) {
  main [data-exhibit-reveal] {
    opacity: 1;
    clip-path: none;
    filter: none;
  }
}

/* guides-v1.css */
/* TY Guides v1: editorial navigation connected to real WordPress posts. */

.page-guides,
.page-guide-category {
  --guides-paper: #f7f5ef;
  --guides-surface: #fffdf8;
  --guides-mist: #e5efec;
  --guides-ink: #17343c;
  --guides-copy: #4b666b;
  --guides-accent: #176c72;
  --guides-line: rgb(23 52 60 / 0.16);
}

.page-guides main,
.page-guide-category main {
  overflow: clip;
  background:
    radial-gradient(circle at 92% 5%, rgb(141 181 174 / 0.16), transparent 30rem),
    var(--guides-paper);
}

.page-guides .guides-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
  padding-block: clamp(3.5rem, 7vw, 7.5rem) clamp(2.5rem, 4vw, 4.5rem);
}

.guides-hero__copy,
.guides-hero__intro {
  min-width: 0;
}

.guides-hero__eyebrow,
.guide-category-hero__eyebrow,
.guide-post-section__header > div > p,
.guide-category-more > div > p,
.home-guides-teaser__eyebrow {
  margin: 0 0 0.9rem;
  color: var(--guides-accent, #176c72);
  font: 700 0.74rem/1.2 var(--font-data);
  letter-spacing: 0.18em;
}

.page-guides .guides-hero h1 {
  max-width: 18ch;
  margin: 0;
  color: var(--guides-ink);
  font: 400 clamp(2.7rem, 5.2vw, 5.5rem)/0.98 var(--font-display);
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.guides-hero__intro {
  max-width: 34rem;
  margin: 0;
  padding-top: 1.5rem;
  border-top: 1px solid var(--guides-line);
  color: var(--guides-copy);
  font-size: clamp(1rem, 1.25vw, 1.16rem);
  line-height: 1.78;
}

.guides-index {
  padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

.guides-directory {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(21rem, 0.9fr);
  overflow: hidden;
  border: 1px solid var(--guides-line);
  border-radius: 1.15rem;
  background: var(--guides-surface);
  box-shadow: 0 2.2rem 5rem rgb(24 59 63 / 0.11);
}

.guides-directory__stage {
  position: relative;
  min-height: 44rem;
  overflow: hidden;
  background: #dce8e4;
}

.guides-directory__stage::after {
  position: absolute;
  inset: auto 0 0;
  height: 28%;
  background: linear-gradient(transparent, rgb(9 37 43 / 0.2));
  content: '';
  pointer-events: none;
}

.guides-directory__panel,
.guides-directory__panel :is(picture, img) {
  width: 100%;
  height: 100%;
}

.guides-directory__panel {
  position: absolute;
  inset: 0;
  margin: 0;
}

.guides-directory__panel[hidden] {
  display: none;
}

.guides-directory__panel img {
  display: block;
  object-fit: cover;
}

.guides-directory__nav {
  display: grid;
  grid-template-rows: repeat(5, minmax(0, 1fr));
  border-left: 1px solid var(--guides-line);
}

.guides-directory__entry {
  position: relative;
  display: grid;
  grid-template-columns: 2.3rem minmax(0, 1fr) auto;
  gap: 0.25rem 1rem;
  align-content: center;
  min-height: 8.75rem;
  padding: 1.05rem clamp(1rem, 2vw, 1.65rem);
  border-bottom: 1px solid var(--guides-line);
  background: transparent;
  color: var(--guides-ink);
  text-decoration: none;
  transition: background-color 220ms var(--ease-out), color 220ms var(--ease-out);
}

.guides-directory__entry:last-child {
  border-bottom: 0;
}

.guides-directory__entry::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0.22rem;
  background: var(--guides-accent);
  content: '';
  opacity: 0;
  transform: scaleY(0.25);
  transition: opacity 180ms ease, transform 280ms var(--ease-out);
}

.guides-directory__entry:is(:hover, :focus-visible),
.guides-directory__entry[data-active="true"] {
  background: color-mix(in srgb, var(--guides-mist) 72%, var(--guides-surface));
}

.guides-directory__entry:is(:hover, :focus-visible)::before,
.guides-directory__entry[data-active="true"]::before {
  opacity: 1;
  transform: scaleY(1);
}

.guides-directory__entry:focus-visible {
  z-index: 1;
  outline: 3px solid color-mix(in srgb, var(--guides-accent) 60%, white);
  outline-offset: -3px;
}

.guides-directory__number {
  grid-row: 1 / 3;
  padding-top: 0.25rem;
  color: var(--guides-accent);
  font: 700 0.7rem/1 var(--font-data);
  letter-spacing: 0.08em;
}

.guides-directory__label {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.75rem;
}

.guides-directory__label > span {
  font-size: clamp(1.15rem, 1.5vw, 1.45rem);
  font-weight: 720;
  letter-spacing: -0.025em;
}

.guides-directory__label > small {
  color: var(--guides-copy);
  font-size: 0.78rem;
  font-weight: 600;
}

.guides-directory__description {
  grid-column: 2;
  max-width: 32rem;
  color: var(--guides-copy);
  font-size: 0.82rem;
  line-height: 1.52;
}

.guides-directory__arrow {
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  color: var(--guides-accent);
  font-size: 1.1rem;
  transition: transform 180ms var(--ease-out);
}

.guides-directory__entry:is(:hover, :focus-visible) .guides-directory__arrow {
  transform: translate(0.15rem, -0.15rem);
}

.guides-directory__thumb {
  display: none;
}

.guides-principle {
  display: grid;
  grid-template-columns: minmax(14rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(2rem, 7vw, 7rem);
  padding-block: clamp(3rem, 5vw, 5rem);
  border-top: 1px solid var(--guides-line);
}

.guides-principle p,
.guides-principle span {
  margin: 0;
}

.guides-principle p {
  color: var(--guides-ink);
  font: 400 clamp(1.8rem, 3vw, 3.15rem)/1.06 var(--font-display);
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.guides-principle span {
  max-width: 48rem;
  color: var(--guides-copy);
  font-size: 0.96rem;
  line-height: 1.75;
}

/* Guide category pages */

.guide-category-hero {
  display: grid;
  grid-template-columns: minmax(20rem, 0.78fr) minmax(0, 1.22fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: center;
  padding-block: clamp(3rem, 6vw, 6.5rem);
}

.guide-category-hero__copy h1 {
  display: grid;
  margin: 0;
  color: var(--guides-ink);
}

.guide-category-hero__copy h1 > span {
  max-width: 13ch;
  font: 400 clamp(2.75rem, 5vw, 5.25rem)/0.96 var(--font-display);
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.guide-category-hero__copy h1 > small {
  margin-top: 0.75rem;
  color: var(--guides-accent);
  font-size: clamp(0.92rem, 1.25vw, 1.1rem);
  font-weight: 650;
  letter-spacing: 0.1em;
}

.guide-category-hero__copy > p:last-child {
  max-width: 34rem;
  margin: clamp(1.5rem, 3vw, 2.5rem) 0 0;
  color: var(--guides-copy);
  font-size: clamp(0.98rem, 1.2vw, 1.12rem);
  line-height: 1.78;
}

.guide-category-hero__media {
  overflow: hidden;
  aspect-ratio: 8 / 5;
  margin: 0;
  border-radius: 1rem;
  background: var(--guides-mist);
  box-shadow: 0 2rem 5rem rgb(24 59 63 / 0.12);
}

.guide-category-hero__media :is(picture, img) {
  width: 100%;
  height: 100%;
}

.guide-category-hero__media img {
  display: block;
  object-fit: cover;
}

.guide-post-section {
  padding-block: clamp(3rem, 6vw, 6rem);
  border-top: 1px solid var(--guides-line);
}

.guide-post-section__header {
  display: grid;
  grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  margin-bottom: clamp(1.75rem, 3vw, 3rem);
}

.guide-post-section__header h2,
.guide-category-more h2 {
  margin: 0;
  color: var(--guides-ink);
  font: 400 clamp(2rem, 3.4vw, 3.5rem)/1 var(--font-display);
  letter-spacing: -0.045em;
}

.guide-post-section__header > p {
  max-width: 43rem;
  margin: 0;
  color: var(--guides-copy);
  font-size: 0.94rem;
  line-height: 1.7;
}

.guide-post-feed {
  min-height: 18rem;
}

.guide-post-feed:has(.guide-posts__list) .guide-empty-state,
.guide-post-feed:has(.ty-guide-posts) .guide-empty-state,
.guide-post-feed:has(.ty-guide-empty) .guide-empty-state {
  display: none;
}

/* Native WordPress posts replace the static placeholder inside packaged guide pages. */
.page-guide-category .ty-guide-posts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.125rem, 2.4vw, 2.25rem);
}

.page-guide-category .ty-guide-card {
  display: grid;
  grid-template-columns: minmax(11.25rem, 0.75fr) minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--guides-line);
  border-radius: 1rem;
  background: var(--guides-surface);
  box-shadow: 0 1.25rem 3rem rgb(24 59 63 / 0.08);
}

.page-guide-category .ty-guide-card__media {
  display: block;
  min-height: 100%;
  overflow: hidden;
  background: var(--guides-mist);
}

.page-guide-category .ty-guide-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-guide-category .ty-guide-card__body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(1.375rem, 3vw, 2.625rem);
}

.page-guide-category .ty-guide-card time {
  color: var(--guides-copy);
  font: 700 0.74rem/1.2 var(--font-data);
  letter-spacing: 0.06em;
}

.page-guide-category .ty-guide-card h3 {
  margin: 0.8rem 0 0;
  color: var(--guides-ink);
  font: 400 clamp(1.45rem, 2.1vw, 2.25rem)/1.08 var(--font-display);
  letter-spacing: -0.035em;
}

.page-guide-category .ty-guide-card h3 a {
  color: inherit;
  text-decoration: none;
}

.page-guide-category .ty-guide-card p {
  margin: 1.125rem 0 0;
  color: var(--guides-copy);
  font-size: 0.92rem;
  line-height: 1.7;
}

.page-guide-category .ty-guide-card__read {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  margin-top: auto;
  padding-top: 1.375rem;
  color: var(--guides-accent);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.055em;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3rem;
}

.page-guide-category .ty-guide-empty {
  max-width: 48.75rem;
  padding: clamp(1.75rem, 4vw, 3.5rem);
  border: 1px solid var(--guides-line);
  border-radius: 1rem;
  background: var(--guides-surface);
  box-shadow: 0 1.25rem 3rem rgb(24 59 63 / 0.08);
}

.page-guide-category .ty-guide-empty__eyebrow {
  margin: 0;
  color: var(--guides-accent);
  font: 800 0.74rem/1.2 var(--font-data);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-guide-category .ty-guide-empty h2 {
  margin: 1.05rem 0 0;
  color: var(--guides-ink);
  font: 400 clamp(2rem, 4vw, 3.7rem)/1 var(--font-display);
  letter-spacing: -0.04em;
}

.page-guide-category .ty-guide-empty > p:last-child {
  max-width: 58ch;
  margin: 1.25rem 0 0;
  color: var(--guides-copy);
  line-height: 1.7;
}

.guide-empty-state {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  align-items: center;
  min-height: 18rem;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  border-radius: 1rem;
  background:
    radial-gradient(circle at 88% 5%, rgb(86 170 174 / 0.2), transparent 20rem),
    #173940;
  box-shadow: 0 2rem 4rem rgb(20 53 58 / 0.14);
  color: #fffaf0;
}

.guide-empty-state > span {
  display: grid;
  width: clamp(4.5rem, 8vw, 7rem);
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgb(255 250 240 / 0.32);
  border-radius: 50%;
  color: #d3ece8;
  font: 700 0.75rem/1 var(--font-data);
  letter-spacing: 0.14em;
}

.guide-empty-state h3 {
  margin: 0;
  color: #fffaf0;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.2;
}

.guide-empty-state p {
  max-width: 42rem;
  margin: 0.75rem 0 0;
  color: rgb(255 250 240 / 0.72);
  font-size: 0.9rem;
  line-height: 1.65;
}

.guide-empty-state > a {
  display: inline-flex;
  min-height: 2.9rem;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1rem;
  border: 1px solid rgb(255 250 240 / 0.5);
  border-radius: 0.45rem;
  color: #fffaf0;
  font-size: 0.84rem;
  font-weight: 720;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease;
}

.guide-empty-state > a:is(:hover, :focus-visible) {
  background: #fffaf0;
  color: #173940;
}

.guide-category-more {
  display: grid;
  grid-template-columns: minmax(16rem, 0.62fr) minmax(0, 1.38fr);
  gap: clamp(2rem, 6vw, 6rem);
  padding-block: clamp(3rem, 6vw, 6rem);
  border-top: 1px solid var(--guides-line);
}

.guide-category-links {
  display: grid;
  align-content: start;
}

.guide-category-links a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: baseline;
  min-height: 4.4rem;
  padding: 1rem 0.2rem;
  border-bottom: 1px solid var(--guides-line);
  color: var(--guides-ink);
  text-decoration: none;
}

.guide-category-links a:first-child {
  border-top: 1px solid var(--guides-line);
}

.guide-category-links a span {
  font-size: clamp(1rem, 1.35vw, 1.25rem);
  font-weight: 700;
}

.guide-category-links a small {
  color: var(--guides-copy);
  font-size: 0.78rem;
}

.guide-category-links a[aria-current="page"] {
  color: var(--guides-accent);
}

.guide-category-links a:not([aria-current="page"]):is(:hover, :focus-visible) {
  color: var(--guides-accent);
}

/* A quiet editorial bridge after the homepage product presentation. */

.page-home .home-guides-teaser {
  --guides-accent: #176c72;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(22rem, 0.92fr);
  width: min(100%, var(--content));
  margin-inline: auto;
  padding: clamp(3.5rem, 7vw, 7rem) var(--gutter);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: center;
  background: #f7f5ef;
}

.home-guides-teaser__visual {
  position: relative;
  min-height: clamp(24rem, 40vw, 40rem);
}

.home-guides-teaser__visual figure {
  position: absolute;
  overflow: hidden;
  margin: 0;
  border-radius: 0.9rem;
  box-shadow: 0 1.8rem 4.5rem rgb(20 54 59 / 0.15);
}

.home-guides-teaser__visual-primary {
  inset: 0 13% 8% 0;
}

.home-guides-teaser__visual-secondary {
  inset: auto 0 0 auto;
  width: 39%;
  aspect-ratio: 4 / 5;
  border: 0.4rem solid #f7f5ef;
}

.home-guides-teaser__visual figure :is(picture, img) {
  width: 100%;
  height: 100%;
}

.home-guides-teaser__visual img {
  display: block;
  object-fit: cover;
}

.home-guides-teaser__copy h2 {
  max-width: 12ch;
  margin: 0;
  color: #17343c;
  font: 400 clamp(2.15rem, 3.8vw, 4rem)/1 var(--font-display);
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.home-guides-teaser__subtitle {
  margin: 1.15rem 0 0;
  color: #4b666b;
  font-size: 0.95rem;
  line-height: 1.6;
}

.home-guides-teaser__topics {
  display: grid;
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
  border-top: 1px solid rgb(23 52 60 / 0.17);
}

.home-guides-teaser__topics a {
  display: flex;
  min-height: 3.4rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgb(23 52 60 / 0.17);
  color: #17343c;
  text-decoration: none;
}

.home-guides-teaser__topics a span {
  font-weight: 700;
}

.home-guides-teaser__topics a small {
  color: #4b666b;
  font-size: 0.74rem;
}

.home-guides-teaser__topics a:is(:hover, :focus-visible) {
  color: var(--guides-accent);
}

.home-guides-teaser__link {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  gap: 0.65rem;
  margin-top: 1.3rem;
  color: var(--guides-accent);
  font-size: 0.88rem;
  font-weight: 760;
  text-decoration: none;
}

.home-guides-teaser__link span {
  transition: transform 180ms var(--ease-out);
}

.home-guides-teaser__link:is(:hover, :focus-visible) span {
  transform: translate(0.16rem, -0.16rem);
}

@media (prefers-reduced-motion: no-preference) {
  .guides-directory__panel:not([hidden]) {
    animation: guides-panel-in 420ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }

  @keyframes guides-panel-in {
    from {
      opacity: 0;
      transform: scale(1.015);
    }
    to {
      opacity: 1;
      transform: scale(1);
    }
  }
}

@media (max-width: 63.99rem) {
  .page-guides .guides-hero,
  .guide-category-hero,
  .guide-post-section__header,
  .guide-category-more,
  .page-home .home-guides-teaser {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-guides .guides-hero {
    gap: 1.75rem;
  }

  .guides-hero__intro {
    max-width: 52rem;
  }

  .guides-directory {
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.82fr);
  }

  .guides-directory__stage {
    min-height: 38rem;
  }

  .guides-directory__entry {
    min-height: 7.6rem;
  }

  .guide-category-hero__copy {
    max-width: 48rem;
  }

  .guide-category-hero__media {
    order: -1;
  }

  .guide-category-more,
  .guide-post-section__header {
    gap: 1.6rem;
  }

  .page-guide-category .ty-guide-posts {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-home .home-guides-teaser {
    gap: 2.5rem;
  }

  .home-guides-teaser__visual {
    min-height: min(65vw, 38rem);
  }
}

@media (max-width: 47.99rem) {
  .page-guides .guides-hero {
    padding-block: 2.35rem 2rem;
  }

  .page-guides .guides-hero h1 {
    font-size: clamp(2.35rem, 11.5vw, 3.6rem);
  }

  .guides-directory {
    display: block;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .guides-directory__stage {
    display: none;
  }

  .guides-directory__nav {
    display: grid;
    grid-template-rows: none;
    gap: 0.85rem;
    border-left: 0;
  }

  .guides-directory__entry {
    grid-template-columns: 2rem minmax(0, 1fr) auto;
    overflow: hidden;
    min-height: 0;
    padding: 0;
    border: 1px solid var(--guides-line);
    border-radius: 0.8rem;
    background: var(--guides-surface);
  }

  .guides-directory__entry::before {
    display: none;
  }

  .guides-directory__entry[data-active="true"] {
    background: var(--guides-surface);
  }

  .guides-directory__thumb {
    display: block;
    grid-column: 1 / -1;
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
  }

  .guides-directory__thumb :is(picture, img) {
    width: 100%;
    height: 100%;
  }

  .guides-directory__thumb img {
    display: block;
    object-fit: cover;
  }

  .guides-directory__number {
    grid-column: 1;
    grid-row: 2 / 4;
    padding: 1.05rem 0 0 0.85rem;
  }

  .guides-directory__label {
    grid-column: 2;
    padding-top: 0.85rem;
  }

  .guides-directory__description {
    grid-column: 2 / 4;
    padding: 0 1rem 1rem 0;
  }

  .guides-directory__arrow {
    grid-column: 3;
    grid-row: 2;
    padding: 0.85rem 0.85rem 0 0;
  }

  .guides-principle {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
  }

  .guide-category-hero {
    gap: 1.8rem;
    padding-block: 2.25rem 3.5rem;
  }

  .guide-category-hero__copy h1 > span {
    font-size: clamp(2.35rem, 12vw, 3.6rem);
  }

  .guide-post-section,
  .guide-category-more {
    padding-block: 3.25rem;
  }

  .guide-empty-state {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .guide-empty-state > span {
    width: 4.5rem;
  }

  .guide-empty-state > a {
    justify-self: start;
  }

  .page-guide-category .ty-guide-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-guide-category .ty-guide-card__media {
    aspect-ratio: 4 / 3;
    min-height: 0;
  }

  .page-home .home-guides-teaser {
    padding-block: 3.5rem;
  }

  .home-guides-teaser__visual {
    min-height: 80vw;
  }

  .home-guides-teaser__visual-primary {
    inset: 0 8% 10% 0;
  }

  .home-guides-teaser__visual-secondary {
    width: 42%;
  }
}

@media (max-width: 25rem) {
  .guides-directory__label {
    display: grid;
    gap: 0.2rem;
  }

  .guide-category-links a {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .guides-directory__entry,
  .guides-directory__entry::before,
  .guides-directory__arrow,
  .guide-empty-state > a,
  .home-guides-teaser__link span {
    animation: none;
    transition: none;
  }
}

@media (forced-colors: active) {
  .guides-directory,
  .guides-directory__entry,
  .guide-category-hero__media,
  .guide-empty-state,
  .guide-category-links a,
  .home-guides-teaser__topics a {
    border-color: CanvasText;
  }
}
