/* Start custom CSS for html, class: .elementor-element-ab78799 */<link href="https://fonts.googleapis.com/css2?family=Maven+Pro:wght@400;500;600;700;800&display=swap" rel="stylesheet">

<style>
    .kigen-lp { font-family: 'Maven Pro', sans-serif; max-width: 1300px; margin: 0 auto; padding: 0 15px; color: #1a1a16; -webkit-font-smoothing: antialiased; }
    .kigen-lp * { box-sizing: border-box; }
    .kigen-lp-eyebrow { font-size: 0.8rem; font-weight: 700; color: #00A8A8; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 16px; }

    /* Hero */
    .kigen-lp-hero { padding: 80px 0 60px; }
    .kigen-lp-hero h1 { font-size: 3rem; font-weight: 800; line-height: 1.1; margin: 0 0 20px 0; color: #121416; max-width: 900px; }
    .kigen-lp-hero p { font-size: 1.15rem; line-height: 1.65; color: #5d646a; margin: 0 0 32px 0; max-width: 780px; }
    .kigen-lp-frameworks { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 36px; }
    .kigen-lp-framework { background: #f0faf9; border: 1px solid #00A8A8; color: #00A8A8; padding: 8px 16px; border-radius: 4px; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.5px; }
    .kigen-lp-cta { display: inline-block; background: #00A8A8; color: #fff; text-decoration: none; padding: 18px 36px; font-size: 1rem; font-weight: 700; border-radius: 2px; transition: all 0.3s ease; }
    .kigen-lp-cta:hover { background: #008888; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0, 168, 168, 0.2); }

    /* Section Generic */
    .kigen-lp-section { padding: 60px 0; border-top: 1px solid #eef1f3; }
    .kigen-lp-section h2 { font-size: 2.25rem; font-weight: 800; line-height: 1.15; margin: 0 0 16px 0; color: #121416; max-width: 720px; }
    .kigen-lp-section > p.intro { font-size: 1.05rem; line-height: 1.65; color: #5d646a; margin: 0 0 50px 0; max-width: 720px; }

    /* Pain Points */
    .kigen-pain-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .kigen-pain-card { background: #ffffff; border: 1px solid #eef1f3; border-left: 3px solid #00A8A8; border-radius: 4px; padding: 32px 28px; transition: all 0.3s ease; }
    .kigen-pain-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0, 168, 168, 0.08); }
    .kigen-pain-card .quote { font-size: 1.05rem; font-weight: 700; color: #121416; line-height: 1.4; margin: 0 0 16px 0; font-style: italic; }
    .kigen-pain-card .answer { font-size: 0.92rem; color: #5d646a; line-height: 1.6; margin: 0; }

    /* Solution */
    .kigen-sol-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
    .kigen-sol-card { background: #f7faf9; padding: 32px 28px; border-radius: 4px; }
    .kigen-sol-card h3 { font-size: 1.2rem; font-weight: 700; margin: 0 0 12px 0; color: #121416; }
    .kigen-sol-card p { font-size: 0.95rem; line-height: 1.65; color: #5d646a; margin: 0; }

    /* Final CTA */
    .kigen-lp-final { background: #0b1121; color: #fff; padding: 60px 50px; border-radius: 4px; margin: 60px 0; text-align: center; }
    .kigen-lp-final h2 { color: #fff; font-size: 1.9rem; margin: 0 0 16px 0; }
    .kigen-lp-final p { color: #b8c0cc; font-size: 1.05rem; margin: 0 0 28px 0; max-width: 600px; margin-left: auto; margin-right: auto; }

    @media (max-width: 850px) {
        .kigen-lp-hero { padding: 60px 0 40px; }
        .kigen-lp-hero h1 { font-size: 2rem; }
        .kigen-lp-section h2 { font-size: 1.6rem; }
        .kigen-pain-grid, .kigen-sol-grid { grid-template-columns: 1fr; }
        .kigen-lp-final { padding: 40px 24px; }
    }
</style>/* End custom CSS */