/* Keep the existing header geometry stable while the story is pinned. */
.header.is-scrolled{height:80px;margin-bottom:0}
.receipt-story{background:#0f1f4d;color:#fff}
.story-stage{position:relative;height:calc(100svh - 80px);min-height:640px;overflow:hidden;isolation:isolate}
.visual,.story-scrim{position:absolute;inset:0;pointer-events:none}
.visual canvas{display:block;width:100%;height:100%}
.story-scrim{background:radial-gradient(ellipse at 50% 45%,rgba(7,17,45,.97) 0%,rgba(7,17,45,.92) 36%,rgba(7,17,45,.38) 80%);z-index:1}
.opening{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:40px 24px 60px;text-align:center}
.opening .hero-copy{max-width:900px}
.opening h1{font-size:clamp(42px,5.7vw,78px);line-height:1.04;max-width:900px;color:#fff;margin:0 auto}
.opening .lead{max-width:710px;margin:26px auto 0;font-size:18px;color:#edf1fa;line-height:1.6}
.opening .actions{justify-content:center;gap:24px;margin-top:28px}
.receipt-story .button{background:#fff;color:#0f1f4d}
.receipt-story .text-link{color:#fff}
.receipt-story a:focus-visible{outline:3px solid #e3bb59;outline-offset:6px}
.scroll-cue{margin-top:36px;color:#edf1fa;font-size:12px;text-decoration:none;min-height:32px;padding:8px}
.story-captions{position:absolute;top:6%;left:24px;right:24px;z-index:2;text-align:center}
.story-captions p{position:absolute;left:0;right:0;max-width:850px;margin:0 auto;font:400 clamp(28px,3.2vw,44px)/1.15 Newsreader,Georgia,serif;opacity:0;visibility:hidden;text-wrap:balance}
.readout{position:absolute;bottom:18%;left:0;right:0;text-align:center;opacity:0;z-index:2}
.readout strong{display:block;font-size:clamp(32px,4vw,56px);font-weight:500;line-height:1.2}
.readout span{display:block;font-size:16px;margin-top:8px;color:#edf1fa}
.story-ending{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;opacity:0;visibility:hidden}
.page-home .story-ending h2{color:#fff;font-size:clamp(44px,5.5vw,76px);margin:0 0 32px}
.story-sample{position:absolute;bottom:16px;left:16px;right:16px;z-index:3;font-size:11px;color:#d4ddef;text-align:center;margin:0;pointer-events:none}
.source-labels{position:absolute;inset:0;pointer-events:none;font-size:12px;color:#edf1fa}
.source-labels span{position:absolute;transform:translate(-50%,-100%);white-space:nowrap}
@media(max-width:1023px){.header.is-scrolled{height:72px}.story-stage{height:calc(100svh - 72px)}}
@media(max-width:600px){.story-stage{min-height:690px}.opening{padding:24px 24px 64px}.opening h1{font-size:44px}.opening .lead{font-size:15px;line-height:1.55;margin-top:22px}.opening .actions{gap:14px;margin-top:24px}.opening .button,.story-ending .button{font-size:14px;padding:14px 12px;width:100%}.opening .text-link{font-size:14px}.scroll-cue{margin-top:20px}.source-labels{font-size:10px}.story-captions{top:8%}.story-captions p{font-size:30px}.readout{bottom:20%}.story-sample{font-size:10px}}
@media(prefers-reduced-motion:reduce){.scroll-cue{display:none}.story-scrim{background:radial-gradient(ellipse at 50% 40%,rgba(7,17,45,.97) 0%,rgba(7,17,45,.92) 30%,rgba(7,17,45,.2) 80%)}}

.story-sample,.source-labels{font-size:12px}
/* Static fallback keeps the story readable without motion or JavaScript. */
.receipt-story:not(.is-animated) .story-stage{height:auto;min-height:0}
.receipt-story:not(.is-animated) .opening,.receipt-story:not(.is-animated) .story-ending{position:relative;opacity:1!important;visibility:visible!important;transform:none!important}
.receipt-story:not(.is-animated) .story-captions{position:relative;inset:auto;padding:24px}
.receipt-story:not(.is-animated) .story-captions p{position:relative;opacity:1!important;visibility:visible!important;margin-bottom:24px}
.receipt-story:not(.is-animated) .story-sample{position:relative;padding:24px;inset:auto}
.receipt-story:not(.is-animated) .readout{display:none}
