/* Brand hub (network landing), v2 design on brand.novamed.ua tokens.
   Scoped under .nv-hub; the page uses its own slim header/footer, so
   city-site chrome never appears here. */

.nv-hub{
  /* Tokens from brand.novamed.ua */
  --teal:var(--primary-color); --deep:var(--deep-teal); --hover:var(--primary-hover);
  --grad:linear-gradient(135deg,var(--deep-teal) 0%,var(--primary-color) 60%,var(--grad-teal-end) 100%);
  /* --text intentionally not redefined here: global --text from critical.css applies */
  --black:var(--text-black); --dark:var(--text-dark);
  --off:var(--bg-alt); --tint:var(--teal-light); --line:var(--line-soft); --star:var(--c-f39c12);
  --gd:var(--c-046d5d);
  --r:16px; --r-brand:10px 0 10px 0;
  --sh:0 10px 30px rgba(var(--deep-teal-rgb),.10);
  background:var(--off); color:var(--dark);
  font-family:var(--font,'Nunito',sans-serif);
  font-size:16px; line-height:1.6;
  min-height:100vh; display:flex; flex-direction:column;
}
.nv-hub main{flex:1;}
.nv-hub__wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
.nv-hub .num{font-variant-numeric:tabular-nums;}
.nv-hub h1,.nv-hub h2,.nv-hub h3,.nv-hub h4{color:var(--black);}

/* geo / remembered-city bar */
/* sticky city selector bar: always pinned, opens the city picker popup */
.nv-hub__geo{position:sticky;top:0;z-index:60;background:var(--tint);color:var(--gd);font-size:14px;border-bottom:1px solid var(--line);}
.nv-hub__geo-btn{display:block;width:100%;background:none;border:0;cursor:pointer;color:inherit;font:inherit;text-align:left;}
.nv-hub__geo-btn:hover{background:rgba(var(--deep-teal-rgb),.07);}
.nv-hub__geo .nv-hub__wrap{display:flex;align-items:center;gap:10px;padding:10px 24px;}
.nv-hub__geo svg{flex:none;color:var(--deep);}
.nv-hub__geo #nvHubGeoText{font-weight:700;color:var(--black);}
.nv-hub__geo-q{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--deep);color:var(--white);font-weight:800;font-size:13px;flex:none;}

/* city picker popup */
body.nv-hub-modal-open{overflow:hidden;}
.nv-hub__modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(12,20,20,.55);}
.nv-hub__modal[hidden]{display:none;}
.nv-hub__modal-box{position:relative;background:var(--white);border-radius:20px;box-shadow:0 30px 80px -20px rgba(0,0,0,.4);width:100%;max-width:440px;padding:28px 24px 24px;animation:nvHubPop .22s ease;}
@keyframes nvHubPop{from{opacity:0;transform:translateY(12px) scale(.98);}to{opacity:1;transform:none;}}
.nv-hub__modal-close{position:absolute;top:12px;right:14px;background:none;border:0;font-size:26px;line-height:1;color:var(--text);cursor:pointer;padding:4px 8px;}
.nv-hub__modal-title{font-size:22px;font-weight:800;margin:0 0 4px;color:var(--black);}
.nv-hub__modal-sub{font-size:14px;color:var(--text);margin:0 0 18px;}
.nv-hub__modal-list{display:flex;flex-direction:column;gap:10px;}
.nv-hub__modal-city{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--black);font-weight:700;transition:border-color .18s ease,background .18s ease,transform .18s ease;}
.nv-hub__modal-city:hover{border-color:var(--teal);background:var(--tint);transform:translateY(-1px);}
.nv-hub__modal-pin{flex:none;color:var(--teal);}
.nv-hub__modal-city-name{flex:1;}
.nv-hub__modal-soon{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--deep);background:var(--tint);padding:3px 9px;border-radius:999px;}
.nv-hub__modal-arr{flex:none;color:var(--c-9ca3af);}

/* header */
.nv-hub__header{background:var(--white);border-bottom:1px solid var(--line);}
.nv-hub__header .nv-hub__wrap{display:flex;align-items:center;gap:28px;padding:14px 24px;}
.nv-hub__logo{display:flex;align-items:center;text-decoration:none;flex:none;}
.nv-hub__logo img{height:52px;width:auto;display:block;}
.nv-hub__nav{margin-left:auto;display:flex;gap:22px;align-items:center;font-size:14.5px;}
.nv-hub__nav a{color:var(--dark);text-decoration:none;font-weight:600;white-space:nowrap;}
.nv-hub__nav a:hover{color:var(--deep);}
.nv-hub__nav a.nv-hub__nav-btn{
  background:var(--teal);color:var(--white);font-weight:800;
  padding:9px 20px;border-radius:999px;
  box-shadow:0 6px 16px -6px rgba(var(--primary-rgb),.55);
  transition:background .2s ease,transform .2s ease;
}
.nv-hub__nav a.nv-hub__nav-btn:hover{background:var(--hover);color:var(--white);transform:translateY(-1px);}

/* hero */
.nv-hub__hero{padding:52px 0 22px;}
.nv-hub__hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:44px;align-items:center;}
.nv-hub__eyebrow{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--deep);background:var(--tint);padding:6px 14px;border-radius:999px;margin-bottom:18px;}
.nv-hub h1{font-size:clamp(32px,4.4vw,50px);font-weight:800;line-height:1.08;letter-spacing:-.015em;text-wrap:balance;margin:0 0 14px;}
.nv-hub h1 em{font-style:normal;color:var(--deep);}
.nv-hub__hero p{max-width:34em;color:var(--text);font-size:17px;margin:0;}

/* trust strip: real network numbers */
.nv-hub__trust{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:20px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:14px 18px;box-shadow:var(--sh);}
.nv-hub__trust-item{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:var(--black);}
.nv-hub__trust-item svg{color:var(--teal);flex:none;}
.nv-hub__trust-item small{color:var(--text);font-weight:600;}
.nv-hub__stars{color:var(--star);letter-spacing:1px;font-size:15px;}

/* network visual */
.nv-hub__net{background:linear-gradient(160deg,var(--white) 60%,var(--c-f4fdf9) 100%);border:1px solid var(--line);border-radius:24px;box-shadow:var(--sh);padding:26px;overflow:hidden;position:relative;}
.nv-hub__net svg{display:block;width:100%;height:auto;}
.nv-hub__net-cap{color:var(--deep);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:6px;}
.nv-hub__net-big{color:var(--black);font-size:20px;font-weight:800;margin-bottom:14px;letter-spacing:-.01em;}
@keyframes nvHubPulse{0%,100%{opacity:.35}50%{opacity:.9}}
.nv-hub__halo{animation:nvHubPulse 2.8s ease-in-out infinite;}

/* section heading */
.nv-hub__h2{font-size:26px;font-weight:800;letter-spacing:-.015em;margin:0 0 18px;text-wrap:balance;}

/* city cards v2 */
.nv-hub__cities{padding:16px 0 8px;}
.nv-hub__cities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;align-items:stretch;}
.nv-hub__city{position:relative;background:var(--white);border:1px solid var(--line);border-radius:20px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.nv-hub__city:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:var(--teal);}
.nv-hub__city.is-soon:hover{transform:none;box-shadow:none;border-color:var(--line);}
/* whole card clickable via stretched overlay; phone link sits above it */
.nv-hub__city-link{position:absolute;inset:0;z-index:1;border-radius:20px;}
.nv-hub__city-link:focus-visible{outline:3px solid var(--teal);outline-offset:2px;}
.nv-hub__photo{aspect-ratio:16/9;position:relative;background:var(--grad);background-size:cover;background-position:center 35%;}
.nv-hub__city.is-soon .nv-hub__photo{background:linear-gradient(135deg,var(--c-6b7a74),var(--c-9aa8a1));}
.nv-hub__photo-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  color:rgba(255,255,255,.45);font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;}
.nv-hub__badges{position:absolute;top:12px;left:12px;right:12px;display:flex;gap:8px;z-index:2;pointer-events:none;}
.nv-hub__open{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.95);color:var(--c-0a7a45);
  font-size:11px;font-weight:900;padding:5px 11px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.12);}
.nv-hub__open i{width:7px;height:7px;border-radius:50%;background:var(--c-12c46f);display:block;}
.nv-hub__open.closed{color:var(--c-8a5b00);}
.nv-hub__open.closed i{background:var(--c-e6a417);}
.nv-hub__rate{margin-left:auto;display:inline-flex;gap:5px;align-items:center;background:rgba(255,255,255,.95);
  border-radius:999px;font-size:11.5px;font-weight:900;color:var(--black);padding:5px 10px;box-shadow:0 2px 8px rgba(0,0,0,.12);}
.nv-hub__rate b{color:var(--star);}
.nv-hub__city-body{padding:18px 20px 16px;display:flex;flex-direction:column;gap:12px;flex:1;}
.nv-hub__city-head{display:flex;align-items:center;gap:9px;}
.nv-hub__city-head h3{font-size:21px;font-weight:800;letter-spacing:-.01em;margin:0;}
.nv-hub__city-head svg{color:var(--deep);flex:none;}
.nv-hub__soon{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--c-8a5b00);background:var(--c-fdf0d2);border-radius:999px;padding:4px 10px;margin-left:auto;}
.nv-hub__city-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;font-size:13.5px;color:var(--text);font-weight:600;}
.nv-hub__city-meta .row{display:flex;gap:8px;align-items:center;min-width:0;}
.nv-hub__city-meta .row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nv-hub__city-meta svg{color:var(--teal);flex:none;}
.nv-hub__chips{display:flex;flex-wrap:wrap;gap:6px;}
.nv-hub__chip{font-size:12px;font-weight:700;color:var(--gd);background:var(--tint);border-radius:var(--r-brand);padding:4px 11px;}
.nv-hub__city-foot{margin-top:auto;display:flex;align-items:center;gap:12px;padding-top:12px;border-top:1px solid var(--line);}
.nv-hub__tel{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;
  color:var(--deep);background:var(--tint);border-radius:999px;padding:9px 16px;text-decoration:none;transition:background .2s;}
.nv-hub__tel:hover{background:var(--c-d5f1e6);}
.nv-hub__tel svg{flex:none;}
.nv-hub__go{margin-left:auto;display:flex;align-items:center;gap:6px;font-weight:800;font-size:14.5px;color:var(--deep);transition:gap .2s;}
.nv-hub__city:hover .nv-hub__go{gap:11px;}
.nv-hub__go.muted{color:var(--text);}

/* quality standard (E-E-A-T) */
.nv-hub__why{padding:30px 0;}
.nv-hub__eeat{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.nv-hub__eeat .col{display:flex;gap:13px;align-items:flex-start;}
.nv-hub__eeat .ic{width:44px;height:44px;border-radius:var(--r-brand);background:var(--tint);display:grid;place-items:center;color:var(--deep);flex:none;}
.nv-hub__eeat h3{font-size:15.5px;font-weight:800;margin:0 0 3px;}
.nv-hub__eeat p{font-size:13.5px;color:var(--text);margin:0;}

/* mobile app: full feature grid + store card */
.nv-hub__app{padding:10px 0 30px;}
.nv-hub__app-wrap{display:grid;grid-template-columns:1.35fr .65fr;gap:22px;align-items:stretch;}
.nv-hub__app-lede{font-size:16.5px;color:var(--text);margin:0 0 18px;max-width:52ch;}
.nv-hub__feats{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.nv-hub__feats .feat{display:flex;gap:12px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:16px;}
.nv-hub__feats .fic{width:38px;height:38px;border-radius:var(--r-brand);background:var(--tint);display:grid;place-items:center;color:var(--deep);flex:none;}
.nv-hub__feats h3{font-size:14.5px;font-weight:800;margin:0 0 3px;}
.nv-hub__feats p{font-size:13px;color:var(--text);line-height:1.5;margin:0;}
.nv-hub__app-side{display:flex;}
.nv-hub__app-card{flex:1;background:var(--grad);border-radius:20px;padding:28px 24px;color:var(--white);display:flex;flex-direction:column;align-items:flex-start;gap:8px;box-shadow:var(--sh);}
.nv-hub__app-card .app-ic{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.18);display:grid;place-items:center;color:var(--white);margin-bottom:6px;}
.nv-hub__app-card h3{font-size:21px;font-weight:900;color:var(--white);margin:0;}
.nv-hub__app-card p{font-size:14px;color:rgba(255,255,255,.85);margin:0;}
.nv-hub__app-card .stores{display:flex;flex-direction:column;gap:10px;margin-top:auto;width:100%;}
.nv-hub__app-card .store{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.96);color:var(--black);border-radius:12px;padding:10px 16px;font-weight:800;font-size:15px;line-height:1.15;text-decoration:none;box-shadow:0 4px 14px -6px rgba(0,60,50,.35);transition:transform .18s,background .18s;}
.nv-hub__app-card .store:hover{transform:translateY(-2px);background:var(--white);}
.nv-hub__app-card .store small{display:block;font-size:10.5px;font-weight:600;color:var(--text);}
.nv-hub__app-card .store svg{color:var(--deep);}
.nv-hub__app-card .store svg{flex:none;}

/* FAQ */
.nv-hub__faqs{padding:10px 0 40px;}
.nv-hub__faq{display:flex;flex-direction:column;gap:10px;max-width:780px;}
.nv-hub__faq details{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:0 18px;}
.nv-hub__faq summary{cursor:pointer;font-weight:800;font-size:15.5px;padding:15px 0;list-style:none;display:flex;align-items:center;gap:10px;color:var(--black);}
.nv-hub__faq summary::-webkit-details-marker{display:none;}
.nv-hub__faq summary::before{content:"+";color:var(--teal);font-size:20px;font-weight:900;width:18px;}
.nv-hub__faq details[open] summary::before{content:"\2212";}
.nv-hub__faq .a{padding:0 0 15px 28px;font-size:14.5px;color:var(--text);}

/* footer */
.nv-hub__footer{background:var(--white);border-top:1px solid var(--line);font-size:13.5px;color:var(--text);}
.nv-hub__footer .nv-hub__wrap{display:flex;align-items:center;gap:20px;padding:18px 24px;flex-wrap:wrap;}
.nv-hub__footer strong{color:var(--black);}
.nv-hub__fl{margin-left:auto;display:flex;gap:18px;}
.nv-hub__fl a{color:var(--text);text-decoration:none;}
.nv-hub__fl a:hover{color:var(--deep);}

/* responsive */
@media(max-width:960px){
  .nv-hub__hero-grid{grid-template-columns:1fr;}
  .nv-hub__net{display:none;}
  .nv-hub__cities-grid{grid-template-columns:1fr;}
  .nv-hub__eeat{grid-template-columns:1fr;}
  .nv-hub__app-wrap{grid-template-columns:1fr;}
  .nv-hub__feats{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .nv-hub__header .nv-hub__wrap{gap:12px;padding:10px 16px;}
  .nv-hub__logo img{height:38px;}
  .nv-hub__nav{gap:12px;font-size:13.5px;}
  .nv-hub__nav a[href="#why"],.nv-hub__nav a[href="#app"]{display:none;}
  .nv-hub__nav a.nv-hub__nav-btn{padding:8px 14px;font-size:13px;}
  .nv-hub__hero{padding:34px 0 16px;}
  .nv-hub__city-meta{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  .nv-hub__halo{animation:none;}
  .nv-hub__city:hover{transform:none;}
  .nv-hub__app-card .store:hover{transform:none;}
}
