Meez.
Browse Prompts Backgrounds Pricing
Contact Sign in ·

Curated · Free prompt

Rare Gallery

free · paste into Lovable, Bolt, v0, Cursor or Claude

Rare Gallery is a complete, paste-ready curated build-prompt — a full art-direction spec for Lovable, Bolt, v0, Cursor and Claude. It's free: copy it below and paste it into your builder.

“Build a single-page luxury brand landing (navbar + full-viewport hero only). Stack: React 18 + TypeScript + Vite + Tailwind CSS 3. No extra UI kits. Use lucide-react only for the Flower2 icon. Page title: Aurevon …”

Rare GalleryCurated · free prompt · copy-paste

Prompt page

Build a single-page luxury brand landing (navbar + full-viewport hero only). Stack: React 18 + TypeScript + Vite + Tailwind CSS 3. No extra UI kits. Use lucide-react only for the Flower2 icon. Page title: Aurevon. Root wrapper: bg-black. html, body { overflow-x: hidden }. Global reset: margin: 0; padding: 0; box-sizing: border-box.

Fonts Load Google Fonts exactly:

https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap

Utility: .font-instrument { font-family: 'Instrument Serif', serif; }

Use Instrument Serif only for the hero H1 and overlay nav links. Logo, nav pill, body copy, and CTA use Tailwind’s default sans (ui-sans-serif, system-ui, …).

Easing (reuse everywhere)

Entrance: cubic-bezier(0.16, 1, 0.3, 1)
Menu overlay / hamburger morph: cubic-bezier(0.76, 0, 0.24, 1)
NAVBAR (fixed)
Fixed top-0 left-0 w-full z-50. Transparent until window.scrollY > 40, then bg-black/80 backdrop-blur-md. Transition: duration-500.

Inner bar: max-w-[1440px] mx-auto px-6 md:px-10 flex items-center justify-between h-16 md:h-20.

Left — logo
Text link “Aurevon”, text-white text-xl md:text-2xl font-semibold tracking-tight z-50.

Center — desktop only (hidden md:flex)
Pill button: px-5 py-2 rounded-full border border-white/20 text-white/90 text-sm hover:bg-white/10, items-center gap-2. Label Navigate when closed, Close when overlay is open. Toggles overlay.

Right — desktop only (hidden md:flex)
Flower2 from lucide-react: w-7 h-7 text-white/90.

Right — mobile (md:hidden)
Hamburger w-8 h-8, flex-col items-center justify-center gap-1.5, aria-label="Toggle menu". Two bars: w-6 h-[2px] bg-white. When open: top bar rotate-45 translate-y-[4px], bottom -rotate-45 -translate-y-[4px]. Morph duration-500 with overlay easing.

Navbar entrance (on load)
After 100ms, set mounted. Elements start opacity-0 -translate-y-4, end opacity-100 translate-y-0. duration-700 + entrance easing. Delays when mounted: logo 0ms, Navigate/hamburger 200ms, flower 400ms.

When overlay is open, set document.body.style.overflow = 'hidden'; restore on close.

FULL-SCREEN OVERLAY MENU
fixed inset-0 z-40 bg-black (under navbar z-50). Closed: opacity-0 invisible. Open: opacity-100 visible. Transition duration-700 + overlay easing. Center content: flex flex-col items-center justify-center.

Links, stacked gap-8, centered:

Home
Story
Collection
Inquire
Each: href="#", text-white font-instrument text-4xl md:text-6xl hover:opacity-60. Closed: opacity-0 translate-y-6. Open: opacity-100 translate-y-0. Duration 600ms, overlay easing. Stagger when opening: 150 + index * 80 ms (Home 150, Story 230, Collection 310, Inquire 390). Delay 0 when closing. Clicking a link closes the overlay.

HERO (full viewport)
<section class="relative w-full h-screen overflow-hidden flex items-end justify-center">

Background video (must be this exact URL)

https://meez.design/web/media/ext/098ffe06644e148a.mp4
Wrapper: absolute inset-0. Starts scale-105 opacity-0, after 300ms mounted becomes scale-100 opacity-100. Transition duration-[1400ms] + entrance easing.

<video>: that src, autoPlay muted loop playsInline, class="w-full h-full object-cover". No overlay gradient. Video is the only background.

Foreground (bottom-centered)
relative z-10 text-center px-6 pb-16 md:pb-24 max-w-4xl mx-auto

H1 (Instrument Serif):
font-instrument text-white text-[2.5rem] leading-[0.95] sm:text-5xl md:text-6xl lg:text-7xl mb-5 md:mb-6

Exact copy, with a line break only from sm up:

A carefully curated<br class="hidden sm:block" /> collection beyond compare
On mobile it is one wrapping line; from sm it is two lines: “A carefully curated” then “collection beyond compare”.

Subcopy
text-white/70 text-base md:text-lg mb-8 md:mb-10 max-w-md mx-auto
Copy: Reserve your place in our private gallery.

CTA
<a href="#"> “Join the waitlist”
inline-block px-8 py-3.5 bg-white text-black text-sm md:text-base font-medium rounded-full hover:bg-white/90

Hero text/CTA entrance
All three start opacity-0 translate-y-8, end opacity-100 translate-y-0. duration-900 + entrance easing. Mounted after 300ms, then delays: H1 400ms, subcopy 600ms, CTA 800ms. Delay 0 before mounted.

RESPONSIVE CHECKLIST (must match)
Breakpoint	Behavior
Default / mobile
Nav height 64px, padding-x 24px. Hamburger only (no Navigate pill, no flower). Hero padding-bottom 64px. H1 2.5rem / line-height 0.95, no forced H1 break. Subcopy text-base, CTA text-sm. Overlay links text-4xl.
sm (640px)
H1 text-5xl; H1 line break appears.
md (768px)
Nav height 80px, padding-x 40px. Desktop: logo | Navigate pill | flower. Overlay links text-6xl. Hero pb-24. H1 text-6xl, mb-6. Subcopy text-lg, mb-10. CTA text-base.
lg (1024px)
H1 text-7xl.
No other sections, footer, or extra chrome. No video controls, no poster, no extra color overlays. Recreate navbar + hero pixel-faithful to these classes, timings, copy, and the CloudFront URL above.

---

## HTML Code

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Aurevon</title>
  <link rel="preconnect" href="https://fonts.googleapis.com" />
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
  <link href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap" rel="stylesheet" />
  <style>
    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

    html, body { overflow-x: hidden; }

    body {
      background: #000;
      font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }

    body.menu-open { overflow: hidden; }

    .font-instrument { font-family: "Instrument Serif", serif; }

    /* ——— Navbar ——— */
    .nav {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 50;
      background: transparent;
      transition: background-color 500ms, backdrop-filter 500ms, -webkit-backdrop-filter 500ms;
    }

    .nav.scrolled {
      background: rgba(0, 0, 0, 0.8);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }

    .nav-inner {
      max-width: 1440px;
      margin: 0 auto;
      padding: 0 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 4rem;
    }

    .logo {
      color: #fff;
      font-size: 1.25rem;
      font-weight: 600;
      letter-spacing: -0.025em;
      text-decoration: none;
      z-index: 50;
      opacity: 0;
      transform: translateY(-1rem);
      transition: opacity 700ms cubic-bezier(0.16, 1, 0.3, 1), transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
    }

    .nav-mounted .logo {
      opacity: 1;
      transform: translateY(0);
    }

    .nav-pill {
      display: none;
      align-items: center;
      gap: 0.5rem;
      padding: 0.5rem 1.25rem;
      border-radius: 9999px;
      border: 1px solid rgba(255, 255, 255, 0.2);
      background: transparent;
      color: rgba(255, 255, 255, 0.9);
      font-size: 0.875rem;
      font-family: inherit;
      cursor: pointer;
      opacity: 0;
      transform: translateY(-1rem);
      transition: opacity 700ms cubic-bezier(0.16, 1, 0.3, 1), transform 700ms cubic-bezier(0.16, 1, 0.3, 1), background-color 700ms cubic-bezier(0.16, 1, 0.3, 1);
    }

    .nav-mounted .nav-pill {
      opacity: 1;
      transform: translateY(0);
      transition-delay: 200ms, 200ms, 0ms;
    }

    .nav-pill:hover { background: rgba(255, 255, 255, 0.1); }

    .nav-flower {
      display: none;
      align-items: center;
      z-index: 50;
      opacity: 0;
      transform: translateY(-1rem);
      transition: opacity 700ms cubic-bezier(0.16, 1, 0.3, 1), transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
    }

    .nav-mounted .nav-flower {
      opacity: 1;
      transform: translateY(0);
      transition-delay: 400ms;
    }

    .nav-flower svg {
      width: 1.75rem;
      height: 1.75rem;
      color: rgba(255, 255, 255, 0.9);
    }

    .hamburger {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0.375rem;
      width: 2rem;
      height: 2rem;
      z-index: 50;
      position: relative;
      background: none;
      border: none;
      cursor: pointer;
      opacity: 0;
      transform: translateY(-1rem);
      transition: opacity 700ms cubic-bezier(0.16, 1, 0.3, 1), transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
    }

    .nav-mounted .hamburger {
      opacity: 1;
      transform: translateY(0);
      transition-delay: 200ms;
    }

    .hamburger span {
      display: block;
      width: 1.5rem;
      height: 2px;
      background: #fff;
      transition: transform 500ms cubic-bezier(0.76, 0, 0.24, 1);
    }

    .hamburger.open span:first-child { transform: rotate(45deg) translateY(4px); }
    .hamburger.open span:last-child { transform: rotate(-45deg) translateY(-4px); }

    /* ——— Overlay ——— */
    .overlay {
      position: fixed;
      inset: 0;
      z-index: 40;
      background: #000;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      opacity: 0;
      visibility: hidden;
      transition: opacity 700ms cubic-bezier(0.76, 0, 0.24, 1), visibility 700ms cubic-bezier(0.76, 0, 0.24, 1);
    }

    .overlay.open {
      opacity: 1;
      visibility: visible;
    }

    .overlay-links {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 2rem;
    }

    .overlay-links a {
      color: #fff;
      font-family: "Instrument Serif", serif;
      font-size: 2.25rem;
      text-decoration: none;
      opacity: 0;
      transform: translateY(1.5rem);
      transition: opacity 600ms cubic-bezier(0.76, 0, 0.24, 1), transform 600ms cubic-bezier(0.76, 0, 0.24, 1), color 600ms cubic-bezier(0.76, 0, 0.24, 1);
    }

    .overlay-links a:hover { opacity: 0.6; }

    .overlay.open .overlay-links a {
      opacity: 1;
      transform: translateY(0);
    }

    .overlay.open .overlay-links a:nth-child(1) { transition-delay: 150ms; }
    .overlay.open .overlay-links a:nth-child(2) { transition-delay: 230ms; }
    .overlay.open .overlay-links a:nth-child(3) { transition-delay: 310ms; }
    .overlay.open .overlay-links a:nth-child(4) { transition-delay: 390ms; }
    .overlay.open .overlay-links a:hover { transition-delay: 150ms; opacity: 0.6; }
    .overlay.open .overlay-links a:nth-child(2):hover { transition-delay: 230ms; }
    .overlay.open .overlay-links a:nth-child(3):hover { transition-delay: 310ms; }
    .overlay.open .overlay-links a:nth-child(4):hover { transition-delay: 390ms; }

    /* ——— Hero ——— */
    .hero {
      position: relative;
      width: 100%;
      height: 100vh;
      overflow: hidden;
      display: flex;
      align-items: flex-end;
      justify-content: center;
    }

    .hero-video-wrap {
      position: absolute;
      inset: 0;
      transform: scale(1.05);
      opacity: 0;
      transition: transform 1400ms cubic-bezier(0.16, 1, 0.3, 1), opacity 1400ms cubic-bezier(0.16, 1, 0.3, 1);
    }

    .hero-mounted .hero-video-wrap {
      transform: scale(1);
      opacity: 1;
    }

    .hero-video-wrap video {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .hero-content {
      position: relative;
      z-index: 10;
      text-align: center;
      padding: 0 1.5rem 4rem;
      max-width: 56rem;
      margin: 0 auto;
    }

    .hero h1 {
      font-family: "Instrument Serif", serif;
      color: #fff;
      font-size: 2.5rem;
      line-height: 0.95;
      font-weight: 400;
      margin-bottom: 1.25rem;
      opacity: 0;
      transform: translateY(2rem);
      transition: opacity 900ms cubic-bezier(0.16, 1, 0.3, 1), transform 900ms cubic-bezier(0.16, 1, 0.3, 1);
    }

    .hero-mounted .hero h1 {
      opacity: 1;
      transform: translateY(0);
      transition-delay: 400ms;
    }

    .hero-br { display: none; }

    .hero p {
      color: rgba(255, 255, 255, 0.7);
      font-size: 1rem;
      line-height: 1.5;
      margin: 0 auto 2rem;
      max-width: 28rem;
      opacity: 0;
      transform: translateY(2rem);
      transition: opacity 900ms cubic-bezier(0.16, 1, 0.3, 1), transform 900ms cubic-bezier(0.16, 1, 0.3, 1);
    }

    .hero-mounted .hero p {
      opacity: 1;
      transform: translateY(0);
      transition-delay: 600ms;
    }

    .cta {
      display: inline-block;
      padding: 0.875rem 2rem;
      background: #fff;
      color: #000;
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.25;
      text-decoration: none;
      border-radius: 9999px;
      opacity: 0;
      transform: translateY(2rem);
      transition: opacity 900ms cubic-bezier(0.16, 1, 0.3, 1), transform 900ms cubic-bezier(0.16, 1, 0.3, 1), background-color 900ms cubic-bezier(0.16, 1, 0.3, 1);
    }

    .hero-mounted .cta {
      opacity: 1;
      transform: translateY(0);
      transition-delay: 800ms, 800ms, 0ms;
    }

    .cta:hover { background: rgba(255, 255, 255, 0.9); }

    @media (min-width: 640px) {
      .hero h1 { font-size: 3rem; }
      .hero-br { display: block; }
    }

    @media (min-width: 768px) {
      .nav-inner {
        padding: 0 2.5rem;
        height: 5rem;
      }

      .logo { font-size: 1.5rem; }

      .nav-pill { display: flex; }
      .nav-flower { display: flex; }
      .hamburger { display: none; }

      .overlay-links a { font-size: 3.75rem; }

      .hero-content { padding-bottom: 6rem; }

      .hero h1 {
        font-size: 3.75rem;
        margin-bottom: 1.5rem;
      }

      .hero p {
        font-size: 1.125rem;
        margin-bottom: 2.5rem;
      }

      .cta { font-size: 1rem; }
    }

    @media (min-width: 1024px) {
      .hero h1 { font-size: 4.5rem; }
    }
  </style>
</head>
<body>
  <nav class="nav" id="nav">
    <div class="nav-inner">
      <a class="logo" href="#">Aurevon</a>

      <button class="nav-pill" id="navPill" type="button">
        <span id="navPillLabel">Navigate</span>
      </button>

      <div class="nav-flower" aria-hidden="true">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <path d="M12 5a3 3 0 1 1 3 3m-3-3a3 3 0 1 0-3 3m3-3v1M9 8a3 3 0 1 0 3 3M9 8h1m5 0a3 3 0 1 1-3 3m3-3h-1m-2 3v-1" />
          <circle cx="12" cy="8" r="2" />
          <path d="M12 10v12" />
          <path d="M12 22c4.2 0 7-1.667 7-5-4.2 0-7 1.667-7 5Z" />
          <path d="M12 22c-4.2 0-7-1.667-7-5 4.2 0 7 1.667 7 5Z" />
        </svg>
      </div>

      <button class="hamburger" id="hamburger" type="button" aria-label="Toggle menu">
        <span></span>
        <span></span>
      </button>
    </div>
  </nav>

  <div class="overlay" id="overlay">
    <div class="overlay-links">
      <a href="#">Home</a>
      <a href="#">Story</a>
      <a href="#">Collection</a>
      <a href="#">Inquire</a>
    </div>
  </div>

  <section class="hero" id="hero">
    <div class="hero-video-wrap">
      <video
        src="https://meez.design/web/media/ext/098ffe06644e148a.mp4"
        autoplay
        muted
        loop
        playsinline
      ></video>
    </div>

    <div class="hero-content">
      <h1>A carefully curated<br class="hero-br" /> collection beyond compare</h1>
      <p>Reserve your place in our private gallery.</p>
      <a class="cta" href="#">Join the waitlist</a>
    </div>
  </section>

  <script>
    (function () {
      var nav = document.getElementById("nav");
      var overlay = document.getElementById("overlay");
      var hamburger = document.getElementById("hamburger");
      var navPill = document.getElementById("navPill");
      var navPillLabel = document.getElementById("navPillLabel");
      var hero = document.getElementById("hero");
      var open = false;

      setTimeout(function () { nav.classList.add("nav-mounted"); }, 100);
      setTimeout(function () { hero.classList.add("hero-mounted"); }, 300);

      window.addEventListener("scroll", function () {
        nav.classList.toggle("scrolled", window.scrollY > 40);
      });

      function setOpen(next) {
        open = next;
        overlay.classList.toggle("open", open);
        hamburger.classList.toggle("open", open);
        navPillLabel.textContent = open ? "Close" : "Navigate";
        document.body.classList.toggle("menu-open", open);
      }

      hamburger.addEventListener("click", function () { setOpen(!open); });
      navPill.addEventListener("click", function () { setOpen(!open); });

      overlay.querySelectorAll("a").forEach(function (link) {
        link.addEventListener("click", function () { setOpen(false); });
      });
    })();
  </script>
</body>
</html>

Browse & preview free → Unlock everything — from $19/mo

Meez.

The biggest library of AI website build-prompts & motion backgrounds — from $19/mo, ≈3¢ per asset.

Library
Browse all Free prompts Prompts by category Section prompts Motion backgrounds Pricing
Learn & contact
How it works Why AI sites look generic Compare AI builders Terms Privacy Contact Affiliates
© Meez — an open archive. Start free · Unlimited from $19/mo · cancel anytime.