*, *::before, *::after { box-sizing: border-box; }
    body { font-family: 'Poppins', sans-serif; overflow-x: hidden; }

    #preloader {
      position: fixed; inset: 0; z-index: 9999;
      background: #072B52;
      display: flex; align-items: center; justify-content: center;
      transition: opacity 0.5s ease, visibility 0.5s ease;
    }
    #preloader.hidden { opacity: 0; visibility: hidden; }
    .loader-ring {
      width: 60px; height: 60px; border: 3px solid rgba(212,175,55,0.2);
      border-top-color: #D4AF37; border-radius: 50%;
      animation: spin 0.8s linear infinite;
    }
    @keyframes spin { to { transform: rotate(360deg); } }

    .reveal { opacity: 0; transform: translateY(40px); transition: opacity 0.7s ease, transform 0.7s ease; }
    .reveal.active { opacity: 1; transform: translateY(0); }
    .reveal-delay-1 { transition-delay: 0.1s; }
    .reveal-delay-2 { transition-delay: 0.2s; }
    .reveal-delay-3 { transition-delay: 0.3s; }
    .reveal-delay-4 { transition-delay: 0.4s; }
    .reveal-delay-5 { transition-delay: 0.5s; }

    .mega-menu {
      position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(8px);
      width: 680px; opacity: 0; visibility: hidden;
      transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
      pointer-events: none; z-index: 100;
    }
    .nav-item:hover .mega-menu,
    .mega-menu:hover {
      opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0);
      pointer-events: auto;
    }

    #mobileMenu {
      position: fixed; top: 0; right: -100%; width: 85%; max-width: 400px;
      height: 100vh; z-index: 200; transition: right 0.4s cubic-bezier(0.4,0,0.2,1);
      overflow-y: auto;
    }
    #mobileMenu.open { right: 0; }
    #mobileOverlay {
      position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 199;
      opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0.3s;
    }
    #mobileOverlay.open { opacity: 1; visibility: visible; }

    @keyframes carousel {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }
    .carousel-track { animation: carousel 30s linear infinite; }
    .carousel-track:hover { animation-play-state: paused; }

    .testimonial-slide {
      opacity: 0; position: absolute; inset: 0;
      transition: opacity 0.6s ease;
    }
    .testimonial-slide.active { opacity: 1; position: relative; }

    .gold-line { width: 60px; height: 3px; background: linear-gradient(90deg, #D4AF37, #E8C84A); }

    @keyframes pulse-dot {
      0%, 100% { box-shadow: 0 0 0 0 rgba(212,175,55,0.6); }
      50% { box-shadow: 0 0 0 12px rgba(212,175,55,0); }
    }
    .map-dot { animation: pulse-dot 2s ease infinite; }

    @keyframes bounce-down {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(8px); }
    }
    .scroll-indicator { animation: bounce-down 2s ease infinite; }

    ::-webkit-scrollbar { width: 8px; }
    ::-webkit-scrollbar-track { background: #f1f5f9; }
    ::-webkit-scrollbar-thumb { background: #072B52; border-radius: 4px; }
    ::-webkit-scrollbar-thumb:hover { background: #0A3A6E; }
    .dark ::-webkit-scrollbar-track { background: #1e293b; }
    .dark ::-webkit-scrollbar-thumb { background: #D4AF37; }

    #backToTop {
      position: fixed; bottom: 30px; right: 30px; z-index: 90;
      opacity: 0; visibility: hidden; transform: translateY(20px);
      transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
    }
    #backToTop.visible { opacity: 1; visibility: visible; transform: translateY(0); }

    #header.scrolled::after {
      content: ''; position: absolute; bottom: 0; left: 0; right: 0;
      height: 2px; background: linear-gradient(90deg, transparent, #D4AF37, transparent);
    }

    @media (prefers-reduced-motion: reduce) {
      .reveal { transition: none; opacity: 1; transform: none; }
      .carousel-track { animation: none; }
      .loader-ring { animation: none; }
      .scroll-indicator { animation: none; }
      .map-dot { animation: none; }
      .testimonial-slide { transition: none; }
      .hero-grid-line { animation: none !important; }
      .hero-particle { animation: none !important; }
    }

    input:focus, textarea:focus, select:focus {
      outline: none; border-color: #D4AF37 !important;
      box-shadow: 0 0 0 3px rgba(212,175,55,0.15);
    }

    .hero-bg {
      background:
        linear-gradient(rgba(212,175,55,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(212,175,55,0.03) 1px, transparent 1px),
        radial-gradient(ellipse 60% 50% at 80% 20%, rgba(10,58,110,0.8) 0%, transparent 70%),
        radial-gradient(ellipse 50% 60% at 15% 85%, rgba(5,30,58,0.9) 0%, transparent 70%),
        linear-gradient(160deg, #051E3A 0%, #072B52 35%, #0A3A6E 65%, #072B52 100%);
      background-size: 60px 60px, 60px 60px, 100% 100%, 100% 100%, 100% 100%;
    }

    .hero-grid-line {
      position: absolute;
      background: linear-gradient(to bottom, transparent, rgba(212,175,55,0.06), transparent);
      width: 1px; height: 100%; top: 0;
    }
    @keyframes grid-pulse {
      0%, 100% { opacity: 0.3; }
      50% { opacity: 1; }
    }

    .hero-shape {
      position: absolute;
      border: 1px solid rgba(212,175,55,0.08);
      border-radius: 4px;
    }
    @keyframes float-slow {
      0%, 100% { transform: translateY(0) rotate(0deg); }
      50% { transform: translateY(-20px) rotate(3deg); }
    }
    @keyframes float-slower {
      0%, 100% { transform: translateY(0) rotate(0deg); }
      50% { transform: translateY(-15px) rotate(-2deg); }
    }
    @keyframes float-reverse {
      0%, 100% { transform: translateY(0) rotate(0deg); }
      50% { transform: translateY(15px) rotate(2deg); }
    }

    .hero-particle {
      position: absolute;
      width: 3px; height: 3px;
      background: rgba(212,175,55,0.3);
      border-radius: 50%;
    }
    @keyframes twinkle {
      0%, 100% { opacity: 0.2; }
      50% { opacity: 0.8; }
    }

    .about-visual {
      background:
        repeating-linear-gradient(-45deg, transparent, transparent 20px, rgba(212,175,55,0.03) 20px, rgba(212,175,55,0.03) 21px),
        radial-gradient(circle at 70% 30%, rgba(212,175,55,0.08) 0%, transparent 50%),
        linear-gradient(135deg, #072B52 0%, #0A3A6E 50%, #072B52 100%);
      position: relative; overflow: hidden;
    }
    .about-visual::before {
      content: '';
      position: absolute; top: -50%; right: -50%;
      width: 100%; height: 200%;
      background: linear-gradient(45deg, transparent 40%, rgba(212,175,55,0.04) 50%, transparent 60%);
      animation: about-sweep 8s ease-in-out infinite;
    }
    @keyframes about-sweep {
      0%, 100% { transform: translateX(-30%) translateY(-10%); }
      50% { transform: translateX(30%) translateY(10%); }
    }

    .about-geo { position: absolute; border: 1px solid rgba(212,175,55,0.12); }
    .about-geo-circle { position: absolute; border: 1px solid rgba(212,175,55,0.08); border-radius: 50%; }

    /* Founder quote styling */
    .founder-quote {
      position: relative;
      border-left: 3px solid #D4AF37;
    }
    .founder-quote::before {
      content: '\201C';
      position: absolute; top: -10px; left: 20px;
      font-size: 80px; line-height: 1;
      color: rgba(212,175,55,0.1);
      font-family: Georgia, serif;
    }
