/* ============ Book a demo ============
   Public booking page. Rides the marketing site's tokens from
   inqueue-site.css (--ink, --coral, --coral-text, --coral-tint, --cream,
   --border, --gray); everything is scoped to .bk so it can't leak. */
/* Bridge to inqueue-site.css's actual variable names: it defines
   --coralD/--coralT/--muted/--ink2, not the --coral-text/--coral-tint/
   --gray/--ink-2 spellings used below. Without these aliases those
   colours resolve to nothing and fall back to inherited black. */
.bk{--coral-text:var(--coralD);--coral-tint:var(--coralT);--gray:var(--muted);
    --tint:var(--coralT);--bd:var(--border);--soft:#F1EEE8;--ink2:#5B5852;
    --green:#0F8A5F;--green-tint:#E3F5EC;}
.bk .wrap{max-width:1120px;}
/* The marketing site's coral hero glow. Painted on the page container so it
   spans the full viewport width regardless of the content wrap, and so the
   mobile padding override can't clip it. */
.bk{background:radial-gradient(60% 60% at 80% 0,rgba(255,90,60,.13),rgba(255,90,60,0) 70%) no-repeat top center;background-size:100% 660px;}

.bk .bkhero{text-align:center;padding:130px 0 26px;}
/* No .eyebrow override here on purpose: inqueue-site.css already styles it
   (12px, .12em, coral, with the dot). Overriding made this page's eyebrow
   subtly wider than every other page's. */
/* word-spacing opens the gaps between words without loosening the letters
   inside them, the tight -.03em tracking is what makes the wordmarks read
   as single units. */
.bk .bkhero h1{font-size:clamp(32px,5vw,52px);font-weight:900;letter-spacing:-.03em;line-height:1.05;word-spacing:.22em;margin-top:14px;}
.bk .bkhero p{color:var(--ink2);margin:10px auto 0;font-size:16.5px;max-width:520px;}

.bk .bkerr{max-width:620px;margin:0 auto 18px;display:flex;align-items:center;gap:10px;background:#FBE9E7;border:1px solid #F2C9C2;color:#A32D2D;border-radius:12px;padding:13px 16px;font-size:14px;font-weight:600;}
.bk .bkerr svg{width:18px;height:18px;flex:none;}

.bk .steps{display:flex;justify-content:center;gap:8px;margin:0 0 30px;}
.bk .stp{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:#B7B3AB;padding:7px 15px;border:1px solid var(--bd);border-radius:999px;background:#fff;}
.bk .stp.on{color:var(--ink);border-color:var(--ink);}
.bk .stp.done{color:var(--green);border-color:#BFE6D2;background:var(--green-tint);}
.bk .stp .n{width:20px;height:20px;border-radius:50%;background:var(--soft);color:var(--gray);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.bk .stp.on .n{background:var(--coral);color:#fff;}
.bk .stp.done .n{background:var(--green);color:#fff;}

.bk .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}

.bk .bkcard{background:#fff;border:1px solid var(--bd);border-radius:22px;box-shadow:0 30px 60px -42px rgba(21,23,28,.45);overflow:hidden;margin-bottom:70px;}
.bk .bkgrid{display:grid;grid-template-columns:300px 1fr 268px;}

.bk .bkrail{background:linear-gradient(180deg,#FDFCFA,var(--cream));border-right:1px solid var(--bd);padding:30px 28px;}
.bk .who{display:flex;align-items:center;gap:12px;}
.bk .who .av{width:46px;height:46px;border-radius:50%;background:var(--tint);color:var(--coral-text);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;}
.bk .who b{font-size:14.5px;display:block;}
.bk .who small{color:var(--gray);font-size:12.5px;}
.bk .bkrail h2{font-size:21px;font-weight:800;letter-spacing:-.02em;margin:20px 0 8px;}
.bk .bkrail .lead{font-size:13.5px;color:var(--ink2);line-height:1.6;}
.bk .facts{margin-top:20px;display:flex;flex-direction:column;gap:11px;}
.bk .fact{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:var(--ink2);}
.bk .fact svg{width:16px;height:16px;color:var(--coral-text);flex:none;}
.bk .tzbox{margin-top:22px;padding-top:18px;border-top:1px solid var(--bd);}
.bk .tzbox label{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gray);}
.bk .tzsel{width:100%;margin-top:7px;height:40px;border:1px solid var(--bd);border-radius:10px;background:#fff;padding:0 12px;font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer;}
.bk .agenda{margin-top:20px;font-size:12.5px;color:var(--ink2);}
.bk .agenda b{display:block;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--gray);margin-bottom:8px;}
.bk .agenda li{margin:5px 0 5px 16px;}

.bk .calpane{padding:30px 32px;}
.bk .calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.bk .calhead b{font-size:17px;font-weight:800;letter-spacing:-.01em;}
.bk .mvnav{display:flex;gap:6px;}
.bk .mvnav button{width:34px;height:34px;border-radius:10px;border:1px solid var(--bd);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink2);transition:.15s;}
.bk .mvnav button:hover:not(:disabled){border-color:var(--ink);color:var(--ink);}
.bk .mvnav button:disabled{opacity:.35;cursor:not-allowed;}
.bk .mvnav svg{width:16px;height:16px;}
.bk .dow{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px;}
.bk .dow span{text-align:center;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gray);}
.bk .days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;min-height:240px;}
.bk .calload{grid-column:1/-1;text-align:center;color:var(--gray);font-size:13px;padding:40px 0;}
.bk .day{aspect-ratio:1;border:1px solid transparent;border-radius:12px;background:transparent;font:inherit;font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:.13s;position:relative;}
.bk .day .dot{width:4px;height:4px;border-radius:50%;background:var(--coral);}
.bk .day.free{background:var(--tint);color:#B23E27;}
.bk .day.free:hover{background:#F7DDD4;transform:translateY(-1px);}
.bk .day.sel{background:var(--coral);color:#fff;box-shadow:0 10px 22px -10px rgba(255,90,60,.8);}
.bk .day.sel .dot{background:#fff;}
.bk .day.none{color:#B7B3AB;cursor:not-allowed;}
.bk .day.today:after{content:"";position:absolute;bottom:6px;width:14px;height:2px;border-radius:2px;background:var(--ink);}
.bk .day.pad{visibility:hidden;}
.bk .legend{display:flex;gap:16px;margin-top:16px;font-size:12px;color:var(--gray);}
.bk .legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px;}

.bk .slots{border-left:1px solid var(--bd);padding:30px 24px;display:flex;flex-direction:column;}
.bk .slots h3{font-size:14px;font-weight:800;letter-spacing:-.01em;}
.bk .slots .sd{font-size:12.5px;color:var(--gray);margin-bottom:14px;}
.bk .slotlist{display:flex;flex-direction:column;gap:8px;overflow:auto;max-height:392px;padding-right:2px;}
.bk .slot{border:1.5px solid var(--bd);border-radius:11px;background:#fff;padding:11px 14px;font:inherit;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer;transition:.13s;display:flex;align-items:center;justify-content:space-between;}
.bk .slot:hover{border-color:var(--coral);color:var(--coral-text);}
.bk .slot.sel{background:var(--coral);border-color:var(--coral);color:#fff;}
.bk .slot small{font-weight:600;font-size:11.5px;opacity:.75;}
.bk .slotempty{margin-top:30px;text-align:center;color:var(--gray);font-size:13px;}
.bk .slotempty svg{width:26px;height:26px;color:#B7B3AB;margin-bottom:8px;}
.bk .slotcta{margin-top:auto;padding-top:16px;}
.bk .slotcta .btn{width:100%;justify-content:center;}

.bk .confirm{padding:34px 40px;}
.bk .confirm h2{font-size:21px;font-weight:800;letter-spacing:-.02em;}
.bk .confirm .sub{color:var(--ink2);font-size:14px;margin-top:4px;}
.bk .picked{display:flex;align-items:center;gap:13px;background:var(--tint);border:1px solid #F3D8CE;border-radius:14px;padding:14px 18px;margin:20px 0 24px;}
.bk .picked svg{width:19px;height:19px;color:var(--coral-text);flex:none;}
.bk .picked b{font-size:15px;}
.bk .picked small{display:block;color:var(--ink2);font-size:12.5px;}
.bk .picked .chg{margin-left:auto;font-size:13px;font-weight:700;color:var(--coral-text);cursor:pointer;background:none;border:0;font-family:inherit;}
.bk .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.bk .fld label{display:block;font-size:12.5px;font-weight:600;color:var(--ink2);margin-bottom:6px;}
.bk .fld input,.bk .fld select,.bk .fld textarea{width:100%;height:44px;border:1px solid var(--bd);border-radius:11px;background:#fff;padding:0 13px;font:inherit;font-size:14.5px;color:var(--ink);outline:none;transition:.15s;}
.bk .fld textarea{height:88px;padding:11px 13px;resize:vertical;}
.bk .fld input:focus,.bk .fld select:focus,.bk .fld textarea:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(255,90,60,.12);}
.bk .fnote{font-size:12px;color:var(--gray);margin-top:6px;}
.bk .cfoot{display:flex;gap:12px;margin-top:22px;align-items:center;flex-wrap:wrap;}
.bk .cfoot .fine{font-size:12px;color:var(--gray);margin-left:auto;max-width:280px;text-align:right;}

.bk .done{padding:48px 40px 56px;text-align:center;}
.bk .done .tick{width:64px;height:64px;border-radius:50%;background:var(--green-tint);color:var(--green);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
.bk .done .tick svg{width:30px;height:30px;}
.bk .done h2{font-size:24px;font-weight:800;letter-spacing:-.02em;}
.bk .done > p{color:var(--ink2);margin-top:8px;}
.bk .dcard{max-width:430px;margin:22px auto 0;border:1px solid var(--bd);border-radius:16px;padding:18px 20px;text-align:left;background:#FDFCFA;}
.bk .dline{display:flex;align-items:center;gap:11px;font-size:14px;padding:7px 0;}
.bk .dline svg{width:16px;height:16px;color:var(--coral-text);flex:none;}
.bk .dline span{color:var(--ink2);}
.bk .dline b{margin-left:auto;}
.bk .dbtns{display:flex;gap:10px;justify-content:center;margin-top:22px;flex-wrap:wrap;}
.bk .dnote{margin-top:20px;font-size:12.5px;color:var(--gray);}

@media (max-width:1000px){
  .bk .bkgrid{grid-template-columns:1fr;}
  .bk .bkrail{border-right:0;border-bottom:1px solid var(--bd);}
  .bk .slots{border-left:0;border-top:1px solid var(--bd);}
  .bk .bkhero{padding:110px 0 22px;}
}
@media (max-width:620px){
  .bk .frow{grid-template-columns:1fr;}
  .bk .confirm{padding:26px 22px;}
  .bk .calpane{padding:22px 18px;}
  .bk .cfoot .fine{margin-left:0;text-align:left;}
}
