/* One final chapter: material → form → exhibition → space → invitation. */
.pavilion{background:var(--paper);color:var(--ink);scroll-margin-top:56px}
.pavilion-stage{padding:0 3.2vw}
.special-heading{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:38px 0 30px}
.special-eyebrow{font-size:11px;line-height:1.5;letter-spacing:1.3px;font-weight:400}
.special-heading h2{font-size:clamp(36px,3.5vw,60px);font-weight:350;line-height:1.04;letter-spacing:-.04em;margin-top:18px}
.special-intro{font-size:16px;line-height:1.65;color:var(--muted);max-width:430px;padding-right:3vw}
.special-scenes{position:relative;isolation:isolate;overflow:clip}
.special-scene{position:relative;isolation:isolate;min-height:570px;overflow:hidden;margin-bottom:12px;background:#e7e3dc}
.special-copy{position:relative;z-index:3;width:33%;padding:48px 32px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:570px}
.special-copy h3{font-size:clamp(28px,2.8vw,44px);font-weight:350;line-height:1.08;letter-spacing:-.035em;margin:24px 0 20px}
.special-copy>p:not(.special-eyebrow){font-size:16px;line-height:1.55;max-width:300px;color:var(--muted)}
.special-copy .special-note{font-size:12px!important;line-height:1.6!important}
.special-note small{display:block;font-size:11px;margin-top:6px}
.special-rule{width:44px;height:1px;background:currentColor;opacity:.4;margin:28px 0 16px}
.special-photo{position:absolute;inset:0 0 0 34%;overflow:hidden}
.special-photo>img{width:100%;height:100%;object-fit:cover}
.special-photo figcaption{position:absolute;bottom:22px;right:24px;font-size:11px;color:white;text-shadow:0 1px 5px #000;letter-spacing:1px}
.special-detail{position:absolute;z-index:4;bottom:32px;right:30px;width:22%;height:36%;border:5px solid var(--paper);box-shadow:0 12px 30px #0002;overflow:hidden;transform:rotate(3deg)}
.special-detail img{width:100%;height:100%;object-fit:cover}
.special-word{position:absolute;z-index:2;bottom:-.13em;left:36%;font-size:clamp(90px,12vw,200px);font-weight:300;line-height:1;letter-spacing:-.06em;color:#fff9;pointer-events:none}
.special-material .special-photo{left:40%}
.special-material .special-photo>img{object-position:center 54%}
.special-material .special-detail{left:32%;right:auto;bottom:10%;width:17%;height:48%;transform:rotate(-5deg)}
.special-material .special-word{left:auto;right:3%;bottom:1%}
.special-form{background:#edeae3}
.special-form .special-copy{margin-left:68%;width:32%}
.special-form .special-photo{inset:0 34% 0 0}
.special-form .special-detail{right:30%;bottom:7%;width:21%;height:32%;transform:rotate(4deg)}
.special-form .special-word{left:3%;color:#fff9}
.special-exhibition{color:white;background:#101514}
.special-exhibition .special-photo{left:22%}
.special-exhibition:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#101514 6%,#101514f2 20%,#101514bd 34%,#10151400 60%);pointer-events:none}
.special-exhibition .special-copy{width:35%}
.special-exhibition .special-copy>p{color:#e1e2dc}
.special-exhibition .special-detail{border-color:#e9e6df;width:23%;height:34%;right:4%;bottom:7%}
.special-exhibition .special-word{color:#ffffff54;left:38%}
.special-space{background:var(--paper)}
.special-space .special-photo{left:18%}
.special-space .special-photo>img{object-position:48% center}
.special-space:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#f4f3ef 8%,#f4f3eff5 22%,#f4f3efc9 31%,#f4f3ef00 58%);pointer-events:none}
.special-space .special-copy{width:36%}
.special-space .special-detail{width:34%;height:30%;right:3%;bottom:5%;transform:rotate(-2deg)}
.special-space .special-word{left:38%;bottom:4%;font-size:10vw;color:#fff8}
.special-finale{background:#e9e6de}
.special-finale .special-copy{width:40%;padding-left:3.2vw}
.special-finale .special-copy h3{font-size:clamp(38px,4.1vw,64px)}
.special-finale .button{margin-top:28px;font-size:15px;padding:16px 24px;gap:32px}
.special-finale .button img{width:20px}
.special-mosaic{position:absolute;inset:0 0 0 43%;display:grid;grid-template-columns:.8fr 1.2fr;grid-template-rows:1fr 1fr;gap:8px;padding:24px 24px 24px 0;transform:rotate(-3deg) scale(.95)}
.special-mosaic img{width:100%;height:100%;min-height:0;object-fit:cover}
.special-mosaic img:nth-child(1){object-position:center}
.special-mosaic img:nth-child(4){object-position:40% center}
.special-chapters{display:flex;align-items:center;gap:24px;height:60px;position:relative}
.special-chapters[hidden]{display:none}
.special-chapters:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--line)}
.special-chapters:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--ink);transform:scaleX(var(--special-progress,0));transform-origin:left}
.special-chapters button{display:flex;align-items:center;gap:10px;padding:14px 2px;font-size:12px;color:var(--muted);min-height:44px}
.special-chapters button span{font-size:10px;opacity:.65}
.special-chapters button[aria-current="step"]{color:var(--ink);font-weight:500}
.special-chapters button[aria-current="step"] span{opacity:1}
.special-scroll-hint{margin-left:auto;font-size:11px;color:var(--muted)}
/* Motion is opt-in: no JavaScript/reduced motion keeps every article in normal flow. */
@media(min-width:1000px) and (min-height:700px){
 .pavilion.is-pinned{height:580svh}
 .is-pinned .pavilion-stage{position:sticky;top:56px;height:calc(100svh - 56px);display:grid;grid-template-rows:clamp(175px,24svh,230px) minmax(0,1fr) 60px}
 .is-pinned .special-heading{padding:22px 0}
 .is-pinned .special-scene{position:absolute;inset:0;min-height:0;margin:0;visibility:hidden;opacity:0;pointer-events:none}
 .is-pinned .special-copy{height:100%;min-height:0;padding-top:24px;padding-bottom:24px}
 .is-pinned .special-copy h3{margin-top:20px;margin-bottom:16px}
 .is-pinned .special-rule{margin-top:22px;margin-bottom:14px}
 .is-pinned .special-copy{transform:translateY(var(--copy-y,0px));opacity:var(--copy-opacity,1)}
 .is-pinned .special-photo{clip-path:inset(0 var(--photo-inset,0%) 0 0)}
 .is-pinned .special-photo>img{transform:scale(var(--photo-scale,1.04));transform-origin:center}
 .is-pinned .special-detail{opacity:var(--detail-opacity,1);translate:0 var(--detail-y,0px);rotate:var(--detail-rotate,0deg)}
 .is-pinned .special-word{translate:var(--word-x,0px) 0}
 .is-pinned .special-mosaic img{transform:translateY(calc(var(--mosaic-y,0px) * var(--tile-direction,1)))}
 .special-mosaic img:nth-child(2n){--tile-direction:-1}
}
@media(min-width:1000px) and (max-height:800px){
 .special-heading h2{font-size:40px}.special-heading .special-eyebrow{font-size:10px}
 .is-pinned .special-copy h3{font-size:30px;margin:16px 0 14px}
 .is-pinned .special-copy>p:not(.special-eyebrow){font-size:14px}
 .is-pinned .special-rule{margin:16px 0 12px}
 .is-pinned .special-finale .special-copy h3{font-size:42px}
}
@media(max-width:999px){
 .pavilion-stage{padding:0 24px}.special-heading{align-items:flex-start;flex-direction:column;gap:20px}
 .special-intro br{display:none}.special-copy,.special-form .special-copy,.special-space .special-copy,.special-exhibition .special-copy{width:40%;padding:28px 22px}
 .special-form .special-copy{margin-left:60%}.special-form .special-photo{right:40%}
 .special-copy h3{font-size:28px}.special-copy>p:not(.special-eyebrow){font-size:15px}
 .special-detail{display:none}.special-finale .special-copy{width:44%}
}
@media(max-width:650px){
 .special-heading h2{font-size:36px}.special-intro{font-size:15px}.special-scenes{display:grid;gap:20px}
 .special-scene{display:flex;flex-direction:column;min-height:0;margin:0}
 .special-copy,.special-form .special-copy,.special-space .special-copy,.special-exhibition .special-copy,.special-finale .special-copy{width:auto;margin:0;min-height:0;padding:30px 24px}
 .special-photo,.special-form .special-photo,.special-space .special-photo,.special-exhibition .special-photo{position:relative;inset:auto;height:330px}
 .special-word,.special-space:after,.special-exhibition:after{display:none}
 .special-mosaic{position:relative;inset:auto;height:340px;padding:0 16px 24px;transform:none}
 .special-finale .special-copy h3{font-size:38px}
}
