:root{--color-primary:#4299e1;--color-primary-dark:#2c5282;--color-secondary-bg:#e2e8f0;--color-secondary-hover:#cbd5e0;--color-text-main:#333333;--color-bg-main:#ffffff;--color-border:#e2e8f0;--shadow-sm:0 2px 4px rgba(0, 0, 0, 0.1);--focus-ring:0 0 0 3px rgba(66, 153, 225, 0.2);--font-main:'Roboto', sans-serif;--container-max-width:1200px;--transition-speed:0.3s}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);line-height:1.6;color:var(--color-text-main);background-color:var(--color-bg-main);-webkit-font-smoothing:antialiased}a{color:var(--color-primary-dark);text-decoration:none;transition:color var(--transition-speed) ease,text-decoration var(--transition-speed) ease}a:hover,a:focus{text-decoration:underline;color:var(--color-primary)}h1,h2,h3,h4,h5,h6{font-weight:700;margin-bottom:15px;color:var(--color-primary-dark);line-height:1.2}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 15px}.btn{display:inline-block;padding:10px 20px;border-radius:5px;font-weight:600;text-align:center;cursor:pointer;transition:all var(--transition-speed) ease;border:none;box-shadow:var(--shadow-sm);font-family:inherit}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover,.btn-primary:focus{background-color:var(--color-primary-dark);text-decoration:none}.btn-secondary{background-color:var(--color-secondary-bg);color:var(--color-primary-dark)}.btn-secondary:hover,.btn-secondary:focus{background-color:var(--color-secondary-hover);text-decoration:none}input,select,textarea{width:100%;padding:10px;margin-bottom:15px;border:1px solid var(--color-border);border-radius:5px;font-family:var(--font-main);background-color:var(--color-bg-main);transition:border-color var(--transition-speed) ease,box-shadow var(--transition-speed) ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}@media (max-width:768px){.container{padding:0 10px}h1{font-size:28px}h2{font-size:24px}}@media (max-width:480px){.btn{display:block;width:100%}}