/* ==========================================================================
   The Calcutta Heart Clinic & Hospital Society - Comprehensive Stylesheet
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. CSS Variables & Reset
   -------------------------------------------------------------------------- */
:root {
    --primary-maroon: #8D0020;
    --primary-maroon-dark: #490e18;
    --primary-maroon-light: #7a1b2b;
    --primary-red: #d8232a;
    --primary-red-hover: #b81b21;
    --accent-blue: #1968B3;
    --accent-blue-light: #e0f2fe;
    --bg-cream: #FDF7ED;
    --text-dark: #111111;
    --text-muted: #596573;
    --text-light: #8e9aab;
    --bg-light: #F7F7F7;
    --bg-surface: #ffffff;
    --border-color: #e5e9ef;
    --border-radius-sm: 8px;
    --border-radius-md: 14px;
    --border-radius-lg: 20px;
    --border-radius-pill: 50px;
    --shadow-subtle: 0 4px 20px rgba(0, 0, 0, 0.05);
    --shadow-card: 0 10px 30px rgba(0, 0, 0, 0.08);
    --transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    --font-heading: 'Poppins', sans-serif;
    --font-body: 'Roboto', sans-serif;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--font-body);
    color: var(--text-dark);
    background-color: var(--bg-surface);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    color: var(--text-dark);
    font-weight: 700;
    line-height: 1.25;
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

ul,
ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* --------------------------------------------------------------------------
   2. Common Utilities & Components
   -------------------------------------------------------------------------- */
.highlight-maroon {
    color: var(--primary-maroon);
}

.text-highlight {
    color: var(--primary-red);
}

/* Section Headers */
.section-header-center {
    text-align: center;
    margin-bottom: 45px;
}

.section-header-left {
    text-align: left;
    margin-bottom: 40px;
}

.section-header-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 40px;
}

.section-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--accent-blue);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border-radius: var(--border-radius-pill);
    margin-bottom: 14px;
}

.section-badge .badge-icon {
    width: 14px;
    height: 14px;
    object-fit: contain;
}

.section-badge.badge-light {
    color: #ffffff;
}

.section-main-title {
    font-size: 38px;
    font-weight: 800;
    color: var(--text-dark);
    letter-spacing: -0.5px;
}

/* Button System */
.btn-maroon-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: var(--primary-maroon);
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 600;
    padding: 12px 28px;
    border-radius: var(--border-radius-pill);
    border: none;
    transition: var(--transition);
}

.btn-maroon-pill:hover {
    background-color: var(--primary-red);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(216, 35, 42, 0.3);
}

.btn-pill-white {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: #ffffff;
    color: var(--text-dark);
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 600;
    padding: 10px 22px;
    border-radius: var(--border-radius-pill);
    border: none;
    box-shadow: var(--shadow-subtle);
    transition: var(--transition);
}

.btn-pill-white:hover {
    background-color: var(--primary-red);
    color: #ffffff;
    transform: translateY(-2px);
}

.arrow-inline {
    width: 16px;
    height: auto;
    transition: var(--transition);
}

.arrow-inline-white {
    width: 18px;
    height: auto;
    filter: brightness(0) invert(1);
    transition: var(--transition);
}

a:hover .arrow-inline,
button:hover .arrow-inline {
    transform: translateX(4px);
}

a:hover .arrow-inline-white,
button:hover .arrow-inline-white {
    transform: translateX(4px);
}

/* Tab Switcher Pills */
.tab-switcher-pills {
    display: inline-flex;
    align-items: center;
    border-radius: var(--border-radius-pill);
    margin-top: 20px;
    gap: 6px;
}

.tab-pill-btn {
    border: none;
    background: transparent;
    padding: 8px 24px;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 600;
    color: var(--text-muted);
    border-radius: var(--border-radius-pill);
    cursor: pointer;
    transition: var(--transition);
}

.tab-pill-btn.active {
    background-color: var(--primary-maroon);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(95, 19, 32, 0.25);
}

/* Filter Pills Group */
.filter-pills-group {
    display: inline-flex;
    align-items: center;
    background-color: #edf2f7;
    padding: 4px;
    border-radius: var(--border-radius-pill);
    gap: 4px;
}

.filter-pill-btn {
    border: none;
    background: transparent;
    padding: 7px 20px;
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 600;
    color: var(--text-muted);
    border-radius: var(--border-radius-pill);
    cursor: pointer;
    transition: var(--transition);
}

.filter-pill-btn.active {
    background-color: var(--primary-maroon);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(95, 19, 32, 0.2);
}

/* --------------------------------------------------------------------------
   3. Floating Quick Actions
   -------------------------------------------------------------------------- */
.floating-quick-actions {
    position: fixed;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.floating-quick-actions .action-btn {
    position: relative;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    border: none;
}

.floating-quick-actions .action-btn img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.floating-quick-actions .action-btn i {
    font-size: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

/* 1. Call Button - Emergency Red */
.floating-quick-actions .call-action {
    background: linear-gradient(135deg, #e63946 0%, #c92138 100%);
    color: #ffffff;
}

.floating-quick-actions .call-action:hover {
    background: linear-gradient(135deg, #c92138 0%, #a81228 100%);
    transform: scale(1.1) translateX(-3px);
    box-shadow: 0 10px 24px rgba(201, 33, 56, 0.4);
    color: #ffffff;
}

.floating-quick-actions .call-action i {
    color: #ffffff;
}

/* 2. Support Button - Medical Support Blue */
.floating-quick-actions .support-action {
    background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
    color: #ffffff;
}

.floating-quick-actions .support-action i {
    color: #ffffff;
}

.floating-quick-actions .support-action:hover {
    background: linear-gradient(135deg, #0369a1 0%, #075985 100%);
    transform: scale(1.1) translateX(-3px);
    box-shadow: 0 10px 24px rgba(2, 132, 199, 0.4);
    color: #ffffff;
}

/* 3. Doctor Consultation Button - Deep Maroon */
.floating-quick-actions .doctor-action {
    background: linear-gradient(135deg, #800020 0%, #5f1320 100%);
    color: #ffffff;
}

.floating-quick-actions .doctor-action i {
    color: #ffffff;
}

.floating-quick-actions .doctor-action:hover {
    background: linear-gradient(135deg, #5f1320 0%, #400c15 100%);
    transform: scale(1.1) translateX(-3px);
    box-shadow: 0 10px 24px rgba(95, 19, 32, 0.4);
    color: #ffffff;
}

/* Floating Quick Actions Tooltip Labels */
.floating-quick-actions .action-tooltip {
    position: absolute;
    right: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%) translateX(8px);
    background-color: #1e293b;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    font-family: var(--font-primary, 'Poppins', sans-serif);
    padding: 6px 12px;
    border-radius: 6px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.25s ease;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

.floating-quick-actions .action-tooltip::after {
    content: '';
    position: absolute;
    right: -4px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    background-color: #1e293b;
}

.floating-quick-actions .action-btn:hover .action-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(0);
}

/* --------------------------------------------------------------------------
   4. Site Header & Navigation
   -------------------------------------------------------------------------- */
.site-header {
    background-color: #ffffff;
    position: sticky;
    top: 0;
    z-index: 990;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
    border-bottom: 1px solid var(--border-color);
}

.header-container {
    max-width: 1800px;
    margin: 0 auto;
    padding: 0 15px;
}

.header-grid-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 10px 0;
}

/* Left Brand Logo */
.header-logo-area {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.header-logo-link {
    display: inline-flex;
    align-items: center;
}

.header-logo-link .site-logo {
    max-width: 383px;
    width: auto;
    object-fit: contain;
}

/* Right Content Area (Desktop) */
.header-content-area {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
}

/* Top Utility Row */
.header-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.header-search-bar {
    width: 380px;
}

.search-form {
    display: flex;
    align-items: center;
    padding: 3px 6px 3px 5px;
    transition: var(--transition);
    font-size: 15px;
    color: var(--text-dark);
    background: #FFFFFF;
    box-shadow: 0px 4px 34px rgba(0, 0, 0, 0.12);
    border-radius: 10px;
}

.search-form:focus-within {
    border-color: var(--accent-blue);
    box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.12);
}

.search-btn {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    background-color: #2BBEF9;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: var(--transition);
}

.search-btn img {
    width: 19px;
    filter: brightness(0) invert(1);
}

.search-btn:hover {
    background-color: #026aa2;
}

.search-input {
    border: none;
    background: transparent;
    padding: 0 10px;
    font-size: 15px;
    height: 44px;
    font-family: var(--font-body);
    color: var(--text-dark);
    outline: none;
    width: 100%;
}

.search-input::placeholder {
    color: var(--text-dark);
}

.header-top-right-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
}

.btn-pill-emergency {
    background-color: var(--primary-red);
    color: #ffffff;
    font-size: 15px;
    font-weight: 500;
    text-transform: capitalize;
    letter-spacing: 0.5px;
    padding: 5px 14px;
    border-radius: var(--border-radius-pill);
    white-space: nowrap;
    transition: var(--transition);
}

.btn-pill-emergency:hover {
    background-color: var(--primary-red-hover);
    color: #ffffff;
    box-shadow: 0 3px 10px rgba(216, 35, 42, 0.25);
}

.top-utility-nav ul {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 0;
}

.top-utility-nav ul li a {
    color: var(--text-dark);
    font-size: 15px;
    font-weight: 400;
    white-space: nowrap;
    transition: var(--transition);
}

.top-utility-nav ul li a:hover {
    color: var(--primary-red);
}

.btn-pill-find-doctor {
    background-color: var(--primary-red);
    color: #ffffff;
    font-size: 15px;
    font-weight: 500;
    padding: 5px 14px;
    border-radius: var(--border-radius-pill);
    white-space: nowrap;
    transition: var(--transition);
}

.btn-pill-find-doctor:hover {
    background-color: var(--primary-red-hover);
    color: #ffffff;
    box-shadow: 0 3px 10px rgba(216, 35, 42, 0.25);
}

/* Bottom Navigation Row */
.header-bottom-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.main-navigation {
    display: flex;
    align-items: center;
}

.main-nav-list {
    display: flex;
    align-items: center;
    gap: 30px;
    margin: 0;
    padding: 0;
}

.main-nav-list .nav-item {
    position: relative;
}

.main-nav-list .nav-link {
    font-size: 15px;
    font-weight: 400;
    color: var(--text-dark);
    padding: 6px 0;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    position: relative;
    transition: var(--transition);
}

.dropdown-toggle::after {
    display: none !important;
}

.main-nav-list .nav-link .nav-arrow {
    width: 8px;
    height: auto;
    opacity: 0.75;
    transition: transform 0.25s ease;
}

.main-nav-list .nav-item.dropdown:hover .nav-arrow {
    transform: rotate(180deg);
}

.main-nav-list .nav-link:hover,
.main-nav-list .nav-link.active {
    color: #7a1b2b;
}

.main-nav-list .nav-link.active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #7a1b2b;
    border-radius: 2px;
}

/* Hover dropdown for desktop */
@media (min-width: 992px) {
    .main-nav-list .nav-item.dropdown:hover .dropdown-menu {
        display: block;
        animation: dropFade 0.25s ease;
    }
}

.dropdown-menu {
    border: none;
    border-radius: var(--border-radius-md);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    padding: 8px;
    font-size: 13px;
    margin-top: 4px;
    min-width: 220px;
    border: 1px solid #edf2f7;
}

.dropdown-item {
    font-family: var(--font-body);
    font-weight: 500;
    color: var(--text-dark);
    padding: 8px 14px;
    border-radius: 6px;
    transition: var(--transition);
}

.dropdown-item:hover {
    background-color: #f8fafc;
    color: var(--primary-red);
    padding-left: 18px;
}

/* ==========================================================================
   SPECIALITIES MEGA DROPDOWN (4-Column Layout - Clean White Theme)
   ========================================================================== */
.main-nav-list .nav-item.dropdown.specialities-dropdown {
    position: static;
}

.specialities-mega-menu {
    position: absolute;
    top: 90px;
    left: 0;
    right: 0;
    max-width: 1240px;
    margin: 4px auto 0;
    background-color: #ffffff !important;
    border-radius: 10px;
    padding: 22px 26px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
    border: 1px solid #edf2f7 !important;
    z-index: 1060;
    display: none;
}

.specialities-mega-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px 20px;
}

.specialities-mega-col {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.specialities-mega-col:not(:last-child) {
    border-right: 1px solid #f1f5f9;
    padding-right: 16px;
}

.speciality-link-item {
    color: var(--text-dark, #1e293b) !important;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    padding: 6px 10px;
    border-radius: 6px;
    transition: all 0.2s ease;
    display: block;
    line-height: 1.35;
    font-family: var(--font-body, 'Roboto', sans-serif);
}

.speciality-link-item:hover {
    background-color: #f8fafc;
    color: var(--primary-red, #8d0020) !important;
    padding-left: 14px;
    font-weight: 600;
    text-decoration: none;
}

.speciality-link-item.active {
    background-color: #fef2f2;
    color: var(--primary-red, #8d0020) !important;
    font-weight: 600;
    padding-left: 14px;
}

@media (min-width: 992px) {
    .main-nav-list .nav-item.dropdown.specialities-dropdown:hover .specialities-mega-menu {
        display: block;
        animation: dropFade 0.25s ease;
    }
}

@media (max-width: 991px) {
    .specialities-mega-menu {
        position: static;
        max-width: 100%;
        margin: 8px 0;
        padding: 12px;
        box-shadow: none;
        border: 1px solid #e2e8f0 !important;
    }

    .specialities-mega-grid {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .specialities-mega-col:not(:last-child) {
        border-right: none;
        padding-right: 0;
    }
}

/* ==========================================================================
   SPECIALITIES DETAILS PAGE SPECIFIC STYLES
   ========================================================================== */
.specialities-hero-banner {
    position: relative;
    padding: 85px 0 75px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    color: #ffffff;
    overflow: hidden;
}

.specialities-hero-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(73, 14, 24, 0.93) 0%, rgba(141, 0, 32, 0.86) 50%, rgba(95, 19, 32, 0.94) 100%);
    z-index: 1;
}

.specialities-hero-content {
    position: relative;
    z-index: 2;
    max-width: 950px;
}

.speciality-badge-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 20px;
    margin-bottom: 16px;
}

.speciality-badge-tag .plus-icon {
    color: #ffd166;
    font-weight: 800;
}

.speciality-hero-title {
    font-size: 38px;
    font-weight: 700;
    line-height: 1.25;
    color: #ffffff;
    margin-bottom: 16px;
    font-family: var(--font-heading, 'Poppins', sans-serif);
}

.speciality-hero-desc {
    font-size: 16.5px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.92);
    margin-bottom: 25px;
    max-width: 820px;
}

.speciality-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.btn-spec-action-solid {
    background: linear-gradient(135deg, #d8232a 0%, #b81b21 100%);
    color: #ffffff;
    font-weight: 600;
    padding: 11px 24px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 15px rgba(216, 35, 42, 0.35);
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-spec-action-solid:hover {
    background: linear-gradient(135deg, #b81b21 0%, #9e141a 100%);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(216, 35, 42, 0.5);
}

.btn-spec-action-outline {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    border: 1.5px solid rgba(255, 255, 255, 0.65);
    font-weight: 600;
    padding: 11px 24px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s ease;
}

.btn-spec-action-outline:hover {
    background-color: #ffffff;
    color: var(--primary-maroon, #8D0020);
    border-color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

/* Doctor Listing Cards in Specialities Details */
.spec-doctor-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.spec-doctor-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(141, 0, 32, 0.09);
    border-color: rgba(141, 0, 32, 0.25);
}

.spec-doctor-header {
    display: flex;
    gap: 16px;
    padding: 20px;
    border-bottom: 1px solid #f1f5f9;
    align-items: center;
}

.spec-doctor-photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(141, 0, 32, 0.12);
    flex-shrink: 0;
}

.spec-doctor-meta h4 {
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 4px;
    font-family: var(--font-heading, 'Poppins', sans-serif);
}

.spec-doctor-desig {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--primary-maroon, #8D0020);
    margin-bottom: 3px;
}

.spec-doctor-quals {
    font-size: 12.5px;
    color: #64748b;
}

.spec-doctor-body {
    padding: 16px 20px;
    flex-grow: 1;
    font-size: 13.5px;
    color: #475569;
}

.spec-doctor-schedule {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 8px;
}

.spec-doctor-schedule i {
    color: var(--primary-red, #d8232a);
    margin-top: 3px;
}

.spec-doctor-footer {
    padding: 14px 20px;
    background: #FAF4EB;
    border-top: 1px solid #eedec7;
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.btn-doc-book {
    background: linear-gradient(135deg, #d8232a 0%, #b81b21 100%);
    color: #ffffff;
    font-size: 13.5px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 4px;
    text-decoration: none;
    transition: background 0.2s ease, box-shadow 0.2s ease;
    flex: 1;
    text-align: center;
}

.btn-doc-book:hover {
    background: linear-gradient(135deg, #b81b21 0%, #9e141a 100%);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(216, 35, 42, 0.3);
}

.btn-doc-profile {
    background-color: #ffffff;
    color: var(--primary-maroon, #8D0020);
    border: 1px solid rgba(141, 0, 32, 0.3);
    font-size: 13.5px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.2s ease;
    flex: 1;
    text-align: center;
}

.btn-doc-profile:hover {
    border-color: var(--primary-maroon, #8D0020);
    background-color: var(--primary-maroon, #8D0020);
    color: #ffffff;
}

.btn-doc-all-view {
    border: 1.5px solid var(--primary-maroon, #8D0020);
    color: var(--primary-maroon, #8D0020);
    background-color: #ffffff;
    font-weight: 600;
    font-size: 13px;
    padding: 7px 16px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: all 0.2s ease;
}

.btn-doc-all-view:hover {
    background-color: var(--primary-maroon, #8D0020);
    color: #ffffff;
    border-color: var(--primary-maroon, #8D0020);
}

.btn-doc-call-fallback {
    background: linear-gradient(135deg, #d8232a 0%, #b81b21 100%);
    color: #ffffff;
    font-weight: 600;
    font-size: 13px;
    padding: 7px 16px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: all 0.2s ease;
}

.btn-doc-call-fallback:hover {
    background: linear-gradient(135deg, #b81b21 0%, #9e141a 100%);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(216, 35, 42, 0.3);
}

/* CTA Admission Box Styling */
.admission-cta-section {
    padding: 50px 0;
    background: linear-gradient(135deg, #490e18 0%, #8D0020 60%, #5f1320 100%);
    color: #ffffff;
}

.admission-cta-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 25px;
}

.admission-cta-box .cta-text h3 {
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 8px;
}

.admission-cta-box .cta-text p {
    color: rgba(255, 255, 255, 0.88);
    font-size: 15px;
    margin: 0;
    max-width: 650px;
}

.admission-cta-box .cta-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.btn-admission-primary {
    background-color: var(--primary-red, #d8232a);
    color: #ffffff;
    font-weight: 600;
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: all 0.2s ease;
}

.btn-admission-primary:hover {
    background-color: var(--primary-red-hover, #b81b21);
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(216, 35, 42, 0.4);
}

.btn-admission-secondary {
    background-color: #ffffff;
    color: var(--primary-maroon, #8D0020);
    font-weight: 600;
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: all 0.2s ease;
}

.btn-admission-secondary:hover {
    background-color: #FAF4EB;
    color: var(--primary-maroon, #8D0020);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}

.btn-admission-outline {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    border: 1.5px solid rgba(255, 255, 255, 0.6);
    font-weight: 600;
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: all 0.2s ease;
}

.btn-admission-outline:hover {
    background-color: #ffffff;
    color: var(--primary-maroon, #8D0020);
    border-color: #ffffff;
}

.nav-action-buttons {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.btn-nav-outline {
    display: inline-flex;
    align-items: center;
    border: 1.5px solid var(--accent-blue);
    color: var(--accent-blue);
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 600;
    padding: 6px 18px;
    border-radius: var(--border-radius-pill);
    white-space: nowrap;
    transition: var(--transition);
}

.btn-nav-outline:hover {
    background-color: var(--accent-blue);
    color: #ffffff;
}

.btn-nav-solid {
    display: inline-flex;
    align-items: center;
    background-color: var(--primary-red);
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 500;
    padding: 7px 20px;
    border-radius: var(--border-radius-pill);
    white-space: nowrap;
    transition: var(--transition);
}

.btn-nav-solid:hover {
    background-color: var(--primary-red-hover);
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(216, 35, 42, 0.3);
}

/* Mobile & Tablet Header Controls */
.header-mobile-right {
    display: flex;
    align-items: center;
    gap: 10px;
}

.site-header .navbar-toggler,
.navbar-toggler {
    padding: 6px 9px;
    font-size: 1.1rem;
    line-height: 1;
    background-color: transparent;
    border: 1.5px solid rgba(139, 29, 39, 0.25);
    border-radius: 8px;
    color: var(--primary-maroon, #8b1d27);
    transition: all 0.25s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.site-header .navbar-toggler:hover,
.navbar-toggler:hover {
    background-color: rgba(139, 29, 39, 0.08);
    border-color: var(--primary-maroon, #8b1d27);
}

.site-header .navbar-toggler:focus,
.navbar-toggler:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(139, 29, 39, 0.15);
}

.site-header .navbar-toggler-icon,
.navbar-toggler-icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    vertical-align: middle;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%238b1d27' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
}

/* --------------------------------------------------------------------------
   Mobile Offcanvas Drawer
   -------------------------------------------------------------------------- */
.mobile-nav-drawer {
    width: 320px;
    background-color: #ffffff;
}

.mobile-drawer-logo .site-logo {
    height: 40px;
    width: auto;
}

.mobile-menu-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.mobile-nav-link {
    display: block;
    padding: 10px 14px;
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 600;
    color: var(--text-dark);
    border-radius: var(--border-radius-sm);
}

.mobile-nav-link.active,
.mobile-nav-link:hover {
    color: var(--primary-red);
    background-color: #fef2f2;
}

.mobile-dropdown-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 600;
    color: var(--text-dark);
    background: transparent;
    border: none;
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    text-align: left;
}

.mobile-dropdown-btn:hover {
    background-color: #f8fafc;
    color: var(--primary-red);
}

.mobile-dropdown-btn i {
    font-size: 12px;
    transition: transform 0.25s ease;
}

.mobile-dropdown-btn[aria-expanded="true"] i {
    transform: rotate(180deg);
}

.mobile-sub-menu,
#mobileSpecCollapse {
    padding: 8px 12px 10px 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    background-color: #f8fafc;
    border-radius: 8px;
    margin: 4px 0 8px;
    border-left: 3px solid var(--primary-maroon, #8b1d27);
}

.mobile-sub-menu a,
.mobile-spec-sublink,
#mobileSpecCollapse a {
    font-size: 13.5px;
    font-weight: 500;
    color: #334155 !important;
    padding: 6px 10px;
    display: block;
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.mobile-sub-menu a:hover,
.mobile-spec-sublink:hover,
#mobileSpecCollapse a:hover,
.mobile-sub-menu a.active,
.mobile-spec-sublink.active,
#mobileSpecCollapse a.active {
    color: var(--primary-maroon, #8b1d27) !important;
    background-color: #ffffff;
    font-weight: 600;
    padding-left: 14px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

.mobile-sub-heading {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text-light);
    margin-bottom: 12px;
}

.mobile-quick-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.mobile-quick-links a {
    font-size: 12px;
    font-weight: 500;
    padding: 6px 12px;
    background-color: #f1f5f9;
    border-radius: var(--border-radius-pill);
    color: var(--text-dark);
}

.mobile-quick-links a:hover {
    background-color: var(--primary-red);
    color: #ffffff;
}

/* --------------------------------------------------------------------------
   5. Hero Banner Section
   -------------------------------------------------------------------------- */
.hero-banner-section {
    padding: 0;
    background-color: #f8fafc;
}

.hero-banner-frame {
    transition: var(--transition);
}

.hero-banner-full-img {
    width: 100%;
    height: auto;
    display: block;
}

/* --------------------------------------------------------------------------
   6. Key Procedures & Departments Section
   -------------------------------------------------------------------------- */
.department-section {
    padding: 85px 0 90px;
    background-color: #FAF7F2;
    position: relative;
    overflow: hidden;
}

.department-tab-content {
    display: none;
    animation: fadeIn 0.4s ease;
    margin-top: 45px;
}

.department-tab-content.active {
    display: block;
}

/* Left Tab List */
.dept-nav-list {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dept-nav-item {
    border-bottom: 1px solid #dfd8ce;
    transition: var(--transition);
}

.dept-nav-item:last-child {
    border-bottom: none;
}

.dept-nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 2px 16px 0;
    background: transparent;
    text-decoration: none;
    cursor: pointer;
    transition: var(--transition);
}

.dept-link-left {
    display: flex;
    align-items: center;
    gap: 14px;
}

.dept-icon-box {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.dept-icon-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: grayscale(100%) opacity(0.55);
    transition: var(--transition);
}

.dept-name {
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 500;
    color: #797169;
    transition: var(--transition);
}

.dept-arrow {
    font-size: 18px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-4px);
    transition: var(--transition);
}

/* Hover State */
.dept-nav-item:hover .dept-name {
    color: #1a1a1a;
}

.dept-nav-item:hover .dept-icon-box img {
    filter: grayscale(0%) opacity(0.85);
}

/* Active State (Matches home.jpg) */
.dept-nav-item.active {
    border-bottom: 2px solid #222222;
}

.dept-nav-item.active .dept-name {
    color: #1a1a1a;
    font-weight: 700;
}

.dept-nav-item.active .dept-icon-box img {
    filter: none;
    opacity: 1;
}

.dept-nav-item.active .dept-arrow {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

/* Center Image Frame */
.dept-image-frame {
    position: relative;
    padding: 0 10px;
}

.dept-img-inner {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.dept-featured-img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    display: block;
    transition: opacity 0.3s ease;
}

/* Right Content Info Panel */
.dept-info-panel {
    padding-left: 20px;
}

.dept-info-title {
    font-family: var(--font-heading);
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 16px;
    color: #1a1a1a;
    line-height: 1.3;
}

.dept-info-desc {
    font-family: var(--font-body);
    color: #555555;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 22px;
}

.dept-learn-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
    color: var(--primary-maroon);
    margin-bottom: 26px;
    text-decoration: none;
    transition: color 0.3s ease;
}

.dept-learn-more:hover {
    color: var(--primary-red);
}

.dept-btn-wrapper {
    margin-top: 5px;
}

/* --------------------------------------------------------------------------
   7. Our Featured Specialties Section
   -------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------
   7. Our Featured Specialties Section
   -------------------------------------------------------------------------- */
.specialties-section {
    padding: 70px 0 80px;
    overflow: hidden;
    background-color: var(--bg-surface);
}

.specialties-swiper {
    padding: 20px 0 10px;
    overflow: visible;
}

.specialties-swiper .swiper-wrapper {
    display: flex;
    align-items: flex-end;
    height: 380px;
}

.specialty-card {
    border-radius: 20px;
    overflow: hidden;
    height: 330px;
    /* Reduced by 50px for inactive items */
    position: relative;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    transition: height 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.35s ease, box-shadow 0.35s ease;
    cursor: pointer;
}

/* First / Active Item is Full Height (380px) */
.swiper-slide-active .specialty-card,
.specialty-card.active {
    height: 380px;
    /* Full Height */
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

.specialty-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}

.specialty-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.specialty-card:hover .specialty-bg-img {
    transform: scale(1.06);
}

.specialty-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(6, 16, 28, 0.65) 65%, rgba(4, 10, 18, 0.94) 100%);
    transition: var(--transition);
}

/* Inactive Content State */
.specialty-content-inactive {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    transition: var(--transition);
}

.specialty-simple-title {
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 600;
    margin: 0;
}

.specialty-arrow-icon {
    color: #ffffff;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    transition: transform 0.3s ease, color 0.3s ease;
}

/* Active Content State */
.specialty-content-active {
    display: none;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 14px;
    animation: fadeIn 0.35s ease;
}

.specialty-title {
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    line-height: 1.3;
}

/* When Card is Active (Active Slide or Active Class) */
.swiper-slide-active .specialty-card .specialty-content-inactive,
.specialty-card.active .specialty-content-inactive {
    display: none;
}

.swiper-slide-active .specialty-card .specialty-content-active,
.specialty-card.active .specialty-content-active {
    display: flex;
}

/* Non-active cards in slider remain inactive */
.swiper-slide:not(.swiper-slide-active) .specialty-card:not(.active) .specialty-content-inactive {
    display: flex;
}

.swiper-slide:not(.swiper-slide-active) .specialty-card:not(.active) .specialty-content-active {
    display: none;
}

.swiper-slide:not(.swiper-slide-active) .specialty-card:not(.active) {
    height: 330px;
}

.specialty-card:hover .specialty-arrow-icon {
    transform: translateX(5px);
    color: var(--primary-red);
}

/* Custom Swiper Scrollbar Track (Starts on 2nd item start point) */
.specialties-scrollbar.swiper-scrollbar {
    height: 4px;
    background-color: #dbe2ea;
    border-radius: 4px;
    position: relative;
    margin-top: 32px;
    cursor: pointer;
}

.specialties-scrollbar .swiper-scrollbar-drag {
    background-color: var(--primary-maroon);
    border-radius: 4px;
    height: 100%;
}

@media (min-width: 1200px) {
    .specialties-scrollbar.swiper-scrollbar {
        margin-left: calc((100% - 54px) / 3.25 + 24px);
        width: calc(100% - ((100% - 54px) / 3.25 + 24px));
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .specialties-scrollbar.swiper-scrollbar {
        margin-left: calc((100% - 43px) / 2.8 + 24px);
        width: calc(100% - ((100% - 43px) / 2.8 + 24px));
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .specialties-scrollbar.swiper-scrollbar {
        margin-left: calc((100% - 26px) / 2.3 + 20px);
        width: calc(100% - ((100% - 26px) / 2.3 + 20px));
    }
}

@media (max-width: 767px) {
    .specialties-scrollbar.swiper-scrollbar {
        margin-left: 0;
        width: 100%;
    }
}

/* --------------------------------------------------------------------------
   8. Testimonials Section
   -------------------------------------------------------------------------- */
.testimonials-section {
    padding: 90px 0;
    background: linear-gradient(135deg, #53111b 0%, #681523 100%);
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.text-white-bold {
    font-weight: 800;
    color: #ffffff;
}

.testimonial-visual-frame {
    position: relative;
    padding: 20px;
}

.testimonial-shape {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: auto;
    z-index: 2;
}

.testimonial-img-wrapper {
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);
}

.testimonial-patient-img {
    width: 100%;
    height: 360px;
    object-fit: cover;
}

.testimonial-quote-box {
    padding: 20px 0 20px 40px;
}

.testimonial-quote-mark {
    font-size: 70px;
    line-height: 1;
    font-family: Georgia, serif;
    color: #ffffff;
    opacity: 0.9;
    margin-bottom: 10px;
}

.testimonial-quote-text {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
    color: #f1f3f5;
    margin-bottom: 20px;
}

.testimonial-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ff9b9b;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 30px;
}

.testimonial-read-more:hover {
    color: #ffffff;
}

.testimonial-author-box {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 30px;
}

.author-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.6);
}

.author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.author-name {
    color: #ffffff;
    font-size: 17px;
    font-weight: 700;
    margin: 0;
}

.testimonial-progress-track {
    width: 100%;
    max-width: 420px;
    height: 3px;
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 2px;
    position: relative;
    overflow: hidden;
}

.testimonial-progress-bar {
    width: 40%;
    height: 100%;
    background-color: #ffffff;
    border-radius: 2px;
}

/* --------------------------------------------------------------------------
   9. Our Social Media Section (Splide.js)
   -------------------------------------------------------------------------- */
.social-media-section {
    padding: 85px 0 90px;
    background-color: #FAF7F2;
    overflow: hidden;
    position: relative;
}

.social-media-carousel-wrapper {
    width: 100%;
    overflow: hidden;
    padding: 10px 0;
}

.social-media-splide {
    padding: 20px 0 45px;
}

.social-media-splide .splide__track {
    overflow: visible;
}

.social-post-card {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    position: relative;
    background-color: #ffffff;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.social-post-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.12);
}

.social-post-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.social-post-action {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, transform 0.35s ease;
}

/* Centered active slide or hover shows the action button */
.splide__slide.is-active .social-post-action,
.social-post-card:hover .social-post-action {
    opacity: 1;
    visibility: visible;
}

.btn-post-view {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #5e131d;
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 600;
    padding: 9px 24px;
    border-radius: 50px;
    box-shadow: 0 6px 18px rgba(94, 19, 29, 0.35);
    text-decoration: none;
    transition: background-color 0.3s ease, transform 0.3s ease;
    white-space: nowrap;
}

.btn-post-view:hover {
    background-color: var(--primary-red);
    color: #ffffff;
    transform: scale(1.04);
}

/* Splide Pagination Custom Styling */
.social-media-splide .splide__pagination {
    position: relative;
    margin-top: 30px;
    bottom: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0;
}

.social-media-splide .splide__pagination__page {
    width: 8px;
    height: 8px;
    background: #d1d5db;
    opacity: 1;
    border-radius: 50%;
    margin: 0;
    transition: all 0.35s ease;
    border: none;
    padding: 0;
    cursor: pointer;
}

.social-media-splide .splide__pagination__page.is-active {
    width: 26px;
    height: 8px;
    border-radius: 4px;
    background: #5e131d;
    transform: none;
}

/* --------------------------------------------------------------------------
   10. Running Marquee Strip
   -------------------------------------------------------------------------- */
.running-marquee-strip {
    background-color: #f1f4f8;
    padding: 20px 0;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}

.marquee-track {
    display: flex;
    width: max-content;
    animation: marqueeScroll 25s linear infinite;
}

.marquee-track:hover {
    animation-play-state: paused;
}

.marquee-content {
    display: flex;
    align-items: center;
    gap: 40px;
    padding-right: 40px;
}

.marquee-item {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 800;
    color: #a0aec0;
    text-transform: capitalize;
    letter-spacing: 0.5px;
}

.marquee-icon {
    width: 24px;
    height: auto;
    opacity: 0.85;
}

@keyframes marqueeScroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* --------------------------------------------------------------------------
   11. Our Videos Section (Splide.js)
   -------------------------------------------------------------------------- */
.videos-section {
    padding: 85px 0 90px;
    background-color: var(--bg-surface);
    overflow: hidden;
    position: relative;
}

.videos-header-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 35px;
}

.header-left-title-box {
    flex-shrink: 0;
}

.header-title-divider {
    flex-grow: 1;
    height: 1px;
    background-color: #e2e8f0;
    margin: 0 20px;
}

.videos-carousel-wrapper {
    width: 100%;
    overflow: hidden;
    padding: 10px 0;
}

.videos-splide {
    padding: 10px 0 15px;
}

.videos-splide .splide__track {
    overflow: visible;
}

.video-card {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    background-color: #ffffff;
}

.video-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.12);
}

.video-poster-box {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
}

.video-poster-img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.video-card:hover .video-poster-img {
    transform: scale(1.04);
}

.has-youtube-overlay::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(10, 25, 45, 0.35);
    pointer-events: none;
}

.youtube-top-badge {
    position: absolute;
    top: 18px;
    right: 18px;
    background: rgba(0, 0, 0, 0.7);
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
    z-index: 2;
}

.youtube-top-badge i {
    color: #ff0000;
    font-size: 14px;
}

.video-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.95);
    color: var(--primary-maroon);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
    padding-left: 4px;
    z-index: 3;
    text-decoration: none;
}

.video-play-btn:hover {
    background-color: var(--primary-red);
    color: #ffffff;
    transform: translate(-50%, -50%) scale(1.12);
}

.video-play-pulse {
    animation: videoPlayPulse 2.2s infinite;
}

@keyframes videoPlayPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7), 0 8px 25px rgba(0, 0, 0, 0.3);
    }

    70% {
        box-shadow: 0 0 0 18px rgba(255, 255, 255, 0), 0 8px 25px rgba(0, 0, 0, 0.3);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0), 0 8px 25px rgba(0, 0, 0, 0.3);
    }
}

.youtube-center-btn {
    width: 68px;
    height: 48px;
    border-radius: 12px;
    background-color: rgba(255, 255, 255, 0.95);
    color: #222222;
    padding-left: 2px;
}

.youtube-center-btn i {
    font-size: 22px;
}

.youtube-center-btn:hover {
    background-color: #ff0000;
    color: #ffffff;
}

/* Videos Progress Track */
.videos-progress-track {
    width: 100%;
    height: 4px;
    background-color: #dbe2ea;
    border-radius: 4px;
    position: relative;
    margin-top: 25px;
    overflow: hidden;
}

.videos-progress-bar {
    width: 35%;
    height: 100%;
    background-color: var(--primary-maroon);
    border-radius: 4px;
    transition: width 0.4s ease;
}

/* --------------------------------------------------------------------------
   12. Accreditation & Awards Section
   -------------------------------------------------------------------------- */
.awards-section {
    padding: 90px 0;
    background-color: var(--bg-light);
    position: relative;
    overflow: hidden;
}

.awards-watermark-bg {
    position: absolute;
    top: 15%;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--font-heading);
    font-size: 140px;
    font-weight: 900;
    color: #eaeff5;
    letter-spacing: 12px;
    pointer-events: none;
    z-index: 0;
    white-space: nowrap;
}

.awards-swiper {
    position: relative;
    z-index: 1;
    padding: 20px 0 45px;
}

.award-card {
    background-color: #ffffff;
    border-radius: 20px;
    padding: 30px 20px;
    text-align: center;
    border: 1px solid #edf1f7;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.04);
    transition: var(--transition);
}

.award-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-card);
    border-color: #e2e8f0;
}

.award-img-box {
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.award-img {
    max-height: 100%;
    width: auto;
    object-fit: contain;
}

.award-name {
    font-size: 15px;
    font-weight: 700;
    color: var(--text-dark);
    margin: 0;
}

/* --------------------------------------------------------------------------
   13. Our Insights (Blog) Section
   -------------------------------------------------------------------------- */
.blog-section {
    padding: 85px 0;
    background-color: var(--bg-surface);
}

.blog-featured-card {
    background-color: #ffffff;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: var(--shadow-card);
    border: 1px solid #edf1f7;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: var(--transition);
}

.blog-featured-card:hover {
    box-shadow: var(--shadow-hover);
}

.blog-featured-img-wrap {
    height: 280px;
    overflow: hidden;
}

.blog-featured-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.blog-featured-card:hover .blog-featured-img {
    transform: scale(1.05);
}

.blog-featured-content {
    padding: 28px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.blog-meta-date {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--accent-blue);
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 12px;
}

.meta-calendar-icon {
    width: 14px;
    height: 14px;
    object-fit: contain;
}

.blog-featured-heading {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
    line-height: 1.4;
}

.blog-featured-heading a:hover {
    color: var(--primary-red);
}

.blog-featured-excerpt {
    color: var(--text-muted);
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 18px;
}

.blog-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--primary-maroon);
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    margin-top: auto;
}

.blog-read-more:hover {
    color: var(--primary-red);
}

/* Stacked Blog List Items */
.blog-list-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 100%;
}

.blog-list-item {
    background-color: #ffffff;
    border-radius: 18px;
    padding: 16px;
    border: 1px solid #edf1f7;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
    display: flex;
    align-items: center;
    gap: 20px;
    transition: var(--transition);
}

.blog-list-item:hover {
    box-shadow: var(--shadow-card);
    transform: translateY(-2px);
}

.blog-item-thumb {
    width: 140px;
    height: 110px;
    border-radius: 14px;
    overflow: hidden;
    flex-shrink: 0;
}

.blog-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.blog-list-item:hover .blog-item-thumb img {
    transform: scale(1.08);
}

.blog-item-content {
    flex-grow: 1;
}

.blog-item-title {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1.35;
}

.blog-item-title a:hover {
    color: var(--primary-red);
}

.blog-all-btn-wrap {
    margin-top: 10px;
}

/* --------------------------------------------------------------------------
   14. Contact & Map Section
   -------------------------------------------------------------------------- */
.contact-cta-section {
    background-color: var(--primary-maroon);
    position: relative;
}

.contact-split-box {
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
}

.contact-cta-card {
    background: linear-gradient(135deg, #53111b 0%, #681523 100%);
    height: 100%;
    min-height: 380px;
    display: flex;
    align-items: center;
    padding: 50px 60px;
    position: relative;
    background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background-size: 20px 20px;
}

.contact-cta-inner {
    max-width: 440px;
}

.contact-cta-title {
    color: #ffffff;
    font-size: 34px;
    font-weight: 800;
    margin: 16px 0 28px;
    line-height: 1.25;
}

.contact-map-wrapper {
    position: relative;
    height: 100%;
    min-height: 380px;
    overflow: hidden;
}

.contact-map-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.btn-view-map {
    position: absolute;
    top: 24px;
    right: 24px;
    background-color: #ffffff;
    color: var(--accent-blue);
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    padding: 8px 18px;
    border-radius: var(--border-radius-pill);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    transition: var(--transition);
}

.btn-view-map .arrow-ext {
    width: 12px;
    height: 12px;
}

.btn-view-map:hover {
    background-color: var(--accent-blue);
    color: #ffffff;
}

.btn-view-map:hover .arrow-ext {
    filter: brightness(0) invert(1);
}

/* --------------------------------------------------------------------------
   15. Footer Section
   -------------------------------------------------------------------------- */
.site-footer {
    background-color: var(--bg-light);
}

.footer-main-area {
    padding: 70px 0 50px;
    border-top: 1px solid var(--border-color);
}

.footer-logo-link .footer-logo-img {
    width: auto;
    margin-bottom: 35px;
}

.footer-newsletter-box {
    margin-bottom: 24px;
}

.newsletter-heading {
    font-size: 24px;
    font-weight: 500;
    color: var(--text-dark);
    margin-bottom: 26px;
}

.newsletter-form .newsletter-input-group {
    display: flex;
    align-items: center;
    padding: 4px 4px 4px 4px;
    max-width: 449px;
    background: #FFFFFF;
    box-shadow: 0px 4px 56.8px rgba(0, 0, 0, 0.11);
    border-radius: 170px;

}

.newsletter-input {
    border: none;
    background: transparent;
    padding: 8px 16px;
    font-size: 16px;
    height: 45px;
    font-family: var(--font-body);
    outline: none;
    flex-grow: 1;
}

.newsletter-input::placeholder {
    color: var(--text-dark);
}

.btn-subscribe {
    background-color: var(--primary-maroon);
    color: #ffffff;
    border: none;
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 500;
    padding: 8px 20px;
    border-radius: var(--border-radius-pill);
    cursor: pointer;
    transition: var(--transition);
}

.btn-subscribe:hover {
    background-color: var(--primary-red);
}

.footer-social-links {
    display: flex;
    align-items: center;
    gap: 10px;
}

.social-icon-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--primary-maroon);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}

.social-icon-btn img {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

.youtube-icon-btn {
    color: #e52e2e;
    font-size: 16px;
}

.social-icon-btn:hover {
    background-color: var(--primary-maroon);
    color: #ffffff;
    transform: translateY(-2px);
}

.social-icon-btn:hover img {
    filter: brightness(0) invert(1);
}

.footer-widget-title {
    font-size: 24px;
    font-weight: 500;
    color: var(--text-dark);
    margin-bottom: 18px;
}

.footer-links-list li {
    margin-bottom: 16px;
}

.footer-links-list li a {
    color: var(--text-dark);
    transition: var(--transition);
}

.footer-links-list li a:hover {
    color: var(--primary-red);
    padding-left: 4px;
}

.footer-contact-info-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 20px;
}

.contact-info-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    margin-top: 2px;
}

.contact-info-icon img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.contact-info-text {
    color: var(--text-dark);
}

.contact-info-text a {
    color: var(--text-dark);
}

.contact-info-text a:hover {
    color: var(--primary-red);
}

.contact-info-text strong {
    font-weight: 400;
}

/* Footer Bottom Copyright Strip */
.footer-copyright-strip {
    background-color: var(--primary-maroon-dark);
    color: rgba(255, 255, 255, 0.8);
    padding: 16px 0;
    font-size: 13px;
    text-align: center;
}

.copyright-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.ecg-pulse-graphic {
    color: var(--primary-red);
    display: inline-flex;
    align-items: center;
}

.copyright-text strong {
    color: #ffffff;
}

.copyright-text {
    flex-shrink: 0;
    margin: 0;
}

/* --------------------------------------------------------------------------
   16. Responsive Media Queries
   -------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------
   16. Responsive Media Queries
-------------------------------------------------------------------------- */
@media (min-width: 1600px) {
    .container {
        max-width: 1760px;
    }
}

@media (max-width: 1400px) {
    .main-nav-list {
        gap: 12px;
    }

    .main-nav-list .nav-link {
        font-size: 13px;
    }

    .header-search-bar {
        width: 210px;
    }

    .top-utility-nav ul {
        gap: 10px;
    }

    .top-utility-nav ul li a {
        font-size: 11.5px;
    }
}

@media (max-width: 1200px) {
    .section-main-title {
        font-size: 32px;
    }

    .awards-watermark-bg {
        font-size: 90px;
    }

    .header-grid-wrapper {
        gap: 20px;
    }

    .header-logo-link .site-logo {
        height: 48px;
    }

    .header-search-bar {
        width: 190px;
    }

    .main-nav-list {
        gap: 8px;
    }

    .main-nav-list .nav-link {
        font-size: 12.5px;
    }

    .btn-nav-outline,
    .btn-nav-solid {
        padding: 6px 14px;
        font-size: 12px;
    }
}

@media (max-width: 991px) {
    .header-container {
        padding: 0 16px;
    }

    .header-grid-wrapper {
        padding: 8px 0;
    }

    .header-logo-link .site-logo {
        height: 42px;
    }

    .dept-info-panel {
        padding-left: 0;
        margin-top: 24px;
    }

    .testimonial-quote-box {
        padding: 30px 0 0 0;
    }

    .contact-cta-card {
        padding: 40px 24px;
    }

    .floating-quick-actions {
        right: 12px;
    }
}

@media (max-width: 767px) {
    .header-logo-link .site-logo {
        height: 36px;
    }

    .floating-quick-actions .action-tooltip {
        display: none !important;
    }

    .btn-pill-emergency {
        font-size: 10px;
        padding: 4px 10px;
    }

    .section-main-title {
        font-size: 24px;
    }

    .awards-watermark-bg {
        font-size: 50px;
        letter-spacing: 4px;
    }

    .blog-list-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .blog-item-thumb {
        width: 100%;
        height: 180px;
    }

    .copyright-content {
        flex-direction: column;
        gap: 8px;
    }
}

@media (max-width: 480px) {
    .header-logo-link .site-logo {
        height: 32px;
    }

    .floating-quick-actions .action-btn {
        width: 40px;
        height: 40px;
    }

    .floating-quick-actions .action-btn img {
        width: 16px;
        height: 16px;
    }

    .floating-quick-actions .action-btn i {
        font-size: 16px;
    }
}

/* ==========================================================================
   16. About Us Page Styles (Redesigned & Compact)
   ========================================================================== */

/* --------------------------------------------------------------------------
   About Hero Section & Breadcrumb
   -------------------------------------------------------------------------- */
.about-hero-section {
    background: linear-gradient(135deg, #0d3860 0%, var(--accent-blue) 60%, #145089 100%);
    padding: 40px 0 35px;
    position: relative;
    overflow: hidden;
}

.about-hero-section::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-maroon), #e63946, var(--accent-blue));
}

.about-hero-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    position: relative;
    z-index: 1;
}

.about-hero-text {
    max-width: 720px;
}

.about-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background-color: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    padding: 4px 12px;
    border-radius: var(--border-radius-pill);
    margin-bottom: 8px;
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.about-hero-title {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 6px;
    line-height: 1.25;
}

.about-hero-title .highlight-maroon {
    color: #ffccd0;
}

.about-hero-subtitle {
    font-family: var(--font-body);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.5;
    margin-bottom: 0;
}

.about-breadcrumbs {
    background-color: rgba(255, 255, 255, 0.12);
    padding: 6px 16px;
    border-radius: var(--border-radius-pill);
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(4px);
}

.breadcrumb-list {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 500;
}

.breadcrumb-list li a {
    color: #ffffff;
    text-decoration: none;
    transition: var(--transition);
}

.breadcrumb-list li a:hover {
    color: #ffccd0;
}

.breadcrumb-separator {
    color: rgba(255, 255, 255, 0.5);
}

.breadcrumb-list li.active {
    color: #ffccd0;
    font-weight: 700;
}

/* --------------------------------------------------------------------------
   Sticky Sub-Navigation Tabs
   -------------------------------------------------------------------------- */
.about-subnav-sticky {
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: #ffffff;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    border-bottom: 1px solid var(--border-color);
}

.about-subnav-wrapper {
    padding: 8px 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.about-subnav-wrapper::-webkit-scrollbar {
    display: none;
}

.about-tabs-list {
    display: flex;
    align-items: center;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
    min-width: max-content;
}

.about-tab-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: var(--border-radius-pill);
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 600;
    color: var(--text-muted);
    background-color: transparent;
    text-decoration: none;
    transition: var(--transition);
    border: 1px solid transparent;
}

.about-tab-btn:hover {
    color: var(--primary-maroon);
    background-color: #fdf2f2;
}

.about-tab-btn.active {
    background-color: var(--primary-maroon);
    color: #ffffff;
    box-shadow: 0 3px 10px rgba(111, 35, 39, 0.25);
}

/* --------------------------------------------------------------------------
   About Full Width Sections (Odd/Even Alternating Backgrounds)
   -------------------------------------------------------------------------- */
.about-full-section {
    padding: 65px 0;
    position: relative;
    width: 100%;
}

.bg-white-section {
    background-color: #ffffff;
}

.bg-light-section {
    background-color: var(--bg-light);
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
}

.about-section-block {
    scroll-margin-top: 60px;
}

.section-sub-desc {
    font-size: 14.5px;
    color: var(--text-muted);
    max-width: 760px;
    margin: 8px auto 0;
    line-height: 1.6;
    text-align: center;
}

/* --------------------------------------------------------------------------
   Section 1: WHO WE ARE (Modern High-Impact Institutional Showcase)
   -------------------------------------------------------------------------- */
.who-we-are-section {
    background-color: #ffffff;
    position: relative;
    padding: 70px 0 65px;
}

/* Left Showcase Card */
.who-showcase-card {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e9edf2;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.who-showcase-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.1);
}

.who-image-box {
    position: relative;
    height: 320px;
    overflow: hidden;
    background: #0f172a;
}

.who-showcase-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.who-showcase-card:hover .who-showcase-img {
    transform: scale(1.05);
}

.who-est-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    background: linear-gradient(135deg, var(--primary-maroon), #65000b);
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 11.5px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 50px;
    box-shadow: 0 4px 12px rgba(128, 0, 16, 0.35);
    letter-spacing: 0.5px;
    z-index: 2;
}

.who-facility-glass {
    position: absolute;
    bottom: 12px;
    left: 12px;
    right: 12px;
    background: rgba(15, 23, 42, 0.82);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 14px;
    padding: 12px 16px;
    color: #ffffff;
    z-index: 2;
}

.who-facility-tag {
    font-size: 11px;
    font-weight: 600;
    color: #93c5fd;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

.who-facility-name {
    font-family: var(--font-heading);
    font-size: 15.5px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 2px;
    line-height: 1.3;
}

.who-facility-loc {
    font-size: 11.5px;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
}

/* 4-Metric Grid Strip under Image */
.who-metrics-bar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #f8fafc;
    border-top: 1px solid #edf2f7;
    padding: 14px 8px;
    margin-top: auto;
}

.who-metric-item {
    text-align: center;
    padding: 4px 6px;
    border-right: 1px solid #e2e8f0;
    transition: var(--transition);
}

.who-metric-item:last-child {
    border-right: none;
}

.who-metric-icon {
    font-size: 14px;
    color: var(--primary-maroon);
    margin-bottom: 2px;
}

.who-metric-value {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    color: var(--primary-maroon);
    line-height: 1.1;
    display: block;
}

.who-metric-title {
    font-size: 10.5px;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-top: 2px;
    display: block;
}

/* Right Column: Ethos Card */
.who-ethos-card {
    background: linear-gradient(135deg, #fffbfb 0%, #f8faff 100%);
    border: 1px solid #f1e2e4;
    border-left: 4px solid var(--primary-maroon);
    border-radius: 16px;
    padding: 20px 24px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.who-ethos-pill {
    display: inline-flex;
    align-items: center;
    background: #fce8ea;
    color: var(--primary-maroon);
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 10px;
    border-radius: 50px;
}

.who-ethos-heading {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    color: var(--text-dark);
    margin: 8px 0 10px;
    line-height: 1.35;
}

.who-ethos-desc {
    font-size: 13.5px;
    line-height: 1.65;
    color: var(--text-dark);
}

.who-ethos-sub {
    font-size: 13px;
    line-height: 1.6;
}

/* 4 Feature Pillar Cards */
.who-pillar-card {
    background: #ffffff;
    border: 1px solid #e9edf2;
    border-radius: 14px;
    padding: 16px 18px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.who-pillar-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: transparent;
    transition: background 0.3s ease;
}

.who-pillar-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
    border-color: #d1d9e2;
}

.pillar-card-red:hover::before {
    background: var(--primary-maroon);
}

.pillar-card-green:hover::before {
    background: #10b981;
}

.pillar-card-blue:hover::before {
    background: var(--accent-blue);
}

.pillar-card-purple:hover::before {
    background: #8b5cf6;
}

.who-pillar-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.who-pillar-icon-box {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: transform 0.3s ease;
}

.pillar-card-red .who-pillar-icon-box {
    background: #fce8ea;
    color: var(--primary-maroon);
}

.pillar-card-green .who-pillar-icon-box {
    background: #e6f7f0;
    color: #10b981;
}

.pillar-card-blue .who-pillar-icon-box {
    background: #e0f2fe;
    color: var(--accent-blue);
}

.pillar-card-purple .who-pillar-icon-box {
    background: #f3e8ff;
    color: #8b5cf6;
}

.who-pillar-card:hover .who-pillar-icon-box {
    transform: scale(1.1);
}

.who-pillar-tag {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.6px;
    color: var(--text-muted);
    text-transform: uppercase;
}

.who-pillar-title {
    font-family: var(--font-heading);
    font-size: 14.5px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 6px;
    line-height: 1.3;
}

.who-pillar-desc {
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--text-muted);
    margin-bottom: 0;
}

/* Bottom Highlight Ribbon */
.who-highlight-ribbon {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 14px 20px;
}

.who-cme-thumb {
    position: relative;
    width: 85px;
    height: 60px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.who-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.who-thumb-badge {
    position: absolute;
    bottom: 3px;
    right: 3px;
    background: var(--primary-maroon);
    color: #ffffff;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
}

.who-cme-title {
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
    color: var(--text-dark);
}

.who-cme-desc {
    font-size: 12.5px;
    color: var(--text-muted);
    line-height: 1.45;
}

/* --------------------------------------------------------------------------
   Section 2: Accreditation & Quality (Open Showcase)
   -------------------------------------------------------------------------- */
.open-quality-badge-item {
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-pill);
    padding: 8px 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.quality-circle-num {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: var(--accent-blue);
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.quality-text {
    font-size: 13px;
    color: var(--text-dark);
    line-height: 1.4;
}

.open-cert-showcase {
    max-width: 760px;
    margin: 0 auto;
}

.cert-pill-nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
}

.cert-pill-nav .cert-thumb-btn {
    background-color: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: var(--border-radius-pill);
    padding: 6px 14px;
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 600;
    color: var(--text-muted);
    cursor: pointer;
    transition: var(--transition);
}

.cert-pill-nav .cert-thumb-btn:hover {
    border-color: var(--accent-blue);
    color: var(--accent-blue);
}

.cert-pill-nav .cert-thumb-btn.active {
    background-color: var(--primary-maroon);
    border-color: var(--primary-maroon);
    color: #ffffff;
    box-shadow: 0 3px 10px rgba(111, 35, 39, 0.25);
}

.cert-viewer-open-wrap {
    background-color: #ffffff;
    border-radius: 20px;
    border: 1px solid var(--border-color);
    padding: 20px 24px;
    box-shadow: var(--shadow-card);
}

.cert-counter-pill {
    background-color: #fee2e2;
    color: var(--primary-maroon);
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    padding: 3px 10px;
    border-radius: var(--border-radius-pill);
}

.btn-cert-zoom-modal {
    display: inline-flex;
    align-items: center;
    background-color: var(--accent-blue);
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 11.5px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: var(--border-radius-pill);
    text-decoration: none;
    transition: var(--transition);
}

.btn-cert-zoom-modal:hover {
    background-color: #124e88;
    color: #ffffff;
}

.cert-display-frame {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 40px;
}

.certificate-swiper {
    width: 100%;
    max-width: 380px;
}

.cert-zoom-link {
    display: block;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    cursor: zoom-in;
    background-color: #f8fafc;
}

.cert-main-img {
    width: 100%;
    height: auto;
    max-height: 340px;
    object-fit: contain;
    display: block;
}

.zoom-hover-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(15, 23, 42, 0.35);
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease;
}

.zoom-prompt {
    background-color: #ffffff;
    color: var(--text-dark);
    font-family: var(--font-heading);
    font-size: 11.5px;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: var(--border-radius-pill);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.cert-zoom-link:hover .zoom-hover-overlay {
    opacity: 1;
}

.cert-arrow-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #ffffff;
    border: 1px solid #cbd5e1;
    color: var(--accent-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    cursor: pointer;
    transition: var(--transition);
    z-index: 10;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
}

.cert-arrow-btn.btn-prev {
    left: 0;
}

.cert-arrow-btn.btn-next {
    right: 0;
}

.cert-arrow-btn:hover {
    background-color: var(--accent-blue);
    color: #ffffff;
}

/* --------------------------------------------------------------------------
   Section 3: Socio-Medical Services (Open Modern Layout)
   -------------------------------------------------------------------------- */
.open-socio-item {
    padding: 10px 6px;
    transition: var(--transition);
}

.open-socio-item:hover {
    transform: translateY(-2px);
}

.socio-open-img {
    width: 100%;
    height: 110px;
    object-fit: cover;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
}

.open-service-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    color: var(--primary-maroon);
    background-color: #fdf2f2;
    padding: 2px 8px;
    border-radius: var(--border-radius-pill);
    margin-bottom: 4px;
    text-transform: uppercase;
}

.open-service-tag.tag-blue {
    color: var(--accent-blue);
    background-color: #e0f2fe;
}

.open-service-tag.tag-green {
    color: #15803d;
    background-color: #dcfce7;
}

.open-service-tag.tag-orange {
    color: #c2410c;
    background-color: #ffedd5;
}

.open-service-tag.tag-purple {
    color: #7e22ce;
    background-color: #f3e8ff;
}

.open-service-heading {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 4px;
}

.open-service-desc {
    font-size: 13px;
    line-height: 1.55;
    color: #4b5563;
}

.open-cert-mini-note {
    font-size: 11.5px;
    color: #78350f;
    background-color: #fffbeb;
    padding: 4px 8px;
    border-radius: 6px;
    display: inline-block;
}

.badge-tag-sm {
    display: inline-flex;
    align-items: center;
    background-color: #f1f5f9;
    color: var(--text-dark);
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: var(--border-radius-pill);
}

.open-disaster-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.disaster-chip {
    font-size: 10.5px;
    font-weight: 600;
    background-color: #fee2e2;
    color: var(--primary-maroon);
    padding: 2px 8px;
    border-radius: 4px;
}

.cultural-open-photo {
    text-align: center;
}

.photo-mini-caption {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted);
    margin-top: 3px;
}

/* --------------------------------------------------------------------------
   Section 4: History & Founders (Deep Maroon Heritage Showcase)
   -------------------------------------------------------------------------- */
.heritage-maroon-card {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 20px;
    padding: 24px 26px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.heritage-maroon-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 255, 255, 0.35);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
}

.founder-avatar-frame-maroon {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 3px solid rgba(255, 255, 255, 0.85);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.founder-badge-gold {
    display: inline-block;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 50px;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.founder-badge-cyan {
    display: inline-block;
    background: linear-gradient(135deg, #0284c7, #0369a1);
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 50px;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.founder-card-name {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 2px;
}

.founder-card-dates {
    font-size: 12px;
}

.founder-card-bio p {
    font-size: 13.5px;
    line-height: 1.65;
}

.text-white-90 {
    color: rgba(255, 255, 255, 0.92);
}

.text-white-80 {
    color: rgba(255, 255, 255, 0.82);
}

.border-white-15 {
    border-color: rgba(255, 255, 255, 0.15) !important;
}

.heritage-mini-pill {
    display: inline-flex;
    align-items: center;
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #ffffff;
    font-size: 11.5px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 50px;
}

/* --------------------------------------------------------------------------
   Section 5: President's Message (Deep Maroon Bg Section like Homepage)
   -------------------------------------------------------------------------- */
.bg-maroon-section {
    background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background: linear-gradient(135deg, #53111b 0%, #681523 100%);
    color: #ffffff;
    position: relative;
    overflow: hidden;
    background-size: 5px 5px;
}

.bg-maroon-section .section-main-title {
    color: #ffffff;
}

.bg-maroon-section .section-sub-desc {
    color: rgba(255, 255, 255, 0.85);
}

.president-swiper {
    position: relative;
    overflow: hidden;
    padding-bottom: 5px;
}

.president-swiper .swiper-slide {
    opacity: 0 !important;
    transition: opacity 0.5s ease;
}

.president-swiper .swiper-slide-active {
    opacity: 1 !important;
}

.btn-slider-arrow {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    cursor: pointer;
    transition: var(--transition);
}

.btn-slider-arrow:hover {
    background-color: #ffffff;
    color: var(--primary-maroon);
    transform: scale(1.08);
}

.slider-counter-pill {
    background: rgba(0, 0, 0, 0.25);
    padding: 3px 10px;
    border-radius: 20px;
    letter-spacing: 1px;
}

/* --------------------------------------------------------------------------
   Section 6: Governing Body / Institutional Governance (Modern Executive Council)
   -------------------------------------------------------------------------- */
.gov-section {
    position: relative;
    padding: 70px 0 65px;
}

/* Society Regulatory Meta Card */
.gov-registry-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 16px 24px;
    box-shadow: 0 4px 15px rgba(15, 23, 42, 0.03);
}

.gov-reg-emblem {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #edf2f7;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 4px;
}

.gov-logo-img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

.gov-reg-badge {
    display: inline-block;
    background: #fee2e2;
    color: var(--primary-maroon);
    font-family: var(--font-heading);
    font-size: 10.5px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 50px;
    margin-bottom: 2px;
}

.gov-society-name {
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 800;
    color: var(--text-dark);
    letter-spacing: 0.3px;
}

.gov-society-reg {
    font-size: 12px;
}

.gov-tenet-pill {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-dark);
    padding: 5px 12px;
    border-radius: 50px;
    white-space: nowrap;
}

/* President Spotlight Card */
.gov-president-spotlight {
    background: linear-gradient(135deg, #ffffff 0%, #fffcfc 100%);
    border: 1px solid #f1d7da;
    border-left: 5px solid var(--primary-maroon);
    border-radius: 18px;
    padding: 24px 28px;
    box-shadow: 0 8px 24px rgba(128, 0, 16, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gov-president-spotlight:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(128, 0, 16, 0.08);
}

.gov-pres-icon-wrap {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--primary-maroon), #65000b);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(128, 0, 16, 0.25);
}

.badge-pres {
    background: var(--primary-maroon);
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 10.5px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 50px;
    letter-spacing: 0.5px;
}

.gov-loc-pill {
    background: #f1f5f9;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 50px;
}

.gov-pres-name {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    color: var(--text-dark);
}

.gov-pres-title {
    font-size: 13.5px;
}

.gov-pres-bio {
    font-size: 13px;
    line-height: 1.6;
}

.gov-pres-assurance-box {
    background: #ffffff;
    border: 1px solid #e9edf2;
    border-radius: 14px;
    padding: 16px 20px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.assurance-icon {
    font-size: 22px;
    color: var(--primary-maroon);
    display: block;
    margin-bottom: 4px;
}

.assurance-label {
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    color: var(--text-dark);
    display: block;
    margin-bottom: 2px;
}

.assurance-text {
    font-size: 11.5px;
    color: var(--text-muted);
    line-height: 1.45;
}

/* Section Sub-Divider Headings */
.gov-section-divider {
    /* border-bottom: 1px solid #e2e8f0; */
    padding-bottom: 8px;
    margin-top: 10px;
}

.divider-title {
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
    color: var(--text-dark);
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

/* Executive Officer Cards */
.gov-officer-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px 22px;
    box-shadow: 0 4px 15px rgba(15, 23, 42, 0.03);
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    display: flex;
    flex-direction: column;
}

.gov-officer-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: transparent;
    transition: background 0.3s ease;
}

.officer-maroon:hover::before {
    background: var(--primary-maroon);
}

.officer-blue:hover::before {
    background: var(--accent-blue);
}

.officer-green:hover::before {
    background: #10b981;
}

.gov-officer-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.gov-officer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.gov-officer-icon-box {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transition: transform 0.3s ease;
}

.officer-maroon .gov-officer-icon-box {
    background: #fee2e2;
    color: var(--primary-maroon);
}

.officer-blue .gov-officer-icon-box {
    background: #e0f2fe;
    color: var(--accent-blue);
}

.officer-green .gov-officer-icon-box {
    background: #dcfce7;
    color: #10b981;
}

.gov-officer-card:hover .gov-officer-icon-box {
    transform: scale(1.1);
}

.gov-officer-tag {
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    color: var(--text-muted);
    letter-spacing: 0.5px;
    background: #f1f5f9;
    padding: 3px 8px;
    border-radius: 4px;
}

.gov-officer-name {
    font-family: var(--font-heading);
    font-size: 16.5px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 2px;
}

.gov-officer-desig {
    font-size: 12px;
    font-weight: 600;
    color: var(--primary-maroon);
    display: block;
    margin-bottom: 8px;
}

.gov-officer-desc {
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--text-muted);
    margin-bottom: 12px;
    flex-grow: 1;
}

.gov-officer-foot {
    border-top: 1px solid #f1f5f9;
    padding-top: 10px;
    margin-top: auto;
}

.foot-badge {
    font-size: 11.5px;
    font-weight: 600;
    color: var(--text-dark);
}

/* Vice President Cards */
.gov-vp-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 16px 18px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
    transition: all 0.3s ease;
}

.gov-vp-card:hover {
    transform: translateY(-3px);
    border-color: var(--accent-blue);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}

.vp-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.vp-role-pill {
    background: #e0f2fe;
    color: var(--accent-blue);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 50px;
}

.vp-domain-tag {
    font-size: 10.5px;
    font-weight: 600;
    color: var(--text-muted);
}

.vp-card-name {
    font-family: var(--font-heading);
    font-size: 14.5px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 3px;
}

.vp-card-desc {
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.4;
}

/* Governing Members Panel */
.gov-members-container {
    background: #ffffff;
}

.gov-group-title {
    font-family: var(--font-heading);
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.border-start-lg {
    border-left: 1px solid #edf2f7;
}

@media (max-width: 991px) {
    .border-start-lg {
        border-left: none;
        border-top: 1px solid #edf2f7;
        padding-top: 20px;
        margin-top: 10px;
    }
}

.gov-member-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f8fafc;
    border: 1px solid #e9edf2;
    border-radius: 10px;
    padding: 10px 12px;
    transition: all 0.25s ease;
}

.gov-member-cell:hover {
    background: #ffffff;
    border-color: var(--primary-maroon);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.gov-member-cell.highlight-cell {
    background: #faf5ff;
    border-color: #e9d5ff;
}

.gov-member-cell.highlight-cell:hover {
    border-color: #9333ea;
}

.member-cell-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #fee2e2;
    color: var(--primary-maroon);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    flex-shrink: 0;
}

.member-cell-icon.icon-scientist {
    background: #f3e8ff;
    color: #9333ea;
}

.member-cell-icon.icon-academic {
    background: #e0f2fe;
    color: var(--accent-blue);
}

.member-cell-icon.icon-eng {
    background: #ffedd5;
    color: #ea580c;
}

.member-cell-icon.icon-social {
    background: #dcfce7;
    color: #16a34a;
}

.member-cell-name {
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    color: var(--text-dark);
    margin: 0 0 1px;
}

.member-cell-role {
    font-size: 11px;
    color: var(--text-muted);
    display: block;
    line-height: 1.3;
}

/* Bottom Charter Banner */
.gov-charter-banner {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border: 1px solid #cbd5e1;
}

.gov-charter-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--primary-maroon);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.gov-charter-title {
    font-family: var(--font-heading);
    font-size: 14.5px;
    font-weight: 700;
    color: var(--text-dark);
}

.gov-charter-desc {
    font-size: 12.5px;
    color: var(--text-muted);
    line-height: 1.5;
}

/* --------------------------------------------------------------------------
   Section 7: Hospital Administration (Open Executive Row)
   -------------------------------------------------------------------------- */
.open-admin-item {
    border-radius: 14px;
    transition: var(--transition);
}

.open-admin-item:hover {
    background-color: #f8fafc;
    transform: translateY(-2px);
}

.admin-icon-circle {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: #fdf2f2;
    color: var(--primary-maroon);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    transition: var(--transition);
}

.open-admin-item:hover .admin-icon-circle {
    background-color: var(--primary-maroon);
    color: #ffffff;
}

.admin-open-role {
    display: inline-block;
    background-color: #f1f5f9;
    color: #334155;
    font-size: 9.5px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
    text-transform: uppercase;
}

.admin-open-name {
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--text-dark);
}

/* --------------------------------------------------------------------------
   Section 8: Future Plans (Deep Maroon Modern Expansion Cards)
   -------------------------------------------------------------------------- */
.future-img-frame-maroon {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.future-video-embed-frame {
    position: relative;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    aspect-ratio: 1 / 0.5;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
    background-color: #000000;
}

.future-video-embed-frame video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    outline: none;
}

.future-img-frame-maroon .future-masterplan-img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

.future-img-frame-maroon:hover .future-masterplan-img {
    transform: scale(1.05);
}

.future-maroon-badge {
    position: absolute;
    bottom: 12px;
    left: 12px;
    right: 12px;
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    padding: 10px 14px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}

.future-maroon-card {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 16px;
    padding: 16px 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}

.future-maroon-card:hover {
    transform: translateX(4px);
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.35);
}

.future-step-num-maroon {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 800;
    color: #fbbf24;
    line-height: 1;
    width: 34px;
    flex-shrink: 0;
    padding-top: 2px;
}

.badge-tag-dark {
    display: inline-flex;
    align-items: center;
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 50px;
}

/* --------------------------------------------------------------------------
   Section 9: Statutory Disclosure (Open Document Rows)
   -------------------------------------------------------------------------- */
.open-report-item {
    background-color: #ffffff;
    transition: var(--transition);
}

.open-report-item:hover {
    border-color: var(--primary-maroon) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
}

.report-pdf-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background-color: #fee2e2;
    color: #dc2626;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.report-pdf-icon.tag-green-pdf {
    background-color: #dcfce7;
    color: #166534;
}

.report-cat-text {
    display: block;
    font-size: 10px;
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
}

.report-open-name {
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--text-dark);
}

.btn-report-download {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: #f8fafc;
    color: var(--accent-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd5e1;
    text-decoration: none;
    transition: var(--transition);
    flex-shrink: 0;
}

.btn-report-download:hover {
    background-color: var(--accent-blue);
    color: #ffffff;
    border-color: var(--accent-blue);
}

/* --------------------------------------------------------------------------
   Section 10: Support & Patient Feedback (Deep Maroon Card like Homepage)
   -------------------------------------------------------------------------- */
.support-maroon-card {
    background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background: linear-gradient(135deg, #53111b 0%, #681523 100%);
    background-size: 4px 4px;
    border-radius: 20px;
    padding: 35px 30px;
    color: #ffffff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.support-maroon-card .open-support-title {
    color: #ffffff;
    font-size: 24px;
    font-weight: 800;
    margin: 8px 0 12px;
}

.support-maroon-card .open-support-text {
    color: rgba(255, 255, 255, 0.9);
    font-size: 13.5px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.support-tax-badge-white {
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(4px);
    color: #ffffff;
    font-size: 12.5px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
}

.support-emergency-strip {
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 14px;
    padding: 14px 18px;
    margin-top: 24px;
}

.feedback-card-white {
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 35px 30px;
    box-shadow: var(--shadow-card);
    height: 100%;
}

.open-support-title {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 800;
    color: var(--text-dark);
}

.open-support-text {
    font-size: 14px;
    line-height: 1.65;
}

.open-tax-badge {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.form-control-custom {
    width: 100%;
    padding: 8px 12px;
    font-size: 13.5px;
    font-family: var(--font-body);
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background-color: #ffffff;
    color: var(--text-dark);
    transition: var(--transition);
}

.form-control-custom:focus {
    outline: none;
    border-color: var(--primary-maroon);
    box-shadow: 0 0 0 3px rgba(111, 35, 39, 0.1);
}

/* --------------------------------------------------------------------------
   Responsive Media Queries for About Page
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {
    .about-full-section {
        padding: 45px 0;
    }

    .about-hero-title {
        font-size: 26px;
    }

    .overview-featured-img {
        height: 220px;
    }

    .overview-stat-strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .overview-stat-item:nth-child(2) {
        border-right: none;
    }

    .overview-stat-item:nth-child(3) {
        border-top: 1px solid var(--border-color);
    }

    .overview-stat-item:nth-child(4) {
        border-top: 1px solid var(--border-color);
        border-right: none;
    }
}

@media (max-width: 767px) {
    .about-hero-section {
        padding: 30px 0 25px;
    }

    .about-hero-title {
        font-size: 22px;
    }

    .section-main-title {
        font-size: 24px;
    }

    .open-founder-profile .d-flex {
        flex-direction: column;
        text-align: center;
    }

    .founder-avatar-frame {
        margin: 0 auto;
    }
}

/* --------------------------------------------------------------------------
   16. Institution Navigation Portal Hub Cards (about.html)
   -------------------------------------------------------------------------- */
.institution-hub-section {
    background-color: var(--bg-light);
    padding: 70px 0;
}

.hub-portal-card {
    background-color: #ffffff;
    border-radius: 18px;
    border: 1px solid #e2e8f0;
    padding: 28px 24px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03);
}

.hub-portal-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-maroon), #c0392b);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.hub-portal-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(111, 35, 39, 0.1);
    border-color: #fca5a5;
}

.hub-portal-card:hover::before {
    opacity: 1;
}

.hub-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.hub-card-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    transition: transform 0.3s ease;
}

.hub-portal-card:hover .hub-card-icon {
    transform: scale(1.08) rotate(3deg);
}

.hub-icon-maroon {
    background: rgba(111, 35, 39, 0.1);
    color: var(--primary-maroon);
}

.hub-icon-gold {
    background: rgba(217, 119, 6, 0.12);
    color: #d97706;
}

.hub-icon-blue {
    background: rgba(14, 116, 144, 0.1);
    color: #0e7490;
}

.hub-icon-green {
    background: rgba(22, 101, 52, 0.1);
    color: #166534;
}

.hub-icon-purple {
    background: rgba(109, 40, 217, 0.1);
    color: #6d28d9;
}

.hub-icon-orange {
    background: rgba(194, 65, 12, 0.1);
    color: #c2410c;
}

.hub-icon-cyan {
    background: rgba(8, 145, 178, 0.1);
    color: #0891b2;
}

.hub-icon-teal {
    background: rgba(15, 118, 110, 0.1);
    color: #0f766e;
}

.hub-badge {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 10px;
    border-radius: 20px;
    background: #f1f5f9;
    color: #475569;
}

.hub-card-title {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 10px;
    line-height: 1.35;
    transition: color 0.2s ease;
}

.hub-portal-card:hover .hub-card-title {
    color: var(--primary-maroon);
}

.hub-card-desc {
    font-size: 13.5px;
    line-height: 1.6;
    color: #64748b;
    margin-bottom: 20px;
    flex-grow: 1;
}

.hub-card-footer {
    padding-top: 14px;
    border-top: 1px solid #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.hub-card-link {
    font-family: var(--font-heading);
    font-size: 13.5px;
    font-weight: 600;
    color: var(--primary-maroon);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s ease;
}

.hub-card-link i {
    font-size: 12px;
    transition: transform 0.2s ease;
}

.hub-portal-card:hover .hub-card-link i {
    transform: translateX(5px);
}

/* --------------------------------------------------------------------------
   17. Rich Sub-Page Components (Timelines, Values, Impact Metrics, QA)
   -------------------------------------------------------------------------- */
.institution-value-card {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    padding: 26px 22px;
    height: 100%;
    transition: var(--transition);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
}

.institution-value-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(111, 35, 39, 0.08);
    border-color: #fca5a5;
}

.value-icon-circle {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 16px;
}

.heritage-timeline-wrap {
    position: relative;
    padding: 20px 0;
}

.heritage-timeline-wrap::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    background: #e2e8f0;
    transform: translateX(-50%);
}

@media (max-width: 767px) {
    .heritage-timeline-wrap::before {
        left: 20px;
    }
}

.timeline-milestone-card {
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    padding: 20px 22px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03);
    transition: var(--transition);
    position: relative;
}

.timeline-milestone-card:hover {
    border-color: var(--primary-maroon);
    box-shadow: 0 8px 24px rgba(111, 35, 39, 0.08);
}

.timeline-year-badge {
    display: inline-block;
    padding: 3px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    background: rgba(111, 35, 39, 0.1);
    color: var(--primary-maroon);
    margin-bottom: 8px;
}

.impact-metric-box {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    padding: 24px 18px;
    text-align: center;
    transition: var(--transition);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
}

.impact-metric-box:hover {
    transform: translateY(-3px);
    border-color: #cbd5e1;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}

.impact-num {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 800;
    color: var(--primary-maroon);
    line-height: 1.1;
    margin-bottom: 4px;
}

.impact-lbl {
    font-size: 12.5px;
    font-weight: 600;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.leadership-qa-card {
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    padding: 22px;
    margin-bottom: 16px;
    transition: var(--transition);
}

.leadership-qa-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

.admin-committee-card {
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    padding: 20px;
    height: 100%;
    transition: var(--transition);
}

.admin-committee-card:hover {
    border-color: var(--primary-maroon);
    box-shadow: 0 6px 20px rgba(111, 35, 39, 0.06);
}

.env-protocol-card {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    padding: 24px;
    height: 100%;
}

/* --------------------------------------------------------------------------
   18. Advanced Multi-Section UI Components (Facilities, Quality, Governance, Outreach)
   -------------------------------------------------------------------------- */
.facility-feature-card {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    transition: var(--transition);
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03);
}

.facility-feature-card:hover {
    transform: translateY(-5px);
    border-color: #cbd5e1;
    box-shadow: 0 16px 32px rgba(111, 35, 39, 0.09);
}

.facility-img-wrap {
    position: relative;
    height: 190px;
    overflow: hidden;
}

.facility-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.facility-feature-card:hover .facility-img-wrap img {
    transform: scale(1.06);
}

.facility-tag-pill {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(111, 35, 39, 0.9);
    backdrop-filter: blur(6px);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.facility-body {
    padding: 22px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.facility-spec-list {
    list-style: none;
    padding: 0;
    margin: 12px 0 0;
}

.facility-spec-list li {
    font-size: 13px;
    color: #475569;
    margin-bottom: 7px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.facility-spec-list li i {
    color: var(--primary-maroon);
    font-size: 12px;
}

/* Quality Metric Indicators */
.quality-metric-card {
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    padding: 20px;
    text-align: center;
    height: 100%;
    transition: var(--transition);
}

.quality-metric-card:hover {
    border-color: #38a169;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(56, 161, 105, 0.08);
}

.quality-metric-val {
    font-size: 28px;
    font-weight: 800;
    color: #166534;
    font-family: var(--font-heading);
}

.quality-metric-title {
    font-size: 13px;
    font-weight: 700;
    color: #1e293b;
    margin-top: 4px;
    margin-bottom: 2px;
}

.quality-metric-desc {
    font-size: 12px;
    color: #64748b;
    margin-bottom: 0;
}

/* Credo & Principle Cards */
.credo-pillar-card {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    padding: 24px;
    height: 100%;
    transition: var(--transition);
    position: relative;
    border-left: 4px solid var(--primary-maroon);
}

.credo-pillar-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
}

.credo-num {
    position: absolute;
    top: 18px;
    right: 20px;
    font-size: 32px;
    font-weight: 900;
    color: rgba(111, 35, 39, 0.08);
    font-family: var(--font-heading);
    line-height: 1;
}

/* Executive Directive Cards */
.directive-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 20px;
    transition: var(--transition);
}

.directive-box:hover {
    background: #ffffff;
    border-color: var(--primary-maroon);
    box-shadow: 0 6px 18px rgba(111, 35, 39, 0.05);
}

/* License & Compliance Table */
.compliance-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.compliance-table th {
    background: #f1f5f9;
    color: #1e293b;
    font-weight: 700;
    font-size: 13px;
    padding: 14px 18px;
    border-bottom: 2px solid #cbd5e1;
}

.compliance-table td {
    padding: 14px 18px;
    font-size: 13.5px;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
    background: #ffffff;
}

.compliance-table tr:hover td {
    background: #faf5f5;
}

/* Outreach Camp Card */
.outreach-badge-card {
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    padding: 22px;
    height: 100%;
    transition: var(--transition);
}

.outreach-badge-card:hover {
    border-color: #0284c7;
    box-shadow: 0 8px 24px rgba(2, 132, 199, 0.08);
    transform: translateY(-3px);
}

/* Section Divider CTA strip */
.page-cta-strip {
    background: linear-gradient(135deg, #6f2327 0%, #4a1518 100%);
    color: #ffffff;
    border-radius: 20px;
    padding: 36px 32px;
    position: relative;
    overflow: hidden;
}

.page-cta-strip::after {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 70%);
    pointer-events: none;
}

/* --------------------------------------------------------------------------
   19. Inner Heritage Banner (Signature Founders Banner with Arches)
   -------------------------------------------------------------------------- */
.inner-heritage-banner {
    background-color: #FAF6F0;
    padding: 32px 0 38px;
    position: relative;
    border-bottom: 1px solid #ECE3D7;
    overflow: hidden;
}

.inner-banner-breadcrumb {
    font-size: 13px;
    color: #8c827a;
    margin-bottom: 20px;
    font-weight: 500;
}

.inner-banner-breadcrumb a {
    color: #6f2327;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: var(--transition);
}

.inner-banner-breadcrumb a:hover {
    color: #991b1b;
}

.inner-banner-breadcrumb span.sep {
    margin: 0 8px;
    color: #b5aba1;
}

.inner-banner-layout {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.founder-arch-col {
    flex: 0 0 220px;
    text-align: center;
}

.founder-arch-frame {
    width: 210px;
    height: 270px;
    margin: 0 auto;
    border-radius: 130px 130px 0 0;
    overflow: hidden;
    background: radial-gradient(circle at center top, #f0e9dd 0%, #dfd5c5 100%);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    position: relative;
    border: 1px solid rgba(111, 35, 39, 0.08);
}

.founder-arch-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 15%;
    filter: grayscale(100%) contrast(1.08) brightness(0.96);
    mix-blend-mode: multiply;
    transition: transform 0.4s ease;
}

.founder-arch-frame:hover .founder-arch-img {
    transform: scale(1.04);
}

.founder-arch-info {
    margin-top: 14px;
}

.founder-arch-name {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
    color: #6f2327;
    margin-bottom: 2px;
    line-height: 1.25;
}

.founder-arch-role {
    font-size: 12.5px;
    color: #8c827a;
    margin-bottom: 0;
}

/* Center Content */
.inner-banner-center {
    flex: 1 1 auto;
    max-width: 680px;
    text-align: center;
    padding: 0 15px;
    margin-bottom: 10px;
}

.inner-banner-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 700;
    color: #0284c7;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.inner-banner-tag .plus-icon {
    font-size: 13px;
    font-weight: 900;
}

.inner-banner-heading {
    font-family: var(--font-heading);
    font-size: 46px;
    font-weight: 600;
    color: #6f2327;
    line-height: 1.15;
    margin-bottom: 16px;
    letter-spacing: -0.5px;
}

.inner-banner-subtext {
    font-size: 15px;
    line-height: 1.6;
    color: #59534c;
    max-width: 580px;
    margin: 0 auto 22px;
}

.inner-banner-credo-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 18px;
}

.inner-banner-credo-divider::before,
.inner-banner-credo-divider::after {
    content: '';
    height: 1px;
    width: 60px;
    background-color: #d1c7b8;
}

.inner-banner-credo-divider span {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #8c827a;
    text-transform: uppercase;
}

/* Responsive adjustments for Header & Navigation */
@media (max-width: 1799px) {
    .header-container {
        max-width: 100%;
        padding: 0 20px;
    }

    .header-grid-wrapper {
        gap: 20px;
    }

    .header-logo-link .site-logo {
        max-width: 290px;
    }

    .header-search-bar {
        width: 260px;
    }

    .top-utility-nav ul {
        gap: 12px;
    }

    .top-utility-nav ul li a {
        font-size: 13.5px;
    }

    .main-nav-list {
        gap: 34px;
    }

    .main-nav-list .nav-link {
        font-size: 14.5px;
    }

    .btn-nav-outline {
        padding: 5px 12px;
        font-size: 12px;
    }

    .btn-nav-solid {
        padding: 6px 14px;
        font-size: 13px;
    }
}

@media (max-width: 1536px) {
    .header-grid-wrapper {
        gap: 16px;
    }

    .header-logo-link .site-logo {
        max-width: 250px;
    }

    .header-search-bar {
        width: 220px;
    }

    .search-input {
        font-size: 13.5px;
        height: 38px;
    }

    .search-btn {
        width: 34px;
        height: 34px;
    }

    .top-utility-nav ul {
        gap: 10px;
    }

    .top-utility-nav ul li a {
        font-size: 13px;
    }

    .btn-pill-emergency,
    .btn-pill-find-doctor {
        font-size: 13px;
        padding: 4px 10px;
    }

    .main-nav-list {
        gap: 30px;
    }

    .main-nav-list .nav-link {
        font-size: 13.5px;
        gap: 3px;
    }

    .nav-action-buttons {
        gap: 6px;
    }

    .btn-nav-outline {
        padding: 5px 10px;
        font-size: 11.5px;
    }

    .btn-nav-solid {
        padding: 5px 12px;
        font-size: 12px;
    }
}

@media (max-width: 1279px) {
    .header-logo-link .site-logo {
        max-width: 210px;
    }

    .header-search-bar {
        width: 160px;
    }

    .top-utility-nav ul {
        gap: 7px;
    }

    .top-utility-nav ul li a {
        font-size: 12px;
    }

    .main-nav-list {
        gap: 7px;
    }

    .main-nav-list .nav-link {
        font-size: 12.5px;
        gap: 2px;
    }

    .main-nav-list .nav-link .nav-arrow {
        width: 7px;
    }

    .nav-action-buttons {
        gap: 5px;
    }

    .btn-nav-outline {
        padding: 4px 7px;
        font-size: 11px;
    }

    .btn-nav-solid {
        padding: 4px 9px;
        font-size: 11px;
    }
}

@media (max-width: 1099px) {
    .header-logo-link .site-logo {
        max-width: 180px;
    }

    .header-search-bar {
        width: 140px;
    }

    .top-utility-nav ul li:nth-child(6) {
        display: none;
    }

    .main-nav-list {
        gap: 5px;
    }

    .main-nav-list .nav-link {
        font-size: 11.5px;
    }

    .nav-action-buttons .btn-nav-outline {
        display: none;
    }

    .btn-nav-solid {
        padding: 4px 8px;
        font-size: 11px;
    }
}

@media (max-width: 991px) {
    .inner-banner-layout {
        flex-direction: column;
        align-items: center;
        gap: 28px;
    }

    .inner-banner-heading {
        font-size: 34px;
    }

    .founder-arches-mobile-row {
        display: flex;
        justify-content: center;
        gap: 24px;
        width: 100%;
    }

    .founder-arch-col {
        flex: 0 0 160px;
    }

    .founder-arch-frame {
        width: 150px;
        height: 200px;
        border-radius: 90px 90px 0 0;
    }

    .founder-arch-name {
        font-size: 14px;
    }
}

/* ==========================================================================
   20. New About Section 1 (Pure Provided Content Showcase)
   ========================================================================== */
.new-about-section1 {
    position: relative;
    padding: 70px 0 75px;
    background: linear-gradient(180deg, #FAF6F0 0%, #FFFFFF 100%);
    border-bottom: 1px solid #ECE3D7;
}

.new-about-grid {
    display: grid;
    grid-template-columns: 1fr 1.18fr;
    gap: 48px;
    align-items: center;
}

.new-about-media {
    position: relative;
}

.new-about-img-card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(111, 35, 39, 0.12);
    box-shadow: 0 16px 40px rgba(111, 35, 39, 0.12), 0 2px 10px rgba(0, 0, 0, 0.04);
    transition: var(--transition);
}

.new-about-img-card:hover {
    box-shadow: 0 22px 50px rgba(111, 35, 39, 0.18), 0 4px 14px rgba(0, 0, 0, 0.06);
    border-color: rgba(111, 35, 39, 0.25);
}

.new-about-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 420px;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.new-about-img-card:hover .new-about-img {
    transform: scale(1.04);
}

.new-about-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.new-about-lead-box {
    background: #ffffff;
    border-left: 4px solid var(--primary-maroon);
    border-radius: 0 16px 16px 0;
    padding: 24px 26px;
    box-shadow: 0 6px 20px rgba(111, 35, 39, 0.06);
    border-top: 1px solid rgba(111, 35, 39, 0.08);
    border-right: 1px solid rgba(111, 35, 39, 0.08);
    border-bottom: 1px solid rgba(111, 35, 39, 0.08);
    transition: var(--transition);
}

.new-about-lead-box:hover {
    box-shadow: 0 10px 28px rgba(111, 35, 39, 0.1);
    transform: translateX(4px);
    border-left-color: var(--primary-red);
}

.new-about-lead-box p {
    font-size: 16.5px;
    line-height: 1.75;
    color: #1e293b;
    font-weight: 500;
    margin-bottom: 0;
}

.new-about-body-text p {
    font-size: 15px;
    line-height: 1.8;
    color: #475569;
    margin-bottom: 16px;
}

.new-about-body-text p:last-child {
    margin-bottom: 0;
}

/* Responsive Breakpoints */
@media (max-width: 991px) {
    .new-about-section1 {
        padding: 50px 0 60px;
    }

    .new-about-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .new-about-img {
        min-height: 320px;
    }
}

@media (max-width: 767px) {
    .new-about-lead-box {
        padding: 18px 20px;
    }

    .new-about-lead-box p {
        font-size: 15px;
        line-height: 1.65;
    }

    .new-about-body-text p {
        font-size: 14px;
        line-height: 1.7;
    }
}

/* ==========================================================================
   21. Clinical Infrastructure & Facilities Showcase
   ========================================================================== */
.facility-feature-card {
    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
    transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.facility-feature-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(111, 35, 39, 0.12);
    border-color: rgba(111, 35, 39, 0.2);
}

.facility-img-wrap {
    position: relative;
    height: 190px;
    overflow: hidden;
}

.facility-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.facility-feature-card:hover .facility-img-wrap img {
    transform: scale(1.08);
}

.facility-tag-pill {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(111, 35, 39, 0.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 4px 12px;
    border-radius: 50px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.facility-body {
    padding: 22px 22px 24px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.facility-body h4 {
    color: #1e293b;
    font-size: 16.5px;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 8px;
}

.facility-body p {
    font-size: 13px;
    line-height: 1.65;
    color: #64748b !important;
    margin-bottom: 16px;
}

.facility-spec-list {
    list-style: none;
    padding: 0;
    margin: auto 0 0;
    border-top: 1px dashed #e2e8f0;
    padding-top: 14px;
}

.facility-spec-list li {
    font-size: 12.5px;
    font-weight: 600;
    color: #334155;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.facility-spec-list li:last-child {
    margin-bottom: 0;
}

.facility-spec-list li i {
    color: #16a34a;
    font-size: 11px;
}

/* ==========================================================================
   22. Institutional Governance & Governing Council (Odd/Even Section Theming)
   ========================================================================== */
.gov-block {
    position: relative;
    padding: 85px 0 95px;
    overflow: hidden;
}

/* --------------------------------------------------------------------------
   ODD BLOCKS: Maroon Background (--primary-maroon: #8D0020)
   -------------------------------------------------------------------------- */
.gov-block-maroon {
    background: radial-gradient(circle at 50% 0%, #a80e2f 0%, var(--primary-maroon) 45%, #630016 80%, var(--primary-maroon-dark) 100%) !important;
    color: var(--bg-cream);
    border-top: 1px solid rgba(253, 247, 237, 0.18);
    border-bottom: 1px solid rgba(253, 247, 237, 0.18);
}

.gov-block-maroon::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(rgba(253, 247, 237, 0.06) 1.2px, transparent 1.2px),
        radial-gradient(rgba(253, 247, 237, 0.03) 1.2px, transparent 1.2px);
    background-size: 36px 36px;
    background-position: 0 0, 18px 18px;
    pointer-events: none;
}

.gov-block-maroon::after {
    content: '';
    position: absolute;
    top: 15%;
    right: -100px;
    width: 520px;
    height: 520px;
    background: radial-gradient(circle, rgba(253, 247, 237, 0.1) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    filter: blur(45px);
}

.gov-block-maroon .container {
    position: relative;
    z-index: 2;
}

.gov-block-maroon .text-maroon,
.gov-block-maroon .text-dark,
.gov-block-maroon .text-primary {
    color: var(--bg-cream) !important;
}

.gov-block-maroon .text-muted {
    color: rgba(253, 247, 237, 0.88) !important;
}

.gov-block-maroon .section-badge {
    background: rgba(253, 247, 237, 0.14);
    color: var(--bg-cream);
    border: 1.5px solid rgba(253, 247, 237, 0.4);
    padding: 8px 22px;
    border-radius: 50px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.gov-block-maroon .badge-icon {
    width: 15px;
    height: 15px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.gov-block-maroon .section-main-title {
    color: var(--bg-cream);
    font-family: var(--font-heading);
    font-size: 40px;
    font-weight: 800;
    margin-top: 16px;
    margin-bottom: 14px;
    letter-spacing: -0.5px;
    line-height: 1.25;
}

.gov-block-maroon .section-main-title .highlight-maroon {
    background: linear-gradient(135deg, #ffffff 0%, var(--bg-cream) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

.gov-block-maroon .section-sub-desc {
    color: rgba(253, 247, 237, 0.88);
    font-size: 16.5px;
    line-height: 1.7;
    max-width: 840px;
    margin: 0 auto;
    font-weight: 400;
}

/* Society Regulatory Card (Maroon Theme) */
.gov-registry-card {
    background: linear-gradient(135deg, rgba(253, 247, 237, 0.14) 0%, rgba(253, 247, 237, 0.05) 100%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1.5px solid rgba(253, 247, 237, 0.28);
    border-radius: 22px;
    padding: 26px 32px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(253, 247, 237, 0.25);
    transition: all 0.3s ease;
}

.gov-registry-card:hover {
    border-color: rgba(253, 247, 237, 0.55);
    box-shadow: 0 22px 52px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(253, 247, 237, 0.4);
    transform: translateY(-2px);
}

.gov-reg-emblem {
    width: 72px;
    height: 72px;
    background: var(--bg-cream);
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    border: 2px solid #ffffff;
    flex-shrink: 0;
}

.gov-logo-img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.gov-reg-badge {
    display: inline-flex;
    align-items: center;
    background: rgba(253, 247, 237, 0.22);
    color: var(--bg-cream);
    border: 1px solid rgba(253, 247, 237, 0.5);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    padding: 4px 14px;
    border-radius: 6px;
    margin-bottom: 6px;
}

.gov-society-name {
    color: var(--bg-cream);
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0.5px;
    line-height: 1.3;
}

.gov-society-reg {
    color: rgba(253, 247, 237, 0.88) !important;
    font-size: 14px;
    line-height: 1.5;
}

.gov-society-reg strong {
    color: var(--bg-cream);
    font-weight: 700;
}

.gov-tenet-pill {
    display: inline-flex;
    align-items: center;
    background: rgba(253, 247, 237, 0.15);
    color: var(--bg-cream);
    border: 1px solid rgba(253, 247, 237, 0.3);
    padding: 8px 18px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    backdrop-filter: blur(10px);
    transition: all 0.25s ease;
}

.gov-tenet-pill:hover {
    background: rgba(253, 247, 237, 0.28);
    transform: translateY(-2px);
    border-color: rgba(253, 247, 237, 0.55);
}

.gov-tenet-pill .text-maroon {
    color: var(--bg-cream) !important;
}

.gov-tenet-pill .text-success {
    color: #5eead4 !important;
}

.gov-tenet-pill .text-primary {
    color: #7dd3fc !important;
}

/* President Spotlight Card */
.gov-president-spotlight {
    background: linear-gradient(135deg, rgba(253, 247, 237, 0.16) 0%, rgba(253, 247, 237, 0.06) 100%);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    border: 1.5px solid rgba(253, 247, 237, 0.4);
    border-radius: 26px;
    padding: 38px 42px;
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(253, 247, 237, 0.3);
    position: relative;
    overflow: hidden;
    transition: all 0.35s ease;
}

.gov-president-spotlight::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, transparent, var(--bg-cream), transparent);
}

.gov-president-spotlight::after {
    content: '';
    position: absolute;
    top: -60px;
    right: -60px;
    width: 240px;
    height: 240px;
    background: radial-gradient(circle, rgba(253, 247, 237, 0.14) 0%, transparent 70%);
    pointer-events: none;
}

.gov-president-spotlight:hover {
    border-color: rgba(253, 247, 237, 0.7);
    box-shadow: 0 28px 65px rgba(0, 0, 0, 0.48), inset 0 1px 0 rgba(253, 247, 237, 0.5);
    transform: translateY(-2px);
}

.gov-pres-avatar-wrap {
    width: 124px;
    height: 124px;
    border-radius: 30px;
    overflow: hidden;
    border: 4px solid var(--bg-cream);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
    flex-shrink: 0;
    background: #1e293b;
    position: relative;
}

.gov-pres-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.gov-president-spotlight:hover .gov-pres-avatar-img {
    transform: scale(1.08);
}

.gov-role-pill.badge-pres {
    background: rgba(253, 247, 237, 0.24);
    color: var(--bg-cream);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 6px 16px;
    border-radius: 50px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(253, 247, 237, 0.45);
    display: inline-flex;
    align-items: center;
}

.gov-loc-pill {
    background: rgba(253, 247, 237, 0.14);
    color: rgba(253, 247, 237, 0.88);
    font-size: 12.5px;
    font-weight: 500;
    padding: 5px 14px;
    border-radius: 50px;
    border: 1px solid rgba(253, 247, 237, 0.25);
    display: inline-flex;
    align-items: center;
}

.gov-pres-name {
    color: var(--bg-cream);
    font-family: var(--font-heading);
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.3px;
    margin-top: 6px;
}

.gov-pres-title {
    color: var(--bg-cream) !important;
    font-size: 16px;
    font-weight: 600;
    opacity: 0.95;
}

.gov-pres-bio {
    color: rgba(253, 247, 237, 0.88) !important;
    font-size: 14.5px;
    line-height: 1.7;
}

.gov-pres-assurance-box {
    background: rgba(30, 0, 8, 0.45);
    border: 1.5px solid rgba(253, 247, 237, 0.25);
    border-radius: 20px;
    padding: 24px;
    backdrop-filter: blur(14px);
    text-align: left;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.25);
}

.assurance-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: rgba(253, 247, 237, 0.2);
    color: var(--bg-cream);
    font-size: 22px;
    margin-bottom: 12px;
    border: 1px solid rgba(253, 247, 237, 0.4);
}

.assurance-label {
    display: block;
    color: var(--bg-cream);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.6px;
    margin-bottom: 4px;
}

.assurance-text {
    color: rgba(253, 247, 237, 0.88);
    font-size: 13px;
    line-height: 1.6;
}

/* Vice Presidents Cards (Maroon Block) */
.gov-vp-card {
    background: linear-gradient(145deg, rgba(253, 247, 237, 0.14) 0%, rgba(253, 247, 237, 0.04) 100%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(253, 247, 237, 0.25);
    border-radius: 22px;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24);
}

.gov-vp-card:hover {
    transform: translateY(-5px);
    background: linear-gradient(145deg, rgba(253, 247, 237, 0.2) 0%, rgba(253, 247, 237, 0.08) 100%);
    border-color: rgba(253, 247, 237, 0.55);
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.38);
}

.gov-vp-avatar-wrap {
    width: 86px;
    height: 86px;
    border-radius: 50%;
    overflow: hidden;
    border: 3.5px solid var(--bg-cream);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
    flex-shrink: 0;
    background: #1e293b;
}

.gov-vp-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.gov-vp-card:hover .gov-vp-avatar-img {
    transform: scale(1.1);
}

.vp-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 16px;
}

.vp-role-pill {
    background: rgba(253, 247, 237, 0.24);
    color: var(--bg-cream);
    border: 1px solid rgba(253, 247, 237, 0.45);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 4px 10px;
    border-radius: 6px;
    text-transform: uppercase;
}

.vp-domain-tag {
    background: rgba(253, 247, 237, 0.14);
    color: var(--bg-cream);
    font-size: 11.5px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 50px;
    border: 1px solid rgba(253, 247, 237, 0.25);
}

.vp-card-name {
    color: var(--bg-cream);
    font-family: var(--font-heading);
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 4px;
    line-height: 1.35;
}

.vp-card-desc {
    color: rgba(253, 247, 237, 0.88);
    font-size: 13.5px;
    line-height: 1.55;
}

/* Section Dividers in Maroon Block */
.gov-block-maroon .gov-section-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    position: relative;
}

.gov-block-maroon .gov-section-divider::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(253, 247, 237, 0.35), transparent);
    top: 50%;
    z-index: 1;
}

.gov-block-maroon .gov-section-divider .divider-title {
    position: relative;
    z-index: 2;
    background: #630016;
    border: 1.5px solid rgba(253, 247, 237, 0.38);
    color: var(--bg-cream);
    padding: 9px 28px;
    border-radius: 50px;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
}

.gov-block-maroon .gov-section-divider .divider-title i {
    color: var(--bg-cream) !important;
}


/* --------------------------------------------------------------------------
   EVEN BLOCKS: Light Background (--bg-light: #F7F7F7)
   -------------------------------------------------------------------------- */
.gov-block-light {
    background-color: var(--bg-light) !important;
    color: var(--text-dark);
    border-top: 1px solid #e5e9ef;
    border-bottom: 1px solid #e5e9ef;
    position: relative;
}

.gov-block-light::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(rgba(141, 0, 32, 0.03) 1.2px, transparent 1.2px);
    background-size: 32px 32px;
    pointer-events: none;
}

.gov-block-light .container {
    position: relative;
    z-index: 2;
}

.gov-block-light .gov-section-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 32px;
    position: relative;
}

.gov-block-light .gov-section-divider::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(141, 0, 32, 0.25), transparent);
    top: 50%;
    z-index: 1;
}

.gov-block-light .gov-section-divider .divider-title {
    position: relative;
    z-index: 2;
    background: var(--primary-maroon);
    border: 1.5px solid var(--primary-maroon);
    color: #ffffff;
    padding: 9px 28px;
    border-radius: 50px;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    box-shadow: 0 8px 22px rgba(141, 0, 32, 0.25);
}

.gov-block-light .gov-section-divider .divider-title i {
    color: #ffffff !important;
}

/* Executive Officers Cards (Light Theme) */
.gov-block-light .gov-officer-card {
    background: var(--bg-light);
    border: 1.5px solid #e5e9ef;
    border-radius: 24px;
    padding: 30px 28px;
    display: flex;
    flex-direction: column;
    transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
    position: relative;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.gov-block-light .gov-officer-card:hover {
    transform: translateY(-6px);
    border-color: rgba(141, 0, 32, 0.35);
    box-shadow: 0 20px 45px rgba(141, 0, 32, 0.12);
}

.gov-block-light .gov-officer-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--primary-maroon);
    opacity: 0.85;
}

.gov-officer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.gov-block-light .gov-officer-avatar-wrap {
    width: 96px;
    height: 96px;
    border-radius: 24px;
    overflow: hidden;
    border: 3.5px solid var(--primary-maroon);
    box-shadow: 0 10px 24px rgba(141, 0, 32, 0.2);
    flex-shrink: 0;
    background: #1e293b;
}

.gov-block-light .gov-officer-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.gov-block-light .gov-officer-card:hover .gov-officer-avatar-img {
    transform: scale(1.1);
}

.gov-block-light .gov-officer-tag {
    background: rgba(141, 0, 32, 0.08);
    color: var(--primary-maroon);
    border: 1px solid rgba(141, 0, 32, 0.25);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 6px 14px;
    border-radius: 50px;
}

.gov-block-light .gov-officer-name {
    color: var(--text-dark);
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 4px;
    line-height: 1.3;
}

.gov-block-light .gov-officer-desig {
    color: var(--primary-maroon);
    font-size: 14.5px;
    font-weight: 600;
    display: block;
    margin-bottom: 14px;
}

.gov-block-light .gov-officer-desc {
    color: var(--text-muted);
    font-size: 14px;
    line-height: 1.65;
    margin-bottom: 22px;
    flex-grow: 1;
}

.gov-block-light .gov-officer-foot {
    padding-top: 16px;
    border-top: 1px solid #edf1f7;
}

.gov-block-light .gov-officer-foot .foot-badge {
    color: var(--text-dark);
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
}

.gov-block-light .gov-officer-foot .foot-badge .text-success {
    color: #0d9488 !important;
}

.gov-block-light .gov-officer-foot .foot-badge .text-primary {
    color: var(--accent-blue) !important;
}

/* Governing Body Directory Container (Light Theme) */
.gov-block-light .gov-members-container {
    background: #ffffff !important;
    border: 1.5px solid #e5e9ef !important;
    border-radius: 26px !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.06) !important;
    padding: 36px 32px !important;
}

.gov-block-light .gov-group-title {
    color: var(--primary-maroon) !important;
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.3px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #e5e9ef;
    padding-bottom: 14px;
}

.gov-block-light .gov-group-title i {
    color: var(--primary-maroon) !important;
}

.gov-block-light .gov-member-cell {
    background: var(--bg-light);
    border: 1.5px solid #e5e9ef;
    border-radius: 20px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 18px;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    height: 100%;
}

.gov-block-light .gov-member-cell:hover {
    background: #ffffff;
    border-color: rgba(141, 0, 32, 0.4);
    transform: translateX(4px);
    box-shadow: 0 10px 28px rgba(141, 0, 32, 0.12);
}

.gov-block-light .gov-member-cell.highlight-cell {
    background: linear-gradient(135deg, rgba(141, 0, 32, 0.06) 0%, rgba(141, 0, 32, 0.02) 100%);
    border-color: rgba(141, 0, 32, 0.3);
}

.gov-block-light .member-avatar-frame {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 3.5px solid var(--primary-maroon);
    box-shadow: 0 8px 22px rgba(141, 0, 32, 0.2);
    background: #1e293b;
    position: relative;
}

.gov-block-light .member-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.gov-block-light .gov-member-cell:hover .member-avatar-img {
    transform: scale(1.1);
}

.gov-block-light .member-cell-info {
    flex-grow: 1;
    min-width: 0;
}

.gov-block-light .member-cell-name {
    color: var(--text-dark);
    font-family: var(--font-heading);
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 4px;
    line-height: 1.3;
}

.gov-block-light .member-cell-role {
    color: var(--text-muted);
    font-size: 13.5px;
    line-height: 1.5;
    display: block;
}

.gov-block-light .highlight-cell .member-cell-name {
    color: var(--primary-maroon);
    font-weight: 800;
}

.gov-block-light .border-start-lg {
    border-left: 1px solid #e5e9ef;
    padding-left: 30px;
}

@media (max-width: 991px) {
    .gov-block-light .border-start-lg {
        border-left: none;
        padding-left: 12px;
        border-top: 1px solid #e5e9ef;
        padding-top: 26px;
        margin-top: 20px;
    }
}

/* Democratic Charter Banner (Light Theme) */
.gov-block-light .gov-charter-banner {
    background: #ffffff;
    border: 1.5px solid rgba(141, 0, 32, 0.25);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
    border-radius: 22px !important;
}

.gov-block-light .gov-charter-banner:hover {
    border-color: rgba(141, 0, 32, 0.5);
    box-shadow: 0 18px 42px rgba(141, 0, 32, 0.12);
}

.gov-block-light .gov-charter-icon {
    width: 62px;
    height: 62px;
    border-radius: 18px;
    background: var(--primary-maroon);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #ffffff;
    box-shadow: 0 8px 24px rgba(141, 0, 32, 0.25);
    border: 1px solid var(--primary-maroon);
}

.gov-block-light .gov-charter-title {
    color: var(--primary-maroon);
    font-family: var(--font-heading);
    font-size: 19px;
    font-weight: 700;
}

.gov-block-light .gov-charter-desc {
    color: var(--text-muted);
    font-size: 14.5px;
    line-height: 1.7;
}

/* Responsive Queries */
@media (max-width: 991px) {
    .gov-block {
        padding: 60px 0 70px;
    }

    .gov-block-maroon .section-main-title {
        font-size: 32px;
    }

    .gov-president-spotlight {
        padding: 26px 22px;
    }

    .gov-pres-name {
        font-size: 24px;
    }

    .gov-registry-card {
        padding: 22px;
    }

    .gov-officer-card {
        padding: 24px 22px;
    }
}

@media (max-width: 575px) {
    .gov-block-maroon .section-main-title {
        font-size: 26px;
    }

    .gov-society-name {
        font-size: 17px;
    }

    .gov-pres-avatar-wrap {
        width: 95px;
        height: 95px;
    }

    .gov-officer-avatar-wrap {
        width: 80px;
        height: 80px;
    }

    .gov-vp-avatar-wrap {
        width: 72px;
        height: 72px;
    }

    .member-avatar-frame {
        width: 72px;
        height: 72px;
    }
}

/* ==========================================================================
   21. EXPANSION & MODERNIZATION SECTION (Future Plans & Institutional Growth)
   ========================================================================== */
.expansion-modernization-section {
    position: relative;
    padding: 95px 0 105px;
    background: radial-gradient(circle at 50% 0%, #75001a 0%, #8D0020 38%, #520012 75%, #38000c 100%);
    overflow: hidden;
    color: #ffffff;
}

.expansion-ambient-glow {
    position: absolute;
    top: -150px;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    height: 600px;
    background: radial-gradient(circle, rgba(230, 175, 46, 0.18) 0%, rgba(141, 0, 32, 0.05) 50%, transparent 70%);
    filter: blur(80px);
    pointer-events: none;
    z-index: 0;
}

.expansion-pattern-overlay {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(rgba(253, 247, 237, 0.07) 1.2px, transparent 1.2px),
        linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: 32px 32px, 100% 64px;
    pointer-events: none;
    z-index: 0;
}

.expansion-badge-pill {
    display: inline-flex;
    align-items: center;
    padding: 7px 20px;
    border-radius: 50px;
    background: rgba(253, 247, 237, 0.12);
    border: 1px solid rgba(253, 247, 237, 0.28);
    color: #FDF7ED;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.expansion-main-title {
    font-family: var(--font-heading);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.5px;
}

.text-gold-gradient {
    background: linear-gradient(135deg, #ffffff 0%, #FDF7ED 35%, #F59E0B 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 800;
}

.expansion-title-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin: 18px auto 22px;
}

.expansion-title-divider .divider-line {
    width: 70px;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(245, 158, 11, 0.8), transparent);
    display: inline-block;
}

.expansion-title-divider .divider-icon {
    color: #F59E0B;
    font-size: 16px;
    animation: pulseHeartBeat 2.2s infinite ease-in-out;
}

@keyframes pulseHeartBeat {

    0%,
    100% {
        transform: scale(1);
        filter: drop-shadow(0 0 2px rgba(245, 158, 11, 0.4));
    }

    15% {
        transform: scale(1.25);
        filter: drop-shadow(0 0 8px rgba(245, 158, 11, 0.8));
    }

    30% {
        transform: scale(1);
    }

    45% {
        transform: scale(1.18);
        filter: drop-shadow(0 0 6px rgba(245, 158, 11, 0.6));
    }
}

.expansion-sub-desc {
    max-width: 780px;
    font-size: 15.5px;
    line-height: 1.7;
    color: rgba(253, 247, 237, 0.88);
}

/* Cinematic Video Player Showcase */
.expansion-cinema-wrapper {
    background: rgba(20, 3, 7, 0.45);
    border: 1.5px solid rgba(253, 247, 237, 0.22);
    border-radius: 26px;
    overflow: hidden;
    backdrop-filter: blur(16px);
    box-shadow: 0 30px 70px -15px rgba(0, 0, 0, 0.6), 0 0 45px rgba(141, 0, 32, 0.35);
    transition: all 0.35s ease;
}

.expansion-cinema-wrapper:hover {
    border-color: rgba(245, 158, 11, 0.5);
    box-shadow: 0 35px 85px -15px rgba(0, 0, 0, 0.7), 0 0 55px rgba(245, 158, 11, 0.25);
}

.cinema-header-strip {
    padding: 16px 26px;
    background: rgba(10, 1, 3, 0.6);
    border-bottom: 1px solid rgba(253, 247, 237, 0.14);
}

.pulse-indicator {
    position: relative;
    width: 12px;
    height: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pulse-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #22c55e;
    display: block;
}

.pulse-ring {
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid #22c55e;
    animation: pingRing 1.8s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes pingRing {
    0% {
        transform: scale(0.6);
        opacity: 1;
    }

    80%,
    100% {
        transform: scale(1.8);
        opacity: 0;
    }
}

.cinema-live-label {
    font-size: 14px;
    letter-spacing: 0.3px;
}

.cinema-tag-badge {
    background: rgba(253, 247, 237, 0.12);
    border: 1px solid rgba(253, 247, 237, 0.22);
    padding: 5px 14px;
    border-radius: 30px;
    font-size: 12px;
    color: #ffffff;
    font-weight: 600;
}

.cinema-video-frame {
    position: relative;
    width: 100%;
    background: #000000;
    overflow: hidden;
}

.expansion-video-tag {
    width: 100%;
    max-height: 520px;
    display: block;
    object-fit: cover;
    aspect-ratio: 16 / 9;
    border: none;
    outline: none;
}

/* Expansion Content Card */
.expansion-content-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1.5px solid rgba(253, 247, 237, 0.2);
    border-radius: 22px;
    padding: 38px 42px;
    backdrop-filter: blur(14px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
    transition: var(--transition);
}

.expansion-content-card:hover {
    border-color: rgba(245, 158, 11, 0.45);
    background: rgba(255, 255, 255, 0.08);
}

.expansion-content-title {
    font-family: var(--font-heading);
    font-size: 26px;
    font-weight: 700;
    line-height: 1.35;
}

.expansion-content-body p {
    font-size: 15.5px;
    line-height: 1.78;
    color: rgba(253, 247, 237, 0.88);
    margin-bottom: 16px;
}

.expansion-content-body p strong {
    color: #ffffff;
    font-weight: 600;
}

.expansion-feature-pills {
    border-top: 1px solid rgba(253, 247, 237, 0.15) !important;
}

.expansion-pill {
    background: rgba(253, 247, 237, 0.09);
    border: 1px solid rgba(253, 247, 237, 0.18);
    color: #FDF7ED;
    font-size: 12.5px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    transition: var(--transition);
}

.expansion-pill:hover {
    background: rgba(253, 247, 237, 0.18);
    border-color: rgba(245, 158, 11, 0.4);
    transform: translateY(-2px);
}

/* Responsive Queries for Expansion Section */
@media (max-width: 991px) {
    .expansion-modernization-section {
        padding: 70px 0 80px;
    }

    .expansion-main-title {
        font-size: 32px;
    }

    .expansion-content-card {
        padding: 28px 24px;
    }

    .expansion-content-title {
        font-size: 22px;
    }
}

@media (max-width: 575px) {
    .expansion-main-title {
        font-size: 26px;
    }

    .expansion-badge-pill {
        font-size: 11px;
        padding: 5px 14px;
    }

    .cinema-header-strip {
        padding: 12px 16px;
    }

    .expansion-content-card {
        padding: 22px 18px;
    }

    .expansion-content-title {
        font-size: 19px;
    }

    .expansion-content-body p {
        font-size: 14.5px;
    }
}

/* ==========================================================================
   22. SOCIO-MEDICAL SERVICES PAGE REDESIGN
   ========================================================================== */

/* Sub Navigation & Notice Box */
.socio-subnav-section {
    padding: 35px 0 10px;
    background: #ffffff;
}

.socio-pills-row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 22px;
}

.socio-nav-pill {
    display: inline-flex;
    align-items: center;
    padding: 8px 24px;
    border-radius: 50px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 13.5px;
    text-decoration: none;
    transition: all 0.25s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}

.socio-nav-pill:hover,
.socio-nav-pill.active {
    border-color: var(--primary-maroon);
    color: var(--primary-maroon);
    background: #FAF4EB;
    box-shadow: 0 4px 12px rgba(141, 0, 32, 0.08);
}

.socio-notice-box {
    border: 1px solid #e8e2d8;
    border-radius: 50px;
    padding: 10px 28px;
    text-align: center;
    max-width: 940px;
    margin: 0 auto;
    font-size: 13.5px;
    color: #64748b;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
}

/* Alternating Socio Sections */
.socio-section-cream {
    background-color: #FAF4EB;
    padding: 85px 0;
}

.socio-section-white {
    background-color: #ffffff;
    padding: 85px 0;
}

.socio-kicker {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--primary-maroon);
    margin-bottom: 14px;
}

.socio-kicker .plus {
    font-weight: 800;
    margin-right: 2px;
}

.socio-title {
    font-family: var(--font-heading);
    font-size: 38px;
    font-weight: 700;
    color: #1e1e1e;
    line-height: 1.22;
    margin-bottom: 16px;
    letter-spacing: -0.5px;
}

.socio-subhead {
    font-family: var(--font-heading);
    font-size: 17px;
    font-weight: 700;
    color: var(--primary-maroon);
    margin-bottom: 14px;
}

.socio-desc-para {
    font-size: 15px;
    line-height: 1.78;
    color: #475569;
    margin-bottom: 14px;
}

.socio-desc-para:last-child {
    margin-bottom: 0;
}

/* Framed Images */
.socio-image-card {
    background: #EFE7DA;
    padding: 16px;
    border-radius: 140px 32px 32px 32px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.socio-section-white .socio-image-card {
    background: #FAF4EB;
}

.socio-image-card:hover {
    transform: translateY(-3px);
}

.socio-showcase-img {
    width: 100%;
    border-radius: 124px 20px 20px 20px;
    object-fit: cover;
    max-height: 380px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
    display: block;
}

/* Disaster Relief Section (Deep Maroon) */
.socio-disaster-section {
    background: radial-gradient(circle at 10% 20%, #7d001c 0%, #8D0020 45%, #520012 100%);
    color: #ffffff;
    padding: 95px 0;
}

.socio-kicker-white {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #FDF7ED;
    opacity: 0.9;
    margin-bottom: 14px;
}

.socio-kicker-white .plus {
    margin-right: 2px;
    font-weight: 800;
}

.socio-title-white {
    font-family: var(--font-heading);
    font-size: 38px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.22;
    margin-bottom: 18px;
    letter-spacing: -0.5px;
}

.socio-desc-white {
    font-size: 15.5px;
    line-height: 1.75;
    color: rgba(253, 247, 237, 0.88);
    margin-bottom: 28px;
}

.disaster-thumb-box {
    border-radius: 18px;
    overflow: hidden;
    border: 1.5px solid rgba(253, 247, 237, 0.25);
    max-width: 500px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
}

.disaster-thumb-img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    display: block;
}

.disaster-timeline-stack {
    display: flex;
    flex-direction: column;
}

.disaster-item {
    padding: 16px 0 20px;
    border-bottom: 1px solid rgba(253, 247, 237, 0.2);
}

.disaster-item:first-child {
    padding-top: 0;
}

.disaster-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.disaster-year {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    color: rgba(253, 247, 237, 0.7);
    text-transform: uppercase;
    display: block;
    margin-bottom: 3px;
}

.disaster-title {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 4px;
}

.disaster-desc {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(253, 247, 237, 0.85);
    margin-bottom: 0;
}

/* Academic & Cultural Section */
.socio-academic-section {
    background-color: #ffffff;
    padding: 95px 0 100px;
}

.socio-header-desc {
    font-size: 15px;
    line-height: 1.72;
    color: #64748b;
    max-width: 440px;
}

.cultural-photo-card {
    display: block;
    text-decoration: none;
    transition: all 0.3s ease;
}

.cultural-img-frame {
    border-radius: 18px;
    overflow: hidden;
    background: #000000;
    height: 250px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
    position: relative;
}

.cultural-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.cultural-photo-card:hover .cultural-card-img {
    transform: scale(1.05);
}

.cultural-photo-caption {
    font-size: 13.5px;
    font-weight: 500;
    color: #64748b;
    margin-top: 10px;
    margin-bottom: 0;
}

.socio-cultural-bottom-note {
    font-size: 14.5px;
    line-height: 1.75;
    color: #64748b;
    max-width: 860px;
    margin: 50px auto 0;
    text-align: center;
}

/* Explore More Strip */
.socio-explore-section {
    background-color: #FAF4EB;
    padding: 85px 0 95px;
    border-top: 1px solid #eee5d8;
}

.more-explore-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 28px;
    background: transparent;
    border-top: 1.5px solid #ded5c6;
    border-bottom: 1.5px solid #ded5c6;
    text-decoration: none;
    transition: all 0.3s ease;
}

.more-explore-card:hover {
    background: rgba(141, 0, 32, 0.04);
    border-color: var(--primary-maroon);
}

.more-explore-num {
    font-size: 13px;
    color: #8c8273;
    font-weight: 600;
    margin-bottom: 4px;
    display: block;
}

.more-explore-title {
    font-family: var(--font-heading);
    font-size: 19px;
    font-weight: 700;
    color: var(--primary-maroon);
    margin-bottom: 0;
}

.more-explore-arrow {
    font-size: 18px;
    color: var(--primary-maroon);
    transition: transform 0.3s ease;
}

.more-explore-card:hover .more-explore-arrow {
    transform: translateX(4px) translateY(-4px);
}

/* Support Call To Action Section */
.socio-support-cta-section {
    background: #8D0020;
    padding: 80px 0;
    color: #ffffff;
}

.socio-cta-heading {
    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 700;
    line-height: 1.22;
    margin-bottom: 12px;
}

.btn-support-white {
    background: #ffffff;
    color: var(--primary-maroon) !important;
    font-family: var(--font-heading);
    font-size: 14.5px;
    font-weight: 700;
    padding: 12px 30px;
    border-radius: 50px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.btn-support-white:hover {
    background: #FAF4EB;
    color: #630016 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

.link-contact-white {
    color: #ffffff !important;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    opacity: 0.88;
    transition: opacity 0.2s ease;
}

.link-contact-white:hover {
    opacity: 1;
    text-decoration: underline;
}

/* Responsive Rules for Socio-Medical Page */
@media (max-width: 991px) {

    .socio-section-cream,
    .socio-section-white,
    .socio-disaster-section,
    .socio-academic-section,
    .socio-explore-section,
    .socio-support-cta-section {
        padding: 60px 0;
    }

    .socio-title,
    .socio-title-white {
        font-size: 30px;
    }

    .socio-cta-heading {
        font-size: 28px;
    }

    .cultural-img-frame {
        height: 160px;
    }
}

@media (max-width: 575px) {

    .socio-title,
    .socio-title-white {
        font-size: 24px;
    }

    .socio-cta-heading {
        font-size: 24px;
    }

    .cultural-img-frame {
        height: 140px;
    }

    .socio-notice-box {
        border-radius: 20px;
        padding: 12px 18px;
    }

    .socio-image-card {
        border-radius: 90px 24px 24px 24px;
        padding: 12px;
    }

    .socio-showcase-img {
        border-radius: 78px 16px 16px 16px;
    }
}

/* ==========================================================================
   23. STATUTORY REPORTS PDF PREVIEWS & VIEWER
   ========================================================================== */

.statutory-report-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
}

.pdf-doc-card {
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 20px;
    padding: 16px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.pdf-doc-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 30px rgba(141, 0, 32, 0.09);
    border-color: #dfc2c8;
}

/* Small Real PDF Preview Container */
.pdf-sheet-preview {
    position: relative;
    background: #525659;
    border: 1px solid #d1d5db;
    border-radius: 14px;
    height: 270px;
    display: block;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.04), 0 4px 16px rgba(0, 0, 0, 0.08);
    cursor: pointer;
    overflow: hidden;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.pdf-doc-card:hover .pdf-sheet-preview {
    border-color: var(--primary-maroon);
    box-shadow: 0 10px 28px rgba(141, 0, 32, 0.18);
    transform: translateY(-2px);
}

.pdf-card-embed-iframe {
    width: 100%;
    height: 100%;
    border: none;
    pointer-events: none;
    /* Allows click to trigger openStatutoryPdf */
    background: #ffffff;
    display: block;
    overflow: hidden;
}

/* Hover Overlay on PDF preview */
.pdf-hover-overlay {
    position: absolute;
    inset: 0;
    background: rgba(141, 0, 32, 0.85);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #ffffff;
    opacity: 0;
    transition: all 0.25s ease;
    border-radius: 13px;
    z-index: 5;
}

.pdf-sheet-preview:hover .pdf-hover-overlay {
    opacity: 1;
}

.pdf-hover-icon {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.22);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.pdf-hover-text {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

/* Card details and Action buttons */
.pdf-card-info {
    padding: 14px 2px 6px;
    flex-grow: 1;
}

.pdf-card-title {
    font-family: var(--font-heading);
    font-size: 15.5px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 4px;
    line-height: 1.3;
}

.pdf-card-meta {
    font-size: 12px;
    color: #64748b;
    margin-bottom: 0;
}

.pdf-card-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #f1f5f9;
}

.btn-pdf-view-action {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 10px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--primary-maroon);
    background: #FAF4EB;
    border: 1px solid rgba(141, 0, 32, 0.15);
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
}

.btn-pdf-view-action:hover {
    background: var(--primary-maroon);
    color: #ffffff;
    border-color: var(--primary-maroon);
}

.btn-pdf-download-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 10px;
    font-size: 12.5px;
    font-weight: 600;
    color: #334155;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
}

.btn-pdf-download-action:hover {
    background: #0f172a;
    color: #ffffff;
    border-color: #0f172a;
}

/* Modal PDF Full View Styling (Original PDF Viewer) */
.statutory-modal-viewer .modal-content {
    border-radius: 20px;
    border: none;
    overflow: hidden;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
    background: #2a2e33;
}

.statutory-modal-viewer .modal-header {
    background: #8D0020;
    color: #ffffff;
    padding: 14px 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.statutory-modal-viewer .modal-title {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
}

.statutory-modal-viewer .btn-close-white {
    filter: invert(1);
    opacity: 0.85;
}

.statutory-modal-viewer .modal-body {
    background: #525659;
    padding: 0;
    overflow: hidden;
}

.statutory-modal-viewer iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

@media (max-width: 767px) {
    .statutory-modal-viewer .modal-content {
        height: 94vh !important;
    }

    .statutory-modal-viewer .modal-header {
        padding: 12px 14px;
        flex-direction: column;
        align-items: flex-start !important;
        gap: 10px;
    }

    .statutory-modal-viewer .modal-header .d-flex:last-child {
        width: 100%;
        justify-content: space-between;
    }
}

/* ==========================================================================
   FULL-WIDTH THEMED ADMISSION PROCEDURE SECTIONS (NO WHITE BOXES)
   ========================================================================== */

.admission-full-section {
    padding: 70px 0 80px;
    position: relative;
    width: 100%;
}

.admission-intro-strip {
    padding-bottom: 20px;
}

/* ==========================================================================
   Universal WYSIWYG / Section Editor Content
   All tags under .section-editor-content are styled purely by tag without requiring classes.
   ========================================================================== */
.section-editor-content {
    max-width: 1000px;
    margin: 0 auto;
    font-family: var(--font-body, 'Roboto', sans-serif);
    font-size: 16px;
    line-height: 1.85;
    color: #334155;
}

.section-editor-content>*:first-child {
    margin-top: 0 !important;
}

.section-editor-content>*:last-child {
    margin-bottom: 0 !important;
}

/* Headings */
.section-editor-content h1,
.section-editor-content h2,
.section-editor-content h3,
.section-editor-content h4,
.section-editor-content h5,
.section-editor-content h6 {
    font-family: var(--font-heading, 'Poppins', sans-serif);
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
    margin-top: 32px;
    margin-bottom: 14px;
}

.section-editor-content h1 {
    font-size: 28px;
    color: var(--primary-maroon, #8D0020);
    padding-bottom: 10px;
    border-bottom: 2px solid #f1f5f9;
}

.section-editor-content h2 {
    font-size: 23px;
    color: var(--primary-maroon, #8D0020);
    padding-bottom: 8px;
    border-bottom: 2px solid #f1f5f9;
    display: flex;
    align-items: center;
    gap: 10px;
}

.section-editor-content h3 {
    font-size: 19px;
    color: #0f172a;
    margin-top: 28px;
    margin-bottom: 12px;
}

.section-editor-content h4 {
    font-size: 16.5px;
    color: #1e293b;
    margin-top: 20px;
    margin-bottom: 8px;
}

.section-editor-content h5 {
    font-size: 15px;
    color: #334155;
}

.section-editor-content h6 {
    font-size: 13.5px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Paragraphs & Text Formatting */
.section-editor-content p {
    font-size: 16px;
    line-height: 1.85;
    color: #334155;
    margin-top: 0;
    margin-bottom: 18px;
}

.section-editor-content strong,
.section-editor-content b {
    font-weight: 700;
    color: #0f172a;
}

.section-editor-content em,
.section-editor-content i {
    font-style: italic;
}

.section-editor-content a {
    color: var(--primary-maroon, #8D0020);
    text-decoration: underline;
    font-weight: 600;
    transition: color 0.2s ease;
}

.section-editor-content a:hover {
    color: #65000b;
    text-decoration: none;
}

/* Lists */
.section-editor-content ul,
.section-editor-content ol {
    margin: 0 0 22px 0;
    padding-left: 28px;
}

.section-editor-content ul {
    list-style-type: disc;
}

.section-editor-content ol {
    list-style-type: decimal;
}

.section-editor-content ul li,
.section-editor-content ol li {
    font-size: 16px;
    line-height: 1.75;
    color: #334155;
    margin-bottom: 10px;
    padding-left: 4px;
}

.section-editor-content ul li::marker {
    color: var(--primary-maroon, #8D0020);
}

.section-editor-content ol li::marker {
    color: var(--primary-maroon, #8D0020);
    font-weight: 700;
}

.section-editor-content ul ul,
.section-editor-content ol ol,
.section-editor-content ul ol,
.section-editor-content ol ul {
    margin: 8px 0 8px 0;
    padding-left: 22px;
}

/* Blockquotes */
.section-editor-content blockquote {
    margin: 24px 0;
    padding: 18px 24px;
    background-color: #FAF4EB;
    border-left: 4px solid var(--primary-maroon, #8D0020);
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #475569;
}

.section-editor-content blockquote p {
    margin-bottom: 0;
    font-size: 16.5px;
    color: #334155;
}

.section-editor-content blockquote cite {
    display: block;
    margin-top: 8px;
    font-size: 13.5px;
    font-style: normal;
    font-weight: 600;
    color: var(--primary-maroon, #8D0020);
}

/* Tables */
.section-editor-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}

.section-editor-content th,
.section-editor-content td {
    padding: 12px 18px;
    border: 1px solid #e2e8f0;
    font-size: 15px;
    text-align: left;
}

.section-editor-content th {
    background-color: #f8fafc;
    color: #0f172a;
    font-weight: 700;
    font-family: var(--font-heading, 'Poppins', sans-serif);
}

.section-editor-content tr:nth-child(even) {
    background-color: #fafbfc;
}

.section-editor-content tr:hover {
    background-color: #FAF4EB;
}

/* Dividers & Images */
.section-editor-content hr {
    border: none;
    border-top: 1px solid #e2e8f0;
    margin: 32px 0;
}

.section-editor-content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 18px 0;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

/* Light / Cream Full-Width Section Styling */
.gov-block-light .section-editor-content {
    color: #334155;
}

.gov-block-light .section-editor-content ol,
.gov-block-light .section-editor-content ul {
    margin: 0 0 20px 0;
    padding-left: 24px;
}

.gov-block-light .section-editor-content ol {
    list-style-type: decimal;
}

.gov-block-light .section-editor-content ul {
    list-style-type: disc;
}

.gov-block-light .section-editor-content ol li,
.gov-block-light .section-editor-content ul li {
    margin-bottom: 12px;
    color: #1e293b;
    font-size: 16px;
    line-height: 1.75;
}

.gov-block-light .section-editor-content ol li:last-child,
.gov-block-light .section-editor-content ul li:last-child {
    margin-bottom: 0;
}

.gov-block-light .section-editor-content p {
    margin: 0 0 16px 0;
    color: #475569;
    font-size: 16px;
    line-height: 1.85;
}

.gov-block-light .section-editor-content p:last-child {
    margin-bottom: 0;
}

.gov-block-light .section-editor-content p strong {
    color: #8D0020;
    font-weight: 700;
    font-size: 16px;
}

/* Deep Maroon Full-Width Section Styling */
.gov-block-maroon .section-editor-content {
    color: rgba(253, 247, 237, 0.95);
}

.gov-block-maroon .section-editor-content ol,
.gov-block-maroon .section-editor-content ul {
    margin: 0 0 20px 0;
    padding-left: 24px;
}

.gov-block-maroon .section-editor-content ol {
    list-style-type: decimal;
}

.gov-block-maroon .section-editor-content ul {
    list-style-type: disc;
}

.gov-block-maroon .section-editor-content ol li,
.gov-block-maroon .section-editor-content ul li {
    margin-bottom: 12px;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.75;
}

.gov-block-maroon .section-editor-content ol li::marker,
.gov-block-maroon .section-editor-content ul li::marker {
    color: #fde047;
    font-weight: 700;
}

.gov-block-maroon .section-editor-content ol li:last-child,
.gov-block-maroon .section-editor-content ul li:last-child {
    margin-bottom: 0;
}

.gov-block-maroon .section-editor-content p {
    margin: 0 0 16px 0;
    color: rgba(253, 247, 237, 0.9);
    font-size: 16px;
    line-height: 1.85;
}

.gov-block-maroon .section-editor-content p:last-child {
    margin-bottom: 0;
}

.gov-block-maroon .section-editor-content p strong {
    color: #fde047;
    font-weight: 700;
    font-size: 16px;
}

.gov-block-maroon .section-editor-content strong,
.gov-block-maroon .section-editor-content b {
    color: #fde047;
}

.gov-block-maroon .section-editor-content a {
    color: #fde047;
}

.gov-block-maroon .section-editor-content a:hover {
    color: #ffffff;
}

.gov-block-maroon .section-editor-content blockquote {
    background-color: rgba(255, 255, 255, 0.08);
    border-left-color: #fde047;
    color: #ffffff;
}

.gov-block-maroon .section-editor-content blockquote p {
    color: #ffffff;
}

.gov-block-maroon .section-editor-content hr {
    border-color: rgba(255, 255, 255, 0.15);
}

.gov-block-light .section-editor-content h1,
.gov-block-light .section-editor-content h2,
.gov-block-light .section-editor-content h3,
.gov-block-light .section-editor-content h4 {
    color: #8D0020;
    font-weight: 700;
    margin: 24px 0 14px;
    font-size: 20px;
}

.gov-block-light .section-editor-content h1:first-child,
.gov-block-light .section-editor-content h2:first-child,
.gov-block-light .section-editor-content h3:first-child,
.gov-block-light .section-editor-content h4:first-child {
    margin-top: 0;
}

.gov-block-maroon .section-editor-content h1,
.gov-block-maroon .section-editor-content h2,
.gov-block-maroon .section-editor-content h3,
.gov-block-maroon .section-editor-content h4 {
    color: #fde047;
    font-weight: 700;
    margin: 24px 0 14px;
    font-size: 20px;
}

.gov-block-maroon .section-editor-content h1:first-child,
.gov-block-maroon .section-editor-content h2:first-child,
.gov-block-maroon .section-editor-content h3:first-child,
.gov-block-maroon .section-editor-content h4:first-child {
    margin-top: 0;
}

/* Two-Column Clean List for TPA & Corporate Tie-ups */
.editor-two-col-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 30px;
    margin: 20px 0 !important;
    padding-left: 20px !important;
}

.gov-block-light .tpa-partner-item {
    padding: 10px 16px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 15px;
    color: #1e293b;
    font-weight: 500;
    display: flex;
    align-items: center;
    transition: all 0.2s ease;
}

.gov-block-light .tpa-partner-item:hover {
    border-color: #8D0020;
    box-shadow: 0 4px 12px rgba(141, 0, 32, 0.08);
}

.gov-block-maroon .tpa-partner-item {
    padding: 10px 16px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    font-size: 15px;
    color: #ffffff;
    font-weight: 500;
    display: flex;
    align-items: center;
    transition: all 0.2s ease;
}

.gov-block-maroon .tpa-partner-item:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: #fde047;
}

.guideline-subcard {
    padding: 24px;
    border-radius: 12px;
    margin-bottom: 24px;
}

.guideline-subcard.dos-card {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}

.guideline-subcard.dos-card h4 {
    color: #166534 !important;
    font-weight: 700;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.guideline-subcard.dos-card ul {
    margin: 0;
    padding-left: 20px;
}

.guideline-subcard.dos-card ul li {
    color: #14532d;
    margin-bottom: 10px;
}

.guideline-subcard.donts-card {
    background: #fef2f2;
    border: 1px solid #fecaca;
    margin-bottom: 0;
}

.guideline-subcard.donts-card h4 {
    color: #991b1b !important;
    font-weight: 700;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.guideline-subcard.donts-card ul {
    margin: 0;
    padding-left: 20px;
}

.guideline-subcard.donts-card ul li {
    color: #7f1d1d;
    margin-bottom: 10px;
}

/* ==========================================================================
   RESPONSIVE TARIFF & ROOM RATES TABLE
   ========================================================================== */
.tariff-table-wrapper {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    border: 1px solid #e2e8f0;
    overflow: hidden;
    margin: 25px 0 20px;
}

.tariff-main-banner {
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    padding: 14px 20px;
    font-size: 17px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #73001a;
}

.table-responsive.tariff-table-responsive {
    margin-bottom: 0;
}

.tariff-table {
    width: 100%;
    margin-bottom: 0;
    border-collapse: collapse;
}

.tariff-table thead th {
    background-color: #f8fafc;
    color: #0f172a;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    padding: 14px 18px;
    border-bottom: 2px solid #cbd5e1;
    white-space: nowrap;
}

.tariff-table tbody td {
    padding: 12px 18px;
    font-size: 15px;
    color: #334155;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: middle;
}

.tariff-table tbody tr:hover {
    background-color: #f8fafc;
}

.tariff-table .ward-cell {
    font-weight: 700;
    color: var(--primary-maroon, #8D0020);
    background-color: #ffffff;
    border-right: 1px solid #e2e8f0;
    vertical-align: middle;
    font-size: 15px;
}

.tariff-table .number-cell {
    font-weight: 600;
    color: #475569;
    text-align: center;
    border-right: 1px solid #e2e8f0;
    vertical-align: middle;
}

.tariff-table .bed-cell {
    color: #1e293b;
    font-weight: 500;
    border-right: 1px solid #e2e8f0;
}

.tariff-table .tariff-cell {
    font-weight: 700;
    color: #0f172a;
    font-size: 15px;
    text-align: right;
}

.tariff-table .sub-row-border td {
    border-top: 1px dashed #e2e8f0;
}

.tariff-table-note {
    background: #f8fafc;
    border-left: 4px solid var(--primary-maroon, #8D0020);
    padding: 14px 18px;
    font-size: 14px;
    line-height: 1.65;
    color: #475569;
    font-style: italic;
    border-radius: 0 0 12px 12px;
    margin: 0;
}

/* ==========================================================================
   DOCTOR LISTING & SEARCH FILTER SECTION
   ========================================================================== */
.doctor-filter-section {
    background: #FAF4EB;
    padding: 35px 0;
    border-bottom: 1px solid #eedec7;
}

.doctor-search-box {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

.doctor-search-input-group {
    position: relative;
}

.doctor-search-input-group i {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 16px;
}

.doctor-search-input-group .form-control {
    padding-left: 45px;
    height: 48px;
    border-radius: 10px;
    border-color: #cbd5e1;
    font-size: 14.5px;
}

.doctor-search-input-group .form-control:focus,
.doctor-search-select:focus {
    border-color: var(--primary-maroon, #8D0020);
    box-shadow: 0 0 0 3px rgba(141, 0, 32, 0.1);
}

.doctor-search-select {
    height: 48px;
    border-radius: 10px;
    border-color: #cbd5e1;
    font-size: 14.5px;
    color: #334155;
}

.btn-search-doctors {
    background-color: var(--primary-maroon, #8D0020);
    color: #ffffff;
    height: 48px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 15px;
    border: none;
    width: 100%;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.btn-search-doctors:hover {
    background-color: #73001a;
    color: #ffffff;
    transform: translateY(-1px);
}

.doctors-listing-area {
    padding: 50px 0 80px;
    background-color: #f8fafc;
}

.doctors-available-heading {
    font-size: 20px;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 25px;
    font-family: var(--font-heading, 'Poppins', sans-serif);
}

/* Doctor Card */
.doctor-grid-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px 20px 16px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.doctor-grid-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    border-color: #cbd5e1;
}

.doctor-card-body-top {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.doctor-photo-frame {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    border-radius: 12px;
    overflow: hidden;
    border: 2px solid #f1f5f9;
    background: #f8fafc;
}

.doctor-photo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.doctor-meta-details {
    flex: 1;
    min-width: 0;
}

.doctor-card-name {
    font-size: 16.5px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 2px;
    line-height: 1.3;
}

.doctor-card-speciality {
    font-size: 13px;
    font-weight: 700;
    color: var(--primary-maroon, #8D0020);
    margin: 0 0 4px;
    line-height: 1.35;
}

.doctor-card-qualifications {
    font-size: 12px;
    font-weight: 500;
    color: #64748b;
    margin: 0 0 6px;
    line-height: 1.35;
}

.doctor-card-loc-exp {
    font-size: 12px;
    color: #475569;
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 4px;
}

.doctor-card-loc-exp span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.doctor-card-loc-exp i {
    color: #94a3b8;
    font-size: 11px;
}

/* Card Action Buttons */
.doctor-card-actions {
    display: flex;
    gap: 10px;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #f1f5f9;
}

.btn-doctor-details {
    flex: 1;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    color: var(--primary-maroon, #8D0020);
    font-size: 12.5px;
    font-weight: 600;
    padding: 8px 10px;
    border-radius: 25px;
    text-align: center;
    text-decoration: none;
    transition: all 0.25s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-doctor-details:hover {
    border-color: var(--primary-maroon, #8D0020);
    background-color: #FAF4EB;
    color: var(--primary-maroon, #8D0020);
}

.btn-doctor-book {
    flex: 1.2;
    background-color: var(--primary-maroon, #8D0020);
    border: 1px solid var(--primary-maroon, #8D0020);
    color: #ffffff;
    font-size: 12.5px;
    font-weight: 600;
    padding: 8px 12px;
    border-radius: 25px;
    text-align: center;
    text-decoration: none;
    transition: all 0.25s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.btn-doctor-book:hover {
    background-color: #73001a;
    border-color: #73001a;
    color: #ffffff;
}

/* View More Pill Button */
.btn-view-more-doctors {
    background-color: var(--primary-maroon, #8D0020);
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 28px;
    border-radius: 30px;
    border: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(141, 0, 32, 0.2);
}

.btn-view-more-doctors:hover {
    background-color: #73001a;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(141, 0, 32, 0.3);
}

/* ==========================================================================
   DOCTOR DETAILS PAGE SPECIFIC STYLES & DEDICATED HERO BANNER
   ========================================================================== */
.doctor-details-hero-banner {
    background: linear-gradient(135deg, #FAF4EB 0%, #F5ECE0 100%);
    padding: 35px 0 45px;
    position: relative;
    border-bottom: 1px solid #eedec7;
    overflow: hidden;
}

.doctor-details-hero-banner::after {
    content: '';
    position: absolute;
    right: -60px;
    bottom: -60px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(141, 0, 32, 0.04) 0%, transparent 70%);
    pointer-events: none;
}

.doctor-banner-breadcrumb {
    font-size: 13.5px;
    color: #64748b;
    margin-bottom: 22px;
}

.doctor-banner-breadcrumb a {
    color: #64748b;
    text-decoration: none;
    transition: color 0.2s ease;
}

.doctor-banner-breadcrumb a:hover {
    color: var(--primary-maroon, #8D0020);
}

.doctor-banner-breadcrumb .sep {
    margin: 0 8px;
    color: #cbd5e1;
}

.doctor-banner-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(141, 0, 32, 0.08);
    color: var(--primary-maroon, #8D0020);
    font-size: 12px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 12px;
    border: 1px solid rgba(141, 0, 32, 0.15);
}

.doctor-banner-tag .plus-icon {
    font-weight: 800;
    font-size: 14px;
}

.doctor-banner-title {
    font-size: 36px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 8px;
    font-family: var(--font-heading, 'Poppins', sans-serif);
    line-height: 1.25;
}

.doctor-banner-degrees {
    font-size: 15.5px;
    font-weight: 600;
    color: #475569;
    margin-bottom: 18px;
    line-height: 1.5;
}

.doctor-banner-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 25px;
}

.doctor-banner-chip {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #334155;
    font-size: 13.5px;
    font-weight: 500;
    padding: 7px 15px;
    border-radius: 25px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.doctor-banner-chip i {
    color: var(--primary-maroon, #8D0020);
    font-size: 13px;
}

.doctor-banner-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.btn-banner-book-appointment {
    background-color: var(--primary-maroon, #8D0020);
    color: #ffffff;
    font-size: 14.5px;
    font-weight: 700;
    padding: 11px 26px;
    border-radius: 30px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 15px rgba(141, 0, 32, 0.25);
    transition: all 0.3s ease;
}

.btn-banner-book-appointment:hover {
    background-color: #73001a;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(141, 0, 32, 0.35);
}

.btn-banner-call-opd {
    background-color: #ffffff;
    border: 1.5px solid var(--primary-maroon, #8D0020);
    color: var(--primary-maroon, #8D0020);
    font-size: 14.5px;
    font-weight: 700;
    padding: 10px 22px;
    border-radius: 30px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.btn-banner-call-opd:hover {
    background-color: var(--primary-maroon, #8D0020);
    color: #ffffff;
    transform: translateY(-2px);
}

.btn-banner-back-list {
    background-color: #ffffff;
    border: 1px solid #cbd5e1;
    color: #64748b;
    font-size: 13.5px;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 30px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.3s ease;
}

.btn-banner-back-list:hover {
    border-color: var(--primary-maroon, #8D0020);
    color: var(--primary-maroon, #8D0020);
    background-color: #FAF4EB;
}

/* Banner Photo Wrapper */
.doctor-banner-photo-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.doctor-banner-photo-card {
    position: relative;
    width: 270px;
    height: 310px;
    border-radius: 22px;
    overflow: hidden;
    border: 5px solid #ffffff;
    box-shadow: 0 16px 40px rgba(141, 0, 32, 0.12);
    background: #ffffff;
}

.doctor-banner-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.doctor-banner-exp-pill {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    font-size: 12.5px;
    font-weight: 700;
    padding: 6px 16px;
    border-radius: 20px;
    white-space: nowrap;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
    border: 2px solid #ffffff;
    display: inline-flex;
    align-items: center;
}

.doctor-detail-section {
    padding: 45px 0 80px;
    background-color: #f8fafc;
}

/* Profile Hero Card */
.doctor-profile-hero-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    margin-bottom: 40px;
    position: relative;
    overflow: hidden;
}

.doctor-profile-hero-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: var(--primary-maroon, #8D0020);
}

.doctor-profile-top-grid {
    display: flex;
    gap: 32px;
    align-items: center;
}

.doctor-detail-avatar-box {
    position: relative;
    width: 180px;
    height: 180px;
    flex-shrink: 0;
    border-radius: 20px;
    overflow: hidden;
    border: 4px solid #f1f5f9;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
}

.doctor-detail-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.doctor-exp-floating-badge {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 12px;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.doctor-profile-main-info {
    flex: 1;
}

.doctor-profile-title {
    font-size: 28px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 6px;
    font-family: var(--font-heading, 'Poppins', sans-serif);
}

.doctor-profile-designation {
    font-size: 16px;
    font-weight: 700;
    color: var(--primary-maroon, #8D0020);
    margin-bottom: 8px;
}

.doctor-profile-degrees {
    font-size: 14px;
    font-weight: 600;
    color: #475569;
    margin-bottom: 16px;
}

.doctor-quick-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 22px;
}

.doctor-quick-tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #FAF4EB;
    border: 1px solid #eedec7;
    color: #475569;
    font-size: 13px;
    font-weight: 500;
    padding: 6px 14px;
    border-radius: 30px;
}

.doctor-quick-tag i {
    color: var(--primary-maroon, #8D0020);
    font-size: 13px;
}

.doctor-profile-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.btn-book-doctor-direct {
    background-color: var(--primary-maroon, #8D0020);
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    padding: 11px 24px;
    border-radius: 30px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(141, 0, 32, 0.2);
}

.btn-book-doctor-direct:hover {
    background-color: #73001a;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(141, 0, 32, 0.3);
}

.btn-call-opd-direct {
    background-color: #ffffff;
    border: 1.5px solid var(--primary-maroon, #8D0020);
    color: var(--primary-maroon, #8D0020);
    font-size: 14px;
    font-weight: 600;
    padding: 10px 22px;
    border-radius: 30px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.btn-call-opd-direct:hover {
    background-color: #FAF4EB;
    color: var(--primary-maroon, #8D0020);
    transform: translateY(-2px);
}

/* Detail Content Cards */
.doctor-content-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    margin-bottom: 30px;
}

.doctor-card-section-title {
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f1f5f9;
}

.doctor-card-section-title i {
    color: var(--primary-maroon, #8D0020);
    font-size: 20px;
}

.doctor-bio-p {
    font-size: 15px;
    line-height: 1.8;
    color: #334155;
    margin-bottom: 16px;
}

.doctor-bio-p:last-child {
    margin-bottom: 0;
}

/* Expertise List & Chips */
.doctor-expertise-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.doctor-expertise-item {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 14.5px;
    font-weight: 500;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.2s ease;
}

.doctor-expertise-item i {
    color: var(--primary-maroon, #8D0020);
    font-size: 15px;
}

.doctor-expertise-item:hover {
    background: #FAF4EB;
    border-color: #eedec7;
}

/* Experience / Education Timeline */
.doctor-timeline {
    position: relative;
    padding-left: 28px;
}

.doctor-timeline::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 6px;
    bottom: 6px;
    width: 2px;
    background: #e2e8f0;
}

.doctor-timeline-item {
    position: relative;
    margin-bottom: 24px;
}

.doctor-timeline-item:last-child {
    margin-bottom: 0;
}

.doctor-timeline-dot {
    position: absolute;
    left: -28px;
    top: 4px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #ffffff;
    border: 3px solid var(--primary-maroon, #8D0020);
}

.doctor-timeline-role {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 2px;
}

.doctor-timeline-inst {
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-maroon, #8D0020);
    margin-bottom: 4px;
}

.doctor-timeline-year {
    font-size: 13px;
    color: #64748b;
}

/* OPD Schedule Table */
.opd-schedule-table {
    width: 100%;
    border-collapse: collapse;
}

.opd-schedule-table th {
    background-color: #FAF4EB;
    color: #0f172a;
    font-size: 13.5px;
    font-weight: 700;
    padding: 12px 16px;
    border: 1px solid #eedec7;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.opd-schedule-table td {
    padding: 12px 16px;
    border: 1px solid #e2e8f0;
    font-size: 14px;
    color: #334155;
    vertical-align: middle;
}

.opd-schedule-table tr:hover {
    background-color: #f8fafc;
}

.opd-day-cell {
    font-weight: 700;
    color: var(--primary-maroon, #8D0020);
}

.opd-status-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}

.opd-status-available {
    background: #dcfce7;
    color: #15803d;
}

.opd-status-prior {
    background: #fef3c7;
    color: #b45309;
}

/* Sidebar Booking Card */
.doctor-sidebar-booking-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    position: sticky;
    top: 90px;
    margin-bottom: 30px;
}

.doctor-booking-card-header {
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    padding: 20px 24px;
    text-align: center;
}

.doctor-booking-card-header h4 {
    font-size: 19px;
    font-weight: 700;
    margin: 0 0 4px;
    color: #ffffff;
}

.doctor-booking-card-header p {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
}

.doctor-booking-card-body {
    padding: 24px;
}

.doctor-booking-card-body .form-label {
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    margin-bottom: 6px;
}

.doctor-booking-card-body .form-control,
.doctor-booking-card-body .form-select {
    height: 44px;
    border-radius: 8px;
    font-size: 14px;
    border-color: #cbd5e1;
    margin-bottom: 16px;
}

.doctor-booking-card-body .form-control:focus,
.doctor-booking-card-body .form-select:focus {
    border-color: var(--primary-maroon, #8D0020);
    box-shadow: 0 0 0 3px rgba(141, 0, 32, 0.1);
}

.btn-submit-booking {
    width: 100%;
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    font-weight: 700;
    font-size: 15px;
    padding: 12px;
    border-radius: 10px;
    border: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(141, 0, 32, 0.2);
}

.btn-submit-booking:hover {
    background: #73001a;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(141, 0, 32, 0.3);
}

.doctor-helpline-sidebar-box {
    background: #FAF4EB;
    border: 1px solid #eedec7;
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    margin-bottom: 30px;
}

.doctor-helpline-sidebar-box i {
    font-size: 28px;
    color: var(--primary-maroon, #8D0020);
    margin-bottom: 10px;
}

.doctor-helpline-sidebar-box h5 {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 6px;
}

.doctor-helpline-sidebar-box a {
    font-size: 18px;
    font-weight: 800;
    color: var(--primary-maroon, #8D0020);
    text-decoration: none;
    display: block;
}

/* ==========================================================================
   SERVICES LISTING PAGE STYLES
   ========================================================================== */
.services-filter-section {
    background: #FAF4EB;
    padding: 30px 0;
    border-bottom: 1px solid #eedec7;
}

.service-filter-box {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px 24px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.03);
}

.service-search-input-group {
    position: relative;
}

.service-search-input-group i {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 15px;
}

.service-search-input-group .form-control {
    padding-left: 44px;
    height: 46px;
    border-radius: 10px;
    border-color: #cbd5e1;
    font-size: 14.5px;
}

.service-search-input-group .form-control:focus {
    border-color: var(--primary-maroon, #8D0020);
    box-shadow: 0 0 0 3px rgba(141, 0, 32, 0.1);
}

.service-category-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.btn-service-category {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #e2e8f0;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.25s ease;
}

.btn-service-category:hover {
    background: #e2e8f0;
    color: #0f172a;
}

.btn-service-category.active {
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    border-color: var(--primary-maroon, #8D0020);
    box-shadow: 0 4px 12px rgba(141, 0, 32, 0.2);
}

.services-listing-area {
    padding: 55px 0 85px;
    background-color: #f8fafc;
}

.services-grid-heading {
    font-size: 22px;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 30px;
    font-family: var(--font-heading, 'Poppins', sans-serif);
}

/* Service Grid Card */
.service-grid-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 30px 26px 22px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    transition: all 0.35s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
}

.service-grid-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #8D0020, #e11d48);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.service-grid-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.08);
    border-color: #cbd5e1;
}

.service-grid-card:hover::before {
    opacity: 1;
}

.service-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 18px;
}

.service-icon-box {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    background: #FAF4EB;
    border: 1px solid #eedec7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: var(--primary-maroon, #8D0020);
    transition: all 0.3s ease;
}

.service-grid-card:hover .service-icon-box {
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    transform: scale(1.06);
}

.service-badge-pill {
    font-size: 11.5px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.badge-pill-cyan {
    background: #e0f2fe;
    color: #0369a1;
}

.badge-pill-emerald {
    background: #dcfce7;
    color: #15803d;
}

.badge-pill-amber {
    background: #fef3c7;
    color: #b45309;
}

.badge-pill-purple {
    background: #f3e8ff;
    color: #7e22ce;
}

.badge-pill-rose {
    background: #ffe4e6;
    color: #be123c;
}

.service-title {
    font-size: 19px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 10px;
    line-height: 1.35;
    font-family: var(--font-heading, 'Poppins', sans-serif);
}

.service-title-link {
    color: #0f172a;
    text-decoration: none;
    transition: color 0.25s ease;
}

.service-title-link:hover {
    color: var(--primary-maroon, #8D0020);
}

.service-description {
    font-size: 14px;
    color: #475569;
    line-height: 1.65;
    margin-bottom: 18px;
}

.service-features-list {
    list-style: none;
    padding: 0;
    margin: 0 0 22px;
}

.service-features-list li {
    font-size: 13.5px;
    color: #334155;
    margin-bottom: 8px;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    line-height: 1.45;
}

.service-features-list li i {
    color: #16a34a;
    font-size: 13px;
    margin-top: 3px;
    flex-shrink: 0;
}

.service-card-footer {
    display: flex;
    gap: 10px;
    align-items: center;
    padding-top: 16px;
    border-top: 1px solid #f1f5f9;
}

.btn-service-enquiry {
    flex: 1;
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    padding: 9px 16px;
    border-radius: 25px;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.btn-service-enquiry:hover {
    background: #73001a;
    color: #ffffff;
    transform: translateY(-1px);
}

.btn-service-call {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: var(--primary-maroon, #8D0020);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.25s ease;
    flex-shrink: 0;
}

.btn-service-call:hover {
    background: #FAF4EB;
    border-color: var(--primary-maroon, #8D0020);
    color: var(--primary-maroon, #8D0020);
}

.services-emergency-cta {
    background: linear-gradient(135deg, #53111b 0%, #8D0020 100%);
    border-radius: 22px;
    padding: 35px 40px;
    color: #ffffff;
    margin-top: 60px;
    box-shadow: 0 12px 35px rgba(141, 0, 32, 0.25);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    flex-wrap: wrap;
}

.services-emergency-cta h3 {
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 6px;
    color: #ffffff;
}

.services-emergency-cta p {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.88);
    margin: 0;
}

.btn-cta-emergency-phone {
    background: #ffffff;
    color: var(--primary-maroon, #8D0020);
    font-size: 16px;
    font-weight: 800;
    padding: 12px 28px;
    border-radius: 30px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

.btn-cta-emergency-phone:hover {
    background: #FAF4EB;
    color: var(--primary-maroon, #8D0020);
    transform: translateY(-2px);
}

/* ==========================================================================
   SERVICE DETAILS PAGE SPECIFIC STYLES
   ========================================================================== */
.service-details-hero-banner {
    background: linear-gradient(135deg, #FAF4EB 0%, #F4EAE0 100%);
    padding: 38px 0 48px;
    position: relative;
    border-bottom: 1px solid #eedec7;
    overflow: hidden;
}

.service-banner-breadcrumb {
    font-size: 13.5px;
    color: #64748b;
    margin-bottom: 20px;
}

.service-banner-breadcrumb a {
    color: #64748b;
    text-decoration: none;
    transition: color 0.2s ease;
}

.service-banner-breadcrumb a:hover {
    color: var(--primary-maroon, #8D0020);
}

.service-banner-breadcrumb .sep {
    margin: 0 8px;
    color: #cbd5e1;
}

.service-banner-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(141, 0, 32, 0.08);
    color: var(--primary-maroon, #8D0020);
    font-size: 12px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 14px;
    border: 1px solid rgba(141, 0, 32, 0.15);
}

.service-banner-tag .plus-icon {
    font-weight: 800;
    font-size: 14px;
}

.service-banner-title {
    font-size: 36px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 10px;
    font-family: var(--font-heading, 'Poppins', sans-serif);
    line-height: 1.25;
}

.service-banner-subtext {
    font-size: 15.5px;
    color: #475569;
    line-height: 1.65;
    margin-bottom: 22px;
    max-width: 720px;
}

.service-banner-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 25px;
}

.service-banner-chip {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #334155;
    font-size: 13.5px;
    font-weight: 500;
    padding: 7px 15px;
    border-radius: 25px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.service-banner-chip i {
    color: var(--primary-maroon, #8D0020);
    font-size: 13px;
}

.service-banner-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.service-banner-visual-box {
    position: relative;
    width: 290px;
    height: 310px;
    border-radius: 22px;
    overflow: hidden;
    border: 5px solid #ffffff;
    box-shadow: 0 16px 40px rgba(141, 0, 32, 0.12);
    background: #ffffff;
    margin: 0 auto;
}

.service-banner-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.service-banner-badge-overlay {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    font-size: 12.5px;
    font-weight: 700;
    padding: 6px 16px;
    border-radius: 20px;
    white-space: nowrap;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
    border: 2px solid #ffffff;
    display: inline-flex;
    align-items: center;
}

.service-detail-section {
    padding: 45px 0 80px;
    background-color: #f8fafc;
}

/* Service Detail Cards */
.service-content-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 30px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    margin-bottom: 30px;
}

.service-section-title {
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f1f5f9;
}

.service-section-title i {
    color: var(--primary-maroon, #8D0020);
    font-size: 20px;
}

.service-body-p {
    font-size: 15px;
    line-height: 1.8;
    color: #334155;
    margin-bottom: 16px;
}

.service-body-p:last-child {
    margin-bottom: 0;
}

/* Procedures & Highlights 2-Col Grid */
.service-specs-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.service-spec-item {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 14px 16px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    transition: all 0.25s ease;
}

.service-spec-item:hover {
    background: #FAF4EB;
    border-color: #eedec7;
    transform: translateY(-2px);
}

.service-spec-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(141, 0, 32, 0.08);
    color: var(--primary-maroon, #8D0020);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 14px;
}

.service-spec-text strong {
    display: block;
    color: #0f172a;
    font-size: 14.5px;
    margin-bottom: 2px;
}

.service-spec-text span {
    font-size: 13px;
    color: #64748b;
    line-height: 1.4;
}

/* Service FAQ Accordion */
.service-faq-accordion .accordion-item {
    border: 1px solid #e2e8f0;
    border-radius: 12px !important;
    margin-bottom: 12px;
    overflow: hidden;
}

.service-faq-accordion .accordion-button {
    font-size: 15px;
    font-weight: 600;
    color: #0f172a;
    padding: 16px 20px;
    background-color: #ffffff;
    box-shadow: none;
}

.service-faq-accordion .accordion-button:not(.collapsed) {
    background-color: #FAF4EB;
    color: var(--primary-maroon, #8D0020);
}

.service-faq-accordion .accordion-body {
    padding: 16px 20px 20px;
    font-size: 14.5px;
    color: #475569;
    line-height: 1.7;
    background-color: #ffffff;
}

/* Sidebar Other Services List */
.service-sidebar-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.service-sidebar-list li {
    margin-bottom: 8px;
}

.service-sidebar-list li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    color: #334155;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.25s ease;
}

.service-sidebar-list li a:hover,
.service-sidebar-list li a.active {
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    border-color: var(--primary-maroon, #8D0020);
    padding-left: 18px;
}

.service-sidebar-list li a i {
    font-size: 12px;
    transition: transform 0.25s ease;
}

.service-sidebar-list li a:hover i {
    transform: translateX(3px);
}

@media (max-width: 991px) {
    .doctor-profile-top-grid {
        flex-direction: column;
        text-align: center;
    }

    .doctor-profile-hero-card::before {
        width: 100%;
        height: 6px;
        top: 0;
        left: 0;
    }

    .doctor-quick-tags {
        justify-content: center;
    }

    .doctor-profile-actions {
        justify-content: center;
    }

    .doctor-sidebar-booking-card {
        position: static;
        margin-top: 30px;
    }
}

@media (max-width: 767px) {
    .doctor-expertise-list {
        grid-template-columns: 1fr;
    }

    .admission-full-section {
        padding: 50px 0 60px;
    }

    .section-editor-content {
        font-size: 15px;
    }

    .editor-two-col-list {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .tariff-table thead th,
    .tariff-table tbody td {
        padding: 10px 12px;
        font-size: 14px;
    }

    .doctor-card-body-top {
        flex-direction: row;
    }

    .doctor-card-actions {
        flex-direction: row;
    }
}

/* ==========================================================================
   ACADEMIA & ACADEMY DETAILS PAGE STYLES
   ========================================================================== */

/* Academy Dropdown Menu Styling */
.academy-dropdown-menu {
    min-width: 290px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    border: 1px solid #e2e8f0;
    padding: 8px 0;
}

.academy-dropdown-menu .dropdown-item {
    font-size: 14.5px;
    font-weight: 500;
    padding: 10px 18px;
    color: #1e293b;
    transition: all 0.2s ease;
}

.academy-dropdown-menu .dropdown-item:hover {
    background-color: #FAF4EB;
    color: var(--primary-maroon, #8D0020);
    padding-left: 22px;
}

.academy-dropdown-menu .dropdown-item i {
    font-size: 11px;
}

/* 1. Dedicated Academy Hero Banner */
.academy-hero-banner {
    background: linear-gradient(135deg, #FAF4EB 0%, #F5EAE0 100%);
    padding: 40px 0 50px;
    position: relative;
    border-bottom: 1px solid #eedec7;
    overflow: hidden;
}

.academy-banner-breadcrumb {
    font-size: 13.5px;
    color: #64748b;
    margin-bottom: 18px;
}

.academy-banner-breadcrumb a {
    color: #64748b;
    text-decoration: none;
    transition: color 0.2s ease;
}

.academy-banner-breadcrumb a:hover {
    color: var(--primary-maroon, #8D0020);
}

.academy-banner-breadcrumb .sep {
    margin: 0 8px;
    color: #cbd5e1;
}

.academy-banner-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(141, 0, 32, 0.08);
    color: var(--primary-maroon, #8D0020);
    font-size: 12px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 14px;
    border: 1px solid rgba(141, 0, 32, 0.15);
}

.academy-banner-tag .plus-icon {
    font-weight: 800;
    font-size: 14px;
}

.academy-banner-title {
    font-size: 34px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 12px;
    font-family: var(--font-heading, 'Poppins', sans-serif);
    line-height: 1.25;
}

.academy-banner-subtext {
    font-size: 15px;
    color: #475569;
    line-height: 1.65;
    margin-bottom: 22px;
    max-width: 720px;
}

.academy-banner-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 25px;
}

.academy-banner-chip {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #334155;
    font-size: 13.5px;
    font-weight: 500;
    padding: 7px 15px;
    border-radius: 25px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.academy-banner-chip i {
    color: var(--primary-maroon, #8D0020);
    font-size: 13px;
}

.academy-banner-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.btn-banner-prospectus {
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    padding: 11px 22px;
    border-radius: 25px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 14px rgba(141, 0, 32, 0.25);
    transition: all 0.3s ease;
}

.btn-banner-prospectus:hover {
    background: #73001a;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(141, 0, 32, 0.35);
}

.btn-banner-apply {
    background: #0f172a;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    padding: 11px 22px;
    border-radius: 25px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.btn-banner-apply:hover {
    background: #1e293b;
    color: #ffffff;
    transform: translateY(-2px);
}

.btn-banner-gallery {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    color: #334155;
    font-size: 14px;
    font-weight: 600;
    padding: 11px 20px;
    border-radius: 25px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.btn-banner-gallery:hover {
    background: #FAF4EB;
    border-color: var(--primary-maroon, #8D0020);
    color: var(--primary-maroon, #8D0020);
}

.academy-banner-visual-box {
    position: relative;
    width: 300px;
    height: 310px;
    border-radius: 22px;
    overflow: hidden;
    border: 5px solid #ffffff;
    box-shadow: 0 16px 40px rgba(141, 0, 32, 0.12);
    background: #ffffff;
    margin: 0 auto;
}

.academy-banner-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.academy-banner-badge-overlay {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 16px;
    border-radius: 20px;
    white-space: nowrap;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
    border: 2px solid #ffffff;
    display: inline-flex;
    align-items: center;
}

/* 2. Full-Width Odd / Even Sections */
.academy-section-white {
    background-color: #ffffff;
    padding: 60px 0;
}

.academy-section-cream {
    background-color: #FAF4EB;
    padding: 60px 0;
    border-top: 1px solid #eedec7;
    border-bottom: 1px solid #eedec7;
}

.academy-subnav-strip {
    background: #ffffff;
    border-bottom: 1px solid #e2e8f0;
    padding: 12px 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.academy-pills-row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
}

.academy-nav-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: 25px;
    font-size: 13.5px;
    font-weight: 600;
    color: #475569;
    background: #f1f5f9;
    text-decoration: none;
    transition: all 0.25s ease;
    border: 1px solid transparent;
}

.academy-nav-pill:hover,
.academy-nav-pill.active {
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    border-color: var(--primary-maroon, #8D0020);
    box-shadow: 0 4px 12px rgba(141, 0, 32, 0.2);
}

.academy-full-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 35px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    margin-bottom: 30px;
}

.academy-cream-card {
    background: #ffffff;
    border: 1px solid #eedec7;
    border-radius: 18px;
    padding: 35px;
    box-shadow: 0 4px 20px rgba(141, 0, 32, 0.04);
}

.academy-section-header-row {
    margin-bottom: 28px;
}

.academy-section-main-heading {
    font-size: 26px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 6px;
    font-family: var(--font-heading, 'Poppins', sans-serif);
    display: flex;
    align-items: center;
    gap: 12px;
}

.academy-section-main-heading i {
    color: var(--primary-maroon, #8D0020);
}

.academy-section-lead-text {
    font-size: 15px;
    color: #64748b;
    margin: 0;
}

/* Bottom Form Layout */
.academy-bottom-form-card {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

.academy-form-header {
    background: linear-gradient(135deg, #53111b 0%, #8D0020 100%);
    color: #ffffff;
    padding: 30px 40px;
}

.academy-form-header h3 {
    font-size: 25px;
    font-weight: 800;
    margin: 0 0 6px;
    color: #ffffff;
}

.academy-form-header p {
    font-size: 14.5px;
    color: rgba(255, 255, 255, 0.88);
    margin: 0;
}

.academy-form-body {
    padding: 40px;
}

.academy-form-helpline-sidebar {
    background: #FAF4EB;
    border: 1px solid #eedec7;
    border-radius: 16px;
    padding: 30px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.academy-form-helpline-sidebar h4 {
    font-size: 20px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 12px;
}

.academy-form-helpline-sidebar p {
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 20px;
}

.academy-helpline-phone-btn {
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    padding: 12px 24px;
    border-radius: 30px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 4px 15px rgba(141, 0, 32, 0.25);
    transition: all 0.3s ease;
    align-self: flex-start;
}

.academy-helpline-phone-btn:hover {
    background: #73001a;
    color: #ffffff;
    transform: translateY(-2px);
}

.btn-submit-academy-form {
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    padding: 13px 28px;
    border-radius: 30px;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    box-shadow: 0 6px 18px rgba(141, 0, 32, 0.25);
    transition: all 0.3s ease;
}

.btn-submit-academy-form:hover {
    background: #73001a;
    color: #ffffff;
    transform: translateY(-2px);
}

.academy-section-title {
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f1f5f9;
}

.academy-section-title i {
    color: var(--primary-maroon, #8D0020);
    font-size: 20px;
}

.academy-body-p {
    font-size: 15px;
    line-height: 1.8;
    color: #334155;
    margin-bottom: 16px;
}

.academy-body-p:last-child {
    margin-bottom: 0;
}

/* Objectives Grid */
.academy-specs-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.academy-spec-item {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 14px 16px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    transition: all 0.25s ease;
}

.academy-spec-item:hover {
    background: #FAF4EB;
    border-color: #eedec7;
    transform: translateY(-2px);
}

.academy-spec-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(141, 0, 32, 0.08);
    color: var(--primary-maroon, #8D0020);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 14px;
}

.academy-spec-text strong {
    display: block;
    color: #0f172a;
    font-size: 14.5px;
    margin-bottom: 2px;
}

.academy-spec-text span {
    font-size: 13px;
    color: #64748b;
    line-height: 1.4;
}

/* Curriculum Accordion */
.academy-curriculum-accordion .accordion-item {
    border: 1px solid #e2e8f0;
    border-radius: 12px !important;
    margin-bottom: 12px;
    overflow: hidden;
}

.academy-curriculum-accordion .accordion-button {
    font-size: 15px;
    font-weight: 600;
    color: #0f172a;
    padding: 16px 20px;
    background-color: #ffffff;
    box-shadow: none;
}

.academy-curriculum-accordion .accordion-button:not(.collapsed) {
    background-color: #FAF4EB;
    color: var(--primary-maroon, #8D0020);
}

.academy-curriculum-accordion .accordion-body {
    padding: 16px 20px 20px;
    font-size: 14.5px;
    color: #475569;
    line-height: 1.7;
    background-color: #ffffff;
}

.academy-guidelines-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.academy-guidelines-list li {
    font-size: 14.5px;
    color: #334155;
    margin-bottom: 12px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.6;
}

.academy-guidelines-list li i {
    color: #16a34a;
    margin-top: 4px;
    font-size: 13px;
    flex-shrink: 0;
}

/* 3. Download Documents Section */
.academy-download-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.academy-download-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    transition: all 0.25s ease;
}

.academy-download-card:hover {
    border-color: #cbd5e1;
    background: #FAF4EB;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
}

.download-card-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: #ffe4e6;
    color: #e11d48;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

.download-card-info {
    flex: 1;
}

.download-file-title {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 3px;
}

.download-file-meta {
    font-size: 13px;
    color: #64748b;
    margin: 0;
}

.download-card-action {
    flex-shrink: 0;
}

.btn-download-file {
    background: var(--primary-maroon, #8D0020);
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 18px;
    border-radius: 20px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.25s ease;
}

.btn-download-file:hover {
    background: #73001a;
    color: #ffffff;
    transform: scale(1.03);
}

/* 4. Image Gallery with Fancybox */
.academy-gallery-card {
    display: block;
    text-decoration: none;
    border-radius: 14px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    background: #0f172a;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.academy-gallery-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(141, 0, 32, 0.18);
}

.academy-gallery-thumb-box {
    position: relative;
    height: 180px;
    overflow: hidden;
}

.academy-gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.academy-gallery-card:hover .academy-gallery-img {
    transform: scale(1.08);
}

.academy-gallery-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.2) 60%, transparent 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding: 14px;
    color: #ffffff;
    text-align: center;
    opacity: 0.92;
    transition: opacity 0.3s ease;
}

.academy-gallery-overlay i {
    font-size: 20px;
    margin-bottom: 6px;
    color: #fca5a5;
    transition: transform 0.3s ease;
}

.academy-gallery-card:hover .academy-gallery-overlay i {
    transform: scale(1.2);
}

.academy-gallery-overlay span {
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.3;
}

@media (max-width: 991px) {
    .academy-specs-grid {
        grid-template-columns: 1fr;
    }

    .academy-banner-title {
        font-size: 28px;
    }
}

@media (max-width: 767px) {
    .academy-download-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .download-card-action {
        width: 100%;
    }

    .btn-download-file {
        width: 100%;
        justify-content: center;
    }

    .academy-gallery-thumb-box {
        height: 140px;
    }
}

/* ==========================================================================
   Photo Gallery Page Styles
   ========================================================================== */
.gallery-page-wrap {
    background-color: #fcfbf9;
    padding: 50px 0 80px;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.gallery-item {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e8dfd3;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.gallery-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
    border-color: #d8cdbf;
}

.gallery-item a {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    text-decoration: none;
    background: #f1f5f9;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.45s ease;
}

.gallery-item:hover img {
    transform: scale(1.08);
}

.gallery-overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.gallery-item:hover .gallery-overlay {
    opacity: 1;
}

.gallery-overlay i {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    color: #8D0020;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
    transform: scale(0.8);
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.gallery-item:hover .gallery-overlay i {
    transform: scale(1);
}