*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fafaf8;--surface:#fff;--border:#0000000f;--border-strong:#0000001a;--accent:#1a1a1a;--gold:#b8943e;--gold-light:#d4af5a;--gold-bg:#faf5eb;--gold-border:#b8943e33;--text:#1a1a1a;--text2:#6b6b6b;--text3:#a0a0a0;--r:20px;--shadow:0 1px 3px #0000000a,0 4px 16px #0000000a}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--text);min-height:100dvh;font-family:Inter,-apple-system,sans-serif;line-height:1.5;overflow-x:hidden}::selection{background:#b8943e33}a{color:inherit;text-decoration:none}.header{z-index:50;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#fafaf8d9;padding:12px 20px;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:480px;margin:0 auto;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-text{line-height:1}.brand-name{letter-spacing:2px;text-transform:uppercase;font-size:13px;font-weight:800}.brand-sub{letter-spacing:3.5px;text-transform:uppercase;color:var(--gold);margin-top:1px;font-size:9px;font-weight:600}.header-loc{color:var(--text2);align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}.main{max-width:480px;margin:0 auto;padding:24px 20px 32px}.gallery{padding:32px 0;overflow:hidden}.gallery-label{letter-spacing:2px;text-transform:uppercase;color:var(--gold);text-align:center;margin-bottom:6px;font-size:10px;font-weight:700}.gallery-title{text-align:center;letter-spacing:-.3px;margin-bottom:16px;font-size:18px;font-weight:800}.gallery-scroll{cursor:grab;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x;-webkit-user-select:none;user-select:none;overflow-x:scroll}.gallery-scroll::-webkit-scrollbar{display:none}.gallery-track{gap:10px;width:max-content;display:flex}.gallery-item{background:#e8e8e6;border-radius:14px;flex:none;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;display:block}.gallery-item.tall{width:140px;height:200px}.gallery-item.wide{width:200px;height:150px}.gallery-item.square{width:160px;height:160px}@media (min-width:768px){.gallery-item.tall{width:180px;height:260px}.gallery-item.wide{width:260px;height:195px}.gallery-item.square{width:210px;height:210px}}.sec-label{letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:4px;font-size:10px;font-weight:700}.sec-heading{letter-spacing:-.3px;margin-bottom:16px;font-size:20px;font-weight:800}.equip-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.equip-bar::-webkit-scrollbar{display:none}.equip-pill{background:var(--gold-bg);border:1px solid var(--gold-border);color:var(--gold);white-space:nowrap;border-radius:100px;flex-shrink:0;align-items:center;gap:5px;padding:7px 12px;font-size:11px;font-weight:600;display:flex}.pkg-summary{background:var(--gold-bg);border:1px solid var(--gold-border);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:16px;margin-bottom:20px;padding:16px 20px;transition:all .2s}.pkg-summary:active{transform:scale(.99)}.pkg-top{justify-content:space-between;align-items:center;display:flex}.pkg-type{letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:2px;font-size:10px;font-weight:700}.pkg-name{font-size:16px;font-weight:800}.pkg-price{text-align:right}.pkg-count{color:var(--text3);font-size:10px;font-weight:600}.pkg-val{color:var(--gold);letter-spacing:-.5px;font-size:22px;font-weight:800;line-height:1}.pkg-unit{color:var(--text3);font-size:10px}.pkg-desc{max-height:0;transition:max-height .35s;overflow:hidden}.pkg-desc.open{max-height:300px}.pkg-desc-inner{padding-top:2px}.pkg-desc-divider{background:var(--gold-border);height:1px;margin:14px 0}.pkg-desc-icon{color:var(--gold);align-items:center;gap:6px;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}.pkg-desc-text{color:var(--text2);margin-bottom:8px;font-size:12px;line-height:1.7}.pkg-desc-text:last-child{margin-bottom:0}.pkg-equip-list{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.pkg-equip-item{border:1px solid var(--gold-border);color:var(--gold);background:#b8943e1f;border-radius:8px;padding:5px 10px;font-size:11px;font-weight:600}.pkg-tap-hint{color:var(--gold);justify-content:center;align-items:center;gap:4px;margin-top:10px;font-size:10px;font-weight:600;display:flex}.date-cards{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.date-card{background:var(--surface);border:1.5px solid var(--border);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:16px;justify-content:space-between;align-items:center;padding:14px 18px;transition:all .2s;display:flex}.date-card:active{transform:scale(.98)}.date-card.selected{border-color:var(--gold);background:var(--gold-bg)}.date-card.full{opacity:.4;pointer-events:none}.date-card-left{align-items:center;gap:12px;display:flex}.date-card-icon{background:#f5f5f3;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.date-card.selected .date-card-icon{background:#b8943e26}.date-card-name{font-size:15px;font-weight:700}.date-card-avail{color:#059669;margin-top:1px;font-size:11px;font-weight:600}.date-card.selected .date-card-avail{color:var(--gold)}.date-card.full .date-card-avail{color:var(--text3)}.date-card-check{background:var(--gold);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.time-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px;display:grid}.time-slot{background:var(--surface);border:1px solid var(--border);text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:12px;padding:12px 8px;transition:all .2s}.time-slot:active{transform:scale(.96)}.time-slot .time-val{margin-bottom:2px;font-size:14px;font-weight:700}.time-slot .time-avail{color:#059669;font-size:10px;font-weight:600}.time-slot.selected{background:var(--gold);border-color:var(--gold)}.time-slot.selected .time-val{color:#fff}.time-slot.selected .time-avail{color:#fffc}.time-slot.selected .capacity-bar-track{background:#ffffff40}.time-slot.selected .capacity-bar-fill{background:#fff}.time-slot.full{opacity:.35;pointer-events:none}.time-slot.full .time-avail{color:var(--text3)}.time-slot.almost-full .time-avail{color:#d97706}.time-slot.almost-full .capacity-bar-fill{background:#d97706}.capacity-bar-track{background:#f0f0ee;border-radius:100px;width:100%;height:3px;margin-top:6px;overflow:hidden}.capacity-bar-fill{background:#059669;border-radius:100px;height:100%;transition:width .3s}.selected-date-badge{color:#059669;background:#ecfdf5;border:1px solid #05966926;border-radius:12px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.form-group{margin-bottom:14px}.form-label{color:var(--text2);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-input{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);border-radius:14px;outline:none;padding:14px 16px;font-family:inherit;font-size:14px;font-weight:500;transition:border-color .2s,box-shadow .2s}.form-input::placeholder{color:var(--text3)}.form-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b8943e1a}.form-hint-error{color:#ef4444;margin-top:4px;padding-left:2px;font-size:11px}.booking-summary{background:var(--surface);border-radius:var(--r);border:1px solid var(--border);box-shadow:var(--shadow);margin-bottom:20px;padding:20px}.bsum-title{margin-bottom:14px;font-size:14px;font-weight:700}.bsum-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:8px 0;display:flex}.bsum-row:last-child{border-bottom:none}.bsum-label{color:var(--text2);font-size:12px}.bsum-val{text-align:right;font-size:13px;font-weight:600}.cta-bar{padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0));-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);z-index:40;background:#fafaf8eb;position:fixed;bottom:0;left:0;right:0}.cta-bar-inner{max-width:480px;margin:0 auto}.cta-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:var(--gold);color:#fff;border:none;border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s;display:flex}.cta-btn:active{background:var(--gold-light)}.cta-btn:disabled{color:var(--text3);cursor:not-allowed;background:#e0e0de}.sheet-backdrop{z-index:90;opacity:0;pointer-events:none;background:#00000059;transition:opacity .3s;position:fixed;inset:0}.sheet-backdrop.open{opacity:1;pointer-events:auto}.sheet{z-index:91;background:var(--surface);max-width:480px;padding:0 24px 32px;padding-bottom:calc(32px + env(safe-area-inset-bottom,0));border-radius:24px 24px 0 0;margin:0 auto;transition:transform .35s cubic-bezier(.32,.72,0,1);position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -4px 32px #0000001a}.sheet.open{transform:translateY(0)}.sheet-handle{background:#d4d4d4;border-radius:100px;width:36px;height:4px;margin:12px auto 20px}.success-icon{color:#059669;background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 12px;display:flex}.success-title{text-align:center;letter-spacing:-.2px;margin-bottom:4px;font-size:17px;font-weight:800}.success-sub{color:var(--text2);text-align:center;margin-bottom:20px;font-size:13px}.btn-gold{cursor:pointer;background:var(--gold);color:#fff;-webkit-tap-highlight-color:transparent;border:none;border-radius:16px;justify-content:center;align-items:center;width:100%;padding:16px;font-family:inherit;font-size:14px;font-weight:700;display:flex}.btn-gold:active{background:var(--gold-light)}.btn-wa{cursor:pointer;color:#fff;-webkit-tap-highlight-color:transparent;background:#25d366;border:none;border-radius:16px;justify-content:center;align-items:center;width:100%;padding:16px;font-family:inherit;font-size:14px;font-weight:700;display:flex}.btn-wa:active{background:#1da851}.btn-ghost{cursor:pointer;width:100%;color:var(--text2);-webkit-tap-highlight-color:transparent;background:#f5f5f3;border:none;border-radius:14px;justify-content:center;align-items:center;margin-top:10px;padding:14px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.btn-ghost:active{background:#e8e8e6}.error-bar{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 16px;font-size:12px;font-weight:600;display:flex}.info-badge{background:var(--gold-bg);border:1px solid var(--gold-border);color:var(--gold);border-radius:12px;align-items:center;gap:8px;padding:10px 16px;font-size:12px;font-weight:600;display:flex}.testimonials{border-top:1px solid var(--border);padding:24px 0;overflow:hidden}.testi-label-wrap{max-width:480px;margin:0 auto;padding:0 20px}.testi-heading{text-align:center;letter-spacing:-.3px;margin-bottom:12px;font-size:17px;font-weight:800}.testi-track{gap:10px;width:max-content;animation:30s linear infinite testi-scroll;display:flex}.testi-track:hover{animation-play-state:paused}@keyframes testi-scroll{0%{transform:translate(0)}to{transform:translate(calc(-50% - 5px))}}.testi-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;flex:0 0 260px;padding:14px 16px}.testi-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.testi-stars{color:var(--gold);letter-spacing:1px;flex-shrink:0;font-size:11px}.testi-text{color:var(--text2);font-size:11px;font-style:italic;line-height:1.6}.testi-author{align-items:center;gap:8px;display:flex}.testi-avatar{color:#059669;background:#ecfdf5;border:1px solid #05966926;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:flex}.testi-name{font-size:12px;font-weight:700}.wa-float{z-index:45;color:#fff;-webkit-tap-highlight-color:transparent;background:#25d366;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:90px;right:20px;box-shadow:0 4px 12px #25d36659}.wa-float:active{transform:scale(.92)}.footer{border-top:1px solid var(--border);text-align:center;padding:28px 20px}.footer-name{letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:700}.footer-addr{color:var(--text2);margin-bottom:14px;font-size:12px;line-height:1.6}.footer-copy{color:var(--text3);font-size:11px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-card{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;align-items:center;gap:12px;padding:14px 18px;display:flex}.skeleton-icon{background:linear-gradient(90deg,#f0f0ee 25%,#e8e8e6 50%,#f0f0ee 75%) 0 0/200% 100%;border-radius:12px;flex-shrink:0;width:40px;height:40px;animation:1.5s infinite shimmer}.skeleton-lines{flex-direction:column;flex:1;gap:6px;display:flex}.skeleton-line{background:linear-gradient(90deg,#f0f0ee 25%,#e8e8e6 50%,#f0f0ee 75%) 0 0/200% 100%;border-radius:6px;height:12px;animation:1.5s infinite shimmer}.skeleton-line.short{height:10px}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.35s forwards fadeUp}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #fff;border-top-color:#0000;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}.payment-pending-pulse{animation:1.5s ease-in-out infinite pendingPulse}@keyframes pendingPulse{0%,to{opacity:1}50%{opacity:.6}}.status-paid{color:#059669;background:#ecfdf5;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.status-pending{color:#d97706;background:#fef3c7;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.countdown-badge{color:#d97706;background:#fef3c7;border:1px solid #d9770633;border-radius:12px;justify-content:center;align-items:center;gap:6px;margin-bottom:16px;padding:10px 16px;font-size:13px;font-weight:600;display:flex}@media (min-width:768px){.main{max-width:560px;padding:32px 32px 120px}.header-inner,.cta-bar-inner{max-width:560px}}
