/* Full-width rooms. Only image opacity and the introduction camera animate. */
.reading-progress{width:100%;transform:scaleX(0);transform-origin:left}
.solutions{--tour-top:100px;position:relative;padding:0;background:#0b1728;color:#fff}
.tour-stage{position:relative;background:#0b1728;padding:28px var(--gutter)}
.tour-topline{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:20px}
.tour-topline .eyebrow{color:#d5e5fa;font-size:9px;letter-spacing:2px}
.tour-skip{font-size:11px;color:#d6e7fb;white-space:nowrap}.tour-skip span{margin-left:10px}
.tour-layout{position:relative;min-height:660px}
.tour-scene{position:absolute;inset:0;overflow:hidden;background:#deebf8;contain:paint}
.tour-scene-grid,.tour-floor-focus{display:none}
.tour-world{position:absolute;left:0;top:0;width:420px;height:630px;transform-origin:0 0;will-change:transform,opacity;pointer-events:none}
.tour-world>img{display:block;width:100%;height:100%;object-fit:contain}
.tour-details{position:absolute;inset:0;pointer-events:none}
.tour-details img{display:none;position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 48%;opacity:0}
.tour-details img.is-layer{display:block;will-change:opacity;transform:translateZ(0)}
/* Static gradients preserve contrast without blurring or filtering the scene. */
.tour-scene:after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,#06101e12 0,#06101e08 27%,#08152677 52%,#081526ba 76%,#081526d1 100%),linear-gradient(180deg,#06101e85,transparent 20%,transparent 67%,#06101ee6 96%)}
.tour-scene-heading{position:absolute;z-index:4;left:var(--gutter);top:85px;display:flex;align-items:center;gap:10px;font-size:9px;font-weight:600;letter-spacing:1.6px;color:#e3efff;text-shadow:0 1px 5px #0005}
.tour-live-dot{width:5px;height:5px;border-radius:50%;background:#6ab5ff;box-shadow:0 0 0 4px #6ab5ff18}
.tour-scene-caption{position:absolute;z-index:4;left:var(--gutter);bottom:170px;display:flex;align-items:center;gap:16px;color:white}
.tour-scene-caption>span{font-size:65px;line-height:1;letter-spacing:-3px;font-weight:500;color:#a6d4ff}
.tour-scene-caption small{display:block;font-size:8px;letter-spacing:1.5px;color:#c0d6ed;margin-bottom:7px}.tour-scene-caption strong{font-size:17px;font-weight:500}
.tour-scene-tags{position:absolute;z-index:4;left:var(--gutter);bottom:129px;display:flex;gap:8px;flex-wrap:wrap;max-width:45%}
.tour-scene-tags span{font-size:9px;padding:6px 10px;background:#0e263cda;border:1px solid #7cb2e23a;border-radius:3px;color:#d8eaff}
.tour-render-note{display:none}
.tour-editorial{position:relative;z-index:4;display:flex;flex-direction:column;justify-content:center;min-height:660px;padding:75px 0 140px;pointer-events:none}
.tour-copy-area{width:min(43%,490px);margin-left:auto;pointer-events:auto}
.tour-copy{padding:25px 0}.tour-kicker{font-size:8px;letter-spacing:1.6px;font-weight:600;color:#b5d6f8;line-height:1.7;margin-bottom:12px}.tour-kicker span{margin:0 6px;color:#6398c9}
.tour-category{font-size:14px;font-weight:600;color:#88c7ff;margin-bottom:10px}
.tour-copy h2,.tour-copy h3{font-size:clamp(31px,3vw,44px);line-height:1.1;letter-spacing:-1.4px;font-weight:500;margin:0;color:#fff}
.tour-copy h2{font-size:clamp(40px,4.2vw,62px)}.tour-copy h2 em{font-style:normal;color:#84c4ff}
.tour-description{font-size:12px;line-height:1.8;color:#c0cfe0;max-width:450px;margin-top:16px}
.tour-invitation{display:flex;align-items:center;gap:15px;margin-top:27px}.tour-invitation>span{display:grid;place-items:center;width:38px;height:48px;border:1px solid #7aa8d06b;border-radius:25px;color:#a6d3ff;font-size:22px}.tour-invitation p{font-size:11px;line-height:1.8;color:#d0e4fa}.tour-invitation b{font-weight:400;color:#91aecb}
.tour-services-label{margin:22px 0 10px;font-size:9px;font-weight:700;letter-spacing:1.8px;color:#a1d2ff}
.tour-services{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:8px;counter-reset:service}
.tour-services li{counter-increment:service;display:flex;align-items:center;gap:12px;padding:14px 15px;background:#102b47ed;border:1px solid #76b5ec4a;border-left:3px solid #61b0ff;border-radius:4px;color:#fff;font-size:17px;font-weight:600;line-height:1.4;letter-spacing:-.2px}
.tour-services li:before{content:counter(service,decimal-leading-zero);display:grid;place-items:center;flex:0 0 25px;height:25px;background:#1d4468;border-radius:50%;font:10px monospace;color:#b2dcff}
.tour-copy .text-link{font-size:10px;color:#a2d2ff;gap:18px}.tour-copy .text-link:hover{color:white}
.tour-directory{position:absolute;left:0;right:0;bottom:35px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;pointer-events:auto}
.tour-stop{position:relative;display:flex;align-items:center;gap:9px;background:none;border:0;border-top:1px solid #8ab4db4d;text-align:left;padding:15px 0 8px;color:#b2c6dc;cursor:pointer}
.tour-stop>span{font:10px monospace;color:#89b6df}.tour-stop>b{font-size:10px;font-weight:400;line-height:1.4}.tour-stop>i{width:4px;height:4px;flex-shrink:0;border-radius:50%;margin-left:auto;background:transparent}
.tour-stop.is-active{border-top-color:#75bdff;color:#fff}.tour-stop.is-active>span{color:#b5dfff}.tour-stop.is-active>i{background:#83c5ff}.tour-stop:hover{color:white}
.tour-bottom{position:relative;z-index:4;display:flex;align-items:center;gap:25px;font-size:7px;letter-spacing:1.5px;color:#bad3eb}
.tour-bottom>span:first-child{min-width:150px}.tour-progress{height:1px;background:#54739477;flex:1;overflow:hidden}.tour-progress>span{display:block;width:100%;height:100%;transform-origin:left;transform:scaleX(0);background:#78bbff}.tour-scroll-hint b{font-size:15px;font-weight:400;margin-left:12px}
.is-tour .tour-stage{position:sticky;top:var(--tour-top);height:calc(100svh - var(--tour-top));padding:28px var(--gutter) 22px;overflow:hidden;isolation:isolate}
.is-tour .tour-topline{position:absolute;top:28px;left:var(--gutter);right:var(--gutter)}
.is-tour .tour-layout{position:absolute;inset:0;min-height:0}
.is-tour .tour-editorial{height:100%;min-height:0;padding:95px var(--gutter) 150px}
.is-tour .tour-directory{left:var(--gutter);right:var(--gutter);bottom:56px}
.is-tour .tour-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:22px}
.is-tour .tour-copy{display:none;padding:0}.is-tour .tour-copy.is-active{display:block}
/* Static, readable fallback when JavaScript is unavailable. */
.solutions:not(.is-tour) .tour-layout{display:flex;flex-direction:column}
.solutions:not(.is-tour) .tour-scene{position:relative;height:480px;order:0;margin:20px calc(-1 * var(--gutter)) 0}
.solutions:not(.is-tour) .tour-scene:after{background:linear-gradient(0deg,#0b1728,transparent 50%)}
.solutions:not(.is-tour) .tour-scene-caption{bottom:30px}.solutions:not(.is-tour) .tour-scene-tags{display:none}
.solutions:not(.is-tour) .tour-editorial{min-height:0;padding:20px 0;order:1}.solutions:not(.is-tour) .tour-copy-area{width:100%;max-width:700px;margin:0 auto}
.solutions:not(.is-tour) .tour-floor-copy{border-top:1px solid #36516d}.solutions:not(.is-tour) .tour-directory,.solutions:not(.is-tour) .tour-scroll-hint{display:none}
@media(min-width:1600px){.tour-copy-area{width:43%;max-width:560px}.tour-services li{font-size:19px;padding:17px}.tour-description{font-size:14px}}
@media(min-width:801px) and (max-height:800px){.is-tour .tour-editorial{padding-top:70px;padding-bottom:115px}.tour-copy h3{font-size:30px}.tour-category{font-size:12px;margin-bottom:7px}.tour-kicker{margin-bottom:9px}.tour-description{font-size:11px;margin-top:10px;line-height:1.6}.tour-services-label{margin-top:15px;font-size:8px}.tour-services{gap:6px;margin-bottom:12px}.tour-services li{font-size:14px;padding:10px 12px;gap:9px}.tour-services li:before{height:22px;flex-basis:22px}.tour-scene-caption{bottom:155px}.tour-scene-tags{bottom:114px}.tour-stop>b{font-size:9px}}
@media(max-width:800px){
 .tour-stage{padding:20px 22px}.tour-topline .eyebrow{font-size:6px;letter-spacing:1px;max-width:180px;line-height:1.7}.tour-skip{font-size:9px}
 .is-tour .tour-stage{padding:20px 22px}.is-tour .tour-topline{top:20px;left:22px;right:22px}
 .tour-scene:after{background:linear-gradient(180deg,#07142577 0,#07142508 25%,#071425c9 48%,#071425f7 66%,#071425 100%)}
 .tour-details img{object-position:35% center}
 .tour-scene-heading{left:22px;top:65px;font-size:7px;letter-spacing:1px}.tour-scene-caption,.tour-scene-tags{display:none}
 .is-tour .tour-editorial{justify-content:flex-end;padding:105px 22px 115px}.tour-copy-area{width:100%;max-width:500px;margin:0 auto}
 .tour-copy h2{font-size:37px;letter-spacing:-1.3px}.tour-copy h3{font-size:28px;letter-spacing:-.9px}.tour-category{font-size:12px;margin-bottom:7px}.tour-kicker{font-size:7px;margin-bottom:7px}
 .is-tour .tour-floor-copy .tour-description{display:none}.tour-description{font-size:12px;margin-top:14px}.tour-services-label{font-size:8px;margin:16px 0 8px}.tour-services{gap:6px;margin-bottom:13px}.tour-services li{font-size:14px;padding:10px 11px;gap:10px}.tour-services li:before{height:22px;flex-basis:22px;font-size:9px}.tour-copy .text-link{font-size:9px}
 .is-tour .tour-directory{left:22px;right:22px;bottom:48px;gap:8px}.tour-stop{padding:11px 0;justify-content:center}.tour-stop>b{display:none}.tour-stop>i{margin-left:0}.tour-stop>span{font-size:9px}
 .is-tour .tour-bottom{bottom:18px;left:22px;right:22px;gap:12px;font-size:6px;letter-spacing:.6px}.tour-bottom>span:first-child{min-width:102px}.tour-scroll-hint b{font-size:12px;margin-left:4px}
 .tour-invitation{margin-top:18px}.tour-invitation>span{width:30px;height:36px;font-size:17px}.tour-invitation p{font-size:10px}
 .solutions:not(.is-tour) .tour-scene{height:360px;margin-left:-22px;margin-right:-22px}.solutions:not(.is-tour) .tour-scene-caption{display:flex;left:22px}.solutions:not(.is-tour) .tour-scene-heading{top:25px}
}
@media(max-width:800px) and (max-height:760px){.is-tour .tour-editorial{padding-bottom:100px}.tour-copy h3{font-size:25px}.tour-services-label{margin-top:12px}.tour-services{gap:5px;margin-bottom:10px}.tour-services li{font-size:12px;padding:8px 10px}.tour-category{font-size:11px}}
@media(prefers-reduced-motion:reduce){.tour-world{will-change:auto}}

/* Closing panorama: the complete building, one complete partner. */
.tour-finale-building{display:none}
.tour-finale{text-align:center}
.tour-finale h3{font-size:clamp(52px,7.3vw,104px);line-height:.98;letter-spacing:-4.5px;font-weight:600}
.tour-finale h3 em{font-style:normal;color:#95ceff}
.tour-finale .tour-kicker{letter-spacing:2.5px;margin-bottom:22px;font-size:9px;color:#dfedfc}
.tour-finale-description{font-size:13px;line-height:1.75;color:#d5e3f3;margin:20px auto 17px;max-width:430px}
.tour-finale-scope{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin:0 auto 22px;font-size:10px;color:#afcbe6}
.tour-finale-scope span+span:before{content:'·';margin-right:20px;color:#78bfff}
.tour-finale .text-link{font-size:12px;color:#c1e1ff}
.is-tour .is-finale .tour-copy-area{width:100%;max-width:none;margin:0}
.is-tour .is-finale .tour-editorial{justify-content:flex-end;padding-bottom:140px}
.is-finale .tour-scene:after{background:linear-gradient(180deg,#07142538 0,#07142515 28%,#07142588 49%,#071425ed 80%,#071425 100%)}
.is-finale .tour-scene-caption,.is-finale .tour-scene-tags{display:none}
.is-finale .tour-stop{border-top-color:#7fbcf584;color:#d4e9ff}
.solutions:not(.is-tour) .tour-finale{border-top:1px solid #36516d;margin-top:20px;padding-top:32px}
.solutions:not(.is-tour) .tour-finale-building{display:block;width:240px;height:auto;margin:0 auto 30px}
.solutions:not(.is-tour) .tour-finale h3{font-size:clamp(35px,6vw,70px);letter-spacing:-2px}
@media(min-width:801px) and (max-height:800px){.tour-finale h3{font-size:clamp(50px,6.8vw,84px)}.tour-finale .tour-kicker{margin-bottom:14px}.tour-finale-description{margin:14px auto 12px;font-size:12px}.tour-finale-scope{margin-bottom:16px}.is-tour .is-finale .tour-editorial{padding-bottom:120px}}
@media(max-width:800px){.tour-finale h3{font-size:clamp(34px,10.6vw,60px);letter-spacing:-1.7px;line-height:1.03}.tour-finale .tour-kicker{font-size:6px;letter-spacing:1.5px;margin-bottom:16px}.tour-finale-description{font-size:11px;margin:16px auto}.tour-finale-scope{gap:6px 12px;font-size:8px;max-width:300px;margin-bottom:18px}.tour-finale-scope span+span:before{display:none}.tour-finale .text-link{font-size:10px}.is-tour .is-finale .tour-editorial{padding-bottom:115px}}
@media(max-width:800px) and (max-height:760px){.is-tour .is-finale .tour-editorial{padding-bottom:105px}.tour-finale-scope{margin-bottom:14px}.tour-finale-description{margin:12px auto}.tour-finale .tour-kicker{margin-bottom:12px}}

.is-finale .tour-topline .eyebrow,.is-finale .tour-skip,.is-finale .tour-scene-heading{color:#254462}

/* Twelve floors, all directly accessible in a compact two-row directory. */
.tour-directory{grid-template-columns:repeat(6,minmax(0,1fr));gap:0 18px}
.tour-stop{min-height:44px;padding:9px 0}.tour-stop>b{font-size:10px}
.is-tour .tour-editorial{padding-bottom:195px}
.tour-scene-caption{bottom:218px}.tour-scene-tags{bottom:177px}
.is-tour .is-finale .tour-editorial{padding-bottom:180px}
@media(min-width:801px) and (max-height:800px){
 .is-tour .tour-editorial{padding-top:70px;padding-bottom:165px}
 .is-tour .tour-floor-copy .tour-description{display:none}
 .tour-stop{min-height:39px;padding:6px 0}.tour-stop>b{font-size:9px}
 .tour-scene-caption{bottom:198px}.tour-scene-tags{bottom:157px}
 .is-tour .is-finale .tour-editorial{padding-bottom:160px}
}
@media(max-width:800px){
 .is-tour .tour-directory{grid-template-columns:repeat(6,minmax(0,1fr));gap:0 8px}
 .tour-stop{min-height:32px;padding:8px 0}.tour-stop>span{font-size:10px}
 .is-tour .tour-editorial{padding-bottom:153px}
 .is-tour .is-finale .tour-editorial{padding-bottom:150px}
 .tour-bottom>span:first-child{min-width:0;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:800px) and (max-height:760px){
 .is-tour .tour-editorial{padding-top:95px;padding-bottom:137px}
 .is-tour .is-finale .tour-editorial{padding-bottom:142px}
 .tour-floor-copy h3{font-size:24px}.tour-services li{font-size:12px}
}

@media(max-width:800px){
 .tour-details img.is-layer{transform:translate3d(0,-21%,0)}
 .tour-details img[data-floor-detail="11"]{object-position:left center}
}
.tour-static-image{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:8px;margin-bottom:24px}
.is-tour .tour-static-image{display:none}
.tour-world{mask-image:linear-gradient(90deg,transparent,#000 14%,#000 88%,transparent)}

/* Keep the immersive tour on short laptops, scaled displays and landscape phones. */
.is-tour .tour-stage{height:calc(100vh - var(--tour-top));height:calc(100svh - var(--tour-top))}
@media(max-height:700px){
 .is-tour .tour-editorial,.is-tour .is-finale .tour-editorial{padding-top:65px;padding-bottom:135px}
 .is-tour .tour-copy-area{max-height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#75bdff #102b47;overscroll-behavior:auto}
 .is-tour .tour-copy h2{font-size:32px}.is-tour .tour-copy h3{font-size:25px}
 .is-tour .tour-description,.is-tour .tour-invitation,.is-tour .tour-finale-description,.is-tour .tour-finale-scope{display:none}
 .is-tour .tour-kicker{margin-bottom:6px}.is-tour .tour-category{font-size:11px;margin-bottom:6px}
 .is-tour .tour-services-label{margin:10px 0 7px}.is-tour .tour-services{gap:5px;margin-bottom:8px}
 .is-tour .tour-services li{padding:7px 9px;font-size:12px}
 .is-tour .tour-directory{bottom:43px}.is-tour .tour-stop{min-height:32px;padding:5px 0}
 .is-tour .tour-scene-caption{bottom:160px}.is-tour .tour-scene-tags{bottom:120px}
 .is-tour .tour-finale h3{font-size:clamp(30px,5vw,58px);letter-spacing:-1.5px}
}
@media(max-height:480px){
 .is-tour .tour-topline{top:12px}.is-tour .tour-scene-heading{top:38px;font-size:6px}
 .is-tour .tour-editorial,.is-tour .is-finale .tour-editorial{padding-top:55px;padding-bottom:85px}
 .is-tour .tour-copy-area{width:55%;margin-left:auto;margin-right:0}
 .is-tour .tour-directory{grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;bottom:35px}
 .is-tour .tour-stop>b,.is-tour .tour-stop>i,.is-tour .tour-scene-caption,.is-tour .tour-scene-tags{display:none}
 .is-tour .tour-stop{justify-content:center;min-height:30px}
 .is-tour .tour-bottom{bottom:12px}.is-tour .tour-copy h2,.is-tour .tour-copy h3{font-size:23px}
 .is-tour .tour-services li{font-size:11px;padding:5px 7px}.is-tour .tour-services li:before{height:18px;flex-basis:18px}
}

/* Make the solution name the primary heading of every floor. */
.tour-floor-copy .tour-category{
 font-size:clamp(30px,3.2vw,46px);font-weight:700;line-height:1.12;
 letter-spacing:-1px;color:#a9d9ff;margin-bottom:16px;text-wrap:balance;
 text-shadow:0 2px 16px #03112366;
}
.tour-floor-copy h3{font-size:clamp(20px,1.8vw,26px);line-height:1.3;letter-spacing:-.35px;font-weight:500}
@media(min-width:801px) and (max-height:800px){
 .is-tour .tour-floor-copy .tour-category{font-size:clamp(28px,2.8vw,38px);margin-bottom:11px}
 .is-tour .tour-floor-copy h3{font-size:20px}
}
@media(max-width:800px){
 .tour-floor-copy .tour-category{font-size:clamp(28px,6.5vw,38px);letter-spacing:-.65px;margin-bottom:12px}
 .is-tour .tour-floor-copy h3{font-size:19px;line-height:1.25}
}
@media(max-height:700px){
 .is-tour .tour-floor-copy .tour-category{font-size:clamp(26px,2.8vw,34px);margin-bottom:9px}
 .is-tour .tour-floor-copy h3{font-size:18px}
}
@media(max-width:800px) and (max-height:700px){
 .is-tour .tour-floor-copy .tour-category{font-size:clamp(26px,6vw,32px)}
}
@media(max-height:480px){
 .is-tour .tour-floor-copy .tour-category{font-size:clamp(23px,3.2vw,30px);margin-bottom:8px}
 .is-tour .tour-floor-copy h3{font-size:16px}
}

/* Thirteen stops: twelve interior floors and the exterior vehicle-entry zone. */
.tour-directory,.is-tour .tour-directory{grid-template-columns:repeat(7,minmax(0,1fr));gap:0 12px}
.tour-controls{display:flex;align-items:center;gap:22px}.tour-auto{color:#d6e7fb;background:#102b47dd;border:1px solid #81baff66;border-radius:30px;padding:8px 13px;font-size:10px;cursor:pointer}
.tour-auto:hover,.tour-auto:focus-visible{background:#215785;border-color:#abd7ff}
#tour-auto-status{font-size:8px;letter-spacing:.6px;color:#aed7ff;white-space:nowrap}
.tour-details img[data-floor-detail="12"]{object-position:left center}
@media(max-width:800px){
 .tour-controls{gap:10px}.tour-auto{font-size:8px;padding:7px 9px}
 .tour-topline .eyebrow{max-width:125px;font-size:6px}
 .is-tour .tour-directory{gap:0 5px}.tour-stop>span{font-size:9px}
 #tour-auto-status{font-size:6px;letter-spacing:.2px}.tour-scroll-hint{display:none}
 .tour-details img[data-floor-detail="12"].is-layer{object-position:20% center;transform:translate3d(0,-21%,0)}
}
@media(max-height:480px){.is-tour .tour-directory{grid-template-columns:repeat(13,minmax(0,1fr));gap:3px}}
