Create a full-screen immersive landing page for a fictional creative-tech studio called "VortxLab Creations" (brand: "V O R T X"). The page features a looping background video, a glassmorphism-cut button aesthetic with octagonal clip-path shapes, and staggered fade-up entrance animations on every element.
### Tech Stack
- React + TypeScript + Vite
- Tailwind CSS (configured with `fontFamily.inter: ['Inter', 'sans-serif']`)
- `lucide-react` for icons (only `ArrowRight` used)
- Google Fonts: **Inter** weights 300–900, loaded via `` in index.html with preconnect to fonts.googleapis.com and fonts.gstatic.com
### Global CSS (index.css)
- `@tailwind base/components/utilities`
- `body { font-family: 'Inter', sans-serif; background-color: #000000; }`
- Three octagonal clip-path button classes:
**`.btn-cut`** (large buttons, 12px cut):
```
clip-path: polygon(
12px 0%, calc(100% - 12px) 0%, 100% 12px, 100% calc(100% - 12px),
calc(100% - 12px) 100%, 12px 100%, 0% calc(100% - 12px), 0% 12px
);
```
**`.btn-cut-border`** (outline variant): `position: relative; background: white;` same clip-path as above. A `::before` pseudo-element with `inset: 1px; background: black;` and the same clip-path but offset by 1px (11px values), `z-index: 0`. Direct children get `position: relative; z-index: 1;` so text shows on black.
**`.btn-cut-sm`** (small social buttons, 8px cut): same polygon but with 8px values.
### Animations (in index.css)
```css
@keyframes fadeUp {
from { opacity: 0; transform: translateY(24px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
.anim-stagger {
opacity: 0;
animation: fadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.anim-fade {
opacity: 0;
animation: fadeIn 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
```
### Background Video
Use this exact CloudFront URL as the `