.gallery-intro{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:10%;padding:3rem var(--gutter) 2.6rem}.gallery-intro h1{font-size:clamp(3.5rem,5.8vw,6.5rem);line-height:.95;color:var(--red)}.gallery-intro .eyebrow{font-size:.75rem;margin-bottom:1.2rem}.gallery-intro>p{max-width:435px;color:var(--muted);font-size:1rem;padding-bottom:.3rem}.window-experience{padding:0 var(--gutter) 4rem}.gallery-toolbar{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:1.2rem 0;border-top:1px solid var(--line)}.collection-filters{display:flex;flex-wrap:wrap;gap:.4rem}.collection-filters button{font-size:.875rem;border:1px solid transparent;background:transparent;padding:.6rem .85rem;color:var(--muted);min-height:44px}.collection-filters button[aria-pressed=true]{background:var(--red);border-color:var(--red);color:var(--paper)}.collection-filters button:hover{border-color:var(--red)}.gallery-total{font-size:.8rem;color:var(--muted);white-space:nowrap}.window-room{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);background:#e8e2d6;border:1px solid #d5cbb9}.window-gallery-region{min-width:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:1.8rem 0 1.3rem}.gallery-wayfinding,.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:0 2rem}.gallery-wayfinding{font-size:.75rem;color:#65645a}.gallery-wayfinding #gallery-count{color:var(--red);font-variant-numeric:tabular-nums;white-space:nowrap}.window-rail{--slide-size:min(440px,42vw);display:flex;gap:2rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#aa695a #d8cbb9;padding:2.2rem calc((100% - var(--slide-size))/2) 1rem;cursor:grab;-webkit-overflow-scrolling:touch}.window-rail:focus-visible{outline-offset:-5px}.window-rail::-webkit-scrollbar{height:5px}.window-rail::-webkit-scrollbar-track{background:#d8cbb9}.window-rail::-webkit-scrollbar-thumb{background:#aa695a}.window-rail.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}.window-slide{flex:0 0 var(--slide-size);min-width:0;padding:0 0 1rem;border:0;background:transparent;scroll-snap-align:center;scroll-snap-stop:normal;color:var(--ink);opacity:.38;transform:scale(.89);transition:opacity .35s,transform .35s;cursor:inherit;text-align:left}.window-slide.is-selected{opacity:1;transform:scale(1)}.window-slide:focus-visible{outline:2px solid var(--red);outline-offset:6px}.window-slide-photo{height:clamp(250px,28vw,350px);display:flex;align-items:center;justify-content:center;pointer-events:none}.window-slide-photo img{width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}.archival-image{mix-blend-mode:multiply}.window-slide-caption{display:flex;align-items:baseline;gap:1rem;margin-top:1.2rem;padding:0 .2rem;font:1.75rem/1.2 var(--serif);pointer-events:none}.slide-number{font:.75rem var(--sans);color:var(--red)}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 2rem .6rem}.gallery-step{background:transparent;border:1px solid #a79580;color:var(--red);font-size:.875rem;padding:.6rem 1.1rem;min-height:44px;transition:background .2s}.gallery-step:hover:not(:disabled){background:#dbd0bf}.gallery-step:disabled{opacity:.35;cursor:default}.gallery-controls>span{font-size:.75rem;color:var(--muted)}.gallery-bottom{margin-top:1rem;border-top:1px solid #d4c8b6;padding-top:1rem;font-size:.75rem;color:var(--muted);gap:1rem}.gallery-enlarge{display:flex;align-items:center;gap:.8rem;background:none;border:0;color:var(--red);font-size:.875rem;min-height:44px;white-space:nowrap;padding:0}.gallery-enlarge>span{font-size:1.35rem}.window-reading{background:var(--red);color:var(--paper);padding:2.5rem 2.6rem;min-width:0;display:flex;flex-direction:column}.reading-head{display:flex;justify-content:space-between;align-items:start;gap:1rem}.window-reading .eyebrow{color:#e5c9b8;font-size:.75rem;letter-spacing:.08em;margin:0}.reading-number{font:2.5rem/.9 var(--serif);color:#d9aa8e}.window-reading h2{font-size:clamp(2.8rem,3.8vw,4.4rem);margin:1.7rem 0 1.4rem;color:var(--paper)}.window-reading>p{font-size:1rem;line-height:1.7;color:#f2e4d9}.window-reading h3{font:500 .75rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#e4c4ac;margin:1.6rem 0 .55rem}.window-reading h3+p{font-size:.875rem;line-height:1.6;color:#f2e4d9}.reading-source{border-top:1px solid #d7a58e66;margin-top:auto;padding-top:1rem}.reading-scripture,.reading-symbols{margin-bottom:.7rem}.reading-source p{font-size:.75rem;color:#e4c4ac;padding-top:.5rem;margin-bottom:1rem}.reading-source a{font-size:.8rem;text-underline-offset:.35rem;color:var(--paper)}.gallery-footnote{display:flex;justify-content:space-between;gap:2rem;font-size:.75rem;color:var(--muted);padding-top:1.2rem}.gallery-footnote a{color:var(--red);text-underline-offset:.3rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.window-reading.is-changing h2{animation:window-in .3s ease-out}.gallery-lightbox{width:min(980px,94vw);max-width:none;max-height:94svh;border:0;padding:2.5rem 3rem;background:var(--paper);color:var(--red);text-align:center;box-shadow:0 20px 100px #0006}.gallery-lightbox::backdrop{background:#20271edd;backdrop-filter:blur(5px)}.lightbox-close{display:flex;align-items:center;gap:1rem;background:none;border:0;color:var(--red);margin-left:auto;min-height:44px;font-size:.875rem}.lightbox-close span{font-size:1.5rem}.gallery-lightbox h2{font-size:2.8rem;margin:.5rem 0 1.8rem}.gallery-lightbox>img{margin:auto;width:100%;height:60svh;max-height:650px;object-fit:contain}.gallery-lightbox>p{font-size:.75rem;color:var(--muted);margin-top:1.5rem}body:has(.gallery-lightbox[open]){overflow:hidden}@keyframes window-in{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.window-room{grid-template-columns:minmax(0,1.1fr) minmax(310px,1fr)}.window-reading{padding:2rem}.window-rail{--slide-size:min(390px,36vw);gap:1rem}.gallery-wayfinding,.gallery-bottom{padding-inline:1.3rem}.gallery-controls{padding-inline:1.3rem}.gallery-controls>span{max-width:105px;text-align:center}.window-slide-photo{height:280px}.window-slide-caption{font-size:1.5rem}.gallery-wayfinding{gap:1rem}.window-reading h2{font-size:3rem}}
@media(max-width:760px){.gallery-intro{padding-top:2.2rem;grid-template-columns:1fr;gap:1.6rem}.gallery-intro h1{font-size:4.25rem}.gallery-intro>p{font-size:.95rem;max-width:540px}.gallery-toolbar{align-items:start;gap:1rem;flex-direction:column;padding-bottom:1rem}.collection-filters{gap:.25rem}.collection-filters button{font-size:.8rem;padding:.55rem .65rem}.gallery-total{display:none}.window-room{grid-template-columns:1fr}.window-rail{--slide-size:min(470px,75vw);gap:1.4rem;padding-top:1.7rem}.window-slide-photo{height:clamp(240px,57vw,380px)}.window-slide-caption{font-size:1.65rem}.window-gallery-region{padding-top:1.3rem}.window-reading{padding:2rem 1.7rem;min-height:430px}.window-reading h2{font-size:3.4rem;max-width:550px}.reading-source{margin-top:1.4rem}.gallery-controls>span{max-width:none}.gallery-bottom{font-size:.75rem}.gallery-footnote{font-size:.75rem;flex-direction:column;gap:.5rem}.gallery-lightbox{padding:1rem 1.3rem 2rem}.gallery-lightbox h2{font-size:2.5rem}.gallery-lightbox>img{height:55svh}.windows-context h2{font-size:3.4rem}}
@media(max-width:400px){.gallery-intro h1{font-size:3.9rem}.collection-filters button{font-size:.75rem;padding:.5rem .4rem}.window-rail{--slide-size:72vw}.gallery-controls{padding-inline:1rem;gap:.5rem}.gallery-step{padding:.55rem .75rem}.gallery-controls>span{font-size:.75rem;max-width:90px}.gallery-wayfinding{font-size:.75rem}.gallery-bottom{align-items:center}.gallery-bottom>span{max-width:155px}.window-reading h2{font-size:3.1rem}}
.window-slide-photo>.color-window{width:100%;height:100%;overflow:visible;pointer-events:none}.color-window{mix-blend-mode:normal}.lightbox-photo{height:60svh;max-height:650px;display:flex;align-items:center;justify-content:center}.lightbox-photo>img,.lightbox-photo>.color-window{width:100%;height:100%;object-fit:contain}.lightbox-photo>.color-window{overflow:visible}@media(max-width:760px){.lightbox-photo{height:55svh}}
@media(prefers-reduced-motion:reduce){.window-slide,.window-reading *{transition:none!important;animation:none!important}.window-rail{scroll-behavior:auto}}
