.bk{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}
.bk-step{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;margin-bottom:22px;box-shadow:var(--sh)}
.bk-step h2{display:flex;align-items:center;gap:12px;font-size:1.2rem;margin-bottom:20px;flex-wrap:wrap}
.bk-step h2>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:var(--gold-2);font-size:.95rem}
.bk-step h2 small{font-family:var(--f-body);font-size:.8rem;color:var(--muted);font-weight:500;margin-inline-start:auto}
.bk-step.cform{box-shadow:var(--sh);display:grid;gap:16px}
.bk-types{display:grid;gap:12px}
.bk-type[hidden]{display:none}
.bk-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.bk-chips button{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:7px 16px;font-weight:600;color:var(--navy);cursor:pointer;font-size:.9rem;transition:all .2s}
.bk-chips button i{font-style:normal;font-size:.72rem;opacity:.65;margin-inline-start:2px}
.bk-chips button.is-on{background:var(--navy);border-color:var(--navy);color:#fff}
.bk-type__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}
.bk-type__tags em{font-style:normal;display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:700;color:#9A7524;background:var(--gold-3);padding:1px 9px;border-radius:99px}
.bk-type__tags em.gold{background:var(--navy);color:var(--gold-2)}
.bk-type__feats{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px}
.bk-type__feats span{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;color:var(--navy)}
.bk-type__feats .ic{color:var(--green)}
.bk-type input{position:absolute;opacity:0}
.bk-type__box{display:flex;align-items:center;gap:18px;padding:18px 20px;border:2px solid var(--line);border-radius:16px;cursor:pointer;transition:all .2s;background:#fff}
.bk-type__box:hover{border-color:#E4D3A5}
.bk-type input:checked+.bk-type__box{border-color:var(--gold);background:#FFFCF3;box-shadow:0 0 0 4px rgba(201,162,74,.12)}
.bk-type input:focus-visible+.bk-type__box{outline:2px solid var(--gold);outline-offset:2px}
.bk-type__dur{display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--navy);color:#fff;flex:none;line-height:1.1}
.bk-type__dur b{font-family:var(--f-head);font-size:1.4rem;color:var(--gold-2)}
.bk-type__dur small{font-size:.7rem}
.bk-type__txt{flex:1;min-width:0}
.bk-type__txt b{display:block;color:var(--navy);font-family:var(--f-head);font-size:1.05rem}
.bk-type__txt small{color:var(--muted);font-size:.88rem;line-height:1.7;display:block}
.bk-type__price{font-family:var(--f-head);font-size:1.5rem;font-weight:800;color:var(--navy);white-space:nowrap}
.bk-when{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}
.cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.cal__head b{font-family:var(--f-head);color:var(--navy)}
.cal__nav{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;display:grid;place-items:center;color:var(--navy)}
.cal__nav[data-nav="-1"] .ic{transform:rotate(-90deg)}.cal__nav[data-nav="1"] .ic{transform:rotate(90deg)}
.cal__nav:disabled{opacity:.3;cursor:default}
.cal__dow,.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}
.cal__dow span{font-size:.72rem;color:var(--muted);padding:4px 0}
.cal__d{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;font-size:.9rem;color:#B5BCC7;border:0;background:none;position:relative;padding:0}
.cal__d.is-empty{visibility:hidden}
.cal__d.is-av{background:var(--ivory);color:var(--navy);font-weight:700;cursor:pointer;border:1px solid var(--line);transition:all .15s}
.cal__d.is-av:hover{border-color:var(--gold)}
.cal__d.is-av i{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--green);font-size:0}
.cal__d.is-sel{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}
.cal__d.is-sel i{background:var(--gold)}
.cal__loading{grid-column:1/-1;height:200px;border-radius:12px;background:linear-gradient(90deg,var(--ivory),#fff,var(--ivory));background-size:200% 100%;animation:shim 1.2s infinite}
@keyframes shim{to{background-position:-200% 0}}
.times h4{font-size:.95rem;margin-bottom:12px;color:var(--navy)}
.times__list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:320px;overflow-y:auto;padding:2px}
.time{padding:11px 8px;border-radius:11px;border:1.5px solid var(--line);background:#fff;font-weight:600;color:var(--navy);cursor:pointer;transition:all .15s}
.time:hover{border-color:var(--gold)}
.time.is-sel{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.times__empty{display:grid;place-items:center;text-align:center;color:var(--muted);height:100%;min-height:200px;padding:20px;border:1.5px dashed var(--line);border-radius:14px}
.times__empty .ic{color:var(--gold)}
.bk-notice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:#FFFBF0;border:1px solid #F1DFB0;color:#6B4F0E;font-size:.93rem}
.bk-notice p{margin:0}.bk-notice .ic{color:var(--gold);margin-top:3px}
.bk__side{position:sticky;top:100px}
.bk-sum{background:linear-gradient(165deg,var(--navy-2),var(--navy));color:#AEB8C7;border-radius:22px;padding:26px;box-shadow:var(--sh-lg)}
.bk-sum h3{color:#fff;font-size:1.1rem;margin-bottom:16px}
.bk-sum dl{margin:0;display:grid;gap:12px}
.bk-sum dt{font-size:.78rem;color:#8E9AAD}
.bk-sum dd{margin:0;color:#fff;font-weight:600}
.bk-sum__local dd{color:var(--gold-2);font-size:.88rem;font-weight:500}
.bk-sum__total{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;border-top:1px dashed rgba(255,255,255,.15)}
.bk-sum__total b{font-family:var(--f-head);font-size:1.8rem;color:var(--gold-2)}
.bk-info{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.bk-info li{display:flex;gap:10px;font-size:.87rem;line-height:1.7;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.bk-info .ic{color:#9A7524;margin-top:3px}
.bk-alert{padding:14px 18px;border-radius:14px;background:#FDEDEB;color:#8E2A22;margin-bottom:18px;font-weight:600;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.bk-alert--ok{background:#E4F7EE;color:#0F6E47}
.bk-alert a{text-decoration:underline}
.bk-ok{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:50%;background:rgba(61,211,154,.15);color:#3DD39A;margin-bottom:6px}
.appt{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--sh);margin-bottom:22px}
.appt__head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:var(--ivory);border-bottom:1px solid var(--line)}
.appt__head small{display:block;color:var(--muted);font-size:.78rem}
.appt__head b{font-family:var(--f-head);color:var(--navy);font-size:1.2rem;letter-spacing:.04em}
.appt__st{padding:5px 14px;border-radius:99px;font-weight:700;font-size:.85rem;background:#FFF4D6;color:#7A5A10}
.appt__st--confirmed,.appt__st--completed{background:#E4F7EE;color:#0F6E47}
.appt__st--cancelled,.appt__st--no_show{background:#FDEDEB;color:#8E2A22}
.appt__dl{margin:0;padding:10px 24px}
.appt__dl>div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:14px 0;border-bottom:1px dashed var(--line)}
.appt__dl>div:last-child{border:0}
.appt__dl dt{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem}
.appt__dl dt .ic{color:var(--gold)}
.appt__dl dd{margin:0;color:var(--navy);font-weight:600;word-break:break-word}
.appt__dl dd small{font-weight:400;color:var(--muted)}
.appt__local{display:block;font-size:.82rem;color:#9A7524;font-weight:500}
.ok{color:var(--green)}.warn{color:#B7791F}
.appt-steps{display:grid;gap:14px;margin-bottom:22px}
.appt-step{display:flex;gap:16px;padding:22px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.appt-step.is-done{background:#F3FBF7;border-color:#BFE8D3}
.appt-step__n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--gold-2);font-weight:800;font-family:var(--f-head);flex:none}
.appt-step.is-done .appt-step__n{background:var(--green);color:#fff}
.appt-step h3{font-size:1.08rem;margin-bottom:4px}
.appt-step h3 em{font-style:normal;font-size:.72rem;background:#FDEDEB;color:#A8352C;padding:2px 10px;border-radius:99px;margin-inline-start:6px;vertical-align:middle}
.appt-step p{margin:0 0 12px;color:var(--text);font-size:.95rem}
.muted-s{color:var(--muted);font-size:.9rem}
.appt-acts{display:flex;gap:10px;flex-wrap:wrap}
.btn--ghost-d{border-color:#F3C7C2;color:#A8352C;background:#fff}
.btn--ghost-d:hover{background:#FDEDEB}
.appt-policy{margin-top:18px;font-size:.85rem;color:var(--muted)}
.intake-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.intake-meta span{display:inline-flex;align-items:center;gap:6px;background:var(--ivory);border:1px solid var(--line);border-radius:99px;padding:6px 14px;font-size:.85rem;color:var(--navy);font-weight:600}
.intake{box-shadow:var(--sh);border:1px solid var(--line)}
.intake input[type=file]{background:#fff;padding:10px}
.hint-s{font-size:.8rem;color:var(--muted);font-weight:400}
.booking-sec{background:linear-gradient(180deg,#fff 0%,#FBF6E8 100%)}
.booking-sec .bk-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,360px));justify-content:center;gap:24px}
.bk-plan__spec{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:.75rem;font-weight:700;background:var(--gold-3);color:#9A7524;padding:2px 12px;border-radius:99px;margin-bottom:10px}
.bk-plan--hi .bk-plan__spec{background:rgba(201,162,74,.15);color:var(--gold-2)}
.bk-plan ul{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:6px;font-size:.9rem}
.bk-plan li{display:flex;gap:8px;align-items:flex-start}
.bk-plan li .ic{color:var(--green);margin-top:5px}
.bk-plan--hi li{color:#C9D1DD}
.bk-more{text-align:center;margin-top:30px}
.bk-plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px 30px;display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s}
.bk-plan:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.bk-plan--hi{background:linear-gradient(165deg,var(--navy-2),var(--navy));border-color:var(--navy);color:#AEB8C7}
.bk-plan--hi h3,.bk-plan--hi .bk-plan__price b{color:#fff}
.bk-plan__dur{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#9A7524;font-size:.9rem;margin-bottom:10px}
.bk-plan--hi .bk-plan__dur{color:var(--gold-2)}
.bk-plan h3{font-size:1.3rem;margin-bottom:6px}
.bk-plan p{font-size:.95rem;margin-bottom:18px}
.bk-plan__price{display:flex;align-items:baseline;gap:6px;margin:auto 0 18px}
.bk-plan__price b{font-family:var(--f-head);font-size:2.6rem;color:var(--navy);line-height:1}
.bk-plan__price span{color:var(--muted);font-size:.9rem}
.bk-plan__tag{position:absolute;top:-12px;inset-inline-start:28px;background:var(--gold);color:var(--navy);font-size:.78rem;font-weight:700;padding:3px 14px;border-radius:99px}
.bk-strip{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 26px;margin-top:34px;color:var(--muted);font-size:.9rem}
.bk-strip span{display:inline-flex;align-items:center;gap:8px}
.bk-strip .ic{color:#9A7524}
@media (max-width:1000px){.bk{grid-template-columns:1fr}.bk__side{position:static}.bk-info{display:none}}
@media (max-width:700px){.bk-when{grid-template-columns:1fr}.bk-step{padding:20px}.bk-type__box{gap:12px;padding:14px}.bk-type__dur{width:52px;height:52px}.bk-type__price{font-size:1.2rem}.appt__dl>div{grid-template-columns:1fr;gap:2px}.booking-sec .bk-plans{grid-template-columns:1fr}.bk-step h2 small{margin:0;width:100%}}
.bk-next{margin:-4px 0 22px;display:grid;gap:8px}
.bk-next__hint{margin:0;text-align:center;font-size:.88rem;color:var(--muted)}
.bk-form__top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.bk-form__top h2{margin:0}
.bk-back{display:inline-flex;align-items:center;gap:6px;background:none;border:1.5px solid var(--line);border-radius:999px;padding:7px 14px;font:inherit;font-size:.85rem;font-weight:600;color:var(--navy);cursor:pointer}
.bk-back svg{transform:scaleX(-1)}.bk-back:hover{border-color:var(--gold)}
.bk-picked{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:12px 16px;border-radius:14px;background:linear-gradient(135deg,#0F213B,#0A1628);color:#C9D1DD;font-size:.9rem}
.bk-picked b{color:#fff}.bk-picked em{font-style:normal;margin-inline-start:auto;color:var(--gold-2,#E4C77E);font-weight:700}
.bk-fs{border:1px solid var(--line);border-radius:18px;padding:18px 18px 20px;margin:0;display:grid;gap:14px;background:#FFFEFB}
.bk-fs legend{display:flex;align-items:center;gap:8px;padding:0 8px;font-weight:700;color:var(--navy);font-size:1rem}.bk-fs legend svg{color:var(--gold)}
.bk-fs__note{margin:-4px 0 0;font-size:.88rem;color:var(--muted)}
.bk-q[hidden]{display:none}
.bk-q .iq-choice{border:0;padding:0;margin:0;display:grid;gap:8px}.bk-q .iq-choice legend{font-size:.88rem;font-weight:600;color:var(--navy);padding:0;margin-bottom:6px}
.cform__msg.ok{color:#0F6E47;font-weight:600}
.bk [hidden],.bk-next[hidden],.bk-step[hidden]{display:none!important}
.bk-det{display:grid;gap:18px;background:linear-gradient(180deg,#FBF6EC,#fff 260px)}
.bk-det__top{display:flex;justify-content:flex-start}
.bk-det__hero{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:start}
.bk-det__eye{display:inline-block;color:#9A7524;font-weight:700;font-size:.92rem;margin-bottom:6px}
.bk-det__txt h2{font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.35;margin:0 0 12px;color:var(--navy)}
.bk-det__txt p{margin:0 0 10px;line-height:1.95;color:var(--text,#3B475A);font-size:1.02rem}
.bk-det__ic{width:96px;height:96px;border-radius:22px;background:#fff;box-shadow:var(--sh);display:grid;place-items:center;color:var(--navy)}
.bk-det__ic svg{color:var(--gold)}
.bk-det__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}
.bk-det__box{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}
.bk-det__box h3{font-size:1rem;margin:0 0 12px;color:var(--navy)}
.bk-det__list{list-style:none;margin:0;padding:0;display:grid;gap:9px}.bk-det__list li{display:flex;gap:9px;align-items:flex-start;font-size:.95rem;line-height:1.7}.bk-det__list svg{flex:none;color:#1F9D6B;margin-top:5px}
.bk-det__sum dl{margin:0;display:grid;gap:10px}.bk-det__sum dl div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--line);padding-bottom:8px}.bk-det__sum dt{color:var(--muted);font-size:.88rem}.bk-det__sum dd{margin:0;font-weight:700;color:var(--navy);text-align:left;font-size:.92rem}
.bk-det__price{font-size:1.3rem!important;color:#9A7524!important}
.bk-det__cta{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bk-det__opt{display:flex;gap:14px;align-items:center;text-align:right;padding:16px 18px;border-radius:18px;border:1.5px solid var(--line);background:#fff;cursor:pointer;font:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}
.bk-det__opt:hover{transform:translateY(-2px);box-shadow:var(--sh);border-color:var(--gold)}
.bk-det__opt b{display:block;font-size:1.02rem;color:var(--navy)}.bk-det__opt small{display:block;color:var(--muted);font-size:.84rem;line-height:1.6;margin-top:2px}
.bk-det__oi{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--ivory);color:var(--gold)}
.bk-det__opt--main{background:linear-gradient(135deg,#0F213B,#0A1628);border-color:transparent}.bk-det__opt--main b{color:#fff}.bk-det__opt--main small{color:#AEB8C7}.bk-det__opt--main .bk-det__oi{background:rgba(255,255,255,.1);color:var(--gold-2,#E4C77E)}
.bk-det__adv{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 14px;border-radius:16px;background:var(--ivory)}
.bk-det__av{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold-2,#E4C77E);flex:none}
.bk-det__adv div{flex:1;min-width:160px}.bk-det__adv b{display:block;color:var(--navy)}.bk-det__adv small{color:var(--muted);font-size:.82rem}
.bk-det__adv a{display:inline-flex;gap:6px;align-items:center;color:#1FAF5A;font-weight:700;font-size:.9rem}
.bk-form__top h2 em{font-style:normal}
@media (max-width:760px){.bk-det__hero{grid-template-columns:1fr}.bk-det__ic{order:-1;width:72px;height:72px}.bk-det__grid,.bk-det__cta{grid-template-columns:1fr}}
.bk-after{margin-top:16px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#fff}.bk-after h4{display:flex;align-items:center;gap:8px;font-size:.98rem;margin-bottom:8px;color:var(--navy)}.bk-after ul{list-style:none;display:grid;gap:6px;font-size:.9rem;color:var(--muted)}.bk-after li{padding-inline-start:16px;position:relative}.bk-after li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--gold)}.bk-after__guar{display:flex;gap:6px;align-items:center;margin-top:12px;color:#1F9D6B;font-weight:600;font-size:.9rem}.bk-after__pol{margin-top:8px;font-size:.82rem;color:var(--muted)}.bk-after__pol a{color:var(--gold-txt);border-bottom:1px solid currentColor}
/* v3.2 — required documents per consultation */
.iq-docs{padding:14px 16px;border-radius:14px;background:#F6F8FB;border:1px solid #DCE3EE;color:#0A1628;font-size:.93rem}
.iq-docs b{display:flex;gap:8px;align-items:center}.iq-docs ul{margin:8px 0 6px;padding-inline-start:22px;line-height:1.9}.iq-docs small{color:#5B6B82}
