 :root {
     --primary-navy: #0b2545;
     --secondary-blue: #134074;
     --accent-teal: #13b0a5;
     --accent-cyan: #2dd4f0;
     --light-bg: #f8f9fa;
     --text-dark: #212529;
     --card-border-radius: 12px;
 }

 body {
     font-family: "Inter", sans-serif;
     color: var(--text-dark);
     background-color: #ffffff;
 }

 /* ==========================================================================
         FIXED HEADER AND NAVBAR LAYOUT (MATCHING Gem.png)
         ========================================================================== */

 .header-wrap {
     width: 100%;
     /* background: #0d254c;  */
     background: #9db4c0;
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 0 30px 0 0px;
     position: relative;
     height: 75px;
     /* Unified strict container height */
     border-bottom: 2px solid red;
 }

 /* LEFT BRAND BLOCK WITH DEEPER GEOMETRIC DROPDOWN */
 .logo-panel {
     display: flex;
     align-items: center;
     height: 119px;
     background: #9db4c0;
     padding: 0 10px 10px 50px;
     position: relative;
     z-index: 5;
     align-self: flex-start;
     border-bottom: 2px solid red;
 }

 .logo-panel::before {
     content: "";
     position: absolute;
     right: -72px;
     top: 119px;
     width: 54px;
     height: 2px;
     background: red;
     transform-origin: left center;
     transform: rotate(-61deg);
     z-index: 10;
 }

 /* SMOOTH ANCHORED DROPDOWN SLANT WITH RECURSIVE RADIUS EDGE */
 .logo-panel::after {
     content: "";
     position: absolute;
     right: -40px;
     top: 0;
     width: 40px;
     height: 119px;
     background: #9db4c0;
     clip-path: polygon(0 0, 100% 0, 100% 65%, 45% 100%, 0 100%);
     border-bottom-right-radius: 20px;
     /* clip-path: polygon(10% 0, 0 0, 30% 68%, 0 100%); */
     z-index: 5;
     border-bottom: 2px solid red;
 }




 .logo-panel img {
     height: 100px;
     width: 90px;
     margin-right: 15px;
 }

 .logo-text {
     color: #c62020;
     font-size: 25px;
     font-weight: 700;
     line-height: 1.2;
     letter-spacing: 0.5px;
     font-variant: small-caps;
 }

 /* RIGHT NAVBAR NAVIGATION */
 .top-nav {
     display: flex;
     align-items: center;
     height: 100%;
 }

 .top-nav ul {
     display: flex;
     align-items: center;
     list-style: none;
     gap: 25px;
     margin: 0;
     padding: 0;
 }

 .top-nav a {
     /* color: #ffffff; */
     color: #110b0b;
     text-decoration: none;
     font-size: 13px;
     font-weight: 600;
     letter-spacing: 0.3px;
     transition: color 0.2s ease;
     text-transform: uppercase;
 }

 .top-nav a:hover {
     color: #2dd4f0;
 }

 /* ACTIVE & CTA BUTTON ELEMENTS MATRICULATED EXACTLY FROM Gem.png */
 .top-nav a.active {
     color: #2dd4f0 !important;
     border-bottom: 2px solid #2dd4f0;
     padding-bottom: 5px;
     display: inline-block;
 }

 .join-btn {
     background-color: #2dd4f0 !important;
     color: #0d254c !important;
     /* High contrast matching dark text inside light element */
     padding: 8px 16px !important;
     border-radius: 6px;
     font-weight: 700 !important;
     transition: opacity 0.2s ease !important;
 }

 .join-btn:hover {
     opacity: 0.9;
     color: #0d254c !important;
 }

 /* RESPONSIVE DESIGN FOR SMALL SCREEN DEVICES */
 @media (max-width: 1200px) {
     .header-wrap {
         height: auto;
         flex-direction: column;
         padding: 20px 15px;
         border-bottom: 2px solid red;
     }

     .logo-panel {
         height: auto;
         align-self: center;
         padding: 0;
         margin-bottom: 20px;
         border-bottom: none;
     }

     .logo-panel::after {
         display: none;
         border-bottom: none;
     }

     .logo-panel::before {
         display: none;
         border-bottom: none;
     }


     .top-nav ul {
         flex-wrap: wrap;
         justify-content: center;
         gap: 15px;
     }

     .logo-text {
         font-size: 20px;
     }
 }

 /* MOBILE RESPONSIVE LAYOUT OVERHAUL */
 @media (max-width: 1200px) {
     .header-wrap {
         height: auto;
         min-height: 75px;
         flex-wrap: wrap;
         padding: 10px 20px;
     }

     .logo-panel {
         height: auto;
         align-self: center;
         padding: 0;
     }

     /* Disable the Gem.png background panel slant graphic on mobile to avoid layout clipping */
     .logo-panel::after {
         display: none;
     }

     /* Target the hamburger icon container */
     .menu-toggle-btn {
         display: block !important;
         background: transparent;
         /* border: 1px solid rgba(255, 255, 255, 0.25); */
         /* color: #ffffff; */
         padding: 6px 12px;
         border-radius: 4px;
         font-size: 1.25rem;
         transition: background-color 0.2s;
     }

     .menu-toggle-btn:focus {
         outline: none;
         box-shadow: 0 0 0 2px var(--accent-cyan);
     }

     /* Smoothly handles structural collapse container */
     .nav-collapse {
         display: none;
         width: 100%;
         background-color: #091a35;
         /* Slightly deeper overlay shade for mobile menu separation */
         margin-top: 10px;
         border-radius: 8px;
         padding: 15px 0;
     }

     .nav-collapse.show {
         display: block;
         /* Bootstrap JS controls this dynamically toggle state */
     }

     .top-nav {
         width: 100%;
         height: auto;
     }

     .top-nav ul {
         flex-direction: column;
         width: 100%;
         gap: 0;
     }

     .top-nav li {
         width: 100%;
         text-align: center;
     }

     .top-nav a {
         display: block;
         color: #ffffff;
         padding: 12px 20px;
         border-bottom: 1px solid rgba(255, 255, 255, 0.05);
     }

     .top-nav a.active {
         border-bottom: none;
         color: var(--accent-cyan) !important;
         background-color: rgba(45, 212, 240, 0.05);
     }

     .join-btn {
         margin: 10px 20px !important;
         display: block !important;
         text-align: center;
     }
 }

 /* Desktop-only toggle behavior prevention */
 @media (min-width: 1201px) {
     .menu-toggle-btn {
         display: none !important;
     }

     .nav-collapse {
         display: flex !important;
         align-items: center;
         height: 100%;
     }
 }

 /* "Join Society" CTA Button Layout */
 .btn-join-society {
     background-color: var(--accent-cyan);
     color: var(--bg-navy) !important;
     /* Contrasting dark text inside button */
     font-weight: 700 !important;
     padding: 8px 18px !important;
     border-radius: 6px;
     transition:
         transform 0.2s ease,
         background-color 0.2s ease !important;
 }

 .btn-join-society:hover {
     background-color: #17a0b3;
     transform: translateY(-1px);
 }

 /* Responsive Breakpoint handling for the raw CSS flex alignment */
 @media (max-width: 992px) {
     .kass-navbar {
         flex-direction: column;
         gap: 20px;
         text-align: center;
         padding: 20px 1rem;
     }

     .kass-brand {
         flex-direction: column;
         gap: 10px;
     }

     .logo-wrapper {
         margin-right: 0;
     }

     .kass-nav-links {
         flex-wrap: wrap;
         justify-content: center;
         gap: 15px;
     }
 }


 /* 1. Force the dropdown menu to hide by default, overriding legacy CSS */
 #kassNavbarContent .dropdown-menu {
     display: none !important;
     visibility: visible !important;
     /* Prevents old visibility rules from interfering */
     opacity: 1 !important;
     /* Prevents old opacity transitions from jamming */
 }

 /* 2. Allow Bootstrap's click function to successfully display the menu */
 #kassNavbarContent .dropdown-menu.show {
     display: block !important;
 }

 /* 3. Clean up generic list styles that might clash with Bootstrap's structure */
 #kassNavbarContent ul.navbar-nav {
     list-style: none !important;
     padding-left: 0 !important;
     margin-bottom: 0 !important;
 }



 /* Hero Section */
 /* .hero-section { */
     /* background:
          linear-gradient(
            135deg,
            rgba(11, 37, 69, 0.95),
            rgba(19, 64, 116, 0.85)
          ),
          url("images/kass-hero.png")
            no-repeat center center/cover; */

     /* background: url("../images/kass-hero.png") no-repeat center center/cover;
     color: white;
     padding: 100px 0; */
 /* } */

 .hero-section {
     position: relative;
     color: white;
     padding: 120px 0;
     /* Expanded padding slightly to account for slide presence */
     min-height: 550px;
     display: flex;
     align-items: center;
     z-index: -1;
 }

 /* Individual slide layer dimensions and rendering rules */
 .hero-slide-img {
     width: 100%;
     height: 100%;
     background-repeat: no-repeat;
     background-position: center center;
     background-size: cover;
 }

 /* Darkening tint overlay shield layout */
 .hero-slider-overlay {
     background: linear-gradient(75deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.3) 100%);
     z-index: 2;
     pointer-events: none;
 }


 @media (max-width: 592px) {
     .hero-section {
         padding: 0px 0;
     }
 }


 .btn-teal {
     background-color: var(--accent-teal);
     color: white;
     font-weight: 600;
     border: none;
     transition: background-color 0.3s ease;
 }

 .btn-teal:hover {
     background-color: #0e968d;
     color: white;
 }

 /* Stats Bar */
 .stats-bar {
     background-color: white;
     margin-top: -40px;
     border-radius: 10px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     padding: 30px;
 }

 .stat-icon {
     font-size: 2.5rem;
     color: var(--accent-teal);
     margin-bottom: 10px;
     z-index: -1;
 }

 /* ==========================================================================
         PAGE STRUCTURAL COMPONENTS
         ========================================================================== */
 .section-title {
     color: var(--primary-navy);
     font-weight: 700;
     position: relative;
     padding-bottom: 12px;
     margin-bottom: 25px;
 }

 .section-title::after {
     content: "";
     position: absolute;
     left: 0;
     bottom: 0;
     width: 60px;
     height: 3.5px;
     background-color: var(--accent-teal);
     border-radius: 2px;
 }

 .custom-card {
     border: none;
     border-radius: var(--card-border-radius);
     box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
     transition:
         transform 0.3s ease,
         box-shadow 0.3s ease;
     background-color: #ffffff;
 }

 .custom-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
 }

 /* About & Message Customizations */
 .bg-light-block {
     background-color: var(--light-bg);
     border-radius: var(--card-border-radius);
     padding: 35px;
     height: 100%;
     border-left: 4px solid var(--primary-navy);
 }

 .mission-vision-box {
     background: linear-gradient(135deg, #0d254c 0%, #1a3e70 100%);
     color: #ffffff;
     border-radius: var(--card-border-radius);
     padding: 30px;
     height: 100%;
 }

 /* Achievers Profile Grid Card Layout */
 .profile-card {
     border: none;
     border-radius: var(--card-border-radius);
     overflow: hidden;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
     background-color: #ffffff;
     height: 100%;
     transition: transform 0.3s ease;
 }

 .profile-card:hover {
     transform: translateY(-4px);
 }

 .profile-img-container {
     background-color: #eaeaea;
     height: 250px;
     width: 100%;
     overflow: hidden;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .profile-img-container img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 .profile-card .card-body {
     padding: 20px;
     text-align: center;
 }

 .profile-name {
     color: var(--primary-navy);
     font-size: 1.05rem;
     font-weight: 700;
     margin-bottom: 6px;
 }

 .profile-designation {
     font-size: 0.85rem;
     color: #6c757d;
     line-height: 1.4;
 }

 /* Cards and Layout Components */
 .section-title {
     color: var(--primary-navy);
     font-weight: 700;
     position: relative;
     padding-bottom: 10px;
     margin-bottom: 30px;
 }

 .section-title::after {
     content: "";
     position: absolute;
     left: 0;
     bottom: 0;
     width: 50px;
     height: 3px;
     background-color: var(--accent-teal);
 }

 .custom-card {
     border: none;
     border-radius: 8px;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
     transition:
         transform 0.3s ease,
         box-shadow 0.3s ease;
 }

 .custom-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
 }

 /* Quick Feedback Sidebar Styling */
 .feedback-sidebar {
     background-color: var(--light-bg);
     border-top: 4px solid var(--accent-teal);
 }

 .form-control:focus,
 .form-select:focus {
     border-color: var(--accent-teal);
     box-shadow: 0 0 0 0.25rem rgba(19, 176, 165, 0.25);
 }

 /* Footer */
 footer {
     background-color: #051329;
     color: rgba(255, 255, 255, 0.7);
     font-size: 0.9rem;
 }

 footer a {
     color: rgba(255, 255, 255, 0.8);
     text-decoration: none;
     transition: color 0.3s ease;
 }

 footer a:hover {
     color: var(--accent-teal);
 }
