/* =====================================================
GLOBAL RESET
===================================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Inter',sans-serif;
}

html{
scroll-behavior:smooth;
}


/* =====================================================
COLOR VARIABLES
===================================================== */

:root{

--primary:#0F2854;
--secondary:#1C4D8D;
--accent:#4988C4;
--light:#BDE8F5;

--bg-light:#f7f9fc;
--bg-section:#eef3f8;

--text-dark:#222;
--text-gray:#6b6b6b;

}


/* =====================================================
BODY
===================================================== */

body{
background:#ffffff;
color:var(--text-dark);
line-height:1.6;
overflow-x:hidden;
animation:fadeInPage .8s ease;
}

@keyframes fadeInPage{
from{
opacity:0;
transform:translateY(10px);
}
to{
opacity:1;
transform:translateY(0);
}
}

img{
max-width:100%;
display:block;
}

.back-button{
position:fixed;
top:20px;
left:20px;
background:#0F2854;
color:#fff;
padding:10px 18px;
border-radius:30px;
font-weight:600;
cursor:pointer;
box-shadow:0 5px 15px rgba(0,0,0,0.2);
transition:0.3s;
z-index:999;
text-decoration: none;
}

.back-button:hover{
background:#1C4D8D;
transform:translateY(-2px);
}

/* Mobile Screen */

@media (max-width:768px){

.back-button{
top:15px;
left:15px;
padding:8px 14px;
font-size:13px;
}

}

/* Small Mobile */

@media (max-width:580px){

.back-button{
top:80px;
left:12px;
padding:10px 15px;
font-size:15px;
}

}

/* =====================================================
ANNOUNCEMENT BAR
===================================================== */

.announcement-bar{
width:100%;
text-align:center;
padding:12px;
font-size:18px;
font-weight:600;
border-bottom:1px solid #eee;
background:#fff;
}

.announcement-bar span{
color:var(--primary);
}


/* Animated announcement text */

#changingText{
display:inline-block;
font-size: 25px;
font-family: "Noto Sans Devanagari", sans-serif;
transition:opacity .4s ease, transform .4s ease;
}

#changingText.fade-out{
opacity:0;
transform:translateY(-6px);
}

#changingText.fade-in{
opacity:1;
transform:translateY(0);
}

/* =====================================================
CONTAINER
===================================================== */

.container{
max-width:1200px;
margin:auto;
padding:20px;
display:flex;
align-items:center;
justify-content:space-between;
gap:40px;
flex-wrap:wrap;
}


/* =====================================================
HERO SECTION
===================================================== */

.hero{
background:linear-gradient(135deg,#f7f9fc,#eaf2f8);
padding:80px 20px;
}

.left{
flex:1;
min-width:280px;
}

.right{
flex:1;
display:flex;
justify-content:center;
}


/* =====================================================
BADGE
===================================================== */

.badge{
display:inline-block;
background:#fff;
padding:6px 14px;
border-radius:25px;
font-size:13px;
color:var(--primary);
font-weight:600;
margin-bottom:14px;
box-shadow:0 3px 10px rgba(0,0,0,0.08);
}


/* =====================================================
HERO TITLE
===================================================== */

.hero-title{
font-size:64px;
font-weight:800;
line-height:1.2;
margin-bottom:16px;
color:var(--text-dark);
}

.hero-title span{
color:var(--secondary);
position:relative;
}

.hero-title span::after{
content:"";
position:absolute;
left:0;
bottom:-6px;
width:100%;
height:6px;
background:var(--light);
border-radius:6px;
}

.hero-sub{
font-size:18px;
color:var(--text-gray);
margin-bottom:15px;
}


/* =====================================================
PRIMARY BUTTON
===================================================== */

.btn{
background:linear-gradient(135deg,var(--primary),var(--secondary));
color:#fff;
padding:16px 36px;
border-radius:40px;
font-weight:800;
font-size: 20px;
text-decoration:none;
display:inline-block;
box-shadow:0 10px 25px rgba(0,0,0,0.15);
transition:.35s;
}

.btn:hover{
transform:translateY(-3px);
box-shadow:0 15px 35px rgba(0,0,0,0.25);
}

.note{
margin-top:12px;
font-size:24px;
color:#2a9d5b;
}


/* =====================================================
HERO IMAGE
===================================================== */

.circle{
width:360px;
height:360px;
border-radius:50%;
overflow:hidden;
box-shadow:
0 20px 60px rgba(0,0,0,0.15),
0 0 0 8px rgba(73,136,196,0.08);
}

.circle img{
width:100%;
height:100%;
object-fit:cover;
}


/* =====================================================
PROBLEM SECTION
===================================================== */
/* ==========================
SOLUTION SECTION
========================== */

.solution{
background:#ffffff;
padding:30px 20px;
text-align:center;
}

.solution h2{
font-size:32px;
margin-bottom:45px;
color:var(--secondary);
font-weight:700;
}


/* ==========================
GRID LAYOUT
========================== */

.problem-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
max-width:900px;
margin:auto;
}


/* ==========================
PILL BUTTON
========================== */

.pill{
background:#ffffff;
border:1px solid #e1e5ec;
border-radius:18px;
padding:16px 22px;
cursor:pointer;
transition:all .3s ease;
font-weight:700;
box-shadow:0 3px 10px rgba(0,0,0,0.04);
}


/* HEADER */

.pill-title{
display:flex;
justify-content:space-between;
align-items:center;
color:#0F2854;
font-weight:700;
font-size:15px;
}


/* HOVER EFFECT */

.pill:hover{
transform:translateY(-6px);
box-shadow:0 10px 25px rgba(0,0,0,0.08);
}


/* ==========================
ACCORDION CONTENT
========================== */

.pill-content{
max-height:0;
overflow:hidden;
transition:max-height .35s ease;
margin-top:12px;
font-weight:700;
color:#333;
line-height:1.6;
font-size:14px;
text-align:left;
}


/* EXPAND DOWNWARD */

.pill.active .pill-content{
max-height:120px;
}


/* ==========================
ARROW ANIMATION
========================== */

.pill-title span{
transition:transform .3s ease;
}

.pill.active .pill-title span{
transform:rotate(90deg);
}


/* ==========================
RESPONSIVE
========================== */

@media(max-width:900px){

.problem-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:600px){

.problem-grid{
grid-template-columns:1fr;
}

}


/* =====================================================
THERAPY BENEFITS SECTION
===================================================== */

.therapy-benefits{
padding:40px 8%;
background:linear-gradient(180deg,#f6f9ff,#eef3ff);
text-align:center;
}

.therapy-benefits h2{
font-size:34px;
color:#1d3b7a;
margin-bottom:50px;
font-weight:700;
}

/* GRID */

.benefits-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
gap:30px;
}

/* CARD */

.benefit-card{
position:relative;
background:rgba(255,255,255,0.75);
backdrop-filter:blur(12px);
padding:35px 25px;
border-radius:18px;
box-shadow:0 12px 35px rgba(0,0,0,0.08);

display:flex;
flex-direction:column;
align-items:center;
text-align:center;

transition:.35s;
overflow:hidden;
}

/* Shine effect */

.benefit-card::before{
content:"";
position:absolute;
top:-120%;
left:-40%;
width:180%;
height:300%;
background:linear-gradient(
120deg,
transparent,
rgba(255,255,255,.6),
transparent
);
transform:rotate(25deg);
transition:0.8s;
}

.benefit-card:hover::before{
top:120%;
}

/* Hover lift */

.benefit-card:hover{
transform:translateY(-12px);
box-shadow:0 25px 55px rgba(0,0,0,0.15);
}

/* ICON */

.benefit-card img{
width:70px;
margin-bottom:12px;
transition:0.35s;
animation:floatIcon 4s ease-in-out infinite;
}

/* Image zoom on hover */

.benefit-card:hover img{
transform:scale(1.2);
}

/* Floating icon animation */

@keyframes floatIcon{
0%{transform:translateY(0px);}
50%{transform:translateY(-8px);}
100%{transform:translateY(0px);}
}

/* TITLE */

.benefit-card h3{
font-size:19px;
color:#0f2854;
margin:6px 0;
font-weight:700;
}

/* TEXT */

.benefit-card p{
font-size:14px;
line-height:1.6;
color:#555;
margin-top:6px;
}

/* =====================================================
STORIES SECTION
===================================================== */


.stories{
background:var(--bg-light);
padding:40px 20px;
text-align:center;
}

.stories h2{
font-size:32px;
margin-bottom:30px;
color:var(--secondary);
font-weight:700;
}

/* CARDS CONTAINER */

.story-cards{
display:flex;
gap:30px;
justify-content:center;
flex-wrap:wrap;
}


/* STORY CARD */

.story-card{
width:300px;
text-align:center;
border-radius:16px;
overflow:hidden;
position:relative;
cursor:pointer;
background:#fff;
box-shadow:0 8px 25px rgba(0,0,0,0.08);
transition:all .4s ease;

/* entrance animation */
opacity:0;
transform:translateY(40px);
animation:fadeUp .8s ease forwards;
}

/* delay animation */

.story-card:nth-child(1){animation-delay:.2s}
.story-card:nth-child(2){animation-delay:.4s}
.story-card:nth-child(3){animation-delay:.6s}


/* HOVER EFFECT */

.story-card:hover{
transform:translateY(-12px) scale(1.03);
box-shadow:0 20px 45px rgba(0,0,0,0.18);
}


/* VIDEO */

.story-card video{
width:100%;
border-radius:16px;
transition:transform .4s ease;
}

/* ZOOM VIDEO */

.story-card:hover video{
transform:scale(1.06);
}


/* PLAY BUTTON OVERLAY */

.story-card::after{
content:"▶";
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
font-size:38px;
color:#fff;
background:rgba(0,0,0,0.45);
width:70px;
height:70px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
pointer-events:none;
transition:.35s ease;
}


/* PLAY BUTTON GLOW */

.story-card:hover::after{
background:#0F2854;
box-shadow:0 0 25px rgba(15,40,84,0.7);
transform:translate(-50%,-50%) scale(1.15);
}


/* NAME */

.story-card p{
margin-top:12px;
font-weight:600;
color:#333;
font-size:15px;
}


/* ENTRY ANIMATION */

@keyframes fadeUp{

from{
opacity:0;
transform:translateY(40px);
}

to{
opacity:1;
transform:translateY(0);
}

}


/* MOBILE RESPONSIVE */

@media(max-width:768px){

.story-card{
width:90%;
}

.story-cards{
gap:25px;
}

}

.story-card.playing::after{
opacity:0;
pointer-events:none;
}

/* =====================================================
APPOINTMENT SECTION
===================================================== */

.appointment-section{
padding:80px 20px;
background:linear-gradient(180deg,#f7f9fc,#eef3ff);
display:flex;
justify-content:center;
}

.appointment-container{
background:#fff;
padding:45px;
border-radius:20px;
box-shadow:0 15px 40px rgba(0,0,0,0.08);
width:100%;
max-width:750px;
text-align:center;
}

/* TITLE */

.appointment-title{
font-size:32px;
color:#1d3b7a;
margin-bottom:10px;
font-weight:700;
}

.appointment-subtitle{
color:#666;
margin-bottom:30px;
}

/* FORM */

.appointment-form{
display:flex;
flex-direction:column;
gap:15px;
}

.two-col{
display:grid;
grid-template-columns:1fr 1fr;
gap:15px;
}

/* INPUT */

.appointment-form input,
.appointment-form select,
.appointment-form textarea{
width:100%;
padding:14px;
border-radius:10px;
border:1px solid #ddd;
font-size:15px;
outline:none;
transition:.3s;
}

.appointment-form input:focus,
.appointment-form select:focus,
.appointment-form textarea:focus{
border-color:#1d3b7a;
box-shadow:0 0 0 3px rgba(29,59,122,0.1);
}

textarea{
height:110px;
resize:none;
}

/* BUTTON */

.appointment-btn{
margin-top:10px;
background:#1d3b7a;
color:#fff;
border:none;
padding:14px;
font-size:16px;
border-radius:30px;
cursor:pointer;
transition:.3s;
}

.appointment-btn:hover{
background:#0f2854;
transform:translateY(-2px);
}

/* MOBILE */

@media(max-width:768px){

.two-col{
grid-template-columns:1fr;
}

.appointment-container{
padding:30px;
}

}


/* ===================================================
CLINIC SECTION
========================================================= */

.clinics-section{
padding:40px 0;
background:linear-gradient(180deg,#f7f9fc,#eef3f8);
text-align:center;
overflow:hidden;
}

.clinics-section h2{
font-size:34px;
margin-bottom:50px;
color:#1C4D8D;
}

/* =========================
SLIDER
========================= */

.slider-container{
width:100%;
overflow:hidden;
position:relative;
}

.slider-track{
display:flex;
gap:25px;
width:max-content;
animation:clinicScroll 25s linear infinite;
}

@keyframes clinicScroll{
0%{transform:translateX(0);}
100%{transform:translateX(-50%);}
}

/* =========================
CLINIC CARD
========================= */

.clinic-card{
min-width:220px;
height:220px;
border-radius:16px;
overflow:hidden;
position:relative;
background:#fff;
box-shadow:0 12px 30px rgba(0,0,0,0.12);
transition:.3s;
}

.clinic-card:hover{
transform:translateY(-10px) scale(1.05);
box-shadow:0 20px 40px rgba(0,0,0,0.2);
}

.clinic-card img{
width:100%;
height:100%;
object-fit:cover;
}

/* =========================
CLINIC NAME
========================= */

.clinic-name{
position:absolute;
bottom:10px;
left:12px;
color:#fff;
font-size:18px;
font-weight:600;
text-shadow:0 2px 6px rgba(0,0,0,0.6);
}

/* =========================
RATING BADGE
========================= */

.rating{
position:absolute;
top:10px;
right:10px;
background:#fff;
padding:5px 10px;
border-radius:8px;
font-size:13px;
display:flex;
align-items:center;
gap:4px;
box-shadow:0 4px 10px rgba(0,0,0,0.1);
}

.rating img{
width:14px;
}

/* =========================
CTA BUTTON
========================= */

.clinic-btn{
margin-top:60px;
display:flex;
justify-content:center;
}

.clinic-btn button{
background:linear-gradient(135deg,#0F2854,#1C4D8D);
color:#fff;
padding:16px 40px;
border:none;
border-radius:40px;
font-size:17px;
font-weight:600;
cursor:pointer;
transition:.3s;
box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

.clinic-btn button:hover{
transform:translateY(-3px);
box-shadow:0 15px 35px rgba(0,0,0,0.25);
}
.slider-track:hover{
animation-play-state:paused;
}

.slider-container{
width:100%;
overflow:hidden;
}

.slider-track{
display:flex;
gap:25px;
will-change:transform;
}

.clinic-card{
min-width:220px;
height:220px;
border-radius:16px;
overflow:hidden;
position:relative;
box-shadow:0 10px 25px rgba(0,0,0,0.12);
}

.clinic-card img{
width:100%;
height:100%;
object-fit:cover;
}


/* =====================================================
RESPONSIVE
===================================================== */

@media (max-width:1024px){

.hero-title{
font-size:44px;
}

.problem-grid{
grid-template-columns:repeat(2,1fr);
}

.circle{
width:300px;
height:300px;
}

}

@media (max-width:768px){

.container{
flex-direction:column;
text-align:center;
}

.hero-title{
font-size:34px;
}

.problem-grid{
grid-template-columns:1fr;
}

.circle{
width:240px;
height:240px;
}

.slider-track{
overflow-x:auto;
scroll-snap-type:x mandatory;
}

.clinic-card{
min-width:180px;
scroll-snap-align:center;
}

.how-wrapper{
grid-template-columns:1fr;
}

.how-image{
display:none;
}

}