/* ================================================================
   Системный бизнес за 2.5 месяца — Impact / FBT
   Landing styles
   ================================================================ */

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  width: 100%;
  background: #F5F5F7;
  color: #1D1D1F;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
}

a { -webkit-tap-highlight-color: transparent; }

/* Accessibility: visible focus for keyboard users */
a:focus-visible,
button:focus-visible {
  outline: 2px solid #0071E3;
  outline-offset: 3px;
  border-radius: 6px;
}

/* Keyframes */
@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes floatY { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

.reveal { opacity: 0; }
.reveal.in { animation: fadeUp 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards; }

/* Hover states (ported from prototype inline handlers) */
.nav-cta:hover { background: rgba(255,255,255,0.92) !important; color: #0E1E1A !important; }
.hero-cta:hover, .pill-cta:hover { transform: scale(1.04); }
.round-btn { transition: all 0.3s ease; }
.round-btn:hover { background: #1D1D1F !important; color: #fff !important; transform: scale(1.06); }
.social-link:hover { background: #1D1D1F !important; color: #fff !important; transform: translateY(-2px); }
.mentor-card { transition: all 0.3s ease; }
.mentor-card:hover { transform: translateY(-3px); box-shadow: 0 18px 44px -18px rgba(0,0,0,0.2); }

.problem-card { transition: all 0.45s cubic-bezier(0.22, 1, 0.36, 1); }
.problem-card:hover { transform: translateY(-5px); box-shadow: 0 24px 56px -22px rgba(0,0,0,0.2) !important; }
.problem-card:hover .ghost-num { color: rgba(255,69,58,0.1) !important; transform: scale(1.08) rotate(-3deg); }

.skill-row { transition: padding 0.3s ease; }
.skill-row:hover { padding-left: 8px; }

/* ---------------- Форма заявки ---------------- */
.field-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #1D1D1F;
  margin-bottom: 8px;
  letter-spacing: 0.2px;
}
.field-input {
  width: 100%;
  font-family: inherit;
  font-size: 16px;
  color: #1D1D1F;
  background: #FFFFFF;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 14px;
  padding: 15px 18px;
  margin-bottom: 20px;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.field-input::placeholder { color: #B0B0B5; }
.field-input:focus {
  outline: none;
  border-color: #0071E3;
  box-shadow: 0 0 0 4px rgba(0,113,227,0.12);
}

.phone-wrap { position: relative; }
.phone-prefix {
  position: absolute;
  left: 18px;
  top: 15px;
  font-size: 16px;
  font-weight: 600;
  color: #6E6E73;
  pointer-events: none;
}
.phone-input { padding-left: 66px; }

.submit-btn {
  width: 100%;
  font-family: inherit;
  font-size: 17px;
  font-weight: 600;
  color: #FFFFFF;
  background: #1D1D1F;
  border: none;
  border-radius: 100px;
  padding: 18px 32px;
  margin-top: 4px;
  cursor: pointer;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), background 0.25s ease, opacity 0.25s ease;
}
.submit-btn:hover:not(:disabled) { transform: scale(1.02); background: #000; }
.submit-btn:disabled { opacity: 0.6; cursor: default; }

/* Responsive */
@media (max-width: 980px) {
  .format-grid { grid-template-columns: 1fr !important; }
  .nav-sub { display: none !important; }
}
@media (max-width: 860px) {
  .benefit-row { grid-template-columns: 1fr !important; }
}
@media (max-width: 980px) {
  .hero-grid { grid-template-columns: 1fr !important; gap: 48px !important; }
  .speaker-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .module-grid { grid-template-columns: 1fr !important; }
  .mentor-grid { grid-template-columns: 1fr !important; }
  .problem-grid { grid-template-columns: 1fr 1fr !important; }
  .problem-grid > * { grid-column: auto !important; }
  .module-inner { grid-template-columns: 1fr !important; gap: 28px !important; }
  .section-pad { padding: 80px 24px !important; }
  .h1 { font-size: 52px !important; }
  .h2 { font-size: 38px !important; }
}
@media (max-width: 560px) {
  .section-pad { padding: 64px 24px !important; }
  .h1 { font-size: 40px !important; line-height: 1.08 !important; }
  .h2 { font-size: 30px !important; }
  .module-slide-card { padding: 32px 24px !important; min-height: 0 !important; }
  .hero-cta, .pill { width: 100% !important; justify-content: center !important; }
  .benefit-row { grid-template-columns: 1fr !important; }
  .problem-grid { grid-template-columns: 1fr !important; }
  .problem-grid > * { grid-column: auto !important; }
  .social-row { flex-direction: column !important; }
  .social-row a { width: 100% !important; justify-content: center !important; }
}
