@font-face{font-family:Studio;src:local('Manrope'),local('Arial');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#080c12;color:#f1f0e9;font-family:Studio,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #d9be8e;outline-offset:6px}button{border:0}::selection{background:#d3b67d;color:#080c12}.skip{position:fixed;top:-70px;left:20px;z-index:100;background:#d9be8e;padding:15px;color:#080c12}.skip:focus{top:15px}.header{height:96px;position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;border-bottom:1px solid #ffffff12;background:linear-gradient(#080c12e8,#080c1250);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px}.brand img{object-fit:contain}.brand>span{font-size:24px;letter-spacing:3px;font-weight:600}.brand small{display:block;font-size:8px;letter-spacing:5.5px;margin-top:4px;color:#c6b18b}.header nav{display:flex;gap:32px;font-size:12px;color:#aaaeb5}.header nav a:hover{color:#e3c99c}.header-contact{font-size:12px;border-bottom:1px solid #b4a287;padding:10px 0}.header-contact span{margin-left:30px;color:#dfc79f}.experience{height:570vh;position:relative}.sticky-scene{height:100svh;min-height:680px;position:sticky;top:0;overflow:clip;isolation:isolate;--explode:0;--view:0;--hotel-opacity:1;--phone:0;--dash:0;--signal:0;--success:0}.ambient{position:absolute;width:65vw;height:75vh;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:-2;opacity:.33}.ambient-gold{background:radial-gradient(ellipse,#7c6043,transparent 65%);right:-12%;top:8%}.ambient-blue{background:radial-gradient(ellipse,#143745,transparent 65%);left:10%;bottom:-35%;opacity:.4}.fine-grid{position:absolute;inset:0;z-index:-3;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:100px 100px;opacity:.1}.grain{position:absolute;inset:0;z-index:20;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.55' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}.scene-top{position:absolute;top:126px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2.3px;color:#92979b}.scene-top>span:first-child{color:#c9b38b}.scene-top i,.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#cfba8d;box-shadow:0 0 12px #d3b982;margin-right:10px}.scene-copy{position:absolute;z-index:10;left:7%;top:26%;max-width:500px;transition:top .6s ease,opacity .5s ease;pointer-events:none}.scene-copy a{pointer-events:auto}.eyebrow{font-size:9px;line-height:1.8;letter-spacing:2px;color:#b3a083}.scene-copy h1{font-size:clamp(50px,5.5vw,90px);line-height:1.04;letter-spacing:-4px;font-weight:400;margin:24px 0}.scene-copy em,h2 em,.footer-title em{font-family:Georgia,serif;font-weight:400;color:#d9c09a}.scene-copy p{font-size:15px;line-height:1.8;color:#9fa4ad;max-width:330px}.cta{display:inline-flex;gap:38px;align-items:center;padding:17px 23px;border:1px solid #cbb38580;font-size:12px;background:#bfa1740c;transition:background .25s,color .25s}.cta:hover{background:#dac29d;color:#080c12}.scene-cta{margin-top:22px}.hotel-anchor{position:absolute;left:61%;top:57%;width:500px;height:340px;transform:translate(-50%,-50%);opacity:var(--hotel-opacity);transition:opacity .2s;perspective:1800px;z-index:2;pointer-events:none}.hotel-world{position:absolute;left:50%;top:50%;width:400px;height:240px;transform-style:preserve-3d;transform:translate(-50%,-30%) translateX(calc(var(--view)*-70px)) translateY(calc(var(--view)*70px)) rotateX(calc(58deg - var(--view)*9deg)) rotateZ(calc(-32deg + var(--view)*12deg)) scale(calc(1.1 + var(--view)*.07));will-change:transform}.hotel{position:absolute;inset:0;transform-style:preserve-3d}.floor{position:absolute;width:400px;height:240px;transform-style:preserve-3d;transform:translate3d(calc(var(--explode)*var(--dx)*1px),calc(var(--explode)*var(--dy)*1px),calc(var(--z)*1px + var(--explode)*var(--lift)*1px));will-change:transform}.floor-surface{position:absolute;inset:0;background:linear-gradient(130deg,#c5bba5,#7d7c71 60%,#b0a88f);border:2px solid #d4c6a9;box-shadow:0 0 0 1px #292d2e;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr 1fr;gap:4px;padding:8px;overflow:hidden}.room{position:relative;background:linear-gradient(90deg,#746f65,#a49a85 60%,#777265);border:1px solid #594e3c;box-shadow:inset 0 0 13px #201d18}.room:nth-child(4n+2){background:linear-gradient(90deg,#8e8570,#b3a88e)}.room:before{content:'';position:absolute;width:43%;height:60%;left:16%;top:18%;background:linear-gradient(180deg,#ded8c8 0 20%,#a4967e 20% 25%,#c7c3af 25% 90%,#8b8069 90%);box-shadow:2px 2px 5px #201b1560;border:2px solid #bdb6a3}.room:after{content:'';position:absolute;width:15%;height:20%;right:10%;top:18%;background:#e9c47e;box-shadow:0 0 13px 4px #e6bb6e66}.room .rug{position:absolute;width:62%;height:42%;left:10%;bottom:8%;background:#dad0b755;transform:translateZ(1px)}.wall{position:absolute;transform-origin:top left;height:51px;overflow:hidden;backface-visibility:visible;border-bottom:3px solid #b8a789;box-shadow:inset 0 1px 0 #decba6;background:linear-gradient(180deg,#3e453f,#162729);display:flex;align-items:stretch;padding:6px 7px 4px;gap:9px}.wall.front{top:240px;left:0;width:400px;transform:rotateX(-90deg)}.wall.back{top:0;left:0;width:400px;transform:rotateX(-90deg);background:#18282d}.wall.right{left:400px;top:0;width:240px;transform:rotateZ(90deg) rotateX(-90deg);background:linear-gradient(180deg,#34423f,#122023)}.window{flex:1;background:linear-gradient(90deg,#493f30,#e1c58b 35%,#e6d6a3 65%,#675337);opacity:.83;border-left:2px solid #b5a07a;border-right:1px solid #394745;box-shadow:0 0 6px #ecc58355;position:relative}.window:before{content:'';position:absolute;left:48%;height:100%;width:1px;background:#4a493e}.window.dark{background:linear-gradient(90deg,#172a30,#334e52);box-shadow:none}.floor-lines{position:absolute;inset:0;border:3px solid #b3a58b;transform:translateZ(-51px);box-shadow:0 0 7px #d4b87a44}.roof{position:absolute;inset:-8px;background:linear-gradient(110deg,#7d8678,#364640);border:4px solid #b4ab94;transform:translate3d(calc(var(--explode)*125px),calc(var(--explode)*-120px),calc(264px + var(--explode)*160px));transform-style:preserve-3d;box-shadow:0 0 20px #d7c28a22}.roof-garden{position:absolute;inset:18px;background:repeating-linear-gradient(90deg,#46604a 0 18px,#3b5543 18px 20px);border:5px solid #6d7561}.roof-lounge{position:absolute;left:35px;top:40px;width:130px;height:100px;background:repeating-linear-gradient(90deg,#9e967c 0 8px,#767460 8px 10px);box-shadow:4px 5px 5px #14211e}.roof-sign{position:absolute;right:25px;bottom:25px;background:#273c38;border:1px solid #d0be90;padding:10px;font:15px Georgia;letter-spacing:3px;color:#f6d99c;box-shadow:0 0 15px #ecd09522}.roof-plant{position:absolute;width:40px;height:40px;border-radius:50%;background:radial-gradient(#668264,#2c4b36);box-shadow:4px 4px 3px #192d20}.roof-plant.p1{right:30px;top:30px}.roof-plant.p2{right:80px;top:30px}.roof-plant.p3{right:30px;top:80px}.hotel-lobby{position:absolute;inset:0;background:#baad90;transform:translateZ(-8px)}.site-base{position:absolute;inset:-85px -65px -70px;transform:translateZ(-70px);transform-style:preserve-3d;background:linear-gradient(30deg,#383f38,#656c59 50%,#343d35);border:8px solid #172b25;box-shadow:0 0 0 3px #394f41,35px 45px 70px #0009}.site-base:after{content:'';position:absolute;inset:0;border:1px solid #d3c59b66}.pool{position:absolute;left:25px;top:18px;width:270px;height:45px;background:repeating-linear-gradient(130deg,#386e73aa 0 3px,#5a94968a 3px 6px);border:7px solid #b5b19c;box-shadow:0 0 15px #5ab3b833,inset 3px 3px 8px #172e35}.pathway{position:absolute;bottom:15px;left:0;right:0;height:40px;background:repeating-linear-gradient(90deg,#c9bfa4 0 40px,#8f9681 40px 42px)}.tree{position:absolute;width:43px;height:43px;background:radial-gradient(circle at 30% 30%,#637d4c,#243f30 75%);border-radius:45%;box-shadow:12px 10px 7px #14282080;transform:translateZ(20px)}.t1{left:20px;bottom:70px}.t2{right:12px;bottom:65px}.t3{right:12px;top:10px}.t4{right:12px;top:75px}.hotel-shadow{position:absolute;inset:35% -10% -15%;background:radial-gradient(ellipse,#c9b18120,transparent 68%);filter:blur(15px)}.building-caption{position:absolute;bottom:-64px;left:50%;display:flex;gap:15px;align-items:center;white-space:nowrap;opacity:calc(1 - var(--view));font-size:11px;letter-spacing:4px;color:#cfbd9d}.building-caption small{display:block;letter-spacing:1.5px;font-size:7px;color:#747c80;margin-top:8px}.tiny-cross{font-size:25px;font-weight:200}.floor-note{position:absolute;top:45%;right:8%;font-size:8px;letter-spacing:2px;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s}.thin-line{display:inline-block;width:35px;height:1px;background:#d4bd92;margin:0 12px;vertical-align:middle}.phone-wrap{position:absolute;top:26%;left:48%;z-index:12;opacity:var(--phone);transform:translate3d(calc((1 - var(--phone))*100px),calc((1 - var(--phone))*80px),0) rotate(calc((1 - var(--phone))*8deg)) scale(calc(.88 + var(--phone)*.12));pointer-events:none;will-change:transform,opacity}.phone-wrap.is-visible{pointer-events:auto}.phone-hint{font-size:8px;letter-spacing:2px;text-align:center;margin-bottom:12px;color:#d0b78e}.phone{width:270px;background:#e9e4d8;padding:9px;border-radius:37px;border:1px solid #b5b5aa;box-shadow:0 30px 80px #0008,0 0 0 5px #232b2b,0 0 0 6px #59615c;color:#222c29}.phone-status{display:flex;justify-content:space-between;align-items:center;font-size:8px;height:25px;padding:0 12px}.island{width:71px;height:17px;border-radius:15px;background:#101914}.guest-content{padding:18px 12px 0}.guest-logo{font-family:Georgia,serif;letter-spacing:4px;font-size:17px;margin-bottom:20px}.guest-logo>span{font-family:Arial;font-size:6px;letter-spacing:3px;margin-left:7px}.guest-welcome{font-size:9px;color:#73776b}.guest-content h2{font-family:Georgia;font-weight:400;font-size:24px;line-height:1.14;letter-spacing:-.7px;margin:8px 0 14px}.room-tag{display:flex;justify-content:space-between;font-size:7px;padding:10px 0;border-top:1px solid #a39d8e55}.room-tag>span:last-child{color:#6b7566}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.service-grid button{background:#dcd7c9;border:1px solid #b4af9b55;border-radius:8px;padding:10px;text-align:left;position:relative;transition:background .25s,transform .25s}.service-grid button:hover{background:#c5c5ae;transform:translateY(-2px)}.service-grid .help-service{background:#293d34;color:#f2ead7}.service-icon{display:block;font-size:20px;font-family:Georgia;margin-bottom:5px;font-weight:400}.service-grid button>span:last-of-type{font-size:9px;line-height:1.3;display:block}.help-service i{position:absolute;right:10px;top:12px;width:4px;height:4px;background:#d3bb85;border-radius:50%;box-shadow:0 0 0 5px #bba77615}.guest-request{display:flex;gap:8px;align-items:center;background:#d6d9c7;border-radius:8px;margin-top:11px;padding:10px 8px;min-height:48px}.guest-request strong{display:block;font-size:8px;font-weight:500;line-height:1.6}.guest-request div>span{display:block;font-size:7px;color:#687260;line-height:1.6}.request-indicator{height:5px;width:5px;background:#738d61;border-radius:50%;flex-shrink:0}.request-check{margin-left:auto;font-size:16px}.guest-bottom{display:flex;justify-content:space-around;margin-top:14px;font-size:15px;color:#7a8172;text-align:center}.guest-bottom small{display:block;font-size:6px;margin-top:4px}.home-bar{height:3px;width:80px;border-radius:5px;background:#25372d;margin:13px auto 3px}.dashboard-wrap{position:absolute;right:6%;top:31%;width:min(590px,44vw);z-index:13;opacity:var(--dash);transform:translateY(calc((1 - var(--dash))*90px)) perspective(1000px) rotateY(calc((1 - var(--dash))*-12deg));pointer-events:none;will-change:transform,opacity}.dashboard-wrap.is-visible{pointer-events:auto}.dashboard-label{font-size:8px;color:#c9b58f;letter-spacing:2px;margin-bottom:15px}.dashboard{padding:23px;border:1px solid #71807450;border-radius:13px;background:linear-gradient(140deg,#192420f5,#101916f7);box-shadow:0 25px 85px #0007;backdrop-filter:blur(30px)}.dash-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #a8b7a315;padding-bottom:15px}.dash-brand{font-family:Georgia;letter-spacing:3px;font-size:16px}.dash-brand span{font-family:Arial;font-size:6px;color:#9ca68f;margin-left:8px}.avatar{border-radius:50%;background:#a5af9250;font-size:8px;padding:9px}.dash-title{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.dash-title h2{font-size:19px;font-weight:400;letter-spacing:-.5px;margin:0}.dash-title>span{font-size:8px;color:#949e8a}.dash-title i{display:inline-block;width:4px;height:4px;border-radius:50%;background:#c3cd9b;margin-left:7px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:23px}.metrics>div{border:1px solid #a8b29519;border-radius:7px;padding:12px;background:#ffffff03}.metrics span{display:block;color:#abb29e;font-size:8px}.metrics strong{display:block;font-size:29px;font-weight:400;color:#decc9e;margin:8px 0}.metrics small{display:block;font-size:6px;color:#8b9583}.table-head,.request-row{display:grid;grid-template-columns:1.5fr 1fr .8fr;gap:8px;align-items:center}.table-head{font-size:6px;letter-spacing:1px;color:#838f80;margin-bottom:7px;padding:0 10px}.request-row{font-size:8px;padding:13px 10px;border-top:1px solid #acb79d12;min-height:53px}.request-row b{font-weight:400}.request-row small{display:block;font-size:6px;color:#83917f;margin-top:5px}.request-row>span:nth-child(2){font-size:7px;color:#abb49f}.active-row{background:#d3bc8110;border:1px solid #c7b27a44;border-radius:5px;transition:background .4s}.active-row.pulse{animation:row-pulse .8s ease}.badge{justify-self:start;font-size:6px;border:1px solid #c7b48140;border-radius:20px;padding:5px 8px;background:#c8b28210;color:#d8c395;white-space:nowrap}.badge.working{color:#acccd0;border-color:#85b3b540;background:#61989d15}.badge.done{color:#bdc9a1;background:#9cba6a15;border-color:#a2bc7740}.dash-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:10px}.dash-bottom>span{font-size:7px;color:#a1ad96;max-width:170px;line-height:1.5}.dash-bottom button{font-size:8px;background:#d3c09b;color:#1c2820;border-radius:4px;padding:10px 12px;white-space:nowrap}.dash-bottom button:hover{background:#ede0c3}.dash-bottom button span{margin-left:10px}.demo-note{display:block;font-size:7px;letter-spacing:1px;color:#717f73;margin-top:14px;text-align:right}.data-line{position:absolute;left:44%;top:38%;width:32%;height:240px;z-index:8;opacity:var(--signal);overflow:visible;pointer-events:none}.route-bg{stroke:#b5be9940;stroke-width:1}.route-signal{stroke:url(#signal);stroke-width:1.5;stroke-dasharray:6 12;animation:data-flow 2s linear infinite}.packet{fill:#d6c092;filter:drop-shadow(0 0 7px #e7c484)}.success-toast{position:absolute;z-index:15;bottom:16%;right:9%;display:flex;align-items:center;gap:15px;background:#1d2e24f5;border:1px solid #b3cc8740;border-radius:8px;padding:16px 24px;opacity:var(--success);transform:translateY(calc((1 - var(--success))*25px));pointer-events:none}.success-toast>span{font-size:24px;color:#c8d6aa}.success-toast strong{display:block;font-size:12px;font-weight:400}.success-toast small{display:block;font-size:9px;margin-top:6px;color:#a1ae91}.scene-bottom{position:absolute;bottom:35px;left:4.5%;right:4.5%;display:flex;align-items:center;justify-content:space-between;z-index:25}.scroll-cue{display:flex;align-items:center;gap:12px;font-size:7px;letter-spacing:1.5px;color:#7f8587}.scroll-mouse{width:15px;height:24px;border:1px solid #8b8e7c;border-radius:12px;position:relative}.scroll-mouse:after{content:'';position:absolute;width:2px;height:5px;top:5px;left:5px;background:#cdb88d;animation:scroll-drop 2s infinite}.chapter-controls{display:flex;gap:24px}.chapter-controls button{background:none;font-size:9px;color:#737b7e;padding:7px 0;display:flex;gap:8px;align-items:center}.chapter-controls button span{font-size:9px}.chapter-controls button.active{color:#d8bf95}.chapter-controls button.active:before{content:'';height:3px;width:3px;background:#d8bf95;border-radius:50%}.progress-number{font-size:15px;color:#d6c3a1;font-variant-numeric:tabular-nums}.progress-number span{font-size:8px;margin-left:4px;color:#757e7f}.progress-track{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff0b}.progress-track>div{height:100%;width:0;background:#cbb58e}.sticky-scene[data-phase="1"] .scene-copy,.sticky-scene[data-phase="2"] .scene-copy,.sticky-scene[data-phase="3"] .scene-copy{top:22%}.sticky-scene:not([data-phase="0"]) .scene-copy h1{font-size:clamp(36px,3.2vw,54px);letter-spacing:-2px;max-width:390px;line-height:1.13}.sticky-scene:not([data-phase="0"]) .scene-copy p{font-size:13px;max-width:280px}.sticky-scene[data-phase="1"] .floor-note{opacity:1;transform:none}.sticky-scene[data-phase="2"] .scene-copy{max-width:340px;top:25%}.sticky-scene[data-phase="3"] .scene-copy{top:23%;max-width:360px}.sticky-scene[data-phase="3"] .phone-wrap{left:35%;top:37%;transform:scale(.77);transform-origin:top left}.sticky-scene[data-phase="3"] .data-line{left:44%;top:42%;width:18%}.section-pad{padding:100px 7%}.section-kicker{display:flex;justify-content:space-between;color:#8b8e85;font-size:8px;letter-spacing:2px;border-top:1px solid #c2b38e30;padding-top:20px}.solution{background:#e6e2d7;color:#253229}.solution h2,.section-heading h2,.founder h2{font-size:clamp(38px,5vw,72px);letter-spacing:-3px;line-height:1.08;font-weight:400;margin:65px 0}.solution h2 em{color:#7b715c}.solution-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding-top:30px}.solution-columns article{border-top:1px solid #a3a28e;padding-top:25px}.solution-columns article>span{font-size:8px;letter-spacing:2px;color:#717761}.solution-columns h3{font-size:27px;font-weight:400;line-height:1.2;letter-spacing:-1px}.solution-columns p{font-size:12px;color:#6c7467;line-height:1.9;max-width:330px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.section-heading h2{margin-bottom:50px}.section-heading>p{max-width:220px;font-size:12px;color:#8c9597;line-height:1.8;margin-bottom:55px}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff1c}.project-grid>a{position:relative;padding:30px 22px 30px 0;border-right:1px solid #ffffff1c;min-height:220px;transition:background .3s}.project-grid>a+a{padding-left:22px}.project-grid>a:last-child{border:0}.project-grid>a:hover{background:#c9b28e0a}.project-num{font-size:9px;color:#b8a47d}.project-grid h3{font-size:22px;letter-spacing:-1px;font-weight:400;margin-top:35px}.project-grid p{font-size:10px;color:#8c9597}.project-link{display:block;color:#c9b692;font-size:9px;margin-top:30px}.founder{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;background:#0d1418;align-items:center}.founder-photo{position:relative;max-width:440px}.founder-photo img{display:block;width:100%;height:540px;object-fit:cover;object-position:50% 40%;filter:saturate(.7)}.founder-photo>span{display:block;font-size:8px;letter-spacing:2px;color:#b3a385;margin-top:18px}.founder h2{margin:25px 0 30px}.founder-copy p{font-size:13px;line-height:1.9;color:#9aa3a4;max-width:430px}.founder-copy p a{color:#d3bc94}.founder-copy .cta{margin-top:20px}.footer{padding-top:100px;padding-bottom:35px}.footer-title{display:block;font-size:clamp(35px,5.5vw,83px);letter-spacing:-3px;line-height:1.15;margin:35px 0 75px}.footer-title>span{font-size:60px;margin-left:50px;color:#bba87e}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:25px;border-top:1px solid #ffffff20;font-size:8px;color:#7e898b;letter-spacing:1px}.footer-bottom a{color:#cbb690}@keyframes data-flow{to{stroke-dashoffset:-72}}@keyframes row-pulse{50%{background:#d3bc8135}}@keyframes scroll-drop{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(6px);opacity:1}}
@media(min-width:1600px){.hotel-anchor{left:65%;transform:translate(-50%,-40%) scale(1.2)}.scene-copy{top:29%}.phone-wrap{left:49%;top:30%;transform:scale(1.1)}.dashboard-wrap{top:34%}}
@media(max-width:1100px){.scene-copy{left:5%;max-width:410px}.scene-copy h1{font-size:65px}.hotel-anchor{left:67%;transform:translate(-50%,-40%) scale(.86)}.phone-wrap{left:46%;top:31%}.dashboard-wrap{right:4%;width:47vw;top:36%}.sticky-scene[data-phase="3"] .phone-wrap{left:29%;transform:scale(.68);top:41%}.sticky-scene[data-phase="3"] .scene-copy{top:20%}.dashboard{padding:17px}.dash-title h2{font-size:16px}.dash-bottom{flex-direction:column;align-items:stretch}.dash-bottom>span{max-width:none}.dash-bottom button{text-align:left}.scroll-cue{max-width:190px;line-height:1.8}.founder{gap:50px}}
@media(max-width:760px){.header{height:74px;padding:0 6%}.brand img{width:31px;height:36px}.brand>span{font-size:18px}.brand small{font-size:6px;letter-spacing:4px}.header nav{display:none}.header-contact{font-size:10px}.header-contact span{margin-left:14px}.experience{height:540vh}.sticky-scene{min-height:690px}.scene-top{top:100px;left:6%;right:6%;font-size:7px;letter-spacing:1.5px}.scene-top>span:last-child{display:none}.scene-copy{left:7%;top:19%;max-width:88%}.scene-copy h1{font-size:clamp(46px,11.6vw,68px);line-height:1.02;letter-spacing:-2.8px;margin:16px 0}.scene-copy p{font-size:12px;line-height:1.7;max-width:245px}.eyebrow{font-size:7px;letter-spacing:1.4px}.scene-cta{font-size:10px;padding:12px 16px;margin-top:10px;gap:25px}.hotel-anchor{left:51%;top:74%;transform:translate(-50%,-50%) scale(.62)}.hotel-world{transform:translate(-50%,-30%) translateX(calc(var(--view)*-70px)) translateY(calc(var(--view)*35px)) rotateX(calc(58deg - var(--view)*9deg)) rotateZ(calc(-32deg + var(--view)*12deg)) scale(1.1)}.building-caption{bottom:-32px;left:51%;font-size:9px;letter-spacing:3px}.building-caption small{font-size:6px}.scene-bottom{bottom:22px;left:6%;right:6%;gap:12px}.scroll-cue{display:none}.chapter-controls{gap:16px}.chapter-controls button,.chapter-controls button span{font-size:8px}.chapter-controls button{gap:5px}.progress-number{font-size:13px}.sticky-scene:not([data-phase="0"]) .scene-copy{top:17%;max-width:88%}.sticky-scene:not([data-phase="0"]) .scene-copy h1{font-size:36px;letter-spacing:-1.7px;line-height:1.08;margin:12px 0;max-width:350px}.sticky-scene:not([data-phase="0"]) .scene-copy p{font-size:11px;max-width:280px;line-height:1.6}.sticky-scene:not([data-phase="0"]) .scene-cta{display:none}.sticky-scene[data-phase="1"] .hotel-anchor{top:73%;transform:translate(-50%,-50%) scale(.53)}.floor-note{top:auto;bottom:15%;right:8%;font-size:6px}.phone-wrap{top:43%;left:50%;margin-left:-135px;transform:translateY(calc((1 - var(--phone))*60px)) scale(.74);transform-origin:top center}.phone{width:270px}.sticky-scene[data-phase="2"] .hotel-anchor{left:88%;top:70%;transform:translate(-50%,-50%) scale(.45)}.sticky-scene[data-phase="2"] .phone-wrap{transform:translateY(calc((1 - var(--phone))*60px)) scale(.74)}.dashboard-wrap{top:43%;right:5%;width:90%;transform:translateY(calc((1 - var(--dash))*60px)) scale(.97);transform-origin:top center}.dashboard{padding:16px}.dash-title{margin:15px 0}.metrics{margin-bottom:16px}.metrics strong{font-size:23px;margin:7px 0}.metrics small{font-size:5px}.metrics>div{padding:10px}.request-row{padding:11px 8px;min-height:45px}.dash-bottom{flex-direction:row;align-items:center;margin-top:16px}.dash-bottom>span{max-width:125px;font-size:6px}.dash-bottom button{font-size:7px;padding:9px}.demo-note{font-size:6px}.sticky-scene[data-phase="3"] .phone-wrap{opacity:0;pointer-events:none}.sticky-scene[data-phase="3"] .hotel-anchor{opacity:.08}.data-line{display:none}.success-toast{right:7%;left:7%;bottom:12%;padding:13px 15px;justify-content:center}.success-toast strong{font-size:10px}.success-toast small{font-size:8px}.section-pad{padding:65px 7%}.section-kicker{font-size:6px;letter-spacing:1.3px;gap:15px}.solution h2,.section-heading h2,.founder h2{font-size:40px;letter-spacing:-2px;margin:40px 0}.solution-columns{grid-template-columns:1fr;gap:25px;padding-top:0}.solution-columns h3{font-size:26px;margin:18px 0}.solution-columns p{max-width:none}.section-heading{display:block}.section-heading>p{margin-top:-20px;margin-bottom:35px}.project-grid{grid-template-columns:1fr 1fr}.project-grid>a{min-height:190px;padding:20px 12px 20px 0}.project-grid>a+a{padding-left:15px}.project-grid>a:nth-child(2){border-right:0}.project-grid>a:nth-child(3){padding-left:0;border-top:1px solid #ffffff1c}.project-grid>a:nth-child(4){border-top:1px solid #ffffff1c}.project-grid h3{font-size:20px;margin-top:25px}.project-grid p{font-size:9px}.project-link{font-size:8px}.founder{grid-template-columns:1fr;gap:40px}.founder-photo{max-width:none}.founder-photo img{height:390px;object-position:50% 32%}.founder h2{margin-top:20px}.footer-title{font-size:39px;letter-spacing:-2px;margin-bottom:50px}.footer-title>span{font-size:32px;margin-left:0}.footer-bottom{flex-direction:column;font-size:7px;gap:15px}}
@media(max-height:750px) and (min-width:761px){.scene-copy{top:24%}.scene-copy h1{font-size:65px}.hotel-anchor{top:64%;transform:translate(-50%,-50%) scale(.85)}.phone-wrap{top:27%;transform:scale(.83);transform-origin:top left}.dashboard-wrap{top:32%;transform:translateY(calc((1 - var(--dash))*60px)) scale(.88);transform-origin:top right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hotel-world,.floor,.phone-wrap,.dashboard-wrap{will-change:auto}.packet{display:none}}

/* Refinements after desktop and mobile review. */
.success-toast{top:18%;bottom:auto}.request-row{font-size:10px}.request-row small{font-size:8px}.request-row>span:nth-child(2){font-size:9px}.badge{font-size:8px}.table-head{font-size:7px}.dash-bottom>span{font-size:9px}.dash-bottom button{font-size:10px}.metrics span{font-size:10px}.metrics small{font-size:8px}.demo-note{font-size:8px}
@media(max-width:760px){.hotel-anchor{transform:translate(-50%,-50%) scale(.52)}.scene-copy h1{font-size:46px}.chapter-controls button{min-height:40px}.request-row{font-size:8px}.request-row small{font-size:6px}.request-row>span:nth-child(2){font-size:7px}.badge{font-size:6px}.table-head{font-size:6px}.dash-bottom>span{font-size:7px}.dash-bottom button{font-size:8px}.metrics span{font-size:8px}.metrics small{font-size:6px}.demo-note{font-size:6px}.success-toast{top:36%;bottom:auto}.sticky-scene[data-phase="3"] .scene-copy p{display:none}}

@media(max-width:760px) and (min-height:800px){.sticky-scene[data-phase="2"] .phone-wrap{transform:translateY(calc((1 - var(--phone))*60px)) scale(.82)}}


/* Cinematic hospitality / photographic scenes */
body{background:#12100e;color:#fff7eb}.header{height:80px;background:linear-gradient(#17110bd9,#17110b35);backdrop-filter:blur(12px)}.experience{height:540vh}.sticky-scene{min-height:0;height:100svh;background:#17110b;color:#fff7eb}.cinema,.cinema-shade{position:absolute;inset:0;pointer-events:none}.cinema{z-index:-3;overflow:hidden}.cinema-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;opacity:0;will-change:transform,opacity}.cinema-frame:first-child{opacity:1}.cinema-shade{z-index:-2;background:linear-gradient(90deg,#160e08b8 0%,#160e0850 34%,transparent 68%),linear-gradient(0deg,#0d090bd9,transparent 25%,transparent 75%,#0d090b55)}.scene-top{top:110px;color:#f1dcca}.scene-top>span:first-child,.eyebrow{color:#f0cda7}.scene-copy{left:6%;top:30%;max-width:600px}.scene-copy h1{font-size:clamp(60px,6.6vw,104px);font-weight:400;letter-spacing:-5px;line-height:1.03;text-shadow:0 2px 35px #24160b50}.scene-copy em{color:#ffe0b3}.scene-copy p{color:#f1dfcf;max-width:325px}.scene-cta{border-radius:40px;background:#fff0d9;color:#332414;border:0}.scene-cta:hover{background:#dcb889}.scene-bottom{bottom:28px}.scroll-cue,.progress-number,.chapter-controls button{color:#eee1d1}.chapter-controls{padding:8px 22px;background:#241a16a8;border:1px solid #fff3;border-radius:40px;backdrop-filter:blur(15px)}.chapter-controls button.active{color:#ffdbab}.chapter-controls button{min-height:30px}.sticky-scene[data-phase="1"] .scene-copy{top:30%}.sticky-scene[data-phase="1"] .scene-copy h1{font-size:clamp(42px,4.6vw,70px)}.sticky-scene[data-phase="2"] .scene-copy{top:23%;max-width:330px}.sticky-scene[data-phase="2"] .scene-copy p{max-width:260px}.sticky-scene[data-phase="2"] .scene-cta,.sticky-scene[data-phase="3"] .scene-cta{display:none}.phone-wrap{top:24%;left:auto;right:10%;transform:translateY(calc((1 - var(--phone))*50px));margin:0}.phone-hint,.dashboard-label{color:#ffe1b5}.sticky-scene[data-phase="3"] .phone-wrap{opacity:0;pointer-events:none}.sticky-scene[data-phase="3"] .scene-copy{top:19%;left:6%;max-width:600px}.sticky-scene[data-phase="3"] .scene-copy h1{font-size:46px;max-width:none}.sticky-scene[data-phase="3"] .scene-copy h1 br{display:none}.sticky-scene[data-phase="3"] .scene-copy p{max-width:500px;margin:10px 0}.dashboard-wrap{left:6%;right:auto;top:41%;width:min(530px,43vw);transform:translateY(calc((1 - var(--dash))*55px))}.dashboard{background:#201c17ed;border-color:#d8c09b66;padding:20px}.dashboard-label{margin-bottom:10px}.metrics{margin-bottom:12px}.metrics strong{font-size:25px;margin:5px 0}.dash-title{margin:12px 0}.dash-head{padding-bottom:10px}.request-row{min-height:42px;padding:9px 10px}.dash-bottom{margin-top:12px}.demo-note{color:#f2deca}.data-line{display:none}.success-toast{top:auto;bottom:15%;right:6%;background:#203429ef}.solution{background:#f1e8db}.projects{background:#14120f}.founder{background:#1c1914}.footer{background:#ede1cf;color:#30261a}.footer .eyebrow,.footer-title em,.footer-bottom a{color:#806242}.footer-bottom{border-color:#80624244}.service-grid button{min-height:70px}.phone{box-shadow:0 28px 65px #0007,0 0 0 4px #594b3f}
@media(max-height:800px) and (min-width:761px){.phone-wrap{top:22%;transform:scale(.88);transform-origin:top right}.dashboard-wrap{top:38%;transform:scale(.9);transform-origin:top left}.sticky-scene[data-phase="3"] .scene-copy{top:17%}.sticky-scene[data-phase="3"] .scene-copy h1{font-size:38px}.scene-top{top:100px}.scene-copy{top:28%}}
@media(max-width:760px){.header{height:68px}.header-contact{font-size:10px}.experience{height:500vh}.sticky-scene{min-height:0;height:100svh}.cinema-frame{object-position:57% center}.cinema-frame:nth-child(3){object-position:38% center}.cinema-frame:nth-child(4){object-position:73% center}.cinema-shade{background:linear-gradient(0deg,#100b09d9,transparent 45%,#100b09aa 78%,#100b09b8),linear-gradient(90deg,#160e0840,transparent)}.scene-top{top:89px;font-size:7px}.scene-copy{top:20%;left:7%}.scene-copy h1{font-size:57px;letter-spacing:-3px}.scene-copy p{font-size:13px;max-width:270px}.scene-cta{font-size:11px;padding:14px 20px}.sticky-scene:not([data-phase="0"]) .scene-copy,.sticky-scene[data-phase="1"] .scene-copy,.sticky-scene[data-phase="2"] .scene-copy,.sticky-scene[data-phase="3"] .scene-copy{top:16%;left:7%;max-width:88%}.sticky-scene:not([data-phase="0"]) .scene-copy h1{font-size:34px;letter-spacing:-1.5px;margin:10px 0}.sticky-scene[data-phase="2"] .scene-copy p,.sticky-scene[data-phase="3"] .scene-copy p{display:none}.sticky-scene[data-phase="2"] .scene-copy h1 br{display:none}.phone-wrap,.sticky-scene[data-phase="2"] .phone-wrap{top:33%;left:auto;right:7%;margin:0;transform:scale(.83);transform-origin:top right}.dashboard-wrap{top:34%;left:5%;right:auto;width:90%;transform:none}.dashboard{padding:15px}.dashboard-label{font-size:7px}.metrics small{font-size:7px}.request-row{font-size:10px}.request-row small{font-size:8px}.request-row>span:nth-child(2){font-size:9px}.badge{font-size:8px}.dash-bottom button{font-size:10px;min-height:44px;white-space:normal}.dash-bottom>span{font-size:8px}.demo-note{font-size:7px}.scene-bottom{bottom:13px;left:4%;right:4%}.chapter-controls{gap:14px;padding:3px 14px}.chapter-controls button{min-height:38px}.chapter-controls button span{font-size:9px}.success-toast{top:auto;bottom:12%;left:5%;right:5%;padding:12px}.sticky-scene[data-phase="3"] .scene-copy h1{font-size:30px}.footer-title>span{color:#806242}}
@media(max-width:760px) and (max-height:740px){.scene-top{top:80px}.phone-wrap,.sticky-scene[data-phase="2"] .phone-wrap{top:31%;transform:scale(.68)}.dashboard-wrap{top:30%;transform:scale(.9);transform-origin:top center}.sticky-scene:not([data-phase="0"]) .scene-copy h1{font-size:27px}.dashboard-label{display:none}.success-toast{bottom:11%;padding:8px}.scene-copy h1{font-size:48px}}

/* Film reveal followed by true vertical sections. */
.reveal-story{height:260svh;position:relative}.reveal-stage{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate;background:#251c15 url('assets/scene-hotel.webp') center/cover}.reveal-stage video,.story-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.film-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#120b09ba,transparent 72%),linear-gradient(0deg,#120b09ad,transparent 30%);pointer-events:none}.film-copy{position:absolute;left:6%;top:27%;max-width:650px}.film-copy h1,.film-copy h2{font-size:clamp(48px,6vw,94px);font-weight:400;line-height:1.05;letter-spacing:-4px;margin:22px 0}.film-copy em{font-family:Georgia,serif;color:#ffe1b7}.film-copy p{font-size:15px;line-height:1.8;max-width:350px;color:#f1dfcf}.down-hint{position:absolute;left:6%;bottom:35px;display:flex;gap:22px;align-items:center;font-size:12px;z-index:20}.down-hint b{border:1px solid #ffe2ac99;border-radius:50%;height:48px;width:48px;display:grid;place-items:center;font-size:27px;font-weight:400;animation:scroll-drop 2s infinite}.film-progress{height:3px;background:#fff3;position:absolute;bottom:0;width:100%}.film-progress span{display:block;height:100%;background:#edc995}.film-count{position:absolute;right:6%;bottom:53px;font-size:12px;letter-spacing:3px}.photo-story{position:relative;isolation:isolate;height:110svh;min-height:850px;overflow:hidden;scroll-margin-top:0;border-top:1px solid #c4a57c55}.photo-story .phone-wrap{opacity:1;pointer-events:auto;top:24%;right:9%;left:auto;margin:0;transform:none}.photo-story .dashboard-wrap{opacity:1;pointer-events:auto;top:39%;left:6%;right:auto;transform:none;width:min(540px,44vw)}.team-story .film-copy{top:12%}.team-story .film-copy h2{font-size:46px;letter-spacing:-2px}.team-story .film-copy p{max-width:470px;font-size:13px}.team-story .success-toast{top:auto;bottom:16%;right:6%;transform:none}.photo-story .dash-bottom button{min-height:44px}.video-unavailable video{display:none}
@media(max-width:760px){.reveal-story{height:220svh}.film-copy{top:22%;left:7%;max-width:86%}.film-copy h1,.film-copy h2{font-size:48px;letter-spacing:-2.5px}.film-copy p{font-size:13px;max-width:270px}.reveal-stage video{object-position:57% center}.photo-story{min-height:950px;height:115svh}.guest-story .story-bg{object-position:38% center}.team-story .story-bg{object-position:73% center}.photo-story .film-copy,.team-story .film-copy{top:10%;left:7%;max-width:86%}.photo-story .film-copy h2{font-size:36px;letter-spacing:-1.5px}.photo-story .film-copy p{font-size:12px;max-width:310px}.photo-story .phone-wrap{top:35%;right:8%;transform:scale(.92);transform-origin:top right}.photo-story .dashboard-wrap{top:36%;left:5%;width:90%;transform:none}.team-story .success-toast{bottom:13%;left:5%;right:5%}.down-hint{left:7%;bottom:30px;font-size:11px;gap:15px}.down-hint b{width:40px;height:40px}.film-count{font-size:10px;right:6%;bottom:45px}.photo-story .dash-bottom button{font-size:10px}.photo-story .demo-note{font-size:8px}}
@media(prefers-reduced-motion:reduce){.reveal-story{height:100svh}.down-hint b{animation:none}}

#reveal-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:-2;pointer-events:none}.reveal-stage{background-image:url('assets/scene-hotel.webp')}
@media(prefers-reduced-motion:reduce){.reveal-story{height:220svh}.down-hint b{animation:none}}

/* Choreography tied to each scene's position. */
.photo-story{--enter:0}.guest-story .phone-wrap{opacity:var(--enter);transform:translate3d(0,calc((1 - var(--enter))*240px),0) rotate(calc((1 - var(--enter))*9deg)) scale(calc(.86 + var(--enter)*.14));will-change:transform,opacity;transform-origin:50% 80%}.team-story .dashboard-wrap{opacity:var(--enter);transform:translate3d(calc((1 - var(--enter))*-170px),calc((1 - var(--enter))*70px),0) rotateY(calc((1 - var(--enter))*9deg));will-change:transform,opacity}.photo-story .film-copy{transform:translateY(calc((1 - var(--enter))*45px));opacity:calc(.35 + var(--enter)*.65)}.scroll-reveal{opacity:0;transform:translateY(45px);transition:opacity .75s ease var(--delay,0ms),transform .85s cubic-bezier(.16,1,.3,1) var(--delay,0ms)}.scroll-reveal.entered{opacity:1;transform:none}.project-grid>a{transition:background .3s,transform .4s,opacity .75s}.project-grid>a.entered:hover{transform:translateY(-7px)}.project-link{transition:letter-spacing .3s}.project-grid>a:hover .project-link{letter-spacing:.5px}.founder-photo img{transition:filter .5s,transform .7s}.founder-photo{overflow:hidden}.founder-photo:hover img{filter:saturate(1);transform:scale(1.025)}.cta:hover span,.header-contact:hover span{display:inline-block;transform:translate(3px,-3px);transition:transform .25s}.solution-columns article{transition-duration:.8s}.down-hint:hover b{background:#f4d6a822}
@media(max-width:760px){.guest-story .phone-wrap{transform:translateY(calc((1 - var(--enter))*170px)) rotate(calc((1 - var(--enter))*6deg)) scale(calc(.83 + var(--enter)*.09));transform-origin:top right}.team-story .dashboard-wrap{transform:translateX(calc((1 - var(--enter))*-70px)) translateY(calc((1 - var(--enter))*45px))}.scroll-reveal{transform:translateY(28px)}}
@media(prefers-reduced-motion:reduce){.guest-story .phone-wrap,.team-story .dashboard-wrap,.photo-story .film-copy{opacity:1;transform:none}.scroll-reveal{opacity:1;transform:none}.project-grid>a.entered:hover,.founder-photo:hover img{transform:none}}

/* Pin each interface so its motion happens while the scene is fully visible. */
.photo-story{height:240svh;min-height:0;overflow:visible}.photo-stage{height:100svh;min-height:720px;position:sticky;top:0;overflow:hidden;isolation:isolate}.guest-story .phone-wrap{opacity:clamp(.08,var(--enter),1);transform:translate3d(0,calc((1 - var(--enter))*75vh),0) rotate(calc((1 - var(--enter))*14deg)) scale(calc(.75 + var(--enter)*.25))}.team-story .dashboard-wrap{opacity:clamp(.08,var(--enter),1);transform:translate3d(calc((1 - var(--enter))*-90vw),calc((1 - var(--enter))*70px),0) rotate(calc((1 - var(--enter))*-6deg))}.photo-story .film-copy{opacity:1;transform:none}.photo-story .down-hint{bottom:30px}
@media(max-width:760px){.photo-story{height:240svh;min-height:0}.photo-stage{height:100svh;min-height:740px}.photo-story .phone-wrap{top:31%;transform:translateY(calc((1 - var(--enter))*70vh)) rotate(calc((1 - var(--enter))*10deg)) scale(.80)}.photo-story .dashboard-wrap{top:34%;transform:translateX(calc((1 - var(--enter))*-100vw)) scale(.96);transform-origin:top center}.photo-story .film-copy{top:12%}.photo-story .film-copy h2{font-size:30px}.photo-story .film-copy p{font-size:11px}.team-story .success-toast{bottom:12%}}
@media(prefers-reduced-motion:reduce){.photo-story{height:110svh}.photo-stage{position:relative}.guest-story .phone-wrap,.team-story .dashboard-wrap{opacity:1;transform:none}}

#reveal-canvas{opacity:0}.reveal-stage{background-image:url('assets/scene-hotel.webp')}

.original-reveal{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:0}@media(max-width:760px){.original-reveal{object-position:57% center}}

.reveal-stage{background-image:url('assets/hotel-upscale-poster.webp')}

.monitor-panel{position:absolute;left:0;top:0;width:540px;height:440px;transform-origin:0 0;z-index:0;pointer-events:none;overflow:hidden;background:#171e19;filter:brightness(.90);backface-visibility:hidden}.monitor-panel .dashboard{box-sizing:border-box;width:540px;height:440px;padding:22px;border:0;border-radius:0;box-shadow:none;background:linear-gradient(140deg,#1c2922,#101b15);backdrop-filter:none}.monitor-panel .dashboard:after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,#a2c0e418,transparent 55%,#fff1);pointer-events:none}.monitor-panel .dash-bottom button{font-size:10px;white-space:nowrap}.monitor-panel .request-row{font-size:10px}.monitor-panel .metrics strong{font-size:25px}.monitor-panel .dash-bottom{flex-direction:row}.monitor-panel .metrics small{font-size:8px}

/* Place the third scene's continuation beside the manager. */
.team-story .down-hint{left:auto;right:6%;justify-content:flex-end;text-align:right}
@media(max-width:760px){.team-story .down-hint{left:auto;right:7%;max-width:86%}}

/* Still-image architectural reveal: sharp textures throughout the scroll. */
.sharp-scene{position:absolute;inset:0;overflow:hidden;z-index:-2}.sharp-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform;transform-origin:70% 52%}.sharp-room{clip-path:inset(52% 30% 48% 70%);will-change:clip-path,transform!important}.guest-story .story-bg{object-position:50% center}.reveal-story{height:250svh}.reveal-stage .film-shade{background:linear-gradient(90deg,#160e0899,transparent 65%),linear-gradient(0deg,#100b0977,transparent 25%)}
@media(max-width:760px){.sharp-hotel{object-position:57% center}.sharp-room{object-position:60% center}.guest-story .story-bg{object-position:60% center}.reveal-story{height:230svh}}
@media(prefers-reduced-motion:reduce){.reveal-story{height:180svh}.sharp-scene img{will-change:auto}}

.model-scene{position:absolute;inset:0;z-index:-2;background:#c49d90}.model-scene canvas{display:block;width:100%;height:100%}.model-scene.no-webgl{background:url('assets/hotel-upscale-poster.webp') center/cover}.reveal-story{height:460svh}.reveal-stage .film-shade{background:linear-gradient(90deg,#110b0855,transparent 50%),linear-gradient(0deg,#110b0877,transparent 24%)}@media(max-width:760px){.reveal-story{height:400svh}}@media(prefers-reduced-motion:reduce){.reveal-story{height:300svh}}

.webgl-note{position:absolute;right:6%;bottom:100px;max-width:260px;padding:12px 16px;border:1px solid #ffdfad44;background:#20140ccc;color:#ffead0;font-size:12px;line-height:1.6}

/* Restore the exact supplied hotel photograph. */
.exact-photo-scene{position:absolute;inset:0;z-index:-2;overflow:hidden}.exact-photo-scene img{width:100%;height:100%;object-fit:cover;object-position:50% center;transform-origin:65% 50%;will-change:transform}.reveal-story{height:160svh}.reveal-stage{background-image:url('assets/hotel-exact-photo.webp')}.reveal-stage .film-shade{background:linear-gradient(90deg,#160e0888,transparent 65%),linear-gradient(0deg,#110b0977,transparent 28%)}@media(max-width:760px){.reveal-story{height:150svh}.exact-photo-scene img{object-position:57% center}}@media(prefers-reduced-motion:reduce){.reveal-story{height:100svh}.exact-photo-scene img{transform:none!important;will-change:auto}}

/* A continuous hotel-to-guest shot, with a shared frozen final frame. */
.reveal-story{height:510svh;--intro:1;--guest-copy:0;--phone-enter:0}
.reveal-stage{height:100svh;background:#251c15 url('assets/hotel-scroll-poster-4k.webp') center/cover}
.reveal-stage .hotel-film{z-index:-2;opacity:0;object-position:50% center}.reveal-stage .hotel-film.ready{opacity:1}
.intro-copy{opacity:var(--intro);transform:translateY(calc((1 - var(--intro))*-30px));will-change:opacity,transform}
.unified-guest{position:absolute;inset:0;--enter:1}
.unified-guest .film-copy{top:27%;opacity:var(--guest-copy);transform:translateY(calc((1 - var(--guest-copy))*32px));will-change:opacity,transform}
.unified-guest .phone-wrap{position:absolute;right:9%;left:auto;top:22%;opacity:var(--phone-enter);transform:translate3d(0,calc((1 - var(--phone-enter))*62vh),0) rotate(calc((1 - var(--phone-enter))*5deg)) scale(calc(.94 + var(--phone-enter)*.06));transform-origin:top right;pointer-events:auto;will-change:transform,opacity}
.unified-guest[inert]{pointer-events:none}.intro-next{opacity:var(--intro)}
.guest-next{opacity:var(--phone-enter)}.reveal-stage .film-count{pointer-events:none}
@media(max-height:800px) and (min-width:761px){.unified-guest .phone-wrap{top:19%;transform:translate3d(0,calc((1 - var(--phone-enter))*65vh),0) scale(.86)}}
@media(max-width:760px){.reveal-story{height:470svh}.reveal-stage .hotel-film{object-position:60% center}.reveal-stage{background-position:60% center}.unified-guest .film-copy{top:13%;left:7%;max-width:86%}.unified-guest .film-copy h2{font-size:30px;letter-spacing:-1.5px;margin:14px 0}.unified-guest .film-copy p{font-size:11px;max-width:285px;line-height:1.6}.unified-guest .phone-wrap{top:36%;right:7%;transform:translate3d(0,calc((1 - var(--phone-enter))*65vh),0) scale(.77)}.unified-guest .phone-hint{font-size:8px}.guest-next{left:7%;bottom:18px}}
@media(max-width:760px) and (max-height:740px){.unified-guest .film-copy{top:12%}.unified-guest .film-copy h2{font-size:26px}.unified-guest .film-copy p{display:none}.unified-guest .phone-wrap{top:29%;transform:translate3d(0,calc((1 - var(--phone-enter))*65vh),0) scale(.68)}.guest-next{bottom:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro-copy,.unified-guest .film-copy,.unified-guest .phone-wrap{transform:none}.reveal-story{height:300svh}.down-hint b{animation:none}}

.reveal-story{--start-photo:1}.start-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% center;z-index:-2;opacity:var(--start-photo);pointer-events:none}@media(max-width:760px){.start-photo{object-position:60% center}}

/* Actual network progress, followed by the existing scroll invitation. */
.route-loader{position:absolute;left:6%;bottom:43px;width:min(330px,70vw);z-index:22;--loaded:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .35s,transform .35s,visibility .35s;pointer-events:none}
.is-loading .route-loader{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.route-loader-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:14px;font-size:12px;color:#f3dfbe;letter-spacing:.4px}
.route-loading-percent{font-size:10px;font-variant-numeric:tabular-nums;color:#d9bc8b}
.route-loading-track{height:2px;background:#f1d4a833;overflow:hidden}.route-loading-track>span{display:block;height:100%;background:#ebc78c;transform:scaleX(var(--loaded));transform-origin:left;transition:transform .15s linear;box-shadow:0 0 12px #e8bf7b88}
.route-loading-retry{margin-top:15px;background:none;border-bottom:1px solid #d9bc8b;padding:7px 0;font-size:11px;color:#f3dfbe}.route-loading-retry[hidden]{display:none}
.intro-next{transition:opacity .35s}.is-loading .intro-next,.is-loading .film-progress,.is-loading .film-count{opacity:0!important;pointer-events:none}
@media(max-width:760px){.route-loader{left:7%;bottom:43px;width:min(290px,86vw)}.route-loader-heading{font-size:11px}}
@media(prefers-reduced-motion:reduce){.route-loader,.route-loading-track>span,.intro-next{transition:none}}
