.slide-stack{aspect-ratio:auto}
.slide{display:grid;grid-template-rows:auto minmax(76px,auto);align-content:start}
.slide-photo{grid-area:1/1;aspect-ratio:3/2;height:auto}
.has-service-story>.slide-photo{animation:none!important;transform:none!important}
.service-story{visibility:hidden;position:absolute;inset:0 0 auto;aspect-ratio:3/2;opacity:0;pointer-events:none;background:#0a1c32;transition:opacity .45s;z-index:1}
.service-story>svg{display:block;width:100%;height:100%;overflow:hidden}
.slide>.scene-effects{bottom:auto;aspect-ratio:3/2}
.slide figcaption{grid-area:2/1;position:relative;inset:auto;padding:15px 22px 17px;background:#0a2138;align-self:stretch}
.slide figcaption b{font-size:clamp(.95rem,1.6vw,1.35rem);max-width:100%}
.slide .slide-kicker{font-size:.52rem;margin-bottom:5px}
.story-ready>.service-story{opacity:1;visibility:visible}
.story-ready>.slide-photo{opacity:0;animation:none!important}
.story-ready>.scene-effects{display:none}
.story-end-card{position:absolute;inset:0;z-index:5;opacity:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:25px 18px;text-align:center;color:#effaff;background:radial-gradient(ellipse at 50% 30%,#204c70,#071a30 72%);pointer-events:none}
.story-end-mark{color:#ffd344;font-size:clamp(1.5rem,3vw,2.7rem);line-height:1;text-shadow:0 0 22px #58cfff55}
.story-end-mark .icon{width:clamp(24px,3vw,43px);height:clamp(24px,3vw,43px);color:#ffd344;filter:drop-shadow(0 0 10px #61cfff44)}
.story-end-domain{color:#ffd344;font-size:clamp(1.3rem,3vw,2.7rem);font-weight:800;letter-spacing:-.025em;line-height:1.15}
.story-end-card strong{font-size:clamp(1rem,1.6vw,1.35rem);font-weight:700;line-height:1.35;max-width:96%}
.story-end-service{font-size:clamp(.8rem,1.1vw,1rem);color:#bcd7e8;line-height:1.4}
.story-end-phone{display:block;margin-top:8px;font-size:clamp(.87rem,1.4vw,1.15rem);font-weight:750;color:#f0f7fc;border-top:1px solid #79d6ff44;padding:12px 30px 0}
.cinematic-story [data-stage-label],.cinematic-story [data-bubble-customer],.cinematic-story [data-bubble-technician],.cinematic-story [data-battery] text,.cinematic-story [data-location] text{display:none}
.slide-corner-copy{position:absolute;top:3%;left:3%;max-width:85%;padding:8px 13px;border:1px solid #79d6ff5e;border-radius:9px;background:#07192eeb;color:#eff9ff;font-size:clamp(.85rem,1.25vw,1.05rem);font-weight:750;line-height:1.35;z-index:3;overflow-wrap:anywhere}
.story-speech{position:absolute;opacity:0;top:6%!important;left:50%!important;transform:translateX(-50%);width:420px;max-width:calc(100% - 32px);border:1px solid #c6e1ed;border-radius:22px 22px 22px 6px;background:linear-gradient(135deg,#fff,#eef9ff);color:#122d46;line-height:1.4;padding:15px 19px 11px;text-align:left;box-shadow:0 12px 32px #00132755,0 0 0 4px #eef9ff18;z-index:3;box-sizing:border-box}
.story-speech:after{content:"";position:absolute;left:29px;bottom:-12px;width:24px;height:15px;background:#eef9ff;clip-path:polygon(0 0,100% 0,12% 100%)}
.technician-speech{border-color:#82dcff;background:linear-gradient(135deg,#ebfaff,#d7f2ff);border-radius:22px 22px 6px 22px}
.technician-speech:after{left:auto;right:29px;background:#d7f2ff;transform:scaleX(-1)}
.story-message-head{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;line-height:1.25;color:#21465f}
.story-message-avatar{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border-radius:50%;background:#1b4867;color:#fff;font-size:18px;box-shadow:0 2px 8px #0c375633}
.technician-speech .story-message-avatar{background:#143952;color:#ffd344}
.story-message-head small{display:block;margin-top:2px;font-size:10px;font-weight:600;color:#52758a}
.story-message-dots{margin-left:auto;display:flex;gap:4px}.story-message-dots i{display:block;width:4px;height:4px;border-radius:50%;background:#79a6bc}
.story-message-copy{display:block;font-size:clamp(18px,1.55vw,22px);font-weight:750;line-height:1.4;margin:10px 0 6px;overflow-wrap:anywhere}
.story-message-foot{display:block;font-size:10px;letter-spacing:.015em;color:#547488;text-align:right;font-weight:600}
.story-shot-cut{position:absolute;inset:0;background:#071a30;opacity:0;z-index:4;pointer-events:none}
.story-speech.is-approval{top:auto!important;bottom:7%;left:27%!important;max-width:43%;width:370px}
@media(max-width:760px){.story-speech.is-approval{top:auto!important;bottom:9px;left:50%!important;max-width:calc(100% - 24px);width:420px}.story-speech.is-approval .story-message-head,.story-speech.is-approval .story-message-foot{display:none}.story-speech.is-approval .story-message-copy{margin:2px 0;font-size:16px;text-align:center}}
@media(max-width:760px){.story-speech{top:9px!important;max-width:calc(100% - 24px);padding:10px 13px 8px;border-radius:17px 17px 17px 5px}.technician-speech{border-radius:17px 17px 5px 17px}.story-message-head{font-size:12px;gap:8px}.story-message-avatar{width:29px;height:29px;flex-basis:29px;font-size:16px}.story-message-head small{font-size:9px}.story-message-copy{font-size:17px;line-height:1.35;margin:7px 0 5px}.story-message-foot{font-size:9px}}
.story-meter-label,.story-location-label{position:absolute;right:3%;top:33%;width:23%;opacity:0;text-align:center;font-size:clamp(.75rem,1.5vw,1.05rem);line-height:1.3;font-weight:750;padding:5px 3px;border-radius:7px;background:#0b293e;color:#e5faff;z-index:2}
.story-location-label{width:26%;top:32%;background:#133750}
.page-hidden .energy-field i{animation-play-state:paused!important}
.fx-background .energy-field{opacity:.92;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 2%,transparent 7%,transparent 93%,#000 98%,#000 100%);mask-image:linear-gradient(90deg,#000 0,#000 2%,transparent 7%,transparent 93%,#000 98%,#000 100%)}
.energy-field i{width:155px;height:2px;background:linear-gradient(90deg,transparent,#31bdff,#e6fcff,#ffe35c,transparent);box-shadow:0 0 8px #56d5ff,0 0 20px #219be8;animation:edge-energy-v3 6.4s ease-in-out infinite}
.energy-field i:after{content:"";position:absolute;left:44%;top:-48px;width:24px;height:108px;background:linear-gradient(180deg,#9be8ff,#eaffff 40%,#ffd957);clip-path:polygon(63% 0,31% 39%,53% 42%,18% 81%,45% 72%,38% 100%,83% 53%,61% 55%,84% 17%,57% 29%);filter:drop-shadow(0 0 5px #55ceff);opacity:.8}
.energy-field i:nth-child(2n){animation-duration:7.2s}
.energy-field i:nth-child(3n){animation-duration:5.8s}
@keyframes edge-energy-v3{0%,8%,55%,100%{opacity:0;translate:0 0}19%{opacity:.75}30%{opacity:.95}44%{opacity:.4;translate:0 72px}55%{translate:0 115px}}
@media(max-width:760px){.fx-background .energy-field{opacity:.68;-webkit-mask-image:linear-gradient(90deg,#000,transparent 6%,transparent 94%,#000);mask-image:linear-gradient(90deg,#000,transparent 6%,transparent 94%,#000)}.energy-field i:nth-child(-n+4){display:block}.energy-field i:nth-child(n+5){display:none}.energy-field i{height:1.5px;box-shadow:0 0 7px #56d5ff,0 0 12px #219be8}.energy-field i:after{width:17px;height:85px;top:-40px}.slide figcaption b{font-size:1.15rem}}
@media(max-width:480px){.slide{grid-template-rows:auto minmax(70px,auto)}.slide figcaption{padding:13px 14px 14px}.slide figcaption b{font-size:1rem}.slide .slide-kicker{font-size:.5rem;margin-bottom:4px}}

/* Branched lightning stays in the page gutters and respects the existing switch. */
.fx-background .energy-field{opacity:.9;-webkit-mask-image:linear-gradient(90deg,#000, #000 1.4%,transparent 7%,transparent 93%,#000 98.6%,#000);mask-image:linear-gradient(90deg,#000,#000 1.4%,transparent 7%,transparent 93%,#000 98.6%,#000)}
.energy-field i{width:104px;height:224px;background:none;box-shadow:none;animation:edge-lightning-r5 7.8s ease-in-out infinite;transform-origin:center;translate:none}
.energy-field i:after{display:none}
.energy-field i svg{width:100%;height:100%;overflow:visible}
.energy-field path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.bolt-halo{stroke:#25b9ff;stroke-width:9;filter:blur(5px);opacity:.65}
.bolt-main{stroke:#58d8ff;stroke-width:3.5}
.bolt-core{stroke:#f5fcff;stroke-width:1.25}
.bolt-branches{stroke:#ffda62;stroke-width:1.3;opacity:.85}
.energy-field i:nth-child(2n){animation-duration:8.6s}.energy-field i:nth-child(3n){animation-duration:9.3s}
@keyframes edge-lightning-r5{0%,8%,46%,100%{opacity:0}14%{opacity:.4}20%,29%{opacity:.95}39%{opacity:.3}}
@media(max-width:760px){.energy-field i{width:62px;height:144px}.fx-background .energy-field{opacity:.65;-webkit-mask-image:linear-gradient(90deg,#000,transparent 6%,transparent 94%,#000);mask-image:linear-gradient(90deg,#000,transparent 6%,transparent 94%,#000)}.bolt-halo{stroke-width:7;filter:blur(3px)}}
@media(max-width:480px){.story-end-card{gap:7px;padding:15px 13px}.story-end-phone{margin-top:2px;padding-top:8px}}

/* Preview only — no production-site files are changed. */
.story-approval-copy{position:absolute;top:26%;right:3%;width:49%;color:#f7fbff;opacity:0;z-index:3;line-height:1.3;text-align:left;pointer-events:none}
.story-approval-copy>span{display:block;font-size:clamp(13px,2.7vw,30px);font-weight:800;letter-spacing:-.02em;color:#ffd344;margin-bottom:24px}
.story-approval-copy strong{display:block;font-size:clamp(17px,3.3vw,40px);font-weight:800;line-height:1.2;letter-spacing:-.025em}
.story-approval-copy em{font-style:normal;color:#ffd344}.story-approval-copy p{font-size:clamp(12px,1.9vw,23px);line-height:1.4;color:#e4f2ff;margin-top:20px}
.story-end-card{left:49%;right:3%;top:17%;bottom:10%;padding:0;text-align:left;align-items:flex-start;background:none;gap:24px}
.story-end-mark,.story-end-phone{display:none}.story-end-domain{font-size:clamp(14px,2.8vw,33px)}.story-end-card strong{font-size:clamp(18px,3.6vw,43px);line-height:1.25;color:#f9fcff}.story-end-service{font-size:clamp(12px,1.9vw,23px);color:#dbefff}
@media(max-width:600px){.story-approval-copy{top:22%;right:3%;width:48%}.story-approval-copy>span{margin-bottom:12px}.story-approval-copy p{margin-top:12px}.story-end-card{top:21%;gap:13px}.story-message-copy{font-size:16px}.story-message-head{font-size:11px}.story-message-head small,.story-message-foot{display:none}.story-speech{max-width:calc(100% - 32px);width:390px;padding:10px 13px}.story-message-copy{margin:5px 0}.story-message-avatar{width:24px;height:24px;flex-basis:24px;font-size:14px}}

/* Refined brand cards, with a quiet background instead of floating lettering. */
.story-approval-copy,.story-end-card{box-sizing:border-box;background:linear-gradient(135deg,#102b46f2,#091c32e8);border:1px solid #96bfd14a;border-top:3px solid #ffd344;border-radius:20px;box-shadow:0 16px 40px #020b1938;padding:27px 25px}
.story-approval-copy{top:22%;width:48%}.story-approval-copy>span,.story-end-domain{font-size:clamp(13px,2.5vw,30px);font-weight:800;letter-spacing:-.035em;line-height:1.2;color:#f6fbff;white-space:nowrap}
.story-approval-copy>span b,.story-end-domain>span{color:#ffd344;font-weight:800}
.story-approval-copy strong{font-size:clamp(16px,3.05vw,36px);line-height:1.22;letter-spacing:-.025em}.story-approval-copy>span{margin-bottom:23px}.story-approval-copy p{font-size:clamp(11px,1.6vw,19px);margin-top:20px;color:#dcebf6}
.story-end-card{top:22%;bottom:auto;gap:22px}.story-end-card strong{font-size:clamp(17px,3.25vw,39px);line-height:1.24}.story-end-service{font-size:clamp(11px,1.6vw,19px)}
@media(max-width:600px){.story-approval-copy,.story-end-card{border-radius:12px;border-top-width:2px;padding:14px 12px;top:17%}.story-approval-copy>span{margin-bottom:13px}.story-approval-copy p{margin-top:12px}.story-end-card{gap:14px}.story-end-card strong{font-size:17px}.story-approval-copy strong{font-size:16px}}

/* Slightly larger final typography; compact scaling keeps narrow phones readable. */
.story-approval-copy>span,.story-end-domain{font-size:clamp(14px,2.75vw,33px)}
.story-approval-copy strong{font-size:clamp(18px,3.4vw,41px)}.story-end-card strong{font-size:clamp(19px,3.55vw,43px)}
.story-approval-copy p,.story-end-service{font-size:clamp(12px,1.75vw,21px)}
@media(max-width:600px){.story-approval-copy>span,.story-end-domain{font-size:clamp(11px,3.5vw,14px)}.story-approval-copy strong{font-size:clamp(16px,4.6vw,18px)}.story-end-card strong{font-size:clamp(17px,4.9vw,19px)}.story-approval-copy p,.story-end-service{font-size:clamp(10.5px,3.1vw,12px)}}
@media(max-width:360px){.story-approval-copy,.story-end-card{padding:11px 10px;top:14%}.story-approval-copy>span{margin-bottom:9px}.story-approval-copy p{margin-top:9px}.story-end-card{gap:10px}}

/* Each speech tail follows its own speaker instead of a shared centre point. */
.story-speech{left:var(--bubble-x,50%)!important;top:var(--bubble-y,6%)!important;bottom:auto;width:390px;max-width:calc(100% - 24px)}
.story-speech:after,.technician-speech:after{left:var(--tail-x,50%);right:auto;bottom:-13px;width:23px;height:14px;transform:translateX(-50%);clip-path:polygon(0 0,100% 0,50% 100%)}
@media(max-width:600px){.story-speech{width:260px;max-width:calc(100% - 24px)}.story-message-copy{font-size:16px;line-height:1.35}.story-message-head{gap:7px}}
.story-speech:after,.technician-speech:after{display:none}
@media(max-width:600px){.story-speech{width:280px;padding:8px 12px}.story-message-avatar{width:20px;height:20px;flex-basis:20px;font-size:12px}.story-message-head{line-height:1.15}.story-message-copy{margin:5px 0 2px}}

/* Domain lettering follows the scene/card width, including a narrow desktop column. */
.service-story{container-type:inline-size}
.story-approval-copy>span,.story-end-domain{display:block;max-width:100%;font-size:clamp(11px,2.75cqw,33px);white-space:nowrap;letter-spacing:-.035em}

.slide-photo>img{display:block;width:100%;height:100%;object-fit:contain}

/* R15: isolate the cinematic canvas from its independent caption row. */
.has-service-story>.story-media-frame{grid-area:1/1;position:relative;width:100%;aspect-ratio:auto;min-width:0;overflow:hidden;isolation:isolate;background:#0a1c32}
.has-service-story>.story-media-frame:before{content:"";display:block;padding-top:66.666667%}
.story-media-frame>.slide-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;animation:none!important;transform:none!important}
.story-media-frame>.service-story{inset:0;width:100%;height:100%;aspect-ratio:auto}
.story-ready .story-media-frame>.service-story{visibility:visible;opacity:1}
.story-ready .story-media-frame>.slide-photo{opacity:0}
.has-service-story .story-media-frame>.scene-effects{display:none}
.has-service-story>figcaption{grid-area:2/1;position:relative!important;inset:auto!important;z-index:2;margin:0;padding:15px 20px 17px;background:#0a2138;min-width:0}
.has-service-story>figcaption b{font-size:clamp(15px,1.45vw,20px);line-height:1.4;overflow-wrap:break-word;max-width:100%}
/* Card text follows its scene width, including narrow desktop columns. */
.service-story .story-approval-copy,.service-story .story-end-card{padding:clamp(12px,2cqw,25px);border-radius:clamp(12px,1.6cqw,20px)}
.service-story .story-approval-copy strong{font-size:clamp(16px,3.4cqw,41px);line-height:1.22}
.service-story .story-end-card strong{font-size:clamp(17px,3.55cqw,43px);line-height:1.24}
.service-story .story-approval-copy p,.service-story .story-end-service{font-size:clamp(11px,2.1cqw,21px);line-height:1.4}
.service-story .story-approval-copy>span{margin-bottom:clamp(10px,1.8cqw,23px)}
.service-story .story-approval-copy p{margin-top:clamp(10px,1.7cqw,20px)}
.service-story .story-end-card{gap:clamp(10px,1.8cqw,22px)}
@media(max-width:480px){.has-service-story>figcaption{padding:13px 14px 15px}.has-service-story>figcaption b{font-size:15px}}
