*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#090909;color:#f4f4f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}.topbar{position:fixed;inset:0 0 auto;z-index:20;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,64px);background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,0));pointer-events:none}.topbar a{pointer-events:auto}.brand{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;font-size:28px;font-weight:650;letter-spacing:-.03em}.brand-logo{display:block;width:116px;height:auto;object-fit:contain}.visit{color:#c9c9c4;text-decoration:none;font-size:14px}.visit:hover{color:white}.hero{position:relative;min-height:100svh;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,560px);align-items:center;gap:clamp(28px,5vw,86px);padding:112px clamp(24px,5vw,82px) 56px}.hero-media{position:absolute;inset:0;background-image:url("https://static.wixstatic.com/media/707ddb_ea1bd33f22694c71bcc3c4b8f0a70d1f~mv2.png");background-size:cover;background-position:center 37%;filter:saturate(.88) contrast(1.02)}.veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.16) 35%,rgba(0,0,0,.72) 72%,rgba(0,0,0,.9) 100%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 45%)}.hero-copy,.form-shell{position:relative;z-index:2}.hero-copy{align-self:end;padding-bottom:38px;max-width:620px}.kicker,.section-kicker{font-size:11px;letter-spacing:.18em;color:#b9b9b3;font-weight:700}.hero-copy h1{font-size:clamp(56px,6vw,92px);line-height:.9;letter-spacing:-.06em;margin:14px 0 18px;font-weight:780}.hero-copy p{font-size:clamp(18px,1.6vw,25px);line-height:1.25;max-width:520px;margin:0;color:#deded9}.form-shell{width:100%;max-width:560px;justify-self:end;background:rgba(18,18,18,.72);border:1px solid rgba(255,255,255,.16);box-shadow:0 32px 80px rgba(0,0,0,.34);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-radius:24px;padding:28px}.form-head{display:flex;justify-content:space-between;font-size:12px;color:#aaa9a3;text-transform:uppercase;letter-spacing:.1em}.progress{height:2px;background:rgba(255,255,255,.11);margin:18px 0 34px;overflow:hidden}.progress span{display:block;height:100%;width:12.5%;background:#f4f4f0;transition:width .25s ease}.question{display:none;min-height:180px}.question.active{display:block}.question label{display:block;font-size:clamp(27px,2.25vw,38px);font-weight:570;line-height:1.08;letter-spacing:-.035em;margin-bottom:30px}.question input,.question select{display:block;width:100%;color:#fff;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.32);border-radius:0;padding:15px 0;font-size:17px;outline:none}.question input::placeholder{color:#777}.question input:focus,.question select:focus{border-color:#fff}.question select{appearance:none;color:#ddd}.choice-list{display:grid;gap:10px}.choice-list button{width:100%;text-align:left;padding:16px 18px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.035);color:#ddd;cursor:pointer}.choice-list button:hover,.choice-list button.selected{background:#f2f2ef;color:#111;border-color:#f2f2ef}.skip{display:inline-block;margin-top:12px;padding:0;background:none;border:0;color:#8d8d88;text-decoration:underline;cursor:pointer}.phone-row{display:grid;grid-template-columns:128px 1fr;gap:18px;align-items:end}.phone-row select{cursor:pointer}.custom-code{margin-top:14px;max-width:230px}.controls{display:flex;justify-content:space-between;align-items:center;margin-top:30px}.back{border:0;background:transparent;color:#7a7a76;padding:14px 0;cursor:pointer;visibility:hidden}.back.show{visibility:visible}.next{margin-left:auto;background:#f2f2ef;color:#111;border:0;border-radius:999px;padding:14px 22px;min-width:150px;font-weight:650;cursor:pointer}.next:hover{background:#fff}.next:disabled{opacity:.5;cursor:default}.scarcity{font-size:12px;line-height:1.45;color:#777;margin:20px 0 0;max-width:400px}.form-error{color:#ff8c8c;font-size:13px;margin-top:14px;min-height:18px}.hidden{display:none!important}.schedule,.success{background:#0a0a0a;padding:90px 22px}.schedule-inner,.success-inner{width:min(760px,100%);margin:auto}.schedule h2,.success h2{font-size:clamp(40px,6vw,74px);line-height:.95;letter-spacing:-.05em;margin:16px 0 18px}.schedule p,.success p{color:#aaa;line-height:1.6}.date-group{border-top:1px solid #2a2a2a;padding:25px 0}.date-head{font-weight:650;margin-bottom:14px}.times{display:flex;flex-wrap:wrap;gap:10px}.time-btn{border:1px solid #323232;background:#151515;color:#eee;padding:13px 18px;border-radius:999px;cursor:pointer}.time-btn:hover{background:#eee;color:#111}.loading{color:#777;padding:22px 0}.is-busy{opacity:.45;pointer-events:none}.success-mark{width:48px;height:48px;border-radius:50%;background:#eee;color:#111;display:grid;place-items:center;font-size:24px;margin-bottom:25px}.summary{display:grid;grid-template-columns:1fr 1fr;border:1px solid #292929;margin:30px 0;max-width:640px}.summary>div{padding:20px}.summary>div+div{border-left:1px solid #292929}.summary span{display:block;color:#737373;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.meet{display:inline-block;text-decoration:none;color:#111;background:#eee;border-radius:999px;padding:15px 22px;font-weight:650}
@media(max-width:860px){.topbar{height:72px;padding:0 20px}.brand{font-size:24px}.visit{display:none}.hero{display:block;min-height:0;padding:0;background:#090909;overflow:visible}.hero-media{position:relative;height:72svh;min-height:560px;background-size:cover;background-position:center 20%;filter:saturate(.9) contrast(1.04)}.veil{position:absolute;top:0;left:0;right:0;height:72svh;min-height:560px;background:linear-gradient(0deg,#090909 0%,rgba(9,9,9,.2) 42%,rgba(9,9,9,.08) 100%)}.hero-copy{position:absolute;z-index:3;top:72px;left:20px;right:20px;height:calc(72svh - 72px);display:flex;flex-direction:column;justify-content:flex-end;padding:0 0 38px;pointer-events:none}.hero-copy h1{font-size:clamp(48px,13vw,72px);margin:10px 0 12px}.hero-copy p{font-size:18px;max-width:360px}.form-shell{position:relative;z-index:4;width:auto;max-width:none;margin:0 12px;background:#111;border:1px solid #222;border-radius:22px;padding:24px;transform:translateY(-1px);backdrop-filter:none}.question{min-height:220px}.question label{font-size:30px;margin-bottom:32px}.question input,.question select{font-size:16px}.phone-row{grid-template-columns:112px 1fr;gap:14px}.scarcity{font-size:11px}.schedule,.success{padding:70px 20px}.summary{grid-template-columns:1fr}.summary>div+div{border-left:0;border-top:1px solid #292929}}
.confirm-slot{background:#0a0a0a;padding:90px 22px;min-height:calc(100svh - 84px);display:flex;align-items:center}
.confirm-inner{width:min(760px,100%);margin:auto}
.confirm-slot h2{font-size:clamp(40px,6vw,74px);line-height:.95;letter-spacing:-.05em;margin:16px 0 18px}
.confirm-intro,.confirm-note{color:#aaa;line-height:1.6;max-width:660px}
.booking-review{display:grid;grid-template-columns:1.35fr 1fr;border:1px solid #292929;margin:32px 0 22px}
.booking-review>div{padding:22px;min-height:104px}
.booking-review>div:nth-child(even){border-left:1px solid #292929}
.booking-review>div:nth-child(n+3){border-top:1px solid #292929}
.booking-review span{display:block;color:#737373;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:9px}
.booking-review strong{display:block;font-size:18px;line-height:1.25}
.booking-review small{display:block;color:#888;margin-top:8px;font-size:13px}
.booking-review small b{color:#bbb;font-weight:600}
.review-main{grid-column:1 / -1}
.confirm-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px}
.change-slot{border:0;background:transparent;color:#8f8f8a;padding:14px 0;cursor:pointer}
.confirm-booking{border:0;background:#f2f2ef;color:#111;border-radius:999px;padding:15px 24px;font-weight:650;cursor:pointer}
.confirm-booking:hover{background:#fff}.confirm-booking:disabled,.change-slot:disabled{opacity:.5;cursor:default}
@media(max-width:860px){
 .confirm-slot{padding:70px 20px;min-height:auto}
 .booking-review{grid-template-columns:1fr}
 .booking-review>div:nth-child(even){border-left:0}
 .booking-review>div+div{border-top:1px solid #292929}
 .review-main{grid-column:auto}
 .confirm-actions{align-items:stretch;flex-direction:column-reverse}
 .change-slot,.confirm-booking{width:100%}
 .change-slot{text-align:center}
}

.email-suggestion{margin-top:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.email-suggestion span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#6f6f6b}
.email-suggestion button{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);color:#d8d8d3;border-radius:999px;padding:8px 12px;font-size:13px;cursor:pointer}
.email-suggestion button:hover{background:#f2f2ef;color:#111;border-color:#f2f2ef}

.website-suggestions,.email-suggestion{margin-top:10px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.website-suggestions button,.email-suggestion button{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.045);
  color:#d8d8d3;
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
  cursor:pointer
}
.website-suggestions button:hover,.email-suggestion button:hover{
  background:#f2f2ef;color:#111;border-color:#f2f2ef
}
.website-suggestions + .skip{margin-top:14px}

.form-head{gap:16px;align-items:flex-start;line-height:1.5}.form-head>span:first-child{max-width:calc(100% - 52px)}#stepCount{white-space:nowrap;flex-shrink:0}@media(max-width:860px){.brand-logo{width:100px}}
/* Full-screen campaign backdrop with the copy and form overlaid. */
.hero{grid-template-columns:minmax(0,1fr) minmax(420px,560px);grid-template-rows:auto;gap:clamp(28px,5vw,86px);align-content:normal;background:#090909;padding:112px clamp(24px,5vw,82px) 80px;min-height:100svh}
.hero-media.campaign-showcase{position:absolute;inset:0;width:100%;height:100%;min-height:0;background:none;filter:none;overflow:hidden;isolation:isolate}
.campaign-showcase::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.2) 38%,rgba(0,0,0,.64) 75%,rgba(0,0,0,.78)),linear-gradient(0deg,rgba(0,0,0,.78),transparent 70%)}
.campaign-images{position:absolute;inset:0;background:#181818}
.campaign-slide{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:0;transition:opacity 1s ease;pointer-events:none}
.campaign-slide.active{opacity:1}
.hero-copy{align-self:end;padding:0 0 38px;max-width:620px}.hero-copy h1{font-size:clamp(56px,6vw,92px);margin:14px 0 18px;line-height:.9}.hero-copy p{font-size:clamp(18px,1.6vw,25px);max-width:520px}
.form-shell{align-self:center;background:rgba(18,18,18,.72);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
/* On phones the artwork scales to screen width instead of cropping its lettering. */
@media(max-width:860px){
 .hero{display:flex;flex-direction:column;gap:26px;padding:calc(72px + 64vw) 16px 40px;min-height:100svh;overflow:hidden}
 .hero-media.campaign-showcase{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
 .campaign-images{inset:72px 0 0;background:#090909}
 .campaign-slide{width:100%;height:auto;aspect-ratio:1080/1350;object-fit:contain;object-position:center top}
 .campaign-showcase::after{background:linear-gradient(180deg,transparent 0,transparent calc(72px + 56vw),rgba(9,9,9,.58) calc(72px + 78vw),#090909 calc(72px + 125vw))}
 .hero-copy{position:relative;top:auto;left:auto;right:auto;height:auto;width:100%;padding:0 4px;pointer-events:auto}
 .hero-copy h1{font-size:clamp(40px,12vw,64px);margin:0 0 14px;line-height:.96}
 .hero-copy p{font-size:clamp(16px,4.5vw,18px);max-width:420px;line-height:1.35}
 .form-shell{width:100%;min-width:0;margin:0;transform:none;align-self:center;background:rgba(18,18,18,.86);border-color:rgba(255,255,255,.16);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 .topbar{background:#090909}
 #build-version{position:static!important;display:block;text-align:right;padding:8px 12px}
}

.time-btn.unavailable,.time-btn.unavailable:hover{color:#8e8e8e;background:repeating-linear-gradient(135deg,#191919,#191919 5px,#222 5px,#222 6px);border-color:#343434;cursor:not-allowed;opacity:1}.time-btn.unavailable .slot-status{display:block;font-size:10px;line-height:1.2;margin-top:5px;letter-spacing:.04em;color:#999}.time-btn.unavailable{text-decoration:line-through}.slot-status{text-decoration:none}.times{align-items:stretch}

.success .invite-message{font-size:18px;line-height:1.6;max-width:640px}.success .invite-message strong{color:#f4f4f2;font-size:clamp(20px,3vw,26px);font-weight:650}
.schedule{min-height:100svh;padding-top:100px}
@media(prefers-reduced-motion:reduce){.campaign-slide{transition:none}}
