:root{--blue:#1769ff;--navy:#101b3d;--text:#1b2438;--muted:#667085;--line:#e6eaf2;--soft:#f4f7ff}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:linear-gradient(135deg,#f7f9ff 0%,#fff 50%,#eef4ff 100%);font-family:Inter,Arial,sans-serif;color:var(--text)}
.shell{width:min(100%,650px);margin:auto;padding:24px 16px;display:grid;min-height:100vh;align-items:center}
.card{position:relative;background:#fff;border:1px solid #edf0f6;border-radius:24px;box-shadow:0 18px 45px rgba(25,50,100,.1);padding:32px;overflow:hidden}
.screen{display:none;min-height:420px;flex-direction:column;justify-content:center}
.screen.active{display:flex}
.eyebrow,.counter{font-size:.74rem;letter-spacing:.12em;font-weight:800;color:var(--blue);margin:0 0 16px}
.counter{color:#8491a8}
h1,h2{letter-spacing:-.045em;line-height:1.08;margin:0;color:var(--navy)}
h1{font-size:clamp(2rem,7vw,3.2rem);font-weight:800}
h1 em{color:var(--blue);font-style:normal}
h2{font-size:clamp(1.65rem,5vw,2.35rem);font-weight:750;max-width:530px}
.benefits{list-style:none;padding:0;margin:32px 0 24px;display:grid;gap:14px}
.benefits li{font-size:1rem;display:flex;gap:12px;align-items:center}
.benefits span{font-weight:600}
.highlight{padding:13px 15px;margin:0 0 24px;background:#edf4ff;border-radius:10px;font-size:.86rem;font-weight:700;color:#2353ac}
.primary{border:0;border-radius:11px;background:var(--blue);color:#fff;font:700 .95rem Inter,sans-serif;cursor:pointer;min-height:54px;padding:14px 18px;box-shadow:0 8px 17px rgba(23,105,255,.22);transition:.18s transform,.18s background}
.primary:hover{transform:translateY(-1px);background:#0758e8}
.primary span{font-size:1.25em;margin-left:6px}
.start{width:100%}
.next{margin-top:22px;align-self:flex-start;min-width:175px}
input{width:100%;border:1.5px solid #d9e0eb;border-radius:11px;padding:16px;font:500 1rem Inter,sans-serif;color:var(--text);margin-top:28px;outline:none;transition:.15s border,.15s box-shadow}
input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(23,105,255,.12)}
.input-prefix{display:flex;align-items:center;border:1.5px solid #d9e0eb;border-radius:11px;margin-top:28px;transition:.15s border,.15s box-shadow}
.input-prefix:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(23,105,255,.12)}
.input-prefix span{padding-left:16px;font-weight:700;color:#7d8aa3}
.input-prefix input{border:0;margin:0;box-shadow:none!important}
.choices{margin-top:27px;display:grid;gap:10px}
.choices button{border:1.5px solid #dde4ef;background:#fff;color:#344054;border-radius:11px;padding:15px 16px;text-align:left;font:600 .95rem Inter,sans-serif;cursor:pointer;transition:.15s}
.choices button:hover,.choices button.selected{border-color:var(--blue);background:var(--soft);color:#0b55dc}
.field-error{min-height:19px;margin:8px 0 -8px;font-size:.82rem;color:#bd1e2d}
.progress-wrap{position:absolute;top:0;left:0;width:100%;height:5px;background:#edf0f5}
.progress{height:100%;background:var(--blue);width:0;transition:width .3s}
.back{position:absolute;bottom:20px;right:25px;border:0;background:transparent;color:#667085;font:600 .85rem Inter,sans-serif;cursor:pointer}
.end{text-align:center;align-items:center}
.end p{max-width:480px;color:var(--muted);line-height:1.65;margin:18px 0 0}
.icon-circle{display:grid;place-items:center;background:#eaf2ff;color:var(--blue);width:60px;height:60px;border-radius:50%;font-size:1.7rem;margin-bottom:22px}
.spinner{width:42px;height:42px;border-radius:50%;border:4px solid #e7edfa;border-top-color:var(--blue);animation:spin .8s linear infinite;margin-bottom:25px}
@keyframes spin{to{transform:rotate(360deg)}
}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.thanks{padding:48px 32px;text-align:center}
.thanks h1{margin-bottom:16px}
.thanks>p{color:var(--muted);line-height:1.6;margin:0 auto 30px;max-width:470px}
.meeting-wrap{width:100%;height:650px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fafcff}
.meeting-wrap iframe{width:100%;height:100%;border:0}
.booking-confirmation{margin:22px auto 0;padding:17px;border-radius:12px;background:#e9f8ef;color:#156b38;line-height:1.55}
@media(max-width:480px){.shell{padding:0}
.card{border:0;border-radius:0;min-height:100vh;box-shadow:none;padding:25px}
.screen{min-height:calc(100vh - 50px)}
.back{bottom:19px;right:22px}
.thanks{padding:42px 16px}
.meeting-wrap{height:670px}
}
.booking{text-align:center;padding:45px 32px}.booking-intro{color:var(--muted);line-height:1.6;margin:14px auto 30px;max-width:460px}.booking-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:22px;text-align:left;border-top:1px solid var(--line);padding-top:25px}.calendar-title{font-weight:700;font-size:.88rem;margin:0 0 12px;color:var(--navy)}.dates,.times{display:flex;flex-wrap:wrap;gap:8px}.date-choice,.time-choice{border:1px solid #dbe3f0;background:#fff;border-radius:9px;padding:10px 12px;font:600 .82rem Inter,sans-serif;color:#40506d;cursor:pointer}.date-choice.selected,.time-choice.selected{color:#fff;background:var(--blue);border-color:var(--blue)}#bookingForm{text-align:left;margin:26px auto 0;max-width:440px;border-top:1px solid var(--line);padding-top:22px}#bookingForm label{font-size:.9rem;font-weight:700}#bookingForm input{margin:10px 0 13px}.booking-error{color:#b42318;font-size:.9rem;line-height:1.5}.loading{font-size:.9rem;color:var(--muted)}.confirmation{padding:0;display:grid;grid-template-columns:42% 58%;min-height:650px}.confirmation-photo{background:#111923}.confirmation-photo img{width:100%;height:100%;object-fit:cover;display:block}.confirmation-copy{padding:48px 38px}.confirmation-copy h1{font-size:clamp(2rem,4vw,2.7rem)}.confirmation-copy p{color:var(--muted);font-size:.94rem;line-height:1.65}.confirmation-copy strong{color:var(--text)}.appointment-date{border-left:3px solid var(--blue);padding-left:12px;color:var(--navy)!important;font-weight:700}.closing{margin-top:25px}@media(max-width:560px){.booking{padding:40px 22px}.booking-layout{grid-template-columns:1fr}.confirmation{display:block}.confirmation-photo{height:340px}.confirmation-copy{padding:35px 25px}}
