.ktp-hero{
    padding:60px 0 100px;

    background:
    linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%);
}

.ktp-hero-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:60px;

    align-items:center;
}

/* LEFT */

.ktp-badge{
    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:12px 18px;

    border-radius:999px;

    background:white;

    box-shadow:
    0 10px 25px rgba(0,0,0,0.06);

    font-weight:700;

    margin-bottom:24px;
}

.ktp-content h1{
    font-size:64px;

    line-height:1.02;

    margin-bottom:24px;
}

.ktp-content p{
    font-size:20px;

    line-height:1.7;

    color:var(--muted);

    margin-bottom:36px;

    max-width:620px;
}

/* PREVIEW */

.ktp-preview{
    position:relative;
}

.preview-window{
    background:white;

    border-radius:34px;

    padding:28px;

    box-shadow:
    0 25px 60px rgba(15,23,42,0.08);
}

.preview-topbar{
    display:flex;

    gap:10px;

    margin-bottom:24px;
}

.preview-topbar span{
    width:14px;
    height:14px;

    border-radius:50%;

    background:#dbeafe;
}

.preview-header{
    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:24px;
}

.preview-status{
    background:#dcfce7;

    color:#166534;

    padding:8px 14px;

    border-radius:999px;

    font-size:14px;

    font-weight:700;
}

/* TABLE */

.preview-table{
    display:flex;

    flex-direction:column;

    gap:14px;
}

.preview-row{
    display:grid;

    grid-template-columns:50px 1fr 90px;

    gap:16px;

    align-items:center;

    background:#f8fafc;

    border-radius:18px;

    padding:16px;
}

/* FLOATING */

.mini-widget{
    position:absolute;

    background:white;

    border-radius:24px;

    padding:20px;

    box-shadow:
    0 20px 40px rgba(15,23,42,0.08);

    animation:widgetFloat 6s ease-in-out infinite;
}

.mini-widget span{
    font-size:30px;

    display:block;

    margin-bottom:14px;
}

.widget-one{
    top:-50px;
    right:170px;
}

.widget-two{
    bottom:-30px;
    right:-20px;

    animation-delay:2s;
}

/* ANIMATION */

@keyframes widgetFloat{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-10px);
    }

    100%{
        transform:translateY(0px);
    }

}

/* GENERATORS */

.generators-section{
    background:white;
}

.generators-grid{
    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:28px;
}

.generator-card{
    background:#f8fafc;

    border-radius:32px;

    padding:34px;

    transition:0.3s;
}

.generator-card:hover{
    transform:translateY(-8px);
}

.generator-top{
    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:28px;
}

.generator-icon{
    width:72px;
    height:72px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:24px;

    background:#dbeafe;

    color:#2563eb;

    font-size:28px;

    font-weight:800;
}

.generator-badge{
    background:white;

    padding:8px 14px;

    border-radius:999px;

    font-size:13px;

    font-weight:700;
}

.generator-card h3{
    font-size:34px;

    line-height:1.15;

    margin-bottom:18px;
}

.generator-card p{
    color:var(--muted);

    line-height:1.7;

    margin-bottom:24px;
}

.generator-card ul{
    padding-left:18px;

    margin-bottom:28px;

    color:#475569;

    line-height:1.8;
}

.generator-link{
    text-decoration:none;

    font-weight:700;

    color:#2563eb;
}

/* UNIVERSAL */

.universal-card{
    background:
    linear-gradient(135deg,#2563eb,#4f46e5);

    color:white;

    grid-column:1 / -1;
   
    justify-self:center;
}

.universal-card p,
.universal-card ul,
.universal-card .generator-link{
    color:rgba(255,255,255,0.88);
}

.universal-card .generator-badge{
    background:rgba(255,255,255,0.14);

    color:white;
}

.universal-card .generator-icon{
    background:rgba(255,255,255,0.14);

    color:white;
}

/* FEATURES */

.ktp-features{
    background:#f8fafc;
}

.features-grid{
    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:24px;
}

.feature-box{
    background:white;

    border-radius:30px;

    padding:34px;

    box-shadow:
    0 10px 30px rgba(0,0,0,0.04);
}

.feature-icon{
    width:74px;
    height:74px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:24px;

    background:#eef2ff;

    font-size:34px;

    margin-bottom:24px;
}

.feature-box h3{
    font-size:28px;

    margin-bottom:16px;
}

.feature-box p{
    color:var(--muted);

    line-height:1.7;
}

/* READY PLANS */

.ready-plans{
    background:white;
}

.plans-box{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:40px;

    align-items:center;

    background:
    linear-gradient(135deg,#2563eb,#4f46e5);

    border-radius:40px;

    padding:60px;

    color:white;
}

.plans-content h2{
    font-size:52px;

    line-height:1.08;

    margin-bottom:20px;
}

.plans-content p{
    color:rgba(255,255,255,0.84);

    line-height:1.7;
}

.plans-links{
    display:flex;

    flex-direction:column;

    gap:18px;
}

.plans-links a{
    display:flex;

    align-items:center;

    min-height:74px;

    padding:0 24px;

    border-radius:22px;

    background:rgba(255,255,255,0.12);

    text-decoration:none;

    color:white;

    font-weight:700;

    transition:0.3s;
}

.plans-links a:hover{
    background:rgba(255,255,255,0.2);
}

/* MOBILE */

@media(max-width:980px){

    .ktp-hero-grid,
    .plans-box{
        grid-template-columns:1fr;
    }

    .ktp-content h1{
        font-size:50px;
    }

}

/* MOBILE OVERFLOW FIX */

@media(max-width:768px){

    html,
    body{
        overflow-x:hidden;
    }

    .ktp-preview{
        overflow:visible;
    }

    .mini-widget{
        max-width:160px;

        padding:16px;
    }

    .widget-one{
        top:-10px;
        right:20px;
    }

    .widget-two{
        bottom:-30px;
        right:-10px;
    }

}

@media(max-width:640px){

    .ktp-content h1,
    .plans-content h2{
        font-size:38px;
    }

    .preview-header{
        flex-direction:column;

        align-items:flex-start;

        gap:14px;
    }

    .preview-row{
        grid-template-columns:40px 1fr;
    }

    .preview-row span:last-child{
        display:none;
    }

    .plans-box{
        padding:40px 24px;
    }
    .preview-window{
        padding:18px;
    }

}

/* MOBILE OVERFLOW FIX */

@media(max-width:400px){

    .widget-one{
        top:-10px;
        right:-20px;
    }
}