.landing-body { min-height: 100vh; display: flex; flex-direction: column; font-family: Inter, system-ui, sans-serif; background: var(--bg-radial), var(--bg); color: var(--text); }
.landing-shell { max-width: var(--site-max-width); margin: 0 auto; padding: 0 var(--site-gutter); width: 100%; box-sizing: border-box; }
.landing-main { flex: 1; }
.landing-hero { padding: 72px 0 28px; }
.landing-hero h1 { font-size: clamp(2.25rem, 6vw, 4.25rem); line-height: 1.02; letter-spacing: -0.06em; margin: 0 0 18px; max-width: 820px; }
.landing-lead { font-size: 1.08rem; line-height: 1.7; max-width: 700px; margin: 0 0 30px; }
.landing-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.landing-cta { display: inline-flex; align-items: center; justify-content: center; padding: 14px 20px; border-radius: 14px; background: #0b5cad; color: #fff; font-weight: 800; text-decoration: none; box-shadow: 0 12px 24px rgba(11, 92, 173, 0.2); }
.landing-cta.secondary { background: var(--surface-offset); color: var(--text); box-shadow: none; }
.landing-cta:hover { filter: brightness(1.05); }
.landing-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 16px 0 64px; }
.landing-feature { min-height: 156px; }
.landing-feature h2 { font-size: 1.12rem; margin-bottom: 10px; }
.landing-feature p { margin: 0; }
.landing-footer { border-top: 1px solid #e4eaf2; padding: 20px 0 28px; background: rgba(255, 255, 255, 0.9); }
.landing-footer-inner { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.landing-footer a { color: inherit; }
.login-page { min-height: 0; flex: 1; display: flex; align-items: center; justify-content: center; padding: 32px 20px; }
.login-wrap { width: 100%; max-width: 520px; text-align: center; }
.login-wrap h1 { margin: 0 0 10px; font-size: clamp(1.8rem, 5vw, 2.35rem); }
.login-back { display: inline-block; margin-bottom: 12px; text-decoration: none; }
.login-back:hover { text-decoration: underline; }

@media (max-width: 840px) {
  .landing-hero { padding-top: 48px; }
  .landing-features { grid-template-columns: 1fr; padding-bottom: 44px; }
}

@media (max-width: 560px) {
  .landing-actions, .landing-cta { width: 100%; }
}
