Tailwind CSS

Building a Complete Landing Page

30 min Lesson 34 of 35

Building a Complete Landing Page

In this comprehensive lesson, we'll build a complete, production-ready landing page from scratch using Tailwind CSS. This real-world project integrates all the concepts we've covered: responsive design, components, accessibility, and modern CSS features.

What We'll Build

A modern SaaS landing page featuring:

  • Responsive navigation with mobile menu
  • Hero section with call-to-action
  • Features grid with icons
  • Social proof testimonials
  • Pricing table comparison
  • Final CTA section
  • Footer with multiple columns
  • Dark mode support
  • Full accessibility

Project Setup

HTML Boilerplate

<!DOCTYPE html>
<html lang="en" class="scroll-smooth">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="description" content="Transform your workflow with our powerful SaaS platform">
  <title>ProductFlow - Workflow Management Made Easy</title>

  <!-- Tailwind CSS CDN (use build process in production) -->
  <script src="https://cdn.tailwindcss.com"></script>

  <!-- Configure Tailwind -->
  <script>
    tailwind.config = {
      darkMode: 'class',
      theme: {
        extend: {
          colors: {
            brand: {
              50: '#eff6ff',
              500: '#3b82f6',
              600: '#2563eb',
              700: '#1d4ed8',
            }
          }
        }
      }
    }
  </script>

  <!-- Custom styles -->
  <style>
    @layer utilities {
      .text-balance {
        text-wrap: balance;
      }
    }
  </style>
</head>
<body class="bg-white dark:bg-gray-900 text-gray-900 dark:text-white">
  <!-- Page content goes here -->
</body>
</html>

Navigation Header

A sticky navigation bar with logo, menu items, and CTA button that works on all screen sizes.

Responsive Navigation

<nav class="
  fixed top-0 left-0 right-0 z-50
  bg-white/80 dark:bg-gray-900/80
  backdrop-blur-md
  border-b border-gray-200 dark:border-gray-800
">
  <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
    <div class="flex items-center justify-between h-16">
      <!-- Logo -->
      <div class="flex-shrink-0">
        <a href="#" class="flex items-center gap-2">
          <div class="w-8 h-8 bg-gradient-to-br from-brand-500 to-brand-700 rounded-lg"></div>
          <span class="text-xl font-bold">ProductFlow</span>
        </a>
      </div>

      <!-- Desktop Navigation -->
      <div class="hidden md:flex items-center gap-8">
        <a href="#features" class="text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white transition-colors">
          Features
        </a>
        <a href="#pricing" class="text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white transition-colors">
          Pricing
        </a>
        <a href="#testimonials" class="text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white transition-colors">
          Testimonials
        </a>
        <a href="#" class="text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white transition-colors">
          About
        </a>
      </div>

      <!-- CTA Buttons -->
      <div class="hidden md:flex items-center gap-4">
        <button
          onclick="document.documentElement.classList.toggle('dark')"
          class="p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors"
          aria-label="Toggle dark mode"
        >
          <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"/>
          </svg>
        </button>
        <a href="#" class="text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white transition-colors">
          Sign In
        </a>
        <a href="#" class="
          px-4 py-2
          bg-brand-600 text-white
          rounded-lg font-medium
          hover:bg-brand-700
          transition-colors
        ">
          Get Started
        </a>
      </div>

      <!-- Mobile Menu Button -->
      <button
        onclick="document.getElementById('mobile-menu').classList.toggle('hidden')"
        class="md:hidden p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-800"
        aria-label="Toggle menu"
      >
        <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"/>
        </svg>
      </button>
    </div>
  </div>

  <!-- Mobile Menu -->
  <div id="mobile-menu" class="hidden md:hidden border-t border-gray-200 dark:border-gray-800">
    <div class="px-4 py-4 space-y-3">
      <a href="#features" class="block px-3 py-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-800">Features</a>
      <a href="#pricing" class="block px-3 py-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-800">Pricing</a>
      <a href="#testimonials" class="block px-3 py-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-800">Testimonials</a>
      <a href="#" class="block px-3 py-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-800">About</a>
      <div class="pt-3 border-t border-gray-200 dark:border-gray-800 space-y-2">
        <a href="#" class="block px-3 py-2 text-center rounded-lg hover:bg-gray-100 dark:hover:bg-gray-800">Sign In</a>
        <a href="#" class="block px-3 py-2 text-center bg-brand-600 text-white rounded-lg hover:bg-brand-700">Get Started</a>
      </div>
    </div>
  </div>
</nav>

Hero Section

An eye-catching hero section with headline, description, CTA buttons, and visual element.

Hero with Gradient Background

<section class="
  relative
  pt-24 pb-16
  sm:pt-32 sm:pb-24
  lg:pt-40 lg:pb-32
  overflow-hidden
">
  <!-- Background gradients -->
  <div class="absolute inset-0 bg-gradient-to-br from-brand-50 to-blue-50 dark:from-gray-900 dark:to-gray-800"></div>
  <div class="absolute top-0 right-0 -translate-y-1/2 translate-x-1/2 w-96 h-96 bg-brand-500/20 rounded-full blur-3xl"></div>
  <div class="absolute bottom-0 left-0 translate-y-1/2 -translate-x-1/2 w-96 h-96 bg-purple-500/20 rounded-full blur-3xl"></div>

  <div class="relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
    <div class="text-center max-w-4xl mx-auto">
      <!-- Badge -->
      <div class="inline-flex items-center gap-2 px-4 py-2 bg-white/80 dark:bg-gray-800/80 backdrop-blur-sm rounded-full mb-6">
        <span class="w-2 h-2 bg-green-500 rounded-full animate-pulse"></span>
        <span class="text-sm font-medium">Now with AI-powered insights</span>
      </div>

      <!-- Headline -->
      <h1 class="
        text-4xl sm:text-5xl lg:text-6xl
        font-bold
        text-balance
        mb-6
        bg-gradient-to-r from-gray-900 to-gray-700
        dark:from-white dark:to-gray-300
        bg-clip-text text-transparent
      ">
        Transform Your Workflow with Intelligent Automation
      </h1>

      <!-- Description -->
      <p class="
        text-lg sm:text-xl
        text-gray-600 dark:text-gray-300
        text-balance
        mb-8
        max-w-2xl mx-auto
      ">
        Streamline your team's productivity with our all-in-one platform. Save time, reduce errors, and scale effortlessly.
      </p>

      <!-- CTA Buttons -->
      <div class="flex flex-col sm:flex-row gap-4 justify-center mb-12">
        <a href="#" class="
          inline-flex items-center justify-center gap-2
          px-8 py-4
          bg-brand-600 text-white
          rounded-lg font-semibold
          hover:bg-brand-700
          shadow-lg shadow-brand-600/30
          transition-all
          hover:shadow-xl hover:shadow-brand-600/40
          hover:-translate-y-0.5
        ">
          Start Free Trial
          <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"/>
          </svg>
        </a>
        <a href="#" class="
          inline-flex items-center justify-center gap-2
          px-8 py-4
          bg-white dark:bg-gray-800
          text-gray-900 dark:text-white
          rounded-lg font-semibold
          border-2 border-gray-200 dark:border-gray-700
          hover:border-gray-300 dark:hover:border-gray-600
          transition-all
        ">
          Watch Demo
          <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"/>
            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
          </svg>
        </a>
      </div>

      <!-- Social Proof -->
      <div class="flex flex-wrap items-center justify-center gap-8 text-sm text-gray-500 dark:text-gray-400">
        <div class="flex items-center gap-2">
          <div class="flex -space-x-2">
            <div class="w-8 h-8 rounded-full bg-gradient-to-br from-blue-400 to-blue-600 border-2 border-white dark:border-gray-900"></div>
            <div class="w-8 h-8 rounded-full bg-gradient-to-br from-purple-400 to-purple-600 border-2 border-white dark:border-gray-900"></div>
            <div class="w-8 h-8 rounded-full bg-gradient-to-br from-pink-400 to-pink-600 border-2 border-white dark:border-gray-900"></div>
          </div>
          <span>10,000+ teams</span>
        </div>
        <div class="flex items-center gap-1">
          <span>⭐⭐⭐⭐⭐</span>
          <span>4.9/5 rating</span>
        </div>
        <span>No credit card required</span>
      </div>
    </div>
  </div>
</section>

Features Grid

A responsive grid showcasing key features with icons and descriptions.

Features Section

<section id="features" class="py-16 sm:py-24 bg-white dark:bg-gray-900">
  <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
    <!-- Section Header -->
    <div class="text-center max-w-3xl mx-auto mb-16">
      <h2 class="text-3xl sm:text-4xl font-bold mb-4">
        Everything you need to succeed
      </h2>
      <p class="text-lg text-gray-600 dark:text-gray-300">
        Powerful features designed to help your team collaborate better and achieve more.
      </p>
    </div>

    <!-- Features Grid -->
    <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
      <!-- Feature Card 1 -->
      <div class="
        p-6
        bg-gray-50 dark:bg-gray-800
        rounded-xl
        hover:shadow-lg
        transition-shadow
      ">
        <div class="w-12 h-12 bg-brand-100 dark:bg-brand-900/30 rounded-lg flex items-center justify-center mb-4">
          <svg class="w-6 h-6 text-brand-600 dark:text-brand-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"/>
          </svg>
        </div>
        <h3 class="text-xl font-semibold mb-2">Lightning Fast</h3>
        <p class="text-gray-600 dark:text-gray-300">
          Experience blazing-fast performance with our optimized infrastructure.
        </p>
      </div>

      <!-- Feature Card 2 -->
      <div class="p-6 bg-gray-50 dark:bg-gray-800 rounded-xl hover:shadow-lg transition-shadow">
        <div class="w-12 h-12 bg-green-100 dark:bg-green-900/30 rounded-lg flex items-center justify-center mb-4">
          <svg class="w-6 h-6 text-green-600 dark:text-green-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"/>
          </svg>
        </div>
        <h3 class="text-xl font-semibold mb-2">Secure by Default</h3>
        <p class="text-gray-600 dark:text-gray-300">
          Enterprise-grade security with end-to-end encryption and compliance.
        </p>
      </div>

      <!-- Feature Card 3 -->
      <div class="p-6 bg-gray-50 dark:bg-gray-800 rounded-xl hover:shadow-lg transition-shadow">
        <div class="w-12 h-12 bg-purple-100 dark:bg-purple-900/30 rounded-lg flex items-center justify-center mb-4">
          <svg class="w-6 h-6 text-purple-600 dark:text-purple-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"/>
          </svg>
        </div>
        <h3 class="text-xl font-semibold mb-2">Team Collaboration</h3>
        <p class="text-gray-600 dark:text-gray-300">
          Work together seamlessly with real-time collaboration tools.
        </p>
      </div>

      <!-- Feature Cards 4-6 (similar structure) -->
      <div class="p-6 bg-gray-50 dark:bg-gray-800 rounded-xl hover:shadow-lg transition-shadow">
        <div class="w-12 h-12 bg-orange-100 dark:bg-orange-900/30 rounded-lg flex items-center justify-center mb-4">
          <svg class="w-6 h-6 text-orange-600 dark:text-orange-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"/>
          </svg>
        </div>
        <h3 class="text-xl font-semibold mb-2">Advanced Analytics</h3>
        <p class="text-gray-600 dark:text-gray-300">
          Get insights with comprehensive analytics and reporting.
        </p>
      </div>

      <div class="p-6 bg-gray-50 dark:bg-gray-800 rounded-xl hover:shadow-lg transition-shadow">
        <div class="w-12 h-12 bg-pink-100 dark:bg-pink-900/30 rounded-lg flex items-center justify-center mb-4">
          <svg class="w-6 h-6 text-pink-600 dark:text-pink-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"/>
          </svg>
        </div>
        <h3 class="text-xl font-semibold mb-2">Customizable</h3>
        <p class="text-gray-600 dark:text-gray-300">
          Tailor every aspect to match your workflow and preferences.
        </p>
      </div>

      <div class="p-6 bg-gray-50 dark:bg-gray-800 rounded-xl hover:shadow-lg transition-shadow">
        <div class="w-12 h-12 bg-cyan-100 dark:bg-cyan-900/30 rounded-lg flex items-center justify-center mb-4">
          <svg class="w-6 h-6 text-cyan-600 dark:text-cyan-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 15a4 4 0 004 4h9a5 5 0 10-.1-9.999 5.002 5.002 0 10-9.78 2.096A4.001 4.001 0 003 15z"/>
          </svg>
        </div>
        <h3 class="text-xl font-semibold mb-2">Cloud-Native</h3>
        <p class="text-gray-600 dark:text-gray-300">
          Access your data anywhere with automatic sync and backups.
        </p>
      </div>
    </div>
  </div>
</section>

Design Principles Applied

  • Consistent spacing: Using p-6 for card padding throughout
  • Visual hierarchy: Icon → heading → description
  • Color coding: Different icon background colors for visual interest
  • Interactive states: Hover effects for better UX
  • Responsive grid: 1 column mobile, 2 tablet, 3 desktop

Testimonials Section

Social Proof Testimonials

<section id="testimonials" class="py-16 sm:py-24 bg-gray-50 dark:bg-gray-800">
  <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
    <div class="text-center max-w-3xl mx-auto mb-16">
      <h2 class="text-3xl sm:text-4xl font-bold mb-4">
        Loved by teams worldwide
      </h2>
      <p class="text-lg text-gray-600 dark:text-gray-300">
        See what our customers have to say about their experience.
      </p>
    </div>

    <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
      <!-- Testimonial 1 -->
      <div class="bg-white dark:bg-gray-900 p-6 rounded-xl">
        <div class="flex items-center gap-1 text-yellow-400 mb-4">
          <span>⭐⭐⭐⭐⭐</span>
        </div>
        <p class="text-gray-600 dark:text-gray-300 mb-6">
          "ProductFlow transformed how our team works. We've increased productivity by 40% in just three months!"
        </p>
        <div class="flex items-center gap-3">
          <div class="w-12 h-12 rounded-full bg-gradient-to-br from-blue-400 to-blue-600"></div>
          <div>
            <div class="font-semibold">Sarah Chen</div>
            <div class="text-sm text-gray-500 dark:text-gray-400">CEO, TechStart</div>
          </div>
        </div>
      </div>

      <!-- Testimonials 2-3 (similar structure) -->
      <div class="bg-white dark:bg-gray-900 p-6 rounded-xl">
        <div class="flex items-center gap-1 text-yellow-400 mb-4">
          <span>⭐⭐⭐⭐⭐</span>
        </div>
        <p class="text-gray-600 dark:text-gray-300 mb-6">
          "The best investment we've made. Simple, powerful, and incredibly reliable."
        </p>
        <div class="flex items-center gap-3">
          <div class="w-12 h-12 rounded-full bg-gradient-to-br from-purple-400 to-purple-600"></div>
          <div>
            <div class="font-semibold">Marcus Johnson</div>
            <div class="text-sm text-gray-500 dark:text-gray-400">CTO, DataCorp</div>
          </div>
        </div>
      </div>

      <div class="bg-white dark:bg-gray-900 p-6 rounded-xl">
        <div class="flex items-center gap-1 text-yellow-400 mb-4">
          <span>⭐⭐⭐⭐⭐</span>
        </div>
        <p class="text-gray-600 dark:text-gray-300 mb-6">
          "Outstanding support and features. Couldn't imagine working without it now."
        </p>
        <div class="flex items-center gap-3">
          <div class="w-12 h-12 rounded-full bg-gradient-to-br from-pink-400 to-pink-600"></div>
          <div>
            <div class="font-semibold">Emily Rodriguez</div>
            <div class="text-sm text-gray-500 dark:text-gray-400">PM, DesignHub</div>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>

Pricing Table

Responsive Pricing Cards

<section id="pricing" class="py-16 sm:py-24 bg-white dark:bg-gray-900">
  <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
    <div class="text-center max-w-3xl mx-auto mb-16">
      <h2 class="text-3xl sm:text-4xl font-bold mb-4">
        Simple, transparent pricing
      </h2>
      <p class="text-lg text-gray-600 dark:text-gray-300">
        Choose the plan that's right for your team. No hidden fees.
      </p>
    </div>

    <div class="grid grid-cols-1 md:grid-cols-3 gap-8 max-w-6xl mx-auto">
      <!-- Starter Plan -->
      <div class="p-8 bg-gray-50 dark:bg-gray-800 rounded-2xl">
        <h3 class="text-xl font-semibold mb-2">Starter</h3>
        <div class="mb-6">
          <span class="text-4xl font-bold">$29</span>
          <span class="text-gray-500 dark:text-gray-400">/month</span>
        </div>
        <ul class="space-y-3 mb-8">
          <li class="flex items-center gap-2">
            <svg class="w-5 h-5 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/>
            </svg>
            Up to 10 team members
          </li>
          <li class="flex items-center gap-2">
            <svg class="w-5 h-5 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/>
            </svg>
            5GB storage
          </li>
          <li class="flex items-center gap-2">
            <svg class="w-5 h-5 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/>
            </svg>
            Email support
          </li>
        </ul>
        <button class="w-full px-4 py-3 bg-gray-200 dark:bg-gray-700 rounded-lg font-medium hover:bg-gray-300 dark:hover:bg-gray-600 transition-colors">
          Get Started
        </button>
      </div>

      <!-- Pro Plan (Featured) -->
      <div class="p-8 bg-brand-600 text-white rounded-2xl relative transform md:scale-105 shadow-xl">
        <div class="absolute top-0 right-8 -translate-y-1/2 px-3 py-1 bg-yellow-400 text-yellow-900 text-sm font-semibold rounded-full">
          Popular
        </div>
        <h3 class="text-xl font-semibold mb-2">Professional</h3>
        <div class="mb-6">
          <span class="text-4xl font-bold">$99</span>
          <span class="text-brand-200">/month</span>
        </div>
        <ul class="space-y-3 mb-8">
          <li class="flex items-center gap-2">
            <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/>
            </svg>
            Unlimited team members
          </li>
          <li class="flex items-center gap-2">
            <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/>
            </svg>
            100GB storage
          </li>
          <li class="flex items-center gap-2">
            <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/>
            </svg>
            Priority support
          </li>
          <li class="flex items-center gap-2">
            <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/>
            </svg>
            Advanced analytics
          </li>
        </ul>
        <button class="w-full px-4 py-3 bg-white text-brand-600 rounded-lg font-medium hover:bg-gray-100 transition-colors">
          Get Started
        </button>
      </div>

      <!-- Enterprise Plan -->
      <div class="p-8 bg-gray-50 dark:bg-gray-800 rounded-2xl">
        <h3 class="text-xl font-semibold mb-2">Enterprise</h3>
        <div class="mb-6">
          <span class="text-4xl font-bold">Custom</span>
        </div>
        <ul class="space-y-3 mb-8">
          <li class="flex items-center gap-2">
            <svg class="w-5 h-5 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/>
            </svg>
            Everything in Pro
          </li>
          <li class="flex items-center gap-2">
            <svg class="w-5 h-5 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/>
            </svg>
            Unlimited storage
          </li>
          <li class="flex items-center gap-2">
            <svg class="w-5 h-5 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/>
            </svg>
            Dedicated support
          </li>
          <li class="flex items-center gap-2">
            <svg class="w-5 h-5 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/>
            </svg>
            Custom integrations
          </li>
        </ul>
        <button class="w-full px-4 py-3 bg-gray-200 dark:bg-gray-700 rounded-lg font-medium hover:bg-gray-300 dark:hover:bg-gray-600 transition-colors">
          Contact Sales
        </button>
      </div>
    </div>
  </div>
</section>

Practice Exercise 1: Add CTA Section

Create a final call-to-action section with:

  • Gradient background
  • Compelling headline and subtext
  • Email input field with submit button
  • Trust indicators (security badge, no credit card required)

Practice Exercise 2: Build Footer

Design a comprehensive footer including:

  • Logo and company description
  • 4-column link grid (Product, Company, Resources, Legal)
  • Social media icons
  • Newsletter signup form
  • Copyright and legal links

Practice Exercise 3: Enhance Responsiveness

Test the landing page on all breakpoints and add:

  • Mobile-optimized spacing
  • Touch-friendly button sizes
  • Improved mobile navigation
  • Performance optimizations (lazy loading images)

Summary

In this lesson, we built a complete, production-ready landing page with Tailwind CSS featuring:

  • Sticky navigation: Responsive header with mobile menu and dark mode toggle
  • Hero section: Eye-catching design with gradients, CTAs, and social proof
  • Features grid: Responsive layout showcasing key benefits with icons
  • Testimonials: Social proof with customer reviews and ratings
  • Pricing table: Clear comparison with featured plan highlight
  • Responsive design: Works seamlessly from mobile to desktop
  • Dark mode: Complete theme support throughout
  • Performance: Optimized with Tailwind's utility-first approach

In the final lesson, we'll compare Tailwind CSS with other approaches and discuss your next steps in mastering Tailwind.