/* Frontend */
.kmg-boden-breakout{
    width:100%;
    max-width:100%;
    margin:0;
    overflow:visible;
}
.kmg-boden-wrapper{
    width:100%;
    max-width:100%;
    margin:0 auto;
    padding:24px;
    background:transparent;
    box-sizing:border-box;
    color:#2f261f;
}
.kmg-boden-form{
    border-radius:16px;
    border:1px solid rgba(117,83,49,.10);
    background:rgba(255,255,255,.92);
    box-shadow:0 22px 55px rgba(59,39,20,.08);
    padding:24px;
}
.kmg-boden-contact-strip{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin:0 0 18px;
    padding:0;
    border:0;
    border-radius:16px;
    background:transparent;
}
.kmg-boden-contact-strip-copy{min-width:0;}
.kmg-contact-kicker{
    display:block;
    margin-bottom:4px;
    color:#88684a;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.kmg-boden-contact-strip-copy strong{
    display:block;
    font-size:20px;
    line-height:1.15;
    color:#3a2818;
}
.kmg-boden-contact-strip-copy p{
    margin:4px 0 0;
    color:#75685c;
    font-size:14px;
    line-height:1.5;
}
.kmg-contact-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.kmg-contact-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 18px;
    border-radius:16px;
    text-decoration:none;
    font-weight:800;
    font-size:14px;
    background:#7a522d;
    color:#fff;
    border:1px solid #7a522d;
    box-shadow:none;
    transition:all .2s ease;
}
.kmg-contact-link:hover{transform:translateY(-1px);opacity:.94;}
.kmg-contact-link-alt{
    background:#fff;
    color:#6a4524;
    border-color:#dccab8;
}
.kmg-boden-progress-shell{
    margin-bottom:28px;
    padding:18px;
    border-radius:16px;
    border:1px solid rgba(117,83,49,.10);
    background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.82) 100%);
    box-shadow:0 16px 34px rgba(59,39,20,.06);
}
.kmg-boden-progress{height:6px;background:#eadfd3;border-radius:99px;overflow:hidden;}
.kmg-boden-progress-bar{height:100%;background:linear-gradient(90deg,#6a4524 0%,#8f6540 55%,#c19a71 100%);transition:width .3s ease;}
.kmg-boden-progress-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px;}
.kmg-boden-progress-steps span{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 14px;border-radius:16px;border:1px solid #e8ddd1;background:#fff;color:#7f6e61;box-shadow:none;transition:all .25s ease;}
.kmg-boden-progress-steps span em{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:#efe4d7;color:#7a522d;font-style:normal;font-weight:800;flex:0 0 32px;}
.kmg-boden-progress-steps span strong{display:block;font-size:14px;line-height:1.2;font-weight:800;color:inherit;}
.kmg-boden-progress-steps span.active{color:#3e2a18;border-color:rgba(122,82,45,.18);background:linear-gradient(180deg,#f7f0e8 0%,#efe1d1 100%);box-shadow:0 8px 18px rgba(74,45,22,.08);}
.kmg-boden-progress-steps span.active em{background:linear-gradient(180deg,#7a522d 0%,#9a6b42 100%);color:#fff;}
.kmg-boden-step{display:none;}
.kmg-boden-step.active{display:block;}
.kmg-step-head{margin-bottom:18px;}
.kmg-step-head h3{
    margin:0 0 8px;
    color:#281a11;
    font-size:34px;
    line-height:1.15;
}
.kmg-step-head h4{
    margin:0 0 6px;
    color:#2e2118;
    font-size:20px;
    line-height:1.25;
}
.kmg-step-head p{margin:0;color:#6f6258;font-size:16px;line-height:1.7;}
.kmg-step-subhead{margin-bottom:14px;}
.kmg-service-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.kmg-service-card{display:block;cursor:pointer;}
.kmg-service-card input{display:none;}
.kmg-service-card-inner{
    display:block;
    position:relative;
    min-height:260px;
    border-radius:16px;
    overflow:hidden;
    background:#f3ece5;
    border:1px solid #e2d7ca;
    box-shadow:0 12px 28px rgba(74,45,22,.08);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.kmg-service-card:hover .kmg-service-card-inner{
    transform:translateY(-3px);
    box-shadow:0 18px 34px rgba(74,45,22,.12);
}
.kmg-service-image{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;}
.kmg-service-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,13,8,.08) 0%,rgba(20,13,8,.52) 100%);}
.kmg-service-title{
    position:absolute;left:18px;right:18px;bottom:18px;z-index:2;color:#fff;font-size:24px;line-height:1.2;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.25);
}
.kmg-service-card input:checked + .kmg-service-card-inner{border-color:#7a522d;box-shadow:0 0 0 3px rgba(122,82,45,.12),0 18px 34px rgba(74,45,22,.12);}
.kmg-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.kmg-choice-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.kmg-choice-card{display:block;cursor:pointer;}
.kmg-choice-card input{display:none;}
.kmg-choice-card span{
    min-height:88px;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;border-radius:16px;background:linear-gradient(180deg,#ffffff 0%,#faf6f1 100%);border:1px solid #e5d8ca;color:#3f3026;font-weight:700;box-shadow:0 8px 18px rgba(74,45,22,.05);transition:all .2s ease;
}
.kmg-choice-card input:checked + span{border-color:#7a522d;background:linear-gradient(180deg,#f7f0e8 0%,#efe1d1 100%);box-shadow:0 0 0 3px rgba(122,82,45,.10);}
.kmg-contact-pref-grid .kmg-choice-card span{min-height:72px;}
.kmg-contact-pref-grid.is-invalid .kmg-choice-card span{border-color:#b94f45;box-shadow:0 0 0 3px rgba(185,79,69,.12);}
.kmg-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.kmg-form-grid .full{grid-column:1 / -1;}
.kmg-form-grid label{display:block;color:#2e241d;font-weight:700;}
.kmg-spacing-top{margin-top:18px;}
.kmg-boden-form input[type="text"],
.kmg-boden-form input[type="email"],
.kmg-boden-form select,
.kmg-boden-form textarea{
    width:100%;margin-top:8px;box-sizing:border-box;border:1px solid #e0d3c5;border-radius:16px;background:#fff;padding:15px 16px;font-size:15px;
}
.kmg-boden-form input[type="text"]:focus,
.kmg-boden-form input[type="email"]:focus,
.kmg-boden-form select:focus,
.kmg-boden-form textarea:focus{outline:none;border-color:#9a6c42;box-shadow:0 0 0 4px rgba(154,108,66,.10);}
.kmg-boden-checkbox{display:flex !important;align-items:flex-start;gap:10px;margin-top:20px;color:#5f5348;}
.kmg-recaptcha-note{margin-top:14px;font-size:13px;color:#6e6257;}
.kmg-boden-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px;}
.kmg-boden-btn{border:0;border-radius:16px;padding:15px 24px;font-size:15px;font-weight:800;cursor:pointer;color:#fff;background:linear-gradient(90deg,#5a371a 0%,#8d6038 100%);box-shadow:0 12px 22px rgba(90,55,26,.14);}
.kmg-boden-btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;}
.kmg-boden-success{width:100%;box-sizing:border-box;margin:0 0 18px;background:#eef9f1;border:1px solid #cbe4d0;color:#255a2d;padding:14px 16px;border-radius:16px;font-weight:700;}

@media (max-width: 1100px){
    .kmg-boden-progress-steps{grid-template-columns:repeat(3,minmax(0,1fr));}
    .kmg-boden-contact-strip{flex-direction:column;align-items:flex-start;}
    .kmg-contact-actions{justify-content:flex-start;}
}
@media (max-width: 991px){
    .kmg-service-grid,
    .kmg-choice-grid,
    .kmg-choice-grid-2,
    .kmg-form-grid{grid-template-columns:1fr 1fr;}
    .kmg-boden-progress-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 767px){
    .kmg-boden-wrapper{padding:24px 16px;}
    .kmg-boden-form,
    .kmg-boden-progress-shell{padding:20px;}
    .kmg-service-grid,
    .kmg-choice-grid,
    .kmg-choice-grid-2,
    .kmg-form-grid{grid-template-columns:1fr;}
    .kmg-step-head h3{font-size:26px;}
    .kmg-boden-nav{flex-direction:column;}
    .kmg-boden-btn{width:100%;}
    .kmg-boden-progress{height:5px;}
    .kmg-boden-progress-steps{
        grid-template-columns:repeat(5,minmax(44px,1fr));
        gap:8px;
        margin-top:14px;
    }
    .kmg-boden-progress-steps span{
        min-height:48px;
        padding:8px;
        gap:0;
        justify-content:center;
    }
    .kmg-boden-progress-steps span strong{display:none;}
    .kmg-boden-progress-steps span em{width:30px;height:30px;flex:0 0 30px;font-size:14px;}
}

.kmg-boden-contact-strip-copy{display:none;}
.kmg-contact-kicker{display:none;}
.kmg-contact-actions{width:100%;justify-content:flex-end;}
.kmg-contact-link{min-height:44px;padding:0 18px;border-radius:16px;}
.kmg-boden-progress-shell{border-radius:16px;background:rgba(255,255,255,.88);}
.kmg-boden-progress-steps button,
.kmg-boden-progress-steps span{cursor:pointer;}
.kmg-boden-progress-steps span{border-radius:16px;}
.kmg-boden-progress-steps span.is-clickable:hover{border-color:rgba(122,82,45,.22);background:#fbf8f4;}
.kmg-service-card-inner,.kmg-choice-card span,.kmg-boden-success,.kmg-boden-btn,.kmg-boden-form input[type="text"],
.kmg-boden-form input[type="email"],.kmg-boden-form select,.kmg-boden-form textarea{border-radius:16px;}


.kmg-boden-contact-strip{display:none !important;}
