.ec-landing-body { background: #fff; color: #0f172a; }
.landing-nav { position: fixed; inset: 0 0 auto 0; z-index: 50; background: rgba(255,255,255,.8); backdrop-filter: blur(16px); border-bottom: 1px solid #f1f5f9; }
.landing-nav-inner { max-width: 1152px; height: 80px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.brand-link { display: flex; align-items: center; gap: 10px; min-width: 0; }
.brand-icon { width: 40px; height: 40px; border-radius: 14px; display: grid; place-items: center; font-size: 23px; }
.brand-text { font-weight: 800; font-size: 20px; letter-spacing: -0.03em; white-space: nowrap; }
.brand-text span { color: #94a3b8; }
.landing-menu { display: flex; gap: 32px; font-size: 14px; font-weight: 600; color: #475569; }
.landing-menu a:hover { color: var(--theme-primary); }
.landing-actions { display: flex; align-items: center; gap: 16px; }
.login-link { color: #475569; font-weight: 700; font-size: 14px; white-space: nowrap; }
.portal-btn { padding: 10px 20px; border-radius: 999px; font-size: 14px; font-weight: 800; transition: .2s; white-space: nowrap; }
.portal-btn:hover, .hero-primary:hover { opacity: .9; transform: translateY(-1px); }
.landing-hero { padding: 128px 24px 80px; text-align: center; }
.hero-inner { max-width: 768px; margin: 0 auto; }
.hero-badge { display: inline-block; padding: 4px 12px; border-radius: 999px; background: #eef2ff; color: #4f46e5; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 24px; }
.landing-hero h1 { margin: 0 0 24px; font-size: clamp(42px, 7vw, 64px); line-height: 1.06; letter-spacing: -.055em; font-weight: 800; }
.landing-hero p { margin: 0 auto 40px; color: #64748b; font-size: 18px; line-height: 1.75; max-width: 720px; }
.hero-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.hero-primary, .hero-secondary { padding: 16px 32px; border-radius: 14px; font-weight: 800; transition: .2s; }
.hero-primary { box-shadow: 0 18px 36px rgba(93,104,209,.22); }
.hero-secondary { background: #f1f5f9; color: #334155; }
.hero-secondary:hover { background: #e2e8f0; transform: translateY(-1px); }
.landing-features { padding: 80px 24px; background: #f8fafc; }
.feature-grid { max-width: 1152px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.feature-card { padding: 32px; background: #fff; border: 1px solid #f1f5f9; border-radius: 28px; box-shadow: 0 12px 30px rgba(15,23,42,.04); }
.feature-icon { width: 48px; height: 48px; border-radius: 18px; display: grid; place-items: center; margin-bottom: 24px; font-size: 24px; }
.feature-card h3 { margin: 0 0 12px; font-size: 20px; }
.feature-card p { color: #64748b; font-size: 14px; line-height: 1.75; margin: 0; }
.landing-footer { padding: 48px 24px; text-align: center; border-top: 1px solid #f1f5f9; }
.landing-footer p { color: #94a3b8; font-weight: 600; font-size: 14px; margin: 0; }
@media (max-width: 860px) { .landing-menu { display: none; } .landing-actions { gap: 10px; } .login-link { display: none; } .feature-grid { grid-template-columns: 1fr; } .landing-nav-inner { padding: 0 18px; } }
@media (max-width: 520px) { .brand-text { font-size: 17px; } .portal-btn { padding: 9px 14px; } .landing-hero { padding-top: 116px; } .hero-actions a { width: 100%; } }
