.museum{padding-top:58px}
.museum-nav{display:flex;gap:16px;margin-left:auto;overflow-x:auto;overflow-y:hidden;padding:4px 0;scrollbar-width:thin;max-width:calc(100vw - 190px)}
.museum-nav a{color:var(--steel);text-decoration:none;font:600 12px/1 var(--ui);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;opacity:.8}
.museum-nav a:hover{opacity:1;color:#fff}
.museum-hero{position:relative;overflow:hidden;isolation:isolate;padding:100px 0 70px;text-align:center;
  background:radial-gradient(ellipse 80% 70% at 50% 30%,#16202e,var(--bg) 75%)}
.museum-hero .wrap{max-width:820px}
.museum-hero h1{font-size:clamp(34px,6vw,68px);letter-spacing:.12em;text-transform:uppercase;background:var(--metal);
  -webkit-background-clip:text;background-clip:text;color:transparent;margin:0 0 22px}
.lead{font-size:clamp(17px,2vw,20px);line-height:1.65;color:var(--text);margin:0 auto;max-width:720px}
.halls{padding:10px 0 70px}
.halls-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative}
.halls-row::before{content:"";position:absolute;left:8%;right:8%;top:30px;height:1px;background:linear-gradient(90deg,transparent,var(--line2),transparent)}
.hall{position:relative;padding:26px 26px 24px;border-radius:12px;border:1px solid var(--line);
  background:var(--brushed),linear-gradient(180deg,var(--panel2),var(--panel))}
.hall-years{margin:0 0 10px;font:800 15px/1 var(--display);letter-spacing:.2em;color:var(--blue2)}
.hall h3{font-size:22px;color:#fff;margin:0 0 12px}
.hall p:last-child{margin:0;color:var(--muted);font-size:16px}
.gallery{padding:70px 0 10px;border-top:1px solid var(--line);scroll-margin-top:70px}
.gallery header{max-width:720px;margin:0 0 28px}
.gallery h2{margin:0 0 12px}
.grid{columns:4 220px;column-gap:16px}
.gallery-wide .grid{columns:3 300px}
.grid figure{break-inside:avoid;margin:0 0 16px;padding:10px;border-radius:10px;border:1px solid var(--line);
  background:linear-gradient(180deg,var(--panel2),var(--panel));transition:transform .2s,border-color .2s}
.grid figure:hover{transform:translateY(-3px);border-color:var(--line2)}
.grid img{display:block;width:100%;height:auto;border-radius:5px;background:#0b0f15}
.grid figcaption{margin-top:8px;font-size:13px;color:var(--steel2);overflow-wrap:anywhere}
#ribbons .grid{columns:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
#ribbons .grid figure{margin:0}
/* Small galleries: even rows of same-size frames (a few staggered columns end unevenly); big ones stay staggered. */
#logos .grid,#swg .grid,#website .grid{columns:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;align-items:start}
#swg .grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}
#logos .grid figure,#swg .grid figure,#website .grid figure{margin:0}
#logos .grid img,#swg .grid img,#website .grid img{aspect-ratio:16/10;height:auto;object-fit:contain}
.gallery-year{font:800 18px/1 var(--display);letter-spacing:.14em;color:var(--blue2);margin:26px 0 14px}
#ribbons img{image-rendering:auto}
.wb-strip{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}
.wb-strip li{display:flex;flex-direction:column;gap:6px;padding:14px 14px 12px;border-radius:10px;border:1px solid var(--line);
  background:var(--brushed),linear-gradient(180deg,var(--panel2),var(--panel));transition:border-color .2s,transform .2s}
.wb-strip li:hover{border-color:var(--line2);transform:translateY(-2px)}
.wb-year{font:800 24px/1 var(--display);letter-spacing:.06em;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:4px}
.wb-strip a{font-size:13px;font-weight:600;letter-spacing:.06em;text-decoration:none;color:var(--blue2)}
.wb-strip a::after{content:" \2197";opacity:.7}
.wb-strip a:hover{color:#fff}
.members{padding:80px 0 30px;border-top:1px solid var(--line)}
.members-card{position:relative;max-width:760px;margin:0 auto;padding:40px 36px;border-radius:16px;text-align:center;
  border:1px solid rgba(255,200,100,.3);background:radial-gradient(ellipse at top,rgba(255,215,130,.08),transparent 70%),var(--brushed),linear-gradient(180deg,var(--panel2),var(--panel))}
.members-card .chip{position:static;display:inline-block;margin:0 0 18px}
.members-card h2{margin:0 0 16px}
.members-card .muted{margin:14px 0 26px}
.museum-foot{text-align:center;max-width:640px;margin:40px auto 80px}
.lightbox{max-width:min(1100px,94vw);max-height:92vh;padding:14px;border:1px solid var(--line2);border-radius:12px;background:#0b0f15;color:var(--text)}
.lightbox::backdrop{background:rgba(0,0,0,.82)}
.lightbox img{display:block;max-width:100%;max-height:80vh;margin:0 auto}
.lightbox p{margin:10px 0 0;text-align:center;font-size:14px;color:var(--steel2)}
.lightbox button{position:absolute;top:6px;right:10px;font-size:28px;line-height:1;background:none;border:0;color:#fff;cursor:pointer}
/* members-only recordings page */
.recordings{padding:60px 0 90px;background:radial-gradient(ellipse 70% 40% at 50% 0%,#16202e,var(--bg) 70%);min-height:100vh}
.recordings .wrap{max-width:820px}
.recordings h1{font-size:clamp(28px,4vw,44px);color:#fff;margin:18px 0 14px}
.recordings .back{color:var(--steel2);text-decoration:none;font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.rec{margin:18px 0;padding:20px 22px;border-radius:12px;border:1px solid var(--line);background:var(--brushed),linear-gradient(180deg,var(--panel2),var(--panel))}
.rec h3{font-size:20px;color:#fff;margin:0 0 8px}
.rec p{margin:0 0 8px;color:var(--muted)}
.rec audio{width:100%;margin-top:6px}
@media (max-width:900px){.halls-row{grid-template-columns:1fr}.halls-row::before{display:none}}
@media (max-width:640px){.topbar{flex-wrap:wrap}.museum-nav{order:3;width:100%;margin:6px 0 0;padding-bottom:4px;-webkit-mask:linear-gradient(90deg,#000 85%,transparent);mask:linear-gradient(90deg,#000 85%,transparent)}.museum-hero{padding:70px 0 50px}.members-card{padding:30px 20px}}
/* members-only history (rendered by scripts/68-build-history.py) */
.history{padding:56px 0 100px;background:radial-gradient(ellipse 70% 30% at 50% 0%,#16202e,var(--bg) 70%);min-height:100vh}
.history .wrap{max-width:760px}
.history .back{color:var(--steel2);text-decoration:none;font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.history h1{font-size:clamp(32px,5vw,54px);letter-spacing:.06em;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent;margin:18px 0 16px}
.dek{font-size:21px;line-height:1.55;color:var(--text);margin:0 0 10px;font-style:italic}
.listen{position:relative;top:10px;z-index:5;margin:28px 0;padding:16px 18px;border-radius:14px;border:1px solid var(--line2);
  background:rgba(12,16,22,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 20px 40px -20px #000}
.listen.playing{position:sticky}   /* follows the reader only while the audio plays */
.listen .eyebrow{margin-bottom:10px}
.h-fig{margin:30px 0}.h-fig img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--line);background:#0b0f15}
.h-fig figcaption{margin-top:8px;font-size:14px;color:var(--steel2)}
.listen-row{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.listen-row .btn{width:48px;height:48px;padding:0;border-radius:50%;cursor:pointer}
.listen-meta b{display:block;color:#fff;font-size:15px}
.listen-meta span{font-size:13px;color:var(--muted)}
.listen audio{width:100%;height:36px}
.toc{margin:30px 0 10px;padding:18px 22px;border-radius:12px;border:1px solid var(--line);background:linear-gradient(180deg,var(--panel2),var(--panel))}
.toc ol{margin:0;padding-left:22px;columns:2 260px;column-gap:28px}
.toc li{margin:4px 0;color:var(--steel2)}
.toc a{color:var(--steel);text-decoration:none}.toc a:hover{color:#fff}
.chapter{scroll-margin-top:150px;margin-top:56px}
.chapter h2{display:flex;align-items:center;gap:14px;font-size:clamp(24px,3vw,32px);margin:0 0 22px}
.ch-no{font:800 15px/1 var(--display);color:var(--blue2);letter-spacing:.14em;padding:8px 10px;border:1px solid var(--line2);border-radius:8px;-webkit-text-fill-color:var(--blue2)}
.ch-play{margin-left:auto;flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--line2);background:transparent;color:var(--steel);cursor:pointer;font-size:13px}
.ch-play:hover,.ch-play.on{background:var(--blue);color:#fff;border-color:transparent}
.history p{font-size:18.5px;line-height:1.78;color:#d9dde3;margin:0 0 1.15em}
.history a{color:var(--blue2)}
.history blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:3px solid var(--blue)}
.history blockquote p{font-size:19px;font-style:italic;color:#fff;margin:0 0 6px}
.history cite{font-style:normal;font-size:14px;color:var(--steel2)}
.history-note{margin-top:60px;padding-top:24px;border-top:1px solid var(--line)}
.seg{position:relative;border-radius:6px;transition:background .3s,box-shadow .3s}
.seg.reading{background:rgba(63,134,240,.09);box-shadow:-12px 0 0 rgba(63,134,240,.09),12px 0 0 rgba(63,134,240,.09)}
.p-play{position:absolute;left:-40px;top:2px;width:28px;height:28px;border-radius:50%;border:1px solid var(--line2);background:var(--bg);
  color:var(--steel2);font-size:10px;cursor:pointer;opacity:0;transition:opacity .2s}
.seg:hover .p-play,.p-play:focus,.seg.reading .p-play{opacity:1}
.p-play:hover{background:var(--blue);color:#fff;border-color:transparent}
.follow{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px;color:var(--muted);cursor:pointer}
@media (max-width:860px){.p-play{position:static;float:left;margin:4px 10px 0 0;opacity:.55}.history blockquote .p-play{margin-left:-4px}}
.museum-foot a,.foot-links a{color:var(--steel)}
#members .members{padding:40px 0 10px;border-top:0}
.lightbox .lb-prev,.lightbox .lb-next{position:absolute;top:50%;translate:0 -50%;width:44px;height:64px;font-size:40px;line-height:1;
  background:rgba(0,0,0,.45);border:0;color:#fff;cursor:pointer;border-radius:8px}
.lightbox .lb-prev{left:8px;right:auto}.lightbox .lb-next{right:8px;left:auto;top:50%}
.lightbox img{min-width:min(420px,80vw);image-rendering:auto}
.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:20px}
.video-card{border-radius:12px;border:1px solid var(--line);overflow:hidden;background:linear-gradient(180deg,var(--panel2),var(--panel))}
.video-frame{position:relative;aspect-ratio:16/9;background:#0b0f15}
.video-frame img,.video-frame iframe{display:block;width:100%;height:100%;object-fit:cover;border:0}
.video-frame>a{display:block;height:100%}
.video-facade{display:block;position:relative;width:100%;height:100%;padding:0;border:0;margin:0;background:none;cursor:pointer;color:#fff}
.video-facade:focus-visible{outline:2px solid var(--blue2);outline-offset:-4px}
.video-play{position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;border-radius:12px;
  background:rgba(6,8,11,.78);border:1px solid var(--line2);transition:background .2s,transform .2s}
.video-play::after{content:"";position:absolute;left:27px;top:14px;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff}
.video-facade:hover .video-play,.video-facade:focus-visible .video-play{background:var(--blue);transform:scale(1.06)}
.video-meta{padding:16px 18px 18px}
.video-meta h3{margin:0 0 8px;font-size:19px;color:#fff;overflow-wrap:anywhere}
.video-meta p{margin:0 0 8px;color:var(--muted);font-size:15px}
.video-year,.video-host{font:700 13px/1.2 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--blue2)!important}
.video-link{font-size:14px;font-weight:600;letter-spacing:.04em;text-decoration:none;color:var(--blue2)}
.video-link::after{content:" \2197";opacity:.7}
.video-link:hover{color:#fff}
/* From the forums: one card per thread (scripts/65 exhibits_html) */
.ex-list{display:grid;gap:26px}
.exhibit{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0;border-radius:14px;border:1px solid var(--line);overflow:hidden;
  background:var(--brushed),linear-gradient(180deg,var(--panel2),var(--panel))}
.exhibit:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
.exhibit:nth-child(even) .ex-gallery{order:2}
.exhibit.ex-text{grid-template-columns:1fr}
.exhibit.ex-text .ex-body{max-width:760px}
.ex-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;background:#0b0f15;align-content:start}
.ex-gallery figure{margin:0;position:relative}
.ex-gallery figure:first-child{grid-column:1/-1}
.ex-n1,.ex-n2{grid-template-columns:1fr}
.ex-n4{grid-template-columns:repeat(3,1fr)}
.ex-n6{grid-template-columns:repeat(3,1fr)}
.ex-n6 figure:first-child{grid-column:1/3;grid-row:1/3}
.ex-n6 figure:first-child img{aspect-ratio:auto}
.ex-gallery a{display:block;height:100%}
.ex-gallery img{display:block;width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;transition:opacity .2s}
.ex-gallery figure:first-child img{aspect-ratio:16/9}
.ex-gallery a:hover img,.ex-gallery a:focus-visible img{opacity:.85}
.ex-gallery figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ex-body{padding:26px 28px 24px;display:flex;flex-direction:column}
.ex-body h3{margin:0 0 12px;font-size:clamp(20px,2.2vw,26px);color:#fff;overflow-wrap:anywhere}
.ex-date{font:700 13px/1.2 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--blue2);margin:0 0 10px}
.ex-caption{margin:0 0 14px;color:var(--text);font-size:16.5px;line-height:1.65}
.ex-credit{margin:0 0 16px;color:var(--steel2)}
.ex-video{margin:0 0 18px}
.ex-video .video-frame{border-radius:10px;overflow:hidden;border:1px solid var(--line);margin-bottom:8px}
.ex-thread{margin:auto 0 6px;padding-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ex-thread .chip{position:static}
.ex-link{font-size:15px;font-weight:600;letter-spacing:.04em;text-decoration:none;color:var(--blue2)}
.ex-link::after{content:" \2197";opacity:.7}
.ex-link:hover{color:#fff}
.ex-note{margin:0;color:var(--muted)}
/* exhibits without surviving pictures: a dated list under the cards */
.ex-more{margin:44px 0 14px;font-size:clamp(20px,2.2vw,26px);color:#fff}
.ex-moments{list-style:none;margin:0 0 14px;padding:0;border-top:1px solid var(--line)}
.ex-moments li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:16px 4px;border-bottom:1px solid var(--line)}
.ex-moments .ex-date{margin:3px 0 0}
.ex-moments h3{margin:0 0 6px;font-size:18px;color:#fff;overflow-wrap:anywhere}
.ex-moments .ex-caption{margin:0 0 8px;font-size:15.5px}
.ex-moments .ex-thread{margin:0;padding:0}
@media (max-width:820px){.ex-moments li{grid-template-columns:1fr;gap:4px}}
@media (max-width:820px){.exhibit,.exhibit:nth-child(even){grid-template-columns:1fr}.exhibit:nth-child(even) .ex-gallery{order:0}.ex-body{padding:22px 18px}}

/* "Add to the museum" note (#share) */
.share header{max-width:720px}
