/* D1 Title Card. The question is the headline; nothing else on screen. Geist. */
:root{--bg:#0E0D12;--ink:rgba(255,255,255,.94);--dim:rgba(255,255,255,.64);--faint:rgba(255,255,255,.46);--line:rgba(255,255,255,.22);--hair:rgba(255,255,255,.09);--a:#8B5CF6;--b:#FF6FA8;--pink:#FF8FB8;--font:'Geist',system-ui,-apple-system,sans-serif;--mono:'Geist Mono',ui-monospace,SFMono-Regular,monospace;--gutter:clamp(1.25rem,5vw,5.5rem)}
body{background:var(--bg);background-image:radial-gradient(900px 640px at -10% 110%,rgba(139,92,246,.22),transparent 62%),radial-gradient(700px 500px at 110% -10%,rgba(255,111,168,.09),transparent 60%);background-attachment:fixed;color:var(--ink);font-family:var(--font);line-height:1.5}
.top{display:flex;align-items:center;justify-content:space-between;padding:1.35rem var(--gutter)}
.wordmark{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}
.h1{font-size:clamp(2.9rem,9vw,7.8rem);font-weight:800;letter-spacing:-.048em;line-height:.93;max-width:10.5em;text-wrap:balance}
.lede{margin-top:1.8rem;font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.55;color:var(--dim);max-width:34em}
.intro__row{display:flex;align-items:center;gap:1.8rem;flex-wrap:wrap;margin-top:2.6rem}
.start{display:inline-flex;gap:.6rem;align-items:center;background:none;border:0;border-bottom:2px solid var(--ink);padding:.3rem 0;color:var(--ink);font-size:clamp(1.3rem,2vw,1.7rem);font-weight:700;letter-spacing:-.02em}
.start span{transition:transform .3s ease}
.start:hover span{transform:translateX(6px)}
.meta{font-family:var(--mono);font-size:.84rem;color:var(--faint)}
.q{display:block;font-size:clamp(2.1rem,6.6vw,5.9rem);font-weight:800;letter-spacing:-.046em;line-height:.98;max-width:12.5em;text-wrap:balance;margin-bottom:clamp(1.4rem,3vw,2.4rem)}
.qualify-step.active{animation:title .55s cubic-bezier(.2,.7,.2,1) both}
@keyframes title{from{opacity:0;transform:translateY(22px)}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-size:clamp(1.25rem,2.3vw,1.85rem);font-weight:500;letter-spacing:-.015em;line-height:1.3;padding:.5em 0}
.field input::placeholder,.field textarea::placeholder{color:var(--faint);font-weight:500}
.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:#151419;color:#fff}
.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:.86rem;color:var(--pink)}
.consent{font-size:.9rem;color:var(--dim);max-width:36em}
.consent input{accent-color:var(--a)}
.nav{margin-top:clamp(1.8rem,4vw,2.8rem);max-width:34em}
.back{background:none;border:0;padding:.4rem 0;color:var(--dim);font-weight:500;font-size:.95rem}
.back:hover{color:var(--ink)}
.continue{background:none;border:0;border-bottom:2px solid var(--ink);padding:.35rem 0;color:var(--ink);font-size:1.15rem;font-weight:700;letter-spacing:-.01em}
.continue:hover{border-bottom-color:transparent;background:linear-gradient(90deg,var(--a),var(--b)) bottom/100% 2px no-repeat}
.continue:disabled{opacity:.6}
.fine{margin-top:2.2rem;font-size:.86rem;color:var(--faint);max-width:36em}
.booking .h2{font-size:clamp(2.1rem,6vw,5rem);font-weight:800;letter-spacing:-.045em;line-height:.98;margin-bottom:1rem;text-wrap:balance}
.booking .fine{margin:0 0 2.4rem}
.cal{max-width:640px}
.cal-month{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;letter-spacing:-.035em}
.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:.84rem;color:var(--faint)}
.cal-wd{font-family:var(--mono);font-size:.76rem;color:var(--faint);opacity:1}
.cal-day{font-size:1.15rem;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:.95rem;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:#fff}
.cal-when{font-size:1.05rem;color:var(--dim)}
.cal-when b{color:var(--ink);font-weight:700}
.cal-book{background:#fff;color:#0E0D12;border:0;border-radius:999px;padding:.95rem 1.6rem;font-weight:700}
.cal-note{font-size:.95rem;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}.h1{font-size:clamp(2.6rem,13.5vw,4rem)}.q{font-size:clamp(1.85rem,9.6vw,3rem)}.field input,.field select,.field textarea{font-size:1.2rem}.cal-day{font-size:1rem}}
