/* Photo frames are measured against image boxes, with captions outside the ornament. */
.photo-shell{position:relative;isolation:isolate}.photo-shell img{display:block;width:100%}.history-photo .photo-shell:after{inset:24px -24px -24px 24px}.arch-frame figcaption,.history-photo figcaption,.treasure-feature .arch-frame figcaption{font-family:var(--sans);font-size:14px;line-height:1.6;font-weight:400;letter-spacing:.015em;text-transform:none;max-width:none;margin:64px 0 0;padding:0 10px;color:var(--muted)}.history-photo figcaption{margin-top:42px}.arch-frame .photo-shell:after{inset:40px -34px -40px 34px}.arch-frame.reverse .photo-shell:after{inset:40px 34px -40px -34px}.visit-photo figcaption,.era-figure figcaption{font-size:13px;line-height:1.6;letter-spacing:.015em;text-transform:none}.cloister>.cloister-lines{inset:0;width:100%;height:100%;opacity:.16;overflow:visible}.cloister-intro,.room-note{position:relative;z-index:1}.header-links{gap:20px}.header-contact{border-bottom:1px solid var(--line);padding-block:5px}.visit-contact-link{margin-top:24px!important;font-size:14px!important}.visit-contact-link .text-link{white-space:normal}#menu-dialog nav{gap:8px}#menu-dialog nav a{font-size:clamp(30px,4vw,59px)}#menu-dialog nav a:nth-child(7){transition-delay:.36s}
/* Full-width photographic interlude with a separate, generous title. */
.wide-photo{padding:0;margin-top:0}.wide-photo-stage{height:80svh;min-height:400px;max-height:1000px;overflow:hidden;position:relative}.wide-photo-stage img{width:100%;height:calc(100% + 140px);max-height:none;position:absolute;top:-70px;object-fit:cover;object-position:center 50%;will-change:transform}.wide-photo figcaption{text-align:center;margin:0;padding:58px 6% 76px}.wide-photo figcaption>.label{font-size:11px;display:block;margin-bottom:22px}.wide-photo-title{display:block;font-family:var(--serif);font-size:clamp(42px,5.5vw,84px);line-height:1.12;letter-spacing:-.05em;text-transform:none}.program{padding-top:45px}
/* A sticky photographic reveal, followed by the footer in normal document flow. */
.footer-reveal{height:260svh;position:relative;margin-top:30px}.footer-reveal .footer-bridge{position:sticky;top:0;height:100svh;min-height:500px;margin:0;overflow:hidden;background:#30281f;--curtain:0px;--photo-scale:1.07;--photo-light:.6;--copy-opacity:1}.footer-reveal .bridge-photo{inset:0;z-index:-1;transform:none!important;will-change:auto}.footer-reveal .bridge-photo:before{content:'';position:absolute;inset:-30px;background:url('assets/muenster.webp') center/cover;filter:blur(24px) brightness(.38);z-index:-1}.footer-reveal .bridge-photo img{width:100%;height:100%;object-fit:contain;object-position:center;transform:scale(var(--photo-scale));filter:brightness(var(--photo-light));will-change:transform,filter}.footer-reveal .footer-bridge:before{transform:translateY(calc(-1 * var(--curtain)))}.footer-reveal .footer-bridge:after{transform:translateY(var(--curtain))}.footer-reveal .bridge-copy{opacity:var(--copy-opacity);pointer-events:none}.reveal-hint{position:absolute;bottom:28px;left:6%;right:6%;text-align:center;color:var(--paper);opacity:var(--copy-opacity);z-index:3;font-size:10px;letter-spacing:.2em}.footer{position:relative;background:var(--paper);z-index:1;padding-top:65px}
/* Contact page */
.contact-intro{padding-top:90px;padding-bottom:75px;border-top:1px solid var(--line)}.contact-intro h1{font-size:clamp(60px,7.5vw,116px);margin:28px 0 38px}.contact-intro>p:last-child{font-size:20px;max-width:53ch;margin-left:35%}.contact-details{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.25fr;gap:12%;padding-top:70px}.contact-address h2{font-size:56px;margin:25px 0 35px}.contact-address address{font-style:normal;font-size:19px;line-height:1.65}.contact-address .pill{margin-top:30px}.contact-channels article{padding:0 0 32px;margin-bottom:32px;border-bottom:1px solid var(--line)}.contact-channels h3{font-size:36px;margin:20px 0}.contact-value{display:block;width:fit-content;font-size:22px;line-height:1.7;margin:10px 0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;overflow-wrap:anywhere}.contact-channels p:not(.label){font-size:16px;line-height:1.75;margin-top:22px}.contact-hours{background:#e9ddd0;display:grid;grid-template-columns:1fr 1.25fr;gap:12%;padding-block:75px}.contact-hours h2{font-size:50px;margin-top:25px}.hours-list>div{display:flex;justify-content:space-between;gap:25px;padding:20px 0;border-bottom:1px solid var(--line);font-size:17px}.hours-list strong{font-weight:400;white-space:nowrap}.hours-list p{font-size:15px;line-height:1.75;margin-top:25px}.contact-map{padding-bottom:45px}.map-panel{height:540px;position:relative;background:#413d32;overflow:hidden}.map-placeholder{position:relative;height:100%;color:var(--paper)}.map-placeholder>img{width:100%;height:100%;object-fit:cover;filter:brightness(.35)}.map-invite{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:45px}.map-invite h3{font-size:64px;margin:22px 0}.map-invite p:not(.label){max-width:55ch;font-size:16px;margin:0 0 28px}.map-invite .label{font-size:10px}.map-panel iframe{display:block;width:100%;height:100%;border:0}.map-panel #map-frame{height:100%}.map-tools{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:23px;font-size:13px}.map-tools .text-link{white-space:normal}.contact-source{padding-top:0;padding-bottom:60px}.contact-source p{font-size:13px;line-height:1.7;max-width:95ch}.contact-source a{text-decoration:underline;text-underline-offset:3px}.contact-page .footer{border-top:1px solid var(--line)}[hidden]{display:none!important}
@media(max-width:900px){.contact-details,.contact-hours{gap:7%}.contact-value{font-size:19px}.contact-address h2,.contact-hours h2{font-size:42px}.hours-list>div{display:block}.hours-list strong{display:block;margin-top:8px}.contact-intro>p:last-child{margin-left:20%}.header-links{gap:12px}}
@media(max-width:700px){.arch-frame figcaption,.history-photo figcaption,.treasure-feature .arch-frame figcaption{font-size:13px;margin-top:49px;padding-inline:8px}.history-photo figcaption{margin-top:36px}.arch-frame .photo-shell:after{inset:30px -24px -30px 24px}.arch-frame.reverse .photo-shell:after{inset:30px 24px -30px -24px}.history-photo .photo-shell:after{inset:20px -14px -20px 14px}.era-figure figcaption{font-size:11px}.cloister>.cloister-lines{inset:0;width:100%;height:100%;opacity:.13}.wide-photo-stage{height:65svh;min-height:380px}.wide-photo figcaption{padding:38px 6% 50px}.wide-photo-title{font-size:43px}.wide-photo figcaption>.label{font-size:9px}.footer-reveal{height:220svh}.footer-reveal .footer-bridge{min-height:0;height:100svh}.reveal-hint{font-size:8px}.header-contact{font-size:9px}.header-links{gap:3px}.search-toggle{padding:8px}.contact-intro{padding-top:60px;padding-bottom:55px}.contact-intro h1{font-size:54px}.contact-intro>p:last-child{margin-left:0;font-size:18px}.contact-details,.contact-hours{grid-template-columns:1fr;gap:55px}.contact-details{padding-top:55px}.contact-address h2{font-size:46px}.contact-channels h3{font-size:34px}.contact-value{font-size:20px}.contact-channels article:last-child{margin-bottom:0}.hours-list>div{display:flex;font-size:15px}.hours-list strong{margin:0}.contact-hours{gap:30px;padding-block:55px}.contact-map .section-heading h2{font-size:40px}.map-panel{height:500px}.map-invite{padding:25px}.map-invite h3{font-size:44px}.map-invite p:not(.label){font-size:15px}.map-tools{font-size:13px}.map-tools>p{width:100%}.map-invite .label{font-size:9px}.contact-source p{font-size:12px}#menu-dialog nav a{font-size:clamp(27px,7.2vw,39px)}}
@media(prefers-reduced-motion:reduce){.footer-reveal{height:auto}.footer-reveal .footer-bridge{position:relative;--curtain:260px!important;--photo-scale:1!important;--photo-light:1!important;--copy-opacity:0!important}.wide-photo-stage img{transform:none!important}}
