Halo Benefits

UserBigcatgj
Author: motionsites
Original Link
8/17/2026
通用
Why Us

Prompt Content

Build an "Info" section for a fintech stablecoin landing page using **React + TypeScript + Tailwind CSS** with **lucide-react** for icons (use `ArrowRight`). Fully mobile responsive.

### Font Setup

Load **"TT Norms Pro"** via a stylesheet link in `index.html`:

```html
<link href="https://db.onlinewebfonts.com/c/49bf5d043a27b890a040cf393277e2b2?family=TT+Norms+Pro+Regular" rel="stylesheet">
```

Apply globally in `index.css`:

```css
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  html {
    font-family: 'TT Norms Pro Regular', ui-sans-serif, system-ui, sans-serif;
  }
  body {
    font-family: 'TT Norms Pro Regular', ui-sans-serif, system-ui, sans-serif;
  }
  * {
    font-family: inherit;
  }
}
```

---

### Section Component: `InfoSection`

**Outer wrapper:** `<section>` with classes `bg-[#F5F5F5] px-6 py-24`.

**Inner container:** `<div>` with classes `max-w-[88rem] mx-auto`.

The section has **two rows** stacked vertically.

---

#### ROW 1: Heading + Description (two-column grid)

Wrapper `<div>` with classes `grid grid-cols-1 md:grid-cols-2 gap-12 mb-16 items-start`.

**Left column** (`<div>`, no extra classes):

1. **Heading:**
   - Element: `<h2>`
   - Text: **"Meet USD Halo."**
   - Classes: `text-black text-4xl md:text-5xl font-medium leading-tight mb-8`
   - Inline style: `{ letterSpacing: '-0.03em' }`

2. **CTA pill button** (black capsule, text-left icon-right pattern):
   - Element: `<button>`
   - Classes: `inline-flex items-center gap-3 bg-black text-white text-base font-medium pl-8 pr-2 py-2 rounded-full hover:bg-gray-800 transition-colors duration-200`
   - Contains:
     - Plain text: **"Discover it"**
     - Then a `<span>` with classes `bg-white rounded-full p-2 flex items-center justify-center`, containing `<ArrowRight className="w-5 h-5 text-black" />`

**Right column** (`<div>` with classes `flex items-center`):

1. **Description paragraph:**
   - Element: `<p>`
   - Text: **"USD Halo is a reward-earning dollar coin that lets your savings grow while remaining tied to the U.S. dollar."**
   - Classes: `text-black/70 text-2xl md:text-3xl font-normal leading-relaxed`

---

#### ROW 2: Four-column card grid

Wrapper `<div>` with classes `grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4`.

Contains 3 cards (the first spans 2 columns):

**Card 1 -- Image background card (spans 2 columns):**
- Wrapper `<div>` with classes `lg:col-span-2 rounded-2xl overflow-hidden relative min-h-80`
- Inline style with background image:
  ```tsx
  style={{
    backgroundImage: `url('https://images.higgs.ai/?default=1&output=webp&url=https%3A%2F%2Fd8j0ntlcm91z4.cloudfront.net%2Fuser_38xzZboKViGWJOttwIXH07lWA1P%2Fhf_20260423_164207_f243351d-ed59-48ec-83a0-a5e996bdbe3c.png&w=1280&q=85')`,
    backgroundSize: 'cover',
    backgroundPosition: 'center',
  }}
  ```
- Inner content `<div>` with classes `relative z-10 flex flex-col justify-between h-full p-7 min-h-80`
  - **Title:** `<p>` with text **"Savings that bloom"**, classes `text-black text-2xl font-medium leading-snug`, inline style `{ letterSpacing: '-0.02em' }`
  - **Description:** `<p>` with text **"Gain steady returns as your dollar tokens are routed into top-performing DeFi strategies."**, classes `text-black/70 text-base font-normal leading-relaxed max-w-xs`

**Card 2 -- Dark solid card:**
- Wrapper `<div>` with classes `rounded-2xl p-7 flex flex-col justify-between min-h-80`
- Inline style: `{ backgroundColor: '#2B2644' }`
- **Title:** `<p>` with text **"Always fluid,\<br /\>always pegged."**, classes `text-white text-2xl font-medium leading-snug`, inline style `{ letterSpacing: '-0.02em' }`
- **Description:** `<p>` with text **"Keep fully dollar-anchored with on-demand access to funds -- no lockups or waits."**, classes `text-white/60 text-base font-normal leading-relaxed`

**Card 3 -- Dark solid card:**
- Wrapper `<div>` with classes `rounded-2xl p-7 flex flex-col justify-between min-h-80`
- Inline style: `{ backgroundColor: '#2B2644' }`
- **Title:** `<p>` with text **"Fully\<br /\>automated"**, classes `text-white text-2xl font-medium leading-snug`, inline style `{ letterSpacing: '-0.02em' }`
- **Description:** `<p>` with text **"Skip the task of tuning positions yourself. USD Halo runs in the background for you."**, classes `text-white/60 text-base font-normal leading-relaxed`

---

### Key Design Specifications -- InfoSection

- **Background:** `#F5F5F5` seamless with rest of page.
- **Row 1 layout:** Two equal columns, `gap-12`, with `mb-16` separating it from the card grid below. Left column has heading + button stacked. Right column vertically centers a large descriptive paragraph.
- **Pill button:** Black capsule with white text on left, white circle with black arrow icon on right. Asymmetric padding (`pl-8 pr-2 py-2`) creates the capsule-with-embedded-circle look.
- **Card grid:** 4-column on `lg`, 2-column on `sm`, single column on mobile. `gap-4` between cards.
- **Card 1** spans 2 columns on `lg`. Uses a full-bleed background image with no overlay/scrim -- text sits directly on the image. Content is distributed top-to-bottom using `justify-between`.
- **Cards 2 & 3** use a dark navy/purple background (`#2B2644`) with white text. Titles use `<br />` for line breaks. Content distributed top-to-bottom via `justify-between`.
- **All cards:** `rounded-2xl` (16px), `min-h-80` (320px), `p-7` internal padding.
- **Typography:** Card titles are `text-2xl font-medium` with `-0.02em` letter-spacing. Card descriptions are `text-base font-normal`.

---

### Complete JSX -- InfoSection

```tsx
import { ArrowRight } from 'lucide-react';

function InfoSection() {
  return (
    <section className="bg-[#F5F5F5] px-6 py-24">
      <div className="max-w-[88rem] mx-auto">
        {/* Row 1 */}
        <div className="grid grid-cols-1 md:grid-cols-2 gap-12 mb-16 items-start">
          <div>
            <h2 className="text-black text-4xl md:text-5xl font-medium leading-tight mb-8" style={{ letterSpacing: '-0.03em' }}>
              Meet USD Halo.
            </h2>
            <button className="inline-flex items-center gap-3 bg-black text-white text-base font-medium pl-8 pr-2 py-2 rounded-full hover:bg-gray-800 transition-colors duration-200">
              Discover it
              <span className="bg-white rounded-full p-2 flex items-center justify-center">
                <ArrowRight className="w-5 h-5 text-black" />
              </span>
            </button>
          </div>
          <div className="flex items-center">
            <p className="text-black/70 text-2xl md:text-3xl font-normal leading-relaxed">
              USD Halo is a reward-earning dollar coin that lets your savings grow while remaining tied to the U.S. dollar.
            </p>
          </div>
        </div>

        {/* Row 2 -- 4-col grid */}
        <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4">
          {/* Card 1 -- spans 2 cols, image bg */}
          <div
            className="lg:col-span-2 rounded-2xl overflow-hidden relative min-h-80"
            style={{
              backgroundImage: `url('https://images.higgs.ai/?default=1&output=webp&url=https%3A%2F%2Fd8j0ntlcm91z4.cloudfront.net%2Fuser_38xzZboKViGWJOttwIXH07lWA1P%2Fhf_20260423_164207_f243351d-ed59-48ec-83a0-a5e996bdbe3c.png&w=1280&q=85')`,
              backgroundSize: 'cover',
              backgroundPosition: 'center',
            }}
          >
            <div className="relative z-10 flex flex-col justify-between h-full p-7 min-h-80">
              <p className="text-black text-2xl font-medium leading-snug" style={{ letterSpacing: '-0.02em' }}>
                Savings that bloom
              </p>
              <p className="text-black/70 text-base font-normal leading-relaxed max-w-xs">
                Gain steady returns as your dollar tokens are routed into top-performing DeFi strategies.
              </p>
            </div>
          </div>

          {/* Card 2 */}
          <div
            className="rounded-2xl p-7 flex flex-col justify-between min-h-80"
            style={{ backgroundColor: '#2B2644' }}
          >
            <p className="text-white text-2xl font-medium leading-snug" style={{ letterSpacing: '-0.02em' }}>
              Always fluid,<br />always pegged.
            </p>
            <p className="text-white/60 text-base font-normal leading-relaxed">
              Keep fully dollar-anchored with on-demand access to funds -- no lockups or waits.
            </p>
          </div>

          {/* Card 3 */}
          <div
            className="rounded-2xl p-7 flex flex-col justify-between min-h-80"
            style={{ backgroundColor: '#2B2644' }}
          >
            <p className="text-white text-2xl font-medium leading-snug" style={{ letterSpacing: '-0.02em' }}>
              Fully<br />automated
            </p>
            <p className="text-white/60 text-base font-normal leading-relaxed">
              Skip the task of tuning positions yourself. USD Halo runs in the background for you.
            </p>
          </div>
        </div>
      </div>
    </section>
  );
}
```

---

---

## Prompt 2: BackedBySection (Marquee)

Build a "Backed By" marquee section for a fintech stablecoin landing page using **React + TypeScript + Tailwind CSS**. No icon library needed for this section.

### Font Setup

Same as above -- load **"TT Norms Pro"** via the stylesheet link in `index.html`:

```html
<link href="https://db.onlinewebfonts.com/c/49bf5d043a27b890a040cf393277e2b2?family=TT+Norms+Pro+Regular" rel="stylesheet">
```

---

### Section Component: `BackedBySection`

**Outer wrapper:** `<section>` with classes `bg-[#F5F5F5] px-6` (no vertical padding -- this section sits flush between InfoSection and UseCasesSection).

**Inner container:** `<div>` with classes `max-w-[88rem] mx-auto grid grid-cols-1 md:grid-cols-4 gap-8 items-center`.

---

#### LEFT COLUMN (1 of 4 columns)

Wrapper `<div>` with classes `md:col-span-1`.

Contains:
- `<p>` with text **"Funded by premier partners\<br /\>and forward-thinking leaders."**
- Classes: `text-black/70 text-base leading-relaxed`

---

#### RIGHT COLUMN -- Marquee (3 of 4 columns)

Wrapper `<div>` with classes `md:col-span-3 overflow-hidden`.

**CSS animation** (injected via inline `<style>` tag inside the component):

```css
@keyframes backers-marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.backers-track {
  display: flex;
  width: max-content;
  animation: backers-marquee 30s linear infinite;
}
```

**Marquee track:** `<div>` with class `backers-track`.

Contains the `BACKER_BRANDS` array duplicated (spread twice: `[...BACKER_BRANDS, ...BACKER_BRANDS]`) and mapped to `<span>` elements.

Each `<span>`:
- Classes: `mx-10 shrink-0 text-black/50 whitespace-nowrap`
- Inline `style` from the brand object (unique font, weight, spacing per brand)
- Key: array index `i`

---

### Brand Data Array

Each brand has a unique font family, weight, letter-spacing, and font-size to simulate distinct brand wordmarks using only text styling (no logos/images):

```tsx
const BACKER_BRANDS: { name: string; style: React.CSSProperties }[] = [
  { name: "Fundamental Labs", style: { fontFamily: "'Times New Roman', serif", fontWeight: 400, letterSpacing: "0.02em", fontSize: "14px" } },
  { name: "KUCOIN", style: { fontFamily: "'Arial Black', sans-serif", fontWeight: 900, letterSpacing: "0.08em", fontSize: "16px" } },
  { name: "NGC", style: { fontFamily: "'Impact', sans-serif", fontWeight: 700, letterSpacing: "0.05em", fontSize: "18px" } },
  { name: "NxGen", style: { fontFamily: "'Georgia', serif", fontWeight: 600, letterSpacing: "-0.02em", fontSize: "17px" } },
  { name: "Matter Labs", style: { fontFamily: "'Helvetica', sans-serif", fontWeight: 700, letterSpacing: "-0.01em", fontSize: "15px" } },
  { name: "DEXTools", style: { fontFamily: "'Verdana', sans-serif", fontWeight: 700, letterSpacing: "0.06em", fontSize: "14px", textTransform: "uppercase" as const } },
  { name: "NGRAVE", style: { fontFamily: "'Courier New', monospace", fontWeight: 700, letterSpacing: "0.18em", fontSize: "14px" } },
  { name: "Polychain", style: { fontFamily: "'Palatino', serif", fontWeight: 500, letterSpacing: "0.03em", fontSize: "15px" } },
];
```

---

### Key Design Specifications -- BackedBySection

- **No vertical padding** on the section (`px-6` only) -- it sits between two `py-24` sections, acting as a visual divider/strip.
- **Layout:** 4-column grid on `md`. Left column takes 1/4 width, marquee takes 3/4. Stacks on mobile.
- **Marquee technique:** CSS-only infinite scroll. The array is duplicated so the second copy seamlessly replaces the first as it scrolls left. `width: max-content` ensures the track is as wide as its content. `-50%` translation moves exactly one copy's width.
- **Animation speed:** `30s` -- slow, ambient scrolling.
- **Brand styling:** Each brand name uses a different system font, weight, and letter-spacing to create visual variety mimicking actual brand wordmarks without needing logo images. Colors are all `text-black/50` (50% opacity black).
- **Spacing between brands:** `mx-10` (80px total gap between adjacent names).

---

### Complete JSX -- BackedBySection

```tsx
const BACKER_BRANDS: { name: string; style: React.CSSProperties }[] = [
  { name: "Fundamental Labs", style: { fontFamily: "'Times New Roman', serif", fontWeight: 400, letterSpacing: "0.02em", fontSize: "14px" } },
  { name: "KUCOIN", style: { fontFamily: "'Arial Black', sans-serif", fontWeight: 900, letterSpacing: "0.08em", fontSize: "16px" } },
  { name: "NGC", style: { fontFamily: "'Impact', sans-serif", fontWeight: 700, letterSpacing: "0.05em", fontSize: "18px" } },
  { name: "NxGen", style: { fontFamily: "'Georgia', serif", fontWeight: 600, letterSpacing: "-0.02em", fontSize: "17px" } },
  { name: "Matter Labs", style: { fontFamily: "'Helvetica', sans-serif", fontWeight: 700, letterSpacing: "-0.01em", fontSize: "15px" } },
  { name: "DEXTools", style: { fontFamily: "'Verdana', sans-serif", fontWeight: 700, letterSpacing: "0.06em", fontSize: "14px", textTransform: "uppercase" as const } },
  { name: "NGRAVE", style: { fontFamily: "'Courier New', monospace", fontWeight: 700, letterSpacing: "0.18em", fontSize: "14px" } },
  { name: "Polychain", style: { fontFamily: "'Palatino', serif", fontWeight: 500, letterSpacing: "0.03em", fontSize: "15px" } },
];

function BackedBySection() {
  return (
    <section className="bg-[#F5F5F5] px-6">
      <div className="max-w-[88rem] mx-auto grid grid-cols-1 md:grid-cols-4 gap-8 items-center">
        <div className="md:col-span-1">
          <p className="text-black/70 text-base leading-relaxed">
            Funded by premier partners<br />and forward-thinking leaders.
          </p>
        </div>
        <div className="md:col-span-3 overflow-hidden">
          <style>{`
            @keyframes backers-marquee {
              0% { transform: translateX(0); }
              100% { transform: translateX(-50%); }
            }
            .backers-track {
              display: flex;
              width: max-content;
              animation: backers-marquee 30s linear infinite;
            }
          `}</style>
          <div className="backers-track">
            {[...BACKER_BRANDS, ...BACKER_BRANDS].map((brand, i) => (
              <span
                key={i}
                className="mx-10 shrink-0 text-black/50 whitespace-nowrap"
                style={brand.style}
              >
                {brand.name}
              </span>
            ))}
          </div>
        </div>
      </div>
    </section>
  );
}
```

No examples available

The author has not added an output example yet; new public prompts require at least one.

Want a different result? Change just a few parts

AI finds the swappable parts (subject/style/scene) — fill in what you want, keep the rest

PlazaLogin