:root {
    --blue-shine: #4599FE;
    --oxford-navy: #031E49;
    --strong-red: #EE0405;
    --texts-red: #780000;
    --royal-white: #FFFDFE;
    --loblolly: #B8CAD1;
    --font-primary: 'Exo 2', sans-serif;
    --transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  }
  
  * { margin: 0; padding: 0; box-sizing: border-box; font-family: var(--font-primary); }
  html { scroll-behavior: smooth; }
  body { background: var(--oxford-navy); color: var(--loblolly); overflow-x: hidden; line-height: 1.6; }
  .container { width: 90%; max-width: 1400px; margin: 0 auto; }
  
  /* HEADER */
  .header {
    position: fixed; top: 0; width: 100%; z-index: 1000;
    backdrop-filter: blur(12px); background: rgba(3, 30, 73, 0.95);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: var(--transition);
  }
  .header-inner { display: flex; align-items: center; justify-content: space-between; padding: 15px 0; }
  .logo img { height: 45px; }
  .logo a { display: block; }
  .nav a { margin-left: 30px; color: var(--royal-white); text-decoration: none; font-weight: 600; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1px; transition: 0.3s; }
  .nav a:hover { color: var(--strong-red); }
  .btn-red-small { background: var(--strong-red); color: white; padding: 10px 20px; border-radius: 50px; text-decoration: none; font-weight: 700; text-transform: uppercase; font-size: 0.7rem; margin-left: 20px; }
  
  /* GALLERY HERO */
  .gallery-hero {
      padding: 180px 0 100px;
      text-align: center;
      background: linear-gradient(180deg, rgba(3, 30, 73, 1) 0%, rgba(3, 30, 73, 0.8) 100%);
      position: relative;
  }
  
  .gallery-hero::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0; bottom: 0;
      background: 
          radial-gradient(circle at 20% 50%, rgba(238, 4, 5, 0.05) 0%, transparent 50%),
          radial-gradient(circle at 80% 80%, rgba(69, 153, 254, 0.05) 0%, transparent 50%);
      pointer-events: none;
  }
  
  .gallery-hero h1 {
      font-size: clamp(3rem, 8vw, 5rem);
      font-weight: 900;
      color: var(--royal-white);
      text-transform: uppercase;
      letter-spacing: -2px;
      margin-bottom: 20px;
  }
  
  .gallery-hero .text-red {
      color: var(--strong-red);
      text-shadow: 0 0 30px rgba(238, 4, 5, 0.4);
  }
  
  .gallery-hero p {
      font-size: 1.2rem;
      opacity: 0.7;
      text-transform: uppercase;
      letter-spacing: 4px;
  }
  
  /* VEHICLE SHOWCASE */
  .vehicle-showcase {
      padding: 100px 0;
      position: relative;
  }
  
  .vehicle-showcase.alt {
      background: rgba(0, 0, 0, 0.15);
  }
  
  .vehicle-header {
      margin-bottom: 60px;
  }
  
  .vehicle-title {
      display: flex;
      align-items: center;
      gap: 25px;
      margin-bottom: 15px;
  }
  
  .vehicle-number {
      font-size: 4rem;
      font-weight: 900;
      color: var(--strong-red);
      opacity: 0.3;
      line-height: 1;
  }
  
  .vehicle-title h2 {
      font-size: clamp(2rem, 5vw, 3.5rem);
      font-weight: 900;
      color: var(--royal-white);
      text-transform: uppercase;
      letter-spacing: -1px;
  }
  
  .vehicle-description {
      font-size: 1.1rem;
      opacity: 0.7;
      margin-left: calc(4rem + 25px);
      color: var(--loblolly);
  }
  
  /* PHOTO GRID */
  .photo-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
      gap: 25px;
  }
  
  .photo-item {
      position: relative;
      overflow: hidden;
      border-radius: 4px;
      cursor: pointer;
      transition: var(--transition);
  }
  
  .photo-wrapper {
      position: relative;
      width: 100%;
      padding-bottom: 75%; /* 4:3 aspect ratio */
      overflow: hidden;
      background: rgba(0, 0, 0, 0.3);
  }
  
  .photo-wrapper img {
      position: absolute;
      top: 0; left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: var(--transition);
      filter: brightness(0.9) contrast(1.1);
  }
  
  .photo-item:hover img {
      transform: scale(1.05);
      filter: brightness(1) contrast(1.15);
  }
  
  .photo-label {
      position: absolute;
      bottom: 0; left: 0;
      right: 0;
      background: linear-gradient(to top, rgba(3, 30, 73, 0.95), transparent);
      padding: 30px 20px 15px;
      color: white;
      font-weight: 700;
      text-transform: uppercase;
      font-size: 0.85rem;
      letter-spacing: 1px;
      opacity: 0;
      transition: var(--transition);
  }
  
  .photo-item:hover .photo-label {
      opacity: 1;
  }
  
  .photo-label.after {
      background: linear-gradient(to top, rgba(238, 4, 5, 0.9), transparent);
  }
  
  .photo-label.after::before {
      content: '✓ ';
      margin-right: 5px;
  }
  
  /* GALLERY CTA */
  .gallery-cta {
      padding: 120px 0;
      background: 
          linear-gradient(135deg, rgba(238, 4, 5, 0.05) 0%, transparent 50%),
          rgba(0, 0, 0, 0.2);
  }
  
  .cta-content {
      text-align: center;
      max-width: 800px;
      margin: 0 auto;
  }
  
  .cta-content h2 {
      font-size: clamp(2rem, 5vw, 3.5rem);
      font-weight: 900;
      color: var(--royal-white);
      text-transform: uppercase;
      margin-bottom: 20px;
      letter-spacing: -1px;
  }
  
  .cta-content p {
      font-size: 1.2rem;
      opacity: 0.8;
      margin-bottom: 40px;
  }
  
  .cta-buttons {
      display: flex;
      justify-content: center;
      gap: 20px;
      flex-wrap: wrap;
  }
  
  .btn-red { 
      background: var(--strong-red); 
      color: white; 
      padding: 18px 45px; 
      border-radius: 50px; 
      text-decoration: none; 
      font-weight: 800; 
      text-transform: uppercase; 
      transition: var(--transition); 
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 0.9rem; 
      border: none; 
      cursor: pointer; 
  }
  
  .btn-red:hover { 
      transform: translateY(-3px); 
      box-shadow: 0 10px 30px rgba(238, 4, 5, 0.4); 
      background: white; 
      color: var(--strong-red); 
  }
  
  .btn-outline { 
      border: 2px solid var(--royal-white); 
      color: white; 
      padding: 16px 40px; 
      border-radius: 50px; 
      text-decoration: none; 
      font-weight: 800; 
      text-transform: uppercase; 
      transition: var(--transition); 
      font-size: 0.9rem; 
      display: inline-block;
  }
  
  .btn-outline:hover { 
      background: white; 
      color: var(--oxford-navy); 
  }
  
  /* LIGHTBOX */
  .lightbox {
      display: none;
      position: fixed;
      top: 0; left: 0;
      width: 100%;
      height: 100%;
      background: rgba(3, 30, 73, 0.98);
      z-index: 9999;
      align-items: center;
      justify-content: center;
  }
  
  .lightbox.active {
      display: flex;
  }
  
  .lightbox-content {
      position: relative;
      max-width: 90%;
      max-height: 90%;
      text-align: center;
  }
  
  .lightbox-content img {
      max-width: 100%;
      max-height: 85vh;
      object-fit: contain;
      border-radius: 4px;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  }
  
  .lightbox-caption {
      margin-top: 20px;
      color: white;
      font-size: 1.1rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 2px;
  }
  
  .lightbox-close,
  .lightbox-prev,
  .lightbox-next {
      position: absolute;
      background: rgba(238, 4, 5, 0.9);
      color: white;
      border: none;
      font-size: 2rem;
      width: 60px;
      height: 60px;
      cursor: pointer;
      transition: 0.3s;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
  }
  
  .lightbox-close {
      top: 30px;
      right: 30px;
  }
  
  .lightbox-close:hover {
      background: white;
      color: var(--strong-red);
      transform: rotate(90deg);
  }
  
  .lightbox-prev {
      left: 30px;
      top: 50%;
      transform: translateY(-50%);
  }
  
  .lightbox-next {
      right: 30px;
      top: 50%;
      transform: translateY(-50%);
  }
  
  .lightbox-prev:hover,
  .lightbox-next:hover {
      background: white;
      color: var(--strong-red);
  }
  
  /* REVEAL ANIMATION */
  .reveal { 
      opacity: 0; 
      transform: translateY(40px); 
      transition: var(--transition); 
  }
  
  .reveal.active { 
      opacity: 1; 
      transform: translateY(0); 
  }
  
  /* FOOTER */
  .footer { 
      padding: 60px 0; 
      border-top: 1px solid rgba(255,255,255,0.05); 
      font-size: 0.85rem; 
      color: rgba(255,255,255,0.5); 
      background: rgba(0, 0, 0, 0.2);
  }
  
  .footer-content { 
      display: grid; 
      grid-template-columns: 1fr 1fr; 
      gap: 40px; 
  }
  
  .footer-section h4 { 
      color: white; 
      font-size: 1rem; 
      margin-bottom: 15px; 
      text-transform: uppercase; 
      letter-spacing: 1px; 
  }
  
  .footer-section ul { 
      list-style: none; 
  }
  
  .footer-section ul li { 
      margin-bottom: 8px; 
  }
  
  .footer-section ul li a { 
      color: var(--loblolly); 
      text-decoration: none; 
      transition: 0.3s; 
  }
  
  .footer-section ul li a:hover { 
      color: var(--strong-red); 
  }
  
  .footer-bottom { 
      grid-column: 1 / -1; 
      text-align: center; 
      margin-top: 30px; 
      padding-top: 30px; 
      border-top: 1px solid rgba(255,255,255,0.05); 
  }
  
  .footer-bottom a { 
      color: var(--loblolly); 
      text-decoration: none; 
      margin-right: 20px; 
      transition: 0.3s; 
  }
  
  .footer-bottom a:hover { 
      color: var(--strong-red); 
  }
  
  /* RESPONSIVE */
  @media (max-width: 900px) {
      .photo-grid {
          grid-template-columns: 1fr;
          gap: 20px;
      }
      
      .vehicle-number {
          font-size: 3rem;
      }
      
      .vehicle-description {
          margin-left: 0;
          margin-top: 10px;
      }
      
      .cta-buttons {
          flex-direction: column;
          width: 100%;
      }
      
      .btn-red,
      .btn-outline {
          width: 100%;
          justify-content: center;
      }
      
      .footer-content {
          grid-template-columns: 1fr;
      }
      
      .nav {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
      }
      
      .nav a {
          margin: 5px 10px;
      }
      
      .lightbox-prev,
      .lightbox-next {
          width: 50px;
          height: 50px;
          font-size: 1.5rem;
      }
      
      .lightbox-close {
          width: 50px;
          height: 50px;
          top: 15px;
          right: 15px;
      }
  }
  
  @media (max-width: 600px) {
      .photo-grid {
          grid-template-columns: 1fr;
      }
      
      .vehicle-title {
          flex-direction: column;
          align-items: flex-start;
          gap: 10px;
      }
  }