/* Critical above-fold CSS — blocking stylesheet loaded before any JS.
   Covers Tailwind classes used by the homepage navbar, hero, badge, and
   trust row so those elements are styled from first paint on cold cache.
   Tailwind's full sheet (via @tailwindcss/vite) takes over once JS loads;
   specificity is kept low so Tailwind always wins. Budget: <5 KB. */

/* Layout */
.flex{display:flex}.inline-flex{display:inline-flex}
.flex-col{flex-direction:column}
.items-center{align-items:center}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.flex-wrap{flex-wrap:wrap}
.shrink-0{flex-shrink:0}
.gap-1\.5{gap:0.375rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}

/* Position */
.relative{position:relative}.fixed{position:fixed}
.top-0{top:0}.left-0{left:0}.right-0{right:0}
.z-10{z-index:10}.z-50{z-index:50}
.overflow-x-hidden{overflow-x:hidden}

/* Sizing */
.min-h-screen{min-height:100vh}
.w-4{width:1rem}.h-4{height:1rem}
.h-12{height:3rem}.h-16{height:4rem}
.w-auto{width:auto}.w-full{width:100%}
.max-w-2xl{max-width:42rem}
.max-w-5xl{max-width:64rem}
.max-w-7xl{max-width:80rem}

/* Spacing */
.mx-auto{margin-left:auto;margin-right:auto}
.mt-8{margin-top:2rem}.mb-6{margin-bottom:1.5rem}
.mb-10{margin-bottom:2.5rem}.ml-1{margin-left:0.25rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-8{padding-left:2rem;padding-right:2rem}
.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}
.pt-20{padding-top:5rem}.pb-32{padding-bottom:8rem}

/* Typography */
.text-center{text-align:center}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-5xl{font-size:3rem;line-height:1}
.font-medium{font-weight:500}.font-semibold{font-weight:600}
.font-bold{font-weight:700}.font-extrabold{font-weight:800}
.tracking-tight{letter-spacing:-0.025em}
.tracking-widest{letter-spacing:0.1em}
.leading-none{line-height:1}.leading-relaxed{line-height:1.625}
.uppercase{text-transform:uppercase}
.object-contain{object-fit:contain}

/* Colours */
.bg-background{background-color:#09090b}
.text-foreground{color:#fafafa}
.text-muted-foreground{color:#a1a1aa}
.text-primary{color:#a855f7}
.text-primary-foreground{color:#fff}
.bg-primary{background-color:#a855f7}
.bg-transparent{background-color:transparent}
.bg-primary\/10{background-color:rgba(168,85,247,0.1)}
.border-primary\/30{border-color:rgba(168,85,247,0.3)}

/* Border */
.border{border-width:1px;border-style:solid}
.border-border{border-color:rgba(255,255,255,0.1)}
.rounded-full{border-radius:9999px}
.rounded-lg{border-radius:0.5rem}
.rounded-md{border-radius:0.375rem}

/* CTA shadow */
.shadow-xl.shadow-primary\/30{
  box-shadow:0 20px 25px -5px rgba(168,85,247,0.3),0 8px 10px -6px rgba(168,85,247,0.3);
}

/* Responsive — sm:640px */
@media(min-width:640px){
  .sm\:flex-row{flex-direction:row}
  .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
  .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}
  .sm\:text-7xl{font-size:4.5rem;line-height:1}
  .sm\:inline-flex{display:inline-flex}
}
@media(min-width:1024px){
  .lg\:px-8{padding-left:2rem;padding-right:2rem}
  .md\:text-8xl{font-size:6rem;line-height:1}
}
