/* Critical CSS for above-the-fold content */
/* Reset and Base Styles */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{line-height:1.15;-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;line-height:1.5;color:#1f2937;background:#f9fafb}

/* Layout */
.min-h-screen{min-height:100vh}
.container{max-width:1200px;margin:0 auto;padding:0 1rem}
.flex{display:flex}
.items-center{align-items:center}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.space-x-2>*+*{margin-left:0.5rem}
.space-x-3>*+*{margin-left:0.75rem}
.space-y-4>*+*{margin-top:1rem}

/* Colors */
.bg-white{background-color:#fff}
.bg-blue-600{background-color:#2563eb}
.bg-gray-50{background-color:#f9fafb}
.text-white{color:#fff}
.text-gray-600{color:#4b5563}
.text-gray-800{color:#1f2937}
.text-blue-600{color:#2563eb}

/* Typography */
.text-sm{font-size:0.875rem}
.text-base{font-size:1rem}
.text-lg{font-size:1.125rem}
.text-xl{font-size:1.25rem}
.text-2xl{font-size:1.5rem}
.text-3xl{font-size:1.875rem}
.text-4xl{font-size:2.25rem}
.text-5xl{font-size:3rem}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.text-center{text-align:center}

/* Spacing */
.p-2{padding:0.5rem}
.p-4{padding:1rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.mb-2{margin-bottom:0.5rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mt-4{margin-top:1rem}
.mt-8{margin-top:2rem}

/* Header */
.header{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:50}
.header .container{height:4rem;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;text-decoration:none}
.logo img{width:2.5rem;height:2.5rem;margin-right:0.75rem}
.logo-text{font-size:1.5rem;font-weight:700;color:#1f2937}

/* Hero Section */
.hero{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:4rem 0}
.hero h1{font-size:3rem;font-weight:700;margin-bottom:1rem;line-height:1.1}
.hero p{font-size:1.25rem;margin-bottom:2rem;opacity:0.9}

/* Buttons */
.btn{display:inline-flex;align-items:center;padding:0.75rem 1.5rem;border-radius:0.5rem;font-weight:500;text-decoration:none;border:none;cursor:pointer;transition:all 0.15s ease}
.btn-primary{background:#2563eb;color:#fff}
.btn-primary:hover{background:#1d4ed8;transform:translateY(-1px)}
.btn-secondary{background:rgba(255,255,255,0.1);color:#fff;border:1px solid rgba(255,255,255,0.2)}
.btn-secondary:hover{background:rgba(255,255,255,0.2)}

/* Form Elements */
.form-group{margin-bottom:1rem}
.form-input{width:100%;padding:0.75rem;border:1px solid #d1d5db;border-radius:0.5rem;font-size:1rem;background:#fff;color:#1f2937}
.form-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,0.1)}
input,select,textarea{background:#fff!important;color:#1f2937!important}
input::placeholder{color:#6b7280!important}
select option{background:#fff!important;color:#1f2937!important}

/* Responsive */
@media (max-width:768px){
.hero h1{font-size:2rem}
.hero p{font-size:1rem}
.container{padding:0 1rem}
}

/* Loading Animation */
.spinner{border:3px solid #f3f4f6;border-top:3px solid #2563eb;border-radius:50%;width:2rem;height:2rem;animation:spin 1s linear infinite}
@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}

/* Performance Optimizations */
img{max-width:100%;height:auto}
*{will-change:auto}
.animate-spin{animation:spin 1s linear infinite}
