/* D6 Daylight. The other five directions' brand mark and gradient, moved onto
   a bright, precise white canvas. Space Grotesk display, Inter body, IBM Plex
   Mono meta. Every dark-only default from base.css (the select chevron, the
   skip link) gets re-themed here since this is the one light page. */
:root{--bg:#FFFFFF;--ink:#0A0A0C;--dim:rgba(10,10,12,.62);--faint:rgba(10,10,12,.42);--line:rgba(10,10,12,.18);--hair:rgba(10,10,12,.1);--a:#8B5CF6;--b:#FF6FA8;--pink:#C81B67;--font:'Space Grotesk',system-ui,-apple-system,sans-serif;--body:'Inter',system-ui,-apple-system,sans-serif;--mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,monospace;--gutter:clamp(1.25rem,5vw,5.5rem);--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%230A0A0C' stroke-opacity='.55' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
body{background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.5}
.skip{background:var(--ink);color:#fff}
.top{display:flex;align-items:center;justify-content:space-between;padding:1.35rem var(--gutter)}
.wordmark{font-family:var(--font);font-weight:700;font-size:.95rem;letter-spacing:-.01em}
.top__meta{font-family:var(--mono);font-size:.84rem;color:var(--dim)}
.top__meta b{font-weight:500;color:var(--ink)}
.progress{height:2px;background:var(--hair)}
.progress__fill{background:linear-gradient(90deg,var(--a),var(--b))}
main{padding:clamp(3.5rem,11vh,8rem) var(--gutter) 5rem}
.orb{width:clamp(84px,9vw,108px);aspect-ratio:1;border-radius:50%;overflow:hidden;margin-bottom:clamp(1.6rem,3vw,2.2rem);box-shadow:0 18px 40px -18px rgba(139,92,246,.4),0 4px 14px -6px rgba(255,111,168,.28)}
.orb video{width:100%;height:100%;object-fit:cover}
.orb.bump{animation:bump .6s cubic-bezier(.2,.7,.2,1)}
@keyframes bump{0%{transform:scale(1)}35%{transform:scale(1.08)}100%{transform:scale(1)}}
.h1{font-family:var(--font);font-size:clamp(2.9rem,8.4vw,7rem);font-weight:700;letter-spacing:-.045em;line-height:.98;max-width:11em;text-wrap:balance}
.h1 em{font-style:normal;background:linear-gradient(120deg,var(--a),var(--b));-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{margin-top:1.6rem;font-size:clamp(1.05rem,1.45vw,1.25rem);line-height:1.6;color:var(--dim);max-width:34em}
.intro__row{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;margin-top:2.4rem}
.start{display:inline-flex;gap:.6rem;align-items:center;background:var(--ink);color:#fff;border:0;border-radius:3px;padding:.95rem 1.6rem;font-family:var(--font);font-size:1.05rem;font-weight:700;letter-spacing:-.01em;transition:background .25s}
.start span{transition:transform .3s ease}
.start:hover{background:linear-gradient(120deg,var(--a),var(--b))}
.start:hover span{transform:translateX(6px)}
.meta{font-family:var(--mono);font-size:.82rem;color:var(--faint)}
.card{position:relative;max-width:38em;padding:clamp(1.8rem,4vw,2.8rem);background:#fff;border:1px solid var(--hair);border-radius:4px;box-shadow:0 1px 2px rgba(10,10,12,.04),0 24px 48px -28px rgba(10,10,12,.18)}
.booking.card{max-width:640px}
.x{position:absolute;width:11px;height:11px;pointer-events:none}
.x::before,.x::after{content:"";position:absolute;background:var(--line)}
.x::before{left:50%;top:0;width:1px;height:100%;transform:translateX(-50%)}
.x::after{top:50%;left:0;height:1px;width:100%;transform:translateY(-50%)}
.x1{top:-5px;left:-5px}
.x2{top:-5px;right:-5px}
.x3{bottom:-5px;left:-5px}
.x4{bottom:-5px;right:-5px}
.q{display:block;font-family:var(--font);font-size:clamp(1.7rem,3.6vw,2.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.08;max-width:14em;text-wrap:balance;margin-bottom:clamp(1.3rem,2.6vw,1.9rem)}
.qualify-step.active{animation:qin .5s cubic-bezier(.2,.7,.2,1) both}
@keyframes qin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.field{max-width:34em}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);font-family:var(--body);font-size:clamp(1.05rem,1.8vw,1.3rem);font-weight:500;letter-spacing:-.005em;line-height:1.35;padding:.55em 0}
.field input::placeholder,.field textarea::placeholder{color:var(--faint);font-weight:400}
.field textarea{resize:none;min-height:2.7em;field-sizing:content}
.field select{appearance:none;-webkit-appearance:none;padding-right:2em;background:var(--chev) no-repeat right .2em center;cursor:pointer}
.field select option{background:#fff;color:var(--ink)}
.field input:focus,.field textarea:focus{border-bottom-color:transparent;background-image:linear-gradient(90deg,var(--a),var(--b));background-repeat:no-repeat;background-size:100% 2px;background-position:bottom}
.field select:focus{border-bottom-color:transparent;background-image:var(--chev),linear-gradient(90deg,var(--a),var(--b));background-repeat:no-repeat,no-repeat;background-size:18px 18px,100% 2px;background-position:right .2em center,bottom}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-bottom-color:var(--pink)}
.field-error{font-family:var(--mono);font-size:.84rem;color:var(--pink)}
.consent{font-size:.88rem;color:var(--dim);max-width:36em}
.consent input{accent-color:var(--a)}
.field--prep{margin-bottom:1.7rem;max-width:34em}
.field--prep:last-of-type{margin-bottom:0}
.prep-q{display:block;font-family:var(--font);font-size:1.15rem;font-weight:700;letter-spacing:-.015em;line-height:1.3;margin-bottom:.3rem}
.prep-hint{font-size:.84rem;color:var(--faint);margin:0 0 .7rem}
.qualify-result{padding:.4rem 0 0}
.nav{margin-top:clamp(1.6rem,3.4vw,2.4rem)}
.nav--single{justify-content:flex-start;margin-top:2rem}
.back{background:none;border:0;padding:.4rem 0;color:var(--dim);font-weight:500;font-size:.95rem}
.back:hover{color:var(--ink)}
.continue{background:var(--ink);color:#fff;border:0;border-radius:3px;padding:.85rem 1.4rem;font-family:var(--font);font-size:1rem;font-weight:700;letter-spacing:-.01em;transition:background .25s}
.continue:hover{background:linear-gradient(120deg,var(--a),var(--b))}
.continue:disabled{opacity:.45}
.fine{margin-top:1.8rem;font-size:.84rem;color:var(--faint);max-width:36em}
.h2{font-family:var(--font);font-size:clamp(1.7rem,4vw,2.6rem);font-weight:700;letter-spacing:-.035em;line-height:1.05;margin-bottom:.9rem;text-wrap:balance}
.booking .fine{margin:0 0 1.8rem}
.booking__frame{width:100%;min-height:640px;border:0;border-radius:4px;background:#F6F5F8}
.cal-month{font-family:var(--font);font-size:clamp(1.25rem,2.4vw,1.7rem);font-weight:700;letter-spacing:-.02em}
.cal-nav button{border-color:var(--line);color:var(--ink)}
.cal-nav button:hover:not(:disabled){border-color:var(--ink)}
.cal-tz{font-family:var(--mono);font-size:.8rem;color:var(--faint)}
.cal-wd{font-family:var(--mono);font-size:.72rem;color:var(--faint);opacity:1}
.cal-day{font-family:var(--body);font-size:1.05rem;font-weight:600;color:var(--ink);border-bottom:2px solid transparent}
.cal-day.is-open:hover{border-bottom-color:var(--line)}
.cal-day.is-selected{border-bottom-color:transparent;background:linear-gradient(90deg,var(--a),var(--b)) bottom/100% 2px no-repeat}
.cal-day.is-today{color:var(--pink)}
.cal-slot{border:0;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.88rem;color:var(--ink);padding:.7rem .2rem}
.cal-slot:hover{border-bottom-color:var(--ink)}
.cal-slot.is-picked{border-bottom-color:transparent;background:linear-gradient(90deg,var(--a),var(--b)) bottom/100% 2px no-repeat;color:var(--ink);font-weight:700}
.cal-when{font-size:1rem;color:var(--dim)}
.cal-when b{color:var(--ink);font-weight:700}
.cal-book{background:var(--ink);color:#fff;border:0;border-radius:3px;padding:.95rem 1.6rem;font-family:var(--font);font-weight:700}
.cal-book:hover{background:linear-gradient(120deg,var(--a),var(--b))}
.cal-note{font-size:.9rem;color:var(--dim)}
.foot{color:var(--faint);border-top-color:var(--hair)}
.foot__brand{color:var(--ink)}
@media (max-width:640px){main{padding-top:2.6rem;padding-bottom:2rem}.orb{width:72px;margin-bottom:1.3rem}.h1{font-size:clamp(2.3rem,11.5vw,3.4rem)}.q{font-size:clamp(1.4rem,7vw,1.9rem)}.field input,.field select,.field textarea{font-size:1.1rem}.cal-day{font-size:.95rem}.card{padding:1.4rem}}
