@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--paper:#f8f5ef;--ink:#302e29;--muted:#77736c;--gold:#a6844f;--line:#ded7ca;--serif:'Playfair Display',Georgia,serif;--sans:'Be Vietnam Pro',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.icon-library{position:absolute;width:0;height:0;overflow:hidden}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.skip-link{position:fixed;top:-80px;left:20px;padding:15px;background:white;z-index:20}.skip-link:focus{top:15px}.header{max-width:1440px;margin:auto;height:106px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;position:relative;border-bottom:1px solid #e8e2d8}.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{font-family:Georgia,serif;font-size:54px;line-height:1;color:var(--gold);position:relative;padding-right:4px;font-style:italic}.brand-mark>span{font-size:19px;position:absolute;right:-3px;top:1px}.brand-name{font-size:24px;font-weight:600;letter-spacing:-1px;line-height:1.15}.brand-name small{display:block;margin-top:7px;letter-spacing:4px;font-size:8px;font-weight:400}.desktop-nav{display:flex;gap:37px;font-size:11px;color:#68665f}.desktop-nav a{padding:16px 0;transition:color .2s}.desktop-nav a:hover{color:var(--gold)}.header-cta{display:flex;align-items:center;gap:18px;font-size:11px;padding:13px 19px;border:1px solid #c4b597;border-radius:3px;transition:background .2s}.header-cta:hover{background:#eee6d8}.header-cta svg{width:17px;height:17px}.menu-toggle,.mobile-nav{display:none}.hero{max-width:1440px;margin:auto;padding-top:40px;overflow:hidden}.hero-copy{text-align:center;position:relative;z-index:2}.launch-badge{display:inline-flex;align-items:center;gap:9px;font-size:9px;font-weight:500;letter-spacing:2px;color:#8e774e;margin:0}.launch-badge>span{height:5px;width:5px;border-radius:50%;background:#a88a51;box-shadow:0 0 0 4px #b1935b12}h1{font-family:var(--serif);font-weight:400;font-size:clamp(43px,4.5vw,66px);line-height:1.2;letter-spacing:-1.9px;margin:20px 0 18px}h1 em,h2 em{font-weight:400;color:var(--gold)}.hero-description{color:var(--muted);font-size:11px;line-height:1.95;font-weight:300;margin:0}.reveal-stage{position:relative;max-width:1080px;height:555px;margin:-7px auto 0}.hotel-hero{width:850px;height:auto;position:absolute;left:50%;top:0;transform:translateX(-50%);mix-blend-mode:multiply;mask-image:linear-gradient(to bottom,transparent,#000 13%,#000 85%,transparent),linear-gradient(to right,transparent,#000 15%,#000 85%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 13%,#000 85%,transparent),linear-gradient(to right,transparent,#000 15%,#000 85%,transparent);-webkit-mask-composite:source-in;pointer-events:none}.orbit{position:absolute;left:8%;top:120px;width:84%;height:335px;border:1px dashed #b39d7933;border-radius:50%;transform:rotate(-13deg)}.orbit-two{left:20%;width:60%;height:430px;top:30px;transform:rotate(55deg);opacity:.6}.star{position:absolute;color:#b59866;font-size:22px}.star-one{top:83px;right:220px}.star-two{bottom:68px;left:65px;font-size:30px}.service-float{border:1px solid #fff9;border-radius:10px;background:#fffcf7eb;padding:15px;width:218px;position:absolute;z-index:3;box-shadow:0 14px 45px #75614414,0 1px 2px #7561440a;text-align:left;backdrop-filter:blur(14px);animation:float 7s ease-in-out infinite;transition:box-shadow .25s,border-color .25s}.service-float:hover{box-shadow:0 16px 45px #7561442a;border-color:#cdb993;animation-play-state:paused}.pms-float{left:8px;top:83px;transform:rotate(-5deg)}.wifi-float{right:6px;top:65px;animation-delay:-2s;transform:rotate(5deg)}.iptv-float{right:63px;bottom:21px;animation-delay:-4s;transform:rotate(3deg);width:227px}.float-title{display:flex;align-items:center;gap:9px}.service-icon{background:#eee7da;width:33px;height:33px;display:flex;align-items:center;justify-content:center;border-radius:7px;color:#a4844b;flex-shrink:0}.service-icon svg{width:20px;height:20px}.float-title strong{display:block;font-size:11px;font-weight:500;white-space:nowrap}.float-title small{display:block;font-size:8px;color:#8d887d;margin-top:4px;font-weight:300}.float-arrow{margin-left:auto;color:#a7a092;font-size:15px}.connection-note{position:absolute;bottom:85px;left:60px;display:flex;gap:10px;align-items:center;transform:rotate(-4deg)}.connection-note>span{width:40px;height:40px;border:1px solid #d7cab2;background:#f7f2e8bb;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#ab8a55}.connection-note svg{width:19px}.connection-note p{font-size:9px;line-height:1.7;color:#968b77}.connection-note strong{font-weight:400;color:#6b604c}.stage-caption{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);font-size:6px;letter-spacing:1.5px;color:#9c927f;white-space:nowrap}.hero-bottom{margin:10px 5.5% 0;padding:21px 0 25px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.coming-soon{font-size:9px;letter-spacing:2px;display:flex;align-items:center;gap:8px}.coming-soon i{width:5px;height:5px;background:#ad8d55;border-radius:50%;animation:pulse 3s infinite}.explore-link{font-size:9px;color:#8b8270;display:flex;gap:16px;align-items:center}.explore-link span{font-size:16px;transition:transform .2s}.explore-link:hover span{transform:translateY(4px)}.crafted{font-size:7px;letter-spacing:1.6px;color:#9d9588}.section-wrap{max-width:1440px;margin:auto;padding:100px 8%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.eyebrow{color:#a08452;font-size:9px;font-weight:500;letter-spacing:2.4px;margin:0 0 20px}h2{font-family:var(--serif);font-size:41px;line-height:1.3;letter-spacing:-.8px;font-weight:400;margin:0}.section-heading>p{font-size:10px;color:var(--muted);line-height:2;margin-bottom:6px;font-weight:300}.service-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-item{background:none;border:0;text-align:left;padding:29px 30px 30px;position:relative;transition:background .25s}.service-item:first-child{padding-left:0}.service-item:last-child{padding-right:0}.service-item+.service-item{border-left:1px solid var(--line)}.service-item:hover{background:#eee7db70}.service-number{display:block;color:#9d927f;font-size:7px;letter-spacing:1.5px}.large-icon{display:block;margin:30px 0 16px;color:var(--gold)}.large-icon svg{width:30px;height:30px;stroke-width:1.2}.service-item h3{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:-.5px;margin:0 0 12px}.service-item p{font-size:10px;color:var(--muted);line-height:1.9;font-weight:300;margin:0}.service-more{display:flex;align-items:center;gap:15px;margin-top:26px;font-size:8px;color:#8b744e}.service-more svg{width:15px;height:15px;transition:transform .2s}.service-item:hover .service-more svg{transform:translateX(5px)}.preview-note{font-size:8px;color:#9b9488;margin-top:20px;text-align:center;font-weight:300}.vision{text-align:center;position:relative;background:#eee7db;padding-top:65px;padding-bottom:65px;overflow:hidden}.vision:before,.vision:after{content:'';position:absolute;width:540px;height:540px;border:1px solid #d1c5ae60;border-radius:50%;left:-400px;top:60px;pointer-events:none}.vision:after{left:auto;right:-400px;top:-130px}.vision-symbol{font-family:Georgia,serif;font-size:40px;color:#b4996a;display:block;margin-bottom:20px}.vision h2{font-size:43px}.vision>p:not(.eyebrow){font-size:11px;font-weight:300;line-height:2;color:#837969;margin-top:24px}.vision-divider{height:35px;width:1px;margin:30px auto;background:#cabc9e}.vision .launch-badge{font-size:8px;letter-spacing:1.7px}.vision>p.launch-note{font-size:10px;margin-top:16px}.back-top{display:inline-flex;gap:25px;align-items:center;font-size:9px;border-bottom:1px solid #bcab89;padding:8px 0;color:#806b47;margin-top:12px}.back-top span{font-size:15px}.footer{max-width:1440px;margin:auto;padding:35px 5.5%;display:flex;align-items:center;justify-content:space-between}.footer .brand-mark{font-size:42px}.footer .brand-mark>span{font-size:14px}.footer .brand-name{font-size:19px}.footer .brand-name small{font-size:6px;letter-spacing:3px;margin-top:5px}.footer>span{font-size:9px;color:#8c8273}.footer>span i{font-style:normal;padding:0 9px;color:#b39c77}.footer>small{font-size:8px;color:#9c9384}.service-dialog{border:1px solid #dacfb9;background:var(--paper);color:var(--ink);border-radius:12px;width:min(500px,calc(100% - 32px));padding:48px;box-shadow:0 25px 100px #30281725;max-height:calc(100dvh - 40px);overflow-y:auto}.service-dialog::backdrop{background:#322b2255;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:15px;top:15px;width:40px;height:40px;border:0;background:transparent;display:grid;place-items:center;color:#8f826d}.dialog-icon{display:grid;place-items:center;width:62px;height:62px;border:1px solid #dacdaf;border-radius:14px;color:var(--gold);margin:30px 0 22px}.dialog-icon svg{width:32px;height:32px;stroke-width:1.2}.service-dialog h2{font-size:35px}.dialog-tagline{font-family:var(--serif);font-size:22px;color:var(--gold);line-height:1.5}.dialog-description{font-size:12px;font-weight:300;line-height:2;color:#797264}.dialog-status{margin-top:28px;display:flex;align-items:center;gap:8px;font-size:9px;color:#927947}.dialog-status span{width:5px;height:5px;background:#b89a5c;border-radius:50%}.dialog-footnote{font-size:9px;color:#9e9481;margin:13px 0 28px}.dialog-next{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 0 0;background:transparent;border:0;border-top:1px solid var(--line);font-size:10px;color:#8c734b}.dialog-next svg{width:18px;height:18px}body.dialog-open{overflow:hidden}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -9px}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media(min-width:1600px){.header{height:115px}.hero{padding-top:48px}.reveal-stage{height:590px;max-width:1160px}.hotel-hero{width:900px}.pms-float{top:100px;left:20px}.wifi-float{top:95px;right:20px}.iptv-float{right:90px;bottom:30px}}
@media(max-width:1000px){.desktop-nav{gap:20px}.header{padding:0 4%;height:90px}.brand-name{font-size:21px}.reveal-stage{max-width:870px;height:500px}.hotel-hero{width:750px}.service-float{width:185px;padding:12px}.pms-float{left:25px;top:80px}.wifi-float{right:25px;top:75px}.iptv-float{width:195px;right:55px;bottom:10px}.float-title strong{font-size:10px}.service-icon{width:28px;height:28px}.float-title small{font-size:7px}.connection-note{left:40px;bottom:55px}.section-wrap{padding:75px 6%}.section-heading>p{max-width:280px;font-size:9px}.section-heading>p br{display:none}.section-heading h2{font-size:36px}.crafted{display:none}.hero-bottom .explore-link{margin-left:auto}.hero-bottom{gap:30px}.service-item{padding-left:23px;padding-right:23px}}
@media(max-width:640px){html{scroll-padding-top:20px}.header{height:81px;padding:0 6%;margin:0 12px}.brand-mark{font-size:43px}.brand-mark>span{font-size:15px}.brand-name{font-size:21px}.brand-name small{font-size:6px;letter-spacing:3.5px;margin-top:6px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:10px;background:transparent;border:1px solid #d4c8b2;border-radius:50%;width:40px;height:40px}.menu-toggle span{height:1px;background:#8f7d5c;display:block;width:18px}.mobile-nav:not([hidden]){display:flex;position:absolute;left:0;right:0;top:80px;flex-direction:column;z-index:10;background:var(--paper);padding:15px 22px;box-shadow:0 15px 25px #5b4a3112;border-bottom:1px solid var(--line)}.mobile-nav a{padding:16px 0;font-size:12px}.hero{padding-top:32px}.launch-badge{font-size:7px;letter-spacing:1.5px}h1{font-size:39px;line-height:1.25;letter-spacing:-1.5px;margin:20px 0 16px}.hero-description{font-size:10px;line-height:1.9;padding:0 20px}.reveal-stage{height:430px;margin:8px auto 0;max-width:480px}.hotel-hero{width:540px;top:32px}.service-float{padding:10px;width:144px;border-radius:8px}.pms-float{left:18px;top:37px;transform:rotate(-5deg)}.wifi-float{right:18px;top:11px;transform:rotate(5deg)}.iptv-float{width:159px;right:22px;bottom:15px;transform:rotate(4deg)}.float-title{gap:6px}.service-icon{width:25px;height:25px;border-radius:5px}.service-icon svg{width:16px;height:16px}.float-title strong{font-size:8px}.float-title small{font-size:6px;margin-top:3px}.float-arrow{font-size:11px}.connection-note{left:22px;bottom:50px;gap:7px}.connection-note>span{width:30px;height:30px}.connection-note svg{width:15px}.connection-note p{font-size:7px}.orbit-one{left:-10%;top:120px;width:120%;height:240px}.orbit-two{top:60px;height:300px;width:65%;left:18%}.star-one{top:15px;right:185px;font-size:16px}.star-two{left:13px;bottom:140px;font-size:20px}.stage-caption{bottom:0;font-size:4.5px;letter-spacing:1px;left:35%}.hero-bottom{margin:10px 6% 0;padding:20px 0;gap:10px;align-items:center}.coming-soon{font-size:7px;letter-spacing:1.5px;white-space:nowrap}.explore-link{font-size:7px;gap:8px;max-width:165px;line-height:1.7;text-align:right}.explore-link span{font-size:17px}.section-wrap{padding:60px 7%}.section-heading{display:block}.section-heading h2{font-size:32px}.eyebrow{font-size:7px;letter-spacing:2px;margin-bottom:16px}.section-heading>p{margin:20px 0 0;font-size:10px;max-width:100%;line-height:1.9}.service-list{grid-template-columns:1fr;margin-top:28px}.service-item,.service-item:first-child,.service-item:last-child{padding:25px 0 25px 60px;min-height:175px}.service-item+.service-item{border-left:0;border-top:1px solid var(--line)}.large-icon{position:absolute;left:0;top:58px;margin:0}.large-icon svg{width:27px;height:27px}.service-number{font-size:6px}.service-item h3{font-size:25px;margin:11px 0 8px}.service-item p{font-size:10px}.service-item p br{display:none}.service-more{font-size:8px;margin-top:18px;gap:20px}.preview-note{font-size:7px;line-height:1.9;max-width:270px;margin:18px auto 0}.vision{padding:50px 7%}.vision h2{font-size:30px;letter-spacing:-.7px}.vision>p:not(.eyebrow){font-size:10px;line-height:1.9}.vision>p:not(.eyebrow) br{display:none}.vision .launch-badge{font-size:6px;letter-spacing:1px}.vision-symbol{font-size:33px}.vision-divider{margin:25px auto;height:28px}.vision>p.launch-note{font-size:9px;max-width:260px;margin:16px auto}.back-top{font-size:8px}.footer{padding:30px 7%;flex-wrap:wrap;gap:24px;justify-content:space-between}.footer .brand-name{font-size:17px}.footer .brand-mark{font-size:38px}.footer>span{font-size:7px;max-width:135px;line-height:2;text-align:right}.footer>span i{padding:0 4px}.footer>small{width:100%;font-size:7px;padding-top:18px;border-top:1px solid var(--line);text-align:center}.service-dialog{padding:34px 27px}.service-dialog h2{font-size:30px}.dialog-tagline{font-size:20px}.dialog-description{font-size:11px}.dialog-footnote{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Service storyboards share their markup with the interactive dialog previews. */
.brand-name small{letter-spacing:1.4px;font-size:6px}
.footer .brand-name small{letter-spacing:1px;font-size:5px}
.pms-float{width:244px;top:64px}
.wifi-float{width:240px;top:-55px}
.iptv-float{width:258px;right:30px;bottom:10px}
.service-float .float-title strong{font-size:10px}
.service-preview{display:block;position:relative;margin-top:12px;padding-top:12px;border-top:1px solid #e7dfd1;font-size:10px;line-height:1.5}
.mini-top{display:flex;align-items:center;justify-content:space-between;font-size:.8em;color:#736b5d}
.full-badge{font-size:.8em;color:#98612f;background:#f4e4c9;padding:2px 6px;border-radius:20px}
.occupancy{display:flex;align-items:center;gap:12px;margin-top:7px;color:#9a773b}
.occupancy>strong{font-size:2.8em;line-height:1.2;letter-spacing:-1px;font-weight:500}
.occupancy>strong small{font-size:.48em;letter-spacing:0}
.occupancy>span{font-size:.75em;line-height:1.5;color:#91816a}
.occupancy-bar{display:block;height:3px;margin-top:7px;border-radius:5px;background:#b99a61}
.room-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:9px 0}
.room-grid i{display:grid;place-items:center;height:19px;background:#e7d2ad;border:1px solid #dac397;border-radius:3px;color:#927445;font-size:.65em;font-style:normal}
.queue-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e7dfd1;padding-top:8px;font-size:.8em;color:#736b5d}
.queue-heading b{font-size:.9em;font-weight:500;color:#9a773b}
.booking-row{display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:.7em;margin-top:5px;color:#827866}
.booking-row>span{display:flex;align-items:center;gap:4px}
.booking-row i{width:4px;height:4px;background:#b69b6b;border-radius:50%}
.booking-row small{font-size:.85em;color:#9c927f}
.queue-more{display:block;font-size:.66em;color:#a18350;margin-top:6px}
.demo-label{display:block;font-size:.6em;letter-spacing:.15px;color:#a09786;margin-top:9px;text-align:center;font-weight:300}
.wifi-connection,.arrival-step{display:flex;align-items:center;gap:8px;text-align:left;position:relative}
.wifi-rings{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#efe7d7;color:#a68b56}
.wifi-rings svg{width:20px;height:20px}
.wifi-connection b,.arrival-step b{display:block;font-size:.85em;font-weight:500;color:#74664e}
.wifi-connection small,.arrival-step small{display:block;font-size:.65em;color:#9c8e76;margin-top:2px}
.click-pointer{position:absolute;right:1px;bottom:-3px;color:#a0824f;animation:tap 2.8s ease-in-out infinite}
.click-pointer svg{width:17px;height:17px;fill:#fffaf0;stroke-width:1.5}
.click-pointer:before{content:'';position:absolute;width:14px;height:14px;border:1px solid #bea36f;border-radius:50%;left:-6px;top:-6px;animation:tap-ring 2.8s ease-out infinite}
.flow-arrow{display:flex;align-items:center;justify-content:center;gap:5px;color:#b69b67;font-size:1.15em;margin:6px 0}
.flow-arrow>span{font-size:.6em;color:#9c8d71}
.hotel-ad{display:flex;min-height:103px;position:relative;border-radius:5px;overflow:hidden;background-image:linear-gradient(0deg,#322918e8,#443b2925),url('assets/marina-hotel-reference.png');background-size:cover,150% auto;background-position:center,85% 92%;text-align:left}
.ad-copy{display:flex;flex-direction:column;justify-content:flex-end;width:100%;padding:10px 11px;color:#fffbf2}
.ad-copy>small{font-size:.5em;letter-spacing:1px;color:#ead7b3}
.ad-copy>b{font-family:var(--serif);font-size:1.7em;font-weight:400;line-height:1.4}
.ad-copy>span:not(.mini-connect){font-size:.65em;color:#ece3d0}
.mini-connect{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:5px 7px;margin-top:8px;background:#f7edda;color:#77603a;border-radius:2px;font-size:.6em}
.wifi-idle{display:none;min-height:103px;border:1px dashed #d9cbae;border-radius:5px;background:#f3eee3;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#ad915d}
.wifi-idle>b{font-family:var(--serif);font-size:1.4em;font-weight:400}
.wifi-idle>span{font-size:.65em;color:#9a8a6d}
.guest-arrival{width:36px;height:36px;flex-shrink:0;stroke-width:1.4;color:#a38a58}
.arrival-check{margin-left:auto;color:#a88e57;font-size:1.2em}
.tv-preview{display:block;height:107px;position:relative;border:4px solid #46443a;border-bottom-width:6px;border-radius:5px;background:radial-gradient(ellipse at 82% 12%,#e7d6ac77,transparent 50%),linear-gradient(120deg,#3b5047,#6e7e68 60%,#b7a17a);box-shadow:0 3px 0 -1px #beb39b;text-align:left;overflow:hidden}
.tv-caption{display:flex;position:absolute;inset:0;flex-direction:column;justify-content:center;padding:12px;color:#fff9e9}
.tv-caption>small{font-size:.5em;letter-spacing:.8px;color:#e2d5b4}
.tv-caption>b{font-family:var(--serif);font-size:1.6em;line-height:1.4;font-weight:400;margin-top:3px}
.tv-caption>span{font-size:.58em;color:#e9e2ce;margin-top:5px}
.tv-standby{display:none;position:absolute;inset:0;align-items:center;justify-content:center;font-size:.85em;color:#aca89b;padding:15px;text-align:center;background:#353831}
.dialog-preview{padding:14px;background:#fffaf3;border:1px solid #e7dfd1;border-radius:8px;margin:16px 0 12px}
.dialog-preview .service-preview{margin:0;padding:0;border:0;font-size:14px}
.dialog-preview .room-grid i{height:27px}
.dialog-preview .hotel-ad,.dialog-preview .wifi-idle{min-height:140px}
.dialog-preview .ad-copy{padding:17px}
.dialog-preview .tv-preview{height:145px}
.dialog-preview .tv-caption{padding:20px}
.dialog-preview .guest-arrival{height:48px;width:48px}
.dialog-preview .wifi-rings{height:45px;width:45px}
.dialog-preview .flow-arrow{margin:10px 0}
.dialog-preview .click-pointer{right:10px;bottom:0}
.dialog-preview .wifi-preview:not(.is-active) .hotel-ad{display:none}
.dialog-preview .wifi-preview:not(.is-active) .wifi-idle{display:flex}
.dialog-preview .arrival-preview:not(.is-active) .tv-standby{display:flex}
.dialog-preview .arrival-preview:not(.is-active) .tv-caption{visibility:hidden}
.dialog-preview .arrival-preview:not(.is-active) .arrival-check{visibility:hidden}
.dialog-preview .is-active .hotel-ad,.dialog-preview .is-active .tv-caption{animation:scene-appear .45s ease-out both}
.dialog-preview .is-active .guest-arrival{animation:guest-step .5s ease-out both}
.demo-action-button{display:block;background:#ac8c56;color:#fffaf0;border:0;border-radius:4px;padding:13px 16px;width:100%;font-size:11px;transition:background .2s}
.demo-action-button:hover{background:#967743}
.demo-action-button[hidden]{display:none}
.demo-announcement{font-size:9px;color:#8d7b59;line-height:1.8;min-height:0;margin:10px 0 0}
.demo-announcement:empty{display:none}
.service-dialog{padding:28px 34px;width:min(540px,calc(100% - 32px))}
.service-dialog .dialog-icon{display:none}
.service-dialog .eyebrow{margin-bottom:12px}
.service-dialog .dialog-icon svg{width:26px;height:26px}
.service-dialog h2{font-size:31px}
.dialog-tagline{font-size:19px;margin:10px 0}
.dialog-description{font-size:10px;line-height:1.8}
.dialog-status{margin-top:16px}
.dialog-footnote{margin:10px 0 16px}
.service-item h3{font-size:23px}
@keyframes tap{0%,40%,100%{transform:translate(2px,2px)}50%,65%{transform:translate(-2px,-2px)}}
@keyframes tap-ring{0%,40%,75%,100%{opacity:0;transform:scale(.7)}50%{opacity:1;transform:scale(.7)}65%{opacity:0;transform:scale(1.8)}}
@keyframes scene-appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes guest-step{from{transform:translateX(-5px)}to{transform:translateX(0)}}
@media(max-width:1000px){
  .pms-float{width:205px;left:22px;top:55px}
  .wifi-float{width:205px;right:22px;top:-50px}
  .iptv-float{width:220px;right:35px;bottom:0}
  .service-preview{font-size:9px}
  .hotel-ad{min-height:93px}
  .tv-preview{height:95px}
  .connection-note{left:35px;bottom:45px}
}
@media(max-width:640px){
  .brand-name small{font-size:5px;letter-spacing:1px}
  .reveal-stage{height:485px}
  .hotel-hero{top:65px}
  .service-float .float-title strong{font-size:7px;white-space:normal}
  .service-float .float-title small{font-size:5.5px}
  .pms-float{width:43%;left:3%;top:14px;transform:rotate(-3deg)}
  .wifi-float{width:43%;right:3%;top:17px;transform:rotate(3deg)}
  .iptv-float{width:51%;right:5%;bottom:16px;transform:rotate(3deg)}
  .service-preview{font-size:7.5px;margin-top:9px;padding-top:9px}
  .mini-top{font-size:.85em}
  .full-badge{padding:2px 4px;font-size:.7em}
  .occupancy{gap:6px;margin-top:5px}
  .occupancy>strong{font-size:2.5em}
  .occupancy>span{font-size:.7em}
  .occupancy-bar{margin-top:5px;height:2px}
  .room-grid{gap:3px;margin:6px 0}
  .room-grid i{height:14px;font-size:.65em}
  .queue-heading{padding-top:6px}
  .booking-row{gap:3px;margin-top:4px;font-size:.67em}
  .booking-row>span{gap:3px}
  .queue-more{font-size:.6em;margin-top:4px}
  .demo-label{margin-top:6px;font-size:.55em}
  .wifi-rings{width:23px;height:23px}
  .wifi-rings svg{width:15px;height:15px}
  .wifi-connection,.arrival-step{gap:5px}
  .click-pointer{right:-2px;bottom:-7px}
  .click-pointer svg{width:13px;height:13px}
  .click-pointer:before{height:10px;width:10px;left:-4px;top:-4px}
  .flow-arrow{margin:5px 0}
  .flow-arrow>span{font-size:.58em}
  .hotel-ad{min-height:84px}
  .ad-copy{padding:7px}
  .ad-copy>small{font-size:.48em;letter-spacing:.5px}
  .ad-copy>b{font-size:1.65em}
  .ad-copy>span:not(.mini-connect){font-size:.58em}
  .mini-connect{font-size:.58em;margin-top:5px;padding:4px 5px}
  .guest-arrival{height:28px;width:28px}
  .tv-preview{height:85px;border-width:3px;border-bottom-width:5px}
  .tv-caption{padding:8px}
  .tv-caption>small{font-size:.45em;letter-spacing:.5px}
  .tv-caption>b{font-size:1.65em}
  .tv-caption>span{font-size:.55em;margin-top:4px}
  .connection-note{left:20px;bottom:67px;gap:5px}
  .connection-note p{font-size:6px}
  .stage-caption{left:30%;font-size:4px;bottom:9px}
  .service-item h3{font-size:24px}
  .service-dialog{padding:30px 22px}
  .service-dialog h2{font-size:28px}
  .dialog-preview{padding:13px;margin-top:18px}
  .dialog-preview .service-preview{font-size:12px}
  .dialog-preview .mini-top{font-size:.85em}
  .dialog-preview .room-grid i{height:24px;font-size:.8em}
  .dialog-preview .occupancy>span{font-size:.85em}
  .dialog-preview .queue-more,.dialog-preview .booking-row{font-size:.8em}
  .dialog-preview .demo-label{font-size:.7em}
  .dialog-preview .wifi-connection b,.dialog-preview .arrival-step b{font-size:.85em}
  .dialog-preview .wifi-connection small,.dialog-preview .arrival-step small{font-size:.7em}
  .dialog-preview .flow-arrow>span{font-size:.65em}
  .dialog-preview .ad-copy>small,.dialog-preview .tv-caption>small{font-size:.6em}
  .dialog-preview .ad-copy>span:not(.mini-connect),.dialog-preview .tv-caption>span{font-size:.7em}
  .dialog-preview .mini-connect{font-size:.75em;padding:7px 9px}
}
.vision-symbol svg{width:1em;height:1em;stroke-width:1.1;display:block;margin:0 auto}.float-arrow svg{width:1em;height:1em;display:block;stroke-width:1.6}
