/* Surface presentation is unchanged. The workshop below has one coordinate plane. */
.home-page .hero-entry-camera{position:absolute;inset:0;z-index:-3;transform-origin:65% 55%;pointer-events:none}
.home-page .hero-entry-camera .hero-art{z-index:0;transform:translate3d(calc(var(--surface-progress,0) * -28px),calc(var(--surface-progress,0) * -18px),0) scale(calc(1 + var(--surface-progress,0) * .12));transform-origin:65% 55%}
.home-page .surface-light{position:absolute;inset:0;opacity:calc(.65 - var(--surface-progress,0) * .4);background:radial-gradient(ellipse at 82% 47%,#61f6e52e,transparent 24%),repeating-linear-gradient(172deg,transparent 0 38px,#82e6ed0b 40px,transparent 43px 85px);mask-image:linear-gradient(90deg,transparent 25%,#000 70%);mix-blend-mode:screen;animation:surface-reflection 9s ease-in-out infinite}
@keyframes surface-reflection{0%,100%{transform:translateY(0);filter:brightness(.85)}50%{transform:translateY(6px);filter:brightness(1.15)}}
.home-page .journey-gateway{display:none!important}

/* Reading and architecture inhabit one wide scene, with an unoccupied reading bank. */
.home-page #sistemas{position:relative;padding:0}
.home-page #sistemas .system-scene{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:0;max-width:1600px;margin-inline:auto;padding:36px clamp(22px,5vw,80px) 20px;min-height:600px;overflow:visible}
.home-page #sistemas .system-copy{grid-area:1/1;width:100%;max-width:560px;padding:0;margin:0;transform:none;background:none;min-width:0}
.home-page #sistemas .system-copy h2{font-size:clamp(36px,4vw,58px);line-height:1.14;max-width:100%;margin:20px 0 26px;letter-spacing:-.035em}
.home-page #sistemas .system-copy>p:not(.eyebrow){max-width:430px;font-size:17px;line-height:1.8}
.home-page #sistemas .system-scene:after,.home-page #sistemas:before{display:none}
.software-title-link{color:inherit;text-decoration:none;transition:color .25s,text-shadow .25s;outline-offset:8px}
.software-title-link:hover,.software-title-link:focus-visible{color:#c7fff3;text-shadow:0 0 24px #71e3df48}
.software-title-link:focus-visible{outline:1px solid #9de9df}
.home-page .software-construction{grid-area:1/2;position:relative;display:block;width:123%;max-width:none;min-width:0;margin-left:-16%;margin-top:0;color:#def6f6;text-decoration:none;isolation:isolate;outline-offset:6px;transform:translate3d(var(--console-x,0px),var(--console-y,0px),0)}
.software-construction:focus-visible{outline:1px solid #96e8df;border-radius:48% 35% 42% 32%}
.workshop-arrival{display:block;transform-origin:65% 60%;transform:translate3d(0,calc((1 - var(--atlantis-arrival,1)) * 44px - var(--workshop-exit,0) * 32px),0) scale(calc(.9 + var(--atlantis-arrival,1) * .1 - var(--workshop-exit,0) * .035));opacity:var(--workshop-presence,1)}
.construction-stage{display:block;position:relative;width:100%;aspect-ratio:3/2;isolation:isolate}
.construction-architecture{position:absolute;inset:0;display:block;pointer-events:none;z-index:0}
.construction-architecture img{display:block;width:100%;height:100%;object-fit:contain;filter:saturate(.68) brightness(.73);opacity:.95}
.workshop-depth{position:absolute;inset:-12% -4% -4% -12%;pointer-events:none;z-index:-1;mask-image:radial-gradient(ellipse,#000 22%,transparent 70%);background:radial-gradient(ellipse at 65% 47%,#25859a35,transparent 58%),radial-gradient(ellipse at 18% 70%,#12475820,transparent 65%);transform:translateY(calc(var(--workshop-residence,0) * -10px))}
.workshop-reflection{position:absolute;inset:62% 11% 4% 40%;border-radius:50%;pointer-events:none;z-index:-1;background:radial-gradient(ellipse,#31899632,transparent 67%);opacity:calc(.4 + var(--terrace-light-3,.5) * .4)}

/* Floors, routed light and labels all use the same art coordinates. */
.construction-layer{position:absolute;display:block;z-index:auto;--terrace-lit:.55}
.construction-layer[data-stage="0"]{left:9%;top:19.8%;width:24%;--terrace-lit:var(--terrace-light-0,.55)}
.construction-layer[data-stage="1"]{left:78%;top:27%;width:20%;--terrace-lit:var(--terrace-light-1,.55)}
.construction-layer[data-stage="2"]{left:6%;top:56%;width:31%;--terrace-lit:var(--terrace-light-2,.55)}
.construction-layer[data-stage="3"]{left:48%;top:37.5%;width:37%;--terrace-lit:var(--terrace-light-3,.7)}
.construction-object{display:block;position:relative;z-index:2}
.construction-object svg{display:block;width:100%;height:auto;overflow:visible;fill:#174e6059;stroke:rgb(185 247 235 / calc(.58 + var(--terrace-lit) * .32));stroke-width:1.4;filter:drop-shadow(0 1px 2px #001926) drop-shadow(0 0 4px #72eee930)}
.construction-drawing{transform:matrix(.97,.025,-.32,.53,18,-10);transform-origin:50% 50%}
.construction-object .detail{fill:none;stroke:#c0ede7c7;stroke-width:1.6}
.construction-object .flow{fill:none;stroke:#b8fff1;stroke-width:2}
.construction-object .application-frame{fill:#175b6766;stroke:#a3eee1;stroke-width:2}
.construction-object .application-module{fill:#68bfbd32}
.construction-layer[data-stage="3"] .construction-object svg{filter:drop-shadow(0 2px 3px #041c28) drop-shadow(0 0 8px #5de8df65)}
.construction-label{position:relative;z-index:3;display:block;width:max-content;max-width:150%;margin:-6px 0 0;left:50%;transform:translateX(-50%);color:#d4eeec;font:600 14px/1.5 Manrope,sans-serif;letter-spacing:0;text-align:center;text-wrap:balance;text-shadow:0 1px 2px #001422,0 2px 6px #001422,0 0 12px #001422;background:radial-gradient(ellipse at center,#041b29b8 0%,#041b2960 48%,transparent 74%)}
.construction-layer[data-stage="3"] .construction-label{font-size:16px;color:#c2fff0;font-weight:600}
.construction-label:before{content:'';display:block;width:1px;height:13px;background:linear-gradient(#a3f8dfaa,#a3f8df22);margin:0 auto 5px}
.terrace-connections{position:absolute;inset:0;width:100%;height:100%;z-index:1;fill:none;pointer-events:none}
.terrace-wire{stroke:#9bebdf;stroke-opacity:.35;stroke-width:1.8}
.terrace-pulse{stroke:#baffef;stroke-width:3;stroke-linecap:round;stroke-dasharray:12 100;stroke-dashoffset:calc(12 - var(--terrace-travel,.5) * 112 + var(--route) * 4);opacity:.8;filter:drop-shadow(0 0 4px #4de8e9)}
.workshop-compact{display:none}
@media(hover:hover) and (pointer:fine){.software-construction:hover .construction-object svg,.software-construction:focus-visible .construction-object svg{stroke:#d1fff2;filter:drop-shadow(0 0 7px #74f1dd65)}.software-construction:hover .workshop-reflection{opacity:.85}}
@media(min-width:1500px){.home-page #sistemas .system-scene{min-height:700px}}
@media(min-width:1001px) and (max-width:1200px){.home-page #sistemas .system-scene{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);padding-inline:36px;min-height:580px}.home-page #sistemas .system-copy h2{font-size:clamp(32px,4vw,44px)}.home-page #sistemas .system-copy h2 br{display:none}.home-page #sistemas .system-copy>p:not(.eyebrow){font-size:16px;max-width:330px}.home-page .software-construction{width:110%;margin-left:-10%;margin-top:80px}.construction-label{font-size:14px;max-width:135%}.construction-layer[data-stage="3"] .construction-label{font-size:14px}}
@media(max-width:1000px){.home-page #sistemas .system-scene{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:45px 22px 24px;min-height:0}.home-page #sistemas .system-copy{max-width:760px;margin:auto}.home-page #sistemas .system-copy h2{font-size:clamp(32px,8.6vw,42px);margin:18px 0 22px}.home-page #sistemas .system-copy h2 br{display:none}.home-page #sistemas .system-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:100%}.home-page .software-construction{width:100%;max-width:760px;margin:6px auto 0}.construction-label{font-size:14px}.construction-layer[data-stage="3"] .construction-label{font-size:15px}}
@media(max-width:640px){.construction-stage{aspect-ratio:4/5}.construction-layer[data-stage="0"]{left:15%;top:17%;width:33%}.construction-layer[data-stage="1"]{left:68%;top:30%;width:29%}.construction-layer[data-stage="2"]{left:4%;top:46%;width:36%}.construction-layer[data-stage="3"]{left:37%;top:53%;width:52%}.construction-label{margin-top:-3px;max-width:130%;font-size:14px}.construction-label:before{height:10px;margin-bottom:4px}.construction-layer[data-stage="3"] .construction-label{max-width:100%;font-size:14px}.workshop-wide{display:none}.workshop-compact{display:block}.construction-object svg{stroke-width:2}.construction-object .detail{stroke-width:2.2}.construction-architecture img{filter:saturate(.62) brightness(.7)}.home-page .surface-light{mask-image:linear-gradient(90deg,transparent 35%,#000);opacity:calc(.4 - var(--surface-progress,0) * .25)}}
/* Complete static art is the baseline; there are no autonomous module animations. */
.motion-paused .surface-light,body:not(.js) .surface-light{animation:none}
.motion-paused .hero-entry-camera .hero-art{transform:none!important}
.motion-paused .software-construction,.motion-paused .workshop-arrival,.motion-paused .workshop-depth,body:not(.js) .workshop-arrival,body:not(.worlds-capable) .workshop-arrival{transform:none;opacity:1}
.motion-paused .terrace-pulse,body:not(.js) .terrace-pulse,body:not(.worlds-capable) .terrace-pulse{display:none}
@media(prefers-reduced-motion:reduce){.home-page .surface-light{animation:none}.home-page .hero-entry-camera .hero-art,.software-construction,.workshop-arrival,.workshop-depth{transform:none!important;opacity:1}.terrace-pulse{display:none}.software-title-link{transition:none}}

/* Light belongs to the engraved floor and follows its existing scroll emphasis. */
.construction-object .terrace-caustic{stroke:none;opacity:calc(.08 + var(--terrace-lit,.4) * .2);transform:translateX(calc((var(--terrace-travel,.5) - .5) * 16px));pointer-events:none}
.construction-object .terrace-glint{fill:none;stroke:#afffef;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:44 360;stroke-dashoffset:calc(30 - var(--terrace-travel,.5) * 340);opacity:calc(.1 + var(--terrace-lit,.4) * .34);pointer-events:none}
.construction-layer[data-stage="3"] .terrace-caustic{opacity:calc(.16 + var(--terrace-lit,.4) * .24)}
.construction-layer[data-stage="3"] .application-module{fill:rgb(104 191 189 / calc(.16 + var(--terrace-lit,.4) * .2))}
@media(hover:hover) and (pointer:fine){.software-construction:hover .terrace-caustic{opacity:.3}}
.motion-paused .terrace-glint,body:not(.js) .terrace-glint{stroke-dasharray:none;opacity:.12}
@media(prefers-reduced-motion:reduce){.construction-object .terrace-glint{stroke-dasharray:none;opacity:.12}.construction-object .terrace-caustic{transform:none}}
