/* ============================================================
   VIVARA — Medical center, Warsaw. Warm, human, premium.
   One accent: deep apothecary green. Off-white canvas.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&family=Hanken+Grotesk:wght@400;500;600;700&display=swap');

:root{
  --bg:#F6F3EE;
  --card:#FFFFFF;
  --ink:#161616;
  --ink-2:#5A5A55;
  --accent:#2F6E5E;
  --accent-deep:#235447;
  --accent-tint:#E5EEE9;
  --beige:#F1E7DA;
  --tag:#EDEAE3;
  --line:#E6E1D7;
  --radius-s:16px;
  --radius-m:22px;
  --radius-l:28px;
  --shadow-s:0 4px 18px rgba(40,34,24,.06);
  --shadow-m:0 18px 44px rgba(40,34,24,.10);
  --shadow-l:0 34px 80px rgba(35,30,20,.16);
  --maxw:1240px;
  --head:'Bricolage Grotesque',system-ui,sans-serif;
  --body:'Hanken Grotesk',system-ui,sans-serif;
  --grad:linear-gradient(135deg,#2F6E5E 0%,#235447 100%);
  --stage-grad:linear-gradient(165deg,#3a7d6c 0%,#285949 60%,#1f4a3c 100%);
}

/* ---------- Theme: серо-синяя (slate) ---------- */
html[data-theme="slate"]{
  --bg:#F2F4F7;
  --card:#FFFFFF;
  --ink:#0F1B3D;
  --ink-2:#5B6679;
  --accent:#1D2B6B;
  --accent-deep:#141F4E;
  --accent-tint:#DEE8F3;
  --beige:#E1E9F1;
  --tag:#E7EDF3;
  --line:#DEE4EC;
  --shadow-s:0 4px 18px rgba(24,34,64,.06);
  --shadow-m:0 18px 44px rgba(24,34,64,.10);
  --shadow-l:0 34px 80px rgba(20,28,56,.16);
  --grad:linear-gradient(135deg,#22337F 0%,#141F4E 100%);
  --stage-grad:linear-gradient(165deg,#33509F 0%,#1D2B6B 60%,#15204F 100%);
}

/* ---------- Theme: бело-бежево-чёрная — удалена по решению от 10.06 ---------- */

/* Logo follows the theme accent */
.logo .mark rect{fill:var(--accent);}
.logo .mark circle{fill:var(--accent);}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--body);
  font-size:17px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
h1,h2,h3,h4{font-family:var(--head);font-weight:700;margin:0;line-height:1.02;letter-spacing:-.02em;}
p{margin:0;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.accent{color:var(--accent);}
.muted{color:var(--ink-2);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--body);font-weight:600;font-size:16px;
  padding:15px 26px;border-radius:999px;
  transition:transform .25s cubic-bezier(.2,.7,.3,1),background .2s,box-shadow .25s,color .2s;
  white-space:nowrap;
}
.btn svg{width:18px;height:18px;}
.btn-solid{background:var(--accent);color:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 28%,transparent);}
.btn-solid:hover{background:var(--accent-deep);transform:translateY(-2px);box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 34%,transparent);}
.btn-outline{border:1.5px solid rgba(22,22,22,.22);color:var(--ink);}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px);}
.btn-ghost{color:var(--ink);font-weight:600;}
.btn-ghost:hover{color:var(--accent);}
.btn-white{background:#fff;color:var(--ink);box-shadow:var(--shadow-s);}
.btn-white:hover{transform:translateY(-2px);box-shadow:var(--shadow-m);}
.link-arrow{display:inline-flex;align-items:center;gap:.5em;font-weight:600;color:var(--accent);transition:gap .25s;}
.link-arrow:hover{gap:.85em;}
.link-arrow svg{width:18px;height:18px;}

/* ---------- Tag / eyebrow ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.5em;
  background:var(--tag);color:var(--ink);
  font-weight:600;font-size:14px;letter-spacing:.01em;
  padding:8px 16px;border-radius:999px;
}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);}
.section{padding:140px 0;}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:56px;}
.section-head h2{font-size:clamp(34px,4.4vw,58px);max-width:18ch;}
.section-head > p,.section-head .rev-side{padding-top:.5em;}
.section-head p{color:var(--ink-2);max-width:42ch;}

/* ============================================================
   HEADER
   ============================================================ */
.header{position:sticky;top:0;z-index:60;transition:padding .3s ease,background .3s ease,box-shadow .3s ease,border-color .3s ease;
  padding:20px 0;border-bottom:1px solid transparent;}
.header.scrolled{background:rgba(246,243,238,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  padding:11px 0;border-bottom:1px solid var(--line);box-shadow:0 8px 30px rgba(40,34,24,.05);}
.nav{display:flex;align-items:center;gap:30px;}
.logo{display:flex;align-items:center;gap:11px;flex-shrink:0;}
.logo .mark{width:38px;height:38px;flex-shrink:0;transition:width .3s,height .3s;}
.header.scrolled .logo .mark{width:33px;height:33px;}
.logo .word{font-family:var(--head);font-weight:700;font-size:25px;letter-spacing:-.02em;}
.nav-links{display:flex;align-items:center;gap:30px;margin-left:8px;}
.nav-links a{font-weight:500;font-size:15.5px;color:var(--ink);position:relative;padding:4px 0;transition:color .2s;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--accent);transition:width .25s;}
.nav-links a:hover{color:var(--accent);}
.nav-links a:hover::after{width:100%;}
.nav-right{display:flex;align-items:center;gap:18px;margin-left:auto;}
.lang{display:inline-flex;background:var(--tag);border-radius:999px;padding:3px;gap:2px;}
.lang button{font-size:13px;font-weight:600;color:var(--ink-2);padding:6px 11px;border-radius:999px;transition:all .2s;}
.lang button.on{background:#fff;color:var(--ink);box-shadow:var(--shadow-s);}
.phone{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15.5px;white-space:nowrap;}
.phone svg{width:17px;height:17px;color:var(--accent);}
.phone .ph-label{color:var(--ink-2);font-weight:500;font-size:12.5px;display:block;line-height:1;}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);align-items:center;justify-content:center;}
.burger svg{width:22px;height:22px;}

/* ============================================================
   HERO
   ============================================================ */
.hero{padding:30px 0 30px;}
.hero-bento{display:grid;grid-template-columns:1.04fr .96fr;grid-template-rows:auto auto auto;
  gap:16px;align-items:stretch;}
.hb-card{background:#fff;border-radius:26px;box-shadow:var(--shadow-s);border:1px solid rgba(230,225,215,.6);}

/* title block (left, row 1) */
.hb-title{grid-column:1;grid-row:1;padding:40px 44px 36px;display:flex;flex-direction:column;}
.hb-title .eyebrow{margin-bottom:20px;align-self:flex-start;}
.hb-title h1{font-size:clamp(38px,4.3vw,66px);font-weight:800;letter-spacing:-.035em;line-height:.97;}
.hb-title h1 .l2{color:var(--accent);}
.hero-sub{font-size:clamp(16px,1.2vw,18.5px);color:var(--ink-2);max-width:44ch;margin-top:20px;}
.hb-title-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}

/* stats block (left, row 2) */
.hb-stats{grid-column:1;grid-row:2;background:#fff;border-radius:24px;
  box-shadow:var(--shadow-s);border:1px solid rgba(230,225,215,.6);
  display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch;
  padding:22px 10px;}
.hstat{padding:0 24px;display:flex;flex-direction:column;justify-content:flex-start;gap:9px;}
.hstat + .hstat{border-left:1px solid color-mix(in srgb,var(--accent) 16%,transparent);}
.hstat .hn{font-family:var(--head);font-weight:800;font-size:clamp(32px,3vw,42px);
  line-height:1;letter-spacing:-.03em;color:var(--accent);
  display:flex;align-items:baseline;}
.hstat .hn .plus,.hstat .hn .slash{color:var(--accent);opacity:.45;margin-left:1px;}
.hstat .hl{font-size:13px;line-height:1.35;color:var(--ink-2);min-height:2.7em;}

/* bottom row (left, row 3) — avatars + pills side by side */
.hb-bottom{grid-column:1;grid-row:3;display:grid;
  grid-template-columns:minmax(196px,.74fr) 1fr;gap:16px;align-items:stretch;}

/* beige block — doctors avatar stack */
.hb-cta{background:var(--beige);border-radius:24px;padding:18px 22px;
  display:flex;flex-direction:column;justify-content:center;gap:12px;}
.avatar-stack{display:flex;align-items:center;flex-shrink:0;}
.avatar-stack .av{width:46px;height:46px;border-radius:50%;margin-left:-13px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-family:var(--head);font-weight:700;font-size:14.5px;
  border:3px solid var(--beige);overflow:hidden;box-shadow:0 4px 12px rgba(40,34,24,.12);}
.avatar-stack .av:first-child{margin-left:0;}
.avatar-stack .av img{width:100%;height:100%;object-fit:cover;}
.avatar-stack .av.i1,.avatar-stack .av.i2,.avatar-stack .av.i3{background:#fff;}
.avatar-stack .av.badge{background:var(--accent);color:#fff;font-size:13.5px;letter-spacing:-.01em;}
.hb-docs-text{font-size:14px;line-height:1.3;color:var(--ink);}
.hb-docs-text b{font-family:var(--head);font-weight:700;}

/* service pills */
.hb-pills{background:#fff;border-radius:24px;box-shadow:var(--shadow-s);
  border:1px solid rgba(230,225,215,.6);padding:16px 18px;
  display:flex;flex-wrap:wrap;gap:8px;align-content:center;}
.spill{display:inline-flex;align-items:center;gap:6px;background:var(--tag);color:var(--ink);
  font-weight:600;font-size:13px;padding:8px 13px;border-radius:999px;border:1px solid transparent;
  transition:background .2s,color .2s,border-color .2s,transform .2s;}
.spill svg{width:12px;height:12px;color:var(--accent);transition:color .2s;}
.spill:hover{background:var(--beige);border-color:var(--accent);color:var(--accent);transform:translateY(-2px);}
.spill:hover svg{color:var(--accent);}

/* photo block (right, spans all rows) */
.hb-photo{grid-column:2;grid-row:1 / 4;position:relative;min-height:440px;}
.hb-photo .stage{position:absolute;inset:0;border-radius:26px;
  background:var(--stage-grad);
  overflow:hidden;box-shadow:var(--shadow-m);}
.hb-photo .stage::before{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 80% at 68% 8%,rgba(255,255,255,.16),transparent 55%);}
.hb-photo .stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;
  background:linear-gradient(to top,rgba(15,40,32,.74),transparent);}
.hb-photo .doc{position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  height:calc(100% + 30px);width:auto;max-width:none;z-index:2;filter:drop-shadow(0 24px 40px rgba(15,35,28,.35));}
.glass{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:9px;
  background:rgba(255,255,255,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.34);border-radius:14px;padding:11px 15px;
  color:#fff;font-weight:600;font-size:14.5px;box-shadow:0 10px 30px rgba(10,30,24,.25);}
.glass .star{color:#FFD66B;}
.glass b{font-family:var(--head);}
.glass.g1{top:22px;right:18px;}
.glass.g2{bottom:20px;left:18px;}
.glass .gdot{width:8px;height:8px;border-radius:50%;background:#7BE0BD;box-shadow:0 0 0 4px rgba(123,224,189,.25);}

/* ============================================================
   SERVICES — horizontal expanding accordion
   ============================================================ */
.services{padding:140px 0;}
.acc{display:flex;gap:14px;height:560px;}
.panel{position:relative;flex:1 1 0;min-width:78px;border-radius:var(--radius-l);overflow:hidden;cursor:pointer;
  background-size:cover;background-position:center;
  transition:flex-grow .65s cubic-bezier(.55,.05,.18,1);box-shadow:var(--shadow-s);}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,30,25,.18) 0%,rgba(12,28,22,.30) 45%,rgba(10,26,20,.82) 100%);transition:background .5s;}
.panel.active{flex-grow:6;box-shadow:var(--shadow-m);}
.panel .num{position:absolute;top:22px;left:22px;z-index:3;font-family:var(--head);font-weight:700;color:#fff;font-size:18px;opacity:.9;}
/* collapsed label */
.panel .vlabel{position:absolute;left:0;right:0;bottom:30px;z-index:3;display:flex;justify-content:center;
  transition:opacity .3s;}
.panel .vlabel span{writing-mode:vertical-rl;transform:rotate(180deg);color:#fff;font-family:var(--head);font-weight:600;
  font-size:21px;letter-spacing:.01em;white-space:nowrap;}
.panel.active .vlabel{opacity:0;pointer-events:none;}
/* expanded content */
.panel .content{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:36px;color:#fff;
  opacity:0;transform:translateY(14px);transition:opacity .4s .15s,transform .45s .15s;pointer-events:none;}
.panel.active .content{opacity:1;transform:none;pointer-events:auto;}
.panel .content h3{font-size:34px;font-weight:700;margin-bottom:10px;}
.panel .content p{color:rgba(255,255,255,.85);max-width:38ch;margin-bottom:22px;font-size:16.5px;}
.panel .content .btn-white{font-size:15px;padding:13px 22px;}
.services-foot{display:flex;justify-content:center;margin-top:48px;}

/* Express analyses promo */
.express{display:grid;grid-template-columns:300px 1fr 332px;gap:18px;margin-top:56px;align-items:stretch;}
.ex-photo{border-radius:var(--radius-l);overflow:hidden;box-shadow:var(--shadow-s);}
.ex-photo img{width:100%;height:100%;object-fit:cover;}
.ex-main{background:var(--card);border:1px solid rgba(230,225,215,.6);border-radius:var(--radius-l);
  box-shadow:var(--shadow-s);padding:30px 44px;display:flex;flex-direction:column;justify-content:center;}
.ex-main h3{font-size:clamp(26px,2.4vw,34px);letter-spacing:-.025em;}
.ex-main p{color:var(--ink-2);font-size:16px;line-height:1.5;margin-top:13px;max-width:46ch;}
.ex-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
.ex-tags{background:var(--accent-tint);border-radius:var(--radius-l);padding:20px 22px;
  display:flex;flex-wrap:wrap;gap:10px;align-content:center;}
.extag{display:inline-flex;align-items:center;gap:7px;background:var(--card);color:var(--ink);
  font-weight:600;font-size:14px;padding:9px 15px;border-radius:999px;box-shadow:0 2px 8px rgba(40,34,24,.05);
  transition:transform .2s,box-shadow .2s;}
.extag::before{content:"+";color:var(--accent);font-weight:700;font-size:15px;line-height:1;}
.extag.more{background:var(--accent);color:#fff;}
.extag.more::before{content:none;}
.extag.more svg{width:13px;height:13px;}
.extag.more:hover{background:var(--accent-deep);transform:translateY(-2px);}

/* ============================================================
   WHY VIVARA
   ============================================================ */
.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start;}
.why-lead h2{font-size:clamp(32px,3.6vw,50px);margin-bottom:22px;}
.why-lead p{color:var(--ink-2);max-width:40ch;margin-bottom:18px;}
.diffs{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.diff{background:var(--card);border-radius:var(--radius-m);padding:28px;box-shadow:var(--shadow-s);border:1px solid rgba(230,225,215,.6);
  transition:transform .3s,box-shadow .3s;}
.diff:hover{transform:translateY(-4px);box-shadow:var(--shadow-m);}
.diff .ic{width:50px;height:50px;border-radius:14px;background:var(--accent-tint);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.diff .ic svg{width:26px;height:26px;}
.diff h4{font-size:20px;margin-bottom:8px;}
.diff p{color:var(--ink-2);font-size:15.5px;}
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:64px;align-items:center;
  background:var(--beige);border-radius:var(--radius-l);padding:44px 18px;}
.stat{padding:2px 24px;text-align:center;}
.stat + .stat{border-left:1px solid color-mix(in srgb,var(--accent) 18%,transparent);}
.stat .n{font-family:var(--head);font-weight:800;font-size:clamp(38px,4.2vw,58px);letter-spacing:-.03em;line-height:1;}
.stat .lbl{color:var(--ink-2);font-size:15px;margin-top:10px;}

/* ============================================================
   DOCTORS — full-bleed cards
   ============================================================ */
.doctors-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:start;}
.dcard{position:relative;display:block;border-radius:24px;overflow:hidden;aspect-ratio:3/4.05;box-shadow:var(--shadow-m);
  transition:transform .35s,box-shadow .35s;}
.dcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-l);}
.dcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;}

/* rating chip — top right */
.dcard .rate{position:absolute;top:16px;right:16px;z-index:3;display:inline-flex;align-items:center;gap:6px;
  color:#fff;font-family:var(--head);font-weight:700;font-size:14px;letter-spacing:-.01em;
  background:rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:7px 13px 7px 11px;}
.dcard .rate .star{color:#FFD66B;font-size:13px;}

/* frosted info strip — bottom */
.dcard .dinfo{position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;
  padding:46px 20px 20px;color:#fff;
  background:linear-gradient(to top,rgba(14,32,26,.72) 0%,rgba(14,32,26,.32) 50%,transparent 100%);
  backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
  -webkit-mask-image:linear-gradient(to top,#000 62%,transparent 100%);
  mask-image:linear-gradient(to top,#000 62%,transparent 100%);}
.dcard .name{font-family:var(--head);font-weight:700;font-size:21px;line-height:1.08;letter-spacing:-.01em;}
.dcard .spec{font-size:14px;color:rgba(255,255,255,.85);margin-top:5px;}
.dcard .go{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--accent);
  display:flex;align-items:center;justify-content:center;transition:transform .25s,background .2s,color .2s;}
.dcard .go svg{width:17px;height:17px;}
.dcard:hover .go{background:var(--accent);color:#fff;transform:translate(2px,-2px);}
.doctors-foot{display:flex;justify-content:center;margin-top:44px;}

/* ============================================================
   CHECK-UP PACKAGES
   ============================================================ */
.checkup{background:var(--beige);}
.cu-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;align-items:stretch;}
.cu-card{position:relative;background:var(--card);border:1px solid rgba(230,225,215,.6);border-radius:var(--radius-l);
  padding:38px 34px;box-shadow:var(--shadow-s);display:flex;flex-direction:column;
  transition:transform .3s,box-shadow .3s;}
.cu-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-m);}
.cu-top h3{font-size:25px;letter-spacing:-.01em;}
.cu-for{color:var(--ink-2);font-size:15px;margin-top:8px;max-width:28ch;min-height:2.6em;}
.cu-price{font-family:var(--head);font-weight:700;font-size:44px;letter-spacing:-.02em;margin:20px 0 6px;}
.cu-price .from{font-size:17px;font-weight:600;color:var(--ink-2);letter-spacing:0;margin-right:2px;}
.cu-price .cur{font-size:24px;}
.cu-list{list-style:none;margin:18px 0 30px;padding:22px 0 0;border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:12px;flex:1;}
.cu-list li{position:relative;padding-left:28px;font-size:15.5px;color:var(--ink-2);line-height:1.45;}
.cu-list li::before{content:"";position:absolute;left:0;top:.32em;width:16px;height:16px;border-radius:50%;
  background:var(--accent-tint);}
.cu-list li::after{content:"";position:absolute;left:4.5px;top:calc(.32em + 5px);width:7px;height:4px;
  border-left:1.8px solid var(--accent);border-bottom:1.8px solid var(--accent);transform:rotate(-45deg);}
.cu-card .btn{width:100%;}
.cu-card.featured{background:var(--grad);border-color:transparent;color:#fff;}
.cu-card.featured h3{color:#fff;}
.cu-card.featured .cu-for{color:rgba(255,255,255,.75);}
.cu-card.featured .cu-price{color:#fff;}
.cu-card.featured .cu-price .from{color:rgba(255,255,255,.65);}
.cu-card.featured .cu-list{border-top-color:rgba(255,255,255,.18);}
.cu-card.featured .cu-list li{color:rgba(255,255,255,.88);}
.cu-card.featured .cu-list li::before{background:rgba(255,255,255,.16);}
.cu-card.featured .cu-list li::after{border-color:#fff;}
.cu-promo{position:absolute;top:-15px;left:50%;transform:translateX(-50%);white-space:nowrap;
  background:var(--ink);color:#fff;border-radius:999px;padding:8px 18px;font-weight:600;font-size:13.5px;
  box-shadow:var(--shadow-m);}
.cu-note{text-align:center;color:var(--ink-2);font-size:15.5px;margin-top:36px;}

/* ============================================================
   LOCATIONS
   ============================================================ */
.locations{background:var(--beige);}
.loc-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:22px;align-items:stretch;}
.loc-list{display:flex;flex-direction:column;gap:12px;}
.loc-list .loc.extra{display:none;}
.loc-list.open .loc.extra{display:flex;}
.loc{display:flex;align-items:center;gap:18px;background:var(--card);border:1px solid rgba(230,225,215,.6);
  border-radius:var(--radius-m);padding:19px 24px;box-shadow:var(--shadow-s);transition:transform .25s,box-shadow .25s;}
.loc:hover{transform:translateY(-3px);box-shadow:var(--shadow-m);}
.loc-txt{flex:1;min-width:0;}
.loc-d{font-family:var(--head);font-weight:700;font-size:19px;letter-spacing:-.01em;}
.loc-a{color:var(--ink-2);font-size:15px;margin-top:3px;}
.loc-m{display:inline-flex;align-items:center;gap:8px;background:var(--tag);border-radius:999px;
  padding:7px 14px 7px 8px;font-weight:600;font-size:13.5px;color:var(--ink-2);white-space:nowrap;}
.loc-m .mdot{width:21px;height:21px;border-radius:6px;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:var(--head);font-weight:700;font-size:12.5px;}
.loc .go{flex-shrink:0;width:38px;height:38px;border-radius:50%;background:var(--accent-tint);color:var(--accent);
  display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,transform .25s;}
.loc .go svg{width:16px;height:16px;}
.loc:hover .go{background:var(--accent);color:#fff;transform:translate(2px,-2px);}
.loc-toggle{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:4px;
  background:transparent;border:1.5px dashed color-mix(in srgb,var(--accent) 40%,transparent);border-radius:var(--radius-m);
  padding:16px 24px;font-family:var(--body);font-weight:600;font-size:15px;color:var(--accent);
  transition:background .2s,border-color .2s;}
.loc-toggle:hover{background:var(--accent-tint);border-color:var(--accent);}
.loc-toggle svg{width:17px;height:17px;transition:transform .25s;}
.loc-toggle .lt-less{display:none;}
.loc-list.open .loc-toggle .lt-more{display:none;}
.loc-list.open .loc-toggle .lt-less{display:inline;}
.loc-list.open .loc-toggle svg{transform:rotate(180deg);}
.loc-map{position:relative;display:flex;}
.map-frame{flex:1;width:100%;min-height:480px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-s);
  border:1px solid rgba(230,225,215,.6);background:var(--tag);}
.map-frame iframe{width:100%;height:100%;border:0;display:block;}
.loc-hours{position:absolute;left:18px;bottom:18px;z-index:3;display:inline-flex;align-items:center;gap:9px;
  background:var(--card);border-radius:999px;padding:11px 18px;font-weight:600;font-size:14px;box-shadow:var(--shadow-m);}
.loc-hours svg{width:17px;height:17px;color:var(--accent);}

/* ============================================================
   REVIEWS
   ============================================================ */
.reviews-marquee{margin-top:48px;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);}
.reviews-marquee.dragging{cursor:grabbing;}
.reviews-track{display:flex;width:max-content;align-items:stretch;will-change:transform;}
.reviews-track .review{flex:0 0 380px;width:380px;margin-right:24px;}
/* Google reviews badge */
.rev-side{display:flex;flex-direction:column;gap:14px;align-items:flex-start;}
.rev-side p{color:var(--ink-2);max-width:42ch;}
.gbadge{display:inline-flex;align-items:center;gap:9px;background:var(--card);border:1px solid rgba(230,225,215,.7);
  border-radius:999px;padding:10px 18px 10px 13px;font-weight:600;font-size:14.5px;box-shadow:var(--shadow-s);
  transition:transform .25s,box-shadow .25s;}
.gbadge:hover{transform:translateY(-2px);box-shadow:var(--shadow-m);}
.gbadge .g{width:21px;height:21px;}
.gbadge b{font-family:var(--head);}
.gbadge .arr{width:14px;height:14px;color:var(--accent);}
.review{background:var(--card);border-radius:var(--radius-l);padding:34px;box-shadow:var(--shadow-s);border:1px solid rgba(230,225,215,.6);
  display:flex;flex-direction:column;gap:18px;}
.review .stars{color:#E8A93C;letter-spacing:2px;font-size:17px;}
.review p{font-size:16.5px;line-height:1.6;flex:1;}
.review .who{display:flex;align-items:center;gap:13px;}
.review .av{width:46px;height:46px;border-radius:50%;background:var(--accent-tint);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-family:var(--head);font-weight:700;font-size:17px;flex-shrink:0;}
.review .who .nm{font-weight:600;font-size:15.5px;}
.review .who .meta{color:var(--ink-2);font-size:13.5px;}

/* ============================================================
   FAQ
   ============================================================ */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start;}
.faq-list{display:flex;flex-direction:column;gap:12px;}
.qa{background:var(--card);border-radius:var(--radius-m);border:1px solid rgba(230,225,215,.7);overflow:hidden;transition:box-shadow .3s;}
.qa.open{box-shadow:var(--shadow-m);}
.qa button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:24px 28px;text-align:left;font-family:var(--head);font-weight:600;font-size:19px;color:var(--ink);}
.qa .pm{width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--accent-tint);color:var(--accent);
  display:flex;align-items:center;justify-content:center;transition:transform .35s,background .25s;}
.qa.open .pm{transform:rotate(45deg);background:var(--accent);color:#fff;}
.qa .pm svg{width:17px;height:17px;}
.qa .ans{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.qa .ans p{padding:0 28px 26px;color:var(--ink-2);font-size:16px;max-width:60ch;}

/* ============================================================
   BLOG
   ============================================================ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.post{background:var(--card);border-radius:var(--radius-l);overflow:hidden;box-shadow:var(--shadow-s);
  transition:transform .35s,box-shadow .35s;display:flex;flex-direction:column;}
.post:hover{transform:translateY(-6px);box-shadow:var(--shadow-m);}
.post .cover{aspect-ratio:16/11;overflow:hidden;}
.post .cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.post:hover .cover img{transform:scale(1.05);}
.post .body{padding:28px 28px 32px;display:flex;flex-direction:column;gap:12px;flex:1;}
.post .date{color:var(--ink-2);font-size:13.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;}
.post h3{font-size:22px;line-height:1.12;}
.post .ex{color:var(--ink-2);font-size:15.5px;flex:1;}
.blog-foot{display:flex;justify-content:center;margin-top:44px;}

/* ============================================================
   BOOKING
   ============================================================ */
.booking-card{background:var(--grad);border-radius:32px;color:#fff;
  padding:64px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;position:relative;overflow:hidden;}
.booking-card::before{content:"";position:absolute;right:-80px;top:-80px;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.12),transparent 70%);}
.bk-left{position:relative;display:flex;flex-direction:column;}
.bk-left h2{font-size:clamp(30px,3.4vw,46px);max-width:16ch;color:#fff;}
.bk-sub{color:rgba(255,255,255,.78);margin-top:16px;max-width:40ch;font-size:17px;}
.bk-points{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-direction:column;gap:14px;}
.bk-points li{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:rgba(255,255,255,.92);}
.bk-points .chk{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;margin-top:1px;}
.bk-points .chk svg{width:13px;height:13px;}
.bk-contact{margin-top:auto;padding-top:34px;display:flex;flex-direction:column;gap:16px;align-items:flex-start;}
.phone-lg{display:inline-flex;align-items:center;gap:11px;color:#fff;font-weight:600;font-size:21px;
  border:1.5px solid rgba(255,255,255,.38);background:transparent;border-radius:999px;
  padding:14px 28px;}
@media(max-width:720px){
  .phone-lg{background:rgba(255,255,255,.08);transition:background .2s,border-color .2s;}
  .phone-lg:active{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.6);}
}
.phone-lg svg{width:20px;height:20px;}
.bk-msgrs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:rgba(255,255,255,.7);font-size:14.5px;}
.msgr{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.1);
  border-radius:999px;padding:9px 17px;font-weight:600;font-size:14px;color:#fff;transition:background .2s,color .2s;}
.msgr svg{width:15px;height:15px;}
.msgr:hover{background:#fff;color:var(--accent);}
.bk-form{position:relative;background:#fff;border-radius:24px;padding:32px;color:var(--ink);box-shadow:var(--shadow-l);
  display:flex;flex-direction:column;gap:16px;}
.bf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.bk-form label,.bk-form .bf-field{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:13.5px;color:var(--ink-2);}
.bk-form input,.bk-form select{font-family:var(--body);font-size:15.5px;color:var(--ink);
  background:var(--bg);border:1.5px solid var(--line);border-radius:13px;padding:13px 15px;outline:none;width:100%;
  transition:border-color .2s,background .2s;}
.bk-form input:focus,.bk-form select:focus{border-color:var(--accent);background:#fff;}
.bk-form input::placeholder{color:#A9A69E;font-weight:400;}
.bf-langs{display:flex;gap:8px;}
.bf-langs button{flex:1;border:1.5px solid var(--line);border-radius:11px;padding:11px 0;font-weight:600;font-size:14px;
  color:var(--ink-2);transition:all .2s;}
.bf-langs button:hover{border-color:var(--accent);color:var(--accent);}
.bf-langs button.on{background:var(--accent-tint);border-color:var(--accent);color:var(--accent);}
.bf-submit{background:var(--accent);color:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 28%,transparent);margin-top:4px;}
.bf-submit:hover{background:var(--accent-deep);transform:translateY(-2px);box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 34%,transparent);}
.bf-note{color:var(--ink-2);font-size:12.5px;text-align:center;}
.bf-done{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:48px 10px;}
.bk-form.sent > *:not(.bf-done){display:none;}
.bk-form.sent .bf-done{display:flex;}
.bf-done .big{width:58px;height:58px;border-radius:50%;background:var(--accent-tint);color:var(--accent);
  display:flex;align-items:center;justify-content:center;}
.bf-done .big svg{width:26px;height:26px;}
.bf-done h4{font-size:23px;}
.bf-done p{color:var(--ink-2);font-size:15.5px;max-width:30ch;}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:#fff;border-top:1px solid var(--line);padding:72px 0 36px;}
.f-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr;gap:40px;}
.f-brand .logo{margin-bottom:18px;}
.f-brand p{color:var(--ink-2);font-size:15px;max-width:30ch;margin-bottom:22px;}
.f-social{display:flex;gap:10px;}
.f-social a{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:all .2s;}
.f-social a:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-2px);}
.f-social svg{width:19px;height:19px;}
.f-col h5{font-family:var(--head);font-weight:700;font-size:16px;margin-bottom:18px;}
.f-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.f-col ul a{color:var(--ink-2);font-size:15px;transition:color .2s;}
.f-col ul a:hover{color:var(--accent);}
.f-link{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);transition:text-decoration-color .2s;}
.f-link:hover{text-decoration-color:var(--accent);}
.f-contact .row{display:flex;gap:11px;color:var(--ink-2);font-size:15px;margin-bottom:14px;}
.f-contact .row svg{width:18px;height:18px;color:var(--accent);flex-shrink:0;margin-top:2px;}
.f-contact .btn{margin-top:8px;}
.f-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:56px;padding-top:26px;border-top:1px solid var(--line);
  color:var(--ink-2);font-size:14px;flex-wrap:wrap;}
.f-demo{color:var(--ink-2);font-size:13px;opacity:.65;}
.f-bottom .lang{background:var(--tag);}

/* ============================================================
   MOBILE NAV PANEL
   ============================================================ */
.mnav{position:fixed;inset:0;z-index:90;background:var(--bg);transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.1,1);
  display:flex;flex-direction:column;padding:24px 28px;visibility:hidden;}
.mnav.open{transform:none;visibility:visible;}
.mnav-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px;}
.mnav-close{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;}
.mnav-close svg{width:22px;height:22px;}
.mnav a.mlink{font-family:var(--head);font-weight:700;font-size:30px;padding:14px 0;border-bottom:1px solid var(--line);}
.mnav .mfoot{margin-top:auto;display:flex;flex-direction:column;gap:18px;padding-top:24px;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:980px){
  .nav-links,.phone .ph-label{display:none;}
  .burger{display:flex;}
  .nav-right .lang{display:none;}
  .hero-bento{grid-template-columns:1fr;grid-template-rows:none;gap:14px;}
  .hb-title,.hb-cta,.hb-stats,.hb-bottom,.hb-photo{grid-column:1;grid-row:auto;}
  .hb-photo{min-height:440px;order:2;}
  .hb-stats{order:3;}
  .hb-bottom{order:4;}
  .hb-photo .doc{height:calc(100% + 24px);}
  .why-grid{grid-template-columns:1fr;gap:40px;}
  .express{grid-template-columns:1fr 1fr;}
  .ex-photo{grid-row:span 2;}
  .ex-tags{align-content:flex-start;}
  .faq-grid{grid-template-columns:1fr;gap:32px;}
  .loc-grid{grid-template-columns:1fr;}
  .cu-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto;}
  .cu-for{min-height:0;}
  .loc-map{order:2;}
  .map-frame{min-height:340px;}
  .booking-card{grid-template-columns:1fr;gap:44px;padding:48px 40px;}
  .doctors-grid{grid-template-columns:repeat(2,1fr);}
  .dcard:nth-child(even){margin-top:0;}
  .stats{grid-template-columns:repeat(2,1fr);gap:32px 0;padding:40px 16px;}
  .stat{padding:2px 28px;}
  .stat + .stat{border-left:none;}
  .stat:nth-child(even){border-left:1px solid color-mix(in srgb,var(--accent) 18%,transparent);}
  .f-top{grid-template-columns:1fr 1fr;gap:36px;}
  .f-brand{grid-column:1/-1;}
}
@media(max-width:760px){
  body{font-size:16px;}
  .wrap{padding:0 20px;}
  .section{padding:54px 0;}
  .services{padding:54px 0;}
  .hero{padding:20px 0 38px;}
  .section-head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:30px;}

  /* compact header: logo + CTA + burger only (phone moves into menu) */
  .nav-right .phone{display:none;}
  .header .nav-right{gap:12px;}
  .header .nav-right .btn-solid{padding:11px 18px;font-size:15px;}

  /* hero title block tighter + the two CTAs share one row */
  .hb-title{padding:30px 26px 28px;}
  .hb-title-cta{flex-wrap:nowrap;gap:10px;margin-top:22px;}
  .hb-title-cta .btn{flex:1;padding-left:14px;padding-right:14px;}

  /* express promo CTAs share one row */
  .ex-cta{flex-wrap:nowrap;gap:10px;}
  .ex-cta .btn{flex:1;padding-left:14px;padding-right:14px;}

  /* tighten vertical rhythm so the page is shorter */
  .services-foot,.doctors-foot,.blog-foot{margin-top:28px;}
  .stats{margin-top:40px;}
  .express{margin-top:36px;}
  .cu-note{margin-top:24px;}

  .diffs{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:1fr;}
  .express{grid-template-columns:1fr;}
  .ex-photo{grid-row:auto;min-height:220px;}
  .ex-main{padding:32px 28px;}
  .loc{padding:17px 18px;gap:12px;flex-wrap:wrap;}
  .loc .go{display:none;}
  /* stats in a single compact row (3 columns) */
  .hb-stats{grid-template-columns:repeat(3,1fr);gap:0;padding:18px 4px;}
  .hstat{padding:0 11px;gap:7px;}
  .hstat .hn{font-size:27px;}
  .hstat .hl{min-height:0;font-size:11.5px;line-height:1.3;}
  .hb-bottom{grid-template-columns:1fr;}

  /* booking messengers: label on its own line, the two buttons share a row */
  .bk-msgrs > span{flex-basis:100%;}
  .bk-msgrs .msgr{flex:1;justify-content:center;}

  /* hero photo: move the Google rating down so it never covers the face */
  .hb-photo .glass.g1{top:auto;bottom:74px;left:18px;right:auto;}
  .reviews-track .review{flex-basis:300px;width:300px;}
  .booking-card{padding:40px 24px;border-radius:26px;gap:36px;}
  .bf-row{grid-template-columns:1fr;}
  .bk-form{padding:26px 22px;}

  /* tighter, tidier footer */
  .footer{padding:44px 0 22px;}
  .f-top{gap:24px 20px;}
  .f-brand .logo{margin-bottom:12px;}
  .f-brand p{font-size:13.5px;line-height:1.5;margin-bottom:14px;max-width:40ch;}
  .f-social a{width:36px;height:36px;}
  .f-col h5{margin-bottom:10px;font-size:14.5px;}
  .f-col ul{gap:7px;}
  .f-col ul a{font-size:13.5px;}
  .f-contact .row{margin-bottom:8px;font-size:13.5px;}
  .f-contact .btn{margin-top:4px;}
  .f-bottom{flex-direction:column;align-items:flex-start;gap:12px;margin-top:26px;padding-top:16px;font-size:12.5px;}
  .f-demo{font-size:12px;}

  /* Services -> vertical accordion */
  .acc{flex-direction:column;height:auto;gap:12px;}
  .panel{min-width:0;width:100%;height:96px;flex:none;transition:height .55s cubic-bezier(.55,.05,.18,1);}
  .panel.active{height:430px;flex:none;}
  .panel .vlabel{right:auto;left:24px;bottom:auto;top:50%;transform:translateY(-50%);justify-content:flex-start;}
  .panel .vlabel span{writing-mode:horizontal-tb;transform:none;font-size:22px;}
  .panel .num{top:50%;transform:translateY(-50%);left:auto;right:26px;}
  .panel.active .num{top:22px;left:22px;right:auto;transform:none;}
  .panel .content{padding:28px;}
  .panel .content h3{font-size:27px;}
}
@media(max-width:520px){
  .hero-chips{gap:8px 10px;}
  /* doctors stay 2-per-row on phones — just tighten the card chrome */
  .doctors-grid{gap:14px;}
  .dcard{border-radius:18px;}
  .dcard .dinfo{padding:36px 13px 14px;}
  .dcard .name{font-size:16px;line-height:1.1;}
  .dcard .spec{font-size:12px;margin-top:3px;}
  .dcard .go{width:32px;height:32px;}
  .dcard .go svg{width:14px;height:14px;}
  .dcard .rate{font-size:12.5px;padding:5px 10px 5px 9px;top:10px;right:10px;}
}

/* ============================================================
   BOOKING WIZARD MODAL
   ============================================================ */
.bm-overlay{display:none;position:fixed;inset:0;z-index:120;background:rgba(28,26,20,.46);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  align-items:center;justify-content:center;padding:24px;}
.bm-overlay.open{display:flex;}
.bm{background:var(--bg);border-radius:var(--radius-l);box-shadow:var(--shadow-l);
  width:min(860px,100%);max-height:min(760px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;}
.bm-head{display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:22px 26px;border-bottom:1px solid var(--line);background:var(--card);}
.bm-steps{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.bm-step{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:14px;color:var(--ink-2);}
.bm-step i{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);font-style:normal;
  display:flex;align-items:center;justify-content:center;font-family:var(--head);font-weight:700;font-size:13.5px;
  transition:all .2s;}
.bm-step.act{color:var(--ink);}
.bm-step.act i{background:var(--accent);border-color:var(--accent);color:#fff;}
.bm-step.done i{background:var(--accent-tint);border-color:transparent;color:var(--accent);}
.bm-x{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;color:var(--ink);transition:all .2s;}
.bm-x:hover{border-color:var(--accent);color:var(--accent);}
.bm-x svg{width:18px;height:18px;}
.bm-body{padding:30px 26px 34px;overflow-y:auto;}
.bm-pane{display:none;}
.bm-pane.on{display:block;}
.bm-pane h3{font-size:27px;letter-spacing:-.015em;}
.bm-sub{color:var(--ink-2);font-size:15.5px;margin-top:9px;max-width:52ch;}
.bm-back{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--ink-2);
  margin-bottom:16px;padding:0;transition:color .2s;}
.bm-back:hover{color:var(--accent);}
.bm-back svg{width:16px;height:16px;}
.bm-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;}
.bm-field{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:13.5px;color:var(--ink-2);}
.bm-field .opt{font-weight:400;color:var(--ink-2);opacity:.75;}
.bm-field select,.bm-field input{font-family:var(--body);font-size:15.5px;color:var(--ink);width:100%;
  background:var(--card);border:1.5px solid var(--line);border-radius:13px;padding:13px 15px;outline:none;
  transition:border-color .2s;}
.bm-field select:focus,.bm-field input:focus{border-color:var(--accent);}
.bm-field input::placeholder{color:#A9A69E;font-weight:400;}
#bmForm > .bm-field{margin-top:14px;}
.bm-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
.bm-actions.center{justify-content:center;}
.bm-agree{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:14.5px;color:var(--ink-2);cursor:pointer;}
.bm-agree input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent);flex-shrink:0;}
.bm-err{margin-top:14px;color:#B4452E;font-size:14.5px;font-weight:600;}

/* dates strip */
.bm-dates{display:flex;gap:10px;overflow-x:auto;margin-top:22px;padding-bottom:6px;
  scrollbar-width:thin;}
.bm-date{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:3px;
  background:var(--card);border:1.5px solid var(--line);border-radius:15px;padding:12px 16px;
  font-family:var(--body);transition:all .2s;min-width:86px;}
.bm-date .dw{font-size:12.5px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;}
.bm-date .dn{font-family:var(--head);font-weight:700;font-size:18px;color:var(--ink);}
.bm-date .dc{font-size:12px;font-weight:600;color:var(--accent);white-space:nowrap;}
.bm-date:hover{border-color:var(--accent);}
.bm-date.sel{background:var(--accent);border-color:var(--accent);}
.bm-date.sel .dw,.bm-date.sel .dn,.bm-date.sel .dc{color:#fff;}
.bm-date.empty{opacity:.45;cursor:default;}
.bm-date.empty:hover{border-color:var(--line);}

/* slot rows */
.bm-slots{display:flex;flex-direction:column;gap:10px;margin-top:18px;}
.bm-slot{display:flex;align-items:center;gap:18px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius-s);padding:14px 18px;}
.bm-slot .t{font-family:var(--head);font-weight:700;font-size:19px;min-width:60px;}
.bm-slot .sv{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;}
.bm-slot .sv b{font-weight:600;font-size:15.5px;}
.bm-slot .sv span{color:var(--ink-2);font-size:13.5px;}
.bm-slot .pr{font-family:var(--head);font-weight:700;font-size:17px;white-space:nowrap;}
.bm-pick{font-size:14px;padding:11px 20px;flex-shrink:0;}

/* mini recap pill (step 3) */
.bm-mini{display:flex;align-items:center;gap:11px;background:var(--accent-tint);border-radius:14px;
  padding:13px 17px;margin-top:18px;font-size:14.5px;color:var(--ink);}
.bm-mini svg{width:18px;height:18px;color:var(--accent);flex-shrink:0;}

/* recap table (steps 4–5) */
.bm-recap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-s);
  padding:8px 20px;margin-top:22px;}
.bm-recap .row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;
  padding:11px 0;border-bottom:1px solid var(--line);font-size:15px;}
.bm-recap .row:last-child{border-bottom:none;}
.bm-recap .row span{color:var(--ink-2);}
.bm-recap .row b{font-weight:600;text-align:right;}

/* success */
.bm-done{display:flex;flex-direction:column;align-items:center;text-align:center;padding:18px 0 8px;}
.bm-done .big{width:62px;height:62px;border-radius:50%;background:var(--accent-tint);color:var(--accent);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.bm-done .big svg{width:28px;height:28px;}
.bm-done .bm-sub{max-width:44ch;}
.bm-done .bm-recap{width:100%;max-width:480px;text-align:left;}

@media(max-width:720px){
  .bm-overlay{padding:0;}
  .bm{width:100%;max-height:100vh;height:100%;border-radius:0;}
  .bm-steps{gap:12px;}
  .bm-step span{display:none;}
  .bm-step.act span{display:inline;}
  .bm-fields{grid-template-columns:1fr;}
  .bm-slot{flex-wrap:wrap;gap:8px 14px;}
  .bm-slot .sv{flex-basis:calc(100% - 80px);}
  .bm-slot .pr{margin-left:auto;}
  .bm-pick{flex:1;}
}

/* Compact hero on landscape desktop — natural height, fits one screen */
@media (min-width:981px) and (orientation:landscape){
  .hero{padding:30px 0 24px;}
}
