:root{--ink:#24333d;--muted:#687985;--line:#dbe3e8;--soft:#f2f5f7;--gold:#e3b322;--gold-dark:#b18508;--white:#fff;--red:#a82a2a}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--soft);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.top{height:82px;display:flex;align-items:center;gap:22px;padding:14px max(20px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid var(--line)}
.top img{width:165px;max-height:52px;object-fit:contain}.top span{font-weight:750;border-left:1px solid var(--line);padding-left:22px}.top small{margin-left:auto;color:var(--muted)}
.testbar{background:#fff2b5;color:#72580c;text-align:center;padding:8px 16px;font-size:14px;font-weight:650}
.shell{max-width:1180px;margin:34px auto;padding:0 20px;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px;align-items:start}
.booking-card,.summary{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 18px 55px rgba(36,51,61,.08)}.booking-card{padding:34px}.summary{padding:26px;position:sticky;top:20px}
.eyebrow{margin:0;color:#987308;text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:800}h1{font-size:clamp(30px,4vw,45px);line-height:1.08;margin:6px 0 12px}h2{font-size:25px;margin:0 0 20px}.intro{color:var(--muted);max-width:700px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;list-style:none;padding:0;margin:30px 0}.steps li{border-top:4px solid var(--line);padding-top:8px;color:#8a979f;font-weight:700;font-size:14px}.steps li.active{border-color:var(--gold);color:#73590d}.step{display:none}.step.active{display:block}
.choice-grid{display:grid;gap:15px}.branches{grid-template-columns:repeat(2,minmax(0,1fr))}.areas,.advisors{grid-template-columns:repeat(3,minmax(0,1fr))}.nearest{grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0}
.choice{padding:0;border:2px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;text-align:left;color:inherit;cursor:pointer;font:inherit;transition:.18s}.choice:hover,.choice:focus-visible{border-color:var(--gold);transform:translateY(-1px)}
.choice-image{position:relative;display:block;overflow:hidden}.choice-image>img:first-child{width:100%;height:145px;object-fit:cover;display:block}.areas .choice-image>img:first-child{aspect-ratio:4/3;height:auto}.choice-image .premium-logo{position:absolute;right:12px;bottom:12px;width:min(56%,190px);height:auto;max-height:58px;object-fit:contain;filter:drop-shadow(0 2px 5px rgba(0,0,0,.45))}
.choice .copy{display:block;padding:14px}.choice strong{display:block;font-size:18px}.choice small{display:block;color:var(--muted);margin-top:4px}
.advisor-card{padding:20px}.advisor-card img,.initials{width:82px;height:82px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;font-weight:800;font-size:20px;margin-bottom:13px}.advisor-card p{color:var(--muted);font-size:14px;min-height:66px}.no-pref{background:#fffbed}
.back{border:0;background:transparent;color:var(--muted);padding:0;margin:0 0 15px;font:inherit;font-weight:700;cursor:pointer}
.notices{display:grid;gap:14px;margin-bottom:20px}.notice{overflow:hidden;border:0;background:var(--ink);color:#fff;border-radius:22px;padding:20px 22px;box-shadow:0 12px 30px rgba(36,51,61,.18)}.notice .notice-kicker{margin:0 0 5px;color:#f0c841;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800}.notice strong{display:block;font-size:22px}.notice>span{display:block;color:rgba(255,255,255,.78);margin-top:5px}.service-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.notice .service-pills small{display:inline-flex;color:#fff;background:rgba(255,255,255,.1);border-radius:999px;padding:7px 11px;margin:0;font-weight:650}
.date-time{display:grid;grid-template-columns:minmax(300px,390px) 1fr;gap:28px;align-items:start}.month-calendar{border:1px solid var(--line);border-radius:20px;padding:16px;background:#fafbfc}.calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;text-align:center;margin-bottom:12px}.calendar-head button{height:38px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-size:25px;cursor:pointer}.calendar-head button:disabled{opacity:.3;cursor:not-allowed}.calendar-head strong{text-transform:capitalize;font-size:18px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-weekdays{margin-bottom:6px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:12px;font-weight:800}.calendar-day{aspect-ratio:1;border:0;border-radius:11px;font:inherit;font-weight:750}.calendar-day.available{background:#fff;border:1px solid #cbd5da;color:var(--ink);cursor:pointer}.calendar-day.available:hover{border-color:var(--gold);background:#fff8d8}.calendar-day.unavailable{background:#e8ecef;color:#a6b0b7;text-decoration:line-through;cursor:not-allowed}.calendar-day.selected{background:var(--ink);border-color:var(--ink);color:#fff;text-decoration:none}.calendar-loading{grid-column:1/-1;padding:50px 5px;text-align:center;color:var(--muted)}.calendar-legend{display:flex;align-items:center;gap:7px;margin:14px 0 0;color:var(--muted);font-size:12px}.calendar-legend span,.calendar-legend i{width:15px;height:15px;border-radius:5px;background:#fff;border:1px solid #cbd5da}.calendar-legend i{margin-left:8px;background:#e8ecef;border:0}.error-text{color:var(--red)}
label{display:block;font-weight:700}input,textarea,select{width:100%;margin-top:7px;border:1px solid #cbd6dd;border-radius:12px;padding:13px 14px;background:#fff;color:var(--ink);font:inherit}input:focus,textarea:focus{outline:3px solid rgba(227,179,34,.25);border-color:var(--gold-dark)}
.slots{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.slot{border:1px solid #bfcbd2;background:#fff;border-radius:12px;padding:11px 15px;cursor:pointer;font:inherit;font-weight:700}.slot.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.muted{color:var(--muted)}
.individual{margin:25px 0;padding:17px;border:1px solid var(--line);border-radius:16px;background:#f9fafb}.individual summary{font-weight:800;cursor:pointer}.individual label{max-width:230px;margin:12px 0}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:13px 18px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none}.button.primary{background:var(--ink);color:#fff}.button.primary:hover{background:#334b5b}.button.secondary{background:#fff;border:1px solid #bac7cf;color:var(--ink)}.button.danger{background:var(--red);color:#fff}.button:disabled{opacity:.45;cursor:not-allowed}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.full{grid-column:1/-1}.check{display:flex;gap:10px;align-items:flex-start;font-weight:500}.check input{width:20px;height:20px;margin:2px 0 0}.check a{color:#73590d}.submit{margin-top:22px;width:100%}
.message{padding:14px;border-radius:12px;margin:18px 0;background:#fff2d1;color:#76590a}.message.error{background:#fff0f0;color:#8d2525}.success{text-align:center;padding:45px 20px}.success>span{display:flex;margin:0 auto 20px;width:64px;height:64px;border-radius:50%;align-items:center;justify-content:center;background:var(--gold);font-size:30px;font-weight:900}.success .rebook{margin-top:20px}.success .rebook+.muted{font-size:13px;margin-top:12px}
.summary h2{font-size:21px}.summary dl{margin:0}.summary dt{font-size:13px;color:var(--muted);font-weight:700;margin-top:15px}.summary dd{margin:2px 0;font-weight:750}.summary p{font-size:14px;color:var(--muted);margin-top:22px}.honeypot{position:absolute!important;left:-9999px!important}.cancel-shell{max-width:680px;margin:45px auto;padding:0 20px}.cancel-details{background:#f6f8f9;border:1px solid var(--line);border-radius:16px;padding:18px;margin:22px 0}.cancel-details p{margin:5px 0;color:var(--muted)}
@media(max-width:820px){.shell{grid-template-columns:1fr;margin:20px auto}.summary{display:none}.booking-card{padding:24px}.advisors{grid-template-columns:repeat(2,minmax(0,1fr))}.top span{display:none}.top small{font-size:12px}.testbar{font-size:12px}.date-time{grid-template-columns:1fr}.steps li{font-size:0}.steps li:before{content:counter(list-item);font-size:14px}.branches{grid-template-columns:1fr}.choice-image>img:first-child{height:160px}}
@media(max-width:520px){.top{height:68px}.top img{width:140px}.booking-card{border-radius:20px;padding:20px 17px}.shell{padding:0 12px}.areas,.advisors,.nearest,.form-grid{grid-template-columns:1fr 1fr;gap:11px}.advisor-card{padding:14px}.advisor-card p{min-height:0}.full,#address-fields{grid-column:1/-1}.choice-image>img:first-child{height:125px}.areas .choice-image>img:first-child{height:auto}h2{font-size:22px}.month-calendar{padding:12px}.calendar-weekdays,.calendar-grid{gap:4px}.calendar-day{border-radius:9px}.notice{padding:17px}.notice strong{font-size:20px}}
