/* Church first-layer bulletin: readable editorial schedule, no hidden navigation. */
.church-front-schedule{width:min(1100px,calc(100% - 40px));margin:clamp(40px,7vw,110px) auto;padding:clamp(24px,5vw,72px);background:#faf9f5;color:#252525;border:1px solid #d9d6cd}
.church-front-schedule__heading{border-bottom:1px solid #bbb5a7;padding-bottom:28px}
.church-front-schedule__heading>p:first-child{font-size:clamp(13px,1.3vw,17px);letter-spacing:.06em}
.church-front-schedule__heading h2{font-family:var(--ws-font-zh-serif,"Noto Serif TC",serif);font-weight:400;font-size:clamp(32px,5vw,68px);line-height:1.2;margin:14px 0 20px}
.church-front-schedule__heading p{margin:8px 0;line-height:1.6}
.church-front-schedule__stages{margin-top:18px}
.church-front-schedule__stage{display:grid;grid-template-columns:48px minmax(110px,170px) minmax(0,1fr);gap:clamp(10px,2vw,32px);align-items:start;padding:22px 0;border-bottom:1px solid #d9d6cd}
.church-front-schedule__number{font-size:13px;color:#766e60}
.church-front-schedule__stage time{font-variant-numeric:tabular-nums;font-size:clamp(14px,1.4vw,18px)}
.church-front-schedule__stage h3{font-weight:400;font-size:clamp(18px,2.1vw,25px);margin:0 0 10px}
.church-front-schedule__stage p{margin:5px 0;line-height:1.7;font-size:clamp(14px,1.3vw,17px)}
.church-front-schedule__stage p span{color:#666}
.church-front-schedule__scripture{padding:28px 0;line-height:1.9}
.church-front-schedule__scripture blockquote{margin:0 0 18px;padding:0;border:0;font-size:clamp(18px,2vw,25px)}
.church-front-schedule__scripture cite{display:block;font-size:13px;font-style:normal}
.church-front-schedule__scripture p{margin:10px 0}
.church-front-schedule__scripture small{white-space:nowrap}
.church-front-schedule__team{display:flex;flex-wrap:wrap;gap:12px 32px;border-top:1px solid #d9d6cd;padding:20px 0}
.church-front-schedule__team p{margin:0}.church-front-schedule__team small{display:block;color:#666}
.church-front-schedule__more{margin:20px 0 0}.church-front-schedule__more a{color:inherit;text-decoration:underline;text-underline-offset:5px}
@media(max-width:640px){.church-front-schedule{width:calc(100% - 24px);padding:24px 18px}.church-front-schedule__stage{grid-template-columns:30px minmax(0,1fr);gap:6px 12px}.church-front-schedule__stage time{grid-column:2}.church-front-schedule__stage>div{grid-column:2}.church-front-schedule__team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Reconnect existing MERSI scene grammar to the canonical church content. */
.mersi-church .mc-hero{display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding:clamp(36px,8vw,120px);gap:1.5rem}
.mersi-church .mc-hero img{max-width:min(80vw,650px);height:auto}
.mersi-church .mc-journey{height:330svh}
.mersi-church .mc-scene{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(40px,10vw,160px);color:#292722}
.mersi-church .mc-scene h2{font-size:clamp(42px,7vw,110px);line-height:1.06;margin:1rem 0 2rem}
.mersi-church .mc-scene p,.mersi-church .mc-scene blockquote{max-width:48rem;line-height:1.9}
.mersi-church .mc-scene:not(.is-current){pointer-events:none}
.mersi-church .mc-scene.is-current{animation:church-scene-reveal .65s ease both}
@keyframes church-scene-reveal{from{opacity:.3;transform:translateY(2vh)}to{opacity:1;transform:none}}
.mersi-church .church-front-schedule{margin-top:clamp(20px,4vw,70px)}
@media(max-width:850px){.mersi-church .mc-journey{height:330svh}.mersi-church .mc-scene{padding:8vw}.mersi-church .mc-scene h2{font-size:clamp(32px,10vw,62px)}}
@media(prefers-reduced-motion:reduce){.mersi-church .mc-journey{height:auto}.mersi-church .mc-stage{height:auto;position:relative}.mersi-church .mc-scenes{position:relative}.mersi-church .mc-scene{position:relative;visibility:visible;min-height:65svh;animation:none!important}.mersi-church .mc-progress{display:none}}

/* Continuous scene transitions: both outgoing and incoming pages remain visible during the seam. */
.mersi-church .mc-scene{opacity:0;transition:opacity .24s linear;visibility:hidden}
.mersi-church .mc-scene.is-current{opacity:1;visibility:visible}
.mersi-church .mc-scene.is-adjacent{opacity:0;visibility:visible}
.mersi-church .mc-hero{position:relative}
.mersi-church .mc-hero::before,.mersi-church .mc-hero::after{content:"";position:absolute;z-index:5;top:0;bottom:0;width:50%;pointer-events:none;background:repeating-radial-gradient(ellipse 95% 60% at 50% 65%,#e7ddc8 0 13px,#d7c9ad 14px);animation-duration:1.8s;animation-timing-function:cubic-bezier(.77,0,.18,1);animation-fill-mode:forwards}
.mersi-church .mc-hero::before{left:0;animation-name:church-door-left}
.mersi-church .mc-hero::after{right:0;animation-name:church-door-right}
@keyframes church-door-left{to{transform:translateX(-102%)}}
@keyframes church-door-right{to{transform:translateX(102%)}}
@media(prefers-reduced-motion:reduce){.mersi-church .mc-hero::before,.mersi-church .mc-hero::after{display:none}.mersi-church .mc-scene{opacity:1;visibility:visible;transition:none}}

/* Horizontal editorial gallery, driven by vertical scrolling; no wheel interception. */
.mersi-church .church-horizontal{position:relative;height:230svh;background:#e9e1d3}
.mersi-church .church-horizontal__track{position:sticky;top:0;height:100svh;display:flex;align-items:stretch;will-change:transform}
.mersi-church .church-horizontal__intro{flex:0 0 min(78vw,900px);padding:clamp(36px,7vw,110px);display:flex;flex-direction:column;justify-content:center;background:#e6dbc0}
.mersi-church .church-horizontal__intro h2{font-size:clamp(48px,8vw,128px);font-weight:400}
.mersi-church .church-horizontal__entries{flex:none;display:flex;align-items:stretch;gap:0;padding:0;background:#ece4d4}
.mersi-church .church-horizontal__entries a{flex:0 0 min(70vw,660px);min-height:100svh;padding:clamp(28px,5vw,90px);display:flex;flex-direction:column;justify-content:center;gap:2rem;border-right:1px solid #bcb09c;color:#292722}
.mersi-church .church-horizontal__entries a strong{font-size:clamp(30px,4vw,68px);font-weight:400}
.mersi-church .church-horizontal__entries a em{font-size:clamp(14px,1.3vw,18px)}
@media(max-width:850px){.mersi-church .church-horizontal{height:auto}.mersi-church .church-horizontal__track{position:relative;height:auto;transform:none!important;display:block}.mersi-church .church-horizontal__intro{min-height:55svh}.mersi-church .church-horizontal__entries{display:block}.mersi-church .church-horizontal__entries a{min-height:28svh;padding:8vw}}
@media(prefers-reduced-motion:reduce){.mersi-church .church-horizontal{height:auto}.mersi-church .church-horizontal__track{position:relative;height:auto;transform:none!important;display:block}.mersi-church .church-horizontal__entries{display:block}.mersi-church .church-horizontal__entries a{min-height:20svh}}

/* Keep the long corridor inside the viewport without creating a new scroll container. */
.mersi-church .church-horizontal{overflow-x:clip}
.mersi-church .church-horizontal__track{width:max-content;min-width:100%;max-width:none}
.mersi-church .church-horizontal__entries{width:max-content}
.mersi-church .church-horizontal__entries a{width:min(70vw,660px);flex:0 0 min(70vw,660px)}
@media(max-width:850px),(prefers-reduced-motion:reduce){.mersi-church .church-horizontal__track,.mersi-church .church-horizontal__entries{width:100%;min-width:0}.mersi-church .church-horizontal__entries a{width:auto}}

/* The three story panels must remain legible throughout the transition. */
.mersi-church .mc-scene.is-current{opacity:1!important;visibility:visible!important}
.mersi-church .mc-scene.is-adjacent{visibility:visible}
.mersi-church .mc-scene:focus-within{visibility:visible;opacity:1}
.mersi-church .mc-hero{isolation:isolate}
.mersi-church .mc-hero::before,.mersi-church .mc-hero::after{will-change:transform}
@media(prefers-reduced-motion:reduce){.mersi-church .mc-scene,.mersi-church .mc-scene.is-current{opacity:1!important;visibility:visible!important;transform:none!important}}

/* Crossfade is scroll-driven, not a discrete display swap. */
@media(prefers-reduced-motion:no-preference){
.mersi-church .mc-scene.is-current,.mersi-church .mc-scene.is-adjacent{opacity:var(--scene-opacity,1)!important;visibility:visible!important;animation:none!important}
.mersi-church .mc-scene.is-adjacent{pointer-events:none}
}

/* First-layer church index: all main chapters remain directly reachable. */
.mersi-church .church-front-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;width:min(94%,1100px);margin:clamp(1.5rem,4vh,3rem) auto 0;background:rgba(55,50,40,.18)}
.mersi-church .church-front-index a{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:clamp(.9rem,1.8vw,1.6rem);background:#f4f0e8;color:#252525;text-decoration:none;font-size:clamp(.8rem,1.1vw,1rem);min-width:0}
.mersi-church .church-front-index a span{font-size:.7em;opacity:.65}
.mersi-church .church-front-index a:focus-visible{outline:2px solid #776c49;outline-offset:-3px}
@media(max-width:850px){.mersi-church .church-front-index{grid-template-columns:repeat(2,minmax(0,1fr));width:94%}}

/* Canonical MERSI church surface: layout and typography authority for live markup. */
.mersi-church .mc-hero{background-color:#eee7da;background-image:radial-gradient(ellipse at 74% 20%,rgba(255,255,255,.85),transparent 46%),repeating-radial-gradient(ellipse 110% 75% at 75% 65%,transparent 0 17px,rgba(98,81,50,.075) 18px 19px);text-align:center;align-items:center}
.mersi-church .mc-hero>p{font-family:var(--ws-type-display-en,serif);font-size:clamp(.68rem,.85vw,.9rem);font-weight:400;letter-spacing:.17em}
.mersi-church .mc-hero h1{font-family:var(--ws-type-display-zh,serif);font-size:clamp(1.3rem,2.4vw,2.5rem);font-weight:300;line-height:1.5;letter-spacing:.12em}
.mersi-church .mc-hero blockquote{max-width:50rem;margin:0 auto;font-size:clamp(1rem,1.7vw,1.5rem);font-weight:300;line-height:2}
.mersi-church .mc-hero blockquote cite{display:block;margin-top:1rem;font-family:var(--ws-type-display-en,serif);font-size:.75rem;letter-spacing:.2em;font-style:normal}
.mersi-church .mc-hero img{max-height:30svh;object-fit:contain}
.mersi-church .mc-journey .mc-scene{overflow:hidden;background-image:radial-gradient(ellipse at 80% 22%,rgba(255,255,255,.48),transparent 45%),repeating-radial-gradient(ellipse 90% 65% at 72% 70%,transparent 0 18px,rgba(70,57,40,.075) 19px 20px)}
.mersi-church .mc-scene .ws-bilingual-heading{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(1rem,3vw,3rem);max-width:100%;margin:0 0 2rem}
.mersi-church .mc-scene .ws-bilingual-heading__en{display:block;font-family:var(--ws-type-display-en,serif);font-size:clamp(3rem,8vw,9rem);font-weight:400;letter-spacing:-.045em;line-height:.95}
.mersi-church .mc-scene .ws-bilingual-heading__zh{display:block;font-family:var(--ws-type-display-zh,serif);font-size:clamp(1.3rem,2.8vw,3rem);font-weight:300;letter-spacing:.08em;line-height:1.45}
.mersi-church .mc-scene>p:first-child{font-family:var(--ws-type-display-en,serif);font-size:.75rem;letter-spacing:.16em}
.mersi-church .mc-scene>p,.mersi-church .mc-scene blockquote{font-size:clamp(1rem,1.45vw,1.4rem);font-weight:300}
.mersi-church .sites-church-scripture{min-height:85svh;padding:clamp(3rem,10vw,10rem);display:flex;flex-direction:column;justify-content:center;gap:1rem;background:#f1ede3}
.mersi-church .sites-church-scripture h2{font-family:var(--ws-type-display-zh,serif);font-size:clamp(2.6rem,6vw,7rem);font-weight:300;line-height:1.2}
.mersi-church .sites-church-scripture h2 span{display:block;font-family:var(--ws-type-display-en,serif);font-size:clamp(1rem,2vw,2rem);font-weight:400;letter-spacing:.06em}
.mersi-church .sites-church-scripture>a{display:flex;flex-direction:column;gap:.5rem;width:min(100%,40rem);padding:2rem 0;border-top:1px solid #a99d88;border-bottom:1px solid #a99d88;color:inherit;text-decoration:none}
.mersi-church .sites-church-scripture>a strong{font-family:var(--ws-type-display-en,serif);font-size:clamp(1.5rem,3vw,3rem);font-weight:400}
.mersi-church .sites-church-footer{min-height:35svh;padding:clamp(2rem,6vw,6rem);display:flex;flex-direction:column;justify-content:end;gap:.75rem;background:#ddd0b8}
.mersi-church .sites-church-footer strong{font-weight:300;font-size:clamp(1.3rem,2.5vw,2.5rem)}
@media(max-width:850px){.mersi-church .mc-hero{padding:clamp(2rem,6vw,4rem)}.mersi-church .mc-hero img{max-width:90vw}.mersi-church .mc-scene .ws-bilingual-heading__en{font-size:clamp(2.7rem,11vw,5rem)}.mersi-church .mc-scene .ws-bilingual-heading__zh{font-size:clamp(1.2rem,5vw,2rem)}.mersi-church .sites-church-scripture{padding:12vw 7vw}}
@media(prefers-reduced-motion:reduce){.mersi-church .mc-journey .mc-scene{opacity:1!important;visibility:visible!important}.mersi-church .mc-scene .ws-bilingual-heading{transform:none!important}}
