/* Copied from the ops app (clearcare-ops elevator-20261103.css) so this app has the same look. */

:root{
  /* ClearCare blue on cool greys; Manrope headings, DM Sans text.
     Layout: one container that adapts to its own width (phone, iPad, computer). */
  --blue:#0a6fc2;--blue-dark:#0a4f8c;--ink:#14212b;--muted:#64748b;--line:#e6ebf0;--surface:#f4f6f9;
  --free:#e8f6ee;--free-line:#bfe5cf;--booked:#d5dde5;--warn:#9a5b10;--bad:#b42318;--good:#13824a;
  --display:'Manrope','Segoe UI',system-ui,sans-serif;--body:'DM Sans','Segoe UI',system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:#dfe6ec;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid #ffb400;outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* App */
.app{container-type:inline-size;height:100%;display:flex;flex-direction:column;font-size:15px;line-height:1.5;background:var(--surface);position:relative}
.app h1,.app h2,.app h3{font-family:var(--display);letter-spacing:-.02em;margin:0;line-height:1.2;text-wrap:balance}
.topbar{display:flex;align-items:center;gap:.7em;padding:.6em 1em;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:5}
.topbar img{height:1.6em;display:block}
.topbar .t{font-family:var(--display);font-weight:700;font-size:.95em;line-height:1.15}
.topbar .t small{display:block;font-family:var(--body);font-weight:400;color:var(--muted);font-size:.85em}
.round{margin-left:auto;width:2.4em;height:2.4em;border-radius:50%;background:#eef2f6;display:grid;place-items:center;color:var(--ink);text-decoration:none;flex:none}
.round svg{width:1.15em;height:1.15em}
.steps{display:flex;gap:.3em;padding:.7em 1em .6em;background:#fff;border-bottom:1px solid var(--line);overflow-x:auto}
.steps span{display:flex;align-items:center;gap:.4em;font-size:.78em;font-weight:600;color:#94a3b8;white-space:nowrap;padding-right:.5em}
.steps span i{font-style:normal;width:1.6em;height:1.6em;border-radius:50%;display:grid;place-items:center;background:#eef2f6;font-size:.9em}
.steps span.on{color:var(--ink)}.steps span.on i{background:var(--blue);color:#fff}
.steps span.done{color:var(--good)}.steps span.done i{background:#dff3e8;color:var(--good)}
.steps span+span::before{content:"";width:1.2em;height:1px;background:var(--line);margin-right:.2em}
.scroll{flex:1;overflow-y:auto;overflow-x:hidden}
.banner{position:relative;height:7.5em;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:.9em 1em;color:#fff}
.banner::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,32,.05),rgba(8,20,32,.75))}
.banner>*{position:relative}
.banner b{font-family:var(--display);font-size:1.25em;display:block;line-height:1.15}
.banner button{margin-top:.3em;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:2em;padding:.2em .8em;font-size:.75em;cursor:pointer;backdrop-filter:blur(6px)}
.page{padding:1.1em;display:grid;gap:1.1em}
.page h2{font-size:1.35em}
.lead{color:var(--muted);margin:-.6em 0 0;font-size:.93em}
.card{background:#fff;border-radius:1.2em;padding:1.1em;box-shadow:0 1px 2px rgba(16,40,64,.05),0 10px 26px -16px rgba(16,40,64,.22);display:grid;gap:.9em}
.label{font-size:.72em;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#94a3b8}
.footer{padding:.8em 1em calc(.8em + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:grid;gap:.4em}
.btn{display:flex;align-items:center;justify-content:center;gap:.5em;width:100%;border:0;border-radius:1em;padding:.85em 1.1em;min-height:3.1em;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(135deg,#0a6fc2,#0b5aa3);box-shadow:0 10px 22px -12px rgba(10,111,194,.8);text-align:center}
.btn[disabled]{background:#c5d0d9;box-shadow:none;cursor:not-allowed}
.btn.light{background:#eef3f8;color:var(--blue-dark);box-shadow:none}
.link{border:0;background:none;color:var(--blue);font-weight:600;cursor:pointer;padding:.3em 0}
.hint{font-size:.8em;color:var(--muted)}

/* Address */
.addr-hero{min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:1.4em;gap:1.1em;background:radial-gradient(120% 80% at 0% 0%,#dceefc 0%,transparent 60%),radial-gradient(100% 80% at 100% 100%,#e5f5ec 0%,transparent 55%),var(--surface)}
.addr-hero h1{font-size:1.9em;letter-spacing:-.03em}
.addr-box{position:relative}
.input{width:100%;padding:.85em 1em;border:1.5px solid var(--line);border-radius:1em;background:#fff;font-size:1.05em}
.input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(10,111,194,.14)}
.input.needs,.needs{border-color:#c0392b;box-shadow:0 0 0 4px rgba(192,57,43,.15)}
.addr-box .input{padding-left:2.8em;font-size:1.1em;box-shadow:0 10px 26px -16px rgba(16,40,64,.3)}
.addr-box svg.pin{position:absolute;left:1em;top:50%;transform:translateY(-50%);width:1.2em;height:1.2em;color:#94a3b8}
.sugg{display:grid;background:#fff;border-radius:1em;box-shadow:0 14px 34px -14px rgba(16,40,64,.35);overflow:hidden}
.sugg button{display:flex;align-items:center;gap:.7em;border:0;background:none;padding:.85em 1em;text-align:left;cursor:pointer;border-bottom:1px solid var(--line)}
.sugg button:last-child{border-bottom:0}
.sugg button:hover,.sugg button:focus-visible{background:#f2f7fc}
.sugg svg{width:1.1em;height:1.1em;color:var(--blue);flex:none}
.sugg mark{background:none;color:var(--blue);font-weight:700}
.nomatch{background:#fff7ec;border-radius:1em;padding:.9em 1em;font-size:.9em;color:#6d3c0c}

/* Hours chart */
.hours{display:grid;gap:.3em}
.hrow{display:grid;grid-template-columns:2.4em 1fr 6.6em;align-items:center;gap:.6em;font-size:.82em}
.hrow .d{font-weight:700;color:var(--muted)}
.htrack{position:relative;height:.9em;background:#eef2f6;border-radius:1em;overflow:hidden}
.htrack i{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,#2fb36f,#1f9a5c);border-radius:1em}
.hrow .v{color:var(--ink);font-weight:600;text-align:right;white-space:nowrap}
.hrow.off .v{color:#a3afba;font-weight:500}
.hscale{display:grid;grid-template-columns:2.4em 1fr 6.6em;gap:.6em;font-size:.68em;color:#94a3b8}
.hscale div{display:flex;justify-content:space-between}
.hnote{font-size:.78em;color:var(--muted)}

/* Calendar */
.cal-head{display:flex;align-items:center;justify-content:space-between}
.cal-head h3{font-size:1em}
.navbtn{border:1.5px solid var(--line);background:#fff;border-radius:50%;width:2.2em;height:2.2em;display:grid;place-items:center;cursor:pointer}
.navbtn svg{width:1em;height:1em}.navbtn[disabled]{opacity:.35;cursor:default}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:.15em}
.dow{text-align:center;font-size:.7em;font-weight:700;color:#a3afba;padding-bottom:.2em}
.day{height:2.6em;width:2.6em;justify-self:center;border-radius:50%;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;cursor:pointer;padding:0}
.day::after{content:"";width:.3em;height:.3em;border-radius:50%;margin-top:.1em;background:transparent}
.day.free::after{background:#1f9a5c}.day.some::after{background:#e39a2d}
.day:hover:not([disabled]){background:#eef3f8}
.day.sel{background:var(--blue);color:#fff}.day.sel::after{background:#fff}
.day[disabled]{color:#c4ccd5;cursor:default}
.day.empty{visibility:hidden}
.legend{display:flex;gap:1em;flex-wrap:wrap;font-size:.75em;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:.35em}
.legend i{width:.5em;height:.5em;border-radius:50%;display:inline-block}

/* Day timeline */
.dayhead{display:flex;align-items:baseline;justify-content:space-between;gap:.6em;flex-wrap:wrap}
.dayhead h3{font-size:1.1em}
.dayhead span{font-size:.8em;color:var(--muted)}
.tl{display:grid;grid-template-columns:3.6em 1fr;user-select:none;-webkit-user-select:none}
.tl .tm{font-size:.72em;color:#94a3b8;text-align:right;padding-right:.6em;transform:translateY(-.6em);height:2.1rem}
.slot{height:2.1rem;border:0;border-top:1px solid #edf1f5;background:#fff;text-align:left;padding:0 .7em;font-size:.78em;display:flex;align-items:center;cursor:pointer;position:relative;width:100%}
.slot.hr{border-top-color:#dfe5eb}
.slot.free:hover{background:#eef6fd}
.slot.closed{background:repeating-linear-gradient(135deg,#f3f5f7,#f3f5f7 5px,#eceff2 5px,#eceff2 10px);color:#a3afba;cursor:not-allowed}
.slot.booked{background:var(--booked);color:#4b5b68;cursor:not-allowed;border-top-color:var(--booked)}
.slot.buffer{background:#e8edf2;color:#8a99a6;cursor:not-allowed;border-top-color:#e8edf2}
.slot.pick{background:var(--blue);color:#fff;border-top-color:var(--blue)}
.slot.pick.first{border-radius:.6em .6em 0 0}.slot.pick.last{border-radius:0 0 .6em .6em}.slot.pick.first.last{border-radius:.6em}
.slot b{font-weight:700}
.tlwrap{border:1px solid var(--line);border-radius:1em;overflow:hidden;background:#fff;padding:.5em .5em .5em 0}
.closedday{background:#f4f6f9;border-radius:1em;padding:1.4em 1em;text-align:center;color:var(--muted)}
.selbox{display:grid;gap:.6em;background:#f2f7fc;border:1.5px solid #cfe2f3;border-radius:1em;padding:.8em .9em}
.selrow{display:flex;align-items:center;justify-content:space-between;gap:.5em}
.selrow .k{font-size:.8em;color:var(--muted);width:3em}
.selrow .v{font-family:var(--display);font-weight:800;font-size:1.15em;flex:1}
.adj{display:flex;gap:.35em}
.adj button{width:2.3em;height:2.3em;border-radius:50%;border:1.5px solid #cfe2f3;background:#fff;font-weight:700;font-size:1.05em;cursor:pointer;color:var(--blue-dark)}
.adj button[disabled]{opacity:.35;cursor:default}
.seltotal{font-size:.82em;color:var(--blue-dark);font-weight:600}
.tip{font-size:.82em;color:var(--muted);display:flex;gap:.5em;align-items:flex-start}
.tip svg{width:1.2em;height:1.2em;flex:none;color:var(--blue)}

/* Forms */
.fields{display:grid;gap:.9em}
.field{display:grid;gap:.3em}
.field label,.flabel{font-weight:600;font-size:.86em}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:.7em}
.chips{display:flex;flex-wrap:wrap;gap:.45em}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:2em;padding:.55em 1em;font-weight:600;cursor:pointer;font-size:.92em}
.chip[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.check{display:flex;gap:.7em;align-items:flex-start;cursor:pointer;font-size:.92em;border:0;background:none;text-align:left;padding:0}
.check .box{width:1.4em;height:1.4em;border-radius:.4em;border:1.5px solid #9fb2c1;display:grid;place-items:center;flex:none;background:#fff;margin-top:.05em}
.check .box svg{width:1em;height:1em}
.check[aria-pressed="true"] .box{background:var(--blue);border-color:var(--blue);color:#fff}
.notice{border-radius:1em;padding:.85em 1em;font-size:.88em;display:grid;gap:.4em}
.notice b{font-family:var(--display)}
.notice.warn{background:#fff6e8;color:#6d3c0c;border:1px solid #f3d6ac}
.notice.bad{background:#fdeceb;color:#7a1a12;border:1px solid #f5c2bd}
.notice.good{background:#e9f7ef;color:#124a2a;border:1px solid #bfe5cf}
.notice.info{background:#f1f6fb;color:#334a5e;border:1px solid #e1ecf6}

/* Terms */
.rules{list-style:none;margin:0;padding:0;display:grid;gap:.55em;font-size:.92em}
.rules li{display:flex;gap:.6em}
.rules li svg{flex:none;width:1.15em;height:1.15em;color:var(--good);margin-top:.15em}
details.full{border:1.5px solid var(--line);border-radius:1em;padding:.75em 1em;background:#fff}
details.full summary{cursor:pointer;font-weight:700;color:var(--blue)}
details.full .terms{max-height:16em;overflow:auto;font-size:.82em;color:#3c4a56;margin-top:.6em;padding-right:.5em}
details.full .terms p{margin:.5em 0}

/* Summary + done */
.sum{display:grid;background:#f7f9fb;border-radius:1em;overflow:hidden}
.sum div{display:flex;justify-content:space-between;gap:1em;padding:.6em .9em;border-bottom:1px solid #edf1f5;font-size:.9em}
.sum div:last-child{border-bottom:0}
.sum span{color:var(--muted)}.sum b{text-align:right}
.done-mark{width:3.6em;height:3.6em;border-radius:50%;background:linear-gradient(135deg,#22a565,#13824a);color:#fff;display:grid;place-items:center;margin:0 auto;box-shadow:0 12px 26px -10px rgba(19,130,74,.7)}
.done-mark.hold{background:linear-gradient(135deg,#f0a73a,#c97a12);box-shadow:0 12px 26px -10px rgba(201,122,18,.7)}
.done-mark svg{width:1.9em;height:1.9em}
.meet{background:linear-gradient(135deg,#0f2233,#1b3a55);color:#fff;border-radius:1.1em;padding:.9em 1em;display:flex;gap:.8em;align-items:center}
.meet svg{width:1.8em;height:1.8em;color:#8fd0ff;flex:none}
.center{text-align:center}
.toast{position:absolute;left:50%;bottom:6em;transform:translateX(-50%);background:#16222c;color:#fff;padding:.65em 1.1em;border-radius:2em;font-size:.85em;z-index:40;max-width:90%;text-align:center;box-shadow:0 10px 30px -10px rgba(0,0,0,.5)}

/* Wider screens */
@container (min-width:720px){
  .app{background:none}
  .bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
  .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,32,.55),rgba(8,20,32,.65))}
  .topbar,.steps,.scroll,.footer{position:relative;z-index:1}
  .banner{display:none}
  .steps{justify-content:center}
  .page{max-width:44em;margin:1.4em auto;background:var(--surface);border-radius:1.6em;padding:1.6em;box-shadow:0 30px 60px -25px rgba(0,0,0,.5)}
  .page.wide{max-width:64em}
  .pagehead{color:var(--ink)}
  .when-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:1.1em;align-items:start}
  .footer{background:none;border:0;backdrop-filter:none;padding:.9em 1.6em 1.2em;max-width:44em;margin:0 auto;width:100%}
  .page{margin-bottom:.4em}
  .footer.wide{max-width:64em}
  .addr-hero{padding:4em;align-items:center;text-align:center;background:none}
  .addr-hero>*{width:100%;max-width:34em}
  .addr-hero h1{color:#fff;font-size:2.4em}
  .addr-hero .lead{color:#dbe6ef}
  .addr-hero .hint{color:#c2d2de}
}
@container (max-width:719px){.when-grid{display:grid;gap:1.1em}}

.day.v2::after{display:none}
.day.v2{font-weight:700}
.day.v2[disabled]{color:#c9d1d9;font-weight:500;text-decoration:none}
.limits{font-size:.88em;color:var(--muted);background:#f4f7fa;border-radius:.8em;padding:.6em .8em}
.limits b{color:var(--ink)}
.blks{display:grid;grid-template-columns:1fr 1fr;gap:.5em}
.blk{display:flex;flex-direction:column;align-items:flex-start;gap:.1em;border:1.5px solid var(--line);background:#fff;border-radius:.9em;padding:.65em .8em;cursor:pointer;font-weight:700;font-size:.92em;text-align:left;min-height:3.4em;justify-content:center}
.blk:hover:not([disabled]){border-color:#9cc4e4;background:#f5f9fd}
.blk em{font-style:normal;font-size:.78em;font-weight:600}
.blk.booked{background:#eef1f4;border-color:#eef1f4;color:#a3afba;cursor:not-allowed}
.blk.booked span{text-decoration:line-through}
.blk.on,.blk.on:hover:not([disabled]){background:var(--blue);border-color:var(--blue);color:#fff}
.picked{display:flex;align-items:center;justify-content:space-between;gap:.6em;background:#eef6fd;border-radius:.8em;padding:.6em .8em;color:var(--blue-dark)}
#daypanel{scroll-margin-top:1em}
@container (min-width:720px){.blks{grid-template-columns:repeat(4,1fr)}}

.blks{display:flex;flex-wrap:wrap;gap:.4em}
.blk{flex:1 1 9em;min-height:0;padding:.5em .85em;border-radius:2em;font-size:.9em;font-weight:600;display:inline-flex;align-items:center;justify-content:center}
.blk.booked{background:#dfe5ea;border-color:#dfe5ea;color:#8a99a6;text-decoration:line-through}
@container (min-width:720px){.blks{display:flex}}

.meetq{display:grid;gap:.6em;border-top:1px solid var(--line);padding-top:1em;scroll-margin-top:1em}
.mchips{display:flex;flex-wrap:wrap;gap:.4em}
.chip.sm{padding:.45em .8em;font-size:.88em}
.modal{position:absolute;inset:0;background:rgba(10,20,30,.55);display:flex;align-items:flex-end;justify-content:center;z-index:30}
.modal .panel{background:#fff;width:100%;max-width:30em;border-radius:1.4em 1.4em 0 0;padding:1.1em;display:grid;gap:.6em}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:1em}
.panel-head b{font-family:var(--display);font-size:.95em}
.sms{background:#f2f4f7;border-radius:1em;padding:.9em;display:grid;gap:.5em}
.sms .from{font-size:.72em;color:var(--muted);text-align:center}
.bubble{background:#e5e8ec;border-radius:1.1em 1.1em 1.1em .3em;padding:.65em .85em;font-size:.9em;max-width:88%}
.bubble.me{background:var(--blue);color:#fff;justify-self:end;border-radius:1.1em 1.1em .3em 1.1em}
.smslink{border:0;background:none;color:var(--blue);text-decoration:underline;padding:0;cursor:pointer;font:inherit}
@container (min-width:720px){.modal{align-items:center}.modal .panel{border-radius:1.4em}}

.meetline{display:flex;align-items:center;flex-wrap:wrap;gap:.5em;border-top:1px solid var(--line);padding-top:.9em;font-weight:600;font-size:.95em}
.selwrap{position:relative;display:inline-block}
.selwrap select{appearance:none;-webkit-appearance:none;border:1.5px solid var(--blue);background:#eef6fd;color:var(--blue-dark);font-weight:700;border-radius:2em;padding:.45em 2.1em .45em 1em;cursor:pointer;font-size:1em}
.selwrap::after{content:"";position:absolute;right:.9em;top:50%;width:.45em;height:.45em;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:translateY(-70%) rotate(45deg);pointer-events:none}

.endbox{background:#fff;border-radius:1.2em;padding:1em 1.1em;display:grid;gap:.15em;border-left:.35em solid var(--blue);box-shadow:0 10px 26px -16px rgba(16,40,64,.22)}
.endbox b{font-family:var(--display);font-size:1.1em}
.endbox span{color:var(--bad);font-weight:600;font-size:.92em}
.acts{display:grid;gap:.5em}
.act{border:1.5px solid var(--line);background:#fff;border-radius:1em;padding:.85em 1em;text-align:left;font-weight:600;cursor:pointer}
.act:hover,.act.on{border-color:var(--blue);background:#eef6fd}
.opts{display:grid;gap:.4em}
.opt{display:flex;justify-content:space-between;align-items:center;border:1.5px solid var(--line);background:#fff;border-radius:.9em;padding:.6em .9em;cursor:pointer}
.opt span{font-size:.82em;color:var(--muted)}
.opt[aria-pressed="true"]{border-color:var(--blue);background:#eef6fd}
.morebox{border-top:1px solid var(--line);padding-top:.8em;display:grid;gap:.5em}
.staff{background:#16222c;color:#dfe8ef;border-radius:1em;padding:.9em 1em;display:grid;gap:.15em;font-size:.88em}
.staff .label{color:#8ea3b4}
.staff b{color:#fff}
.staff .st{margin-top:.3em;display:inline-block;justify-self:start;background:#2a3c4a;color:#9fe0bb;border-radius:2em;padding:.2em .7em;font-weight:700}

.addrrow{display:grid;grid-template-columns:1fr 6.5em;gap:.7em}
.input[readonly]{background:#eef2f6;color:#3c4a56}
.dd{position:relative;display:block}
.dd select{appearance:none;-webkit-appearance:none;padding-right:2.4em;cursor:pointer}
.dd::after{content:"";position:absolute;right:1.1em;top:50%;width:.5em;height:.5em;border-right:2px solid #64748b;border-bottom:2px solid #64748b;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.flag{margin-top:.5em;color:#ffd38a;font-weight:600}
.flag.sent{color:#9fd0ff}.flag.ok{color:#9fe0bb}
.flagbtns{display:flex;gap:.4em;flex-wrap:wrap;margin-top:.3em}
.flagbtns button{border:1px solid #3a4f60;background:#22323f;color:#e8eef3;border-radius:2em;padding:.35em .8em;font-size:.9em;cursor:pointer}

.topbar .t{font-size:1.2em;font-weight:800;letter-spacing:-.02em}
.topbar .t small{font-size:.66em;font-weight:500;letter-spacing:0;margin-top:.1em}
.topbar img{height:1.9em}

/* v8: address screen higher up; crisp photo banner on wide screens */
.addr-hero{justify-content:flex-start;padding:3.2em 1.4em 2em}
.badge{width:3.6em;height:3.6em;border-radius:1.1em;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#0a6fc2,#0b4f8c);box-shadow:0 14px 28px -12px rgba(10,111,194,.7)}
.badge svg{width:1.9em;height:1.9em}
.blk{white-space:nowrap}


/* v10: photo band across the top only, card overlapping it, light below */
.bg{display:none!important}
@container (min-width:720px){
  .app{background:#eef2f6}
  .banner{display:flex;align-items:flex-start;height:19em;padding:2em 2.4em 0;margin:0;border-radius:0;max-width:none;width:100%}
  .banner::before{background:linear-gradient(180deg,rgba(8,20,32,.55) 0%,rgba(8,20,32,.25) 45%,rgba(8,20,32,.05) 100%)}
  .banner>div{max-width:44em;width:100%;margin:0 auto}
  .banner b{font-size:1.6em;text-shadow:0 2px 12px rgba(0,0,0,.35)}
  .banner + .page,.banner + .page.wide{position:relative;margin:-10em auto 1.4em;max-width:44em;background:#fff;border-radius:1.6em;padding:1.6em;box-shadow:0 24px 60px -30px rgba(16,40,64,.45)}
  .page .card{box-shadow:none;border:1px solid var(--line)}
  .footer,.footer.wide{max-width:44em!important;margin:0 auto!important;width:100%;padding:.4em 1.6em 1.4em;background:none;border:0}
  .addr-hero{padding:6em 3em 3em;background:radial-gradient(70% 50% at 50% 0%,#dceefc 0%,transparent 70%)}
  .addr-hero h1{color:var(--ink)}
  .addr-hero .lead{color:var(--muted)}
  .addr-hero .badge{margin:0 auto}
}

.topbar .t .loc{display:flex;align-items:center;gap:.25em;border:0;background:none;padding:0;margin-top:.15em;color:var(--blue);font:inherit;font-family:var(--body);font-size:.66em;font-weight:600;letter-spacing:0;cursor:pointer;max-width:16em}
.topbar .t .loc span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar .t .loc .lp{width:1.05em;height:1.05em;flex:none}
.topbar .t .loc .car{width:1em;height:1em;flex:none}
.banner .city{display:block;color:#fff;opacity:.9;font-size:.85em;margin-top:.15em}
.sugg .sc{display:block;color:var(--muted);font-size:.8em;font-weight:500}

.tbtns{margin-left:auto;display:flex;gap:.45em}
.tbtns .round{margin-left:0}
.round.loc2{border:0;cursor:pointer;color:var(--blue)}
.locrow{display:flex;gap:.7em;align-items:center;background:#f4f7fa;border-radius:1em;padding:.8em 1em}
.locrow svg{width:1.4em;height:1.4em;color:var(--blue);flex:none}
.locrow b{display:block;font-family:var(--display)}
.locrow span{color:var(--muted);font-size:.9em}

.reqbox{background:#fff8ec;border:1.5px solid #f2cf95;border-radius:1.2em;padding:1em;display:grid;gap:.7em}
.reqhead{display:flex;align-items:center;gap:.5em;color:#8a4b06}
.reqhead svg{width:1.3em;height:1.3em}
.reqhead b{font-family:var(--display);font-size:1.02em}
.reqitem{display:flex;gap:.8em;align-items:center}
.reqitem p{margin:0;font-size:.9em;color:#4a3518}
.reqph{flex:none;width:5.2em;height:3.9em;border-radius:.7em;border:0;background-size:cover;background-position:center;cursor:zoom-in;box-shadow:0 4px 10px -4px rgba(0,0,0,.35)}
.reqdot{flex:none;width:5.2em;display:grid;place-items:center}
.reqdot::before{content:"";width:.55em;height:.55em;border-radius:50%;background:#d48a1e}
.reqok{border-top:1px solid #f2cf95;padding-top:.8em}
.termsbox{max-height:15em;overflow-y:auto;border:1px solid var(--line);border-radius:.9em;padding:.4em 1em;font-size:.84em;color:#3c4a56;background:#fbfcfd}
.termsbox p{margin:.55em 0}
.endmark{text-align:center;color:#94a3b8;font-size:.9em}
.check[disabled]{opacity:.45;cursor:not-allowed}
.sig{font-family:'Segoe Script','Bradley Hand','Brush Script MT',cursive;font-size:1.25em}
.sig:disabled{opacity:.5}
.signed{display:flex;gap:.6em;align-items:flex-start;background:#e9f7ef;border-radius:.9em;padding:.7em .9em;color:#124a2a;font-size:.9em}
.signed svg{width:1.2em;height:1.2em;flex:none;margin-top:.1em}
.termsfull{font-size:.88em;color:#3c4a56}
.termsfull p{margin:.6em 0}
.termsfull p.th,.tbody p.th{font-weight:700;color:var(--ink,#1d2a35);margin-top:1.2em;letter-spacing:.02em}
.termsfull p.th:first-child,.tbody p.th:first-child{margin-top:0}
.agreeline{border-top:1px solid var(--line);padding-top:1em}

.btn svg{width:1.2em;height:1.2em;flex:none}
.ccbox{border:1.5px solid var(--line);border-radius:1em;background:#fff;overflow:hidden}
.ccbox:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(10,111,194,.14)}
.ccbox input{border:0;outline:none;background:none;font-size:1.05em;padding:.85em 1em;width:100%;min-width:0}
.ccnum{display:flex;align-items:center;border-bottom:1.5px solid var(--line);padding-left:.9em}
.ccnum svg{width:1.3em;height:1.3em;color:#94a3b8;flex:none}
.ccnum input{padding-left:.6em}
.ccrow{display:grid;grid-template-columns:1fr 1fr}
.ccrow input+input{border-left:1.5px solid var(--line)}
.secure{display:flex;gap:.5em;align-items:center;margin:0;font-size:.8em;color:var(--muted)}
.secure svg{width:1.1em;height:1.1em;flex:none;color:var(--good)}

.cof{background:#fff;border:1.5px solid #bfe5cf;border-radius:1.2em;padding:1em 1.1em;display:grid;gap:.5em}
.cof .big{font-family:var(--display);font-size:1.15em;color:var(--good)}
.cof p{margin:0;font-size:.92em;color:#3c4a56}
.cof ul{list-style:none;margin:.2em 0 0;padding:0;display:grid;gap:.45em;font-size:.92em}
.cof li{display:flex;gap:.55em}
.cof li svg{width:1.15em;height:1.15em;color:var(--good);flex:none;margin-top:.15em}
.savedcard{display:flex;align-items:center;gap:.8em;border:1.5px solid var(--blue);background:#eef6fd;border-radius:1em;padding:.85em 1em}
.savedcard>svg{width:1.6em;height:1.6em;color:var(--blue);flex:none}
.savedcard b{display:block}
.savedcard span{font-size:.82em;color:var(--muted)}
.savedcard .tick{margin-left:auto;width:1.6em;height:1.6em;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center}
.savedcard .tick svg{width:1em;height:1em}

.dmg b{font-family:var(--display)}
.dmg .opt{font-family:var(--body);font-weight:600;font-size:.72em;color:var(--muted);background:#eef2f6;border-radius:2em;padding:.15em .6em;margin-left:.3em;vertical-align:middle}
.dmg p{margin:.3em 0 0;font-size:.9em;color:#3c4a56}
.dmgbtn{cursor:pointer}
.dmgph{display:flex;gap:.5em;flex-wrap:wrap}
.dmgph figure{margin:0;width:7.5em}
.dmg .opt{display:inline-block!important;width:auto!important}
.dmg>div>b{display:flex;align-items:center;flex-wrap:wrap;gap:.2em}
.dmgph img{width:7.5em;height:4.5em;object-fit:cover;border-radius:.6em;display:block}
.dmgph figcaption{font-size:.7em;color:var(--muted);margin-top:.2em}

.yb span{display:block;font-size:.75em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.yb h2{font-size:1.45em}

.yb span{display:block;font-size:.75em;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.bk{display:flex;gap:1em;align-items:center;background:#fff;border-radius:1.3em;padding:1.1em;box-shadow:0 1px 2px rgba(16,40,64,.05),0 12px 30px -16px rgba(16,40,64,.28)}
.dtile{flex:none;width:4.6em;border-radius:1em;overflow:hidden;text-align:center;border:1.5px solid var(--line);background:#fff}
.dtile span:first-child{display:block;background:var(--blue);color:#fff;font-weight:700;font-size:.72em;letter-spacing:.08em;padding:.3em 0}
.dtile b{display:block;font-family:var(--display);font-size:1.9em;line-height:1.15;padding-top:.1em}
.dtile span:last-child{display:block;font-size:.68em;font-weight:700;color:var(--muted);letter-spacing:.08em;padding-bottom:.35em}
.bkinfo{display:grid;gap:.1em;min-width:0}
.bkinfo h2{font-size:1.3em}
.bktime{font-family:var(--display);font-weight:800;font-size:1.45em;color:var(--blue-dark);letter-spacing:-.02em}
.bkend{font-size:.8em;color:var(--muted)}
.pill{justify-self:start;font-size:.7em;font-weight:700;background:#e3f5ea;color:var(--good);border-radius:2em;padding:.2em .7em;margin-bottom:.2em}
.pill.wait{background:#fff1dc;color:#9a5b10}
.meet2{background:linear-gradient(135deg,#0f2233,#1b3a55);color:#fff;border-radius:1.3em;padding:1.1em;display:grid;grid-template-columns:auto 1fr;gap:.4em .9em;align-items:center}
.meet2>svg{width:2em;height:2em;color:#8fd0ff}
.mtxt span{display:block;font-size:.88em;opacity:.85}
.mtxt b{display:block;font-family:var(--display);font-size:1.8em;letter-spacing:-.02em;line-height:1.15}
.mbtns{grid-column:1/-1;display:flex;align-items:center;gap:1em;margin-top:.5em}
.wbtn{flex:1;border:0;background:#fff;color:var(--blue-dark);font-weight:700;border-radius:.9em;padding:.8em 1em;cursor:pointer}
.tlink{border:0;background:none;color:#cfe6fa;text-decoration:underline;cursor:pointer;font-size:.9em;white-space:nowrap}
.mpanel{grid-column:1/-1;background:#fff;color:var(--ink);border-radius:1em;padding:.9em;display:grid;gap:.6em;margin-top:.4em}
.mlabel{font-weight:700;font-size:.85em}
.rowbtn{display:flex;align-items:center;gap:.8em;width:100%;background:#fff;border:0;border-radius:1.2em;padding:1em 1.1em;font-weight:600;cursor:pointer;text-align:left;box-shadow:0 1px 2px rgba(16,40,64,.05),0 10px 26px -18px rgba(16,40,64,.22)}
.rowbtn svg{width:1.3em;height:1.3em;color:var(--blue);flex:none}
.rowbtn span{flex:1}
.rowbtn svg:last-child{color:#94a3b8}
.cancel2{justify-self:center;border:0;background:none;color:var(--bad);font-weight:600;cursor:pointer;padding:.6em;text-decoration:underline}
.cancelbox{border:1.5px solid #f5c2bd}

.booked{display:flex;gap:.7em;align-items:center;background:#e9f7ef;border:1px solid #bfe5cf;border-radius:1.1em;padding:.8em 1em;color:#124a2a}
.booked>svg{width:1.6em;height:1.6em;flex:none;background:var(--good);color:#fff;border-radius:50%;padding:.25em}
.booked b{display:block;font-family:var(--display)}
.booked span{font-size:.88em}
.hero2{background:#fff;border-radius:1.3em;padding:1.2em 1.2em 1.1em;box-shadow:0 1px 2px rgba(16,40,64,.05),0 12px 30px -16px rgba(16,40,64,.28);display:grid;gap:.15em}
.hero2 .lbl{display:flex;align-items:center;justify-content:space-between;gap:.5em;font-size:.75em;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.hero2 .lbl .pill{text-transform:none;letter-spacing:0;margin:0;font-size:.95em}
.hdate{font-family:var(--display);font-weight:800;font-size:2em;line-height:1.1;letter-spacing:-.03em;margin-top:.25em}
.htime{font-family:var(--display);font-weight:800;font-size:1.65em;color:var(--blue);letter-spacing:-.02em}
.meet3{background:#eef6fd;border:1.5px solid #cfe2f3;border-radius:1.3em;padding:1.1em;display:grid;gap:.8em}
.mtop{display:flex;gap:.8em;align-items:center}
.mtop>svg{width:2.1em;height:2.1em;color:var(--blue);flex:none}
.mtop span{display:block;font-size:.92em;color:#334a5e}
.mtop b{display:block;font-family:var(--display);font-size:1.9em;line-height:1.1;color:var(--ink);letter-spacing:-.02em}
.mq{display:flex;align-items:center;justify-content:space-between;gap:.8em;border-top:1px solid #cfe2f3;padding-top:.8em;flex-wrap:wrap}
.mq span{font-size:.9em;color:#334a5e}
.obtn{border:1.5px solid var(--blue);background:#fff;color:var(--blue-dark);font-weight:700;border-radius:.9em;padding:.6em 1em;cursor:pointer}
.mpanel2{background:#fff;border-radius:1em;padding:.9em;display:grid;gap:.6em}
.hwd{font-family:var(--display);font-weight:700;font-size:1.15em;color:var(--ink);margin-top:.3em}
.hero2 .hdate{margin-top:0;font-size:2.3em}

/* v22: centred booking card, centred meeting card, clearer spacing */
.page{gap:1.5em}
.hero2{text-align:center;justify-items:center;padding:1.4em 1.2em 1.3em}
.hero2 .lbl{justify-content:center;flex-direction:column;gap:.5em}
.hero2 .hdate{font-size:1.75em;margin-top:.2em;text-wrap:balance}
.hero2 .htime{font-size:1.9em}
.hero2 .bkend{margin-top:.2em}
.meet3{text-align:center;justify-items:center}
.mtop{flex-direction:column;gap:.3em}
.mq{flex-direction:column;justify-content:center;width:100%}
.mq .obtn{min-width:14em}
.mpanel2{width:100%;text-align:left}
.booked{margin-bottom:-.4em}

/* v23: strong meeting card with no-show note */
.meet3.strong{background:linear-gradient(135deg,#0a6fc2,#0b4f8c);border:0;color:#fff;box-shadow:0 16px 34px -18px rgba(10,111,194,.8)}
.meet3.strong .mtop>svg{color:#bfe0fa}
.meet3.strong .mh{font-size:.95em;font-weight:600;color:#e3f1fc}
.meet3.strong .mtop b{color:#fff;font-size:2.3em}
.meet3.strong .mt2{font-size:1.4em!important}
.noshow{margin:0;font-size:.85em;color:#d6eaf9;max-width:26em}
.meet3.strong .mq{border-top-color:rgba(255,255,255,.25)}
.meet3.strong .mq span{color:#e3f1fc}
.meet3.strong .obtn{background:#fff;border-color:#fff;color:var(--blue-dark)}
.meet3.strong .mpanel2{color:var(--ink)}

/* v24: meeting card white with blue border, no dark blue */
.meet3.strong{background:#fff;border:2px solid var(--blue);color:var(--ink);box-shadow:0 14px 30px -20px rgba(10,111,194,.6);padding:0 0 1.1em;overflow:hidden;gap:.7em}
.meet3.strong .mtop{background:#eaf4fc;width:100%;padding:1em 1em .9em}
.meet3.strong .mtop>svg{color:var(--blue)}
.meet3.strong .mh{color:var(--blue-dark);font-weight:700}
.meet3.strong .mtop b{color:var(--blue);font-size:2.3em}
.meet3.strong .noshow{color:#3c4a56;padding:0 1.2em}
.meet3.strong .mq{border-top-color:var(--line);padding:.8em 1.1em 0;box-sizing:border-box}
.meet3.strong .mq span{color:#3c4a56}
.meet3.strong .obtn{background:var(--blue);border-color:var(--blue);color:#fff}
.meet3.strong .mpanel2{margin:0 1em;width:auto;border:1px solid var(--line)}

/* v25: compact meeting card */
.meet3.strong{gap:0;padding:0}
.meet3.strong .mtop{padding:1em 1.1em .9em}
.meet3.strong .noshow{padding:0;margin:.35em auto 0;font-size:.8em;color:#4a6276;max-width:22em}
.meet3.strong .mq{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:nowrap;padding:.75em 1.1em;border-top:1px solid #d6e6f3;text-align:left}
.meet3.strong .mq span{font-size:.92em;font-weight:600;color:var(--ink)}
.obtn.sm{min-width:0!important;padding:.45em 1.1em;border-radius:2em;font-size:.9em;flex:none}
.meet3.strong .mpanel2{margin:0 1em 1em}

.bkend.red{color:var(--bad);font-weight:600}
.editbk{margin-top:.8em;padding-top:.8em;border:0;border-top:1px solid var(--line);width:100%;background:none;color:var(--blue);font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.45em;font-size:.95em}
.editbk svg{width:1.1em;height:1.1em}

.bkc{background:#fff;border-radius:1.3em;box-shadow:0 1px 2px rgba(16,40,64,.05),0 12px 30px -16px rgba(16,40,64,.28)}
.fin{display:inline-flex;align-items:center;gap:.35em;font-size:.82em;color:var(--muted)}
.fin svg{width:1.05em;height:1.05em}
.s1{padding:1.3em 1.2em;display:grid;justify-items:center;text-align:center;gap:.2em}
.lbl1,.lbl3{font-size:.72em;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.s1 .pill{margin:.35em 0 .25em}
.s1d{font-family:var(--display);font-weight:800;font-size:1.75em;letter-spacing:-.03em;line-height:1.15;text-wrap:balance}
.s1t{font-family:var(--display);font-weight:800;font-size:1.9em;color:var(--blue);letter-spacing:-.02em}
.s1 .fin{margin-top:.2em}
.obtn2{margin-top:.9em;display:inline-flex;align-items:center;gap:.4em;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-weight:600;border-radius:2em;padding:.5em 1.1em;cursor:pointer;font-size:.9em}
.obtn2 svg,.iconedit svg{width:1.05em;height:1.05em}
.s2{display:flex;gap:1em;align-items:center;padding:1.1em}
.s2i{flex:1;min-width:0;display:grid;gap:.1em}
.s2top{display:flex;align-items:center;justify-content:space-between}
.s2top .pill{margin:0}
.iconedit{width:2.2em;height:2.2em;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--blue);display:grid;place-items:center;cursor:pointer}
.s2d{font-family:var(--display);font-weight:700;font-size:1.05em;margin-top:.2em}
.s2t{font-family:var(--display);font-weight:800;font-size:1.6em;color:var(--blue);letter-spacing:-.02em;line-height:1.15}
.s3{padding:1.1em 1.2em;display:grid;gap:.15em}
.s3top{display:flex;justify-content:space-between;align-items:center}
.tedit{border:0;background:none;color:var(--blue);font-weight:700;cursor:pointer;font-size:.9em;padding:.2em 0}
.s3d{font-family:var(--display);font-weight:800;font-size:1.6em;letter-spacing:-.03em;line-height:1.15;margin-top:.2em}
.s3t{font-family:var(--display);font-weight:800;font-size:1.6em;color:var(--blue);letter-spacing:-.02em}
.s3f{display:flex;align-items:center;justify-content:space-between;margin-top:.5em;padding-top:.6em;border-top:1px solid var(--line)}
.s3f .pill{margin:0}

.mc{background:#eaf4fc;border:1.5px solid #c9e0f3;border-radius:1.3em;overflow:hidden}
.mc .lbl1{color:var(--blue-dark)}
.mpanel3{background:#fff;margin:0 1em 1em;border-radius:1em;padding:.9em;display:grid;gap:.6em;border:1px solid var(--line)}
.m2n{margin:.3em 0 0;font-size:.8em;color:#4a6276}
.m1top{padding:1.2em 1.1em 1em;display:grid;justify-items:center;text-align:center;gap:.15em}
.m1s{font-size:.92em;color:#334a5e;margin-top:.3em}
.m1t{font-family:var(--display);font-weight:800;font-size:2.2em;color:var(--blue);letter-spacing:-.02em;line-height:1.1}
.mq1{display:flex;align-items:center;justify-content:space-between;gap:.8em;padding:.75em 1.1em;border-top:1px solid #c9e0f3;background:#fff}
.mq1 span{font-size:.9em;font-weight:600}
.m2bar{display:flex;align-items:center;justify-content:space-between;padding:.7em 1em;background:#d7e9f8}
.m2bar span{display:inline-flex;align-items:center;gap:.45em;font-family:var(--display);font-weight:800;color:var(--blue-dark)}
.m2bar svg{width:1.15em;height:1.15em}
.m2body{padding:1em 1.1em 1.1em}
.m2row{display:flex;align-items:center;gap:.7em;flex-wrap:wrap}
.m2t{font-family:var(--display);font-weight:800;font-size:2.1em;color:var(--blue);letter-spacing:-.02em;line-height:1.1}
.loc{display:inline-flex;align-items:center;gap:.3em;background:#fff;border:1px solid #c9e0f3;border-radius:2em;padding:.25em .7em;font-size:.85em;font-weight:600}
.loc svg{width:1em;height:1em;color:var(--blue);position:static;transform:none}
.m2s{margin:.3em 0 0;font-size:.9em;color:#334a5e}
.m3{padding:1.1em 1.1em 1.1em;display:grid;gap:.6em}
.m3row{display:flex;align-items:center;gap:1em;background:#fff;border-radius:1em;padding:.8em 1em}
.m3row>div:not(.m3div){display:grid}
.m3row span{font-size:.8em;color:var(--muted)}
.m3t{font-family:var(--display);font-weight:800;font-size:1.9em;color:var(--blue);letter-spacing:-.02em;line-height:1.1}
.m3l{font-family:var(--display);font-weight:800;font-size:1.15em}
.m3div{width:1px;align-self:stretch;background:var(--line)}
.obtn3{border:1.5px solid var(--blue);background:#fff;color:var(--blue-dark);font-weight:700;border-radius:1em;padding:.7em;cursor:pointer;width:100%}
.m3 .mpanel3{margin:0}

.m1b .m1top{padding:1.2em 1.1em 1.05em;gap:.1em}
.mhead{font-family:var(--display);font-weight:800;font-size:1.3em;color:var(--blue-dark);letter-spacing:-.01em}
.m1big{font-family:var(--display);font-weight:800;font-size:3em;color:var(--blue);letter-spacing:-.03em;line-height:1.05;margin:.05em 0 .1em}
.m1where{font-size:1em;font-weight:600;color:var(--ink)}
.m1where u{text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:var(--blue)}
.m1b .m2n{margin-top:.45em}
.s1 .pill{justify-self:center}
.m1b .lbl1{color:var(--muted);margin-bottom:.2em}

.mc.m1b{background:#fff}
.m1b .m1top{background:#eaf4fc;padding:1.1em 1.1em .9em}
.m1body{display:grid;justify-items:center;text-align:center;padding:1em 1.1em 1em;gap:.1em}
.m1b .mq1{background:#f8fafc;border-top-color:var(--line)}

.bkacts{display:flex;gap:.5em;justify-content:center;flex-wrap:nowrap;margin-top:.9em}
.bkacts .obtn2{white-space:nowrap;padding:.5em .95em}
.bkacts .obtn2{margin-top:0}
.obtn2.quiet{color:var(--muted)}
.cancelin{margin-top:.8em;border-top:1px solid var(--line);padding-top:.8em;display:grid;gap:.5em;font-size:.9em}
.cancelin p{margin:0}
.cbtns{display:flex;justify-content:center;gap:1em;align-items:center}
.dmg2{display:grid;gap:.6em;background:#f1faf5;border:1.5px solid #bfe5cf;box-shadow:none}
.dmg2 .shield{background:#fff}
.dmg2 .dmgbtn{background:#fff;border:1.5px solid #bfe5cf;color:#124a2a}
.dtop{display:flex;gap:.7em;align-items:center}
.shield{width:2.4em;height:2.4em;border-radius:.8em;background:#e9f7ef;color:var(--good);display:grid;place-items:center;flex:none}
.shield svg{width:1.35em;height:1.35em}
.dtop b{font-family:var(--display);font-size:1.1em}
.dtop .opt{display:inline-block!important;width:auto!important;font-weight:600;font-size:.7em;color:var(--muted);background:#eef2f6;border-radius:2em;padding:.15em .6em;margin-left:.45em;vertical-align:middle}
.dsub{font-size:.88em;color:var(--muted)}
.dmg2 p{margin:0;font-size:.9em;color:#3c4a56}
.obtn2 svg{width:1.05em;height:1.05em}
.madj{margin-top:.9em}
.m1b .m1body{padding-bottom:1.2em}

.m1big{font-size:1.9em!important}

.mailwrap{display:grid}
.mailmeta{font-size:.8em;color:var(--muted);background:#fff;border-radius:1em 1em 0 0;padding:.8em 1em;border:1px solid var(--line);border-bottom:0}
.mailmeta b{color:var(--ink)}
.mailmeta .subj{color:var(--ink);font-weight:700;margin-top:.3em;font-size:1.1em}
.mail{background:#f4f6f9;border:1px solid var(--line);border-radius:0 0 1em 1em;overflow:hidden}
.mhdr{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:.8em 1em;border-bottom:1px solid var(--line)}
.mhdr img{height:1.7em}.mhdr span{font-size:.8em;color:var(--muted);font-weight:600}
.mbanner{position:relative;height:8em;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:.8em 1em;color:#fff}
.mbanner::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,32,0),rgba(8,20,32,.7))}
.mbanner>div{position:relative;display:grid}.mbanner b{font-family:var(--display);font-size:1.15em}.mbanner span{font-size:.8em;opacity:.9}
.mbody{padding:1em;display:grid;gap:1em}
.mhi{margin:0;font-weight:600}
.mcard{background:#fff;border-radius:1.1em;padding:1.1em;border:1px solid var(--line)}
.mcard.c{display:grid;justify-items:center;text-align:center;gap:.2em}
.mcard .pill{justify-self:center;margin:.3em 0}
.mcard.mt{padding:0;overflow:hidden;gap:0}
.mtband{background:#eaf4fc;width:100%;padding:1em}
.mtb{padding:.9em 1em 1.1em;display:grid;justify-items:center;gap:.2em}
.mcard.g{background:#f1faf5;border-color:#bfe5cf}
.mcard.g b{font-family:var(--display)}
.mcard.g .opt{font-size:.7em;font-weight:600;color:var(--muted);background:#fff;border-radius:2em;padding:.15em .6em}
.mcard.g p{margin:.4em 0 .7em;font-size:.88em;color:#3c4a56}
.mrow{display:flex;gap:.5em;justify-content:center;margin-top:.8em}
.ebtn2{border:1.5px solid var(--line);background:#fff;color:var(--ink);font-weight:600;border-radius:2em;padding:.5em 1em;cursor:pointer;font-size:.88em;margin-top:.6em}
.mrow .ebtn2{margin-top:0}
.mcard.g .ebtn2{border-color:#bfe5cf;color:#124a2a;margin-top:0}
.ebtn2.p{background:var(--blue);border-color:var(--blue);color:#fff;width:100%;padding:.8em;font-size:1em;border-radius:1em;margin:0}
.mfacts{background:#fff;border-radius:1em;border:1px solid var(--line);display:grid}
.mfacts div{display:flex;justify-content:space-between;gap:1em;padding:.6em .9em;border-bottom:1px solid #edf1f5;font-size:.86em}
.mfacts div:last-child{border-bottom:0}.mfacts span{color:var(--muted)}.mfacts b{text-align:right;font-weight:600}
.mfoot{margin:0;font-size:.8em;color:var(--muted);text-align:center}
.mcard.g .opt{display:inline-block!important;width:auto!important;vertical-align:middle;margin-left:.3em}

.tcard{background:#fff;border-radius:1.2em;box-shadow:0 1px 2px rgba(16,40,64,.05),0 10px 26px -18px rgba(16,40,64,.22)}
.tcard summary{display:flex;align-items:center;gap:.8em;padding:1em 1.1em;cursor:pointer;list-style:none}
.tcard summary::-webkit-details-marker{display:none}
.tcard summary::after{content:"";margin-left:auto;width:.5em;height:.5em;border-right:2px solid #94a3b8;border-bottom:2px solid #94a3b8;transform:rotate(45deg);transition:transform .15s}
.tcard[open] summary::after{transform:rotate(-135deg)}
.tic{width:2.3em;height:2.3em;border-radius:.8em;background:#eef2f6;color:var(--muted);display:grid;place-items:center;flex:none}
.tic svg{width:1.25em;height:1.25em}
.tcard summary b{display:block;font-family:var(--display)}
.tcard summary small{display:block;color:var(--muted);font-size:.8em}
.tbody{padding:0 1.1em 1em;font-size:.85em;color:#3c4a56;max-height:22em;overflow:auto;border-top:1px solid var(--line)}
.tbody p{margin:.6em 0}
.mterms{display:flex;align-items:center;justify-content:space-between;gap:.8em}
.mterms b{display:block;font-family:var(--display)}
.mterms span{font-size:.8em;color:var(--muted)}
.mterms .ebtn2{margin:0;flex:none}

.dcard{background:#fff;border-radius:1.2em;padding:1em 1.1em .6em;box-shadow:0 1px 2px rgba(16,40,64,.05),0 10px 26px -18px rgba(16,40,64,.22)}
.dcard .lbl1{margin-bottom:.3em}
.drow{display:flex;justify-content:space-between;gap:1em;padding:.5em 0;border-top:1px solid #edf1f5;font-size:.9em}
.drow span{color:var(--muted)}.drow b{font-weight:600;text-align:right}
.msmall{margin:-.4em 0 0;font-size:.82em;color:var(--muted);text-align:center}

/* Real page additions (Nov 3 2026) */
.testbar{background:#fff6e8;color:#6d3c0c;border-bottom:1px solid #f3d6ac;font-size:.8em;padding:.5em 1em;text-align:center}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.app{min-height:100%;height:100%}
html,body{height:100%;margin:0;background:var(--surface)}
.page{max-width:44em;margin:0 auto;width:100%}
@container (min-width:720px){.page{margin:1.4em auto}.footer{max-width:44em;margin:0 auto;width:100%}}

/* Card on file (Stripe Elements), Nov 3 2026 */
.stripe-box{padding:.9em 1em;min-height:3.1em}
.card-error{color:var(--bad);font-size:.9em}
.dmgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.2em,1fr));gap:.5em}
.dmgph{border:0;padding:0;background:#fff;border-radius:.7em;overflow:hidden;cursor:pointer;display:grid;text-align:left;box-shadow:0 0 0 1px #bfe5cf}
.dmgph img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.dmgph span{font-size:.68em;color:#3c4a56;padding:.3em .45em}
.dmgbtn{justify-self:start;margin-top:0}
/* Key hand-off (Nov 4 2026): the notice the booking stops on, the summary above the review steps, greyed "call us" times. */
.blk.call{text-decoration:none;flex-direction:column;gap:0;line-height:1.2}
.blk.call small{font-size:.72em;font-weight:600;color:#7a8b99;text-decoration:none}
.callnote{margin:.8em 0 0}
.handoff{background:#fff8ec;border:1.5px solid #f2cf95;border-radius:1.1em;padding:1em 1.1em;margin-top:.6em}
.handoff p{margin:.55em 0;line-height:1.5}
.hhead{display:flex;gap:.55em;align-items:flex-start;font-size:1.12em;color:#7a4a05}
.hhead svg{width:1.3em;height:1.3em;flex:none;margin-top:.1em}
.handoff .field{margin:.7em 0 .4em}
.handoff .reqok{margin-top:.8em}
.meetsum{display:flex;gap:.6em;align-items:flex-start;background:#eaf4fc;border:1px solid #c9e0f3;border-radius:1em;padding:.75em .9em;margin:.4em 0 .9em;color:#0f2b40;line-height:1.4}
.meetsum svg{width:1.25em;height:1.25em;flex:none;margin-top:.1em;color:var(--blue)}
.meetsum span{display:block;font-size:.88em;color:#4b5b68;margin-top:.2em}
.m1day{font-weight:700;color:#1d2b36}
.guidec{display:flex;gap:.7em;align-items:center;text-decoration:none;color:inherit}
.guidec svg{width:1.6em;height:1.6em;flex:none;color:var(--blue)}
.guidec small{display:block;color:var(--muted);font-size:.86em;margin-top:.15em}
/* Booking on hold (Nov 13 2026): kept for the resident, not confirmed yet. */
.notice.hold{background:#fff6e5;color:#5e3305;border:1.5px solid #f1c27d;margin-bottom:1em}
.notice.hold b{color:#b54708}
.pill.hold{background:#fff1dc;color:#b54708}
