You're officially part of the network

Welcome to the Infinity Partners Network

You've taken the first step towards executive-grade strategy, responsible AI, and a community of leaders reshaping industries. Everything you need to hit your next inflection point starts here.

Your New Home Base

Everything the Platform Has to Offer

The Infinity Partners platform is built for leaders who move fast and think clearly. Here's what's available to you as a member.

Responsible AI Advisory

Navigate AI adoption with confidence. Our platform surfaces strategic frameworks, governance models, and real-world case studies so your organisation leads responsibly.

Executive Marketing Intelligence

Access curated market intelligence, brand positioning playbooks, and executive-grade marketing strategies tailored to C-suite leaders.

Management Consulting Toolkit

From operating model redesign to transformation roadmaps — our consulting resources give you the frameworks elite firms use, at your fingertips.

Real-Time Strategic Insights

Stay ahead of market shifts with continuously updated insights, briefings, and trend analyses delivered directly through your member dashboard.

Vetted Knowledge Library

Every resource is reviewed by our senior advisors. No noise — only signal. Build on a foundation of peer-reviewed executive thinking.

Peer Network Access

Connect directly with fellow members across industries. Raise questions, share wins, and co-create solutions with a network of serious operators.

Grow Together

Community, Meetups & Strategic Alliances

Membership isn't just access to tools — it's entry into a living ecosystem of ambitious executives building the next generation of business acumen.

Three executives discussing strategy on stage at a summit

Infinity Partners Summit — bringing network members together to share ideas, challenges, and victories.

Executive Meetups

Attend curated in-person and virtual events designed for senior leaders. No filler — just high-signal conversations with people who've been in the room.

Global Network

Infinity Partners members span markets, industries, and time zones. Your next strategic partner, advisor, or collaborator is already in the network.

Alliance Building

Forge meaningful alliances with operators who share your ambition. Our facilitated introductions connect you with exactly the right people at the right time.

Regional Chapters

As the network grows, local chapters will bring members together in their home cities for roundtables, dinners, and collaborative working sessions.

Your Onboarding Roadmap

Where to Begin

Four simple steps to get fully embedded in the Infinity Partners ecosystem and start realising value immediately.

01

Log in to the Platform

Head to alpha.infinitypr.ai and sign in with the credentials from your onboarding email. Your dashboard is ready and waiting.

02

Complete Your Profile

Tell the network who you are and what you're working on. A complete profile helps us match you with the right advisors, resources, and peers.

03

Explore Your Disciplines

Browse our three core practices — Executive Marketing, Responsible AI, and Management Consulting — and start with what matters most to your growth right now.

04

Join the Community

Introduce yourself in the member community, attend an upcoming meetup, and start building alliances that extend well beyond this platform.

Team members united in purpose

Your Journey Starts Now

The ecosystem is live. The community is growing. And the advisors are ready. Dive in, explore the platform, and reach out if you need a hand getting started.

Design System Reference

Infinity Partners — CSS Styling Guide

A comprehensive reference documenting every design token, typographic rule, gradient definition, shadow value, border-radius, and component pattern applied across the Infinity Partners platform. Use this guide to replicate the exact look and feel on a complementary parallel platform.

1 · Color Tokens (CSS Custom Properties)

All colors are declared as HSL values on :root and consumed via Tailwind semantic utilities (e.g. bg-primary, text-foreground). The site ships a dark-first theme; a .dark class mirrors :root and a .light class overrides for isolated light surfaces.

Base / Background

--background

hsl(224 28% 6%) → bg-background / text-background

--foreground

hsl(210 20% 94%) → text-foreground

Card / Popover

--card

hsl(224 25% 9%) → bg-card

--card-foreground

hsl(210 20% 94%) → text-card-foreground

--popover

hsl(224 25% 9%) → bg-popover

--popover-foreground

hsl(210 20% 94%) → text-popover-foreground

Primary (Cyan)

--primary (dark)

hsl(165 100% 50%) → bg-primary / text-primary

--primary-foreground

hsl(224 28% 6%) → text-primary-foreground

--primary (:root default)

hsl(0 0% 100%) — white fallback before .dark is applied

Secondary (Purple)

--secondary (dark)

hsl(262 100% 50%) → bg-secondary / text-secondary

--secondary-foreground

hsl(0 0% 100%) → text-secondary-foreground

Muted

--muted

hsl(224 20% 14%) → bg-muted

--muted-foreground

hsl(220 15% 60%) → text-muted-foreground

Accent

--accent (dark)

hsl(165 100% 50%) → bg-accent

--accent-foreground

hsl(224 28% 6%) → text-accent-foreground

Destructive

--destructive

hsl(0 62% 50%) → bg-destructive

--destructive-foreground

hsl(0 0% 100%)

Border / Input / Ring

--border

hsl(224 20% 16%) → border-border

--input

hsl(224 20% 14%) → bg-input

--ring (dark)

hsl(165 100% 50%) → ring-ring

Light Surface Overrides (.light class)

--background

hsl(0 0% 99%)

--primary

hsl(165 90% 38%)

--secondary

hsl(262 80% 55%)

--muted

hsl(220 14% 96%)

--muted-foreground

hsl(220 10% 50%)

--border

hsl(220 14% 90%)

2 · Typography

Two typefaces are loaded (Google Fonts via index.html). All heading elements share a negative letter-spacing for the premium executive aesthetic.

Font Families

Body / UI — font-family: body

'Inter', system-ui, sans-serif → applied to <body>

Headings — font-family: headings

'Space Grotesk', system-ui, sans-serif → applied to h1–h6

Heading Defaults (CSS rule on h1–h6)

font-weight

700 (Tailwind: font-bold)

letter-spacing

-0.02em (Tailwind: tracking-tight)

Heading Scale (Tailwind classes used in-code)

h1 (hero)

text-4xl / md:text-5xl / lg:text-6xl → 2.25rem / 3rem / 3.75rem

h2 (section)

text-3xl / md:text-4xl → 1.875rem / 2.25rem

h3 (card)

text-base / md:text-lg → 1rem / 1.125rem

Body Scale

Lead paragraph

text-lg / md:text-xl → 1.125rem / 1.25rem | leading-relaxed (1.625)

Standard body

text-base → 1rem | leading-relaxed

Small / card body

text-sm → 0.875rem | leading-relaxed

Label / eyebrow

text-sm font-semibold uppercase tracking-widest (0.1em)

Badge / caption

text-xs → 0.75rem

Font Weights Used

Bold

font-bold → 700 (headings, step numbers)

Semibold

font-semibold → 600 (card titles, labels)

Medium

font-medium → 500 (badge text, nav items)

Regular

font-normal → 400 (body copy)

Gradient Text Utilities

.text-gradient-cyan

linear-gradient(135deg, hsl(165 100% 50%) 0%, hsl(180 100% 55%) 100%) — clip to text

.text-gradient-purple

linear-gradient(135deg, hsl(262 100% 70%) 0%, hsl(280 100% 65%) 100%) — clip to text

.text-gradient-brand

linear-gradient(135deg, hsl(165 100% 50%) 0%, hsl(262 100% 65%) 100%) — clip to text

Live Examples

H1 — Space Grotesk 700

H2 — Space Grotesk 700

H3 — Space Grotesk 700

Lead body — Inter 400, text-muted-foreground

Card body — Inter 400 small

Eyebrow label

3 · Border-Radius / Rounded Corners

--radius: 9999px sets the global shadcn radius variable to fully pill-shaped. Component-level overrides are applied where pill shape would break usability (e.g. dropdown panels).

Global Token

--radius

9999px → used by shadcn Button, Badge, Input, etc. → fully pill-shaped

Nav Dropdown Override (CSS layer: components)

nav .absolute.rounded-md

border-radius: 12px !important → prevents menu items being clipped by pill radius

Tailwind Utilities Used Per Element

Section wrapper image

rounded-2xl → 16px

Feature / pillar cards

rounded-2xl → 16px

Step cards (next steps)

rounded-2xl → 16px

Icon container (large)

rounded-xl → 12px

Icon container (small)

rounded-xl → 12px

Badge / pill label

rounded-full → 9999px (inherits --radius)

Code / token swatches

rounded-md → 6px

Buttons (shadcn default)

rounded-full → 9999px (via --radius)

Visual Demonstration

rounded-full (9999px)
rounded-2xl (16px)
rounded-xl (12px)
rounded-md (6px)

4 · Gradient Definitions

All gradients are stored as CSS custom properties and exposed as Tailwind utility classes under @layer utilities. Apply with style={{ background: "var(--gradient-*)" }} or the matching utility class.

Hero Background

--gradient-hero / .bg-gradient-hero

linear-gradient( 135deg, hsl(224 35% 5%) 0%, hsl(250 30% 10%) 50%, hsl(262 40% 8%) 100% ) Dark navy → subtle purple tint → deep purple-navy

Section Divider

--gradient-section / .bg-gradient-section

linear-gradient( 180deg, hsl(224 28% 6%) 0%, hsl(250 25% 8%) 50%, hsl(224 28% 6%) 100% ) Background → slightly lighter midpoint → back to background

Card Gradient

--gradient-card / .bg-gradient-card

linear-gradient( 180deg, hsl(224 25% 10%) 0%, hsl(224 25% 7%) 100% ) Top-lit card surface

Cyan Glow (radial)

--gradient-glow-cyan / .bg-gradient-glow-cyan

radial-gradient( ellipse 80% 60% at 50% 50%, hsl(165 100% 50% / 0.12) 0%, transparent 70% ) Used as pointer-events-none overlay on hero & CTA sections

Purple Glow (radial)

--gradient-glow-purple / .bg-gradient-glow-purple

radial-gradient( ellipse 80% 60% at 50% 50%, hsl(262 100% 50% / 0.12) 0%, transparent 70% ) Applied at opacity-60 as secondary overlay

Video Overlay

--gradient-video-overlay / .bg-gradient-video-overlay

linear-gradient( 180deg, hsl(224 35% 5% / 0.75) 0%, hsl(224 35% 5% / 0.55) 50%, hsl(224 35% 5% / 0.15) 100% ) Ensures text legibility over video backgrounds

Image Overlay (inline — community card)

(inline Tailwind)

bg-gradient-to-t from-black/60 via-black/20 to-transparent — bottom-up text-protection overlay on images

Gradient Text (applied via background-clip: text)

.text-gradient-cyan

linear-gradient(135deg, hsl(165 100% 50%) 0%, hsl(180 100% 55%) 100%)

.text-gradient-purple

linear-gradient(135deg, hsl(262 100% 70%) 0%, hsl(280 100% 65%) 100%)

.text-gradient-brand

linear-gradient(135deg, hsl(165 100% 50%) 0%, hsl(262 100% 65%) 100%)

CyanPurpleBrand

5 · Shadow Tokens

Five shadow levels are defined as CSS custom properties and exposed as utility classes. Glow shadows double as accessibility focus indicators for interactive elements.

--shadow-soft / .shadow-soft

0 4px 24px -4px hsl(0 0% 0% / 0.4)

--shadow-card / .shadow-card

0 8px 32px -8px hsl(0 0% 0% / 0.5) → applied to feature & step cards

--shadow-glow-cyan / .shadow-glow-cyan

0 0 40px hsl(165 100% 50% / 0.25)

--shadow-glow-purple / .shadow-glow-purple

0 0 40px hsl(262 100% 50% / 0.2)

--shadow-deep / .shadow-deep

0 16px 64px hsl(0 0% 0% / 0.6)

Glow Border Utilities

.border-glow-cyan

border-color: hsl(165 100% 50% / 0.6) box-shadow: 0 0 12px hsl(165 100% 50% / 0.2), inset 0 0 8px hsl(165 100% 50% / 0.05)

.border-glow-purple

border-color: hsl(262 100% 50% / 0.5) box-shadow: 0 0 12px hsl(262 100% 50% / 0.2), inset 0 0 8px hsl(262 100% 50% / 0.05)

6 · Border & Outline Colors

Borders use semantic tokens. Interactive elements shift border color on hover to signal affordance.

Default card/section border

border-border → hsl(224 20% 16%)

Hover state (cards, steps)

hover:border-primary/40 → hsl(165 100% 50% / 0.4) in dark

Badge / pill border

border-primary/40 → hsl(165 100% 50% / 0.4)

Focus ring

ring-ring → hsl(165 100% 50%) | ring-offset: 2px

Glass card border

hsl(224 20% 20% / 0.6)

Glass card cyan border

hsl(165 100% 50% / 0.15)

Global reset (*)

@apply border-border → every element defaults to the border token

7 · Glass / Backdrop Effects

Two glassmorphism utility classes provide the premium SaaS frosted-glass feel used on interactive overlays and modals.

.glass-card

background: hsl(224 25% 9% / 0.7);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border: 1px solid hsl(224 20% 20% / 0.6);

.glass-card-cyan

background: hsl(165 100% 50% / 0.05);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border: 1px solid hsl(165 100% 50% / 0.15);

8 · Animations & Keyframes

All keyframe animations are declared in @layer utilities and exposed as Tailwind utility classes. Reduced-motion media query disables all animations.

.animate-marquee — Logo ticker scroll

@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
animation: marquee 35s linear infinite;

.animate-fade-up — Section entrance

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
animation: fadeUp 0.7s ease-out forwards;

.animate-fade-in — Soft reveal

@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
animation: fadeIn 0.9s ease-out forwards;

.animate-float — Hero visual float

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-10px); }
}
animation: float 6s ease-in-out infinite;

.animate-pulse-glow — AI/tech accent pulse

@keyframes pulseGlow {
  0%, 100% { opacity: 0.5; }
  50%       { opacity: 1; }
}
animation: pulseGlow 2.5s ease-in-out infinite;

Framer Motion (in-code transitions)

repeat value

Infinity (JS constant — never a string)

whileInView pattern

key on useLocation().pathname if animation must re-run on route change

Easing identifiers

camelCase: easeInOut, easeOut, linear (not quoted strings)

Hover transitions (Tailwind)

Card border

transition-colors duration-300

Button arrow icon

transition-transform group-hover:translate-x-1

Reduced-motion override

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration:        0.01ms !important;
    animation-iteration-count: 1      !important;
    transition-duration:       0.01ms !important;
  }
}

9 · Component Patterns

Recurring UI patterns used across sections, documented with Tailwind class signatures.

Feature / Pillar Card

rounded-2xl border border-border bg-card p-6
flex flex-col gap-4
hover:border-primary/40 transition-colors duration-300
boxShadow: var(--shadow-card)

Icon container: w-11 h-11 rounded-xl bg-primary/10
                flex items-center justify-center shrink-0
Icon: w-5 h-5 text-primary

Badge / Eyebrow Pill

inline-flex items-center gap-2
px-4 py-1.5 rounded-full
border border-primary/40 bg-primary/10
text-primary text-sm font-medium

Section Header Block (centered)

text-center mb-14

Eyebrow:   text-primary text-sm font-semibold
           uppercase tracking-widest mb-3
H2:        text-3xl md:text-4xl font-bold
           text-foreground mb-4
Lead:      text-muted-foreground text-lg
           max-w-2xl mx-auto

Numbered Step Card

flex flex-col sm:flex-row gap-6
rounded-2xl border border-border bg-card
p-6 md:p-8
hover:border-primary/40 transition-colors duration-300
boxShadow: var(--shadow-card)

Step number: text-4xl font-bold text-primary/20
Title row:   flex items-center gap-2
             CheckCircle w-4 h-4 text-primary + h3

Buttons (shadcn — size="lg")

Primary (default):  bg-primary text-primary-foreground
                    rounded-full px-8 py-3 font-medium
                    hover: opacity-90

Outline variant:    border-border text-foreground
                    rounded-full px-8 py-3
                    hover: bg-muted

Image with Bottom-Text Overlay

Wrapper: rounded-2xl overflow-hidden aspect-[4/3]
Image:   w-full h-full object-cover
Overlay: absolute inset-0
         bg-gradient-to-t from-black/60 via-black/20
         to-transparent
Caption: absolute bottom-6 left-6 right-6
         text-white text-sm font-medium

Section Container

<section> py-20 md:py-28

Inner container:
  container max-w-6xl mx-auto px-6   (standard)
  container max-w-5xl mx-auto px-6   (narrower — steps)
  container max-w-3xl mx-auto px-6   (centred CTA / hero)

Grid gap:  gap-6 (feature grid)  |  gap-8 (2-col)
           gap-5 (community pillars)  |  gap-10 (image+pillars)

10 · Layout & Spacing System

The layout uses Tailwind's default 4px-base spacing scale. Key values used consistently across sections are listed below.

Section Vertical Padding

Standard

py-20 md:py-28 → 5rem / 7rem

Container Max-Widths

Hero / CTA (centred)

max-w-3xl → 48rem

Steps / content

max-w-5xl → 64rem

Feature grids

max-w-6xl → 72rem

Horizontal padding

px-6 → 1.5rem (all containers)

Grid Configurations

Feature grid

grid-cols-1 / md:grid-cols-2 / lg:grid-cols-3 — gap-6

Community (image + pillars)

grid-cols-1 / lg:grid-cols-2 — gap-10

Pillar cards

grid-cols-1 / sm:grid-cols-2 — gap-5

Step cards

flex flex-col gap-6

Common Spacing Values

Section header bottom margin

mb-14 → 3.5rem

Card internal gap

gap-4 (features) / gap-3 (pillars)

Button group gap

gap-4

Badge bottom margin

mb-6

H1/H2 bottom margin

mb-6 (hero h1) / mb-4 (section h2)

Lead paragraph bottom margin

mb-8 (hero) / mb-10 (CTA)

Z-Index Layering

Section content

relative z-10

Background overlays

absolute inset-0 pointer-events-none (no z-index — stacked in DOM order)

Background image (faded)

absolute inset-0 opacity-10 pointer-events-none

Overflow & Scroll

Gradient sections

overflow-hidden (clips glow bleed)

html

scroll-behavior: smooth

body

overflow-wrap: break-word

Global

html, body max-width: 100%

Flex/Grid children

:where(.flex,.grid) > * { min-width: 0 } — prevents overflow blowout

Quick-Reference: CSS Custom Property Manifest

Copy-paste this block into the target platform's root CSS file, then map each variable to the corresponding framework tokens (Tailwind, CSS Modules, styled-components, etc.). Values shown are the authoritative dark theme defaults.

:root {
  /* ── Semantic color tokens ── */
  --background:           hsl(224 28% 6%);
  --foreground:           hsl(210 20% 94%);
  --card:                 hsl(224 25% 9%);
  --card-foreground:      hsl(210 20% 94%);
  --popover:              hsl(224 25% 9%);
  --popover-foreground:   hsl(210 20% 94%);
  --primary:              hsl(165 100% 50%);   /* Cyan brand accent */
  --primary-foreground:   hsl(224 28% 6%);
  --secondary:            hsl(262 100% 50%);   /* Purple accent */
  --secondary-foreground: hsl(0 0% 100%);
  --muted:                hsl(224 20% 14%);
  --muted-foreground:     hsl(220 15% 60%);
  --accent:               hsl(165 100% 50%);
  --accent-foreground:    hsl(224 28% 6%);
  --destructive:          hsl(0 62% 50%);
  --destructive-foreground: hsl(0 0% 100%);
  --border:               hsl(224 20% 16%);
  --input:                hsl(224 20% 14%);
  --ring:                 hsl(165 100% 50%);
  --radius:               9999px;             /* Pill-shaped global radius */

  /* ── Gradient tokens ── */
  --gradient-hero: linear-gradient(
    135deg,
    hsl(224 35% 5%) 0%,
    hsl(250 30% 10%) 50%,
    hsl(262 40% 8%) 100%
  );
  --gradient-section: linear-gradient(
    180deg,
    hsl(224 28% 6%) 0%,
    hsl(250 25% 8%) 50%,
    hsl(224 28% 6%) 100%
  );
  --gradient-card: linear-gradient(
    180deg,
    hsl(224 25% 10%) 0%,
    hsl(224 25% 7%) 100%
  );
  --gradient-glow-cyan: radial-gradient(
    ellipse 80% 60% at 50% 50%,
    hsl(165 100% 50% / 0.12) 0%,
    transparent 70%
  );
  --gradient-glow-purple: radial-gradient(
    ellipse 80% 60% at 50% 50%,
    hsl(262 100% 50% / 0.12) 0%,
    transparent 70%
  );
  --gradient-video-overlay: linear-gradient(
    180deg,
    hsl(224 35% 5% / 0.75) 0%,
    hsl(224 35% 5% / 0.55) 50%,
    hsl(224 35% 5% / 0.15) 100%
  );

  /* ── Shadow tokens ── */
  --shadow-soft:         0 4px 24px -4px hsl(0 0% 0% / 0.4);
  --shadow-card:         0 8px 32px -8px hsl(0 0% 0% / 0.5);
  --shadow-glow-cyan:    0 0 40px hsl(165 100% 50% / 0.25);
  --shadow-glow-purple:  0 0 40px hsl(262 100% 50% / 0.2);
  --shadow-deep:         0 16px 64px hsl(0 0% 0% / 0.6);
}

/* ── Typography ── */
body {
  font-family: 'Inter', system-ui, sans-serif;
  background: var(--background);
  color: var(--foreground);
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Space Grotesk', system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* ── Utility classes ── */
.glass-card {
  background: hsl(224 25% 9% / 0.7);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid hsl(224 20% 20% / 0.6);
}
.glass-card-cyan {
  background: hsl(165 100% 50% / 0.05);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid hsl(165 100% 50% / 0.15);
}
.border-glow-cyan {
  border-color: hsl(165 100% 50% / 0.6);
  box-shadow: 0 0 12px hsl(165 100% 50% / 0.2),
              inset 0 0 8px hsl(165 100% 50% / 0.05);
}
.border-glow-purple {
  border-color: hsl(262 100% 50% / 0.5);
  box-shadow: 0 0 12px hsl(262 100% 50% / 0.2),
              inset 0 0 8px hsl(262 100% 50% / 0.05);
}
.text-gradient-cyan {
  background: linear-gradient(135deg, hsl(165 100% 50%) 0%, hsl(180 100% 55%) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.text-gradient-purple {
  background: linear-gradient(135deg, hsl(262 100% 70%) 0%, hsl(280 100% 65%) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.text-gradient-brand {
  background: linear-gradient(135deg, hsl(165 100% 50%) 0%, hsl(262 100% 65%) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}