Section

Hero Landing — Neo-Brutalism

Brutalist marketing hero with a bold uppercase headline, dual press-down CTAs, a wordmark trust row, and a mock product screenshot card built from hard borders, offset shadows, and flat bright accents. A staggered entrance animation respects prefers-reduced-motion.

  • Section
  • Tailwind
  • HTML
  • MIT

Preview

Live section

Interactive preview
Open preview
9:41 100%
devsnips.dev/library/tailwind/sections/marketing/hero-landing/neo-brutalism/
fluid · no fixed width 100%
Dependencies: Tailwind CSS (CDN) · Google Fonts: Archivo, JetBrains Mono Responsive · Keyboard-ready · Reduced-motion

Install

Add to your project

terminal
npx devsnips add Tailwind/Sections/Marketing/hero-landing/neo-brutalism
registry path: Tailwind/Sections/Marketing/hero-landing/neo-brutalism

Source

Implementation

code.html
<!--
Snippet Name: Hero Landing — Neo-Brutalism
Description: Brutalist marketing hero with a bold headline, two CTAs, a trust row of wordmarks, and a mock product screenshot card with offset shadows.
Author: DevSnips Contributors
Usage Example: Drop into any landing-page shell above the fold. CTA hover states and a staggered entrance animation are wired.
-->
<section class="relative w-full bg-[#FFFDF5] text-black" data-hero="nb">
  <div class="absolute inset-0 nb-grid-bg opacity-[0.05]" aria-hidden="true"></div>

  <div class="relative mx-auto grid max-w-6xl items-center gap-12 px-5 py-16 sm:px-8 sm:py-24 lg:grid-cols-[1.05fr_0.95fr] lg:py-28">

    <!-- Left: copy -->
    <div class="hero-step">
      <span class="inline-flex items-center gap-2 border-2 border-black bg-[#00E676] px-3 py-1 font-mono text-[11px] font-bold uppercase tracking-wider shadow-[2px_2px_0_0_#000]">
        <span class="inline-block h-2 w-2 border border-black bg-black"></span>
        v2.0 · Ship faster
      </span>

      <h1 class="mt-6 font-archivo text-5xl font-extrabold uppercase leading-[0.92] tracking-tight sm:text-6xl lg:text-7xl">
        Build UI<br>
        <span class="bg-black px-3 text-[#FFE600]">that ships.</span>
      </h1>

      <p class="mt-6 max-w-xl font-archivo text-lg font-medium leading-relaxed text-black/75">
        DevSnips is the component library that turns design tokens into shippable sections — brutalist, glass, or clean. Copy, paste, deploy.
      </p>

      <!-- CTAs -->
      <div class="mt-8 flex flex-col gap-3 sm:flex-row">
        <a href="#" class="group inline-flex items-center justify-center gap-2 border-2 border-black bg-black px-6 py-3.5 font-archivo text-sm font-extrabold uppercase tracking-tight text-white shadow-[6px_6px_0_0_#FFE600] transition-transform duration-100 hover:translate-x-[2px] hover:translate-y-[2px] hover:shadow-[2px_2px_0_0_#FFE600] focus:outline-none focus-visible:ring-2 focus-visible:ring-[#FFE600] focus-visible:ring-offset-2">
          Start building
          <svg class="h-4 w-4 transition-transform duration-100 group-hover:translate-x-0.5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6" /></svg>
        </a>
        <a href="#" class="inline-flex items-center justify-center gap-2 border-2 border-black bg-white px-6 py-3.5 font-archivo text-sm font-extrabold uppercase tracking-tight shadow-[6px_6px_0_0_#000] transition-transform duration-100 hover:translate-x-[2px] hover:translate-y-[2px] hover:shadow-[2px_2px_0_0_#000] focus:outline-none focus-visible:ring-2 focus-visible:ring-black focus-visible:ring-offset-2">
          <svg class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" aria-hidden="true"><path d="M8 5v14l11-7z" /></svg>
          Watch demo
        </a>
      </div>

      <!-- Trust row -->
      <div class="mt-10">
        <p class="font-mono text-[11px] font-bold uppercase tracking-wider text-black/50">Trusted by teams at</p>
        <div class="mt-3 flex flex-wrap items-center gap-x-5 gap-y-2">
          <span class="font-archivo text-lg font-extrabold uppercase tracking-tight text-black/80">Vertex</span>
          <span class="font-archivo text-lg font-extrabold uppercase italic tracking-tight text-black/80">Quanta</span>
          <span class="font-archivo text-lg font-extrabold tracking-tight text-black/80">mono·io</span>
          <span class="font-mono text-base font-bold uppercase tracking-tight text-black/80">[Halcyon]</span>
          <span class="font-archivo text-lg font-extrabold uppercase tracking-tight text-black/80">Northwind</span>
        </div>
      </div>
    </div>

    <!-- Right: mock product card -->
    <div class="relative hero-step">
      <!-- decorative offset blocks -->
      <div class="absolute -right-3 -top-3 h-24 w-24 border-2 border-black bg-[#FF4FA3] shadow-[4px_4px_0_0_#000]" aria-hidden="true"></div>
      <div class="absolute -bottom-4 -left-4 h-20 w-28 border-2 border-black bg-[#00C2FF] shadow-[4px_4px_0_0_#000]" aria-hidden="true"></div>

      <div class="relative border-2 border-black bg-white shadow-[8px_8px_0_0_#000]">
        <!-- window bar -->
        <div class="flex items-center gap-2 border-b-2 border-black bg-[#FFE600] px-4 py-3">
          <span class="h-3 w-3 border-2 border-black bg-[#FF4FA3]"></span>
          <span class="h-3 w-3 border-2 border-black bg-[#00E676]"></span>
          <span class="h-3 w-3 border-2 border-black bg-white"></span>
          <span class="ml-2 font-mono text-[11px] font-bold uppercase tracking-wider text-black/70">devsnips — overview</span>
        </div>

        <!-- body -->
        <div class="space-y-4 p-5">
          <div class="flex items-center justify-between">
            <div>
              <p class="font-mono text-[10px] font-bold uppercase tracking-wider text-black/50">Deployments</p>
              <p class="font-archivo text-2xl font-extrabold tracking-tight">1,284</p>
            </div>
            <span class="border-2 border-black bg-[#00E676] px-2 py-1 font-mono text-[11px] font-bold uppercase shadow-[2px_2px_0_0_#000]">+18%</span>
          </div>

          <!-- bar chart -->
          <div class="flex h-28 items-end gap-2 border-2 border-black bg-[#FFFDF5] p-3">
            <div class="flex-1 bg-[#FF4FA3]" style="height:45%"></div>
            <div class="flex-1 bg-[#FFE600]" style="height:62%"></div>
            <div class="flex-1 bg-[#00C2FF]" style="height:38%"></div>
            <div class="flex-1 bg-[#00E676]" style="height:78%"></div>
            <div class="flex-1 bg-black" style="height:100%"></div>
            <div class="flex-1 bg-[#FF4FA3]" style="height:54%"></div>
            <div class="flex-1 bg-[#00C2FF]" style="height:71%"></div>
          </div>

          <div class="flex items-center gap-3 border-2 border-black bg-[#FFFDF5] px-3 py-2.5">
            <span class="inline-block h-2.5 w-2.5 border-2 border-black bg-[#00E676]"></span>
            <span class="font-mono text-[11px] font-bold uppercase tracking-wider text-black/70">live · prod build passing</span>
          </div>
        </div>
      </div>
    </div>
  </div>

  <style>
    .nb-grid-bg {
      background-image:
        linear-gradient(#000 1px, transparent 1px),
        linear-gradient(90deg, #000 1px, transparent 1px);
      background-size: 28px 28px;
    }
    [data-hero] .hero-step { opacity: 0; transform: translateY(14px); }
    [data-hero] .hero-step:nth-child(1) { animation: nb-rise 0.6s cubic-bezier(.2,.7,.2,1) 0.05s forwards; }
    [data-hero] .hero-step:nth-child(2) { animation: nb-rise 0.6s cubic-bezier(.2,.7,.2,1) 0.22s forwards; }
    [data-hero].hero-ready .hero-step { animation: none; opacity: 1; transform: none; }
    @keyframes nb-rise { to { opacity: 1; transform: none; } }
    @media (prefers-reduced-motion: reduce) {
      [data-hero] .hero-step { animation: none !important; opacity: 1 !important; transform: none !important; }
    }
  </style>

  <script>
    (function () {
      var root = document.currentScript.closest('[data-hero]');
      if (!root) return;
      var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
      if (reduce) { root.classList.add('hero-ready'); return; }
      requestAnimationFrame(function () { root.classList.add('hero-ready'); });
    })();
  </script>
</section>
124 lines UTF-8 · LF · Spaces: 2

AI-ready

Available to your agent.

This section is reachable through the DevSnips CLI, MCP server and Skills integrations — one registry, one resource path.

Resource path

devsnips://sections/marketing/hero-landing/neo-brutalism

Continue browsing

View all