.lsf-wrap{
    --lsf-text:#171717;
    --lsf-muted:#6e685f;
    --lsf-line:#ded7cb;
    --lsf-line-strong:#c9baa3;
    --lsf-bg:#f5f1ea;
    --lsf-card:#fffdf9;
    --lsf-gold:#b58a4c;
    --lsf-gold-soft:#efe2cf;
    --lsf-dark:#171717;
    color:var(--lsf-text);
    font-family:inherit;
    padding:34px 0;
    position:relative;
}
.lsf-wrap:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 8% 8%,rgba(181,138,76,.14),transparent 28%),
        radial-gradient(circle at 92% 14%,rgba(23,23,23,.06),transparent 25%);
    pointer-events:none;
}
.lsf-card{
    position:relative;
    max-width:900px;
    margin:0 auto;
    background:
        linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,253,249,.98));
    border:1px solid rgba(181,138,76,.28);
    border-radius:30px;
    padding:clamp(28px,5vw,62px);
    box-shadow:
        0 28px 70px rgba(30,24,15,.10),
        0 4px 18px rgba(30,24,15,.05);
    overflow:hidden;
}
.lsf-card:before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:5px;
    background:linear-gradient(90deg,var(--lsf-dark),var(--lsf-gold),var(--lsf-dark));
}
.lsf-brand{
    display:flex;
    align-items:baseline;
    gap:9px;
    margin-bottom:34px;
    letter-spacing:.16em;
}
.lsf-brand-name{
    font-size:15px;
    font-weight:800;
}
.lsf-brand-subtitle{
    color:var(--lsf-gold);
    font-size:10px;
    font-weight:700;
}
.lsf-progress{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin:0 0 52px;
}
.lsf-progress span{
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
    color:#9a9388;
    font-size:11px;
    font-weight:700;
    letter-spacing:.02em;
}
.lsf-progress span:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-12px;
    height:3px;
    border-radius:999px;
    background:#ebe6de;
    transition:background .25s ease,transform .25s ease;
}
.lsf-progress span b{
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
    flex:0 0 26px;
    border:1px solid #d9d1c6;
    border-radius:50%;
    background:#fff;
    color:#8d8579;
    font-size:11px;
}
.lsf-progress span:before{
    content:attr(data-label);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.lsf-progress span.is-active{
    color:var(--lsf-text);
}
.lsf-progress span.is-active:after{
    background:linear-gradient(90deg,var(--lsf-dark),var(--lsf-gold));
}
.lsf-progress span.is-active b{
    border-color:var(--lsf-dark);
    background:var(--lsf-dark);
    color:#fff;
}
.lsf-step{display:none}
.lsf-step.is-active{display:block;animation:lsfFade .28s ease}
@keyframes lsfFade{
    from{opacity:0;transform:translateY(7px)}
    to{opacity:1;transform:translateY(0)}
}
.lsf-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0 0 12px;
    color:var(--lsf-gold);
    font-size:12px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.lsf-eyebrow:before{
    content:"";
    width:22px;
    height:1px;
    background:var(--lsf-gold);
}
.lsf-card h2{
    margin:0 0 15px!important;
    color:var(--lsf-text)!important;
    font-size:clamp(31px,4.4vw,50px)!important;
    font-weight:500!important;
    line-height:1.05!important;
    letter-spacing:-.035em!important;
}
.lsf-intro,.lsf-budget-block p,.lsf-result p{
    max-width:720px;
    color:var(--lsf-muted)!important;
    font-size:17px!important;
    line-height:1.7!important;
}
.lsf-trust-row{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin:24px 0 32px;
}
.lsf-trust-row span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:9px 12px;
    border:1px solid var(--lsf-line);
    border-radius:999px;
    background:#fbf8f3;
    color:#60594f;
    font-size:12px;
    font-weight:700;
}
.lsf-trust-row span:before{
    content:"✓";
    color:var(--lsf-gold);
    font-weight:900;
}
.lsf-grid{
    display:grid;
    gap:20px;
}
.lsf-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lsf-field{
    display:block;
    margin:27px 0;
    border:0!important;
    padding:0!important;
}
.lsf-field>span,.lsf-field legend{
    display:block;
    margin-bottom:11px!important;
    color:var(--lsf-text)!important;
    font-size:15px!important;
    font-weight:750!important;
    line-height:1.35!important;
}
.lsf-field input[type="text"],
.lsf-field input[type="email"],
.lsf-field input[type="tel"],
.lsf-field input[type="date"],
.lsf-field input[type="time"],
.lsf-field select,
.lsf-field textarea{
    width:100%!important;
    min-height:54px;
    box-sizing:border-box!important;
    border:1px solid var(--lsf-line)!important;
    border-radius:15px!important;
    background:#fff!important;
    color:var(--lsf-text)!important;
    padding:15px 17px!important;
    font:inherit!important;
    font-size:16px!important;
    box-shadow:0 5px 16px rgba(27,22,15,.03)!important;
    outline:none!important;
    transition:border-color .2s,box-shadow .2s,transform .2s!important;
}
.lsf-field textarea{
    min-height:125px;
    resize:vertical;
}
.lsf-field input::placeholder,
.lsf-field textarea::placeholder{
    color:#aaa297!important;
}
.lsf-field input:focus,
.lsf-field select:focus,
.lsf-field textarea:focus{
    border-color:var(--lsf-gold)!important;
    box-shadow:0 0 0 4px rgba(181,138,76,.12)!important;
}
.lsf-options{
    display:grid;
    gap:11px;
}
.lsf-options legend{
    grid-column:1/-1;
}
.lsf-options label{
    display:flex!important;
    gap:13px!important;
    align-items:flex-start!important;
    min-height:54px;
    padding:15px 17px!important;
    margin:0!important;
    border:1px solid var(--lsf-line)!important;
    border-radius:15px!important;
    background:#fff!important;
    color:var(--lsf-text)!important;
    cursor:pointer!important;
    box-shadow:0 5px 16px rgba(27,22,15,.03);
    transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;
}
.lsf-options label:hover{
    border-color:var(--lsf-line-strong)!important;
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(27,22,15,.05);
}
.lsf-options label:has(input:checked){
    border-color:var(--lsf-gold)!important;
    background:linear-gradient(180deg,#fffaf2,#faf2e7)!important;
    box-shadow:0 0 0 3px rgba(181,138,76,.10)!important;
}
.lsf-options input{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:grid!important;
    place-content:center!important;
    width:20px!important;
    height:20px!important;
    margin:1px 0 0!important;
    border:1.5px solid #bfb6aa!important;
    background:#fff!important;
    flex:0 0 20px!important;
}
.lsf-options input[type="radio"]{
    border-radius:50%!important;
}
.lsf-options input[type="checkbox"]{
    border-radius:6px!important;
}
.lsf-options input:checked{
    border-color:var(--lsf-dark)!important;
    background:var(--lsf-dark)!important;
}
.lsf-options input[type="radio"]:checked:before{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:#fff;
}
.lsf-options input[type="checkbox"]:checked:before{
    content:"✓";
    color:#fff;
    font-size:13px;
    font-weight:900;
    line-height:1;
}
.lsf-budget-block{
    margin-top:18px;
    padding:28px;
    border:1px solid rgba(181,138,76,.26);
    border-radius:22px;
    background:
        linear-gradient(145deg,rgba(239,226,207,.55),rgba(255,255,255,.92));
}
.lsf-budget-block h2{
    font-size:clamp(26px,3.6vw,40px)!important;
}
.lsf-actions{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:14px!important;
    margin-top:38px!important;
    padding-top:26px;
    border-top:1px solid #ece6dc;
}
.lsf-wrap .lsf-btn,
.lsf-wrap button.lsf-btn,
.elementor .lsf-wrap .lsf-btn,
.elementor .lsf-wrap button.lsf-btn{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:52px!important;
    border:1px solid var(--lsf-dark)!important;
    border-radius:999px!important;
    background:var(--lsf-dark)!important;
    background-image:none!important;
    color:#fff!important;
    padding:14px 25px!important;
    font:inherit!important;
    font-size:14px!important;
    font-weight:800!important;
    letter-spacing:.01em!important;
    line-height:1!important;
    text-decoration:none!important;
    box-shadow:0 10px 24px rgba(23,23,23,.16)!important;
    cursor:pointer!important;
    transition:transform .18s,box-shadow .18s,background .18s,border-color .18s!important;
}
.lsf-wrap .lsf-btn:hover,
.lsf-wrap button.lsf-btn:hover,
.elementor .lsf-wrap .lsf-btn:hover,
.elementor .lsf-wrap button.lsf-btn:hover{
    transform:translateY(-2px)!important;
    background:var(--lsf-gold)!important;
    border-color:var(--lsf-gold)!important;
    color:#fff!important;
    box-shadow:0 14px 28px rgba(181,138,76,.24)!important;
}
.lsf-wrap .lsf-btn-light,
.lsf-wrap button.lsf-btn-light,
.elementor .lsf-wrap .lsf-btn-light,
.elementor .lsf-wrap button.lsf-btn-light{
    background:#fff!important;
    color:var(--lsf-dark)!important;
    border-color:var(--lsf-line-strong)!important;
    box-shadow:none!important;
}
.lsf-wrap .lsf-btn-light:hover,
.lsf-wrap button.lsf-btn-light:hover{
    background:#f7f1e8!important;
    color:var(--lsf-dark)!important;
    border-color:var(--lsf-gold)!important;
}
.lsf-consent{
    display:flex!important;
    gap:11px!important;
    align-items:flex-start!important;
    margin:25px 0!important;
    padding:15px 16px;
    border:1px solid var(--lsf-line);
    border-radius:14px;
    background:#fbf8f3;
    color:var(--lsf-muted)!important;
    font-size:13px!important;
    line-height:1.55!important;
}
.lsf-consent input{
    width:18px!important;
    height:18px!important;
    margin-top:2px!important;
    accent-color:var(--lsf-dark)!important;
}
.lsf-result{
    padding:34px 0 10px;
}
.lsf-result:before{
    content:"✓";
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    margin-bottom:24px;
    border-radius:50%;
    background:var(--lsf-dark);
    color:#fff;
    font-size:25px;
    font-weight:900;
}
.lsf-error-result:before{
    content:"!";
}
.lsf-budget-block[hidden],
[hidden]{display:none!important}
.lsf-conditional{display:block}
.lsf-lead-form.is-submitting,.is-submitting{opacity:.58;pointer-events:none}

@media(max-width:760px){
    .lsf-wrap{padding:0}
    .lsf-card{
        border-radius:0;
        border-left:0;
        border-right:0;
        padding:30px 20px 42px;
        box-shadow:none;
    }
    .lsf-brand{margin-bottom:26px}
    .lsf-progress{
        gap:7px;
        margin-bottom:42px;
    }
    .lsf-progress span{
        gap:0;
    }
    .lsf-progress span:before{
        display:none;
    }
    .lsf-progress span b{
        width:24px;
        height:24px;
        flex-basis:24px;
    }
    .lsf-grid-2{grid-template-columns:1fr}
    .lsf-trust-row{
        display:grid;
        grid-template-columns:1fr;
    }
    .lsf-budget-block{
        padding:22px 17px;
    }
    .lsf-actions{
        align-items:stretch!important;
    }
    .lsf-wrap .lsf-btn,
    .lsf-wrap button.lsf-btn{
        flex:1!important;
        padding-left:16px!important;
        padding-right:16px!important;
    }
}

.lsf-draft-note{
    margin:-18px 0 30px;
    color:#8a8277!important;
    font-size:12px!important;
    line-height:1.55!important;
}
