body{background:#f8f7f2;color:#243b32}.deck-heading{padding:36px var(--gutter) 15px;display:flex;align-items:baseline;justify-content:space-between;gap:24px}.deck-heading h1{font-family:"Noto Serif TC","PMingLiU",serif;font-size:38px;letter-spacing:.14em;font-weight:400;margin:0}.deck-heading>p{font-size:14px;color:#626d65;letter-spacing:.08em}.project-deck{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:7%;margin:0 var(--gutter);align-items:center;min-height:590px}.deck-stage{position:relative;height:500px;min-width:0;perspective:1200px;touch-action:pan-y;--spread:70px}.deck-card{position:absolute;left:50%;top:52%;width:76%;height:78%;margin:0;display:block;overflow:hidden;background:#e9eae4;box-shadow:0 14px 32px #123f321a;transform:translate(-50%,-50%) scale(.82);opacity:0;visibility:hidden;pointer-events:none;transition:transform .65s cubic-bezier(.22,.7,.25,1),opacity .45s,visibility .65s;transform-origin:center;user-select:none}.deck-card img{display:block;width:100%;height:100%;object-fit:contain;background:#e9eae4}.deck-card.is-current{z-index:3;opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.deck-card.is-before{z-index:1;opacity:.58;visibility:visible;pointer-events:auto;transform:translate(calc(-50% - var(--spread)),calc(-50% - 26px)) scale(.88) rotateY(4deg)}.deck-card.is-after{z-index:2;opacity:.58;visibility:visible;pointer-events:auto;transform:translate(calc(-50% + var(--spread)),calc(-50% - 26px)) scale(.88) rotateY(-4deg)}.deck-card:focus-visible{outline:2px solid #123f32;outline-offset:5px}.deck-caption{position:absolute;right:12px;bottom:12px;background:#123f32c7;color:#fff;padding:5px 9px;font-size:12px;letter-spacing:.05em}.deck-card:not(.is-current) .deck-caption{visibility:hidden}.deck-content{min-width:0;padding:30px 0}.deck-panel[hidden]{display:none}.deck-year{font-size:13px;color:#8a743e;letter-spacing:.12em;margin:0 0 22px}.deck-panel h2{font-family:"Noto Serif TC","PMingLiU",serif;font-size:clamp(30px,3vw,44px);font-weight:400;line-height:1.5;letter-spacing:.1em;margin:0 0 20px}.deck-location{font-size:14px;letter-spacing:.12em;color:#626d65;margin:0}.deck-statement{font-family:"Noto Serif TC","PMingLiU",serif;font-size:22px;line-height:1.9;letter-spacing:.06em;margin:32px 0 20px}.deck-facts{list-style:none;display:flex;gap:18px;flex-wrap:wrap;margin:0 0 25px;padding:0;font-size:14px;color:#626d65;min-height:25px}.deck-panel .line-link{font-size:14px;gap:50px;margin-top:12px}.deck-controls{display:flex;justify-content:space-between;align-items:center;max-width:330px;margin-top:32px;gap:24px}.deck-arrows{display:flex;gap:14px}.deck-arrows button{width:48px;height:48px;border-radius:50%;border:1px solid #aab5ab;background:transparent;color:#123f32;font-size:22px;cursor:pointer;transition:background .2s,color .2s,transform .2s}.deck-arrows button:hover{background:#123f32;color:#f8f7f2}.deck-arrows button:active{transform:scale(.94)}.deck-arrows button:focus-visible{outline:2px solid #123f32;outline-offset:4px}.deck-count{font-size:14px;color:#626d65;font-variant-numeric:tabular-nums}.deck-count span{color:#123f32}.deck-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.deck-end{padding:20px var(--gutter) 45px;display:flex;justify-content:space-between;gap:24px;align-items:center}.deck-end>a{font-size:14px;color:#123f32;letter-spacing:.08em}.deck-end p{font-size:12px;color:#626d65}.deck-footer{padding:22px var(--gutter);display:flex;justify-content:space-between;gap:24px;font-size:12px;border-top:1px solid #dde0d6}.deck-footer a{color:#123f32}
@media(max-width:1050px){.project-deck{gap:4%;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:530px}.deck-stage{height:440px;--spread:45px}.deck-card{width:78%;height:75%}.deck-statement{font-size:20px}.deck-panel h2{font-size:34px}}
@media(max-width:760px){.deck-heading{padding:28px 24px 0;display:block}.deck-heading h1{font-size:30px}.deck-heading p{font-size:13px;line-height:1.9;margin-top:12px}.project-deck{grid-template-columns:minmax(0,1fr);margin:0 24px;gap:0;min-height:0}.deck-stage{height:clamp(265px,80vw,420px);--spread:24px;perspective:none}.deck-card{width:88%;height:80%;box-shadow:0 7px 18px #123f3214}.deck-card.is-before{transform:translate(calc(-50% - var(--spread)),calc(-50% - 12px)) scale(.92)}.deck-card.is-after{transform:translate(calc(-50% + var(--spread)),calc(-50% - 12px)) scale(.92)}.deck-content{padding:12px 0 20px}.deck-year{font-size:12px;margin-bottom:12px}.deck-panel h2{font-size:32px;margin-bottom:10px}.deck-location{font-size:13px}.deck-statement{font-size:20px;margin:20px 0 15px}.deck-facts{font-size:13px;gap:12px;margin-bottom:14px;min-height:22px}.deck-panel .line-link{margin-top:5px}.deck-controls{margin-top:25px;max-width:none}.deck-caption{font-size:11px;padding:4px 8px;bottom:9px;right:9px}.deck-end{padding:18px 24px 30px;flex-direction:column;align-items:start;gap:12px}.deck-end p{line-height:1.8;max-width:280px}.deck-footer{padding:20px 24px;font-size:10px;gap:10px;flex-wrap:wrap}.deck-footer a{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.deck-card,.deck-arrows button{transition:none}}
.deck-tone-guanyin{filter:saturate(.73) brightness(1.13) contrast(.94)}.deck-tone-park{filter:saturate(.8) brightness(1.05) contrast(.97)}.deck-tone-hefeng{filter:saturate(.78) brightness(1.03) contrast(.97)}.deck-tone-zheyue{filter:saturate(.78) brightness(1.1) contrast(.96)}
.project-deck:not(.is-ready) .deck-card:first-child{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.project-deck:not(.is-ready) .deck-controls{display:none}
.deck-card{height:auto;aspect-ratio:6/5}
@media(max-width:760px){.deck-content{display:flex;flex-direction:column}.deck-controls{order:-1;margin:0 0 25px}.deck-panel{order:0}.deck-live{order:1}}
/* Photographs fill the rounded frame without matte bands or border strokes. */
.deck-card{border:0;border-radius:18px;background:transparent}
.deck-card img{object-fit:cover;object-position:50% 45%;background:transparent;border-radius:inherit}
.deck-caption{border-radius:6px}
@media(max-width:760px){.deck-card{border-radius:14px}}
/* Staggered copy follows the photograph instead of switching abruptly. */
.deck-panel{min-height:310px}
.deck-title-link{position:relative;display:inline-block;color:inherit;text-decoration:none;transition:color .3s ease,transform .4s ease}
.deck-title-link::after{content:"";position:absolute;left:0;right:.1em;bottom:-4px;height:1px;background:var(--gold,#ad9250);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
.deck-title-link:hover,.deck-title-link:focus-visible{color:#8a743e;transform:translateX(3px)}
.deck-title-link:hover::after,.deck-title-link:focus-visible::after{transform:scaleX(1)}
.deck-title-link:focus-visible{outline:1px solid #8a743e;outline-offset:8px}
.deck-panel:not([hidden])>*{animation:deck-copy-enter .75s cubic-bezier(.22,.65,.3,1) both}
.deck-panel:not([hidden])>h2{animation-delay:70ms}
.deck-panel:not([hidden])>.deck-location{animation-delay:140ms}
.deck-panel:not([hidden])>.deck-statement{animation-delay:210ms}
.deck-panel:not([hidden])>.deck-facts{animation-delay:280ms}
@keyframes deck-copy-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.deck-panel{min-height:0}}
@media(prefers-reduced-motion:reduce){.deck-panel:not([hidden])>*{animation:none}.deck-title-link,.deck-title-link::after{transition:none}.deck-title-link:hover,.deck-title-link:focus-visible{transform:none}}
