:root{--ink:#111A2E;--ink-2:#3C4660;--muted:#697489;--muted-2:#97A1B5;--navy:#0E1626;--navy-2:#16203A;--navy-3:#0A101E;--cyan:#04B2F4;--cyan-deep:#04699C;--cyan-wash:#E3F5FE;--on-cyan:#06222E;--white:#fff;--soft:#F3F7FC;--soft-2:#E9F1F9;--line:rgba(17,26,46,.12);--line-soft:rgba(17,26,46,.07);--ok:#1F8A4C;--hi:#D32F2F;--r:16px;--r-lg:24px;--sh:0 1px 2px rgba(17,26,46,.04),0 18px 44px -28px rgba(17,26,46,.28);--font:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--soft);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;padding:clamp(16px,4vw,48px)}.demo-banner{max-width:980px;margin:0 auto 14px;background:#c777001f;border:1px solid rgba(199,119,0,.4);color:#8a5300;font-size:13px;font-weight:700;padding:9px 16px;border-radius:999px;text-align:center}.demo-banner[hidden]{display:none}.booker{max-width:980px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);overflow:hidden;display:grid;grid-template-columns:340px 1fr}@media(max-width:820px){.booker{grid-template-columns:1fr}}.summary{background:radial-gradient(120% 80% at 0% 0%,rgba(4,178,244,.18),transparent 55%),linear-gradient(165deg,#16203a,#0a101e);color:#e9eff8;padding:clamp(22px,3vw,30px)}.summary .logo{height:26px;width:auto;display:block}.summary .eyebrow{display:inline-flex;align-items:center;margin-top:24px;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#5fd0ff}.summary h1{font-size:clamp(20px,2.4vw,25px);color:#fff;letter-spacing:-.02em;margin-top:8px;line-height:1.2}.meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.pill{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#d7e6f4;padding:6px 11px;border-radius:999px}.summary p.blurb{color:#e9eff8c7;font-size:14px;margin-top:16px}.points{list-style:none;margin-top:18px;display:grid;gap:10px}.points li{position:relative;padding-left:26px;font-size:13.5px;color:#e9eff8e6}.points li:before{content:"";position:absolute;left:0;top:6px;width:14px;height:14px;border-radius:50%;background:#04b2f433;box-shadow:inset 0 0 0 2px var(--cyan)}.host{display:flex;align-items:center;gap:11px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}.host .av{position:relative;width:46px;height:46px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#3cbaf3,#0a93d8);display:grid;place-items:center;font-weight:800;color:var(--on-cyan);font-size:16px;flex:none}.host .av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.host .hn{font-size:13.5px;font-weight:700;color:#fff}.host .hr{font-size:12px;color:#e9eff899}.main{padding:clamp(22px,3vw,32px);min-height:480px;position:relative}.main section{padding:0}.steps{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-2);margin-bottom:18px}.steps b{color:var(--cyan-deep)}.steps .sep{flex:none;width:14px;height:1.5px;background:var(--line)}.tzrow{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:16px;flex-wrap:wrap}.tzrow select{font-family:inherit;font-size:13px;font-weight:600;color:var(--ink);border:1.5px solid var(--line);border-radius:9px;padding:6px 10px;background:#fff}.field-label{font-size:12.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin:4px 0 9px}.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.day{flex:none;min-width:64px;text-align:center;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:9px 8px;cursor:pointer;transition:.15s var(--ease)}.day:hover{border-color:var(--cyan)}.day.sel{border-color:transparent;background:var(--navy);color:#fff}.day .dow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.day.sel .dow{color:#ffffffb3}.day .dnum{font-size:19px;font-weight:800;line-height:1.1;margin-top:2px}.day .dmon{font-size:10.5px;color:var(--muted)}.day.sel .dmon{color:#fff9}.slotgroup{margin-top:20px}.slotgroup h4{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:10px}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:9px}.slot{font-family:inherit;font-size:14px;font-weight:700;color:var(--cyan-deep);background:#fff;border:1.5px solid var(--line);border-radius:11px;padding:11px 6px;cursor:pointer;transition:.14s var(--ease)}.slot:hover{border-color:var(--cyan);background:var(--cyan-wash)}.slot.sel{background:var(--cyan);border-color:var(--cyan);color:var(--on-cyan)}.empty,.loading,.error{padding:40px 10px;text-align:center;color:var(--muted);font-size:14px}.error{color:var(--hi);font-weight:600}.skel{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:9px;margin-top:20px}.skel span{height:42px;border-radius:11px;background:linear-gradient(90deg,var(--soft-2),#fff,var(--soft-2));background-size:200% 100%;animation:sh 1.2s infinite}@keyframes sh{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skel span{animation:none}}.selected-chip{display:flex;align-items:center;gap:10px;background:var(--cyan-wash);border:1px solid rgba(4,178,244,.3);border-radius:12px;padding:12px 16px;font-size:14px;font-weight:700;color:var(--on-cyan);margin-bottom:20px}.selected-chip .chg{margin-left:auto;font-size:12.5px;font-weight:800;color:var(--cyan-deep);background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer}.form{display:grid;gap:14px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:520px){.grid2{grid-template-columns:1fr}}.field label{display:block;font-size:13px;font-weight:700;color:var(--ink-2);margin-bottom:6px}.field input{width:100%;font-family:inherit;font-size:15px;color:var(--ink);border:1.5px solid var(--line);border-radius:11px;padding:12px 14px;background:#fff;transition:.15s}.field input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px #04b2f429}.field .err{color:var(--hi);font-size:12px;font-weight:600;margin-top:5px;display:none}.field.invalid .err{display:block}.field.invalid input,.field.invalid textarea{border-color:var(--hi)}.field textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);border:1.5px solid var(--line);border-radius:11px;padding:12px 14px;background:#fff;resize:vertical;min-height:84px;line-height:1.5;transition:.15s}.field textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px #04b2f429}.hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.addguest{font-size:13px;font-weight:700;color:var(--cyan-deep);background:none;border:none;cursor:pointer;justify-self:start;padding:2px 0}.actions{display:flex;align-items:center;gap:12px;margin-top:8px}.btn{font-family:inherit;font-weight:800;font-size:15px;border-radius:999px;padding:13px 26px;cursor:pointer;border:1.5px solid transparent;transition:.15s var(--ease)}.btn-primary{background:var(--cyan);color:var(--on-cyan)}.btn-primary:hover{filter:brightness(1.04)}.btn-primary[disabled]{background:var(--soft-2);color:var(--muted-2);cursor:not-allowed}.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink-2)}.btn-ghost:hover{border-color:var(--muted-2)}.success{text-align:center;padding:24px 10px}.success .tick{width:62px;height:62px;border-radius:50%;background:#1f8a4c1f;display:grid;place-items:center;margin:0 auto 18px}.success .tick svg{width:30px;height:30px;stroke:var(--ok);stroke-width:3;fill:none}.success h2{font-size:23px;letter-spacing:-.02em}.success .when{font-size:16px;font-weight:700;color:var(--cyan-deep);margin-top:10px}.success p{color:var(--muted);font-size:14px;margin-top:8px}.success .cal{display:inline-block;margin-top:18px;font-size:13.5px;font-weight:800;color:var(--cyan-deep);border:1.5px solid var(--line);border-radius:999px;padding:10px 18px;text-decoration:none}.hide{display:none}
