/* Copy experiment only. The root stylesheet and all approved artwork are shared. */
:root{--blue:#0040F7}
h1{font-size:clamp(48px,5.05vw,86px)}
.normal-copy .intro{max-width:420px}
.normal-copy .eyebrow{letter-spacing:.13em}
.button:hover{background:var(--blue);box-shadow:0 8px 28px #0040f730}
.dream-copy>p:last-child{max-width:440px;margin:0 auto;line-height:1.6}
.resolve-copy>p:last-child{max-width:550px}
.section-heading{grid-template-columns:1.2fr 1fr;gap:0 8%}
.service-tag{max-width:245px;line-height:1.5}
.service-actors{pointer-events:none}
.actor{padding:0;overflow:visible;pointer-events:auto;backdrop-filter:none;border:0;border-radius:5px}
.actor-panel{position:absolute;left:0;top:0;width:100%;min-height:100%;border:1px solid #dadee8;border-radius:5px;background:inherit;color:inherit;backdrop-filter:blur(12px);box-shadow:0 10px 35px #12162904;transition:width .32s cubic-bezier(.22,.8,.25,1),box-shadow .32s,border-color .32s;overflow:hidden}
.actor-trigger{width:100%;padding:13px 15px;border:0;border-radius:inherit;background:transparent;color:inherit;text-align:left;display:block;touch-action:pan-y}
.actor strong{font-size:16px;margin-top:12px;line-height:1.15}
.actor-description{display:block;font-size:12px;line-height:1.4;color:#656b77;margin-top:7px}
.actor-number{font-size:10px}
.actor-symbol{color:var(--blue);transition:transform .32s}
.actor-detail{max-height:0;opacity:0;transition:max-height .32s cubic-bezier(.22,.8,.25,1),opacity .25s;}
.actor-detail p{font-size:13px;line-height:1.55;padding:0 15px 16px;margin:0}
.actor-wire{position:absolute;bottom:8px;left:15px;right:15px;pointer-events:none}
.actor.is-expanded{z-index:18}
.actor.is-expanded .actor-panel{width:clamp(180px,16vw,230px);border-color:var(--blue);box-shadow:0 0 0 1px #0040f740,0 12px 32px #0040f728;backdrop-filter:blur(22px)}
.actor.is-expanded .actor-detail{max-height:210px;opacity:1}
.actor.is-expanded .actor-symbol{transform:rotate(45deg)}
.actor.expand-up .actor-panel{top:auto;bottom:0}
.actor.expand-left .actor-panel{left:auto;right:0}
.actor-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}
.is-dream .actor-panel{border-color:#0040f77a;background:rgba(6,13,34,.93)}
.is-dream .actor-description{color:#c4c9d4}
.is-dream .actor-detail{color:#e1e4eb}
.reduced-motion .actor-panel,.reduced-motion .actor-detail,.reduced-motion .actor-symbol{transition:none}
@media(min-width:701px) and (max-height:800px){h1{font-size:min(5.05vw,72px)}.hero-note{margin-top:18px}.execution-note{top:21%}.execution-note h3{margin-bottom:14px}.execution-note ol{margin-top:15px}.execution-note li{padding-top:12px;padding-bottom:12px}}
@media(max-width:1150px) and (min-width:701px){.normal-copy{width:60%}.actor.is-expanded .actor-panel{width:205px}.dream-copy>p:last-child{max-width:38%}}
@media(max-width:700px){
 h1{font-size:clamp(34px,8.7vw,60px)}
 .normal-copy{top:14%}.normal-copy .eyebrow{font-size:8px;line-height:1.5;max-width:90%}
 .normal-copy .intro{max-width:330px;font-size:13px}.normal-copy .button{padding:11px 17px}
 .dream-copy{top:17%}.dream-copy>p:last-child{max-width:80%;font-size:11px;letter-spacing:0;line-height:1.6}
 .actor-trigger{padding:10px 11px}.actor strong{font-size:14px;margin-top:8px}.actor-description{font-size:11px;margin-top:6px}.actor-number{font-size:9px}
 .actor-detail p{font-size:12px;padding:0 11px 12px;line-height:1.45}
 .actor.is-expanded .actor-panel{width:100%}.actor.is-expanded .actor-detail{max-height:240px}
 .resolve-copy{top:17%}.resolve-copy>p:last-child{max-width:95%;font-size:13px}
 .execution-note{top:80%;left:6%;right:6%}.execution-note li span{font-size:9px}.execution-note li{padding-top:8px}.execution-note li::before{display:none}.execution-note strong{font-size:11px}
 .capabilities .section-heading>p:last-child{max-width:none}.service-tag{display:none}
 .site-footer>span:nth-child(2){display:block}
}
/* V2 dream materials and local interaction surfaces. */
.stage-footer{display:none}
.actor{transition:translate .45s cubic-bezier(.2,.8,.2,1)}
.actor-panel{background:var(--card-fill,#fff)!important;box-shadow:0 0 calc(var(--energy,0)*32px) #0040f78c;isolation:isolate}
.actor-description,.actor-detail{color:var(--card-copy,#656b77)!important}
.actor-panel:before{content:'';position:absolute;inset:-60%;z-index:-1;pointer-events:none;background:conic-gradient(from 0deg,transparent,#0040f7,transparent 42%,#0040f7,transparent 80%);opacity:calc(var(--energy,0)*.5);filter:blur(20px);animation:electric-orbit 7s linear infinite;animation-delay:var(--wave-delay)}
.is-dream .actor:not(.is-expanded) .actor-panel{animation:liquid-edge 4s ease-in-out infinite alternate;animation-delay:var(--wave-delay);border-color:#0040f7}
.actor.is-expanded .actor-panel{border-radius:8px;animation:none}
.electric-cursor{position:fixed;z-index:100;pointer-events:none;width:44px;height:44px;margin:-22px;border-radius:43% 57% 61% 39%;border:1px dashed #7499ff;box-shadow:0 0 14px #0040f7,inset 0 0 13px #0040f7;opacity:0;animation:electric-orbit 2s linear infinite;mix-blend-mode:screen}
.electric-cursor:after{content:'';position:absolute;inset:7px -7px;border-radius:50%;border-top:2px solid #adc3ff;border-bottom:1px solid #0040f7;transform:rotate(55deg);filter:drop-shadow(0 0 4px #0040f7)}
@keyframes electric-orbit{to{transform:rotate(360deg)}}
@keyframes liquid-edge{0%{border-radius:7% 3% 9% 4% / 9% 6% 13% 5%}50%{border-radius:3% 9% 4% 8% / 5% 14% 6% 12%}100%{border-radius:10% 4% 7% 3% / 14% 5% 11% 6%}}
.reduced-motion .actor,.reduced-motion .actor-panel:before,.reduced-motion .actor-panel,.reduced-motion .electric-cursor{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.actor-panel:before,.electric-cursor{animation:none!important}.actor{transition:none}}
/* The local solver owns offsets; avoid a second CSS easing feedback loop. */
.actor{transition:none;user-select:none}
.is-dream .actor-trigger{touch-action:none}
.actor-panel{transition:width .32s cubic-bezier(.22,.8,.25,1),box-shadow .32s,border-color .32s,border-radius .4s}
.actor.is-dragging{z-index:25}
.glass-cursor{position:fixed;z-index:100;pointer-events:none;transform:translate(-50%,-50%);border-radius:50%;opacity:0;background:radial-gradient(circle at 32% 24%,#ffffff05,transparent 48%);border:1px solid #ffffff19;box-shadow:inset 2px 2px 5px #ffffff14,inset -2px -2px 5px #00132a16,0 2px 8px #00000006;backdrop-filter:url(#glass-refraction);transition:opacity .25s}
.glass-cursor:after{content:'';position:absolute;inset:2px;border-radius:50%;border-top:1px solid #ffffff1c;border-bottom:1px solid #a9c9ff0a;transform:rotate(-35deg)}
.glass-pointer .stage,.glass-pointer .stage *{cursor:none!important}
@media(prefers-reduced-motion:reduce){.glass-cursor{display:none}.actor-panel{transition:none}}
/* Keep one text measure throughout opening. Only the reveal height animates. */
.actor.is-expanded .actor-panel{width:100%}
.actor-panel{transition:box-shadow .32s,border-color .32s,border-radius .4s}
.actor-detail{height:0;max-height:none;transition:height .36s cubic-bezier(.22,.8,.25,1),opacity .25s;overflow:hidden}
.actor.is-expanded .actor-detail{max-height:none}
.glass-cursor{animation:glass-ripple 7s ease-in-out infinite alternate}
.glass-cursor:after{border-radius:inherit}
@keyframes glass-ripple{0%{border-radius:48% 52% 49% 51% / 51% 48% 52% 49%}50%{border-radius:52% 48% 51% 49% / 48% 52% 49% 51%}100%{border-radius:49% 51% 48% 52% / 52% 49% 51% 48%}}
.reduced-motion .glass-cursor{animation:none}
/* Only the annulus refracts. Its clear centre never composites a second text layer. */
.glass-cursor{backdrop-filter:none;background:none;border:0;box-shadow:none}
.glass-cursor:after{display:none}
.glass-rim,.glass-electric{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:var(--formation,0)}
.glass-rim{border:1px solid #ffffff25;box-shadow:inset 2px 2px 6px #ffffff15;mask-image:radial-gradient(circle,transparent 0 44%,#000 63%);backdrop-filter:none}
.refracting .glass-rim{backdrop-filter:url(#glass-refraction)}
.glass-electric{inset:-1px;border:1px solid transparent;background:conic-gradient(from 0deg,transparent 0 64%,#0040f735 73%,#8aafff90 77%,transparent 83%) border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:electric-orbit 5s linear infinite;filter:drop-shadow(0 0 2px #0040f735)}
.cursor-seed{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(calc(1 - var(--formation,0)*.65));font:19px Arial;color:#fff;text-shadow:0 1px 2px #0008;opacity:calc(1 - var(--formation,0))}
.actor-wire{display:none!important}
.actor-panel,.actor.is-expanded .actor-panel{backdrop-filter:none}
.build-rest{background:#fff;position:relative}
.build-rest-stage{height:100svh;min-height:650px;position:relative;overflow:hidden}
.build-rest-stage .resolve-copy,.build-rest-stage .execution-note{opacity:1!important;visibility:visible}
.build-rest-stage .actor-panel{background:#fff!important;box-shadow:none;border-color:#dadee8}
.build-rest-stage .actor-symbol{display:none}
@media(max-width:700px){.build-rest-stage{min-height:690px}}
.reduced-motion .glass-electric{animation:none}
.build-rest-stage .service-actors{position:absolute;inset:auto;left:7%;top:49%;width:49%;display:grid;grid-template-columns:1fr 1fr;gap:12px;pointer-events:none}
.build-rest-stage .actor{position:relative!important;transform:none!important;translate:none!important;width:100%!important;height:96px!important}
@media(max-width:700px){.build-rest-stage .service-actors{left:4%;top:39%;width:92%;gap:10px}.build-rest-stage .actor{height:94px!important}}
.glass-cursor{position:absolute;z-index:12}
.stage>.portal{position:absolute;z-index:11}
.stage .actor{z-index:14}
.stage .actor.is-expanded{z-index:18}
.stage .actor.is-dragging{z-index:25}
.dream-wave{position:absolute;z-index:12;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%);backdrop-filter:url(#glass-refraction);mask-image:radial-gradient(circle,transparent calc(70.7% - 42px),#000 calc(70.7% - 24px),transparent 70.7%);background:radial-gradient(circle,transparent calc(70.7% - 26px),#0040f735 calc(70.7% - 22px),transparent calc(70.7% - 17px));}
.reduced-motion .dream-wave{display:none}
/* Narration uses the existing copy footprint and scene progress. */
.dream-copy .narrative-opening,.dream-copy .narrative-meaning{position:absolute;left:50%;top:27%;transform:translateX(-50%);width:42%;max-width:580px;margin:0;font-size:clamp(15px,1.6vw,24px);line-height:1.55;letter-spacing:.13em;text-align:center;color:#edf3ff;opacity:0}
.dream-copy{padding-top:34px;padding-bottom:38px}
.dream-copy .narrative-climax{opacity:0}
@media(max-width:700px){.dream-copy .narrative-opening,.dream-copy .narrative-meaning{width:86%;max-width:none;font-size:14px;line-height:1.7;letter-spacing:.1em}.dream-copy{padding-top:27px;padding-bottom:28px}}
.glass-electric{border-width:2px;background:conic-gradient(from 0deg,transparent 0 32%,#0040f7b0 42%,#9bbcff 46%,transparent 51% 72%,#0040f7b0 83%,#c5d6ff 87%,transparent 93%) border-box;filter:drop-shadow(0 0 4px #0040f780);animation-duration:2.8s}
.glass-rim{border-color:#5985ff50;box-shadow:inset 0 0 11px #0040f72a,0 0 9px #0040f718}
.dream-copy p.narrative-meaning{font-size:clamp(15px,1.6vw,24px);line-height:1.55;letter-spacing:.13em;max-width:580px;font-weight:500}
@media(max-width:700px){.dream-copy p.narrative-meaning{font-size:14px;line-height:1.7;letter-spacing:.1em;max-width:none}}
/* The narrative accumulates, with its final line below the existing portal. */
.dream-copy{height:clamp(240px,22vw,330px)}
.dream-copy p.narrative-opening{top:0}
.dream-copy p.narrative-meaning{top:90px}
.dream-copy .narrative-climax{position:absolute;left:0;width:100%;margin:0;font-size:clamp(30px,3.9vw,58px);line-height:1.1;white-space:nowrap}
.narrative-climax br{display:none}
.narrative-climax br:after{content:' '}
.dream-copy p.narrative-opening,.dream-copy p.narrative-meaning,.dream-copy .narrative-climax{background:linear-gradient(110deg,#fff 20%,#fff 38%,#0040F7 49%,#fff 60%,#fff 80%);background-size:300% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 18px #0040f755,0 0 42px #0040f72a;animation:narrative-light 12s linear infinite,narrative-aura 9s ease-in-out infinite}
.dream-copy p.narrative-meaning{animation-delay:1s,-3s}.dream-copy .narrative-climax{animation-delay:2s,-6s}
@keyframes narrative-light{0%{background-position:100% 50%}22%,100%{background-position:0% 50%}}
@keyframes narrative-aura{0%,100%{text-shadow:0 0 12px #0040f740,0 0 32px #0040f720}50%{text-shadow:0 0 20px #0040f795,0 0 48px #0040f755,0 0 72px #0040f72a}}
@media(max-width:700px){.dream-copy{height:220px}.dream-copy p.narrative-meaning{top:74px}.dream-copy .narrative-climax{font-size:24px}}
.reduced-motion .dream-copy p,.reduced-motion .dream-copy h2{animation:none;filter:none!important}
.glass-electric{background:conic-gradient(from 0deg,transparent 0deg 68deg,#0040f7a0 83deg,#b8d0ff 92deg,transparent 108deg 188deg,#0040f7a0 203deg,#b8d0ff 212deg,transparent 228deg 308deg,#0040f7a0 323deg,#b8d0ff 332deg,transparent 348deg) border-box;animation-duration:14s;animation-timing-function:linear}
.dream-copy{user-select:none}
/* Soft optical falloff, without a hard circular outline. */
.glass-rim{border:0;box-shadow:none;mask-image:radial-gradient(circle,transparent 0 20%,#0008 38%,#000 49%,#0006 59%,transparent 70%)}
.glass-electric{border:0;inset:0;mask:none;background:radial-gradient(ellipse at 25% 25%,#0040f724,transparent 35%),radial-gradient(ellipse at 76% 35%,#0040f719,transparent 30%),radial-gradient(ellipse at 55% 80%,#0040f71c,transparent 35%);filter:blur(8px)}
.dream-wave{inset:0;width:auto;height:auto;border-radius:0;transform:none;backdrop-filter:url(#wave-refraction);mask-image:radial-gradient(circle at var(--wave-x) var(--wave-y),transparent max(0px,calc(var(--wave-radius) - 110px)),#0008 max(0px,calc(var(--wave-radius) - 55px)),#000 var(--wave-radius),#0008 calc(var(--wave-radius) + 55px),transparent calc(var(--wave-radius) + 110px));background:radial-gradient(circle at var(--wave-x) var(--wave-y),transparent max(0px,calc(var(--wave-radius) - 90px)),#0040f714 var(--wave-radius),transparent calc(var(--wave-radius) + 90px))}
/* One reading-order thread instead of separate whole-line sweeps. */
.dream-copy p.narrative-opening,.dream-copy p.narrative-meaning,.dream-copy .narrative-climax{background:none;color:#f2f6ff;animation:narrative-aura 9s ease-in-out infinite}
.dream-copy p.narrative-opening,.dream-copy p.narrative-meaning{width:40%;max-width:540px;letter-spacing:.09em;line-height:1.45}
.dream-copy p.narrative-meaning{top:74px}
.story-word{display:inline-block;white-space:nowrap}
.story-word>span{animation:story-flow 10s linear infinite;animation-delay:var(--letter-delay)}
@keyframes story-flow{0%,7%,100%{color:#f2f6ff;text-shadow:0 0 12px #0040f750}2%,4%{color:#0040F7;text-shadow:0 0 9px #0040F7,0 0 24px #0040f799}}
@media(max-width:700px){.dream-copy p.narrative-opening,.dream-copy p.narrative-meaning{width:88%;font-size:13px;line-height:1.5;letter-spacing:.07em}.dream-copy p.narrative-meaning{top:65px}}
.reduced-motion .story-word>span{animation:none}
@media(prefers-reduced-motion:reduce){.story-word>span{animation:none}}
.dream-copy p.narrative-opening,.dream-copy p.narrative-meaning{display:block}
/* Balanced narrative spacing and a single desktop line per sentence. */
.dream-copy{--story-gap:clamp(24px,5svh,46px)}
.dream-copy p.narrative-opening,.dream-copy p.narrative-meaning{width:84%;max-width:none;font-size:clamp(12px,1.45vw,23px);line-height:1.45;white-space:nowrap;letter-spacing:.065em}
.dream-copy p.narrative-meaning{top:calc(1.45em + var(--story-gap))}
.brand-caption{align-self:center;line-height:1;margin-top:0;transform:translateY(2px)}
/* Geometry changes without reflowing the text; expanded cards settle back to a rectangle. */
.is-dream .actor:not(.is-expanded) .actor-panel{animation:liquid-edge 7s ease-in-out infinite alternate,card-breathe 11s ease-in-out infinite;animation-delay:var(--wave-delay);transform-origin:center}
.actor-panel{transition:transform .65s ease,box-shadow .32s,border-color .32s,border-radius .4s}
.actor.is-expanded .actor-panel{transform:scale(1);animation:none}
@keyframes card-breathe{0%,100%{transform:scale(1,1)}35%{transform:scale(1.025,.975)}70%{transform:scale(.98,1.03)}}
.dream-plane{position:absolute;inset:8% -8%;z-index:5;pointer-events:none;opacity:0;border:1px solid #0040f740;background:repeating-linear-gradient(90deg,transparent 0 79px,#0040f72a 80px 81px),repeating-linear-gradient(0deg,transparent 0 79px,#0040f724 80px 81px),linear-gradient(115deg,#0040f71f,transparent 50%,#ffffff13);mask-image:radial-gradient(ellipse,#000 15%,transparent 70%);backdrop-filter:url(#wave-refraction);transform-origin:50% 70%;animation:space-plane 24s ease-in-out infinite}
@keyframes space-plane{0%,58%,100%{opacity:0;transform:perspective(1000px) rotateY(-32deg) rotateX(18deg) translateZ(-140px)}67%{opacity:calc(var(--dream-energy,0)*.32)}78%{opacity:calc(var(--dream-energy,0)*.24);transform:perspective(1000px) rotateY(18deg) rotateX(-7deg) translateZ(55px)}88%{opacity:0;transform:perspective(1000px) rotateY(28deg) translateZ(100px)}}
@media(max-width:700px){.dream-copy{--story-gap:24px}.dream-copy p.narrative-opening,.dream-copy p.narrative-meaning{font-size:13px;line-height:20px;white-space:normal;width:88%}.dream-copy p.narrative-meaning{top:64px}}
.reduced-motion .dream-plane{display:none}.reduced-motion .actor-panel{animation:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.dream-plane{display:none}.actor-panel{animation:none!important;transform:none!important}}

/* A travelling silver highlight and slow breathing letterfield, without duplicate text. */
.dream-copy .narrative-opening{font-weight:600}
.dream-copy .narrative-meaning{font-weight:400}
.dream-copy .story-word>span{color:#e3edff;animation:glyph-light 7.8s ease-in-out infinite!important;animation-delay:var(--glyph-phase,0s)!important;text-shadow:0 1px 3px #000,0 0 12px #0040F7}
@keyframes glyph-light{0%,65%,100%{color:#e3edff;text-shadow:0 1px 3px #000,0 0 9px #0040f766}76%{color:#fff;text-shadow:0 1px 3px #000,0 0 4px #fff,0 0 18px #0040F7}85%{color:#a6c0ff;text-shadow:0 1px 3px #000,0 0 12px #0040F7}}
.reduced-motion .dream-copy .story-word>span{animation:none!important}
@media(prefers-reduced-motion:reduce){.dream-copy .story-word>span{animation:none!important}}
body:not(.is-dream) .dream-copy .story-word>span{animation-play-state:paused!important}.journey-complete .dream-copy .story-word>span{animation:none!important}

/* Reserve the scene's initial dimensions before the first animation frame. */
.actor{width:190px;height:118px}
@media(min-width:1600px){.actor{width:210px}}
@media(max-width:1000px){.actor{width:160px}}
@media(max-width:700px){.actor{width:47vw;height:110px}.architecture{left:0;top:44%;width:100%;height:40%}}

/* V21 lifetime-scoped compositing. Cards remain opaque, so their backdrop blur
   cannot affect any visible pixel. Refraction of the world/lens is retained. */
.actor-panel,.actor.is-expanded .actor-panel{backdrop-filter:none}
.story-word>span,.discovery-note{will-change:auto}
.actor.is-dragging{will-change:transform,translate}
.actor.absorbed{display:none}
.actor.absorbed *{animation-play-state:paused!important;will-change:auto!important}
body:not(.is-dream) .dream-plane,body:not(.is-dream) .glass-electric{animation-play-state:paused}
.runtime-hidden *,.runtime-hidden *:before,.runtime-hidden *:after{animation-play-state:paused!important}
.performance-diagnostics{position:fixed;z-index:999;right:8px;bottom:8px;pointer-events:none;background:#000b;color:#fff;font:10px/1.4 monospace;padding:8px;max-height:45vh;overflow:hidden}
.wormhole-running .dream-copy *,.wormhole-running .discovery-note *{animation-play-state:paused!important;will-change:auto!important}
body:not(.is-dream) .actor-panel:before{animation-play-state:paused}

/* Keep authored light and dark scenes, independent of OS colour preference. */
:root{color-scheme:only light;background:#fff}
.scroll-countdown{position:fixed;top:82px;right:22px;z-index:36;font:10px/1.4 Arial,sans-serif;font-variant-numeric:tabular-nums;color:#999;pointer-events:none}
.scroll-countdown[hidden]{display:none}
@media(min-width:701px){.scroll-countdown{top:108px}}
@media(max-width:700px){
 .architecture{-webkit-mask-image:none;mask-image:none}
 .image-shell{inset:0}
 .image-shell img{object-position:center}
}
.image-shell picture{display:contents}
/* Scene ownership wins over a late header paint during resize or recovery. */
.is-dream .header,.wormhole-running .header{visibility:hidden;pointer-events:none}
@media(max-width:700px){
 .architecture{top:0;height:100%;width:100%;left:0}
 .normal-copy{isolation:isolate}
 .normal-copy:before{content:'';position:absolute;z-index:-1;pointer-events:none;left:-6vw;right:-6vw;top:-160px;bottom:-30px;background-color:#fff;mask-image:linear-gradient(#000 0 78%,transparent);opacity:.94}
}
/* Browser chrome may expand/collapse without changing the small viewport. */
.stage{height:var(--scene-height,100dvh)}
@media(max-width:700px){
 .stage,.reduced-motion .stage{min-height:0}
 .journey-complete .journey{height:var(--scene-height,100dvh);min-height:0}
 .stage .execution-note{visibility:hidden}
 .build-rest-stage{height:auto;min-height:100dvh;overflow:visible;display:flex;flex-direction:column;gap:28px;padding:110px 6% 56px}
 .build-rest-stage .resolve-copy,.build-rest-stage .execution-note,.build-rest-stage .service-actors{position:relative!important;inset:auto!important;width:100%!important;transform:none!important;margin:0}
 .build-rest-stage .resolve-copy{order:0}
 .build-rest-stage .service-actors{order:1;gap:12px;align-items:stretch}
 .build-rest-stage .execution-note{order:2}
 .build-rest-stage .actor{height:auto!important;min-height:110px;display:flex}
 .build-rest-stage .actor-panel{position:relative;inset:auto;width:100%;height:100%}
 .build-rest-stage .execution-note li span{font-size:11px;line-height:1.5}
}
@media(max-width:700px){
 .dream-copy p.narrative-opening,.dream-copy p.narrative-meaning,.dream-copy .narrative-climax{animation:none;text-shadow:0 1px 3px #000}
 .dream-copy .story-word>span{animation:none!important;color:#f2f6ff;text-shadow:0 1px 3px #000}
 .discovery-active .actor,.discovery-active .actor *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
}
