/* =========================================================
   Health Vital Pathway — Custom Stylesheet
   Palette: teal / deep-teal / sky — clean healthcare feel
   ========================================================= */
:root{
  --hv-primary:#0f766e;
  --hv-primary-dark:#115e59;
  --hv-accent:#0ea5e9;
  --hv-teal:#14b8a6;
  --hv-gold:#f59e0b;
  --hv-dark:#0f172a;
  --hv-muted:#64748b;
  --hv-light:#f0fdfa;
  --hv-border:#ccfbf1;
  --hv-grad:linear-gradient(135deg,#0f766e 0%,#0d9488 45%,#0ea5e9 100%);
  --hv-shadow:0 12px 32px rgba(15,118,110,.12);
  --hv-radius:1.1rem;
}

*{ -webkit-font-smoothing:antialiased; }
html{ scroll-behavior:smooth; scroll-padding-top:96px; }
body{
  font-family:'Segoe UI',system-ui,-apple-system,Roboto,'Helvetica Neue',Arial,sans-serif;
  color:var(--hv-dark);
  background:#fff;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6{ font-weight:700; color:var(--hv-dark); }
a{ text-decoration:none; }
img{ max-width:100%; }
::selection{ background:var(--hv-teal); color:#fff; }

/* ---------- Navbar ---------- */
.hv-navbar{
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  padding:.85rem 0;
  transition:box-shadow .3s ease;
}
.hv-navbar.scrolled{ box-shadow:0 6px 24px rgba(15,23,42,.09); }
.hv-logo{ display:inline-flex; align-items:center; gap:.6rem; white-space:nowrap; }
.hv-logo-icon{
  width:42px; height:42px; border-radius:12px; flex-shrink:0;
  background:var(--hv-grad); color:#fff;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:1.35rem; box-shadow:0 6px 14px rgba(15,118,110,.35);
}
.hv-logo-text{
  font-size:1.28rem; font-weight:800; letter-spacing:.2px; white-space:nowrap;
  background:var(--hv-grad);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.hv-navbar .nav-link{
  font-weight:600; color:var(--hv-dark);
  margin:0 .3rem; padding:.5rem .8rem !important;
  border-radius:.6rem; transition:.25s;
}
.hv-navbar .nav-link:hover,
.hv-navbar .nav-link.active{ color:var(--hv-primary); background:var(--hv-light); }
.hv-navbar .navbar-toggler{ border:none; }
.hv-navbar .navbar-toggler:focus{ box-shadow:none; }

/* ---------- Buttons ---------- */
.btn-hv-primary{
  background:var(--hv-grad); color:#fff; border:none;
  border-radius:50rem; padding:.7rem 1.7rem; font-weight:600;
  box-shadow:0 8px 20px rgba(15,118,110,.3); transition:.25s;
}
.btn-hv-primary:hover{
  transform:translateY(-2px); color:#fff;
  box-shadow:0 12px 26px rgba(15,118,110,.42);
}
.btn-hv-outline{
  border:2px solid var(--hv-primary); color:var(--hv-primary);
  background:transparent; border-radius:50rem; padding:.62rem 1.55rem;
  font-weight:600; transition:.25s;
}
.btn-hv-outline:hover{ background:var(--hv-primary); color:#fff; transform:translateY(-2px); }
.btn-hv-light{
  background:#fff; color:var(--hv-primary); border:none;
  border-radius:50rem; padding:.7rem 1.7rem; font-weight:700; transition:.25s;
}
.btn-hv-light:hover{ transform:translateY(-2px); color:var(--hv-primary-dark); box-shadow:0 10px 24px rgba(0,0,0,.2); }
.btn-hv-outline-light{
  border:2px solid rgba(255,255,255,.75); color:#fff; background:transparent;
  border-radius:50rem; padding:.62rem 1.55rem; font-weight:600; transition:.25s;
}
.btn-hv-outline-light:hover{ background:#fff; color:var(--hv-primary); transform:translateY(-2px); }

/* ---------- Hero (home) ---------- */
.hv-hero{
  position:relative; overflow:hidden;
  padding:5.5rem 0 6rem;
  background:linear-gradient(160deg,#f0fdfa 0%,#eff6ff 55%,#ffffff 100%);
}
.hv-hero::before{
  content:""; position:absolute; width:440px; height:440px; border-radius:50%;
  background:radial-gradient(circle,rgba(20,184,166,.18),transparent 70%);
  top:-130px; right:-90px;
}
.hv-hero::after{
  content:""; position:absolute; width:360px; height:360px; border-radius:50%;
  background:radial-gradient(circle,rgba(14,165,233,.16),transparent 70%);
  bottom:-130px; left:-110px;
}
.hv-hero-img-wrap{ position:relative; }
.hv-hero-img{
  width:100%; object-fit:cover; border-radius:1.6rem;
  box-shadow:0 24px 60px rgba(15,118,110,.22);
}
.hv-float-card{
  position:absolute; display:flex; align-items:center; gap:.7rem;
  background:#fff; border-radius:1rem; padding:.85rem 1.1rem;
  box-shadow:var(--hv-shadow); font-weight:600; font-size:.88rem; line-height:1.25;
}
.hv-text-grad{
  background:var(--hv-grad);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* ---------- Page hero (inner pages) ---------- */
.hv-page-hero{
  position:relative; overflow:hidden;
  background:var(--hv-grad); color:#fff;
  padding:4.5rem 0 4rem;
}
.hv-page-hero::before{
  content:""; position:absolute; width:300px; height:300px; border-radius:50%;
  background:rgba(255,255,255,.1); top:-110px; right:-70px;
}
.hv-page-hero::after{
  content:""; position:absolute; width:230px; height:230px; border-radius:50%;
  background:rgba(255,255,255,.08); bottom:-100px; left:-60px;
}
.hv-page-hero h1{ color:#fff; font-size:2.6rem; font-weight:800; }
.hv-page-hero .hv-pill{
  display:inline-block; background:rgba(255,255,255,.18); color:#fff;
  font-size:.78rem; font-weight:700; letter-spacing:1.4px; text-transform:uppercase;
  padding:.4rem 1.1rem; border-radius:50rem; margin-bottom:1rem;
}
.hv-breadcrumb{ color:rgba(255,255,255,.85); font-size:.95rem; position:relative; }
.hv-breadcrumb a{ color:#fff; font-weight:600; }
.hv-breadcrumb a:hover{ text-decoration:underline; }

/* ---------- Sections ---------- */
.hv-section{ padding:5rem 0; }
.hv-section-alt{ background:linear-gradient(180deg,#f0fdfa 0%,#f8fafc 100%); }
.hv-eyebrow{
  display:inline-block; color:var(--hv-primary); background:var(--hv-light);
  border:1px solid var(--hv-border); font-weight:700; font-size:.78rem;
  letter-spacing:1.6px; text-transform:uppercase;
  padding:.42rem 1.05rem; border-radius:50rem; margin-bottom:1rem;
}
.hv-title{ font-size:2.3rem; font-weight:800; margin-bottom:.8rem; }
.hv-subtitle{ color:var(--hv-muted); font-size:1.05rem; max-width:640px; }

/* ---------- Cards ---------- */
.hv-card{
  border:none; border-radius:var(--hv-radius); background:#fff;
  box-shadow:0 8px 26px rgba(15,23,42,.07);
  transition:transform .3s ease, box-shadow .3s ease;
  overflow:hidden; height:100%;
}
.hv-card:hover{ transform:translateY(-8px); box-shadow:0 20px 44px rgba(15,118,110,.16); }
.hv-card-img{ width:100%; height:210px; object-fit:cover; }
.hv-card-body{ padding:1.5rem; }
.hv-card-title{ font-size:1.15rem; font-weight:700; margin-bottom:.5rem; }
.hv-card-text{ color:var(--hv-muted); font-size:.95rem; }
.hv-card .btn-hv-primary{ padding:.5rem 1.3rem; font-size:.9rem; }
.hv-badge{
  position:absolute; top:1rem; left:1rem;
  background:var(--hv-grad); color:#fff;
  font-size:.72rem; font-weight:700; letter-spacing:1px; text-transform:uppercase;
  padding:.38rem .85rem; border-radius:50rem;
}

/* ---------- Why choose us features ---------- */
.hv-feature{
  text-align:center; height:100%;
  padding:1.8rem 1.3rem; border-radius:var(--hv-radius);
  background:#fff; border:1px solid #f1f5f9;
  box-shadow:0 8px 26px rgba(15,23,42,.06); transition:.3s;
}
.hv-feature:hover{ transform:translateY(-6px); box-shadow:var(--hv-shadow); border-color:var(--hv-border); }
.hv-icon-circle{
  width:66px; height:66px; margin:0 auto 1.1rem; border-radius:50%;
  background:var(--hv-light); color:var(--hv-primary);
  border:1px solid var(--hv-border);
  display:flex; align-items:center; justify-content:center;
  font-size:1.7rem; transition:.3s;
}
.hv-feature:hover .hv-icon-circle{ background:var(--hv-grad); color:#fff; border-color:transparent; }
.hv-feature h3{ font-size:1.1rem; margin-bottom:.5rem; }
.hv-feature p{ color:var(--hv-muted); font-size:.93rem; margin-bottom:0; }

/* ---------- Checklist ---------- */
.hv-checklist li{
  display:flex; gap:.7rem; align-items:flex-start;
  margin-bottom:.85rem; font-weight:600; color:var(--hv-dark);
}
.hv-checklist i{ color:var(--hv-teal); font-size:1.2rem; margin-top:.1rem; }

/* ---------- Testimonials ---------- */
.hv-quote{ font-size:2.5rem; color:var(--hv-border); line-height:1; }
.hv-stars{ color:var(--hv-gold); font-size:.95rem; letter-spacing:2px; }
.hv-avatar{
  width:52px; height:52px; border-radius:50%; flex-shrink:0;
  background:var(--hv-grad); color:#fff; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}

/* ---------- FAQ ---------- */
.hv-faq .accordion-item{
  border:none; border-radius:1rem !important; overflow:hidden;
  box-shadow:0 6px 20px rgba(15,23,42,.06); margin-bottom:1rem;
}
.hv-faq .accordion-button{ font-weight:700; font-size:1.02rem; padding:1.15rem 1.4rem; color:var(--hv-dark); }
.hv-faq .accordion-button:not(.collapsed){ background:var(--hv-light); color:var(--hv-primary); box-shadow:none; }
.hv-faq .accordion-button:focus{ box-shadow:none; border-color:var(--hv-border); }
.hv-faq .accordion-body{ color:var(--hv-muted); padding:1.1rem 1.4rem 1.4rem; }

/* ---------- CTA banner ---------- */
.hv-cta{
  position:relative; overflow:hidden;
  background:var(--hv-grad); color:#fff;
  border-radius:1.8rem; padding:3.5rem 2rem;
  box-shadow:0 20px 50px rgba(15,118,110,.3);
}
.hv-cta::before{
  content:""; position:absolute; width:270px; height:270px; border-radius:50%;
  background:rgba(255,255,255,.1); top:-100px; right:-70px;
}
.hv-cta::after{
  content:""; position:absolute; width:210px; height:210px; border-radius:50%;
  background:rgba(255,255,255,.08); bottom:-90px; left:-60px;
}
.hv-cta h2{ color:#fff; position:relative; }
.hv-cta p{ color:rgba(255,255,255,.92); position:relative; }
.hv-cta .btn{ position:relative; }

/* ---------- Contact info cards ---------- */
.hv-info-card{
  display:flex; gap:1rem; align-items:flex-start; height:100%;
  background:#fff; border:1px solid #f1f5f9; border-radius:var(--hv-radius);
  padding:1.4rem; box-shadow:0 8px 24px rgba(15,23,42,.06); transition:.3s;
}
.hv-info-card:hover{ transform:translateY(-5px); box-shadow:var(--hv-shadow); }
.hv-info-icon{
  width:52px; height:52px; flex-shrink:0; border-radius:14px;
  background:var(--hv-light); color:var(--hv-primary); border:1px solid var(--hv-border);
  display:flex; align-items:center; justify-content:center; font-size:1.4rem;
}
.hv-info-card h4{ font-size:1.02rem; margin-bottom:.3rem; }
.hv-info-card p{ color:var(--hv-muted); font-size:.93rem; margin-bottom:0; }
.hv-info-card a{ color:var(--hv-primary); font-weight:600; }
.hv-info-card a:hover{ text-decoration:underline; }

/* ---------- Forms ---------- */
.hv-form-card{
  background:#fff; border:1px solid #f1f5f9; border-radius:var(--hv-radius);
  box-shadow:var(--hv-shadow); padding:2.2rem;
}
.hv-form .form-label{ font-weight:600; color:var(--hv-dark); }
.hv-form .form-control,
.hv-form .form-select{
  border-radius:.8rem; padding:.75rem 1rem;
  border:1.5px solid #e2e8f0; transition:.25s;
}
.hv-form .form-control:focus,
.hv-form .form-select:focus{
  border-color:var(--hv-teal);
  box-shadow:0 0 0 .25rem rgba(20,184,166,.15);
}

/* ---------- Benefits list ---------- */
.hv-benefit{
  display:flex; gap:1rem; align-items:flex-start;
  background:#fff; border:1px solid #f1f5f9; border-radius:1rem;
  padding:1.1rem 1.3rem; margin-bottom:1rem;
  box-shadow:0 6px 18px rgba(15,23,42,.05); transition:.3s;
}
.hv-benefit:hover{ transform:translateX(6px); box-shadow:var(--hv-shadow); }
.hv-benefit i{ color:var(--hv-teal); font-size:1.4rem; margin-top:.15rem; }
.hv-benefit strong{ display:block; margin-bottom:.15rem; }
.hv-benefit span{ color:var(--hv-muted); font-size:.92rem; }

/* ---------- Values (about page) ---------- */
.hv-value{
  text-align:center; padding:1.6rem 1rem; border-radius:var(--hv-radius);
  background:#fff; border:1px solid #f1f5f9;
  box-shadow:0 8px 24px rgba(15,23,42,.06); transition:.3s; height:100%;
}
.hv-value:hover{ transform:translateY(-6px); box-shadow:var(--hv-shadow); border-color:var(--hv-border); }
.hv-value i{ font-size:1.9rem; color:var(--hv-primary); }
.hv-value h4{ font-size:1.05rem; margin-top:.7rem; margin-bottom:0; }

/* ---------- Blog article ---------- */
.hv-article img.img-fluid{ border-radius:1.2rem; box-shadow:var(--hv-shadow); }
.hv-article h2{ font-size:1.45rem; color:var(--hv-primary-dark); margin:2.2rem 0 .8rem; }
.hv-article p{ color:#334155; line-height:1.8; }
.hv-article ul li{ color:var(--hv-muted); margin-bottom:.5rem; }
.hv-article blockquote{
  border-left:4px solid var(--hv-teal); background:var(--hv-light);
  padding:1.2rem 1.5rem; border-radius:0 1rem 1rem 0;
  font-style:italic; color:var(--hv-dark); font-weight:500;
}

/* ---------- Legal pages ---------- */
.hv-legal h2{ font-size:1.35rem; color:var(--hv-primary-dark); margin:2.2rem 0 .7rem; }
.hv-legal p, .hv-legal li{ color:var(--hv-muted); line-height:1.8; }

/* ---------- Footer ---------- */
.hv-footer{ background:#0b3b38; color:#cbd5e1; padding:4rem 0 1.5rem; }
.hv-footer .hv-logo-text{
  background:none; -webkit-text-fill-color:#fff; color:#fff;
}
.hv-footer h5{ color:#fff; font-weight:700; margin-bottom:1.1rem; }
.hv-footer p{ font-size:.94rem; }
.hv-footer a{ color:#a7d8d2; transition:.25s; }
.hv-footer a:hover{ color:#fff; }
.hv-footer ul li i{ color:var(--hv-teal); }
.hv-social a{
  width:40px; height:40px; border-radius:50%; margin-right:.5rem;
  background:rgba(255,255,255,.09); color:#fff;
  display:inline-flex; align-items:center; justify-content:center; transition:.25s;
}
.hv-social a:hover{ background:var(--hv-accent); transform:translateY(-3px); color:#fff; }
.hv-footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:2.5rem; padding-top:1.4rem; font-size:.9rem;
}

/* ---------- Back to top ---------- */
.hv-back-top{
  position:fixed; right:1.4rem; bottom:1.4rem; z-index:1050;
  width:48px; height:48px; border-radius:50%; border:none;
  background:var(--hv-grad); color:#fff; font-size:1.2rem;
  box-shadow:0 10px 24px rgba(15,118,110,.4);
  opacity:0; visibility:hidden; transition:.3s;
}
.hv-back-top.show{ opacity:1; visibility:visible; }
.hv-back-top:hover{ transform:translateY(-4px); color:#fff; }

/* ---------- Reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
}

/* ---------- Responsive ---------- */
@media (max-width: 991.98px){
  .hv-hero{ padding:3.5rem 0 4rem; text-align:center; }
  .hv-hero .hv-subtitle{ margin-left:auto; margin-right:auto; }
  .hv-hero-img-wrap{ margin-top:2.5rem; }
  .hv-float-card{ display:none; }
  .hv-title{ font-size:1.9rem; }
  .hv-page-hero h1{ font-size:2.1rem; }
  .hv-section{ padding:3.5rem 0; }
  .hv-cta{ padding:2.5rem 1.5rem; }
  .hv-form-card{ padding:1.6rem; }
}
