/* The selected homepage: a compact listening room and a legible record archive. */
.listening-room { --gutter:32px; font-size:16px; }
.listening-room .home-header { min-height:70px; }
.listening-room .home-wordmark { padding:13px 24px; }
.listening-room .home-descriptor { padding:18px 24px; font-size:12px; }
.listening-room .home-nav a { padding:20px 24px; font-size:14px; }
.listening-room .eyebrow { font-size:12px; letter-spacing:.035em; }
.listening-room .text-link,.listening-room .solid-link { font-size:14px; }
.listening-room .room-welcome { padding:17px var(--gutter); gap:24px; align-items:center; }
.listening-room .room-welcome h1 { font-size:clamp(36px,3.3vw,54px); margin-top:10px; line-height:1; }
.listening-room .room-welcome h1 em { white-space:nowrap; }
.listening-room .room-introduction { padding:0; max-width:none; flex-shrink:0; }
.listening-room .room-introduction p { font-size:14px; line-height:1.4; }
.listening-room .room-introduction .text-link { margin-top:5px; padding:3px 0; font-size:12px; }
.listening-room .room-layout { grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); align-items:stretch; border-top:1px solid var(--line); }
.room-host { min-width:0; display:flex; flex-direction:column; }
.listening-room .room-scene { min-height:0; height:clamp(280px,calc(100svh - 330px),430px); aspect-ratio:auto; flex:1; isolation:isolate; container-type:inline-size; --cat-size:min(36cqw,280px); --ceiling-space:52px; }
.listening-room .wall-lines { bottom:16%; background:none; }
.listening-room .room-plaque { top:10%; left:6%; padding:12px; background:#f7f6f0; }
.listening-room .room-plaque strong { font-size:clamp(20px,1.7vw,27px); margin:0; line-height:1; }
/* Anchor the shade above the cat; the clipped cord always reaches the ceiling. */
.listening-room .pendant { top:auto; bottom:calc(100% + 12px); left:50%; width:84px; height:26px; }
.listening-room .pendant i { position:absolute; bottom:26px; left:50%; height:100vh; margin:0; }
.listening-room .pendant b { height:26px; background:#d4c9de; }
.listening-room .room-window { right:6%; top:9%; width:17%; height:31%; border-color:#969497; }
.listening-room .room-window span { width:25px; height:25px; background:#e8dfcc; }
.listening-room .room-cat { height:min(var(--cat-size),calc(74% - var(--ceiling-space))); width:auto; max-width:none; aspect-ratio:1; left:33%; bottom:26%; }
.listening-room .room-table { left:9%; right:8%; height:18%; bottom:9%; padding:9px 12px; gap:10px; background:#d3cfc7; }
.listening-room .room-table:before { height:7px; top:-7px; left:-8px; right:-8px; }
.listening-room .room-table:after { height:14px; bottom:-15px; }
.listening-room .cabinet-records { gap:2px; padding:5px 9px 3px; background:#a6a29b; }
.listening-room .cabinet-records i { width:7px; min-width:3px; height:91%; transform:rotate(-3deg); transform-origin:center bottom; border-color:#7e7a76; }
.listening-room .cabinet-records i:nth-child(3n) { width:5px; height:93%; }
.cabinet-doors { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:#97928c; border:1px solid #96918a; }
.cabinet-doors i { position:relative; background:#c2bdb4; box-shadow:inset 0 1px #d6d1c8; }
.cabinet-doors i:after { content:''; position:absolute; width:3px; height:3px; border:1px solid #746f69; border-radius:50%; right:9px; top:45%; background:#9c968e; }
.cabinet-doors i+i:after { right:auto; left:9px; }
.listening-room .room-speaker { width:13%; max-width:98px; height:auto; aspect-ratio:.64; bottom:28%; z-index:3; }
.listening-room .left-speaker { left:10%; }
.listening-room .right-speaker { right:8%; }
.speaker-monitor { position:absolute; inset:0; background:#f3f3ee; border:1px solid #69686a; box-shadow:3px 2px 0 #c0c0bc,inset 0 0 0 4px #e3e3dd; }
.monitor-controls { position:absolute; top:4%; left:7%; right:7%; height:9%; border-bottom:1px solid #a4a4a0; background:#d9dbd7; }
.monitor-controls:before { content:''; position:absolute; width:19%; height:42%; top:20%; left:2%; background:#4c4c4c; }
.monitor-controls i { position:absolute; width:7%; aspect-ratio:1; background:#454548; border-radius:50%; right:9%; top:20%; box-shadow:0 1px 0 #a1a1a1; }
.monitor-controls i+i { right:24%; }
.monitor-port { position:absolute; width:21%; aspect-ratio:1; border-radius:50%; background:#252528; top:16%; left:39%; }
.monitor-mid,.monitor-tweeter { position:absolute; width:34%; aspect-ratio:1; border-radius:50%; background:repeating-radial-gradient(circle,#292a2c 0 3px,#424345 4px 5px); border:1px solid #515253; top:29%; left:9%; box-shadow:0 0 0 2px #6a6c6b; }
.monitor-tweeter { left:auto; right:9%; width:32%; background:radial-gradient(circle,#a3a3a0 0 7%,#212225 8% 17%,#4d4e51 19%,#242528 58%,#4d4e51 60%,#2b2c2e 65%); }
.monitor-mid:after { content:''; position:absolute; inset:32%; border-radius:50%; background:radial-gradient(circle at 40% 35%,#68696b,#191a1c 70%); }
.monitor-woofer { position:absolute; width:83%; aspect-ratio:1; border-radius:50%; bottom:5%; left:8.5%; border:2px solid #3f4042; background:repeating-radial-gradient(circle,#292a2c 0 2px,#3c3d3f 3px 4px); box-shadow:0 0 0 2px #727472; }
.monitor-woofer i { position:absolute; inset:33%; border-radius:50%; background:radial-gradient(circle at 40% 30%,#515255,#242527 75%); border:1px solid #292a2c; }
.monitor-screw { position:absolute; width:3px; height:3px; border-radius:50%; background:#a4a59f; }
.monitor-screw.s1 { left:6%; top:15%; }.monitor-screw.s2 { right:6%; top:15%; }.monitor-screw.s3 { left:6%; bottom:3%; }.monitor-screw.s4 { right:6%; bottom:3%; }
.room-ogu { position:absolute; left:5%; bottom:3%; width:18%; max-width:145px; margin:0; z-index:7; }
.room-ogu img { width:100%; transform:scaleX(-1); }

.listening-room .side-table { right:3%; bottom:2%; width:18%; max-width:150px; height:27%; z-index:6; }
.listening-room .side-table>i { top:57%; height:17px; background:#d9cedf; box-shadow:0 3px 0 -1px #b5a7be; }
.listening-room .side-table>i:after { height:40px; top:13px; left:17%; right:17%; }
.listening-room .coaster { top:61%; width:28px; height:7px; left:calc(49% - 14px); transform:none; border-radius:50%; background:#eee9e3; }
.listening-room .chosen-drink { width:67%; max-width:95px; left:16%; bottom:28%; }
.listening-room .chosen-drink svg { display:block; }
.listening-room .floor-rug { bottom:-15%; height:29%; left:2%; right:2%; opacity:.55; }
.drink-placed { position:absolute; left:0; right:0; bottom:-14px; text-align:center; font-size:12px; line-height:1.2; background:var(--room-wash); opacity:0; transition:opacity .25s; }
.has-pour .drink-placed { opacity:1; }
.listening-room .pour-bar { padding:14px 24px 12px; display:grid; grid-template-columns:auto 1fr; gap:7px 20px; border-bottom:0; min-height:110px; }
.listening-room .pour-bar>.eyebrow { grid-column:1; grid-row:1; max-width:none; padding:0; margin:0; font-size:12px; align-self:end; }
.listening-room .pour-options { grid-column:2; grid-row:1/3; display:flex; justify-content:flex-end; gap:8px; }
.listening-room .pour-choice { min-height:46px; padding:2px 12px 2px 5px; font-size:14px; gap:3px; }
.listening-room .pour-choice svg { width:30px; height:35px; }
.listening-room .pour-feedback { display:block; grid-column:1; grid-row:2; margin:0; min-height:1.5em; max-width:29ch; font-size:13px; line-height:1.35; align-self:start; }
.listening-room .record-player { display:grid; grid-template-columns:1fr; align-content:center; padding:23px 28px; gap:0; border-top:0; }
.listening-room .player-topline { grid-column:auto; margin-bottom:18px; }
.listening-room .player-topline>.eyebrow,.listening-room .player-topline>span:last-child { font-size:12px; }
.listening-room .selected-record { grid-column:auto; grid-row:auto; width:73%; max-width:225px; margin:0 auto 12px; }
.listening-room .album-sleeve { padding:10px; height:98.55%; aspect-ratio:auto; }
.listening-room .album-sleeve>img { height:53%; min-height:0; flex-shrink:1; }
.listening-room .sleeve-bottom { min-height:0; padding-top:6px; }
.listening-room .sleeve-top { font-size:7px; margin-bottom:8px; }
.listening-room .sleeve-bottom b { font-size:18px; line-height:1; }
.listening-room .sleeve-bottom>span { font-size:10px; }
.listening-room .player-controls { grid-column:auto; grid-row:auto; margin:0 0 14px; padding:0 0 10px; font-size:12px; }
.listening-room .player-controls button { width:44px; height:40px; }
.listening-room .player-copy { grid-column:auto; grid-row:auto; }
.listening-room .player-copy>.eyebrow { font-size:12px; color:#705a85; }
.listening-room .player-copy h2 { font-size:32px; margin:9px 0 11px; line-height:1; }
.listening-room .player-copy p { font-size:16px; line-height:1.45; max-width:none; }
.listening-room .now-tags { font-size:12px; margin:12px 0 15px; line-height:1.45; }
.listening-room .solid-link { padding:13px 15px; min-height:48px; }
.listening-room .record-library { padding-top:50px; }
.listening-room .library-heading h2 { font-size:56px; }
.listening-room .library-heading p { font-size:16px; }
.listening-room .crate-filter { gap:4px; margin-bottom:30px; }
.listening-room .crate-filter>button { font-size:14px; min-height:44px; padding:9px 13px; }
.listening-room .crate-count { font-size:12px; }
.listening-room .record-grid { gap:38px 28px; }
.listening-room .crate-top { font-size:11px; }
.listening-room .record-item-caption strong { font-size:15px; line-height:1.4; }
.listening-room .record-item-caption>span { font-size:12px; gap:8px; flex-wrap:wrap; }
.listening-room .record-item[aria-pressed=true] .record-item-caption>span:after { content:'SELECTED'; font-size:11px; margin:0 0 0 auto; }
.listening-room .filter-status { font-size:14px; }
.listening-room .studio-note-copy p { font-size:16px; line-height:1.6; }
.listening-room .home-footer,.listening-room .work-context { font-size:13px; line-height:1.6; }
.listening-room .studio-note h2 { font-size:54px; }
.pour-arriving .chosen-drink { animation:place-drink .55s cubic-bezier(.2,.8,.2,1) both; }
@keyframes place-drink { 0% { opacity:0; transform:translateY(-18px) rotate(-6deg); } 70% { opacity:1; transform:translateY(1px) rotate(1deg); } 100% { opacity:1; transform:translateY(0) rotate(0); } }
@media(min-width:901px) and (max-height:780px) {
 .listening-room .room-welcome { padding-top:17px; padding-bottom:17px; }
 .listening-room .room-welcome h1 { font-size:42px; }
 .listening-room .room-scene { height:310px; }
 .listening-room .room-scene { --cat-size:min(36cqw,235px); }
 .listening-room .selected-record { max-width:235px; margin-bottom:12px; }
 .listening-room .record-player { padding-top:16px; padding-bottom:16px; }
 .listening-room .player-topline { margin-bottom:12px; }
 .listening-room .player-copy p { font-size:15px; }
}
@media(max-width:1200px) and (min-width:901px) {
 .listening-room .home-descriptor { font-size:11px; }
 .listening-room .room-welcome h1 { font-size:38px; }
 .listening-room .room-layout { grid-template-columns:1.4fr 1fr; }
 .listening-room .room-scene { --cat-size:min(39cqw,280px); }
 .listening-room .room-cat { left:31%; }
 .listening-room .pour-bar { display:flex; flex-wrap:wrap; justify-content:space-between; padding:12px 18px; gap:6px; }
 .listening-room .pour-options { order:2; width:100%; justify-content:flex-start; }
 .listening-room .pour-feedback { order:1; font-size:12px; max-width:none; }
 .listening-room .pour-bar>.eyebrow { font-size:11px; }
 .listening-room .record-player { padding-left:22px; padding-right:22px; }
}
@media(max-width:900px) {
 .listening-room { --gutter:24px; padding:10px; }
 .listening-room .home-descriptor { display:none; }
 .listening-room .home-nav a { padding:20px 18px; font-size:14px; }
 .listening-room .room-welcome { padding:20px var(--gutter); }
 .listening-room .room-welcome h1 { font-size:38px; }
 .listening-room .room-welcome>.room-introduction { max-width:32%; }
 .listening-room .room-introduction p { font-size:14px; }
 .listening-room .room-introduction .text-link { display:none; }
 .listening-room .room-layout { grid-template-columns:1fr; }
 .listening-room .room-scene { flex:none; height:340px; }
 .listening-room .room-scene { --cat-size:min(36cqw,245px); }
 .listening-room .room-cat { left:33%; }
 .listening-room .room-speaker { max-width:98px; }
 .listening-room .room-plaque strong { font-size:25px; }
 .listening-room .pour-bar { min-height:105px; }
 .listening-room .record-player { grid-template-columns:1fr 1.2fr; gap:0 28px; padding:28px var(--gutter); border-left:0; border-top:1px solid var(--line); }
 .listening-room .player-topline { grid-column:1/-1; }
 .listening-room .selected-record { grid-column:1; grid-row:2; width:100%; max-width:280px; }
 .listening-room .player-controls { grid-column:1; grid-row:3; margin-top:10px; align-self:end; }
 .listening-room .player-copy { grid-column:2; grid-row:2/4; }
 .listening-room .player-copy h2 { font-size:32px; }
 .listening-room .record-grid { grid-template-columns:repeat(3,1fr); gap:30px 22px; }
 .listening-room .crate-title { font-size:24px; }
 .listening-room .crate-top { font-size:10px; }
 .listening-room .studio-note { gap:6%; }
 .listening-room .studio-note h2 { font-size:42px; }
}
@media(max-width:600px) {
 .listening-room { --gutter:18px; padding:6px; }
 .listening-room .home-header { min-height:58px; }
 .listening-room .home-wordmark { font-size:27px; padding:11px 13px; }
 .listening-room .home-wordmark>span { font-size:9px; }
 .listening-room .home-nav a { padding:12px 8px; min-width:0; font-size:13px; }
 .listening-room .room-welcome { padding:16px var(--gutter) 17px; display:block; }
 .listening-room .room-welcome .eyebrow { font-size:11px; }
 .listening-room .room-welcome h1 { font-size:clamp(29px,8.2vw,44px); line-height:1.04; margin-top:8px; max-width:15ch; }
 .listening-room .room-welcome h1 em { display:block; }
 .listening-room .room-welcome>.room-introduction { display:none; }
 .listening-room .room-scene { height:clamp(220px,65vw,330px); --cat-size:min(41cqw,210px); --ceiling-space:44px; }
 .listening-room .room-cat { left:31%; bottom:26%; }
 .listening-room .room-plaque { left:4%; top:11%; padding:7px; }
 .listening-room .room-plaque strong { font-size:clamp(13px,3.5vw,19px); line-height:1.05; }
 .listening-room .pendant { width:55px; height:22px; }
 .listening-room .pendant i { bottom:22px; }
 .listening-room .pendant b { height:22px; }
 .listening-room .room-window { right:5%; top:8%; width:18%; height:29%; }
 .listening-room .room-window span { width:18px; height:18px; }
 .listening-room .room-speaker { width:15%; bottom:28%; max-width:80px; }
 .listening-room .left-speaker { left:7%; }
 .listening-room .right-speaker { right:6%; }
 .listening-room .room-table { left:7%; right:6%; padding:6px 8px; height:18%; bottom:9%; gap:7px; }
 .listening-room .room-table:before { left:-4px; right:-4px; height:5px; top:-5px; }
 .listening-room .room-table:after { height:9px; bottom:-10px; }
 .listening-room .cabinet-records { padding:3px 5px 2px; gap:1px; }
 .listening-room .cabinet-records i { width:5px; min-width:2px; }
 .listening-room .cabinet-records i:nth-child(3n) { width:3px; }
 .cabinet-doors i:after { width:2px; height:2px; right:5px; }
 .cabinet-doors i+i:after { right:auto; left:5px; }
 .listening-room .room-ogu { left:2%; bottom:1%; width:23%; max-width:115px; }
 .listening-room .side-table { right:2%; width:20%; height:29%; bottom:3%; }
 .listening-room .side-table>i { height:10px; }
 .listening-room .side-table>i:after { height:24px; top:8px; }
 .listening-room .chosen-drink { width:73%; left:12%; bottom:28%; }
 .listening-room .coaster { width:22px; height:5px; left:calc(49% - 11px); }
 .listening-room .drink-placed { font-size:11px; bottom:-10px; }
 .listening-room .pour-bar { display:flex; flex-direction:column; align-items:stretch; justify-content:start; padding:12px var(--gutter) 13px; gap:7px; min-height:0; }
 .listening-room .pour-bar>.eyebrow { font-size:12px; align-self:start; }
 .listening-room .pour-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
 .listening-room .pour-choice { font-size:14px; min-height:44px; gap:2px; padding:1px 6px 1px 2px; justify-content:center; }
 .listening-room .pour-choice svg { width:27px; height:32px; flex-shrink:0; }
 .listening-room .pour-feedback { font-size:13px; line-height:1.35; margin:0; min-height:18px; max-width:none; }
 .listening-room .record-player { display:block; padding:24px var(--gutter); }
 .listening-room .player-topline { margin-bottom:21px; }
 .listening-room .player-topline>.eyebrow,.listening-room .player-topline>span:last-child { font-size:12px; }
 .listening-room .selected-record { width:83%; max-width:310px; margin:0 auto 18px; }
 .listening-room .sleeve-top { font-size:8px; }
 .listening-room .sleeve-bottom b { font-size:25px; }
 .listening-room .player-controls { margin:0 0 19px; font-size:12px; }
 .listening-room .player-copy h2 { font-size:36px; }
 .listening-room .player-copy p { font-size:16px; line-height:1.55; }
 .listening-room .now-tags { font-size:13px; margin:16px 0 18px; }
 .listening-room .record-library { padding-top:34px; }
 .listening-room .library-heading h2 { font-size:clamp(38px,11vw,53px); }
 .listening-room .library-heading>div:last-child { display:block; margin-top:21px; }
 .listening-room .library-heading p { font-size:15px; }
 .listening-room .library-heading .text-link { font-size:13px; margin-top:10px; }
 .listening-room .crate-filter { gap:2px; margin-bottom:26px; }
 .listening-room .crate-filter>button { font-size:13px; padding:8px 9px; }
 .listening-room .crate-count { width:100%; padding:4px 9px 0; font-size:12px; }
 .listening-room .record-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:27px 17px; }
 .listening-room .crate-cover { padding:8px; }
 .listening-room .crate-top { font-size:9px; margin-bottom:7px; letter-spacing:0; }
 .listening-room .crate-cover>img { height:49%; }
 .listening-room .crate-title { font-size:clamp(17px,4.9vw,27px); padding-top:9px; }
 .listening-room .record-item-caption strong { font-size:14px; }
 .listening-room .record-item-caption>span { font-size:11px; gap:2px 5px; }
 .listening-room .record-item[aria-pressed=true] .record-item-caption>span:after { font-size:10px; }
 .listening-room .studio-note { gap:26px; }
 .listening-room .studio-note h2 { font-size:clamp(36px,10vw,50px); }
 .listening-room .studio-note-copy p { font-size:16px; }
 .listening-room .studio-note .text-link { font-size:13px; }
 .listening-room .home-footer,.listening-room .work-context { font-size:12px; }
 .listening-room .footer-main { flex-wrap:wrap; gap:14px; }
}
@media(max-width:350px) {
 .listening-room { --gutter:14px; }
 .listening-room .home-wordmark { padding-left:10px; padding-right:10px; font-size:25px; }
 .listening-room .home-nav a { padding:10px 6px; font-size:12px; }
 .listening-room .room-welcome .eyebrow { font-size:10px; }
 .listening-room .pour-choice { font-size:13px; }
 .listening-room .pour-feedback { font-size:12px; }
 .listening-room .crate-filter>button { padding:8px 7px; }
 .listening-room .record-grid { gap:24px 15px; }
 .listening-room .crate-title { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .pour-arriving .chosen-drink { animation:none; } }

/* Approved record naming: project on sleeve, editorial nickname underneath. */
.listening-room .record-item { container-type:inline-size; min-width:0; }
.listening-room .crate-cover { display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:8px; }
.listening-room .crate-top { margin-bottom:0; }
.listening-room .crate-cover>img { height:100%; min-height:0; object-fit:cover; }
.listening-room .crate-title { font-size:clamp(15px,8cqw,30px); line-height:1.03; min-height:3.09em; padding-top:0; }
.listening-room .record-item-caption strong { line-height:1.45; }
.listening-room .selected-record { container-type:inline-size; }
.listening-room .sleeve-bottom b { font-size:clamp(15px,7.2cqw,23px); line-height:1.02; white-space:pre-line; }
.listening-room .sleeve-bottom>span { flex-shrink:0; }

/* A project can belong to several attributes without changing its place in the collection. */
.listening-room .record-item-caption>.project-tags { justify-content:flex-start; gap:3px 10px; margin-top:7px; font-size:12px; line-height:1.5; }
.listening-room .record-item[aria-pressed=true] .record-item-caption>.project-tags:after { content:none; }
.listening-room .now-tags.project-tags { gap:5px 13px; font-size:13px; line-height:1.5; }
.listening-room .crate-filter { flex-wrap:wrap; row-gap:4px; }
.listening-room .crate-filter>button { white-space:nowrap; }
