:root{--primary: #667eea;--primary-dark: #5a67d8;--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--white: #ffffff;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--container-max: 1200px;--section-padding: 5rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius: .5rem;--radius-lg: .75rem;--radius-xl: 1rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-family);font-size:16px;line-height:1.6;color:var(--gray-800);background:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;color:var(--gray-900)}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{margin-bottom:1rem}a{color:var(--primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-dark)}.container{max-width:var(--container-max);margin:0 auto;padding:0 1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;border-radius:var(--radius);border:none;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary-gradient);color:var(--white)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--white);color:var(--gray-700);border:1px solid var(--gray-300)}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-outline:hover:not(:disabled){background:var(--primary);color:var(--white)}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.btn-full{width:100%}.form-group{margin-bottom:1.25rem}.form-label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--gray-700)}.form-input,.form-select{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid var(--gray-300);border-radius:var(--radius);transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea26}.form-input::placeholder,.form-select::placeholder{color:var(--gray-400)}.form-input.error,.error.form-select{border-color:var(--error)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.form-error{margin-top:.25rem;font-size:.875rem;color:var(--error)}.form-hint{margin-top:.25rem;font-size:.875rem;color:var(--gray-500)}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.5rem}.section{padding:var(--section-padding) 0}.section-header{text-align:center;margin-bottom:3rem}.section-header h2{margin-bottom:1rem}.section-header p{font-size:1.125rem;color:var(--gray-600);max-width:600px;margin:0 auto}.text-center{text-align:center}.text-primary{color:var(--primary)}.text-gray{color:var(--gray-600)}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.hidden{display:none!important}@media (max-width: 768px){:root{--section-padding: 3rem}h1{font-size:2.25rem}h2{font-size:1.75rem}.container{padding:0 1rem}}
