/* Personal Health Consult - Custom Styles */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap');

:root{
  --primary:#0F766E;
  --primary-dark:#0B5D56;
  --primary-light:#E0F2F1;
  --primary-lighter:#F0FDFA;
  --cream:#FFFBF0;
  --warm:#FFF7ED;
  --accent:#FF8A65;
  --accent-light:#FFE4DB;
  --dark:#12201E;
  --muted:#6B8A87;
  --border:#E6EFEE;
  --white:#FFFFFF;
  --shadow:0 10px 40px rgba(15,118,110,0.08);
  --shadow-hover:0 20px 60px rgba(15,118,110,0.15);
}

*{scroll-behavior:smooth}
body{
  font-family:'Plus Jakarta Sans',sans-serif;
  color:var(--dark);
  background:var(--white);
  line-height:1.7;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5{
  font-family:'Fraunces',serif;
  font-weight:600;
  letter-spacing:-0.02em;
  line-height:1.2;
}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--primary-dark)}

/* Navbar */
.navbar{
  background:rgba(255,255,255,0.92) !important;
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  padding:1rem 0;
  transition:all .3s;
}
.navbar-brand{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:1.55rem;
  color:var(--dark) !important;
  display:flex;align-items:center;gap:.6rem;
}
.brand-mark{
  width:38px;height:38px;
  background:var(--primary);
  border-radius:12px;
  display:grid;place-items:center;
  color:white;
  font-size:1.1rem;
}
.navbar-nav .nav-link{
  font-weight:500;
  color:var(--dark) !important;
  padding:.5rem 1rem !important;
  border-radius:100px;
  transition:.2s;
  font-size:.95rem;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{
  background:var(--primary-light);
  color:var(--primary) !important;
}
.btn-primary{
  background:var(--primary);
  border-color:var(--primary);
  border-radius:100px;
  padding:.7rem 1.6rem;
  font-weight:600;
  letter-spacing:.01em;
  box-shadow:0 4px 14px rgba(15,118,110,.2);
}
.btn-primary:hover{
  background:var(--primary-dark);
  border-color:var(--primary-dark);
  transform:translateY(-1px);
  box-shadow:0 8px 24px rgba(15,118,110,.25);
}
.btn-outline{
  border:1.5px solid var(--border);
  background:white;
  border-radius:100px;
  padding:.7rem 1.6rem;
  font-weight:600;
  color:var(--dark);
}
.btn-outline:hover{
  border-color:var(--primary);
  color:var(--primary);
  background:var(--primary-light);
}

/* Hero */
.hero{
  background:radial-gradient(120% 120% at 20% 10%, #E0F2F1 0%, #F0FDFA 40%, #FFFBF0 100%);
  padding:7.5rem 0 5rem;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:'';
  position:absolute;
  top:-20%;right:-15%;
  width:70%;height:80%;
  background:radial-gradient(circle, rgba(255,138,101,.12) 0%, transparent 70%);
  pointer-events:none;
}
.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  background:white;
  border:1px solid var(--border);
  padding:.4rem 1rem;
  border-radius:100px;
  font-size:.85rem;
  font-weight:600;
  color:var(--primary);
  box-shadow:var(--shadow);
}
.hero h1{
  font-size:clamp(2.6rem,5vw,4.2rem);
  margin:1.2rem 0;
}
.hero h1 span{
  color:var(--primary);
  position:relative;
}
.hero h1 span::after{
  content:'';
  position:absolute;
  bottom:.15em;left:0;right:0;
  height:.3em;
  background:rgba(15,118,110,.15);
  z-index:-1;
  border-radius:4px;
}
.hero-img-wrap{
  position:relative;
  border-radius:32px;
  overflow:hidden;
  box-shadow:var(--shadow-hover);
  background:white;
  padding:.6rem;
}
.hero-img-wrap img{
  border-radius:24px;
  width:100%;height:520px;object-fit:cover;
}
.hero-float{
  position:absolute;
  background:white;
  border-radius:20px;
  padding:1rem 1.2rem;
  box-shadow:0 12px 32px rgba(0,0,0,.12);
  display:flex;gap:.8rem;align-items:center;
}
.float-1{bottom:18%;left:-8%;}
.float-2{top:12%;right:-6%;}

/* Sections */
.section{padding:5.5rem 0}
.section-light{background:var(--primary-lighter)}
.section-cream{background:var(--cream)}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  font-weight:700;
  color:var(--primary);
  margin-bottom:.8rem;
}
.section-title{
  font-size:clamp(2rem,3.5vw,2.8rem);
  margin-bottom:1rem;
}
.section-desc{
  color:var(--muted);
  font-size:1.05rem;
  max-width:52ch;
}

/* Why Choose */
.why-card{
  background:white;
  border:1px solid var(--border);
  border-radius:24px;
  padding:2rem;
  height:100%;
  transition:.3s;
}
.why-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-hover);
  border-color:transparent;
}
.why-icon{
  width:56px;height:56px;
  border-radius:16px;
  display:grid;place-items:center;
  font-size:1.4rem;
  margin-bottom:1.2rem;
}
.why-icon.teal{background:var(--primary-light);color:var(--primary)}
.why-icon.coral{background:var(--accent-light);color:var(--accent)}
.why-icon.cream{background:var(--warm);color:#D97706}

/* Services */
.service-card{
  background:white;
  border-radius:28px;
  overflow:hidden;
  border:1px solid var(--border);
  height:100%;
  display:flex;
  flex-direction:column;
  transition:.35s cubic-bezier(.2,.8,.2,1);
}
.service-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-hover);
  border-color:transparent;
}
.service-img{
  height:210px;
  overflow:hidden;
  position:relative;
  background:var(--primary-light);
}
.service-img img{
  width:100%;height:100%;object-fit:cover;
  transition:.6s;
}
.service-card:hover .service-img img{transform:scale(1.06)}
.service-tag{
  position:absolute;
  top:14px;left:14px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);
  padding:.3rem .8rem;
  border-radius:100px;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--dark);
}
.service-body{
  padding:1.6rem 1.5rem 1.3rem;
  flex:1;
  display:flex;
  flex-direction:column;
}
.service-body h4{font-size:1.25rem;margin-bottom:.6rem}
.service-body p{
  color:var(--muted);
  font-size:.95rem;
  flex:1;
  margin-bottom:1.2rem;
}
.service-btn{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-weight:600;
  font-size:.92rem;
  color:var(--primary);
}
.service-btn:hover{gap:.7rem}

/* Testimonials */
.testimonial-card{
  background:white;
  border-radius:24px;
  padding:2rem;
  border:1px solid var(--border);
  height:100%;
  position:relative;
}
.quote-mark{
  width:44px;height:44px;
  background:var(--primary-light);
  border-radius:12px;
  display:grid;place-items:center;
  color:var(--primary);
  font-size:1.2rem;
  margin-bottom:1.2rem;
}
.stars{color:#F59E0B;letter-spacing:.1em;margin-bottom:.8rem}

/* Blog */
.blog-card{
  background:white;
  border-radius:24px;
  overflow:hidden;
  border:1px solid var(--border);
  height:100%;
  transition:.3s;
}
.blog-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow);
}
.blog-img{height:220px;overflow:hidden}
.blog-img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.blog-card:hover .blog-img img{transform:scale(1.05)}
.blog-body{padding:1.5rem}
.blog-meta{
  display:flex;gap:.6rem;align-items:center;
  font-size:.82rem;color:var(--muted);margin-bottom:.6rem;
}
.blog-meta span{
  background:var(--primary-lighter);
  padding:.2rem .7rem;border-radius:100px;
  color:var(--primary);font-weight:600;
}
.blog-body h5{font-size:1.15rem;line-height:1.35;margin-bottom:.6rem}
.blog-body p{color:var(--muted);font-size:.93rem}

/* FAQ */
.accordion-item{
  border:1px solid var(--border) !important;
  border-radius:16px !important;
  margin-bottom:.9rem;
  overflow:hidden;
  background:white;
}
.accordion-button{
  font-weight:600;
  font-family:'Plus Jakarta Sans',sans-serif;
  padding:1.2rem 1.4rem;
  box-shadow:none !important;
}
.accordion-button:not(.collapsed){
  background:var(--primary-lighter);
  color:var(--primary-dark);
}
.accordion-body{color:var(--muted);padding:0 1.4rem 1.2rem}

/* CTA */
.cta{
  background:var(--dark);
  color:white;
  border-radius:32px;
  padding:4rem;
  position:relative;
  overflow:hidden;
  margin:2rem 0;
}
.cta::before{
  content:'';
  position:absolute;
  top:-40%;right:-20%;
  width:80%;height:140%;
  background:radial-gradient(circle at center, rgba(15,118,110,.4) 0%, transparent 60%);
}
.cta h2{color:white;font-size:clamp(2rem,3vw,2.6rem)}
.cta p{color:#A7C4C1}

/* Footer */
.footer{
  background:#0B1513;
  color:#A7C4C1;
  padding:4.5rem 0 2rem;
}
.footer h6{color:white;font-family:'Plus Jakarta Sans';font-weight:700;letter-spacing:.02em}
.footer a{color:#A7C4C1}
.footer a:hover{color:white}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:3rem;
  padding-top:1.8rem;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem;
  font-size:.88rem;
}

/* Page Header */
.page-header{
  background:radial-gradient(100% 100% at 30% 0%, #E0F2F1 0%, #F0FDFA 55%, #FFFBF0 100%);
  padding:7rem 0 3.5rem;
  text-align:center;
}
.page-header h1{font-size:clamp(2.2rem,4vw,3.2rem)}

/* Contact */
.contact-card{
  background:white;
  border-radius:24px;
  border:1px solid var(--border);
  padding:2rem;
  box-shadow:var(--shadow);
}
.form-control, .form-select{
  border-radius:12px;
  border:1px solid var(--border);
  padding:.85rem 1rem;
  font-size:.95rem;
}
.form-control:focus{
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(15,118,110,.1);
}
.info-item{
  display:flex;gap:1rem;
  padding:1.2rem;
  background:white;
  border-radius:16px;
  border:1px solid var(--border);
  margin-bottom:.9rem;
}
.info-icon{
  width:48px;height:48px;
  background:var(--primary-light);
  border-radius:12px;
  display:grid;place-items:center;
  color:var(--primary);
  flex-shrink:0;
}

/* Newsletter pages */
.newsletter-box{
  background:white;
  border-radius:28px;
  padding:3rem;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  max-width:560px;
  margin:0 auto;
}

/* Privacy */
.content-card{
  background:white;
  border-radius:24px;
  border:1px solid var(--border);
  padding:2.5rem;
}
.content-card h3{margin-top:2rem;margin-bottom:.8rem;font-size:1.4rem}
.content-card p, .content-card li{color:var(--muted)}
.content-card ul{padding-left:1.2rem}

/* Responsive */
@media(max-width:991px){
  .hero-img-wrap img{height:420px}
  .float-1{left:0}
  .float-2{right:0}
  .cta{padding:2.5rem 1.8rem}
}
