/* Landing page CSS - hand-crafted Tailwind utility subset.
   Only includes classes used in landing-page.html.
   To update: add/modify utility classes here when the HTML template changes.
   Tailwind CLI is not used because of npm override conflicts in this project. */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
body{margin:0;line-height:inherit}
h1,h2,h3,h4,p{margin:0}
ul{list-style:none;margin:0;padding:0}
a{color:inherit;text-decoration:inherit}
button{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0;background-color:transparent;background-image:none;cursor:pointer;border:0}
img,svg{display:block;max-width:100%;height:auto}
:root{
  --brand-background:#0A1628;
  --brand-surface:#132240;
  --brand-surfaceLight:#1A2D50;
  --brand-surfaceHighlight:#223A60;
  --brand-primary:#00B4D8;
  --brand-primaryDark:#0096B7;
  --brand-accent:#FF6B6B;
  --brand-text:#F0F4F8;
  --brand-textSecondary:#8BA4C4;
  --brand-textMuted:#5A7399;
  --brand-border:#1E3355;
}
.scroll-smooth{scroll-behavior:smooth}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.font-sans{font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.min-h-screen{min-height:100vh}
.flex{display:flex}
.flex-col{flex-direction:column}
.inline-flex{display:inline-flex}
.grid{display:grid}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.gap-2{gap:0.5rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-12{gap:3rem}
.space-y-4>*+*{margin-top:1rem}
.w-full{width:100%}
.w-2{width:0.5rem}
.w-3{width:0.75rem}
.w-5{width:1.25rem}
.w-6{width:1.5rem}
.w-7{width:1.75rem}
.w-10{width:2.5rem}
.w-14{width:3.5rem}
.w-3\/4{width:75%}
.w-5\/6{width:83.333333%}
.h-2{height:0.5rem}
.h-3{height:0.75rem}
.h-4{height:1rem}
.h-5{height:1.25rem}
.h-6{height:1.5rem}
.h-7{height:1.75rem}
.h-8{height:2rem}
.h-10{height:2.5rem}
.h-14{height:3.5rem}
.max-w-xl{max-width:36rem}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-6xl{max-width:72rem}
.mx-auto{margin-left:auto;margin-right:auto}
.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-10{margin-bottom:2.5rem}
.mb-16{margin-bottom:4rem}
.mt-1{margin-top:0.25rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mt-auto{margin-top:auto}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.p-4{padding:1rem}
.p-8{padding:2rem}
.pb-4{padding-bottom:1rem}
.pt-4{padding-top:1rem}
.text-center{text-align:center}
.text-xs{font-size:0.75rem;line-height:1rem}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.leading-tight{line-height:1.25}
.leading-relaxed{line-height:1.625}
.tracking-tight{letter-spacing:-0.025em}
.text-white{color:#fff}
.text-white\/50{color:rgba(255,255,255,0.5)}
.text-brand-text{color:var(--brand-text)}
.text-brand-text\/50{color:rgba(240,244,248,0.5)}
.text-brand-textSecondary{color:var(--brand-textSecondary)}
.text-brand-textMuted{color:var(--brand-textMuted)}
.text-brand-primary{color:var(--brand-primary)}
.text-brand-accent{color:var(--brand-accent)}
.text-\[\#00B4D8\]{color:#00B4D8}
.text-\[\#4ADE80\]{color:#4ADE80}
.text-\[\#A78BFA\]{color:#A78BFA}
.text-\[\#FBBF24\]{color:#FBBF24}
.bg-brand-background{background-color:var(--brand-background)}
.bg-brand-surface{background-color:var(--brand-surface)}
.bg-brand-surface\/50{background-color:rgba(19,34,64,0.5)}
.bg-brand-surface\/80{background-color:rgba(19,34,64,0.8)}
.bg-brand-surfaceLight{background-color:var(--brand-surfaceLight)}
.bg-brand-primary\/10{background-color:rgba(0,180,216,0.1)}
.bg-brand-primary\/20{background-color:rgba(0,180,216,0.2)}
.bg-brand-primary\/50{background-color:rgba(0,180,216,0.5)}
.bg-brand-accent{background-color:var(--brand-accent)}
.bg-brand-accent\/10{background-color:rgba(255,107,107,0.1)}
.bg-\[\#4ADE80\]{background-color:#4ADE80}
.bg-\[\#A78BFA\]\/10{background-color:rgba(167,139,250,0.1)}
.bg-\[\#FBBF24\]{background-color:#FBBF24}
.border{border-width:1px}
.border-b{border-bottom-width:1px}
.border-t{border-top-width:1px}
.border-y{border-top-width:1px;border-bottom-width:1px}
.border-brand-border{border-color:var(--brand-border)}
.border-brand-border\/50{border-color:rgba(30,51,85,0.5)}
.rounded{border-radius:0.25rem}
.rounded-md{border-radius:0.375rem}
.rounded-xl{border-radius:0.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-full{border-radius:9999px}
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,0.05)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,0.25)}
.opacity-80{opacity:0.8}
.overflow-hidden{overflow:hidden}
.relative{position:relative}
.sticky{position:sticky}
.top-0{top:0}
.z-50{z-index:50}
.cursor-not-allowed{cursor:not-allowed}
.object-cover{object-fit:cover}
.backdrop-blur-md{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.hover\:text-white:hover{color:#fff}
.hover\:text-brand-primary:hover{color:var(--brand-primary)}
.hover\:bg-brand-surfaceLight:hover{background-color:var(--brand-surfaceLight)}
.group:hover .group-hover\:scale-110{transform:scale(1.1)}
@keyframes pulse{50%{opacity:.5}}
.animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite}
@media(min-width:640px){
  .sm\:flex-row{flex-direction:row}
}
@media(min-width:768px){
  .md\:flex-row{flex-direction:row}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:py-32{padding-top:8rem;padding-bottom:8rem}
  .md\:text-xl{font-size:1.25rem;line-height:1.75rem}
  .md\:text-6xl{font-size:3.75rem;line-height:1}
  .md\:w-1\/2{width:50%}
}
