:root{--primary-black: #0a0a0a;--soft-black: #1a1a1a;--light-gray: #f8f9fa;--medium-gray: #6c757d;--border-color: #e9ecef;--accent-color: #007bff;--success-color: #28a745;--warning-color: #ffc107;--danger-color: #dc3545;--border-radius: 12px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .2);--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--primary-black);background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;overflow-x:hidden;width:100%}app-home{overflow:hidden!important;height:100vh!important;width:100vw!important}h1,h2,h3,h4,h5,h6{font-weight:600;margin:0;letter-spacing:-.02em}h1{font-size:3rem;line-height:1.2}h2{font-size:2.25rem;line-height:1.3}h3{font-size:1.875rem;line-height:1.4}h4{font-size:1.5rem;line-height:1.5}h5{font-size:1.25rem;line-height:1.5}h6{font-size:1.125rem;line-height:1.5}p{margin:0;line-height:1.7}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none;transition:var(--transition);outline:none}a:hover{opacity:.8}a:focus{outline:none}button:focus,.btn:focus,input:focus,select:focus,textarea:focus{outline:none}button:focus-visible,.btn:focus-visible,a:focus-visible{box-shadow:0 0 0 2px #0000001a}button{font-family:inherit;cursor:pointer;border:none;transition:var(--transition)}button:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:1rem;border-radius:8px;border:1px solid var(--border-color);transition:var(--transition)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #007bff1a}.container{max-width:1400px;margin:0 auto;padding:0 1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;text-align:center;white-space:nowrap;vertical-align:middle;border:1px solid transparent;border-radius:var(--border-radius);transition:var(--transition);text-decoration:none}.btn:focus{outline:none;box-shadow:0 0 0 3px #007bff40}.btn:disabled{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:var(--primary-black);border-color:var(--primary-black)}.btn-primary:hover:not(:disabled){background-color:var(--soft-black);border-color:var(--soft-black)}.btn-outline{color:var(--primary-black);background-color:transparent;border-color:var(--primary-black)}.btn-outline:hover:not(:disabled){color:#fff;background-color:var(--primary-black)}.btn-ghost{color:var(--primary-black);background-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--light-gray)}.card{background:#fff;border-radius:var(--border-radius);border:1px solid var(--border-color);overflow:hidden;transition:var(--transition)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-weight-light{font-weight:300}.font-weight-normal{font-weight:400}.font-weight-medium{font-weight:500}.font-weight-semibold{font-weight:600}.font-weight-bold{font-weight:700}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mb-5{margin-bottom:3rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mt-5{margin-top:3rem}@media (max-width: 768px){.container{padding:0 1rem}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}}.mb-5{margin-bottom:40px}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mt-5{margin-top:40px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}*:focus{outline:2px solid #3498db;outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-out}@media (max-width: 1200px){.container{padding:0 15px}}@media (max-width: 768px){body{font-size:13px}.container{padding:0 15px}}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}}
