
  * { -webkit-tap-highlight-color: transparent; font-family: 'Vazirmatn', sans-serif; }
  html { scroll-behavior: smooth; }

  /* Grain texture overlay */
  .grain::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    opacity: 0.035;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  .dark .grain::before { opacity: 0.06; }

  /* Vertical text */
  .vertical-rl {
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }

  /* Gradient text */
  .text-gradient {
    background: linear-gradient(135deg, #72BF44 0%, #3463AF 60%, #72BF44 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    background-size: 200% 200%;
    animation: gradient-shift 6s ease infinite;
  }
  @keyframes gradient-shift {
    0%, 100% { background-position: 0% 50%; }
    50%      { background-position: 100% 50%; }
  }

  /* Marquee */
  .marquee-track { animation: marquee 40s linear infinite; }
  @keyframes marquee {
    0%   { transform: translateX(0); }
    100% { transform: translateX(50%); }
  }

  /* Stagger reveal */
  .stagger > * { opacity: 0; animation: fadeUp 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
  .stagger > *:nth-child(1) { animation-delay: 0.05s; }
  .stagger > *:nth-child(2) { animation-delay: 0.15s; }
  .stagger > *:nth-child(3) { animation-delay: 0.25s; }
  .stagger > *:nth-child(4) { animation-delay: 0.35s; }
  .stagger > *:nth-child(5) { animation-delay: 0.45s; }
  .stagger > *:nth-child(6) { animation-delay: 0.55s; }

  /* Brand card hover */
  .brand-card {
    transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
  }
  .brand-card:hover { transform: translateY(-6px); }
  .brand-card:hover .brand-arrow { transform: translateX(-8px) rotate(-45deg); }
  .brand-arrow { transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1); }

  /* Form input focus */
  .form-input { transition: all 0.3s ease; }
  .form-input:focus {
    outline: none;
    border-color: #72BF44;
    box-shadow: 0 0 0 3px rgba(114, 191, 68, 0.15);
  }
  /* Decorative line */
  .deco-line {
    height: 1px;
    background: linear-gradient(90deg, transparent, currentColor, transparent);
  }

  /* Aspect-ratio frame */
  .frame-glow {
    box-shadow:
      0 0 0 1px rgba(114, 191, 68, 0.3),
      0 30px 60px -20px rgba(0, 0, 0, 0.4);
  }
  .dark .frame-glow {
    box-shadow:
      0 0 0 1px rgba(114, 191, 68, 0.4),
      0 0 80px -10px rgba(114, 191, 68, 0.15),
      0 30px 60px -20px rgba(0, 0, 0, 0.8);
  }

  /* ─────────── HERO SLIDER (Full Screen) ─────────── */
  .slider-wrap { position: absolute; inset: 0; overflow: hidden; }
  .slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .slide.active { opacity: 1; z-index: 2; }
  .slide-img {
    position: absolute;
    left: 3%;
    top: 50%;
    transform: translateY(-50%) scale(1.05);
    max-width: 50%;
    max-height: 82vh;
    object-fit: contain;
    filter: drop-shadow(0 25px 40px rgba(0,0,0,0.35));
    transition: transform 6s ease-out;
  }
  @media (max-width: 1023px) {
    .slide-img {
      left: 50%;
      top: 35%;
      transform: translate(-50%, -50%);
      max-width: 82%;
      max-height: 52vh;
      transition: none;
    }
    .slide.active .slide-img {
      transform: translate(-50%, -50%);
    }
  }
  @media (min-width: 1024px) {
    .slide.active .slide-img { transform: translateY(-50%) scale(1); }
  }
  .slide-label {
    position: absolute;
    bottom: 1.5rem;
    left: 1.5rem;
    font-size: 0.7rem;
    letter-spacing: 0.4em;
    color: rgba(114, 191, 68, 0.9);
    font-weight: 500;
  }
  .slide-dots {
    position: absolute;
    bottom: 1.25rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 10;
  }
  .slide-dot {
    width: 24px;
    height: 2px;
    background: rgba(114, 191, 68, 0.25);
    border: none;
    cursor: pointer;
    transition: background 0.4s, width 0.4s;
    padding: 0;
  }
  .slide-dot.active {
    background: #72BF44;
    width: 36px;
  }

  /* Hero gradient overlay for text readability */
  .hero-overlay {
    background: linear-gradient(to left, rgba(244,241,234,0.97) 0%, rgba(244,241,234,0.9) 35%, rgba(244,241,234,0.35) 60%, transparent 80%);
  }
  .dark .hero-overlay {
    background: linear-gradient(to left, rgba(10,10,11,0.97) 0%, rgba(10,10,11,0.9) 35%, rgba(10,10,11,0.35) 60%, transparent 80%);
  }
  @media (max-width: 1023px) {
    .hero-overlay {
      background: linear-gradient(to top, rgba(244,241,234,1) 0%, rgba(244,241,234,1) 36%, rgba(244,241,234,0.85) 44%, rgba(244,241,234,0.08) 52%, transparent 60%);
    }
    .dark .hero-overlay {
      background: linear-gradient(to top, rgba(10,10,11,1) 0%, rgba(10,10,11,1) 36%, rgba(10,10,11,0.85) 44%, rgba(10,10,11,0.08) 52%, transparent 60%);
    }
  }

  /* ─────────── MOBILE MENU ─────────── */
  .mobile-menu {
    transform: translateY(-100vh);
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .mobile-menu.open { transform: translateY(0); }

  .hamburger { display: flex; flex-direction: column; gap: 5px; }
  .hamburger span {
    display: block;
    width: 22px;
    height: 1.5px;
    background: currentColor;
    transition: transform 0.4s, opacity 0.3s;
    transform-origin: center;
  }
  .hamburger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  .hamburger.open span:nth-child(2) { opacity: 0; }
  .hamburger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
