/* Dineso Brand Design 1.0.0. Extended cinematic palette is local to this film. */
.dn-energy-film-page{background:#0b222b!important}.dn-energy-film-page .dn-header,.dn-energy-film-page .dn-footer{display:none!important}.dn-energy-film-page .wp-site-blocks,.dn-energy-film-page main{margin:0!important;padding:0!important}.ef-shell{--ef-paper:#f7f6f2;--ef-muted:#bdcfd2;--ef-accent:#7fc4d1;--ef-amber:#efd39d;background:#0b222b;color:var(--ef-paper);font-family:"Schibsted Grotesk",sans-serif;min-height:100dvh;isolation:isolate;overflow-x:clip}.ef-shell *{box-sizing:border-box}.ef-shell button,.ef-shell input{font:inherit}.ef-shell a{color:inherit}.ef-shell :focus-visible{outline:2px solid #b4e9f0;outline-offset:4px}.ef-shell [hidden]{display:none!important}.ef-sr{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ef-topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1600px;margin:auto;padding:0 48px;border-bottom:1px solid #ffffff14}.ef-topbar>img{width:127px;height:26px;position:absolute;left:50%;transform:translateX(-50%)}.ef-back{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:14px;color:#d7e8e8!important}.ef-back>span:first-child{font-size:24px}.ef-runtime{display:flex;gap:18px;color:#b4c9ce;font-size:12px;align-items:center}.ef-runtime b{font-weight:400;color:#f7f6f2;border-left:1px solid #ffffff30;padding-left:18px}.ef-frame{max-width:1600px;margin:auto}.ef-scene{position:relative;display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;min-height:590px;padding:40px 48px 50px;gap:30px;background:radial-gradient(ellipse at 73% 48%,#20556250,transparent 65%)}.ef-enhanced .ef-frame{position:relative;height:clamp(470px,62dvh,710px)}.ef-enhanced .ef-scene{position:absolute;inset:0;min-height:0;overflow:hidden}.ef-enhanced .ef-scene:not(.is-active){display:none}.ef-copy{position:relative;z-index:2;padding-left:16px;align-self:center}.ef-eyebrow{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8ec7ce;margin:0 0 24px}.ef-scene h2{font-size:clamp(30px,3.45vw,58px);font-weight:500;line-height:1.08;letter-spacing:-.045em;margin:0 0 26px;color:#f7f6f2;text-wrap:balance}.ef-subtitle{font-size:clamp(16px,1.32vw,21px);line-height:1.55;max-width:490px;color:#bfced0;margin:0}.ef-takeaway{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.6;color:#c8e4df;margin:36px 0 0;max-width:420px}.ef-takeaway>span{flex:0 0 22px;border-top:2px solid #7fc4d1;margin-top:9px}.ef-art{position:relative;width:100%;min-width:0;align-self:center}.ef-scene-note{position:absolute;bottom:16px;left:64px;margin:0;color:#93adb4;font-size:10px;letter-spacing:.025em}.ef-nojs-script{grid-column:1/-1;max-width:900px;color:#c9d7db}.ef-enhanced .ef-nojs-script{display:none}.ef-enhanced .ef-scene.is-active .ef-copy{animation:ef-enter .75s both}.ef-enhanced .ef-scene.is-active .ef-art{animation:ef-art-enter 1.1s both}.ef-city{width:112%;max-height:540px;margin-left:-6%;filter:drop-shadow(0 28px 25px #0004);overflow:visible}.ef-city-district{transform-origin:50% 60%;animation:ef-city-drift 16s ease-in-out infinite alternate}.ef-electric{stroke:#f1ce87}.ef-gas{stroke:#c4afe6}.ef-heat{stroke:#edaa7c}.ef-route{opacity:.7}.ef-packets path{stroke-dasharray:1 70;animation:ef-data 6s linear infinite;filter:drop-shadow(0 0 5px currentColor)}.ef-packets .ef-gas{animation-delay:-2s}.ef-packets .ef-heat{animation-delay:-4s}.ef-hq{filter:drop-shadow(0 0 10px #67ccda30)}.ef-map-labels{opacity:.9}
.ef-source-world{height:420px;position:relative;perspective:1000px}.ef-document{position:absolute;width:45%;background:#eaece5;color:#17343d;padding:22px;border:1px solid #fff7;border-radius:9px;box-shadow:0 24px 35px #0003;transition:transform .7s}.ef-document>span,.ef-document small{font-size:10px;letter-spacing:.06em;color:#567279}.ef-document strong{display:block;font-size:21px;font-weight:500;margin:9px 0 15px}.ef-document p{font-size:24px;line-height:1.2;font-weight:500;margin:14px 0 4px}.ef-doc-a{left:2%;top:35px;transform:rotate(-9deg);animation:ef-sheet-a 7s ease-in-out infinite alternate}.ef-doc-b{right:3%;top:6px;transform:rotate(7deg);background:#bdd5d4;animation:ef-sheet-b 8s ease-in-out infinite alternate}.ef-doc-c{left:28%;top:158px;transform:rotate(-2deg);background:#f7f6f2;z-index:2}.ef-doc-c p{font-size:18px;color:#8f582d}.ef-sheet-lines{height:42px;background:repeating-linear-gradient(to bottom,#50778022 0 1px,transparent 1px 14px),repeating-linear-gradient(to right,#50778022 0 1px,transparent 1px 36px)}.ef-source-question{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:16px;color:#b5cbce}.ef-source-question strong{font-weight:500;color:#f7f6f2;font-size:21px}
.ef-model{height:420px;position:relative;display:grid;grid-template-columns:1.15fr 1fr 1fr;align-items:center;gap:40px}.ef-source-stack{display:flex;flex-direction:column;gap:22px;z-index:1}.ef-source-stack>span{font-size:15px;background:#173c46;border:1px solid #80bdc130;padding:15px 13px;border-radius:8px;box-shadow:0 8px 20px #0001}.ef-source-stack small{display:block;color:#9abac0;font-size:11px;margin-top:4px}.ef-model-core{justify-self:center;background:#0e2a33;box-shadow:0 0 60px #7fc4d122,0 0 0 16px #7fc4d108;border:1px solid #7fc4d166;border-radius:22px;width:140px;padding:24px 16px;text-align:center;z-index:1}.ef-model-core img{width:70px;height:70px;margin:0 auto 18px}.ef-model-core span{font-size:13px;color:#b6d5d9;line-height:1.8}.ef-model-result{z-index:1}.ef-model-result>span{font:9px "IBM Plex Mono",monospace;letter-spacing:.1em;color:#a8ced2}.ef-model-result strong{font-size:24px;line-height:1.4;font-weight:500;display:block;margin:16px 0}.ef-model-result small{color:#9dbdc5;font-size:12px;line-height:1.5;display:block}.ef-model-lines{position:absolute;inset:0;width:100%;height:100%;color:#6fadb044;stroke-width:2}.ef-pulse-line{stroke:#b8ead8;stroke-dasharray:10 120;animation:ef-data 5s linear infinite}.ef-model-layers{height:58px;position:relative;width:85px;margin:25px 0 10px}.ef-model-layers i{position:absolute;display:block;width:80px;height:46px;background:#82bec4aa;border:1px solid #c3f1ec;transform:rotateX(58deg) rotateZ(-30deg);border-radius:5px;animation:ef-layer 4s ease-in-out infinite alternate}.ef-model-layers i:nth-child(2){top:14px;opacity:.6;animation-delay:-1s}.ef-model-layers i:nth-child(3){top:28px;opacity:.35;animation-delay:-2s}
.ef-report{background:#f3f3ec;color:#15313b;border-radius:18px;padding:25px 30px;max-width:580px;margin:auto;box-shadow:0 28px 70px #0004}.ef-report-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #193b4922;padding-bottom:16px;font-size:20px;font-weight:500}.ef-report-heading small{font-size:11px;color:#557079;font-weight:400}.ef-volume{padding:18px 0;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.ef-volume strong{font-size:35px;font-weight:500;letter-spacing:-.04em}.ef-volume strong small{font-size:14px;letter-spacing:0}.ef-volume>span{font-size:11px;max-width:85px;color:#557079}.ef-equation{display:grid;gap:13px}.ef-equation>div{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:12px}.ef-equation strong{font-weight:500;font-variant-numeric:tabular-nums}.ef-equation i{grid-column:1/-1;height:9px;width:var(--bar);background:#1a6b7a;border-radius:0 3px 3px 0;transform-origin:left}.ef-equation>div:nth-child(2) i{background:#71969a}.ef-equation>div:nth-child(3) i{background:#aebdb8}.is-active .ef-equation i{animation:ef-grow 1.4s .45s both}.ef-report-result{border-top:1px solid #193b4922;margin-top:20px;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.ef-report-result>span{font-size:13px}.ef-report-result strong{font-size:38px;color:#1a6b7a;font-weight:500;letter-spacing:-.04em}.ef-report-result small{font-size:18px}.ef-report>p{font-size:10px;color:#68818a;margin:12px 0 0}
.ef-scenario{max-width:610px;margin:auto}.ef-weather{display:flex;gap:22px;align-items:center;padding-bottom:25px;border-bottom:1px solid #ffffff20;margin-bottom:32px}.ef-weather svg{width:72px;height:72px;stroke:#efd39d;fill:none;stroke-width:1.5;animation:ef-sun 50s linear infinite}.ef-weather span{font:10px "IBM Plex Mono",monospace;letter-spacing:.13em;color:#d1b995}.ef-weather strong{display:block;font-size:30px;font-weight:500;margin:5px 0;color:#f3e6ca}.ef-weather small{font-size:12px;color:#bccbca}.ef-compare{display:grid;gap:28px}.ef-compare>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.ef-compare>div>span{grid-column:1/-1;font-size:13px;color:#bbced0}.ef-compare>div>strong{font-size:42px;font-weight:500;letter-spacing:-.05em;color:#f2dfb9;min-width:100px;text-align:right}.ef-compare-bars{display:grid;gap:9px}.ef-compare-bars i{display:block;width:var(--bar);height:27px;background:#ffffff17;border:1px solid #adccd07a;border-radius:0 4px 4px 0;transform-origin:left;position:relative;font-style:normal}.ef-compare-bars i:nth-child(2){background:#9ccac6;border-color:#9ccac6;color:#0d3038}.ef-compare-bars b{position:absolute;left:10px;top:3px;font-size:12px;font-weight:500;white-space:nowrap}.is-active .ef-compare-bars i{animation:ef-grow 1.2s .35s both}.ef-chart-legend{display:flex;gap:20px;font-size:10px;color:#b9ccce;margin-top:20px}.ef-chart-legend span{display:flex;align-items:center;gap:7px}.ef-chart-legend span:before{content:"";width:12px;height:8px;border:1px solid #adccd07a}.ef-chart-legend span+span:before{background:#9ccac6}.ef-insight{padding:17px 20px;background:#edcb8d0d;border-left:2px solid #e3c488;color:#e9e0cc;font-size:14px;margin:22px 0 0}.ef-insight span{display:block;color:#bdab90;font:9px "IBM Plex Mono",monospace;letter-spacing:.1em;margin-bottom:7px}.ef-insight strong{font-weight:500}
.ef-decision{height:420px;position:relative;text-align:center;display:flex;flex-direction:column;justify-content:space-between}.ef-decision-center{width:230px;margin:0 auto;border:1px solid #9bd2cb77;background:linear-gradient(135deg,#285a60,#13323c);padding:20px;border-radius:14px;box-shadow:0 0 65px #7fc4d11a;z-index:1}.ef-decision-center>span{font:10px "IBM Plex Mono",monospace;letter-spacing:.1em;color:#a4ccce}.ef-decision-center strong{display:block;font-size:37px;font-weight:500;letter-spacing:-.04em;margin:5px 0}.ef-decision-center small{font-size:11px;color:#adc9cc}.ef-decision-lines{position:absolute;inset:0;width:100%;height:100%;stroke:#83c3cb;stroke-width:1.5;fill:none;stroke-dasharray:5 5;animation:ef-data 15s linear infinite}.ef-decisions{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;z-index:1;margin-top:62px}.ef-decisions>div{padding:20px 12px;background:#173a43;border:1px solid #7fc4d12e;border-radius:10px;box-shadow:0 16px 30px #0002}.ef-decisions span{color:#9ed5d7;font-size:12px}.ef-decisions strong{font-size:15px;line-height:1.4;font-weight:500;display:block;margin:12px 0}.ef-decisions small{font-size:10px;line-height:1.5;display:block;color:#9ab8bf}.ef-decision>p{font-size:11px;line-height:1.5;color:#a1c1c7;margin:16px 0 0}.ef-rollout{height:415px;display:flex;flex-direction:column;justify-content:space-between;max-width:600px;margin:auto}.ef-existing{border:1px solid #7fc4d144;border-radius:12px;padding:24px;background:#ffffff04}.ef-existing>span{font:10px "IBM Plex Mono",monospace;color:#9dc2c8;letter-spacing:.1em}.ef-existing>div{display:flex;gap:15px;margin-top:23px}.ef-existing b{flex:1;text-align:center;font-size:17px;font-weight:400;padding:18px 5px;background:#b0d1cd12;border:1px solid #aac9ce29;border-radius:6px}.ef-rollout-track{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative}.ef-rollout-track:before{content:"";height:1px;position:absolute;top:8px;left:0;right:0;background:linear-gradient(to right,#7fc4d1,#c4e1c6)}.ef-rollout-track>span{font-size:12px;line-height:1.5;padding-top:25px;position:relative;color:#c3dddc}.ef-rollout-track>span:before{content:"";position:absolute;top:3px;left:0;width:11px;height:11px;border-radius:50%;background:#b8ded2;box-shadow:0 0 0 7px #7fc4d115;animation:ef-node 3s ease-in-out infinite}.ef-rollout-track>span:nth-child(2):before{animation-delay:1s}.ef-rollout-track>span:nth-child(3):before{animation-delay:2s}.ef-rollout-result{border-left:2px solid #79bbc4;padding:0 0 0 24px;display:flex;align-items:center;gap:25px}.ef-rollout-result img{width:130px;height:auto}.ef-rollout-result p{font-size:13px;line-height:1.7;color:#acc9cf;margin:0}
.ef-finale{height:430px;border-radius:16px;overflow:hidden;position:relative;border:1px solid #aed6d344;box-shadow:0 28px 60px #0003}.ef-finale-photo{width:100%;height:100%;object-fit:cover;animation:ef-photo 16s ease-out both}.ef-finale-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#08242bf5 0%,#08242bc9 43%,#08242b00 100%)}.ef-finale-panel{position:absolute;bottom:27px;left:30px;right:30px}.ef-finale-panel>span{font:9px "IBM Plex Mono",monospace;letter-spacing:.1em;color:#b4d5d6}.ef-finale-panel>strong{font-size:28px;font-weight:500;letter-spacing:-.03em;line-height:1.2;display:block;margin:12px 0}.ef-finale-panel>p{font-size:12px;color:#c4d8d9;line-height:1.6;max-width:390px}.ef-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#d8eee3;color:#0f353c!important;border-radius:7px;padding:16px 18px;margin-top:20px;text-decoration:none;font-size:13px;font-weight:500;transition:background .2s}.ef-cta:hover{background:#eff8f0}.ef-cta>span{font-size:20px}.ef-scene-gespraech .ef-takeaway{color:#c6ddc7}.ef-player{max-width:1504px;margin:0 auto;padding:0 16px 24px}.ef-timeline{display:flex;align-items:center;gap:20px}.ef-timeline input{accent-color:#9bd6db;flex:1;min-width:60px;cursor:pointer;height:24px;margin:0;appearance:none;background:transparent}.ef-timeline input::-webkit-slider-runnable-track{height:3px;border-radius:5px;background:linear-gradient(to right,#a5d6d5 var(--ef-progress,0%),#ffffff26 var(--ef-progress,0%))}.ef-timeline input::-moz-range-track{height:3px;background:#ffffff26}.ef-timeline input::-moz-range-progress{background:#a5d6d5;height:3px}.ef-timeline input::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:#c8e9dc;margin-top:-4.5px;box-shadow:0 0 0 4px #7fc4d110}.ef-time{font:11px "IBM Plex Mono",monospace;color:#a7c5cb;min-width:86px}.ef-time>span{color:#f1f6ec}.ef-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 0 14px}.ef-button{border:1px solid transparent;background:transparent;color:#b9d0d5;min-height:42px;padding:8px 14px;font-size:12px;cursor:pointer;border-radius:7px;transition:background .2s}.ef-button:hover{background:#ffffff0f}.ef-button[aria-pressed="true"]{border-color:#7fc4d144;color:#e8f4eb}.ef-button.ef-play{color:#0d333b;background:#c9e5d9;min-width:152px;display:flex;gap:12px;align-items:center;justify-content:center;font-weight:500}.ef-play:hover{background:#e5f2e6}.ef-control-end{display:flex;align-items:center;gap:8px}.ef-button.ef-fullscreen{font-size:25px;padding:3px 12px}.ef-chapters{display:flex;border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12;overflow-x:auto;scrollbar-width:thin;gap:4px}.ef-chapters>button{flex:1;white-space:nowrap;background:none;border:0;border-bottom:2px solid transparent;font-size:11px;color:#91adb4;min-height:44px;padding:10px 8px;cursor:pointer}.ef-chapters>button[aria-current="step"]{color:#e7f4ec;border-bottom-color:#9dd3cc}.ef-chapters>button:hover{color:#e7f4ec;background:#ffffff05}.ef-narration{display:grid;grid-template-columns:170px 1fr;gap:22px;padding:22px 0 0;max-width:1160px;margin:0 auto}.ef-narration>span{font:9px "IBM Plex Mono",monospace;color:#87a9b3;line-height:1.6;letter-spacing:.06em;text-transform:uppercase;padding-top:4px}.ef-narration>p{font-size:14px;line-height:1.6;color:#c2d3d6;margin:0;min-height:46px}.ef-transcript{max-width:1060px;margin:0 auto;padding:24px 40px 40px;color:#9cb7bf;font-size:13px;border-top:1px solid #ffffff0d}.ef-transcript summary{cursor:pointer;min-height:32px}.ef-transcript h2{font-size:22px;line-height:1.3;font-weight:500;color:#e0ebe6;margin-top:32px}.ef-transcript p{line-height:1.8}.ef-model-note{color:#9cb4bc;font-size:12px;border-top:1px solid #ffffff22;margin-top:25px;padding-top:20px}.ef-shell:fullscreen{height:100dvh;overflow:auto}.ef-shell.ef-expanded{position:fixed;inset:0;z-index:99999;overflow:auto}.ef-paused *, .ef-paused *:before,.ef-paused *:after{animation-play-state:paused!important}.ef-scene.is-active .ef-copy,.ef-scene.is-active .ef-art{animation-play-state:running!important}
@keyframes ef-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes ef-art-enter{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}@keyframes ef-data{to{stroke-dashoffset:-284}}@keyframes ef-city-drift{from{transform:translateY(2px)}to{transform:translateY(-8px)}}@keyframes ef-grow{from{transform:scaleX(.05);opacity:.1}to{transform:scaleX(1);opacity:1}}@keyframes ef-layer{to{transform:translateY(-3px) rotateX(58deg) rotateZ(-30deg)}}@keyframes ef-sheet-a{to{transform:translateY(-8px) rotate(-6deg)}}@keyframes ef-sheet-b{to{transform:translateY(6px) rotate(10deg)}}@keyframes ef-sun{to{transform:rotate(360deg)}}@keyframes ef-node{50%{box-shadow:0 0 0 11px #7fc4d100}}@keyframes ef-photo{from{transform:scale(1)}to{transform:scale(1.08)}}
@media(min-width:1600px){.ef-player{padding-inline:32px}.ef-copy{padding-left:24px}.ef-scene{gap:55px}.ef-scene-note{left:72px}}
@media(max-width:1100px){.ef-topbar{padding:0 28px;height:60px}.ef-scene{padding:30px 28px 45px;gap:24px;grid-template-columns:.9fr 1.1fr}.ef-copy{padding:0}.ef-scene-note{left:28px;font-size:9px}.ef-model{gap:20px}.ef-model-core{width:105px;padding:18px 12px}.ef-model-core img{width:55px;height:55px}.ef-source-stack>span{font-size:12px;padding:14px 9px}.ef-model-result strong{font-size:20px}.ef-source-stack small,.ef-model-result small{font-size:10px}.ef-document{padding:16px}.ef-document strong{font-size:17px}.ef-document p{font-size:20px}.ef-decisions{gap:8px}.ef-decisions>div{padding:15px 7px}.ef-decisions strong{font-size:12px}.ef-player{padding-inline:28px}.ef-rollout-result{gap:18px}.ef-rollout-result img{width:90px}.ef-rollout-result p{font-size:11px}.ef-weather strong{font-size:25px}.ef-report{padding:20px}.ef-report-result strong{font-size:30px}.ef-finale-panel{left:22px;right:22px}.ef-finale-panel>strong{font-size:24px}}
@media(max-width:760px){.ef-topbar{height:58px;padding:0 20px}.ef-topbar>img{width:106px;height:auto;position:static;transform:none;margin-left:auto}.ef-runtime{display:none}.ef-back{font-size:12px;gap:8px}.ef-enhanced .ef-frame{height:560px}.ef-scene,.ef-enhanced .ef-scene{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:14px;padding:26px 24px 31px;align-items:start}.ef-copy{max-width:560px}.ef-eyebrow{font-size:9px;letter-spacing:.09em;margin-bottom:13px}.ef-scene h2{font-size:34px;line-height:1.07;margin-bottom:13px;max-width:530px;text-wrap:initial}.ef-subtitle{font-size:14px;line-height:1.45;max-width:500px}.ef-takeaway{display:none}.ef-art{max-width:520px;margin:0 auto;align-self:center;height:290px;display:grid;place-items:center}.ef-city{height:320px;width:108%;margin:-10px -4% 0;max-width:600px}.ef-scene-note{left:24px;right:20px;bottom:10px;font-size:8px}.ef-source-world{height:285px;width:100%;max-width:440px}.ef-document{padding:14px;width:46%}.ef-document strong{font-size:16px;margin:7px 0 9px}.ef-document p{font-size:19px;margin:10px 0 4px}.ef-document>span,.ef-document small{font-size:8px}.ef-sheet-lines{height:28px}.ef-doc-a{top:14px}.ef-doc-b{top:0}.ef-doc-c{top:105px;left:28%}.ef-doc-c p{font-size:14px}.ef-source-question{font-size:12px;bottom:-4px}.ef-source-question strong{font-size:15px}.ef-model{height:280px;width:100%;gap:20px;grid-template-columns:1.1fr .9fr .8fr}.ef-source-stack{gap:12px}.ef-source-stack>span{font-size:11px;padding:11px 8px}.ef-source-stack small{font-size:8px}.ef-model-core{width:87px;border-radius:15px;padding:17px 10px;box-shadow:0 0 30px #7fc4d122,0 0 0 8px #7fc4d108}.ef-model-core img{width:50px;height:50px;margin-bottom:10px}.ef-model-core span{font-size:10px}.ef-model-result>span{font-size:7px}.ef-model-result strong{font-size:18px;margin:10px 0}.ef-model-result small{font-size:8px}.ef-model-layers{transform:scale(.75);transform-origin:left;height:45px;margin-top:13px}.ef-report{width:100%;max-width:410px;padding:16px 20px;border-radius:12px}.ef-report-heading{font-size:17px;padding-bottom:10px}.ef-report-heading small{font-size:9px}.ef-volume{padding:10px 0}.ef-volume strong{font-size:28px}.ef-volume>span{font-size:9px}.ef-volume strong small{font-size:12px}.ef-equation{gap:9px}.ef-equation>div{font-size:10px;gap:4px}.ef-equation i{height:6px}.ef-report-result{margin-top:12px;padding-top:10px}.ef-report-result>span{font-size:11px}.ef-report-result strong{font-size:29px}.ef-report>p{font-size:8px;margin-top:8px}.ef-scenario{width:100%;max-width:440px}.ef-weather{padding-bottom:13px;margin-bottom:16px;gap:14px}.ef-weather svg{width:46px;height:46px}.ef-weather strong{font-size:20px;margin:3px 0}.ef-weather span{font-size:8px}.ef-weather small{font-size:10px}.ef-compare{gap:15px}.ef-compare>div{gap:7px}.ef-compare>div>span{font-size:10px}.ef-compare>div>strong{font-size:32px;min-width:80px}.ef-compare-bars{gap:5px}.ef-compare-bars i{height:20px}.ef-compare-bars b{font-size:9px;top:2px}.ef-chart-legend{margin-top:12px;font-size:8px}.ef-insight{padding:10px 12px;font-size:11px;margin-top:12px}.ef-insight span{font-size:7px;margin-bottom:4px}.ef-decision{height:285px;width:100%}.ef-decision-center{width:185px;padding:12px}.ef-decision-center>span{font-size:8px}.ef-decision-center strong{font-size:28px;margin:3px 0}.ef-decision-center small{font-size:9px}.ef-decisions{margin-top:38px;gap:7px}.ef-decisions>div{padding:12px 6px}.ef-decisions span{font-size:10px}.ef-decisions strong{font-size:11px;margin:8px 0}.ef-decisions small{font-size:8px}.ef-decision>p{font-size:9px;margin-top:10px}.ef-rollout{height:280px;width:100%}.ef-existing{padding:17px}.ef-existing>span{font-size:8px}.ef-existing>div{gap:10px;margin-top:14px}.ef-existing b{font-size:14px;padding:13px 4px}.ef-rollout-track{gap:12px}.ef-rollout-track>span{font-size:9px}.ef-rollout-result{padding-left:17px;gap:20px}.ef-rollout-result img{width:100px}.ef-rollout-result p{font-size:10px}.ef-finale{height:300px;width:100%;border-radius:11px}.ef-finale-panel{left:20px;right:20px;bottom:18px}.ef-finale-panel>span{font-size:7px}.ef-finale-panel>strong{font-size:23px;margin:8px 0}.ef-finale-panel>p{font-size:10px;line-height:1.5}.ef-cta{padding:11px 12px;margin-top:12px;font-size:11px}.ef-cta>span{font-size:18px}.ef-player{padding:0 20px 20px}.ef-controls{gap:8px;padding-top:5px}.ef-control-end{gap:2px}.ef-button{font-size:10px;padding:7px 9px;min-height:40px}.ef-button.ef-play{min-width:123px;gap:8px}.ef-button.ef-fullscreen{font-size:22px;padding:3px 8px}.ef-time{font-size:10px;min-width:78px}.ef-chapters{margin:0 -20px;padding:0 20px}.ef-chapters>button{flex:none;font-size:10px;padding:10px 10px}.ef-narration{grid-template-columns:1fr;gap:7px;padding-top:17px}.ef-narration>span{font-size:8px;padding:0}.ef-narration>p{font-size:12px;line-height:1.6;min-height:58px}.ef-transcript{padding:20px 24px 35px;font-size:12px}.ef-transcript h2{font-size:20px}.ef-nojs-script{font-size:13px}.ef-shell:not(.ef-enhanced) .ef-scene{min-height:600px}}
@media(max-width:370px){.ef-enhanced .ef-frame{height:550px}.ef-scene,.ef-enhanced .ef-scene{padding:23px 18px 28px;gap:10px}.ef-scene h2{font-size:29px}.ef-subtitle{font-size:12px}.ef-eyebrow{font-size:8px}.ef-art{height:285px}.ef-scene-note{left:18px;font-size:7px}.ef-player{padding-inline:14px}.ef-button{padding-inline:6px;font-size:9px}.ef-button.ef-play{min-width:112px}.ef-model{gap:13px}.ef-model-core{width:75px}.ef-source-stack>span{font-size:9px}.ef-model-result strong{font-size:16px}.ef-source-stack small{font-size:7px}.ef-document strong{font-size:14px}.ef-doc-c p{font-size:12px}.ef-document{padding:12px}.ef-finale-panel>strong{font-size:21px}}
@media(min-width:761px) and (max-height:650px){.ef-enhanced .ef-frame{height:400px}.ef-topbar{height:52px}.ef-scene{padding-top:20px;gap:30px}.ef-scene h2{font-size:31px}.ef-eyebrow{margin-bottom:14px}.ef-subtitle{font-size:14px}.ef-takeaway{margin-top:20px;font-size:11px}.ef-art{transform:scale(.8);transform-origin:center}.ef-enhanced .ef-scene.is-active .ef-art{animation:none}.ef-player{padding-bottom:18px}.ef-city{max-height:360px}.ef-source-world,.ef-model,.ef-decision,.ef-rollout{height:360px}.ef-narration{padding-top:15px}}
.dn-energy-film-page footer.dn-s-4c1af371f5{display:none!important}.ef-shell .ef-button{font:400 12px "Schibsted Grotesk",sans-serif;white-space:nowrap}.ef-shell .ef-button.ef-fullscreen{font-size:25px}.ef-shell .ef-button.ef-play{font-weight:500}.ef-feedback{font-size:11px;color:#bdd7d8;margin:12px 0 0;line-height:1.5}.ef-feedback:empty{display:none}
@media(max-width:760px){.ef-enhanced .ef-frame{height:clamp(300px,calc(100dvh - 260px),560px)}.ef-enhanced .ef-scene{overflow-y:auto;grid-template-rows:auto auto auto;align-content:start;scrollbar-width:thin}.ef-scene-note{position:static;grid-column:1/-1;margin:2px 0 0;font-size:8px}.ef-shell .ef-button{font-size:10px;padding:7px 9px}.ef-shell .ef-button.ef-fullscreen{font-size:22px;padding:3px 8px}.ef-shell .ef-button.ef-play{min-width:115px}.ef-art{margin-top:8px}.ef-scene-stadt .ef-art{height:270px}.ef-city{height:300px}.ef-feedback{font-size:10px}}
@media(max-width:370px){.ef-shell .ef-button{font-size:9px;padding-inline:6px}.ef-shell .ef-button.ef-play{min-width:108px}.ef-shell .ef-button.ef-fullscreen{padding-inline:5px}.ef-controls{gap:5px}.ef-control-end{gap:0}.ef-art{height:285px}.ef-scene h2{font-size:29px}}
@media(min-width:761px) and (max-height:650px){.ef-enhanced .ef-frame{height:max(210px,calc(100dvh - 170px))}.ef-enhanced .ef-scene{overflow-y:auto;align-items:start;grid-auto-rows:auto;min-height:0}.ef-copy{align-self:start}.ef-scene-note{position:static;grid-column:1/-1}.ef-art{align-self:start}.ef-topbar{height:52px}.ef-narration{display:block}.ef-narration>span{display:block;margin-bottom:7px}}
@media(prefers-reduced-motion:reduce){.ef-shell *,.ef-shell *:before,.ef-shell *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ef-packets path{stroke-dasharray:4 36}.ef-city-district{transform:none}.ef-equation i,.ef-compare-bars i{transform:none}.ef-finale-photo{transform:none}}

@media(max-width:760px){.ef-art{height:auto;min-height:285px}.ef-scene-stadt .ef-art{height:270px;min-height:270px}.ef-scene-note{padding-top:8px;margin-top:0}.ef-decision{height:auto;min-height:285px}.ef-decision>p{margin-top:14px}}

.ef-doc-c{top:240px;left:5%;width:90%;display:grid;grid-template-columns:1fr 1fr;column-gap:16px;padding:16px 20px}.ef-doc-c .ef-sheet-lines{display:none}.ef-doc-c>span{grid-column:1}.ef-doc-c>strong{grid-column:1;font-size:18px;margin:8px 0 0}.ef-doc-c>p{grid-column:2;grid-row:1/3;align-self:center;font-size:18px;margin:0}.ef-doc-c>small{grid-column:2;margin-top:4px}.ef-source-question{bottom:-12px}
@media(max-width:760px){.ef-source-world{height:305px}.ef-doc-c{top:172px;padding:12px 15px;column-gap:12px}.ef-doc-c>strong{font-size:14px}.ef-doc-c>p{font-size:13px}.ef-doc-c>small{font-size:7px}.ef-source-question{bottom:-2px}}

@media(max-width:760px){.ef-enhanced .ef-scene{display:flex;flex-direction:column;align-items:stretch;gap:18px}.ef-copy,.ef-art,.ef-scene-note{flex:none}.ef-art{display:block;min-height:0;height:auto;margin-top:0}.ef-scene-stadt .ef-art{height:270px;min-height:270px}.ef-scene-note{padding-top:0;margin-top:0}.ef-model,.ef-report,.ef-scenario,.ef-source-world,.ef-decision,.ef-rollout,.ef-finale{margin-left:auto;margin-right:auto}}

/* Energy film revision: six chapters, narration in the scene, original flyer assets. */
.ef-topbar{height:76px}
.ef-shell .ef-header-cta{background:#1a6b7a;color:#fff;border:1px solid #7fc4d155;border-radius:8px;padding:11px 18px;font:500 14px "Schibsted Grotesk",sans-serif;text-decoration:none;white-space:nowrap}
.ef-shell .ef-header-cta:hover{background:#125b68}
.ef-enhanced .ef-frame{height:clamp(500px,calc(100dvh - 225px),780px)}
.ef-scene{padding:42px 48px;gap:48px}
.ef-enhanced .ef-scene{overflow-y:auto;scrollbar-width:thin}
.ef-copy{min-width:0}
.ef-eyebrow{font-weight:500;margin-bottom:23px}
.ef-scene h2{font-size:clamp(31px,3.2vw,54px);font-weight:600;line-height:1.12;letter-spacing:-.04em;margin-bottom:28px;hyphens:none;overflow-wrap:normal}
.ef-script{font-size:clamp(16px,1.3vw,20px);line-height:1.65;max-width:535px;color:#bdcfd2;margin:0;text-wrap:pretty}
.ef-scene .ef-art-title{font-size:clamp(21px,1.8vw,29px);font-weight:500;line-height:1.3;letter-spacing:-.025em;margin:0 auto 28px;max-width:650px;text-align:center;color:#e0efeb;text-wrap:balance;hyphens:none;overflow-wrap:normal}
.ef-city{width:108%;max-height:460px;margin-left:-4%}
.ef-source-world{height:400px}
.ef-model{height:400px;gap:32px}
.ef-model-core{width:132px}
.ef-model-core img{display:block}
.ef-enhanced .ef-scene-inseln.is-active .ef-art,.ef-enhanced .ef-scene-entscheiden.is-active .ef-art{animation:none}
/* Both chapters share the original flyer cube at exactly the same position. */
.ef-fusion-stage{position:relative;width:100%;aspect-ratio:760/480;max-height:470px;isolation:isolate}
.ef-flow-field{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.ef-flow-tracks{opacity:.3}
.ef-flow-particles path{stroke-dasharray:1 16;animation:ef-flow 3s linear infinite;filter:drop-shadow(0 0 4px #c5fff2)}
.ef-flow-particles path:nth-child(2){animation-delay:-.7s}.ef-flow-particles path:nth-child(3){animation-delay:-1.4s}.ef-flow-particles path:nth-child(4){animation-delay:-2.1s}
.ef-island{position:absolute;width:30%;padding:17px 19px;background:linear-gradient(140deg,#295964e8,#102e38f5);border:1px solid #91ced45c;border-radius:12px;box-shadow:0 16px 32px #0003;z-index:3}
.ef-island>span{display:block;font:10px "IBM Plex Mono",monospace;letter-spacing:.12em;color:#8fbdc6}
.ef-island strong{display:block;font-size:23px;font-weight:500;margin:7px 0 3px;color:#f0f6ef}
.ef-island small{font-size:11px;color:#b7d2d7}
.ef-island i{display:block;height:22px;margin-top:12px;background:repeating-linear-gradient(90deg,#7fc4d14d 0 10%,transparent 10% 17%);clip-path:polygon(0 60%,16% 60%,16% 35%,35% 35%,35% 50%,53% 50%,53% 15%,70% 15%,70% 30%,87% 30%,87% 0,100% 0,100% 100%,0 100%)}
.ef-island-sales{left:0;top:0;--dx:110%;--dy:65%}
.ef-island-operations{right:0;top:0;--dx:-110%;--dy:65%}
.ef-island-people{left:0;bottom:0;--dx:110%;--dy:-65%}
.ef-island-finance{right:0;bottom:0;--dx:-110%;--dy:-65%}
.ef-data-cube{position:absolute;left:50%;top:50%;width:65%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:2;mask-image:radial-gradient(ellipse,#000 49%,transparent 72%)}
.ef-data-cube svg{display:block;width:100%;height:100%}
.ef-brand-reveal{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;z-index:4}
.ef-brand-reveal img{display:block;width:78%;max-width:460px;height:auto}
.ef-brand-reveal p{color:#b8dadd;font-size:16px;letter-spacing:.01em;text-align:center;margin:0}
.ef-enhanced .ef-islands-stage .ef-island{animation:ef-island-dissolve 20s cubic-bezier(.35,0,.2,1) both}
.ef-enhanced .ef-islands-stage .ef-data-cube{animation:ef-cube-assemble 20s ease-in-out both}
.ef-enhanced .ef-islands-stage .ef-flow-field{animation:ef-stream-window 20s ease-in-out both}
.ef-enhanced .ef-future-stage .ef-data-cube{animation:ef-cube-morph 16s cubic-bezier(.3,0,.2,1) both}
.ef-enhanced .ef-future-stage .ef-brand-reveal{animation:ef-brand-form 16s cubic-bezier(.3,0,.2,1) both}
.ef-shell:not(.ef-enhanced) .ef-island{opacity:0}.ef-shell:not(.ef-enhanced) .ef-future-stage .ef-data-cube{opacity:0}
.ef-contact{display:flex;align-items:center;gap:22px;margin-top:28px;font-style:normal;padding-top:26px;border-top:1px solid #7fc4d133}
.ef-contact img{width:104px;height:104px;object-fit:cover;border-radius:50%;flex:none;border:1px solid #b7ddd55c}
.ef-contact strong{display:block;font-size:23px;font-weight:600;margin-bottom:4px}
.ef-contact span{display:block;font-size:14px;color:#bdcfd2;margin-bottom:12px}
.ef-contact a{display:block;width:fit-content;font-size:16px;line-height:1.8;text-decoration:none;color:#e0efeb}
.ef-contact a:hover{text-decoration:underline;text-underline-offset:4px}
.ef-finale{height:auto;min-height:380px;border-radius:20px;padding:48px 42px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:linear-gradient(135deg,#174854,#0d303a);isolation:isolate}
.ef-finale-glow{position:absolute;z-index:-1;inset:-50%;background:radial-gradient(ellipse at 60% 45%,#7fc4d135,transparent 55%);animation:ef-final-glow 14s ease-in-out both}
.ef-finale-logo{width:180px;height:auto}
.ef-finale>p{font-size:clamp(25px,2.4vw,38px);font-weight:500;line-height:1.2;letter-spacing:-.03em;color:#e7f4ec;margin:32px 0}
.ef-cta{background:#f7f6f2;color:#0e3540!important;border:2px solid #fff;border-radius:9px;padding:20px 23px;width:100%;font-size:clamp(20px,1.8vw,27px);font-weight:600;line-height:1.25;margin:0;transition:background .2s,transform .2s;box-shadow:0 8px 26px #0003}
.ef-cta:hover{background:#dceef0;transform:translateY(-2px)}.ef-cta>span{font-size:30px}
.ef-chapters>button{color:#abc4ca}
@keyframes ef-flow{to{stroke-dashoffset:-100}}
@keyframes ef-island-dissolve{0%,15%{opacity:1;transform:none;filter:blur(0)}55%,100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.55);filter:blur(6px)}}
@keyframes ef-cube-assemble{0%,12%{opacity:0;transform:translate(-50%,-50%) scale(.65)}65%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes ef-stream-window{0%{opacity:0}15%,54%{opacity:1}78%,100%{opacity:0}}
@keyframes ef-cube-morph{0%,16%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}53%,100%{opacity:0;transform:translate(-73%,-50%) scale(.38);filter:blur(8px)}}
@keyframes ef-brand-form{0%,23%{opacity:0;transform:scale(.9);filter:blur(7px)}60%,100%{opacity:1;transform:scale(1);filter:blur(0)}}
@keyframes ef-final-glow{from{transform:translateX(-5%);opacity:.4}to{transform:translateX(5%);opacity:1}}
@media(max-width:1100px){
  .ef-topbar{height:66px}.ef-scene{padding:30px 28px;gap:30px;grid-template-columns:.95fr 1.05fr}.ef-copy{padding:0}
  .ef-scene h2{font-size:36px}.ef-script{font-size:16px}.ef-model{gap:18px;height:365px}.ef-model-core{width:102px;padding:18px 10px}
  .ef-island{padding:13px 14px}.ef-island strong{font-size:19px}.ef-island small{font-size:9px}.ef-island i{height:17px;margin-top:8px}
  .ef-finale{padding:32px 26px;min-height:345px}.ef-contact{gap:16px}.ef-contact img{width:84px;height:84px}.ef-contact strong{font-size:21px}.ef-contact a{font-size:14px}.ef-contact span{font-size:12px}
}
@media(max-width:760px){
  .ef-topbar{height:64px;padding:0 20px;gap:12px}.ef-topbar>img{width:92px;height:auto}.ef-shell .ef-header-cta{font-size:11px;padding:10px 12px}
  .ef-enhanced .ef-frame{height:calc(100dvh - 215px);min-height:260px}
  .ef-scene,.ef-enhanced .ef-scene{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:30px 24px;gap:32px}
  .ef-copy,.ef-art{flex:none}.ef-copy{max-width:600px}.ef-eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:16px}
  .ef-scene h2{font-size:35px;line-height:1.1;margin-bottom:20px;text-wrap:pretty}.ef-script{font-size:15px;line-height:1.65}
  .ef-scene-entscheiden h2{font-size:clamp(25px,7.5vw,35px)}
  .ef-art{max-width:530px;margin:0 auto;min-height:0;height:auto}.ef-scene-stadt .ef-art{height:auto;min-height:0}.ef-scene .ef-art-title{font-size:22px;margin-bottom:24px;line-height:1.3}
  .ef-city{height:auto;width:106%;margin:0 0 0 -3%;max-height:365px}.ef-source-world{height:320px}
  .ef-doc-c{top:185px;left:3%;width:94%}.ef-doc-c>small{font-size:8px}.ef-source-question{bottom:0}
  .ef-model{height:300px;gap:18px;grid-template-columns:1.1fr .9fr .8fr}.ef-model-core{width:85px;padding:17px 10px}
  .ef-fusion-stage{min-height:265px;aspect-ratio:760/560}.ef-island{width:33%;padding:11px;border-radius:9px}.ef-island>span{font-size:8px}.ef-island strong{font-size:16px;margin:5px 0}.ef-island small{font-size:8px;line-height:1.3;display:block}.ef-island i{height:16px;margin-top:8px}
  .ef-data-cube{width:75%}.ef-brand-reveal{gap:20px}.ef-brand-reveal img{width:87%}.ef-brand-reveal p{font-size:12px}
  .ef-contact{margin-top:25px;padding-top:24px;gap:17px}.ef-contact img{width:88px;height:88px}.ef-contact strong{font-size:22px}.ef-contact span{font-size:12px}.ef-contact a{font-size:14px}
  .ef-finale{min-height:300px;padding:32px 25px;border-radius:14px}.ef-finale-logo{width:160px}.ef-finale>p{font-size:30px;margin:26px 0}.ef-cta{font-size:22px;padding:18px}.ef-cta>span{font-size:25px}
  .ef-shell .ef-button{font-size:11px;min-height:42px}.ef-shell .ef-button.ef-play{min-width:138px}.ef-chapters>button{font-size:10px;padding:10px 12px}
  .ef-shell:not(.ef-enhanced) .ef-scene{min-height:0;padding-bottom:60px}
}
@media(max-width:370px){
  .ef-topbar{padding-inline:14px;gap:9px}.ef-topbar>img{width:70px}.ef-back{font-size:11px;gap:5px}.ef-shell .ef-header-cta{font-size:10px;padding:10px 9px}
  .ef-scene,.ef-enhanced .ef-scene{padding:26px 18px;gap:30px}.ef-scene h2{font-size:31px}.ef-script{font-size:14px}.ef-scene .ef-art-title{font-size:20px}
  .ef-scene-entscheiden h2{font-size:25px}
  .ef-model{gap:12px}.ef-model-core{width:73px;padding-inline:7px}.ef-island{padding:10px}.ef-island strong{font-size:15px}
  .ef-contact{gap:13px}.ef-contact img{width:72px;height:72px}.ef-contact strong{font-size:20px}.ef-contact span{font-size:11px}.ef-contact a{font-size:13px}
  .ef-finale{padding:28px 21px}.ef-cta{font-size:20px;padding:16px}
}
@media(min-width:761px) and (max-height:650px){
  .ef-topbar{height:56px}.ef-enhanced .ef-frame{height:calc(100dvh - 205px);min-height:180px}.ef-scene{align-items:start;padding-top:28px;padding-bottom:35px}.ef-copy,.ef-art{align-self:start}
  .ef-art{transform:none}.ef-scene h2{font-size:32px}.ef-script{font-size:15px}.ef-eyebrow{margin-bottom:16px}
}
@media(prefers-reduced-motion:reduce){
  .ef-shell *,.ef-shell *:before,.ef-shell *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .ef-islands-stage .ef-island,.ef-islands-stage .ef-flow-field,.ef-future-stage .ef-data-cube{opacity:0}
  .ef-islands-stage .ef-data-cube,.ef-brand-reveal{opacity:1;filter:none}
}

/* Restore the original photo finale; retain the clearer appointment button. */
.ef-finale.ef-finale-with-photo{height:430px;min-height:0;display:block;padding:0;background:#0e2a33;border-radius:16px}
.ef-finale-with-photo .ef-cta{margin-top:20px;background:rgba(247,246,242,.88);border-color:rgba(255,255,255,.65)}
.ef-finale-with-photo .ef-cta:hover{background:rgba(247,246,242,.94)}
@media(max-width:760px){.ef-finale.ef-finale-with-photo{height:340px;min-height:0;padding:0;border-radius:11px}.ef-finale-with-photo .ef-cta{margin-top:12px}}

/* Shared film finale: distinguish the Dineso team from the fair contact. */
.ef-scene-gespraech .ef-contact-heading{font-size:11px;line-height:1.6;margin:28px 0 20px;padding-top:26px;border-top:1px solid #7fc4d133}
.ef-scene-gespraech .ef-contact-heading + .ef-contact{margin-top:0;padding-top:0;border-top:0}
@media(max-width:760px){.ef-scene-gespraech .ef-contact-heading{font-size:10px;margin-top:25px;padding-top:24px}}

/* Compact transport and soft, media-clock-driven word emphasis. */
.ef-transport{display:flex;align-items:center;gap:10px;padding:5px 0 10px}
.ef-transport .ef-timeline{flex:1;min-width:0;gap:12px}
.ef-transport .ef-button{flex:0 0 42px;width:42px;min-width:42px;height:42px;padding:8px;display:grid;place-items:center}
.ef-transport .ef-play{font-size:18px}
.ef-voice svg,.ef-transport .ef-fullscreen svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ef-sound-off{display:none}.ef-voice[aria-pressed="false"] .ef-sound-off{display:block}.ef-voice[aria-pressed="false"] .ef-sound-waves{display:none}
.ef-script [data-ef-word]{position:relative;display:inline-block}
.ef-script [data-ef-word]::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:1.5px;border-radius:2px;background:#b9e0d5;opacity:0;transition:opacity 240ms ease-out;pointer-events:none}
.ef-script [data-ef-word].is-speaking::after{opacity:.85;transition-duration:110ms}
.ef-enhanced .ef-frame{height:calc(100dvh - 165px)}
@media(max-width:760px){.ef-transport{gap:5px}.ef-transport .ef-timeline{gap:6px}.ef-transport .ef-time{display:none}.ef-enhanced .ef-frame{height:calc(100dvh - 165px)}}
@media(prefers-reduced-motion:reduce){.ef-script [data-ef-word]::after{transition:none}}

/* Smartphone film: reserve the controls and fit the artwork into the remaining space.
   Keep tablet/desktop rules above intact; short landscape layouts require touch. */
@media (max-width:600px), (max-width:1000px) and (max-height:500px) and (pointer:coarse) {
  .ef-shell.ef-enhanced{height:100dvh;min-height:0;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  .ef-enhanced .ef-topbar{height:48px;min-height:48px;width:100%;padding-inline:max(14px,env(safe-area-inset-left));gap:8px}
  .ef-enhanced .ef-topbar>img{width:72px}
  .ef-enhanced .ef-back{font-size:11px;gap:5px}
  .ef-enhanced .ef-header-cta{font-size:10px;padding:8px}
  .ef-enhanced .ef-frame{height:auto;min-height:0;flex:1;width:100%;touch-action:pan-y pinch-zoom}
  .ef-enhanced .ef-scene{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);padding:14px 18px 10px;gap:12px;overflow:auto;touch-action:pan-y pinch-zoom}
  .ef-enhanced .ef-copy{align-self:start;padding:0;width:100%;max-width:none}
  .ef-enhanced .ef-eyebrow{font-size:9px;line-height:1.3;letter-spacing:.06em;margin:0 0 7px}
  .ef-enhanced .ef-scene h2{font-size:clamp(20px,5.5vw,26px);line-height:1.12;margin:0 0 10px;text-wrap:pretty}
  .ef-enhanced .ef-script{font-size:14px;line-height:1.45;max-width:none}
  .ef-enhanced .ef-scene .ef-art{display:flex;flex-direction:column;align-self:stretch;min-height:0;height:auto;width:100%;margin:0;max-width:none;transform:none}
  .ef-enhanced .ef-scene .ef-art-title{font-size:15px;line-height:1.25;margin:0 0 8px;flex:none}
  .ef-mobile-stage{position:relative;flex:1;min-height:0;width:100%;overflow:clip}
  .ef-mobile-visual{position:absolute;top:50%;left:50%;width:100%;transform:translate(-50%,-50%) scale(var(--ef-fit,1));transform-origin:center}
  .ef-mobile-visual>.ef-city{display:block;width:100%;height:auto;margin:0;max-height:none}
  .ef-mobile-visual>.ef-source-world{height:290px}
  .ef-mobile-visual>.ef-model{height:250px;gap:14px}
  .ef-mobile-visual>.ef-fusion-stage{min-height:0;aspect-ratio:760/500}
  .ef-mobile-visual>.ef-finale-with-photo{height:220px;min-height:0}
  .ef-enhanced .ef-scene-gespraech .ef-contact-heading{font-size:9px;line-height:1.3;margin:12px 0 8px;padding-top:10px}
  .ef-enhanced .ef-contact{margin:0;padding:0;gap:12px}
  .ef-enhanced .ef-contact img{width:52px;height:52px}
  .ef-enhanced .ef-contact strong{font-size:17px;line-height:1.2;margin-bottom:2px}
  .ef-enhanced .ef-contact span{font-size:11px;line-height:1.3;margin-bottom:3px}
  .ef-enhanced .ef-contact a{font-size:12px;line-height:1.5;min-height:24px}
  .ef-enhanced .ef-finale-panel{bottom:14px;left:16px;right:16px}
  .ef-enhanced .ef-finale-panel>strong{font-size:20px;margin:8px 0}
  .ef-enhanced .ef-finale-panel .ef-cta{font-size:17px;padding:12px;margin-top:8px}
  .ef-enhanced .ef-player{position:relative;flex:none;width:100%;padding:0 max(14px,env(safe-area-inset-right)) 4px}
  .ef-enhanced .ef-transport{gap:6px;padding:4px 0}
  .ef-shell.ef-enhanced .ef-transport .ef-button{flex:0 0 42px;min-width:42px;width:42px;height:42px;padding:8px}
  .ef-shell.ef-enhanced .ef-transport .ef-play{font-size:18px}
  .ef-enhanced .ef-feedback.ef-sr{top:0;left:0;margin:0}
  .ef-enhanced .ef-time{display:none}
  .ef-enhanced .ef-chapters{margin:0;padding:0;scrollbar-width:none;min-height:36px}
  .ef-enhanced .ef-chapters::-webkit-scrollbar{display:none}
  .ef-enhanced .ef-chapters>button{flex:none;min-height:36px;padding:8px 10px;font-size:10px}
}
@media (max-width:600px) and (max-height:620px) {
  .ef-enhanced .ef-scene{padding:10px 14px 6px;gap:8px}
  .ef-enhanced .ef-scene h2{font-size:20px;margin-bottom:7px}
  .ef-enhanced .ef-script{font-size:13px;line-height:1.4}
  .ef-enhanced .ef-scene .ef-art-title{font-size:13px;margin-bottom:5px}
}
@media (orientation:landscape) and (max-width:1000px) and (max-height:500px) and (pointer:coarse) {
  .ef-enhanced .ef-topbar{height:40px;min-height:40px}
  .ef-enhanced .ef-scene{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);padding:10px max(18px,env(safe-area-inset-left));gap:20px}
  .ef-enhanced .ef-scene h2{font-size:20px;line-height:1.1;margin-bottom:8px}
  .ef-enhanced .ef-script{font-size:13px;line-height:1.4}
  .ef-enhanced .ef-player{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1fr);gap:14px;align-items:center}
  .ef-enhanced .ef-chapters{border:0}
  .ef-enhanced .ef-scene-gespraech .ef-contact-heading{margin:8px 0 6px;padding-top:6px}
}
@media (orientation:landscape) and (max-width:1000px) and (max-height:360px) and (pointer:coarse) {
  .ef-enhanced .ef-scene{padding-block:6px}
  .ef-enhanced .ef-scene-gespraech .ef-contact-heading{margin:5px 0 4px;padding-top:4px}
  .ef-enhanced .ef-contact a{min-height:22px}
}

/* Fit the content itself, not a fixed-height frame with overflowing children. */
@media (max-width:600px), (max-width:1000px) and (max-height:500px) and (pointer:coarse) {
  .ef-mobile-visual>.ef-source-world{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px 16px 10px}
  .ef-mobile-visual .ef-document{position:relative;top:auto;left:auto;right:auto;width:auto;min-width:0;padding:12px}
  .ef-mobile-visual .ef-document>span,.ef-mobile-visual .ef-document small{font-size:8px}
  .ef-mobile-visual .ef-document strong{font-size:14px;margin:6px 0 10px}
  .ef-mobile-visual .ef-document p{font-size:16px;margin:10px 0 4px}
  .ef-mobile-visual .ef-doc-c{grid-column:1/-1;column-gap:10px}
  .ef-mobile-visual .ef-doc-c>strong{margin:6px 0 0}
  .ef-mobile-visual .ef-doc-c>p{font-size:14px;margin:0}
  .ef-mobile-visual .ef-source-question{position:static;grid-column:1/-1;font-size:12px;line-height:1.4}
  .ef-mobile-visual .ef-source-question strong{font-size:15px}
  .ef-mobile-visual>.ef-model{height:auto;min-height:250px;grid-template-columns:1.15fr .9fr .9fr;gap:14px;padding:12px 4px}
  .ef-mobile-visual .ef-source-stack{gap:12px}
  .ef-mobile-visual .ef-source-stack>span{font-size:11px;padding:10px 8px}
  .ef-mobile-visual .ef-source-stack small{font-size:8px}
  .ef-mobile-visual .ef-model-core{width:82px;padding:15px 8px}
  .ef-mobile-visual .ef-model-core img{width:48px;height:48px;margin-bottom:10px}
  .ef-mobile-visual .ef-model-core span{font-size:10px}
  .ef-mobile-visual .ef-model-result>span{font-size:7px}
  .ef-mobile-visual .ef-model-result strong{font-size:18px;line-height:1.3;margin:10px 0}
  .ef-mobile-visual .ef-model-result small{font-size:8px}
  .ef-mobile-visual .ef-model-layers{transform:scale(.75);transform-origin:left;height:45px;margin-top:13px}
}

/* Desktop height follows the actual header and controls instead of a fixed offset. */
@media (min-width:761px) and (pointer:fine) {
  .ef-shell.ef-enhanced{height:100dvh;min-height:0;display:flex;flex-direction:column}
  .ef-enhanced .ef-topbar{flex:none;width:100%}
  .ef-enhanced .ef-frame{flex:1;min-height:0;height:auto;width:100%}
  .ef-enhanced .ef-player{flex:none;position:relative;width:100%}
  .ef-enhanced .ef-feedback.ef-sr{top:0;left:0;margin:0}
}
