:root{--brand:#0B3D91;--brand-deep:#072A6B;--brand-mid:#3A5FBF;--brand-soft:#E8EEF7;--foam:#ffffff;--sand:#F3EDE3;--sand-deep:#E4D8C4;--wood:#B1987A;--ink:#1A2430;--muted:#5A6570;--ocean:var(--brand);--ocean-deep:var(--brand-deep);--ocean-light:var(--brand-mid);--coral:#e07a5f;--coral-soft:#f4a698;--held:#f0c14b;--rented:#9aa5ad;--available:#2a9d8f;--radius:14px;--shadow:0 4px 18px rgba(11,61,145,0.14);--max:430px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:linear-gradient(180deg,#E8EEF7 0,var(--sand) 22%,var(--sand) 100%);color:var(--ink);line-height:1.45}.app,body{min-height:100dvh}.app{max-width:var(--max);margin:0 auto;padding:0 16px 32px;position:relative}.draft-banner{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--coral);color:#fff;text-align:center;font-size:12px;font-weight:600;letter-spacing:.02em;padding:6px 12px;margin:0 -16px 12px}.brand{text-align:center;padding:10px 0 6px}.brand-mark{display:block;width:72px;height:72px;object-fit:cover;border-radius:14px;margin:0 auto 10px;box-shadow:var(--shadow);border:2px solid var(--foam);background:var(--brand)}.brand-hero-frame{height:280px;overflow:hidden;border-radius:var(--radius);margin:4px 0 14px;box-shadow:var(--shadow);border:1px solid rgba(177,152,122,.35);background:var(--brand-soft)}.brand-hero{display:block;width:119.5%;height:auto;max-height:none;margin:-18% 0 0 -4%;object-fit:fill;border:none;border-radius:0;box-shadow:none;background:var(--brand-soft)}.brand .brand-title,.brand h1{font-family:Times New Roman,Times,Georgia,Palatino Linotype,serif;font-size:1.15rem;font-weight:700;color:var(--brand-deep);letter-spacing:.06em;text-transform:uppercase;line-height:1.25;margin:0}.brand .brand-rules{display:block;width:min(100%,280px);margin:8px auto;border:none;border-top:1px solid var(--brand);border-bottom:1px solid var(--brand);height:5px;background:transparent;opacity:.85}.brand .brand-place{display:block;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--brand);margin-top:2px}.brand .dot{opacity:.55;font-weight:400}.site-brand{text-align:center;padding:6px 0 10px}.site-brand .site-brand-title{font-family:Times New Roman,Times,Georgia,serif;font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-deep);line-height:1.3}.site-brand .site-brand-place{display:block;font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);margin-top:2px}.tagline{text-align:center;color:var(--muted);font-size:.9rem;margin:6px 0 18px;padding:0 8px}.locations{display:flex;flex-direction:column;gap:12px}.card{display:block;background:var(--foam);border-radius:var(--radius);padding:14px 16px;text-decoration:none;color:inherit;box-shadow:var(--shadow);border:1px solid rgba(11,61,145,.08);transition:transform .15s ease,box-shadow .15s ease}.card:active{transform:scale(.98)}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.card-name{font-size:1.05rem;font-weight:650;color:var(--ocean-deep)}.card-hint{font-size:.82rem;color:var(--muted)}.placeholder-note{font-size:.7rem;color:var(--coral);font-weight:500;margin-top:4px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chip{display:inline-flex;align-items:center;font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--sand-deep);color:var(--ocean-deep)}.chip.chairs{background:var(--brand-soft);color:var(--brand-deep)}.chip.tiki{background:#fde8c8;color:#8a5a12}.chip.restaurant{background:#f5d6d0;color:#8b3a2a}.chip.pool{background:#d4e8f7;color:#1a5a8a}.low-stock{margin-top:10px;font-size:.78rem;font-weight:650;color:var(--coral);background:#fceeea;padding:6px 10px;border-radius:8px}.card-arrow{color:var(--ocean-light);font-size:1.2rem;flex-shrink:0;margin-top:2px}footer.site-footer{text-align:center;margin-top:28px;padding-top:16px;border-top:1px solid rgba(177,152,122,.45);font-size:.8rem;color:var(--muted)}footer.site-footer .brand-line{margin-top:4px;color:var(--brand-deep);font-family:Times New Roman,Times,Georgia,serif;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}footer.site-footer .brand-place{margin-top:2px;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);font-weight:600}.back-link{display:inline-flex;align-items:center;gap:4px;color:var(--ocean);text-decoration:none;font-size:.88rem;font-weight:600;margin:4px 0 12px}.loc-header h2{font-size:1.35rem;color:var(--ocean-deep);font-weight:700}.section{background:var(--foam);border-radius:var(--radius);padding:14px;margin-top:14px;box-shadow:var(--shadow);border:1px solid rgba(11,61,145,.08)}.section h3{font-size:.95rem;color:var(--ocean-deep);margin-bottom:10px;font-weight:650}.dates{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.date-pill{flex:0 0 auto;min-width:64px;text-align:center;padding:10px 8px;border-radius:12px;border:2px solid var(--sand-deep);background:var(--sand);cursor:pointer;font-size:.78rem;color:var(--ink);-webkit-user-select:none;-moz-user-select:none;user-select:none}.date-pill .dow{display:block;font-weight:600;color:var(--muted);font-size:.7rem;text-transform:uppercase}.date-pill .dom{display:block;font-size:1.15rem;font-weight:700;color:var(--ocean-deep);margin-top:2px}.date-pill.selected{border-color:var(--ocean);background:#E8EEF7}.date-pill:active{transform:scale(.96)}.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:.72rem;color:var(--muted);margin-bottom:10px}.legend span{display:inline-flex;align-items:center;gap:5px}.swatch{width:14px;height:14px;border-radius:4px;display:inline-block}.swatch.available{background:var(--available)}.swatch.held{background:var(--held)}.swatch.rented{background:var(--rented)}.swatch.selected{background:var(--ocean);outline:2px solid var(--ocean-deep);outline-offset:1px}.pathway-orient{display:flex;justify-content:space-between;align-items:center;font-size:.68rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;padding:0 2px}.pathway-orient .ocean-label{color:var(--ocean)}.pathway-orient .dunes-label{color:#8a6a3a}.pathway-orient .path-label{color:#a08050;font-weight:600}.pathway{border-radius:14px;overflow:hidden;border:1px solid rgba(11,61,145,.12);background:linear-gradient(180deg,#6B8FC4,#A8C0E0 14%,#e8d9b8 28%,#e2cfa0 50%,#d4c08a 72%,#c4b07a 86%,#b8a878);padding:10px 0 12px}.pathway-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding:4px 12px 8px;overscroll-behavior-x:contain;touch-action:pan-x}.seat-map{flex-direction:row;flex-wrap:nowrap;gap:10px;min-width:min-content;padding:14px 8px;background:linear-gradient(180deg,transparent,rgba(232,220,168,.55) 28%,rgba(210,190,130,.85) 50%,rgba(232,220,168,.55) 72%,transparent);border-radius:999px;box-shadow:inset 0 0 0 1px rgba(160,130,70,.25)}.seat,.seat-map{display:flex;align-items:center}.seat{flex:0 0 auto;width:52px;height:56px;border-radius:12px 12px 10px 10px;border:none;font-size:.8rem;font-weight:700;cursor:pointer;color:#fff;flex-direction:column;justify-content:center;padding:4px 2px;transition:transform .1s ease,box-shadow .1s ease;box-shadow:0 2px 6px rgba(30,42,50,.18)}.seat .seat-num{display:block;font-size:.85rem;font-weight:700;line-height:1.1}.seat .seat-set{display:block;font-size:.55rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;opacity:.9;margin-top:1px}.seat.available{background:var(--available)}.seat.held{background:var(--held);color:#5a4508;cursor:default}.seat.rented{background:var(--rented);cursor:not-allowed;opacity:.85}.seat.selected{background:var(--brand);box-shadow:0 0 0 3px rgba(11,61,145,.45),0 2px 6px rgba(30,42,50,.18)}.seat.available:active,.seat.selected:active{transform:scale(.92)}.seat-hint{font-size:.75rem;color:var(--muted);margin-top:10px;text-align:center}.set-note{font-size:.82rem;color:var(--brand-deep);background:var(--brand-soft);border:1px solid rgba(11,61,145,.18);border-radius:10px;padding:8px 12px;margin-bottom:10px;font-weight:550;line-height:1.35}.set-note strong{font-weight:700}.addon{margin-top:14px;padding-top:12px;border-top:1px solid var(--sand-deep)}.addon-title{font-size:.9rem;font-weight:650;color:var(--ocean-deep);margin-bottom:4px}.addon-note{font-size:.75rem;color:var(--muted);margin-bottom:10px;line-height:1.35}.stepper{display:inline-flex;align-items:center;gap:0;background:var(--sand);border-radius:12px;border:2px solid var(--sand-deep);overflow:hidden}.stepper button{width:44px;height:44px;border:none;background:transparent;font-size:1.35rem;font-weight:700;color:var(--ocean);cursor:pointer;line-height:1}.stepper button:active{background:var(--sand-deep)}.stepper .stepper-value{min-width:40px;text-align:center;font-size:1.1rem;font-weight:700;color:var(--ink)}.menu-list{list-style:none}.menu-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--sand-deep);font-size:.88rem}.menu-list li:last-child{border-bottom:none}.menu-item-name{font-weight:550}.menu-item-desc{display:block;font-size:.75rem;color:var(--muted);font-weight:400;margin-top:2px}.menu-price{font-weight:650;color:var(--ocean-deep);white-space:nowrap}.cta{display:block;width:100%;margin-top:18px;padding:14px 18px;background:var(--ocean);color:#fff;text-align:center;text-decoration:none;font-weight:700;font-size:1rem;border-radius:12px;border:none;cursor:pointer;box-shadow:0 4px 14px rgba(11,61,145,.38)}.cta:active{background:var(--ocean-deep)}.cta:visited{color:#fff}.checkout-card{background:var(--foam);border-radius:var(--radius);padding:28px 20px;margin-top:24px;text-align:center;box-shadow:var(--shadow)}.checkout-card h2{color:var(--ocean-deep);font-size:1.25rem;margin-bottom:10px}.checkout-card p{color:var(--muted);font-size:.92rem}.checkout-icon{font-size:2.5rem;margin-bottom:12px}.selection-summary{margin-top:10px;font-size:.82rem;font-weight:650;color:var(--ocean-deep);text-align:center}.addon-pool,.price-note{margin-bottom:10px}.price-note{font-size:.8rem;color:var(--ink);background:#fff8e8;border:1px solid rgba(160,130,70,.35);border-radius:10px;padding:8px 12px;font-weight:550}.checkout-lines{background:var(--sand);border-radius:12px;padding:12px 14px;border:1px solid var(--sand-deep)}.line-item{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;padding:6px 0;color:var(--ink)}.line-item.line-total{border-top:1px solid var(--sand-deep);margin-top:6px;padding-top:10px;font-weight:750;color:var(--ocean-deep);font-size:1rem}.addon-umbrella,.addon.addon-umbrella{margin-top:16px;padding-top:14px;border-top:1px dashed var(--sand-deep)}.promo-box{margin-top:16px;text-align:left;background:var(--sand,#f5efe6);border:1px solid var(--sand-deep,#e8dcc8);border-radius:12px;padding:12px 14px}.promo-label{display:block;font-size:.85rem;font-weight:650;color:var(--ocean-deep,#072A6B);margin-bottom:6px}.promo-row{display:flex;gap:8px}.promo-row input{flex:1 1;min-width:0;font-size:1rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:10px 12px;border-radius:10px;border:2px solid var(--sand-deep,#e8dcc8);background:#fff;color:var(--ink,#1e2a32)}.promo-row input:focus{outline:none;border-color:var(--ocean,#0B3D91)}.guest-box input{text-transform:none;letter-spacing:0}.cta:disabled{opacity:.55;cursor:not-allowed}.promo-apply{flex:0 0 auto;padding:10px 14px;border:none;border-radius:10px;background:var(--ocean,#0B3D91);color:#fff;font-weight:700;font-size:.9rem;cursor:pointer}.promo-apply:active{background:var(--ocean-deep,#072A6B)}.promo-apply:disabled{opacity:.55;cursor:not-allowed}.cooler-choices{margin-top:8px}.cooler-choices .session-option:last-child{margin-bottom:0}.promo-hint{margin-top:8px;font-size:.75rem;color:var(--muted,#5a6b75);line-height:1.35}.promo-status{margin-top:6px;font-size:.78rem;font-weight:650;min-height:1.2em}.promo-status.promo-ok{color:#1a6b5c}.promo-status.promo-bad{color:var(--coral,#e07a5f)}.line-subtotal{border-top:1px solid var(--sand-deep,#e8dcc8);margin-top:6px;padding-top:8px;font-weight:600}.line-promo{color:#1a6b5c;font-weight:650}.menu-section-hint{font-size:.78rem;color:var(--muted,#5a6b75);margin:-4px 0 10px}.menu-list li.menu-item{cursor:pointer;border-radius:10px;padding:10px 8px;margin:0 -8px;transition:background .12s ease}.menu-list li.menu-item:active,.menu-list li.menu-item:focus{background:rgba(11,61,145,.08);outline:none}.menu-tap-hint{display:block;font-size:.68rem;font-weight:650;color:var(--ocean,#0B3D91);margin-top:3px}body.lightbox-open{overflow:hidden}.menu-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(14,40,55,.72);display:flex;align-items:center;justify-content:center;padding:16px;-webkit-overflow-scrolling:touch}.menu-lightbox[hidden]{display:none!important}.menu-lightbox-panel{position:relative;width:min(100%,400px);max-height:min(90dvh,640px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.28)}.menu-lightbox-close{position:absolute;top:8px;right:10px;z-index:2;width:40px;height:40px;border:none;border-radius:999px;background:rgba(30,42,50,.72);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}.menu-lightbox-media{position:relative;background:#1e2a32;aspect-ratio:4/3;overflow:hidden}.menu-lightbox-img{display:block;width:100%;height:100%;object-fit:cover}.menu-lightbox-badge{position:absolute;left:10px;bottom:10px;font-size:.7rem;font-weight:700;letter-spacing:.02em;color:#fff;background:rgba(0,0,0,.55);padding:4px 8px;border-radius:999px}.menu-lightbox-meta{padding:14px 16px 18px}.menu-lightbox-name{font-size:1.15rem;color:var(--ocean-deep,#072A6B);margin:0 0 6px}.menu-lightbox-desc{font-size:.88rem;color:var(--muted,#5a6b75);margin:0 0 8px;line-height:1.4}.menu-lightbox-price{font-size:1rem;font-weight:700;color:var(--ocean-deep,#072A6B);margin:0}.square-pay-note{margin-top:18px;text-align:left;background:#eef6f4;border:1px solid rgba(26,107,92,.28);border-radius:12px;padding:12px 14px}.square-pay-title{font-size:.95rem;font-weight:700;color:#1a6b5c;margin-bottom:4px}.square-pay-note p{font-size:.82rem;color:var(--muted,#5a6b75);margin:0 0 4px;line-height:1.4}.square-pay-note p:last-child{margin-bottom:0}.square-pay-cta{margin-top:12px;opacity:.72;cursor:not-allowed;background:#1a6b5c;box-shadow:none}.square-pay-cta:disabled,.square-pay-cta[aria-disabled=true]{pointer-events:none}.square-pay-foot{margin-top:8px;font-size:.72rem;color:var(--muted,#5a6b75);text-align:center}.menu-viewonly{margin:8px 0 10px;padding:10px 12px;border-radius:12px;background:#fff4e8;border:1px solid rgba(196,120,40,.35);color:#5c3a12;font-size:.86rem;line-height:1.4;font-weight:550}.menu-viewonly strong{display:block;font-weight:750;font-size:.9rem;color:#8a4510;margin-bottom:2px}.menu-viewonly-sub{display:block;margin-top:4px;font-size:.78rem;font-weight:500;color:#7a5a38}.pool-note{font-size:.88rem;color:var(--muted,#5a6b75);margin:0;line-height:1.45}.pool-note-section h3{margin-bottom:8px}.sunset-avail-note{margin-top:8px;font-size:.82rem;font-weight:650;color:#8a5a12;background:#fff4e0;border:1px solid rgba(196,140,40,.35);border-radius:10px;padding:8px 12px}.session-sheet{margin-top:12px;border:2px solid rgba(7,42,107,.2);border-radius:14px;background:#EEF2F9;padding:12px}.session-sheet[hidden]{display:none!important}.session-sheet-title{margin:0 0 4px;font-size:1rem;color:var(--ocean-deep,#072A6B)}.session-sheet-note{margin:0 0 10px;font-size:.75rem;color:var(--muted,#5a6b75)}.session-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;margin-bottom:8px;background:#fff;border:2px solid var(--sand-deep,#e8dcc8);border-radius:12px;cursor:pointer}.session-option:has(input:checked){border-color:var(--ocean,#0B3D91);background:#E8EEF7}.session-option:has(input:disabled){opacity:.55;cursor:not-allowed}.session-option input{margin-top:3px}.session-option-name{display:block;font-weight:700;font-size:.9rem;color:var(--ocean-deep,#072A6B)}.session-option-meta{display:block;font-size:.75rem;color:var(--muted,#5a6b75);margin-top:2px}.session-sheet-status{min-height:1.2em;font-size:.78rem;font-weight:650;color:#8a3a2a;margin:4px 0 8px}.session-confirm{width:100%;border:none;border-radius:12px;padding:12px 14px;font-weight:700;font-size:.95rem;background:var(--ocean,#0B3D91);color:#fff;cursor:pointer}.session-confirm:disabled{opacity:.5;cursor:not-allowed}.swatch.sunset-only{background:linear-gradient(135deg,#9aa5ad 45%,#e8a838 0)}.swatch.day-open{background:linear-gradient(135deg,#2a9d8f 45%,#5c3d8a 0)}.seat.sunset-only{background:linear-gradient(160deg,#b0b8bf 0 42%,#e8a838 42% 100%)!important;color:#1e2a32!important;box-shadow:0 0 0 2px rgba(200,130,30,.45)}.seat.day-open,.seat.sunset-only{position:relative;cursor:pointer;opacity:1!important;height:auto;min-height:56px;padding:6px 4px 8px}.seat.day-open{background:linear-gradient(160deg,#2a9d8f 0 42%,#5c3d8a 42% 100%)!important;color:#fff!important;box-shadow:0 0 0 2px rgba(92,61,138,.5)}.seat.day-open .seat-badge,.seat.sunset-only .seat-badge{display:block;font-size:.48rem;font-weight:750;line-height:1.15;margin-top:3px;text-transform:none;letter-spacing:0;max-width:64px}.seat.both-sold{background:var(--rented)!important;color:#fff!important;opacity:1;cursor:not-allowed}.seat.both-sold .seat-badge{display:block;font-size:.5rem;font-weight:700;margin-top:2px}.seat .seat-badge{display:none}.seat.both-sold .seat-badge,.seat.day-open .seat-badge,.seat.sunset-only .seat-badge{display:block}.inventory-demo-hint{font-size:.75rem;color:#8a5a12;background:#fff6e8;border-radius:8px;padding:6px 10px;margin:8px 0 4px;line-height:1.35}.session-option.sold-out{opacity:.55}.session-option-meta.sold{color:#8b3a2a;font-weight:700}.session-option-meta.open{color:#1a6b5c;font-weight:700}.pilot-note{margin:0 0 16px;padding:10px 12px;border-radius:10px;background:var(--brand-soft);color:var(--brand-deep);font-size:.92rem;border:1px solid rgba(11,61,145,.18)}.card-live{outline:2px solid var(--brand);outline-offset:0}.chip.live{background:var(--brand);color:var(--foam);font-weight:700}.card-soon{opacity:.78;cursor:default;pointer-events:none;background:#faf7f2}.card-soon .card-name{color:#4a5568}.chip.soon{background:#e4d8c4;color:#5c4a32;font-weight:700;letter-spacing:.02em}.card-addr{margin-top:4px;font-size:.82rem;color:#6b7280;line-height:1.3}.card-soon .card-addr{color:#8b909a}.staff-lock{margin-top:10px;font-size:.85rem;font-weight:650;color:#8a3b24;background:#fff8f4;border:1px dashed #d4654a;border-radius:10px;padding:10px 12px}.staff-field{display:block;margin-top:14px;text-align:left}.staff-field span{display:block;font-size:.85rem;font-weight:650;color:var(--ocean-deep);margin-bottom:6px}.staff-field input,.staff-field select{width:100%;font-size:1rem;padding:10px 12px;border-radius:10px;border:2px solid var(--sand-deep);background:#fff;color:var(--ink)}.staff-field select:disabled{color:var(--ink);opacity:1}.pin-input{letter-spacing:.55em;text-align:center;font-size:1.5rem;font-weight:700}.staff-error{margin-top:10px;color:#8a3b24;font-weight:650;font-size:.9rem}.cta-walk{background:var(--held);color:#3d2e04;box-shadow:none}.cta-walk:disabled{opacity:.55}.seat.walk-pick{background:var(--held);color:#5a4508;outline:2px solid var(--ocean-deep);outline-offset:1px}.staff-links{display:flex;flex-direction:column;gap:10px;margin-top:8px}.staff-links a{display:block;padding:14px 16px;border-radius:12px;background:var(--foam);color:var(--ocean-deep);font-weight:750;text-decoration:none;border:1px solid var(--sand-deep)}.staff-signout{margin-top:18px;background:transparent;border:none;color:var(--muted);font-weight:650;font-size:.9rem;cursor:pointer;padding:8px 0}.text-log{margin-top:8px}.text-meta{font-size:.75rem;color:var(--muted);margin:14px 0 6px}.text-bubble{margin:0;white-space:pre-wrap;font-family:inherit;font-size:.92rem;line-height:1.45;background:#e7f2ea;color:var(--ink);border-radius:16px;border-bottom-left-radius:4px;padding:12px 14px}.loc-address{margin:8px 0 0;font-size:.92rem;color:#4b5563;line-height:1.4}.loc-address a{color:var(--brand);font-weight:600;text-decoration:none}.loc-address a:hover{text-decoration:underline}.loc-subtitle{margin:4px 0 0;font-size:.88rem;color:#6b7280}.card-hint{margin-top:2px;font-size:.78rem;color:#9ca3af}