:root{--img-sky-v1-webp:url('/sky-v1-r1-1400.webp')}@media(max-width:600px){:root{--img-sky-v1-webp:url('/sky-v1-r1-800.webp')}}
:root{--img-street-surround-v1-webp:url('/street-surround-v1-r1-1400.webp')}@media(max-width:600px){:root{--img-street-surround-v1-webp:url('/street-surround-v1-r1-800.webp')}}
:root{--img-cloud-v1-webp:url('/cloud-v1-r1-800.webp')}@media(max-width:600px){:root{--img-cloud-v1-webp:url('/cloud-v1-r1-800.webp')}}
:root{--img-street-surround-v2-webp:url('/street-surround-v2-r1-1400.webp')}@media(max-width:600px){:root{--img-street-surround-v2-webp:url('/street-surround-v2-r1-800.webp')}}
/* Original 1905px robot artwork is independent from the scrolling facade. */
.building-home{max-width:1400px;margin:auto;padding:0;container-type:inline-size}
.building-home .languages{position:relative;z-index:3;margin:0 auto;padding:12px 24px;max-width:1180px}
.building-scene{position:relative;isolation:isolate}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.roof-stage{position:relative;aspect-ratio:2.05;isolation:isolate}
.roof-neon,.neon-fault{position:absolute;top:0;left:10%;width:80%;height:auto;pointer-events:none}
.roof-neon{clip-path:inset(0 0 64% 0);mix-blend-mode:multiply}
.neon-fault{mix-blend-mode:multiply}
.roof-robots{position:absolute;z-index:2;bottom:-2.5%;left:10%;width:80%;height:auto;display:block}
.u-fault{opacity:0;animation:roof-flicker 5s linear infinite}
@keyframes roof-flicker{0%,79%,100%{opacity:0}80%{opacity:.18}81%{opacity:.04}82%,84%{opacity:.88}85%{opacity:.16}86%{opacity:.62}88%{opacity:.05}90%{opacity:0}}
.building-panel{position:relative;aspect-ratio:1024 / var(--panel-height);margin:0;padding:0;border:0}
.facade-slice{display:block;width:100%;height:100%;pointer-events:none}
.floor-sign{position:absolute;left:20%;width:65%;top:var(--sign-y);transform:translateY(-50%) rotate(-1deg) skewX(-7deg);font-family:'Russo One',sans-serif;font-size:4.3cqw;font-weight:400;line-height:1.12;text-align:center;text-transform:uppercase;text-decoration:none;color:#f1dfb7;text-shadow:2px 3px 0 #442216,-1px -1px 0 #8a4c28;transition:color .18s,text-shadow .18s;white-space:nowrap}
.floor-sign:hover,.floor-sign:focus-visible{color:#fff3d5;text-shadow:0 0 8px #ffc978,0 0 18px #ed8e45,2px 3px #432214}
.floor-sign:focus-visible,.basement-contacts a:focus-visible{outline:2px solid #a7cfff;outline-offset:3px}
.panel-about .floor-sign{left:26%;width:51%;font-family:Georgia,serif;font-size:3.3cqw;font-weight:bold;letter-spacing:.08em;transform:translateY(-50%);text-shadow:1px 2px #102019}
.basement-contacts{position:absolute;left:15%;top:21%;width:28%;display:flex;flex-direction:column;align-items:flex-start;gap:1cqw;transform:rotate(-3deg)}
.basement-contacts a{color:#d6eeff;text-decoration:none;font:500 1.85cqw/1.1 'Exo 2',sans-serif;text-shadow:0 0 3px #fff,0 0 7px #2086ff,0 0 14px #065ff8;white-space:nowrap;transition:text-shadow .18s}
.basement-contacts a:hover{color:#fff;text-shadow:0 0 4px #fff,0 0 12px #76c9ff,0 0 22px #268aff}
.basement-contacts .contact-heading{font-family:'Russo One',sans-serif;font-size:3.1cqw;text-transform:uppercase;color:#efd8b3;text-shadow:2px 2px #55241a;transform:skewX(-7deg)}
@media(max-width:600px){.building-home .languages{padding:6px 14px}.roof-stage{aspect-ratio:1.86}.roof-robots{width:90%;left:5%;bottom:-2.6%}.roof-neon,.neon-fault{width:90%;left:5%}.roof-stage:after{content:'';position:absolute;z-index:1;bottom:-1%;left:4%;width:92%;height:2.4%;background:linear-gradient(#a29274,#4d4739 45%,#82715b 60%,#382e23);border-radius:2px}.floor-sign{font-size:4.6cqw}.basement-contacts{left:14%;top:17%;width:33%;gap:1.7cqw}.basement-contacts a{font-size:2.15cqw;padding:1cqw 0}.basement-contacts .contact-heading{font-size:3.5cqw}}
@media(prefers-reduced-motion:reduce){.u-fault{animation:none}.floor-sign,.basement-contacts a{transition:none}}
.roof-robots{bottom:-5.5%}
@media(max-width:600px){.roof-robots{bottom:-5%}.basement-contacts{left:14%;top:10%;width:48%;gap:0}.basement-contacts a{font-size:14px;line-height:1.2;padding:3px 0}.basement-contacts .contact-heading{font-size:16px}}
.roof-neon{top:1%;left:17%;width:66%;clip-path:none;mix-blend-mode:normal}
.u-tube{animation:tube-flicker 5s linear infinite}
@keyframes tube-flicker{0%,79%,100%{opacity:1}80%{opacity:.65}81%{opacity:1}82%,84%{opacity:.1}85%{opacity:.8}86%{opacity:.25}88%{opacity:.95}90%{opacity:1}}
@media(max-width:600px){.roof-neon{left:12%;width:76%;top:1%}}
@media(prefers-reduced-motion:reduce){.u-tube{animation:none}}
@media(min-width:601px){.roof-stage{aspect-ratio:1.9}.roof-robots{width:87%;left:6.5%;bottom:-5%}}

@font-face{font-family:'Drobots Graffiti';src:url('fonts/rubik-wet-paint.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
/* One large source per story. The 0.39 width height matches the original robot row. */
.building-home,.building-scene,.building-panel{background:var(--paper)}
.building-panel{aspect-ratio:1000 / 390;isolation:isolate}
.floor-art{position:absolute;top:0;left:5%;display:block;width:90%;height:100%;mix-blend-mode:darken;pointer-events:none}
.floor-sign{left:22%;width:60%;font-family:'Drobots Graffiti','Russo One',sans-serif;font-size:5.4cqw;line-height:1.12;letter-spacing:.015em;transform:translateY(-50%) rotate(-2deg);color:#efdbb9;text-shadow:1px 1px #251b16,3px 4px #6d3420,-1px -1px #251b16}
.panel-services .floor-sign{transform:translateY(-50%) rotate(1deg)}
.panel-partnership .floor-sign{font-size:4.9cqw}
.floor-sign:hover,.floor-sign:focus-visible{color:#fff0d2;text-shadow:1px 1px #351d15,0 0 8px #ffc77b,0 0 19px #ffa54b}
.panel-about{aspect-ratio:2}
.panel-about .floor-art,.panel-basement .floor-art{left:0;width:100%}
.panel-about .floor-sign{left:25%;width:50%;font-family:Georgia,serif;font-weight:700;font-size:3.5cqw;line-height:1;letter-spacing:.09em;transform:translateY(-50%);color:#e9d4a4;text-shadow:1px 2px 1px #101e18}
.panel-about .floor-sign:hover{color:#fff5d7;text-shadow:0 0 12px #f3ce83}
.panel-basement{aspect-ratio:1000 / 390}
.basement-contacts{left:16%;top:31%;width:29%;gap:1.5cqw;transform:rotate(-3deg)}
.basement-contacts .contact-heading{font-family:'Drobots Graffiti','Russo One',sans-serif;font-size:3.4cqw;transform:none}
.basement-contacts a{font-size:1.95cqw;padding:0;line-height:1.15}
@media(max-width:600px){.building-panel{aspect-ratio:1000 / 420}.panel-about{aspect-ratio:2}.panel-basement{aspect-ratio:1000 / 420}.floor-sign{font-size:5.8cqw}.panel-partnership .floor-sign{font-size:5.1cqw}.panel-about .floor-sign{font-size:3.6cqw}.basement-contacts{left:15%;top:24%;width:35%;gap:0}.basement-contacts a{font-size:clamp(11px,3.1cqw,18px);line-height:1.15;padding:4px 0}.basement-contacts .contact-heading{font-size:4.2cqw;padding-bottom:3px}.roof-stage:after{display:none}}
/* Slight cornice overlap closes the panel boundaries into a continuous facade. */
.building-panel + .building-panel{margin-top:-1.15cqw}
@media(max-width:600px){.basement-contacts a{font-size:14px}.basement-contacts .contact-heading{font-size:16px}}

/* Structural steel stays behind the original neon and robot artwork. */
.neon-supports{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;filter:drop-shadow(2px 3px 2px #201a1638)}
.roof-neon{z-index:1}
.roof-robots{z-index:2}
/* Extend the underground section to both viewport edges without horizontal overflow. */
.panel-basement{background:#211b15;box-shadow:0 0 0 100vmax #211b15;clip-path:inset(0 -100vmax);}
.panel-basement .floor-art{mix-blend-mode:normal}

/* Glass tube lettering matches the sapphire STUDIO sign; the shop keeps its enamel serif. */
.building-panel:not(.panel-about) > .floor-sign,
.basement-contacts .contact-heading{
 font-family:'Exo 2',sans-serif;font-weight:500;letter-spacing:.07em;
 color:#1542a2;-webkit-text-stroke:.095cqw #d5f2ff;
 text-shadow:0 0 2px #fff,0 0 5px #51b4ff,0 0 12px #1376ff,0 0 23px #074be8;
 transform:translateY(-50%);filter:drop-shadow(0 2px 1px #061126);
 transition:text-shadow .2s,color .2s;
}
.building-panel:not(.panel-about) > .floor-sign{font-size:5.2cqw;line-height:1.15}
.building-panel.panel-partnership > .floor-sign{font-size:4.6cqw;letter-spacing:.045em}
.building-panel:not(.panel-about) > .floor-sign:hover,
.building-panel:not(.panel-about) > .floor-sign:focus-visible,
.basement-contacts .contact-heading:hover,
.basement-contacts .contact-heading:focus-visible{
 color:#245de0;text-shadow:0 0 3px #fff,0 0 8px #89d4ff,0 0 18px #2087ff,0 0 30px #0758ef;
}
.basement-contacts .contact-heading{transform:none;font-size:3.1cqw;line-height:1.2}
@media(max-width:600px){
 .building-panel:not(.panel-about) > .floor-sign{font-size:5.6cqw;-webkit-text-stroke:.45px #d5f2ff;text-shadow:0 0 1px #fff,0 0 3px #51b4ff,0 0 7px #1376ff}
 .building-panel.panel-partnership > .floor-sign{font-size:4.8cqw}
 .basement-contacts .contact-heading{font-size:16px;-webkit-text-stroke:.4px #d5f2ff;text-shadow:0 0 2px #51b4ff,0 0 6px #1376ff}
}
@media(prefers-reduced-motion:reduce){.building-panel:not(.panel-about) > .floor-sign,.basement-contacts .contact-heading{transition:none}}

body{background:#b8d4e5;isolation:isolate}
body::before{content:'';position:fixed;inset:0;z-index:-1;background:#b8d4e5 var(--img-sky-v1-webp) center center / cover no-repeat;pointer-events:none}
.building-home,.building-scene,.building-panel{background:transparent}
.floor-art{mix-blend-mode:normal}
.panel-basement{background:#211b15}
.building-home .languages a{color:#405567;text-shadow:0 1px 1px #d8e6ef}
.building-home .languages a[aria-current],.building-home .languages a:hover,.building-home .languages a:focus-visible{color:#d6efff;text-shadow:0 0 2px #fff,0 0 5px #167cff,0 0 12px #0846b9}

body{overflow-x:clip}
/* A shallow roof plane closes the sky gap without resampling the robots. */
.roof-stage:after{content:'';display:block;position:absolute;z-index:1;left:9%;width:84%;bottom:-1.4%;height:4.4%;border-radius:0;background:repeating-linear-gradient(93deg,transparent 0 13%,#302d2866 13.1% 13.3%,transparent 13.5% 26%),linear-gradient(#655e51,#aaa08a 65%,#51493d 70%,#292722);clip-path:polygon(3% 0,97% 0,100% 100%,0 100%);box-shadow:none}
.dio-tube{animation:tube-flicker 5s linear infinite}
/* Street-level atmosphere extends behind the scene to the viewport edges. */
.panel-about:before{content:'';position:absolute;pointer-events:none;z-index:-1;left:50%;transform:translateX(-50%);width:100vw;bottom:-1px;height:65%;background:linear-gradient(to bottom,transparent 0%,#ada89518 12%,#98917e70 40%,#89816deb 67%,#77705e 77%,#625b4e 83%,#423b31 93%,#211b15 100%)}
.panel-about:after{content:'';position:absolute;pointer-events:none;z-index:-1;left:50%;transform:translateX(-50%);width:100vw;bottom:0;height:10%;background:repeating-linear-gradient(0deg,transparent 0 11px,#201b1530 12px,#b1a08820 13px,transparent 14px),linear-gradient(transparent,#211b15)}
@media(prefers-reduced-motion:reduce){.dio-tube{animation:none}}

/* Physical glass/metal remains visible while the illuminated layer loses power. */
.dio-unlit{filter:grayscale(.85) brightness(.42);opacity:1}
.dio-tube{animation:dio-power 5s linear infinite}
.neon-sparks{opacity:0;fill:none;stroke:#e9f8ff;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 5px #38a1ff);animation:dio-spark 5s linear infinite}
@keyframes dio-power{0%,79%,100%{opacity:1}80%{opacity:.55}82%,84%{opacity:0}85%{opacity:.72}86%,88%{opacity:.08}90%{opacity:1}}
@keyframes dio-spark{0%,79.9%,81.5%,85.9%,87.5%,100%{opacity:0}80%,86%{opacity:1}}
@media(prefers-reduced-motion:reduce){.dio-tube{animation:none}.neon-sparks{animation:none;opacity:0}}

.building-panel:not(.panel-about)>.floor-sign{--tube-core:#effcff}
/* Keep all type metrics/positions; build glass, backing and mounting rails around them. */
.building-panel:not(.panel-about)>.floor-sign{isolation:isolate;color:#153d65;-webkit-text-stroke:.028em var(--tube-core);paint-order:stroke fill;filter:drop-shadow(0 .055em .025em #111e27);text-shadow:0 0 .035em #fff,0 0 .085em #58c3ff,0 0 .20em #147aff,0 0 .42em #075aff}
.building-panel:not(.panel-about)>.floor-sign:before{content:attr(data-neon);position:absolute;inset:0;z-index:-1;color:transparent;-webkit-text-stroke:.065em #104f9e;paint-order:stroke fill;text-shadow:.022em .04em .012em #071c32,0 0 .18em #147aff;pointer-events:none}
.building-panel:not(.panel-about)>.floor-sign:after{content:'';position:absolute;z-index:-2;pointer-events:none;left:6%;right:6%;top:20%;bottom:17%;border-top:.035em solid #35404a;border-bottom:.035em solid #26303a;box-shadow:0 .025em .02em #17171380,inset 0 .012em #84909680;background:radial-gradient(circle at 10% 5%,#bbc0bb 0 .02em,#242d33 .025em .06em,transparent .065em),radial-gradient(circle at 90% 95%,#a6afab 0 .02em,#222b30 .025em .06em,transparent .065em)}
.building-panel:not(.panel-about)>.floor-sign:hover,.building-panel:not(.panel-about)>.floor-sign:focus-visible{color:#1e5686;text-shadow:0 0 .04em #fff,0 0 .1em #a9e9ff,0 0 .25em #369bff,0 0 .5em #1268ff}
/* Painted basement contacts: no tube stroke, restrained light on the paint. */
.basement-contacts a,.basement-contacts .contact-heading{font-family:'Drobots Graffiti','Russo One',sans-serif;font-weight:400;color:#ded9bf;-webkit-text-stroke:0;filter:none;letter-spacing:0;text-shadow:1px 1px 0 #28241c,0 0 5px #e9dca350,0 0 12px #e6c27b30}
.basement-contacts a:hover,.basement-contacts a:focus-visible,.basement-contacts .contact-heading:hover,.basement-contacts .contact-heading:focus-visible{color:#fff0c6;text-shadow:1px 1px #28241c,0 0 7px #f1d49a80,0 0 16px #e6c27b50}

.subway-station{position:relative;isolation:isolate;height:50cqw;min-height:330px;max-height:700px;background:#151917;box-shadow:0 0 0 100vmax #151917;clip-path:inset(0 -100vmax);margin-top:-1px}
.subway-backdrop{position:absolute;width:100%;height:100%;inset:0;pointer-events:none}
.subway-scroller{position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x pan-y;overscroll-behavior-x:contain}
.subway-scroller::-webkit-scrollbar{display:none}
.subway-track{position:relative;width:180%;min-width:1300px;height:100%}
.subway-train{position:absolute;bottom:-8%;width:100%;aspect-ratio:3/1;transform-origin:50% 80%}
.subway-train img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.subway-train.moving{animation:subway-rumble .24s ease-in-out infinite alternate}
.train-contact{position:absolute;top:44%;height:19%;display:block;background:transparent;border:0;text-decoration:none}
.train-email{left:10%;width:37%}.train-instagram{left:58%;width:29%}
.train-contact:hover{background:radial-gradient(ellipse,#ffffff16,transparent 70%)}
.train-contact:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:12px}
.subway-hint{position:absolute;top:4%;left:0;width:100%;margin:0;text-align:center;pointer-events:none;color:#dfddce;font:400 clamp(10px,1cqw,14px)/1.4 'Exo 2',sans-serif;letter-spacing:.06em;text-shadow:0 1px 5px #000}
.subway-touch{display:none}
.subway-controls{position:absolute;bottom:1.5%;left:22%;width:56%;display:flex;gap:12px;align-items:center}
.subway-controls button{cursor:pointer;width:32px;height:30px;padding:0;border:1px solid #78807870;background:#15221ee6;color:#e4dec9;border-radius:50%;font:18px/1 system-ui}
.subway-controls input{min-width:0;flex:1;accent-color:#c79654;height:18px}
@keyframes subway-rumble{from{transform:translateY(0)}to{transform:translateY(1px)}}
@media(max-width:650px){.subway-track{min-width:1000px}.subway-train{bottom:-3%}.subway-hint{top:5%}.subway-wheel{display:none}.subway-touch{display:inline}.subway-controls{left:10%;width:80%}}
@media(prefers-reduced-motion:reduce){.subway-train.moving{animation:none}}

/* Full-width underground scene; train dimensions remain tied to the original building. */
.subway-station{width:100vw;left:50%;transform:translateX(-50%);box-shadow:none;clip-path:none;overflow:hidden}
.subway-backdrop{background:#151917}
.subway-track{width:max(min(180vw,2520px),1300px)}
.subway-train{width:min(100%,2520px);bottom:-8%}
.subway-scroller:focus-visible{outline:2px solid #9aabc0;outline-offset:-3px}
.street-surround{position:absolute;z-index:-1;pointer-events:none;left:50%;transform:translateX(-50%);bottom:clamp(330px,50cqw,700px);width:100vw;height:100vw;background:var(--img-street-surround-v1-webp) center top/100% 113.2% no-repeat;mask-image:linear-gradient(transparent,#000 14%);-webkit-mask-image:linear-gradient(transparent,#000 14%)}
.panel-about:before,.panel-about:after{display:none}
/* Separate HTML compositing layers avoid SVG image opacity failures in mobile WebKit. */
.roof-neon{aspect-ratio:2114/744}
.roof-neon>img,.roof-neon>.neon-sparks{position:absolute;inset:0;width:100%;height:100%;display:block}
.neon-stu{clip-path:inset(0 48.91% 0 0);-webkit-clip-path:inset(0 48.91% 0 0)}
.dio-unlit,.dio-tube{clip-path:inset(0 0 0 51.09%);-webkit-clip-path:inset(0 0 0 51.09%)}
.dio-unlit{filter:grayscale(.9) brightness(.25)}
.dio-tube,.neon-sparks{animation:none;will-change:opacity}
.sky-clouds{position:absolute;inset:0 0 700px;z-index:-2;pointer-events:none;--wind-x:0px;--wind-y:0px}
.sky-clouds i{position:absolute;display:block;left:-25vw;top:0;width:60vw;height:22vw;background:var(--img-cloud-v1-webp) center/contain no-repeat;opacity:.75;transform:translate(var(--wind-x),var(--wind-y));transition:transform 2s ease-out;animation:cloud-drift 65s ease-in-out infinite alternate}
.sky-clouds i:nth-child(2){left:60%;top:15%;width:48vw;height:17vw;opacity:.55;animation-duration:87s;animation-delay:-22s}
.sky-clouds i:nth-child(3){left:-36%;top:40%;width:42vw;height:16vw;opacity:.4;animation-duration:103s;animation-delay:-45s}
.sky-clouds i:nth-child(4){left:75%;top:53%;width:35vw;height:11vw;opacity:.35;animation-duration:74s;animation-delay:-15s}
@keyframes cloud-drift{from{translate:-3vw 0}to{translate:6vw 1.2vw}}
@media(max-width:650px){.street-surround{height:120vw;width:180vw}.subway-track{width:1000px;min-width:1000px}.subway-train{bottom:-3%}.sky-clouds{inset:0 0 330px}.sky-clouds i{width:90vw;height:34vw;left:-45vw}.sky-clouds i:nth-child(2){width:70vw;height:25vw}}
@media(prefers-reduced-motion:reduce){.sky-clouds i{animation:none;transition:none;transform:none}}

/* Contain decorative viewport-wide layers without creating horizontal page overflow. */
html{overflow-x:clip}
body{overflow-x:clip}


/* Visible continuous wind, independent of pointer interaction. */
body::before{background:linear-gradient(180deg,#81b4d8 0%,#bad6e6 55%,#eadfc7 100%)}
.sky-clouds i{animation:cloud-travel 32s linear infinite alternate;will-change:transform;transition:none}
.sky-clouds i:nth-child(2){animation-duration:43s;animation-delay:-19s}
.sky-clouds i:nth-child(3){animation-duration:38s;animation-delay:-25s}
.sky-clouds i:nth-child(4){animation-duration:49s;animation-delay:-11s}
@keyframes cloud-travel{from{transform:translate3d(calc(-12vw + var(--wind-x)),var(--wind-y),0)}to{transform:translate3d(calc(22vw + var(--wind-x)),calc(1vw + var(--wind-y)),0)}}
/* Preserve the shop above; feather only the pavement's outer edges into the street. */
@media(min-width:1401px){.panel-about .floor-art{-webkit-mask-image:linear-gradient(#000 79%,transparent 92%),linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(#000 79%,transparent 92%),linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-composite:source-over;mask-composite:add}}
@media(prefers-reduced-motion:reduce){.sky-clouds i{animation:none;transform:none}}

.street-surround{background-image:var(--img-street-surround-v2-webp)}
.subway-track{width:max(clamp(1500px,270vw,3780px),calc(100vw + 500px));min-width:1500px}
.subway-train{width:100%;height:clamp(333.33px,60vw,840px);aspect-ratio:auto;bottom:-8%}
.subway-train>img{position:absolute;left:0;bottom:0;width:66.6667%;height:100%;object-fit:fill}
.subway-train>.telegram-car{left:66.1%;width:33.9%;height:100%}
.train-email{left:6.67%;width:24.67%}
.train-instagram{left:38.67%;width:19.33%}
.train-telegram{left:71%;width:25%;top:44%;height:20%}
.subway-scroller{cursor:grab}
.subway-scroller.dragging{cursor:grabbing;user-select:none}
@media(max-width:650px){.subway-train{bottom:-3%}}

.subway-train>.telegram-car{height:62.5%;bottom:17.8%}
@media(min-width:1401px){.street-surround{height:66.667vw}}

/* Narrow luminous glass cores and reflected light, with permanent metal backing. */
.building-panel:not(.panel-about)>.floor-sign{color:#102a43;-webkit-text-stroke:.022em #d7f6ff;text-shadow:0 0 .035em #fff,0 0 .09em #9bddff,0 0 .2em #368aff,0 0 .42em #196cebb0;filter:drop-shadow(0 .055em .025em #111e27);animation:tube-current 9s ease-in-out infinite}
.building-panel:not(.panel-about)>.floor-sign:before{-webkit-text-stroke:.062em #226eaf;text-shadow:.035em .05em .02em #07131e,0 0 .16em #2c96ff}
.building-panel:not(.panel-about)>.floor-sign:after{border-color:#283137;background:radial-gradient(ellipse,#3089ec33,transparent 70%),radial-gradient(circle at 17% 7%,#b9bec0 0 .025em,#172733 .028em .07em,transparent .074em),radial-gradient(circle at 83% 92%,#b9bec0 0 .025em,#172733 .028em .07em,transparent .074em)}
.panel-services>.floor-sign{animation-delay:-2.8s!important}.panel-learning>.floor-sign{animation-delay:-5.3s!important}.panel-partnership>.floor-sign{animation-delay:-7.1s!important}
@keyframes tube-current{0%,100%{opacity:1}38%{opacity:.94}41%{opacity:.98}68%{opacity:.92}72%{opacity:1}}
.panel-about>.floor-sign{padding:.12em .3em .16em;border:1px solid #aa8b4c;border-radius:.12em;background:linear-gradient(110deg,#152c25e8,#274538e8 45%,#142b25ed);box-shadow:inset 0 1px #e9c77490,inset 0 -2px #070e0b,0 .07em .08em #0009;letter-spacing:.075em;color:#d9bb72;-webkit-text-stroke:.012em #e9ce90;text-shadow:0 -.025em #fff0c1,.025em .035em #81612d,.045em .07em #080f0b;line-height:1.08}
.panel-about>.floor-sign:hover{color:#f0dca1;text-shadow:0 -.025em #fff0c1,.025em .035em #81612d,.045em .07em #080f0b,0 0 .18em #e7c48260}
@media(prefers-reduced-motion:reduce){.building-panel:not(.panel-about)>.floor-sign{animation:none}}
.panel-about .floor-art{left:6.8%;width:90.83%}
.panel-about{margin-top:-.7cqw;aspect-ratio:2.15}
.panel-about .floor-sign{left:30%;width:45%;top:15.5%}
.building-panel:not(.panel-portfolio){margin-top:-.35cqw}
.building-panel.panel-about{margin-top:-.7cqw}
.roof-support-photo{position:absolute;left:16%;top:1%;width:70%;height:100%;z-index:0;pointer-events:none}
.roof-deck-photo{position:absolute;z-index:-1;left:9%;width:84%;height:8%;bottom:-2%;pointer-events:none;overflow:hidden}
.roof-stage:after{display:block;left:12%;width:78%;bottom:-.5%;height:1.4%;background:radial-gradient(ellipse,#17161480,transparent 68%);clip-path:none}
@media(max-width:600px){.roof-support-photo{left:11%;width:80%}}
.station-neon{position:absolute;z-index:2;pointer-events:none;top:2%;left:50%;transform:translateX(-50%);width:max-content;max-width:94%;margin:0;padding:.13em .65em .2em;text-align:center;font:600 clamp(17px,2.2vw,36px)/1.2 'Exo 2',sans-serif;text-transform:uppercase;letter-spacing:.09em;color:#102a43;-webkit-text-stroke:.025em #d7f6ff;paint-order:stroke fill;text-shadow:0 0 .04em #fff,0 0 .1em #9bddff,0 0 .24em #368aff,0 0 .5em #196cebb0;border:1px solid #475052;border-radius:.14em;background:linear-gradient(100deg,#111b1dec,#263235ef 48%,#10191bec);box-shadow:inset 0 1px #8a969373,inset 0 -2px #050909,0 .08em .14em #000b;animation:tube-current 11s ease-in-out infinite}
.station-neon:before,.station-neon:after{content:'';position:absolute;top:46%;width:.13em;height:.13em;border-radius:50%;background:linear-gradient(135deg,#c0c8c2,#27312f);box-shadow:0 1px 2px #000}
.station-neon:before{left:.2em}.station-neon:after{right:.2em}
@media(prefers-reduced-motion:reduce){.station-neon{animation:none}}
/* Match the exposed sapphire tubes and steel framework of the rooftop STUDIO. */
.building-panel.building-panel>.floor-sign,.station-neon{font-family:'Exo 2',sans-serif;font-weight:300;color:#efffff;-webkit-text-stroke:.013em #bcefff;paint-order:stroke fill;background:none;border:0;border-radius:0;box-shadow:none;text-shadow:0 0 .025em #fff,0 0 .06em #e2ffff,0 0 .12em #4dbaff,0 0 .23em #076bff,0 0 .42em #003dff,0 .055em .025em #071420;filter:drop-shadow(.02em .04em .015em #09151c)}
.building-panel.building-panel>.floor-sign:before{content:attr(data-neon);position:absolute;inset:0;z-index:-1;color:transparent;-webkit-text-stroke:.085em #1353a4;text-shadow:.025em .065em .02em #071523;pointer-events:none}
.building-panel.building-panel>.floor-sign:after{content:'';position:absolute;z-index:-2;left:2%;right:2%;top:5%;bottom:0;border:.035em solid #414b52;box-shadow:inset 0 .025em #a4aeb58c,0 .04em .025em #061018;background:linear-gradient(32deg,transparent 49.5%,#39434a 49.8% 50.2%,transparent 50.5%),linear-gradient(-32deg,transparent 49.5%,#39434a 49.8% 50.2%,transparent 50.5%);pointer-events:none}
.panel-about>.floor-sign{padding:0;letter-spacing:.075em;line-height:1.08}
.building-panel.building-panel>.floor-sign:hover,.building-panel.building-panel>.floor-sign:focus-visible{color:#fff;text-shadow:0 0 .03em #fff,0 0 .08em #e2ffff,0 0 .16em #4dbaff,0 0 .3em #076bff,0 0 .5em #003dff}
.station-neon{padding:.13em .65em .2em;border:.035em solid #414b52;box-shadow:inset 0 1px #a4aeb56b,0 2px 2px #050b10;background:linear-gradient(15deg,transparent 49.4%,#39434a 49.8% 50.2%,transparent 50.6%)}
/* The shop is an antique American gilded fascia, deliberately not neon. */
.building-panel.panel-about>.floor-sign{font-family:Georgia,'Times New Roman',serif;font-weight:700;color:#d9bd79;-webkit-text-stroke:.009em #ead69c;letter-spacing:.075em;background:none;border:0;box-shadow:none;filter:none;animation:none;text-shadow:0 -.025em #f4e4b6,.018em .025em #967445,.035em .065em .025em #080f0b}
.building-panel.panel-about>.floor-sign:before,.building-panel.panel-about>.floor-sign:after{display:none}
.building-panel.panel-about>.floor-sign:hover,.building-panel.panel-about>.floor-sign:focus-visible{color:#f1db9f;text-shadow:0 -.025em #fff0c3,.018em .025em #967445,.035em .065em .025em #080f0b}
html[lang="en"] .panel-about>.floor-sign,html[lang="it"] .panel-about>.floor-sign{font-size:2.8cqw;letter-spacing:.045em}
/* Painted aged gold belongs to the existing fascia rather than floating above it. */
.building-panel.panel-about>.floor-sign{color:#b6a779;-webkit-text-stroke:0;opacity:.82;font-weight:600;letter-spacing:.055em;text-shadow:0 1px 1px #13241ba6,0 -1px #dac99a30;mix-blend-mode:screen}
.building-panel.panel-about>.floor-sign:hover,.building-panel.panel-about>.floor-sign:focus-visible{color:#cebd8f;opacity:.95;text-shadow:0 1px 1px #13241ba6}
/* Mount the station tubes directly on the existing steel girder; no overlay box. */
.station-neon{top:3%;padding:0 .3em .08em;max-width:86%;font-size:clamp(15px,1.9vw,30px);letter-spacing:.07em;border:0;box-shadow:none;background:none;color:#d2eced;-webkit-text-stroke:.01em #b3dfed;text-shadow:0 0 .025em #fff,0 0 .075em #b4e9ff,0 0 .16em #428bcb,0 0 .3em #19559180,0 .07em .045em #02090c;filter:drop-shadow(0 2px 1px #02090c);animation:none}
.station-neon:before,.station-neon:after{top:48%;width:.11em;height:.16em;border-radius:1px;background:#646e70;box-shadow:0 1px 1px #000;opacity:.7}
.building-panel.panel-about>.shop-painted-link{font-size:0!important;height:14%;opacity:1;mix-blend-mode:normal;color:transparent;text-shadow:none}
.building-panel.panel-about>.shop-painted-link:hover{color:transparent;text-shadow:none}
.shop-painted-link:focus-visible{outline:1px solid #c8b788;outline-offset:2px}
/* Individual ceramic tube saddles instead of rectangles crossing wall lamps. */
.building-panel:not(.panel-about)>.floor-sign:after{display:none}
.mounted-tube{position:relative;display:inline-block;isolation:isolate}
.mounted-tube:before,.mounted-tube:after{content:'';position:absolute;z-index:-1;pointer-events:none;left:48%;width:.065em;height:.13em;border-radius:.02em;background:linear-gradient(90deg,#292d2f,#98978b 45%,#343c3e);box-shadow:.02em .03em .025em #10171b;border-bottom:.025em solid #afb6b2}
.mounted-tube:before{top:17%}.mounted-tube:after{bottom:12%;left:38%}
.tube-space{white-space:pre}
/* Concept: a real suspended enamel subway nameboard. */
.station-neon{top:8%;padding:.25em .85em .3em;font-family:Arial,Helvetica,sans-serif;font-size:clamp(14px,2vw,28px);font-weight:600;line-height:1.1;letter-spacing:.015em;text-transform:none;color:#deded4;-webkit-text-stroke:0;text-shadow:0 1px #060909;filter:none;background:linear-gradient(110deg,#232929,#101717 60%,#202526);border:1px solid #48504c;border-top:2px solid #c6cac0;border-bottom:3px solid #080d0d;border-radius:1px;box-shadow:2px 4px 4px #000b,inset 0 1px #ffffff12;animation:none;overflow:visible}
.station-neon:before,.station-neon:after{top:auto;bottom:100%;height:clamp(18px,3cqw,38px);width:5px;border:0;border-radius:0;background:linear-gradient(90deg,#0b1010,#58605a 50%,#151a19);box-shadow:1px 0 1px #000;opacity:1}
.station-neon:before{left:12%}.station-neon:after{right:12%}
.station-light{position:absolute;left:25%;top:-7px;width:50%;height:4px;background:#b9b8a7;border-top:2px solid #313b36;border-radius:2px;box-shadow:0 3px 5px #f2e4b940;pointer-events:none}
.station-neon.station-retro{top:1.2%;width:clamp(250px,38vw,460px);max-width:84%;height:auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none;filter:brightness(.82) drop-shadow(1px 4px 3px #000a)}
.station-retro:before,.station-retro:after{display:none}
.station-retro svg{display:block;width:100%;height:auto;overflow:visible}

/* Shared drainpipe datum: 17.744% / 88.232% of the building width.
   Crops remove repeated upper cornices while retaining each original pixel scale vertically. */
.panel-portfolio .floor-art{left:6.978%;width:87.034%}
.panel-services .floor-art{left:7.260%;width:87.280%}
.panel-learning .floor-art{left:4.506%;width:89.775%}
.panel-services{aspect-ratio:1000 / 352.39}
.panel-learning{aspect-ratio:1000 / 359.53}
.panel-partnership{aspect-ratio:1000 / 365.18}
@media(max-width:600px){
 .panel-services{aspect-ratio:1000 / 379.50}
 .panel-learning{aspect-ratio:1000 / 387.19}
 .panel-partnership{aspect-ratio:1000 / 393.27}
}

/* Restrain the warmer middle-storey render to the weathered red-brown facade palette. */
.panel-learning .floor-art{filter:saturate(.94) brightness(.99)}


/* Close the transparent lower edge of Services without moving panels or links. */
.panel-learning .floor-art{top:-.65cqw;height:calc(100% + .65cqw)}


/* Red enamel railway plaque, existing station title in each locale. */
.station-neon.station-retro{top:0;width:clamp(240px,32vw,380px);filter:brightness(.82) drop-shadow(1px 4px 3px #000a)}


.street-surround:not(.asset-visible){background-image:none!important}

.roof-robots{aspect-ratio:1905 / 825}

/* Enlarged enamel station sign, with matching accessible carriage controls. */
.station-neon.station-retro{width:min(620px,calc(100% - 120px));max-width:none}
.station-arrow{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:48px;padding:6px;pointer-events:auto;cursor:pointer;border:3px ridge #b4944a;border-radius:2px;background:linear-gradient(135deg,#ad361d,#781908 65%,#94250f);box-shadow:inset 0 0 0 1px #451405,inset 0 2px 3px #f5b95455,2px 4px 4px #0009;color:#f3d686}
.station-arrow-left{right:calc(100% + 8px)}.station-arrow-right{left:calc(100% + 8px)}
.station-arrow svg{width:100%;height:100%;fill:currentColor;stroke:#6e4816;stroke-width:1;filter:drop-shadow(0 1px 1px #210b02)}.station-arrow-right svg{transform:scaleX(-1)}
.station-arrow:hover{color:#fff1b6;background:linear-gradient(135deg,#b73d22,#8c210c)}.station-arrow:focus-visible{outline:2px solid #ffe7a1;outline-offset:3px}
@media(max-width:600px){.station-neon.station-retro{width:calc(100% - 104px)}.station-arrow{width:44px;height:44px;padding:4px}.station-arrow-left{right:calc(100% + 4px)}.station-arrow-right{left:calc(100% + 4px)}}

/* Compact railway plaque: keep the train roof and contact artwork visible. */
.station-neon.station-retro{top:-3%;width:clamp(170px,28vw,300px);max-width:calc(100% - 104px)}
.station-arrow{width:44px;height:44px;padding:4px}
.station-arrow-left{right:calc(100% + 6px)}.station-arrow-right{left:calc(100% + 6px)}

/* Preserve the authored light home palette in browsers respecting color-scheme. */
:root{color-scheme:only light}
