/* v0.5 — expanded photo fields, perspective grids and visitor-facing controls. */
main{overflow-x:clip}
.button:not(.button-outline){color:#fff}.button-outline{color:var(--ink)}
.icon-control{display:inline-grid!important;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0!important;border:1px solid #d9d9dd;border-radius:50%;background:transparent;line-height:1}
.icon-control svg{width:17px;height:17px;stroke-width:1.8}.icon-control:hover{background:#f2f2f3}
.hero.hero-v5{overflow:visible;z-index:4;height:1120px}
.hero-v5 .immersion-atmosphere{overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#26262b,#101012 65%)}
.hero-v5 .infinity-room{position:absolute;inset:0;perspective:650px;perspective-origin:50% 33%;overflow:hidden;opacity:.72}
.hero-v5 .infinity-floor,.hero-v5 .infinity-ceiling{position:absolute;left:-70%;width:240%;height:160%;background-image:linear-gradient(#ffffff2a 1px,transparent 1px),linear-gradient(90deg,#ffffff20 1px,transparent 1px);background-size:110px 110px;will-change:background-position;animation:infinity-travel 28s linear infinite}
.hero-v5 .infinity-floor{top:33%;transform-origin:50% 0;transform:rotateX(68deg);mask-image:linear-gradient(transparent,#000 14%,#000 65%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 14%,#000 65%,transparent)}
.hero-v5 .infinity-ceiling{bottom:67%;transform-origin:50% 100%;transform:rotateX(-68deg);opacity:.4;animation-direction:reverse;mask-image:linear-gradient(transparent,#000 35%,#000 90%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 35%,#000 90%,transparent)}
.hero-v5 .infinity-vanish{position:absolute;inset:0;background:radial-gradient(ellipse 30% 23% at 50% 33%,#111113 0,transparent 100%)}
.hero-v5 .infinity-tunnel{position:absolute;inset:0;width:100%;height:100%;stroke-linecap:square;mask-image:linear-gradient(#0008,transparent 90%);-webkit-mask-image:linear-gradient(#0008,transparent 90%)}
.hero-v5 .immersion-copy{z-index:30;padding-top:112px}
.hero-v5 .immersion-scene{bottom:auto;height:1540px;z-index:12}
.hero-v5 .frame-journey{--left:-1%;--top:180px;--width:20%;--ratio:1.6;--rotation:-6deg;--layer:11}
.hero-v5 .frame-interaction{--left:84%;--top:125px;--width:17%;--ratio:1;--rotation:6deg;--layer:12}
.hero-v5 .frame-backstage{--left:-4%;--top:600px;--width:24%;--ratio:1.3;--rotation:5deg;--layer:17}
.hero-v5 .frame-digital{--left:81%;--top:645px;--width:22%;--ratio:1.45;--rotation:-7deg;--layer:16}
.hero-v5 .frame-summit{--left:28%;--top:620px;--width:44%;--ratio:1.72;--rotation:-3deg;--layer:20}
.hero-v5 .frame-gala{--left:8%;--top:1050px;--width:25%;--ratio:1.7;--rotation:-7deg;--layer:24}
.hero-v5 .frame-light{--left:69%;--top:1105px;--width:24%;--ratio:1.65;--rotation:7deg;--layer:22}
.hero-v5 .frame-travel{--left:23%;--top:46px;--width:10%;--ratio:1.4;--rotation:4deg;--layer:2}
.hero-v5 .frame-people{--left:70%;--top:40px;--width:9%;--ratio:1.4;--rotation:-6deg;--layer:2}
.hero-v5 .frame-float{border:1px solid #ffffff55;border-radius:12px;box-shadow:0 20px 65px #0006}
.hero-v5 .frame-float figcaption{font-size:11px;letter-spacing:.06em}
.hero-v5 .frame-summit .frame-float{box-shadow:0 35px 100px #0009,0 0 0 5px #ffffff05}
.hero-v5 .depth-fragment{--width:9%;--ratio:1.4;--layer:1;filter:blur(3px);opacity:.28}
.hero-v5 .depth-fragment .frame-float{border-color:#ffffff20;box-shadow:none}
.hero-v5 .fragment-1{--left:4%;--top:45px;--rotation:9deg;--width:8%}
.hero-v5 .fragment-2{--left:40%;--top:20px;--rotation:-5deg;--width:7%}
.hero-v5 .fragment-3{--left:55%;--top:60px;--rotation:6deg;--width:6%}
.hero-v5 .fragment-4{--left:91%;--top:35px;--rotation:-7deg;--width:8%}
.hero-v5 .fragment-5{--left:19%;--top:420px;--rotation:10deg;--width:7%;--ratio:.8}
.hero-v5 .fragment-6{--left:74%;--top:415px;--rotation:-9deg;--width:8%}
.hero-v5 .fragment-7{--left:4%;--top:920px;--rotation:7deg;--width:8%}
.hero-v5 .fragment-8{--left:83%;--top:950px;--rotation:-8deg;--width:10%}
.hero-v5 .fragment-9{--left:38%;--top:1020px;--rotation:8deg;--width:9%}
.hero-v5 .fragment-10{--left:50%;--top:1200px;--rotation:-7deg;--width:10%}
.hero-v5 .fragment-11{--left:31%;--top:1350px;--rotation:7deg;--width:13%;--layer:4;filter:blur(1px);opacity:.58}
.hero-v5 .fragment-12{--left:59%;--top:1390px;--rotation:-6deg;--width:9%;--layer:2}
.hero-v5 .hero-foot{z-index:35;bottom:35px;pointer-events:none}
.hero-v5 .hero-foot>*{pointer-events:auto}
.hero-v5 .motion-toggle{border-color:#ffffff40;background:#19191c;color:#eee;font-size:0}
.hero-v5 .motion-toggle:hover{background:#303035;color:white}
.hero-scroll-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff40;border-radius:50%;color:#fff;animation:immersion-cue 2.4s ease-in-out infinite}
.client-v5{position:relative;z-index:1;padding-top:375px}
.client-v5 .client-heading-note{display:flex;align-items:center;gap:20px}
.client-v5 .rail-control{margin-top:0}
.moments-heading>div:last-child{display:flex;align-items:center;gap:20px}
.moments-heading .rail-control{margin-top:0}
/* Full rectangular field in place of the elliptical travel route. */
.stage-v5{height:720px}
.journey-story .story-inner{min-height:760px}
.journey-grid{position:absolute;inset:20px -12%;perspective:700px;overflow:hidden;z-index:0;mask-image:radial-gradient(ellipse,#000 15%,transparent 73%);-webkit-mask-image:radial-gradient(ellipse,#000 15%,transparent 73%)}
.journey-grid:before{content:'';position:absolute;inset:8% -18%;background-image:linear-gradient(#fa461630 1px,transparent 1px),linear-gradient(90deg,#fa461630 1px,transparent 1px);background-size:60px 60px;transform:rotateX(30deg) rotateY(-16deg);animation:journey-grid-shift 25s linear infinite}
.stage-v5 .story-image{border-width:3px;border-radius:11px;box-shadow:0 18px 40px #0002}
.stage-v5 .story-image img{object-position:var(--image-position,center)}
.stage-v5 .trip-main{left:8%;top:205px;width:84%;height:290px;--tilt:-3deg;z-index:6}
.stage-v5 .trip-side{left:0;right:auto;top:27px;width:38%;height:145px;--tilt:-6deg;z-index:2}
.stage-v5 .trip-detail{left:61%;top:520px;bottom:auto;width:42%;height:167px;--tilt:5deg;z-index:8}
.stage-v5 .trip-workshop{left:77%;top:25px;width:22%;height:158px;--tilt:7deg;z-index:3}
.stage-v5 .trip-group{left:29%;top:562px;width:26%;height:100px;--tilt:-5deg;z-index:1}
.stage-v5 .trip-gala{left:-7%;top:470px;width:29%;height:150px;--tilt:-8deg;z-index:9}
.stage-v5 .stage-near-soft{filter:blur(1.7px);opacity:.75}
.stage-v5 .stage-far{box-shadow:0 9px 24px #0002}
.event-story .story-inner{min-height:760px;gap:55px}
.event-space-grid{position:absolute;inset:0 -20%;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse,#000,transparent 70%);-webkit-mask-image:radial-gradient(ellipse,#000,transparent 70%);transform:perspective(700px) rotateY(18deg)}
.event-story .stage-v5 .story-image{border-color:#ffffff66;box-shadow:0 22px 50px #0006}
.stage-v5 .event-main{left:3%;top:205px;width:93%;height:300px;--tilt:-3deg;z-index:6}
.stage-v5 .event-detail{left:51%;right:auto;top:535px;bottom:auto;width:50%;height:158px;--tilt:6deg;z-index:8}
.stage-v5 .event-launch{left:1%;top:25px;width:40%;height:145px;--tilt:-6deg;z-index:2}
.stage-v5 .event-exhibit{left:65%;top:33px;width:34%;height:135px;--tilt:7deg;z-index:3}
.stage-v5 .event-people{left:3%;top:570px;width:32%;height:120px;--tilt:-5deg;z-index:4}
.stage-v5 .event-music{left:-11%;top:375px;width:23%;height:150px;--tilt:8deg;z-index:9}
/* Orange signals travel along the same broad grid, not radial spokes. */
.tech-v5-system{height:720px}
.tech-mesh{position:absolute;inset:0 -8%;width:116%;height:100%;overflow:visible;mask-image:radial-gradient(ellipse,#000 25%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse,#000 25%,transparent 78%);transform:perspective(1000px) rotateY(-13deg);fill:none;stroke-width:1}
.mesh-base{stroke:#ffffff1b}
.mesh-signals path{stroke:#fa4616;stroke-width:1.6;stroke-dasharray:65 950;animation:mesh-signal 10s linear infinite;animation-delay:var(--mesh-delay,0s);filter:drop-shadow(0 0 3px #fa4616)}
.technology-frame{position:absolute;margin:0;overflow:hidden;border:1px solid #ffffff55;border-radius:12px;background:#1b1b1e;box-shadow:0 25px 60px #0007;transform:translate3d(0,var(--drift-y,0px),0) rotate(var(--tech-tilt,0deg));will-change:transform}
.technology-frame img{display:block;width:100%;height:100%;object-fit:cover}
.tech-art{left:2%;top:155px;width:76%;height:325px;--tech-tilt:-4deg;z-index:4}
.tech-vr{left:70%;top:28px;width:30%;height:225px;--tech-tilt:7deg;z-index:5}
.tech-vr img{object-position:61% 50%}
.tech-digital{left:43%;top:510px;width:55%;height:185px;--tech-tilt:5deg;z-index:6}
.technology-signature{position:absolute;left:5%;bottom:35px;display:flex;align-items:center;gap:8px;color:#e0e0e0;font-size:12px;font-weight:800;letter-spacing:.08em}
.technology-signature svg{width:42px;height:42px;fill:#fa4616;stroke:none}
.approach-icon{display:grid;place-items:center;width:96px;height:96px;margin-bottom:27px;border:1px solid #fa461642;border-radius:25px;background:linear-gradient(140deg,#fff5f1,#fff);color:#fa4616}
.approach-icon svg{width:57px;height:57px;stroke-width:1.7}
.about-mark svg{fill:currentColor;stroke:none}
@keyframes infinity-travel{to{background-position:0 110px}}
@keyframes journey-grid-shift{to{background-position:60px 60px}}
@keyframes mesh-signal{to{stroke-dashoffset:-1015}}
.motion-paused .infinity-floor,.motion-paused .infinity-ceiling,.motion-paused .journey-grid:before,.motion-paused .mesh-signals path,.motion-paused .hero-scroll-icon,.hero-v5.is-out-of-view .infinity-floor,.hero-v5.is-out-of-view .infinity-ceiling,.hero-v5.is-out-of-view .hero-scroll-icon,.is-offscreen .journey-grid:before,.is-offscreen .mesh-signals path{animation-play-state:paused}
@media(min-width:1680px){.hero.hero-v5{height:1190px}.hero-v5 .immersion-copy{padding-top:132px}.hero-v5 .immersion-scene{height:1620px}.hero-v5 .frame-summit{--top:650px}.hero-v5 .frame-gala{--top:1120px}.hero-v5 .frame-light{--top:1180px}.hero-v5 .fragment-11{--top:1430px}.hero-v5 .fragment-12{--top:1460px}.client-v5{padding-top:385px}}
@media(max-width:1100px) and (min-width:701px){
 .hero.hero-v5{height:1030px}.hero-v5 .immersion-copy{padding-top:115px}
 .hero-v5 .frame-journey{--left:-4%;--top:38px;--width:21%}.hero-v5 .frame-interaction{--left:89%;--top:60px;--width:18%}
 .hero-v5 .frame-backstage{--top:550px;--left:-8%;--width:27%}.hero-v5 .frame-digital{--top:580px;--left:83%;--width:24%}.hero-v5 .frame-summit{--top:570px;--left:23%;--width:54%}
 .hero-v5 .frame-gala{--top:930px;--width:28%;--left:2%}.hero-v5 .frame-light{--top:980px;--width:29%;--left:70%}
 .hero-v5 .fragment-11{--top:1200px}.hero-v5 .fragment-12{--top:1230px}.client-v5{padding-top:320px}
 .stage-v5{height:650px}.journey-story .story-inner,.event-story .story-inner{min-height:690px}
 .stage-v5 .trip-main{top:200px;height:225px}.stage-v5 .trip-detail{top:465px;height:145px}.stage-v5 .trip-group{top:505px;height:90px}.stage-v5 .trip-gala{top:425px;height:130px}
 .stage-v5 .trip-side{height:125px;top:50px}.stage-v5 .trip-workshop{height:140px;top:30px}
 .stage-v5 .event-main{top:205px;height:225px}.stage-v5 .event-detail{top:470px;height:135px}.stage-v5 .event-people{top:500px;height:100px}.stage-v5 .event-music{top:355px;height:130px}
 .stage-v5 .event-launch{height:120px;top:55px}.stage-v5 .event-exhibit{height:110px;top:50px}
 .tech-v5-system{height:650px}.tech-art{top:170px;height:260px}.tech-vr{top:40px;height:195px}.tech-digital{top:470px;height:155px}.technology-signature{bottom:27px}
}
@media(max-width:900px) and (min-width:701px){.journey-story .story-inner,.event-story .story-inner{gap:15px}.story-copy h3{font-size:46px}.tech-v5-system{width:min(650px,100%);height:700px}.tech-art{height:300px}.tech-digital{top:520px;height:180px}}
@media(max-width:700px){
 .hero.hero-v5{height:auto;min-height:0;padding-bottom:0}
 .hero-v5 .immersion-copy{padding-top:54px}
 .hero-v5 .immersion-scene{position:relative;left:auto;top:auto;bottom:auto;transform:none;height:760px;margin-top:50px;width:100%}
 .hero-v5 .frame-journey{--left:-8%;--top:25px;--width:46%;--ratio:1.6;--rotation:-7deg;--layer:11}
 .hero-v5 .frame-interaction{--left:75%;--top:5px;--width:32%;--ratio:1;--rotation:7deg;--layer:12}
 .hero-v5 .frame-backstage{--left:-14%;--top:305px;--width:40%;--ratio:1.15;--rotation:6deg;--layer:17}
 .hero-v5 .frame-digital{--left:77%;--top:330px;--width:40%;--ratio:1.3;--rotation:-7deg;--layer:16}
 .hero-v5 .frame-summit{--left:12%;--top:190px;--width:76%;--ratio:1.6;--rotation:-3deg;--layer:20}
 .hero-v5 .frame-gala{--left:-2%;--top:610px;--width:48%;--ratio:1.65;--rotation:-7deg;--layer:24}
 .hero-v5 .frame-light{--left:58%;--top:685px;--width:48%;--ratio:1.6;--rotation:8deg;--layer:22}
 .hero-v5 .frame-travel{--left:43%;--top:55px;--width:20%;--ratio:1.25}.hero-v5 .frame-people{--left:37%;--top:495px;--width:23%;--ratio:1.4}
 .hero-v5 .depth-fragment{--width:16%;opacity:.25;filter:blur(2px)}
 .hero-v5 .fragment-1{--left:6%;--top:-25px;--width:13%}.hero-v5 .fragment-2{--left:45%;--top:-20px;--width:12%}.hero-v5 .fragment-3{--left:65%;--top:170px;--width:13%}.hero-v5 .fragment-4{--left:87%;--top:-20px;--width:14%}
 .hero-v5 .fragment-5{--left:28%;--top:135px;--width:13%}.hero-v5 .fragment-6{--left:54%;--top:425px;--width:17%}.hero-v5 .fragment-7{--left:7%;--top:510px;--width:17%}.hero-v5 .fragment-8{--left:83%;--top:530px;--width:17%}
 .hero-v5 .fragment-9{--left:34%;--top:600px;--width:15%}.hero-v5 .fragment-10{--left:22%;--top:800px;--width:18%}.hero-v5 .fragment-11{--left:42%;--top:875px;--width:27%;filter:blur(1px)}.hero-v5 .fragment-12{--left:79%;--top:855px;--width:15%}
 .hero-v5 .hero-foot{bottom:28px;width:calc(100% - 32px)}
 .hero-v5 .infinity-room{perspective:350px}.hero-v5 .infinity-floor,.hero-v5 .infinity-ceiling{background-size:70px 70px}
 .client-v5{padding-top:265px}.client-v5 .client-heading-note{gap:14px}.client-v5 .client-heading-note p{flex:1}
 .moments-heading>div:last-child{gap:12px}.moments-heading>div:last-child p{flex:1}.icon-control{width:42px;height:42px;min-width:42px;min-height:42px}
 .journey-story .story-inner,.event-story .story-inner{min-height:0;gap:0;display:flex;flex-direction:column}
 .stage-v5{height:580px;width:100%;margin-top:0}
 .stage-v5 .trip-main{left:3%;top:180px;width:96%;height:200px;--tilt:-3deg}
 .stage-v5 .trip-side{left:0;top:24px;width:39%;height:115px}.stage-v5 .trip-workshop{left:76%;top:12px;width:24%;height:140px}
 .stage-v5 .trip-detail{left:59%;top:425px;width:44%;height:135px}.stage-v5 .trip-group{left:28%;top:460px;width:27%;height:80px}.stage-v5 .trip-gala{left:-7%;top:380px;width:29%;height:115px}
 .stage-v5 .event-main{left:1%;top:175px;width:98%;height:210px}
 .stage-v5 .event-launch{left:0;top:22px;width:43%;height:110px}.stage-v5 .event-exhibit{left:65%;top:27px;width:35%;height:115px}
 .stage-v5 .event-detail{left:48%;top:420px;width:54%;height:130px}.stage-v5 .event-people{left:2%;top:450px;width:33%;height:95px}.stage-v5 .event-music{left:-9%;top:345px;width:24%;height:115px}
 .journey-grid{inset:0 -10%}.event-story .story-copy{order:-1}
 .tech-v5-system{height:590px;margin-top:25px;width:100%}
 .tech-art{left:0;top:145px;width:83%;height:235px}.tech-vr{left:72%;top:15px;width:29%;height:180px}.tech-digital{left:39%;top:425px;width:62%;height:145px}.technology-signature{left:1%;bottom:28px;font-size:10px;gap:2px}.technology-signature svg{width:30px;height:30px}
 .approach-icon{width:84px;height:84px;border-radius:21px;margin-bottom:20px}.approach-icon svg{width:50px;height:50px}
}
@media(max-width:370px){.stage-v5{height:540px}.stage-v5 .trip-main{height:170px}.stage-v5 .trip-detail{top:390px;height:120px}.stage-v5 .trip-group{top:420px;height:75px}.stage-v5 .trip-gala{top:350px;height:110px}.stage-v5 .event-main{height:180px}.stage-v5 .event-detail{top:390px;height:115px}.stage-v5 .event-people{top:420px;height:90px}.stage-v5 .event-music{top:325px;height:105px}.tech-art{height:205px}.tech-digital{top:405px;height:125px}.tech-v5-system{height:560px}}
@media(prefers-reduced-motion:reduce){.infinity-floor,.infinity-ceiling,.journey-grid:before,.mesh-signals path,.hero-scroll-icon{animation:none!important}.hero-v5 .immersion-frame,.technology-frame,.stage-v5 .story-image{will-change:auto}.hero-v5 .depth-fragment{filter:none;opacity:.18}}
