/* Museum styling affects the paper and layout, never the photographic content. */
.museum-intro { background: radial-gradient(ellipse at 85% 35%, #59d8ff0e, transparent 55%); overflow: hidden; }
.museum-intro-grid { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:48px; }
.museum-intro h1 { font-size:clamp(3.2rem,6.2vw,6.1rem); max-width:730px; }
.museum-subhead { font-size:clamp(1.5rem,2.4vw,2.1rem); font-weight:800; margin:18px 0 10px; }
.museum-description { max-width:560px; color:#bcbcbc; margin:0 0 18px; }
.museum-jump { color:var(--blue); font-size:.84rem; text-underline-offset:6px; font-weight:800; }
.intro-prints { display:grid; grid-template-columns:1fr 1fr; align-items:center; padding:30px 0; }
.intro-print { margin:0 -12px 0 0; transform:rotate(-7deg); }
.intro-print figcaption { font-size:clamp(12px,1.3vw,18px); }
.dog-print { margin:90px 0 0 -4px; transform:rotate(8deg); }
.collection-section { border-block:1px solid #59d8ff30; background:radial-gradient(ellipse at 50% 20%,#151b1d,#0d0e0d 70%); }
.collection-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:24px; }
.collection-heading h2 { font-size:clamp(2.4rem,4.5vw,4rem); }
.collection-heading p:not(.eyebrow) { color:#b9bdbb; margin:0; }
.museum-toolbar { margin-bottom:22px; }
.museum-filters { display:flex; flex-wrap:wrap; gap:7px; }
.museum-filters button { background:#0b0d0c; color:#cbd2d3; border:1px solid #394449; border-radius:30px; padding:9px 13px; font-size:.77rem; cursor:pointer; min-height:42px; }
.museum-filters button[aria-pressed=true] { background:var(--blue); color:#031318; border-color:var(--blue); font-weight:800; }
.museum-count { font-family:monospace; color:var(--blue); font-size:.76rem; margin:12px 0 0; }
.polaroid-grid { list-style:none; margin:0; padding:8px 4px 20px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px 22px; align-items:start; }
.polaroid-item { min-width:0; }
.polaroid { box-sizing:border-box; display:grid; grid-template-rows:auto minmax(0,1fr) auto; aspect-ratio:88/107; position:relative; padding:6% 6% 4%; background:linear-gradient(135deg,#f4f0e4,#e9e5d9); border:1px solid #d9d4c7; color:#1d2424; text-decoration:none; transform:rotate(-1.5deg); box-shadow:2px 8px 17px #0008,inset 0 0 10px #fff5; transition:transform .18s,box-shadow .18s; }
.polaroid-item:nth-child(3n+2) .polaroid { transform:rotate(1.7deg); }
.polaroid-item:nth-child(5n) .polaroid { transform:rotate(-.5deg); }
.polaroid:hover,.polaroid:focus-visible,.polaroid-item:nth-child(n) .polaroid:focus-visible { transform:rotate(0) translateY(-4px); box-shadow:0 12px 25px #000a; }
.photo-window { display:block; position:relative; width:100%; aspect-ratio:1/1; background:#161918; overflow:hidden; }
.photo-window img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.photo-caption { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; align-self:center; overflow:hidden; font:600 clamp(12px,1.3vw,16px)/1.15 "Segoe Print","Bradley Hand","Comic Sans MS",cursive; min-height:0; padding:4px 0 2px; }
.photo-meta { display:flex; justify-content:space-between; gap:4px; padding-top:3px; color:#536162; font:9px/1.1 monospace; letter-spacing:0; }
.photo-meta span:first-child { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.photo-meta span:last-child { flex-shrink:0; }
.museum-more { text-align:center; margin:12px 0 26px; }
.archive-note { font-size:.8rem; color:#9dabae; max-width:800px; margin:20px auto 0; text-align:center; }
.museum-closing .actions { margin-top:20px; }
.photo-dialog { width:min(1120px,96vw); max-width:96vw; height:min(940px,94dvh); max-height:94dvh; padding:0; border:1px solid #54707a; background:#101413; color:white; border-radius:4px; }
.photo-dialog::backdrop { background:#000e; backdrop-filter:blur(6px); }
.photo-dialog-inner { display:flex; flex-direction:column; height:100%; padding:12px; }
.photo-dialog-top,.photo-dialog-bottom { display:flex; justify-content:space-between; align-items:center; gap:14px; flex-shrink:0; }
.photo-dialog-top { color:var(--blue); font:12px monospace; padding-bottom:8px; }
.photo-dialog button { background:#161f20; border:1px solid #566568; color:white; min-height:44px; min-width:44px; padding:7px 13px; border-radius:3px; cursor:pointer; }
.photo-large { flex:1; min-height:0; width:100%; object-fit:contain; }
.photo-dialog-bottom { padding-top:12px; }
#photo-title { text-transform:none; font:italic clamp(1.05rem,2vw,1.5rem)/1.3 Georgia,serif; text-align:center; letter-spacing:0; }
.photo-key-help { font-size:.7rem; text-align:center; color:#9baaaa; margin:8px 0 0; }
.photo-key-help { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:4px 18px; }
.photo-key-help a { display:inline-flex; align-items:center; min-height:44px; padding:4px 10px; color:var(--blue); font-weight:700; text-underline-offset:4px; }
[hidden] { display:none!important; }
@media(max-width:980px) { .polaroid-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.museum-intro-grid{gap:25px;} }
@media(max-width:700px) { .museum-intro-grid{grid-template-columns:1fr;}.intro-prints{max-width:470px;margin:auto;padding:0 20px;}.dog-print{margin-top:40px;}.collection-heading{display:block;}.collection-heading>p{margin-top:12px!important;}.polaroid-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 15px;}.photo-caption{font-size:clamp(11px,2.3vw,15px);}.museum-intro h1{font-size:clamp(3.3rem,11vw,5rem);} }
@media(max-width:380px) { .polaroid-grid{gap:22px 12px;}.photo-meta{font-size:8px;} }
