/* =====================================================================
   SENSE — Chambers & Contact page (contact.html). Loads after sense.css.
   ===================================================================== */

/* =====================================================================
   HERO
   ===================================================================== */
.ct-hero{padding-bottom:clamp(44px,6vw,96px)}
.ct-hero .phero-t{max-width:none}
.ct-live{display:inline-flex;align-items:center;gap:12px;min-height:46px;max-width:100%;padding:8px 18px 8px 14px;border-radius:18px;
  background:rgba(243,239,230,.08);box-shadow:inset 0 0 0 1px rgba(243,239,230,.16);color:var(--d1);font-size:15px;line-height:1.4;transition:background-color .25s}
html.lang-bn .ct-live{font-size:16px}
.ct-live:hover{background:rgba(243,239,230,.14)}

.ct-jump{display:grid;gap:12px;width:100%;margin-top:clamp(6px,1.2vw,16px)}
.ct-jump-k{font-family:var(--f-m);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--d2)}
html.lang-bn .ct-jump-k{font-family:var(--f-b);font-size:15px;letter-spacing:0}
.ct-chips{display:flex;flex-wrap:wrap;gap:10px}
.ct-chip{position:relative;display:flex;align-items:center;gap:12px;min-height:60px;height:100%;padding:9px 18px 9px 14px;border-radius:18px;
  background:rgba(19,20,30,.86);box-shadow:inset 0 0 0 1px rgba(243,239,230,.14);color:var(--d1);
  transition:background-color .25s,box-shadow .25s,transform .35s var(--ease)}
.ct-chip-dot{width:12px;height:12px;border-radius:50%;flex:none;background:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 24%,transparent)}
.ct-chip-t{display:grid;gap:1px;min-width:0;line-height:1.25}
.ct-chip-t b{font-weight:650;font-size:15.5px}
html.lang-bn .ct-chip-t b{font-weight:600;font-size:16.5px;line-height:1.35}
.ct-chip-t small{font-size:13px;color:var(--d2)}
html.lang-bn .ct-chip-t small{font-size:14px}
.ct-chip-now{display:none;align-items:center;font-size:12.5px;font-weight:700;line-height:1;padding:4px 8px;border-radius:999px;background:var(--c);color:var(--ink);margin-left:2px}
html.lang-bn .ct-chip-now{font-size:13.5px;font-weight:650}
.ct-chip.is-today .ct-chip-now{display:inline-flex}
.ct-chip:hover{background:color-mix(in srgb,var(--c) 20%,var(--ink2));box-shadow:inset 0 0 0 1.5px var(--c);transform:translateY(-2px)}
.ct-chip:focus-visible{border-radius:18px}

@media (prefers-reduced-motion:no-preference){
  .ct-hero .phero-in > *{animation:ctUp .9s var(--ease) both}
  .ct-hero .phero-t{animation-delay:.06s}
  .ct-hero .phero-sub{animation-delay:.14s}
  .ct-hero .ct-live{animation-delay:.2s}
  .ct-hero .ct-jump{animation:none}
  .ct-chips li{animation:ctUp .7s var(--ease) both}
  .ct-chips li:nth-child(1){animation-delay:.28s}.ct-chips li:nth-child(2){animation-delay:.33s}.ct-chips li:nth-child(3){animation-delay:.38s}
  .ct-chips li:nth-child(4){animation-delay:.43s}.ct-chips li:nth-child(5){animation-delay:.48s}.ct-chips li:nth-child(n+6){animation-delay:.53s}
}
@keyframes ctUp{from{opacity:0;transform:translateY(16px)}}

@media (max-width:640px){
  .ct-hero{padding-top:calc(var(--hdr-h) + 30px)}
  .ct-hero .phero-sub{font-size:16px}
  html.lang-bn .ct-hero .phero-sub{font-size:16.5px;line-height:1.7}
  .ct-live{width:100%}
  .ct-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .ct-chips li:last-child:nth-child(odd){grid-column:1 / -1}
  .ct-chip{gap:10px;padding:8px 10px 8px 12px;min-height:58px}
  .ct-chip-now{position:absolute;top:-8px;right:8px;margin:0}
}

/* =====================================================================
   TODAY · WEEK · CHAMBER LIST
   ===================================================================== */
.ct-sched{padding-top:clamp(20px,3vw,44px)}
.ct-kick{display:flex;align-items:center;gap:14px;margin-bottom:18px;font-family:var(--f-m);font-size:12.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--d2)}
html.lang-bn .ct-kick{font-family:var(--f-b);font-size:16px;font-weight:550;letter-spacing:0}
.ct-kick::before{content:"";width:31px;height:10px;flex:none;
  background-image:linear-gradient(var(--ear),var(--ear)),linear-gradient(var(--nose),var(--nose)),linear-gradient(var(--thyroid),var(--thyroid)),linear-gradient(var(--throat),var(--throat));
  background-size:4px 50%,4px 100%,4px 70%,4px 35%;background-position:0 50%,9px 50%,18px 50%,27px 50%;background-repeat:no-repeat}
.ct-wkhead{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:8px 40px;margin-bottom:20px}
.ct-wkt{font-family:var(--f-d);font-weight:740;font-stretch:88%;font-size:clamp(24px,2.4vw,34px);line-height:1.15;letter-spacing:-.01em;color:var(--d1)}
html.lang-bn .ct-wkt{letter-spacing:0;line-height:1.35}
.ct-wkhead p{max-width:34em;color:var(--d2);font-size:15.5px;line-height:1.55}
html.lang-bn .ct-wkhead p{font-size:16.5px;line-height:1.7}

/* the card a link jumped to lights up for a moment */
.ch.is-hit{animation:chHit 2.6s var(--ease)}
.ch.is-hit::before{width:100%}
@keyframes chHit{0%,18%{background-color:color-mix(in srgb,var(--c) 30%,var(--paper))}100%{background-color:transparent}}
.ch:focus{outline-offset:-3px}


/* =====================================================================
   SIGNATURE — THE DOCTOR'S WEEKLY ROUTE
   ===================================================================== */
.ct-route{overflow:hidden;overflow:clip}
.ct-route::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.7;
  background-image:radial-gradient(rgba(243,239,230,.1) 1px,transparent 1.6px);background-size:26px 26px;
  -webkit-mask:linear-gradient(180deg,transparent,#000 25%,#000 80%,transparent);mask:linear-gradient(180deg,transparent,#000 25%,#000 80%,transparent)}
.ct-route .sh-row{margin-bottom:clamp(28px,4vw,56px)}
.rt{position:relative;width:100%;min-height:240px}
.rt-svg{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}
.rt-svg path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.rt-glow{stroke-width:26;opacity:.14}
.rt-line{stroke-width:10}
.rt.is-tall .rt-glow{stroke-width:16}
.rt.is-tall .rt-line{stroke-width:6}
.rt-chevs path{stroke:var(--ink);stroke-width:2.4}
.rt.is-tall .rt-chevs path{stroke-width:1.9}
.rt-zt{font-family:var(--f-d);font-weight:800;font-stretch:80%;font-size:40px;letter-spacing:.02em;fill:rgba(243,239,230,.075);text-transform:uppercase}
html.lang-bn .rt-zt{letter-spacing:0;font-size:38px}
/* the line draws itself once, leg by leg */
.js .rt:not(.is-done) .rt-glow,.js .rt:not(.is-done) .rt-line{stroke-dasharray:var(--len) 99999;stroke-dashoffset:var(--len)}
.js .rt.is-in:not(.is-done) .rt-glow,.js .rt.is-in:not(.is-done) .rt-line{stroke-dashoffset:0;transition:stroke-dashoffset var(--du) linear var(--dl)}

/* stops: real links to the chamber cards */
.rt-stops{position:absolute;inset:0}
.rt-st{position:absolute;display:flex;flex-direction:column;color:var(--d1);border-radius:16px;
  transition:opacity .55s var(--ease),transform .65s var(--ease);transition-delay:var(--sd,0ms)}
.js .rt:not(.is-in) .rt-st{opacity:0;transform:translateY(10px)}
.rt.is-done .rt-st{transition-delay:0s;transition-duration:.25s}
.rt-lbl{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:16px;transition:background-color .25s}
.rt-st.is-top .rt-lbl,.rt-st.is-bot .rt-lbl{align-items:center;text-align:center}
.rt-nm{font-family:var(--f-d);font-weight:720;font-stretch:90%;font-size:19px;line-height:1.2;letter-spacing:-.01em}
html.lang-bn .rt-nm{font-weight:640;font-size:19px;line-height:1.38;letter-spacing:0}
.rt-ar{font-size:14px;line-height:1.4;color:var(--d2)}
html.lang-bn .rt-ar{font-size:15px}
.rt-days{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.rt-st.is-top .rt-days,.rt-st.is-bot .rt-days{justify-content:center}
.rt-st.is-bot .rt-days{order:-1;margin:0 0 7px}
.rt-days i{font-style:normal;font-size:12.5px;font-weight:650;line-height:1;padding:6px 10px;border-radius:999px;color:var(--d1);
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--c) 75%,transparent)}
html.lang-bn .rt-days i{font-size:13.5px;font-weight:600;padding:5px 10px 6px}
.rt-days i.is-on{background:var(--c);color:var(--ink);box-shadow:none}
.rt-node{position:absolute;left:var(--nx);top:var(--ny);width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;z-index:2;
  background:var(--ink);box-shadow:inset 0 0 0 5.5px var(--c);transition:transform .35s var(--ease),background-color .35s,box-shadow .35s}
.rt-st.is-side .rt-node{width:22px;height:22px;margin:-11px 0 0 -11px;box-shadow:inset 0 0 0 4.5px var(--c)}
.rt-st.is-focus .rt-node{background:var(--c);box-shadow:0 0 0 4px var(--ink),0 0 0 6.5px var(--c)}
.rt-ping{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 2.5px var(--c);opacity:0;pointer-events:none}
.rt-st.is-focus .rt-ping{animation:rtPing 2.4s var(--ease) infinite}
.rt-st.is-focus .rt-ping + .rt-ping{animation-delay:1.2s}
@keyframes rtPing{0%{transform:scale(1);opacity:.9}100%{transform:scale(3);opacity:0}}
.rt.is-off .rt-ping{animation-play-state:paused}

/* today's tag: inside the loop on wide screens, under the name on phones */
.rt-flag{display:none;align-items:center;width:max-content;max-width:min(300px,100%);padding:6px 13px 7px;border-radius:999px;
  font-size:13.5px;font-weight:650;line-height:1.3;color:var(--d1);background:var(--ink2);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--c) 80%,transparent)}
html.lang-bn .rt-flag{font-size:14.5px;font-weight:600}
.rt-st.has-flag .rt-flag{display:inline-flex}
.rt-st.is-focus .rt-flag,.rt-st.is-next .rt-flag{background:var(--c);color:var(--ink);box-shadow:none}
.rt-st.is-top .rt-flag{position:absolute;left:var(--fx,0);top:calc(var(--ny) + 26px)}
.rt-st.is-bot .rt-flag{position:absolute;left:var(--fx,0);bottom:calc(100% - var(--ny) + 26px)}
.rt-st.is-side .rt-flag{margin:2px 0 0 12px}
.rt-st.is-side .rt-lbl{padding:4px 12px 6px}

/* the travelling dot and its short trail */
.rt-train,.rt-trail i{position:absolute;left:0;top:0;border-radius:50%;pointer-events:none;opacity:0;z-index:3;background:var(--paper)}
.rt-train{width:14px;height:14px;margin:-7px 0 0 -7px;box-shadow:0 0 0 3px var(--ink),0 0 16px 3px rgba(243,239,230,.5);transition:opacity .3s}
.rt-train.is-on{opacity:1}
.rt-trail{position:absolute;inset:0;pointer-events:none}
.rt-trail i{transition:opacity .45s}
.rt-trail i:nth-child(1){width:10px;height:10px;margin:-5px 0 0 -5px}
.rt-trail i:nth-child(2){width:8px;height:8px;margin:-4px 0 0 -4px}
.rt-trail i:nth-child(3){width:6px;height:6px;margin:-3px 0 0 -3px}
.rt-trail i:nth-child(4){width:4px;height:4px;margin:-2px 0 0 -2px}
.rt-trail i.is-on{opacity:.55}
.rt-trail i:nth-child(3).is-on{opacity:.4}.rt-trail i:nth-child(4).is-on{opacity:.3}

.rt-st:focus-visible{outline:none}
.rt-st:focus-visible .rt-lbl{outline:3px solid var(--thyroid);outline-offset:2px}
@media (hover:hover){
  .rt.has-hot .rt-st:not(.is-hot){opacity:.45}
  .rt-st.is-hot .rt-lbl{background:rgba(243,239,230,.07)}
  .rt-st.is-hot .rt-node{transform:scale(1.18)}
}
@media (hover:none),(pointer:coarse){ .rt-st.is-focus .rt-ping{animation-iteration-count:4} }
@media (prefers-reduced-motion:reduce){
  .rt-st.is-focus .rt-ping:first-child{animation:none;opacity:.5;transform:scale(1.8)}
}

/* =====================================================================
   HOW TO GET A SERIAL
   ===================================================================== */
.stps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.stps::before{content:"";position:absolute;left:36px;right:calc(100% / 3 - 36px);top:34px;height:4px;border-radius:2px;
  background:linear-gradient(90deg,var(--neck),var(--throat) 50%,var(--nose));transform-origin:left center}
.stp{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-right:clamp(20px,3vw,48px)}
.stp-n{position:relative;z-index:1;display:grid;place-items:center;width:72px;height:72px;margin-bottom:10px;border-radius:50%;
  background:var(--c);color:var(--ink);box-shadow:0 0 0 8px var(--paper);font-family:var(--f-d);font-weight:800;font-size:34px;line-height:1}
html.lang-bn .stp-n{font-size:36px;font-weight:700}
.stp-t{font-family:var(--f-d);font-weight:740;font-stretch:88%;font-size:clamp(22px,2.1vw,30px);line-height:1.15;letter-spacing:-.015em}
html.lang-bn .stp-t{letter-spacing:0;line-height:1.35;font-weight:660}
.stp-d{color:var(--t2);font-size:16px;line-height:1.6;max-width:30em}
html.lang-bn .stp-d{font-size:17px;line-height:1.75}
.stp-a{display:inline-flex;align-items:center;gap:9px;min-height:46px;margin-top:auto;font-weight:650;border-bottom:2px solid currentColor;line-height:1.2}
.stp-a .ic{transition:transform .35s var(--ease)}
.stp-a:hover .ic{transform:translateY(-3px)}
.stp-a[href="#visit"]:hover .ic{transform:translateY(3px)}
.stp-call{padding:0 20px 0 15px;border:0;border-radius:999px;background:var(--throat);color:var(--ink);min-height:50px}
.stp-call:hover{background:#FF7253}
.stp-call:hover .ic{transform:none}
/* the line and the three numbers arrive in turn */
.js .stps::before{transform:scaleX(0);transition:transform 1.1s var(--ease) .25s}
.js .stps .stp-n{transform:scale(.55);opacity:0;transition:transform .7s var(--ease),opacity .4s}
.js .stps.in::before{transform:none}
.js .stps.in .stp-n{transform:none;opacity:1}
.js .stps.in .stp:nth-child(2) .stp-n{transition-delay:.45s}
.js .stps.in .stp:nth-child(3) .stp-n{transition-delay:.85s}
@media (max-width:760px){
  .stps{grid-template-columns:1fr;gap:30px}
  .stps::before{left:27px;right:auto;top:30px;bottom:30px;width:4px;height:auto;background:linear-gradient(180deg,var(--neck),var(--throat) 50%,var(--nose));transform-origin:center top}
  .js .stps::before{transform:scaleY(0)}
  .stp{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:18px;row-gap:8px;padding:0}
  .stp > :not(.stp-n){grid-column:2}
  .stp-n{grid-row:1 / span 3;width:56px;height:56px;margin:0;font-size:26px;box-shadow:0 0 0 6px var(--paper)}
  html.lang-bn .stp-n{font-size:28px}
  .stp-a{justify-self:start;margin-top:2px}
}

/* =====================================================================
   WHO TO CALL, WHERE TO WRITE
   ===================================================================== */
.mcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mc{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0;padding:clamp(22px,2.4vw,34px);
  border-radius:28px;background:var(--c);color:var(--ink);overflow:hidden;overflow:clip}
/* quiet "signal rings" in the corner */
.mc::after{content:"";position:absolute;z-index:-1;right:-70px;bottom:-70px;width:260px;height:260px;border-radius:50%;pointer-events:none;
  background:repeating-radial-gradient(circle,transparent 0 22px,rgba(11,12,18,.075) 22px 24px);
  -webkit-mask:radial-gradient(closest-side,#000 55%,transparent);mask:radial-gradient(closest-side,#000 55%,transparent)}
.mc-k{display:flex;align-items:center;gap:10px;font-family:var(--f-m);font-size:12.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
html.lang-bn .mc-k{font-family:var(--f-b);font-size:16.5px;font-weight:650;letter-spacing:0}
.mc-k .ic{width:22px;height:22px}
.mc-big{font-family:var(--f-d);font-weight:780;font-stretch:84%;font-size:clamp(30px,3vw,44px);line-height:1.05;letter-spacing:-.01em;font-feature-settings:"tnum";white-space:nowrap}
.mc-big a{border-bottom:3px solid rgba(11,12,18,.3)}
.mc-big a:hover{border-color:var(--ink)}
.mc-rule{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:14px;background:var(--ink);color:var(--paper);font-weight:600;font-size:15px;line-height:1.45}
html.lang-bn .mc-rule{font-size:16px;line-height:1.55}
.mc-rule .ic{color:var(--throat);flex:none;margin-top:1px}
.mc-d{font-size:15.5px;line-height:1.55;font-weight:500}
html.lang-bn .mc-d{font-size:16.5px;line-height:1.7}
.mc-name{font-weight:700;font-size:17px;line-height:1.35}
.mc-how{display:grid;gap:8px;width:100%}
.mc-how li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(11,12,18,.09);font-weight:600;font-size:15px;line-height:1.4}
html.lang-bn .mc-how li{font-size:16px;line-height:1.5}
.mc-how .ic{flex:none}
.mc-mail{font-weight:700;font-size:clamp(17px,1.45vw,20px);line-height:1.35;overflow-wrap:anywhere}
.mc-btn{margin-top:auto;white-space:normal}
.mc-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:auto}
.mc-cta .mc-btn{margin-top:0}
.mc-lnk{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:650;border-bottom:2px solid currentColor;line-height:1.2}
.mc-lnk .ic{width:16px;height:16px}
.mc .btn-line:hover{background:rgba(11,12,18,.1)}
/* the personal assistant: a wide card across the top */
.mc-pa{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px 48px}
.mc-pa-l{display:grid;gap:12px;justify-items:start;flex:1 1 420px;min-width:0}
.mc-pa .mc-big{font-size:clamp(38px,4.6vw,64px)}
.mc-pa .mc-d{max-width:36em}
.mc-pa-r{display:grid;gap:10px;flex:0 1 auto}
.mc-pa-r .mc-btn{margin:0;justify-content:flex-start}
.mc-pa::after{width:360px;height:360px;right:-90px;bottom:-130px}
@media (max-width:1100px){
  .mcs{grid-template-columns:1fr 1fr}
  .mc-em{grid-column:1 / -1}
}
@media (max-width:700px){
  .mcs{grid-template-columns:1fr;gap:12px}
  .mc{border-radius:24px}
  .mc-pa{flex-direction:column;align-items:stretch}
  .mc-pa-r{width:100%}
  .mc-btn{width:100%;justify-content:center}
  .mc-pa-r .mc-btn{justify-content:flex-start}
  .mc-cta{width:100%}
  .mc-big{font-size:clamp(28px,8.6vw,38px)}
  .mc-pa .mc-big{font-size:clamp(34px,11vw,48px)}
}

/* =====================================================================
   CONTACT FORM
   ===================================================================== */
.ct-fgrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,96px);align-items:start}
.ct-fhead{margin-bottom:0}
@media (min-width:901px){ .ct-fhead{position:sticky;top:110px} }
.ct-notes{display:grid;gap:10px;margin-top:8px}
.ct-notes li{position:relative;padding:12px 16px 12px 22px;border-radius:16px;background:var(--paper2);font-size:15.5px;line-height:1.55}
html.lang-bn .ct-notes li{font-size:16.5px;line-height:1.7}
.ct-notes li::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:0 3px 3px 0;background:var(--c)}

.fcard{position:relative;padding:clamp(22px,3vw,42px);border-radius:30px;background:var(--paper2);box-shadow:inset 0 0 0 1px var(--line-l)}
.cf{display:grid;gap:24px}
.cf[hidden],.fdone[hidden]{display:none}
.f-row{display:grid;gap:8px;min-width:0}
.f-lbl{font-weight:650;font-size:16px;line-height:1.35}
html.lang-bn .f-lbl{font-weight:600;font-size:17px;line-height:1.5}
.f-star{color:#B42318;font-weight:700}
.f-opt{font-weight:500;font-size:14px;color:var(--t2)}
html.lang-bn .f-opt{font-size:15px}
.f-in{width:100%;min-height:54px;padding:12px 16px;border:1.5px solid rgba(17,18,27,.24);border-radius:14px;background:var(--paper);color:var(--t1);
  font:inherit;font-size:17px;line-height:1.45;-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s,background-color .2s}
html.lang-bn .f-in{font-size:17.5px}
.f-in::placeholder{color:#6B6977;opacity:1}
.f-in:hover{border-color:rgba(17,18,27,.42)}
.f-in:focus{outline:none;border-color:var(--t1);background:#FBF8F1;box-shadow:0 0 0 4px rgba(255,178,30,.5)}
.f-in[aria-invalid="true"]{border-color:#B42318;background:#FFF5F2}
.f-in[aria-invalid="true"]:focus{box-shadow:0 0 0 4px rgba(180,35,24,.25)}
.f-ta{min-height:150px;resize:vertical}
.f-set{display:grid;gap:12px;min-width:0;margin:0;padding:16px;border:0;border-radius:20px;background:rgba(17,18,27,.045)}
.f-legend{float:left;width:100%;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:0;font-weight:650;font-size:16px;line-height:1.4}
html.lang-bn .f-legend{font-weight:600;font-size:17px;line-height:1.5}
.f-legend + *{clear:both}
.f-legend-n{font-weight:500;font-size:14.5px;color:var(--t2)}
html.lang-bn .f-legend-n{font-size:15.5px}
.f-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.f-err{display:flex;align-items:flex-start;gap:7px;color:#B42318;font-weight:600;font-size:14.5px;line-height:1.45}
html.lang-bn .f-err{font-size:15.5px;line-height:1.55}
.f-err:empty{display:none}
.f-err .ic{width:18px;height:18px;flex:none;margin-top:1px}
.f-picks{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.f-picks-k{width:100%;font-size:14px;color:var(--t2)}
html.lang-bn .f-picks-k{font-size:15px}
.f-pick{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 15px 0 12px;border-radius:999px;background:var(--paper);
  box-shadow:inset 0 0 0 1.5px rgba(17,18,27,.16);font-size:15px;font-weight:600;transition:background-color .2s,box-shadow .2s}
html.lang-bn .f-pick{font-size:15.5px;font-weight:550}
.f-pick::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c);flex:none}
.f-pick:hover{box-shadow:inset 0 0 0 1.5px var(--t1)}
.f-pick[aria-pressed="true"]{background:var(--c);box-shadow:none}
.f-pick[aria-pressed="true"]::before{background:var(--ink)}
.f-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.f-hint{font-size:14px;color:var(--t2)}
html.lang-bn .f-hint{font-size:15px}
.f-count{font-family:var(--f-m);font-size:12.5px;color:var(--t2);font-feature-settings:"tnum"}
html.lang-bn .f-count{font-family:var(--f-b);font-size:14px}
.f-alert{display:none}
.f-alert.is-on{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:16px;background:#FFE9E3;color:#8A1C10;
  box-shadow:inset 0 0 0 1.5px rgba(180,35,24,.35);font-weight:600;font-size:15.5px;line-height:1.5;animation:ctUp .4s var(--ease)}
html.lang-bn .f-alert.is-on{font-size:16.5px;line-height:1.65}
.f-alert .ic{flex:none;margin-top:2px}
.f-send{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.f-btn{min-width:230px;justify-content:center}
.f-btn-b,.f-eq{display:none}
.cf.is-busy .f-btn-t,.cf.is-busy .f-btn-ic{display:none}
.cf.is-busy .f-btn-b{display:inline}
.cf.is-busy .f-eq{display:inline-flex}
.cf.is-busy .f-btn{cursor:progress}
.f-eq{align-items:center;gap:3px;height:22px}
.f-eq i{width:4px;height:100%;border-radius:2px;background:var(--ink);transform-origin:50% 50%;animation:eq .55s var(--ease-io) infinite alternate}
.f-eq i:nth-child(2){animation-delay:-.2s}.f-eq i:nth-child(3){animation-delay:-.4s}.f-eq i:nth-child(4){animation-delay:-.1s}.f-eq i:nth-child(5){animation-delay:-.3s}
.f-req{font-size:14px;color:var(--t2)}
html.lang-bn .f-req{font-size:15px}
.f-req b{color:#B42318}

.fdone{display:grid;justify-items:start;gap:14px}
.fdone-ic{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--nose);color:var(--ink)}
.fdone-ic .ic{width:34px;height:34px}
.fdone:not([hidden]) .fdone-ic{animation:ctPop .7s var(--ease)}
@keyframes ctPop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.08);opacity:1}100%{transform:none}}
.fdone-t{font-family:var(--f-d);font-weight:760;font-stretch:88%;font-size:clamp(26px,2.6vw,36px);line-height:1.2;letter-spacing:-.01em}
html.lang-bn .fdone-t{letter-spacing:0;line-height:1.4;font-weight:680}
.fdone-t:focus{outline:none}
.fdone-d{max-width:32em;color:var(--t2);font-size:16px;line-height:1.6}
html.lang-bn .fdone-d{font-size:17px;line-height:1.75}
.fdone-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}

@media (max-width:900px){ .ct-fgrid{grid-template-columns:minmax(0,1fr)} }
@media (max-width:560px){
  .fcard{padding:20px 16px;border-radius:24px}
  .f-set{padding:14px 12px}
  .f-pair{grid-template-columns:1fr}
  .f-btn{width:100%}
  .fdone-cta .btn{width:100%;justify-content:center}
}

/* =====================================================================
   BEFORE YOUR VISIT — a checklist to tick while packing
   ===================================================================== */
.ct-visit .vlist li{padding:0;transition:background-color .3s}
.ck{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;padding:22px 22px 22px 28px;cursor:pointer}
.ck-in{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.ck-box{display:grid;place-items:center;width:34px;height:34px;margin-top:2px;border-radius:50%;background:var(--paper);color:var(--ink);
  box-shadow:inset 0 0 0 2px rgba(17,18,27,.38);transition:background-color .25s,box-shadow .25s,transform .35s var(--ease)}
.ck-box .ic{width:19px;height:19px;opacity:0;transform:scale(.4);transition:opacity .2s,transform .4s var(--ease)}
.ck:hover .ck-box{box-shadow:inset 0 0 0 2px var(--t1)}
.ck-in:checked + .ck-box{background:var(--c);box-shadow:none}
.ck-in:checked + .ck-box .ic{opacity:1;transform:none}
.ck-in:focus-visible + .ck-box{outline:3px solid var(--thyroid);outline-offset:3px}
.ck-txt{display:grid;gap:5px;min-width:0}
.ck-d{color:var(--t2);font-size:16px;line-height:1.5}
html.lang-bn .ck-d{font-size:17px;line-height:1.65}
.ck-txt b{text-decoration:line-through transparent 2px;transition:text-decoration-color .3s}
.ck-in:checked ~ .ck-txt b{text-decoration-color:color-mix(in srgb,var(--c) 85%,var(--ink))}
.ct-visit .vlist li:has(.ck-in:checked){background:color-mix(in srgb,var(--c) 16%,var(--paper2))}
@media (max-width:900px){ .ck{padding:20px 18px 20px 24px;gap:14px} }


/* phones: the assistant card stacks; its text column must not keep the 420px row basis */
@media (max-width:700px){ .mc-pa-l{flex:none} .mc-pa{gap:18px} }
