.room-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding:3.5rem 0 2rem}.room-eyebrow,.room-count,.view-switch,.room-sections,.room-index-section>header>span,.room-gallery-section>header>span,.gallery-caption>span,.room-art-note{font:.6875rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.room-eyebrow{text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem;letter-spacing:.04em}.room-heading h1{font-size:clamp(2.7rem,5vw,4.5rem);line-height:1;font-weight:600;letter-spacing:-.05em;margin:0 0 1.25rem}.room-heading p:last-child{color:var(--secondary);max-width:34rem;margin:0}.room-controls{display:flex;flex-direction:column;align-items:end;gap:.75rem;flex-shrink:0}.room-count{color:var(--muted)}.view-switch{display:flex;padding:.25rem;border:1px solid var(--line-strong)}.view-switch[hidden],[data-room-panel][hidden]{display:none}.view-switch button{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:2.75rem;padding:.5rem .85rem;border:0;background:transparent;color:var(--secondary);cursor:pointer;font:inherit}.view-switch button[aria-pressed=true]{color:var(--paper);background:var(--ink)}.view-switch button>span{font-size:1.2rem;line-height:1}.room-sections{display:flex;gap:.75rem 2rem;flex-wrap:wrap;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:1rem 0}.room-sections a{text-decoration:none;min-height:2rem;display:flex;align-items:center;gap:.5rem}.room-sections a:hover{text-decoration:underline}.room-sections span,.room-sections small{color:var(--muted)}.room-sections small{font-size:.625rem;margin-left:.1rem}.room-index-section{padding:2.5rem 0 1rem;scroll-margin-top:1rem}.room-index-section+.room-index-section{margin-top:1.5rem}.room-index-section>header{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:1.25rem;border-top:3px solid var(--ink);padding:1.5rem 0 2rem}.room-index-section>header>span{display:grid;place-items:center;align-self:start;aspect-ratio:1;background:var(--signal);color:var(--signal-ink);font-size:1.5rem;line-height:1}.room-index-section h2{font-size:clamp(2rem,3vw,3rem);line-height:1.1;margin:0 0 1rem;font-weight:600;letter-spacing:-.035em}.room-index-section header p{max-width:42rem;color:var(--secondary);margin:0}.room-gallery-section{padding-top:2rem;scroll-margin-top:1rem}.room-gallery-section+.room-gallery-section{margin-top:2rem}.room-gallery-section>header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.25rem}.room-gallery-section h2{font-size:1.125rem;font-weight:600;margin:0}.room-gallery-section>header>span{color:var(--muted)}.gallery-board{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem 1.25rem}.gallery-card{display:block;text-decoration:none}.gallery-card img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;display:block;background:var(--paper-raised)}.gallery-caption{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:baseline;padding-top:.85rem;border-top:1px solid var(--line);margin-top:.5rem}.gallery-caption>span{color:var(--muted);font-size:.625rem}.gallery-caption :is(h2,h3){font-size:1rem;line-height:1.35;font-weight:600;margin:0}.gallery-card:hover :is(h2,h3),.gallery-card:focus-visible :is(h2,h3){text-decoration:underline;text-underline-offset:.2em}.gallery-arrow{opacity:0}.gallery-card:hover .gallery-arrow,.gallery-card:focus-visible .gallery-arrow{opacity:1}.room-art-note{margin:3rem 0 0;color:var(--muted)}@media (max-width: 1199px){.gallery-board{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 759px){.room-heading{align-items:start;flex-direction:column;padding-top:2.5rem;gap:1.5rem}.room-controls{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.room-sections{gap:.5rem 1.25rem}.room-index-section>header{grid-template-columns:2.5rem 1fr;gap:.75rem}.room-index-section>header>span{font-size:1.125rem}.gallery-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1rem}.gallery-caption{grid-template-columns:1fr auto;gap:.25rem}.gallery-caption>span:first-child{grid-column:1 / -1}.gallery-caption :is(h2,h3){font-size:.9375rem}}@media (max-width: 479px){.gallery-board{grid-template-columns:1fr}}
