/* Rabbit Ears 3.0 — showroom landing: one Blender-rendered studio wall */
body.landing{background:#241d18;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}
.studio{flex:none}

.stage-wrap{position:relative;width:100%;overflow:hidden;perspective:1400px;background:#2f9b98}
.stage{position:relative;transform-origin:top left;--px:0;--py:0}
.layer{position:absolute;inset:0}
.backdrop{width:100%;height:100%;display:block;transform:translate(calc(var(--px)*7px),calc(var(--py)*4px)) scale(1.012);transition:filter .5s ease;will-change:transform}
.tvlayer{transform:translate(calc(var(--px)*-11px),calc(var(--py)*-6px));will-change:transform}
.tvimg{position:absolute;inset:0;width:100%;height:100%;display:block;transition:filter .5s ease;pointer-events:none;user-select:none}
.screens{position:absolute;inset:0}

/* video quads mapped onto the rendered glass with matrix3d */
.v-quad{position:absolute;left:0;top:0;transform-origin:0 0;overflow:hidden;display:block;background:#0d2424;cursor:pointer;text-decoration:none}
.v-quad video{width:100%;height:100%;object-fit:cover;display:block;background:#0d2424;filter:saturate(.9) contrast(1.06) brightness(.96);pointer-events:none;transition:filter .35s ease}
.v-quad .crt-glass{position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:
  repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 4px),
  radial-gradient(ellipse at 26% 14%,rgba(255,255,255,.20) 0 7%,transparent 36%),
  radial-gradient(ellipse at center,transparent 56%,rgba(2,22,22,.42));mix-blend-mode:screen}
.q-tag{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);background:var(--cream);color:var(--ink);border:2px solid var(--ink);border-radius:99px;padding:3px 12px;font:900 12px var(--hand);letter-spacing:.12em;box-shadow:2px 2px 0 rgba(58,46,36,.6);white-space:nowrap}
.q-tag.off{background:#9aa39b;color:#2c332d;font-size:9px;opacity:.85;bottom:auto;top:50%;transform:translate(-50%,-50%)}
.q-enter{position:absolute;left:50%;top:8%;transform:translateX(-50%) translateY(-5px);background:var(--yellow);color:var(--ink);border:2px solid var(--ink);border-radius:99px;padding:4px 10px;font:900 10px var(--hand);letter-spacing:.1em;opacity:0;transition:.18s;white-space:nowrap}
a.v-quad:hover .q-enter,a.v-quad:focus-visible .q-enter{opacity:1;transform:translateX(-50%) translateY(0)}
a.v-quad:hover,a.v-quad:focus-visible{outline:0;box-shadow:0 0 0 4px var(--yellow),0 0 42px 6px rgba(255,220,120,.55)}
a.v-quad:hover video{filter:saturate(1.05) contrast(1.08) brightness(1.1)}
/* rack focus: hovering one set softens the others */
.screens:has(a.v-quad:hover) a.v-quad:not(:hover) video{filter:saturate(.75) brightness(.8) blur(1.6px)}
.v-quad.lost .m-noise{display:block}
.v-quad.lost video{display:none}

/* animated broadcast static */
.m-noise{position:absolute;inset:0;border-radius:inherit;background:
  repeating-radial-gradient(circle at 17% 32%, #cfd8d4 0 .7px, #3c4a48 1px 1.6px, #93a29e 2px 2.4px),
  repeating-radial-gradient(circle at 73% 64%, #e5eae7 0 .8px, #2c3a38 1.2px 1.9px, #7d8c88 2.2px 2.8px);
  background-size:170px 170px,230px 230px;animation:noise .28s steps(3) infinite;filter:contrast(1.1) brightness(.9);opacity:.92}
@keyframes noise{0%{background-position:0 0,0 0}50%{background-position:-40px 25px,30px -35px}100%{background-position:35px -20px,-25px 40px}}

/* lamps hang over the rendered light pools */
.lamp-row{position:absolute;top:0;left:0;right:0;height:0;pointer-events:none;z-index:6}
.lamp{position:absolute;top:0;width:5.2%;height:auto;filter:drop-shadow(0 6px 10px rgba(0,40,40,.35));transition:filter .5s ease}
.lamp:nth-child(1){left:14.6%}.lamp:nth-child(2){left:36.5%}.lamp:nth-child(3){left:58.4%}.lamp:nth-child(4){left:80.2%}

/* wall-mounted brand sign */
.showroom-brand{position:absolute;top:1.6%;left:1.8%;z-index:7;text-align:left;pointer-events:none;transition:filter .5s ease;width:max-content}
.showroom-brand h1{font:900 clamp(22px,3.2vw,50px)/.9 var(--display);letter-spacing:-.04em;color:var(--cream);text-shadow:3px 3px 0 rgba(58,32,20,.75);margin:0}
.showroom-brand h1 sup{font:900 13px var(--hand);color:var(--yellow);letter-spacing:0}
.showroom-brand p{margin:5px 0 0;font-size:clamp(7px,.8vw,11px);font-weight:900;letter-spacing:.16em;color:#083e3e;text-shadow:0 1px 0 rgba(255,255,255,.2)}

/* lights-out mode */
.lights-btn{position:absolute;right:14px;bottom:14px;z-index:8;border:2px solid var(--cream);background:rgba(30,24,20,.75);color:var(--cream);border-radius:99px;padding:9px 15px;font:900 10px var(--hand);letter-spacing:.12em;cursor:pointer;box-shadow:2px 2px 0 rgba(0,0,0,.4)}
.lights-btn:hover{background:var(--brown)}
body.lights-off .backdrop{filter:brightness(.32) saturate(.7)}
body.lights-off .tvimg{filter:brightness(.42) saturate(.8)}
body.lights-off .lamp{filter:brightness(.35)}
body.lights-off .showroom-brand{filter:brightness(.55)}
body.lights-off .v-quad video{filter:saturate(1.02) contrast(1.05) brightness(1.06)}
body.lights-off a.v-quad{box-shadow:0 0 34px 4px rgba(190,230,235,.28)}
body.lights-off a.v-quad:hover{box-shadow:0 0 0 4px var(--yellow),0 0 56px 10px rgba(255,220,120,.6)}
body.lights-off .m-noise{opacity:1}

/* footer */
.showroom-foot{background:var(--brown);color:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:22px clamp(18px,4vw,64px);font-size:10px;font-weight:900;letter-spacing:.08em}
.showroom-foot nav{display:flex;gap:8px;flex-wrap:wrap}
.showroom-foot a{color:var(--cream);border:2px solid var(--cream);border-radius:99px;padding:5px 11px;text-decoration:none}
.showroom-foot a:hover{background:var(--red)}

/* phone fallback: theme cards with the cabinet renders */
.theme-cards{display:none}
@media(max-width:700px){
  .stage-wrap{display:none}
  .theme-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:22px 16px 34px;background:linear-gradient(#4ec6c2,#35a4a2)}
  .theme-cards h2{grid-column:1/-1;font:900 34px/.9 var(--display);color:var(--cream);text-shadow:3px 3px 0 var(--brown);margin:8px 0 2px;text-align:center}
  .theme-cards p.sub{grid-column:1/-1;margin:0 0 8px;text-align:center;font-size:9px;font-weight:900;letter-spacing:.14em;color:#083e3e}
  .t-card{background:var(--cream);border:3px solid var(--ink);border-radius:18px;padding:12px 10px 10px;text-align:center;text-decoration:none;color:var(--ink);box-shadow:4px 4px 0 var(--ink)}
  .t-card img{width:80%;height:auto;display:block;margin:0 auto}
  .t-card strong{display:block;font:900 15px var(--display);margin-top:8px}
  .t-card span{font-size:9px;font-weight:900;letter-spacing:.06em;opacity:.75}
}
@media(prefers-reduced-motion:reduce){.m-noise{animation:none}.backdrop,.tvlayer{transform:none!important}}
