/* A scroll-controlled ascent through a softly lit architectural space. */
.escalator-intro{height:100vh;height:100svh;position:relative;background:#06090b;isolation:isolate;z-index:40}
.intro-stage{--ride-progress:0;--copy-opacity:1;--copy-y:0px;--detail-opacity:1;--arrival-opacity:0;position:relative;inset:0;height:100vh;height:100svh;overflow:hidden;background:#06090b;color:#f4f3ed;z-index:50;pointer-events:none}
.intro-scene,.intro-vignette,.escalator-canvas,.intro-poster{position:absolute;inset:0;width:100%;height:100%;display:block}
.intro-scene{overflow:hidden;background:radial-gradient(ellipse at 50% 44%,#28302f,#06090b 70%)}
.intro-poster{object-fit:cover}
.escalator-canvas{opacity:0}
.intro-scene.is-rendered .escalator-canvas{opacity:1}
.intro-scene.is-rendered .intro-poster{visibility:hidden}
.intro-vignette{z-index:1;background:linear-gradient(180deg,#040609a8 0%,transparent 29%,transparent 72%,#030608b8 100%);box-shadow:inset 0 0 120px #0003}
.intro-topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px var(--pad);z-index:3}
.intro-brand{display:inline-flex;align-items:center;gap:13px;pointer-events:auto}
.intro-monogram{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border:1px solid #e8eeee57;border-radius:50%;font-size:11px;font-weight:600;background:#ffffff03}
.intro-monogram i{display:block;height:23px;width:1px;background:var(--orange);transform:rotate(37deg);margin:0 1px}
.intro-brand-copy{font-family:var(--font-display);font-size:10px;line-height:1.3;font-weight:600;letter-spacing:.09em;color:#e0e4df}
.intro-brand-copy small{display:block;margin-top:4px;font-size:6px;letter-spacing:.3em;color:#96a39f;font-weight:400}
.intro-top-actions{display:flex;align-items:center;gap:22px}
.intro-languages{display:flex;gap:2px;padding:3px;border:1px solid #ffffff16;border-radius:99px;background:#080d0f45;pointer-events:auto}
.intro-languages button{font-size:10px;min-width:31px;min-height:31px;border:0;border-radius:99px;color:#aab7b5;background:transparent;cursor:pointer;transition:background 250ms ease,color 250ms ease}
.intro-languages button[aria-pressed=true]{color:#f4f3ed;background:#ffffff14}
.intro-enter{display:flex;align-items:center;gap:17px;min-height:43px;padding:7px 8px 7px 17px;border:1px solid #e4ceb54a;border-radius:99px;background:#e4ceb508;font-size:11px;line-height:1.25;color:#eeeae1;pointer-events:auto;transition:background 220ms ease,border-color 220ms ease}
.intro-enter>span:last-child{display:grid;place-items:center;flex:0 0 28px;height:28px;border:1px solid #e4ceb53b;border-radius:50%;font-size:17px;color:var(--orange)}
.intro-enter:hover{background:#e4ceb516;border-color:#e4ceb57a}
.intro-brand:focus-visible,.intro-enter:focus-visible,.intro-scroll:focus-visible,.intro-languages button:focus-visible{outline:2px solid var(--teal);outline-offset:5px}
.intro-copy{position:absolute;z-index:2;top:14.5%;left:var(--pad);right:var(--pad);text-align:center}
.intro-wordmark{display:flow-root;width:max-content;margin:0 auto;transform-origin:50% 50%;will-change:transform}
.intro-eyebrow,.intro-tagline{opacity:var(--detail-opacity);transform:translateY(var(--copy-y));will-change:opacity,transform}
.intro-eyebrow{display:flex;justify-content:center;align-items:center;gap:11px;margin:0 0 24px;font-size:9px;line-height:1.7;letter-spacing:.18em;text-transform:uppercase;color:#b5c1bc}
.intro-eyebrow::before{content:'';flex:0 0 4px;height:4px;border-radius:50%;background:var(--orange);box-shadow:0 0 14px #e6a47270}
.intro-copy h1{margin:0;font-family:var(--font-display);font-size:clamp(55px,8.2vw,132px);font-weight:500;line-height:.98;letter-spacing:-.065em;white-space:nowrap;text-shadow:0 4px 44px #0004}
.intro-copy h1 span{font-weight:300;color:#e9b17d}
.intro-enterprise{font-size:9px;line-height:1.4;letter-spacing:.58em;color:#b8c5be;margin:16px 0 0;padding-left:.58em;opacity:clamp(0,calc(1 - var(--ride-progress)*5),1)}
.intro-tagline{font-size:clamp(13px,1.1vw,16px);line-height:1.6;color:#bec8c2;margin:20px 0 0;letter-spacing:.025em}
.intro-arrival{position:absolute;z-index:2;left:var(--pad);right:var(--pad);top:36%;text-align:center;opacity:var(--arrival-opacity);transform:translateY(calc((1 - var(--arrival-opacity))*12px));color:#e0e7df}
.intro-arrival>span{display:inline-block;border:1px solid #d6bb954a;border-radius:50%;width:42px;height:42px;line-height:40px;font-size:20px;color:var(--orange)}
.intro-arrival p{margin:16px 0;font-size:clamp(20px,3vw,40px);letter-spacing:-.04em;font-family:var(--font-display)}
.intro-foot{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:29px;display:grid;grid-template-columns:1fr 150px 1fr;align-items:center;gap:35px;opacity:var(--copy-opacity)}
.intro-scroll{display:flex;gap:12px;align-items:center;width:fit-content;min-height:46px;padding:11px 15px;border:1px solid #ffffff2a;border-radius:99px;background:#080d10a3;backdrop-filter:blur(12px);font-size:10px;letter-spacing:.07em;pointer-events:auto;transition:border-color 220ms ease,background 220ms ease}
.intro-scroll:hover{border-color:#e6a47270;background:#151b1bc7}
.intro-scroll svg{width:23px;height:23px;fill:none;stroke:#e9b17d;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.intro-scroll-arrow{margin-left:4px;color:#d8e1da;animation:intro-scroll-cue 2.6s ease-in-out infinite}
.intro-level{display:flex;align-items:center;gap:12px;font-size:9px;color:#b1bfb6;font-variant-numeric:tabular-nums}
.intro-level-line{height:1px;position:relative;flex:1;background:#ffffff26}
.intro-level-line i{position:absolute;inset:0;background:var(--orange);transform:scaleX(var(--ride-progress));transform-origin:left}
.intro-footnote{justify-self:end;text-align:right;font-size:10px;line-height:1.5;color:#a8b7ae;letter-spacing:.035em;margin:0;max-width:230px}
.intro-progress{position:absolute;z-index:2;right:30px;top:52%;height:130px;width:1px;background:#ffffff20}
.intro-progress>span{position:absolute;inset:0;background:var(--orange);transform:scaleY(var(--ride-progress));transform-origin:top}
.intro-progress>i{position:absolute;width:5px;height:1px;background:#c9d3d8;left:-2px;top:0}
.intro-progress>i:last-child{top:auto;bottom:0}
.intro-complete .intro-stage{visibility:hidden}
@media(prefers-reduced-motion:no-preference){.has-escalator-intro .escalator-intro{height:240vh;height:240svh}.has-escalator-intro .intro-stage{position:fixed;inset:0}}
/* Step treads, handrails and direction cues continue through the main site. */

.hero-escalator-mark{position:absolute;right:26px;top:25px;width:110px;display:flex;flex-direction:column;align-items:center;gap:7px;color:#fff;background:#0610184a;backdrop-filter:blur(8px);border:1px solid #ffffff28;padding:12px 11px 10px;border-radius:6px}
.hero-escalator-mark svg{width:85px;height:72px;fill:none;stroke:#e2ebef;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.hero-escalator-mark .mark-rail{stroke:var(--teal)}
.hero-escalator-mark .mark-direction{stroke:var(--orange)}
.hero-escalator-mark span{font-size:6px;letter-spacing:.18em}
.trust-strip{position:relative}
.trust-strip::before{content:'';position:absolute;top:-6px;height:6px;left:0;right:0;background:repeating-linear-gradient(90deg,#747b7c70 0 1px,transparent 1px 5px);border-top:1px solid #e6a47252;pointer-events:none}
.service-icon svg path:first-child{stroke:var(--teal)}
.section-kicker>span:first-child{display:grid;place-items:center;min-width:23px;min-height:22px;padding:2px 5px;background:#e6a47209;border-bottom:1px solid #e6a47260;border-right:1px solid #e6a47260}
.contact-escalator{position:absolute;width:460px;height:430px;right:-60px;top:15px;opacity:.45;pointer-events:none}
.contact-escalator svg{width:100%;height:100%;fill:none;stroke-width:1.2;stroke-linejoin:round}
.escalator-outline{stroke:#617981}
.escalator-treads{stroke:#425a66}
.escalator-flow{stroke:var(--orange);stroke-dasharray:30 450;animation:handrail-flow 9s linear infinite}
@keyframes handrail-flow{to{stroke-dashoffset:-960}}
@keyframes intro-scroll-cue{0%,100%{transform:translateY(-2px);opacity:.6}50%{transform:translateY(3px);opacity:1}}
@media(max-width:760px){.hero-copy{min-width:0}html[lang="ms"] .hero h2{font-size:clamp(36px,10vw,70px)}.intro-topbar{padding:20px 19px;gap:12px}.intro-brand{gap:0;flex-shrink:0}.intro-brand-copy{display:none}.intro-top-actions{gap:10px;min-width:0}.intro-enter{font-size:10px;gap:8px;padding:6px 7px 6px 12px;min-height:40px}.intro-enter{min-width:0}.intro-enter>span:first-child{max-width:92px;min-width:0}.intro-enter>span:last-child{flex-basis:25px;height:25px;font-size:16px}.intro-monogram{flex-basis:35px;width:35px;height:35px;font-size:10px}.intro-languages{padding:3px;gap:1px}.intro-languages button{min-width:28px;min-height:29px;font-size:9px}.intro-copy{top:16%;left:19px;right:19px}.intro-copy h1{font-size:clamp(40px,12vw,88px)}.intro-eyebrow{font-size:8px;letter-spacing:.1em;max-width:330px;margin:0 auto 20px;line-height:1.8;gap:8px;display:block;overflow-wrap:break-word}.intro-eyebrow::before{display:inline-block;margin-right:8px;vertical-align:middle;width:3px}.intro-eyebrow::before{flex-basis:3px;height:3px}.intro-enterprise{font-size:8px;margin-top:14px;letter-spacing:.48em}.intro-tagline{font-size:13px;margin-top:18px}.intro-foot{grid-template-columns:1fr auto;gap:13px;bottom:24px;left:19px;right:19px}.intro-footnote{display:none}.intro-scroll{font-size:10px;gap:9px;padding:10px 13px;min-height:43px}.intro-scroll svg{width:20px;height:20px}.intro-level{width:80px;font-size:8px}.intro-progress{right:12px;height:100px}.intro-arrival{top:35%}.hero-escalator-mark{width:90px;right:18px;top:19px;padding:8px}.hero-escalator-mark svg{height:58px;width:70px}.contact-escalator{width:290px;height:300px;top:55px;right:-115px;opacity:.3}}
@media(max-height:540px) and (min-width:761px){.intro-copy{top:17%}.intro-copy h1{font-size:clamp(55px,8vw,84px)}.intro-eyebrow{margin-bottom:12px;font-size:8px}.intro-enterprise{margin-top:10px;font-size:7px}.intro-tagline{margin-top:12px;font-size:12px}.intro-topbar{padding-block:15px}.intro-foot{bottom:18px}.intro-scroll{min-height:38px;padding:7px 13px}}
@media(prefers-reduced-motion:reduce){.intro-stage{opacity:1!important}.intro-wordmark,.intro-eyebrow,.intro-tagline,.intro-arrival{will-change:auto}.intro-wordmark{transform:none!important}.intro-scroll-arrow,.escalator-flow{animation:none}.escalator-intro{height:100vh;height:100svh}}

#main:focus{outline:none}

html.is-language-switching.intro-complete .intro-stage{visibility:hidden!important;opacity:0!important}

/* The homepage appears on the lift wall and grows into the live page. */
.intro-website{position:absolute;inset:0;z-index:2;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;contain:layout paint;will-change:clip-path,opacity}
.intro-website-surface{position:absolute;left:0;top:0;width:100%;height:max(100%,140vw);overflow:hidden;transform-origin:0 0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;will-change:transform}
.intro-topbar,.intro-progress,.intro-copy{opacity:var(--entrance-ui-opacity,1)}
@media(prefers-reduced-motion:reduce){.intro-website{display:none}}

/* Explicitly remove the preview after arrival, including visible descendants. */
.intro-complete .intro-website,.intro-website[hidden]{display:none}

/* Stop entrance-only variables from invalidating the preview's whole tree. */
.intro-website{--ride-progress:0;--copy-opacity:1;--copy-y:0px;--detail-opacity:1;--arrival-opacity:0;--entrance-ui-opacity:1}
