.cinematic-city{position:absolute;inset:0;overflow:hidden;background:#06131e;pointer-events:auto}.cinematic-city[hidden]{display:none}.city-canvas{position:absolute;left:50%;transform:translateX(calc(-50% + var(--push,0)*13%)) scale(calc((1 + var(--push,0)*.22) * var(--cap-camera,1)));transform-origin:35% 42%;overflow:visible}.architecture-story .world .city-canvas>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;mask-image:none}.city-background{z-index:0;filter:brightness(var(--environment,1))}.city-complete{z-index:1;pointer-events:none}.city-building{position:absolute;z-index:3;transform-origin:50% 100%}.city-building img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.city-building-core{z-index:4}.city-building-process,.city-building-software{z-index:5}.city-service-link{position:absolute;transform:translate(-50%,-50%);width:58%;min-height:44px;border:0;background:transparent;color:#f4f8fb;font:inherit;font-size:clamp(9px,.88vw,15px);font-weight:650;line-height:1.1;text-align:center;cursor:pointer;padding:3px;text-shadow:0 1px 3px #000}.city-service-link:focus-visible{outline:2px solid #ffb67b;outline-offset:3px;background:#07111dbb}.city-service-link:hover{color:#ffb17d}.city-extensions{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.city-link-structure{fill:none;stroke:#263744;stroke-width:11;stroke-linecap:round}.city-link-light{fill:none;stroke:#ff9a53;stroke-width:3;stroke-linecap:round}.city-link-signal{fill:none;stroke:#ffe6bf;stroke-width:2;stroke-dasharray:3 18;animation:city-energy 4.9s linear infinite}.city-core-glow{position:absolute;z-index:6;left:53.7%;top:20.7%;width:4.7%;height:5.3%;border-radius:5px;box-shadow:0 0 19px #ff8e4560;pointer-events:none;animation:city-orchestration 7s ease-in-out infinite}.city-controls{position:absolute;left:4%;bottom:100px;display:flex;gap:15px;align-items:center;max-width:450px;color:#bfccd5;font-size:11px}.city-controls[hidden]{display:none}.city-replay{border:1px solid #708b9b;background:#0b1e2acf;color:#e5eef4;min-height:40px;padding:8px 12px;font:inherit;font-size:11px;cursor:pointer}.city-moving .city-building{will-change:transform,opacity}.city-static *{animation-play-state:paused!important}.architecture-story .world:has(.cinematic-city:not([hidden])){inset:0;height:100%;min-height:0;pointer-events:auto}.architecture-story:has(.cinematic-city:not([hidden])){background:#06131e}.architecture-story[data-chapter="0"] .story-copy{top:12%;left:4%;width:31%;max-width:440px}.architecture-story[data-chapter="0"] .story-copy h1{font-size:clamp(36px,3.7vw,58px);line-height:1.08;letter-spacing:-.035em}.architecture-story[data-chapter="0"] .story-line{color:#eff3f6;font-size:15px;max-width:360px}.architecture-story[data-chapter="0"] .story-description{font-size:14px;color:#d9e4eb;max-width:350px}.architecture-story[data-chapter="1"] .story-copy{top:12%;width:30%}.architecture-story[data-chapter="1"] .story-copy h1{font-size:clamp(32px,3.4vw,52px)}.architecture-story:has(.cinematic-city:not([hidden])) .story-navigation{background:linear-gradient(transparent,#06131eb8);border-radius:0}.language-pill{position:fixed;top:24px;right:4%;display:flex;align-items:center;border:1px solid #df8b51;border-radius:30px;background:#091a27c9;z-index:40;padding:0 5px;min-height:34px}.language-pill>span{padding:6px 10px;font-size:12px;color:#ffa363;font-weight:600}.language-pill .language-switch{position:static!important;min-width:34px;min-height:34px;padding:5px 8px;border:0;background:transparent;font-size:12px}.header-actions{padding-right:104px}.wordmark{display:flex;align-items:center;gap:10px;letter-spacing:0}.wordmark>span{font-size:22px!important;letter-spacing:0!important;vertical-align:baseline!important;margin:0!important;font-weight:500}.wordmark .brand-logo{width:30px!important;height:30px!important}.city-cta-arrow{padding-left:22px}
@keyframes city-energy{to{stroke-dashoffset:-168px}}@keyframes city-orchestration{50%{box-shadow:0 0 30px #ff9c4c90}}
@media(min-width:701px){body:has(.architecture-story)>header,body:has(.architecture-story:not([data-chapter="0"]))>header{position:absolute;height:80px;background:transparent}.architecture-story[data-chapter="0"] .story-kicker{display:none}}
@media(min-width:701px) and (max-width:1100px){.architecture-story[data-chapter="0"] .story-copy{width:36%}.architecture-story[data-chapter="0"] .story-copy h1{font-size:36px}.architecture-story[data-chapter="0"] .story-line{font-size:13px}.city-controls{bottom:115px;max-width:310px;font-size:10px}}
@media(max-width:700px){.cinematic-city{background:#06131e}.city-canvas{mask-image:linear-gradient(transparent 0%,#000 5%,#000 95%,transparent 100%)}.city-service-link{font-size:clamp(8px,2.2vw,11px);min-height:34px;width:65%;padding:1px}.city-core-glow{box-shadow:0 0 12px #ff9a4540}.city-controls{left:24px;right:24px;bottom:119px;justify-content:space-between;max-width:none;font-size:9px;gap:10px}.city-phase{max-width:150px}.city-replay{font-size:10px;min-height:36px;padding:6px 8px}.architecture-story[data-chapter="0"] .story-copy,.architecture-story[data-chapter="1"] .story-copy{top:24px;left:24px;width:calc(100% - 48px);max-width:none}.architecture-story[data-chapter="0"] .story-copy h1{font-size:31px;line-height:1.08;max-width:300px;margin-bottom:12px}.architecture-story[data-chapter="0"] .story-line{font-size:12px;max-width:285px;line-height:1.4}.architecture-story[data-chapter="0"] .story-description{font-size:12px;max-width:240px;line-height:1.4}.architecture-story[data-chapter="0"] .story-kicker{font-size:10px;margin-bottom:9px}.architecture-story[data-chapter="1"] .story-copy h1{font-size:28px;max-width:330px}.architecture-story[data-chapter="1"] .story-description{max-width:270px}.language-pill{top:16px;right:24px}.header-actions{padding-right:80px}.wordmark>span{font-size:18px!important}.city-controls{pointer-events:auto}.architecture-story:has(.cinematic-city:not([hidden])) .story-copy{pointer-events:none}.architecture-story:has(.cinematic-city:not([hidden])) .story-copy a{pointer-events:auto}}
@media(max-width:700px) and (max-height:740px){.architecture-story[data-chapter="0"] .story-copy h1{font-size:27px;max-width:290px;margin-bottom:9px}.architecture-story[data-chapter="0"] .story-copy{top:18px}.architecture-story[data-chapter="0"] .story-description{max-width:185px;font-size:11px;line-height:1.3}.architecture-story[data-chapter="0"] .story-line{font-size:11px;max-width:270px;margin-bottom:6px}.city-controls{bottom:108px;font-size:8px}.city-replay{min-height:32px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.cinematic-city *{animation:none!important;will-change:auto!important}}
.city-ambient-signal{fill:none;stroke:#ffe1ae;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:4 80;animation:city-energy 6.5s linear infinite;pointer-events:none}.city-ambient-signal:nth-child(2){animation-delay:-2s}.city-ambient-signal:nth-child(3){animation-delay:-4s}.city-ambient-signal:nth-child(4){animation-delay:-1s}
.city-link-structure{stroke:#687983;stroke-width:4}.city-link-light{stroke:#ffb268;stroke-width:2}.city-link-signal{stroke-width:1.2}.city-service-link{line-height:1.1}.wordmark{min-width:160px}body:has(.architecture-story)>header{border-bottom:0;justify-content:space-between;width:auto}.header-actions{margin-left:0}header>nav{margin-left:auto}
@media(max-width:700px){body:has(.architecture-story)>header,body:has(.architecture-story:not([data-chapter="0"]))>header{position:absolute;top:0;left:0;right:0;height:72px;background:transparent}.architecture-story[data-chapter="0"] .story-copy,.architecture-story[data-chapter="1"] .story-copy{top:80px}.city-canvas{transform:translateX(calc(-55.6% + var(--push,0)*13%)) scale(calc((1 + var(--push,0)*.14) * var(--cap-camera,1)))}.city-service-link{min-height:44px}.city-controls{bottom:119px}.wordmark{min-width:0}}
@media(max-width:700px) and (max-height:740px){.architecture-story[data-chapter="0"] .story-copy,.architecture-story[data-chapter="1"] .story-copy{top:70px}.city-controls{bottom:107px}}
@media(min-width:701px) and (max-aspect-ratio:1/1){.city-canvas{transform:translateX(calc(-55.6% + var(--push,0)*13%)) scale(calc((1 + var(--push,0)*.14) * var(--cap-camera,1)));mask-image:linear-gradient(transparent 0%,#000 5%,#000 95%,transparent 100%)}.city-service-link{font-size:12px}}
@media(min-width:701px) and (max-height:600px) and (min-aspect-ratio:4/3){.city-canvas{left:auto;right:-1px;transform:translateX(calc(var(--push,0)*8%)) scale(calc((1 + var(--push,0)*.12) * var(--cap-camera,1)));mask-image:linear-gradient(90deg,transparent,#000 10%,#000 100%)}.architecture-story[data-chapter="0"] .story-copy{top:90px;width:38%}.architecture-story[data-chapter="0"] .story-copy h1{font-size:27px;margin-bottom:10px}.architecture-story[data-chapter="0"] .story-line{font-size:11px;margin-bottom:8px}.architecture-story[data-chapter="0"] .story-description{font-size:11px;max-width:250px;margin-bottom:10px}.city-controls{display:none}.story-navigation nav a{font-size:9px;padding:5px}.story-navigation{bottom:8px;font-size:10px}.story-navigation>button,.story-navigation>a{font-size:10px}}
.architecture-story:is([data-chapter="0"],[data-chapter="1"],[data-chapter="6"]) .world{inset:0;height:100%;min-height:0;background:#06131e}
/* Full-viewport peripheral environment; architectural framing is independent of viewport width. */
.architecture-story .world>.cinematic-city>.city-surround{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.48;mask-image:linear-gradient(#000 0%,#000 82%,transparent 100%);pointer-events:none}
.city-canvas{mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.city-extensions{z-index:6;overflow:visible}
/* Shared normalized paths make pulse position and endpoint reactions deterministic.
   A pulse head reaches the endpoint at 94% of a cycle. The return channel is
   half a cycle behind the outward one; both use the same arrival keyframes. */
.city-flow{transition:filter .25s;--connection-intensity:1}
.city-data-fiber,.city-data-outbound,.city-data-return,.city-facade-response{fill:none;stroke-linecap:round}
.city-data-fiber{stroke:#ff9457;stroke-width:.5;opacity:calc(.48 * var(--connection-intensity))}
.city-data-outbound,.city-data-return{stroke-width:1.6;stroke-dasharray:.045 1.035;opacity:var(--connection-intensity);animation:city-send var(--flow-duration) linear var(--out-delay) infinite both;stroke:#fff1d4;filter:drop-shadow(0 0 .7px #ffa25b)}
.city-data-return{stroke:#ffd09c;stroke-width:1.4;opacity:calc(var(--return-opacity,0)*var(--connection-intensity));animation-name:city-receive;animation-delay:var(--in-delay)}
.city-data-outbound.is-secondary,.city-data-return.is-secondary{stroke-width:.6;stroke-dasharray:.025 1.055}
.city-arrival{fill:none;stroke:#ffc586;stroke-width:.8;opacity:0;animation:city-arrive var(--flow-duration) linear var(--out-delay) infinite both}
.city-arrival-central{animation-delay:var(--in-delay)}
.city-facade-response{stroke:#ffb375;stroke-width:.8;stroke-dasharray:.16 .84;opacity:0;animation:city-facade var(--flow-duration) linear var(--out-delay) infinite both}
.city-flow *{animation-play-state:paused!important}
.city-flow-active:not(.city-static) .city-flow *{animation-play-state:running!important}
.city-data-hub{fill:none;stroke:#ffd8aa;stroke-width:.7;opacity:0;animation:city-hub 5s ease-in-out infinite}
.city-building:has(.city-service-link):after{content:none}
@keyframes city-send{from{stroke-dashoffset:.06}to{stroke-dashoffset:-1.02}}
@keyframes city-receive{from{stroke-dashoffset:-1.02}to{stroke-dashoffset:.06}}
@keyframes city-arrive{0%,90%{opacity:0;stroke-width:.7}94%{opacity:calc(.85*var(--connection-intensity));stroke-width:1.2}100%{opacity:0;stroke-width:.7}}
@keyframes city-facade{0%,90%{opacity:0;stroke-dashoffset:.16}94%{opacity:calc(.55*var(--connection-intensity));stroke-dashoffset:0}100%{opacity:0;stroke-dashoffset:-.84}}
.city-tower-emblem{position:absolute;left:0;top:0;width:100px;height:100px;transform-origin:0 0;background:none;pointer-events:none}

.city-tower-emblem .brand-symbol{position:absolute;left:9%;top:24%;width:82%;height:55%;color:#ffc181;filter:drop-shadow(0 0 1.1px #ff8a4a)}
.city-tower-emblem .brand-amp{fill:#ffb174}
.brand-identity{display:flex;align-items:center;gap:13px;width:156px;height:44px;color:#eef2ee}
.brand-symbol{width:58px;height:40px;flex:none;overflow:visible}
.brand-word{width:85px;height:18px;overflow:visible;--logo-draw:var(--word-draw,1)}
.brand-fill{fill:currentColor;opacity:clamp(0,calc((var(--logo-draw,1) - .7)*3.334),1)}
.brand-amp{fill:#ff814b}
.brand-rule{fill:none;stroke:currentColor;stroke-width:1.6}
.brand-clip-shape{fill:#fff;stroke:#fff;stroke-width:1.6}
.brand-trace{fill:none;stroke:#ffb36c;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - clamp(0,calc((var(--logo-draw,1) - var(--strand-lag,0))*1.5),1));opacity:clamp(0,calc((1 - var(--logo-draw,1))*2.3),1)}
.brand-word .brand-trace{stroke-width:.3}
.brand-signal{fill:none;stroke:#ffd2a0;stroke-width:1;stroke-linecap:round;stroke-dasharray:.035 .965;animation:brand-data 4.8s linear infinite;opacity:calc(var(--logo-draw,1)*.65)}
.brand-word .brand-signal{stroke-width:.2}
.brand-signal:nth-child(3n){animation-delay:-1.6s}.brand-signal:nth-child(3n + 1){animation-delay:-3.2s}
.brand-paused *{animation-play-state:paused!important}
.wordmark>.brand-identity{font-size:inherit!important}
@keyframes city-outbound{to{stroke-dashoffset:-158}}
@keyframes city-return{to{stroke-dashoffset:124}}
@keyframes city-hub{50%{stroke-opacity:.45}}
@keyframes city-destination{50%{box-shadow:0 0 11px #ff96584d}}
@keyframes brand-data{to{stroke-dashoffset:-1}}
@media(max-width:700px){.city-canvas{mask-image:linear-gradient(transparent 0%,#000 5%,#000 95%,transparent 100%)}.city-surround{display:none}.brand-identity{width:133px;gap:10px}.brand-symbol{width:50px;height:34px}.brand-word{width:73px;height:16px}.city-data-outbound{filter:none;stroke-width:1}.city-data-fiber{stroke-width:.55}.city-data-return{stroke-width:.8}.city-building:after{box-shadow:none!important}}
@media(min-width:701px) and (max-aspect-ratio:1/1){.city-canvas{mask-image:linear-gradient(transparent,#000 5%,#000 95%,transparent)}}
@media(min-width:701px) and (max-height:600px) and (min-aspect-ratio:4/3){.city-canvas{mask-image:linear-gradient(90deg,transparent,#000 10%,#000 100%)}}
@media(prefers-reduced-motion:reduce){.brand-identity *,.cinematic-city *{animation:none!important}.brand-identity{--logo-draw:1;--word-draw:1}}
.architecture-story .world>.cinematic-city>.city-surround{object-position:center top}
/* Keep existing service controls reachable on short landscape screens. */
@media(min-width:701px) and (max-height:600px) and (min-aspect-ratio:4/3){.architecture-story:not([data-chapter="0"]):not([data-chapter="1"]):not([data-chapter="6"]) .story-copy{top:66px;width:35%}.architecture-story:not([data-chapter="0"]):not([data-chapter="1"]):not([data-chapter="6"]) .story-copy h1{font-size:22px;margin-bottom:10px}.architecture-story:not([data-chapter="0"]):not([data-chapter="1"]):not([data-chapter="6"]) .story-kicker{font-size:10px;margin-bottom:7px}.architecture-story:not([data-chapter="0"]):not([data-chapter="1"]):not([data-chapter="6"]) .story-line{font-size:10px;margin-bottom:8px}.architecture-story:not([data-chapter="0"]):not([data-chapter="1"]):not([data-chapter="6"]) .story-description{display:none}.architecture-story .sequence-controls{margin-top:6px;gap:5px}.architecture-story .sequence-controls p{font-size:10px;margin-bottom:2px}.architecture-story .sequence-controls button,.architecture-story #chapter-extra>button,.architecture-story .human-check button{font-size:10px;min-height:30px;padding:6px}.architecture-story .story-copy .button{min-height:32px;font-size:11px;padding:8px 12px;margin-top:8px}.architecture-story .human-check{padding:8px}.architecture-story .human-check strong{font-size:11px}.architecture-story .human-check p{font-size:10px;margin:6px 0 0}}
.brand-identity{position:relative}.brand-feeds{position:absolute;left:-20px;top:0;width:80px;height:44px;overflow:visible;pointer-events:none;opacity:calc((1 - var(--logo-draw,1))*.65)}.brand-feeds path{fill:none;stroke:#ffb079;stroke-width:.65;stroke-dasharray:9 70;animation:brand-arrival 1.8s linear infinite}.brand-feeds path:nth-child(2){animation-delay:-.6s}.brand-feeds path:nth-child(3){animation-delay:-1.2s}.tower-feed{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#ffb276;stroke-width:.7;stroke-dasharray:7 40;opacity:calc((1 - var(--logo-draw,1))*.65);animation:city-outbound 2s linear infinite;pointer-events:none}@keyframes brand-arrival{to{stroke-dashoffset:-79}}
/* Scale vector and HTML information with the architecture on large desktop viewports. */
@media(min-width:2400px){.architecture-story[data-chapter="0"] .story-copy{max-width:880px}.architecture-story[data-chapter="0"] .story-copy h1{font-size:clamp(70px,3.2vw,112px)}.architecture-story[data-chapter="0"] .story-line{font-size:clamp(18px,.7vw,26px);max-width:680px}.architecture-story[data-chapter="0"] .story-description{font-size:clamp(17px,.6vw,23px);max-width:680px}.architecture-story[data-chapter="0"] .story-copy .button{font-size:18px;min-height:56px;padding:16px 26px}.city-service-link{font-size:clamp(18px,.8vw,30px)}.brand-identity{width:234px;height:66px;gap:20px}.brand-symbol{width:87px;height:60px}.brand-word{width:127px;height:27px}.brand-feeds{left:-30px;width:120px;height:66px}header>nav{gap:34px}header>nav a,.contact-link{font-size:18px}.language-pill{min-height:44px}.language-pill>span,.language-pill .language-switch{font-size:16px}.city-controls{font-size:15px;bottom:135px;max-width:680px}.city-replay{font-size:15px;min-height:48px;padding:10px 16px}.story-navigation nav a,.story-navigation>button,.story-navigation>a{font-size:16px;min-height:48px;padding:10px 14px}.story-navigation{bottom:28px;gap:18px}}
.city-picture{display:contents}.architecture-story .world .city-canvas>.city-picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;mask-image:none}.architecture-story .world .cinematic-city .city-surround{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:.48;mask-image:linear-gradient(#000 0%,#000 82%,transparent 100%);pointer-events:none}

/* Selection is available through pointer, keyboard focus and touch activation. */
.cinematic-city[data-selected]:not([data-selected=""]) .city-flow{--connection-intensity:.3}
.cinematic-city[data-selected="digital"] .city-flow[data-destination="digital"]{--connection-intensity:1.5}
.cinematic-city[data-selected="digital"] .city-building-digital .city-service-link{color:#ffb478;text-shadow:0 0 6px #e58c55}
.cinematic-city[data-selected="process"] .city-flow[data-destination="process"]{--connection-intensity:1.5}
.cinematic-city[data-selected="process"] .city-building-process .city-service-link{color:#ffb478;text-shadow:0 0 6px #e58c55}
.cinematic-city[data-selected="software"] .city-flow[data-destination="software"]{--connection-intensity:1.5}
.cinematic-city[data-selected="software"] .city-building-software .city-service-link{color:#ffb478;text-shadow:0 0 6px #e58c55}
.cinematic-city[data-selected="ai"] .city-flow[data-destination="ai"]{--connection-intensity:1.5}
.cinematic-city[data-selected="ai"] .city-building-ai .city-service-link{color:#ffb478;text-shadow:0 0 6px #e58c55}
@media(prefers-reduced-motion:reduce){.city-flow *{animation:none!important}.city-arrival,.city-facade-response{opacity:0}.city-data-outbound,.city-data-return{display:none}.brand-signal,.brand-trace,.brand-feeds,.tower-feed{display:none}}

.brand-identity,.city-tower-emblem{--logo-draw:0;--word-draw:0;--logo-entry:0}
.brand-feeds,.tower-feed{opacity:calc((1 - var(--logo-draw,1))*var(--logo-entry,0)*.8)}

@media(max-width:700px){.city-data-outbound,.city-data-return{filter:none;stroke-width:1.2}}

/* Exact approved symbol only. White letterforms and rules, orange ampersand. */
.brand-identity{width:66px;gap:0;height:44px}.wordmark{min-width:66px}.brand-identity .brand-symbol{width:64px;height:43px}
.brand-feeds{left:-22px;top:-8px;width:108px;height:60px}.brand-feeds path:nth-child(n+4){animation-direction:reverse}
.city-tower-emblem .brand-symbol{color:#eef2ee;filter:drop-shadow(0 0 .45px #ffb583)}
.brand-fill.brand-letter,.brand-fill.brand-rule{fill:#eef2ee}.brand-fill.brand-rule{fill:none;stroke:#eef2ee;stroke-width:1.6}
.brand-fill.brand-amp{fill:#ff814b}.city-tower-emblem .brand-fill.brand-amp{fill:#ff814b}
.brand-fill{opacity:clamp(0,calc((var(--logo-draw,1) - var(--glyph-start,0) - .19)*7),1)}
.brand-trace{stroke-dashoffset:calc(1 - clamp(0,calc((var(--logo-draw,1) - var(--glyph-start,0) - var(--strand-lag,0)*.15)*5),1));opacity:clamp(0,calc((var(--glyph-start,0) + .43 - var(--logo-draw,1))*6),1)}
.brand-signal{opacity:calc(clamp(0,calc((var(--logo-draw,1) - .9)*10),1)*.3)}
.city-construction,.city-construction-tier{position:absolute;inset:0;pointer-events:none}.city-construction[hidden]{display:none}.city-construction-tier img{width:100%;height:100%;object-fit:fill}.city-construction-tier.is-rising{will-change:transform}
.city-foundations{fill:none;stroke:#ffb377;stroke-width:1.2;pointer-events:none}.city-foundations path{stroke-dasharray:1;stroke-dashoffset:1}.city-core-frame{stroke-width:.65;stroke:#ffa465}
.city-bridge-assembly{fill:none;stroke:#ffd09a;stroke-width:4;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round;opacity:0}
.city-finish{border:1px solid #e59660;background:#0b1e2acf;color:#f6e7dc;min-height:40px;padding:8px 12px;font:inherit;cursor:pointer}.city-controls{max-width:590px}
@media(max-width:700px){.brand-identity{width:53px;height:38px}.brand-identity .brand-symbol{width:52px;height:35px}.brand-feeds{width:92px;left:-20px}.city-controls{flex-wrap:wrap;gap:6px}.city-phase{flex:1;min-width:100px}.city-finish{font-size:10px;min-height:36px;padding:6px 8px}.city-foundations{stroke-width:.8}.city-bridge-assembly{stroke-width:2.8}}
@media(min-width:2400px){.brand-identity{width:96px;height:66px}.brand-identity .brand-symbol{width:94px;height:64px}.brand-feeds{left:-33px;top:-12px;width:162px;height:90px}.city-controls{max-width:900px}.city-finish{min-height:48px;padding:10px 16px}}
.brand-feeds{opacity:calc((.16 + .7*(1 - var(--logo-draw,1)))*var(--logo-entry,0))}.brand-feeds path:nth-child(n+4){animation-direction:normal}

.city-tower-emblem .brand-trace,.city-tower-emblem .brand-signal{fill:none}
@media(max-width:700px){.city-phase{flex-basis:100%;max-width:none}}@media(max-width:700px) and (max-height:740px){.city-phase{display:none}}

/* Keep cutout lighting identical to the approved plate to avoid visible sky seams. */
.city-controls{width:min(590px,92vw)}.city-phase{flex:1}.city-finish[hidden]{display:inline-block!important;visibility:hidden;pointer-events:none}
@media(max-width:700px){.city-controls{width:auto}.city-phase{flex-basis:100%}}@media(min-width:2400px){.city-controls{width:900px}}

/* Static review: one unmodified canonical SVG for both placements. */
.brand-identity,.brand-symbol,.city-tower-emblem,.city-tower-emblem .brand-symbol{animation:none!important;transition:none!important;filter:none!important;opacity:1!important}
.city-core-glow,.city-data-hub,.city-controls{display:none!important}.city-building{transition:none!important;will-change:auto!important}
.city-complete{opacity:1!important}.city-canvas{--push:0;--separation:0}

/* Living energy is independent of the permanent canonical symbol. */
.logo-fibers{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none;z-index:0}
.brand-symbol{position:relative;z-index:1}
.logo-thread{stroke:#ff771e;stroke-width:.55;opacity:.36}
.logo-pulse{stroke:#ffb36b;stroke-width:1.1;stroke-linecap:round;stroke-dasharray:.009 .991;animation:logo-transit var(--period) linear var(--offset) infinite;filter:drop-shadow(0 0 1.4px #ff6b18)}
.logo-pulse.is-return{animation-direction:reverse}.logo-geometry{opacity:.18;stroke-width:.45}
.city-tower-emblem .logo-fibers{left:9%;top:24%;width:82%;height:55%;overflow:visible}.city-tower-emblem .logo-thread{opacity:.44}
.logo-flow-paused .logo-pulse{animation-play-state:paused}
@keyframes logo-transit{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(max-width:700px){.logo-pulse:nth-of-type(n+7){display:none}.logo-pulse{filter:none}.brand-identity .logo-fibers{clip-path:inset(-20% -100% -20% -100%)}}
@media(prefers-reduced-motion:reduce){.logo-pulse{display:none}.logo-thread{opacity:.18}}
/* Empty hit-area layers contain no raster: the complete master supplies all architecture. */
.city-building>img{display:none}
.logo-fibers .logo-thread{stroke-width:1;opacity:.5}.logo-fibers .logo-pulse{stroke-width:2}
.city-tower-emblem .logo-fibers{overflow:hidden}

.city-tower-emblem .logo-fibers{overflow:visible;clip-path:inset(-50% -12%)}
/* Isolate the tower vector from the legacy world-image sizing rules. */
.architecture-story .world .city-tower-emblem>img.brand-symbol{position:absolute;inset:auto;left:9%;top:24%;width:82%;height:55%;object-fit:contain;mask-image:none}
/* A single source-space camera keeps the approved plate and every geometry overlay aligned. */
.city-canvas{transform-origin:55.8713537771% 34.0136054422%}
.architecture-story .world .cinematic-city .city-surround{transform:scale(var(--cap-camera,1));transform-origin:var(--camera-anchor-x,56%) var(--camera-anchor-y,34%)}

.architecture-story[data-chapter="6"] .story-kicker{display:none}

/* The canvas is revealed only once its raster is decoded (no half-painted/empty scene); the poster in #world covers the gap. */
.cinematic-city .city-canvas,.cinematic-city .city-surround{transition:opacity .45s ease-out}
.cinematic-city:not(.is-ready) .city-canvas,.cinematic-city:not(.is-ready) .city-surround{opacity:0}
@media(prefers-reduced-motion:reduce){.cinematic-city .city-canvas,.cinematic-city .city-surround{transition:none}}
.cinematic-city,.cinematic-city:not([hidden]){background:transparent!important} /* #world supplies the same #06131e; keeps the poster visible until the canvas is decoded */
