:root{--cyan:#8bffef;--ice:#e7fffa;--line:#c7fff344;--muted:#aac5d0}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#031d30;color:var(--ice);font-family:Manrope,Arial}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:3px solid white;outline-offset:7px}.bg{position:fixed;inset:-5%;background:linear-gradient(90deg,#031d30ee,#031d3070),url('assets/ocean.png') center/cover;animation:drift 24s ease-in-out infinite alternate}.water{position:fixed;inset:0;background:linear-gradient(0deg,#031d30,transparent 45%);pointer-events:none}canvas{position:fixed;inset:0;pointer-events:none}header{position:fixed;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:27px 4%;border-bottom:1px solid var(--line);z-index:20}.brand{display:flex;align-items:center;gap:18px}.brand img{width:90px;height:52px;object-fit:contain}.brand b{font:600 14px/1.5 Space Grotesk,Arial,sans-serif;letter-spacing:2px}.micro{font:11px Space Grotesk,Arial,sans-serif;letter-spacing:2px;text-transform:uppercase}.header-right{display:flex;gap:35px;align-items:center}.top-book{border:1px solid #8bffef88;background:#8bffef12;padding:14px 30px;border-radius:40px;font-weight:700}.scene{position:absolute;inset:0}.intro{position:absolute;top:20%;left:7%;z-index:5}.intro .micro{color:var(--cyan)}.intro h1{font:400 25px Space Grotesk,Arial,sans-serif;margin:14px 0 28px;color:#d5e7eb;letter-spacing:-.5px}.tour-list{display:flex;flex-direction:column;align-items:start;gap:13px}.tour{border:none;background:none;padding:7px 0;text-align:left;color:#91b1c0;display:flex;align-items:center;gap:20px;transition:color .6s,transform .7s;font:500 79px/1.04 Space Grotesk,Arial,sans-serif;letter-spacing:-4px}.tour span{font-size:30px;opacity:0;transform:translateX(-15px);transition:.6s}.tour.active{color:var(--ice);transform:translateX(9px)}.tour.active span{opacity:1;transform:none;color:var(--cyan)}.tour.active:before{box-shadow:0 0 25px var(--cyan)}.activity{color:var(--muted);font-size:15px;margin:20px 0 0;height:22px}.book{display:flex;align-items:center;justify-content:space-between;gap:70px;border:none;background:var(--cyan);color:#07343d;font-size:20px;font-weight:800;padding:20px 30px;border-radius:45px;box-shadow:0 0 45px #8bffef20;margin-top:24px;min-width:275px}.book span{font-size:28px;font-weight:400}.hint{font-size:11px;color:var(--muted);margin-top:18px}.portal{position:absolute;width:53%;height:57%;right:5%;top:25%;perspective:1000px;z-index:4;transition:width 1.2s,height 1.2s,top 1.2s,right 1.2s}.rim{position:absolute;inset:-24px 5%;border:1px solid #8bffef44;border-radius:50%;transform:rotate(-10deg);box-shadow:0 0 70px #8bffef12}.rim:after{content:'';position:absolute;inset:-16px;border:1px dashed #8bffef33;border-radius:50%;animation:spin 90s linear infinite}.shell{position:absolute;inset:0;overflow:hidden;border-radius:49% 49% 45% 45%;transform:rotate(-3deg);border:1px solid #8bffef66;box-shadow:0 0 65px #119faf44;transition:border-radius 1.3s,transform 1.3s}.shell video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:rotate(3deg) scale(1.07);opacity:0;transition:opacity .85s,transform 5s}.shell video.on{opacity:1;transform:rotate(3deg) scale(1.17)}.shell:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#00162e99,transparent 40%);pointer-events:none}.portal-label{position:absolute;left:12%;bottom:12%;z-index:3;font:500 18px Space Grotesk,Arial,sans-serif;letter-spacing:2px}.look{position:absolute;right:10%;bottom:11%;border:1px solid #e7fffaaa;border-radius:35px;background:#07344477;backdrop-filter:blur(12px);padding:13px 22px;font-size:13px;z-index:3}.orbit-tag{position:absolute;right:4%;top:1%;border:1px solid #8bffef66;border-radius:30px;background:#093747bb;backdrop-filter:blur(20px);padding:13px 20px;font:10px Space Grotesk,Arial,sans-serif;letter-spacing:2px}.orbit-tag:before{content:'●';color:var(--cyan);margin-right:8px}.portal.pulse .rim{animation:pulse 1s}.immersed .portal{width:100%;height:100%;right:0;top:0;z-index:40}.immersed .shell{border-radius:0;transform:none}.immersed .shell video{transform:scale(1.02)}.immersed .rim{opacity:0}.immersed header,.immersed .intro{opacity:0;pointer-events:none}.immersed .orbit-tag{top:6%;right:5%}.immersed .portal-label{left:6%;bottom:9%;font-size:30px}.immersed .look{right:6%;bottom:9%}.immersed .portal:after{content:'';position:absolute;top:5%;left:5%;width:100px;height:65px;background:url(assets/logo.png) center/contain no-repeat;z-index:3}
html,body{height:auto;overflow-x:clip;overflow-y:auto}a{color:var(--cyan)}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid white;outline-offset:4px}header{position:relative}.scene{position:relative;min-height:740px;height:calc(100svh - 108px)}.intro{top:10%}.portal{top:18%}.shell{background:url(assets/sea.jpg) center/cover}.shell video{display:none}.shell video.on{display:block}.preview{font-size:11px;letter-spacing:1px;color:var(--muted)}.motion{border:1px solid var(--line);border-radius:30px;padding:12px 18px;background:#073444;min-height:44px}.details{position:relative;padding:80px 7% 100px;background:#031d30}.details h2{font:500 38px 'Space Grotesk',Arial}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.detail-grid article{border-top:1px solid var(--line);padding-top:25px}.detail-grid h3{font:500 27px 'Space Grotesk',Arial}.detail-grid p{color:var(--muted);line-height:1.7}.skip{position:absolute;top:-100px;z-index:100;background:#031d30;padding:20px}.skip:focus{top:0}@keyframes drift{to{transform:scale(1.06) translateY(1%)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:800px){header{padding:15px 6%;height:86px}.brand{gap:10px}.brand img{width:62px}.brand b{font-size:9px;letter-spacing:1px}.header-right{gap:0}.header-right .micro,.top-book{display:none}.motion{font-size:10px;padding:10px}.scene{height:calc(100svh - 86px);min-height:554px}.intro{top:24px;left:6%;right:6%;text-align:center}.intro .micro{font-size:9px;letter-spacing:3px}.intro h1{font-size:27px;margin:12px 0 20px}.tour-list{flex-direction:row;justify-content:space-between;gap:8px}.tour{justify-content:center;font-size:20px;font-weight:600;letter-spacing:-.8px;padding:14px 8px;border:1px solid #8bffef33;border-radius:30px;flex:1;background:#08344999}.tour span{display:none}.tour.active{transform:none;color:var(--cyan);border-color:var(--cyan);background:#8bffef19;box-shadow:0 0 28px #8bffef18}.activity{font-size:14px;margin-top:16px}.intro .book{position:fixed;bottom:33px;left:6%;width:88%;font-size:20px;padding:16px 27px;margin:0;min-height:58px;z-index:25}.hint{font-size:10px;margin-top:12px}.portal{top:39%;height:37%;width:86%;right:7%}.portal-label{left:10%;bottom:15%;font-size:15px;letter-spacing:1px}.look{right:7%;bottom:12%;min-height:44px;padding:12px 15px;font-size:11px}.orbit-tag{right:4%;top:-6%;font-size:8px}.rim{inset:-14px 5%}.rim:after{inset:-11px}.preview{position:fixed;bottom:7px;left:0;width:100%;text-align:center;font-size:8px;z-index:24}.detail-grid{grid-template-columns:1fr;gap:20px}.details{padding:35px 6% 145px}.details h2{font-size:31px}.bg{inset:0}.scene .intro{z-index:6}.portal{z-index:7}.intro .book{z-index:25}}
@media(max-width:800px) and (max-height:720px){.intro{top:14px}.intro h1{margin:9px 0 13px}.activity{margin-top:10px}.hint{margin-top:8px}.portal{top:42%;height:32%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.immersed{overflow:hidden}.immersed .scene .portal{position:fixed;inset:0;width:100%;height:100svh;z-index:40}.immersed .portal-label{left:6%;bottom:13%;font-size:30px}.immersed .look{right:6%;bottom:7%}.immersed .orbit-tag{top:7%}.immersed .preview{visibility:hidden}

.booking-open{overflow:hidden}dialog{width:min(620px,94vw);max-height:90svh;padding:36px;border:1px solid #8bffef77;border-radius:28px;background:#062638;color:var(--ice);box-shadow:0 0 140px #8bffef18}dialog::backdrop{background:#011a2baa;backdrop-filter:blur(18px)}dialog h2{font:500 44px 'Space Grotesk',Arial;margin:18px 0}dialog p{line-height:1.7;color:var(--muted)}dialog .book{min-width:0;gap:10px;font-size:17px;text-decoration:none}#close-booking{display:block;margin-left:auto}@media(max-width:800px){dialog{padding:24px}dialog h2{font-size:34px}}

.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;transition:none!important}

/* Private staging booking panel, preserving the approved navy/cyan split layout. */
#booking.reservation-panel{width:min(1000px,94vw);padding:0;max-height:90svh;overflow:auto;border-radius:32px}#booking[open]{animation:panel-in .45s ease both}#booking #close-booking{position:absolute;right:15px;top:15px;z-index:3;background:#062638dd}.reservation-layout{display:grid;grid-template-columns:41% 59%;min-height:565px}.reservation-image{position:relative;min-height:565px;background-position:center;background-size:cover}.reservation-caption{position:absolute;bottom:32px;left:32px;right:18px}.reservation-caption h2{font-size:45px;letter-spacing:-2px}.reservation-form{padding:52px 40px 35px;min-width:0}.demo-badge{color:var(--cyan)!important;font:10px 'Space Grotesk',sans-serif;letter-spacing:1.6px}.demo-note{font-size:11px;line-height:1.6!important}.reservation-form h3{font:500 32px 'Space Grotesk',sans-serif;letter-spacing:-1px;margin:14px 0 22px}.reservation-form h3:focus{outline:none}.field-label{display:block;font-size:12px;color:var(--muted);margin:18px 0 8px}.reservation-form input:not([type=radio]):not([type=checkbox]),.reservation-form select,.reservation-form textarea{width:100%;box-sizing:border-box;min-width:0;border:1px solid #8bffef44;border-radius:12px;background:#0b3c50;color:var(--ice);padding:13px;font:16px 'Manrope',sans-serif;color-scheme:dark}.reservation-form textarea{resize:vertical}.reservation-form .book{width:100%;margin-top:24px;padding:17px 23px;justify-content:space-between}.reservation-form [data-step][hidden]{display:none!important}.time-choices{display:flex;gap:10px}.time-pick{position:relative;flex:1;cursor:pointer}.time-pick input{position:absolute;opacity:0}.time-pick span{display:block;padding:16px 8px;border:1px solid #8bffef44;border-radius:12px;text-align:center;background:#0b3c50}.time-pick input:checked+span{color:var(--cyan);border-color:var(--cyan);background:#8bffef22;box-shadow:0 0 25px #8bffef15}.time-pick input:focus-visible+span{outline:2px solid white;outline-offset:3px}.back-step{border:0;background:transparent;color:var(--muted);padding:15px 0;min-height:44px}.summary-row{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #8bffef25;padding:10px 0;font-size:13px;overflow-wrap:anywhere}.summary-row dt{color:var(--muted);flex:1}.summary-row dd{margin:0;text-align:right;flex:1}.pay-after{font-size:12px;color:var(--cyan)!important}.demo-ack{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;cursor:pointer}.demo-ack input{width:20px;height:20px;accent-color:#8bffef;flex:none}.demo-success h4{font:500 26px 'Space Grotesk',sans-serif}.demo-success p{font-size:13px}.success-icon{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;border:1px solid var(--cyan);color:var(--cyan);font-size:32px;box-shadow:0 0 35px #8bffef22}#demo-progress{font-size:9px;color:var(--muted);margin-top:22px}@keyframes panel-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:800px){#booking.reservation-panel{width:94vw;max-height:92svh;border-radius:24px}.reservation-layout{display:block;min-height:0}.reservation-image{min-height:115px;background-position:center 45%}.reservation-caption{left:23px;bottom:10px}.reservation-caption h2{font-size:28px;margin:0;letter-spacing:-1px}.reservation-caption p{display:none}.reservation-form{padding:18px 23px 24px}.reservation-form h3{font-size:26px;margin:12px 0 18px}.reservation-form .book{font-size:15px;gap:10px;padding:17px 18px}.field-label{margin-top:14px}.summary-row{font-size:12px}.demo-note{font-size:10px}#booking #close-booking{top:12px;right:12px}}@media(prefers-reduced-motion:reduce){#booking[open]{animation:none}}
.desk-nav{color:var(--cyan);text-decoration:none;font:600 12px 'Space Grotesk',Arial,sans-serif;padding:13px 18px;border:1px solid #8bffef77;border-radius:30px;background:#8bffef12;box-shadow:0 0 24px #8bffef15;white-space:nowrap}.desk-nav:hover{background:#8bffef25;box-shadow:0 0 30px #8bffef33}.desk-nav:focus-visible{outline:2px solid white;outline-offset:4px}@media(min-width:801px){.header-right{gap:18px}}@media(max-width:1200px){.header-right>.micro{display:none}}@media(max-width:800px){header .brand b{display:none}.header-right{gap:8px}.desk-nav{font-size:11px;padding:11px 12px}.header-right .motion{font-size:9px;padding:9px}}

