.krf-proposal {
    height: 676rem;
    background: #fff;
    font-family: Montserrat, Arial, sans-serif;
    color: #fff;
}
.krf-proposal__panel {
    position: relative;
    width: 1500rem;
    height: 676rem;
    max-width: calc(100% - 40rem);
    margin: 0 auto;
    overflow: hidden;
    border-radius: 30rem;
    background-image: var(--krf-proposal-bg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    box-shadow: 0 1.172rem 2.344rem rgba(0, 0, 0, .05);
}
.krf-proposal__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(246.3069deg, rgba(0,0,0,.5) 1.9263%, rgba(0,0,0,0) 55.214%);
    pointer-events: none;
}
.krf-proposal__content {
    position: absolute;
    z-index: 2;
    left: 120.31rem;
    top: 71.48rem;
    width: 829.688rem;
}
.krf-proposal__intro {
    display: flex;
    flex-direction: column;
    gap: 28.125rem;
}
.krf-proposal__title {
    width: 692rem;
    margin: 0;
    color: #fff;
    font-size: 48rem;
    line-height: 1.2;
    font-weight: 700;
}
.krf-proposal__benefits {
    width: 632.265rem;
    display: flex;
    flex-direction: column;
    gap: 23.438rem;
}
.krf-proposal__benefit {
    display: flex;
    align-items: flex-start;
    gap: 23.438rem;
}
.krf-proposal__benefit-icon {
    flex: 0 0 46.875rem;
    width: 46.875rem;
    height: 46.875rem;
    border-radius: 999rem;
    background: #fff;
    display: grid;
    place-items: center;
}
.krf-proposal__benefit-icon-image {
    display: block;
    width: 19rem;
    height: 18rem;
    object-fit: contain;
}
.krf-proposal__benefit-copy {
    display: flex;
    flex-direction: column;
    gap: 11.719rem;
    min-width: 0;
    padding-top: 0;
}
.krf-proposal__benefit-title {
    display: block;
    color: #fff;
    font-size: 24rem;
    line-height: 1.2;
    font-weight: 500;
}
.krf-proposal__benefit-text {
    display: block;
    color: #fff;
    font-size: 16.406rem;
    line-height: 1.2;
    font-weight: 400;
}
.krf-proposal__benefit-text strong { font-weight: 700; }
.krf-proposal__form {
    position: relative;
    width: 829.688rem;
    margin-top: 35.156rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 300rem;
    column-gap: 18.75rem;
    row-gap: 28.125rem;
    align-items: end;
}
.krf-proposal__field {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4.688rem;
}
.krf-proposal__label {
    height: 23.438rem;
    color: #fff;
    font-size: 16.406rem;
    line-height: 23.438rem;
    font-weight: 500;
}
.krf-proposal__field input,
.krf-proposal__field select {
    box-sizing: border-box;
    width: 100%;
    height: 58.594rem;
    border: 1.172rem solid #d1d5db;
    border-radius: 9.375rem;
    outline: 0;
    background: #fff;
    color: #333;
    font: 400 16.406rem/21.094rem Montserrat, Arial, sans-serif;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.krf-proposal__field input { padding: 0 18.75rem; }
.krf-proposal__field input::placeholder { color: #9ca3af; opacity: 1; }
.krf-proposal__field input:focus,
.krf-proposal__field select:focus { border-color: #2563eb; box-shadow: 0 0 0 2rem rgba(37,99,235,.18); }
.krf-proposal__select-wrap { position: relative; display: block; }
.krf-proposal__field select {
    appearance: none;
    -webkit-appearance: none;
    padding: 0 45rem 0 18.75rem;
    color: #9ca3af;
    cursor: pointer;
}
.krf-proposal__select-arrow {
    position: absolute;
    right: 19rem;
    top: 50%;
    width: 13rem;
    height: 8rem;
    transform: translateY(-50%);
    pointer-events: none;
}
.krf-proposal__submit {
    width: 300rem;
    height: 58.594rem;
    padding: 0 23.438rem;
    border: 0;
    border-radius: 9.375rem;
    background: #2563eb;
    color: #fff;
    font: 700 18.75rem/28.125rem Montserrat, Arial, sans-serif;
    text-align: center;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}
.krf-proposal__submit:hover { background: #1d4ed8; }
.krf-proposal__submit:active { transform: translateY(1rem); }
.krf-proposal__consent {
    grid-column: 1 / -1;
    position: relative;
    display: grid;
    grid-template-columns: 17.578rem minmax(0, 1fr);
    gap: 9.375rem;
    align-items: start;
    width: 600rem;
    max-width: 100%;
    color: #fff;
    cursor: pointer;
}
.krf-proposal__consent input {
    position: absolute;
    width: 1rem;
    height: 1rem;
    opacity: 0;
    pointer-events: none;
}
.krf-proposal__checkbox {
    box-sizing: border-box;
    width: 17.578rem;
    height: 17.578rem;
    margin-top: 4.688rem;
    border: 2.344rem solid #e5e7eb;
    border-radius: 4.688rem;
    background: transparent;
}
.krf-proposal__consent input:checked + .krf-proposal__checkbox {
    border-color: #2563eb;
    background: #2563eb;
    box-shadow: inset 0 0 0 3rem #fff;
}
.krf-proposal__consent input:focus-visible + .krf-proposal__checkbox { outline: 2rem solid #fff; outline-offset: 2rem; }
.krf-proposal__consent-text {
    color: #fff;
    font-size: 16.406rem;
    line-height: 23.438rem;
    font-weight: 400;
}
.krf-proposal__consent-text a { color: #2563eb; text-decoration: none; }
.krf-proposal__consent-text a:hover { text-decoration: underline; }
.krf-proposal__status {
    grid-column: 1 / -1;
    min-height: 0;
    margin-top: -16rem;
    color: #fff;
    font-size: 14rem;
    line-height: 20rem;
}
.krf-proposal__contact {
    position: absolute;
    z-index: 3;
    left: 1122.66rem;
    top: 319.92rem;
    width: 328.125rem;
    height: 167.578rem;
    padding: 18.75rem;
    border-radius: 18.75rem;
    background: #f9fafb;
    color: #333;
    display: grid;
    grid-template-columns: 46.875rem minmax(0, 1fr);
    gap: 14.065rem;
    box-sizing: border-box;
}
.krf-proposal__contact-icon {
    width: 46.875rem;
    height: 46.875rem;
    border-radius: 999rem;
    background: #dbeafe;
    display: grid;
    place-items: center;
}
.krf-proposal__contact-icon img { width: 20rem; height: 19rem; display: block; }
.krf-proposal__contact-copy { display: flex; flex-direction: column; min-width: 0; }
.krf-proposal__contact-copy strong {
    margin-top: 0;
    color: #333;
    font-size: 18.75rem;
    line-height: 28.125rem;
    font-weight: 500;
}
.krf-proposal__contact-copy > span:not(.krf-proposal__contact-messengers) {
    color: #4b5563;
    font-size: 16.406rem;
    line-height: 23.438rem;
    font-weight: 400;
}
.krf-proposal__contact-copy a,
.krf-proposal__contact-messengers {
    color: #2563eb;
    font-size: 18.75rem;
    line-height: 28.125rem;
    font-weight: 500;
    text-decoration: none;
}
.krf-proposal__contact-copy a { margin-top: 4rem; }
.krf-proposal__contact-messengers { margin-top: 0; }

@media (max-width: 767px) {
    .krf-proposal { height: 798rem; }
    .krf-proposal__panel {
        width: 480rem;
        max-width: 100%;
        height: 798rem;
        border-radius: 0;
        background-position: center top;
        background-size: auto 838rem;
    }
    .krf-proposal__content {
        left: 20rem;
        top: 71rem;
        width: 440rem;
    }
    .krf-proposal__intro { gap: 28.125rem; }
    .krf-proposal__title {
        width: 440rem;
        font-size: 28rem;
        line-height: 1.2;
    }
    .krf-proposal__benefits {
        width: 440rem;
        gap: 23.438rem;
    }
    .krf-proposal__benefit { gap: 23.438rem; }
    .krf-proposal__benefit-title { font-size: 20rem; }
    .krf-proposal__benefit-text { font-size: 16.406rem; line-height: 1.2; }
    .krf-proposal__form {
        width: 440rem;
        margin-top: 35.156rem;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 18.75rem;
    }
    .krf-proposal__field { width: 100%; }
    .krf-proposal__submit {
        width: 100%;
        height: 62rem;
        flex: 0 0 62rem;
    }
    .krf-proposal__consent {
        width: 440rem;
        grid-template-columns: 17.578rem minmax(0, 1fr);
        margin-top: 10rem;
    }
    .krf-proposal__consent-text {
        font-size: 16.406rem;
        line-height: 23.438rem;
    }
    .krf-proposal__status { margin-top: -8rem; }
    .krf-proposal__contact { display: none; }
}

.krf-form-missing{padding:18rem 20rem;border:1rem dashed rgba(255,255,255,.55);border-radius:10rem;color:#fff;font-size:14rem;line-height:1.4}

.krf-proposal__cf7,.krf-proposal__cf7>.wpcf7{width:829.688rem;max-width:100%}.krf-proposal__form>p{display:contents}.krf-proposal__form .wpcf7-form-control-wrap{display:block}.krf-proposal__select-wrap::after{content:"";position:absolute;right:19rem;top:50%;width:13rem;height:8rem;transform:translateY(-50%);background:url('../icons/proposal/select-arrow.svg') center/contain no-repeat;pointer-events:none}.krf-proposal__consent{display:block}.krf-proposal__consent .wpcf7-list-item{margin:0}.krf-proposal__consent label{display:grid;grid-template-columns:17.578rem minmax(0,1fr);gap:9.375rem;align-items:start}.krf-proposal__consent input[type=checkbox]{position:relative;width:17.578rem;height:17.578rem;margin:4.688rem 0 0;opacity:1;pointer-events:auto;appearance:none;border:2.344rem solid #e5e7eb;border-radius:4.688rem;background:transparent}.krf-proposal__consent input[type=checkbox]:checked{border-color:#2563eb;background:#2563eb;box-shadow:inset 0 0 0 3rem #fff}.krf-proposal__consent .wpcf7-list-item-label{color:#fff;font-size:16.406rem;line-height:23.438rem}.krf-proposal__consent .wpcf7-list-item-label a{color:#2563eb;text-decoration:none}.krf-proposal__form .wpcf7-spinner{position:absolute;right:4rem;bottom:4rem}.krf-proposal__cf7 .wpcf7-response-output{grid-column:1/-1;margin:0!important;padding:6rem 10rem!important;border-width:1rem!important;color:#fff;font-size:14rem;line-height:20rem}.krf-proposal__cf7 .wpcf7-not-valid-tip{margin-top:4rem;color:#fff;font-size:12rem;line-height:16rem}@media(max-width:767px){.krf-proposal__cf7,.krf-proposal__cf7>.wpcf7{width:440rem}}


/* v19: CF7 layout hardened against wpautop wrappers and stray <br> nodes. */
.krf-proposal__form > br,
.krf-proposal__row > br,
.krf-proposal__submit-cell > br { display: none !important; }
.krf-proposal__form > p,
.krf-proposal__row > p,
.krf-proposal__submit-cell > p { display: contents !important; margin: 0 !important; }
.krf-proposal__row {
    grid-column: 1 / -1;
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) 300rem;
    column-gap: 18.75rem;
    align-items: end;
}
.krf-proposal__submit-cell {
    width: 300rem;
    min-width: 0;
    display: flex;
    align-items: flex-end;
}
.krf-proposal__submit-cell .krf-proposal__submit { width: 100%; }

@media (min-width:768px) {
    /* Old importer markup fallback: explicitly pin every CF7 control to its Figma column. */
    .krf-proposal__form .krf-proposal__field:has(select[name="krf_delivery_method"]) { grid-column: 1; grid-row: 1; }
    .krf-proposal__form .krf-proposal__field:has(input[name="krf_phone"]) { grid-column: 2; grid-row: 1; }
    .krf-proposal__form .krf-proposal__submit { grid-column: 3; grid-row: 1; width: 300rem !important; align-self: end; justify-self: stretch; }
    .krf-proposal__form .krf-proposal__consent { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width:767px) {
    /* Let the forced desktop line break disappear on mobile so the heading wraps naturally as in Figma. */
    .krf-proposal__title br { display: none; }
    .krf-proposal__form { gap: 28.125rem; }
    .krf-proposal__row {
        display: flex;
        flex-direction: column;
        gap: 18.75rem;
        width: 100%;
    }
    .krf-proposal__submit-cell { width: 100%; }
    .krf-proposal__consent { margin-top: 0; }
}
