*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-offset) + var(--subnav-h));
  color-scheme: light;
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media (max-width: 767.98px) { html { scroll-padding-bottom: calc(5.5rem + env(safe-area-inset-bottom)); } }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  letter-spacing: var(--tracking-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
html.is-locked, html.is-locked body { overflow: hidden; }
img, picture, video, canvas, svg { display: block; max-width: 100%; }
img { height: auto; }
.pic { display: contents; }
.pic > source { display: none; }
input, button, textarea, select { font: inherit; color: inherit; letter-spacing: inherit; }
button { cursor: pointer; }
p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }
p { margin: 0 0 1em; text-wrap: pretty; }
ul, ol { padding-left: 1.25em; }
figure { margin: 0; }
hr { border: 0; border-top: 1px solid var(--color-divider); margin: var(--space-8) 0; }
table { border-collapse: collapse; }
address { font-style: normal; }
[hidden] { display: none !important; }
::selection { background: var(--red-500); color: #fff; }
a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  transition: color var(--dur-fast) var(--ease-out), text-decoration-color var(--dur-fast) var(--ease-out);
}
:where(.prose a, p > a:not([class])) {
  color: var(--color-accent-text);
  text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
}
:where(.prose a, p > a:not([class])):hover { text-decoration-color: currentColor; }
:focus { outline: none; }
:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 3px;
}
.skip-link {
  position: fixed;
  top: var(--space-3);
  left: var(--space-3);
  z-index: var(--z-skip);
  padding: var(--space-3) var(--space-5);
  border-radius: var(--radius-pill);
  background: var(--graphite-900);
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  transform: translateY(-200%);
  transition: transform var(--dur-base) var(--ease-out);
}
.skip-link:focus-visible { transform: none; outline-color: #fff; }
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0.5em;
  font-family: var(--font-display);
  color: var(--color-text);
  text-wrap: balance;
  hyphens: auto;
  -webkit-hyphens: auto;
  hyphenate-limit-chars: 10 4 4;
}
.t-h1, .t-h2, .t-h3, .t-h4, .t-display, .t-mega, .t-year, .statement { font-family: var(--font-display); color: var(--color-text); }
h1, .t-h1 { font-size: var(--fs-h1); line-height: var(--lh-heading); letter-spacing: var(--tracking-h1); font-weight: var(--fw-medium); }
h2, .t-h2 { font-size: var(--fs-h2); line-height: var(--lh-heading); letter-spacing: var(--tracking-h2); font-weight: var(--fw-medium); }
h3, .t-h3 { font-size: var(--fs-h3); line-height: var(--lh-snug); letter-spacing: var(--tracking-h3); font-weight: var(--fw-semibold); }
h4, .t-h4 { font-size: var(--fs-h4); line-height: var(--lh-snug); letter-spacing: -0.01em; font-weight: var(--fw-semibold); }
h5, h6 { font-size: 1rem; line-height: var(--lh-snug); font-weight: var(--fw-semibold); }
.t-mega {
  font-family: var(--font-display);
  font-size: var(--fs-mega);
  line-height: 0.88;
  letter-spacing: var(--tracking-mega);
  font-weight: var(--fw-medium);
  hyphens: manual;
}
.t-display {
  font-family: var(--font-display);
  font-size: var(--fs-display);
  line-height: var(--lh-display);
  letter-spacing: var(--tracking-display);
  font-weight: var(--fw-medium);
}
.t-lead { font-size: var(--fs-lead); line-height: 1.5; color: var(--color-text-muted); letter-spacing: -0.01em; }
.t-body { font-size: var(--fs-body); }
.t-small { font-size: var(--fs-small); line-height: 1.5; }
.t-label {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  font-weight: var(--fw-medium);
  line-height: 1.3;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.t-mono { font-family: var(--font-mono); letter-spacing: 0.01em; }
.t-ghost { color: var(--color-text-ghost); }
.t-accent { color: var(--color-accent-text); }
.t-num { font-variant-numeric: tabular-nums lining-nums; }
.t-caps { text-transform: uppercase; letter-spacing: var(--tracking-caps); }
.t-balance { text-wrap: balance; }
.t-year {
  font-family: var(--font-display);
  font-size: var(--fs-year);
  font-weight: var(--fw-thin);
  line-height: 0.86;
  letter-spacing: var(--tracking-num);
  font-variant-numeric: tabular-nums lining-nums;
}
.theme-dark .t-year,
.t-year--metal {
  background: var(--ink-metal);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.prose { max-width: var(--measure); }
.prose > * + * { margin-top: 1em; }
.prose h2, .prose h3 { margin-top: 1.6em; }
.prose ul { padding-left: 0; list-style: none; }
.prose ul li { position: relative; padding-left: 1.5em; margin: 0.4em 0; }
.prose ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 0.75em;
  height: 2px;
  border-radius: 2px;
  background: var(--color-accent);
}
.container {
  width: 100%;
  max-width: calc(var(--container) + var(--gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.container--wide   { max-width: calc(var(--container-wide) + var(--gutter) * 2); }
.container--narrow { max-width: calc(var(--container-narrow) + var(--gutter) * 2); }
.container--bleed  { max-width: var(--container-max); padding-inline: 0; }
.grid {
  display: grid;
  gap: var(--grid-gap, var(--gap));
  grid-template-columns: repeat(var(--cols, 1), minmax(0, 1fr));
}
.grid--auto { grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--min, 17rem)), 1fr)); }
@media (min-width: 768px) {
  .grid--2, .grid--3, .grid--4 { --cols: 2; }
}
@media (min-width: 1024px) {
  .grid--3 { --cols: 3; }
  .grid--4 { --cols: 4; }
}
.split { display: grid; gap: var(--gap-lg); align-items: start; }
@media (min-width: 1024px) {
  .split          { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .split--even    { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .split--wide    { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .split--center  { align-items: center; }
}
.stack > * + * { margin-block-start: var(--stack, var(--space-4)); }
.stack--lg { --stack: var(--space-7); }
.cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--cluster-gap, var(--space-3));
}
.cluster--end { justify-content: flex-end; }
.cluster--between { justify-content: space-between; }
.u-visually-hidden, .sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.u-text-center { text-align: center; }
.u-muted  { color: var(--color-text-muted); }
.u-subtle { color: var(--color-text-subtle); }
.u-accent { color: var(--color-accent-text); }
.u-mono   { font-family: var(--font-mono); }
.u-num    { font-variant-numeric: tabular-nums; }
.u-nowrap { white-space: nowrap; }
.u-m-0  { margin: 0 !important; }
.u-mt-0 { margin-top: 0 !important; }
.u-mb-0 { margin-bottom: 0 !important; }
.u-mt-4 { margin-top: var(--space-4) !important; }
.u-mt-6 { margin-top: var(--space-6) !important; }
.u-mt-9 { margin-top: var(--space-9) !important; }
.u-mb-6 { margin-bottom: var(--space-6) !important; }
.u-mb-9 { margin-bottom: var(--space-9) !important; }
.u-maxw-measure { max-width: var(--measure); }
.u-relative { position: relative; }
@media (max-width: 767.98px) { .u-hide-mobile  { display: none !important; } }
@media (min-width: 768px)    { .u-hide-tablet-up { display: none !important; } }
@media (max-width: 1023.98px){ .u-hide-below-lg { display: none !important; } }
@media (min-width: 1024px)   { .u-hide-desktop { display: none !important; } }
.stretched-link::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.stretched-link:focus-visible { outline: none; }
.stretched-link:focus-visible::after { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.glass,
.site-header__bar::before,
.mega,
.nav-dropdown,
.subnav__bar,
.sticky-cta,
.bottom-bar,
.chip.chip--glass,
.btn.btn--glass,
.btn-round.btn-round--glass,
.glass-card,
.search-pill.search-pill--glass {
  background: var(--glass-sheen), var(--glass-bg-fallback);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow), var(--glass-inner);
}
.mega, .nav-dropdown { background: var(--glass-sheen), var(--mega-bg-fallback); }
.glass--neutral {
  background: var(--glass-sheen-neutral), var(--glass-bg-fallback);
  border-color: var(--glass-border-neutral);
}
.glass--dark,
.photo-card__head,
.photo-card__caption,
.data-panel,
.hero__facts,
.config-stage__panel {
  background: var(--glass-dark-sheen), var(--glass-dark-bg-fallback);
  border: 1px solid var(--glass-dark-border);
  box-shadow: var(--glass-dark-inner), 0 12px 32px -16px rgba(0, 0, 0, .45);
  color: #fff;
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .glass,
  .site-header__bar::before,
  .nav-dropdown,
  .subnav__bar,
  .sticky-cta,
  .bottom-bar,
  .glass-card {
    background: var(--glass-sheen), var(--glass-bg);
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  }
  .mega {
    background: var(--glass-sheen), var(--mega-bg);
    -webkit-backdrop-filter: blur(var(--blur-xl)) saturate(110%);
    backdrop-filter: blur(var(--blur-xl)) saturate(110%);
  }
  .glass.glass--neutral {
    background: var(--glass-sheen-neutral), var(--glass-bg-neutral);
    -webkit-backdrop-filter: blur(var(--blur-lg)) saturate(var(--glass-saturate-neutral));
    backdrop-filter: blur(var(--blur-lg)) saturate(var(--glass-saturate-neutral));
  }
  .glass--dark,
  .data-panel,
  .hero__facts,
  .config-stage__panel {
    background: var(--glass-dark-sheen), var(--glass-dark-bg);
    -webkit-backdrop-filter: blur(var(--blur-md)) saturate(150%);
    backdrop-filter: blur(var(--blur-md)) saturate(150%);
  }
  .photo-card__head,
  .photo-card__caption {
    background: var(--glass-dark-sheen), var(--glass-photo-bg);
    -webkit-backdrop-filter: blur(20px) saturate(110%);
    backdrop-filter: blur(20px) saturate(110%);
  }
  .chip.chip--glass,
  .btn.btn--glass,
  .btn-round.btn-round--glass,
  .search-pill.search-pill--glass {
    background: var(--glass-sheen), var(--glass-bg-strong);
    -webkit-backdrop-filter: blur(var(--blur-md)) saturate(var(--glass-saturate));
    backdrop-filter: blur(var(--blur-md)) saturate(var(--glass-saturate));
  }
  .glass--strong { background: var(--glass-sheen), var(--glass-bg-strong); }
  .glass--soft   { background: var(--glass-sheen), var(--glass-bg-soft); }
}
.surface-metal    { background: var(--surface-metal); }
.surface-plate    { background: var(--surface-plate); }
.surface-graphite { background: var(--surface-graphite); }
.surface-white    { background: var(--color-bg-raised); }
.u-pattern-prism  { background-image: var(--pattern-prism); }
.theme-dark.u-pattern-prism, .theme-dark .u-pattern-prism { background-image: var(--pattern-prism-dark); }
.plate {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: var(--radius-xl);
  background: var(--surface-plate);
  isolation: isolate;
}
.plate::after {
  content: "";
  position: absolute;
  left: 12%; right: 12%; bottom: 9%;
  height: 14%;
  background: var(--surface-plate-floor);
  z-index: -1;
}
.plate__img, .cutout { filter: var(--shadow-float); }
.plate__img {
  width: 84%;
  height: 80%;
  object-fit: contain;
  transform: translateY(-3%);
  transition: transform var(--dur-slower) var(--ease-out);
}
.redline {
  display: block;
  width: min(100%, 12rem);
  height: 2px;
  margin: var(--space-6) 0;
  border: 0;
  border-radius: 2px;
  background: var(--redline);
  box-shadow: var(--redline-glow);
}
.redline--full  { width: 100%; }
.redline--short { width: 3rem; background: var(--redline-solid); box-shadow: none; }
.redline--center { margin-inline: auto; }
.signature-band {
  height: clamp(2.5rem, 2rem + 2vw, 4rem);
  background: var(--pattern-prism), var(--surface-metal);
  border-block: 1px solid var(--color-border-hair);
}
.theme-dark .signature-band, .signature-band--dark {
  background: var(--pattern-prism-dark), var(--surface-graphite);
  border-color: rgba(255, 255, 255, .06);
}
.icon {
  width: 1.25em;
  height: 1.25em;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  vertical-align: middle;
}
.icon--fill { fill: currentColor; stroke: none; }
.icon--sm { width: 1rem; height: 1rem; }
.icon--lg { width: 1.5rem; height: 1.5rem; }
.logo { display: inline-flex; align-items: center; text-decoration: none; }
.logo img { height: 1.75rem; width: auto; }
.logo--lg img { height: clamp(2.5rem, 2rem + 2vw, 4rem); }
.media {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--color-surface-3);
  aspect-ratio: var(--ratio, 4 / 3);
}
.media > img, .media > video, .media > picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.media--1x1  { --ratio: 1 / 1; }
.media--3x4  { --ratio: 3 / 4; }
.media--16x9 { --ratio: 16 / 9; }
.media--21x9 { --ratio: 21 / 9; }
.media--xl   { border-radius: var(--radius-2xl); }
.img-archive {
  filter: grayscale(1) contrast(1.08) brightness(1.02);
  transition: filter var(--dur-slower) var(--ease-out);
}
.is-colorable:hover .img-archive,
.is-colorable:focus-within .img-archive { filter: none; }
.btn {
  --btn-h: 3rem;
  --btn-icon: 2.25rem;
  --btn-pad: 1.375rem;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-height: var(--btn-h);
  padding: 0 var(--btn-pad);
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: var(--fw-medium);
  line-height: 1.15;
  letter-spacing: -0.005em;
  text-align: left;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  transition:
    background-color var(--dur-base) var(--ease-out),
    border-color var(--dur-base) var(--ease-out),
    color var(--dur-base) var(--ease-out),
    box-shadow var(--dur-base) var(--ease-out),
    transform var(--dur-base) var(--ease-out);
}
.btn__icon {
  display: grid;
  place-items: center;
  flex: none;
  width: var(--btn-icon);
  height: var(--btn-icon);
  margin-inline-end: calc((var(--btn-pad) - (var(--btn-h) - var(--btn-icon)) / 2) * -1);
  border-radius: var(--radius-round);
  transition: transform var(--dur-slow) var(--ease-spring), background-color var(--dur-base) var(--ease-out);
}
.btn__icon .icon { width: 1.05rem; height: 1.05rem; }
.btn__icon--start { margin-inline: calc((var(--btn-pad) - (var(--btn-h) - var(--btn-icon)) / 2) * -1) 0; }
.btn__icon--square { border-radius: var(--radius-xs); }
.btn:hover .btn__icon { transform: translateX(3px); }
.btn:active { transform: translateY(1px); }
.btn--primary {
  background: linear-gradient(180deg, #E5102A 0%, var(--red-550) 100%);
  border-color: var(--red-550);
  color: var(--color-on-accent);
  box-shadow: var(--shadow-red), inset 0 1px 0 rgba(255, 255, 255, .22);
}
.btn--primary .btn__icon { background: #fff; color: var(--red-500); }
.btn--primary:hover { background: linear-gradient(180deg, var(--red-500) 0%, #A80014 100%); box-shadow: 0 1px 1px rgba(143,0,17,.3), 0 12px 28px -8px var(--red-glow), inset 0 1px 0 rgba(255,255,255,.2); }
.btn--primary:active { background: var(--red-700); }
.btn--dark {
  background: linear-gradient(180deg, var(--graphite-600) 0%, var(--graphite-900) 100%);
  border-color: var(--graphite-900);
  color: #fff;
  box-shadow: var(--shadow-dark-btn);
}
.btn--dark .btn__icon { background: rgba(255, 255, 255, .12); }
.btn--dark:hover { background: linear-gradient(180deg, var(--graphite-700) 0%, var(--graphite-950) 100%); }
.btn--glass { color: var(--graphite-900); }
.btn--glass .btn__icon { background: var(--graphite-900); color: #fff; }
.btn.btn--glass:hover { background: var(--glass-sheen), rgba(255, 255, 255, .9); }
.theme-dark .btn.btn--glass:hover { background: var(--glass-sheen), rgba(255, 255, 255, .12); }
.theme-dark .btn--glass { color: #fff; }
.theme-dark .btn--glass .btn__icon { background: #fff; color: var(--graphite-900); }
.btn--ghost {
  border-color: var(--color-border-strong);
  color: var(--color-text);
}
.btn--ghost .btn__icon { background: var(--color-surface-3); }
.btn--ghost:hover { background: var(--color-bg-raised); border-color: var(--color-text); }
.theme-dark .btn--ghost:hover { background: rgba(255, 255, 255, .06); border-color: #fff; }
.btn--soft {
  background: #fff;
  border-color: var(--color-border);
  color: var(--graphite-900);
  box-shadow: var(--shadow-xs);
}
.btn--soft .btn__icon { background: var(--graphite-900); color: #fff; border-radius: var(--radius-xs); }
.btn--soft:hover { border-color: var(--color-border-strong); box-shadow: var(--shadow-sm); }
.btn--link {
  --btn-h: auto;
  padding: 0.25rem 0;
  border-radius: 0;
  gap: 0.5rem;
  color: var(--color-text);
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0% 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size var(--dur-slow) var(--ease-out), color var(--dur-base);
}
.btn--link .icon { width: 1rem; height: 1rem; transition: transform var(--dur-slow) var(--ease-spring); }
.btn--link:hover { background-size: 100% 1px; }
.btn--link:hover .icon { transform: translateX(3px); }
.btn--link.is-accent { color: var(--color-accent-text); }
.btn--xs { --btn-h: 2.25rem; --btn-icon: 1.625rem; --btn-pad: 0.875rem; font-size: 0.8125rem; gap: 0.5rem; }
.btn--sm { --btn-h: 2.5rem;  --btn-icon: 1.875rem; --btn-pad: 1.125rem; font-size: 0.875rem; }
.btn--lg { --btn-h: 3.5rem;  --btn-icon: 2.625rem; --btn-pad: 1.75rem;  font-size: 1.0625rem; }
.btn--block { width: 100%; justify-content: space-between; }
.btn:disabled, .btn[aria-disabled="true"] { opacity: 0.45; pointer-events: none; box-shadow: none; }
.btn-round {
  --size: 3.25rem;
  display: inline-grid;
  place-items: center;
  flex: none;
  width: var(--size);
  height: var(--size);
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--radius-round);
  background: transparent;
  color: var(--color-text);
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--dur-base) var(--ease-out), color var(--dur-base), box-shadow var(--dur-base), transform var(--dur-base) var(--ease-out), opacity var(--dur-base);
}
.btn-round .icon { width: 1.25rem; height: 1.25rem; }
.btn-round--light { background: #fff; border-color: var(--color-border-hair); box-shadow: var(--shadow-sm); color: var(--graphite-900); }
.btn-round--light:hover { box-shadow: var(--shadow-md); }
.btn-round--dark  { background: var(--graphite-900); color: #fff; box-shadow: var(--shadow-dark-btn); }
.btn-round--dark:hover { background: var(--graphite-700); }
.btn-round--red   { background: var(--red-500); color: #fff; box-shadow: var(--shadow-red); }
.btn-round--red:hover { background: var(--red-550); }
.btn-round--glass { color: var(--graphite-900); }
.theme-dark .btn-round--glass { color: #fff; }
.btn-round--outline { border-color: var(--color-border-strong); }
.btn-round--sm { --size: 2.5rem; }
.btn-round--lg { --size: 4rem; }
.btn-round:active { transform: scale(0.96); }
.btn-round:disabled, .btn-round[aria-disabled="true"] { opacity: 0.35; pointer-events: none; }
.chip {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  min-height: 1.875rem;
  padding: 0.25rem 0.75rem;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--color-text-muted);
  font-family: var(--font-body);
  font-size: var(--fs-label);
  font-weight: var(--fw-medium);
  line-height: 1.2;
  white-space: nowrap;
  text-decoration: none;
}
.chip .icon { width: 0.875rem; height: 0.875rem; }
.chip--solid { background: var(--color-bg-raised); border-color: var(--color-border); color: var(--color-text); }
.chip--glass { color: var(--graphite-900); }
.chip--dark  { background: var(--graphite-900); border-color: var(--graphite-900); color: #fff; }
.chip--signal { background: var(--red-500); border-color: var(--red-500); color: #fff; }
.chip--mono { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: var(--tracking-label); font-size: var(--fs-micro); }
.chip--dot::before { content: ""; width: 0.375rem; height: 0.375rem; border-radius: 50%; background: var(--red-500); }
.chip--placeholder {
  border: 1px solid var(--color-border);
  background: var(--color-surface-2);
  color: var(--color-text-subtle);
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}
.chip--placeholder::before { content: ""; flex: none; width: 0.375rem; height: 0.375rem; border-radius: 50%; background: var(--steel-400); }
.theme-dark .chip--placeholder { background: rgba(255, 255, 255, .06); border-color: var(--color-border-inverse); color: var(--color-text-inverse-muted); }
:is(.sx-ph--media, .mo-feature__ph, .mo-variant__ph, .mo-pick__ph, .sv-part__plate--leer) > .chip--placeholder {
  width: 3.5rem; height: 3.5rem; min-height: 0; padding: 0; border: 0; border-radius: 0;
  background: url("../img/brand/logo-ring-512.png?v=287ea6f33c") center / contain no-repeat;
  opacity: .16; filter: grayscale(1); color: transparent; font-size: 0; overflow: hidden;
}
:is(.sx-ph--media, .mo-feature__ph, .mo-variant__ph, .mo-pick__ph, .sv-part__plate--leer) > .chip--placeholder::before { display: none; }
.chip--hinweis {
  min-height: 1.375rem;
  padding: 0.0625rem 0.5rem;
  border: 1px dashed var(--color-hinweis-border);
  background: transparent;
  color: var(--color-hinweis);
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.theme-dark .chip--hinweis { border-color: rgba(255, 255, 255, .4); color: var(--steel-300); }
a.chip, button.chip, .chip--link {
  min-height: 2.25rem;
  padding-inline: 0.875rem;
  color: var(--color-text);
  background: var(--color-bg-raised);
  border-color: var(--color-border);
  cursor: pointer;
  position: relative;
  z-index: 2;
  transition: border-color var(--dur-fast), background-color var(--dur-fast), color var(--dur-fast);
}
a.chip:hover, button.chip:hover { border-color: var(--color-text); }
a.chip[aria-current], button.chip[aria-pressed="true"], .chip.is-active {
  background: var(--graphite-900);
  border-color: var(--graphite-900);
  color: #fff;
}
.chips { display: flex; flex-wrap: wrap; gap: 0.375rem; list-style: none; margin: 0; padding: 0; }
.tag {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.3125rem 0.625rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xs);
  background: var(--color-bg-raised);
  color: var(--color-text-muted);
  font-size: var(--fs-label);
  font-weight: var(--fw-medium);
  line-height: 1.3;
}
.tag--metal { background: var(--steel-150); border-color: transparent; color: var(--color-text); }
.eyebrow {
  display: flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 0.625rem;
  margin: 0 0 var(--space-4);
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  font-weight: var(--fw-medium);
  line-height: 1.3;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.eyebrow::before {
  content: "";
  flex: none;
  width: 1.25rem;
  height: 2px;
  border-radius: 2px;
  background: var(--color-accent);
}
.eyebrow--plain::before { display: none; }
.eyebrow--dot::before { width: 0.4375rem; height: 0.4375rem; border-radius: 50%; }
.eyebrow--on-photo { color: rgba(255, 255, 255, .86); }
.num-marker {
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-round);
  color: var(--color-text);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: var(--fw-medium);
  font-variant-numeric: tabular-nums;
}
.num-marker--active, .is-active > .num-marker { background: var(--red-500); border-color: var(--red-500); color: #fff; box-shadow: 0 0 0 5px rgba(217, 0, 26, .14); }
.num-marker--dark { background: var(--graphite-900); border-color: var(--graphite-900); color: #fff; }
.index-num {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 2rem + 1.6vw, 3.5rem);
  font-weight: var(--fw-light);
  line-height: 0.9;
  letter-spacing: var(--tracking-num);
  font-variant-numeric: tabular-nums;
}
.counter {
  display: inline-flex;
  align-items: baseline;
  margin: 0;
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.counter__current { font-size: clamp(2rem, 1.6rem + 1.4vw, 3rem); font-weight: var(--fw-light); letter-spacing: var(--tracking-num); }
.counter__total   { font-size: 1rem; color: var(--color-text-subtle); margin-left: 0.125rem; }
.counter--sm .counter__current { font-size: 1.25rem; }
.counter--sm .counter__total { font-size: 0.8125rem; }
.theme-dark .counter__total { color: var(--color-text-muted); }
.site-header {
  position: fixed;
  top: var(--header-top);
  left: 0;
  right: 0;
  z-index: var(--z-header);
  padding-inline: var(--gutter);
  pointer-events: none;
  transition: top var(--dur-slow) var(--ease-out);
}
.site-header__bar {
  pointer-events: auto;
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  max-width: var(--container-wide);
  height: var(--header-h);
  margin-inline: auto;
  padding: 0 var(--space-2) 0 var(--space-4);
  border-radius: var(--radius-pill);
  transition: height var(--dur-slow) var(--ease-out);
}
.site-header__bar::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  transition: box-shadow var(--dur-slow) var(--ease-out);
}
.site-header.is-condensed { top: calc(var(--header-top) * 0.66); }
.site-header.is-condensed .site-header__bar { height: var(--header-h-condensed); }
.site-header.is-condensed .site-header__bar::before { box-shadow: var(--shadow-md), var(--glass-inner); }
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .site-header.is-condensed .site-header__bar::before,
  .site-header.has-open-menu .site-header__bar::before { background: var(--glass-sheen), var(--glass-bg-strong); }
}
.site-header__logo { flex: none; padding: var(--space-2) var(--space-3) var(--space-2) 0; border-radius: var(--radius-sm); }
.site-header__logo img { height: 1.375rem; width: auto; }
@media (min-width: 390px) { .site-header__logo img { height: 1.5rem; } }
@media (min-width: 768px) { .site-header__logo img { height: 1.625rem; } }
.site-header .lang-switch { display: none; }
@media (min-width: 768px) { .site-header .lang-switch { display: block; } }
@media (min-width: 1440px) { .site-header__logo img { height: 1.75rem; } }
.site-header__actions { display: flex; align-items: center; gap: var(--space-1); margin-left: auto; }
.site-header .site-header__cta,
.site-header .site-header__phone,
.site-header .site-header__cfg { display: none; }
@media (min-width: 768px) and (max-width: 1023.98px) { .site-header .site-header__cfg { display: inline-grid; } }
@media (min-width: 1280px) { .site-header .site-header__phone { display: inline-grid; } }
@media (min-width: 1440px) { .site-header .site-header__cta { display: inline-flex; } .site-header .site-header__dealer { display: none; } }
@media (min-width: 1024px) and (max-width: 1279.98px) {
  .site-header__bar { gap: 0.25rem; padding-left: var(--space-3); }
  .site-header__logo { padding-right: var(--space-1); }
  .site-header__logo img { height: 1.375rem; }
  .lang-switch__btn { padding: 0 0.5rem; }
  .lang-switch__btn .icon { display: none; }
  .site-header__primary .btn__tag { margin-left: -0.1875rem; padding: 0 0.25rem; font-size: 0.5625rem; letter-spacing: 0.05em; line-height: 1.4; border-color: rgba(255, 255, 255, .55); opacity: 1; }
  .site-header__actions { gap: 0; }
  .site-header .site-header__primary { gap: 0.5rem; padding-left: 0.875rem; margin-left: var(--space-2); }
}
.main-nav__item--wide { display: none; }
@media (min-width: 1440px) { .main-nav__item--wide { display: list-item; } }
.icon-btn {
  display: inline-grid;
  place-items: center;
  width: var(--tap-min);
  height: var(--tap-min);
  border: 0;
  border-radius: var(--radius-round);
  background: transparent;
  color: var(--color-text);
  text-decoration: none;
  transition: background-color var(--dur-fast);
}
.icon-btn:hover { background: rgba(21, 23, 26, .06); }
.icon-btn--dark { background: var(--graphite-900); color: #fff; box-shadow: var(--shadow-dark-btn); }
.icon-btn--dark:hover { background: var(--graphite-700); }
.theme-dark .icon-btn:hover { background: rgba(255, 255, 255, .08); }
.main-nav { display: none; }
@media (min-width: 1024px) {
  .main-nav { display: block; margin-inline: auto; }
}
.main-nav__list { display: flex; align-items: center; gap: 0.125rem; margin: 0; padding: 0; list-style: none; }
.main-nav__item { position: static; }
.main-nav__item--dropdown { position: relative; }
.main-nav__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.3125rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  border: 0;
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: var(--fw-medium);
  letter-spacing: -0.005em;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast), box-shadow var(--dur-base);
}
@media (min-width: 1280px) { .main-nav__link { padding: 0 0.9375rem; } }
@media (min-width: 1024px) and (max-width: 1279.98px) { .main-nav__link { gap: 0.25rem; padding: 0 0.375rem; } }
@media (min-width: 1024px) and (max-width: 1099.98px) { .main-nav__link { font-size: 0.875rem; } }
@media (min-width: 1440px) and (max-width: 1535.98px) { .main-nav__link { padding: 0 0.75rem; } }
.main-nav__link:hover { background: rgba(21, 23, 26, .06); }
.main-nav__link[aria-expanded="true"] { background: var(--color-bg-raised); box-shadow: var(--shadow-sm); }
.main-nav__link[aria-current="page"]::after,
.main-nav__link.is-current::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0.25rem;
  width: 1.125rem;
  height: 2px;
  border-radius: 2px;
  background: var(--red-500);
  transform: translateX(-50%);
}
.main-nav__link--highlight::before {
  content: "";
  width: 0.4375rem;
  height: 0.4375rem;
  margin-right: 0.125rem;
  border-radius: 50%;
  background: var(--red-500);
  box-shadow: 0 0 0 3px rgba(217, 0, 26, .14), 0 0 8px rgba(255, 51, 71, .7);
}
.main-nav__badge { display: none; margin-left: 0.25rem; min-height: 1.25rem; padding: 0.0625rem 0.4375rem; font-size: 0.625rem; }
@media (min-width: 1280px) { .main-nav__badge { display: inline-flex; } }
.main-nav__chevron { width: 0.875rem; height: 0.875rem; transition: transform var(--dur-base) var(--ease-out); }
.main-nav__link[aria-expanded="true"] .main-nav__chevron { transform: rotate(180deg); }
.nav-dropdown {
  position: absolute;
  top: calc(100% + 0.625rem);
  left: 0;
  min-width: 16rem;
  margin: 0;
  padding: var(--space-2);
  border-radius: var(--radius-xl);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity var(--dur-base) var(--ease-out), transform var(--dur-slow) var(--ease-out), visibility 0s linear var(--dur-slow);
}
.nav-dropdown--end { left: auto; right: 0; min-width: 11rem; }
.nav-dropdown.is-open { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .nav-dropdown { background: var(--glass-sheen), var(--glass-bg-strong); }
}
.nav-dropdown__cols { display: grid; grid-template-columns: repeat(var(--dd-cols, 2), minmax(13rem, 1fr)); gap: var(--space-2); }
.nav-dropdown__col { padding: var(--space-2); }
.nav-dropdown__title { margin: var(--space-1) 0.875rem var(--space-2); color: var(--color-text-subtle); font-family: var(--font-mono); font-size: var(--fs-micro); font-weight: var(--fw-medium); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.nav-dropdown__list { display: grid; gap: 1px; margin: 0; padding: 0; list-style: none; }
.nav-dropdown__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: 0.5625rem 0.875rem;
  border-radius: var(--radius-md);
  color: var(--color-text);
  font-size: 0.9375rem;
  line-height: 1.3;
  text-decoration: none;
}
.nav-dropdown__link:hover { background: rgba(255, 255, 255, .8); }
.nav-dropdown__link small { display: block; margin-top: 0.125rem; color: var(--color-text-subtle); font-family: var(--font-mono); font-size: 0.6875rem; letter-spacing: 0.02em; }
.nav-dropdown__link .icon { width: 0.875rem; height: 0.875rem; color: var(--color-text-subtle); }
.nav-dropdown__link[aria-current] { font-weight: 600; }
.nav-dropdown__link[aria-current]::after { content: ""; width: 0.375rem; height: 0.375rem; border-radius: 50%; background: var(--red-500); }
.nav-dropdown__title--sep { margin: var(--space-2) 0.875rem var(--space-1); padding-top: var(--space-3); border-top: 1px solid var(--color-divider); }
.nav-dropdown__link--off { color: var(--color-text-subtle); cursor: default; }
.nav-dropdown__link--off:hover { background: none; }
.nav-dropdown__link--current { cursor: default; }
.nav-dropdown__link--current:hover { background: none; }
.nav-dropdown__list > li:has(> [data-hsml-sprache][hidden]) { display: none; }
a.nav-dropdown__link:not([href]) { cursor: default; }
a.nav-dropdown__link:not([href]):hover { background: none; }
.lang-switch { position: relative; }
.lang-switch__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  height: var(--tap-min);
  padding: 0 0.75rem;
  border: 0;
  border-radius: var(--radius-pill);
  background: transparent;
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.04em;
}
.lang-switch__btn:hover { background: rgba(21, 23, 26, .06); }
.lang-switch__btn[aria-expanded="true"] { background: var(--color-bg-raised); box-shadow: var(--shadow-sm); }
.nav-toggle {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: var(--tap-min);
  height: var(--tap-min);
  border: 0;
  border-radius: var(--radius-round);
  background: var(--graphite-900);
  color: #fff;
}
.nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after {
  display: block;
  width: 1.125rem;
  height: 1.5px;
  border-radius: 2px;
  background: currentColor;
  transition: transform var(--dur-slow) var(--ease-out), opacity var(--dur-fast);
}
.nav-toggle__bars { position: relative; }
.nav-toggle__bars::before, .nav-toggle__bars::after { content: ""; position: absolute; left: 0; }
.nav-toggle__bars::before { transform: translateY(-5px); }
.nav-toggle__bars::after  { transform: translateY(5px); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before { transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after  { transform: rotate(-45deg); }
@media (min-width: 1024px) { .nav-toggle { display: none; } }
.mega {
  position: absolute;
  top: calc(100% + 0.625rem);
  left: 0;
  right: 0;
  max-height: calc(100vh - var(--header-h) - 3rem);
  max-height: calc(100dvh - var(--header-h) - 3rem);
  overflow: auto;
  overscroll-behavior: contain;
  padding: var(--space-3);
  border-radius: var(--radius-2xl);
  display: none;
  opacity: 0;
  transform: translateY(-10px) scale(0.985);
  transform-origin: 50% 0;
  transition:
    opacity var(--dur-base) var(--ease-out),
    transform var(--dur-slow) var(--ease-out),
    display var(--dur-slow) allow-discrete;
}
.mega.is-open { display: block; opacity: 1; transform: none; }
@starting-style { .mega.is-open { opacity: 0; transform: translateY(-10px) scale(0.985); } }
.mega-backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--z-backdrop);
  background: var(--color-overlay);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--dur-slow) var(--ease-out), visibility 0s linear var(--dur-slow);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .mega-backdrop { -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
}
.mega-backdrop.is-open { opacity: 1; visibility: visible; transition-delay: 0s; }
.mobile-nav {
  position: fixed;
  inset: 0;
  z-index: var(--z-drawer);
  display: flex;
  flex-direction: column;
  padding: var(--header-top) var(--gutter) calc(var(--space-6) + env(safe-area-inset-bottom));
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--steel-50);
  display: none;
  opacity: 0;
  transform: translateY(-12px);
  transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out), display var(--dur-slow) allow-discrete;
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .mobile-nav { background: rgba(243, 244, 246, .96); -webkit-backdrop-filter: blur(28px) saturate(100%); backdrop-filter: blur(28px) saturate(100%); }
}
.mobile-nav.is-open { display: flex; opacity: 1; transform: none; }
@starting-style { .mobile-nav.is-open { opacity: 0; transform: translateY(-12px); } }
@media (min-width: 1024px) { .mobile-nav, .mobile-nav.is-open { display: none; } }
.mobile-nav__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--header-h);
  padding: 0 var(--space-2) 0 var(--space-4);
}
.mobile-nav__head .logo img { height: 1.625rem; }
.mobile-nav__list { margin: var(--space-5) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--color-divider); }
.mobile-nav__item { border-bottom: 1px solid var(--color-divider); }
.mobile-nav__link,
.mobile-nav__group > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 3.75rem;
  padding: 0 var(--space-1);
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: var(--fw-medium);
  letter-spacing: -0.02em;
  text-decoration: none;
  list-style: none;
  cursor: pointer;
}
.mobile-nav__group > summary::-webkit-details-marker { display: none; }
.mobile-nav__group > summary .icon { transition: transform var(--dur-base) var(--ease-out); }
.mobile-nav__group[open] > summary .icon { transform: rotate(45deg); }
.mobile-nav__sub { padding: 0 0 var(--space-5); display: grid; gap: var(--space-5); }
.mobile-nav__sublinks { margin: 0; padding: 0; list-style: none; display: grid; }
.mobile-nav__sublinks a { display: block; padding: 0.625rem 0; color: var(--color-text-muted); text-decoration: none; font-size: 1.0625rem; }
.mobile-nav__footer { display: grid; gap: var(--space-4); margin-top: auto; padding-top: var(--space-8); }
.mobile-nav__langs { display: flex; flex-wrap: wrap; align-items: center; gap: 0.375rem; }
.chip--off { min-height: 2.25rem; padding-inline: 0.875rem; border-style: dashed; color: var(--color-text-subtle); cursor: default; }
.chip--current { min-height: 2.25rem; padding-inline: 0.875rem; cursor: default; }
.chip--sprache { min-height: 2.25rem; padding-inline: 0.875rem; }
a.chip--sprache:not([href]) { cursor: default; }
.mobile-nav__langs-wartend { display: inline-flex; flex-wrap: nowrap; align-items: center; gap: 0.375rem; }
.mobile-nav__langs-wartend:empty { display: none; }
.mobile-nav__langs-note { margin-inline: 0.25rem 0.125rem; color: var(--color-text-subtle); font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.section { position: relative; padding-block: var(--section-y); }
.section--tight { padding-block: var(--section-y-tight); }
.section--flush-top { padding-top: 0; }
.section--flush-bottom { padding-bottom: 0; }
.section--white { background: var(--color-bg-raised); }
.section--metal { background: var(--surface-metal); }
.section--dark  { background: var(--surface-graphite); }
.section--dark.u-pattern-prism { background: var(--pattern-prism-dark), var(--surface-graphite); }
.section--framed {
  margin-inline: var(--gutter);
  border-radius: var(--radius-3xl);
  overflow: hidden;
}
@media (max-width: 767.98px) { .section--framed { border-radius: var(--radius-2xl); } }
.section-head {
  display: grid;
  gap: var(--space-4);
  margin-bottom: clamp(2rem, 1.5rem + 2.4vw, 4rem);
}
.section-head__title { margin: 0; }
.section-head__lead { margin: 0; max-width: 54ch; color: var(--color-text-muted); font-size: var(--fs-lead); line-height: 1.5; }
.section-head .eyebrow { margin-bottom: 0; }
@media (min-width: 1024px) {
  .section-head--split { grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: var(--gap-lg); }
  .section-head--split > :not(.section-head__actions) { grid-column: 1; }
  .section-head--split .section-head__actions { grid-column: 2; grid-row: 1 / span 3; align-self: end; }
}
.section-head--center { justify-items: center; text-align: center; }
.section-head--center .section-head__lead { margin-inline: auto; }
.section-head__actions { display: flex; gap: var(--space-3); align-items: center; }
.hero { position: relative; }
.hero--photo .hero__title { color: #fff; }
.hero--photo {
  display: flex;
  align-items: flex-end;
  min-height: min(92svh, 58rem);
  margin: var(--header-top) var(--gutter) 0;
  overflow: hidden;
  border-radius: var(--radius-3xl);
  color: #fff;
  isolation: isolate;
  background: var(--graphite-900);
}
@media (max-width: 767.98px) {
  .hero--photo { min-height: 88svh; border-radius: var(--radius-2xl); }
  .hero--photo .hero__media::after {
    background:
      linear-gradient(180deg, rgba(15, 17, 19, .4) 0%, rgba(15, 17, 19, 0) 20%),
      linear-gradient(0deg, rgba(15, 17, 19, .86) 0%, rgba(15, 17, 19, .55) 50%, rgba(15, 17, 19, 0) 78%);
  }
}
.hero__media { position: absolute; inset: 0; z-index: -2; }
.hero__media img, .hero__media video { width: 100%; height: 100%; object-fit: cover; }
.hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(15, 17, 19, .42) 0%, rgba(15, 17, 19, 0) 26%),
    linear-gradient(0deg, rgba(15, 17, 19, .74) 0%, rgba(15, 17, 19, .28) 38%, rgba(15, 17, 19, 0) 62%);
}
.hero__content {
  display: grid;
  justify-items: start;
  gap: var(--space-5);
  width: 100%;
  padding: calc(var(--header-offset) + var(--space-9)) var(--card-pad) var(--card-pad);
}
.hero__content > .hero__facts { justify-self: stretch; }
.hero__content { grid-template-columns: minmax(0, 1fr); }
.hero__content > .chip { max-width: 100%; white-space: normal; line-height: 1.35; }
@media (min-width: 1024px) { .hero__content { padding: calc(var(--header-offset) + var(--space-10)) var(--space-10) var(--space-9); } }
.hero__title { margin: 0; max-width: 15ch; color: inherit; font-size: var(--fs-display); line-height: var(--lh-display); letter-spacing: var(--tracking-display); font-weight: var(--fw-medium); }
.hero__lead { margin: 0; max-width: 46ch; color: rgba(255, 255, 255, .86); font-size: var(--fs-lead); line-height: 1.5; }
.hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.hero__facts {
  display: grid;
  grid-template-columns: repeat(var(--facts, 3), minmax(0, 1fr));
  margin-top: var(--space-5);
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.hero__fact { padding: var(--space-4) var(--space-5); border-left: 1px solid rgba(255, 255, 255, .14); }
.hero__fact:first-child { border-left: 0; }
.hero__fact-value { display: block; font-family: var(--font-display); font-size: clamp(1.25rem, 1rem + 1vw, 1.875rem); font-weight: var(--fw-light); letter-spacing: -0.03em; line-height: 1.1; }
.hero__fact-label { display: block; margin-top: 0.25rem; color: rgba(255, 255, 255, .72); font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: var(--tracking-label); text-transform: uppercase; }
@media (max-width: 767.98px) {
  .hero__facts { --facts: 1; }
  .hero__fact { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .14); padding: var(--space-3) var(--space-4); display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-3); }
  .hero__fact:first-child { border-top: 0; }
  .hero__fact-label { margin: 0; text-align: right; }
}
.hero--fade {
  padding-top: calc(var(--header-offset) + clamp(2.5rem, 1rem + 6vw, 6rem));
  text-align: center;
  overflow: hidden;
}
.hero--fade .hero__content { padding: 0 var(--gutter); justify-items: center; }
.hero--fade .hero__title { max-width: 18ch; color: var(--color-text); }
.hero--fade .hero__lead { color: var(--color-text-muted); }
.hero--fade .hero__media {
  position: relative;
  inset: auto;
  z-index: 0;
  height: clamp(20rem, 12rem + 34vw, 46rem);
  margin-top: calc(var(--space-10) * -0.25);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 34%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 34%);
}
.hero--fade .hero__media::after { background: linear-gradient(0deg, rgba(15, 17, 19, .25) 0%, rgba(15, 17, 19, 0) 30%); }
.model-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: calc(var(--header-offset) + var(--space-5)) 0 var(--space-8);
  background: var(--surface-plate);
  border-radius: 0 0 var(--radius-3xl) var(--radius-3xl);
}
.model-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--metal-hairline);
  opacity: 0.6;
}
.model-hero__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); }
.model-hero__name {
  position: relative;
  z-index: 0;
  margin: clamp(1rem, 0.5rem + 2vw, 2.5rem) 0 0;
  font-size: var(--fs-mega);
  font-weight: var(--fw-medium);
  line-height: 0.86;
  letter-spacing: var(--tracking-mega);
  hyphens: manual;
  background: var(--ink-metal-dark);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.model-hero__name sup { font-size: 0.28em; vertical-align: 1.9em; letter-spacing: 0; margin-left: 0.04em; }
.model-hero__type { margin: 0; max-width: 34ch; color: var(--color-text-muted); font-size: var(--fs-lead); line-height: 1.45; }
.model-hero__intro { display: grid; gap: var(--space-5); }
.model-hero__stage { position: relative; z-index: 1; margin-top: clamp(-5rem, 1.5rem - 6vw, -0.5rem); }
.model-hero__machine {
  width: min(100%, 64rem);
  margin-inline: auto;
  filter: var(--shadow-float);
}
.model-hero__floor {
  position: absolute;
  left: 18%; right: 18%; bottom: 2%;
  height: 12%;
  z-index: -1;
  background: var(--surface-plate-floor);
}
.model-hero__bar {
  display: grid;
  gap: var(--space-6);
  margin-top: var(--space-4);
}
@media (min-width: 1024px) {
  .model-hero__bar { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
}
.model-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.pill-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.pill-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  min-height: 2.25rem;
  padding: 0 1rem;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, .55);
  color: var(--color-text);
  font-size: 0.8125rem;
  font-weight: var(--fw-medium);
  text-decoration: none;
  transition: background-color var(--dur-fast), border-color var(--dur-fast);
}
.pill-nav__link:hover { background: #fff; border-color: var(--color-text); }
.pill-nav__link .icon { width: 0.95rem; height: 0.95rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0.375rem; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li { display: inline-flex; align-items: center; gap: 0.375rem; color: var(--color-text-subtle); font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.breadcrumbs li + li::before { content: "/"; color: var(--color-text-ghost); }
.breadcrumbs a { color: var(--color-text-muted); text-decoration: none; }
.breadcrumbs a:hover { color: var(--color-text); text-decoration: underline; }
.breadcrumbs [aria-current] { color: var(--color-text); }
.subnav {
  position: sticky;
  top: calc(var(--header-top) * 0.66 + var(--header-h-condensed) + 0.5rem);
  z-index: var(--z-sticky);
  padding-inline: var(--gutter);
  margin-block: var(--space-6);
  pointer-events: none;
}
.subnav__bar {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  max-width: var(--container);
  height: var(--subnav-h);
  margin-inline: auto;
  padding: 0 0.3125rem 0 0.375rem;
  border-radius: var(--radius-pill);
}
.subnav__title {
  display: none;
  padding: 0 var(--space-4) 0 var(--space-3);
  border-right: 1px solid var(--color-divider);
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: var(--fw-semibold);
  white-space: nowrap;
}
@media (min-width: 768px) { .subnav__title { display: block; } }
.subnav__list {
  display: flex;
  flex: 1;
  gap: 0.125rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent);
  mask-image: linear-gradient(90deg, #000 88%, transparent);
}
.subnav__list::-webkit-scrollbar { display: none; }
@media (min-width: 1024px) { .subnav__list { -webkit-mask-image: none; mask-image: none; } }
.subnav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4375rem;
  height: 2.375rem;
  padding: 0 0.875rem;
  border-radius: var(--radius-pill);
  color: var(--color-text-muted);
  font-size: 0.875rem;
  font-weight: var(--fw-medium);
  white-space: nowrap;
  text-decoration: none;
  transition: background-color var(--dur-fast), color var(--dur-fast);
}
.subnav__link:hover { color: var(--color-text); background: rgba(255, 255, 255, .7); }
.subnav__link[aria-current="true"], .subnav__link.is-active { background: var(--graphite-900); color: #fff; }
.subnav__link[aria-current="true"]::before, .subnav__link.is-active::before {
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: var(--red-500);
  box-shadow: 0 0 6px rgba(255, 51, 71, .9);
}
.subnav__cta { display: none; flex: none; }
@media (min-width: 768px) { .subnav__cta { display: inline-flex; } }
.photo-card {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-6);
  aspect-ratio: 5 / 5.4;
  min-height: 22rem;
  padding: var(--space-3);
  overflow: hidden;
  border-radius: var(--radius-xl);
  background: var(--graphite-800);
  color: #fff;
}
.photo-card__img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--dur-reveal) var(--ease-out);
}
.photo-card:hover .photo-card__img { transform: scale(1.04); }
.photo-card { container-type: inline-size; }
.photo-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0, 0, 0, .46) 0%, rgba(0, 0, 0, 0) 32%, rgba(0, 0, 0, 0) 52%, rgba(0, 0, 0, .66) 100%); pointer-events: none; }
.photo-card__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas: "num meta meter" "num title title";
  align-items: start;
  gap: 0.25rem 0.875rem;
  margin: calc(var(--space-3) * -1) calc(var(--space-3) * -1) 0;
  padding: 1rem 1.125rem 0.875rem 1.25rem;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .3);
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  box-shadow: none;
}
.photo-card__num { grid-area: num; }
.photo-card__meta { grid-area: meta; }
.photo-card__head > div { grid-area: title; }
.photo-card__meter { grid-area: meter; }
@container (min-width: 25rem) {
  .photo-card__head { grid-template-columns: auto auto minmax(0, 1fr) auto; grid-template-areas: "num meta title meter"; gap: 0 0.875rem; }
  .photo-card__meta { align-self: stretch; padding-right: 0.875rem; border-right: 1px solid rgba(255, 255, 255, .28); }
}
.photo-card__num { font-family: var(--font-display); font-size: clamp(2.5rem, 2rem + 1.4vw, 3.25rem); font-weight: var(--fw-regular); line-height: 0.86; letter-spacing: var(--tracking-num); font-variant-numeric: tabular-nums; }
.photo-card__meta {
  color: #fff;
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  letter-spacing: 0.04em;
}
.photo-card__title { margin: 0; hyphens: manual; color: #fff; font-family: var(--font-display); font-size: 1.125rem; font-weight: var(--fw-medium); line-height: 1.2; letter-spacing: -0.01em; }
.photo-card__sub { margin: 0.125rem 0 0; color: rgba(255, 255, 255, .72); font-size: 0.8125rem; }
.photo-card__meter { padding-top: 0.25rem; }
.photo-card__caption {
  margin: 0;
  padding: 1rem 1.125rem;
  border-radius: var(--radius-lg);
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: var(--fw-medium);
  line-height: 1.35;
  letter-spacing: -0.01em;
}
.photo-card__link { color: inherit; text-decoration: none; }
.product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--color-border-hair);
  border-radius: var(--radius-xl);
  background: var(--color-surface);
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);
}
.product-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); }
.product-card:hover .plate__img { transform: translateY(-6%) scale(1.03); }
.product-card__plate { aspect-ratio: 16 / 10; margin: 0.375rem 0.375rem 0; border-radius: calc(var(--radius-xl) - 0.375rem); }
.product-card__badges { position: absolute; top: 0.875rem; left: 0.875rem; z-index: 2; display: flex; gap: 0.375rem; }
.product-card__body { display: flex; flex: 1; flex-direction: column; gap: var(--space-2); padding: var(--space-5); }
.product-card__family { margin: 0; color: var(--color-text-subtle); font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.product-card__title { margin: 0; font-size: 1.375rem; font-weight: var(--fw-semibold); letter-spacing: -0.02em; line-height: 1.15; }
.product-card__title a { text-decoration: none; }
.product-card__text { margin: 0; color: var(--color-text-muted); font-size: 0.875rem; line-height: 1.5; }
.product-card__variants { margin-top: var(--space-2); }
.product-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-top: auto;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border-hair);
}
.product-card__actions > * { position: relative; z-index: 2; }
.family-card {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 24rem;
  padding: var(--card-pad);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .85);
  border-radius: var(--radius-2xl);
  background: var(--surface-metal);
  box-shadow: var(--shadow-sm);
  color: var(--color-text);
  text-decoration: none;
  transition: box-shadow var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);
}
.family-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); }
.family-card__head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.family-card__icon { width: 4rem; height: 2.75rem; object-fit: cover; border-radius: var(--radius-sm); background: rgba(255, 255, 255, .7); mix-blend-mode: multiply; }
.family-card__visual { display: grid; place-items: center; padding: var(--space-5) 0; }
.family-card__img { width: 100%; max-height: 13rem; object-fit: contain; filter: var(--shadow-float); transition: transform var(--dur-slower) var(--ease-out); }
.family-card:hover .family-card__img { transform: translateY(-6px) scale(1.03); }
.family-card__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-4); }
.family-card__title { margin: 0; font-size: var(--fs-h3); font-weight: var(--fw-semibold); line-height: 1.1; letter-spacing: -0.02em; }
.family-card__text { margin: 0.375rem 0 0; color: var(--color-text-muted); font-size: 0.875rem; line-height: 1.45; }
.glass-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-9);
  min-height: 14rem;
  padding: var(--card-pad);
  border-radius: var(--radius-xl);
}
.glass-card__icon {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(255, 255, 255, .85);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, .6);
  color: var(--red-500);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: var(--fw-medium);
}
.glass-card__icon .icon { width: 1.25rem; height: 1.25rem; }
.glass-card__title { margin: 0; font-size: var(--fs-h4); font-weight: var(--fw-medium); letter-spacing: -0.015em; }
.glass-card__text { margin: 0.375rem 0 0; color: var(--color-text-muted); font-size: 0.9375rem; line-height: 1.5; }
.glass-stage { position: relative; isolation: isolate; padding-block: var(--space-8); }
.glass-stage__bg {
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  width: min(118%, 88rem, calc(100vw - 1rem));
  height: 100%;
  max-width: none;
  object-fit: contain;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
@media (max-width: 1023.98px) {
  .glass-stage { overflow-x: clip; }
  .glass-stage__bg { width: 100%; }
}
.glass-stage__grid { display: grid; gap: var(--space-4); max-width: 46rem; margin-inline: auto; }
@media (min-width: 600px) { .glass-stage__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tile {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(6rem, 5rem + 4vw, 8.5rem);
  align-items: stretch;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-4) var(--space-4) var(--space-5);
  border: 1px solid var(--color-border-hair);
  border-radius: var(--radius-xl);
  background: var(--color-surface);
  color: var(--color-text);
}
.tile__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); padding-block: var(--space-1); }
.tile__title { margin: 0; font-size: 1.125rem; font-weight: var(--fw-medium); letter-spacing: -0.015em; }
.tile__text { margin: 0 0 var(--space-2); color: var(--color-text-muted); font-size: 0.875rem; line-height: 1.45; }
.tile__body .btn { margin-top: auto; }
.tile__media { overflow: hidden; border-radius: var(--radius-md); aspect-ratio: 1; align-self: center; }
.tile__media img { width: 100%; height: 100%; object-fit: cover; }
.tile--dark { background: var(--surface-graphite); border-color: transparent; }
.person-card {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
  padding: var(--space-5);
  border: 1px solid var(--color-border-hair);
  border-radius: var(--radius-xl);
  background: var(--color-surface);
}
.person-card__photo { width: 4rem; height: 4rem; border-radius: 50%; object-fit: cover; object-position: 50% 20%; background: var(--color-surface-3); }
.person-card__name { margin: 0; font-size: 1.0625rem; font-weight: var(--fw-semibold); }
.person-card__role { margin: 0.125rem 0 var(--space-3); color: var(--color-text-subtle); font-size: 0.8125rem; }
.person-card__links { display: grid; gap: 0.25rem; margin: 0; padding: 0; list-style: none; font-size: 0.9375rem; }
.person-card__links a { display: inline-flex; align-items: center; gap: 0.5rem; text-decoration: none; }
.person-card__links a:hover { color: var(--color-accent-text); }
.keyfigs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6) var(--gap);
  margin: 0;
}
@media (min-width: 768px) { .keyfigs { grid-template-columns: repeat(var(--keyfigs, 4), minmax(0, 1fr)); } }
.keyfigs--3 { --keyfigs: 3; }
.keyfig {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  gap: var(--space-2);
  margin: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-divider);
}
.keyfig__value {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-num-xl);
  font-weight: var(--fw-light);
  line-height: 0.95;
  letter-spacing: var(--tracking-num);
  font-variant-numeric: tabular-nums lining-nums;
  white-space: nowrap;
}
.keyfig__unit {
  margin-left: 0.375rem;
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  font-weight: var(--fw-medium);
  letter-spacing: 0.04em;
  vertical-align: 0.15em;
}
.keyfig__label {
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.keyfig--accent .keyfig__value { color: var(--color-accent); }
.keyfig--accent { border-top: 2px solid var(--red-500); padding-top: calc(var(--space-4) - 1px); }
.keyfigs--compact .keyfig__value { font-size: var(--fs-num-l); }
.keyfigs--glass { padding: var(--space-5) var(--card-pad) var(--card-pad); border-radius: var(--radius-xl); }
.factbar {
  --factbar-line: rgba(21, 23, 26, .08);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.factbar__item { display: grid; grid-template-areas: "value" "label" "text"; align-content: start; gap: 0.3125rem; padding: 0.875rem 1.125rem 1rem; border-left: 1px solid var(--factbar-line); }
.factbar__item:first-child { border-left: 0; }
.factbar__value {
  grid-area: value;
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.375rem);
  font-weight: var(--fw-light);
  line-height: 1;
  letter-spacing: var(--tracking-num);
  font-variant-numeric: tabular-nums lining-nums;
  white-space: nowrap;
}
.factbar__unit { margin-left: 0.3rem; color: var(--color-text-muted); font-family: var(--font-mono); font-size: var(--fs-label); font-weight: var(--fw-medium); letter-spacing: 0.02em; }
.factbar__label { grid-area: label; color: var(--color-text); font-family: var(--font-mono); font-size: var(--fs-micro); font-weight: var(--fw-medium); letter-spacing: var(--tracking-label); line-height: 1.3; text-transform: uppercase; }
.factbar__text { grid-area: text; margin: 0; color: var(--color-text-muted); font-size: 0.8125rem; line-height: 1.4; }
.factbar__item--accent .factbar__value { color: var(--color-accent); }
.factbar--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 767.98px) {
  .factbar--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .factbar--4 .factbar__item:nth-child(odd) { border-left: 0; }
  .factbar--4 .factbar__item:nth-child(n+3) { border-top: 1px solid var(--factbar-line); }
}
@media (max-width: 599.98px) {
  .factbar__item { padding: 0.625rem 0.75rem 0.75rem; }
  .factbar:not(.factbar--4) .factbar__text { display: none; }
  .factbar:not(.factbar--4) .factbar__label { font-size: 0.625rem; letter-spacing: 0.04em; }
}
.spec-list { margin: 0; border-top: 1px solid var(--color-divider); }
.spec-list__row {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-4);
  padding: 0.8125rem 0;
  border-bottom: 1px solid var(--color-divider);
}
.spec-list__label { margin: 0; color: var(--color-text-subtle); font-size: 0.8125rem; text-align: right; }
.spec-list__value { margin: 0; font-family: var(--font-display); font-size: 1rem; font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; }
.spec-list__value small { margin-left: 0.25rem; color: var(--color-text-subtle); font-family: var(--font-mono); font-size: 0.75rem; font-weight: var(--fw-regular); }
.table-scroll {
  position: relative;
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  background: var(--color-surface);
  -webkit-overflow-scrolling: touch;
}
.table-scroll:focus-visible { outline-offset: 2px; }
.spec-table { width: 100%; min-width: 40rem; border-collapse: separate; border-spacing: 0; font-size: 0.9375rem; }
.spec-table caption {
  padding: var(--space-4) var(--space-5);
  caption-side: top;
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: var(--tracking-label);
  text-align: left;
  text-transform: uppercase;
  border-bottom: 1px solid var(--color-border-hair);
}
.spec-table th, .spec-table td { padding: 0.875rem 1.25rem; border-bottom: 1px solid var(--color-border-hair); text-align: left; vertical-align: top; }
.spec-table tbody tr:last-child > * { border-bottom: 0; }
.spec-table thead th {
  background: var(--color-surface-2);
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  white-space: nowrap;
}
.spec-table tbody th {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--color-surface);
  font-family: var(--font-display);
  font-weight: var(--fw-semibold);
  white-space: nowrap;
  box-shadow: 1px 0 0 var(--color-border-hair);
}
.spec-table thead th:first-child { position: sticky; left: 0; z-index: 2; }
.spec-table td { font-variant-numeric: tabular-nums; white-space: nowrap; }
.spec-table .unit { margin-left: 0.25em; color: var(--color-text-subtle); font-family: var(--font-mono); font-size: 0.8em; }
.spec-table tbody tr:hover > * { background: var(--steel-25); }
.spec-table tr.is-active > * { background: var(--red-tint); }
.spec-table tr.is-active > th { box-shadow: inset 3px 0 0 var(--red-500), 1px 0 0 var(--color-border-hair); }
.dim-figure {
  position: relative;
  margin: 0;
  padding: clamp(3rem, 2rem + 4vw, 5rem) var(--card-pad) var(--card-pad);
  overflow: hidden;
  border: 1px solid var(--color-border-hair);
  border-radius: var(--radius-2xl);
  background-color: var(--color-bg-raised);
  background-image: var(--pattern-prism);
}
.dim-figure__drawing { position: relative; width: min(100%, 52rem); margin-inline: auto; }
.dim-figure__img { width: 100%; filter: grayscale(1) contrast(1.25) brightness(1.12); mix-blend-mode: multiply; opacity: 0.88; }
.dim-figure__dim {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  white-space: nowrap;
}
.dim-figure__dim::before, .dim-figure__dim::after { content: ""; flex: 1; height: 0; border-top: 1px solid currentColor; opacity: 0.6; }
.dim-figure__dim--x { left: 0; right: 0; top: -2.25rem; }
.dim-figure__dim--x::before { border-left: 1px solid currentColor; height: 0.625rem; transform: translateY(0.3125rem); }
.dim-figure__dim--x::after  { border-right: 1px solid currentColor; height: 0.625rem; transform: translateY(0.3125rem); }
.dim-figure__dim b { color: var(--color-text); font-weight: var(--fw-medium); }
.dim-figure__legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-2) var(--space-7);
  margin: var(--space-6) 0 0;
  padding: 0;
  list-style: none;
  color: var(--color-text-subtle);
  font-family: var(--font-mono);
  font-size: var(--fs-label);
}
.dim-figure__legend b { color: var(--color-text); font-weight: var(--fw-medium); }
.dim-figure__note { position: absolute; top: var(--space-4); right: var(--space-4); }
.accordion { border-top: 1px solid var(--color-divider); }
.accordion__item { border-bottom: 1px solid var(--color-divider); }
.accordion__summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-5) 0;
  font-family: var(--font-display);
  font-size: var(--fs-h4);
  font-weight: var(--fw-medium);
  line-height: 1.25;
  letter-spacing: -0.015em;
  list-style: none;
  cursor: pointer;
  border-radius: var(--radius-sm);
}
.accordion__summary::-webkit-details-marker { display: none; }
.accordion--plain .accordion__summary { grid-template-columns: minmax(0, 1fr) auto; }
.accordion__thumb { width: 3rem; height: 3rem; border-radius: 50%; object-fit: cover; background: var(--color-surface-3); }
.accordion__meta { display: block; margin-top: 0.25rem; color: var(--color-text-subtle); font-family: var(--font-mono); font-size: var(--fs-micro); font-weight: var(--fw-regular); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.accordion__icon {
  position: relative;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid var(--color-border-strong);
  border-radius: 50%;
  transition: background-color var(--dur-base), border-color var(--dur-base), transform var(--dur-slow) var(--ease-out);
}
.accordion__icon::before, .accordion__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.75rem;
  height: 1.5px;
  background: currentColor;
  transform: translate(-50%, -50%);
  transition: transform var(--dur-slow) var(--ease-out);
}
.accordion__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.accordion__summary:hover .accordion__icon { border-color: var(--color-text); }
.accordion__item[open] .accordion__icon { background: var(--graphite-900); border-color: var(--graphite-900); color: #fff; }
.theme-dark .accordion__item[open] .accordion__icon { background: #fff; border-color: #fff; color: var(--graphite-900); }
.accordion__item[open] .accordion__icon::after { transform: translate(-50%, -50%) rotate(0deg); }
.accordion__panel {
  display: grid;
  gap: var(--space-3);
  max-width: 62rem;
  padding: 0 0 var(--space-6) calc(3rem + var(--space-4));
  color: var(--color-text-muted);
}
.accordion--plain .accordion__panel { padding-left: 0; }
.accordion__panel > * { margin: 0; }
.accordion__item[open] .accordion__panel { animation: accordion-in var(--dur-slow) var(--ease-out); }
@keyframes accordion-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (max-width: 599.98px) { .accordion__panel { padding-left: 0; } }
.segmented {
  position: relative;
  isolation: isolate;
  display: inline-grid;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  max-width: 100%;
  padding: 4px;
  border: 1px solid var(--color-border-hair);
  border-radius: var(--radius-pill);
  background: var(--color-surface-3);
}
.segmented__btn {
  position: relative;
  z-index: 1;
  min-height: 2.5rem;
  padding: 0 1.125rem;
  border: 0;
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--color-text-muted);
  font-size: 0.875rem;
  font-weight: var(--fw-medium);
  white-space: nowrap;
  transition: color var(--dur-base) var(--ease-out);
}
.segmented__btn:hover { color: var(--color-text); }
.segmented__btn[aria-selected="true"], .segmented__btn[aria-pressed="true"] { color: var(--color-text); }
.segmented__indicator {
  position: absolute;
  z-index: 0;
  top: 4px;
  bottom: 4px;
  left: 0;
  width: var(--seg-w, 0);
  border-radius: var(--radius-pill);
  background: var(--color-bg-raised);
  box-shadow: var(--shadow-sm);
  transform: translateX(var(--seg-x, 0));
  transition: transform var(--dur-slow) var(--ease-out), width var(--dur-slow) var(--ease-out);
}
.segmented:not(.is-ready) .segmented__btn[aria-selected="true"],
.segmented:not(.is-ready) .segmented__btn[aria-pressed="true"] { background: var(--color-bg-raised); box-shadow: var(--shadow-sm); }
.segmented--signal .segmented__indicator { background: var(--red-500); box-shadow: var(--shadow-red); }
.segmented--signal .segmented__btn[aria-selected="true"], .segmented--signal .segmented__btn[aria-pressed="true"] { color: #fff; }
.segmented--signal:not(.is-ready) .segmented__btn[aria-selected="true"],
.segmented--signal:not(.is-ready) .segmented__btn[aria-pressed="true"] { background: var(--red-500); }
.theme-dark .segmented { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .08); }
.theme-dark .segmented:not(.segmented--signal) .segmented__indicator { background: rgba(255, 255, 255, .16); box-shadow: none; }
.theme-dark .segmented__btn:hover { color: #fff; }
.segmented--block { display: grid; width: 100%; }
.tabs { display: flex; gap: var(--space-2); border-bottom: 1px solid var(--color-divider); overflow-x: auto; scrollbar-width: none; }
.tabs__btn {
  position: relative;
  flex: 1 0 auto;
  padding: var(--space-4) var(--space-4);
  border: 0;
  background: none;
  color: var(--color-text-subtle);
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: var(--fw-medium);
  white-space: nowrap;
}
.tabs__btn:hover { color: var(--color-text); }
.tabs__btn[aria-selected="true"] { color: var(--color-text); }
.tabs__btn[aria-selected="true"]::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--red-500);
  box-shadow: 0 0 8px rgba(255, 51, 71, .5);
}
.tab-panel { padding-top: var(--space-6); }
.tabs--pill { gap: 0.125rem; padding: 3px; border: 1px solid var(--color-border-hair); border-radius: var(--radius-pill); background: var(--color-surface-3); }
.tabs--pill .tabs__btn { flex: 0 0 auto; padding: 0.375rem 0.875rem; border-radius: var(--radius-pill); font-size: 0.8125rem; }
.tabs--pill .tabs__btn[aria-selected="true"] { background: var(--color-bg-raised); box-shadow: var(--shadow-sm); }
.tabs--pill .tabs__btn[aria-selected="true"]::after { display: none; }
.tab-panel:focus-visible { outline-offset: 6px; border-radius: var(--radius-sm); }
.timeline {
  --rail: var(--color-border-strong);
  --dot-bg: var(--color-bg);
  position: relative;
  display: grid;
  grid-auto-columns: minmax(15.5rem, 18.5rem);
  grid-auto-flow: column;
  gap: var(--gap);
  margin: 0;
  padding: 0 var(--gutter) var(--space-4);
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--gutter);
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}
.timeline::-webkit-scrollbar { display: none; }
.theme-dark .timeline { --dot-bg: var(--graphite-900); }
.timeline__item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding-top: var(--space-8);
  scroll-snap-align: start;
}
.timeline__item::before {
  content: "";
  position: absolute;
  top: 0.4375rem;
  left: 0;
  right: calc(var(--gap) * -1);
  height: 1px;
  background: var(--rail);
}
.timeline__item:last-child::before { right: 0; background: linear-gradient(90deg, var(--rail), transparent); }
.timeline__item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0.9375rem;
  height: 0.9375rem;
  border: 1px solid var(--color-border-strong);
  border-radius: 50%;
  background: var(--dot-bg);
}
.timeline__item--milestone::after {
  border-color: var(--red-500);
  background: var(--red-500);
  box-shadow: 0 0 0 6px rgba(217, 0, 26, .16), 0 0 14px rgba(255, 51, 71, .6);
}
.timeline__year {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(3rem, 2.4rem + 2.4vw, 4.75rem);
  font-weight: var(--fw-thin);
  line-height: 0.88;
  letter-spacing: var(--tracking-num);
  font-variant-numeric: tabular-nums lining-nums;
}
.theme-dark .timeline__year { background: var(--ink-metal); -webkit-background-clip: text; background-clip: text; color: transparent; }
.timeline__item--milestone .timeline__year { color: var(--color-accent); background: none; -webkit-text-fill-color: currentColor; }
.theme-dark .timeline__item--milestone .timeline__year { color: var(--red-400); }
.timeline__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--color-surface-2);
}
.timeline__media img { width: 100%; height: 100%; object-fit: cover; }
.timeline__media--contain img { object-fit: contain; background: #fff; padding: 8%; }
.timeline__media--print { display: grid; place-items: center; }
.archive-print {
  display: grid;
  gap: 0.375rem;
  width: min(9rem, 62%);
  padding: 0.375rem 0.375rem 0.5rem;
  background: #F4F2EC;
  box-shadow: 0 1px 1px rgba(0, 0, 0, .25), 0 10px 18px -8px rgba(0, 0, 0, .55);
  transform: rotate(-1.6deg);
}
.timeline__item:nth-child(even) .archive-print { transform: rotate(1.2deg); }
.archive-print img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; background: none; padding: 0; }
.archive-print__cap { color: #4A4F57; font-family: var(--font-mono); font-size: 0.625rem; letter-spacing: 0.06em; text-transform: uppercase; }
.timeline__title { margin: 0; font-size: 1.0625rem; font-weight: var(--fw-semibold); line-height: 1.3; letter-spacing: -0.01em; }
.timeline__text { margin: 0; color: var(--color-text-muted); font-size: 0.875rem; line-height: 1.5; }
.timeline-wrap { position: relative; }
.timeline-wrap__controls { display: flex; gap: var(--space-2); }
.carousel { position: relative; }
.carousel__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--space-5); margin-bottom: var(--space-7); }
.carousel__controls { display: flex; align-items: center; gap: var(--space-3); }
.carousel__track {
  --slide-w: 86%;
  display: grid;
  grid-auto-columns: var(--slide-w);
  grid-auto-flow: column;
  gap: var(--gap);
  margin: 0;
  padding: 0 0 var(--space-2);
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}
.carousel__track::-webkit-scrollbar { display: none; }
@media (min-width: 768px)  { .carousel__track { --slide-w: calc((100% - var(--gap)) / 2); } }
@media (min-width: 1024px) { .carousel__track { --slide-w: calc((100% - var(--gap) * 2) / 3); } }
.carousel__track--4 { }
@media (min-width: 1280px) { .carousel__track--4 { --slide-w: calc((100% - var(--gap) * 3) / 4); } }
.carousel__slide { scroll-snap-align: start; min-width: 0; display: flex; }
.carousel__slide > * { flex: 1; min-width: 0; }
.carousel__progress { height: 2px; margin-top: var(--space-5); background: var(--color-divider); border-radius: 2px; overflow: hidden; }
.carousel__progress span { display: block; height: 100%; width: var(--progress, 0%); background: var(--graphite-900); transition: width var(--dur-slow) var(--ease-out); }
.theme-dark .carousel__progress span { background: #fff; }
.field { display: grid; gap: 0.5rem; }
.field__label { font-size: 0.875rem; font-weight: var(--fw-medium); }
.field__label .req { color: var(--color-accent-text); }
.field__hint { margin: 0; color: var(--color-text-subtle); font-size: 0.8125rem; }
.field__error { margin: 0; color: var(--red-600); font-size: 0.8125rem; font-weight: var(--fw-medium); }
.input, .select, .textarea {
  width: 100%;
  min-height: 3rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  background: var(--color-bg-raised);
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.4;
  transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.textarea { min-height: 8rem; resize: vertical; }
.input::placeholder, .textarea::placeholder { color: var(--color-text-subtle); }
.input:hover, .select:hover, .textarea:hover { border-color: var(--steel-500); }
.input:focus-visible, .select:focus-visible, .textarea:focus-visible { outline: none; border-color: var(--graphite-900); box-shadow: var(--focus-ring); }
.field--error .input, .input[aria-invalid="true"] { border-color: var(--red-600); }
.select {
  appearance: none;
  padding-right: 2.75rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2315171A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
}
.check { display: flex; align-items: flex-start; gap: 0.75rem; font-size: 0.9375rem; cursor: pointer; }
.check input {
  appearance: none;
  display: grid;
  place-content: center;
  flex: none;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0.125rem 0 0;
  border: 1px solid var(--color-border-strong);
  border-radius: 6px;
  background: var(--color-bg-raised);
  transition: background-color var(--dur-fast), border-color var(--dur-fast);
}
.check input::before { content: ""; width: 0.625rem; height: 0.625rem; clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); background: #fff; transform: scale(0); transition: transform var(--dur-base) var(--ease-spring); }
.check input:checked { background: var(--graphite-900); border-color: var(--graphite-900); }
.check input:checked::before { transform: scale(1); }
.check input:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.search-pill {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  max-width: 30rem;
  padding: 0.3125rem 0.3125rem 0.3125rem 1.125rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  background: var(--color-bg-raised);
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--dur-fast), border-color var(--dur-fast);
}
.search-pill:focus-within { border-color: var(--graphite-900); box-shadow: var(--focus-ring); }
.search-pill__icon { color: var(--color-accent); }
.search-pill__input {
  flex: 1;
  min-width: 0;
  height: 2.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: var(--fw-medium);
}
.search-pill__input::placeholder { color: var(--color-text-subtle); font-weight: var(--fw-regular); }
.search-pill__input:focus { outline: none; }
.search-pill .btn-round { --size: 2.875rem; }
.search-pill--glass { box-shadow: var(--glass-shadow), var(--glass-inner); }
.theme-dark .search-pill { background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .14); box-shadow: none; }
.theme-dark .search-pill:focus-within { border-color: #fff; }
.form-note { margin: var(--space-2) 0 0; color: var(--color-text-subtle); font-size: 0.75rem; }
.form-hinweis {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  margin: var(--space-4) 0 0;
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-left: 3px solid var(--graphite-900);
  border-radius: var(--radius-md);
  background: var(--color-bg-raised);
  color: var(--color-text);
  font-size: 0.9375rem;
  line-height: 1.5;
}
.form-hinweis[hidden] { display: none; }
.form-hinweis__icon { flex: none; margin-top: 0.1875rem; color: var(--color-text); }
.form-hinweis__text { margin: 0; min-width: 0; overflow-wrap: break-word; }
.form-hinweis__text a { color: inherit; font-weight: var(--fw-semibold); text-decoration: underline; text-underline-offset: 0.15em; }
.form-hinweis__text a[href^="tel:"] { white-space: nowrap; }
.form-hinweis__keep { display: block; margin-top: 0.25rem; color: var(--color-text-muted); font-size: 0.875em; }
.form-hinweis--kompakt { gap: var(--space-2); max-width: 26rem; margin-top: var(--space-3); padding: 0.625rem 0.875rem; font-size: 0.8125rem; }
.form-hinweis--kompakt .form-hinweis__icon { width: 1rem; height: 1rem; margin-top: 0.125rem; }
.theme-dark .form-hinweis { border-color: var(--color-border-inverse); border-left-color: #fff; background: rgba(255, 255, 255, .06); color: var(--color-text-inverse); }
.theme-dark .form-hinweis__icon { color: #fff; }
.theme-dark .form-hinweis__keep { color: var(--color-text-inverse-muted); }
.uz-form > .form-hinweis, .sv-form > .form-hinweis { margin: 0; }
.sv-form > .form-hinweis { margin-top: var(--space-6); }
.form-hinweis.is-flash { animation: form-hinweis-flash 1.4s var(--ease-out); }
@keyframes form-hinweis-flash { 0%, 30% { box-shadow: 0 0 0 4px rgba(21, 23, 26, .14); } 100% { box-shadow: 0 0 0 0 rgba(21, 23, 26, 0); } }
@media (prefers-reduced-motion: reduce) { .form-hinweis.is-flash { animation: none; } }
html[data-rahmen="aus"] form[data-formular] .chip--hinweis,
html[data-rahmen="aus"] .form-note--hinweis { display: none; }
.statement {
  max-width: 34em;
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-statement);
  font-weight: var(--fw-regular);
  line-height: 1.28;
  letter-spacing: -0.022em;
  text-wrap: pretty;
}
.statement .t-ghost, .statement__muted { color: var(--color-text-ghost); }
.compare { display: grid; gap: var(--gap-lg); }
@media (min-width: 768px) { .compare { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.compare__head { margin: 0; padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-text); }
.compare__col--accent .compare__head { border-bottom-color: var(--red-500); color: var(--color-accent-text); }
.compare__rows { margin: 0; }
.compare__row { display: grid; grid-template-columns: minmax(7.5rem, 0.8fr) minmax(0, 1.4fr); gap: var(--space-4); padding: var(--space-5) 0; border-bottom: 1px solid var(--color-divider); }
.compare__term { margin: 0; font-family: var(--font-display); font-size: 1.0625rem; font-weight: var(--fw-medium); }
.compare__desc { margin: 0; color: var(--color-text-muted); font-size: 0.875rem; line-height: 1.5; }
.meter { display: inline-flex; gap: 3px; vertical-align: middle; }
.meter i { width: 0.5rem; height: 0.3125rem; border-radius: 1.5px; background: currentColor; opacity: 0.28; }
.meter i.is-on { opacity: 1; }
.meter--dots i { width: 0.375rem; height: 0.375rem; border-radius: 50%; }
.meter--accent i.is-on { background: var(--red-500); opacity: 1; }
.data-panel { display: grid; gap: var(--space-3); padding: var(--space-4) var(--space-5); border-radius: var(--radius-lg); font-size: 0.8125rem; }
.data-panel__title { margin: 0; color: rgba(255, 255, 255, .8); font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.data-panel__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); align-items: center; }
.config-stage {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: var(--space-3);
  padding: var(--space-3);
  overflow: hidden;
  border-radius: var(--radius-3xl);
  background: var(--surface-graphite);
}
.config-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--pattern-prism-dark);
  -webkit-mask-image: radial-gradient(80% 70% at 30% 50%, #000 0%, transparent 75%);
  mask-image: radial-gradient(80% 70% at 30% 50%, #000 0%, transparent 75%);
}
@media (min-width: 1024px) {
  .config-stage { grid-template-columns: minmax(0, 1.55fr) minmax(21rem, 1fr); padding: var(--space-4); }
}
.config-stage__visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: clamp(18rem, 12rem + 20vw, 34rem);
  padding: var(--space-10) var(--space-5) var(--space-12);
  border-radius: var(--radius-2xl);
  background: radial-gradient(60% 55% at 50% 48%, rgba(255, 255, 255, .13) 0%, rgba(255, 255, 255, 0) 70%);
}
.config-stage__machine { position: relative; z-index: 1; width: min(92%, 46rem); filter: drop-shadow(0 34px 28px rgba(0, 0, 0, .55)) drop-shadow(0 6px 8px rgba(0, 0, 0, .35)); }
.config-stage__floor {
  position: absolute;
  left: 14%; right: 14%;
  bottom: 18%;
  height: 16%;
  background: radial-gradient(50% 50% at 50% 50%, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, 0) 70%);
}
.config-stage__badges { position: absolute; top: var(--space-4); left: var(--space-4); display: flex; flex-wrap: wrap; gap: 0.375rem; }
.config-stage__panel { display: flex; flex-direction: column; gap: var(--space-5); padding: var(--card-pad); border-radius: var(--radius-2xl); }
.config-stage__panel .eyebrow { margin: 0; }
.config-stage__title { margin: 0; color: #fff; font-size: clamp(1.625rem, 1.25rem + 1.2vw, 2.25rem); font-weight: var(--fw-medium); line-height: 1.1; letter-spacing: var(--tracking-h2); }
.config-stage__ghost { display: block; color: var(--color-text-ghost); }
.config-stage__text { margin: 0; color: var(--color-text-muted); font-size: 0.9375rem; line-height: 1.5; }
.config-stage__group { display: grid; gap: var(--space-3); }
.config-stage__alt { align-self: center; color: var(--color-text-muted); }
.config-stage__visual { overflow: hidden; }
.config-stage__model {
  position: absolute;
  left: 50%;
  top: 46%;
  z-index: 0;
  margin: 0;
  transform: translate(-50%, -50%);
  color: rgba(255, 255, 255, .05);
  font-family: var(--font-display);
  font-size: clamp(6rem, 2rem + 16vw, 17rem);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tracking-mega);
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}
.config-stage__caption { position: absolute; left: var(--space-5); bottom: var(--space-5); margin: 0; max-width: 55%; color: var(--color-text-muted); font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: 0.02em; }
.config-stage__badges { z-index: 2; }
@media (max-width: 599.98px) {
  .config-stage__visual { padding-bottom: var(--space-12); }
  .config-stage__caption { right: var(--space-5); max-width: none; }
}
.config-steps { display: grid; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-divider); }
.config-step { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-3); padding: 0.875rem 0; border-bottom: 1px solid var(--color-divider); }
.config-step__num {
  display: inline-grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid var(--color-border-strong);
  border-radius: 50%;
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: 0.6875rem;
}
.config-step.is-done .config-step__num { background: #fff; border-color: #fff; color: var(--graphite-900); }
.config-step__body { display: grid; gap: 0.375rem; align-content: start; min-width: 0; }
.config-step__label { color: var(--color-text-muted); font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.config-step__from { text-transform: none; letter-spacing: 0.02em; }
.config-step__value { color: var(--color-text); font-family: var(--font-display); font-size: 1rem; font-weight: var(--fw-medium); line-height: 1.4; }
.config-step__value b { font-weight: var(--fw-semibold); }
.config-step .chips .chip { white-space: normal; font-family: var(--font-body); }
.option-list { display: grid; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0.875rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  font-size: 0.875rem;
  cursor: pointer;
  transition: border-color var(--dur-fast), background-color var(--dur-fast);
}
.option:hover { border-color: var(--color-border-strong); }
.option__check { display: grid; place-items: center; width: 1.375rem; height: 1.375rem; border: 1px solid var(--color-border-strong); border-radius: 50%; color: transparent; transition: background-color var(--dur-base), border-color var(--dur-base); }
.option__check .icon { width: 0.875rem; height: 0.875rem; stroke-width: 2.5; }
.option__meta { color: var(--color-text-subtle); font-family: var(--font-mono); font-size: 0.6875rem; }
.option input { position: absolute; opacity: 0; pointer-events: none; }
.option:has(input:checked), .option.is-selected { border-color: var(--red-500); background: rgba(217, 0, 26, .08); }
.option:has(input:checked) .option__check, .option.is-selected .option__check { background: var(--red-500); border-color: var(--red-500); color: #fff; }
.option:has(input:focus-visible) { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.offer-box {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-1) var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-divider);
}
.offer-box > * { margin: 0; }
.offer-box__label { color: var(--color-text-muted); font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.offer-box__value { color: var(--color-text); font-family: var(--font-display); font-size: clamp(1.375rem, 1.15rem + 0.7vw, 1.75rem); font-weight: var(--fw-light); line-height: 1.15; letter-spacing: var(--tracking-num); }
.offer-box__note { flex: 1 1 100%; color: var(--color-text-muted); font-size: 0.8125rem; line-height: 1.5; }
.config-steps + .offer-box { padding-top: 0; border-top: 0; }
.placeholder-box {
  display: grid;
  place-items: center;
  gap: var(--space-3);
  min-height: 12rem;
  padding: var(--space-6);
  border: 1.5px dashed var(--color-border-strong);
  border-radius: var(--radius-xl);
  color: var(--color-text-subtle);
  text-align: center;
  font-size: 0.875rem;
}
.seal { position: relative; display: grid; place-items: center; width: var(--seal, 11rem); aspect-ratio: 1; }
.seal__text { position: absolute; inset: 0; width: 100%; height: 100%; fill: currentColor; font-family: var(--font-mono); font-size: 6.4px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; animation: seal-spin 40s linear 2; }
.seal__disc { display: grid; place-items: center; width: 58%; aspect-ratio: 1; border-radius: 50%; background: var(--surface-plate); box-shadow: var(--shadow-md), inset 0 1px 0 #fff; }
.seal__disc img { width: 78%; }
@keyframes seal-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .seal__text { animation: none; } }
.heritage-band { display: grid; gap: var(--gap-lg); align-items: end; }
@media (min-width: 1024px) { .heritage-band { grid-template-columns: auto minmax(0, 1fr); } }
.heritage-band__year { margin: 0; }
.heritage-band__body { max-width: 40rem; }
.sticky-cta {
  position: fixed;
  left: var(--space-2);
  right: var(--space-2);
  bottom: calc(var(--space-2) + env(safe-area-inset-bottom));
  z-index: var(--z-sticky);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: 0.375rem 0.375rem 0.375rem 1.125rem;
  border-radius: var(--radius-pill);
  transform: translateY(160%);
  transition: transform var(--dur-slow) var(--ease-out);
}
.sticky-cta.is-visible { transform: none; }
.sticky-cta__name { display: block; font-family: var(--font-display); font-size: 0.9375rem; font-weight: var(--fw-semibold); line-height: 1.2; }
.sticky-cta__meta { display: block; color: var(--color-text-subtle); font-family: var(--font-mono); font-size: 0.6875rem; }
@media (min-width: 768px) { .sticky-cta { display: none; } }
.bottom-bar {
  position: fixed;
  left: 50%;
  bottom: calc(var(--space-2) + env(safe-area-inset-bottom));
  z-index: var(--z-sticky);
  display: flex;
  gap: 0.25rem;
  padding: 0.3125rem;
  border-radius: var(--radius-pill);
  transform: translateX(-50%);
}
.bottom-bar__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4375rem;
  min-height: var(--tap-min);
  padding: 0 0.875rem;
  border-radius: var(--radius-pill);
  color: var(--color-text);
  font-size: 0.8125rem;
  font-weight: var(--fw-medium);
  text-decoration: none;
  white-space: nowrap;
}
.bottom-bar__link:hover { background: rgba(255, 255, 255, .7); }
.bottom-bar__link--primary { background: var(--red-500); color: #fff; box-shadow: var(--shadow-red); }
.bottom-bar__link--primary:hover { background: var(--red-550); }
@media (min-width: 768px) { .bottom-bar { display: none; } }
@media (max-width: 359.98px) {
  .bottom-bar { gap: 0.125rem; padding: 0.25rem; }
  .bottom-bar__link { gap: 0.3125rem; padding: 0 0.5rem; }
}
.site-footer {
  position: relative;
  isolation: isolate;
  margin-top: var(--section-y);
  padding: clamp(7rem, 4rem + 12vw, 16rem) var(--gutter) var(--gutter);
}
.site-footer__bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.site-footer__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 72%; }
.site-footer__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, var(--color-bg) 0%, rgba(243, 244, 246, 0) 38%, rgba(15, 17, 19, .15) 100%);
}
.site-footer__card {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding: clamp(1.75rem, 1rem + 3vw, 4rem) clamp(1.25rem, 0.5rem + 3vw, 4rem) 0;
  overflow: hidden;
  border-radius: var(--radius-2xl);
  background: var(--surface-graphite);
  box-shadow: var(--shadow-xl);
}
.site-footer__top { display: grid; gap: var(--space-10) var(--gap-lg); }
@media (min-width: 1024px) { .site-footer__top { grid-template-columns: minmax(0, 1fr) minmax(0, 1.9fr); } }
.site-footer__claim { margin: 0 0 var(--space-6); max-width: 24ch; font-family: var(--font-display); font-size: var(--fs-h4); font-weight: var(--fw-regular); line-height: 1.35; letter-spacing: -0.015em; }
.site-footer__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8) var(--gap); }
@media (min-width: 768px) { .site-footer__nav { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.site-footer__heading { margin: 0 0 var(--space-4); color: var(--color-text-muted); font-family: var(--font-mono); font-size: var(--fs-label); font-weight: var(--fw-medium); letter-spacing: var(--tracking-label); text-transform: uppercase; }
html:not(:lang(de)) .site-footer__heading { min-height: 2lh; }
.site-footer__links { display: grid; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.site-footer__links a { color: var(--color-text-muted); font-size: 0.9375rem; text-decoration: none; }
@media (max-width: 767.98px) { .site-footer__links a { display: inline-block; padding-block: 0.375rem; } }
.site-footer__links a:hover { color: #fff; text-decoration: underline; }
.site-footer__contact {
  display: grid;
  gap: var(--space-6) var(--gap);
  margin-top: var(--space-10);
  padding-block: var(--space-7);
  border-top: 1px solid var(--color-divider);
  font-size: 0.9375rem;
}
@media (min-width: 768px)  { .site-footer__contact { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .site-footer__contact { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.site-footer__contact p { margin: 0; color: var(--color-text-muted); }
.site-footer__contact a { color: var(--color-text); text-decoration: none; }
.site-footer__contact a:hover { text-decoration: underline; }
.site-footer__wordmark { margin: var(--space-4) 0 0; padding-bottom: clamp(1rem, 0.5rem + 1.5vw, 2rem); }
.wordmark-metal {
  display: block;
  width: 100%;
  aspect-ratio: 2010 / 349;
  background: var(--ink-metal);
  -webkit-mask: url("../img/brand/logo-wordmark.png?v=66e27d5bd7") center / contain no-repeat;
  mask: url("../img/brand/logo-wordmark.png?v=66e27d5bd7") center / contain no-repeat;
  opacity: 0.92;
}
.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3) var(--space-6);
  padding: var(--space-5) 0;
  border-top: 1px solid var(--color-divider);
  color: var(--color-text-subtle);
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.site-footer__bottom ul { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); margin: 0; padding: 0; list-style: none; }
.site-footer__bottom a { color: var(--color-text-muted); text-decoration: none; }
.site-footer__bottom a:hover { color: #fff; }
.js .reveal {
  opacity: 0;
  transform: translate3d(0, var(--reveal-distance), 0);
  transition: opacity var(--dur-reveal) var(--ease-out), transform var(--dur-reveal) var(--ease-out);
  transition-delay: calc(var(--reveal-i, 0) * 90ms);
}
.js .reveal:not(.is-visible) { animation: reveal-failsafe 0s linear 4s forwards; }
.js .reveal.is-visible { opacity: 1; transform: none; }
@keyframes reveal-failsafe { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .js .reveal { opacity: 1; transform: none; transition: none; animation: none; }
  .photo-card:hover .photo-card__img,
  .product-card:hover,
  .family-card:hover { transform: none; }
}
@media print {
  .site-header, .mega-backdrop, .mobile-nav, .subnav, .sticky-cta, .site-footer__bg { display: none !important; }
  body { background: #fff; }
  .site-footer { padding: 0; }
  .theme-dark, .section--dark, .site-footer__card, .config-stage { background: #fff !important; color: #000; }
}
.site-header__icon { flex: none; }
.site-header .site-header__primary { display: none; margin-left: var(--space-1); }
@media (min-width: 1024px) { .site-header .site-header__primary { display: inline-flex; } }
.site-header__primary .btn__icon { background: #fff; color: var(--red-500); }
.btn__tag {
  display: inline-block;
  margin-left: -0.25rem;
  padding: 0.0625rem 0.375rem;
  border: 1px dashed currentColor;
  border-radius: var(--radius-pill);
  background: transparent;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-transform: uppercase;
  opacity: 0.85;
}
.btn--ghost .btn__tag, .btn--glass .btn__tag, .btn--soft .btn__tag { color: var(--color-hinweis); border-color: var(--color-hinweis-border); opacity: 1; }
.btn--primary .btn__tag { opacity: 1; }
.theme-dark .btn--glass .btn__tag { color: var(--steel-300); border-color: rgba(255, 255, 255, .4); }
.search-panel { width: min(30rem, calc(100vw - var(--gutter) * 2)); padding: var(--space-4); }
.search-pill--panel { max-width: none; box-shadow: none; }
.search-panel__label { margin: var(--space-4) 0 var(--space-2); color: var(--color-text-subtle); font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.search-panel .form-note { margin-top: var(--space-3); }
.search-hint { margin: var(--space-3) 0 0; padding: 0.5rem 0.75rem; border-radius: var(--radius-md); color: var(--color-text-muted); font-size: 0.8125rem; line-height: 1.5; }
.search-hint .chip--hinweis { margin-right: 0.375rem; vertical-align: 0.0625rem; }
.search-hint.is-flash { animation: search-hint-flash 1.6s var(--ease-out); }
@keyframes search-hint-flash { 0%, 35% { background: var(--steel-100); color: var(--color-text); } 100% { background: transparent; } }
@media (prefers-reduced-motion: reduce) { .search-hint.is-flash { animation: none; background: var(--steel-100); color: var(--color-text); } }
.mobile-nav__search + .search-hint { margin-top: var(--space-2); padding-inline: 0.25rem; }
.nav-dropdown__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2) var(--space-5);
  margin: var(--space-2) var(--space-2) 0;
  padding: var(--space-3) 0.875rem var(--space-2);
  border-top: 1px solid var(--color-border-hair);
  font-size: 0.875rem;
}
.nav-dropdown__foot a { display: inline-flex; align-items: center; gap: 0.375rem; color: var(--color-text); text-decoration: none; font-weight: var(--fw-medium); }
.nav-dropdown__foot a:hover { color: var(--color-accent-text); }
.nav-dropdown__foot .icon { width: 0.9375rem; height: 0.9375rem; color: var(--color-text-subtle); }
.nav-dropdown__foot-label { width: 100%; color: var(--color-text-subtle); font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.nav-dropdown__foot--teaser { flex-wrap: nowrap; gap: var(--space-4); color: var(--color-text); text-decoration: none; border-radius: 0 0 var(--radius-lg) var(--radius-lg); }
.nav-dropdown__foot--teaser span:not(.nav-dropdown__year) { color: var(--color-text-muted); font-size: 0.8125rem; line-height: 1.4; }
.nav-dropdown__foot--teaser:hover .icon { transform: translateX(3px); color: var(--color-text); }
.nav-dropdown__foot--teaser .icon { transition: transform var(--dur-slow) var(--ease-spring); }
.nav-dropdown__year { font-family: var(--font-display); font-size: 2rem; font-weight: var(--fw-thin); line-height: 1; letter-spacing: var(--tracking-num); color: var(--color-accent); }
.mobile-nav__search { max-width: none; margin-top: var(--space-3); box-shadow: none; }
.mobile-nav__group > summary { gap: var(--space-3); }
.mobile-nav__count { margin-left: auto; color: var(--color-text-subtle); font-family: var(--font-mono); font-size: var(--fs-micro); font-weight: var(--fw-regular); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.mobile-nav__link .chip { margin-left: var(--space-3); margin-right: auto; }
.mfam { border-top: 1px solid var(--color-border-hair); }
.mfam:first-child { border-top: 0; }
.mfam__summary {
  display: grid;
  grid-template-columns: 1.75rem 3.5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  min-height: var(--tap-min);
  padding: 0.5rem 0.25rem 0.5rem 0;
  list-style: none;
  cursor: pointer;
  border-radius: var(--radius-sm);
}
.mfam__summary::-webkit-details-marker { display: none; }
.mfam__num { color: var(--color-text-subtle); font-family: var(--font-mono); font-size: 0.75rem; font-variant-numeric: tabular-nums; }
.mfam[open] .mfam__num { color: var(--color-accent-text); }
.mfam__thumb { display: grid; place-items: center; width: 3.5rem; height: 2.5rem; overflow: hidden; border-radius: var(--radius-sm); background: var(--surface-plate); }
.mfam__thumb img, .mfam__plate img { width: 88%; height: 80%; object-fit: contain; filter: drop-shadow(0 3px 3px rgba(21, 23, 26, .2)); }
.mfam__label { display: flex; flex-direction: column; min-width: 0; font-family: var(--font-display); font-size: 1.0625rem; font-weight: var(--fw-semibold); letter-spacing: -0.01em; line-height: 1.25; }
.mfam__label small { color: var(--color-text-subtle); font-family: var(--font-mono); font-size: 0.6875rem; font-weight: var(--fw-regular); letter-spacing: 0.02em; }
.mfam__chev { color: var(--color-text-muted); transition: transform var(--dur-base) var(--ease-out); }
.mfam[open] .mfam__chev { transform: rotate(180deg); }
.mfam__list { display: grid; gap: 0.375rem; margin: 0.25rem 0 0.5rem; padding: 0 0 0 2.5rem; list-style: none; }
.mfam__machine {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.375rem 0.625rem 0.375rem 0.375rem;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .6);
  color: var(--color-text);
  text-decoration: none;
}
.mfam__machine:hover { background: #fff; }
.mfam__plate { display: grid; place-items: center; height: 2.75rem; overflow: hidden; border-radius: var(--radius-sm); background: var(--surface-plate); }
.mfam__name { display: flex; flex-direction: column; min-width: 0; font-size: 0.9375rem; font-weight: var(--fw-semibold); line-height: 1.25; }
.mfam__name small { margin-top: 0.125rem; color: var(--color-text-subtle); font-family: var(--font-mono); font-size: 0.6875rem; font-weight: var(--fw-regular); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mfam__all { margin: 0.25rem 0 0.75rem 2.5rem; }
.site-footer__lead .eyebrow { margin-bottom: var(--space-4); }
.site-footer__headline { margin: 0 0 var(--space-6); max-width: 18ch; font-family: var(--font-display); font-size: var(--fs-h3); font-weight: var(--fw-medium); line-height: 1.15; letter-spacing: -0.02em; text-wrap: balance; }
.site-footer__headline .t-ghost { display: block; }
.site-footer__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-bottom: var(--space-8); }
.site-footer__newsletter { max-width: 26rem; }
.site-footer__channel { margin: var(--space-4) 0 0; }
.site-footer__channel .btn--link { color: var(--color-text-muted); }
.site-footer__channel .btn--link:hover { color: #fff; }
.site-footer__links .chip--hinweis { min-height: 1.125rem; margin-left: 0.375rem; padding: 0 0.375rem; font-size: 0.625rem; vertical-align: 0.1em; }
.site-footer__seal {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin: var(--space-9) 0 0;
  color: var(--color-text-subtle);
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.site-footer__seal p { margin: 0; }
.site-footer__ring { width: 1.75rem; height: 1.75rem; opacity: 0.75; }
.site-footer__bottom .site-footer__social { gap: 0.375rem; }
.footer-social {
  display: inline-grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  color: var(--color-text-muted);
  transition: color var(--dur-fast), border-color var(--dur-fast), background-color var(--dur-fast);
}
.site-footer__bottom .footer-social:hover { color: #fff; border-color: rgba(255, 255, 255, .6); background: rgba(255, 255, 255, .06); }
.footer-social .icon { width: 1.125rem; height: 1.125rem; }
.site-footer__note { margin: 0; padding: 0 0 var(--space-3); color: var(--color-text-muted); font-size: 0.75rem; }
.site-footer__hinweis { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin: 0; padding: 0 0 var(--space-5); color: var(--color-text-muted); font-size: 0.75rem; line-height: 1.5; }
.site-footer__cookie { padding: 0; border: 0; background: none; color: var(--color-text-muted); font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
.site-footer__cookie:hover { color: #fff; text-decoration: underline; }
@media (max-width: 767.98px) {
  body:has(> .bottom-bar) { padding-bottom: calc(4.75rem + env(safe-area-inset-bottom)); }
  .bottom-bar { width: max-content; max-width: calc(100vw - var(--space-4)); }
}
.hinweis-toast {
  position: fixed;
  left: 50%;
  bottom: calc(var(--space-4) + env(safe-area-inset-bottom));
  z-index: var(--z-toast);
  max-width: min(36rem, calc(100vw - 2rem));
  padding: 0.75rem 1.125rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--radius-lg);
  background: var(--glass-dark-sheen), rgba(21, 23, 26, .9);
  box-shadow: var(--shadow-lg);
  color: #fff;
  font-size: 0.875rem;
  line-height: 1.45;
  opacity: 0;
  transform: translate(-50%, 0.75rem);
  transition: opacity var(--dur-base) var(--ease-out), transform var(--dur-slow) var(--ease-out);
}
.hinweis-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.hinweis-toast strong { margin-right: 0.5rem; color: #FFC44D; font-family: var(--font-mono); font-size: var(--fs-micro); font-weight: var(--fw-medium); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.hinweis-toast code { color: var(--steel-300); font-family: var(--font-mono); font-size: 0.8125rem; word-break: break-all; }
@media (max-width: 767.98px) { .hinweis-toast { bottom: calc(5.25rem + env(safe-area-inset-bottom)); } }
.mobile-nav__group--chev[open] > summary .icon { transform: rotate(180deg); }
.stamp {
  --stamp-c: var(--stamp-ink);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  width: fit-content;
  margin: 0;
  padding: 0.3125rem 0.75rem 0.3125rem 0.4375rem;
  border: 2px solid var(--stamp-c);
  border-radius: 3px;
  outline: 1px solid var(--stamp-c);
  outline-offset: 2px;
  color: var(--stamp-c);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: var(--fw-medium);
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  white-space: nowrap;
  transform: rotate(var(--stamp-rot, -2.5deg));
}
.theme-dark .stamp { --stamp-c: var(--stamp-ink-on-dark); background: rgba(15, 17, 19, .74); }
.stamp__mark {
  flex: none;
  width: 1.125rem;
  height: 1.125rem;
  background: currentColor;
  -webkit-mask: url("../img/brand/logo-ring-maske-64.png?v=ec3f0c209a") center / contain no-repeat;
  mask: url("../img/brand/logo-ring-maske-64.png?v=ec3f0c209a") center / contain no-repeat;
}
.stamp__sep { margin: 0 -0.1875em; }
.quote-book p,
.caption-book {
  font-family: var(--font-book);
  font-style: italic;
  font-weight: var(--fw-regular);
  font-optical-sizing: auto;
  letter-spacing: 0;
}
.quote-book p { line-height: 1.28; text-wrap: pretty; hanging-punctuation: first; }
.timeline--album .img-archive,
.pioneers--album .img-archive { filter: url(#fx-archive) contrast(1.04); }
.timeline--album .timeline__media--paper .img-archive { mix-blend-mode: multiply; }
.timeline--album .is-colorable:hover .img-archive,
.timeline--album .is-colorable:focus-within .img-archive,
.pioneers--album .is-colorable:hover .img-archive { filter: none; }
.timeline--album .archive-print {
  position: relative;
  width: min(9.5rem, 64%);
  padding: 0.4375rem 0.4375rem 0.5rem;
  background: var(--archive-paper);
  box-shadow: 0 1px 1px rgba(0, 0, 0, .3), 0 12px 20px -10px rgba(0, 0, 0, .65);
}
.timeline--album .archive-print::before {
  content: "";
  position: absolute;
  inset: -3px;
  pointer-events: none;
  --c: var(--archive-corner);
  background:
    linear-gradient(135deg, var(--c) 0 50%, transparent 50%) left top / 0.875rem 0.875rem no-repeat,
    linear-gradient(225deg, var(--c) 0 50%, transparent 50%) right top / 0.875rem 0.875rem no-repeat,
    linear-gradient(45deg, var(--c) 0 50%, transparent 50%) left bottom / 0.875rem 0.875rem no-repeat,
    linear-gradient(315deg, var(--c) 0 50%, transparent 50%) right bottom / 0.875rem 0.875rem no-repeat;
}
.timeline--album .archive-print--digital::before { display: none; }
.timeline--album .archive-print__cap { color: var(--archive-ink); font-size: 0.875rem; line-height: 1.2; text-transform: none; }
.timeline.timeline--album .timeline__media--paper { border-radius: var(--radius-xs); background: var(--archive-paper); }
.title-block {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-flow: row dense;
  gap: 1px;
  margin: 0 0 var(--space-6);
  overflow: hidden;
  border: 1.5px solid var(--color-text);
  border-radius: 2px;
  background: var(--color-border-strong);
  font-size: 0.8125rem;
  line-height: 1.35;
}
.title-block__cell { display: grid; align-content: start; gap: 0.1875rem; min-width: 0; padding: 0.5rem 0.75rem 0.5625rem; background: var(--color-bg-raised); }
.title-block__cell--main,
.title-block__cell--wide { grid-column: span 2; }
.title-block__label { color: var(--color-text-subtle); font-family: var(--font-mono); font-size: 0.625rem; font-weight: var(--fw-medium); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.title-block__value { margin: 0; color: var(--color-text); font-weight: var(--fw-medium); }
.title-block__cell--main .title-block__value { font-family: var(--font-display); font-size: 1.125rem; font-weight: var(--fw-semibold); letter-spacing: var(--tracking-h3); }
.title-block__cell--maker .title-block__value { display: flex; align-items: center; gap: 0.4375rem; }
.title-block__cell--maker .title-block__value::before {
  content: "";
  flex: none;
  width: 1rem;
  height: 1rem;
  background: var(--color-text);
  -webkit-mask: url("../img/brand/logo-ring-maske-64.png?v=ec3f0c209a") center / contain no-repeat;
  mask: url("../img/brand/logo-ring-maske-64.png?v=ec3f0c209a") center / contain no-repeat;
}
.title-block__value { overflow-wrap: anywhere; }
.title-block-wrap { container-type: inline-size; }
@container (min-width: 39rem) { .title-block { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@container (max-width: 19.99rem) { .title-block { font-size: 0.75rem; } .title-block__cell { padding-inline: 0.625rem; } }
@supports not (container-type: inline-size) {
  @media (min-width: 1280px) { .title-block { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
}
.stage-light { position: absolute; inset: 0; z-index: 0; overflow: hidden; border-radius: inherit; pointer-events: none; }
.stage-light__spot {
  position: absolute;
  left: var(--sl-x, 50%);
  top: 0;
  width: min(78%, 52rem);
  height: 88%;
  transform: translateX(-50%);
  background: radial-gradient(50% 62% at 50% 0%, var(--stage-spot) 0%, var(--stage-spot-mid) 48%, rgba(214, 224, 238, 0) 100%);
}
.stage-light__rim {
  position: absolute;
  left: var(--sl-x, 50%);
  top: var(--sl-rim-y, 48%);
  width: min(72%, 48rem);
  aspect-ratio: 2 / 1;
  transform: translate(-50%, -50%);
  background: radial-gradient(closest-side, var(--stage-rim) 0%, var(--stage-rim-mid) 55%, rgba(196, 210, 228, 0) 100%);
}
.stage-subject { position: relative; z-index: 1; display: block; isolation: isolate; }
.stage-subject__img {
  position: relative;
  z-index: 3;
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 2px 2px rgba(21, 23, 26, .10));
}
.stage-subject__mirror {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0.38;
  transform-origin: 0 0;
  transform: translateY(calc(var(--rf) * 100%)) skewY(var(--rk)) scaleY(-1);
  pointer-events: none;
}
.stage-subject__reflect {
  display: block;
  width: 100%;
  height: auto;
  filter: blur(1px) saturate(.75);
  -webkit-mask-image: var(--rmask);
  mask-image: var(--rmask);
}
.stage-subject__shadow { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.stage-subject__amb { fill: var(--studio-shadow-amb); }
.stage-subject__core { fill: var(--studio-shadow-core); }
.stage-subject__floor {
  position: absolute;
  z-index: 0;
  left: -70%;
  right: -70%;
  top: var(--sl-horizon, 60%);
  height: 220%;
  background: var(--surface-studio-floor);
  pointer-events: none;
}
.config-stage--studio .config-stage__visual {
  isolation: isolate;
  background: var(--surface-studio-wall);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), inset 0 0 0 1px rgba(255, 255, 255, .35);
}
.config-stage--studio .config-stage__subject { --sl-horizon: 60%; width: min(86%, 44rem); transform: translateY(16%); }
@media (max-width: 599.98px) {
  .config-stage--studio .config-stage__visual { padding-top: 7.25rem; padding-bottom: 6.5rem; }
  .config-stage--studio .config-stage__subject { transform: none; }
}
.config-stage--studio .config-stage__model { z-index: 0; color: rgba(21, 23, 26, .045); }
:is(.config-stage--studio .config-stage__badges, .mx-viewer__stage--studio .mx-viewer__badges) .chip {
  border-color: var(--color-border);
  background: rgba(255, 255, 255, .74);
  box-shadow: var(--shadow-xs), inset 0 1px 0 #fff;
  color: var(--color-text-muted);
}
.config-stage--studio :is(.config-stage__badges, .config-stage__caption) { z-index: 4; }
.config-stage--studio .config-stage__caption { color: var(--color-text-muted); }
.bottom-bar[data-quickbar] { transition: transform var(--dur-slow) var(--ease-out), opacity var(--dur-base) var(--ease-out), visibility 0s linear 0s; }
.js .bottom-bar[data-quickbar]:not(.is-shown) {
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, calc(100% + 1rem));
  transition-delay: 0s, 0s, var(--dur-slow);
  animation: quickbar-failsafe 0s linear 4s forwards;
}
.js .bottom-bar[data-quickbar].is-managed:not(.is-shown) { animation: none; }
@keyframes quickbar-failsafe { to { opacity: 1; visibility: visible; transform: translateX(-50%); } }
@media (prefers-reduced-transparency: reduce) {
  .stage-subject__mirror { opacity: 0.18; }
}
@media (forced-colors: active) {
  .stage-light, .stage-subject__floor, .stage-subject__mirror, .stage-subject__shadow,
  .config-stage__model, .mx-viewer__ghost { display: none; }
  .stamp { border-color: CanvasText; outline-color: CanvasText; color: CanvasText; }
  .stamp__mark, .title-block__cell--maker .title-block__value::before { background: CanvasText; }
  .title-block { border-color: CanvasText; }
  .timeline--album .archive-print::before { display: none; }
  .tabs__btn[aria-selected="true"] { border-bottom: 2px solid Highlight; }
}
@media print {
  .stage-light, .stage-subject__floor, .stage-subject__mirror { display: none !important; }
  .stamp, .theme-dark .stamp { --stamp-c: var(--stamp-ink); background: none; }
}
.hsml-hinweis { max-width: 64ch; margin: var(--space-4) 0 0; padding: var(--space-2) var(--space-3); border-left: 2px solid var(--color-accent); background: var(--color-surface-2); color: var(--color-text-muted); font-size: var(--fs-small); line-height: 1.5; }
