*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
}

body{
font-family:Arial,sans-serif;
background:#f8fafc;
color:#111827;
overflow-x:hidden;
line-height:1.6;
}

@font-face{
font-family:'LibertyFont';
src:url('assets/fonts/liberty-font.otf') format('opentype');
}

/* =========================
HERO SECTION
========================= */

.hero-section{

position:relative;

min-height:100vh;

display:flex;

align-items:center;

padding:80px 7%;

background:
linear-gradient(
rgba(0,0,0,0.55),
rgba(0,0,0,0.55)
),
url('assets/family-healthcare.png');

background-size:cover;

background-position:center top;

background-repeat:no-repeat;

overflow:hidden;

}

.hero-overlay{
position:absolute;
inset:0;
}

.hero-content{

position:relative;

z-index:2;

width:720px;

padding:160px 40px 90px;

display:flex;

flex-direction:column;

align-items:flex-start;

margin-left:90px;

}

.hero-branding-wrapper{

display:flex;

align-items:flex-start;

gap:30px;

width:100%;

}

.hero-branding{
display:flex;
flex-direction:column;
}

.hero-logo{

width:220px;

height:auto;

object-fit:contain;

margin-top:-45px;

margin-left:180px;

filter:drop-shadow(
0 0 10px rgba(255,255,255,0.22)
);

position:relative;

z-index:5;

}

.main-brand{

font-family:'LibertyFont',sans-serif;

font-size:92px;

line-height:0.9;

letter-spacing:1px;

color:#ffffff;

}

.sub-brand{

font-family:'LibertyFont',sans-serif;

font-size:50px;

line-height:1;

margin-top:-2px;

color:#d9fffb;

}

.hero-tagline{

margin-top:12px;

font-size:15px;

letter-spacing:2px;

text-transform:uppercase;

color:#f1f5f9;

width:100%;

text-align:center;

}

.hero-description{

font-size:17px;

line-height:1.9;

max-width:440px;

margin-top:30px;

color:#ffffff;

text-align:justify;

}

.hero-actions{

display:flex;

gap:18px;

margin-top:34px;

flex-wrap:wrap;

}

.hero-btn{

padding:15px 28px;

border-radius:12px;

text-decoration:none;

font-weight:600;

transition:0.3s;

font-size:15px;

}

.primary-hero-btn{

background:#14b8a6;

color:#fff;

}

.secondary-hero-btn{

border:2px solid rgba(255,255,255,0.55);

color:#fff;

}

.hero-btn:hover{

transform:translateY(-3px);

}

/* =========================
GLOBAL SECTION
========================= */

section{
padding:40px 7%;
}

.section-header{
text-align:center;
margin-bottom:25px;
}

.section-header h2{

font-size:44px;

margin-bottom:16px;

color:#0f172a;

}

.section-header p{

font-size:18px;

color:#475569;

max-width:700px;

margin:auto;

line-height:1.8;

}

/* =========================
NEW HERO SLIDER
========================= */

.hero-slider-section{

position:relative;

width:100%;

height:100vh;

overflow:hidden;

}

.hero-slider{

position:relative;

width:100%;

height:100%;

}

.hero-slide{

position:absolute;

inset:0;

opacity:0;

transition:opacity .8s ease;

}

.hero-slide.active{

opacity:1;

z-index:2;

}

.hero-slide img{

width:100%;

height:100%;

object-position:right center;

display:block;

}

.hero-slide::after{

content:'';

position:absolute;

inset:0;

background:
linear-gradient(
90deg,
rgba(0,0,0,0.45) 0%,
rgba(0,0,0,0.18) 40%,
rgba(0,0,0,0.05) 100%
);

}

.hero-slide-content{

position:absolute;

left:7%;

top:50%;

transform:translateY(-50%);

z-index:5;

max-width:520px;

color:#ffffff;

}

.hero-slide-content h1{

font-size:58px;

line-height:1.1;

margin-bottom:18px;

font-weight:700;

}

.hero-slide-content p{

font-size:20px;

line-height:1.8;

margin-bottom:30px;

}

.hero-slide-btn{

display:inline-block;

padding:15px 30px;

background:#14b8a6;

color:#ffffff;

text-decoration:none;

border-radius:12px;

font-weight:700;

transition:.3s;

}

.hero-slide-btn:hover{

transform:translateY(-3px);

}

/* =========================
BRAND INTRO
========================= */

.brand-intro-section{

padding:50px 7%;

background:#ffffff;

}

.brand-intro-container{

display:flex;

align-items:center;

justify-content:center;

gap:60px;

max-width:1200px;

margin:auto;

}

.brand-intro-logo{

height:380px;

width:auto;

display:block;

object-fit:contain;

}
.brand-right{

max-width:850px;

}
.brand-title{

display:flex;

flex-direction:column;

align-items:flex-start;

width:100%;


}

.brand-liberty{

font-family:'LibertyFont',sans-serif;

font-size:90px;

line-height:1.2;

color:#ef3b2d;

font-weight:normal;
margin-left:120px;

}

.brand-healthcares{

font-family:'LibertyFont',sans-serif;

font-size:48px;

line-height:0.9;

margin-top:-10px;

color:#ef3b2d;

font-weight:normal;
margin-left:120px;
}

.brand-tagline{

width:100%;

margin-top:20px;

padding-top:14px;

border-top:4px solid #0f5a46;

font-size:20px;

letter-spacing:5px;

font-weight:700;

color:#0f5a46;

text-align:center;

}
.brand-left{

display:flex;

align-items:center;

justify-content:center;

margin-right:-15px;

margin-top:-15px;

}

.brand-right p{

font-size:18px;

line-height:1.9;

color:#475569;

margin-bottom:30px;

}

/* =========================
BRAND TRUST STATS
========================= */

.brand-stats{

display:flex;

gap:12px;

margin-top:20px;

flex-wrap:nowrap;

}

.brand-stat{

flex:1;

min-width:120px;

background:linear-gradient(
180deg,
#ffffff,
#f8fafc
);

padding:16px 10px;

border-radius:20px;

text-align:center;

border:1px solid rgba(15,118,110,0.12);

box-shadow:
0 12px 35px rgba(15,118,110,0.08);

transition:.35s;

position:relative;

overflow:hidden;

}

.brand-stat::before{

content:'';

position:absolute;

top:0;

left:0;

width:100%;

height:9px;

background:linear-gradient(
90deg,
#14b8a6,
#0f766e
);

}

.brand-stat:hover{

transform:translateY(-6px);

box-shadow:
0 18px 45px rgba(15,118,110,0.15);

}

.brand-stat h3{

font-size:22px;

font-weight:700;

color:#0f766e;

margin-bottom:5px;

letter-spacing:.5px;

}

.brand-stat p{

font-size:11px;

line-height:1.55;

color:#475569;

font-weight:700;

margin:0;

}

.brand-stat-icon{

display:block;

font-size:22px;
font-weight:700;

color:#14b8a6;

margin-bottom:2px;

}

@media(max-width:768px){

.brand-stats{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:8px;

margin-top:15px;

}

.brand-stat{

min-width:auto;

padding:10px 6px;

border-radius:14px;

}

.brand-stat h3{

font-size:18px;

margin-bottom:4px;

}

.brand-stat p{

font-size:10px;

line-height:1.25;

}

}

/* =========================
MOBILE
========================= */

@media(max-width:768px){

.hero-slider-section{

height:65vh;

}

.hero-slide-content{

left:3%;
right:auto;
top:55%;

transform:translateY(-50%);

width:40%;

max-width:260px;

text-align:center;

}
.hero-slide-content h1{

font-size:14px;
line-height:1;
margin-bottom:10px;

}

.hero-slide-content p{

font-size:9px;
line-height:1.5;
margin-bottom:20px;
font-weight:500;

}
.hero-slide-btn{

padding:5px 10px;
font-size:10px;

}
.brand-intro-container{

display:flex;

align-items:center;

justify-content:center;

gap:25px;

max-width:1200px;

margin:auto;

}
}

.brand-intro-logo{

margin-bottom:0 !important;

}

/* Liberty */

.brand-liberty{

margin-bottom:0 !important;
margin-left:0 !important;

line-height:0.9;

}

/* Health Cares */

.brand-healthcares{

margin-top:0 !important;
margin-left:0 !important;

line-height:0.9;

}

/* Complete title block */

.brand-title{

display:flex;

flex-direction:column;

align-items:center;

text-align:center;

gap:2px;

width:100%;

}
}

@media(max-width:768px){

.brand-left{
margin-right:0 !important;
margin-top:0 !important;
}

.brand-intro-container{
gap:8px !important;
}

.brand-intro-logo{
width:90px !important;
height:auto;
}

.brand-right{
margin-top:-8px;
}

.brand-liberty{
line-height:1 !important;
}

.brand-healthcares{
line-height:1.05 !important;
}

}
@media(max-width:768px){

.brand-intro-logo{
height:140px !important;
width:auto !important;
display:block;
}

}
@media(max-width:768px){

.brand-intro-section{
margin-top:-40px;
}

}

/* =========================
SERVICES AUTO SLIDER
========================= */

.services-slider{

overflow:hidden;

width:100%;

position:relative;

}

.services-track{

display:flex;

gap:30px;

width:max-content;

animation:
serviceScroll 28s linear infinite;

}
.services-track:hover{

animation-play-state:paused !important;

}

@keyframes serviceScroll{

0%{
transform:translateX(0);
}

100%{
transform:translateX(-1550px);
}

}
.service-card{

min-width:350px;

max-width:350px;

background:#ffffff;

padding:20px;

border-radius:24px;

box-shadow:
0 10px 35px rgba(0,0,0,0.08);

text-align:center;

flex-shrink:0;

transition:0.3s;

}

.service-card:hover{

transform:translateY(-8px);

}

.service-card img{

width:100%;

height:220px;

object-fit:cover;

border-radius:18px;

margin-bottom:18px;

display:block;

}

.service-card h3{

font-size:22px;

margin-bottom:12px;

color:#0f172a;

}

.service-card p{

font-size:15px;

line-height:1.8;

color:#475569;

}


/* MOBILE */

@media(max-width:768px){

.service-card{

min-width:280px;

max-width:280px;

}

.service-card img{

height:180px;

}

.services-track{

animation:
serviceScroll 23s linear infinite;

}

}

}}

/* =========================
PACKAGES
========================= */

.packages-wrapper{

position:relative;

display:flex;

align-items:center;

}

.packages-scroll{

display:flex;

gap:28px;

overflow-x:auto;

scroll-behavior:smooth;

padding:10px 10px 25px;

scrollbar-width:none;

}

.packages-scroll::-webkit-scrollbar{
display:none;
}

.package-card{

min-width:340px;

max-width:340px;

flex-shrink:0;

background:#fff;

border-radius:24px;

overflow:hidden;

box-shadow:
0 10px 35px rgba(0,0,0,0.08);

transition:0.3s;

}

.package-card:hover{

transform:translateY(-5px);

}

.package-card img{

width:100%;

height:230px;

object-fit:cover;

display:block;

}

.package-card h3{

font-size:28px;

padding:22px 22px 0;

color:#0f172a;

}

.package-price{

font-size:28px;

font-weight:700;

padding:10px 22px 0;

color:#0f766e;

}

.package-card p{

padding:16px 22px;

line-height:1.8;

color:#475569;

min-height:100px;

}

.package-btn{

display:inline-block;

padding:13px 24px;

background:#14b8a6;

color:#ffffff;

border-radius:12px;

text-decoration:none;

font-weight:600;

transition:0.3s;

font-size:15px;

border:none;

}

.package-btn:hover{

background:#0f766e;

}
.package-buttons{

display:flex;

gap:12px;

padding:0 22px 28px;

align-items:center;

}

.explore-btn{

padding:13px 24px;

background:#ffffff;

border:2px solid #14b8a6;

color:#14b8a6;

border-radius:12px;

font-weight:600;

cursor:pointer;

transition:0.3s;

font-size:15px;

}

.explore-btn:hover{

background:#14b8a6;

color:#ffffff;

}


.package-btn:hover{

background:#0f766e;

}


/* =========================
HEALTH CARD SECTION
========================= */

.healthcard-section{

padding:20px 7% !important;

background:#f8fafc;

}

.healthcard-container{

display:grid;

grid-template-columns:1fr 1fr;

gap:40px;

max-width:1200px;

margin:auto;

}

.health-card{

background:#ffffff;

padding:35px;

border-radius:24px;

box-shadow:
0 15px 40px rgba(0,0,0,0.06);

text-align:center;

transition:.3s;

}

.health-card:hover{

transform:translateY(-6px);

}

.health-card img{

width:320px;

max-width:100%;

margin-bottom:25px;

}

.health-card h3{

font-size:30px;

margin-bottom:25px;

color:#0f172a;

}

.health-card ul{

list-style:none;

text-align:left;

}

.health-card ul li{

padding:12px 0;

border-bottom:1px solid #e2e8f0;

font-size:16px;

line-height:1.7;

color:#475569;

}

.health-card ul li:last-child{

border-bottom:none;

}

.gold-card{

border-top:8px solid #d4af37;

}

.silver-card{

border-top:8px solid #94a3b8;

}

.healthcard-disclaimer{

margin-top:40px;

text-align:center;

font-size:14px;

color:#64748b;

max-width:900px;

margin-left:auto;

margin-right:auto;

}

@media(max-width:768px){

.healthcard-container{

grid-template-columns:1fr;

}

.health-card{

padding:28px;

}

.health-card h3{

font-size:24px;

}

}
/* =========================
PARTNERS SECTION
========================= */

.partners-slider{

overflow:hidden;

position:relative;

}

.partners-track{

display:flex;

gap:60px;

align-items:center;

width:max-content;

position:relative;

z-index:1;

will-change:transform;

}
.partner-logo{

cursor:pointer;

position:relative;

z-index:10;

}
.partners-track:hover{
animation-play-state:paused;
}

.partners-track img{

height:155px;

object-fit:contain;

filter:grayscale(0%);

transition:0.3s;

padding:12px;

flex-shrink:0;

}

.partners-track img:hover{

transform:scale(1.06);

}

/* =========================
BOOKING SECTION
========================= */

.booking-container{

display:grid;

grid-template-columns:1fr 340px;

gap:50px;

align-items:center;

}

.booking-content h3{

font-size:34px;

margin-bottom:18px;

color:#0f172a;

}

.booking-content p{

font-size:17px;

line-height:1.9;

color:#475569;

max-width:600px;

}

.booking-main-btn{

display:inline-block;

margin-top:30px;

padding:15px 28px;

background:#14b8a6;

color:#fff;

text-decoration:none;

border-radius:12px;

font-weight:600;

transition:0.3s;

}

.booking-main-btn:hover{

background:#0f766e;

}

.qr-card{

background:#fff;

padding:28px;

border-radius:22px;

text-align:center;

box-shadow:
0 10px 35px rgba(0,0,0,0.08);

}

.qr-card img{

width:100%;

max-width:260px;

}

/* =========================
FOOTER
========================= */

.footer-section{

background:#0f172a;

color:#fff;

padding:40px 7% 40px;

}

.footer-container{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(240px,1fr));

gap:30px;

margin-bottom:40px;

}

.footer-column h2,
.footer-column h3{

margin-bottom:18px;

font-size:24px;

}

.footer-column p{

line-height:1.4;

color:#cbd5e1;

font-size:14px;

}

.footer-links{
list-style:none;
}

.footer-links li{
margin-bottom:10px;
}

.footer-links a{

text-decoration:none;

color:#cbd5e1;

transition:0.3s;

}

.footer-links a:hover{

color:#14b8a6;

}

.footer-bottom{

padding-top:25px;

border-top:
1px solid rgba(255,255,255,0.08);

text-align:center;

color:#94a3b8;

font-size:14px;

}

/* =========================
FLOATING WHATSAPP
========================= */

.floating-whatsapp{

position:fixed;

right:10px;

bottom:50px;

width:70px;

height:70px;

z-index:999;

}

.floating-whatsapp img{

width:100%;

height:100%;

}

/* =========================
MOBILE RESPONSIVE
========================= */

@media(max-width:992px){

.hero-content{

margin-left:0;

width:100%;

padding:140px 20px 80px;

}

.hero-branding-wrapper{

flex-direction:column;

gap:18px;

}

.hero-logo{

width:72px;

}

.main-brand{

font-size:68px;

}

.sub-brand{

font-size:40px;

}

.hero-description{

max-width:100%;

}

.booking-container{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

.hero-section{

background-size:cover;

background-position:center;

}

.main-brand{

font-size:54px;

}

.sub-brand{

font-size:32px;

}

.hero-tagline{

font-size:13px;

}

.hero-description{

font-size:15px;

line-height:1.8;

}

.hero-actions{

flex-direction:column;

width:100%;

}

.hero-btn{

width:100%;

text-align:center;

}

.section-header h2{

font-size:34px;

}

.section-header p{

font-size:16px;

}

.package-card{

min-width:300px;

max-width:300px;

}

.benefit-card img{

height:220px;

}

.partners-track img{

height:75px;

}

.footer-container{

grid-template-columns:1fr;

}

}
/* =========================
PACKAGE POPUP
========================= */

.package-popup{

display:none;

position:fixed;

inset:0;

z-index:9999;

}

.popup-overlay{

position:absolute;

inset:0;

background:rgba(0,0,0,0.75);

backdrop-filter:blur(6px);

display:flex;

justify-content:center;

align-items:center;

padding:30px;

}

.service-popup-content{

position:relative;

background:#ffffff;

width:100%;

max-width:820px;

border-radius:24px;

overflow:hidden;

box-shadow:
0 20px 60px rgba(0,0,0,0.3);

animation:popupShow 0.35s ease;

max-height:90vh;

overflow-y:auto;

}

@keyframes popupShow{

from{

transform:translateY(40px);

opacity:0;

}

to{

transform:translateY(0);

opacity:1;

}

}

.close-popup{

position:absolute;

top:18px;

right:18px;

width:42px;

height:42px;

border:none;

border-radius:50%;

background:#ffffff;

font-size:20px;

cursor:pointer;

z-index:5;

box-shadow:
0 4px 12px rgba(0,0,0,0.18);

transition:0.3s;

}

.close-popup:hover{

background:#14b8a6;

color:#ffffff;

}

.popup-banner{

width:100%;

height:340px;

object-fit:contain;

display:block;

}

.service-popup-content h2{

font-size:38px;

padding:28px 34px 12px;

color:#0f172a;

}

.service-popup-content p{

padding:0 34px;

font-size:17px;

line-height:1.9;

color:#475569;

}

.service-popup-details{

padding:30px 34px;

}

.service-popup-details h3{

font-size:24px;

margin-bottom:18px;

color:#0f172a;

}

.service-popup-details ul{

padding-left:22px;

}

.service-popup-details li{

margin-bottom:12px;

font-size:16px;

color:#475569;

}

.popup-book-btn{

display:inline-block;

margin:0 34px 36px;

padding:15px 28px;

background:#14b8a6;

color:#ffffff;

text-decoration:none;

border-radius:12px;

font-weight:600;

transition:0.3s;

}

.popup-book-btn:hover{

background:#0f766e;

}

/* MOBILE */

@media(max-width:768px){

.service-popup-content{

max-width:100%;

border-radius:18px;

}

.popup-banner{

height:220px;

}

.popup-content h2{

font-size:28px;

padding:24px 22px 10px;

}

.popup-content p{

padding:0 22px;

font-size:15px;

}

.popup-details{

padding:24px 22px;

}

.popup-book-btn{

margin:0 22px 28px;

}

}
/* =========================
BOOKING POPUP
========================= */

.booking-popup{

display:none;

position:fixed;

inset:0;

z-index:99999;

}

/* OVERLAY */

.booking-overlay{

position:absolute;

inset:0;

background:rgba(0,0,0,0.75);

display:flex;

align-items:center;

justify-content:center;

padding:20px;

}

/* POPUP BOX */

.booking-popup-content{

position:relative;

width:100%;

max-width:520px;

background:#ffffff;

border-radius:24px;

padding:40px 35px;

box-shadow:0 20px 60px rgba(0,0,0,0.25);

animation:bookingPopupShow 0.35s ease;

overflow-y:auto;

max-height:90vh;

}

/* ANIMATION */

@keyframes bookingPopupShow{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/* CLOSE BUTTON */

.booking-close{

position:absolute;

top:18px;

right:18px;

width:42px;

height:42px;

border:none;

border-radius:50%;

background:#f1f5f9;

font-size:20px;

cursor:pointer;

transition:0.3s;

}

.booking-close:hover{

background:#14b8a6;

color:#ffffff;

}

/* TITLE */

.booking-popup-content h2{

font-size:34px;

margin-bottom:8px;

color:#0f172a;

}

.booking-subtitle{

font-size:15px;

color:#64748b;

margin-bottom:30px;

}

/* FORM */

#bookingForm{

display:flex;

flex-direction:column;

gap:22px;

}

/* FIELD */

.booking-field{

display:flex;

flex-direction:column;

gap:8px;

}

.booking-field label{

font-size:15px;

font-weight:600;

color:#0f172a;

}

/* INPUT */

.booking-field input,
.booking-field textarea{

width:100%;

padding:14px 16px;

border:1px solid #cbd5e1;

border-radius:12px;

font-size:15px;

outline:none;

transition:0.3s;

font-family:inherit;

}

/* TEXTAREA */

.booking-field textarea{

min-height:90px;

resize:vertical;

}

/* FOCUS */

.booking-field input:focus,
.booking-field textarea:focus{

border-color:#14b8a6;

box-shadow:0 0 0 3px rgba(20,184,166,0.15);

}

/* PROMO */

.promo-wrapper{

display:flex;

gap:10px;

}

.promo-wrapper input{

flex:1;

}

/* APPLY BUTTON */

#applyPromoBtn{

padding:14px 20px;

border:none;

border-radius:12px;

background:#14b8a6;

color:#ffffff;

font-weight:600;

cursor:pointer;

transition:0.3s;

}

#applyPromoBtn:hover{

background:#0f766e;

}

/* DISCOUNT BOX */

.discount-box{

padding:14px 18px;

background:#f8fafc;

border-radius:12px;

font-size:15px;

color:#334155;

border:1px dashed #cbd5e1;

}

/* SUBMIT BUTTON */

.booking-submit-btn{

padding:16px;

border:none;

border-radius:14px;

background:#14b8a6;

color:#ffffff;

font-size:16px;

font-weight:700;

cursor:pointer;

transition:0.3s;

margin-top:10px;

}

.booking-submit-btn:hover{

background:#0f766e;

transform:translateY(-2px);

}

/* MOBILE */

@media(max-width:768px){

.booking-popup-content{

padding:30px 22px;

}

.booking-popup-content h2{

font-size:28px;

}

}
/* =========================
MOBILE STICKY BAR
========================= */

.mobile-sticky-bar{

position:fixed;

bottom:0;

left:0;

width:100%;

display:none;

z-index:9999;

background:#ffffff;

box-shadow:
0 -4px 20px rgba(0,0,0,0.08);

}

.mobile-sticky-bar a{

flex:1;

text-align:center;

padding:16px 10px;

text-decoration:none;

font-size:15px;

font-weight:700;

color:#ffffff;

}

.mobile-sticky-bar{

display:none;

}

.sticky-call{

background:#0f766e;

}

.sticky-whatsapp{

background:#16a34a;

}

.sticky-book{

background:#2563eb;

}

/* MOBILE ONLY */

@media(max-width:768px){

.mobile-sticky-bar{

display:flex;

}

body{

padding-bottom:80px;

}

}

/* =========================
SUCCESS POPUP
========================= */

.success-popup{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:
rgba(0,0,0,0.55);

display:none;

justify-content:center;

align-items:center;

z-index:99999;

padding:20px;

}

.success-box{

background:#ffffff;

width:100%;

max-width:420px;

border-radius:24px;

padding:40px 28px;

text-align:center;

animation:popupFade .35s ease;

}

.success-icon{

width:90px;

height:90px;

margin:0 auto 22px;

border-radius:50%;

background:#16a34a;

display:flex;

align-items:center;

justify-content:center;

font-size:42px;

font-weight:700;

color:#ffffff;

}

.success-box h2{

font-size:28px;

margin-bottom:14px;

color:#0f172a;

}

.success-box p{

font-size:16px;

line-height:1.7;

color:#475569;

margin-bottom:28px;

}

#successOkBtn{

background:#2563eb;

color:#ffffff;

border:none;

padding:14px 34px;

border-radius:12px;

font-size:16px;

font-weight:700;

cursor:pointer;

}

@keyframes popupFade{

from{

transform:scale(.85);

opacity:0;

}

to{

transform:scale(1);

opacity:1;

}

}
/* =========================
TESTIMONIALS SECTION
========================= */

.testimonials-section{

padding:50px 5%;

background:
linear-gradient(
135deg,
#ecfeff,
#f8fafc,
#f0fdfa
);

overflow:hidden;

}
.testimonials-slider{

position:relative;

overflow:visible;

margin-top:40px;

padding:10px 0;

min-height:700px;

}

.testimonials-track{

display:flex;

gap:32px;

width:max-content;

padding:15px 0;

will-change:transform;

}

.testimonial-card{

min-width:300px;
max-width:300px;
height:auto;

align-self:flex-start;

background:
linear-gradient(
135deg,
rgba(255,255,255,0.95),
rgba(248,250,252,0.95)
);

backdrop-filter:blur(16px);
-webkit-backdrop-filter:blur(16px);

border:1px solid rgba(20,184,166,0.15);

border-radius:24px;

padding:30px 25px;

box-shadow:
0 10px 30px rgba(20,184,166,0.12);

text-align:center;

transition:0.35s ease;

}

.testimonial-card:hover{

transform:
translateY(-8px)
scale(1.02);

box-shadow:
0 15px 40px rgba(20,184,166,0.25),
0 0 30px rgba(20,184,166,0.18);

}

.testimonial-card img{

width:135px;
height:135px;

border-radius:50%;

object-fit:cover;
object-position:center top;

border:4px solid #14b8a6;

margin-bottom:18px;

box-shadow:
0 4px 15px rgba(20,184,166,0.25);

}

.testimonial-card h3{

font-size:20px;
font-weight:700;

margin-bottom:5px;

color:#0f172a;

}
.testimonial-card span{

display:block;

font-size:14px;
color:#64748b;

margin-bottom:18px;

}

.testimonial-card p{

font-size:15px;

line-height:1.7;

color:#334155;

display:-webkit-box;

-webkit-line-clamp:5;

-webkit-box-orient:vertical;

overflow:hidden;

min-height:130px;

}
.testimonial-card.expanded p{

-webkit-line-clamp:unset;

overflow:visible;

}

.testimonial-stars{

color:#fbbf24;

font-size:20px;

letter-spacing:2px;

margin-bottom:12px;

}



/* MOBILE */

@media(max-width:768px){

.testimonial-card{

min-width:240px;
max-width:240px;

padding:20px 16px;

}

.testimonial-card img{

width:100px;
height:100px;

}

}
.testimonial-card p{

font-size:15px;
line-height:1.8;
color:#334155;

display:-webkit-box;
-webkit-line-clamp:5;
-webkit-box-orient:vertical;

overflow:hidden;

transition:0.3s;

}

.testimonial-card.expanded p{

-webkit-line-clamp:unset;

overflow:visible;

}

.read-more-btn{

display:inline-block;

margin-top:12px;

font-size:14px;

font-weight:600;

color:#14b8a6;

cursor:pointer;

}

.read-more-btn:hover{

text-decoration:underline;

}
.testimonial-btn{

position:absolute;

top:50%;

transform:translateY(-50%);

width:50px;
height:50px;

border:none;

border-radius:50%;

background:#ffffff;

box-shadow:
0 4px 15px rgba(0,0,0,0.15);

cursor:pointer;

font-size:22px;

z-index:20;

transition:0.3s;

}

.testimonial-btn:hover{

background:#14b8a6;

color:#ffffff;

}

.testimonial-left{

left:10px;

}

.testimonial-right{

right:10px;

}

/* =========================
FAQ TEASER
========================= */

.faq-teaser-section{

padding:40px 5%;

}

.faq-teaser-card{

max-width:900px;

margin:auto;

text-align:center;

padding:50px 35px;

border-radius:30px;

background:
linear-gradient(
135deg,
rgba(255,255,255,0.75),
rgba(248,250,252,0.92)
);

backdrop-filter:blur(16px);

box-shadow:
0 15px 40px rgba(15,23,42,0.08);

}

.faq-teaser-card h2{

font-size:34px;

margin-bottom:15px;

color:#0f172a;

}

.faq-teaser-card p{

font-size:16px;

line-height:1.8;

color:#475569;

margin-bottom:25px;

}

.faq-open-btn{

background:#2563eb;

color:#fff;

border:none;

padding:14px 28px;

border-radius:12px;

cursor:pointer;

font-size:16px;

font-weight:700;

}

/* =========================
FAQ POPUP
========================= */

.faq-popup{

display:none;

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(0,0,0,0.6);

z-index:999999;

justify-content:center;

align-items:center;

padding:20px;

}

.faq-popup-box{

background:#ffffff;

width:100%;

max-width:900px;

max-height:90vh;

overflow-y:auto;

border-radius:25px;

padding:35px;

position:relative;

}

.faq-popup-box h2{

text-align:center;

margin-bottom:25px;

color:#0f172a;

}

.faq-close-btn{

position:absolute;

top:18px;

right:20px;

border:none;

background:none;

font-size:24px;

cursor:pointer;

}

.faq-item{

border-bottom:1px solid #e2e8f0;

}

.faq-question{

width:100%;

text-align:left;

padding:18px 0;

background:none;

border:none;

font-size:17px;

font-weight:600;

cursor:pointer;

color:#0f172a;

}

.faq-answer{

display:none;

padding-bottom:18px;

}

.faq-answer p{

line-height:1.8;

color:#475569;

}
/* =========================
HEADER
========================= */

.site-header{

position:fixed;
top:0;
left:0;

width:100%;

background:#ffffff;

z-index:9999;

box-shadow:
0 2px 20px rgba(0,0,0,0.08);

}

.header-container{

max-width:1400px;

margin:auto;

padding:14px 7%;

display:flex;

justify-content:space-between;

align-items:center;

}

.header-brand{

display:flex;

align-items:center;

gap:14px;

}

.header-logo{

width:65px;
height:65px;

object-fit:contain;

}

.header-brand-text h1{

font-size:30px;

font-family:'LibertyFont',sans-serif;

color:#e94b35;

line-height:1;

}

.header-brand-text p{

font-size:12px;

letter-spacing:2px;

color:#0f766e;

}

.header-nav{

display:flex;

gap:28px;

}

.header-nav a{

text-decoration:none;

font-weight:600;

color:#0f172a;

}

.header-nav a:hover{

color:#14b8a6;

}
@media(max-width:768px){

.service-card{

min-width:280px;

max-width:280px;

}

.service-card img{

height:180px;

}
@media(max-width:768px){

.header-container{

flex-direction:column;

gap:10px;

padding:10px;

}

.header-brand{

display:flex;

align-items:center;

justify-content:center;

}

.header-logo{

width:55px;

height:auto;

}

.header-brand-text h1{

font-size:26px;

line-height:1.1;

}

.header-brand-text p{

font-size:11px;

letter-spacing:1.5px;

}
/* MOBILE HERO TAGLINE */

@media(max-width:768px){

.brand-tagline{

width:220px;          /* width kam */
max-width:100%;

font-size:10px;       /* thoda chhota */
letter-spacing:1.5px;

margin:10px auto 0;   /* center */

text-align:center;

line-height:1.4;

}

}
}

}

/* =========================
HEALTH CARD MOBILE FIX
========================= */

.healthcard-container{
display:flex;
justify-content:center;
gap:30px;
flex-wrap:wrap;
}

.health-card{
flex:1;
min-width:320px;
max-width:500px;
}

.health-card img{
width:100%;
max-width:380px;
display:block;
margin:auto;
}

@media(max-width:768px){

.healthcard-container{
flex-direction:column;
align-items:center;
}

.health-card{
width:100%;
max-width:100%;
min-width:auto;
}

.health-card img{
max-width:280px;
}

.health-card h3{
font-size:22px;
text-align:center;
}

.health-card ul{
padding-left:20px;
}

.health-card li{
font-size:14px;
line-height:1.7;
}

.healthcard-disclaimer{
font-size:13px;
line-height:1.6;
padding:0 10px;
text-align:center;
}

}

/* =========================
FOOTER MOBILE FIX
========================= */

.footer-bottom{
margin-top:20px;
}

@media(max-width:768px){

.footer-container{
grid-template-columns:1fr;
gap:30px;
}

.footer-column{
text-align:center;
}

.footer-column h2,
.footer-column h3{
font-size:22px;
}

.footer-column p{
font-size:14px;
line-height:1.8;
}

.footer-links{
padding:0;
}

.footer-links li{
margin-bottom:12px;
}

.footer-bottom{
padding-top:20px;
font-size:13px;
line-height:1.7;
}

footer .footer-section,
footer{
padding-bottom:100px;
}

}

.footer-disclaimer{
margin-top:18px;
font-size:12px;
line-height:1.8;
color:#94a3b8;
max-width:1100px;
margin-left:auto;
margin-right:auto;
}

@media(max-width:768px){

.partners-track img{
height:90px;
width:auto;
flex-shrink:0;
}

}

@media(max-width:768px){

.header-nav{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:10px;
padding:10px 5px;
}

.header-nav a{
font-size:13px;
}
.header-nav{
overflow-x:auto;
white-space:nowrap;
}
}
@media(max-width:768px){

.brand-liberty{

font-size:52px;

line-height:1;

}

.brand-healthcares{

font-size:28px;

line-height:1;
margin-top:8px;
}

}
html,
body{

overflow-x:hidden;
width:100%;

}
@media(max-width:768px){

*{
max-width:100%;
}

}
@media(max-width:768px){

.brand-intro-container{

flex-direction:column;

align-items:center;

text-align:center;

gap:20px;

}

.brand-intro-logo{

width:180px;

max-width:60vw;

margin:0 auto;

}

}

/* =========================
MOBILE HAMBURGER MENU
========================= */

.menu-toggle{
display:none;
background:none;
border:none;
font-size:30px;
cursor:pointer;
color:#0f172a;
}

@media(max-width:768px){

.menu-toggle{
display:block;
}

.header-container{
flex-direction:row;
justify-content:space-between;
align-items:center;
}

.header-nav{
display:none;
position:absolute;
top:100%;
left:0;
width:100%;
background:#ffffff;
flex-direction:column;
padding:15px;
box-shadow:0 5px 20px rgba(0,0,0,0.1);
}

.header-nav.active{
display:flex;
}

.header-nav a{
padding:12px;
text-align:center;
border-bottom:1px solid #e5e7eb;
}

}
/* =========================
SERVICE BOOK BUTTON
========================= */

.service-book-btn{

margin-top:18px;

padding:12px 24px;

background:#14b8a6;

color:#ffffff;

border:none;

border-radius:12px;

cursor:pointer;

font-size:15px;

font-weight:600;

transition:.3s;

}

.service-book-btn:hover{

background:#0f766e;

}
.service-popup{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
z-index:9999;
}

#serviceOptions{
margin:20px 0;
}

#serviceOptions label{
display:block;
padding:12px;
margin-bottom:10px;
border:1px solid #e5e7eb;
border-radius:10px;
cursor:pointer;
}

.service-popup-content{
background:#fff;
padding:30px;
max-width:500px;
margin:50px auto;
border-radius:12px;
}

.service-popup-details{
color:#111;
font-size:16px;
}
#serviceOptions label{
    display:flex !important;
    align-items:center;
    gap:10px;
    color:#111 !important;
    font-size:16px !important;
    line-height:1.4;
}

#serviceOptions input[type="radio"]{
    display:inline-block !important;
    width:18px;
    height:18px;
}

/* =========================
PARTNER POPUP
========================= */

.partner-popup{

display:none;

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

z-index:99999;

}

.partner-overlay{

width:100%;

height:100%;

background:rgba(0,0,0,.75);

display:flex;

justify-content:center;

align-items:center;

padding:20px;

}

.partner-content{

width:100%;

max-width:900px;

max-height:90vh;

overflow-y:auto;

background:#ffffff;

border-radius:20px;

position:relative;

padding:30px;

}

.partner-close{

position:absolute;

top:15px;

right:15px;

border:none;

background:none;

font-size:28px;

cursor:pointer;

}

.partner-cover{

width:100%;

height:320px;

object-fit:cover;

border-radius:15px;

}

.partner-hero{

position:relative;

margin-bottom:30px;

}

.doctor-overlay{

position:absolute;

bottom:-35px;

right:20px;

display:flex;

align-items:center;

gap:12px;

background:#ffffff;

padding:10px 15px;

border-radius:50px;

box-shadow:0 5px 20px rgba(0,0,0,.15);

}

.doctor-photo{

width:70px;

height:70px;

border-radius:50%;

object-fit:cover;

}

.doctor-info h3{

margin:0;

font-size:18px;

}

.doctor-info p{

margin:0;

font-size:14px;

color:#64748b;

}

.partner-profile{

padding-top:30px;

}

.partner-profile h2{

margin-bottom:15px;

}

.partner-profile h3{

margin-top:25px;

margin-bottom:10px;

color:#0f766e;

}

.partner-profile ul{

padding-left:20px;

}

.partner-profile li{

margin-bottom:8px;

}

.partner-about{

line-height:1.7;

}
/* =========================
PARTNER IMAGE SLIDER
========================= */


.partner-slide.active{

opacity:1;

}

.service-grid{

display:flex;

flex-wrap:wrap;

gap:12px;

margin-top:15px;

}

.service-chip{

padding:12px 16px;

background:#f0fdfa;

border:1px solid #14b8a6;

border-radius:12px;

font-size:14px;

font-weight:500;

color:#0f766e;

}

.partner-location{

margin-top:15px;

}

.location-btn{

display:inline-block;

margin-top:12px;

padding:12px 20px;

background:#14b8a6;

color:#fff;

text-decoration:none;

border-radius:12px;

font-weight:600;

transition:.3s;

}

.location-btn:hover{

background:#0f766e;

}

/* =========================
VEDAM DOCTORS
========================= */

.doctor-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:15px;

margin-top:20px;

margin-bottom:30px;

}

.doctor-card{

text-align:center;

padding:10px;

border:1px solid #e5e7eb;

border-radius:12px;

background:#ffffff;

}

.doctor-card img{

width:70px;

height:70px;

border-radius:50%;

object-fit:cover;

margin-bottom:8px;

}

.doctor-card h4{

font-size:14px;

margin-bottom:4px;

}

.doctor-card p{

font-size:12px;

line-height:1.4;

color:#64748b;

}
.doctor-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(180px,1fr));

gap:20px;

margin-top:20px;

}

.doctor-card{

text-align:center;

padding:15px;

border:1px solid #e5e7eb;

border-radius:15px;

background:#fff;

}

.doctor-card-photo{

width:160px !important;

height:160px !important;

object-fit:cover !important;

border-radius:50% !important;

}
.service-grid{

display:flex;

flex-wrap:wrap;

gap:10px;

margin-top:15px;

}

.service-chip{

padding:10px 16px;

background:#f3f4f6;

border-radius:25px;

font-size:14px;

font-weight:500;

}

.whychoose-list{

padding-left:20px;

line-height:1.8;

}

.partner-location{

margin-top:15px;

padding:20px;

background:#f8fafc;

border-radius:15px;

}

.location-btn{

display:inline-block;

margin-top:15px;

padding:12px 20px;

background:#0f766e;

color:#fff;

text-decoration:none;

border-radius:10px;

font-weight:600;

}
.partner-hero{

position:relative;

overflow:hidden;

border-radius:15px;

width:100%;

}

.partner-slider{

display:flex;

width:100%;

height:320px;

transition:transform .8s ease;

}

.partner-slide{

flex:0 0 100%;

width:100%;

height:320px;

position:relative;

overflow:hidden;

}

.partner-gallery-img{

width:100%;

height:100%;

object-fit:cover;

display:block;

}

.partner-book-btn{

background:linear-gradient(
135deg,
#0f766e,
#14b8a6
);

color:#fff;

border:none;

padding:14px 28px;

border-radius:12px;

font-size:16px;

font-weight:600;

cursor:pointer;

display:block;

margin:25px auto 30px;

box-shadow:
0 8px 20px rgba(20,184,166,.25);

transition:.3s;

}

.partner-book-btn:hover{

transform:translateY(-2px);

}


.health-guide-grid{

display:grid;

grid-template-columns:repeat(6,1fr);

gap:20px;

margin-top:40px;

}

.health-guide-card{

background:#ffffff;

border-radius:18px;

overflow:hidden;

box-shadow:
0 8px 25px rgba(0,0,0,0.08);

cursor:pointer;

transition:0.3s;

display:flex;

flex-direction:column;

height:100%;

min-width:0;

}

.health-guide-card:hover{

transform:translateY(-6px);

box-shadow:
0 15px 35px rgba(20,184,166,0.15);

}

.health-guide-card img{

width:100%;

height:90px;

object-fit:cover;

display:block;

}

.health-guide-card h3{

font-size:15px;

padding:10px 10px 5px;

line-height:1.25;

}

.health-guide-card p{

font-size:12px;

line-height:1.45;

padding:0 10px;

color:#475569;

flex-grow:1;

}

.health-guide-card-btn{

padding:10px;

font-size:11px;

font-weight:600;

color:#14b8a6;

}

/* TABLET */

@media(max-width:1024px){

.health-guide-grid{

grid-template-columns:repeat(3,1fr);

}

}

/* MOBILE */

@media(max-width:768px){

.health-guide-grid{

grid-template-columns:repeat(2,1fr);

gap:15px;

}

.health-guide-card img{

height:100px;

}

.health-guide-card h3{

font-size:15px;

}

.health-guide-card p{

font-size:12px;

}

}

/* =========================
HEALTH GUIDE POPUP
========================= */

.health-guide-popup{

display:none;

position:fixed;

inset:0;

z-index:99999;

}

.health-guide-popup-overlay{

position:absolute;

inset:0;

background:rgba(0,0,0,0.75);

backdrop-filter:blur(5px);

}

.health-guide-popup-content{

position:relative;

background:#ffffff;

width:95%;

max-width:900px;

margin:40px auto;

border-radius:18px;

overflow:hidden;

max-height:90vh;

overflow-y:auto;

z-index:2;

}

.health-guide-popup-banner{

width:100%;

height:280px;

object-fit:contain;

display:block;

}

.health-guide-popup-content h2{

padding:25px 30px 10px;

font-size:32px;

color:#0f172a;

}

#healthPopupBody{

padding:0 30px 30px;

line-height:1.8;

color:#334155;

}

#healthPopupBody h3{

margin-top:25px;

margin-bottom:10px;

color:#0f172a;

}

.health-guide-popup-close{

position:absolute;

top:15px;

right:15px;

width:42px;

height:42px;

border:none;

border-radius:50%;

cursor:pointer;

font-size:18px;

background:#ffffff;

z-index:5;

}

@media(max-width:768px){

.health-guide-popup-banner{

height:180px;

}

.health-guide-popup-content h2{

font-size:22px;

padding:20px 20px 10px;

}

#healthPopupBody{

padding:0 20px 20px;

font-size:14px;

}

}