/* ==================================================
   01. DESIGN VARIABLES / COLOR THEME
================================================== */

:root {
    --primary:#0b6ea8;
    --primary-dark:#07527f;
    --accent:#23b6c8;
    --accent-soft:#dff8fb;
    --ink:#17364d;
    --muted:#647b8d;
    --surface:#ffffff;
    --soft:#f4fbff;
    --soft2:#eef8fc;
    --line:#dcecf3;
    --shadow:0 18px 45px rgba(22,78,112,.10);
    --radius:28px
}

/* ==================================================
   02. GLOBAL RESET & BASE STYLES
================================================== */

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    font-family:Inter,Segoe UI,Arial,sans-serif;
    color:var(--ink);
    background:#fff;
    line-height:1.7
}

.v2-container {
    width:min(1180px,calc(100% - 40px));
    margin:auto
}

a {
    text-decoration:none;
    color:inherit
}

/* ==================================================
   03. TOP CONTACT BAR
================================================== */

.v2-topbar {
    background:#083e61;
    color:#eaf8ff;
    font-size:13px
}

.v2-topbar-inner {
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px
}

.v2-top-left,.v2-socials {
    display:flex;
    align-items:center;
    gap:18px
}

.v2-top-left a,.v2-socials a {
    opacity:.92;
    transition:.25s
}

.v2-top-left a:hover,.v2-socials a:hover {
    opacity:1;
    color:#fff
}

.v2-top-left i {
    margin-right:6px;
    color:#84e5ef
}

.v2-socials a {
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.18);
    border-radius:50%
}

/* ==================================================
   04. HEADER, LOGO & NAVIGATION
================================================== */

.v2-header {
    position:sticky;
    top:0;
    z-index:999;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(14px);
    box-shadow:0 8px 25px rgba(19,72,100,.07)
}

.v2-header-inner {
    height:82px;
    display:flex;
    align-items:center;
    gap:20px
}

.v2-logo {
    flex:0 0 auto
}

.v2-logo img {
    height:61px;
    width:auto;
    display:block
}

.v2-main-nav {
    display:flex;
    align-items:center;
    gap:3px;
    margin-left:auto
}

.v2-main-nav a {
    padding:12px 9px;
    border-radius:10px;
    font-size:13px;
    font-weight:700;
    color:#315267;
    white-space:nowrap;
    transition:.25s
}

.v2-main-nav a:hover,.v2-main-nav a.active {
    background:var(--soft2);
    color:var(--primary)
}

.v2-call-pill {
    display:flex;
    align-items:center;
    gap:8px;
    padding:12px 15px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    color:#fff;
    font-weight:800;
    font-size:13px;
    box-shadow:0 10px 24px rgba(11,110,168,.2)
}

.v2-info-bar {
    background:linear-gradient(90deg,#f3fbff,#ebf8fc);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line)
}

.v2-info-bar .v2-container {
    display:flex;
    justify-content:center;
    gap:6px;
    min-height:38px;
    align-items:center
}

.v2-info-bar a {
    font-size:12px;
    font-weight:700;
    color:#547082;
    padding:8px 13px;
    border-radius:999px;
    transition:.2s
}

.v2-info-bar a:hover,.v2-info-bar a.active {
    background:#fff;
    color:var(--primary);
    box-shadow:0 5px 15px rgba(20,89,130,.08)
}

.v2-menu-toggle,.v2-mobile-menu {
    display:none
}

/* ==================================================
   05. INNER PAGE HERO / BANNER
================================================== */

.v2-page-hero {
    position:relative;
    isolation:isolate;
    min-height:390px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#0e4a6c
}

.v2-page-hero:before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background-image:linear-gradient(90deg,rgba(5,50,78,.94) 0%,rgba(8,70,103,.78) 45%,rgba(10,80,111,.28) 100%),var(--hero);
    background-size:cover;
    background-position:center
}

.v2-page-hero:after {
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    border-radius:50%;
    border:95px solid rgba(255,255,255,.06);
    right:-190px;
    top:-230px;
    z-index:-1
}

.v2-page-hero-copy {
    max-width:760px;
    color:#fff;
    padding:75px 0
}

.v2-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:2px;
    font-weight:900;
    color:var(--primary)
}

.v2-eyebrow:before {
    content:"";
    width:24px;
    height:2px;
    background:currentColor
}

.v2-eyebrow.light {
    color:#9beef4
}

.v2-page-hero h1 {
    font-size:clamp(38px,6vw,68px);
    line-height:1.04;
    margin:12px 0 18px;
    letter-spacing:-2px
}

.v2-page-hero p {
    font-size:18px;
    max-width:680px;
    margin:0;
    color:#dceef6
}

.v2-breadcrumb {
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:25px;
    font-size:13px;
    color:#d2e6ef
}

.v2-breadcrumb a:hover {
    color:#fff
}

/* ==================================================
   06. COMMON SECTIONS, HEADINGS & GRIDS
================================================== */

.v2-section {
    padding:88px 0
}

.v2-section.alt {
    background:linear-gradient(180deg,#f7fcff 0,#eff9fd 100%)
}

.v2-section.compact {
    padding:65px 0
}

.v2-section-head {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:36px
}

.v2-section-head h2,.v2-title {
    font-size:clamp(32px,4vw,50px);
    line-height:1.12;
    letter-spacing:-1.3px;
    margin:8px 0 12px;
    color:#17374d
}

.v2-section-head p,.v2-lead {
    max-width:730px;
    color:var(--muted);
    margin:0
}

.v2-grid-2 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px
}

.v2-grid-3 {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px
}

.v2-grid-4 {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px
}

/* ==================================================
   07. CONTENT CARDS & MEDIA CARDS
================================================== */

.v2-card {
    background:#fff;
    border:1px solid var(--line);
    border-radius:24px;
    box-shadow:0 14px 35px rgba(21,77,111,.07);
    overflow:hidden;
    transition:transform .3s,box-shadow .3s,border-color .3s
}

.v2-card:hover {
    transform:translateY(-7px);
    box-shadow:0 25px 55px rgba(17,83,124,.14);
    border-color:#c6e7ef
}

.v2-card-media {
    height:230px;
    overflow:hidden;
    background:#e9f5fa
}

.v2-card-media img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s
}

.v2-card:hover .v2-card-media img {
    transform:scale(1.06)
}

.v2-card-body {
    padding:24px
}

.v2-card h3 {
    font-size:21px;
    line-height:1.25;
    margin:0 0 9px;
    color:#183e58
}

.v2-card p {
    margin:0;
    color:var(--muted);
    font-size:14.5px
}

.v2-card-link {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:17px;
    color:var(--primary);
    font-size:13px;
    font-weight:900
}

.v2-icon-card {
    padding:28px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:22px;
    box-shadow:0 12px 30px rgba(21,77,111,.06)
}

.v2-icon {
    width:58px;
    height:58px;
    border-radius:18px;
    background:linear-gradient(135deg,#e3f7fb,#eef7ff);
    display:grid;
    place-items:center;
    color:var(--primary);
    font-size:23px;
    margin-bottom:18px
}

.v2-icon-card h3 {
    margin:0 0 8px;
    font-size:20px
}

.v2-icon-card p {
    margin:0;
    color:var(--muted)
}

/* ==================================================
   08. ABOUT PAGE SECTIONS
================================================== */

.v2-about-split {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:55px;
    align-items:center
}

.v2-about-image {
    position:relative
}

.v2-about-image>img {
    width:100%;
    height:560px;
    object-fit:cover;
    border-radius:36px;
    box-shadow:var(--shadow)
}

.v2-doctor-badge {
    position:absolute;
    left:-20px;
    bottom:28px;
    background:#fff;
    border-radius:22px;
    box-shadow:var(--shadow);
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px 18px;
    max-width:340px
}

.v2-doctor-badge img {
    width:72px;
    height:72px;
    object-fit:cover;
    border-radius:18px
}

.v2-doctor-badge strong,.v2-doctor-badge span {
    display:block
}

.v2-doctor-badge span {
    font-size:12px;
    color:var(--muted)
}

.v2-copy p {
    color:var(--muted)
}

.v2-feature-list {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin:25px 0;
    padding:0;
    list-style:none
}

.v2-feature-list li {
    display:flex;
    align-items:center;
    gap:9px;
    font-weight:700;
    font-size:14px
}

.v2-feature-list i {
    width:27px;
    height:27px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#e2f7f9;
    color:#1294a2
}

/* ==================================================
   09. SHARED BUTTONS & ACTIONS
================================================== */

.v2-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:0;
    cursor:pointer;
    padding:14px 22px;
    border-radius:14px;
    font-weight:900;
    font-size:14px;
    transition:.25s
}

.v2-btn.primary {
    background:linear-gradient(135deg,var(--primary),var(--accent));
    color:#fff;
    box-shadow:0 12px 28px rgba(11,110,168,.2)
}

.v2-btn.primary:hover {
    transform:translateY(-2px);
    box-shadow:0 16px 34px rgba(11,110,168,.28)
}

.v2-btn.secondary {
    background:#eef8fc;
    color:var(--primary)
}

.v2-btn.outline {
    border:1px solid #b9dce8;
    color:var(--primary);
    background:#fff
}

.v2-actions {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:25px
}

.v2-mission-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    margin-top:38px
}

.v2-mission {
    padding:30px;
    border-radius:24px;
    background:linear-gradient(160deg,#fff,#f5fbfe);
    border:1px solid var(--line)
}

.v2-mission span {
    font-size:34px;
    color:var(--accent)
}

.v2-mission h3 {
    margin:12px 0 8px
}

.v2-mission p {
    margin:0;
    color:var(--muted)
}

/* ==================================================
   10. INFORMATION / STATS STRIP
================================================== */

.v2-info-strip {
    background:linear-gradient(135deg,#075988,#1595af);
    color:#fff;
    border-radius:30px;
    padding:34px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px
}

.v2-stat {
    text-align:center
}

.v2-stat strong {
    display:block;
    font-size:34px
}

.v2-stat span {
    font-size:13px;
    color:#d8f4f7
}

.v2-gallery {
    columns:4 230px;
    column-gap:18px
}

.v2-gallery a {
    display:block;
    break-inside:avoid;
    margin:0 0 18px;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 14px 34px rgba(15,72,105,.11);
    position:relative
}

.v2-gallery img {
    display:block;
    width:100%;
    height:auto;
    transition:.45s
}

.v2-gallery a:hover img {
    transform:scale(1.04)
}

.v2-gallery a:after {
    content:"\f00e";
    font-family:FontAwesome;
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    background:rgba(8,72,106,.0);
    color:transparent;
    font-size:28px;
    transition:.3s
}

.v2-gallery a:hover:after {
    background:rgba(8,72,106,.38);
    color:#fff
}

.v2-doc-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px
}

.v2-doc-card {
    padding:30px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:24px;
    box-shadow:0 14px 36px rgba(19,79,114,.07);
    display:flex;
    flex-direction:column;
    min-height:220px
}

.v2-doc-icon {
    width:56px;
    height:56px;
    border-radius:17px;
    display:grid;
    place-items:center;
    background:#e9f8fb;
    color:var(--primary);
    font-size:24px
}

.v2-doc-card h3 {
    margin:18px 0 7px
}

.v2-doc-card p {
    margin:0;
    color:var(--muted);
    font-size:14px
}

.v2-doc-card .v2-card-link {
    margin-top:auto;
    padding-top:22px
}

/* ==================================================
   11. POLICY & DOCUMENT PAGES
================================================== */

.v2-policy-layout {
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    gap:34px;
    align-items:start
}

.v2-policy-nav {
    position:sticky;
    top:150px;
    padding:20px;
    background:#f4fbff;
    border:1px solid var(--line);
    border-radius:22px
}

.v2-policy-nav a {
    display:block;
    padding:10px 12px;
    border-radius:10px;
    font-size:13px;
    font-weight:800;
    color:#537083
}

.v2-policy-nav a:hover {
    background:#fff;
    color:var(--primary)
}

.v2-policy-content {
    background:#fff;
    border:1px solid var(--line);
    border-radius:26px;
    padding:42px;
    box-shadow:0 16px 40px rgba(18,77,111,.07)
}

.v2-policy-content h2 {
    font-size:24px;
    margin:30px 0 12px;
    color:#17435f
}

.v2-policy-content h2:first-child {
    margin-top:0
}

.v2-policy-content p,.v2-policy-content li {
    color:#5a7485
}

.v2-policy-content li {
    margin-bottom:8px
}

/* ==================================================
   12. CONTACT & APPOINTMENT FORM
================================================== */

.v2-contact-grid {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:30px
}

.v2-contact-panel,.v2-form-card {
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    padding:35px;
    box-shadow:var(--shadow)
}

.v2-contact-panel {
    background:linear-gradient(150deg,#075984,#0f8fa7);
    color:#fff
}

.v2-contact-panel h2 {
    font-size:34px;
    line-height:1.15;
    margin-top:0
}

.v2-contact-panel p {
    color:#dff4f6
}

.v2-contact-row {
    display:flex;
    gap:14px;
    margin:24px 0
}

.v2-contact-row i {
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:rgba(255,255,255,.13);
    flex:0 0 auto
}

.v2-contact-row strong,.v2-contact-row a,.v2-contact-row span {
    display:block
}

.v2-contact-row span,.v2-contact-row a {
    font-size:14px;
    color:#e8f7fa
}

.v2-form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
}

.v2-field {
    display:flex;
    flex-direction:column;
    gap:7px
}

.v2-field.full {
    grid-column:1/-1
}

.v2-field label {
    font-size:13px;
    font-weight:900;
    color:#38586c
}

.v2-field input,.v2-field select,.v2-field textarea {
    width:100%;
    border:1px solid #d4e7ef;
    background:#f9fdff;
    border-radius:14px;
    padding:14px 15px;
    font:inherit;
    color:#234357;
    outline:none;
    transition:.2s
}

.v2-field textarea {
    min-height:120px;
    resize:vertical
}

.v2-field input:focus,.v2-field select:focus,.v2-field textarea:focus {
    border-color:#70cbd6;
    box-shadow:0 0 0 4px rgba(35,182,200,.1);
    background:#fff
}

.v2-form-note {
    font-size:12px;
    color:var(--muted);
    margin-top:12px
}

.v2-map {
    height:420px;
    border:0;
    width:100%;
    border-radius:28px;
    box-shadow:var(--shadow)
}

/* ==================================================
   13. CAREER PAGE
================================================== */

.v2-career-hero-card {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
    background:linear-gradient(145deg,#f3fbff,#e8f7fa);
    border:1px solid var(--line);
    border-radius:30px;
    padding:38px;
    align-items:center
}

.v2-career-hero-card img {
    width:100%;
    height:390px;
    object-fit:cover;
    border-radius:24px
}

.v2-benefits {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-top:30px
}

.v2-benefit {
    padding:22px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px
}

.v2-benefit i {
    font-size:24px;
    color:var(--accent)
}

.v2-benefit h4 {
    margin:10px 0 5px
}

.v2-benefit p {
    margin:0;
    color:var(--muted);
    font-size:13px
}

/* ==================================================
   14. BLOG PAGE
================================================== */

.v2-blog-featured {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    border:1px solid var(--line);
    border-radius:30px;
    overflow:hidden;
    background:#fff;
    box-shadow:var(--shadow)
}

.v2-blog-featured img {
    width:100%;
    height:100%;
    min-height:430px;
    object-fit:cover
}

.v2-blog-featured-copy {
    padding:45px;
    display:flex;
    flex-direction:column;
    justify-content:center
}

.v2-chip {
    display:inline-flex;
    align-self:flex-start;
    background:#e6f7fa;
    color:#0b8190;
    border-radius:999px;
    padding:7px 12px;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:1px
}

.v2-blog-featured h2 {
    font-size:38px;
    line-height:1.15;
    margin:16px 0
}

.v2-blog-featured p {
    color:var(--muted)
}

/* ==================================================
   15. AWARD & NEWS PAGES
================================================== */

.v2-award-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px
}

.v2-award-card {
    background:#fff;
    border:1px solid var(--line);
    border-radius:22px;
    padding:14px;
    box-shadow:0 14px 34px rgba(14,70,102,.08)
}

.v2-award-card img {
    width:100%;
    height:360px;
    object-fit:contain;
    background:#f7fbfd;
    border-radius:15px
}

.v2-award-card span {
    display:block;
    padding:14px 4px 3px;
    text-align:center;
    font-weight:800;
    color:#3a5d72
}

.v2-news-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:26px
}

.v2-news-card {
    background:#fff;
    border:1px solid var(--line);
    border-radius:24px;
    padding:15px;
    box-shadow:var(--shadow)
}

.v2-news-card img {
    width:100%;
    height:480px;
    object-fit:contain;
    background:#f6fbfd;
    border-radius:17px
}

.v2-news-card h3 {
    padding:10px 8px 0;
    margin:0
}

/* ==================================================
   16. CALL TO ACTION SECTION
================================================== */

.v2-cta {
    padding:40px 0 90px
}

.v2-cta-box {
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#075780,#1596aa);
    border-radius:32px;
    padding:42px 46px;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px
}

.v2-cta-box:after {
    content:"";
    position:absolute;
    width:240px;
    height:240px;
    border:55px solid rgba(255,255,255,.08);
    border-radius:50%;
    right:-70px;
    top:-110px
}

.v2-cta-box h2 {
    font-size:34px;
    line-height:1.15;
    margin:0 0 8px
}

.v2-cta-box p {
    margin:0;
    color:#d9f2f5;
    max-width:690px
}

.v2-cta-box .v2-btn {
    position:relative;
    z-index:2;
    background:#fff;
    color:var(--primary);
    white-space:nowrap
}

/* ==================================================
   17. FOOTER & FLOATING BUTTONS
================================================== */

.v2-footer {
    background:#082e46;
    color:#d9ebf4;
    padding:68px 0 20px
}

.v2-footer-grid {
    display:grid;
    grid-template-columns:1.35fr 1fr 1fr 1.2fr;
    gap:40px
}

.v2-footer-brand img {
    height:70px;
    background:#fff;
    padding:7px 12px;
    border-radius:14px
}

.v2-footer p {
    font-size:14px;
    color:#aecaD7;
    max-width:330px
}

.v2-footer h4 {
    color:#fff;
    margin:0 0 17px
}

.v2-footer ul {
    list-style:none;
    padding:0;
    margin:0
}

.v2-footer li {
    margin:8px 0;
    font-size:13px;
    color:#bcd4df
}

.v2-footer a:hover {
    color:#fff
}

.v2-footer-socials {
    display:flex;
    gap:9px
}

.v2-footer-socials a {
    width:38px;
    height:38px;
    border-radius:12px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.07)
}

.v2-contact-list li {
    display:flex;
    gap:10px
}

.v2-contact-list i {
    color:#72d9e4;
    margin-top:4px
}

.v2-footer-bottom {
    border-top:1px solid rgba(255,255,255,.1);
    margin-top:44px;
    padding-top:20px;
    display:flex;
    justify-content:space-between;
    font-size:12px;
    color:#88aaba
}

.v2-float-call,.v2-float-wa {
    position:fixed;
    right:20px;
    width:50px;
    height:50px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    z-index:990;
    box-shadow:0 10px 25px rgba(0,0,0,.18);
    font-size:20px
}

.v2-float-call {
    bottom:82px;
    background:#0b6ea8
}

.v2-float-wa {
    bottom:20px;
    background:#1fb95d
}

/* ==================================================
   18. SCROLL REVEAL ANIMATION
================================================== */

.v2-reveal {
    opacity:0;
    transform:translateY(24px);
    transition:opacity .75s ease,transform .75s ease
}

.v2-reveal.is-visible {
    opacity:1;
    transform:none
}

/* ==================================================
   19. LEGACY DETAIL / SERVICE PAGE COMPATIBILITY
================================================== */

body.v2-legacy {
    background:#f8fcfe
}

.v2-legacy .about,.v2-legacy .services,.v2-legacy .gallery,.v2-legacy .contact,.v2-legacy .blog {
    padding:65px 0!important;
    background:transparent!important
}

.v2-legacy .container {
    max-width:1180px!important;
    width:calc(100% - 40px)!important
}

.v2-legacy .about-left,.v2-legacy .about-right,.v2-legacy .service-left,.v2-legacy .service-right,.v2-legacy .contact-grid {
    background:#fff;
    border:1px solid var(--line);
    border-radius:24px;
    padding:26px;
    box-shadow:0 16px 36px rgba(18,74,106,.07)
}

.v2-legacy h1,.v2-legacy h2,.v2-legacy h3,.v2-legacy h4,.v2-legacy h5 {
    color:#173f59!important
}

.v2-legacy p,.v2-legacy li {
    color:#5f7787!important;
    line-height:1.75
}

.v2-legacy img {
    max-width:100%;
    height:auto
}

.v2-legacy .banner,.v2-legacy .banner-1 {
    margin:0!important
}

.v2-legacy .gallery-left,.v2-legacy .g-left {
    border-radius:18px;
    overflow:hidden
}

.v2-legacy #toTop {
    display:none!important
}

/* ==================================================
   20. TABLET & SMALL DESKTOP RESPONSIVE CSS
================================================== */

@media(max-width:1180px) {
    .v2-main-nav {
        display:none
    }

    .v2-call-pill {
        margin-left:auto
    }

    .v2-menu-toggle {
        display:flex;
        width:46px;
        height:46px;
        border:0;
        background:#eef8fc;
        border-radius:13px;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        gap:5px;
        cursor:pointer
    }

    .v2-menu-toggle span {
        width:21px;
        height:2px;
        background:#16445f;
        transition:.25s
    }

    .v2-mobile-menu {
        display:none;
        position:absolute;
        left:0;
        right:0;
        top:120px;
        background:#fff;
        padding:18px 20px 24px;
        box-shadow:0 22px 40px rgba(15,64,91,.15);
        max-height:calc(100vh - 140px);
        overflow:auto
    }

    .v2-mobile-menu.open {
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:6px
    }

    .v2-mobile-menu a {
        padding:12px 14px;
        border-radius:10px;
        font-weight:800;
        font-size:14px;
        color:#35576b;
        background:#f8fcfe
    }

    .v2-mobile-menu a.active {
        color:var(--primary);
        background:#e9f7fb
    }

    .v2-mobile-call {
        grid-column:1/-1!important;
        background:linear-gradient(135deg,var(--primary),var(--accent))!important;
        color:#fff!important;
        text-align:center
    }

    .v2-info-bar {
        display:none
    }

    .v2-header-inner {
        height:78px
    }

    .v2-mobile-menu {
        top:78px
    }

    .v2-grid-4 {
        grid-template-columns:repeat(2,1fr)
    }

    .v2-footer-grid {
        grid-template-columns:repeat(2,1fr)
    }

    .v2-benefits {
        grid-template-columns:repeat(2,1fr)
    }

}

/* ==================================================
   21. MOBILE RESPONSIVE CSS
================================================== */

@media(max-width:760px) {
    .v2-container {
        width:min(100% - 28px,1180px)
    }

    .v2-topbar {
        display:none
    }

    .v2-logo img {
        height:54px
    }

    .v2-call-pill span {
        display:none
    }

    .v2-call-pill {
        width:43px;
        height:43px;
        padding:0;
        justify-content:center
    }

    .v2-mobile-menu.open {
        grid-template-columns:1fr
    }

    .v2-page-hero {
        min-height:330px
    }

    .v2-page-hero-copy {
        padding:55px 0
    }

    .v2-page-hero h1 {
        font-size:42px
    }

    .v2-page-hero p {
        font-size:16px
    }

    .v2-section {
        padding:65px 0
    }

    .v2-grid-2,.v2-grid-3,.v2-grid-4,.v2-about-split,.v2-contact-grid,.v2-policy-layout,.v2-career-hero-card,.v2-blog-featured,.v2-news-grid {
        grid-template-columns:1fr
    }

    .v2-section-head {
        display:block
    }

    .v2-card-media {
        height:220px
    }

    .v2-about-image>img {
        height:430px
    }

    .v2-doctor-badge {
        left:14px;
        right:14px;
        bottom:14px
    }

    .v2-feature-list {
        grid-template-columns:1fr
    }

    .v2-mission-grid,.v2-doc-grid,.v2-award-grid {
        grid-template-columns:1fr
    }

    .v2-info-strip {
        grid-template-columns:repeat(2,1fr)
    }

    .v2-policy-nav {
        display:none
    }

    .v2-policy-content {
        padding:26px
    }

    .v2-form-grid {
        grid-template-columns:1fr
    }

    .v2-field.full {
        grid-column:auto
    }

    .v2-benefits {
        grid-template-columns:1fr 1fr
    }

    .v2-blog-featured img {
        min-height:280px
    }

    .v2-blog-featured-copy {
        padding:28px
    }

    .v2-blog-featured h2 {
        font-size:31px
    }

    .v2-award-card img {
        height:auto
    }

    .v2-news-card img {
        height:auto
    }

    .v2-cta-box {
        padding:32px;
        display:block
    }

    .v2-cta-box .v2-btn {
        margin-top:22px
    }

    .v2-footer-grid {
        grid-template-columns:1fr
    }

    .v2-footer-bottom {
        display:block
    }

    .v2-footer-bottom span {
        display:block;
        margin:5px 0
    }

    .v2-float-call,.v2-float-wa {
        right:14px
    }

    .v2-float-call {
        bottom:76px
    }

    .v2-float-wa {
        bottom:16px
    }

    .v2-legacy .container {
        width:calc(100% - 28px)!important
    }

}

/* ==================================================
   22. SMALL MOBILE RESPONSIVE CSS
================================================== */

@media(max-width:480px) {
    .v2-page-hero h1 {
        font-size:36px
    }

    .v2-info-strip {
        grid-template-columns:1fr 1fr;
        padding:24px 14px
    }

    .v2-benefits {
        grid-template-columns:1fr
    }

    .v2-gallery {
        columns:2 140px
    }

    .v2-card-body {
        padding:20px
    }

}

/* ==================================================
   24. APPOINTMENT HEADER CTA BUTTON ANIMATION
   Keeps the standalone Appointment button prominent
   after removing Appointment from the regular menu.
================================================== */

.v2-call-pill {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-width: 154px;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.32);
    box-shadow: 0 12px 28px rgba(11,110,168,.24);
    transition: transform .28s ease, box-shadow .28s ease, filter .28s ease;
    animation: v2AppointmentFloat 3.6s ease-in-out infinite;
}

.v2-call-pill::before {
    content: "";
    position: absolute;
    top: -45%;
    left: -65%;
    width: 38%;
    height: 190%;
    z-index: -1;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
    transform: rotate(18deg);
    animation: v2AppointmentShine 4.6s ease-in-out infinite;
}

.v2-call-pill::after {
    content: "";
    position: absolute;
    inset: 3px;
    z-index: -2;
    border-radius: inherit;
    border: 1px solid rgba(255,255,255,.16);
}

.v2-call-pill i,
.v2-call-pill span {
    position: relative;
    z-index: 2;
}

.v2-call-pill i {
    transition: transform .28s ease;
}

.v2-call-pill:hover {
    color: #fff;
    transform: translateY(-3px) scale(1.025);
    box-shadow: 0 17px 36px rgba(11,110,168,.32);
    filter: saturate(1.08);
}

.v2-call-pill:hover i {
    transform: rotate(-8deg) scale(1.1);
}

@keyframes v2AppointmentFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}

@keyframes v2AppointmentShine {
    0%, 58% { left: -65%; opacity: 0; }
    64% { opacity: 1; }
    82% { left: 125%; opacity: 0; }
    100% { left: 125%; opacity: 0; }
}

/* ==================================================
   25. APPOINTMENT PAGE - COMPACT BOOKING CARD LAYOUT
================================================== */

.v2-appointment-booking-section {
    padding: 56px 0 66px;
}

.v2-appointment-booking-grid {
    max-width: 1080px;
    margin: 0 auto;
    grid-template-columns: .72fr 1.28fr;
    gap: 22px;
    align-items: start;
}

.v2-appointment-info-card {
    padding: 28px;
    border-radius: 24px;
    box-shadow: 0 20px 45px rgba(8,83,124,.16);
}

.v2-appointment-info-card h2 {
    margin: 8px 0 12px;
    font-size: 28px;
    line-height: 1.2;
}

.v2-appointment-info-card p {
    margin-bottom: 18px;
    font-size: 14px;
    line-height: 1.7;
}

.v2-appointment-info-card .v2-contact-row {
    margin: 16px 0 0;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,.15);
}

.v2-appointment-info-card .v2-contact-row i {
    width: 40px;
    height: 40px;
    border-radius: 12px;
}

.v2-appointment-form-card {
    padding: 27px 30px 28px;
    border-radius: 24px;
    border: 1px solid #d8ebf2;
    box-shadow: 0 22px 54px rgba(21,83,118,.12);
}

.v2-appointment-form-card > h2 {
    margin: 7px 0 4px;
    font-size: 29px;
    line-height: 1.2;
}

.v2-appointment-form-intro {
    margin: 0 0 18px;
    color: var(--muted);
    font-size: 13px;
}

.v2-appointment-form-card .v2-form-grid {
    gap: 12px 14px;
}

.v2-appointment-form-card .v2-field {
    gap: 5px;
}

.v2-appointment-form-card .v2-field label {
    font-size: 12px;
}

.v2-appointment-form-card .v2-field input,
.v2-appointment-form-card .v2-field select,
.v2-appointment-form-card .v2-field textarea {
    padding: 11px 13px;
    border-radius: 11px;
    font-size: 14px;
}

.v2-appointment-form-card .v2-field textarea {
    min-height: 78px;
}


.v2-appointment-form-card .appointment-submit-btn {
    width: 100%;
    min-height: 48px;
    justify-content: center;
    border-radius: 13px;
}

.v2-appointment-form-card .v2-form-note {
    margin-top: 8px;
    text-align: center;
    font-size: 11px;
}

@media(max-width: 900px) {
    .v2-appointment-booking-grid {
        grid-template-columns: 1fr;
        max-width: 760px;
    }

    .v2-appointment-info-card,
    .v2-appointment-form-card {
        width: 100%;
    }
}

@media(max-width: 760px) {
    .v2-call-pill {
        min-width: 43px;
        animation: none;
    }

    .v2-appointment-booking-section {
        padding: 42px 0 50px;
    }

    .v2-appointment-info-card,
    .v2-appointment-form-card {
        padding: 22px 18px;
        border-radius: 20px;
    }

    .v2-appointment-form-card > h2 {
        font-size: 26px;
    }
}


/* ==================================================
   24. CLICKABLE NAVIGATION DROPDOWNS
   Specialities, Facilities & Biomedical Waste
================================================== */

/* Desktop dropdown wrappers */
.v2-nav-dropdown,
.v2-info-dropdown {
    position: relative;
    display: flex;
    align-items: center;
}

.v2-main-nav .v2-dropdown-trigger,
.v2-info-bar .v2-dropdown-trigger {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.v2-dropdown-arrow {
    display: inline-block;
    font-size: 11px;
    line-height: 1;
    transition: transform .25s ease;
    transform-origin: center;
}

.v2-nav-dropdown.open > .v2-dropdown-trigger .v2-dropdown-arrow,
.v2-info-dropdown.open > .v2-dropdown-trigger .v2-dropdown-arrow {
    transform: rotate(180deg);
}

/* Desktop dropdown panel */
.v2-dropdown-menu {
    position: absolute;
    left: 0;
    top: calc(100% + 10px);
    z-index: 1100;
    width: max-content;
    min-width: 245px;
    max-width: 340px;
    max-height: min(68vh, 560px);
    overflow-y: auto;
    padding: 8px;
    border: 1px solid rgba(24, 86, 119, .12);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(17, 65, 92, .18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.v2-nav-dropdown.open > .v2-dropdown-menu,
.v2-info-dropdown.open > .v2-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

/* Invisible hover bridge prevents menu from closing while moving cursor */
.v2-dropdown-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -12px;
    height: 12px;
}

.v2-main-nav .v2-dropdown-menu a,
.v2-info-bar .v2-dropdown-menu a {
    display: block;
    width: 100%;
    padding: 10px 12px;
    margin: 0;
    border-radius: 8px;
    background: transparent;
    box-shadow: none;
    color: #334f60;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    white-space: normal;
    text-align: left;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}

.v2-main-nav .v2-dropdown-menu a:hover,
.v2-main-nav .v2-dropdown-menu a.active,
.v2-info-bar .v2-dropdown-menu a:hover,
.v2-info-bar .v2-dropdown-menu a.active {
    background: #eaf7fb;
    color: var(--primary);
    transform: translateX(3px);
}

/* Biomedical Waste dropdown is centered below the info-bar item */
.v2-info-dropdown .v2-dropdown-menu {
    left: 50%;
    transform: translate(-50%, 10px);
    min-width: 190px;
}

.v2-info-dropdown.open > .v2-dropdown-menu {
    transform: translate(-50%, 0);
}

/* Mobile / tablet accordion dropdowns */
.v2-mobile-dropdown {
    min-width: 0;
}

.v2-mobile-dropdown-head {
    display: flex;
    align-items: stretch;
    gap: 4px;
    min-width: 0;
}

.v2-mobile-menu .v2-mobile-dropdown-link {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
}

.v2-mobile-dropdown-toggle {
    flex: 0 0 44px;
    width: 44px;
    min-height: 44px;
    border: 0;
    border-radius: 10px;
    background: #eef8fc;
    color: #315267;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: background .2s ease, color .2s ease;
}

.v2-mobile-dropdown-toggle:hover,
.v2-mobile-dropdown-toggle:focus-visible {
    background: #dff2f8;
    color: var(--primary);
    outline: none;
}

.v2-mobile-chevron {
    display: block;
    font-size: 20px;
    line-height: 1;
    transition: transform .25s ease;
}

.v2-mobile-dropdown.open .v2-mobile-chevron {
    transform: rotate(180deg);
}

.v2-mobile-submenu {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows .28s ease, opacity .22s ease, margin .28s ease;
    margin-top: 0;
}

.v2-mobile-submenu > * {
    overflow: hidden;
}

/* Wrapper used to animate the list without fixed heights */
.v2-mobile-dropdown.open .v2-mobile-submenu {
    grid-template-rows: 1fr;
    opacity: 1;
    margin-top: 6px;
}

/* Because submenu contains links directly, switch to normal display when open */
.v2-mobile-dropdown .v2-mobile-submenu {
    overflow: hidden;
}

.v2-mobile-dropdown.open .v2-mobile-submenu {
    display: grid;
}

.v2-mobile-menu .v2-mobile-submenu a {
    position: relative;
    padding: 10px 12px 10px 28px;
    margin-top: 3px;
    border-radius: 9px;
    background: #f3f9fc;
    color: #476373;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.35;
}

.v2-mobile-menu .v2-mobile-submenu a::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--accent);
    transform: translateY(-50%);
}

.v2-mobile-menu .v2-mobile-submenu a:hover,
.v2-mobile-menu .v2-mobile-submenu a.active {
    background: #e6f5fa;
    color: var(--primary);
}

.v2-mobile-dropdown.active > .v2-mobile-dropdown-head .v2-mobile-dropdown-link {
    color: var(--primary);
    background: #e9f7fb;
}

@media (max-width: 1180px) {
    .v2-mobile-dropdown {
        width: 100%;
    }

    .v2-mobile-dropdown.open {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .v2-mobile-dropdown,
    .v2-mobile-dropdown.open {
        grid-column: 1 / -1;
    }

    .v2-mobile-menu .v2-mobile-submenu a {
        padding-top: 11px;
        padding-bottom: 11px;
    }
}

/* Mobile submenu height animation override */
.v2-mobile-submenu {
    display: block;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    margin-top: 0;
    transition: max-height .35s ease, opacity .22s ease, margin .25s ease;
}

.v2-mobile-dropdown.open .v2-mobile-submenu {
    display: block;
    max-height: 900px;
    opacity: 1;
    margin-top: 6px;
}


/* ==================================================
   25. CLICK-ONLY DROPDOWN TOGGLE REFINEMENTS
   Parent items are buttons only; they do not open category pages.
================================================== */

/* Make desktop dropdown buttons visually identical to normal navigation links */
.v2-main-nav .v2-dropdown-trigger,
.v2-info-bar .v2-dropdown-trigger {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    margin: 0;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
}

.v2-main-nav .v2-dropdown-trigger {
    padding: 12px 9px;
    border-radius: 10px;
    background: transparent;
    color: #315267;
    font-size: 13px;
    font-weight: 700;
    transition: background .25s ease, color .25s ease;
}

.v2-main-nav .v2-dropdown-trigger:hover,
.v2-main-nav .v2-dropdown-trigger:focus-visible,
.v2-main-nav .v2-dropdown-trigger.active,
.v2-nav-dropdown.open > .v2-dropdown-trigger {
    background: var(--soft2);
    color: var(--primary);
    outline: none;
}

.v2-info-bar .v2-dropdown-trigger {
    padding: 8px 13px;
    border-radius: 999px;
    background: transparent;
    color: #547082;
    font-size: 12px;
    font-weight: 700;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.v2-info-bar .v2-dropdown-trigger:hover,
.v2-info-bar .v2-dropdown-trigger:focus-visible,
.v2-info-bar .v2-dropdown-trigger.active,
.v2-info-dropdown.open > .v2-dropdown-trigger {
    background: #fff;
    color: var(--primary);
    box-shadow: 0 5px 15px rgba(20, 89, 130, .08);
    outline: none;
}

/* The whole mobile category row is now one clickable toggle button */
.v2-mobile-menu .v2-mobile-dropdown-toggle.v2-mobile-dropdown-link {
    flex: 1 1 auto;
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    text-align: left;
    background: #eef8fc;
    color: #315267;
    font-size: 14px;
    font-weight: 700;
}

.v2-mobile-menu .v2-mobile-dropdown-toggle.v2-mobile-dropdown-link:hover,
.v2-mobile-menu .v2-mobile-dropdown-toggle.v2-mobile-dropdown-link:focus-visible,
.v2-mobile-dropdown.open > .v2-mobile-dropdown-head .v2-mobile-dropdown-toggle.v2-mobile-dropdown-link,
.v2-mobile-dropdown.active > .v2-mobile-dropdown-head .v2-mobile-dropdown-toggle.v2-mobile-dropdown-link {
    background: #e6f5fa;
    color: var(--primary);
    outline: none;
}

.v2-mobile-menu .v2-mobile-dropdown-toggle.v2-mobile-dropdown-link .v2-mobile-chevron {
    flex: 0 0 auto;
}

.blog-detail{max-width:980px;margin:0 auto}.blog-detail-image{width:100%;max-height:520px;object-fit:cover;border-radius:18px;margin-bottom:28px}.blog-detail-content{font-size:17px;line-height:1.8}.blog-detail-content h2,.blog-detail-content h3{margin-top:30px}.blog-detail-content ul,.blog-detail-content ol{padding-left:24px}
