.about-bridge{box-sizing:border-box;min-height:58vh;padding:clamp(72px,9vw,138px) var(--shell-edge);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-content:center;gap:28px;background:#f5f5f7;color:#1d1d1f}.about-bridge p{grid-column:2/10;margin:0;display:grid;gap:18px}.about-bridge p span,.about-bridge small{color:#0071e3;font:700 10px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text",sans-serif;letter-spacing:.11em}.about-bridge p strong{font:650 clamp(46px,6.6vw,104px)/.88 -apple-system,BlinkMacSystemFont,"SF Pro Display",sans-serif;letter-spacing:-.07em}.about-bridge-route{grid-column:2/12;display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid #d2d2d7;color:#6e6e73;font:650 9px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text",sans-serif;letter-spacing:.08em}.about-bridge-route i{padding:9px 12px;border:1px solid #d2d2d7;border-radius:999px;background:#fff;font-style:normal}.about-bridge-route b{color:#0071e3}.about-bridge>small{grid-column:9/13;justify-self:end;margin-top:18px}
.dream-lab{--acid:#c6ff45;--blue:#0879f9;--pink:#ffb9d2;position:relative;padding:0 clamp(12px,1.5vw,24px) clamp(12px,1.5vw,24px);background:#f5f5f7;color:#f7f7f8;overflow:clip}.dream-scroll{position:relative;height:420vh}.dream-sticky{position:sticky;top:12px;width:100%;height:calc(100svh - 24px);min-height:620px;overflow:hidden;isolation:isolate;border-radius:clamp(24px,2.5vw,40px);background:radial-gradient(circle at 72% 50%,#19191d 0,transparent 36%),#080809;box-shadow:0 28px 90px rgba(0,0,0,.16)}.dream-sticky:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(circle at 72% 50%,#000,transparent 77%)}.dream-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}.dream-header{position:absolute;z-index:10;left:4%;right:4%;top:clamp(70px,9vh,108px);display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.dream-header p{display:grid;gap:8px;margin:0}.dream-header span,.dream-scene small,.memory-reveal small,.dream-after small{font:700 11px/1.1 -apple-system,BlinkMacSystemFont,"SF Pro Text",sans-serif;letter-spacing:.11em;color:#86868d}.dream-header strong{font:650 clamp(22px,2.4vw,36px)/1 -apple-system,BlinkMacSystemFont,"SF Pro Display",sans-serif;letter-spacing:-.045em}.dream-header a{pointer-events:auto;border:1px solid #3b3b40;border-radius:999px;padding:13px 18px;background:rgba(16,16,18,.75);color:#fff;text-decoration:none;font:650 12px/1 sans-serif;backdrop-filter:blur(12px);transition:background .25s,color .25s}.dream-header a:hover{background:var(--acid);color:#0a0a0b}.dream-scenes{position:absolute;z-index:5;left:5%;top:31%;width:min(53vw,820px);height:48%;pointer-events:none}.dream-scene{position:absolute;inset:0;opacity:0;filter:blur(18px);transform:translateY(60px) scale(.94);transition:opacity .5s,filter .7s,transform .7s cubic-bezier(.2,.8,.2,1)}.dream-scene.is-active{opacity:1;filter:none;transform:none}.dream-scene small{color:var(--scene-color,var(--blue))}.dream-scene h3{margin:14px 0 22px;font:680 clamp(104px,17vw,290px)/.7 -apple-system,BlinkMacSystemFont,"SF Pro Display",sans-serif;letter-spacing:-.1em;color:#f5f5f7;text-shadow:0 0 80px color-mix(in srgb,var(--scene-color,var(--blue)) 40%,transparent)}.dream-scene p{max-width:590px;margin:0;color:#a7a7ad;font-size:clamp(17px,1.5vw,23px);line-height:1.38}.dream-scene[data-dream-scene="1"]{--scene-color:var(--pink)}.dream-scene[data-dream-scene="2"]{--scene-color:var(--acid)}.dream-scene[data-dream-scene="3"]{--scene-color:#ff7d45}.dream-meter{position:absolute;z-index:8;right:4%;top:24%;bottom:18%;width:42px;display:grid;grid-template-rows:auto 1fr auto;justify-items:center;color:#77777e;font:700 10px/1 "DM Mono",monospace}.dream-meter i{position:absolute;top:22px;bottom:22px;left:50%;width:1px;background:#38383d}.dream-meter i:after{content:"";display:block;width:3px;height:var(--dream-progress,0%);margin-left:-1px;background:var(--acid);box-shadow:0 0 18px var(--acid);transition:height .12s linear}.dream-meter span{color:#fff}.dream-meter b{align-self:end;font-weight:700}.dream-scroll-note{position:absolute;z-index:8;left:5%;bottom:5%;margin:0;color:#77777e;font:650 11px/1 sans-serif;letter-spacing:.06em}.dream-scroll-note span{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--acid);box-shadow:0 0 12px var(--acid)}
.memory-orbs{position:absolute;inset:0;z-index:7;pointer-events:none}.memory-orb{--drift-x:0px;--drift-y:0px;position:absolute;left:var(--orb-x);top:var(--orb-y);width:92px;height:126px;border:0;background:none;color:#fff;transform:translate(calc(-50% + var(--drift-x)),calc(-50% + var(--drift-y))) rotate(var(--orb-rotate,0deg));pointer-events:auto;cursor:crosshair;transition:filter .25s,opacity .4s,transform .12s linear}.memory-orb i{position:absolute;left:10px;top:0;width:72px;height:84px;border:1px solid rgba(255,255,255,.72);border-radius:52% 52% 47% 47%;background:radial-gradient(circle at 50% 58%,rgba(198,255,69,.9) 0 7%,rgba(198,255,69,.18) 8% 34%,transparent 60%);box-shadow:inset 0 0 24px rgba(255,255,255,.12),0 0 40px rgba(198,255,69,.16);backdrop-filter:blur(5px)}.memory-orb i:before{content:"";position:absolute;left:27px;bottom:-15px;width:16px;height:20px;border:1px solid #aaaab0;border-top:0;background:repeating-linear-gradient(to bottom,#999 0 1px,transparent 1px 5px)}.memory-orb i:after{content:"";position:absolute;left:25px;bottom:18px;width:20px;height:24px;border-bottom:1px solid var(--acid);border-left:1px solid var(--acid);border-right:1px solid var(--acid);border-radius:0 0 50% 50%;filter:drop-shadow(0 0 5px var(--acid))}.memory-orb span{position:absolute;left:50%;bottom:0;width:118px;transform:translateX(-50%);color:#9999a0;font:700 9px/1 sans-serif;letter-spacing:.08em}.memory-orb:hover{filter:drop-shadow(0 0 16px var(--acid));transform:translate(calc(-50% + var(--drift-x)),calc(-50% + var(--drift-y))) rotate(var(--orb-rotate,0deg)) scale(1.08)}.memory-orb.is-broken{opacity:0;pointer-events:none;transform:translate(calc(-50% + var(--drift-x)),calc(-50% + var(--drift-y))) scale(1.45) rotate(18deg)}.memory-reveal{position:absolute;z-index:20;right:8%;bottom:8%;width:min(390px,42vw);min-height:230px;padding:28px;border:1px solid rgba(255,255,255,.22);border-radius:26px;background:rgba(21,21,24,.82);box-shadow:0 28px 70px rgba(0,0,0,.42);backdrop-filter:blur(22px);opacity:0;pointer-events:none;transform:translateY(25px) scale(.96);transition:opacity .4s,transform .5s cubic-bezier(.2,.8,.2,1)}.memory-reveal.is-open{opacity:1;pointer-events:auto;transform:none}.memory-reveal>button{position:absolute;right:14px;top:12px;border:0;background:none;color:#aaa;font-size:28px;cursor:pointer}.memory-reveal small{display:block;color:var(--acid)}.memory-reveal strong{display:block;margin:20px 0 12px;font:650 clamp(32px,3.2vw,50px)/.88 -apple-system,BlinkMacSystemFont,"SF Pro Display",sans-serif;letter-spacing:-.06em}.memory-reveal p{margin:0;color:#b4b4ba;font-size:15px;line-height:1.45}
.dream-after{position:relative;min-height:70vh;margin-top:14px;padding:9% 6%;border-radius:clamp(24px,2.5vw,40px);background:linear-gradient(135deg,#ffbdd5 0,#89bcff 45%,#c6ff45 100%);color:#0b0b0c;display:flex;align-items:flex-end;justify-content:space-between;gap:36px;overflow:hidden}.dream-after:before{content:"小A";position:absolute;right:-.08em;top:-.1em;font:700 min(55vw,760px)/.8 -apple-system,BlinkMacSystemFont,"SF Pro Display",sans-serif;letter-spacing:-.12em;color:rgba(255,255,255,.25);transform:rotate(-8deg)}.dream-after p{position:relative;z-index:2;margin:0;display:grid}.dream-after small{color:#36363b}.dream-after strong{font:680 clamp(100px,21vw,340px)/.7 -apple-system,BlinkMacSystemFont,"SF Pro Display",sans-serif;letter-spacing:-.105em}.dream-after span{margin-top:22px;font-size:18px}.dream-after a{position:relative;z-index:3;display:flex;align-items:center;gap:18px;color:#111;text-decoration:none;font:650 15px/1 sans-serif}.dream-after a i{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#111;color:#fff;font:400 22px/1 sans-serif;font-style:normal;transition:transform .3s}.dream-after a:hover i{transform:rotate(45deg) scale(1.08)}
@media(max-width:900px){.about-bridge{min-height:52vh;grid-template-columns:1fr;padding:76px 28px}.about-bridge p,.about-bridge-route,.about-bridge>small{grid-column:1}.about-bridge-route{overflow-x:auto;padding-bottom:8px}.about-bridge-route i{white-space:nowrap}.about-bridge>small{justify-self:start}.dream-scenes{left:6%;top:48%;width:82%;height:36%}.dream-scene h3{font-size:clamp(90px,25vw,180px)}.dream-sticky{background:radial-gradient(circle at 58% 32%,#19191d 0,transparent 34%),#080809}.memory-orb{transform:translate(calc(-50% + var(--drift-x)),calc(-50% + var(--drift-y))) scale(.82)}.memory-orb:nth-child(1){--orb-x:23%!important;--orb-y:27%!important}.memory-orb:nth-child(2){--orb-x:73%!important;--orb-y:24%!important}.memory-orb:nth-child(3){--orb-x:84%!important;--orb-y:42%!important}.memory-reveal{right:5%;bottom:6%;width:min(420px,90vw)}.dream-after{align-items:flex-start;flex-direction:column;justify-content:flex-end}.dream-after a{align-self:flex-end}}
@media(max-width:560px){.dream-sticky{min-height:680px}.dream-header{left:18px;right:18px;top:82px}.dream-header strong{font-size:20px}.dream-header a{padding:11px 13px}.dream-scenes{left:20px;right:48px;top:48%;width:auto}.dream-scene h3{font-size:24vw;margin:12px 0 18px}.dream-scene p{font-size:16px}.dream-meter{right:8px;top:25%;bottom:17%}.dream-scroll-note{left:20px;bottom:3%;font-size:9px}.memory-orb{width:78px;height:108px}.memory-orb i{left:8px;width:62px;height:72px}.memory-orb i:before{left:23px}.memory-orb i:after{left:21px;bottom:15px}.memory-orb span{width:100px;font-size:8px}.memory-reveal{left:14px;right:14px;bottom:5%;width:auto;min-height:210px}.dream-after{min-height:650px;padding:70px 22px 48px}.dream-after strong{font-size:29vw}.dream-after span{font-size:15px}.dream-after a{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.dream-scene,.memory-orb,.memory-reveal,.dream-after a i{transition:none!important}}

/* One concise name chapter: three beats, one immersive canvas. */
.dream-lab{padding:clamp(12px,1.5vw,24px)!important}
.dream-scroll{height:300vh!important}
.dream-scene[data-dream-scene="0"]{--scene-color:var(--pink)}
.dream-scene[data-dream-scene="1"]{--scene-color:var(--acid)}
.dream-scene[data-dream-scene="2"]{--scene-color:#ff7d45}
.dream-scene p{margin-top:clamp(34px,5vh,64px)!important}
@media(max-width:900px){.dream-scene p{margin-top:clamp(24px,3.5vh,42px)!important}}
@media(max-width:560px){.dream-scene p{margin-top:22px!important}}

/* The name story occupies the viewport instead of sitting in a framed card. */
.dream-lab{padding:0!important;background:#080809!important}
.dream-sticky{top:0!important;height:100svh!important;border-radius:0!important;box-shadow:none!important}
.dream-sticky:before{display:none!important}

/* The memory bulbs drift on their own; scrolling only advances the story. */
.memory-orb{transform:translate(-50%,-50%) rotate(var(--orb-rotate,0deg));transition:filter .25s,opacity .4s,transform .35s cubic-bezier(.16,1,.3,1);will-change:translate}
.memory-orb:nth-child(1){--orb-rotate:-5deg;animation:memory-float-one 9.5s ease-in-out infinite}
.memory-orb:nth-child(2){--orb-rotate:6deg;animation:memory-float-two 11.4s ease-in-out infinite}
.memory-orb:nth-child(3){--orb-rotate:-3deg;animation:memory-float-three 10.2s ease-in-out infinite}
@keyframes memory-float-one{0%,100%{translate:0 0}25%{translate:18px -24px}55%{translate:-10px -42px}78%{translate:-22px -10px}}
@keyframes memory-float-two{0%,100%{translate:0 0}22%{translate:-24px 18px}52%{translate:13px 34px}76%{translate:28px -16px}}
@keyframes memory-float-three{0%,100%{translate:0 0}28%{translate:20px 24px}58%{translate:-18px 38px}82%{translate:-28px -12px}}
@media(max-width:900px){.memory-orb{transform:translate(-50%,-50%) rotate(var(--orb-rotate,0deg)) scale(.82)}}
@media(prefers-reduced-motion:reduce){.memory-orb{animation:none!important;translate:0 0!important}}

/* Every memory bulb now works as a light switch for the whole scene. */
.dream-sticky{--lights-off:0}
.dream-sticky:after{content:"";position:absolute;z-index:6;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(2,3,7,.68),rgba(0,0,0,.98));opacity:calc(var(--lights-off) * .82);transition:opacity .85s cubic-bezier(.16,1,.3,1)}
.dream-canvas,.dream-scenes{filter:brightness(calc(1 - var(--lights-off) * .42)) saturate(calc(1 - var(--lights-off) * .58));transition:filter .85s cubic-bezier(.16,1,.3,1)}
.dream-scene h3,.dream-scene p{transition:color .85s ease,text-shadow .85s ease}
.dream-sticky.is-lights-out .dream-scene h3{color:#b8b8bd;text-shadow:none}
.dream-sticky.is-lights-out .dream-scene p{color:#77777e}
.memory-orb.is-broken{opacity:.46;pointer-events:none;filter:grayscale(1);transform:translate(-50%,-50%) rotate(var(--orb-rotate,0deg)) scale(.92);animation-play-state:paused}
.memory-orb.is-broken i{border-color:rgba(255,255,255,.24);background:radial-gradient(circle at 50% 58%,rgba(142,142,147,.28) 0 7%,rgba(80,80,84,.12) 8% 34%,transparent 60%);box-shadow:inset 0 0 15px rgba(255,255,255,.04)}
.memory-orb.is-broken i:after{border-color:#55555a;filter:none}
.memory-orb.is-broken span{color:#55555a}
.memory-orb:not(.is-broken):hover,.memory-orb:not(.is-broken):focus-visible{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.dream-sticky:after,.dream-canvas,.dream-scenes,.dream-scene h3,.dream-scene p{transition:none!important}}

/* The third switch drains color from this homepage until the next refresh. */
.home-page.home-lights-out:after{content:"";position:fixed;z-index:240;inset:0;pointer-events:none;background:rgba(0,0,0,.025);backdrop-filter:grayscale(1) contrast(1.12);-webkit-backdrop-filter:grayscale(1) contrast(1.12);animation:home-monochrome-arrival 1.15s cubic-bezier(.16,1,.3,1) both}
@keyframes home-monochrome-arrival{0%{clip-path:circle(0 at 72% 50%);opacity:.2}100%{clip-path:circle(150vmax at 72% 50%);opacity:1}}
@media(prefers-reduced-motion:reduce){.home-page.home-lights-out:after{animation:none;clip-path:none}}

/* The drawn eye is an interactive part of the dream scene. */
.dream-sticky.is-eye-hovered{cursor:pointer}
.dream-sticky.is-eye-hovered .dream-canvas{filter:brightness(calc(1.08 - var(--lights-off) * .42)) saturate(calc(1.08 - var(--lights-off) * .58))}
