/* Shared visual theme for the home, contact and privacy pages. */
:root {
  --color-text: #172238;
  --color-text-muted: #606c80;
  --color-border: #e3e7ee;
  --color-surface: #f6f7fa;
  --max-width: 1200px;
  --header-height: 80px;
}

body { letter-spacing: -.015em; word-break: keep-all; overflow-wrap: anywhere; }
.container { padding-inline: 40px; }
.section { padding-block: 112px; }
section[id] { scroll-margin-top: 96px; }
.site-header { background: rgba(255,255,255,.96); }
.site-logo img { height: 35px; }
.site-nav { gap: 18px; }
.site-nav a { color: #414b5e; font-size: .84rem; font-weight: 600; }
.site-nav a:last-child { border: 1px solid var(--color-border); border-radius: 8px; padding: 9px 20px; }
.nav-toggle svg[hidden] { display: none; }
.btn { min-height: 48px; border-width: 1px; border-radius: 8px; font-size: .86rem; gap: 10px; }
.btn--primary:hover { box-shadow: 0 6px 18px rgba(79,70,229,.18); }
.section-label { padding: 0; background: none; border-radius: 0; letter-spacing: .16em; font-size: .7rem; margin-bottom: 18px; }
.section-title { font-size: clamp(1.9rem, 3.3vw, 2.75rem); font-weight: 750; letter-spacing: -.045em; margin-bottom: 22px; }
.section-desc { font-size: .96rem; line-height: 1.95; }

.site-footer { background: #fff; border-top: 1px solid var(--color-border); padding-block: 34px; }
.site-footer__brand { color: #273650; }
.site-footer__copy { color: #70798a; font-size: .75rem; }
.site-footer__links a { color: #606c80; font-size: .76rem; }
.site-footer__links a:hover { color: #4f46e5; background: #f4f5fb; }

@media (max-width: 640px) {
  :root { --header-height: 68px; }
  .container { padding-inline: 24px; }
  .site-logo img { height: 32px; }
  .site-nav { gap: 4px; }
  .site-nav a:last-child { border: 0; padding: 12px 14px; }
  .section { padding-block: 72px; }
  .site-footer .container { align-items: flex-start; text-align: left; }
  .site-footer__links { justify-content: flex-start; gap: 16px; }
  .site-footer__links a { padding: 5px 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
