:root{--blue:#073f69;--deep:#041725;--ice:#edf4f7;--steel:#b9c4ca;--white:#fff;--gold:#c8a764;--pad:clamp(24px,6vw,92px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;color:#092437;background:#fff}body.intro-active{overflow:hidden}.experience{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 50% 32%,#26333a 0,#11191e 38%,#05090c 100%);display:grid;place-items:center;transition:opacity .8s,visibility .8s;overflow:hidden}.experience.done{opacity:0;visibility:hidden;pointer-events:none}.hall-sign{position:absolute;top:5vh;text-align:center;color:#eef5f7;letter-spacing:.28em;font-size:clamp(13px,1.2vw,18px);z-index:4}.hall-sign .mark{display:block;font-size:clamp(42px,5vw,70px);font-weight:700;letter-spacing:-.12em;margin-right:.12em}.hall-sign small{display:block;font-size:9px;letter-spacing:.38em;margin-top:5px;color:#aab7bd}.floor-display{position:absolute;top:18vh;width:70px;height:40px;background:#050708;border:2px solid #758087;box-shadow:0 0 0 5px #171d20,inset 0 0 12px #000;color:#ffb64a;display:grid;place-items:center;font:24px monospace;z-index:6}.door-frame{position:absolute;bottom:0;width:min(680px,72vw);height:72vh;border:clamp(10px,1.6vw,24px) solid transparent;border-bottom:0;background:linear-gradient(#6d7579,#d8dcdd 24%,#626a6e) border-box;box-shadow:0 0 0 5px #252d31,0 0 70px #000;overflow:hidden}.cabin{position:absolute;inset:0;background:linear-gradient(120deg,#222e35,#77858c 45%,#263139);display:grid;place-items:center;color:#eaf0f2;letter-spacing:.32em;text-transform:uppercase}.cabin:before,.cabin:after{content:"";position:absolute;top:0;bottom:0;width:1px;background:#9ca9ae}.cabin:before{left:30%}.cabin:after{right:30%}.cabin-light{position:absolute;top:0;width:70%;height:10%;background:#f9ffff;filter:blur(13px);opacity:.7}.door{position:absolute;top:0;bottom:0;width:50.2%;background:repeating-linear-gradient(90deg,#81898c 0,#cbd0d1 7%,#8d9598 13%,#dadee0 21%);transition:transform 1.35s cubic-bezier(.7,0,.2,1);box-shadow:inset 0 0 35px #4b5357}.door:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff3,transparent)}.door-left{left:0;border-right:1px solid #31383c}.door-right{right:0;border-left:1px solid #31383c}.opening .door-left{transform:translateX(-100%)}.opening .door-right{transform:translateX(100%)}.call-button{position:absolute;right:max(3vw,24px);top:50%;transform:translateY(-5%);width:88px;height:112px;background:linear-gradient(145deg,#586166,#20262a);border:6px solid #aeb6ba;box-shadow:0 4px 20px #000;color:white;cursor:pointer;z-index:8}.call-arrow{display:grid;place-items:center;margin:auto;width:46px;height:46px;border:2px solid #d9e2e5;border-radius:50%;font-size:26px;transition:.3s}.call-button:hover .call-arrow{background:#ffb64a;color:#111;box-shadow:0 0 22px #ffb64a}.call-label{display:block;font-size:9px;letter-spacing:.12em;margin-top:10px}.skip{position:absolute;bottom:18px;right:22px;background:none;border:0;color:#91a0a8;text-decoration:underline;cursor:pointer;z-index:9}.experience.rising .cabin{animation:rise .75s linear infinite}.experience.rising .floor-display{box-shadow:0 0 0 5px #171d20,inset 0 0 12px #000,0 0 22px #ffb64a}@keyframes rise{50%{filter:brightness(1.25)}}.site{opacity:0;transition:opacity .7s}.site.ready{opacity:1}.nav{height:86px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:10;color:white;border-bottom:1px solid #ffffff35}.brand{display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none;font-size:15px;letter-spacing:.18em}.brand-mark{font-size:31px;font-weight:bold;letter-spacing:-.16em}.brand small{display:block;font-size:8px;letter-spacing:.26em;margin-top:4px;color:#bfcbd0}.nav nav{display:flex;gap:34px}.nav nav a{color:inherit;text-decoration:none;font-size:13px;letter-spacing:.1em}.menu-toggle{display:none}.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;padding:150px var(--pad) 10vh;color:white;overflow:hidden}.hero-media{position:absolute;inset:0;background:url('hero.jpg') center/cover;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#031524e8 0,#05233db8 42%,#03152238 75%),linear-gradient(0deg,#041725cc,transparent 50%)}.hero-copy{position:relative;z-index:2;max-width:850px}.eyebrow{font-size:12px;letter-spacing:.25em;font-weight:bold;color:#a9c6d6;margin:0 0 24px}.eyebrow.blue{color:var(--blue)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,7.2vw,106px);line-height:.92;letter-spacing:-.055em;margin-bottom:32px}h1 em{font-weight:400;color:#b9d5e4}h2{font-size:clamp(36px,4.3vw,65px);line-height:1.04;letter-spacing:-.045em;margin-bottom:28px}.hero-copy>p:not(.eyebrow){max-width:630px;font-size:clamp(17px,1.4vw,21px);line-height:1.55;color:#d1dde3}.primary{display:inline-flex;align-items:center;gap:45px;margin-top:18px;background:var(--gold);color:#10202b;text-decoration:none;padding:20px 24px;font-weight:bold;font-size:14px;letter-spacing:.08em}.primary span{font-size:20px}.hero-stat{position:absolute;right:var(--pad);bottom:10vh;z-index:3;display:flex;align-items:center;gap:16px}.hero-stat strong{font-size:70px;font-weight:400}.hero-stat span{font-size:13px;line-height:1.3;text-transform:uppercase;letter-spacing:.12em}.section{padding:clamp(85px,11vw,165px) var(--pad)}.about{display:grid;grid-template-columns:1fr 1.1fr;gap:9vw}.about-copy{padding-top:45px}.about-copy .lead{font-size:clamp(22px,2vw,30px);line-height:1.4;color:#0a3551}.about-copy>p:not(.lead){font-size:17px;line-height:1.75;color:#647681}.values{display:flex;flex-wrap:wrap;gap:9px;margin-top:35px}.values span{padding:12px 16px;background:var(--ice);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.solutions{background:var(--deep);color:white}.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:end;margin-bottom:65px}.section-head>p{line-height:1.7;color:#a9bbc5;font-size:16px}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff26;border-left:1px solid #ffffff26}.solution{padding:38px 32px;min-height:255px;border-right:1px solid #ffffff26;border-bottom:1px solid #ffffff26;transition:.3s}.solution:hover,.solution.featured{background:var(--blue);transform:translateY(-3px)}.solution span{font-size:12px;color:#80a5ba}.solution h3{font-size:25px;margin:48px 0 15px}.solution p{color:#b9c8cf;line-height:1.55;font-size:15px}.promise{background:var(--blue);color:white;text-align:center;padding:110px var(--pad)}.promise blockquote{font-size:clamp(30px,4.3vw,62px);line-height:1.15;max-width:1050px;margin:0 auto 60px;letter-spacing:-.035em}.promise-points{display:flex;justify-content:center;align-items:center;gap:22px;text-transform:uppercase;letter-spacing:.15em;font-size:12px}.promise-points i{display:block;width:40px;height:1px;background:#ffffff66}.clients h2{max-width:760px}.client-list{margin-top:70px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ccd7dc;border-left:1px solid #ccd7dc}.client-list span{padding:28px 22px;min-height:100px;display:flex;align-items:center;border-right:1px solid #ccd7dc;border-bottom:1px solid #ccd7dc;font-weight:bold;color:#315269}footer{background:#041725;color:white;padding:100px var(--pad) 35px}.footer-cta{text-align:center;padding-bottom:100px}.footer-cta h2{font-size:clamp(40px,6vw,90px)}.primary.light{background:white}.footer-info{border-top:1px solid #ffffff2d;padding-top:30px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;color:#a9bac4;font-size:13px;line-height:1.7}.footer-info div{display:flex;flex-direction:column}.footer-info strong{color:white;letter-spacing:.14em}.footer-info a{color:white}.menu-toggle{background:none;border:1px solid #ffffff66;color:white;padding:9px 12px}@media(max-width:760px){.hall-sign{top:4vh}.floor-display{top:18vh}.door-frame{width:76vw;height:64vh}.call-button{right:10px;width:64px;height:92px;border-width:4px}.call-arrow{width:37px;height:37px}.call-label{font-size:7px}.nav{height:74px}.menu-toggle{display:block}.nav nav{display:none;position:absolute;top:74px;left:0;right:0;background:#061b2df2;padding:25px var(--pad);flex-direction:column}.nav.open nav{display:flex}.hero{padding-bottom:9vh}.hero-stat{display:none}.section{padding-top:80px;padding-bottom:80px}.about,.section-head{grid-template-columns:1fr;gap:10px}.about-copy{padding-top:0}.solution-grid{grid-template-columns:1fr}.solution{min-height:210px}.client-list{grid-template-columns:1fr 1fr}.footer-info{grid-template-columns:1fr;gap:26px}.promise-points{gap:9px}.promise-points i{width:16px}.brand{font-size:12px}.brand-mark{font-size:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}

/* Clean website opening */
.hero-media{background-image:url('hero-clean.png?v=18')}
.hero-side-logo{position:absolute;z-index:3;right:clamp(24px,5vw,80px);bottom:clamp(24px,5vh,56px);width:clamp(110px,12vw,185px);height:auto;filter:brightness(0) invert(1);opacity:.96}
.hero-right-marks{position:absolute;z-index:3;right:clamp(24px,5vw,80px);bottom:clamp(24px,5vh,56px);display:flex;flex-direction:column;align-items:flex-end;gap:22px}
.hero-right-marks .hero-side-logo{position:static;width:clamp(110px,12vw,185px)}
.hero-anniversary{display:flex;align-items:center;gap:7px;color:#e9c989;text-shadow:0 2px 14px #061a30;width:max-content}
.hero-anniversary strong{font:400 clamp(75px,9vw,145px)/.78 Georgia,serif;letter-spacing:-.12em;padding-right:.09em}
.hero-anniversary span{font:400 clamp(17px,2.3vw,35px)/1.1 Arial,sans-serif;letter-spacing:.24em}
.hero-anniversary small{display:block;margin-top:7px;font:400 clamp(8px,.85vw,13px)/1.4 Arial,sans-serif;letter-spacing:.29em;white-space:nowrap}
.client-logo-gallery{width:100%;margin-top:65px;overflow-x:auto}
.client-logo-art{width:100%;min-width:900px}
.client-logo-row{background-image:url('client-logos.png');background-repeat:no-repeat}
.client-logo-top{width:100%;aspect-ratio:1657/280;background-size:100% auto;background-position:left top}
.client-logo-bottom{width:79.66%;aspect-ratio:1320/257;background-size:125.53% auto;background-position:left bottom}

/* Gulf Electro approved elevator entrance */
.experience{background:
  linear-gradient(90deg,rgba(3,13,21,.96),rgba(7,25,38,.78) 24%,rgba(4,15,24,.9) 50%,rgba(7,25,38,.78) 76%,rgba(3,13,21,.96)),
  radial-gradient(circle at 50% 18%,#183044 0,#07131d 52%,#02070b 100%)}
.experience:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 20%,rgba(189,133,52,.15) 20.2%,transparent 21%,transparent 79%,rgba(189,133,52,.15) 79.8%,transparent 80%);pointer-events:none}
.hall-sign{top:1.4vh;width:min(320px,42vw);height:15vh;display:flex;align-items:center;justify-content:center}
.hall-sign img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1);opacity:.96}
.floor-display{top:17.2vh;width:72px;height:41px;color:#2f9cff;text-shadow:0 0 7px #148cff,0 0 18px #1478b8;border-color:#4d5d68}
.door-frame{height:72vh;width:min(650px,68vw);border-color:transparent;background:linear-gradient(135deg,#4a545a,#e2e8ea 24%,#687278 55%,#dce3e6) border-box}
.cabin{overflow:hidden;background:linear-gradient(90deg,#08131e 0,#183044 13%,#0c1c2a 50%,#183044 87%,#08131e 100%);perspective:700px}
.cabin-ceiling{position:absolute;z-index:3;top:0;left:10%;right:10%;height:17%;background:linear-gradient(180deg,#d8d6cf,#4d5559 20%,#e8e3d9 30%,#b7b4ad 76%,#384149);clip-path:polygon(8% 0,92% 0,100% 100%,0 100%)}
.cabin-ceiling i{position:absolute;inset:22% 16%;border:3px solid #e3ddd0;box-shadow:0 0 16px #d3c5a8;background:#fff8e7}
.cabin-wall{position:absolute;top:15%;bottom:13%;width:21%;background:linear-gradient(90deg,#0b1722,#263b4b);border:1px solid #61717a}
.cabin-wall-left{left:0;transform:skewY(4deg)}.cabin-wall-right{right:0;transform:skewY(-4deg)}
.cabin-mirror{position:absolute;z-index:1;top:17%;bottom:22%;left:20%;right:20%;background:linear-gradient(140deg,#101c25,#3e4d55 46%,#0b151e 54%,#24353f);border:1px solid #758189}
.cabin-led{position:absolute;z-index:4;top:19%;bottom:20%;width:3px;background:#269cff;box-shadow:0 0 10px #168be6}.led-left{left:22%}.led-right{right:22%}
.handrail{position:absolute;z-index:5;left:18%;right:18%;bottom:27%;height:7px;background:linear-gradient(#eef3f4,#717a7e,#dce2e4);box-shadow:0 5px 8px #0009}.handrail:before,.handrail:after{content:"";position:absolute;top:4px;width:6px;height:24px;background:#737d82}.handrail:before{left:7%}.handrail:after{right:7%}
.cabin-floor{position:absolute;z-index:2;left:0;right:0;bottom:0;height:24%;background:linear-gradient(150deg,#111820,#293641 48%,#0c1218);clip-path:polygon(0 0,100% 0,86% 100%,14% 100%);border-top:1px solid #8c969b}
.door{width:50.15%;background:linear-gradient(110deg,rgba(18,40,54,.38),rgba(147,187,207,.12) 42%,rgba(236,249,255,.22) 48%,rgba(18,40,54,.34));border:3px solid #3c474d;box-shadow:inset 0 0 20px #b6d6e42b;backdrop-filter:blur(.7px)}
.door:before{content:"";position:absolute;inset:3%;border:1px solid rgba(181,213,226,.35)}
.door-left{border-right:2px solid #18232a}.door-right{border-left:2px solid #18232a}
.call-station{position:absolute;right:max(4.5vw,30px);top:50%;transform:translateY(-5%);z-index:8;display:flex;flex-direction:column;align-items:center;gap:13px}
.call-button{position:relative;inset:auto;transform:none;width:52px;height:86px;border:2px solid #77848b;padding:0;background:linear-gradient(145deg,#69757b,#22292d);box-shadow:0 5px 18px #000b}
.call-arrow{width:27px;height:27px;border-color:#48a8ef;color:#dff3ff;font-size:17px;background:#08243a;box-shadow:0 0 10px #168be6}
.call-button:hover .call-arrow,.call-button:focus-visible .call-arrow{background:#1478b8;color:#fff;box-shadow:0 0 20px #269cff}
.call-label{display:block;margin:0;color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;text-align:center;line-height:1.15;text-shadow:-1px 0 #1478b8,0 1px #1478b8,1px 0 #1478b8,0 -1px #1478b8,0 0 8px #1478b8}
.brand img{width:150px;height:62px;object-fit:contain;filter:brightness(0) invert(1)}
.experience.rising .floor-display{box-shadow:0 0 0 5px #171d20,inset 0 0 12px #000,0 0 22px #168be6}
@media(max-width:760px){.hall-sign{top:2vh;width:56vw;height:13vh}.floor-display{top:16vh}.door-frame{width:78vw;height:68vh}.call-station{right:5px;top:53%}.call-button{width:42px;height:72px}.call-label{font-size:8px;max-width:58px}.door:before{inset:2%}}

/* Photoreal entrance experience */
.experience{background:#02070b}
.experience.done{transition:opacity 1.25s ease-in-out,visibility 1.25s ease-in-out}
.site{transition:opacity 1.25s ease-in-out}
.experience:before{display:none}
.entrance-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity 1.2s ease-in-out,transform 3s cubic-bezier(.32,.05,.18,1),filter 2s ease;user-select:none}
.entrance-open{opacity:0;pointer-events:none}
.entrance-open{transform-origin:50% 50%;will-change:transform,opacity}
.experience.doors-open .entrance-open{opacity:1;transition:opacity 0s,transform 2.2s cubic-bezier(.22,.61,.36,1),filter 2s ease}
.door-pocket{position:absolute;z-index:2;left:36.85%;top:16.5%;width:26.3%;height:77.5%;overflow:hidden;clip-path:inset(0);contain:paint;isolation:isolate;pointer-events:none}
.door-pocket-interior{position:absolute;z-index:0;top:-16.5vh;left:-36.85vw;width:100vw;height:100vh;max-width:none;object-fit:cover;object-position:center;opacity:0;pointer-events:none}
.experience.opening .door-pocket-interior{opacity:1}
.door-pocket:before{content:"";position:absolute;z-index:1;left:0;right:0;top:0;height:27%;background:linear-gradient(180deg,rgba(7,13,18,.94),rgba(7,13,18,.72) 58%,transparent);opacity:0;pointer-events:none}
.experience.opening .door-pocket:before{opacity:1}
.experience.doors-open .door-pocket{opacity:0;transition:opacity .45s ease-in}
.door-panel{position:absolute;z-index:2;top:0;bottom:0;width:50%;overflow:hidden;opacity:1;will-change:transform,opacity;transition:opacity .35s ease;box-shadow:inset 0 0 16px #0006}
.door-panel img{position:absolute;top:-16.5vh;width:100vw;height:103.5vh;max-width:none;object-fit:cover;object-position:center}
.door-panel-left{left:0;border-right:1px solid #20282d}.door-panel-left img{left:-36.85vw}
.door-panel-right{right:0;border-left:1px solid #20282d}.door-panel-right img{left:-50vw}
.experience.opening .door-panel-left{animation:doorLeftOpen 3.2s cubic-bezier(.55,.04,.22,1) forwards}
.experience.opening .door-panel-right{animation:doorRightOpen 3.2s cubic-bezier(.55,.04,.22,1) forwards}
@keyframes doorLeftOpen{to{transform:translateX(-100%)}}
@keyframes doorRightOpen{to{transform:translateX(100%)}}
.experience.entering .entrance-open{transform:scale(1.75)}
.experience.rising .entrance-open{transform:scale(1.75)}
.photo-call-button{position:absolute;z-index:8;left:69.95%;top:61%;width:clamp(72px,6vw,96px);height:clamp(145px,17vh,190px);border:0;border-radius:18px;transform:translate(-50%,-50%);background:transparent;color:transparent;cursor:pointer;box-shadow:none;transition:.25s}
.photo-call-button:hover,.photo-call-button:focus-visible{background:transparent;box-shadow:none;transform:translate(-50%,-50%);outline:none}
.photo-call-button span{opacity:0}
.experience.opening .photo-call-button{pointer-events:none}
.photo-call-button:after{content:"";position:absolute;left:50%;top:50%;width:var(--call-ring,30px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);border:1px solid transparent;transition:box-shadow .25s,border-color .25s}
.photo-call-button:hover:after,.photo-call-button:focus-visible:after,.experience.opening .photo-call-button:after{border-color:#e0f5ff;box-shadow:0 0 0 2px #298eff,0 0 10px 4px #258fff99}
.experience.doors-open .photo-call-button{opacity:0}
.cabin-right-wall{position:absolute;z-index:9;right:-2%;top:-5%;width:43%;height:110%;background:linear-gradient(105deg,rgba(11,24,34,.94),rgba(71,89,99,.96) 34%,rgba(18,36,48,.97) 70%,rgba(94,109,116,.95));border-left:2px solid #8ba0aa;box-shadow:inset 28px 0 55px #0008,-20px 0 45px #0008;opacity:0;transform-origin:right center;transform:perspective(900px) rotateY(-18deg) translateX(35%);transition:opacity .8s ease,transform 1.6s cubic-bezier(.2,.75,.2,1)}
.experience.panel-ready .cabin-right-wall{opacity:1;transform:perspective(900px) rotateY(-12deg) translateX(0)}
.ss-cabin-bg{position:absolute;z-index:8;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease;pointer-events:none}
.experience.ss-cabin .ss-cabin-bg{opacity:1}
.experience.ss-cabin .cabin-right-wall{opacity:0}
.cabin-cop{position:absolute;z-index:10;left:50%;top:8.5vh;width:clamp(145px,10.4vw,176px);height:min(80vh,735px);padding:17px 13px;background:linear-gradient(90deg,rgba(73,83,88,.9),rgba(181,190,194,.72) 20%,rgba(91,102,108,.68) 52%,rgba(174,184,188,.82));border:1px solid rgba(205,215,218,.65);border-radius:2px;box-shadow:inset 1px 0 rgba(255,255,255,.45),inset -2px 0 rgba(18,27,32,.7);opacity:0;transform-origin:center;transform:translateX(25vw) rotateY(-22deg);transition:opacity .7s ease,transform 1.6s cubic-bezier(.2,.75,.2,1),background 1s ease;perspective:800px}
.experience.panel-ready .cabin-cop{opacity:1;transform:translateX(-50%) rotateY(0)}
.experience.ss-cabin .cabin-cop{background:linear-gradient(90deg,rgba(82,93,98,.36),rgba(197,205,208,.2) 20%,rgba(99,110,115,.18) 55%,rgba(188,197,200,.3));border-color:rgba(215,224,227,.36);box-shadow:inset 1px 0 rgba(255,255,255,.45),inset -2px 0 rgba(8,17,22,.7)}
.cop-led{height:74px;background:linear-gradient(145deg,#02070a,#091218);border:2px solid #2d393f;border-radius:3px;display:flex;align-items:center;justify-content:center;gap:10px;color:#46b8ff;font:700 clamp(28px,3vw,45px)/1 Arial,sans-serif;letter-spacing:.04em;text-shadow:0 0 8px #168be6,0 0 22px #168be6;box-shadow:inset 0 0 18px #000,0 1px 0 #dbe5e8aa,0 0 10px #168be644}
.cop-arrow{font-size:.72em;animation:arrowPulse 1.25s ease-in-out infinite}
.cop-caption{margin:8px 0 12px;text-align:center;color:#e6eef2}
.cop-caption img{display:block;width:100%;height:54px;object-fit:contain;filter:brightness(0) invert(1);opacity:.95}
.cop-button{display:grid;place-items:center;margin:auto;width:clamp(58px,4.6vw,72px);aspect-ratio:1;border-radius:50%;border:2px solid #54baff;background:radial-gradient(circle,#0b3551 0 58%,#07243a 61% 70%,#11191e 73%);box-shadow:0 0 0 2px #aebbc0,0 0 15px #168be6;color:#effaff;cursor:default;transition:transform .18s,box-shadow .18s}
.cop-button span{font:700 clamp(28px,2.8vw,40px)/.7 Arial,sans-serif;transform:translateY(3px);text-shadow:0 0 8px #168be6}
.cop-floor-grid,.cop-door-grid{display:grid;gap:13px;margin:0 auto 18px}.cop-floor-grid{grid-template-columns:1fr;width:58px}.cop-door-grid{grid-template-columns:1fr 1fr;width:145px}
.cop-key{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;border:1px solid #e5ecee;background:radial-gradient(circle at 38% 30%,#f6fafb 0 45%,#aeb9bd 50% 59%,#4d5a60 63% 70%,#172127 73%);color:#163f5a;font:700 19px/1 Arial,sans-serif;box-shadow:inset 0 1px #fff,0 2px 5px #0009,0 0 0 2px rgba(27,37,42,.55)}
.cop-key.selected{color:#fff;background:radial-gradient(circle,#1478b8 0 52%,#0a3b5e 57% 69%,#172127 72%);box-shadow:0 0 16px #269cff}
.cop-door-grid{margin-top:4px}.cop-key.door-key{font-size:14px;letter-spacing:-1px}
.experience.pressing .cop-key.selected{transform:scale(.86);box-shadow:0 0 24px #269cff,inset 0 3px 8px #0008}
.experience.pressing .cop-button{transform:scale(.88);box-shadow:0 0 0 3px #202a30,0 0 26px #269cff,inset 0 3px 9px #0008}
.experience.rising .cop-button{transform:scale(1);box-shadow:0 0 0 3px #202a30,0 0 20px #269cff}
.car-doors{position:absolute;z-index:8;inset:0;pointer-events:none;opacity:0;transition:opacity .25s ease;overflow:hidden}
.car-door{position:absolute;top:0;bottom:0;width:50.15%;background:linear-gradient(100deg,#313b41 0,#c8d0d3 13%,#69747a 27%,#e0e5e7 43%,#6b767c 60%,#c3cbce 78%,#364047 100%);box-shadow:inset 0 0 45px #1a2228}
.car-door:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#ffffff35 48%,transparent 55%)}
.car-door-left{left:0;transform:translateX(-101%);border-right:1px solid #151c20}
.car-door-right{right:0;transform:translateX(101%);border-left:1px solid #151c20}
.experience.closing .car-doors{opacity:1}
.experience.closing .car-door{transition:transform 2.25s cubic-bezier(.62,0,.3,1);transform:translateX(0)}
@keyframes arrowPulse{50%{opacity:.45;transform:translateY(-3px)}}
@media(max-width:760px){.entrance-scene{object-position:center}.photo-call-button{left:82%;top:61%;width:76px;height:150px}.experience.entering .entrance-open,.experience.turning .entrance-open,.experience.rising .entrance-open{transform:scale(2.25)}.cabin-right-wall{width:58%}.cabin-cop{right:4vw;top:8vh;width:165px;height:82vh;padding:14px 10px}.cop-led{height:60px}.cop-caption{font-size:8px;margin:7px 0 10px}.cop-floor-grid{gap:7px;margin-bottom:10px}.cop-door-grid{gap:7px;width:125px}.ride-message{font-size:10px;bottom:8vh}.skip{font-size:12px;background:#06131dcc;padding:7px 9px;border-radius:3px}}

/* AI elevator concept designer */
@media(max-width:760px){.experience.entering .entrance-open,.experience.rising .entrance-open{transform:scale(1.75)}}
@media(max-width:760px){.hero-right-marks{top:84px;bottom:auto;gap:10px}.hero-right-marks .hero-side-logo{width:110px}.hero-anniversary strong{font-size:72px}.hero-anniversary span{font-size:14px}.hero-anniversary small{font-size:8px}.client-logo-gallery{margin-top:36px}}
.ai-designer{background:#edf4f7;display:grid;grid-template-columns:.72fr 1.15fr;gap:4vw 6vw;align-items:start}
.ai-intro{position:sticky;top:120px}.ai-intro p:last-child{font-size:18px;line-height:1.6;color:#5d7380}
.ai-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#fff;padding:32px;box-shadow:0 22px 55px #073f6918}
.ai-form label{display:grid;gap:9px;font-size:13px;font-weight:700;letter-spacing:.05em;color:#294b60}
.ai-form [hidden]{display:none}
.ai-form input,.ai-form select,.ai-form textarea{width:100%;border:1px solid #b9cbd4;background:#f8fbfc;padding:15px;font:16px Arial,sans-serif;color:#092437}.ai-form textarea{resize:vertical;line-height:1.5;min-height:125px}.dream-help{font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0;color:#536c7a}
.ai-form .wide{grid-column:1/-1}.ai-submit{grid-column:1/-1;border:0;cursor:pointer;justify-content:space-between;background:var(--gold)}
.cabin-gallery{grid-column:2}.cabin-gallery summary{cursor:pointer;padding:18px 20px;border:1px solid #9fb9c8;color:#073f69;background:#fff;font:600 16px Arial,sans-serif;display:flex;align-items:center;justify-content:space-between;list-style:none}.cabin-gallery summary::-webkit-details-marker{display:none}.cabin-gallery summary span{font-size:24px;line-height:1}.cabin-gallery[open] summary{margin-bottom:22px}.cabin-gallery[open] summary span{transform:rotate(45deg)}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px}.gallery-heading h3{font-size:25px;margin:5px 0 0;color:#092437}.gallery-heading>p{font-size:14px;line-height:1.5;color:#506a78;max-width:310px;margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gallery-card{border:2px solid transparent;padding:0;background:#fff;cursor:pointer;text-align:left;color:#15384b;font:600 13px Arial,sans-serif;box-shadow:0 8px 26px #073f6915;transition:transform .2s ease,border-color .2s ease}.gallery-card:hover{transform:translateY(-3px)}.gallery-card:focus-visible{outline:3px solid #006cad;outline-offset:3px}.gallery-card.selected{border-color:#0873ad}.gallery-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.gallery-card span{display:block;padding:11px 9px;min-height:40px}
.ai-result{grid-column:2;background:#073f69;color:#fff;padding:32px;min-height:210px}.ai-result h3{font-size:28px}.ai-result>p:not(.eyebrow){line-height:1.65;color:#d6e6ee}
.concept-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.concept-tags span{padding:9px 11px;border:1px solid #6ea5c5;font-size:12px}.ai-result.generated{animation:resultIn .45s ease}
.ai-result .result-email{display:inline-flex;margin-top:24px;padding:13px 18px;font-size:13px;gap:15px}.ai-result .result-email[hidden]{display:none}
@keyframes resultIn{from{transform:translateY(10px);opacity:.6}}
.cabin-preview-dialog{position:fixed;max-width:min(720px,calc(100vw - 32px));max-height:calc(100svh - 32px);width:min(720px,calc(100vw - 32px));padding:0;border:1px solid #9ab9c7;background:#fff;color:#092437;box-shadow:0 35px 90px #0008;overflow:auto}
.cabin-preview-dialog::backdrop{background:#02111bd9;backdrop-filter:blur(5px)}
.cabin-preview-dialog img{display:block;width:100%;max-height:65svh;object-fit:contain;background:#0b1d29}
.cabin-preview-caption{padding:20px 25px}.cabin-preview-caption h3{font-size:27px;margin:0 0 8px}.cabin-preview-caption p{font-size:14px;margin:0;color:#526a77}
.cabin-preview-caption .cabin-preview-note{font-size:12px;margin-top:10px;color:#6c7e87}
.cabin-preview-caption .cabin-email{margin-top:20px;gap:18px;padding:14px 18px;font-size:13px}
.cabin-preview-close{position:absolute;right:14px;top:14px;z-index:1;border:0;border-radius:50%;width:40px;height:40px;background:#fff;color:#082a40;font-size:27px;cursor:pointer;box-shadow:0 2px 12px #0006}
@media(max-width:760px){.ai-designer{grid-template-columns:1fr}.ai-intro{position:static}.ai-form{grid-template-columns:1fr;padding:22px}.ai-form .wide,.ai-submit,.cabin-gallery,.ai-result{grid-column:1}.gallery-heading{display:block}.gallery-heading>p{margin-top:10px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cabin-cop{left:50%;right:auto;top:8vh;width:150px;height:82vh;padding:13px 10px}.experience.panel-ready .cabin-cop{transform:translateX(-50%) rotateY(0)}}

/* Actual client-selected cabin wall and COP. Keep screen and floor-3 press live. */
.cop-photo-scene{position:absolute;z-index:10;inset:0;display:grid;place-items:center;overflow:hidden;opacity:0;pointer-events:none;transition:opacity 1.1s ease-in-out;background:#382f29}
.cop-photo-scene:before{content:"";position:absolute;inset:-30px;background:url('cop-photo-blue.png') center/cover;filter:blur(25px) brightness(.55)}
.experience.panel-ready .cop-photo-scene{opacity:1}
.cop-photo-frame{position:relative;z-index:1;height:100svh;width:66.6667svh;max-width:none;flex:none}
.cop-photo-frame>img{display:block;width:100%;height:100%;object-fit:fill;user-select:none}
.photo-cop-led{position:absolute;left:44.1%;top:20.55%;width:12%;height:12.65%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(12.1px,1.98svh,22px);background:#030507;border-radius:2px;color:#f2faff;font:400 clamp(25px,5svh,65px)/1 Arial,sans-serif;text-shadow:0 0 8px #7bc5ff,0 0 16px #358bee;box-shadow:inset 0 0 7px #000;white-space:nowrap}
.photo-cop-arrow{display:block;width:clamp(12px,1.8svh,20px);height:clamp(9px,1.35svh,15px);background:#f2faff;clip-path:polygon(50% 0,100% 100%,0 100%);opacity:0;filter:drop-shadow(0 0 5px #358bee)}
.experience.rising .photo-cop-arrow{opacity:1;animation:arrowPulse 1.25s ease-in-out infinite}
.photo-cop-three{position:absolute;left:50%;top:46.35%;width:6.35%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 0 transparent;transition:transform .2s,box-shadow .25s}
.experience.pressing .photo-cop-three{transform:translate(-50%,-50%) scale(.87);box-shadow:0 0 0 1px #e0f5ff,0 0 0 3px #298eff,0 0 8px 3px #258fff99}
.experience.rising .photo-cop-three{transform:translate(-50%,-50%);box-shadow:0 0 0 1px #e0f5ff,0 0 0 3px #298eff,0 0 8px 3px #258fff99}
@media(max-width:760px){.photo-cop-led{font-size:clamp(22px,5svh,48px)}.cop-photo-scene:before{filter:blur(18px) brightness(.5)}}

/* Keep the camera centered during every scene change; only the doors move sideways. */
.entrance-open{object-position:50% 50%;transform:translate3d(0,0,0) scale(1);backface-visibility:hidden}
.experience.doors-open .entrance-open{transition:opacity 0s,transform 2.8s cubic-bezier(.22,.61,.36,1)}
.experience.entering .entrance-open,.experience.rising .entrance-open{transform:translate3d(0,0,0) scale(1.75)}
.cabin-right-wall{transform:none;transition:opacity .8s ease-in-out}
.experience.panel-ready .cabin-right-wall{transform:none}
.cabin-cop{transform:translateX(-50%);transition:opacity .8s ease-in-out,background 1s ease}
.experience.panel-ready .cabin-cop{transform:translateX(-50%)}
@media(max-width:760px){.experience.entering .entrance-open,.experience.rising .entrance-open{transform:translate3d(0,0,0) scale(1.75)}}
.about-copy .mereva-inline{display:inline-block;width:104px;height:auto;vertical-align:-.5em;margin:0 2px;object-fit:contain}

/* Persistent navigation and balanced client/contact presentation. */
.nav{position:fixed;background:rgba(4,23,37,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.client-logo-gallery{overflow:hidden}.client-logo-art{width:min(100%,1200px);min-width:0;margin-inline:auto}.client-logo-bottom{margin-inline:auto}
.footer-contact{align-items:center;text-align:center;justify-content:center;gap:6px;font-size:16px}.footer-address{align-items:flex-end;text-align:right}

/* A level, centered cabin approach and a stationary arrival display. */
html{scrollbar-gutter:stable}
.experience,.cop-photo-scene,.cop-photo-frame{backface-visibility:hidden}
.photo-call-button{width:60px;height:60px;border-radius:50%;padding:0;-webkit-tap-highlight-color:transparent}
.entrance-open,.experience.entering .entrance-open,.experience.rising .entrance-open,.experience.arrived .entrance-open{transform-origin:50% 50%;rotate:0deg;object-position:50% 50%}
.experience.arrived .entrance-open{transform:translate3d(0,0,0) scale(1.75)}
.experience.arrived .photo-cop-arrow{opacity:0;animation:none}
.experience.arrived .photo-cop-three{transform:translate(-50%,-50%);box-shadow:0 0 0 1px #e0f5ff,0 0 0 3px #298eff,0 0 8px 3px #258fff99}
.cabin-gallery[data-style="glass"] .gallery-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1050px){.cabin-gallery[data-style="glass"] .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.cabin-gallery[data-style="glass"] .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep alternate cabin concepts inside the generated preview, not on the page. */
.cabin-preview-dialog{width:min(900px,calc(100vw - 32px));max-width:min(900px,calc(100vw - 32px))}
.cabin-preview-dialog>img{max-height:54svh}
.cabin-preview-dialog .cabin-gallery{grid-column:auto;margin:0 25px 25px}
.cabin-preview-dialog .cabin-gallery summary{border-color:#c9dce4;background:#f5f9fb}
.cabin-preview-dialog .cabin-gallery summary span{font-size:16px}
.cabin-preview-dialog .cabin-gallery[open] summary span{transform:none}
.cabin-preview-dialog .cabin-gallery summary b{font-size:24px;line-height:1;transition:transform .2s}
.cabin-preview-dialog .cabin-gallery[open] summary b{transform:rotate(45deg)}
.cabin-preview-dialog .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.cabin-preview-dialog .gallery-card img{width:100%;max-height:none;aspect-ratio:1;object-fit:cover;background:#e6ecef}
@media(max-width:760px){.cabin-preview-dialog .gallery-grid,.cabin-preview-dialog .cabin-gallery[data-style="glass"] .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cabin-preview-dialog .cabin-gallery{margin:0 18px 18px}.cabin-preview-dialog>img{max-height:45svh}}
footer{min-height:100svh}
@media(max-width:760px){.footer-contact{align-items:center;text-align:center}.footer-address{align-items:flex-start;text-align:left}.footer-info{gap:22px}footer{min-height:0}}

/* Customer photo mockup: a contained, editable visual overlay. */
.nav nav{gap:clamp(12px,2vw,28px)}
.space-section{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.5fr);gap:clamp(32px,5vw,88px);background:#eaf1f5;align-items:start}
.space-intro{position:sticky;top:130px}.space-intro>p:not(.eyebrow){font-size:17px;line-height:1.65;color:#315469;max-width:460px}.space-intro .space-privacy{font-size:14px!important;color:#536d7c!important;margin-top:30px}
.space-tool{min-width:0;background:#fff;padding:clamp(15px,2vw,26px);box-shadow:0 24px 65px #073f6915}
.space-stage{width:100%;aspect-ratio:8/5;background:linear-gradient(140deg,#d9e6ed,#a9bdc9);position:relative;overflow:hidden;touch-action:none}
.space-stage canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.space-stage canvas:active{cursor:grabbing}.space-stage canvas[hidden]{display:none}
.space-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;text-align:center;color:#20445b;padding:20px}.space-empty strong{font-size:clamp(20px,2vw,29px)}.space-empty>span:last-child{font-size:15px}.space-empty-mark{display:grid;place-items:center;width:54px;height:54px;border:1px solid #6893ac;border-radius:50%;font-size:29px;color:#146c9e}
.space-empty[hidden]{display:none}
.space-controls{display:grid;grid-template-columns:1.2fr 1fr auto;gap:14px;align-items:end;margin-top:19px}.space-upload,.space-range{display:flex;flex-direction:column;gap:10px;font-size:13px;font-weight:700;color:#143d56}.space-upload input{width:100%;font-size:13px;color:#1b465d}.space-upload input::file-selector-button{padding:9px 12px;margin-right:8px;background:#073f69;color:white;border:0;cursor:pointer;font:inherit}.space-range input{width:100%;accent-color:#087ab4}.space-download{padding:12px 14px;background:#073f69;color:white;border:0;font:700 13px Arial,sans-serif;cursor:pointer;white-space:nowrap}.space-download span{margin-left:8px}.space-download:disabled,.space-range input:disabled{opacity:.45;cursor:not-allowed}.space-hint{font-size:13px;line-height:1.45;color:#607988;margin:14px 0 0}
@media(max-width:1180px){.space-controls{grid-template-columns:1fr 1fr}.space-download{grid-column:1/-1}.nav nav{gap:12px}.nav nav a{font-size:12px}}
@media(max-width:900px){.space-section{grid-template-columns:1fr}.space-intro{position:static}}
@media(max-width:760px){.space-controls{grid-template-columns:1fr}.space-download{grid-column:auto}.space-section{gap:26px}.space-intro>p:not(.eyebrow){font-size:16px}}

/* Interactive local 360° panorama with an explicitly illustrative lift marker. */
.space-section[hidden],.nav a[hidden]{display:none!important}
.consultancy{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,1fr);gap:clamp(28px,5vw,85px);background:#eef4f6;color:#0b3047}.consultancy-intro h2{max-width:650px}.consultancy-intro>p:not(.eyebrow){max-width:620px;font-size:17px;line-height:1.65;color:#426277}.consultancy-fees{margin:34px 0 15px;border-top:1px solid #a8c1ce}.consultancy-fees>div{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #a8c1ce;padding:17px 0}.consultancy-fees span{font-size:15px}.consultancy-fees strong{font-size:20px;white-space:nowrap;color:#074976}.consultancy-intro .consultancy-small{font-size:13px!important;line-height:1.55!important}.consultancy-form{background:white;padding:clamp(22px,3vw,40px);box-shadow:0 18px 55px #062f4812}.consultancy-form h3{font-size:clamp(24px,3vw,33px);margin:0 0 8px}.consultancy-form>p{color:#4c6879;margin:0 0 24px;line-height:1.5}.consultancy-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.consultancy-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700;color:#143c53;margin-bottom:18px}.consultancy-form input,.consultancy-form select,.consultancy-form textarea{width:100%;border:1px solid #b8cdd6;border-radius:0;background:#f8fbfc;padding:13px;color:#143c53;font:inherit;font-weight:400}.consultancy-form textarea{resize:vertical}.consultancy-form :is(input,select,textarea):focus-visible{outline:2px solid #087ab4;outline-offset:2px}.consultancy-form button{cursor:pointer;border:0}.consultancy-form .consultancy-note{font-size:13px;line-height:1.5;margin:16px 0 0}
@media(max-width:900px){.consultancy{grid-template-columns:1fr}}@media(max-width:560px){.consultancy-fields{grid-template-columns:1fr}.consultancy-fees strong{font-size:17px}}
.villa-panorama-dialog{position:fixed;width:min(1040px,calc(100vw - 24px));max-width:none;max-height:calc(100svh - 24px);padding:0;border:1px solid #abc2cb;overflow:auto;background:#f6f9fb;box-shadow:0 28px 90px #00142199}.villa-panorama-dialog::backdrop{background:#031825d9;backdrop-filter:blur(5px)}.villa-panorama-dialog .panorama-section{padding:clamp(26px,4vw,56px)}.villa-panorama-close{position:sticky;top:12px;float:right;z-index:5;margin:12px 12px -58px 0;width:44px;height:44px;border:1px solid #c5d5dd;background:#fff;color:#073f69;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 4px 16px #00142122}.villa-panorama-close:focus-visible{outline:3px solid #087ab4;outline-offset:2px}
.panorama-section{background:#f6f9fb}.panorama-header{max-width:910px;margin-bottom:32px}.panorama-header h2{max-width:700px}.panorama-header>p:not(.eyebrow){color:#3f6275;font-size:17px;line-height:1.6;max-width:800px}
.panorama-tool{background:#fff;padding:clamp(16px,2.5vw,32px);box-shadow:0 20px 70px #073f6912}
.panorama-stage{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#12374d,#50778b);--lift-height:62%}
.panorama-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.panorama-stage canvas:active{cursor:grabbing}.panorama-stage canvas[hidden]{display:none}
.panorama-stage>img{position:absolute;left:50%;top:68%;height:var(--lift-height);max-width:50%;width:auto;object-fit:contain;transform:translate(-50%,-50%);filter:drop-shadow(12px 14px 13px #09141a80);pointer-events:none;user-select:none}.panorama-stage>img[hidden]{display:none}
.panorama-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;color:#fff}.panorama-empty strong{font-size:clamp(21px,3vw,34px)}.panorama-empty span{font-size:15px;color:#d4e4ec}.panorama-empty[hidden]{display:none}
.panorama-controls{display:grid;grid-template-columns:1.25fr 1fr auto;gap:20px;align-items:end;margin-top:22px}.panorama-controls label{display:flex;flex-direction:column;gap:10px;color:#163c53;font-size:14px;font-weight:700}.panorama-controls input[type=file]{max-width:100%;font-size:13px}.panorama-controls input[type=file]::file-selector-button{border:0;padding:10px 13px;margin-right:10px;background:#073f69;color:#fff;cursor:pointer;font:inherit}.panorama-controls input[type=range]{accent-color:#087ab4}.panorama-controls button{border:0;background:#073f69;color:white;padding:13px 18px;font:700 13px Arial,sans-serif;cursor:pointer;white-space:nowrap}.panorama-controls button:disabled,.panorama-controls input[type=range]:disabled{opacity:.5;cursor:not-allowed}
#panoramaMessage{font-size:14px;line-height:1.5;color:#315569;margin:16px 0 5px}.panorama-caveat{font-size:12px;color:#647e8c;line-height:1.45;margin:0}
@media(max-width:760px){.panorama-controls{grid-template-columns:1fr;gap:18px}.panorama-stage>img{max-width:65%}.panorama-header>p:not(.eyebrow){font-size:16px}}

/* ===== Mobile fix: keep elevator doors + call button visible on any screen shape ===== */
.experience{
  container-type:size;
  --cover:max(100cqw,177.69cqh);
  --sw:min(var(--cover),250cqw);
  --sh:calc(var(--sw)*.5628);
  --sx:max(calc(100cqw - var(--sw)),min(calc((100cqw - var(--sw))/2),calc(100cqw - var(--sw)*.73)));
  --sy:calc((100cqh - var(--sh))/2);
}
.experience:before{
  content:"";display:block;position:absolute;inset:-40px;
  background:url(entrance-closed-natural.png) center/cover no-repeat;
  filter:blur(18px) brightness(.45);
}
.entrance-scene{inset:auto;left:var(--sx);top:var(--sy);width:var(--sw);height:var(--sh)}
.door-pocket{left:calc(var(--sx) + var(--sw)*.3685);top:calc(var(--sy) + var(--sh)*.165);width:calc(var(--sw)*.263);height:calc(var(--sh)*.775)}
.door-pocket-interior{left:calc(var(--sw)*-.3685);top:calc(var(--sh)*-.165);width:var(--sw);height:var(--sh)}
.door-panel img{top:calc(var(--sh)*-.165);width:var(--sw);height:calc(var(--sh)*1.035)}
.door-panel-left img{left:calc(var(--sw)*-.3685)}
.door-panel-right img{left:calc(var(--sw)*-.5)}
.photo-call-button{
  left:calc(var(--sx) + var(--sw)*.7004)!important;
  top:calc(var(--sy) + var(--sh)*.5845)!important;
  --call-ring:calc(var(--sw)*.01794)!important;
}

/* ===== Mobile fix: stop the 50-years badge overlapping the hero text ===== */
@media(max-width:760px){
  .hero-copy{padding-top:120px}
}


/* ===== Call button: pulsing glow to attract attention ===== */
.photo-call-button::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--call-ring, 30px);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(120, 200, 255, 0.95);
  box-shadow: 0 0 12px 3px rgba(41, 142, 255, 0.75);
  pointer-events: none;
  animation: callPulse 1.6s ease-out infinite;
}
.photo-call-button::after {
  border-color: rgba(224, 245, 255, 0.9);
  box-shadow: 0 0 0 2px rgba(41, 142, 255, 0.9), 0 0 14px 5px rgba(37, 143, 255, 0.6);
  animation: callGlow 1.6s ease-in-out infinite;
}
.experience.opening .photo-call-button::before,
.experience.opening .photo-call-button::after { animation: none; }
@keyframes callPulse {
  0%   { transform: translate(-50%, -50%) scale(1);   opacity: 0.95; }
  100% { transform: translate(-50%, -50%) scale(2.6); opacity: 0; }
}
@keyframes callGlow {
  0%, 100% { box-shadow: 0 0 0 2px rgba(41, 142, 255, 0.9), 0 0 10px 3px rgba(37, 143, 255, 0.5); }
  50%      { box-shadow: 0 0 0 2px rgba(120, 200, 255, 1),  0 0 22px 9px rgba(37, 143, 255, 0.85); }
}

/* ===== Skip intro: clearer pill button ===== */
.skip {
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-decoration: none;
  padding: 9px 18px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}
.skip:hover, .skip:focus-visible {
  background: rgba(255, 255, 255, 0.92);
  color: #111;
}
@media (prefers-reduced-motion: reduce) {
  .photo-call-button::before, .photo-call-button::after { animation: none; }
}


/* ===== Call button: blinking ring ===== */
.photo-call-button::after {
  border: 2px solid #bfe6ff;
  animation: callBlink 0.9s ease-in-out infinite;
}
@keyframes callBlink {
  0%, 100% { opacity: 1;   box-shadow: 0 0 0 3px rgba(41,142,255,1), 0 0 24px 10px rgba(60,160,255,.95); }
  50%      { opacity: 0.1; box-shadow: 0 0 0 1px rgba(41,142,255,.2), 0 0 0 0 rgba(60,160,255,0); }
}
.experience.opening .photo-call-button::after { animation: none; }
@media (prefers-reduced-motion: reduce) {
  .photo-call-button::after { animation: none; }
}

/* ===== Mobile intro fix: zoom out the entrance photo so the door AND the original call button are visible ===== */
@keyframes callRingBlink {
  0%, 100% { opacity: 1;  box-shadow: 0 0 0 2px rgba(80, 175, 255, .95), 0 0 16px 6px rgba(40, 150, 255, .9); }
  50%      { opacity: .35; box-shadow: 0 0 0 2px rgba(80, 175, 255, .3), 0 0 4px 1px rgba(40, 150, 255, .2); }
}

@media (max-width: 760px) {
  /* Photo geometry (source image 1672 x 941).
     --h = shown photo height: enough zoom-out to show ~780px of the photo's width
     (door + call button + a bit of wall), never taller than the screen. */
  .experience {
    --h: min(100vh, 120.6vw);
    --k: calc(var(--h) / 941);                /* 1 photo pixel */
    --w: calc(var(--k) * 1672);               /* shown photo width */
    --x0: calc(50vw - var(--k) * 916);        /* photo left edge (door + button centered, wall on both sides) */
    --y0: calc(50vh - var(--h) / 2);          /* photo top edge (vertically centered) */
  }
  /* Fill the empty space above/below with a soft, blurred copy of the wall */
  .experience::before {
    content: "";
    position: absolute;
    inset: -40px;
    z-index: 0;
    background: url("entrance-closed-natural.png") center / cover no-repeat;
    filter: blur(22px) brightness(.45);
    pointer-events: none;
  }

  .entrance-scene {
    inset: auto;
    left: var(--x0);
    top: var(--y0);
    width: var(--w);
    height: var(--h);
    max-width: none;
    object-fit: fill;
  }

  .door-pocket {
    left: calc(var(--x0) + var(--k) * 616);
    top: calc(var(--y0) + var(--k) * 155.3);
    width: calc(var(--k) * 439.7);
    height: calc(var(--k) * 729.3);
  }
  .door-pocket-interior,
  .door-panel img {
    top: calc(var(--k) * -155.3);
    width: var(--w);
    height: var(--h);
    max-width: none;
    object-fit: fill;
  }
  .door-pocket-interior,
  .door-panel-left img  { left: calc(var(--k) * -616); }
  .door-panel-right img { left: calc(var(--k) * -835.85); }

  /* Original call button stays on the photo's button (overrides the JS position only on mobile) */
  #callButton.photo-call-button {
    left: calc(var(--x0) + var(--k) * 1171) !important;
    top: calc(var(--y0) + var(--k) * 550) !important;
    --call-ring: calc(var(--k) * 30) !important;
  }
  /* Make the button's own ring blink to draw attention */
  #callButton.photo-call-button::after {
    animation: callRingBlink 1.2s ease-in-out infinite;
  }
  .experience.opening #callButton.photo-call-button::after { animation: none; }
  /* The photo already shows "PUSH TO ENTER" under the button, so hide the extra CSS label */
  #callButton.photo-call-button::before { content: none; }

  /* Skip intro: same place (bottom-right), bigger and clearly visible */
  .skip {
    right: 16px;
    bottom: 22px;
    padding: 12px 28px;
    font: 700 15px/1 Manrope, sans-serif;
    letter-spacing: .06em;
    color: #fff;
    text-decoration: none;
    background: rgba(6, 19, 29, .75);
    border: 1.5px solid rgba(255, 255, 255, .7);
    border-radius: 999px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .5);
    backdrop-filter: blur(4px);
  }
}

/* ===== Solutions boxes (Machine-room-less, Cargo lifts, ...): blue on hover ===== */
/* Box 01 (featured) looks like the others until hovered */
.solution.featured {
  background: rgb(17, 28, 35);
  border-color: rgb(136, 146, 152);
  transform: none;
}
.solution:hover,
.solution.featured:hover {
  background: linear-gradient(105deg, #052f50, #0a5a92 35%, #073f69 53%, #1270b0 67%, #052f50);
  border-color: #3a8fd0;
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(120, 190, 255, .45), 0 10px 28px rgba(0, 0, 0, .3);
}
.solution:hover h3 { color: #fff; }
.solution:hover p  { color: #d6e6f2; }

/* ===== "Generate my concept with AI" button: natural width like the other buttons ===== */
.ai-form .ai-submit {
  justify-self: start;
  width: auto;
}
/* Blinking elevator call button */
@keyframes geBlink {
  0%, 100% {
    border-color: #e0f5ff;
    box-shadow: 0 0 0 2px rgba(41,142,255,1),
                0 0 18px 7px rgba(37,143,255,.85),
                0 0 0 0 rgba(41,142,255,.7);
  }
  50% {
    border-color: #4d6b80;
    box-shadow: 0 0 0 2px rgba(41,142,255,.25),
                0 0 3px 1px rgba(37,143,255,.15),
                0 0 0 18px rgba(41,142,255,0);
  }
}
.photo-call-button::after {
  animation: geBlink 1.3s ease-in-out infinite !important;
}
.photo-call-button:hover::after {
  animation-duration: .6s !important;
}

/* Silver lobby: one shared photo coordinate system for scenes and moving doors. */
.experience {
  --sw: max(100cqw, 150cqh);
  --sh: calc(var(--sw) * .666666667);
  --sx: calc((100cqw - var(--sw)) / 2);
  --sy: calc((100cqh - var(--sh)) / 2);
}
.experience::before { background-image: url('intro-real-open.png'); }
.entrance-scene {
  inset: auto; left: var(--sx); top: var(--sy);
  width: var(--sw); height: var(--sh); max-width: none; object-fit: fill;
}
.entrance-open { opacity: 1; transform-origin: 51.7% 52%; }
.door-pocket-interior { opacity: 1; }
.experience.doors-open .door-pocket { opacity: 0; transition: none; }
.door-pocket {
  left: calc(var(--sx) + var(--sw) * .383463542);
  top: calc(var(--sy) + var(--sh) * .237304688);
  width: calc(var(--sw) * .268229167);
  height: calc(var(--sh) * .561523438);
}
.door-pocket-interior, .door-panel img {
  top: calc(var(--sh) * -.237304688);
  width: var(--sw); height: var(--sh); max-width: none; object-fit: fill;
}
.door-pocket-interior, .door-panel-left img { left: calc(var(--sw) * -.383463542); }
.door-panel-right img { left: calc(var(--sw) * -.514322917); }
.door-panel-left { width: 48.7864078%; border: 0; box-shadow: none; }
.door-panel-right { width: 51.2135922%; border: 0; box-shadow: none; }
.door-pocket::before { display: none; }
#callButton.photo-call-button {
  left: calc(var(--sx) + var(--sw) * .75) !important;
  top: calc(var(--sy) + var(--sh) * .551757813) !important;
  --call-ring: calc(var(--sw) * .015625) !important;
  width: max(44px, calc(var(--sw) * .026041667));
  height: max(44px, calc(var(--sh) * .05859375));
}
/* Calm breathing glow for the compact stainless-steel call button. */
@keyframes calmCallGlow {
  0%, 100% { opacity: .85; border-color: #49baff; box-shadow: 0 0 0 1px #168dff, 0 0 8px 3px rgba(0,136,255,.65), 0 0 18px 6px rgba(0,136,255,.35); }
  50% { opacity: 1; border-color: #9bddff; box-shadow: 0 0 0 2px #249fff, 0 0 16px 6px rgba(0,136,255,.9), 0 0 32px 12px rgba(0,136,255,.5); }
}
@keyframes radiantCallPulse {
  0% { transform: translate(-50%, -50%) scale(1); opacity: .9; }
  100% { transform: translate(-50%, -50%) scale(2.7); opacity: 0; }
}
#callButton.photo-call-button::before {
  content: "";
  width: var(--call-ring);
  border: 2px solid #56baff;
  box-shadow: 0 0 14px 4px rgba(0,140,255,.8);
  animation: radiantCallPulse 1.8s ease-out infinite;
}
#callButton.photo-call-button::after,
#callButton.photo-call-button:hover::after {
  animation: calmCallGlow 1.8s ease-in-out infinite !important;
  border-width: 2px;
}
.experience.opening #callButton.photo-call-button::after {
  animation: none !important;
  opacity: 1;
  border-color: #9bddff;
  box-shadow: 0 0 0 2px #249fff, 0 0 16px 6px rgba(0,136,255,.9), 0 0 32px 12px rgba(0,136,255,.5);
}
.experience.opening #callButton.photo-call-button::before { animation: none; opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  #callButton.photo-call-button::before,
  #callButton.photo-call-button::after { animation: none !important; }
  #callButton.photo-call-button::before { opacity: 0; }
}
@media (max-width: 760px) {
  .experience {
    --sw: min(196.923077cqw, 150cqh);
    --sh: calc(var(--sw) * .666666667);
    --sx: calc(50cqw - var(--sw) * .571614583);
    --sy: calc((100cqh - var(--sh)) / 2);
  }
}

/* One composited photo stage: no duplicate cabin or photo handover. */
.entrance-stage {
  position: absolute;
  left: var(--sx); top: var(--sy);
  width: var(--sw); height: var(--sh);
  transform: translate3d(0,0,0) scale(1);
  transform-origin: 51.7% 52%;
  transition: transform 2.8s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
  isolation: isolate;
}
.entrance-stage .entrance-scene {
  inset: 0; width: 100%; height: 100%;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
.entrance-stage .door-pocket {
  left: 38.3463542%; top: 23.7304688%;
  width: 26.8229167%; height: 56.1523438%;
  opacity: 1;
  transition: none;
}
.entrance-stage .door-pocket-interior { display: none; }
.experience.doors-open .entrance-stage .door-pocket {
  visibility: hidden;
  opacity: 1;
}
.experience.entering .entrance-stage,
.experience.rising .entrance-stage,
.experience.arrived .entrance-stage {
  transform: translate3d(0,0,0) scale(1.75);
}

/* A balanced, readable company footer. */
footer { min-height: auto; padding-bottom: 48px; }
.footer-cta { padding-bottom: 72px; }
.footer-info {
  grid-template-columns: 1.25fr 1fr 1fr;
  align-items: start;
  gap: 48px;
  padding-top: 36px;
  border-color: rgba(191,211,224,.18);
  font-size: 16px;
  line-height: 1.65;
  color: #bdcbd4;
}
.footer-info > div { gap: 8px; align-items: flex-start; text-align: left; }
.footer-info strong { font-size: 20px; font-weight: 600; letter-spacing: .09em; }
.footer-info > div:first-child > span { font-size: 14px; letter-spacing: .035em; }
.footer-info h3 {
  color: #c8a764;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0 0 8px;
}
.footer-contact { justify-content: flex-start; font-size: 17px; }
.footer-info a { color: #e9f0f5; text-decoration: none; transition: color .2s; }
.footer-info a:hover { color: #c8a764; }
.footer-info a:focus-visible { outline: 2px solid #c8a764; outline-offset: 5px; }
.footer-address > span:last-child { font-size: 14px; color: #8fa4b2; margin-top: 4px; }
@media (max-width: 760px) {
  .footer-info { grid-template-columns: 1fr; gap: 30px; }
  .footer-cta { padding-bottom: 48px; }
  footer { padding-bottom: 36px; }
}

/* Selected hero: full-width architecture, one upright typeface. */
.hero { align-items: center; padding: 160px var(--pad) 130px; }
.hero-media { background-image: url('hero-clean.webp'); }
.hero-shade { background: linear-gradient(90deg,#041725f5 0%,#041725e8 35%,#04172565 100%); }
.hero-copy { max-width: 780px; }
.hero h1 { font-family: Arial,Helvetica,sans-serif; font-weight: 600; font-style: normal; font-size: clamp(40px,5.4vw,80px); line-height: 1.08; letter-spacing: -.035em; }
.hero h1 span { font: inherit; color: inherit; }
.hero-right-marks { right: var(--pad); bottom: 60px; }
.hero-right-marks .hero-side-logo { display: none; }
.hero-anniversary { gap: 18px; text-shadow: none; }
.hero-anniversary strong {
  font: 600 clamp(76px,8vw,120px)/.9 Arial,Helvetica,sans-serif;
  letter-spacing: -.065em; padding-right: 0;
}
.hero-anniversary span { font: 600 17px/1.5 Arial,Helvetica,sans-serif; letter-spacing: .1em; }
.hero-anniversary small { font: 600 14px/1.5 Arial,Helvetica,sans-serif; letter-spacing: .1em; margin-top: 0; }
.hero-anniversary strong, .hero-anniversary span {
  color: #e8c46e;
  background: linear-gradient(165deg,#fff5c7 0%,#e3bf64 20%,#a97824 35%,#fff0af 48%,#e5be61 60%,#9d6c20 77%,#f4d687 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 0 #684512) drop-shadow(0 3px 4px #0006);
}
@media(max-width:760px) {
  .hero { padding-top: 140px; padding-bottom: 170px; }
  .hero-copy { padding-top: 0; }
  .hero-right-marks { top: auto; left: var(--pad); right: auto; bottom: 45px; }
  .hero-anniversary strong { font-size: 76px; }
  .hero-anniversary span { font-size: 15px; }
  .hero-anniversary small { font-size: 13px; }
}

.whatsapp-float {
  position: fixed;
  right: max(22px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 90;
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #25d366;
  color: white;
  box-shadow: 0 4px 18px #001b2c40;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s;
}
.whatsapp-float svg { width: 31px; height: 31px; }
.whatsapp-float:hover { transform: translateY(-3px); box-shadow: 0 7px 24px #001b2c50; }
.whatsapp-float:focus-visible { outline: 3px solid white; outline-offset: 4px; }
body.intro-active .whatsapp-float { visibility: hidden; }
@media(max-width:760px) {
  .whatsapp-float { width: 54px; height: 54px; right: 18px; bottom: max(18px,env(safe-area-inset-bottom)); }
  .whatsapp-float svg { width: 29px; height: 29px; }
}

/* Compact rounded solution cards and matching contact cards. */
.solution-grid { border: 0; gap: 16px; }
.solution {
  min-height: 230px;
  padding: 25.5px 32px;
  border: 1px solid rgba(136,146,152,.45);
  border-radius: 16px;
  overflow: hidden;
}
.footer-info {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
  border-top: 0;
  padding-top: 0;
  align-items: stretch;
}
.footer-info > div {
  background: #111c23;
  border: 1px solid rgba(136,146,152,.45);
  border-radius: 16px;
  padding: 28px 30px;
  min-height: 185px;
  transition: background .3s, border-color .3s, box-shadow .3s;
}
.footer-info > div:hover {
  background: linear-gradient(105deg,#052f50,#0a5a92 35%,#073f69 53%,#1270b0 67%,#052f50);
  border-color: #3a8fd0;
  box-shadow: inset 0 0 0 1px rgba(120,190,255,.25);
}
.footer-info h3 { color: #fff; font-size: 20px; letter-spacing: 0; text-transform: none; margin-bottom: 12px; }
.footer-info strong { font-size: 20px; }
.footer-info a { overflow-wrap: anywhere; }
@media(max-width:760px) {
  .solution { min-height: 185px; }
  .footer-info { grid-template-columns: 1fr; }
  .footer-info > div { min-height: 0; padding: 25px 24px; }
}

@keyframes cardBlueGlow {
  0%,100% { box-shadow: 0 0 0 1px #168dff, 0 0 10px 2px #0088ff66, 0 0 22px 5px #0088ff33; }
  50% { box-shadow: 0 0 0 1px #49baff, 0 0 16px 4px #0088ff99, 0 0 30px 8px #0088ff44; }
}
.solution:hover,
.solution:focus-visible,
.footer-info > div:hover,
.footer-info > div:focus-within {
  border-color: #49baff;
  outline: none;
  animation: cardBlueGlow 1.8s ease-in-out infinite;
}
@media(prefers-reduced-motion:reduce) {
  .solution:hover,.solution:focus-visible,
  .footer-info > div:hover,.footer-info > div:focus-within {
    animation: none;
    box-shadow: 0 0 0 1px #49baff, 0 0 16px 4px #0088ff88;
  }
}

/* Matching gold action buttons. */
.footer-cta .primary,
.ai-submit,
.cabin-email,
.consultancy-form .primary {
  background: linear-gradient(135deg,#dfc183,#c8a764 55%,#e1c487);
  color: #10202b;
  border: 1px solid #dabe7a;
  border-radius: 12px;
  cursor: pointer;
  transition: box-shadow .25s, border-color .25s, transform .25s;
}
@keyframes goldenActionGlow {
  0%,100% { box-shadow: 0 0 0 1px #d6b264, 0 0 12px 3px #ddb75366, 0 0 22px 5px #ddb75333; }
  50% { box-shadow: 0 0 0 1px #ffe4a0, 0 0 18px 5px #ddb75399, 0 0 30px 8px #ddb75344; }
}
.footer-cta .primary:hover,.footer-cta .primary:focus-visible,
.ai-submit:hover,.ai-submit:focus-visible,
.cabin-email:hover,.cabin-email:focus-visible,
.consultancy-form .primary:hover,.consultancy-form .primary:focus-visible {
  border-color: #ffe4a0;
  outline: 2px solid #e4bf72;
  outline-offset: 3px;
  animation: goldenActionGlow 1.8s ease-in-out infinite;
}
@media(prefers-reduced-motion:reduce) {
  .footer-cta .primary:hover,.footer-cta .primary:focus-visible,
  .ai-submit:hover,.ai-submit:focus-visible,
  .cabin-email:hover,.cabin-email:focus-visible,
  .consultancy-form .primary:hover,.consultancy-form .primary:focus-visible {
    animation: none;
    box-shadow: 0 0 16px 4px #ddb75388;
  }
}

/* Fit the entire intro photo, including the company sign, on every screen. */
.experience {
  --sw: min(100cqw,150cqh);
  --sh: calc(var(--sw) * .666666667);
  --sx: calc((100cqw - var(--sw)) / 2);
  --sy: calc((100cqh - var(--sh)) / 2);
}
.experience::before { filter: blur(22px) brightness(.35); }
.skip { bottom: max(22px,env(safe-area-inset-bottom)); }

/* Flexible page content, touch-friendly controls, and narrow-screen layouts. */
img { max-width: 100%; }
.hero-copy,.about > div,.section-head > *,
.ai-designer > *,.ai-form > *, .consultancy-fields > *,
.footer-info > *,.solution { min-width: 0; }
.primary { max-width: 100%; white-space: normal; line-height: 1.4; }
.ai-submit,.cabin-email,.consultancy-form .primary { overflow-wrap: anywhere; }
.ai-form label { font-size: 14px; }
.ai-form input,.ai-form select,.ai-form textarea,
.consultancy-form input,.consultancy-form select,.consultancy-form textarea { min-width: 0; max-width: 100%; }
.footer-cta h2 { overflow-wrap: normal; }
.footer-cta .primary { gap: 18px; }
@media (max-width:1100px) {
  .solution-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .menu-toggle { display: block; min-height: 44px; }
  .nav nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #061b2df7; padding: 20px var(--pad); flex-direction: column; max-height: calc(100dvh - 86px); overflow-y: auto; }
  .nav.open nav { display: flex; }
  .nav nav a { font-size: 16px; padding: 10px 0; }
}
@media (max-width:760px) {
  :root { --pad: clamp(18px,5vw,32px); }
  .solution-grid { grid-template-columns: 1fr; }
  .hero h1 { font-size: clamp(32px,8vw,52px); }
  .hero { padding-top: 120px; padding-bottom: 160px; }
  .hero-anniversary { gap: 12px; }
  .hero-anniversary strong { font-size: clamp(60px,17vw,76px); }
  .hero-anniversary span { font-size: 14px; }
  .hero-anniversary small { font-size: 12px; }
  .brand img { width: 135px; }
  .primary { padding: 17px 20px; gap: 18px; letter-spacing: .03em; }
  .ai-form,.consultancy-form { padding: 22px 18px; }
  .promise-points { flex-wrap: wrap; }
  .footer-info { grid-template-columns: 1fr; }
}
@media(max-height:500px) and (orientation:landscape) {
  .skip { bottom: 12px; padding: 8px 16px; }
  .hero { min-height: 600px; }
}

/* Hero actions and header contact strip. */
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:18px}
.hero-actions .primary{margin-top:0;border-radius:25px;background:linear-gradient(135deg,#dfc183,#c8a764 55%,#e1c487);border:1px solid #dabe7a;justify-content:space-between;transition:box-shadow .25s,border-color .25s;min-height:62px}
.hero-actions .primary:hover,.hero-actions .primary:focus-visible{border-color:#ffe4a0;outline:2px solid #e4bf72;outline-offset:3px;animation:goldenActionGlow 1.8s ease-in-out infinite}
.nav{height:126px;padding-top:40px}
.header-contact-bar{position:absolute;top:0;left:0;right:0;min-height:40px;padding:9px var(--pad);display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px 28px;background:#03121e;border-bottom:1px solid #ffffff24}
.header-contact-bar a{color:#d8e8f2;text-decoration:none;font-size:13px;letter-spacing:.02em;line-height:1.5}
.header-contact-bar a:hover,.header-contact-bar a:focus-visible{color:#e8c879;text-decoration:underline;text-underline-offset:4px}
.brand img{filter:none;background:#fff;border-radius:8px;padding:4px;width:150px;height:72px}
.hero{padding-top:190px}
@media(max-width:760px){.nav{height:120px;padding-top:46px}.header-contact-bar{min-height:46px;justify-content:center;gap:8px 16px;padding:10px 12px}.header-contact-bar a{font-size:12px}.brand img{width:135px;height:64px}.hero{padding-top:155px}.hero-actions{gap:12px}.hero-actions .primary{font-size:13px;gap:20px;padding:17px 20px}}
@media(max-width:380px){.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .primary{width:100%}}
@media(prefers-reduced-motion:reduce){.hero-actions .primary:hover,.hero-actions .primary:focus-visible{animation:none;box-shadow:0 0 16px 4px #ddb75388}}

/* Blue logo ink, with the original white canvas removed. */
.brand img{background:transparent;padding:0;filter:url(#blue-logo-transparent);border-radius:0}

/* Rounded, interactive company value badges. */
.values{gap:12px}
.values button{padding:12px 18px;min-height:44px;border:1px solid transparent;border-radius:25px;background:var(--ice);color:var(--blue);font:400 12px/1.4 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .25s,border-color .25s,box-shadow .25s}
.values button:hover,.values button:focus{border-color:#69c6ff;outline:2px solid #69c6ff;outline-offset:2px;background:#e4f4ff;animation:cardBlueGlow 1.8s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.values button:hover,.values button:focus{animation:none;box-shadow:0 0 16px 4px #53baff66}}

/* Center the office address in the middle footer column. */
.footer-info>div:first-child{order:1}
.footer-info>.footer-address{order:2;align-items:center;text-align:center;justify-content:center}
.footer-info>.footer-contact{order:3}

/* Silver call-button face with an illuminated blue up arrow. */
#callButton.photo-call-button span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--call-ring);height:var(--call-ring);display:grid;place-items:center;opacity:1;z-index:1;border-radius:50%;border:1px solid #dce4e9;background:linear-gradient(135deg,#f5f7f9 0%,#b9c4ce 25%,#e6ebef 47%,#9caab6 72%,#dae1e7 100%);box-shadow:inset 0 0 2px #ffffffb3;color:#087dff;font:bold calc(var(--call-ring)*.72)/1 Arial,sans-serif;text-shadow:0 0 2px #b5e8ff,0 0 4px #008cff,0 0 9px #008cff;animation:blueCallArrowGlow 1.8s ease-in-out infinite;pointer-events:none}
@keyframes blueCallArrowGlow{0%,100%{color:#087dff;text-shadow:0 0 2px #b5e8ff,0 0 4px #008cff,0 0 9px #008cff}50%{color:#19a1ff;text-shadow:0 0 2px #e3f8ff,0 0 6px #008cff,0 0 14px #008cff}}
@media(prefers-reduced-motion:reduce){#callButton.photo-call-button span{animation:none}}

/* Original up-chevron, on neutral brushed silver matching the lobby. */
#callButton.photo-call-button span{font-size:0;border-color:#c9cbcd;background:linear-gradient(115deg,#ededed 0%,#b8babc 30%,#e1e2e3 49%,#a5a7a9 73%,#d4d5d6 100%);box-shadow:inset 0 1px 1px #ffffffb3,inset 0 -1px 1px #77797b66;animation:none}
#callButton.photo-call-button span::after{content:"";display:block;width:35%;height:35%;border-top:max(1px,calc(var(--call-ring)*.065)) solid #168dff;border-left:max(1px,calc(var(--call-ring)*.065)) solid #168dff;transform:translateY(18%) rotate(45deg);filter:drop-shadow(0 0 2px #70caff) drop-shadow(0 0 4px #008cff);animation:originalChevronGlow 1.8s ease-in-out infinite}
@keyframes originalChevronGlow{0%,100%{filter:drop-shadow(0 0 2px #70caff) drop-shadow(0 0 4px #008cff)}50%{filter:drop-shadow(0 0 3px #9bdeff) drop-shadow(0 0 7px #008cff)}}
@media(prefers-reduced-motion:reduce){#callButton.photo-call-button span::after{animation:none}}

/* Black original chevron; blue illumination stays around the button. */
#callButton.photo-call-button span::after{border-top-color:#16191c;border-left-color:#16191c;filter:none;animation:none}

/* Restored gold up-chevron. */
#callButton.photo-call-button span::after{border-top-color:#c8a764;border-left-color:#c8a764;filter:drop-shadow(0 1px 0 #684512);animation:none}

/* Reference call button: stainless steel face, round outline, original up-arrow. */
#callButton.photo-call-button span{border-radius:50%;border:max(1px,calc(var(--call-ring)*.065)) solid #e3e6e8;background:linear-gradient(135deg,#a2a6a9,#757b80 48%,#959b9f);box-shadow:inset 0 1px 2px #ffffff55,0 1px 2px #454b5066}
#callButton.photo-call-button span::after{width:32%;height:32%;border-top-color:#f4f5f6;border-left-color:#f4f5f6;filter:none;animation:none;transform:translateY(20%) rotate(45deg)}

/* Model 5: compact stainless-steel panel and round silver call button. */
#callButton.photo-call-button span{border-radius:50%;border:max(1px,calc(var(--call-ring)*.065)) solid #eef0f2;background:linear-gradient(135deg,#d3d5d6 0%,#a9adaf 32%,#c3c6c8 55%,#9ca1a4 80%,#babec0 100%);box-shadow:inset 0 1px 2px #ffffff88,inset 0 -1px 2px #747a7d66}
#callButton.photo-call-button span::after{border-top-color:#26292b;border-left-color:#26292b;filter:none;animation:none}

/* Use the actual model-5 panel in the lobby photo, without a replacement face. */
#callButton.photo-call-button span{display:none}
#callButton.photo-call-button::before{border-width:calc(var(--call-ring)*.045);box-shadow:0 0 calc(var(--call-ring)*.22) calc(var(--call-ring)*.045) #008cff70;pointer-events:none}
#callButton.photo-call-button::after,#callButton.photo-call-button:hover::after{border-width:calc(var(--call-ring)*.045);pointer-events:none}
@keyframes calmCallGlow{
  0%,100%{opacity:.85;border-color:#49baff;box-shadow:0 0 0 calc(var(--call-ring)*.025) #168dff,0 0 calc(var(--call-ring)*.18) calc(var(--call-ring)*.045) #0088ff80,0 0 calc(var(--call-ring)*.38) calc(var(--call-ring)*.08) #0088ff35}
  50%{opacity:1;border-color:#9bddff;box-shadow:0 0 0 calc(var(--call-ring)*.04) #249fff,0 0 calc(var(--call-ring)*.28) calc(var(--call-ring)*.075) #0088ffaa,0 0 calc(var(--call-ring)*.55) calc(var(--call-ring)*.12) #0088ff55}
}
@keyframes radiantCallPulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.8}100%{transform:translate(-50%,-50%) scale(2);opacity:0}}
.experience.opening #callButton.photo-call-button::after{box-shadow:0 0 calc(var(--call-ring)*.28) calc(var(--call-ring)*.075) #0088ffaa}

/* Header without the contact strip. */
.nav{height:86px;padding-top:0}
.hero{padding-top:160px}
@media(max-width:760px){.nav{height:74px;padding-top:0}.hero{padding-top:120px}}


/* Smoked glass replaces only the rear panel, preserving the doorway registration. */
.cabin-back-wall{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;clip-path:polygon(43.45% 34.1%,59.55% 34.1%,59.55% 67.4%,43.45% 67.4%);pointer-events:none;z-index:1}
.entrance-stage .door-pocket{z-index:2}

/* Increase blue illumination by 20%, keeping its size and rhythm. */
#callButton.photo-call-button::before{box-shadow:0 0 calc(var(--call-ring)*.22) calc(var(--call-ring)*.045) #008cff86}
@keyframes calmCallGlow{
0%,100%{opacity:.85;border-color:#49baff;box-shadow:0 0 0 calc(var(--call-ring)*.025) #168dff,0 0 calc(var(--call-ring)*.18) calc(var(--call-ring)*.045) #0088ff99,0 0 calc(var(--call-ring)*.38) calc(var(--call-ring)*.08) #0088ff40}
50%{opacity:1;border-color:#9bddff;box-shadow:0 0 0 calc(var(--call-ring)*.04) #249fff,0 0 calc(var(--call-ring)*.28) calc(var(--call-ring)*.075) #0088ffcc,0 0 calc(var(--call-ring)*.55) calc(var(--call-ring)*.12) #0088ff66}
}
@keyframes radiantCallPulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.96}100%{transform:translate(-50%,-50%) scale(2);opacity:0}}
.experience.opening #callButton.photo-call-button::after{box-shadow:0 0 calc(var(--call-ring)*.28) calc(var(--call-ring)*.075) #0088ffcc}


/* Deeper cabin approach: 30% more magnification, 10% faster movement. */
.entrance-stage{transition-duration:2.545455s}
.experience.entering .entrance-stage,.experience.rising .entrance-stage,.experience.arrived .entrance-stage{transform:translate3d(0,0,0) scale(2.275)}
.cop-photo-scene{transition-duration:1s}

/* Number 3 selection response is 15% faster. */
.photo-cop-three{transition:transform .173913s,box-shadow .217391s}

/* Blue call-button radiance: 20% wider, same intensity and pulse speed. */
#callButton.photo-call-button::before{box-shadow:0 0 calc(var(--call-ring)*.264) calc(var(--call-ring)*.054) #008cff86}
@keyframes calmCallGlow{
0%,100%{opacity:.85;border-color:#49baff;box-shadow:0 0 0 calc(var(--call-ring)*.025) #168dff,0 0 calc(var(--call-ring)*.216) calc(var(--call-ring)*.054) #0088ff99,0 0 calc(var(--call-ring)*.456) calc(var(--call-ring)*.096) #0088ff40}
50%{opacity:1;border-color:#9bddff;box-shadow:0 0 0 calc(var(--call-ring)*.04) #249fff,0 0 calc(var(--call-ring)*.336) calc(var(--call-ring)*.09) #0088ffcc,0 0 calc(var(--call-ring)*.66) calc(var(--call-ring)*.144) #0088ff66}
}
@keyframes radiantCallPulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.96}100%{transform:translate(-50%,-50%) scale(2.4);opacity:0}}
.experience.opening #callButton.photo-call-button::after{box-shadow:0 0 calc(var(--call-ring)*.336) calc(var(--call-ring)*.09) #0088ffcc}

/* A clearer blue beacon, with a bright ring and a smooth attention pulse. */
#callButton.photo-call-button::before{border-color:#5fcaff;box-shadow:0 0 calc(var(--call-ring)*.264) calc(var(--call-ring)*.054) #008cffa8;animation-duration:1.6s}
#callButton.photo-call-button::after,#callButton.photo-call-button:hover::after{animation-duration:1.6s!important}
@keyframes calmCallGlow{
0%,100%{opacity:.9;border-color:#58c6ff;box-shadow:0 0 0 calc(var(--call-ring)*.025) #168dff,0 0 calc(var(--call-ring)*.216) calc(var(--call-ring)*.054) #0088ffb3,0 0 calc(var(--call-ring)*.456) calc(var(--call-ring)*.096) #0088ff66}
50%{opacity:1;border-color:#d9f5ff;box-shadow:0 0 0 calc(var(--call-ring)*.04) #51bfff,0 0 calc(var(--call-ring)*.336) calc(var(--call-ring)*.09) #0088ffff,0 0 calc(var(--call-ring)*.66) calc(var(--call-ring)*.144) #0088ffa3}
}

/* Responsive layout across phones, tablets, desktops and wide displays. */
:root{--nav-size:86px}
html{scroll-padding-top:calc(var(--nav-size) + 16px)}
.nav{height:calc(var(--nav-size) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
.nav nav{max-height:calc(100dvh - var(--nav-size) - env(safe-area-inset-top));overscroll-behavior:contain}
.nav nav a{display:inline-flex;align-items:center;min-height:44px}
.menu-toggle{min-width:64px;min-height:44px}
.site>.section,.site>.promise,.site>footer,.site>.hero,.site>.nav{padding-left:max(var(--pad),calc((100vw - 1680px)/2));padding-right:max(var(--pad),calc((100vw - 1680px)/2))}
.cop-photo-frame{width:min(100%,66.6667svh);height:auto;aspect-ratio:2/3;max-height:100svh;container-type:inline-size}
.photo-cop-led{font-size:clamp(16px,8cqw,48px)}
.cabin-preview-dialog{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
.cabin-preview-close{min-width:44px;min-height:44px}
footer{padding-bottom:max(96px,calc(env(safe-area-inset-bottom) + 80px))}
@media(max-width:1100px){.nav nav a{width:100%}.hero-copy{max-width:min(780px,100%)}}
@media(max-width:760px){
:root{--nav-size:74px}
.hero{min-height:100svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:36px;padding-top:calc(var(--nav-size) + env(safe-area-inset-top) + 40px);padding-bottom:52px}
.hero-copy{width:100%;padding-top:0}
.hero-right-marks{position:relative;top:auto;bottom:auto;left:auto;right:auto;margin:0}
.hero-actions{width:100%}
.ai-form input,.ai-form select,.ai-form textarea,.consultancy-form input,.consultancy-form select,.consultancy-form textarea{font-size:16px;min-height:48px}
.ai-submit,.cabin-email,.consultancy-form .primary{min-height:48px}
.footer-info>div{overflow-wrap:anywhere}
}
@media(max-width:480px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .primary{width:100%}.values button{min-height:48px}.cabin-preview-caption{padding:20px 18px}}
@media(max-height:500px) and (orientation:landscape){.hero{min-height:600px}.nav.open nav{max-height:calc(100dvh - var(--nav-size))}}


/* Silver call face, with the existing blue perimeter animation. */
#callButton.photo-call-button span{display:grid;background:linear-gradient(115deg,#bcbab6 0%,#969490 32%,#c4c2be 51%,#969490 78%,#b4b2ae 100%);border-color:#d2d0cc;box-shadow:inset 0 1px 2px #ffffff80,inset 0 -1px 2px #55534f66}
#callButton.photo-call-button span::after{border-top-color:#292825;border-left-color:#292825}
#callButton.photo-call-button::after{z-index:2}
.footer-info>div,.footer-info>div :is(h3,strong,span,a){font-weight:700}
.footer-info>.footer-contact.quote-highlight{border-color:#dfb961;animation:quoteGoldPulse 1.8s ease-in-out infinite}
.footer-contact.quote-highlight h3{color:#edcb7e;text-shadow:0 0 12px #e8b95080}
@keyframes quoteGoldPulse{0%,100%{box-shadow:0 0 0 1px #c8a76440,0 0 8px #c8a76420}50%{box-shadow:0 0 0 1px #edcb7ecc,0 0 26px 5px #d5ab5866,inset 0 0 18px #c8a76412}}
@media(prefers-reduced-motion:reduce){.footer-info>.footer-contact.quote-highlight{animation:none;box-shadow:0 0 16px #c8a76480}}

/* Compact square stainless-steel LOP with a round silver push button. */
.call-silver-plate{position:absolute;left:50%;top:50%;width:calc(var(--call-ring)*2.08);height:calc(var(--call-ring)*2.08);transform:translate(-50%,-50%);border:1px solid #b9b8b5;border-radius:1px;background:linear-gradient(130deg,#a4a4a1 0%,#d0d0cd 24%,#a5a5a2 45%,#858582 73%,#b2b2af 100%);box-shadow:inset 0 1px 1px #ffffffaa,0 2px 4px #22222260;pointer-events:none}
#callButton.photo-call-button span{background:linear-gradient(135deg,#c6c6c3,#9a9a97 52%,#b8b8b5);border: max(1px,calc(var(--call-ring)*.065)) solid #eeefed}
#callButton.photo-call-button span::after{width:32%;height:32%;border-top-color:#292929;border-left-color:#292929}
#callButton.photo-call-button::before{z-index:3;box-shadow:0 0 calc(var(--call-ring)*.264 + 50px) calc(var(--call-ring)*.054) #008cffa8}
@keyframes calmCallGlow{
0%,100%{opacity:.9;border-color:#58c6ff;box-shadow:0 0 0 calc(var(--call-ring)*.025) #168dff,0 0 calc(var(--call-ring)*.216) calc(var(--call-ring)*.054) #0088ffb3,0 0 calc(var(--call-ring)*.456 + 50px) calc(var(--call-ring)*.096 + 12px) #0088ff66}
50%{opacity:1;border-color:#d9f5ff;box-shadow:0 0 0 calc(var(--call-ring)*.04) #51bfff,0 0 calc(var(--call-ring)*.336) calc(var(--call-ring)*.09) #0088ffff,0 0 calc(var(--call-ring)*.66 + 50px) calc(var(--call-ring)*.144 + 12px) #0088ffa3}
}

/* Exact supplied LOP: display only the panel region of the reference photo. */
#callButton .call-silver-plate{width:calc(var(--call-ring)*2.267);height:calc(var(--call-ring)*2.2);border:0;border-radius:0;background-image:url('lop-reference.png');background-repeat:no-repeat;background-size:201.470588% 260.606061%;background-position:36.231884% 40.566038%;box-shadow:0 2px 4px #22222250}
#callButton.photo-call-button span{display:none}

/* Wider, faster blue rings around the outside LOP. */
#callButton.photo-call-button::before{animation-duration:1.05s;box-shadow:0 0 calc(var(--call-ring)*.264 + 65px) 8px #009dffcc}
#callButton.photo-call-button::after,#callButton.photo-call-button:hover::after{animation-duration:1.05s!important}
@keyframes radiantCallPulse{0%{transform:translate(-50%,-50%) scale(1);opacity:1}100%{transform:translate(-50%,-50%) scale(3.4);opacity:0}}
@keyframes calmCallGlow{
0%,100%{opacity:.95;border-color:#70d4ff;box-shadow:0 0 0 calc(var(--call-ring)*.04) #239fff,0 0 14px 5px #008cffe0,0 0 65px 18px #0088ff88}
50%{opacity:1;border-color:#e8faff;box-shadow:0 0 0 calc(var(--call-ring)*.065) #70d5ff,0 0 22px 9px #009dffff,0 0 85px 24px #0088ffbb}
}
