/* ============================================================
   JPIMS DESIGN REFRESH — Brand Palette + Professional Polish
   Palette sourced from the official JPIMS emblem:
     Deep Green  -> primary (institution, trust, medical)
     Gold        -> secondary (heritage, prestige, ring of the seal)
     Maroon      -> accent (urgency / emphasis, wordmark colour)
   Content is untouched — only look & feel changes.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Poppins:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700&display=swap');

:root{
  /* Primary — Deep Green (from the emblem's caduceus & laurel) */
  --brand-green-900:#06251a;
  --brand-green-800:#0b3d24;
  --brand-green-700:#0e6b3a;   /* core brand green */
  --brand-green-600:#14884a;
  --brand-green-500:#1c9d57;

  /* Secondary — Gold (from the emblem's outer ring) */
  --brand-gold-700:#a06500;
  --brand-gold-600:#b97f1c;
  --brand-gold-500:#dc9926;
  --brand-gold-400:#e8b94a;

  /* Accent — Maroon (from the emblem's "JPIMS" wordmark) */
  --brand-maroon-700:#5c0c24;
  --brand-maroon-600:#7a1030;
  --brand-maroon-500:#93163b;

  /* Neutral surfaces, tinted toward the brand green */
  --surface-100:#f5faf6;
  --surface-200:#eaf5ee;
  --ink-900:#0b3d24;
  --ink-700:#33453b;

  --radius-lg:18px;
  --radius-md:12px;
  --radius-sm:8px;
  --shadow-soft:0 10px 30px -12px rgba(6,37,26,0.20);
  --shadow-card:0 4px 20px rgba(6,37,26,0.09);
  --shadow-lift:0 18px 36px -14px rgba(6,37,26,0.24);
}

html, body{
  font-family:"Manrope","Fira Sans",sans-serif !important;
  scroll-behavior:smooth;
}

h1, h2, h3, h4, h5, h6,
.section_title h2, .section_title h3{
  font-family:"Poppins","Fira Sans",sans-serif !important;
  letter-spacing:-0.01em;
}

/* ---------- Signature display font for the big statement headings —
   an editorial serif that sets JPIMS apart from generic template sans ---------- */
.section_title h1,
.admission-title,
.footer-widget-title h4{
  font-family:"Fraunces","Poppins",serif !important;
  font-optical-sizing:auto;
  letter-spacing:0;
}

/* ---------- Section eyebrow label: maroon accent on light sections,
   soft gold on dark-green sections (style_two) for contrast ---------- */
.section_title h4{
  color:var(--brand-maroon-600) !important;
  font-weight:700 !important;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:14px !important;
}
.section_title.style_two h4{
  color:var(--brand-gold-400) !important;
}

/* ---------- Buttons: pill shape, brand gradient, lift on hover ---------- */
a.btn, button.btn, .theme_btn, .blog_btn, .service_btn,
input[type="submit"], .make_appointment{
  border-radius:999px !important;
  padding-left:28px !important;
  padding-right:28px !important;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease !important;
  box-shadow:var(--shadow-soft);
  border:none !important;
}

a.btn:hover, button.btn:hover, .theme_btn:hover, .blog_btn:hover,
.service_btn:hover, input[type="submit"]:hover, .make_appointment:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-lift);
}

.btn-primary, .make_appointment{
  background:linear-gradient(135deg, var(--brand-green-800), var(--brand-green-600)) !important;
}

/* A secondary gold call-to-action style, used sparingly for emphasis buttons */
.btn-gold, .theme_btn.style-gold{
  background:linear-gradient(135deg, var(--brand-gold-600), var(--brand-gold-500)) !important;
  color:#3a2a06 !important;
}

/* ---------- Cards / boxes: rounded corners + soft shadow ---------- */
.single-blog-box, .single-blog-thumb,
.single-team_item, .team_thumb, .notice-item, .form-box,
.counter-single-item{
  border-radius:var(--radius-lg) !important;
  overflow:hidden;
  box-shadow:var(--shadow-card);
  transition:transform .3s ease, box-shadow .3s ease;
}

.single-blog-box:hover, .service_single_item:hover, .single-team_item:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-lift);
}

img{
  border-radius:var(--radius-md);
}

.service_icon, .team_thumb img, .logo-item img{
  border-radius:var(--radius-sm);
}

/* ---------- Section spacing / rhythm ---------- */
.section_title{
  margin-bottom:36px;
}

/* ---------- Admission / notice tags: gold badge, sharper accent ---------- */
.admission-tag, .notice-date{
  border-radius:6px !important;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-weight:600;
  font-size:12px;
  background:linear-gradient(135deg, var(--brand-gold-600), var(--brand-gold-500)) !important;
  color:#3a2a06 !important;
}

/* ---------- Header: cleaner surface, subtle bottom shadow ---------- */
header, .header_area, .consalt-header-area{
  box-shadow:0 2px 18px rgba(6,37,26,0.10);
}

/* ---------- Emergency 24x7 Auto-fit Widget ---------- */
.header-logos {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

.emergency-wrap {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-left: 3px solid var(--brand-gold-500) !important;
  padding-left: 12px !important;
  margin: 0 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.emergency-icon {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  background: var(--brand-maroon-600) !important;
  color: #fff !important;
  font-size: 19px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 12px rgba(122, 16, 48, 0.28) !important;
  flex-shrink: 0 !important;
}

.emergency-content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  white-space: nowrap !important;
  line-height: 1.15 !important;
}

.emergency-title {
  font-family: "Poppins", "Manrope", sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: var(--brand-gold-600) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  white-space: nowrap !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.emergency-number {
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--brand-green-900) !important;
  white-space: nowrap !important;
  display: inline-block !important;
  letter-spacing: 0.3px !important;
  margin-top: 1px !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  transition: color 0.2s ease !important;
}

.emergency-number:hover {
  color: var(--brand-maroon-600) !important;
}

.header-logos .logo-item img {
  max-height: 46px !important;
  width: auto !important;
  object-fit: contain !important;
  transition: transform 0.3s ease !important;
}

/* Footer's top accent is handled by the tricolour signature stripe
   further down this file (.footer_area::before) */

/* ---------- Counters / stats: maroon numerals for punch, only on
   the light-background counter variants (dark-bg variants keep
   their white numerals for contrast) ---------- */
.counter-single-item.style_two .counter-_number h1,
.counter-single-item.style_three .counter-_number h1,
.counter-single-item.style_four .counter-_number h1,
.counter-single-item.style_five .counter-_number h1{
  color:var(--brand-maroon-600) !important;
}

/* ---------- Blockquotes / testimonials: gold quote mark, green border ---------- */
blockquote{
  border-left:4px solid var(--brand-gold-500);
  background:var(--surface-100);
  border-radius:var(--radius-sm);
}

/* ---------- Selection colour matches new palette ---------- */
::selection{
  background:var(--brand-gold-400);
  color:var(--brand-green-900);
}

/* ---------- Scrollbar polish (Webkit) ---------- */
::-webkit-scrollbar{ width:9px; }
::-webkit-scrollbar-track{ background:var(--surface-100); }
::-webkit-scrollbar-thumb{
  background:linear-gradient(var(--brand-green-700), var(--brand-green-600));
  border-radius:10px;
}

/* ---------- Links: crisp hover feedback ---------- */
a:hover{ color:var(--brand-green-600); }

/* ---------- Focus states: accessible, on-brand ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--brand-gold-500);
  outline-offset:2px;
}

/* ============================================================
   HEADER — signature redesign
   ============================================================ */

/* Brand signature stripe: green -> gold -> maroon, a small unique
   touch that echoes the tricolour of the JPIMS emblem */
body{ position:relative; }
body::before{
  content:"";
  display:block;
  height:4px;
  width:100%;
  background:linear-gradient(90deg,
    var(--brand-green-700) 0%,
    var(--brand-green-700) 33%,
    var(--brand-gold-500) 33%,
    var(--brand-gold-500) 66%,
    var(--brand-maroon-600) 66%,
    var(--brand-maroon-600) 100%);
}

/* Topbar: refine the two-tone diagonal, tidy spacing & type */
.topber_area.style_two{
  box-shadow:0 3px 14px rgba(6,37,26,0.18);
}
.topber_area.style_two .header-address-info p{
  font-family:"Manrope",sans-serif;
  font-size:13.5px;
  letter-spacing:.01em;
}
.topber_area.style_two .top-links a{
  font-weight:600;
  letter-spacing:.02em;
}
.topber_area.style_two .social-wrapper ul li a{
  transition:transform .25s ease, background .25s ease;
  border:1px solid rgba(255,255,255,0.35);
}
.topber_area.style_two .social-wrapper ul li a:hover{
  transform:translateY(-3px);
  background:var(--brand-maroon-600) !important;
  border-color:var(--brand-maroon-600);
}
.topber_area.style_two .social-wrapper ul li a:hover i {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* ============================================================
   BRAND HEADER LOCKUP — Large, Prominent, Crisp & Auto-Fitting
   ============================================================ */
.header-brand-wrap {
    display: inline-flex !important;
    align-items: center;
    gap: 16px;
    text-decoration: none !important;
    max-width: 100%;
}

.brand-emblem-seal {
    height: 84px;
    width: 84px;
    min-width: 84px;
    object-fit: contain;
    border-radius: 50%;
    filter: drop-shadow(0 3px 10px rgba(6, 37, 26, 0.18));
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.header-brand-wrap:hover .brand-emblem-seal {
    transform: scale(1.06);
}

.brand-text-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
}

.brand-name-main {
    font-family: 'Poppins', 'Fira Sans', sans-serif;
    font-size: clamp(20px, 1.95vw, 27px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0.3px;
    color: var(--brand-green-900, #06251a);
    text-transform: uppercase;
    white-space: nowrap;
    margin: 0;
}

.brand-tag-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 5px;
    line-height: 1.2;
}

.brand-jpims-badge {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(15px, 1.2vw, 18px);
    font-weight: 800;
    color: var(--brand-maroon-600, #7a1030);
    letter-spacing: 0.5px;
}

.brand-bullet {
    color: var(--brand-gold-500, #dc9926);
    font-size: 14px;
    font-weight: 900;
}

.brand-location-text {
    font-family: 'Poppins', 'Manrope', sans-serif;
    font-size: clamp(12px, 1vw, 14px);
    font-weight: 700;
    color: var(--brand-green-700, #0e6b3a);
    letter-spacing: 1px;
    text-transform: uppercase;
}

.brand-motto-text {
    font-family: 'Manrope', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #3b604e;
    letter-spacing: 0.3px;
}

/* Sticky Header State */
a.active_sticky.header-brand-wrap {
    display: none !important;
}

.sticky a.active_sticky.header-brand-wrap {
    display: inline-flex !important;
}

.sticky a.active_header.header-brand-wrap {
    display: none !important;
}

.brand-emblem-seal.sticky-seal {
    height: 56px;
    width: 56px;
    min-width: 56px;
}

.brand-name-main.sticky-name {
    font-size: clamp(17px, 1.5vw, 21px);
}

.preloader-logo img{
  max-height: 140px;
  width: auto !important;
  margin: 0 auto;
  display: block;
}

@media (max-width: 1250px) {
    .brand-name-main {
        font-size: 19px;
    }
    .brand-motto-text {
        display: none !important;
    }
}

@media (max-width: 991px) {
    .brand-name-main {
        font-size: 16px;
        white-space: normal;
    }
    .brand-emblem-seal {
        height: 60px;
        width: 60px;
        min-width: 60px;
    }
    .header-brand-wrap {
        gap: 10px;
    }
}

@media (max-width: 576px) {
    .brand-name-main {
        font-size: 14px;
        line-height: 1.2;
    }
    .brand-emblem-seal {
        height: 50px;
        width: 50px;
        min-width: 50px;
    }
    .brand-jpims-badge {
        font-size: 13px;
    }
    .brand-location-text {
        font-size: 11px;
    }
}

/* Emergency call widget: pulsing ring around the icon for urgency */
.emergency-icon{
  position:relative;
}
.emergency-icon::after{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:50%;
  border:2px solid var(--brand-maroon-600);
  opacity:.55;
  animation:jpims-pulse 2.2s ease-out infinite;
}
@keyframes jpims-pulse{
  0%{ transform:scale(1); opacity:.55; }
  80%{ transform:scale(1.55); opacity:0; }
  100%{ transform:scale(1.55); opacity:0; }
}

/* Partner-logo strip: subtle divider between logos instead of raw gaps */
.header-logos .logo-item + .logo-item{
  padding-left:10px;
  border-left:1px solid var(--surface-200);
}

/* ---------- Primary navigation: replace the dated per-item 3D
   bevel buttons with a clean flat bar + animated gold underline ---------- */
.custom-menu-wrapper .main-menu{
  background:var(--brand-green-800) !important;
  box-shadow:0 4px 16px rgba(6,37,26,0.22) !important;
}

.custom-menu-wrapper .menu-item > a{
  background:transparent !important;
  box-shadow:none !important;
  border-right:1px solid rgba(255,255,255,0.10) !important;
  font-family:"Manrope",sans-serif;
  font-weight:700;
  font-size:13.5px;
  letter-spacing:.06em;
  position:relative;
  transition:color .25s ease, background .25s ease;
}

.custom-menu-wrapper .menu-item > a::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:6px;
  height:2px;
  background:var(--brand-gold-500);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .28s ease;
}

.custom-menu-wrapper .menu-item > a:hover{
  background:rgba(255,255,255,0.06) !important;
  color:var(--brand-gold-400) !important;
  transform:none !important;
}
.custom-menu-wrapper .menu-item > a:hover::after{
  transform:scaleX(1);
}

.custom-menu-wrapper .menu-item > a:active{
  box-shadow:none !important;
  transform:none !important;
}

.custom-menu-wrapper .menu-item > a i{
  transition:transform .25s ease;
  font-size:11px;
}
.custom-menu-wrapper .menu-item:hover > a i{
  transform:rotate(180deg);
}

/* Dropdowns: clean card instead of flat gold-fill list */
.custom-menu-wrapper .submenu{
  background:#ffffff !important;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 18px 40px -12px rgba(6,37,26,0.35);
  padding:6px 0;
  margin-top:6px;
}
.custom-menu-wrapper .submenu li a{
  color:var(--ink-900) !important;
  border-bottom:1px solid var(--surface-200) !important;
  border-left:3px solid transparent;
  font-size:14px;
  transition:background .2s ease, border-color .2s ease, padding-left .2s ease;
}
.custom-menu-wrapper .submenu li a:hover{
  background:var(--surface-100) !important;
  border-left:3px solid var(--brand-gold-500);
  padding-left:20px;
  color:var(--brand-green-700) !important;
}

/* ============================================================
   FOOTER — signature redesign
   ============================================================ */

/* Pre-footer bar (logo + socials): Rich Brand Dark Green */
section.call_area,
section.call_area.style_three,
.call_area.style_three {
  background: #082d1c !important;
  background-image: linear-gradient(180deg, #0a3521 0%, #051e13 100%) !important;
  border-top: 1px solid rgba(220, 153, 38, 0.3) !important;
  border-bottom: 1px solid rgba(220, 153, 38, 0.3) !important;
  padding: 28px 0 !important;
}

.call_area.style_three .footer_logo {
  text-align: left !important;
  border: none !important;
  padding: 0 !important;
}

.call_area.style_three .footer_logo a {
  display: inline-flex !important;
  align-items: center !important;
  background: #ffffff !important;
  padding: 10px 22px !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25) !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  transition: transform 0.25s ease !important;
}

.call_area.style_three .footer_logo a:hover {
  transform: translateY(-2px) !important;
}

.call_area.style_three .footer_logo a img {
  max-width: 100% !important;
  width: auto !important;
  height: 72px !important;
  object-fit: contain !important;
  display: block !important;
}

@media (max-width: 991px) {
  .call_area.style_three .footer_logo a img {
    height: 60px !important;
  }
}

@media (max-width: 576px) {
  .call_area.style_three .footer_logo a {
    padding: 8px 14px !important;
  }
  .call_area.style_three .footer_logo a img {
    height: 46px !important;
  }
}

.call_social_icon {
  position: relative !important;
  z-index: 20 !important;
  text-align: right !important;
}

.call_social_icon ul {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.call_social_icon ul li {
  display: inline-block !important;
  margin: 0 !important;
}

.call_social_icon ul li a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  line-height: normal !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #0e6b3a 0%, #06311b 100%) !important;
  border: 2px solid #dc9926 !important;
  box-shadow: 0 4px 12px rgba(6, 49, 27, 0.25) !important;
  transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
  text-decoration: none !important;
  position: relative !important;
  z-index: 25 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.call_social_icon ul li a i {
  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 1 !important;
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: transform 0.25s ease !important;
}

.call_social_icon ul li a:hover {
  transform: translateY(-3px) scale(1.08) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.4) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.call_social_icon ul li a:hover i {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: scale(1.15) !important;
}

.call_social_icon ul li a.social-fb:hover {
  background: #1877f2 !important;
  border-color: #1877f2 !important;
}

.call_social_icon ul li a.social-in:hover {
  background: #0a66c2 !important;
  border-color: #0a66c2 !important;
}

.call_social_icon ul li a.social-ig:hover {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
  border-color: #e1306c !important;
}

/* ============================================================
   FOOTER — SIGNATURE DARK BRAND REDESIGN
   ============================================================ */

/* Footer surface: rich brand dark green background */
.footer_area,
section.footer_area,
section.footer_area.style_two,
section.footer_area.style_three {
  background: #06251a !important;
  background-image: linear-gradient(180deg, #082d1c 0%, #03170e 100%) !important;
  position: relative !important;
  color: #e2ede6 !important;
  padding-top: 0 !important;
  padding-bottom: 30px !important;
}

/* Footer surface: tricolour signature stripe as the header */
.footer_area::before{
  content:"";
  display:block;
  height:4px;
  width:100%;
  background:linear-gradient(90deg,
    var(--brand-green-600) 0%, var(--brand-green-600) 33%,
    var(--brand-gold-500) 33%, var(--brand-gold-500) 66%,
    var(--brand-maroon-600) 66%, var(--brand-maroon-600) 100%);
  margin-bottom:50px;
  border-radius:3px 3px 0 0;
}

/* Fix + refine widget titles with bright white and gold underline accent */
.footer-widget-content.style_two .footer-widget-title h4,
.footer_area .footer-widget-title h4{
  color:#ffffff !important;
  font-family:"Poppins", sans-serif !important;
  font-size:20px !important;
  font-weight:700 !important;
  margin-bottom:22px !important;
  padding-bottom:14px;
  position:relative;
  letter-spacing:0.3px;
}

.footer-widget-content.style_two .footer-widget-title h4::after,
.footer_area .footer-widget-title h4::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:44px;
  height:3px;
  background:var(--brand-gold-500);
  border-radius:2px;
}

/* Footer menu links: high contrast readable sage-white, bright gold on hover */
.footer-widget-content.style_two .footer-widget-menu ul li a,
.footer_area .footer-widget-menu ul li a{
  color:#d4e8dc !important;
  font-family:"Manrope", sans-serif !important;
  font-size:14.5px !important;
  font-weight:500 !important;
  display:inline-block;
  padding:4px 0;
  transition:color .2s ease, padding-left .2s ease;
}

.footer-widget-content.style_two .footer-widget-menu ul li a:hover,
.footer_area .footer-widget-menu ul li a:hover{
  color:var(--brand-gold-400) !important;
  padding-left:6px;
}

/* Footer description paragraph: clear and legible */
.footer-widget-content.style_two p.footer_desc,
.footer_area p.footer_desc{
  color:#c8dfd2 !important;
  font-family:"Manrope", sans-serif !important;
  font-size:14.5px !important;
  line-height:1.75 !important;
}

/* Address strip: glassmorphism card on dark background */
.footer-address-full{
  background:rgba(255,255,255,0.08) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  border:1px solid rgba(255,255,255,0.16) !important;
  border-radius:16px !important;
  padding:24px 30px !important;
  margin-top:45px !important;
  box-shadow:0 10px 30px rgba(0,0,0,0.25) !important;
}

.footer-address-full .address-item,
.footer-address-full .address-item p{
  color:#ffffff !important;
  font-family:"Manrope", sans-serif !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.4 !important;
}

.footer-address-full .address-item span{
  color:var(--brand-gold-400) !important;
  font-family:"Poppins", sans-serif !important;
  font-weight:700 !important;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-size:12px !important;
  display:block;
  margin-bottom:4px;
}

.footer-address-full .address-item > i{
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  font-size: 24px !important;
  background: linear-gradient(135deg, var(--brand-green-700), var(--brand-green-800)) !important;
  border: 2px solid var(--brand-gold-500) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
  flex-shrink: 0 !important;
}

/* Properly align nested link icons like external map link */
.footer-address-full .address-item p a i,
.footer-address-full .address-item p i,
.address-item p a i,
.address-item p i {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 11px !important;
  color: var(--brand-gold-400) !important;
  margin-left: 5px !important;
  vertical-align: baseline !important;
  transition: transform 0.2s ease, color 0.2s ease !important;
}

.footer-address-full .address-item p a:hover i,
.address-item p a:hover i {
  color: #ffffff !important;
  transform: translate(2px, -2px);
}

.footer-address-full .divider{
  width:1px;
  align-self:stretch;
  background:rgba(255,255,255,0.18) !important;
}

/* Bottom copyright bar */
.row.add-border.style_two{
  border-top:1px solid rgba(255,255,255,0.14) !important;
  padding-top:24px;
  margin-top:16px;
}

.footer-bottom-content-copy p,
.footer-bottom-content-copy a{
  color:#c3d8c9 !important;
  font-family:"Manrope", sans-serif !important;
  font-size:14px !important;
}

.footer-bottom-content-copy a{
  color:var(--brand-gold-400) !important;
  font-weight:700 !important;
  text-decoration:none !important;
}

.footer-bottom-content-copy a:hover{
  color:#ffffff !important;
  text-decoration:underline !important;
}

.footer-bottom-menu ul li a{
  color:#c3d8c9 !important;
  font-family:"Manrope", sans-serif !important;
  font-size:14px !important;
}

.footer-bottom-menu ul li a:hover{
  color:var(--brand-gold-400) !important;
}

/* ============================================================
   HERO VIDEO BRAND BADGE & FLOATING CARD AUTO-ADJUST
   ============================================================ */

.hero-thumb {
  position: relative !important;
  border-radius: 18px !important;
  overflow: visible !important;
}

.hero-video {
  border-radius: 18px !important;
  display: block !important;
  width: 100% !important;
  box-shadow: 0 16px 40px rgba(6, 37, 26, 0.16) !important;
}

/* JPIMS Video Badge: compact, elegant brand badge */
.jpims-video-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 9 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: auto !important;
  min-height: auto !important;
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  padding: 6px 12px 6px 8px !important;
  border-radius: 10px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18) !important;
  border: 1px solid rgba(14, 107, 58, 0.2) !important;
  pointer-events: none !important;
}

.jpims-video-badge-logo {
  width: 36px !important;
  height: 36px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
}

.jpims-video-badge-text {
  display: flex !important;
  flex-direction: column !important;
}

.jpims-video-badge-name {
  font-family: 'Poppins', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  color: #0b3d24 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.2px !important;
}

.jpims-video-badge-tag {
  font-family: 'Manrope', sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  color: #a06500 !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  margin-top: 1px !important;
}

.jpims-video-badge-motto {
  font-family: 'Manrope', sans-serif !important;
  font-size: 8.5px !important;
  font-weight: 600 !important;
  color: #55685d !important;
  letter-spacing: 0.3px !important;
  margin-top: 1px !important;
}

/* Floating Stats Card: Auto-adjusted & positioned neatly at bottom-right */
.ksm-floating-card {
  position: absolute !important;
  right: 20px !important;
  bottom: 20px !important;
  left: auto !important; /* CRITICAL: clears buggy left: -59px */
  top: auto !important;
  width: 230px !important;
  max-width: calc(100% - 40px) !important;
  z-index: 10 !important;
  margin: 0 !important;
  background: rgba(6, 37, 26, 0.88) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35) !important;
  padding: 18px 20px !important;
}

.ksm-floating-card:before {
  background: linear-gradient(90deg, var(--brand-gold-500), var(--brand-green-500)) !important;
  height: 4px !important;
  border-radius: 16px 16px 0 0 !important;
}

.ksm-floating-card * {
  color: #ffffff !important;
}

.ksm-card-top {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

.ksm-icon-box {
  width: 44px !important;
  height: 44px !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
}

.ksm-date-content h4 {
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  color: #ffffff !important;
}

.ksm-card-stats {
  margin-bottom: 14px !important;
}

.ksm-card-stats p {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #e2f0e7 !important;
  margin: 3px 0 !important;
}

.ksm-card-btn {
  display: block !important;
  text-align: center !important;
  background: #ffffff !important;
  color: #0b3d24 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.25s ease !important;
}

.ksm-card-btn:hover {
  background: var(--brand-gold-400) !important;
  color: #06251a !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 991px) {
  .ksm-floating-card {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    margin: 25px auto 0 !important;
    width: 100% !important;
    max-width: 280px !important;
  }
  
  .jpims-video-badge {
    min-width: auto !important;
    min-height: auto !important;
    padding: 6px 10px !important;
  }
  
  .jpims-video-badge-logo {
    width: 32px !important;
    height: 32px !important;
  }
  
  .jpims-video-badge-name {
    font-size: 11px !important;
  }
}

@media (max-width: 576px) {
  .jpims-video-badge {
    top: 6px !important;
    left: 6px !important;
    min-width: auto !important;
    min-height: auto !important;
    padding: 6px 10px !important;
    gap: 8px !important;
  }
  .jpims-video-badge-logo {
    width: 34px !important;
    height: 34px !important;
  }
  .jpims-video-badge-name {
    font-size: 11px !important;
  }
  .jpims-video-badge-tag {
    font-size: 9px !important;
  }
  .jpims-video-badge-motto {
    font-size: 8px !important;
  }
}

/* ============================================================
   OUR MEDICAL SERVICES CARDS — AUTOFIT & EQUAL HEIGHT
   ============================================================ */

/* Section spacing so the floating top icons have breathing room */
section.service_area.styel_five,
section.service_area.servicesp {
  padding: 60px 0 70px !important;
}

section.service_area.styel_five .section_title.home_five {
  margin-bottom: 55px !important;
}

/* Flex row setup: columns stretch equally in height */
#services-hospital {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  margin-top: 10px !important;
}

#services-hospital > [class*="col-"] {
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 45px !important;
}

/* Card container: auto-fit full height, visible overflow for round icon */
.service_single_item.style_five,
#services-hospital .service_single_item {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  border-radius: 18px !important;
  border: 1px solid rgba(14, 107, 58, 0.12) !important;
  box-shadow: 0 10px 30px rgba(6, 37, 26, 0.08) !important;
  overflow: visible !important; /* CRITICAL: Prevents clipping of the top circular icon */
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
}

/* Smooth elegant hover lift without breaking row alignment */
.service_single_item.style_five:hover,
#services-hospital .service_single_item:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 40px rgba(6, 37, 26, 0.16) !important;
  border-color: rgba(14, 107, 58, 0.35) !important;
}

/* Floating circular icon positioned centered above card header */
.service_single_item.style_five .service_icons,
#services-hospital .service_icons {
  position: absolute !important;
  top: -38px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  right: auto !important;
  width: 76px !important;
  height: 76px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  padding: 4px !important;
  border: 2px solid rgba(14, 107, 58, 0.22) !important;
  box-shadow: 0 10px 25px rgba(11, 61, 36, 0.22) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 5 !important;
  margin: 0 !important;
  line-height: normal !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.service_single_item.style_five:hover .service_icons,
#services-hospital .service_single_item:hover .service_icons {
  transform: translateX(-50%) scale(1.06) !important;
  box-shadow: 0 14px 30px rgba(11, 61, 36, 0.32) !important;
}

/* Inner green circle for the icon */
.service_single_item.style_five .service_icon2,
#services-hospital .service_icon2 {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #1c9d57, #0b3d24) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  line-height: normal !important;
  box-shadow: inset 0 2px 4px rgba(255, 255, 255, 0.25), 0 4px 10px rgba(11, 61, 36, 0.20) !important;
  transition: all 0.3s ease !important;
}

.service_single_item.style_five:hover .service_icon2,
#services-hospital .service_single_item:hover .service_icon2 {
  background: linear-gradient(135deg, #0e6b3a, #06251a) !important;
}

.service_single_item.style_five .service_icon2 img,
#services-hospital .service_icon2 img {
  width: 34px !important;
  height: 34px !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) !important; /* Forces icon to be pure brilliant white */
  display: block !important;
  margin: auto !important;
  transition: transform 0.3s ease !important;
}

.service_single_item.style_five:hover .service_icon2 img,
#services-hospital .service_single_item:hover .service_icon2 img {
  transform: scale(1.12) !important;
}

/* Card inner content - flex layout with auto heights */
.service_single_item.style_five .service_content,
#services-hospital .service_content {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: auto !important;
  padding: 55px 24px 28px !important; /* Top padding accommodates the floating circle */
  background: transparent !important;
  border: none !important;
  border-radius: 18px !important;
  text-align: center !important;
}

/* Card title: fixed 2-line height for perfect horizontal alignment */
.service_single_item.style_five .service_content h3,
#services-hospital .service_content h3 {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16.5px !important;
  font-weight: 700 !important;
  color: #0b3d24 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.2px !important;
  margin: 0 0 14px 0 !important;
  min-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color 0.3s ease !important;
}

.service_single_item.style_five .service_content h3:before,
.service_single_item.style_five .service_content h3:after,
#services-hospital .service_content h3:before,
#services-hospital .service_content h3:after {
  display: none !important;
}

.service_single_item.style_five:hover .service_content h3,
#services-hospital .service_single_item:hover .service_content h3 {
  color: #14884a !important;
}

/* Card description paragraph: flex-grow pushes button to the bottom evenly */
.service_single_item.style_five .service_content p,
#services-hospital .service_content p {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  color: #4a5d52 !important;
  margin: 0 0 24px 0 !important;
  flex-grow: 1 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
}

/* Button wrapper pinned to the bottom of each card */
.service_single_item.style_five .service_btns,
#services-hospital .service_btns {
  margin-top: auto !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
}

/* Styled Read More pill button */
.service_single_item.style_five .service_btns a,
#services-hospital .service_btns a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #eaf5ee !important;
  color: #0e6b3a !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  padding: 9px 24px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(14, 107, 58, 0.20) !important;
  box-shadow: 0 2px 6px rgba(11, 61, 36, 0.05) !important;
  text-decoration: none !important;
  position: relative !important;
  overflow: hidden !important;
  margin: 0 !important;
  transition: all 0.25s ease !important;
}

.service_single_item.style_five .service_btns a i,
#services-hospital .service_btns a i {
  font-size: 16px !important;
  font-weight: 700 !important;
  transition: transform 0.25s ease !important;
}

/* Disable buggy old pseudo span */
.service_single_item.style_five .service_btns span,
#services-hospital .service_btns span {
  display: none !important;
}

.service_single_item.style_five .service_btns a:hover,
#services-hospital .service_btns a:hover {
  background: #0e6b3a !important;
  color: #ffffff !important;
  border-color: #0e6b3a !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(14, 107, 58, 0.28) !important;
}

.service_single_item.style_five .service_btns a:hover i,
#services-hospital .service_btns a:hover i {
  transform: rotate(90deg) !important;
}

/* Hide broken decorative background shape */
.service_single_item.style_five .servoce_shape,
#services-hospital .servoce_shape {
  display: none !important;
}

/* ============================================================
   DEPARTMENT CAROUSEL (#depart5) — TITLE VISIBILITY & SPACING
   ============================================================ */
section.sectionfive,
section.service_area.sectionfive {
  padding-top: 60px !important;
  padding-bottom: 70px !important;
  position: relative !important;
}

section.sectionfive .section_title.home_five {
  margin-bottom: 30px !important;
  position: relative !important;
  z-index: 10 !important;
}

section.sectionfive .section_title.home_five h4 {
  color: var(--brand-gold-600, #b88218) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}

section.sectionfive .section_title.home_five h1 {
  color: var(--brand-green-900, #082d1c) !important;
  font-size: 38px !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 10 !important;
}

#depart5,
section.sectionfive #depart5,
.sectionfive #depart5 {
  margin-top: 35px !important;
  position: relative !important;
  z-index: 2 !important;
}

/* ============================================================
   MBBS UNDERGRADUATE PROGRAM CARD (.ug-card) — RICH DARK GREEN
   ============================================================ */
.ug-card {
  background: linear-gradient(135deg, #083d22 0%, #042414 100%) !important;
  border-radius: 20px !important;
  padding: 45px !important;
  text-align: center !important;
  border: 1px solid rgba(220, 153, 38, 0.35) !important;
  box-shadow: 0 15px 40px rgba(4, 36, 20, 0.3) !important;
}

.ug-card h3 {
  font-size: 26px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}

.ug-card .admission-desc {
  color: #d8ede0 !important;
  line-height: 1.7 !important;
  margin-bottom: 30px !important;
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ug-card .admission-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #ffffff !important;
  color: #083d22 !important;
  padding: 10px 20px !important;
  border-radius: 30px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 1px solid rgba(14, 107, 58, 0.2) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
  transition: all 0.3s ease !important;
}

.ug-card .admission-btn:hover {
  background: #dc9926 !important;
  color: #06251a !important;
  border-color: #dc9926 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(220, 153, 38, 0.35) !important;
}

.ug-card .apply-now-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #f5a623 0%, #d48b17 100%) !important;
  color: #06251a !important;
  padding: 14px 38px !important;
  border-radius: 50px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 25px rgba(212, 139, 23, 0.4) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.ug-card .apply-now-btn:hover {
  transform: translateY(-4px) scale(1.03) !important;
  background: #ffffff !important;
  color: #083d22 !important;
  box-shadow: 0 15px 35px rgba(255, 255, 255, 0.25) !important;
}

/* Ayushman Bharat Yojana Button - Green Theme */
.pmjay-btn {
  background: linear-gradient(135deg, #1fae5c 0%, #0e6b3a 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 25px rgba(14, 107, 58, 0.35) !important;
}

.pmjay-btn:hover {
  background: linear-gradient(135deg, #24c669 0%, #117e44 100%) !important;
  box-shadow: 0 16px 36px rgba(14, 107, 58, 0.45) !important;
  color: #ffffff !important;
}

/* ============================================================
   JPIMS INNER PAGES STYLING (Blogs, Terms, FAQs, Sitemap)
   ============================================================ */

/* Inner Page Hero Banner */
.jpims-inner-hero {
  position: relative;
  background: linear-gradient(135deg, #052115 0%, #0a4023 55%, #106338 100%);
  padding: 68px 0 54px;
  overflow: hidden;
  border-bottom: 3px solid var(--brand-gold-500);
}

.jpims-inner-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(rgba(220, 153, 38, 0.12) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: 0.65;
  pointer-events: none;
}

.jpims-inner-hero-content {
  position: relative;
  z-index: 2;
}

.jpims-inner-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(220, 153, 38, 0.18);
  border: 1px solid rgba(220, 153, 38, 0.45);
  color: #f7d287;
  padding: 5px 16px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 14px;
}

.jpims-inner-title {
  font-family: "Fraunces", "Poppins", serif !important;
  color: #ffffff !important;
  font-size: 40px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin-bottom: 12px !important;
}

@media (max-width: 768px) {
  .jpims-inner-title {
    font-size: 28px !important;
  }
}

.jpims-inner-subtitle {
  color: #d1e7dd;
  font-size: 16px;
  max-width: 680px;
  margin-bottom: 20px;
  line-height: 1.6;
}

.jpims-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
  font-size: 14px;
  color: #b5d5c5;
}

.jpims-breadcrumbs li a {
  color: #e8b94a;
  text-decoration: none;
  transition: color 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.jpims-breadcrumbs li a:hover {
  color: #ffffff;
  text-decoration: underline;
}

.jpims-breadcrumbs li.separator {
  color: rgba(255, 255, 255, 0.4);
}

.jpims-breadcrumbs li.active {
  color: #ffffff;
  font-weight: 600;
}

/* Global Content Wrapper */
.jpims-page-wrapper {
  background: #f7faf8;
  padding: 60px 0 80px;
}

/* ============================================================
   BLOGS PAGE STYLES
   ============================================================ */
.blog-filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  background: #ffffff;
  padding: 16px 24px;
  border-radius: 14px;
  box-shadow: 0 4px 16px rgba(6, 37, 26, 0.06);
  margin-bottom: 36px;
  border: 1px solid #e5eee8;
}

.blog-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.blog-pill-btn {
  background: #f1f7f3;
  color: #0b3d24;
  border: 1px solid #d5e5db;
  padding: 7px 18px;
  border-radius: 30px;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
}

.blog-pill-btn:hover,
.blog-pill-btn.active {
  background: var(--brand-green-700);
  color: #ffffff;
  border-color: var(--brand-green-700);
  box-shadow: 0 4px 12px rgba(14, 107, 58, 0.25);
}

.blog-search-box {
  position: relative;
  min-width: 260px;
}

.blog-search-box input {
  width: 100%;
  padding: 8px 16px 8px 38px;
  border: 1px solid #cde0d5;
  border-radius: 30px;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s ease;
}

.blog-search-box input:focus {
  border-color: var(--brand-green-600);
  box-shadow: 0 0 0 3px rgba(20, 136, 74, 0.15);
}

.blog-search-box i {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #799787;
}

.jpims-blog-card {
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(6, 37, 26, 0.07);
  border: 1px solid #e7efe9;
  transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
  display: flex;
  flex-direction: column;
  height: 100%;
  margin-bottom: 30px;
}

.jpims-blog-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(6, 37, 26, 0.14);
  border-color: #bad3c3;
}

.blog-card-img-wrap {
  position: relative;
  width: 100%;
  height: 220px;
  overflow: hidden;
  background: #e9f2ec;
}

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

.jpims-blog-card:hover .blog-card-img-wrap img {
  transform: scale(1.06);
}

.blog-category-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(11, 61, 36, 0.92);
  color: #f7d287;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  backdrop-filter: blur(4px);
  letter-spacing: 0.05em;
}

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

.blog-meta-row {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 12.5px;
  color: #688474;
  margin-bottom: 12px;
}

.blog-meta-row span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.blog-card-title {
  font-size: 19px;
  font-weight: 700;
  color: var(--brand-green-900);
  line-height: 1.35;
  margin-bottom: 12px;
  transition: color 0.2s ease;
}

.jpims-blog-card:hover .blog-card-title {
  color: var(--brand-green-700);
}

.blog-card-excerpt {
  font-size: 14px;
  color: #4f6357;
  line-height: 1.6;
  margin-bottom: 20px;
  flex-grow: 1;
}

.blog-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #f0f5f1;
  padding-top: 16px;
  margin-top: auto;
}

.blog-read-btn {
  color: var(--brand-green-700);
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.2s ease, color 0.2s ease;
}

.blog-read-btn:hover {
  color: var(--brand-gold-600);
  gap: 10px;
}

/* ============================================================
   TERMS & CONDITIONS STYLES
   ============================================================ */
.terms-sticky-nav {
  position: sticky;
  top: 100px;
  background: #ffffff;
  border-radius: 14px;
  padding: 24px;
  border: 1px solid #e1ede5;
  box-shadow: 0 4px 16px rgba(6, 37, 26, 0.06);
}

.terms-sticky-nav h5 {
  font-size: 16px;
  font-weight: 700;
  color: var(--brand-green-900);
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--brand-gold-500);
}

.terms-sticky-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.terms-sticky-nav li {
  margin-bottom: 8px;
}

.terms-sticky-nav li a {
  color: #3b5a49;
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
  display: block;
  padding: 7px 12px;
  border-radius: 8px;
  transition: all 0.2s ease;
}

.terms-sticky-nav li a:hover,
.terms-sticky-nav li a.active {
  background: #edf7f1;
  color: var(--brand-green-700);
  font-weight: 700;
  padding-left: 16px;
}

.terms-content-box {
  background: #ffffff;
  border-radius: 16px;
  padding: 40px;
  border: 1px solid #e1ede5;
  box-shadow: 0 6px 24px rgba(6, 37, 26, 0.06);
}

.terms-section-block {
  margin-bottom: 38px;
  padding-bottom: 30px;
  border-bottom: 1px solid #edf2ee;
}

.terms-section-block:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.terms-heading-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: #edf7f1;
  color: var(--brand-green-700);
  font-weight: 800;
  border-radius: 8px;
  font-size: 14px;
  margin-right: 10px;
  border: 1px solid #cfebd8;
}

.terms-section-title {
  font-size: 21px;
  font-weight: 700;
  color: var(--brand-green-900);
  display: flex;
  align-items: center;
  margin-bottom: 16px;
}

.terms-desc-p {
  color: #4a6154;
  font-size: 14.5px;
  line-height: 1.75;
  margin-bottom: 14px;
}

.terms-alert-box {
  background: #fff8e8;
  border-left: 4px solid var(--brand-gold-500);
  padding: 16px 20px;
  border-radius: 0 10px 10px 0;
  margin: 18px 0;
}

.terms-alert-box p {
  margin: 0;
  color: #704b08;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}

.terms-bullet-list {
  padding-left: 20px;
  margin-bottom: 16px;
}

.terms-bullet-list li {
  color: #4a6154;
  font-size: 14.5px;
  line-height: 1.7;
  margin-bottom: 8px;
}

/* ============================================================
   FAQ PAGE STYLES
   ============================================================ */
.faq-search-wrapper {
  max-width: 640px;
  margin: 0 auto 40px;
  position: relative;
}

.faq-search-wrapper input {
  width: 100%;
  padding: 16px 24px 16px 52px;
  font-size: 16px;
  border-radius: 50px;
  border: 2px solid #cfebd8;
  background: #ffffff;
  box-shadow: 0 6px 20px rgba(6, 37, 26, 0.08);
  outline: none;
  transition: all 0.25s ease;
}

.faq-search-wrapper input:focus {
  border-color: var(--brand-green-600);
  box-shadow: 0 8px 26px rgba(20, 136, 74, 0.2);
}

.faq-search-wrapper i {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  color: var(--brand-green-600);
}

.faq-cat-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 36px;
}

.faq-cat-btn {
  background: #ffffff;
  border: 1px solid #d1e5d8;
  color: #1b4530;
  padding: 10px 22px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 2px 8px rgba(6, 37, 26, 0.04);
}

.faq-cat-btn:hover,
.faq-cat-btn.active {
  background: var(--brand-green-700);
  color: #ffffff;
  border-color: var(--brand-green-700);
  box-shadow: 0 6px 18px rgba(14, 107, 58, 0.3);
}

.jpims-faq-card {
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #e1ede5;
  margin-bottom: 16px;
  overflow: hidden;
  box-shadow: 0 3px 12px rgba(6, 37, 26, 0.04);
  transition: all 0.25s ease;
}

.jpims-faq-card:hover {
  border-color: #bad9c5;
}

.jpims-faq-header {
  padding: 18px 24px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  user-select: none;
}

.jpims-faq-question {
  font-size: 16.5px;
  font-weight: 700;
  color: var(--brand-green-900);
  margin: 0;
  line-height: 1.4;
}

.jpims-faq-icon {
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 50%;
  background: #edf7f1;
  color: var(--brand-green-700);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease;
}

.jpims-faq-card.open .jpims-faq-icon {
  transform: rotate(180deg);
  background: var(--brand-green-700);
  color: #ffffff;
}

.jpims-faq-card.open {
  border-color: var(--brand-green-600);
  box-shadow: 0 8px 24px rgba(14, 107, 58, 0.1);
}

.jpims-faq-answer {
  display: none;
  padding: 0 24px 22px;
  color: #4a6154;
  font-size: 15px;
  line-height: 1.7;
  border-top: 1px solid #f1f7f3;
  margin-top: 4px;
  padding-top: 16px;
}

.faq-help-box {
  background: linear-gradient(135deg, #09341e 0%, #105932 100%);
  border-radius: 16px;
  padding: 34px;
  color: #ffffff;
  margin-top: 50px;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(9, 52, 30, 0.3);
}

.faq-help-box h3 {
  color: #ffffff !important;
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 10px;
}

.faq-help-box p {
  color: #cae6d5;
  font-size: 15px;
  margin-bottom: 22px;
}

.faq-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #f5a623 0%, #d48b17 100%);
  color: #06251a !important;
  font-weight: 800;
  padding: 13px 32px;
  border-radius: 50px;
  text-decoration: none;
  font-size: 15px;
  box-shadow: 0 6px 20px rgba(212, 139, 23, 0.4);
  transition: all 0.25s ease;
}

.faq-cta-btn:hover {
  transform: translateY(-2px);
  background: #ffffff;
  color: #0b3d24 !important;
}

/* ============================================================
   SITEMAP PAGE STYLES
   ============================================================ */
.sitemap-map-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid #d4e7dc;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(6, 37, 26, 0.08);
  margin-bottom: 40px;
}

.sitemap-map-card-header {
  padding: 24px 30px;
  background: linear-gradient(135deg, #06251a 0%, #0d542e 100%);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.sitemap-map-card-header h3 {
  color: #ffffff !important;
  font-size: 22px;
  font-weight: 700;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.sitemap-map-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #f5a623 0%, #dc9926 100%);
  color: #06251a !important;
  font-weight: 700;
  padding: 10px 22px;
  border-radius: 30px;
  text-decoration: none;
  font-size: 14px;
  box-shadow: 0 4px 14px rgba(220, 153, 38, 0.4);
  transition: all 0.25s ease;
}

.sitemap-map-btn:hover {
  background: #ffffff;
  color: #083d22 !important;
  transform: translateY(-2px);
}

.sitemap-tree-card {
  background: #ffffff;
  border-radius: 14px;
  padding: 26px;
  border: 1px solid #e1ede5;
  box-shadow: 0 4px 16px rgba(6, 37, 26, 0.05);
  margin-bottom: 26px;
  height: calc(100% - 26px);
  transition: all 0.25s ease;
}

.sitemap-tree-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 26px rgba(6, 37, 26, 0.1);
  border-color: #badcc6;
}

.sitemap-tree-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--brand-green-900);
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 12px;
  margin-bottom: 16px;
  border-bottom: 2px solid var(--brand-gold-500);
}

.sitemap-tree-title i {
  color: var(--brand-green-700);
  font-size: 20px;
}

.sitemap-tree-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sitemap-tree-list li {
  margin-bottom: 9px;
  position: relative;
  padding-left: 18px;
}

.sitemap-tree-list li::before {
  content: "›";
  position: absolute;
  left: 0;
  top: -1px;
  color: var(--brand-gold-600);
  font-size: 18px;
  font-weight: bold;
}

.sitemap-tree-list li a {
  color: #3b5a49;
  font-size: 14px;
  text-decoration: none;
  transition: color 0.2s ease, padding-left 0.2s ease;
  display: inline-block;
}

.sitemap-tree-list li a:hover {
  color: var(--brand-green-700);
  font-weight: 600;
  padding-left: 4px;
}

/* ============================================================
   ABOUT US & LEADERSHIP MESSAGES STYLING
   ============================================================ */

/* Leadership Message Layout */
.leadership-card {
  background: #ffffff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 36px rgba(6, 37, 26, 0.08);
  border: 1px solid #dcece1;
  margin-bottom: 50px;
}

.leadership-photo-col {
  background: linear-gradient(180deg, #052317 0%, #0c4d2b 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 30px;
  text-align: center;
  position: relative;
}

.leadership-photo-col::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--brand-gold-500);
}

.leadership-avatar-wrap {
  width: 220px;
  height: 240px;
  border-radius: 16px;
  overflow: hidden;
  border: 4px solid #ffffff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  margin-bottom: 20px;
  background: #e5ece7;
}

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

.leadership-name {
  color: #ffffff !important;
  font-family: "Fraunces", serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  margin-bottom: 6px !important;
}

.leadership-designation {
  color: var(--brand-gold-400);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 4px;
}

.leadership-inst {
  color: #b0d8c2;
  font-size: 12.5px;
  line-height: 1.4;
  margin-bottom: 16px;
}

.leadership-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(220, 153, 38, 0.2);
  border: 1px solid rgba(220, 153, 38, 0.5);
  color: #fce7ba;
  padding: 4px 14px;
  border-radius: 30px;
  font-size: 12px;
  font-weight: 600;
}

.leadership-content-col {
  padding: 46px 42px;
}

@media (max-width: 768px) {
  .leadership-content-col {
    padding: 30px 24px;
  }
}

.leadership-quote-lead {
  font-family: "Fraunces", serif;
  font-size: 21px;
  line-height: 1.55;
  color: var(--brand-green-900);
  margin-bottom: 24px;
  position: relative;
  padding-left: 28px;
  border-left: 4px solid var(--brand-gold-500);
}

.leadership-body-p {
  color: #4a6154;
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 18px;
}

.leadership-sign-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #e7efe9;
  padding-top: 24px;
  margin-top: 28px;
  flex-wrap: wrap;
  gap: 16px;
}

.leadership-sign-text h5 {
  margin: 0;
  font-weight: 700;
  color: var(--brand-green-900);
  font-size: 16px;
}

.leadership-sign-text span {
  font-size: 13px;
  color: #688474;
}

/* Mission & Vision Styling */
.mv-box-card {
  background: #ffffff;
  border-radius: 18px;
  padding: 38px 34px;
  border: 1px solid #dcece1;
  box-shadow: 0 8px 28px rgba(6, 37, 26, 0.06);
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
}

.mv-box-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(6, 37, 26, 0.12);
  border-color: #bad9c5;
}

.mv-box-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, var(--brand-green-700), var(--brand-gold-500));
}

.mv-icon-circle {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: #edf7f1;
  color: var(--brand-green-700);
  font-size: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  box-shadow: 0 6px 18px rgba(14, 107, 58, 0.15);
}

.mv-box-title {
  font-family: "Fraunces", serif;
  font-size: 24px;
  font-weight: 700;
  color: var(--brand-green-900);
  margin-bottom: 16px;
}

.mv-box-text {
  color: #4a6154;
  font-size: 15px;
  line-height: 1.75;
  margin-bottom: 20px;
}

.mv-points-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mv-points-list li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 12px;
  font-size: 14.5px;
  color: #3f5549;
  line-height: 1.6;
}

.mv-points-list li i {
  position: absolute;
  left: 0;
  top: 3px;
  color: var(--brand-green-600);
  font-size: 15px;
}

/* Value Cards Grid */
.value-card {
  background: #ffffff;
  border-radius: 14px;
  padding: 24px 20px;
  border: 1px solid #e1ede5;
  text-align: center;
  box-shadow: 0 4px 16px rgba(6, 37, 26, 0.04);
  transition: all 0.25s ease;
  height: 100%;
}

.value-card:hover {
  transform: translateY(-4px);
  border-color: var(--brand-gold-500);
  box-shadow: 0 10px 24px rgba(6, 37, 26, 0.08);
}

.value-card i {
  font-size: 32px;
  color: var(--brand-gold-500);
  margin-bottom: 14px;
  display: inline-block;
}

.value-card h5 {
  font-size: 16px;
  font-weight: 700;
  color: var(--brand-green-900);
  margin-bottom: 8px;
}

.value-card p {
  font-size: 13.5px;
  color: #5c7869;
  margin: 0;
  line-height: 1.5;
}

/* Enhanced Core Value Cards */
.core-value-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 30px 22px 24px;
  border: 1px solid #e1ede5;
  box-shadow: 0 4px 20px rgba(6, 37, 26, 0.05);
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

.core-value-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #14884a, #d4a34b);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.core-value-card:hover {
  transform: translateY(-6px);
  border-color: #d4a34b;
  box-shadow: 0 16px 36px rgba(6, 37, 26, 0.1);
}

.core-value-card:hover::before {
  opacity: 1;
}

.core-value-card .value-icon-box {
  width: 62px;
  height: 62px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(212, 163, 75, 0.14) 0%, rgba(20, 136, 74, 0.08) 100%);
  border: 1px solid rgba(212, 163, 75, 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
  transition: all 0.3s ease;
}

.core-value-card:hover .value-icon-box {
  background: linear-gradient(135deg, #d4a34b 0%, #b58828 100%);
  transform: scale(1.06);
  box-shadow: 0 6px 16px rgba(212, 163, 75, 0.35);
}

.core-value-card .value-icon-box i {
  font-size: 26px;
  color: #b58828;
  margin: 0;
  transition: color 0.3s ease;
}

.core-value-card:hover .value-icon-box i {
  color: #ffffff;
}

.core-value-card .value-badge {
  display: inline-block;
  align-self: center;
  background: #eef7f1;
  color: #0c5c43;
  font-family: 'Outfit', sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  border-radius: 20px;
  padding: 3px 12px;
  margin-bottom: 10px;
  border: 1px solid #d4ebd9;
}

.core-value-card h5 {
  font-size: 18px;
  font-weight: 700;
  color: #06251a;
  margin-bottom: 8px;
  text-align: center;
}

.core-value-card .value-desc {
  font-size: 13.5px;
  color: #4b6657;
  line-height: 1.6;
  margin-bottom: 16px;
  text-align: center;
}

.core-value-card .value-points {
  list-style: none;
  padding: 14px 0 0;
  margin: auto 0 0;
  border-top: 1px dashed #dbe8e0;
  text-align: left;
}

.core-value-card .value-points li {
  font-size: 12.8px;
  color: #2b4537;
  margin-bottom: 9px;
  line-height: 1.48;
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

.core-value-card .value-points li:last-child {
  margin-bottom: 0;
}

.core-value-card .value-points li i {
  color: #14884a;
  font-size: 12.5px;
  margin-top: 3px;
  flex-shrink: 0;
}

.core-value-card .value-points li strong {
  color: #06251a;
}

/* Objectives Timeline / Checklist */
.obj-card {
  background: #ffffff;
  border-radius: 14px;
  padding: 26px 28px;
  border: 1px solid #dcece1;
  box-shadow: 0 4px 18px rgba(6, 37, 26, 0.05);
  margin-bottom: 22px;
  display: flex;
  gap: 22px;
  align-items: flex-start;
  transition: all 0.25s ease;
}

.obj-card:hover {
  border-color: var(--brand-green-600);
  transform: translateX(6px);
  box-shadow: 0 8px 24px rgba(14, 107, 58, 0.1);
}

.obj-num {
  min-width: 48px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--brand-green-800), var(--brand-green-600));
  color: #ffffff;
  font-weight: 800;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(14, 107, 58, 0.25);
  flex-shrink: 0;
}

.obj-content h4 {
  font-size: 18px;
  font-weight: 700;
  color: var(--brand-green-900);
  margin-bottom: 8px;
}

.obj-content p {
  color: #4a6154;
  font-size: 14.5px;
  line-height: 1.65;
  margin: 0;
}

/* ============================================================
   BESPOKE HOMEPAGE REDESIGN STYLES (100% Custom & Original)
   ============================================================ */

/* 1. Bespoke Hero Section */
.jpims-custom-hero {
  position: relative;
  background: linear-gradient(135deg, #031c12 0%, #08381f 50%, #0f522e 100%);
  padding: 80px 0 90px;
  overflow: hidden;
  border-bottom: 4px solid var(--brand-gold-500);
}

.jpims-custom-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(rgba(220, 153, 38, 0.15) 1.5px, transparent 1.5px);
  background-size: 28px 28px;
  opacity: 0.55;
  pointer-events: none;
}

.hero-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(220, 153, 38, 0.16);
  border: 1px solid rgba(220, 153, 38, 0.45);
  color: #f7d48d;
  padding: 6px 18px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 20px;
  backdrop-filter: blur(6px);
}

.hero-title-main {
  font-family: "Fraunces", "Poppins", serif !important;
  color: #ffffff !important;
  font-size: 44px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin-bottom: 18px !important;
  letter-spacing: -0.01em;
}

.hero-title-main span.gold-highlight {
  color: var(--brand-gold-400);
  display: inline;
}

@media (max-width: 991px) {
  .hero-title-main {
    font-size: 32px !important;
  }
}

.hero-lead-text {
  color: #d2ebd9;
  font-size: 16.5px;
  line-height: 1.7;
  max-width: 620px;
  margin-bottom: 28px;
}

.hero-btn-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 32px;
}

.hero-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #f5a623 0%, #d48b17 100%) !important;
  color: #06251a !important;
  font-weight: 700 !important;
  padding: 14px 30px !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  font-size: 15px !important;
  box-shadow: 0 8px 24px rgba(212, 139, 23, 0.4) !important;
  transition: all 0.3s ease !important;
}

.hero-btn-primary:hover {
  transform: translateY(-3px) !important;
  background: #ffffff !important;
  color: #083d22 !important;
  box-shadow: 0 12px 30px rgba(255, 255, 255, 0.3) !important;
}

.hero-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  font-weight: 600 !important;
  padding: 14px 28px !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  font-size: 15px !important;
  backdrop-filter: blur(8px);
  transition: all 0.3s ease !important;
}

.hero-btn-secondary:hover {
  background: #ffffff !important;
  color: #083d22 !important;
  border-color: #ffffff !important;
  transform: translateY(-3px) !important;
}

.hero-quick-features {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  padding-top: 20px;
}

.hero-feat-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #ffffff;
  font-size: 13.5px;
  font-weight: 600;
}

.hero-feat-chip i {
  color: var(--brand-gold-400);
  font-size: 17px;
}

/* Hero Right Visual Card */
.hero-visual-container {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
  border: 4px solid rgba(255, 255, 255, 0.85);
  background: #06251a;
}

.hero-visual-container img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.hero-visual-container:hover img {
  transform: scale(1.03);
}

.hero-floating-stat {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  background: rgba(6, 37, 26, 0.92);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(220, 153, 38, 0.4);
  border-radius: 16px;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  text-align: center;
}

.hfs-item h4 {
  color: var(--brand-gold-400) !important;
  font-family: "Fraunces", serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  margin: 0 !important;
}

.hfs-item span {
  color: #ffffff;
  font-size: 11.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* 2. Floating Command Bar */
.jpims-command-bar {
  margin-top: -45px;
  position: relative;
  z-index: 10;
  margin-bottom: 60px;
}

.command-bar-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px;
}

@media (max-width: 1199px) {
  .command-bar-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 767px) {
  .command-bar-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.command-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 18px 16px;
  border: 1px solid #d9e9df;
  box-shadow: 0 8px 24px rgba(6, 37, 26, 0.08);
  text-decoration: none !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.command-card:hover {
  transform: translateY(-6px);
  border-color: var(--brand-green-600);
  box-shadow: 0 16px 36px rgba(14, 107, 58, 0.16);
}

.command-icon-wrap {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 10px;
  transition: transform 0.3s ease;
}

.command-card:hover .command-icon-wrap {
  transform: scale(1.12);
}

.command-card.card-opd .command-icon-wrap { background: #eaf6ee; color: var(--brand-green-700); }
.command-card.card-emergency .command-icon-wrap { background: #fdebee; color: var(--brand-maroon-600); }
.command-card.card-pmjay .command-icon-wrap { background: #e8f5ec; color: #117e44; }
.command-card.card-mbbs .command-icon-wrap { background: #fef5e7; color: var(--brand-gold-600); }
.command-card.card-doctors .command-icon-wrap { background: #eef4fc; color: #1e5fad; }
.command-card.card-diagnostic .command-icon-wrap { background: #f4eefc; color: #6b28b2; }

.command-title {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--brand-green-900);
  margin-bottom: 3px;
  line-height: 1.3;
}

.command-sub {
  font-size: 11.5px;
  color: #6a8274;
}

/* 3. Modern Section Header */
.jpims-section-header {
  text-align: center;
  margin-bottom: 48px;
}

.jpims-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--brand-gold-600);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
}

.jpims-section-title {
  font-family: "Fraunces", "Poppins", serif !important;
  color: var(--brand-green-900) !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin-bottom: 12px !important;
}

@media (max-width: 767px) {
  .jpims-section-title {
    font-size: 26px !important;
  }
}

.jpims-section-desc {
  color: #556c5f;
  font-size: 15.5px;
  max-width: 650px;
  margin: 0 auto;
  line-height: 1.65;
}

/* 4. Specialties Modern Grid */
.specialty-grid-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

@media (max-width: 991px) {
  .specialty-grid-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .specialty-grid-container {
    grid-template-columns: 1fr;
  }
}

.specialty-card-clean {
  background: #ffffff;
  border-radius: 16px;
  padding: 26px 22px;
  border: 1px solid #e1ede5;
  box-shadow: 0 4px 18px rgba(6, 37, 26, 0.05);
  text-decoration: none !important;
  display: flex;
  flex-direction: column;
  transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
  height: 100%;
}

.specialty-card-clean:hover {
  transform: translateY(-6px);
  border-color: var(--brand-green-600);
  box-shadow: 0 14px 34px rgba(14, 107, 58, 0.14);
}

.specialty-icon-box {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: #edf7f1;
  color: var(--brand-green-700);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 16px;
  transition: all 0.3s ease;
}

.specialty-card-clean:hover .specialty-icon-box {
  background: var(--brand-green-700);
  color: #ffffff;
  transform: scale(1.08);
}

.specialty-card-clean h4 {
  font-size: 17px;
  font-weight: 700;
  color: var(--brand-green-900);
  margin-bottom: 8px;
}

.specialty-card-clean p {
  color: #556c5f;
  font-size: 13.5px;
  line-height: 1.6;
  margin-bottom: 16px;
  flex-grow: 1;
}

.specialty-link-text {
  font-size: 13px;
  font-weight: 700;
  color: var(--brand-green-700);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: gap 0.2s ease;
}

.specialty-card-clean:hover .specialty-link-text {
  gap: 9px;
  color: var(--brand-gold-600);
}

/* 5. Hospital Master Spotlight Modern Box */
.hospital-master-card,
.academics-master-card {
  background: linear-gradient(135deg, #052115 0%, #0d4a2a 100%);
  border-radius: 24px;
  padding: 50px 44px;
  color: #ffffff;
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 44px rgba(5, 33, 21, 0.3);
  margin-bottom: 70px;
}

@media (max-width: 767px) {
  .hospital-master-card,
  .academics-master-card {
    padding: 34px 24px;
  }
}

.hospital-master-card::before,
.academics-master-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, rgba(220, 153, 38, 0.18) 0%, transparent 70%);
  pointer-events: none;
}

.hospital-tag,
.academics-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(220, 153, 38, 0.22);
  border: 1px solid rgba(220, 153, 38, 0.5);
  color: #fce7ba !important;
  padding: 5px 16px;
  border-radius: 30px;
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 16px;
}

.hospital-title,
.academics-title {
  font-family: "Fraunces", serif !important;
  color: #ffffff !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
}

.hospital-desc,
.academics-desc {
  color: #d2ebd9 !important;
  font-size: 15.5px !important;
  line-height: 1.7 !important;
  max-width: 580px !important;
  margin-bottom: 26px !important;
}

.hospital-features-grid,
.academics-features-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-bottom: 30px;
}

@media (max-width: 575px) {
  .hospital-features-grid,
  .academics-features-grid {
    grid-template-columns: 1fr;
  }
}

.af-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: #eaf5ee;
}

.af-item i {
  color: var(--brand-gold-400);
  font-size: 16px;
}

/* 6. PM-JAY Master Showcase */
.pmjay-master-banner {
  background: linear-gradient(135deg, #106638 0%, #158a4b 100%);
  border-radius: 20px;
  padding: 38px 40px;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
  box-shadow: 0 12px 35px rgba(16, 102, 56, 0.25);
  margin-bottom: 70px;
}

.pmjay-banner-text h3 {
  color: #ffffff !important;
  font-family: "Fraunces", serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  margin-bottom: 6px !important;
}

.pmjay-banner-text p {
  color: #e5f6ec;
  font-size: 15px;
  margin: 0;
  max-width: 620px;
}

.pmjay-banner-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff !important;
  color: #0b3d24 !important;
  font-weight: 800 !important;
  padding: 13px 30px !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  font-size: 15px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.25s ease !important;
  white-space: nowrap;
}

.pmjay-banner-btn:hover {
  background: var(--brand-gold-500) !important;
  color: #06251a !important;
  transform: translateY(-2px) !important;
}

/* 7. Doctor Profile Cards */
.doctor-clean-card {
  background: #ffffff;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid #dcece1;
  box-shadow: 0 6px 20px rgba(6, 37, 26, 0.06);
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.doctor-clean-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(6, 37, 26, 0.12);
  border-color: #bad9c5;
}

.doctor-photo-wrap {
  position: relative;
  width: 100%;
  height: 220px;
  overflow: hidden;
  background: #f0f7f2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px 12px;
}

.doctor-photo-wrap img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
  transition: transform 0.4s ease;
}

.doctor-clean-card:hover .doctor-photo-wrap img {
  transform: scale(1.05);
}

.doctor-card-info {
  padding: 20px;
  text-align: center;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.doctor-spec-badge {
  display: inline-block;
  background: #edf7f1;
  color: var(--brand-green-700);
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 8px;
  align-self: center;
}

.doctor-name-clean {
  font-size: 17.5px;
  font-weight: 700;
  color: var(--brand-green-900);
  margin-bottom: 4px;
}

.doctor-qual-text {
  font-size: 13px;
  color: #6a8274;
  margin-bottom: 14px;
}

.doctor-book-btn {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: #f1f8f4;
  color: var(--brand-green-800);
  border: 1px solid #d5e7dc;
  padding: 8px 18px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.25s ease;
}

.doctor-book-btn:hover {
  background: var(--brand-green-700);
  color: #ffffff;
  border-color: var(--brand-green-700);
}






/* ==============================================================
   JPIMS ULTRA-PROFESSIONAL DESIGN SYSTEM (2026 REVOLUTION)
   ============================================================== */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
  --jpims-font-main: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --jpims-font-display: 'Outfit', sans-serif;
  --jpims-emerald-900: #04221b;
  --jpims-emerald-800: #062d25;
  --jpims-emerald-700: #0c4d3d;
  --jpims-emerald-600: #106651;
  --jpims-emerald-500: #168a6d;
  --jpims-gold-500: #d4a747;
  --jpims-gold-600: #b58828;
  --jpims-red-600: #c61d23;
  --jpims-red-700: #a31318;
  --jpims-bg-light: #f7faf8;
  --jpims-card-border: #e2ece6;
}

/* Base Font Override */
body.home-3 {
  font-family: var(--jpims-font-main) !important;
  color: #2c3e38 !important;
  background-color: #ffffff !important;
}

/* Eliminate Old Blocking Preloader */
#loading-screen {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ==============================================================
   1. ELITE TOP UTILITY BAR
   ============================================================== */
.jpims-top-utility {
  background: linear-gradient(90deg, #04221b 0%, #062d25 50%, #083c31 100%) !important;
  border-bottom: 1px solid rgba(212, 167, 71, 0.25) !important;
  padding: 8px 0 !important;
  font-size: 12.5px !important;
  color: #e3f0ea !important;
  position: relative !important;
  z-index: 100 !important;
}

.jpims-top-utility .container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.utility-left, .utility-right {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
}

.utility-hotline {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: rgba(198, 29, 35, 0.2) !important;
  border: 1px solid rgba(235, 68, 74, 0.35) !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.utility-hotline:hover {
  background: rgba(198, 29, 35, 0.35) !important;
  color: #ffd2d4 !important;
}

.live-beacon {
  width: 8px !important;
  height: 8px !important;
  background: #ff474d !important;
  border-radius: 50% !important;
  box-shadow: 0 0 0 0 rgba(255, 71, 77, 0.7) !important;
  animation: beaconPulse 1.6s infinite !important;
}

@keyframes beaconPulse {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 71, 77, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(255, 71, 77, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 71, 77, 0); }
}

.utility-info-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #cde2d8 !important;
}

.utility-info-item i {
  color: var(--jpims-gold-500) !important;
}

.utility-info-item a {
  color: #cde2d8 !important;
  text-decoration: none !important;
}

.utility-info-item a:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
}

.utility-badge-strip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--jpims-gold-500) !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px !important;
}

.utility-links {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.utility-links a {
  color: #b9d8ca !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  transition: color 0.2s !important;
}

.utility-links a:hover {
  color: #ffffff !important;
}

.utility-social-list {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.utility-social-list a {
  width: 24px !important;
  height: 24px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  font-size: 11px !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.utility-social-list a:hover {
  background: var(--jpims-gold-500) !important;
  color: #04221b !important;
  transform: translateY(-2px) !important;
}

/* ==============================================================
   2. MAIN INSTITUTIONAL BRAND HEADER
   ============================================================== */
.jpims-brand-header {
  background: #ffffff !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid #e7f0eb !important;
  box-shadow: 0 4px 18px rgba(6, 45, 37, 0.04) !important;
}

.jpims-brand-header .container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
}

.jpims-brand-title-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  text-decoration: none !important;
}

.jpims-seal-emblem {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  padding: 2px !important;
  border: 2px solid var(--jpims-gold-500) !important;
  box-shadow: 0 6px 18px rgba(6, 45, 37, 0.12) !important;
  flex-shrink: 0 !important;
}

.jpims-brand-typography {
  display: flex !important;
  flex-direction: column !important;
}

.jpims-name-eng {
  font-family: var(--jpims-font-display) !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  color: #062d25 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.4px !important;
}

.jpims-name-hin {
  font-family: var(--jpims-font-main) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #b58828 !important;
  margin-top: 2px !important;
  line-height: 1.2 !important;
}

.jpims-tagline-accred {
  font-family: var(--jpims-font-main) !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #5b7369 !important;
  margin-top: 3px !important;
  letter-spacing: 0.1px !important;
}

.jpims-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

.gov-emblem-badge {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #f7faf8 !important;
  border: 1px solid #e2eee7 !important;
  padding: 6px 12px !important;
  border-radius: 12px !important;
}

.gov-emblem-badge img {
  height: 40px !important;
  width: auto !important;
  object-fit: contain !important;
}

.header-emergency-pill {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: linear-gradient(135deg, #c61d23 0%, #9e1217 100%) !important;
  color: #ffffff !important;
  padding: 8px 16px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  box-shadow: 0 6px 20px rgba(198, 29, 35, 0.28) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}

.header-emergency-pill:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 25px rgba(198, 29, 35, 0.4) !important;
  color: #ffffff !important;
}

.emergency-pill-icon {
  font-size: 22px !important;
  line-height: 1 !important;
}

.emergency-pill-text {
  display: flex !important;
  flex-direction: column !important;
}

.emergency-pill-label {
  font-size: 10.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  color: #ffc2c4 !important;
}

.emergency-pill-num {
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.2px !important;
  color: #ffffff !important;
}

.header-opd-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: linear-gradient(135deg, #d4a747 0%, #b58828 100%) !important;
  color: #062d25 !important;
  font-family: var(--jpims-font-display) !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  padding: 10px 18px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(212, 167, 71, 0.3) !important;
  transition: all 0.25s ease !important;
  white-space: nowrap !important;
}

.header-opd-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px rgba(212, 167, 71, 0.45) !important;
  color: #04221b !important;
}

/* ==============================================================
   3. MODERN FROSTED-GLASS STICKY NAVBAR
   ============================================================== */
.jpims-modern-navbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(6, 45, 37, 0.08) !important;
  box-shadow: 0 4px 20px rgba(6, 45, 37, 0.06) !important;
  padding: 0 !important;
}

.jpims-modern-navbar .container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.jpims-nav-menu {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.jpims-nav-item {
  position: relative !important;
}

.jpims-nav-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 18px 14px !important;
  font-family: var(--jpims-font-main) !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #173b30 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.jpims-nav-link i.fa-chevron-down {
  font-size: 10px !important;
  color: #8da49a !important;
  transition: transform 0.25s ease !important;
}

.jpims-nav-item:hover .jpims-nav-link,
.jpims-nav-item.is-open .jpims-nav-link {
  color: #0c5c43 !important;
}

.jpims-nav-item:hover .jpims-nav-link i.fa-chevron-down,
.jpims-nav-item.is-open .jpims-nav-link i.fa-chevron-down {
  transform: rotate(180deg) !important;
  color: #0c5c43 !important;
}

.jpims-nav-link.active-pill {
  color: #0c5c43 !important;
  position: relative !important;
}

.jpims-nav-link.active-pill::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 14px !important;
  right: 14px !important;
  height: 3px !important;
  background: #0c5c43 !important;
  border-radius: 3px 3px 0 0 !important;
}

/* Modern Dropdown Menus */
.jpims-dropdown {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 250px !important;
  background: #ffffff !important;
  border: 1px solid #dcece3 !important;
  border-radius: 14px !important;
  padding: 10px 0 !important;
  box-shadow: 0 16px 40px rgba(6, 45, 37, 0.12) !important;
  list-style: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(10px) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  z-index: 1000 !important;
}

.jpims-nav-item:hover > .jpims-dropdown,
.jpims-nav-item.is-open > .jpims-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.jpims-dropdown li a {
  display: block !important;
  padding: 10px 20px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #24463b !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.jpims-dropdown li a:hover {
  background: #f0f7f3 !important;
  color: #0c5c43 !important;
  padding-left: 24px !important;
}

/* Modern Multi-Column Mega Dropdown for Departments */
.jpims-mega-dropdown {
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(10px) !important;
  width: 860px !important;
  max-width: 95vw !important;
  background: #ffffff !important;
  border: 1px solid #dcece3 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 20px 50px rgba(6, 45, 37, 0.16) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  z-index: 1000 !important;
}

.jpims-nav-item:hover > .jpims-mega-dropdown,
.jpims-nav-item.is-open > .jpims-mega-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
}

.mega-dept-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}

.mega-dept-col h5 {
  font-family: var(--jpims-font-display) !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  color: #062d25 !important;
  border-bottom: 2px solid var(--jpims-gold-500) !important;
  padding-bottom: 8px !important;
  margin-bottom: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.mega-dept-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.mega-dept-list li a {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 10px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #2b4f42 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.mega-dept-list li a:hover {
  background: #edf6f1 !important;
  color: #0c5c43 !important;
  transform: translateX(4px) !important;
}

.mega-dept-list li a img {
  width: 18px !important;
  height: 18px !important;
  object-fit: contain !important;
}

/* Navbar Right Buttons */
.jpims-nav-right-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.nav-admission-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: linear-gradient(135deg, #0c5c43 0%, #062d25 100%) !important;
  color: #ffffff !important;
  font-family: var(--jpims-font-display) !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  padding: 8px 18px !important;
  border-radius: 25px !important;
  text-decoration: none !important;
  border: 1px solid rgba(212, 167, 71, 0.4) !important;
  box-shadow: 0 4px 14px rgba(6, 45, 37, 0.2) !important;
  transition: all 0.25s ease !important;
  white-space: nowrap !important;
}

.nav-admission-btn:hover {
  background: linear-gradient(135deg, #d4a747 0%, #b58828 100%) !important;
  color: #062d25 !important;
  transform: translateY(-2px) !important;
}

/* Mobile Hamburger Toggle */
.jpims-mobile-toggle {
  display: none !important;
  background: transparent !important;
  border: none !important;
  font-size: 24px !important;
  color: #062d25 !important;
  padding: 8px !important;
  cursor: pointer !important;
}

@media (max-width: 1280px) and (min-width: 1051px) {
  .jpims-nav-link {
    padding: 18px 10px !important;
    font-size: 13.5px !important;
  }
}

@media (max-width: 1050px) {
  .jpims-nav-menu, .jpims-nav-right-actions {
    display: none !important;
  }
  .jpims-mobile-toggle {
    display: block !important;
  }
  .jpims-modern-navbar {
    padding: 10px 0 !important;
  }
  .jpims-brand-title-wrap {
    gap: 10px !important;
  }
  .jpims-seal-emblem {
    width: 54px !important;
    height: 54px !important;
  }
  .jpims-name-eng {
    font-size: 17px !important;
  }
  .jpims-name-hin {
    font-size: 12px !important;
  }
}

/* ==============================================================
   4. METRICS & TRUST COUNTER STRIP
   ============================================================== */
.jpims-metrics-strip {
  background: #ffffff !important;
  border-top: 1px solid #e6f0eb !important;
  border-bottom: 1px solid #e6f0eb !important;
  padding: 30px 0 !important;
  margin-top: -30px !important;
  position: relative !important;
  z-index: 10 !important;
  box-shadow: 0 8px 24px rgba(6, 45, 37, 0.05) !important;
  border-radius: 18px !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.metrics-strip-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 20px !important;
  text-align: center !important;
}

@media (max-width: 991px) {
  .metrics-strip-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 575px) {
  .metrics-strip-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

.metric-item {
  padding: 0 10px !important;
  border-right: 1px solid #e1ece5 !important;
}

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

.metric-num {
  font-family: var(--jpims-font-display) !important;
  font-size: 36px !important;
  font-weight: 900 !important;
  color: #0c5c43 !important;
  line-height: 1.1 !important;
  margin-bottom: 4px !important;
}

.metric-label {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #4a6358 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
}

.metric-sub {
  font-size: 11.5px !important;
  color: #799488 !important;
  margin-top: 2px !important;
}

/* ==============================================================
   5. MOBILE OFFCANVAS DRAWER
   ============================================================== */
.jpims-mobile-drawer {
  position: fixed !important;
  top: 0 !important;
  left: -320px !important;
  width: 300px !important;
  height: 100vh !important;
  background: #ffffff !important;
  box-shadow: 6px 0 30px rgba(0,0,0,0.2) !important;
  z-index: 10000 !important;
  transition: left 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  overflow-y: auto !important;
  padding: 24px 20px !important;
}

.jpims-mobile-drawer.open {
  left: 0 !important;
}

.mobile-drawer-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0,0,0,0.5) !important;
  z-index: 9999 !important;
  display: none !important;
}

.mobile-drawer-overlay.active {
  display: block !important;
}

.drawer-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: 1px solid #e6f0ea !important;
  padding-bottom: 16px !important;
  margin-bottom: 20px !important;
}

.drawer-close-btn {
  background: none !important;
  border: none !important;
  font-size: 24px !important;
  color: #062d25 !important;
  cursor: pointer !important;
}

.drawer-menu,
.drawer-nav-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.drawer-menu li,
.drawer-nav-list > li {
  border-bottom: 1px solid #f0f6f2 !important;
}

.drawer-menu li a,
.drawer-nav-list > li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 6px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1a4234 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.drawer-nav-list > li > a:hover {
  color: #0c5c43 !important;
  padding-left: 10px !important;
}

.drawer-sub {
  list-style: none !important;
  padding: 4px 0 8px 16px !important;
  margin: 0 !important;
  display: none;
  background: #f7faf8 !important;
  border-radius: 8px !important;
  margin-bottom: 8px !important;
}

.drawer-sub.open {
  display: block !important;
}

.drawer-sub li {
  border-bottom: 1px dashed #e2ede6 !important;
}

.drawer-sub li:last-child {
  border-bottom: none !important;
}

.drawer-sub li a {
  display: block !important;
  padding: 8px 10px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #3b5f50 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.drawer-sub li a:hover {
  color: #0c5c43 !important;
  padding-left: 14px !important;
}

.has-submenu > a::after {
  content: '\f078';
  font-family: 'Font Awesome 5 Free', 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: 11px;
  color: #8fa69c;
  transition: transform 0.25s ease;
}

.has-submenu.open > a::after {
  transform: rotate(180deg);
  color: #0c5c43;
}



/* ==============================================================
   OUR SPECIALIST & 15 RUNNING OPD DEPARTMENTS (USER REQUEST)
   ============================================================== */
.our-specialist-section {
  position: relative !important;
  padding: 70px 0 !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

.our-specialist-header {
  text-align: center !important;
  margin-bottom: 45px !important;
  position: relative !important;
  z-index: 2 !important;
}

.our-specialist-sub {
  color: #8c1d25 !important;
  font-family: var(--jpims-font-main) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
  display: inline-block !important;
}

.our-specialist-title {
  font-family: var(--jpims-font-display) !important;
  font-size: 38px !important;
  font-weight: 900 !important;
  color: #062d25 !important;
  position: relative !important;
  display: inline-block !important;
  padding-bottom: 12px !important;
  margin-top: 4px !important;
}

.our-specialist-title::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 90px !important;
  height: 4px !important;
  background: #d48b17 !important;
  border-radius: 4px !important;
}

.ripple-background {
  position: absolute !important;
  top: 40px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 650px !important;
  height: 650px !important;
  border: 1px solid rgba(6, 45, 37, 0.06) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.ripple-background::before {
  content: '' !important;
  position: absolute !important;
  top: 50px !important;
  left: 50px !important;
  right: 50px !important;
  bottom: 50px !important;
  border: 1px solid rgba(6, 45, 37, 0.05) !important;
  border-radius: 50% !important;
}

.ripple-background::after {
  content: '' !important;
  position: absolute !important;
  top: 110px !important;
  left: 110px !important;
  right: 110px !important;
  bottom: 110px !important;
  border: 1px solid rgba(6, 45, 37, 0.04) !important;
  border-radius: 50% !important;
}

.specialist-card-box {
  background: #ffffff !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 30px rgba(6, 45, 37, 0.07) !important;
  border: 1px solid #e7f0eb !important;
  overflow: hidden !important;
  position: relative !important;
  z-index: 2 !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

.specialist-card-box:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 45px rgba(6, 45, 37, 0.14) !important;
  border-color: #badcc9 !important;
}

.specialist-thumb-wrap {
  position: relative !important;
  padding: 24px 20px 10px !important;
  text-align: center !important;
  background: linear-gradient(180deg, #f7faf8 0%, #ffffff 100%) !important;
}

.specialist-thumb-wrap img {
  max-height: 185px !important;
  width: auto !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  transition: transform 0.3s ease !important;
}

.specialist-card-box:hover .specialist-thumb-wrap img {
  transform: scale(1.04) !important;
}

.specialist-share-circle {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: #d48b17 !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  box-shadow: 0 4px 10px rgba(212, 139, 23, 0.3) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.specialist-share-circle:hover {
  background: #062d25 !important;
  color: #ffffff !important;
  transform: scale(1.1) !important;
}

.specialist-body {
  padding: 16px 20px 22px !important;
  text-align: center !important;
  flex-grow: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.specialist-name {
  font-family: var(--jpims-font-display) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #062d25 !important;
  margin-bottom: 4px !important;
}

.specialist-name a {
  color: inherit !important;
  text-decoration: none !important;
}

.specialist-name a:hover {
  color: #0c5c43 !important;
}

.specialist-designation {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #557266 !important;
  margin-bottom: 2px !important;
}

.specialist-degree {
  font-size: 12.5px !important;
  color: #799488 !important;
  font-weight: 500 !important;
}

.specialist-btn {
  margin-top: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  background: #edf7f1 !important;
  color: #0c5c43 !important;
  border: 1px solid #d1e8db !important;
  padding: 7px 16px !important;
  border-radius: 20px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.specialist-btn:hover {
  background: #0c5c43 !important;
  color: #ffffff !important;
  border-color: #0c5c43 !important;
}

/* 15 Running OPD Departments Grid */
.opd-running-section {
  padding: 70px 0 !important;
  background: #f7faf8 !important;
  border-top: 1px solid #e4eee8 !important;
  border-bottom: 1px solid #e4eee8 !important;
}

.opd-running-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 18px !important;
}

@media (max-width: 1199px) {
  .opd-running-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 767px) {
  .opd-running-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 480px) {
  .opd-running-grid {
    grid-template-columns: 1fr !important;
  }
}

.opd-dept-box {
  background: #ffffff !important;
  border-radius: 16px !important;
  padding: 20px 18px !important;
  border: 1px solid #e1ece5 !important;
  box-shadow: 0 6px 18px rgba(6, 45, 37, 0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  transition: all 0.25s ease !important;
}

.opd-dept-box:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 14px 30px rgba(6, 45, 37, 0.1) !important;
  border-color: #bad9c7 !important;
}

.opd-dept-num {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: #f0f7f3 !important;
  color: #0c5c43 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.opd-dept-icon-wrap {
  width: 46px !important;
  height: 46px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #0c5c43 0%, #062d25 100%) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  margin-bottom: 14px !important;
  box-shadow: 0 4px 12px rgba(12, 92, 67, 0.25) !important;
}

.opd-dept-name {
  font-family: var(--jpims-font-display) !important;
  font-size: 15.5px !important;
  font-weight: 800 !important;
  color: #062d25 !important;
  margin-bottom: 4px !important;
  line-height: 1.3 !important;
}

.opd-dept-timing {
  font-size: 12px !important;
  color: #617c70 !important;
  margin-bottom: 12px !important;
}

.opd-dept-link {
  margin-top: auto !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #0c5c43 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  transition: gap 0.2s ease !important;
}

.opd-dept-box:hover .opd-dept-link {
  gap: 8px !important;
  color: #b58828 !important;
}

/* ==============================================================
   EXPANDED WIDE-SCREEN CONTAINER & HERO ALIGNMENT SYSTEM
   Fills the side gaps and removes the cramped/compact look
   ============================================================== */
@media (min-width: 1200px) {
  .jpims-top-utility .container,
  .jpims-sub-utility .container,
  .jpims-brand-header .container,
  .jpims-modern-navbar .container,
  .jpims-custom-hero .container,
  .jpims-command-bar .container {
    max-width: 1360px !important;
    width: 100% !important;
  }
}

@media (min-width: 1400px) {
  .jpims-top-utility .container,
  .jpims-sub-utility .container,
  .jpims-brand-header .container,
  .jpims-modern-navbar .container,
  .jpims-custom-hero .container,
  .jpims-command-bar .container {
    max-width: 1560px !important;
    width: 100% !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  .hero-title-main {
    font-size: 48px !important;
    line-height: 1.18 !important;
    max-width: 860px !important;
  }

  .hero-lead-text {
    font-size: 17.5px !important;
    max-width: 720px !important;
    line-height: 1.75 !important;
  }

  .hero-visual-container {
    max-width: 600px !important;
    margin-left: auto !important;
  }

  .jpims-nav-link {
    padding: 18px 16px !important;
    font-size: 15px !important;
  }
}

@media (min-width: 1600px) {
  .jpims-top-utility .container,
  .jpims-sub-utility .container,
  .jpims-brand-header .container,
  .jpims-modern-navbar .container,
  .jpims-custom-hero .container,
  .jpims-command-bar .container {
    max-width: 1740px !important;
    width: 100% !important;
    padding-left: 36px !important;
    padding-right: 36px !important;
  }

  .hero-title-main {
    font-size: 54px !important;
    line-height: 1.15 !important;
    max-width: 940px !important;
  }

  .hero-lead-text {
    font-size: 18.5px !important;
    max-width: 780px !important;
    line-height: 1.75 !important;
  }

  .hero-visual-container {
    max-width: 660px !important;
    margin-left: auto !important;
  }

  .jpims-nav-link {
    padding: 18px 18px !important;
    font-size: 15.5px !important;
  }

  .jpims-name-eng {
    font-size: 25px !important;
  }
  
  .jpims-seal-emblem {
    width: 76px !important;
    height: 76px !important;
  }
}

@media (min-width: 1800px) {
  .jpims-top-utility .container,
  .jpims-sub-utility .container,
  .jpims-brand-header .container,
  .jpims-modern-navbar .container,
  .jpims-custom-hero .container,
  .jpims-command-bar .container {
    max-width: 1820px !important;
    width: 100% !important;
    padding-left: 44px !important;
    padding-right: 44px !important;
  }

  .hero-title-main {
    font-size: 58px !important;
  }

  .hero-visual-container {
    max-width: 700px !important;
  }
}

/* ==============================================================
   GLOBAL LAYOUT FIXES & MOBILE DRAWER STYLES
   ============================================================== */
.jpims-mobile-drawer {
  position: fixed !important;
  top: 0 !important;
  left: -320px !important;
  width: 300px !important;
  height: 100vh !important;
  background: #ffffff !important;
  box-shadow: 6px 0 30px rgba(0,0,0,0.2) !important;
  z-index: 10000 !important;
  transition: left 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  overflow-y: auto !important;
  padding: 24px 20px !important;
}

.jpims-mobile-drawer.open {
  left: 0 !important;
}

.mobile-drawer-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0,0,0,0.5) !important;
  z-index: 9999 !important;
  display: none !important;
}

.mobile-drawer-overlay.active {
  display: block !important;
}

.drawer-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: 1px solid #e6f0ea !important;
  padding-bottom: 16px !important;
  margin-bottom: 20px !important;
}

.drawer-close-btn {
  background: none !important;
  border: none !important;
  font-size: 28px !important;
  line-height: 1 !important;
  color: #062d25 !important;
  cursor: pointer !important;
}

/* ==============================================================
   NON-CLICKABLE INFORMATIVE HEADER & PRECISION ALIGNMENT
   ============================================================== */
.jpims-top-utility,
.jpims-brand-header {
  user-select: text !important;
}

.jpims-top-utility .utility-hotline,
.jpims-top-utility .utility-info-item,
.jpims-top-utility .utility-badge-strip,
.jpims-top-utility .utility-links,
.jpims-top-utility .utility-links span,
.jpims-top-utility .utility-social-list,
.jpims-top-utility .utility-social-list li,
.jpims-top-utility .utility-social-list span,
.jpims-brand-header .jpims-brand-title-wrap,
.jpims-brand-header .gov-emblem-badge,
.jpims-brand-header .header-emergency-pill,
.jpims-brand-header .header-opd-btn {
  pointer-events: none !important;
  cursor: default !important;
  text-decoration: none !important;
}

.jpims-top-utility .utility-social-list span {
  width: 26px !important;
  height: 26px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  font-size: 11.5px !important;
}

.jpims-top-utility .utility-links {
  color: #b9d8ca !important;
  font-weight: 600 !important;
  font-size: 12.5px !important;
}

.jpims-top-utility .utility-links span {
  color: #b9d8ca !important;
}

.jpims-brand-header .header-opd-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: linear-gradient(135deg, #d4a747 0%, #b58828 100%) !important;
  color: #062d25 !important;
  font-family: var(--jpims-font-display) !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  padding: 10px 18px !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 14px rgba(212, 167, 71, 0.25) !important;
}

.jpims-brand-header .header-emergency-pill {
  cursor: default !important;
}

/* ==============================================================
   5-PHOTO AUTHENTIC CAMPUS SHOWCASE STYLING
   ============================================================== */
.hero-visual-container {
  position: relative !important;
  width: 100% !important;
  height: 480px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45) !important;
  border: 4px solid rgba(255, 255, 255, 0.95) !important;
  background: #031c12 !important;
}

.hero-slide {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 1.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  transform: scale(1.05) !important;
}

.hero-slide.active {
  opacity: 1 !important;
  visibility: visible !important;
  transform: scale(1) !important;
}

.hero-slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.hero-slider-tabs {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  z-index: 10 !important;
  max-width: 68% !important;
  justify-content: flex-end !important;
}

.hero-tab-btn {
  background: rgba(6, 45, 37, 0.88) !important;
  backdrop-filter: blur(10px) !important;
  color: #ffffff !important;
  border: 1px solid rgba(220, 153, 38, 0.5) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 5px 11px !important;
  border-radius: 16px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
}

.hero-tab-btn.active, .hero-tab-btn:hover {
  background: #d4a747 !important;
  color: #062d25 !important;
  border-color: #d4a747 !important;
  box-shadow: 0 4px 14px rgba(212, 167, 71, 0.5) !important;
}

.hero-slide-caption {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  background: rgba(6, 45, 37, 0.92) !important;
  backdrop-filter: blur(10px) !important;
  color: #f7d48d !important;
  padding: 6px 13px !important;
  border-radius: 18px !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  border: 1px solid rgba(220, 153, 38, 0.4) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  z-index: 9 !important;
  letter-spacing: 0.2px !important;
  max-width: 32% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.hero-nav-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: rgba(6, 45, 37, 0.8) !important;
  backdrop-filter: blur(8px) !important;
  color: #ffffff !important;
  border: 1px solid rgba(220, 153, 38, 0.45) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 10 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  font-size: 14px !important;
  opacity: 0.85 !important;
}

.hero-nav-arrow:hover {
  background: #d4a747 !important;
  color: #062d25 !important;
  opacity: 1 !important;
  box-shadow: 0 4px 14px rgba(212, 167, 71, 0.6) !important;
}

.hero-prev-btn {
  left: 14px !important;
}

.hero-next-btn {
  right: 14px !important;
}

.hero-slide-dots {
  position: absolute !important;
  bottom: 84px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  gap: 6px !important;
  z-index: 10 !important;
}

.hero-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.45) !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.hero-dot.active {
  width: 22px !important;
  border-radius: 10px !important;
  background: #d4a747 !important;
  box-shadow: 0 2px 8px rgba(212, 167, 71, 0.6) !important;
}

@media (max-width: 991px) {
  .hero-visual-container {
    height: 380px !important;
    margin-top: 24px !important;
  }
}

@media (max-width: 575px) {
  .hero-visual-container {
    height: 320px !important;
  }
  .hero-slider-tabs {
    top: auto !important;
    bottom: 85px !important;
    max-width: 92% !important;
    justify-content: center !important;
    right: 4% !important;
  }
  .hero-slide-caption {
    max-width: 85% !important;
  }
  .hero-slide-dots {
    bottom: 122px !important;
  }
}

/* ============================================================
   FLOATING ACTION BUTTONS: WHATSAPP & GOOGLE MAPS LOCATION
   Visible persistently on all pages (Root & Department pages)
   ============================================================ */
.jpims-floating-actions {
  position: fixed !important;
  bottom: 24px !important;
  right: 20px !important;
  z-index: 9999999 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 10px !important;
  pointer-events: auto !important;
}

.jpims-float-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 10px 18px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease !important;
  cursor: pointer !important;
  user-select: none !important;
  white-space: nowrap !important;
}

.jpims-float-btn:hover {
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35) !important;
  filter: brightness(1.05) !important;
}

.jpims-float-btn:active {
  transform: translateY(0) scale(0.98) !important;
}

/* WhatsApp Message Us Pill */
.jpims-float-btn.jpims-wa-btn {
  background-color: #16BE45 !important;
  color: #ffffff !important;
}

.jpims-float-btn.jpims-wa-btn svg {
  width: 20px !important;
  height: 20px !important;
  fill: #ffffff !important;
  flex-shrink: 0 !important;
}

/* Location Google Maps Pill */
.jpims-float-btn.jpims-map-btn {
  background: linear-gradient(135deg, #0b4d3c 0%, #06251a 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(212, 167, 71, 0.6) !important;
}

.jpims-float-btn.jpims-map-btn svg {
  width: 18px !important;
  height: 18px !important;
  fill: #d4a747 !important;
  flex-shrink: 0 !important;
}

@media (max-width: 575px) {
  .jpims-floating-actions {
    bottom: 16px !important;
    right: 14px !important;
    gap: 8px !important;
  }
  .jpims-float-btn {
    padding: 8px 14px !important;
    font-size: 13.5px !important;
    border-radius: 8px !important;
  }
  .jpims-float-btn.jpims-wa-btn svg {
    width: 18px !important;
    height: 18px !important;
  }
  .jpims-float-btn.jpims-map-btn svg {
    width: 16px !important;
    height: 16px !important;
  }
}

/* ==============================================================
   HIDE UNSTYLED HERO BREADCRUMB SECTION IN HOSPITAL, DEPARTMENTS, & DOCTORS
   ============================================================== */
.about-hero-section {
  display: none !important;
}

