:root {
    --primary-blue: #2C5282;
    --primary-teal: #008B8B;
    --accent-blue: #3182CE;
    --light-blue: #E6F3FF;
    --light-gray: #F8F9FA;
    --medium-gray: #E2E8F0;
    --dark-gray: #4A5568;
    --white: #FFF;
    --text-dark: #2D3748;
    --text-light: #718096;
    --radius: 10px;
    --transition: 0.3s cubic-bezier(.4,0,.2,1);
    --container-width: 1200px;
}

*, *::before, *::after { box-sizing: border-box; }
body {
    font-family: Arial, Helvetica, sans-serif;
    color: var(--text-dark);
    background: var(--white);
    margin: 0;
    line-height: 1.6;
}
.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 20px;
}
h1, h2, h3, h4 { font-weight: bold; margin-bottom: 0.8rem; }
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; }
p { color: var(--text-light); margin-bottom: 1rem; }
ul, li { margin: 0; padding: 0; }

.header {
    background: var(--white);
    position: sticky;
    top: 0;
    z-index: 999;
    box-shadow: 0 2px 10px rgba(0,0,0,0.07);
}
.header.scrolled { background: rgba(255,255,255,0.97); backdrop-filter: blur(8px);}
.nav { display: flex; align-items: center; justify-content: space-between; padding: 1.1rem 0; }
.nav__brand h2 { color: var(--primary-blue); margin: 0; }
.nav__tagline { font-size: 0.89rem; color: var(--text-light); }
.nav__menu { display: flex; align-items: center; gap: 2rem; }
.nav__list { list-style: none; display: flex; gap: 2rem; }
.nav__item { }
.nav__link {
    color: var(--text-dark);
    text-decoration: none;
    font-weight: 600;
    transition: color var(--transition);
}
.nav__link:hover { color: var(--primary-blue); }
.btn {
    display: inline-block;
    border-radius: var(--radius);
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
    padding: 12px 25px;
    border: none;
    cursor: pointer;
    transition: background var(--transition), color var(--transition);
    text-decoration: none;
}
.btn--primary {
    background: var(--primary-blue);
    color: var(--white);
}
.btn--primary:hover, .btn--primary:focus { background: #24426d; }
.btn--secondary {
    background: transparent;
    color: var(--primary-blue);
    border: 2px solid var(--primary-blue);
}
.btn--secondary:hover, .btn--secondary:focus {
    background: var(--primary-blue);
    color: var(--white);
}
.btn--full { width: 100%; }
.nav__toggle {
    display: none;
    flex-direction: column;
    cursor: pointer;
}
.nav__toggle span {
    width: 24px; height: 3px; background: var(--text-dark);
    margin: 4px 0; display: block;
    transition: var(--transition);
}
@media (max-width: 900px) {
    .container { padding: 0 10px; }
    .nav__menu { flex-direction: column; gap: 1rem;}
    .nav__list { flex-direction: column; gap: 1.1rem; }
    .nav__menu { display: none; }
    .nav__menu.open { display: flex; background: var(--white); position: absolute; top:64px; right: 0; left: 0; padding: 1rem 0;}
    .nav__toggle { display: flex; }
}

/* Hero Section */
.hero {
    background: linear-gradient(135deg, var(--light-blue), var(--white) 90%);
    padding: 120px 0 70px;
}
.hero__container {
    display: flex; flex-wrap: wrap;
    align-items: center; gap: 3rem;
}
.hero__content { flex: 1 1 360px; }
.hero__title { font-size: 2.2rem; color: var(--primary-blue);}
.hero__description { font-size: 1.2rem; margin-bottom: 1.3rem; }
.hero__stats {
    display: flex; gap: 2.1rem; margin-bottom: 1.7rem;
}
.stat__number { font-size: 1.9rem; color: var(--primary-blue); font-weight: bold;}
.stat__label { color: var(--text-light);}
.hero__buttons { display: flex; gap: 1rem; }
.hero__image img { max-width: 355px; width: 100%; border-radius: var(--radius); box-shadow: 0 4px 16px rgba(44,82,130,0.06); }
@media (max-width: 900px) {
    .hero__container { flex-direction: column; align-items: flex-start;}
    .hero__image img { max-width: 100%; }
    .hero { padding: 90px 0 40px; }
}
@media (max-width: 600px) {
    .hero { padding-top: 80px; }
    .hero__content h1, .hero__title { font-size: 1.4rem; }
}

/* About Section & Slideshow */
.about { background: var(--light-gray); padding: 70px 0; }
.about__container { display: flex; flex-wrap: wrap; gap: 2.1rem;}
.about__content { flex: 1 1 420px; }
.about__features { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 1.2rem; margin-top: 1.5rem;}
.feature { display: flex; gap: 0.7rem; }
.feature__icon { font-size: 2rem; }
.feature__content h3 { font-size: 1.1rem; margin-bottom: 0.35rem; color: var(--primary-teal);}
.about__images {
    position: relative;
    max-width: 480px;
    width: 100%;
    margin-top: 1.8rem;
    border-radius: var(--radius);
    overflow: hidden;
}
.slide {
    display: none;
    width: 100%;
    border-radius: var(--radius);
    box-shadow: 0 3px 16px rgba(44, 82,130,0.07);
}
.slide[style*="block"], .slide.active { display: block; }
.slideshow-controls {
    position: absolute; top: 50%; left:0; right:0;
    display: flex; justify-content: space-between;
    transform: translateY(-50%);
    pointer-events: none;
}
.control-btn {
    background: rgba(44,82,130,0.63);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 34px; height: 34px;
    cursor: pointer;
    pointer-events: all;
    font-size: 1.5rem;
    display: flex; justify-content: center; align-items: center;
    font-weight: bold;
    transition: background 0.24s;
}
.control-btn:focus, .control-btn:hover {
    background: rgba(44,82,130,0.9);
}
@media (max-width:900px) {
    .about__container { flex-direction: column;}
    .about__images { max-width: 100%; }
}
/* Services Section */
.services { padding: 70px 0; }
.services__header { text-align: center; margin-bottom: 36px;}
.services__title, .services__header .section__title { color: var(--primary-blue);}
.services__grid {
    display: grid; gap: 2rem;
    grid-template-columns: repeat(auto-fit,minmax(294px,1fr));
}
.service {
    background: var(--white);
    padding: 2rem; border-radius: var(--radius);
    box-shadow: 0 5px 22px rgba(44,82,130,0.07);
    text-align: center;
    transition: box-shadow var(--transition), transform var(--transition);
}
.service__icon { font-size: 2.4rem; margin-bottom: 1rem;}
.service__title { color: var(--primary-teal);}
.service__features  { list-style: none; margin: 16px 0; }
.service__features li { margin-bottom: 0.44rem; color: var(--text-light);}
.service__features li:before { content:"✓ "; color: var(--primary-blue); }
.service__btn { color: var(--primary-blue); text-decoration: none; border-bottom: 1.5px solid transparent; transition: border-color var(--transition);}
.service__btn:hover { border-bottom: 1.5px solid var(--primary-blue);}
.service:hover { box-shadow: 0 12px 38px rgba(44,82,130,0.09); transform: translateY(-4px);}
@media (max-width:600px) {.services__grid {grid-template-columns: 1fr;}}

/* Doctor Section */
.doctor { background: var(--light-gray); padding: 70px 0;}
.doctor__container { display: flex; gap: 2.8rem; flex-wrap: wrap;}
.doctor__content { flex: 1 1 370px;}
.doctor__designation { color: var(--primary-teal);font-weight:600;margin-bottom:1rem;}
.doctor__stats { display: flex; gap: 2rem; margin:20px 0;}
.doctor__stat { text-align: center;}
.doctor__specializations { margin: 1.3rem 0;}
.doctor__specializations ul { list-style: none; padding:0;}
.doctor__specializations li { margin-bottom: 0.4rem; color: var(--text-light);}
.doctor__specializations li:before { content: "● "; color: var(--primary-blue); margin-right:0.3em;}
.doctor__image img { max-width: 210px; width: 100%; border-radius: var(--radius);}
@media (max-width:900px) { .doctor__container {flex-direction: column;} .doctor__image img {max-width: 100%; } }

/* Results Section */
.results { padding: 70px 0; }
.results__header { text-align: center; margin-bottom: 32px;}
.results__image { text-align: center;}
.results__image img {width:100%;max-width:540px; border-radius: var(--radius); box-shadow: 0 8px 20px rgba(44,82,130,0.10);}

/* Reviews Section */
.reviews { background: var(--light-gray); padding:70px 0;}
.reviews__header { text-align: center; margin-bottom: 38px;}
.reviews__grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(300px,1fr)); gap:1.8rem;}
.review { background: var(--white); border-radius: var(--radius); padding:1.8rem; box-shadow:0 3px 16px rgba(44,82,130,0.06);}
.review__rating { font-size: 1.1rem; color: #FFA500; margin-bottom: 4px;}
.review__text { font-style: italic; color: var(--text-dark);}
.review__author strong { color: var(--primary-blue);}
.review__author span { color: var(--text-light); font-size: 0.97em; }

/* Contact Section */
.contact { padding:70px 0;}
.contact__header { text-align:center; margin-bottom:32px;}
.contact__content { display: flex; flex-wrap: wrap; gap: 2.1rem;}
.contact__info { flex: 1 1 320px;}
.contact__item { display: flex; align-items: flex-start; gap:0.65rem; margin-bottom:1.3rem;}
.contact__icon { font-size: 1.4rem; }
.contact__details a { color: var(--primary-blue); text-decoration:none;}
.contact__details a:hover { text-decoration:underline;}
.form { background: var(--light-gray); padding:2rem; border-radius: var(--radius); flex: 1 1 340px; }
.form__group { margin-bottom:1.3rem; }
.form__input, .form select, .form textarea {
    width: 100%; padding: 0.75rem; border-radius: var(--radius);
    font-size:1rem; border: 2px solid var(--medium-gray);
    transition: border var(--transition);
    font-family: inherit;
    background: var(--white);
}
.form__input:focus, .form select:focus, .form textarea:focus{ border-color: var(--primary-blue);}
.btn--full { width: 100%; }
@media (max-width:900px) { .contact__content {flex-direction: column;}}

/* Footer */
.footer { background: var(--text-dark); color: var(--white); padding: 3rem 0 1rem; }
.footer__container { }
.footer__content { display: flex; flex-wrap: wrap; gap: 2.0rem; justify-content: space-between; }
.footer__brand h3 { color: var(--primary-teal);}
.footer__links ul, .footer__services ul { list-style: none;}
.footer__links a { color: var(--white); text-decoration:none; transition:color .2s;}
.footer__links a:hover { color: var(--primary-teal);}
.footer__contact a { color: var(--primary-teal); }
.footer__bottom { text-align: center; margin-top: 1.7rem; border-top: 1px solid var(--medium-gray); padding-top: 1rem; color: var(--text-light);}
@media (max-width:900px) { .footer__content {flex-direction: column;align-items: flex-start;}}

/* Accessibility */
.btn:focus,.nav__link:focus,.form__input:focus { outline: 2px solid var(--primary-blue); outline-offset: 2px;}
/* Slideshow Accessibility fix */
.about__images:focus-within .control-btn { outline: 2px solid var(--accent-blue);}