/* Feature-specific compositions share the opening's type and movement. */
html,body{width:100%;max-width:100%;overflow-x:clip}
.product-story,.travel-stage{width:100%;max-width:100%}
.travel-stage{clip-path:inset(0);contain:paint}
.travel-atmosphere{inset:0;clip-path:inset(0)}
.feature-product{position:absolute;inset:0;z-index:5;pointer-events:none;visibility:hidden;max-width:100%;contain:strict}
.j-line{overflow:hidden;padding-bottom:.11em;margin-bottom:-.11em}
.j-copy{z-index:5}.j-description{position:relative;z-index:6}
html:not(.journey-static) .j-fold-visual,html:not(.journey-static) .j-wall{display:none}
.application-visual{position:absolute;inset:var(--header) 0 0;z-index:2;pointer-events:none;opacity:0;overflow:hidden;will-change:transform,opacity;background:#030303}
.application-visual img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;filter:brightness(.64)}
.pitch-comparison{position:absolute;z-index:6;left:52%;top:20%;width:44%;height:62%;display:grid;grid-template-columns:1fr 1fr;gap:16px;opacity:0;pointer-events:none}
.pitch-comparison>div{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#050505;border:1px solid #ffffff36;border-radius:8px}
.pitch-comparison h3{font-size:13px;font-weight:500;display:flex;justify-content:space-between;margin:0;padding:16px;color:#fff}
.pitch-comparison h3 span{color:#efbf65}.pitch-comparison canvas{width:100%;height:100%;min-height:0;object-fit:cover}
.pitch-comparison>p{grid-column:1/-1;color:#bbb;font-size:10px;line-height:1.5;margin:0}
#performance .j-copy{width:48%}#performance .j-title{font-size:min(10vw,16svh)}
#scale .j-copy{top:12%;left:17%;width:66%;text-align:center}#scale .j-title{font-size:min(7.5vw,9svh)}
#scale .j-line{display:flex;justify-content:center}#scale .j-line>span{transform-origin:center;flex-shrink:0}
#scale .j-config{top:auto;bottom:7%;left:27%;right:auto;width:46%;padding:16px 22px}
#scale .j-description{max-width:none;margin-top:14px}#scale .j-config{z-index:7}
#scale .j-config input{margin:5px 0}#scale .j-config .j-link{margin-top:2px;min-height:32px}
#scale .j-copy{pointer-events:none}
.j-count-controls{display:flex;align-items:center;gap:12px}.j-count-controls button{white-space:nowrap;min-height:44px;font-size:11px;color:#efbf65;background:none;border:0;padding:0 4px;cursor:pointer}.j-count-controls button:disabled{opacity:.35;cursor:default}.j-count-controls input{flex:1;min-width:0}
.connection-visual{position:absolute;z-index:3;inset:0;opacity:0;pointer-events:none}
.connection-visual>img{position:absolute;left:5%;top:54%;width:34%;height:20%;object-fit:contain}
.connection-route{position:absolute;left:38%;top:61%;width:26%;border-top:1px solid #efbf6577;height:1px}
.connection-route>span{position:absolute;left:0;top:-29px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#efbf65}
.connection-route i{position:absolute;width:8px;height:8px;border-radius:50%;background:#ffd88c;box-shadow:0 0 12px #efbf65;top:-4px;animation:content-transfer 2.5s linear infinite}
.connection-route i:nth-of-type(2){animation-delay:-.8s}.connection-route i:nth-of-type(3){animation-delay:-1.6s}
.connection-visual>small{position:absolute;left:8%;top:73%;font-size:10px;color:#bbb}
@keyframes content-transfer{from{left:0;opacity:0}15%,85%{opacity:1}to{left:100%;opacity:0}}
#control .j-copy{left:3%;top:14%;width:51%}#control .j-title{font-size:min(8vw,10.5svh)}
#control .j-description{max-width:420px}#control .j-control-card{left:4%;right:auto;top:auto;bottom:7%;width:42%;padding:16px 22px}
#control .j-control-card .j-link{display:none}#control .j-control-card h3{font-size:23px;margin:7px 0}#control .j-control-card p{font-size:12px;margin:0}#control .j-control-options{bottom:21%;left:4%;z-index:7}
#applications .j-copy{left:3%;top:16%;width:43%}#applications .j-title{font-size:min(10vw,15svh)}
#applications .j-description{max-width:310px}#applications .j-use-options{left:3%;bottom:23%;width:49%}
#applications .j-use-card{left:3%;bottom:8%;width:49%;padding:20px}
#applications .j-use-card .j-link{right:20px}#applications .j-use-card p{max-width:70%}
@media(min-width:1001px) and (max-aspect-ratio:1/1){#applications .j-copy{width:43%}}
.journey-static .feature-product,.journey-static .pitch-comparison,.journey-static .connection-visual,.journey-static .application-visual{display:none}
.feature-static{display:none}
.feature-fallback{display:none}
html.journey-static #journey-scenes .j-scene>.feature-fallback{display:block;grid-column:2;grid-row:1/span 4;width:100%;height:auto;max-height:70svh;object-fit:contain}
html.journey-static #journey-scenes .j-scene.feature-ready>.feature-fallback{display:none}
.journey-static .feature-static{display:block;width:100%;max-height:65svh;object-fit:contain}
@media(max-width:1000px) and (orientation:portrait), (max-width:700px){
 #engineering .j-copy{width:88%;top:13%}#journey-scenes #engineering .j-description{width:100%;max-width:88%}
 #fold .j-copy{width:88%;top:13%}#journey-scenes #fold .j-description{width:100%;max-width:100%;font-size:clamp(11px,1.7vw,15px);margin-top:12px}
 #scale .j-copy{top:13%;left:6%;width:88%}#scale .j-title{font-size:min(13vw,7.2svh)}#scale .j-description{max-width:95%;font-size:10px;margin-top:12px}
 #scale .j-config{left:6%;right:6%;width:88%;bottom:8%;transform:none}
 #performance .j-copy{left:6%;top:13%;width:88%}#performance .j-title{font-size:min(12vw,7svh)}#journey-scenes #performance .j-description{width:100%;max-width:95%!important;font-size:11px}
 .pitch-comparison{left:6%;top:42%;width:88%;height:34%;gap:10px}.pitch-comparison h3{font-size:10px;padding:10px}.pitch-comparison>p{font-size:8px}
 #performance .j-facts{bottom:10%;gap:16px}#performance .j-facts strong{font-size:22px}#performance .j-secondary{display:none}
 #brightness .j-copy{width:88%}
 #control .j-copy{left:6%;top:13%;width:88%}#control .j-title{font-size:min(12.5vw,7.2svh)}#control .j-description{max-width:90%;font-size:10px;margin-top:12px}
 .connection-visual>img{left:3%;top:39%;width:49%;height:27%}.connection-route{left:43%;top:55%;width:25%}.connection-route>span{font-size:8px;top:-22px}.connection-visual>small{left:6%;top:65%;font-size:8px}
 #control .j-control-options{left:6%;bottom:28%;gap:8px}#control .j-control-card{left:6%;bottom:8%;width:88%;padding:14px}#control .j-control-card h3{font-size:19px}#control .j-control-card p{font-size:10px}
 #applications .j-copy{left:6%;top:13%;width:88%}#applications .j-title{font-size:min(12vw,6.8svh)}#applications .j-description{display:none}
 .application-visual{inset:32% 0 22%}.application-visual img{object-fit:cover;object-position:63% center;filter:brightness(.85)}
 #applications .j-use-options{left:6%;top:auto;bottom:25%;width:88%;display:flex;flex-wrap:wrap;gap:5px;justify-content:center;background:#060606d9;border-radius:8px;padding:3px}#applications .j-use-options button{font-size:9px;padding:5px;min-height:38px}
 #applications .j-use-card{left:6%;bottom:7%;width:88%;padding:13px}#applications .j-use-card h3{font-size:20px}#applications .j-use-card p{max-width:100%;font-size:10px}#applications .j-use-card .j-link{font-size:9px;min-height:28px;margin-top:2px}
}
@media(max-width:700px) and (max-height:740px){
 #engineering .j-description{max-width:90%;font-size:10px}#engineering .j-facts{bottom:12%}#engineering .j-secondary{bottom:5%;min-height:32px}
 .pitch-comparison{top:43%;height:30%}#performance .j-description{font-size:10px}
 #control .j-description{display:none}.connection-visual>img{top:38%}.connection-visual>small{top:62%}
 #control .j-control-card{bottom:8%;padding:12px}#control .j-control-options{bottom:28%}
 #applications .j-use-card p{display:none}#applications .j-use-options{bottom:26%}
}
@media(prefers-reduced-motion:reduce){.connection-route i{animation:none;left:50%}}
.feature-static-comparison,.feature-static-connection,.feature-static-application{display:none}
.journey-static :is(#engineering,#fold,#scale,#performance,#brightness,#control,#applications) .j-still,
.journey-static .j-fold-visual,.journey-static .j-wall{display:none!important}
.journey-static .j-scene>.feature-static{display:block;grid-column:2!important;grid-row:1/span 4;max-height:75svh;width:100%;height:auto;object-fit:contain}
.journey-static #scale .j-config{grid-row:auto;grid-column:1!important;text-align:left}
.journey-static .feature-static-comparison{display:grid!important;grid-template-columns:1fr 1fr;gap:12px;grid-column:2!important;grid-row:1/span 3}
.feature-static-comparison>div{min-width:0;background:#060606;border:1px solid #444;border-radius:8px;overflow:hidden}
.feature-static-comparison h3{display:flex;justify-content:space-between;font-size:13px;padding:12px;margin:0}.feature-static-comparison h3 span{color:#efbf65}
.feature-static-comparison canvas{width:100%;height:auto;display:block}.feature-static-comparison>p{grid-column:1/-1;font-size:10px;color:#aaa}
.journey-static .feature-static-connection{display:flex!important;flex-direction:column;align-items:center;grid-column:2!important;grid-row:1/span 4;color:#efbf65;font-size:13px;gap:15px}.feature-static-connection img{width:100%;height:auto}
.journey-static .feature-static-application{display:block!important;grid-column:2!important;grid-row:1/span 4;border-radius:10px;aspect-ratio:3/4;object-fit:cover;object-position:65% center}
.journey-static #scale .j-copy{text-align:left}.journey-static #scale .j-line{justify-content:flex-start}.journey-static #scale .j-line>span{transform-origin:left center}
.journey-static #control .j-title,.journey-static #performance .j-title,.journey-static #applications .j-title{font-size:clamp(45px,7vw,100px)}
@media(max-width:700px){
 .journey-static .j-scene>.feature-static,.journey-static .j-scene>.feature-static-comparison,.journey-static .j-scene>.feature-static-connection,.journey-static .j-scene>.feature-static-application{order:1!important;max-height:none}
 .journey-static .j-scene>.feature-static{max-height:65svh}
 .journey-static #control .j-title,.journey-static #performance .j-title,.journey-static #applications .j-title{font-size:clamp(35px,11vw,64px)}
 .journey-static .feature-static-application{aspect-ratio:4/3;object-position:63% center}
}
/* Normal-flow feature layouts must override the moving scene coordinates. */
html.journey-static #journey-scenes .j-scene>.j-copy{position:relative;inset:auto;width:100%;max-width:none;transform:none!important;grid-column:1;grid-row:1;text-align:left}
html.journey-static #journey-scenes .j-copy .j-title{font-size:clamp(45px,7vw,100px);line-height:.92}
html.journey-static #journey-scenes .j-copy .j-description{max-width:100%;font-size:14px}
html.journey-static #journey-scenes .j-scene>:is(.j-facts,.j-config,.j-brightness,.j-control-options,.j-control-card,.j-use-options,.j-use-card,.j-fold-choice,.j-fold-note,.j-secondary){position:relative;inset:auto;width:100%;max-width:none;grid-column:1;transform:none!important}
html.journey-static #journey-scenes .j-line{overflow:visible;justify-content:flex-start}
html.journey-static #journey-scenes .j-line>span{transform-origin:left center}
@media(max-width:700px){html.journey-static #journey-scenes .j-copy .j-title{font-size:clamp(35px,11vw,64px)}html.journey-static #journey-scenes .j-copy .j-description{font-size:12px}}
