:root{--background:ivory;--foreground:#111827;--primary:navy;--primary-gradient:linear-gradient(135deg, navy 0%, #4169e1 100%);--accent:#e6e6fa;--accent-foreground:indigo;--border:#e5e7eb;--card:#fff;--card-foreground:#111827;--ring:#4169e1;--radius:12px;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:8rem;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.container{width:100%;max-width:1200px;padding:0 var(--spacing-sm);margin:0 auto}.text-center{text-align:center}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-center:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;font-weight:700;line-height:1.2}.hero-title{margin-bottom:var(--spacing-sm);background:var(--primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.5rem,5vw,4rem)}.hero-subtitle{color:var(--foreground);opacity:.8;max-width:800px;margin:0 auto var(--spacing-lg);font-size:clamp(1.25rem,2vw,1.5rem);font-weight:400}.btn-primary{background:var(--primary-gradient);color:#fff;border-radius:9999px;padding:1rem 2rem;font-size:1.125rem;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 14px #4169e163}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4169e180}.input-large{border:2px solid var(--border);background:var(--card);width:100%;max-width:600px;color:var(--foreground);border-radius:9999px;outline:none;padding:1.25rem 1.5rem;font-size:1.125rem;transition:border-color .2s,box-shadow .2s}.input-large:focus{border-color:var(--primary);box-shadow:0 0 0 4px #4169e11a}.card{background:var(--card);border-radius:var(--radius);padding:var(--spacing-md);border:1px solid var(--border);box-shadow:0 10px 30px -10px #0000000d}.badge{background:var(--accent);color:var(--accent-foreground);border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.875rem;font-weight:500;display:inline-flex}
