 /* ===== PRELOADER ===== */
 .preloader {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: #0a0a0a;
     z-index: 99999;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-direction: column;
     transition: opacity 0.8s ease, visibility 0.8s ease;
 }

 .preloader.hidden {
     opacity: 0;
     visibility: hidden;
 }

 .preloader-logo {
     font-family: 'Playfair Display', serif;
     font-size: 2.5rem;
     font-weight: 700;
     color: #c9a96e;
     margin-bottom: 30px;
     animation: fadeInUp 1s ease;
 }

 .preloader-bar {
     width: 200px;
     height: 2px;
     background: rgba(201, 169, 110, 0.2);
     border-radius: 10px;
     overflow: hidden;
 }

 .preloader-bar::after {
     content: '';
     display: block;
     width: 0%;
     height: 100%;
     background: linear-gradient(90deg, #c9a96e, #d4b87a);
     border-radius: 10px;
     animation: loading 2s ease-in-out forwards;
 }

 @keyframes loading {
     0% {
         width: 0%;
     }

     100% {
         width: 100%;
     }
 }

 @keyframes fadeInUp {
     0% {
         opacity: 0;
         transform: translateY(20px);
     }

     100% {
         opacity: 1;
         transform: translateY(0);
     }
 }

 /* ===== GENERAL ===== */
 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 html {
     scroll-behavior: smooth;
     overflow-x: hidden;
 }

 body {
     font-family: 'Inter', sans-serif;
     background: #0a0a0a;
     color: #ffffff;
     overflow-x: hidden;
 }

 /* ===== SCROLLBAR ===== */
 ::-webkit-scrollbar {
     width: 8px;
 }

 ::-webkit-scrollbar-track {
     background: #0a0a0a;
 }

 ::-webkit-scrollbar-thumb {
     background: #c9a96e;
     border-radius: 10px;
 }

 ::-webkit-scrollbar-thumb:hover {
     background: #d4b87a;
 }

 /* ===== NAVBAR ===== */
 .navbar {
     transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .navbar.scrolled {
     background: rgba(10, 10, 10, 0.95) !important;
     backdrop-filter: blur(20px);
     box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
     padding-top: 0.5rem !important;
     padding-bottom: 0.5rem !important;
 }

 .nav-link {
     position: relative;
     transition: color 0.3s ease;
 }

 .nav-link::after {
     content: '';
     position: absolute;
     bottom: -4px;
     left: 0;
     width: 0;
     height: 2px;
     background: #c9a96e;
     transition: width 0.3s ease;
 }

 .nav-link:hover::after,
 .nav-link.active::after {
     width: 100%;
 }

 .nav-link:hover,
 .nav-link.active {
     color: #c9a96e;
 }

 /* ===== MOBILE MENU ===== */
 .mobile-menu {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100vh;
     background: rgba(10, 10, 10, 0.98);
     backdrop-filter: blur(30px);
     z-index: 9998;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     transform: translateX(100%);
     transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
     overflow-y: auto;
 }

 .mobile-menu.open {
     transform: translateX(0);
 }

 .mobile-menu a {
     font-family: 'Playfair Display', serif;
     font-size: 1.8rem;
     color: #ffffff;
     text-decoration: none;
     padding: 15px 0;
     transition: color 0.3s ease, transform 0.3s ease;
     opacity: 0;
     transform: translateY(20px);
 }

 .mobile-menu.open a {
     opacity: 1;
     transform: translateY(0);
 }

 .mobile-menu.open a:nth-child(1) {
     transition-delay: 0.1s;
 }

 .mobile-menu.open a:nth-child(2) {
     transition-delay: 0.15s;
 }

 .mobile-menu.open a:nth-child(3) {
     transition-delay: 0.2s;
 }

 .mobile-menu.open a:nth-child(4) {
     transition-delay: 0.25s;
 }

 .mobile-menu.open a:nth-child(5) {
     transition-delay: 0.3s;
 }

 .mobile-menu.open a:nth-child(6) {
     transition-delay: 0.35s;
 }

 .mobile-menu.open a:nth-child(7) {
     transition-delay: 0.4s;
 }

 .mobile-menu.open a:nth-child(8) {
     transition-delay: 0.45s;
 }

 .mobile-menu a:hover {
     color: #c9a96e;
     transform: translateX(10px);
 }

 /* Hamburger */
 .hamburger {
     z-index: 9999;
     cursor: pointer;
     width: 30px;
     height: 24px;
     position: relative;
     display: flex;
     flex-direction: column;
     justify-content: space-between;
 }

 .hamburger span {
     display: block;
     width: 100%;
     height: 2px;
     background: #ffffff;
     transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
     border-radius: 2px;
 }

 .hamburger.active span:nth-child(1) {
     transform: rotate(45deg) translate(8px, 8px);
     background: #c9a96e;
 }

 .hamburger.active span:nth-child(2) {
     opacity: 0;
     transform: translateX(20px);
 }

 .hamburger.active span:nth-child(3) {
     transform: rotate(-45deg) translate(8px, -8px);
     background: #c9a96e;
 }

 /* ===== PAGE HERO / BANNER ===== */
 .page-hero {
     background: linear-gradient(135deg, rgba(10, 10, 10, 0.85) 0%, rgba(26, 26, 46, 0.7) 100%),
         url('https://images.unsplash.com/photo-1600585154526-990dced4db0d?w=1920&q=80') center/cover no-repeat;
     min-height: 50vh;
 }

 /* ===== SECTION ===== */
 .section-subtitle {
     letter-spacing: 4px;
     text-transform: uppercase;
     font-size: 0.75rem;
 }

 .section-divider {
     width: 60px;
     height: 2px;
     background: linear-gradient(90deg, #c9a96e, #d4b87a);
 }

 /* ===== CARDS ===== */
 .value-card {
     background: linear-gradient(145deg, rgba(42, 42, 58, 0.3) 0%, rgba(26, 26, 46, 0.5) 100%);
     border: 1px solid rgba(201, 169, 110, 0.1);
     transition: all 0.4s ease;
 }

 .value-card:hover {
     border-color: rgba(201, 169, 110, 0.4);
     transform: translateY(-8px);
     box-shadow: 0 20px 60px rgba(201, 169, 110, 0.08);
 }

 .value-card .icon-box {
     background: linear-gradient(135deg, rgba(201, 169, 110, 0.1), rgba(201, 169, 110, 0.05));
     transition: all 0.4s ease;
 }

 .value-card:hover .icon-box {
     background: linear-gradient(135deg, #c9a96e, #d4b87a);
 }

 .value-card:hover .icon-box svg,
 .value-card:hover .icon-box i {
     color: #0a0a0a !important;
 }

 /* ===== TEAM CARD ===== */
 .team-card {
     transition: transform 0.4s ease;
 }

 .team-card:hover {
     transform: translateY(-10px);
 }

 .team-card .team-img-wrapper {
     overflow: hidden;
 }

 .team-card .team-img-wrapper img {
     transition: transform 0.6s ease;
 }

 .team-card:hover .team-img-wrapper img {
     transform: scale(1.08);
 }

 .team-card .social-icons {
     opacity: 0;
     transform: translateY(20px);
     transition: all 0.4s ease;
 }

 .team-card:hover .social-icons {
     opacity: 1;
     transform: translateY(0);
 }

 /* ===== TIMELINE ===== */
 .timeline-line {
     position: absolute;
     top: 0;
     bottom: 0;
     left: 50%;
     width: 2px;
     background: rgba(201, 169, 110, 0.2);
     transform: translateX(-50%);
 }

 @media (max-width: 768px) {
     .timeline-line {
         left: 20px;
     }
 }

 .timeline-dot {
     width: 16px;
     height: 16px;
     background: #c9a96e;
     border-radius: 50%;
     border: 3px solid #0a0a0a;
     position: absolute;
     left: 50%;
     transform: translateX(-50%);
     top: 0;
     z-index: 5;
 }

 @media (max-width: 768px) {
     .timeline-dot {
         left: 20px;
     }
 }

 /* ===== COUNTER ===== */
 .counter-item {
     border-right: 1px solid rgba(201, 169, 110, 0.2);
 }

 .counter-item:last-child {
     border-right: none;
 }

 @media (max-width: 768px) {
     .counter-item {
         border-right: none;
         border-bottom: 1px solid rgba(201, 169, 110, 0.2);
     }

     .counter-item:last-child {
         border-bottom: none;
     }
 }

 /* ===== CTA ===== */
 .cta-bg {
     background: linear-gradient(135deg, rgba(10, 10, 10, 0.85) 0%, rgba(26, 26, 46, 0.7) 100%),
         url('https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?w=1920&q=80') center/cover no-repeat fixed;
 }

 @media (max-width: 768px) {
     .cta-bg {
         background-attachment: scroll;
     }
 }

 @supports (-webkit-touch-callout: none) {
     .cta-bg {
         background-attachment: scroll;
     }
 }

 /* ===== SKILL BAR ===== */
 .skill-bar-fill {
     height: 6px;
     background: linear-gradient(90deg, #c9a96e, #d4b87a);
     border-radius: 10px;
     width: 0%;
     transition: width 1.5s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .skill-bar-fill.animated {
     /* width set inline */
 }

 /* ===== FLOATING ===== */
 .floating {
     animation: floating 6s ease-in-out infinite;
 }

 @keyframes floating {

     0%,
     100% {
         transform: translateY(0px);
     }

     50% {
         transform: translateY(-20px);
     }
 }

 /* ===== BTN ===== */
 .btn-primary {
     background: linear-gradient(135deg, #c9a96e 0%, #d4b87a 100%);
     color: #0a0a0a;
     transition: all 0.4s ease;
     position: relative;
     overflow: hidden;
 }

 .btn-primary::before {
     content: '';
     position: absolute;
     top: 0;
     left: -100%;
     width: 100%;
     height: 100%;
     background: linear-gradient(135deg, #d4b87a 0%, #e5cc9a 100%);
     transition: left 0.4s ease;
     z-index: 0;
 }

 .btn-primary:hover::before {
     left: 0;
 }

 .btn-primary span {
     position: relative;
     z-index: 1;
 }

 .btn-outline {
     border: 1px solid #c9a96e;
     color: #c9a96e;
     transition: all 0.4s ease;
 }

 .btn-outline:hover {
     background: #c9a96e;
     color: #0a0a0a;
 }

 /* ===== PARTNER LOGOS ===== */
 .partner-logo {
     filter: grayscale(100%) brightness(0.6);
     transition: all 0.4s ease;
 }

 .partner-logo:hover {
     filter: grayscale(0%) brightness(1);
 }

 /* ===== CUSTOM CURSOR ===== */
 .custom-cursor {
     width: 20px;
     height: 20px;
     border: 2px solid #c9a96e;
     border-radius: 50%;
     position: fixed;
     pointer-events: none;
     z-index: 99999;
     transition: transform 0.15s ease, opacity 0.15s ease;
     transform: translate(-50%, -50%);
 }

 .custom-cursor.hover {
     transform: translate(-50%, -50%) scale(2);
     background: rgba(201, 169, 110, 0.1);
 }

 @media (max-width: 768px) {
     .custom-cursor {
         display: none;
     }
 }

 /* ===== BACK TO TOP ===== */
 .back-to-top {
     opacity: 0;
     visibility: hidden;
     transition: all 0.4s ease;
 }

 .back-to-top.visible {
     opacity: 1;
     visibility: visible;
 }

 /* ===== ACCORDION ===== */
 .accordion-content {
     max-height: 0;
     overflow: hidden;
     transition: max-height 0.4s ease, padding 0.4s ease;
 }

 .accordion-content.open {
     max-height: 500px;
 }

 .accordion-icon {
     transition: transform 0.3s ease;
 }

 .accordion-icon.rotated {
     transform: rotate(180deg);
 }

 /* ===== IMAGE REVEAL ===== */
 .img-reveal {
     position: relative;
     overflow: hidden;
 }

 .img-reveal::after {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: #c9a96e;
     transform: scaleX(1);
     transform-origin: right;
     transition: transform 1s cubic-bezier(0.77, 0, 0.175, 1);
 }

 .img-reveal.revealed::after {
     transform: scaleX(0);
 }

 /* ===== MARQUEE ===== */
 .marquee-container {
     overflow: hidden;
     white-space: nowrap;
 }

 .marquee-content {
     display: inline-block;
     animation: marquee 30s linear infinite;
 }

 @keyframes marquee {
     0% {
         transform: translateX(0);
     }

     100% {
         transform: translateX(-50%);
     }
 }

 /* ===== AWARDS ===== */
 .award-item {
     transition: all 0.4s ease;
     border-bottom: 1px solid rgba(201, 169, 110, 0.1);
 }

 .award-item:hover {
     background: rgba(201, 169, 110, 0.05);
     padding-left: 1rem;
 }

 .award-item:last-child {
     border-bottom: none;
 }