/* One continuous rail ties each sequence together. */
.service-tabs .service-rail>i{display:block;opacity:1;margin:0}
.precision-art,.service-theatre[data-chapter] .precision-art{inset:0;scale:1;filter:none;transform:translateY(var(--precision-pan,0px)) scale(1.06);transition:none}.precision-art img{position:absolute;inset:0;opacity:0;transform:scale(1.075);transition:opacity 1.25s ease,transform 8s cubic-bezier(.16,.5,.35,1);object-position:70% center}.precision-art img.is-active{opacity:1;transform:scale(1)}.service-panel{animation:serviceCinemaIn .9s cubic-bezier(.16,1,.3,1) both}.service-panel h3{animation:serviceTitleIn 1s cubic-bezier(.16,1,.3,1) both}.service-panel>p{animation:serviceCinemaIn .9s .1s both}.service-book{animation:serviceCinemaIn .9s .18s both}.service-tabs{gap:0;border-top:1px solid #ffffff35}.service-tabs button{border:0;padding-left:22px;padding-right:22px}.service-tabs button:first-of-type{padding-left:0}.service-tabs button:before{display:none}.service-rail{position:absolute;left:0;right:0;top:-2px;height:3px;pointer-events:none}.service-rail>i{position:absolute;left:var(--rail-x,0px);width:var(--rail-width,25%);height:2px;top:0;background:linear-gradient(90deg,#75b7e580,#c9ecff,#75b7e560);box-shadow:0 0 16px #75b7e58a;transition:left .95s cubic-bezier(.16,1,.3,1),width .95s cubic-bezier(.16,1,.3,1)}.service-rail>i:after{content:'';position:absolute;inset:0;background:#f1fbff;transform:scaleX(var(--slide-progress,0));transform-origin:left;box-shadow:0 0 12px 2px #75b7e5;opacity:.8}.service-autoplay{display:flex;gap:9px;align-items:center;position:absolute;right:7%;top:70px;z-index:3;padding:9px 12px;border:1px solid #ffffff25;border-radius:30px;background:#070d1580;color:#d0dce7;font-size:10px;letter-spacing:.6px;backdrop-filter:blur(12px)}.service-autoplay span{color:var(--accent);font-size:12px}.service-theatre.is-paused .service-rail>i:after{opacity:0}.service-tabs [aria-selected=true]{text-shadow:0 0 22px #75b7e560}.service-tabs button:hover{color:#e0f3ff}.promise-grid{position:relative;border-top:1px solid #ffffff35;--promise-x:0%;--promise-width:33.333%}.promise-grid .promise:before{display:none}.promise-rail{position:absolute;top:-2px;left:0;right:0;height:3px;pointer-events:none}.promise-rail i{position:absolute;top:0;left:var(--promise-x);width:var(--promise-width);height:2px;background:linear-gradient(90deg,#75b7e525,#d8f4ff,#75b7e560);box-shadow:0 0 17px #75b7e58a;transition:left 1s cubic-bezier(.16,1,.3,1),width 1s}.promise-grid .promise{transition:background .8s}.promise.is-current{background:#75b7e50a}.promise.is-current>span{color:#75b7e529;-webkit-text-stroke-color:#a3d9ff}.promise.is-current h3{text-shadow:0 0 28px #75b7e53b}.promise-grid .promise>span,.promise-grid h3{transition:color .7s,text-shadow .7s,-webkit-text-stroke-color .7s}
@keyframes serviceCinemaIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes serviceTitleIn{from{opacity:0;transform:translateY(25px);clip-path:inset(0 0 24% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@media(max-width:700px){.precision-art{inset:0}.precision-art img{object-position:64% center;opacity:0}.precision-art img.is-active{opacity:.8}.service-tabs{grid-template-columns:repeat(4,minmax(0,1fr));left:6%;right:6%;padding-bottom:20px}.service-tabs button,.service-tabs button:first-of-type{padding:22px 5px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:10px;line-height:1.5}.service-tabs i{display:none}.service-tabs button>span{font-size:9px}.service-panel{padding-bottom:180px}.service-autoplay{right:6%;top:59px;font-size:9px;padding:8px 10px}.service-theatre{min-height:745px}.promise-grid{border-top:0;border-left:1px solid #ffffff35}.promise-grid .promise{border-top:0}.promise-rail{top:0;bottom:0;left:-2px;right:auto;width:3px;height:auto}.promise-rail i{left:0;top:var(--promise-y,0px);width:2px;height:var(--promise-height,33.333%);background:linear-gradient(#75b7e525,#d8f4ff,#75b7e560);transition:top 1s cubic-bezier(.16,1,.3,1),height 1s}.service-panel h3{font-size:14.5vw}}
@media(prefers-reduced-motion:reduce){.precision-art img,.service-rail>i,.promise-rail i{transition:none!important;transform:none!important}.service-panel,.service-panel h3,.service-panel>p,.service-book{animation:none!important}}.no-motion .precision-art img{transform:none!important}
/* Light spills beyond the active chapter and fades into the surrounding rail. */
.service-rail,.promise-rail{overflow:visible;--light-bleed:clamp(22px,4.5vw,70px)}
.service-rail>i{left:calc(var(--rail-x,0px) - var(--light-bleed));width:calc(var(--rail-width,25%) + var(--light-bleed) + var(--light-bleed))}
.promise-rail i{left:calc(var(--promise-x) - var(--light-bleed));width:calc(var(--promise-width) + var(--light-bleed) + var(--light-bleed))}
.service-rail>i,.promise-rail i{background:linear-gradient(90deg,transparent 0%,#75b7e518 12%,#75b7e590 32%,#75b7e5 50%,#75b7e590 68%,#75b7e518 88%,transparent 100%);box-shadow:none;filter:drop-shadow(0 0 5px #75b7e595)}
.service-rail>i:before,.promise-rail i:before{content:'';position:absolute;inset:-10px -12px;background:radial-gradient(ellipse at center,#75b7e550 0%,#75b7e522 30%,transparent 72%);filter:blur(7px);pointer-events:none}
.service-rail>i:after{background:linear-gradient(90deg,transparent,#75b7e5 35%,#9ad4ff 65%,transparent);box-shadow:none;filter:drop-shadow(0 0 5px #a9dfff);border-radius:50%}
@media(max-width:700px){.promise-rail i{left:0;top:calc(var(--promise-y,0px) - 32px);width:2px;height:calc(var(--promise-height,33.333%) + 64px);background:linear-gradient(transparent,#75b7e518 12%,#75b7e590 32%,#75b7e5 50%,#75b7e590 68%,#75b7e518 88%,transparent)}.promise-rail i:before{inset:-12px -10px}}
/* The neutral track fades independently, preserving the blue glow. */
.service-tabs,.promise-grid{border-top-color:transparent}
.service-rail:before,.promise-rail:before{content:'';position:absolute;left:0;right:0;top:1px;height:1px;background:linear-gradient(90deg,transparent 0%,#ffffff12 8%,#ffffff35 22%,#ffffff35 78%,#ffffff12 92%,transparent 100%);pointer-events:none}
@media(max-width:700px){.promise-grid{border-left-color:transparent}.promise-rail:before{left:1px;right:auto;top:0;bottom:0;width:1px;height:auto;background:linear-gradient(180deg,transparent 0%,#ffffff12 8%,#ffffff35 22%,#ffffff35 78%,#ffffff12 92%,transparent 100%)}}
/* Equal, viewport-wide halves keep the ribbon full throughout the loop. */
.kinetic-strip>.marquee-track{gap:0;animation:marquee 40s linear infinite}
.kinetic-strip .marquee-group{display:flex;align-items:center;justify-content:space-around;gap:42px;padding-right:42px;min-width:100vw;flex-shrink:0;white-space:nowrap}
.kinetic-strip .marquee-group>span,.kinetic-strip .marquee-group>i{flex-shrink:0}
@media(max-width:700px){.kinetic-strip .marquee-group{gap:23px;padding-right:23px}}
.no-motion .kinetic-strip>.marquee-track{animation:none}
@media(prefers-reduced-motion:reduce){.kinetic-strip>.marquee-track{animation:none}}