/* The ending is a single shared composition, matching the supplied reference. */
.story-ending.cta-section {
 position:relative;isolation:isolate;
 background:linear-gradient(180deg,#03122508 45%,#03122500 65%,#0312258c),url('story-ending-landscape.webp') center/cover #031225;
 padding:110px 0 76px;
}
:is(.programs-page,.about-page,.gallery-page)[data-program-transitions] #main .catalog-chapter-scene.story-ending.cta-section {
 display:flex;align-items:center;padding:126px 0 66px;
 background:linear-gradient(180deg,#03122508 45%,#03122500 65%,#0312258c),url('story-ending-landscape.webp') center/cover #031225;
}
.story-ending.cta-section > .story-ending-inner {
 width:calc(100% - 80px);max-width:1560px;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;
}
:is(.programs-page,.about-page,.gallery-page)[data-program-transitions] #main .story-ending > .story-ending-inner {gap:0;}
.story-ending-invitation {width:100%;}
.story-heading-ornament {display:block;width:min(600px,65%);height:62px;margin:0 auto 0;object-fit:contain;filter:drop-shadow(0 0 4px #f2c47730);}
.story-ending #story-ending-title {position:relative;max-width:760px;width:46%;margin:0 auto;line-height:1;}
#story-ending-title > img {width:100%;height:auto;display:block;visibility:hidden;}
#story-ending-title > span {position:absolute;inset:0;}
#story-ending-title.art-ready > img {visibility:visible;}
#story-ending-title.art-ready > span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.story-ending #story-ending-title > span {font:400 clamp(38px,4.5vw,78px)/1.02 'Cormorant Garamond',serif;color:#f8f4ec;}
.story-ending #story-ending-title em {font-style:normal;color:#f2c477;}
.story-ending .story-ending-invitation > p {color:#f8f4ec;font-size:19px;line-height:1.5;max-width:620px;margin:24px auto 0;}
.story-date-wrap {position:relative;display:inline-block;margin-top:29px;}
.story-date-wrap::before,.story-date-wrap::after {content:'';position:absolute;top:4%;width:59px;height:92%;background:url('program-snowflake.svg') center/contain no-repeat;pointer-events:none;filter:drop-shadow(0 0 5px #f2c47766);}
.story-date-wrap::before {right:calc(100% - 9px);}.story-date-wrap::after {left:calc(100% - 9px);}
.story-ending .story-date-button {position:relative;z-index:1;min-width:320px;min-height:74px;display:inline-flex;justify-content:center;align-items:center;gap:25px;background:linear-gradient(110deg,#ae394a,#9d3043);border:1px solid #f2c477;border-radius:10px;color:white;font:500 18px/1.3 Manrope,sans-serif;padding:18px 30px;box-shadow:0 0 8px #ffdc9a77,0 0 25px #edb45f55,inset 0 0 8px #ffc67c20;transition:transform .25s,box-shadow .25s,background .25s;}
.story-ending .story-date-button::before,.story-ending .story-date-button::after {display:none;}
.story-date-button > span {font:400 28px/1 Georgia,serif;transition:transform .25s;}
.story-ending .story-date-button:hover {transform:translateY(-2px);background:#b94153;box-shadow:0 0 28px #edb45f80;}
.story-date-button:hover > span {transform:translateX(5px);}
.story-navigation {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;width:100%;margin-top:55px;}
.story-nav-card {display:block;isolation:isolate;position:relative;min-width:0;min-height:180px;text-align:left;background:#04162bf2;border:1px solid #eac178;border-radius:15px;box-shadow:0 0 12px #dba85244;transition:transform .25s,box-shadow .25s;}
.story-nav-card::after {content:'';position:absolute;z-index:3;inset:-3px;pointer-events:none;background:none center/100% 100% no-repeat;border-radius:inherit;}
.story-nav-card::before {content:'';position:absolute;z-index:3;top:-11px;left:-2px;right:-2px;height:23px;background:url('snowcap-3.webp') center top/100% 100% no-repeat;pointer-events:none;}
.story-card-art {position:absolute;z-index:-1;inset:0 0 0 auto;width:75%;height:100%;object-fit:cover;object-position:right center;border-radius:15px;opacity:1;mask-image:linear-gradient(90deg,transparent,#000 38%);}
.story-card-copy {display:flex;flex-direction:column;align-items:flex-start;width:76%;min-height:180px;padding:30px 30px 20px;background:linear-gradient(90deg,#031225f5,#031225a6 58%,transparent);border-radius:15px;}
.story-card-copy > .line-icon {width:36px;height:36px;color:#f2c477;margin-bottom:7px;}
.story-card-copy > strong {font:500 27px/1.12 'Cormorant Garamond',serif;color:#fff8ed;}
.story-card-copy > span {color:#eef0f4;font:400 13px/1.45 Manrope,sans-serif;margin-top:7px;max-width:210px;}
.story-card-number {position:absolute;z-index:5;top:-25px;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:47px;height:47px;border:1px solid #f2c477;border-radius:50%;color:#f5d99e;background:#06192c;box-shadow:0 0 6px #ffe5ab99,0 0 17px #e9b85c55;font:500 25px/1 'Cormorant Garamond',serif;}
.story-card-arrow {position:absolute;right:18px;top:50%;transform:translateY(-5%);width:48px;height:48px;display:grid;place-items:center;border:1px solid #f2c477;border-radius:50%;color:#f2c477;background:#031225e8;box-shadow:0 0 12px #dfa64466;font:400 28px/1 Georgia,serif;transition:transform .25s;}
.story-nav-card:hover {transform:translateY(-3px);box-shadow:0 0 23px #e7b76788;}
.story-nav-card:hover .story-card-arrow {transform:translate(3px,-5%) scale(1.05);}
.story-nav-card:focus-visible,.story-date-button:focus-visible,.story-continue:focus-visible {outline:2px solid #fff0c4;outline-offset:5px;}
.story-continue {display:flex;flex-direction:column;align-items:center;gap:3px;color:#f2c477;font:400 13px/1.4 Manrope,sans-serif;align-self:center;position:relative;margin-top:18px;padding-inline:12px;}
.story-continue::before,.story-continue::after {content:'';position:absolute;top:32px;width:245px;height:44px;background:url('story-continue-ornament.svg') center/contain no-repeat;pointer-events:none;}
.story-continue::before {right:100%;}.story-continue::after {left:100%;transform:rotate(180deg);}
.story-mouse {display:block;width:16px;height:26px;border:1px solid #f2c477;border-radius:9px;position:relative;margin-bottom:1px;}
.story-mouse::after {content:'';width:2px;height:7px;position:absolute;left:6px;top:4px;background:#f2c477;}
.story-continue-arrow {font-size:25px;line-height:16px;transition:transform .25s;}
.story-continue:hover .story-continue-arrow {transform:translateY(4px);}
@media(min-width:1200px) and (max-height:820px) {
 :is(.programs-page,.about-page,.gallery-page)[data-program-transitions] #main .catalog-chapter-scene.story-ending.cta-section {padding-top:88px;padding-bottom:65px;}
 .story-heading-ornament {height:48px;width:480px;}.story-ending #story-ending-title {width:40%;}.story-ending .story-ending-invitation > p {margin-top:12px;font-size:17px;}.story-date-wrap {margin-top:19px;}.story-ending .story-date-button {min-height:62px;min-width:300px;}.story-navigation {margin-top:44px;}.story-nav-card,.story-card-copy {min-height:165px;}.story-card-copy {padding:25px 22px 17px;}.story-card-copy > strong {font-size:26px;}.story-card-copy > .line-icon {width:30px;height:30px;}
}
@media(min-width:768px) and (max-width:1279px) {
 .story-navigation {grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 22px;}.story-ending #story-ending-title {width:80%;max-width:680px;}.story-card-copy > span {font-size:14px;}
}
@media(max-width:1199px),(max-height:699px) {
 :is(.programs-page,.about-page,.gallery-page)[data-program-transitions] #main .story-ending.catalog-chapter-scene {height:auto;max-height:none;min-height:var(--catalog-viewport);overflow:visible;padding-top:125px;padding-bottom:85px;}
 .story-heading-ornament {height:auto;}
}
@media(max-width:767px) {
 .story-ending.cta-section > .story-ending-inner {width:calc(100% - 36px);}
 .story-ending #story-ending-title {width:100%;order:0;}
 .story-ending-invitation {display:flex;flex-direction:column;align-items:center;}
 .story-heading-ornament {order:1;width:85%;margin-top:12px;}
 .story-ending .story-ending-invitation > p {order:2;font-size:16px;margin-top:16px;}
 .story-date-wrap {order:3;margin-top:23px;}
 .story-ending .story-date-button {min-width:260px;min-height:65px;}
 .story-date-wrap::before,.story-date-wrap::after {width:min(36px,7vw);}
 .story-desktop-break {display:none;}
 .story-navigation {grid-template-columns:1fr;gap:40px;margin-top:50px;}
 .story-nav-card,.story-card-copy {min-height:166px;}
 .story-card-copy {padding:23px;width:77%;}
 .story-card-copy > strong {font-size:29px;}
 .story-card-copy > span {font-size:13px;max-width:200px;}
 .story-card-art {width:72%;}
 .story-card-arrow {right:17px;}
 .story-mouse {display:none;}
 .story-continue {margin-top:28px;}
 .story-continue::before,.story-continue::after {width:50px;height:30px;top:0;}
}
@keyframes story-arrive {from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes story-glow {from{filter:drop-shadow(0 0 0 #f2c47700)}to{filter:drop-shadow(0 0 6px #f2c47788)}}
@media(prefers-reduced-motion:no-preference) {
 .story-ending.is-story-visible .story-heading-ornament {animation:story-glow 1.5s both;}
 .story-ending.is-story-visible #story-ending-title,.story-ending.is-story-visible .story-ending-invitation > p,.story-ending.is-story-visible .story-date-wrap,.story-ending.is-story-visible .story-nav-card,.story-ending.is-story-visible .story-continue {animation:story-arrive .8s backwards;}
 .story-ending.is-story-visible .story-ending-invitation > p {animation-delay:.1s;}.story-ending.is-story-visible .story-date-wrap {animation-delay:.2s;}.story-ending.is-story-visible .story-nav-card {animation-delay:calc(.3s + var(--story-delay));}.story-ending.is-story-visible .story-continue {animation-delay:.8s;}
}
@media(prefers-reduced-motion:reduce) {.story-ending *,.story-ending *::before,.story-ending *::after {transition:none!important;animation:none!important;}}
.story-ending::before {content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.18;background-image:radial-gradient(circle,#e4f3ff 1px,transparent 1.8px),radial-gradient(circle,#e4f3ff .6px,transparent 1.2px);background-size:151px 197px,237px 283px;background-position:30px 20px,70px 80px;mask-image:linear-gradient(#000,transparent 65%);}
@keyframes story-snow {to{background-position:85px 217px,30px 363px;}}
@media(prefers-reduced-motion:no-preference) {.story-ending::before {animation:story-snow 22s linear infinite;}}
