/* ── Hero ──────────────────────────────────────────────────────────────── */
.pk-hero {
    background: linear-gradient(170deg, #FFF8ED 0%, #FFF3E0 30%, #FFE8D6 60%, #FFECD2 100%);
    margin-top: -64px; padding: 152px 0 100px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.pk-hero::before {
    content: ''; position: absolute; top: -60px; right: -40px;
    width: 280px; height: 280px; border-radius: 50%;
    background: rgba(255,107,107,0.08);
}
.pk-hero::after {
    content: ''; position: absolute; bottom: -30px; left: -60px;
    width: 200px; height: 200px; border-radius: 50%;
    background: rgba(77,150,255,0.07);
}
.pk-hero-badge {
    display: inline-block; padding: 6px 20px; border-radius: var(--pk-radius-pill);
    font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
    background: rgba(255,107,107,0.1); color: var(--pk-coral); margin-bottom: 24px;
    position: relative; z-index: 1;
}
.pk-hero-title {
    font-size: clamp(32px, 6vw, 56px); font-weight: 900; line-height: 1.15;
    color: var(--pk-text); margin-bottom: 16px; position: relative; z-index: 1;
}
.pk-hero-title em {
    font-style: normal; background: linear-gradient(135deg, var(--pk-coral), var(--pk-orange));
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}
.pk-hero-desc {
    font-size: 18px; color: var(--pk-text-soft); max-width: 520px;
    margin: 0 auto 36px; line-height: 1.7; position: relative; z-index: 1;
}
.pk-hero-actions { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; position: relative; z-index: 1; }
.pk-hero-dots { position: absolute; inset: 0; pointer-events: none; }
.pk-hero-dot {
    position: absolute; width: 12px; height: 12px; border-radius: 50%;
    background: var(--pk-sunny); opacity: 0.3;
}

/* ── Stats ─────────────────────────────────────────────────────────────── */
.pk-stats {
    background: #fff; padding: 44px 0; position: relative; z-index: 2;
    margin-top: -40px; border-radius: 24px 24px 0 0;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.04);
}
.pk-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.pk-stat { text-align: center; padding: 12px; }
.pk-stat-icon {
    width: 52px; height: 52px; border-radius: 16px; margin: 0 auto 12px;
    display: flex; align-items: center; justify-content: center; font-size: 24px;
}
.pk-stat-num { font-size: 32px; font-weight: 900; line-height: 1.1; }
.pk-stat-num span { font-size: 20px; }
.pk-stat-label { font-size: 14px; color: var(--pk-text-soft); margin-top: 4px; font-weight: 600; }

/* ── Sections ───────────────────────────────────────────────────────────── */
.pk-section { padding: 80px 0; }
.pk-section--warm { background: var(--pk-bg-warm); }
.pk-section-header { text-align: center; margin-bottom: 56px; }
.pk-tag {
    display: inline-block; padding: 5px 16px; border-radius: var(--pk-radius-pill);
    font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
    margin-bottom: 16px;
}
.pk-tag--coral { background: rgba(255,107,107,0.08); color: var(--pk-coral); }
.pk-tag--mint { background: rgba(107,203,119,0.1); color: var(--pk-mint-dark); }
.pk-tag--sky { background: rgba(77,150,255,0.08); color: var(--pk-sky); }
.pk-section-title { font-size: clamp(26px, 4vw, 36px); font-weight: 800; margin-bottom: 12px; }
.pk-section-subtitle { font-size: 16px; color: var(--pk-text-soft); max-width: 500px; margin: 0 auto; }

/* ── Feature rows ──────────────────────────────────────────────────────── */
.pk-feature-row {
    display: flex; align-items: center; gap: 60px; margin-bottom: 72px;
}
.pk-feature-row:last-child { margin-bottom: 0; }
.pk-feature-row--flip { flex-direction: row-reverse; }
.pk-feature-media { flex: 1; display: flex; justify-content: center; }
.pk-feature-card-visual {
    width: 320px; height: 220px; border-radius: 24px;
    display: flex; align-items: center; justify-content: center; font-size: 72px;
    color: #fff; box-shadow: 0 12px 32px rgba(0,0,0,0.1);
}
.pk-feature-card-visual--coral { background: linear-gradient(135deg, #FF6B6B, #FF8E8E); }
.pk-feature-card-visual--sky { background: linear-gradient(135deg, #4D96FF, #7DB5FF); }
.pk-feature-card-visual--mint { background: linear-gradient(135deg, #6BCB77, #8EDC9C); }
.pk-feature-text { flex: 1; }
.pk-feature-dot {
    width: 44px; height: 44px; border-radius: 14px; display: flex;
    align-items: center; justify-content: center; font-size: 20px; color: #fff; margin-bottom: 16px;
}
.pk-feature-text h3 { font-size: 24px; font-weight: 800; margin-bottom: 8px; }
.pk-feature-text > p { font-size: 15px; color: var(--pk-text-soft); line-height: 1.7; margin-bottom: 16px; }
.pk-check-list { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.pk-check-list li {
    padding-left: 28px; position: relative; font-size: 14px; font-weight: 600;
    color: var(--pk-text); line-height: 1.5;
}
.pk-check-list li::before {
    content: '✓'; position: absolute; left: 0; top: 0;
    width: 20px; height: 20px; border-radius: 50%; background: var(--pk-mint);
    color: #fff; font-size: 11px; font-weight: 700; display: flex;
    align-items: center; justify-content: center; line-height: 20px; text-align: center;
}

/* ── Subjects grid ─────────────────────────────────────────────────────── */
.pk-subjects { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.pk-subject {
    background: #fff; border-radius: 16px; padding: 28px 16px; text-align: center;
    transition: all 0.25s; border: 2px solid transparent;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.pk-subject:hover { border-color: var(--pk-sunny); transform: translateY(-3px); box-shadow: var(--pk-shadow); }
.pk-subject-icon { width: 56px; height: 56px; border-radius: 16px; margin: 0 auto 12px; display: flex; align-items: center; justify-content: center; font-size: 28px; }
.pk-subject span { font-size: 15px; font-weight: 700; }

/* ── Steps ──────────────────────────────────────────────────────────────── */
.pk-steps { display: flex; align-items: flex-start; justify-content: center; gap: 0; }
.pk-step { flex: 0 0 220px; text-align: center; }
.pk-step-bubble {
    width: 64px; height: 64px; border-radius: 50%; margin: 0 auto 16px;
    font-size: 26px; font-weight: 900; line-height: 64px; color: #fff;
    box-shadow: 0 6px 20px rgba(255,107,107,0.3);
    background: linear-gradient(135deg, var(--pk-coral), var(--pk-orange));
}
.pk-step-arrow {
    flex: 0 0 70px; display: flex; align-items: center; justify-content: center;
    padding-top: 22px; font-size: 28px; color: #ddd;
}
.pk-step h4 { font-size: 17px; font-weight: 800; margin-bottom: 6px; }
.pk-step p { font-size: 14px; color: var(--pk-text-soft); line-height: 1.5; }

/* ── CTA ────────────────────────────────────────────────────────────────── */
.pk-cta {
    background: linear-gradient(135deg, var(--pk-coral), var(--pk-orange));
    border-radius: 28px; padding: 72px 24px; text-align: center;
    color: #fff; position: relative; overflow: hidden;
}
.pk-cta::before {
    content: ''; position: absolute; top: -50px; right: -50px;
    width: 200px; height: 200px; border-radius: 50%;
    background: rgba(255,255,255,0.08);
}
.pk-cta h2 { font-size: 32px; font-weight: 800; margin-bottom: 12px; position: relative; }
.pk-cta p { font-size: 16px; opacity: 0.85; margin-bottom: 32px; position: relative; }


@media (max-width: 768px) {
    .pk-hero { margin-top: -56px; padding: 112px 0 80px; }
    .pk-stats { margin-top: -24px; }
    .pk-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .pk-feature-row, .pk-feature-row--flip { flex-direction: column; gap: 28px; margin-bottom: 48px; }
    .pk-feature-card-visual { width: 100%; max-width: 300px; height: 180px; }
    .pk-subjects { grid-template-columns: repeat(2, 1fr); }
    .pk-steps { flex-direction: column; align-items: center; gap: 8px; }
    .pk-step-arrow { transform: rotate(90deg); padding-top: 0; }
}
