/* Home entrance: scroll opens the doors, then the product story moves in depth. */
.cabinet-home { background: var(--marketing-room); --radio-art-size: calc(var(--space-page-lg) * 2 * 725 / 408); --radio-art-bottom: calc(var(--space-page-lg) * 2 * 159 / 408); }
.scroll-track { height: calc(100vh + 160px); }
.room { position: fixed; inset: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); min-height: 100svh; background: var(--marketing-room); perspective: 1400px; }
/* Clean controls preserve the original artwork. The 2170×725 generated asset
   contains the radio at y=158..566; background offsets exclude its white padding.
   Original artwork, sliced at its photographed seams. Side panels scale uniformly
   so the brass knobs stay round while the tuning glass fills the menu width. */
.cabinet-home .radio, .cabinet-home.is-open .radio, html:not(.js) .cabinet-home .radio {
  position: relative; display: block; height: calc(var(--space-page-lg) * 2); padding: 0; border: 0; box-shadow: none;
  background: url('/assets/radio-face.jpg') center top / 100% calc(var(--space-page-lg) * 2) no-repeat;
}
.cabinet-home.is-open .radio, html:not(.js) .cabinet-home .radio { position: sticky; }
.cabinet-home .radio::before { display: none; }
.cabinet-home .radio-brand { position: absolute; inset: 0 0 auto; height: calc(var(--space-page) - var(--space-lg)); padding: 0; min-height: 0; }
.cabinet-home .radio-home, .cabinet-home .radio-sign {
  position: absolute; top: calc(var(--space-page) - var(--space-lg)); bottom: 0; width: calc(var(--space-page-lg) * 2 + var(--space-2xl)); height: auto; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  background: url('/assets/radio-controls-clean.png') left bottom calc(-1 * var(--radio-art-bottom)) / auto var(--radio-art-size) no-repeat;
}
.cabinet-home .radio-home { left: 0; height: calc(var(--space-page-lg) + var(--space-3xl)); align-self: stretch; }
.cabinet-home .radio-sign { right: 0; background-position: right bottom calc(-1 * var(--radio-art-bottom)); display: grid; grid-template-rows: 1fr 1fr; gap: 0; align-content: normal; }
.cabinet-home .radio-sign a { position: relative; display: block; width: 100%; height: 100%; }
.cabinet-home .radio-scale { position: absolute; left: calc(var(--space-page-lg) * 2 + var(--space-2xl)); right: calc(var(--space-page-lg) * 2 + var(--space-2xl)); top: calc(var(--space-page) - var(--space-lg)); bottom: 0; height: auto; background: url('/assets/radio-controls-clean.png') left 48.7% bottom calc(-1 * var(--radio-art-bottom)) / 175% var(--radio-art-size) no-repeat; }
.cabinet-home #site-nav { position: absolute; inset: 0; height: 100%; display: grid; grid-template-columns: 17% 19% 17% 19% 28%; }
/* Station words: radio-station-small (14/500/.06em) — milled into the tuner glass, not UI chrome. */
.cabinet-home #site-nav a { align-items: flex-start; padding: calc(var(--space-xl) + var(--space-md)) 0 0; color: var(--marketing-muted); font: 500 14px/1.1 var(--font-radio); letter-spacing: .06em; text-transform: uppercase; }
.cabinet-home .radio-dial-label { position: absolute; width: max-content; color: var(--marketing-text); font: 600 12px/1.1 var(--font-ui); letter-spacing: .04em; text-align: center; white-space: nowrap; }
.cabinet-home .radio-home .radio-dial-label { left: calc(var(--space-page-lg) * 1.52); top: calc(var(--space-page-lg) * .656); transform: translate(-50%, -50%); }
/* Sign knobs: radio-knob-small (11/600/.04em). */
.cabinet-home .radio-sign .radio-dial-label { right: calc(var(--space-page-lg) * 1.72); transform: translateX(50%); font: 600 11px/1.1 var(--font-ui); letter-spacing: .04em; }
.cabinet-home .radio-sign a:first-child .radio-dial-label { bottom: var(--space-md); }
.cabinet-home .radio-sign a:last-child .radio-dial-label { top: calc(var(--space-md) / 2); }
.cabinet-home .radio-sign small { display: inline; color: inherit; }
.cabinet-home .radio-sign a:focus-visible { outline-offset: -3px; }
.cabinet-home #site-nav a::after { display: none; }
.cabinet-home #site-nav a:hover, .cabinet-home #site-nav a:focus-visible { background: color-mix(in srgb, var(--marketing-accent) 8%, transparent); }
.cabinet-home .radio-ticks { left: 4%; right: 5%; bottom: 14%; height: 40%; border: 0; background: none; mask-image: none; }
.cabinet-home .radio-needle { height: 100%; transition: left var(--motion-slow) var(--ease-standard); }

/* Closed composition: cabinet fills the remaining viewport under the radio. */
.furniture {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-content: stretch;
  justify-items: stretch;
  width: min(96vw, calc((100svh - var(--space-page-lg) * 2 - var(--space-section)) * 1024 / 430));
  height: 100%;
  margin: 0 auto;
  min-height: 0;
  transform-style: preserve-3d;
}
.cabinet { position: relative; width: 100%; height: 100%; min-height: 0; transform-style: preserve-3d; display: grid; align-items: stretch; }
.cabinet-stage {
  position: relative;
  width: 100%;
  height: 100%;
  margin-inline: auto;
  min-height: 0;
  aspect-ratio: auto;
  background: var(--marketing-accent-ink);
  box-shadow: var(--shadow-float), var(--shadow-cabinet-rim);
  transform-style: preserve-3d;
}
/* Closed photo doors keep the engraved reference aspect until they open. */
.cabinet-home:not(.doors-open) .cabinet-stage {
  aspect-ratio: 1024 / 430;
  height: auto;
  max-height: 100%;
  align-self: center;
}
.doors { position: absolute; inset: 0; z-index: 3; display: grid; grid-template-columns: 1fr 1fr; transform-style: preserve-3d; pointer-events: none; }
.door {
  backface-visibility: hidden;
  border: 0;
  background-color: var(--marketing-surface);
  background-repeat: no-repeat;
  background-size: cover;
  will-change: transform;
  box-shadow: calc(var(--doors, 0) * -18px) 0 36px color-mix(in srgb, var(--marketing-accent-ink) 65%, transparent);
}
/* Stop short of 90° so timber wings stay visible as open doors. */
.door-left { background-image: url('/assets/door-left.jpg'); background-position: left center; transform-origin: left center; transform: rotateY(calc(var(--doors, 0) * -78deg)) translate3d(calc(var(--doors, 0) * -6%), 0, calc(var(--doors, 0) * 28px)); }
.door-right { background-image: url('/assets/door-right.jpg'); background-position: right center; transform-origin: right center; transform: rotateY(calc(var(--doors, 0) * 78deg)) translate3d(calc(var(--doors, 0) * 6%), 0, calc(var(--doors, 0) * 28px)); box-shadow: calc(var(--doors, 0) * 18px) 0 36px color-mix(in srgb, var(--marketing-accent-ink) 65%, transparent); }
.doors-open .cabinet-stage {
  background:
    radial-gradient(ellipse at 50% 40%, color-mix(in srgb, var(--marketing-accent) 12%, transparent), transparent 55%),
    var(--marketing-room);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--marketing-border) 55%, transparent), var(--shadow-cabinet-rim);
}
.doors-open .doors { z-index: 4; }
.doors-open .depth-journey {
  inset: 3% 5%;
  border-radius: var(--rounded-sm);
  box-shadow: inset 0 0 40px color-mix(in srgb, var(--marketing-accent-ink) 55%, transparent);
}
.entrance-copy { position: relative; z-index: 6; opacity: 1 !important; transform: none !important; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: center; align-items: center; column-gap: var(--space-section); row-gap: var(--space-lg); min-height: calc(var(--space-page-lg) * 2); padding: var(--space-3xl) var(--space-section); background: var(--marketing-bg); }
.entrance-copy h2 { max-width: 18ch; color: var(--marketing-text); font-size: clamp(28px, 4vw, 48px); line-height: 1.08; letter-spacing: -.02em; }
.entrance-copy .lead { max-width: 48ch; color: var(--marketing-muted); font-size: 16px; grid-column: 1; }
.entrance-copy .actions { grid-column: 2; grid-row: 1 / 3; justify-content: flex-end; }
.entrance-proof { color: var(--marketing-muted); font-size: 12px; grid-column: 1 / -1; }
.entrance-open { position: absolute; inset: 0; z-index: 5; width: 100%; border: 0; background: transparent; cursor: pointer; }
.entrance-open:focus-visible { outline-offset: calc(-1 * var(--space-md)); }

.interior { position: absolute; inset: 0; z-index: 1; overflow: hidden; background: var(--marketing-bg); opacity: calc(var(--doors, 0)); }
.home-content { display: block; }

.cabinet-home.is-open .scroll-track { display: none; }
.cabinet-home.is-open .room { position: relative; inset: auto; display: block; min-height: 100vh; perspective: none; }
.cabinet-home.is-open .furniture { width: 100%; height: auto; margin: 0; display: block; }
.cabinet-home.is-open .cabinet { position: relative; inset: auto; overflow: visible; border: 0; box-shadow: none; }
.cabinet-home.is-open .cabinet-stage { display: none; }
.cabinet-home.is-open .entrance-copy { position: relative; width: min(100%, 1180px); margin-inline: auto; min-height: calc(var(--space-page-lg) * 3); background: var(--marketing-bg); }
.cabinet-home.is-open .interior { position: relative; inset: auto; overflow: visible; opacity: 1; }
.cabinet-home.is-open .home-content { display: block; }

/* No-script and reduced-motion users get the complete page without the entrance gate. */
html:not(.js) .scroll-track, html:not(.js) .entrance-open { display: none; }
html:not(.js) .room { position: relative; display: block; min-height: 100vh; }
html:not(.js) .cabinet-home .radio { position: sticky; height: 64px; }
html:not(.js) .furniture, html:not(.js) .cabinet, html:not(.js) .interior { position: relative; inset: auto; width: 100%; height: auto; margin: 0; overflow: visible; opacity: 1; border: 0; box-shadow: none; display: block; }
html:not(.js) .entrance-copy { position: relative; width: min(100%, 1180px); margin-inline: auto; background: var(--marketing-bg); }
html:not(.js) .home-content { display: block; }

.home-content > section { border-bottom: 1px solid var(--marketing-border); }
.home-proof { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: clamp(var(--space-section), 6vw, 80px); align-items: center; }
.home-proof > .product-shot { grid-column: 2; grid-row: 1; }
.home-proof > .proof-copy { grid-column: 1; grid-row: 1; }
.proof-copy { display: grid; gap: var(--space-2xl); align-content: center; }
.proof-copy p:not(.eyebrow) { max-width: 52ch; color: var(--marketing-muted); }
.product-shot { margin: 0; min-width: 0; overflow: hidden; border: 1px solid var(--marketing-border); border-radius: var(--rounded-lg); background: var(--marketing-surface); box-shadow: var(--shadow-raised); }
.product-shot picture, .product-shot img { display: block; width: 100%; }
.product-shot img { height: auto; }
.product-shot figcaption { padding: var(--space-xl) var(--space-2xl); border-top: 1px solid var(--marketing-border); color: var(--marketing-muted); font-size: 12px; }
.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-xl); margin-top: var(--space-page); }
.step { padding: var(--space-3xl); border: 1px solid var(--marketing-border); border-radius: var(--rounded-lg); background: var(--marketing-surface); }
.step small { color: var(--marketing-accent); font: 600 12px var(--font-mono); }
.step h3 { margin-top: var(--space-3xl); }
.step p { margin-top: var(--space-xl); color: var(--marketing-muted); font-size: 14px; }
.home-pricing { display: grid; grid-template-columns: .8fr 1.2fr; gap: var(--space-page); align-items: center; }
.home-pricing-copy { display: grid; gap: var(--space-2xl); }
.home-pricing-copy p { color: var(--marketing-muted); }
.mini-plans { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xl); }
.mini-plan { display: grid; gap: var(--space-xl); padding: var(--space-3xl); border: 1px solid var(--marketing-border); border-radius: var(--rounded-lg); background: var(--marketing-surface); }
.mini-plan strong { font: 600 24px var(--font-marketing); }
.mini-plan p { color: var(--marketing-muted); font-size: 14px; }
.home-final { display: grid; justify-items: center; gap: var(--space-3xl); text-align: center; }
.home-final h2 { max-width: 16ch; }
.home-final p { max-width: 52ch; color: var(--marketing-muted); }

@media (max-width: 820px) {
  html:not(.js) .cabinet-home .radio { height: auto; position: relative; }
  .scroll-track { display: none; }
  .room { position: relative; display: block; min-height: 100vh; }
  .cabinet-home .radio, .cabinet-home.is-open .radio { position: sticky; height: var(--space-marketing-nav); }
  .furniture, .cabinet, .interior { position: relative; inset: auto; width: 100%; height: auto; margin: 0; overflow: visible; opacity: 1; border: 0; box-shadow: none; display: block; }
  .entrance-open { display: none; }
  .cabinet-home.is-open .cabinet-stage { display: block; }
  .door { transform: none; box-shadow: none; }
  .entrance-copy, .cabinet-home.is-open .entrance-copy { grid-template-columns: 1fr; padding: var(--space-3xl) var(--space-2xl); min-height: 0; row-gap: var(--space-2xl); }
  .entrance-copy h2 { font-size: 32px; max-width: none; }
  .entrance-copy .actions { grid-column: 1; grid-row: auto; justify-content: flex-start; }
  .home-content { display: block; }
  .home-proof, .home-pricing { grid-template-columns: 1fr; }
  .home-proof > .product-shot, .home-proof > .proof-copy { grid-column: auto; grid-row: auto; }
  .steps, .mini-plans { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .scroll-track, .entrance-open { display: none; }
  .cabinet-home.is-open .cabinet-stage { display: block; }
  .door { transform: none; box-shadow: none; }
  .room { position: relative; display: block; min-height: 100vh; }
  .cabinet-home .radio { position: sticky; height: 64px; }
  .furniture, .cabinet, .interior { position: relative; inset: auto; width: 100%; height: auto; margin: 0; overflow: visible; opacity: 1; border: 0; box-shadow: none; display: block; }
  .entrance-copy { position: relative; background: var(--marketing-bg); }
  .home-content { display: block; }
}

/* Closed composition: furniture and its footer, as in the supplied reference. */
.cabinet-home .site-footer { width: 100%; padding: var(--space-lg) var(--space-section); border: 0; gap: var(--space-xl); font-size: 12px; }
.cabinet-home .site-footer nav { gap: 0 var(--space-xl); }
.cabinet-home .site-footer .brand { font-size: 16px; }
.cabinet-home.is-open .site-footer { width: min(calc(100% - var(--space-page)), 1180px); }

@media (max-width: 1100px) and (min-width: 821px) {
  .cabinet-home .site-footer { grid-template-columns: auto 1fr; padding-inline: 0; gap: 0 var(--space-xl); }
  .cabinet-home .site-footer nav { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (max-width: 820px) {
  .cabinet-home .radio, .cabinet-home.is-open .radio { display: grid; grid-template-columns: 1fr var(--space-page-lg) var(--space-touch-target); height: var(--space-marketing-nav); padding-inline: var(--space-xl); gap: var(--space-lg); background: var(--marketing-accent-ink); }
  .cabinet-home .radio-brand { position: relative; display: block; height: var(--space-touch-target); padding-block: var(--space-lg); background: url('/assets/radio-face.jpg') 20% -5px / 520px auto no-repeat; background-origin: content-box; background-clip: content-box; }
  .cabinet-home .radio-home { display: none; }
  .cabinet-home .radio-sign { position: relative; inset: auto; width: var(--space-page-lg); height: var(--space-touch-target); background-size: auto calc((var(--space-page-lg) + var(--space-2xl)) * 725 / 408); background-position: 89% calc(var(--space-touch-target) / 2 - (var(--space-page-lg) + var(--space-2xl)) * 422 / 408); }
  .cabinet-home .radio-scale { display: contents; }
  .cabinet-home #site-nav { position: absolute; inset: 100% var(--space-xl) auto; height: auto; display: none; grid-template-columns: 1fr; }
  .cabinet-home #site-nav[data-open] { display: grid; }
  .cabinet-home #site-nav a { color: var(--marketing-text); font: 500 16px/1.1 var(--font-radio); letter-spacing: .06em; padding-inline: var(--space-xl); }
  .cabinet-home .site-footer { padding-inline: var(--space-2xl); }
  html:not(.js) .cabinet-home .radio { height: auto; }
  html:not(.js) .cabinet-home .radio-scale { display: block; }
  html:not(.js) .cabinet-home #site-nav { display: grid; position: static; }
}

/* The cabinet stays still. Scrolling changes depth, never its screen position.
   Open chambers are dark walnut interiors — never closed door-plate overlays. */
.depth-journey { position: absolute; inset: 0; perspective: 1400px; overflow: hidden; }
.depth-scene {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr);
  align-items: stretch;
  transform-origin: center;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--marketing-accent-ink) 40%, transparent), transparent 28%),
    var(--marketing-bg);
  will-change: transform, opacity;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--marketing-border) 35%, transparent);
}
.depth-scene--copy-only { grid-template-columns: 1fr; }
.depth-engraving {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-2xl);
  padding: var(--space-page) var(--space-section);
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--marketing-accent-ink) 55%, transparent), transparent 70%),
    linear-gradient(180deg, var(--marketing-surface), var(--marketing-bg));
}
/* Chamber headline: display-lg (32) — readable in the aperture, not sticker-huge 56. */
.depth-engraving h2 {
  max-width: 16ch;
  color: var(--marketing-text);
  font: 600 32px/1.15 var(--font-marketing);
  letter-spacing: -.015em;
  text-shadow: 0 1px var(--marketing-accent-ink);
}
@media (min-width: 1400px) {
  .depth-engraving h2 { font-size: 40px; line-height: 1.12; letter-spacing: -.02em; }
}
/* Chamber body: marketing-body (16/400/1.6). */
.depth-engraving p {
  max-width: 38ch;
  padding-top: var(--space-xl);
  border-top: 1px solid color-mix(in srgb, var(--marketing-border) 70%, transparent);
  color: var(--marketing-muted);
  font: 400 16px/1.6 var(--font-marketing);
  letter-spacing: 0;
}
/* Milled chamber CTAs — same plate language as marketing buttons, not floating chrome. */
.depth-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  gap: var(--space-lg);
  min-height: 32px;
  margin-top: var(--space-lg);
  padding: 8px 16px;
  border: 1px solid color-mix(in srgb, var(--marketing-border) 80%, transparent);
  border-radius: var(--rounded-sm);
  background: color-mix(in srgb, var(--marketing-surface-2) 88%, transparent);
  color: var(--marketing-text);
  font: 600 14px/1.2 var(--font-ui);
  letter-spacing: .02em;
  text-decoration: none;
  box-shadow: var(--shadow-cabinet-rim);
}
.depth-action:hover {
  border-color: var(--marketing-accent);
  color: var(--marketing-text);
}
.depth-action.button.primary {
  border-color: transparent;
  background: var(--marketing-accent);
  color: var(--marketing-accent-ink);
  box-shadow: var(--shadow-card);
}
.depth-action.button.primary:hover { background: var(--marketing-accent-hover); }
.depth-action.text-link {
  background: transparent;
  border-color: color-mix(in srgb, var(--marketing-border) 55%, transparent);
  text-decoration: none;
}
.depth-product {
  display: grid;
  place-items: center;
  padding: clamp(var(--space-2xl), 4vh, var(--space-page)) clamp(var(--space-2xl), 4vw, var(--space-page));
  min-width: 0;
  background:
    radial-gradient(ellipse at 55% 45%, color-mix(in srgb, var(--marketing-accent) 14%, transparent), transparent 58%),
    linear-gradient(180deg, var(--marketing-surface-2), var(--marketing-bg));
}
.depth-product .product-shot {
  width: min(100%, 920px);
  border-radius: var(--rounded-md);
  box-shadow: var(--shadow-float);
}
.depth-product .product-shot img {
  width: 100%;
  max-height: min(72vh, 580px);
  height: auto;
  object-fit: cover;
  object-position: top left;
}
.depth-product .product-shot figcaption {
  padding: var(--space-lg) var(--space-xl);
  font: 400 12px/1.5 var(--font-ui);
  gap: var(--space-lg);
}
.depth-product--steps,
.depth-product--plans {
  align-content: center;
  justify-items: stretch;
}
.depth-steps {
  list-style: none;
  margin: 0;
  padding: var(--space-page);
  display: grid;
  gap: var(--space-3xl);
  border: 1px solid var(--marketing-border);
  border-radius: var(--rounded-lg);
  background: color-mix(in srgb, var(--marketing-surface) 88%, transparent);
}
.depth-steps li {
  display: grid;
  gap: var(--space-sm);
}
.depth-steps span {
  color: var(--marketing-accent);
  font: 600 12px/1.4 var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
/* Path teaser titles: marketing 24 — engraved steps, not billboard type. */
.depth-steps strong {
  color: var(--marketing-text);
  font: 600 24px/1.2 var(--font-marketing);
  letter-spacing: -.025em;
}
@media (min-width: 1400px) {
  .depth-steps strong { font-size: 32px; line-height: 1.15; letter-spacing: -.015em; }
}
.depth-product--plans .mini-plans {
  width: min(100%, 520px);
  margin: 0;
}
.depth-product--plans .mini-plan {
  background: color-mix(in srgb, var(--marketing-surface) 90%, transparent);
}

.depth-controls { display: flex; align-items: center; gap: var(--space-lg); grid-column: 1 / -1; justify-self: center; }
.depth-controls button { min-width: var(--space-touch-target); min-height: var(--space-touch-target); border: 0; background: transparent; color: var(--marketing-muted); cursor: pointer; }
.depth-controls button:disabled { opacity: .3; cursor: default; }
.depth-controls span { color: var(--marketing-muted); font: 400 12px var(--font-mono); }

.depth-enabled { scrollbar-width: none; }
.depth-enabled::-webkit-scrollbar { width: 0; height: 0; }
.depth-enabled .scroll-track { display: block; height: calc(100vh + var(--depth-travel)); }
.depth-enabled .room { position: fixed; inset: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); perspective: 1400px; }
.depth-enabled .furniture { width: min(96vw, 100%); height: 100%; }
.depth-enabled .cabinet { height: 100%; }
.depth-enabled .cabinet-stage { display: block; width: 100%; height: 100%; }
.depth-enabled .interior { display: none; }
.depth-enabled .doors { z-index: 3; }
.depth-enabled .entrance-open { display: block; }
.depth-enabled.doors-open .entrance-open { visibility: hidden; }
.depth-enabled.doors-open .cabinet-title { display: none; }
.depth-enabled.doors-open .furniture { width: min(96vw, 100%); }
.depth-enabled .site-footer { position: relative; }

@media (max-height: 649px), (min-width: 821px) and (max-width: 1100px) {
  .cabinet-home.is-open .cabinet-stage { display: block; max-width: 96vw; }
}
@media (prefers-reduced-motion: reduce), (max-width: 1100px), (max-height: 649px) {
  .depth-journey, .depth-controls, .entrance-open { display: none; }
}

.cabinet-home #proof { scroll-margin-top: var(--space-page-lg); }

@media (max-width: 820px) {
  .cabinet-home .radio-sign { grid-template-rows: 1fr; }
  .cabinet-home .radio-sign a:first-child { display: none; }
  .cabinet-home .radio-sign a:last-child { display: grid; place-items: center; }
  .cabinet-home .radio-sign a:last-child .radio-dial-label { position: static; transform: none; font-size: 11px; }
  .cabinet-home .radio-sign small { display: block; }
}
@media (min-width: 821px) {
  html:not(.js) .cabinet-home .radio { height: calc(var(--space-page-lg) * 2); }
}

/* Reference fidelity: letters and circular controls retain their own aspect ratios.
   The cleaned photographic strip is y=162..564 of a 2170×725 source. */
@media (min-width: 821px) {
  .cabinet-home { --radio-art-size: calc(var(--space-page-lg) * 2 * 725 / 402); --radio-art-bottom: calc(var(--space-page-lg) * 2 * 161 / 402); --radio-side: calc(10vw + var(--space-page-lg) + var(--space-page)); }
  .cabinet-home .radio, .cabinet-home.is-open .radio, html:not(.js) .cabinet-home .radio { background-image: url('/assets/radio-surface-clean.png'); background-size: 100% var(--radio-art-size); background-position: center bottom calc(-1 * var(--radio-art-bottom)); }
  .cabinet-home .radio-wordmark { position: absolute; left: 16.4%; top: var(--space-sm); width: 160px; height: 32px; background: url('/assets/radio-face.jpg') -170px -20px / 1024px 192px no-repeat; mix-blend-mode: screen; }
  .cabinet-home .radio-motto { position: absolute; right: 20%; top: var(--space-xl); color: var(--marketing-muted); font: 500 10px/1.4 var(--font-radio); letter-spacing: .2em; text-transform: uppercase; }
  .cabinet-home .radio-home, .cabinet-home .radio-sign { width: var(--radio-side); background-image: url('/assets/radio-surface-clean.png'); background-size: 1000% var(--radio-art-size); }
  .cabinet-home .radio-home::before, .cabinet-home .radio-sign::before { content: ''; position: absolute; top: 0; bottom: 0; width: calc(var(--space-page-lg) * 2 + var(--space-2xl)); background: url('/assets/radio-surface-clean.png') left bottom calc(-1 * var(--radio-art-bottom)) / auto var(--radio-art-size) no-repeat; pointer-events: none; }
  .cabinet-home .radio-home::before { right: 0; mask-image: linear-gradient(to right, transparent, black 35%); }
  .cabinet-home .radio-sign::before { left: 0; mask-image: linear-gradient(to left, transparent, black 35%); background-position: right bottom calc(-1 * var(--radio-art-bottom)); }
  .cabinet-home .radio-home .radio-dial-label { left: auto; right: calc(var(--space-page) - var(--space-xs)); transform: translate(50%, -50%); }
  .cabinet-home .radio-sign .radio-dial-label { right: auto; left: calc(var(--space-section) + var(--space-xs)); transform: translateX(-50%); }
  .cabinet-home .radio-scale { left: var(--radio-side); right: var(--radio-side); background-image: url('/assets/radio-surface-clean.png'); }
  .cabinet-home .radio-ticks { bottom: 13%; height: 42%; opacity: 1; }
  .cabinet-home .radio-frequencies { position: absolute; inset: auto 0 0; display: flex; justify-content: space-between; color: var(--marketing-muted); font: 500 12px/1.1 var(--font-radio); font-variant-numeric: tabular-nums; }
  .cabinet-home .radio-needle { bottom: var(--space-sm); }
}
@media (min-width: 821px) and (max-width: 1100px) {
  .cabinet-home { --radio-side: calc(var(--space-page-lg) * 2 + var(--space-2xl)); }
  /* Keep station words at 14px until the mobile drawer — never shrink into illegible chrome. */
  .cabinet-home #site-nav a { font: 500 14px/1.1 var(--font-radio); letter-spacing: .06em; }
}
@media (max-width: 820px) {
  .cabinet-home .radio-wordmark, .cabinet-home .radio-motto, .cabinet-home .radio-frequencies { display: none; }
}
.cabinet-home .room { background: var(--marketing-room); }
.cabinet-home .site-footer { color: color-mix(in srgb, var(--marketing-muted) 60%, var(--marketing-accent)); font-size: clamp(12px, 1vw, 18px); }
@media (min-width: 1101px) {
  .cabinet-home .site-footer { grid-template-columns: auto auto 1fr; }
  .cabinet-home .site-footer .brand { font-size: clamp(16px, 1.2vw, 24px); }
}

/* Dual theme: marketing walnut stays; light paper surfaces only on open fallback copy. */
[data-theme="light"] .cabinet-home.is-open:not(.depth-enabled) .home-content,
[data-theme="light"] .cabinet-home.is-open:not(.depth-enabled) .entrance-copy {
  color: var(--on-surface);
}
[data-theme="dark"] .cabinet-home {
  color-scheme: dark;
}
