.book{background:var(--lilac)}
.bk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-soft);overflow:hidden}
.bk__col{padding:clamp(24px,3.4vw,44px)}
.bk__col + .bk__col{border-left:1px solid var(--line)}
.bk__step{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.bk__step i{font-style:normal;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff;
  background:linear-gradient(135deg,var(--sun),var(--rose))}
.bk__step h3{font-size:24px}
.bk__sub{font-size:14.5px;color:var(--muted);margin-bottom:22px;}
.days{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:22px}
.day{appearance:none;cursor:pointer;font-family:var(--body);background:var(--lilac);border:1px solid var(--line);border-radius:14px;padding:12px 4px;text-align:center;color:var(--ink);
  transition:border-color .3s,background .3s,color .3s,transform .4s var(--ease)}
.day:hover{border-color:var(--plum-500);transform:translateY(-2px)}
.day small{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.day b{display:block;font-family:var(--display);font-size:26px;line-height:1.1;font-weight:600;margin:2px 0}
.day span{display:block;font-size:12px;color:var(--muted)}
.day[aria-pressed="true"]{background:var(--plum-800);border-color:var(--plum-800);color:#fff}
.day[aria-pressed="true"] small,.day[aria-pressed="true"] span{color:var(--sun-soft)}
.slots-h{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--plum-500);margin:0 0 10px}
.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.slot{appearance:none;cursor:pointer;font-family:var(--body);font-size:15px;font-weight:600;color:var(--plum-700);background:#fff;border:1px solid var(--line);
  border-radius:100px;padding:12px 6px;transition:border-color .3s,background .3s,color .3s}
.slot:hover{border-color:var(--rose)}
.slot[aria-pressed="true"]{background:linear-gradient(105deg,var(--sun),var(--rose) 130%);border-color:transparent;color:#2B1A00}
.tz{font-size:13px;color:var(--muted);margin-top:8px}
.pick{display:flex;gap:12px;align-items:center;margin-top:22px;padding:16px 18px;border-radius:14px;background:var(--sand);font-size:14.5px;color:var(--plum-800)}
.pick b{font-weight:700}

.lf .field label{color:var(--plum-500)}
.lf .field input,.lf .field select,.lf .field textarea{background:var(--lilac);border-color:rgba(var(--plum-500-rgb),.2);color:var(--ink);color-scheme:light}
.lf .field input::placeholder,.lf .field textarea::placeholder{color:#9a8fab}
.lf .field input:focus,.lf .field select:focus,.lf .field textarea:focus{background:#fff;border-color:var(--rose);box-shadow:0 0 0 4px rgba(var(--rose-rgb),.14)}
.lf .field select option{background:#fff;color:var(--ink)}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.lf .btn{width:100%;justify-content:center;margin-top:6px}
.err{display:block;font-size:13px;color:#B3261E;margin-top:6px;font-weight:600}
.field [aria-invalid="true"]{border-color:#B3261E!important}
.lf__note{font-size:12.5px;color:var(--muted);margin-top:12px;text-align:center;line-height:1.5}
.done{text-align:center;padding:30px 10px}
.done__sun{width:84px;height:84px;margin:0 auto 18px;border-radius:50%;background:radial-gradient(circle,var(--sun-soft),var(--sun) 45%,var(--rose));
  box-shadow:0 0 0 12px rgba(var(--sun-rgb),.14),0 0 0 26px rgba(var(--sun-rgb),.07)}
.done h3{font-size:30px;margin-bottom:10px}
.done p{color:var(--muted);max-width:40ch;margin:0 auto}
.done .btn{margin-top:22px}

/* ways to reach us */
.ways{background:var(--paper)}
.wgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px;align-items:stretch}
.wstack{display:grid;gap:12px}
.wstack .way{display:flex;align-items:center;gap:18px;padding:20px 22px}
.wstack .way .card__icon{margin:0;flex:0 0 auto}
.way{background:var(--lilac);border:1px solid var(--line);border-radius:var(--r-md);padding:26px 22px}
.way .card__icon{margin-bottom:18px}
.way h3{font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--plum-500);margin-bottom:8px}
.way p,.way a{font-size:16px;color:var(--ink);line-height:1.5;font-weight:500;overflow-wrap:anywhere}
.way a:hover{color:var(--rose)}
.hrs{width:100%;border-collapse:collapse;font-size:14px}
.hrs th{text-align:left;font-weight:600;color:var(--ink);padding:6px 0;width:38%}
.hrs td{color:var(--muted);padding:6px 0}
.hrs tr.today th,.hrs tr.today td{color:var(--plum-800);font-weight:700}
.hrs tr.today th::after{content:"Today";margin-left:8px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--rose);padding:2px 7px;border-radius:100px;vertical-align:1px}

/* faq */
.faq{background:var(--sand)}
.faq__in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,80px);align-items:start}
.faq__side{position:sticky;top:120px}
.qa{border-top:1px solid rgba(var(--plum-500-rgb),.2)}
.qa:last-child{border-bottom:1px solid rgba(var(--plum-500-rgb),.2)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;
  font-family:var(--display);font-size:clamp(19px,1.7vw,23px);font-weight:600;color:var(--plum-800);font-variation-settings:"SOFT" 45,"WONK" 1,"opsz" 48}
.qa summary::-webkit-details-marker{display:none}
.qa summary i{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;position:relative;transition:transform .45s var(--ease),background .3s}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.8px;background:var(--plum-600);transform:translate(-50%,-50%);border-radius:2px}
.qa summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .45s var(--ease)}
.qa[open] summary i{background:var(--plum-800)}
.qa[open] summary i::before,.qa[open] summary i::after{background:#fff}
.qa[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.qa p{padding:0 50px 24px 0;font-size:16.5px;color:#4a3f5c;line-height:1.72}

@media(max-width:1080px){
  .bk,.faq__in{grid-template-columns:minmax(0,1fr)}
  .bk__col + .bk__col{border-left:0;border-top:1px solid var(--line)}
  .wgrid{grid-template-columns:minmax(0,1fr)}
  .faq__side{position:static}
}
@media(max-width:660px){
  .days{grid-template-columns:repeat(3,minmax(0,1fr))}
  .row2,.wgrid{grid-template-columns:minmax(0,1fr)}
  .bk__sub{padding-left:0}
  .qa p{padding-right:0}
}

/* welcome column (replaces the day/time picker) */
.bk__welcome h3{font-size:clamp(24px,2.4vw,30px);margin-bottom:16px}
.bk__welcome p{font-size:16.5px;color:#3f3552;line-height:1.75}
.bk__welcome p+p{margin-top:16px}
.bk__welcome .btn{margin-top:26px}
.bk__logo{margin-bottom:22px}.bk__logo img{height:64px;width:auto}
