.hero-playing{overscroll-behavior:none}.hero-playing .stage{touch-action:none}
.infinity-receptive{transition:filter 1.2s}.infinity-receptive:after{content:'';position:absolute;inset:18%;border-radius:50%;box-shadow:0 0 36px #0040f750;animation:receptive-breath 3.8s ease-in-out infinite;pointer-events:none}
@keyframes receptive-breath{50%{opacity:.25;transform:scale(.84)}}
.white-rabbit{position:absolute;left:0;top:0;width:60px;height:75px;pointer-events:none;will-change:transform,opacity;filter:drop-shadow(0 0 6px #0040f760)}.white-rabbit svg{width:100%;height:100%}
.rabbit-link{display:inline-block;margin:12px 0;padding:12px;color:#777e8b;font-size:12px}.rabbit-link:hover{color:#0040F7}
.portal-arrival{overflow:auto;padding:70px 24px;justify-content:safe center;background:radial-gradient(ellipse at center,#000b,transparent 68%)}
.portal-arrival h2{font-size:clamp(25px,3.5vw,52px);max-width:760px;margin:0 0 16px;letter-spacing:-.025em;line-height:1.08}
.portal-arrival .rarity{font-size:10px;letter-spacing:.13em;line-height:1.6;margin:0 0 27px;min-height:16px;color:#b9c9e9}
.portal-arrival h3{font-weight:400;font-size:20px;margin:0 0 22px;letter-spacing:-.025em}
.email-path,.project-path{width:min(100%,390px)}
.lead-form{display:grid;gap:14px;text-align:left;width:100%}.lead-form label{font:12px/1.4 Arial,sans-serif;display:grid;gap:7px}
.lead-form input,.lead-form textarea{font:16px/1.5 Arial,sans-serif;width:100%;border:1px solid #ffffff38;border-radius:7px;padding:11px 13px;background:#111727d9;color:#fff;resize:vertical}
.lead-form input:focus-visible,.lead-form textarea:focus-visible{outline:2px solid #0040F7;outline-offset:3px}
.lead-form .button{justify-content:center;border:0;border-radius:7px;min-height:45px;font:14px/1.4 Arial,sans-serif}
.lead-form .form-meta,.lead-form .consent-note,.lead-form .contact-status{font:11px/1.5 Arial,sans-serif;letter-spacing:0;color:#aebbd3;margin:0}
.lead-form .form-meta a{text-decoration:underline}.lead-form .contact-status:not(:empty){padding:8px 0}
.take-further{border:0;background:none;color:#bbc9e4;margin-top:16px;padding:12px;min-height:44px;cursor:pointer;font-size:13px}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.grounded-contact{position:relative;margin-top:20px;background:#fff;color:#111827;padding:24px;border:1px solid #dce1ec;border-radius:12px;max-width:460px;box-shadow:0 12px 35px #12192b0c}
.grounded-contact h2{font-size:28px;line-height:1.15;letter-spacing:-.04em;margin:0 0 18px}.grounded-contact .lead-form input,.grounded-contact .lead-form textarea{background:#f8f9fc;color:#111827;border-color:#cfd5e0}
.grounded-contact .lead-form .contact-status,.grounded-contact .lead-form .form-meta{color:#626c7c}
.contact-close{position:absolute;right:8px;top:6px;width:36px;height:36px;border:0;background:transparent;color:#727b88;font-size:23px}
.contact-visible .stage{overflow:auto}.contact-visible .normal-copy{transform:none!important;opacity:1!important;inset:110px auto auto 7%;padding-bottom:40px;z-index:26}.contact-visible .normal-copy>p,.contact-visible .normal-copy>h1,.contact-visible .normal-copy>.button,.contact-visible .normal-copy>.hero-note{display:none}
.contact-visible .stage .service-actors{visibility:hidden}.contact-visible .header{visibility:visible;opacity:1!important;transform:none!important}
@media(max-width:700px){.portal-arrival{padding:65px 28px 30px}.portal-arrival h2{font-size:28px;max-width:320px}.portal-arrival .rarity{font-size:9px;margin-bottom:22px}.portal-arrival h3{font-size:18px}.contact-visible .normal-copy{left:6%;width:88%;top:90px}.grounded-contact{padding:20px}.portal-arrival .button{padding:13px}.lead-form{gap:10px}}
.reduced-motion .infinity-receptive:after{animation:none}
.wormhole-running .infinity-receptive:after,.journey-complete .infinity-receptive:after{animation:none;display:none}
/* Only secondary ambient repaint is reduced on persistently slow hardware. */
[data-performance-quality="2"] .dream-plane{backdrop-filter:none}
[data-performance-quality="2"] .dream-copy .story-word>span{animation:none!important;text-shadow:0 1px 3px #000,0 0 9px #0040f760}
[data-performance-quality="2"] .actor-panel:before{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.infinity-receptive:after{animation:none}}

/* Reserve the calm centre; longer forms scroll inside it, never across the walls. */
.portal-arrival{inset:22% auto auto 50%;transform:translateX(-50%);width:min(60vw,440px);height:56%;box-sizing:border-box;padding:18px 10px;gap:18px;justify-content:safe center;overflow:auto;overscroll-behavior:contain;background:none;scrollbar-width:thin;scrollbar-color:#ffffff30 transparent;animation:arrival-content .7s ease both}
.portal-arrival>*{flex-shrink:0;max-width:100%;box-sizing:border-box}
.portal-arrival h2,.portal-arrival.contact-open h2{font-size:clamp(22px,2.6vw,38px);line-height:1.16;margin:0;letter-spacing:-.035em;font-weight:500;text-transform:none}
.portal-arrival .rarity{font-size:9px;line-height:1.5;color:#a5aebe;letter-spacing:.13em;margin:0;min-height:0}
.portal-arrival .button{background:#202938;color:#edf2fa;border:1px solid #ffffff25;border-radius:8px;min-height:44px;padding:12px 16px;white-space:normal;line-height:1.4;transition:background .25s,border-color .25s;box-shadow:none}
.portal-arrival .button:hover,.portal-arrival .button:focus-visible{background:#0040F7;border-color:#0040F7;box-shadow:none}
.portal-arrival .take-further{margin:0;padding:12px 16px;border-top:1px solid #ffffff24;letter-spacing:.06em;font-size:12px;min-height:44px;color:#c4cede;transition:color .2s}
.portal-arrival .take-further:hover{color:white}.portal-arrival [hidden]{display:none!important}
.portal-arrival .lead-form{gap:10px}.portal-arrival .lead-form input,.portal-arrival .lead-form textarea{box-sizing:border-box}
@keyframes arrival-content{from{opacity:0}to{opacity:1}}
.discovery-note{background:radial-gradient(ellipse,#020b20a6,transparent 75%);text-shadow:0 1px 3px #000;letter-spacing:0}
.discovery-note strong{font-size:18px;line-height:1.4;letter-spacing:.015em;font-weight:500}
.discovery-note p{font-size:14px;line-height:1.5;font-weight:400;color:#f0f4ff;letter-spacing:0}
.discovery-note .story-word>span{color:#f0f4ff;text-shadow:0 1px 3px #000}
.discovery-note strong .story-word{animation:none}
@media(max-width:700px){.portal-arrival{width:66vw;padding:10px 5px;gap:16px}.portal-arrival h2,.portal-arrival.contact-open h2{font-size:clamp(18px,5.4vw,26px)}.portal-arrival .rarity{font-size:8px}.portal-arrival .button{font-size:12px;padding:10px}.discovery-note strong{font-size:13px;line-height:1.35}.discovery-note p{font-size:12px;line-height:1.45}}
@media(prefers-reduced-motion:reduce){.portal-arrival{animation:none}}

.portal-arrival .rarity{position:absolute;top:0;left:0;width:100%;padding:0 8px;box-sizing:border-box}.portal-arrival{padding-top:38px}
