/* A native-scroll, five-scene filmmaking sequence. */
.story-scroll{height:360svh;position:relative;background:#09090c;border-block:1px solid #4b2532;isolation:isolate;--story-progress:0}
.story-sticky{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;background:radial-gradient(ellipse at 68% 44%,#55132755,transparent 65%),#09090c}
.story-top{position:absolute;inset:38px 0 auto;display:flex;justify-content:space-between;align-items:center;z-index:4}.skip-story{font-size:12px;color:#bd9ba6;text-decoration:underline;text-underline-offset:5px}
.story-world{position:absolute;inset:13% 0 20% 40%;perspective:1200px;transform-style:preserve-3d;pointer-events:none}
.story-big-word{position:absolute;top:3%;right:5%;font:600 clamp(100px,16vw,250px)/.9 var(--heading);letter-spacing:-.05em;color:#ffffff05;-webkit-text-stroke:1px #a84b6d44;transform:translateX(calc(var(--scene-drift,0) * -25px));transition:opacity .5s}
.story-halo{position:absolute;width:65%;aspect-ratio:1;left:15%;top:2%;border:1px solid #a2496244;border-radius:50%;box-shadow:0 0 90px #d2263422,inset 0 0 65px #d226341a;transform:rotateX(55deg) rotateZ(-25deg);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.story-halo:after{content:'';position:absolute;inset:-25px;border:1px dashed #713c4f88;border-radius:50%}
.story-script{position:absolute;width:310px;max-width:68%;left:27%;top:17%;padding:34px 29px;background:linear-gradient(130deg,#27212c,#100e15);border:1px solid #936178;box-shadow:-24px 28px 0 -10px #14111b,-25px 29px 0 -10px #634354,0 35px 80px #0008;transform:rotateY(-15deg) rotateZ(6deg);transition:transform 1s,opacity .7s;z-index:3}
.story-script>span{display:block;font:9px monospace;letter-spacing:1px;color:#ad8091;line-height:1.6}.story-script strong{display:block;font:500 36px/1.1 var(--heading);color:#f7e0df;margin:35px 0}.script-line{height:2px;margin:10px 0;background:#80546533;width:95%}.script-line+ .script-line{width:73%;margin-bottom:26px}
.story-frames{position:absolute;inset:0;transform-style:preserve-3d}.story-frame{position:absolute;left:31%;top:17%;width:230px;height:300px;max-width:40%;background:#15121a;border:1px solid #b8819666;padding:6px;box-shadow:0 35px 70px #0009;opacity:0;transform:translate3d(0,100px,-300px) rotateY(45deg);transition:transform 1.1s cubic-bezier(.16,1,.3,1),opacity .7s,filter .7s}
.story-frame img,.story-frame video{width:100%;height:100%;object-fit:cover}.story-frame video{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);opacity:0;transition:opacity .8s}.story-frame>span{position:absolute;bottom:6px;left:6px;right:6px;padding:20px 10px 10px;background:linear-gradient(transparent,#070509dd);color:#edd5dd;font:9px monospace;letter-spacing:1px}.sf-main{z-index:2}.sf-left{z-index:1}.sf-right{z-index:1}
.story-chip{position:absolute;bottom:1%;left:25%;padding:10px 15px;border:1px solid #92485855;background:#120b14bb;color:#ed9596;font:10px monospace;letter-spacing:2px;z-index:5}
.story-copy{position:absolute;top:32%;left:0;right:0;z-index:4;pointer-events:none}.story-copy>*{width:35%;max-width:430px;pointer-events:auto}.story-copy .panel-top{display:flex;justify-content:space-between;font:9px monospace;color:#de8a98;letter-spacing:1px;gap:15px}.story-copy h2{font:500 clamp(33px,3.4vw,51px)/1.06 var(--heading);letter-spacing:-.02em;margin:21px 0;color:#f6e8e9;text-transform:uppercase}.story-copy p{font-size:14px;line-height:1.8;color:#ac98a5;margin-bottom:22px}.story-copy .panel-tags{display:flex;flex-wrap:wrap;gap:6px}.story-copy .panel-tags span{font-size:10px;padding:6px 8px;color:#c8a6b5;border:1px solid #543444;background:#130e18}
.story-bottom{position:absolute;bottom:26px;left:0;right:0;z-index:5}.story-progress{height:1px;background:#4a2e3d;margin-bottom:20px}.story-progress i{display:block;height:2px;background:#ff625b;transform:scaleX(var(--story-progress));transform-origin:left;box-shadow:0 0 14px #f74758}.story-navigation{display:flex;justify-content:space-between;gap:15px}.story-navigation button{display:flex;gap:11px;align-items:baseline;border:0;background:none;color:#967785;font:500 21px var(--heading);text-transform:uppercase;padding:9px 5px;cursor:pointer}.story-navigation button span{font:10px monospace;color:#895c72}.story-navigation button[aria-selected=true]{color:#fff0eb}.story-navigation button[aria-selected=true] span{color:#ff7767}.story-navigation button:hover{color:#ff867a}.story-bottom p{font:8px monospace;letter-spacing:3px;text-align:center;margin:20px 0 0;color:#876774}.story-bottom p span{color:#ff7767;margin-left:12px}
.story-wave{position:absolute;left:8%;right:5%;top:46%;height:100px;display:flex;align-items:center;justify-content:center;gap:5px;opacity:0;transform:scaleX(.4);transition:opacity .8s,transform .8s;z-index:5}.story-wave i{height:var(--wave);width:5px;background:linear-gradient(#ffaba2,#e53351);box-shadow:0 0 14px #e6335177;animation:story-wave .8s var(--delay) ease-in-out infinite alternate;animation-play-state:paused}
.story-finish{position:absolute;inset:24% 7% auto 17%;text-align:center;z-index:4;opacity:0;transform:translateZ(80px) scale(.75);transition:transform 1s,opacity .8s;text-shadow:0 4px 30px #000}.story-finish>span{font:9px monospace;letter-spacing:4px;color:#f3c9cf}.story-finish strong{display:block;font:600 clamp(48px,5.5vw,90px)/.9 var(--heading);color:#fff3ef;margin:24px 0}.story-finish>span:last-child{font-size:8px;letter-spacing:2px}
.story-sticky:not([data-scene="0"]) .story-script{opacity:0;transform:translate3d(-190px,-100px,-350px) rotateY(-75deg) rotateZ(-15deg)}
.story-sticky:not([data-scene="0"]) .story-frame{opacity:1}
.story-sticky[data-scene="1"] .sf-left{transform:translate3d(-145px,30px,-70px) rotateY(25deg) rotateZ(-12deg)}.story-sticky[data-scene="1"] .sf-main{transform:translate3d(0,-5px,50px) rotateY(-8deg)}.story-sticky[data-scene="1"] .sf-right{transform:translate3d(160px,40px,-100px) rotateY(-25deg) rotateZ(12deg)}
.story-sticky[data-scene="2"] .sf-main{transform:translate3d(0,0,130px) rotateY(0deg) scale(1.1)}.story-sticky[data-scene="2"] .sf-main video,.story-sticky[data-scene="3"] .sf-main video{opacity:1}.story-sticky[data-scene="2"] .sf-left,.story-sticky[data-scene="3"] .sf-left{transform:translate3d(-200px,30px,-220px) rotateY(60deg);opacity:.3}.story-sticky[data-scene="2"] .sf-right,.story-sticky[data-scene="3"] .sf-right{transform:translate3d(220px,30px,-220px) rotateY(-60deg);opacity:.3}
.story-sticky[data-scene="3"] .sf-main{transform:translate3d(0,-30px,-80px) scale(1.15);filter:brightness(.5)}.story-sticky[data-scene="3"] .story-wave{opacity:1;transform:scaleX(1)}.story-sticky[data-scene="3"] .story-wave i{animation-play-state:running}.story-sticky[data-scene="3"] .story-halo{transform:rotateX(0deg) rotateZ(90deg)}
.story-sticky[data-scene="4"] .sf-main{transform:translate3d(0,-10px,-80px) scale(1.8,1.1);filter:brightness(.25)}.story-sticky[data-scene="4"] .sf-left{transform:translate3d(-70px,0,-220px);opacity:.1}.story-sticky[data-scene="4"] .sf-right{transform:translate3d(70px,0,-220px);opacity:.1}.story-sticky[data-scene="4"] .story-finish{opacity:1;transform:translateZ(80px) scale(1)}.story-sticky[data-scene="4"] .story-halo{transform:rotateX(70deg) rotateZ(90deg) scale(1.2)}
@keyframes story-wave{to{transform:scaleY(.25)}}
/* Three forecast monoliths: precise figures, dimensional presentation. */
.future-horizon{position:relative;margin:10px 0 45px;padding:35px 30px 26px;border:1px solid #573041;background:radial-gradient(ellipse at 50% 35%,#52203766,transparent 65%),#100d14;overflow:hidden;--future-open:1}
.future-horizon:before{content:'2030';position:absolute;top:-28px;right:0;font:600 clamp(180px,27vw,340px)/1 var(--heading);letter-spacing:-.06em;color:#ffffff03;pointer-events:none}.horizon-label{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.horizon-label>span{font:10px monospace;letter-spacing:2px;color:#d98794}.horizon-label strong{font:500 25px/1 var(--heading);text-align:right;color:#e9cdd6}
.future-metrics{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;perspective:1300px;padding:8px 10px 26px}.future-metric{position:relative;isolation:isolate;min-height:310px;text-align:left;padding:27px 24px 22px;color:#f4e8e7;border:1px solid #a3688055;border-top-color:#edbbc188;background:linear-gradient(125deg,#35202e,#180f1b 65%);box-shadow:10px 12px 0 -1px #0c0911,11px 13px 0 -1px #77536455,0 30px 40px #0006;transform-origin:center bottom;transform:translateY(calc((1 - var(--future-open)) * 70px)) rotateX(calc((1 - var(--future-open)) * 28deg)) rotateY(calc((1 - var(--future-open)) * -14deg));transition:border-color .3s,background .3s;cursor:pointer}
.future-metric:nth-child(2){background:linear-gradient(125deg,#532130,#21101b 70%);transform:translateY(calc((1 - var(--future-open)) * 120px)) rotateX(calc((1 - var(--future-open)) * 36deg));border-top-color:#ff9b9488}.future-metric:nth-child(3){transform:translateY(calc((1 - var(--future-open)) * 90px)) rotateX(calc((1 - var(--future-open)) * 24deg)) rotateY(calc((1 - var(--future-open)) * 14deg))}.future-metric:hover,.future-metric:focus-visible{border-color:#f78897;background:linear-gradient(125deg,#663047,#20101c)}.future-metric>span:first-child{display:block;font:9px monospace;letter-spacing:1.6px;color:#c898aa}.future-metric>strong{display:block;font:600 clamp(54px,6.2vw,82px)/1 var(--heading);letter-spacing:-.045em;margin:25px 0 10px;white-space:nowrap}.future-metric strong small{font:400 23px var(--heading);letter-spacing:0;margin-left:3px;color:#cbb1bd}.metric-rate{display:inline-block;font:500 16px var(--body);color:#ff968d}.metric-base{display:block;font-size:10px;color:#a88b9c;line-height:1.6;margin:15px 0 21px}.metric-front{display:block;position:relative;height:7px;background:repeating-linear-gradient(135deg,#ff8b9d 0 2px,#813849 2px 5px);transform:scaleX(var(--future-open));transform-origin:left;box-shadow:0 5px 0 #341a2b}.metric-front:before{content:'';position:absolute;left:0;top:0;bottom:0;width:var(--baseline);background:#dac0c8}.metric-front:after{content:'';position:absolute;inset:-2px auto -2px var(--baseline);border-left:2px solid #180e18}.metric-action{display:block;font:8px monospace;letter-spacing:1.5px;color:#c38b9e;margin-top:24px}.future-horizon>p{position:relative;font-size:11px;line-height:1.8;color:#9d8394;max-width:790px;margin:15px 0 0}.future-horizon>p a{color:#d3a3b2;text-decoration:underline;text-underline-offset:3px}.data-tabs{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#63354a #100b13;gap:8px}.data-tabs button{flex:1;font-size:12px;padding-inline:9px}.data-deck{scroll-margin-top:90px}.data-bar{animation:bar-arrive .65s cubic-bezier(.16,1,.3,1) both}.data-bar:nth-last-child(1){animation-delay:.08s}@keyframes bar-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.motion-paused .story-wave i{animation-play-state:paused!important}.motion-paused .story-world *{transition:none!important}.motion-paused .data-bar{animation:none}
@media(max-width:1000px){.story-world{left:38%}.story-frame{width:180px;height:260px;left:30%}.story-script{width:260px;left:23%}.story-copy>*{width:36%}.story-copy h2{font-size:36px}.story-copy p{font-size:13px}.future-metrics{gap:16px;padding-inline:0}.future-metric{padding:23px 16px}.future-metric>strong{font-size:63px}.future-metric>span:first-child{font-size:8px;letter-spacing:1px}}
@media(max-width:700px){.story-scroll{height:340svh}.story-sticky{min-height:670px}.story-top{top:25px;align-items:flex-start;gap:15px}.story-top .eyebrow{font-size:9px;letter-spacing:1px}.skip-story{font-size:10px;white-space:nowrap}.story-world{inset:9% 0 49% 0}.story-big-word{font-size:115px;top:0;right:8%}.story-script{width:190px;left:29%;top:6%;padding:20px}.story-script strong{font-size:24px;margin:20px 0}.story-script>span{font-size:7px}.story-frame{left:36%;top:10%;width:140px;height:180px;max-width:none}.story-sticky[data-scene="1"] .sf-left{transform:translate3d(-110px,20px,-90px) rotateY(25deg) rotateZ(-12deg)}.story-sticky[data-scene="1"] .sf-right{transform:translate3d(105px,25px,-100px) rotateY(-25deg) rotateZ(12deg)}.story-chip{bottom:4%;left:50%;transform:translateX(-50%);font-size:8px;white-space:nowrap}.story-finish{inset:15% 8% auto}.story-finish strong{font-size:50px;margin:15px 0}.story-wave{top:30%;gap:3px;left:8%;right:8%}.story-wave i{width:3px}.story-copy{top:47%}.story-copy>*{width:100%;max-width:none}.story-copy .panel-top{font-size:8px}.story-copy h2{font-size:30px;margin:12px 0}.story-copy p{font-size:12px;line-height:1.65;margin:0 0 12px;max-width:520px}.story-copy .panel-tags span{font-size:9px;padding:4px 6px}.story-bottom{bottom:17px}.story-progress{margin-bottom:10px}.story-navigation{gap:7px}.story-navigation button{font-size:16px;gap:5px;padding:7px 0}.story-navigation button span{font-size:8px}.story-bottom p{margin-top:10px;font-size:7px;letter-spacing:1.3px}.future-horizon{padding:24px 20px;margin-bottom:25px}.horizon-label{margin-bottom:24px}.horizon-label>span{font-size:8px;letter-spacing:1px}.horizon-label strong{font-size:20px}.future-metrics{grid-template-columns:1fr;gap:23px;perspective:1000px;padding-right:9px}.future-metric{min-height:210px;padding:23px;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:10px}.future-metric>span:first-child{grid-column:1/-1;font-size:10px}.future-metric>strong{font-size:68px;margin:17px 0 10px}.metric-rate{font-size:17px}.metric-base{grid-column:1/-1;margin:0 0 19px;font-size:11px}.metric-front,.metric-action{grid-column:1/-1}.metric-action{margin-top:17px}.future-horizon>p{font-size:10px}.data-tabs{justify-content:flex-start;padding-inline:8px}.data-tabs button{font-size:11px;flex:0 0 auto;padding:17px 11px}.story-sticky[data-scene="4"] .sf-main{transform:translate3d(-8px,2px,-80px) scale(2,1.1)}}
/* On short screens or with reduced motion, chapters remain directly selectable. */
@media(max-height:680px),(prefers-reduced-motion:reduce){.story-scroll{height:auto}.story-sticky{position:relative;height:auto;min-height:0;padding-top:90px;padding-bottom:35px}.story-top{top:30px}.story-world{position:relative;inset:auto;margin:0 auto;width:min(600px,100%);height:320px}.story-copy{position:relative;inset:auto}.story-copy>*{width:100%;max-width:650px}.story-copy h2{font-size:34px}.story-copy p{font-size:13px}.story-bottom{position:relative;inset:auto;margin-top:30px}.story-bottom p{font-size:0;letter-spacing:0}.story-bottom p:after{content:'SELECT A CHAPTER TO EXPLORE';font:8px monospace;letter-spacing:2px}.story-bottom p span{display:none}.story-copy .panel-tags{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.story-world *{transition:none!important;animation:none!important}.future-metric{transform:none!important}.metric-front{transform:none!important}.data-bar{animation:none}}
