:root{--primary-teal: #007F82;--bright-teal: #00A6A6;--deep-teal: #075F64;--dark-teal: #103F44;--soft-teal: #EAF8F8;--ivory-bg: #F8FCFC;--white: #FFFFFF;--soft-border: rgba(0, 127, 130, .16);--deep-teal-gradient: linear-gradient(145deg, #075F64 0%, #0A4E53 100%);--gold-accent: #D4AF37;--font-heading: "Outfit", "Inter", -apple-system, sans-serif;--font-body: "Inter", -apple-system, sans-serif;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 9999px;--shadow-sm: 0 4px 12px rgba(16, 63, 68, .06);--shadow-md: 0 8px 24px rgba(16, 63, 68, .12);--shadow-lg: 0 16px 40px rgba(0, 127, 130, .18);--teal-glow: 0 0 20px rgba(0, 166, 166, .35);--header-height: 84px;--transition-fast: .2s cubic-bezier(.16, 1, .3, 1);--transition-normal: .35s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);font-size:16px;color:var(--dark-teal);background-color:var(--ivory-bg);scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;position:relative;background:var(--ivory-bg)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;height:auto;display:block}:focus-visible{outline:3px solid var(--bright-teal);outline-offset:3px;border-radius:4px}.landing-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:#f8fcfce0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--soft-border);transition:background var(--transition-fast),box-shadow var(--transition-fast)}.landing-header.scrolled{background:#fffffff5;box-shadow:var(--shadow-sm)}.header-left{display:flex;align-items:center;gap:16px}.brand-link{display:flex;align-items:center;gap:10px}.brand-logo-mark{width:36px;height:36px;object-fit:contain}.brand-logo-text{height:24px;object-fit:contain}.brand-logo-text~.brand-text-fallback{display:none}.brand-text-fallback{font-family:var(--font-heading);font-size:22px;font-weight:700;letter-spacing:1.5px;color:var(--dark-teal);text-transform:uppercase}.landing-nav{display:flex;align-items:center;gap:28px}.nav-link{font-size:15px;font-weight:500;color:var(--dark-teal);position:relative;padding:8px 0;transition:color var(--transition-fast)}.nav-link:hover{color:var(--primary-teal)}.nav-link.active{color:var(--primary-teal);font-weight:600}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2.5px;background-color:var(--primary-teal);border-radius:2px}.header-actions{display:flex;align-items:center;gap:16px}.icon-btn{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--dark-teal);background:#007f820a;border:1px solid var(--soft-border);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.icon-btn:hover{background:var(--soft-teal);color:var(--primary-teal);transform:translateY(-1px)}.icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.btn-sign-in{padding:12px 28px;border-radius:var(--radius-pill);background:var(--deep-teal-gradient);color:var(--white);font-weight:600;font-size:15px;box-shadow:0 4px 14px #075f6440;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-sign-in:hover{transform:translateY(-2px);box-shadow:0 6px 20px #075f6459}.mobile-toggle{display:none;width:44px;height:44px;border-radius:8px;align-items:center;justify-content:center;color:var(--dark-teal);border:1px solid var(--soft-border);background:var(--white)}.mobile-toggle svg{width:24px;height:24px;stroke:currentColor;stroke-width:2;fill:none}.mobile-nav-drawer{display:none;position:fixed;top:var(--header-height);left:0;right:0;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:24px 32px;border-bottom:1px solid var(--soft-border);box-shadow:0 12px 30px #103f441f;flex-direction:column;gap:16px;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform var(--transition-normal),opacity var(--transition-normal);z-index:999}.mobile-nav-drawer.open{transform:translateY(0);opacity:1;pointer-events:auto}.mobile-nav-drawer .nav-link{font-size:18px;padding:10px 0;border-bottom:1px solid rgba(0,127,130,.08)}.hotel-main-wrapper{padding-top:calc(var(--header-height) + 36px);padding-bottom:80px;max-width:1560px;margin:0 auto;padding-left:40px;padding-right:40px}.hotel-header-section,.journey-progress-section,.experience-layout-grid,.viewer-card,.booking-panel-card{scroll-margin-top:calc(var(--header-height) + 24px)}.hotel-header-section{margin-bottom:28px}.breadcrumb-nav{display:flex;align-items:center;gap:8px;font-size:14px;color:#55878b;margin-bottom:12px}.breadcrumb-link{color:var(--primary-teal);font-weight:500}.breadcrumb-separator{opacity:.6}.breadcrumb-current{color:var(--dark-teal);font-weight:600}.hotel-heading-group{display:flex;flex-direction:column;gap:6px}.hotel-badge{display:inline-flex;align-items:center;padding:4px 14px;border-radius:var(--radius-pill);background:var(--soft-teal);border:1px solid var(--soft-border);font-family:var(--font-heading);font-size:12px;font-weight:700;letter-spacing:2px;color:var(--primary-teal);text-transform:uppercase;width:fit-content}.hotel-main-title{font-family:var(--font-heading);font-size:clamp(28px,4vw,42px);font-weight:700;color:var(--dark-teal);line-height:1.2}.hotel-main-sub{font-size:16px;color:#336b70}.journey-progress-section{margin-bottom:32px;background:var(--white);border-radius:var(--radius-md);padding:20px 28px;border:1px solid var(--soft-border);box-shadow:var(--shadow-sm)}.journey-steps-container{display:flex;align-items:center;justify-content:space-between;position:relative;overflow-x:auto;padding:8px 0}.journey-progress-line{position:absolute;top:50%;left:60px;right:60px;height:3px;background:#007f821f;transform:translateY(-50%);z-index:1}.journey-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--bright-teal),var(--primary-teal));border-radius:3px;transition:width var(--transition-normal)}.journey-step-item{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--white);padding:0 12px;cursor:pointer;border:none;transition:transform var(--transition-fast)}.journey-step-item:hover{transform:translateY(-2px)}.step-icon-bubble{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--white);border:2px solid var(--soft-border);color:#6b9b9f;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.step-icon-bubble svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.journey-step-item.active .step-icon-bubble{background:var(--deep-teal-gradient);border-color:var(--primary-teal);color:var(--white);box-shadow:0 4px 14px #075f644d}.journey-step-item.completed .step-icon-bubble{background:var(--soft-teal);border-color:var(--bright-teal);color:var(--primary-teal)}.journey-step-item.future .step-icon-bubble{background:var(--ivory-bg)}.step-label-group{display:flex;flex-direction:column;align-items:center}.step-number{font-size:11px;font-weight:700;letter-spacing:1px;color:#7aa5a8;text-transform:uppercase}.step-title{font-family:var(--font-heading);font-size:14px;font-weight:600;color:var(--dark-teal)}.journey-step-item.active .step-title{color:var(--primary-teal);font-weight:700}.experience-layout-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:32px;align-items:start}.viewer-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--soft-border);box-shadow:var(--shadow-md);overflow:hidden;display:flex;flex-direction:column;position:relative}.viewer-header-bar{padding:16px 24px;background:var(--white);border-bottom:1px solid var(--soft-border);display:flex;align-items:center;justify-content:space-between}.viewer-label{display:flex;align-items:center;gap:10px;font-family:var(--font-heading);font-size:16px;font-weight:700;color:var(--dark-teal);text-transform:uppercase;letter-spacing:1px}.viewer-live-dot{width:10px;height:10px;border-radius:50%;background:var(--bright-teal);box-shadow:0 0 8px var(--bright-teal)}.viewer-area-nav{display:flex;align-items:center;gap:8px}.btn-area-nav{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-pill);background:var(--soft-teal);border:1px solid var(--soft-border);color:var(--deep-teal);font-weight:600;font-size:13px;transition:background var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.btn-area-nav:hover:not(:disabled){background:var(--bright-teal);color:var(--white)}.btn-area-nav:disabled{opacity:.45;cursor:not-allowed}.btn-area-nav svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.2;fill:none}.hotel-viewer-root{position:relative;width:100%;aspect-ratio:16 / 10;background:#0b2527;overflow:hidden;user-select:none;-webkit-user-select:none;cursor:grab}.hotel-viewer-root.is-panning{cursor:grabbing}.viewer-viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.viewer-loading,.viewer-error{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#0b2527f2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--white);font-size:15px}.viewer-spinner{width:44px;height:44px;border:3px solid rgba(0,166,166,.2);border-top-color:var(--bright-teal);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-retry{padding:10px 24px;border-radius:var(--radius-pill);background:var(--primary-teal);color:var(--white);font-weight:600}.viewer-stage{position:absolute;top:0;left:0;width:0;height:0}.viewer-img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.hotspots-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hotspot-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;z-index:15}.hotspot-pin{width:40px;height:40px;border-radius:50%;background:#fffffff2;border:2px solid var(--primary-teal);box-shadow:0 4px 14px #00000040;display:flex;align-items:center;justify-content:center;color:var(--deep-teal);position:relative;transition:transform var(--transition-fast),background var(--transition-fast)}.hotspot-marker:hover .hotspot-pin,.hotspot-marker:focus .hotspot-pin{transform:scale(1.15);background:var(--soft-teal);color:var(--primary-teal)}.hotspot-pulse{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border:2px solid var(--bright-teal);border-radius:50%;opacity:.6}.hotspot-pin svg{width:20px;height:20px;stroke:currentColor;stroke-width:2.2;fill:none}.hotspot-tooltip{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%) translateY(4px);background:#103f44f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--white);padding:10px 16px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.15);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast),transform var(--transition-fast);box-shadow:0 8px 24px #0000004d;display:flex;flex-direction:column;gap:2px;text-align:center}.hotspot-marker:hover .hotspot-tooltip,.hotspot-marker:focus .hotspot-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.hotspot-title{font-family:var(--font-heading);font-size:13px;font-weight:700;color:var(--bright-teal)}.hotspot-desc{font-size:12px;color:#ffffffd9}.viewer-controls-bar{position:absolute;bottom:20px;right:20px;z-index:30;display:flex;align-items:center;gap:8px;padding:6px 10px;background:#103f44d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-pill);box-shadow:0 6px 20px #00000040}.ctrl-btn{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.ctrl-btn:hover{background:#fff3;color:var(--bright-teal);transform:scale(1.05)}.ctrl-btn.active{background:var(--bright-teal);color:var(--dark-teal)}.ctrl-btn svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.2;fill:none}.viewer-info-overlay{position:absolute;bottom:20px;left:20px;z-index:25;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--soft-border);padding:14px 20px;border-radius:var(--radius-md);box-shadow:0 8px 24px #103f4426;max-width:320px}.info-badge{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--primary-teal);text-transform:uppercase;margin-bottom:2px}.info-title{font-family:var(--font-heading);font-size:16px;font-weight:700;color:var(--dark-teal)}.info-sub{font-size:12px;color:#336b70;margin-top:2px}.booking-panel-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--soft-border);box-shadow:var(--shadow-md);padding:32px 28px;display:flex;flex-direction:column;gap:24px}.panel-header{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid rgba(0,127,130,.1);padding-bottom:20px}.hotel-name{font-family:var(--font-heading);font-size:22px;font-weight:700;color:var(--dark-teal)}.panel-rating-row{display:flex;align-items:center;gap:10px}.rating-badge{display:flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-pill);background:var(--soft-teal);color:var(--deep-teal);font-weight:700;font-size:13px}.rating-badge svg{width:14px;height:14px;fill:var(--gold-accent);stroke:var(--gold-accent)}.rating-text{font-size:13px;color:#55878b}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-pill);background:#00a6a61a;color:var(--primary-teal);font-size:12px;font-weight:600;width:fit-content}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--bright-teal)}.panel-desc{font-size:14px;line-height:1.5;color:#336b70}.room-preview-summary-card{background:var(--soft-teal);border:1px solid var(--bright-teal);border-radius:var(--radius-md);padding:14px 18px;display:flex;flex-direction:column;gap:4px}.room-preview-badge{font-size:13px;font-weight:600;color:var(--dark-teal)}.booking-form{display:flex;flex-direction:column;gap:18px}.room-preferences-block{margin-top:6px;padding-top:16px;border-top:1px dashed var(--soft-border)}.pref-section-title{font-family:var(--font-heading);font-size:13px;font-weight:700;color:var(--primary-teal);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.form-group{display:flex;flex-direction:column;gap:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-label{font-size:13px;font-weight:600;color:var(--dark-teal)}.form-input,.form-select{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--soft-border);background:var(--ivory-bg);font-family:var(--font-body);font-size:14px;color:var(--dark-teal);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus{border-color:var(--bright-teal);box-shadow:0 0 0 3px #00a6a626;outline:none}.amenities-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;background:var(--soft-teal);border-radius:var(--radius-md);border:1px solid rgba(0,127,130,.12)}.amenity-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--dark-teal)}.amenity-item svg{width:18px;height:18px;stroke:var(--primary-teal);stroke-width:2;fill:none;flex-shrink:0}.panel-actions{display:flex;flex-direction:column;gap:12px}.btn-primary-action{width:100%;padding:14px 24px;border-radius:var(--radius-pill);background:var(--deep-teal-gradient);color:var(--white);font-weight:700;font-size:15px;box-shadow:0 4px 16px #075f6440;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-primary-action:hover{transform:translateY(-2px);box-shadow:0 6px 20px #075f6459}.btn-primary-action svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.2;fill:none}.btn-secondary-action{width:100%;padding:12px 24px;border-radius:var(--radius-pill);background:var(--soft-teal);color:var(--primary-teal);border:1px solid var(--soft-border);font-weight:600;font-size:14px;text-align:center;transition:background var(--transition-fast)}.btn-secondary-action:hover{background:#00a6a626}.btn-contextual-action{background:var(--soft-teal);color:var(--primary-teal);border:1px solid var(--primary-teal);font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-contextual-action:hover{background:var(--bright-teal);color:var(--white)}.btn-contextual-action svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.2;fill:none}.saved-summary-card{background:var(--soft-teal);border:1px solid var(--primary-teal);border-radius:var(--radius-md);padding:18px;display:flex;flex-direction:column;gap:10px}.summary-title{font-family:var(--font-heading);font-size:14px;font-weight:700;color:var(--primary-teal);text-transform:uppercase;letter-spacing:1px}.summary-details-list{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--dark-teal)}.below-viewer-features{margin-top:40px;background:var(--deep-teal-gradient);border-radius:var(--radius-lg);padding:28px 36px;box-shadow:var(--shadow-md);display:grid;grid-template-columns:repeat(4,1fr);gap:24px;color:var(--white)}.feature-col{display:flex;align-items:center;gap:16px}.feature-col-icon{width:48px;height:48px;border-radius:50%;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;color:var(--bright-teal);flex-shrink:0}.feature-col-icon svg{width:24px;height:24px;stroke:var(--white);stroke-width:2;fill:none}.feature-col-text h4{font-family:var(--font-heading);font-size:15px;font-weight:700;color:var(--white)}.feature-col-text p{font-size:13px;color:#fffc}.journey-overview-section{margin-top:60px}.section-eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--primary-teal);text-transform:uppercase;margin-bottom:8px}.section-title{font-family:var(--font-heading);font-size:32px;font-weight:700;color:var(--dark-teal);margin-bottom:28px}.journey-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.journey-card{background:var(--white);border-radius:var(--radius-md);border:1px solid var(--soft-border);padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px;position:relative;transition:transform var(--transition-fast),border-color var(--transition-fast)}.journey-card.active{border-color:var(--primary-teal);box-shadow:var(--shadow-md)}.journey-card:hover{transform:translateY(-4px)}.card-step-badge{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--primary-teal);text-transform:uppercase}.journey-card h3{font-family:var(--font-heading);font-size:18px;font-weight:700;color:var(--dark-teal)}.journey-card p{font-size:14px;color:#336b70;line-height:1.5}.upcoming-tag{display:inline-block;margin-top:auto;font-size:11px;font-weight:700;letter-spacing:1px;color:#88b2b5;text-transform:uppercase}.toast-container{position:fixed;bottom:30px;right:30px;z-index:2000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast-message{pointer-events:auto;background:#103f44f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--white);padding:14px 24px;border-radius:var(--radius-pill);border:1px solid rgba(0,166,166,.4);box-shadow:0 10px 30px #0000004d;font-size:14px;font-weight:500;display:flex;align-items:center;gap:10px;animation:toastIn .35s cubic-bezier(.16,1,.3,1) forwards}.toast-message svg{width:20px;height:20px;stroke:var(--bright-teal);stroke-width:2.2;fill:none}@keyframes toastIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.mobile-sticky-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:900;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--soft-border);padding:12px 20px;box-shadow:0 -4px 20px #103f441a}.mobile-sticky-bar .btn-primary-action{width:100%}.landing-footer{background:#054044;color:var(--white);padding:60px 40px 30px;margin-top:auto;border-top:1px solid rgba(255,255,255,.08)}.footer-inner{max-width:1560px;margin:0 auto;display:flex;flex-direction:column;gap:40px}.footer-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:30px}.footer-nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.footer-link{font-size:14px;color:#fffc;transition:color var(--transition-fast)}.footer-link:hover{color:var(--bright-teal)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:13px;color:#fff9}@media (max-width: 1200px){.experience-layout-grid{grid-template-columns:1fr}.below-viewer-features{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.landing-nav{display:none}.mobile-toggle,.mobile-nav-drawer{display:flex}.hotel-main-wrapper{padding-left:20px;padding-right:20px}.below-viewer-features{grid-template-columns:1fr}.mobile-sticky-bar{display:block}}@media (max-width: 600px){.landing-header{padding:0 20px}.hotel-viewer-root{aspect-ratio:4 / 3}.form-row,.amenities-summary{grid-template-columns:1fr}.toast-container{left:20px;right:20px;bottom:80px}.toast-message{width:100%;justify-content:center}.viewer-area-nav{display:flex}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
