/* ─── NK Pro Flow — Fluid Responsive CSS ─────────────────────────────────── */
/* Scales from 375px (mobile) → 1260px (desktop) via clamp()                 */

/* ─── Modal shell ─────────────────────────────────────────────────────────── */
.nk-paywall-modal:has(.nkpro-flow) {
    width: min(1120px, 96vw);
    max-width: min(1120px, 96vw);
    background: #1d2b31;
    overflow: hidden;
    max-height: 100vh;
}
.nk-paywall-modal:has(.nkpro-flow) > #nk-paywall-modal__close {
    color: #b4c2c7;
}
.nk-paywall-modal:has(.nkpro-flow) > #nk-paywall-modal__close:hover {
    color: #fff;
}

/* ─── Base ────────────────────────────────────────────────────────────────── */
.nkpro-flow {
    font-family: 'CircularStd', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color: #fff;
    --nkpro-summary-max: min(100%, clamp(280px, 86vw, 740px));
    --nkpro-cta-wide: min(100%, clamp(260px, 90vw, 850px));
}

/* ─── Layout ──────────────────────────────────────────────────────────────── */
.nkpro-flow__layout {
    display: flex;
    min-height: clamp(480px, 60vw, 620px);
}

/* ─── Left panel ──────────────────────────────────────────────────────────── */
.nkpro-flow__left {
    width: 31%;
    min-width: 260px;
    background: #1d1f22;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}
.nkpro-flow__left-inner {
    height: 100%;
    padding: 40px clamp(20px, -32.9412px + 5.8824vw, 40px);
    display: flex;
    flex-direction: column;
}
.nkpro-flow__brand {
    margin-bottom: clamp(28px, 5vw, 62px);
}
.nkpro-flow__brand img {
    width: clamp(90px, 10vw, 124px);
    height: auto;
    display: block;
}
.nkpro-flow__left-kicker {
    margin: 0 0 clamp(14px, -12.4706px + 2.9412vw, 24px);
    font-size: clamp(12px, 6.7059px + 0.5882vw, 14px);
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
}
.nkpro-flow__left-divider {
    display: block;
    width: clamp(50px, -29.4118px + 8.8235vw, 80px);
    border-top: 2px solid #30baba;
    margin-bottom: clamp(16px, -12.4706px + 2.9412vw, 24px);
}
.nkpro-flow__left-title {
    margin: 0 0 clamp(8px, -2.5882px + 1.1765vw, 12px);
    font-size: clamp(14px, 3.4118px + 1.1765vw, 18px);
    line-height: 1.5;
    font-weight: 800;
    text-transform: uppercase;
    color: #fff;
}
.nkpro-flow__left-copy {
    margin: 0 0 clamp(12px, -3.8824px + 1.7647vw, 18px);
    font-size: clamp(13px, 5.0588px + 0.8824vw, 16px);
    line-height: 1.3;
    color: #fff;
    opacity: 0.6;
}
.nkpro-flow__left-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: clamp(14px, -7.1765px + 2.3529vw, 22px);
    font-size: clamp(13px, 5.0588px + 0.8824vw, 16px);
    font-weight: 700;
    color: #30baba;
    text-decoration: none;
}
.nkpro-flow__left-link::after {
    content: '\2192';
}
.nkpro-flow__left-list {
    margin: auto 0 0;
    padding-left: 18px;
}
.nkpro-flow__left-list li {
    margin-bottom: clamp(5px, -0.2941px + 0.5882vw, 7px);
    font-size: clamp(13px, 7.7059px + 0.5882vw, 15px);
    line-height: 1.2;
    color: rgba(255, 255, 255, 0.86);
}
.nkpro-flow__left-list li::marker {
    color: #30baba;
}
.nkpro-flow__left-list li:last-child {
    margin-bottom: 0;
}

/* ─── Right panel ─────────────────────────────────────────────────────────── */
.nkpro-flow__right {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #1b1b1b
        url('/wp-content/themes/nkpro/images/nkpro-bg-image.png') center
        center / cover no-repeat;
}
.nkpro-flow__state {
    padding: clamp(20px, 3.5vw, 40px) clamp(16px, 3vw, 34px)
        clamp(14px, 2vw, 24px);
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* ─── Header ──────────────────────────────────────────────────────────────── */
.nkpro-flow__header {
    margin: 25px auto clamp(14px, 2vw, 22px);
    text-align: center;
}
.nkpro-flow__header h1,
.nkpro-flow__upgrade-content h1 {
    margin: 0;
    font-size: clamp(22px, 1.13vw + 17.77px, 34px);
    font-weight: 400;
    line-height: 1.2;
    color: #fff;
}
.nkpro-flow__header p,
.nkpro-flow__upgrade-content p {
    margin: clamp(10px, 0.94vw + 6.5px, 14px) 0 0;
    font-size: clamp(16px, 0.56vw + 13.9px, 20px);
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.88);
}
.nkpro-flow__header h2 {
    font-size: clamp(16px, 0.56vw + 13.9px, 28px);
    font-weight: 500;
    color: #fff;
    margin: 25px 0 10px;
    line-height: 1;
}
.nkpro-flow__header h5 {
    font-size: clamp(13px, 1.1vw, 21px);
    font-weight: 400;
    color: #fff;
    margin: 10px 0 0;
    line-height: 1.3;
}
.nkpro-flow__required-mark {
    color: #30baba;
    font-weight: 700;
}
.nkpro-flow__header p {
    font-size: clamp(13px, 1.1vw, 15px);
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.88);
}
.nkpro-flow__header-divider {
    display: block;
    width: clamp(120px, 18vw, 220px);
    margin: clamp(12px, 1.5vw, 18px) auto 0;
    border-top: 2px solid #30baba;
}

/* ─── Error ───────────────────────────────────────────────────────────────── */
#nkpro-members-only #nk-paywall-signin-error {
    margin-top: 12px;
    font-size: clamp(12px, 1.1vw, 14px);
    line-height: 1.4;
    border-radius: 4px;
    padding: 8px 12px;
    background: #fdf0f0;
    color: #dc3545;
}

/* ─── Form ────────────────────────────────────────────────────────────────── */
.nkpro-flow__form {
    width: 100%;
}
.nkpro-flow__form-grid {
    display: flex;
    flex-direction: column;
    margin: clamp(0px, 1vw, 5px) auto 0px;
}

.nkpro-flow__field {
    margin-bottom: clamp(8px, 1vw, 10px);
    flex: 1;
}
.nkpro-flow__field label {
    display: block;
    margin: 0;
}
.nkpro-flow__field input {
    width: 100%;
    height: clamp(40px, 4.5vw, 48px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 0;
    background: #fff;
    color: #333;
    font-size: clamp(14px, 1.5vw, 16px);
    padding: 0 clamp(10px, 1.2vw, 14px);
}
.nkpro-flow__field input:disabled {
    background: rgb(217, 217, 217);
}
.nkpro-flow__field input:focus {
    outline: none;
    border-color: #30baba;
}
.nkpro-flow__field input.is-invalid {
    border-color: #dc3545;
}
.nkpro-flow__field-error {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #dc3545;
}
.nkpro-flow__form-actions {
    margin-bottom: clamp(20px, 3.5vw, 40px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(10px, 1.5vw, 16px);
}
.nkpro-flow__submit {
    width: 100%;
    height: clamp(42px, 4.5vw, 50px);
    border: 0;
    background: #30baba;
    color: #fff;
    text-transform: none;
    font-size: clamp(17px, 1.7vw + 10.6px, 24px);
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
}
.nkpro-flow__submit:hover {
    opacity: 0.92;
}
.nkpro-flow__forgot {
    border: 0;
    background: transparent;
    color: #30baba;
    font-size: clamp(12px, 1.1vw, 14px);
    font-weight: 700;
    white-space: nowrap;
    text-decoration: underline;
    padding: 0;
    margin: 10px 0;
}
.nkpro-flow__recaptcha-notice {
    margin: clamp(10px, 1.5vw, 16px) 0 0;
    font-size: clamp(11px, 1vw, 14px);
    text-align: center;
    color: rgba(255, 255, 255, 0.82);
    display: flex;
    justify-content: center;
    align-items: center;
}
.nkpro-flow__recaptcha-notice a {
    color: #30baba;
}
.nkpro-flow__recaptcha-notice ul {
    display: inline-block;
    padding: 0;
    margin: 0;
    list-style-type: none;
}
.nkpro-flow__recaptcha-notice ul li {
    float: left;
    font-weight: 700;
}
.nkpro-flow__recaptcha-notice ul li::before {
    content: '•';
    color: white;
    margin: 0 8px;
}
.nkpro-flow__form .nkpro-flow__type_radio {
    border: 2px solid rgba(217, 217, 217, 0.4);
    border-radius: 10px;
    padding: 10px 20px;
    display: flex;
    gap: 10px;
    transition: border-color 0.2s ease-in-out;
    cursor: pointer;
}
.nkpro-flow__form .nkpro-flow__field input[type='radio'] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.nkpro-flow__form input[type='radio']:checked + label {
    border: 2px solid #fff;
}
.nkpro-flow__form .nkpro-flow__type_radio-icon {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(217, 217, 217, 0.4);
    display: flex;
    margin-top: 7px;
    transition: background 0.2s ease-in-out;
}
.nkpro-flow__form
    input[type='radio']:checked
    + label
    .nkpro-flow__type_radio-icon {
    background: #30baba;
}
.nkpro-flow__form .nkpro-flow__type_radio-desc {
    text-align: left;
}
.nkpro-flow__form .nkpro-flow__type_radio-desc strong {
    display: block;
    font-size: clamp(13px, 1.3vw, 21px);
    font-weight: 900;
    line-height: 1.2;
    color: #fff;
    margin-bottom: 5px;
}
.nkpro-flow__form .nkpro-flow__type_radio-desc span {
    display: block;
    font-size: clamp(12px, 1.2vw, 16px);
    line-height: 1;
    color: #fff;
}
.nkpro-flow__form textarea {
    width: 100%;
    height: 100%;
    border: 0px;
    color: rgb(130, 125, 125);
    padding: 10px 15px;
    font-size: 16px;
    line-height: 1.3;
    resize: none;
    max-height: 85px;
}
.nkpro-flow__form textarea:focus {
    outline: none;
}

/* ─── Upgrade topbar ──────────────────────────────────────────────────────── */
.nkpro-flow__topbar {
    display: flex;
    align-items: center;
    margin: 24px auto clamp(14px, 2vw, 24px);
    justify-content: center;
    gap: 30px;
}
.nkpro-flow__topbar > img {
    width: clamp(70px, 8vw, 100px);
    height: auto;
}
.nkpro-flow__back {
    line-height: 1;
    position: absolute;
    left: 20px;
    top: 26px;
    padding: 0;
    width: 24px;
    height: 24px;
}
.nkpro-flow__back svg {
    width: 24px;
    height: auto;
}
.nkpro-flow__user {
    display: flex;
    align-items: center;
    gap: clamp(6px, 0.9vw, 10px);
}
.nkpro-flow__avatar {
    width: clamp(34px, 3.5vw, 44px);
    height: clamp(34px, 3.5vw, 44px);
    border-radius: 50%;
    background: #8d949c;
    color: #fff;
    font-size: clamp(15px, 1.8vw, 21px);
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.nkpro-flow__user p {
    margin: 0 0 3px;
    font-size: clamp(11px, 1vw, 13px);
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.1;
}
.nkpro-flow__user strong {
    font-size: clamp(16px, 2vw, 21px);
    line-height: 1.1;
    color: #fff;
    width: 200px;
    text-overflow: ellipsis;
    display: inline-block;
    overflow: hidden;
}

/* ─── Upgrade content ─────────────────────────────────────────────────────── */
.nkpro-flow__upgrade-content {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
.nkpro-flow__upgrade-intro {
    margin: clamp(6px, 0.9vw, 10px) auto 0;
    max-width: 740px;
    font-size: clamp(20px, 2.2vw + 11.8px, 35px);
    line-height: 1.26;
    color: rgba(255, 255, 255, 0.9);
}
.nkpro-flow__benefits {
    margin: clamp(14px, 2vw, 24px) auto clamp(14px, 2vw, 24px);
    max-width: 480px;
    text-align: left;
    list-style: none;
    padding: 0;
}
.nkpro-flow__benefits li {
    margin-bottom: clamp(10px, 1.4vw, 16px);
    display: flex;
    gap: clamp(15px, 2vw, 30px);
}
.nkpro-flow__benefits strong {
    display: block;
    font-size: clamp(16px, 2.8vw + 4.5px, 20px);
    line-height: 1.16;
    color: #fff;
}
.nkpro-flow__benefits span {
    display: block;
    margin-top: 2px;
    font-size: clamp(12px, 1.97vw + 5.6px, 16px);
    line-height: 1.34;
    color: rgba(255, 255, 255, 0.82);
}

/* ─── Bottom cards ────────────────────────────────────────────────────────── */
.nkpro-flow__bottom-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(8px, 1.2vw, 14px);
}
.nkpro-flow__card {
    border: 2px solid rgba(255, 255, 255, 0.75);
    background: rgba(8, 22, 28, 0.42);
    border-radius: 10px;
    text-align: left;
    padding: clamp(10px, 1.2vw, 14px);
    color: #fff;
    cursor: default;
    display: flex;
    gap: clamp(10px, 1.4vw, 15px);
    align-items: center;
}
.nkpro-flow__card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}
.nkpro-flow__card-title {
    display: block;
    font-size: clamp(13px, 1.3vw, 17px);
    font-weight: 900;
    line-height: 1.2;
}
.nkpro-flow__card-title em {
    margin-left: 6px;
    display: inline-block;
    background: #30baba;
    color: #fff;
    font-style: normal;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    padding: 4px 6px;
    border-radius: 3px;
    text-transform: uppercase;
    vertical-align: middle;
}
.nkpro-flow__card-copy {
    display: block;
    margin-top: 2px;
    font-size: clamp(12px, 1.1vw, 14px);
    line-height: 1.25;
    color: rgba(255, 255, 255, 0.88);
    font-weight: 400;
}

/* ─── Topbar variants ─────────────────────────────────────────────────────── */
.nkpro-flow__topbar--nkn .nkpro-flow__avatar--nkn {
    background: rgba(192, 57, 43, 0.2);
    color: #e03030;
}
.nkpro-flow__topbar--kp .nkpro-flow__avatar--kp {
    background: rgba(232, 160, 48, 0.2);
    color: #e8a030;
}

.nkpro-flow__form-row {
    display: flex;
    gap: clamp(0px, 1.5vw, 10px);
}

/* ─── Fellowship step bar (Penpot: "1. ELIGIBILITY") ───────────────────────── */
.nkpro-flow__step-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: clamp(12px, 1.55vw, 26px);
    padding: clamp(10px, 1.2vw, 14px);
    margin-top: min(3px, -2.347vw + 13.8px);
    margin-bottom: calc(35px - clamp(10px, 1.2vw, 14px));
}
.nkpro-flow__step-cluster {
    display: flex;
    align-items: center;
}
.nkpro-flow__step-item {
    display: flex;
    align-items: center;
    font-size: clamp(10px, 0.72vw + 7.3px, 14px);
    text-transform: uppercase;
    font-weight: 700;
    line-height: 1;
    color: rgba(255, 255, 255, 0.35);
}
.nkpro-flow__step-item.active {
    color: #fff;
}
.nkpro-flow__step-item.done {
    color: rgba(255, 255, 255, 0.5);
}
.nkpro-flow__step-label {
    white-space: nowrap;
}

.nkpro-flow__state--fellowship {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}
.nkpro-flow__fellowship-panel {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.nkpro-flow__fellowship-panel--review {
    width: 100%;
    max-width: min(100%, clamp(660px, 61.0329vw + 430.6268px, 940px));
    margin: 0 auto;
}
.nkpro-flow__fellowship-head {
    width: 100%;
    max-width: min(100%, 52rem);
    margin: 0 auto clamp(14px, 2vw, 20px);
    text-align: center;
}
.nkpro-flow__fellowship-heading {
    margin: 0;
    font-size: clamp(22px, 1.13vw + 17.77px, 34px);
    font-weight: 400;
    line-height: 1.2;
    color: #fff;
}
.nkpro-flow__fellowship-head .nkpro-flow__subtitle {
    margin-top: clamp(8px, 1vw, 12px);
}
.nkpro-flow__subtitle {
    margin: 0 auto clamp(16px, 2vw, 24px);
    max-width: min(100%, 42rem);
    font-size: clamp(14px, 1.1vw, 17px);
    line-height: 1.4;
    color: #fff;
    text-align: center;
}
.nkpro-flow__subtitle--tight {
    margin-bottom: 0;
}
.nkpro-flow__pricing-line {
    margin: clamp(6px, 0.9vw, 8px) auto 0;
    text-align: center;
    font-size: clamp(15px, 0.94vw + 11.5px, 21px);
    font-weight: 600;
    color: #fff;
}
.nkpro-flow__pricing-line strong {
    font-weight: 700;
    color: #30baba;
}
.nkpro-flow__upload-heading {
    font-weight: 400 !important;
    text-align: left !important;
    margin: 0 0 5px !important;
    font-size: clamp(14px, 1.2vw, 16px) !important;
}
.nkpro-flow__fellowship-footnote {
    margin: clamp(12px, 1.8vw, 18px) 0 0;
    font-size: clamp(12px, 2vw, 16px);
    line-height: 1.35;
    color: #fff;
    text-align: center;
}
.nkpro-flow__fellowship-footnote--after-cta {
    margin-top: clamp(10px, 1.2vw, 14px);
    margin-bottom: 0;
    text-align: center;
}
.nkpro-flow__terms-block h6 {
    margin-top: clamp(20px, 2.5vw, 28px);
    margin-bottom: 12px !important;
}
.nkpro-flow__file-item--solo {
    margin-top: clamp(8px, 1vw, 12px);
    margin-bottom: clamp(14px, 2vw, 20px);
}
.nkpro-flow__review-intro-highlight {
    margin: clamp(6px, 0.85vw, 10px) 0 !important;
    font-size: clamp(15px, 0.94vw + 11.5px, 21px);
    font-weight: 700;
    color: #30baba;
}
.nkpro-flow__review-wordcount {
    display: inline-block;
    margin-left: 0.35em;
    font-size: 0.88em;
    color: #fff;
}

.nkpro-flow__selection-grid {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.nkpro-flow__form-row--fellowship-solo .nkpro-flow__field {
    flex: 1 1 100%;
    max-width: 100%;
}
.nkpro-flow__form h6 {
    margin: clamp(14px, 2vw, 20px) 0 clamp(10px, 1.2vw, 14px);
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
    text-align: center;
}
.nkpro-flow__optional-mark {
    font-weight: 500;
    font-size: 0.88em;
    color: rgba(255, 255, 255, 0.5);
    margin-left: 0.35em;
}
.nkpro-flow__visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.nkpro-flow__checkboxes--fellowship {
    border-top: 0;
}
.nkpro-flow__upload-zone--fellowship {
    border: 2px dashed rgba(48, 186, 186, 0.55);
    border-radius: 10px;
}
.nkpro-flow__upload-zone--fellowship:hover {
    border-color: rgba(48, 186, 186, 0.9);
}
.nkpro-flow__upload-zone--fellowship.nkpro-flow__upload-zone--error {
    border-color: #ff6b6b;
}
.nkpro-flow__state--fellowship .nkpro-flow__field-error {
    display: block;
    margin-top: clamp(6px, 0.8vw, 8px);
    margin-bottom: clamp(6px, 0.8vw, 10px);
    font-size: clamp(12px, 0.85vw + 9px, 14px);
    font-weight: 500;
    color: #ff7b7b;
}
.nkpro-flow__topic-grid--fellowship .nkpro-flow__topic-chip {
    border-width: 2px;
    border-radius: 10px;
    background: transparent;
    color: #fff;
    padding: clamp(8px, 1vw, 15px) clamp(7px, 1vw, 14px);
    line-height: 1;
    display: flex;
    align-items: center;
}
.nkpro-flow__topic-grid--fellowship .nkpro-flow__topic-chip:hover,
.nkpro-flow__topic-grid--fellowship .nkpro-flow__topic-chip.on {
    border-color: #fff;
    background: transparent;
    color: #fff;
}
.nkpro-flow__topic-grid--fellowship
    .nkpro-flow__topic-chip:hover
    .nkpro-flow__type_radio-icon,
.nkpro-flow__topic-grid--fellowship
    .nkpro-flow__topic-chip.on
    .nkpro-flow__type_radio-icon {
    background: rgba(48, 186, 186, 0.9);
}
.nkpro-flow__topic-grid--fellowship .nkpro-flow__type_radio-icon {
    margin-top: 0px;
    margin-right: 5px;
}
.nkpro-flow__topic-chip .nkpro-flow__field-hint {
    display: block;
    margin-top: clamp(6px, 0.8vw, 10px);
    font-size: clamp(11px, 1vw, 13px);
    color: rgba(255, 255, 255, 0.45);
    line-height: 1.4;
}

/* ─── Cohort Strip ────────────────────────────────────────────────────────── */
.nkpro-flow__cohort-strip {
    display: flex;
    justify-content: center;
}
.nkpro-flow__cohort-cell {
    flex: 0 0 33%;
    text-align: center;
}
.nkpro-flow__cohort-label {
    display: block;
    font-size: clamp(12px, 1vw, 21px);
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    margin-bottom: 4px;
    line-height: 1;
}
.nkpro-flow__cohort-value {
    display: block;
    font-size: clamp(13px, 1.2vw, 15px);
    font-weight: 600;
}
.nkpro-flow__cohort-value--accent {
    color: #30baba;
}
.nkpro-flow__cohort-value--neutral {
    color: rgba(255, 255, 255, 0.95);
}

/* ─── Guidance Block ──────────────────────────────────────────────────────── */
.nkpro-flow__guidance {
    text-align: center;
}
.nkpro-flow__guidance-title {
    display: block;
    font-size: clamp(11px, 1vw, 13px);
    font-weight: 700;
    color: #30baba;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: clamp(10px, 1.2vw, 14px);
}
.nkpro-flow__guidance-list {
    list-style: none;
    padding: 0;
    margin: 0 auto 8px;
    display: inline-block;
    text-align: left;
}
.nkpro-flow__guidance-list li {
    font-size: clamp(12px, 1.1vw, 14px);
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.5;
    padding-left: 14px;
    position: relative;
    margin-bottom: 6px;
}
.nkpro-flow__guidance-list span {
    color: #30baba;
}
.nkpro-flow__guidance-note {
    font-size: clamp(12px, 1.1vw, 14px);
    color: #fff;
    margin-bottom: 0;
}
.nkpro-flow__guidance-title {
    font-size: clamp(14px, 0.56vw + 11.9px, 20px);
    font-weight: 600;
    color: rgba(255, 255, 255, 0.96);
    text-transform: none;
    letter-spacing: 0;
    margin-bottom: clamp(10px, 0.56vw + 7.9px, 14px);
    line-height: 1;
    text-align: center;
}
.nkpro-flow__guidance-list li {
    margin-bottom: 0;
    padding-left: clamp(14px, 0.19vw + 13.29px, 16px);
    font-size: clamp(13px, 0.19vw + 12.29px, 15px);
    color: #fff;
    line-height: 1.5;
}
.nkpro-flow__guidance-list li::before {
    content: '\2013';
    position: absolute;
    left: 0;
    color: #fff;
}
.nkpro-flow__guidance-list.fellowship-list {
    margin-bottom: 20px;
}
.nkpro-flow__guidance-list.fellowship-list li::before {
    display: none;
}
.nkpro-flow__checkboxes {
    display: flex;
    flex-direction: column;
    margin-bottom: clamp(16px, 2vw, 20px);
}
.nkpro-flow__check-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: clamp(10px, 1.2vw, 12px);
    cursor: pointer;
}
.nkpro-flow__check-item .checkbox {
    width: clamp(24px, 2vw, 34px);
    height: clamp(24px, 2vw, 34px);
    border: 0;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}
.nkpro-flow__check-item .checkbox.on::after {
    content: '';
    width: clamp(16px, 1.5vw, 20px);
    height: clamp(8px, 0.85vw, 11px);
    border-left: clamp(4px, 0.38vw, 5px) solid #30baba;
    border-bottom: clamp(4px, 0.38vw, 5px) solid #30baba;
    transform: rotate(-45deg) translateY(clamp(-2px, -0.094vw - 0.65px, -1px));
    margin-left: clamp(2px, 0.22vw, 3px);
}
.nkpro-flow__check-item .check-text {
    font-size: clamp(13px, 1.2vw, 15px);
    color: #fff;
    line-height: 1.4;
    display: flex;
    flex-wrap: wrap;
}
.nkpro-flow__check-item .check-text strong {
    line-height: 1;
    margin-bottom: 3px;
    width: 100%;
}

/* ─── Upload Zone ─────────────────────────────────────────────────────────── */
.nkpro-flow__upload-zone {
    background: rgba(255, 255, 255, 0.2);
    border: 2px dashed #30baba;
    border-radius: 4px;
    padding: clamp(8px, 1vw, 12px);
    text-align: center;
    cursor: pointer;
    margin-bottom: clamp(7px, 2vw, 10px);
    transition: all 0.2s;
}
.nkpro-flow__upload-label strong {
    display: block;
    font-size: clamp(12px, 1.3vw, 16px);
    color: #fff;
    font-weight: 500;
    line-height: 1.2;
}
.nkpro-flow__upload-label span {
    font-size: clamp(12px, 1.1vw, 16px);
    color: #fff;
}
/* Penpot fellowship Step 1: three-line upload prompt */
.nkpro-flow__upload-label--stacked strong {
    margin-bottom: 0;
}
.nkpro-flow__upload-label--stacked .nkpro-flow__upload-sub {
    display: block;
    line-height: 1.35;
}
.nkpro-flow__file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 4px;
    margin-bottom: 8px;
}
.nkpro-flow__file-name {
    font-size: clamp(12px, 1.1vw, 14px);
    color: rgba(255, 255, 255, 0.7);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nkpro-flow__file-remove {
    font-size: clamp(11px, 1vw, 12px);
    color: rgba(255, 100, 100, 0.8);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
}

/* ─── Topic Chips ─────────────────────────────────────────────────────────── */
.nkpro-flow__topic-grid {
    display: flex;
    gap: 10px;
    margin-bottom: clamp(16px, 2vw, 20px);
    flex-wrap: wrap;
}
.nkpro-flow__topic-chip {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    padding: clamp(8px, 1vw, 10px);
    font-size: clamp(12px, 1.1vw, 14px);
    color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    text-align: center;
    transition: all 0.2s;
}
.nkpro-flow__topic-chip:hover {
    border-color: rgba(48, 186, 186, 0.3);
}
.nkpro-flow__topic-chip.on {
    background: rgba(48, 186, 186, 0.1);
    border-color: rgba(48, 186, 186, 0.4);
    color: #30baba;
}

/* ─── Word Count ──────────────────────────────────────────────────────────── */
.nkpro-flow__word-count {
    float: right;
    font-size: clamp(11px, 1vw, 12px);
    color: rgba(255, 255, 255, 0.4);
    font-weight: 500;
}
.nkpro-flow__word-count.ok {
    color: #30baba;
}

/* ─── Review Blocks ───────────────────────────────────────────────────────── */
.nkpro-flow__review-block {
    margin-bottom: clamp(10px, 1.2vw, 12px);
    width: 100%;
    border-collapse: collapse;
    display: inline-block;
}
.nkpro-flow__review-block thead th:last-child {
    text-align: left;
}
.nkpro-flow__review-block td:first-child,
.nkpro-flow__review-block th:first-child {
    text-align: right;
    padding-right: clamp(12px, 1.5vw, 16px);
    text-wrap: nowrap;
}
.nkpro-flow__review-block tbody td {
    padding: clamp(2px, 0.3vw, 4px) 0 0;
    line-height: 1.3;
}
.nkpro-flow__review-title {
    font-size: clamp(11px, 1vw, 12px);
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-wrap: none;
}
.nkpro-flow__edit-link {
    font-size: clamp(11px, 1vw, 12px);
    color: #30baba;
    background: none;
    border-bottom: 1px solid;
    cursor: pointer;
    padding: 0;
    line-height: 1.2;
}
.nkpro-flow__review-block tbody td:last-child {
    font-weight: 600;
}
.table-divider {
    height: 10px;
}
.nkpro-flow__review-key {
    font-size: clamp(12px, 1.1vw, 14px);
    color: #fff;
    padding-right: clamp(12px, 1.5vw, 16px);
    white-space: nowrap;
}
.nkpro-flow__review-value {
    font-size: clamp(12px, 1.1vw, 14px);
    color: #fff;
    line-height: 1.4;
}

/* ─── Discount Banner ─────────────────────────────────────────────────────── */

/* ─── Confirmation & summary (shared) ───────────────────────────────────── */
.nkpro-flow__state--confirm {
    text-align: center;
    padding: clamp(12px, 2vw, 28px) 0 clamp(20px, 3vw, 40px);
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
}
.nkpro-flow__confirm-flow-head {
    width: 100%;
    max-width: min(100%, 52rem);
    margin: 0 auto;
}
.nkpro-flow__confirm-flow-title {
    margin: 0;
    font-size: clamp(22px, 1.13vw + 17.77px, 34px);
    font-weight: 400;
    line-height: 1.2;
    color: #fff;
}
.nkpro-flow__confirm-flow-head .nkpro-flow__header-divider {
    margin-top: clamp(12px, 1.5vw, 18px);
}
.nkpro-flow__confirm-icon {
    margin: clamp(14px, 2vw, 22px) auto clamp(12px, 1.8vw, 20px);
}
.nkpro-flow__confirm-icon--sent {
    width: clamp(56px, 12vw, 80px);
    height: clamp(56px, 12vw, 80px);
}
.nkpro-flow__confirm-icon--check {
    width: clamp(48px, 10vw, 64px);
    height: clamp(48px, 10vw, 64px);
}
.nkpro-flow__confirm-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}
.nkpro-flow__confirm-headline {
    margin: 0 auto;
    max-width: min(100%, 40rem);
    font-size: clamp(20px, 0.85vw + 16.8px, 30px);
    font-weight: 500;
    line-height: 1.2;
    color: #fff;
}
.nkpro-flow__confirm-desc {
    font-size: clamp(14px, 0.47vw + 12.2px, 21px);
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.35;
    max-width: var(--nkpro-summary-max);
    margin: clamp(10px, 1.2vw, 16px) auto clamp(18px, 2.2vw, 26px);
}
.nkpro-flow__summary,
.nkpro-flow__list-detail,
.nkpro-flow__confirm-detail {
    width: 100%;
    max-width: var(--nkpro-summary-max);
    margin: 0 auto clamp(18px, 2.2vw, 28px);
    text-align: left;
}
.nkpro-flow__summary--pro .nkpro-flow__summary-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: clamp(4px, 0.8vw, 12px) clamp(10px, 1.5vw, 20px);
    padding: clamp(8px, 1vw, 12px) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.nkpro-flow__summary--pro .nkpro-flow__summary-row:last-child {
    border-bottom: none;
}
.nkpro-flow__summary--pro .nkpro-flow__summary-key {
    flex: 0 0 auto;
    min-width: clamp(7em, 32vw, 10em);
    text-align: right;
    font-size: clamp(14px, 0.47vw + 12.2px, 21px);
    font-weight: 400;
    color: rgba(255, 255, 255, 0.92);
}
.nkpro-flow__summary--pro .nkpro-flow__summary-val {
    flex: 1 1 min(100%, 12rem);
    font-size: clamp(14px, 0.47vw + 12.2px, 21px);
    font-weight: 700;
    color: #fff;
    text-align: left;
}
.nkpro-flow__summary--boxed .nkpro-flow__summary-row,
.nkpro-flow__confirm-detail .nkpro-flow__confirm-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: clamp(8px, 1.2vw, 14px);
    padding: clamp(6px, 0.8vw, 10px) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.nkpro-flow__summary--boxed .nkpro-flow__summary-row:last-child,
.nkpro-flow__confirm-detail .nkpro-flow__confirm-row:last-child {
    border-bottom: none;
}
.nkpro-flow__summary--boxed .nkpro-flow__summary-key,
.nkpro-flow__confirm-detail .nkpro-flow__confirm-key {
    font-size: clamp(12px, 1.1vw, 14px);
    color: rgba(255, 255, 255, 0.4);
    flex-shrink: 0;
}
.nkpro-flow__summary--boxed .nkpro-flow__summary-val,
.nkpro-flow__confirm-detail .nkpro-flow__confirm-value {
    font-size: clamp(12px, 1.1vw, 14px);
    color: rgba(255, 255, 255, 0.7);
    text-align: right;
    word-break: break-word;
}
.nkpro-flow__confirm-actions {
    width: 100%;
    max-width: var(--nkpro-cta-wide);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(10px, 1.2vw, 14px);
}
.nkpro-flow__submit--wide {
    width: 100%;
    max-width: var(--nkpro-cta-wide);
}
.nkpro-flow__review-value--grey {
    color: rgba(255, 255, 255, 0.5);
}
.pricing-discount {
    font-size: clamp(18px, 2vw, 27px);
    font-weight: 900;
    color: #30baba;
    margin-bottom: 8px;
    line-height: 1.3;
}

/* ─── Mobile breakpoint (≤ 900px) ────────────────────────────────────────── */
@media (max-width: 900px) {
    /* Stack layout: hide left panel, go full-width */
    .nkpro-flow__layout {
        flex-direction: column;
        min-height: unset;
    }
    .nkpro-flow__left {
        display: none; /* hidden on mobile — logo appears in topbar instead */
    }
    .nkpro-flow__right {
        width: 100%;
    }

    /* Tighter state padding */
    .nkpro-flow__state {
        padding: 20px 16px 16px;
    }

    /* Single-column form grid */
    .nkpro-flow__form-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    /* Bottom cards stack */
    .nkpro-flow__bottom-cards {
        grid-template-columns: 1fr;
    }

    /* Topbar adjusts for small screen */
    .nkpro-flow__topbar {
        grid-template-columns: 24px auto 1fr;
        gap: 20px;
    }
    .nkpro-flow__topbar > img {
        width: 90px;
    }

    /* Form actions wrap */
    .nkpro-flow__form-actions {
        flex-wrap: wrap;
        margin-bottom: 20px;
    }
    .nkpro-flow__forgot {
        order: 2;
        margin: 4px 0 0;
    }

    /* Topic grid becomes 2 columns */
    .nkpro-flow__topic-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Cohort strip becomes single column */
    .nkpro-flow__cohort-strip {
        grid-template-columns: 1fr;
    }

    /* Form row stacks on small screens */
    .nkpro-flow__form-row {
        flex-direction: column;
        gap: 0;
    }

    /* Review blocks adjustments */
    .nkpro-flow__review-key {
        width: auto;
        padding-right: 0;
    }

    .nkpro-flow__summary--pro .nkpro-flow__summary-row {
        flex-direction: column;
        align-items: center;
    }
    .nkpro-flow__summary--pro .nkpro-flow__summary-key,
    .nkpro-flow__summary--pro .nkpro-flow__summary-val {
        text-align: center;
        min-width: 0;
        flex: 1 1 auto;
    }
}
