/* main.css */
:root {
  --primary-color: #0033a0;
  --secondary-color: #00a9e0;
  --accent-color: #ff6a13;
  --text-dark: #1a1a1a;
  --text-gray: #4a4a4a;
  --text-light: #ffffff;
  --bg-light: #f4f7fb;
  --bg-white: #ffffff;
  --border-color: #e0e5eb;
  --success-color: #28a745;
  --font-main: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --transition-speed: 0.3s;
  --header-height: 80px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: var(--font-main); color: var(--text-dark); background-color: var(--bg-white); line-height: 1.6; font-size: 16px; overflow-x: hidden; }
a { color: var(--primary-color); text-decoration: none; transition: color var(--transition-speed); }
a:hover { color: var(--secondary-color); }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; }

.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.section { padding: 80px 0; }
.section-light { background-color: var(--bg-light); }
.text-center { text-align: center; }

h1, h2, h3, h4, h5, h6 { font-weight: 700; line-height: 1.3; margin-bottom: 20px; color: var(--primary-color); }
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; }
p { margin-bottom: 20px; color: var(--text-gray); }

.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }

.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: var(--accent-color);
  color: white;
  padding: 8px;
  z-index: 10000;
  transition: top 0.2s;
}
.skip-link:focus {
  top: 0;
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
main:focus {
  outline: none;
}
