.landing { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.landing a { color: inherit; }
.landing-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--idigis-border); }
.landing-header nav { display: flex; align-items: center; gap: 32px; font-size: 14px; }
.landing-header nav > a:not(.button) { min-height: 44px; display: flex; align-items: center; color: var(--idigis-text-soft); }
.landing .button { min-height: 48px; height: auto; padding: 12px 22px; border-radius: 10px; gap: 12px; font-size: 15px; }
.landing .button.is-primary { color: var(--idigis-on-primary); }
.landing-hero { display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: center; padding: 88px 0 96px; }
.landing-hero h1 { margin: 20px 0 24px; font-size: clamp(32px, 3.7vw, 52px); font-weight: 500; letter-spacing: -0.035em; line-height: 1.12; }
.landing-hero h1 em { display: inline-block; margin-top: 8px; font-family: Georgia, serif; color: var(--idigis-primary); font-weight: 400; }
.landing-hero__description { max-width: 480px; line-height: 1.75; color: var(--idigis-text-soft); font-size: 17px; }
.landing-actions { display: flex; align-items: center; gap: 24px; margin-top: 32px; flex-wrap: wrap; }
.landing-text-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size: 14px; }
.landing-text-link:hover, .landing-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.landing-hero__note { font-size: 12px; color: var(--idigis-text-muted); margin-top: 20px; }
.landing-hero__visual { position: relative; color: var(--idigis-brand-text); background: var(--idigis-brand-bg); border-radius: 160px 160px 24px 24px; padding: 48px 16px 32px; text-align: center; }
.landing-hero__visual-heading { font-size: 9px; letter-spacing: 0.12em; color: var(--idigis-brand-soft); display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 16px; }
.landing-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--idigis-brand-soft); }
.landing-hero__visual img { width: 100%; height: auto; }
.landing-hero__visual > p { font-size: 12px; color: var(--idigis-brand-soft); margin-top: 24px; }
.landing-hero__connections { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.landing-hero__connections span { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #627E93; border-radius: 99px; padding: 6px 12px; font-size: var(--idigis-ui-small); }
.landing-section { padding: 72px 0; border-top: 1px solid var(--idigis-border); scroll-margin-top: 24px; }
.landing-section__heading { margin-bottom: 40px; }
.landing-section h2, .landing-invitation h2 { margin: 16px 0; font-size: 34px; font-weight: 500; line-height: 1.2; letter-spacing: -0.025em; }
.landing-section__heading > p:last-child { color: var(--idigis-text-soft); font-size: 16px; }
.landing-features { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.landing-feature { padding: 24px; border: 1px solid var(--idigis-border); border-radius: 16px; background: var(--idigis-surface); }
.landing-feature__icon { display: grid; place-items: center; width: 44px; height: 44px; background: var(--idigis-primary-soft); color: var(--idigis-primary); border-radius: 12px; font-size: 23px; margin-bottom: 24px; }
.landing-feature h3, .landing-steps h3 { font-size: 18px; font-weight: 600; line-height: 1.3; margin-bottom: 12px; }
.landing-feature p, .landing-steps p { font-size: 14px; color: var(--idigis-text-soft); line-height: 1.7; }
.landing-steps { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; margin: 0; padding: 0; }
.landing-steps li > span { display: block; color: var(--idigis-primary); margin-bottom: 24px; font-size: 14px; font-variant-numeric: tabular-nums; }
.landing-invitation { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 48px; border-radius: 24px; background: var(--idigis-primary-soft); margin: 24px 0 72px; }
.landing-invitation > div > p:last-child { color: var(--idigis-text-soft); font-size: 16px; }
.landing-footer { border-top: 1px solid var(--idigis-border); display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; padding: 32px 0; font-size: 13px; color: var(--idigis-text-soft); }
.landing-footer .idigis-brand { color: var(--idigis-text); }
.landing-footer > div > p { margin-top: 16px; }
.landing-footer nav { display: flex; flex-direction: column; }
.landing-footer nav a { min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 1023px) {
    .landing-hero { gap: 32px; padding: 64px 0; }
    .landing-features { grid-template-columns: repeat(2, 1fr); }
    .landing-hero__connections span { padding: 4px 8px; }
    .landing-steps { gap: 24px; }
    .landing-invitation { padding: 32px; }
}
@media (max-width: 768px) {
    .landing { padding: 0 8px; }
    .landing-header { padding: 12px 0 24px; }
    .landing-header nav { gap: 8px; }
    .landing-header__section { display: none !important; }
    .landing-hero { grid-template-columns: 1fr; gap: 40px; padding: 48px 0; }
    .landing-hero h1 { font-size: 36px; }
    .landing-hero__description { font-size: 16px; }
    .landing-hero__visual { max-width: 440px; width: 100%; margin: auto; padding-top: 32px; }
    .landing-section { padding: 48px 0; }
    .landing-section h2, .landing-invitation h2 { font-size: 28px; }
    .landing-section__heading { margin-bottom: 24px; }
    .landing-features, .landing-steps { grid-template-columns: 1fr; gap: 16px; }
    .landing-feature { padding: 24px; }
    .landing-steps li { padding: 16px 0; }
    .landing-steps li > span { margin-bottom: 12px; }
    .landing-invitation { flex-direction: column; align-items: flex-start; padding: 24px; margin-bottom: 48px; }
    .landing-footer { flex-direction: column; gap: 16px; }
}

/* Product copy uses the same Whitney family as the application. */
.landing-hero h1 em{font-family:inherit;font-style:normal;font-weight:500}
.landing-hero__note{font-size:var(--idigis-ui-caption);line-height:1.6;color:var(--idigis-text-soft)}
.landing-features{grid-template-columns:repeat(3,minmax(0,1fr))}
.landing-feature p,.landing-steps p{font-size:var(--idigis-ui-body)}
.landing-workflow__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.landing-workflow__items>div{border-left:2px solid var(--idigis-border);padding-left:22px}
.landing-workflow__items i{font-size:25px;color:var(--idigis-primary);display:block;margin-bottom:16px}
.landing-workflow__items h3,.landing-integrations h3{font-size:18px;font-weight:600;line-height:1.4;margin-bottom:10px}
.landing-workflow__items p,.landing-integrations p,.landing-mobile p{font-size:var(--idigis-ui-body);line-height:1.7;color:var(--idigis-text-soft)}
.landing-integrations{padding:32px;border:1px solid var(--idigis-border);border-radius:16px;background:var(--idigis-surface-muted);display:grid;grid-template-columns:1fr 1.4fr;gap:40px;margin-bottom:64px}
.landing-integrations h2{font-size:26px;line-height:1.3;font-weight:600;margin:12px 0}
.landing-integrations__items{display:flex;flex-direction:column;gap:24px}
.landing-integrations article{display:flex;gap:14px}.landing-integrations article>i{font-size:25px;color:var(--idigis-primary);flex:none}
.landing-mobile{display:flex;align-items:center;justify-content:space-between;gap:32px}
.landing-mobile>div{max-width:660px}.landing-mobile .landing-mobile__note{font-size:var(--idigis-ui-caption);margin-top:14px}
.landing-mobile__icon{display:grid;place-items:center;width:112px;height:112px;flex:none;background:var(--idigis-primary-soft);color:var(--idigis-primary);border-radius:28px;font-size:62px}
.landing a:focus-visible{outline:2px solid var(--idigis-primary);outline-offset:5px}
@media(max-width:1023px){.landing-features{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-integrations{gap:24px}}
@media(max-width:768px){.landing-features,.landing-workflow__items,.landing-integrations{grid-template-columns:minmax(0,1fr)}.landing-workflow__items{gap:26px}.landing-integrations{padding:24px;margin-bottom:40px}.landing-mobile{align-items:flex-start}.landing-mobile__icon{width:48px;height:48px;border-radius:14px;font-size:30px}.landing-hero h1{font-size:clamp(31px,8vw,36px)}.landing-invitation .button{max-width:100%}}
@media(max-width:390px){.landing-mobile{flex-direction:column-reverse;gap:12px}}
