/* Landing page only. Keep shared console, admin, guide, and model styles untouched. */
.landing-page {
    --landing-ink: #1b2f4a;
    --landing-muted: #64748b;
    --landing-line: #e2e8f0;
    --landing-soft: #f8fafc;
    --landing-accent: #2563eb;
    color: var(--landing-ink);
    background: #fff;
}

body:has(.landing-page) .logo-sub { display: none; }
body:has(.landing-page) .logo-icon,
body:has(.landing-page) .btn-primary {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}
body:has(.landing-page) .nav-links a.active,
body:has(.landing-page) .nav-links a:hover { color: var(--landing-accent); }

.landing-shell { width: min(1120px, calc(100% - 48px)); margin: 0 auto; }
.landing-hero { padding: 48px 0 56px; border-bottom: 1px solid var(--landing-line); background: transparent; }
.landing-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; }
.landing-intro { width: 100%; margin: 0 auto; padding: 52px 0 60px; text-align: center; }
.landing-kicker { margin: 0 0 18px; color: var(--landing-accent); font: 700 11px/1.2 var(--font-mono); letter-spacing: .12em; }
.landing-intro h1 { max-width: 1000px; margin: 0 auto; color: var(--landing-ink); font-size: clamp(56px, 6.5vw, 96px); line-height: 1.04; letter-spacing: .03em; font-weight: 800; }
.landing-lead { max-width: 780px; margin: 26px auto 34px; color: var(--landing-muted); font-size: 18px; line-height: 1.7; }

.landing-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 24px; }
.landing-button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 0 18px; border: 1px solid var(--landing-line); border-radius: 4px; background: #fff; color: var(--landing-ink); font-size: 14px; font-weight: 650; text-decoration: none; }
.landing-button:hover { border-color: var(--landing-ink); color: var(--landing-ink); }
.landing-button-primary { border-color: var(--landing-accent); background: var(--landing-accent); color: #fff; }
.landing-button-primary:hover { border-color: #1d4ed8; background: #1d4ed8; color: #fff; }
.landing-text-link { color: var(--landing-accent); font-size: 14px; font-weight: 650; text-decoration: none; }
.landing-text-link:hover { color: #1d4ed8; }
.landing-hero .landing-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 640px; margin: 24px auto 0; gap: 12px; }
.landing-hero .landing-button { min-height: 46px; background: rgba(219, 234, 254, .78); border-color: rgba(37, 99, 235, .16); }
.landing-hero .landing-button-primary { border-color: var(--landing-accent); background: var(--landing-accent); color: #fff; }

.landing-section { padding: 78px 0; border-bottom: 1px solid var(--landing-line); }
.landing-section-head { display: flex; justify-content: space-between; gap: 32px; align-items: end; margin-bottom: 32px; }
.landing-section-head > div { padding-left: 20px; text-align: left; }
.landing-section-head h2,
.landing-start h2 { margin: 0; color: var(--landing-ink); font-size: clamp(28px, 3vw, 40px); line-height: 1.2; letter-spacing: -.025em; }
.landing-section-head p:not(.landing-kicker) { margin: 10px 0 0; color: var(--landing-muted); }

.model-index { border: 1px solid var(--landing-line); border-radius: 4px; overflow: hidden; }
.model-index-row { display: grid; grid-template-columns: 1.35fr .8fr .65fr 1.2fr; gap: 20px; align-items: center; min-height: 62px; padding: 0 20px; border-bottom: 1px solid var(--landing-line); color: var(--landing-muted); font-size: 14px; text-decoration: none; }
a.model-index-row:hover { background: var(--landing-soft); color: var(--landing-muted); }
.model-index-row strong { color: var(--landing-ink); font-weight: 680; }
.model-index-header { min-height: 42px; color: var(--landing-muted); font: 700 10px/1.2 var(--font-mono); letter-spacing: .08em; }
.model-index-price { color: var(--landing-ink); font-variant-numeric: tabular-nums; }
.model-index-empty { padding: 28px 20px; color: var(--landing-muted); font-size: 14px; }

.landing-capabilities { background: var(--landing-soft); }
.capability-list,
.landing-steps { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--landing-line); border-radius: 4px; overflow: hidden; }
.capability-list article,
.landing-steps article { padding: 26px 28px 24px; border-bottom: 1px solid var(--landing-line); }
.capability-list article + article,
.landing-steps article + article { border-left: 1px solid var(--landing-line); }
.capability-list h3,
.landing-steps h3 { margin: 0 0 10px; color: var(--landing-ink); font-size: 17px; }
.capability-list p,
.landing-steps p { margin: 0; color: var(--landing-muted); font-size: 14px; line-height: 1.7; }
.landing-step-num { display: block; margin-bottom: 14px; color: var(--landing-accent); font: 700 13px/1 var(--font-mono); letter-spacing: .08em; }

.landing-start { padding: 56px 0; background: #e5efff; border-bottom: 1px solid #c7dbf7; }
.landing-start-row { display: flex; justify-content: space-between; gap: 40px; align-items: center; padding: 32px 40px; }
.landing-start-row > div:first-child { padding-left: 20px; text-align: left; }
.landing-start .landing-actions { flex-shrink: 0; margin-top: 0; }

.motion-ready .landing-steps article,
.motion-ready .capability-list article,
.motion-ready .model-index-row,
.motion-ready .landing-start-row { opacity: 0; transform: translateY(22px); transition: opacity .55s ease, transform .55s cubic-bezier(.22, 1, .36, 1); }
.motion-ready .landing-steps article:nth-child(2),
.motion-ready .capability-list article:nth-child(2) { transition-delay: 80ms; }
.motion-ready .landing-steps article:nth-child(3),
.motion-ready .capability-list article:nth-child(3) { transition-delay: 160ms; }
.motion-ready .model-index-row:nth-child(2) { transition-delay: 40ms; }
.motion-ready .model-index-row:nth-child(3) { transition-delay: 80ms; }
.motion-ready .model-index-row:nth-child(4) { transition-delay: 120ms; }
.motion-ready .model-index-row:nth-child(5) { transition-delay: 160ms; }
.motion-ready .model-index-row:nth-child(6) { transition-delay: 200ms; }
.motion-ready .model-index-row:nth-child(7) { transition-delay: 240ms; }
.motion-ready .landing-steps article.is-visible,
.motion-ready .capability-list article.is-visible,
.motion-ready .model-index-row.is-visible,
.motion-ready .landing-start-row.is-visible { opacity: 1; transform: none; }

@media (max-width: 900px) {
    .capability-list,
    .landing-steps { grid-template-columns: 1fr; }
    .capability-list article + article,
    .landing-steps article + article { border-left: 0; }
}

@media (max-width: 680px) {
    .landing-shell { width: min(100% - 32px, 1120px); }
    .landing-hero { padding: 50px 0; }
    .landing-intro { padding: 40px 0 48px; }
    .landing-intro h1 { font-size: clamp(52px, 12vw, 84px); }
    .landing-lead { font-size: 16px; }
    .landing-section { padding: 56px 0; }
    .landing-section-head { align-items: start; }
    .model-index-header { display: none; }
    .model-index-row { grid-template-columns: 1fr auto; gap: 6px 16px; padding: 14px 16px; }
    .model-index-price { grid-column: 1 / -1; }
    .landing-start-row { display: block; padding: 28px 20px; }
    .landing-start .landing-actions { margin-top: 24px; }
    .landing-hero .landing-actions { grid-template-columns: 1fr; }
}

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