:root{--primary-50:#e3f2fd;--primary-100:#bbdefb;--primary-200:#90caf9;--primary-300:#64b5f6;--primary-400:#42a5f5;--primary-500:#2196f3;--primary-600:#1e88e5;--primary-700:#1976d2;--primary-800:#1565c0;--primary-900:#0d47a1;--secondary-50:#fff3e0;--secondary-100:#ffe0b2;--secondary-200:#ffcc80;--secondary-300:#ffb74d;--secondary-400:#ffa726;--secondary-500:#ff9800;--secondary-600:#fb8c00;--secondary-700:#f57c00;--secondary-800:#ef6c00;--secondary-900:#e65100;--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#eeeeee;--neutral-300:#e0e0e0;--neutral-400:#bdbdbd;--neutral-500:#9e9e9e;--neutral-600:#757575;--neutral-700:#616161;--neutral-800:#424242;--neutral-900:#212121;--success:#4caf50;--warning:#ff9800;--error:#f44336;--info:#2196f3;--font-family-base:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-family-heading:"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--spacing-4xl:6rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,0.25);--transition-fast:150ms ease-in-out;--transition-base:250ms ease-in-out;--transition-slow:350ms ease-in-out;--max-width-sm:640px;--max-width-md:768px;--max-width-lg:1024px;--max-width-xl:1280px;--max-width-2xl:1536px;--header-height:80px;--footer-height:auto}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);background-color:var(--neutral-50);overflow-x:hidden}body,h1,h2,h3,h4,h5,h6{color:var(--neutral-900)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md);line-height:var(--line-height-relaxed)}a{color:var(--primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-700)}a:focus{outline:2px solid var(--primary-500);outline-offset:2px}ol,ul{margin-bottom:var(--spacing-md);padding-left:var(--spacing-lg)}li{margin-bottom:var(--spacing-sm)}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}button:focus{outline:2px solid var(--primary-500);outline-offset:2px}input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary-500);outline-offset:2px}.container{max-width:var(--max-width-xl);margin:0 auto}.container,.container-full{width:100%;padding:0 var(--spacing-md)}.text-center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (max-width:768px){:root{--font-size-4xl:2rem;--font-size-3xl:1.5rem;--font-size-2xl:1.25rem}}@media (min-width:1024px){.container{padding:0 var(--spacing-lg)}}