:root[data-theme="light"] {
  --bg: #ffffff;
  --bg-alt: #f6f8fa;
  --surface: #ffffff;
  --surface-2: #f6f8fa;
  --text: #0e1420;
  --muted: #5b6472;
  --border: #e4e8ee;
  --accent: #0a3681;
  --accent-hover: #0d439e;
  --accent-soft: #e9eef8;
  --accent-text: #ffffff;
  --accent2: #f17e22;
  --accent2-hover: #d96a13;
  --accent2-soft: #fdf0e2;
  --accent2-text: #ffffff;
  --shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .06);
  --shadow-lg: 0 4px 12px rgba(16, 24, 40, .06), 0 20px 48px rgba(10, 54, 129, .12);
  --glow: 0 8px 24px rgba(241, 126, 34, .35);
  --bus-tint: none;
}

:root[data-theme="dark"] {
  --bg: #0a0f18;
  --bg-alt: #0d1420;
  --surface: #111926;
  --surface-2: #151e2c;
  --text: #eef2f7;
  --muted: #8b96a6;
  --border: #212b3a;
  --accent: #5691e8;
  --accent-hover: #78a7ee;
  --accent-soft: #132542;
  --accent-text: #04141f;
  --accent2: #ff9a4d;
  --accent2-hover: #ffb374;
  --accent2-soft: #3a2410;
  --accent2-text: #1a0f04;
  --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .35);
  --shadow-lg: 0 4px 16px rgba(0, 0, 0, .4), 0 24px 56px rgba(0, 0, 0, .5);
  --glow: 0 8px 28px rgba(255, 154, 77, .3);
  --bus-tint: invert(1);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background: var(--bg);
  color: var(--text);
  transition: background .25s ease, color .25s ease;
}

::selection {
  background: var(--accent-soft);
}

a {
  color: var(--accent2);
}

a:hover {
  color: var(--accent2-hover);
}

.font-display {
  font-family: 'Manrope', sans-serif;
}

@keyframes wk-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@keyframes wk-marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.wk-float {
  animation: wk-float 6s ease-in-out infinite;
}

.wk-marquee {
  animation: wk-marquee 22s linear infinite;
}

.wk-feature-card {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.wk-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--accent2);
}

.wk-nav-link {
  position: relative;
}

.wk-nav-link:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  background: var(--accent2);
  transform: scaleX(0);
  transition: transform .2s ease;
}

.wk-nav-link:hover:after {
  transform: scaleX(1);
}

.wk-cta-primary {
  transition: transform .15s ease, box-shadow .15s ease;
}

.wk-cta-primary:hover {
  transform: translateY(-2px);
  box-shadow: var(--glow);
}

.wk-icon-toggle:hover {
  background: var(--surface-2);
}

.wk-step-num {
  -webkit-text-stroke: 1.5px var(--accent);
}

.wk-theme-icon {
  display: none;
}

[data-theme="dark"] .wk-theme-icon-dark {
  display: block;
}

[data-theme="light"] .wk-theme-icon-light {
  display: block;
}

@media (max-width: 900px) {
  .wk-hero-grid { grid-template-columns: 1fr !important; }
  .wk-app-grid { grid-template-columns: 1fr !important; }
  .wk-app-mock-wrap { order: -1; }
  .wk-features-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .wk-steps-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .wk-stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .wk-pricing-grid { grid-template-columns: 1fr !important; }
  .wk-photoband-grid { grid-template-columns: 1fr !important; }
  .wk-footer-grid { grid-template-columns: 1fr 1fr 1fr !important; }
  .wk-nav-desktop { display: none !important; }
  .wk-cta-desktop { display: none !important; }
}

@media (max-width: 560px) {
  .wk-features-grid { grid-template-columns: 1fr !important; }
  .wk-footer-grid { grid-template-columns: 1fr !important; }
}
