  /* ========== BASE ========== */
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
  body { margin: 0; }
  img { max-width: 100%; height: auto; }

  /* ========== NAV ========== */
  .nav { transition: box-shadow 0.3s ease; }
  .nav.scrolled { box-shadow: 0 4px 30px rgba(4, 78, 59, 0.1); }
  .nav-link { position: relative; }
  .nav-link::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: #10b981;
    transition: width 0.3s ease;
  }
  .nav-link:hover::after { width: 100%; }

  /* ========== MOBILE MENU ========== */
  .mobile-menu.open { opacity: 1; pointer-events: all; }
  .mobile-menu.closed .menu-line:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
  .mobile-menu.closed .menu-line:nth-child(2) { opacity: 0; }
  .mobile-menu.closed .menu-line:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); width: 6px; }

  /* ========== BUTTONS ========== */
  .btn-primary { position: relative; overflow: hidden; }
  .btn-primary::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
    transition: left 0.5s ease;
  }
  .btn-primary:hover::before { left: 100%; }

  .btn-secondary { position: relative; overflow: hidden; }

  /* ========== GEOMETRIC ACCENTS ========== */
  .geo-diamond {
    position: absolute;
    width: 60px; height: 60px;
    background: currentColor;
    opacity: 0.06;
    transform: rotate(45deg);
  }
  .geo-circle {
    position: absolute;
    border-radius: 50%;
    opacity: 0.08;
  }

  /* ========== HERO DECORATION ========== */
  .hero-pattern {
    background-image: radial-gradient(circle at 25% 25%, rgba(110, 231, 183, 0.08) 0%, transparent 50%),
                      radial-gradient(circle at 75% 75%, rgba(52, 211, 153, 0.06) 0%, transparent 50%);
  }

  /* ========== SERVICE CARDS ========== */
  .service-card { transition: transform 0.4s ease, box-shadow 0.4s ease; }
  .service-card:hover { transform: translateY(-4px); }

  /* ========== GALLERY ========== */
  .gallery-item { overflow: hidden; }
  .gallery-item img { transition: transform 0.6s ease; }
  .gallery-item:hover img { transform: scale(1.08); }

  /* ========== FORM ========== */
  input:focus, select:focus, textarea:focus {
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
  }

  /* ========== SCROLLBAR ========== */
  ::-webkit-scrollbar { width: 8px; }
  ::-webkit-scrollbar-track { background: #fefdf8; }
  ::-webkit-scrollbar-thumb { background: #047857; border-radius: 4px; }
  ::-webkit-scrollbar-thumb:hover { background: #065f46; }

  /* ========== REDUCED MOTION ========== */
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
    }
    html { scroll-behavior: auto; }
  }

  /* ========== RESPONSIVE ========== */
  @media (max-width: 767px) {
    .font-display { line-height: 1.15; }
  }
