/* Public product overview; colours follow the app's brand tokens. */
.landing-container { width: min(100% - 2rem, 1120px); margin-inline: auto; --landing-surface: #fff; --landing-text: #111827; --landing-muted: #64748b; --landing-border: #e5e7eb; }
.landing-workflow { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; padding-block: 6rem; }
.landing-eyebrow { color: var(--color-primary); font-size: .72rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.landing-story h2, .landing-section-heading h2 { color: var(--landing-text); font-size: clamp(2rem, 3.4vw, 2.8rem); line-height: 1.15; letter-spacing: -.04em; margin: 1rem 0 1.25rem; }
.landing-story p, .landing-section-heading p { color: var(--landing-muted); font-size: 1rem; line-height: 1.8; }
.landing-story .button { margin-top: 1.75rem; width: fit-content; }
.landing-project { border: 1px solid var(--landing-border); border-radius: 18px; background: var(--landing-surface); overflow: hidden; box-shadow: 0 18px 50px -30px color-mix(in srgb, var(--color-primary) 45%, transparent); }
.landing-project-heading { padding: 1.75rem; background: color-mix(in srgb, var(--color-primary) 5%, var(--landing-surface)); border-bottom: 1px solid var(--landing-border); }
.landing-project h3 { color: var(--landing-text); font-size: 1.4rem; margin-block: .65rem .4rem; }
.landing-project-heading p { color: var(--landing-muted); font-size: .8rem; }
.landing-project dl { padding: .5rem 1.75rem; }
.landing-project dl > div { padding-block: 1rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; border-bottom: 1px solid var(--landing-border); }
.landing-project dl > div:last-child { border: 0; }
.landing-project dt { display: flex; gap: .65rem; align-items: center; font-size: .8rem; font-weight: 600; color: var(--landing-text); }
.landing-project dt svg { width: 18px; height: 18px; flex: none; color: var(--color-primary); }
.landing-project dd { color: var(--landing-muted); font-size: .78rem; line-height: 1.6; }
.landing-catalogue { background: #f8fafc; padding-block: 6rem; border-block: 1px solid #e5e7eb; scroll-margin-top: 85px; }
.landing-section-heading { max-width: 670px; }
.landing-module-nav { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: 2rem 3rem; }
.landing-module-nav a { display: flex; align-items: center; min-height: 44px; padding: .6rem 1rem; border: 1px solid var(--landing-border); border-radius: 999px; background: var(--landing-surface); color: var(--landing-text); font-size: .8rem; font-weight: 600; }
.landing-module-nav a:hover { border-color: var(--color-primary); color: var(--color-primary); }
.landing-module-nav a:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
.landing-module-group { margin-top: 1.25rem; padding: 1.75rem 2rem 2rem; border: 1px solid var(--landing-border); border-radius: 16px; background: var(--landing-surface); scroll-margin-top: 100px; }
.landing-group-title { display: flex; gap: .85rem; align-items: center; margin-bottom: 1.5rem; }
.landing-group-title h3 { color: var(--landing-text); font-size: 1.15rem; }
.landing-module-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; color: var(--color-primary); background: color-mix(in srgb, var(--color-primary) 8%, var(--landing-surface)); }
.landing-module-icon svg { width: 21px; height: 21px; }
.landing-group-number { margin-left: auto; font-family: var(--font-heading); font-size: 1.25rem; color: var(--landing-muted); opacity: .65; }
.landing-module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.landing-module + .landing-module { border-left: 1px solid var(--landing-border); padding-left: 2rem; }
.landing-module h4 { color: var(--landing-text); font-size: .9rem; font-weight: 650; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: .65rem; }
.landing-module p { color: var(--landing-muted); font-size: .85rem; line-height: 1.75; }
.landing-catalogue-note { color: var(--landing-muted); margin-top: 1.5rem; font-size: .8rem; line-height: 1.7; }
.dark .landing-container { --landing-surface: #111827; --landing-text: #f3f4f6; --landing-muted: #9ca3af; --landing-border: #374151; }
.dark .landing-catalogue { background: #030712; border-color: #374151; }
@media (max-width: 767px) {
 .landing-workflow { grid-template-columns: 1fr; gap: 2rem; padding-block: 3.5rem; }
 .landing-catalogue { padding-block: 3.5rem; }
 .landing-module-group { padding: 1.25rem; }
 .landing-module-grid { grid-template-columns: 1fr; gap: 1.25rem; }
 .landing-module + .landing-module { border-left: 0; padding-left: 0; border-top: 1px solid var(--landing-border); padding-top: 1.25rem; }
 .landing-project-heading { padding: 1.25rem; }
 .landing-project dl { padding-inline: 1.25rem; }
 .landing-project dl > div { grid-template-columns: 1fr; gap: .4rem; }
 .landing-project dd { padding-left: 1.8rem; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto !important; }
 .blob { animation: none !important; }
 .reveal, .feature-card { transition: none !important; }
}
