.quote-page{
    min-height:calc(100vh - 84px);
    background:#05090c;
}

.quote-back{
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:12px;
    color:#c7cccf;
    font-size:10px;
    font-weight:700;
    letter-spacing:.045em;
    transition:.2s ease;
}

.quote-back span{
    color:var(--red);
    font-size:18px;
}

.quote-back:hover{
    color:#fff;
}


/* MAIN GRID */
.quote-shell{
    border-bottom:1px solid var(--line);
}

.quote-grid{
    min-height:760px;
    display:grid;
    grid-template-columns:.82fr 1.18fr;
}


/* INTRO */
.quote-intro{
    position:relative;
    min-height:760px;
    padding:78px 70px 68px 0;
    overflow:hidden;
    border-right:1px solid var(--line);
    background:
        radial-gradient(circle at 35% 18%,rgba(18,34,43,.35),transparent 30%),
        #05090c;
}

.quote-intro-inner{
    position:relative;
    z-index:2;
    max-width:555px;
}

.quote-intro h1{
    margin:0;
    font-size:clamp(46px,4.6vw,76px);
    line-height:.95;
    font-weight:800;
    letter-spacing:-.06em;
}

.quote-intro h1 em{
    display:inline-block;
    color:var(--red);
    font-style:normal;
}

.quote-lead{
    max-width:520px;
    margin:28px 0 43px;
    color:#aab2b7;
    font-size:14px;
    line-height:1.8;
}

.quote-steps{
    border-top:1px solid var(--line);
}

.quote-step{
    min-height:92px;
    display:grid;
    grid-template-columns:54px 1fr;
    gap:20px;
    align-items:center;
    border-bottom:1px solid var(--line);
}

.quote-step > span{
    color:var(--red);
    font-size:19px;
    font-weight:500;
}

.quote-step strong{
    display:block;
    margin-bottom:6px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.04em;
}

.quote-step small{
    display:block;
    max-width:360px;
    color:#7f898e;
    font-size:10px;
    line-height:1.55;
}

.quote-contact-box{
    margin-top:38px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border:1px solid var(--line);
    background:rgba(9,16,20,.8);
}

.quote-contact-box a{
    position:relative;
    min-height:84px;
    padding:18px 42px 18px 18px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-right:1px solid var(--line);
}

.quote-contact-box a:last-child{
    border-right:0;
}

.quote-contact-box small{
    margin-bottom:6px;
    color:var(--red);
    font-size:7px;
    font-weight:800;
    letter-spacing:.13em;
}

.quote-contact-box strong{
    overflow:hidden;
    color:#e7eaeb;
    font-size:10px;
    font-weight:600;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.quote-contact-box a > span{
    position:absolute;
    right:15px;
    top:50%;
    color:var(--red);
    font-size:16px;
    transform:translateY(-50%);
}

.quote-decor{
    position:absolute;
    right:-205px;
    bottom:-190px;
    width:500px;
    height:500px;
    pointer-events:none;
}

.decor-ring{
    position:absolute;
    left:50%;
    top:50%;
    border:1px solid rgba(237,28,36,.20);
    border-radius:50%;
    transform:translate(-50%,-50%);
}

.ring-1{
    width:210px;
    height:210px;
}

.ring-2{
    width:330px;
    height:330px;
}

.ring-3{
    width:455px;
    height:455px;
}

.decor-bolt{
    position:absolute;
    left:50%;
    top:50%;
    color:rgba(237,28,36,.12);
    font-size:130px;
    font-weight:300;
    transform:translate(-50%,-50%);
}


/* FORM AREA */
.quote-form-area{
    padding:68px 0 68px 70px;
    display:flex;
    align-items:flex-start;
}

.quote-form{
    width:100%;
    max-width:790px;
    margin:0 auto;
}

.form-heading{
    padding-bottom:27px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    border-bottom:1px solid var(--line);
}

.form-heading .eyebrow{
    margin-bottom:11px;
}

.form-heading h2{
    margin:0;
    font-size:34px;
    line-height:1;
    font-weight:600;
    letter-spacing:-.045em;
}

.form-number{
    color:rgba(255,255,255,.09);
    font-size:65px;
    line-height:.7;
    font-weight:800;
    letter-spacing:-.08em;
}

.form-error{
    margin-top:24px;
    padding:15px 17px;
    display:grid;
    grid-template-columns:30px 1fr;
    gap:13px;
    align-items:center;
    border:1px solid rgba(237,28,36,.55);
    background:rgba(237,28,36,.07);
}

.form-error > span{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border:1px solid var(--red);
    border-radius:50%;
    color:var(--red);
    font-weight:800;
}

.form-error p{
    margin:0;
    color:#e4e7e8;
    font-size:11px;
    line-height:1.5;
}

.form-section-title{
    margin:31px 0 17px;
    display:flex;
    align-items:center;
    gap:12px;
}

.form-section-title.second{
    margin-top:40px;
}

.form-section-title > span{
    color:var(--red);
    font-size:11px;
    font-weight:700;
}

.form-section-title p{
    margin:0;
    color:#8e989d;
    font-size:9px;
    font-weight:700;
    letter-spacing:.11em;
}

.form-section-title::after{
    content:"";
    height:1px;
    flex:1;
    background:var(--line);
}

.form-pair{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:17px;
}

.quote-form label{
    margin-bottom:17px;
    display:block;
}

.quote-form label > span:first-child{
    display:block;
    margin-bottom:9px;
    color:#c4c9cc;
    font-size:8px;
    font-weight:700;
    letter-spacing:.09em;
}

.quote-form label > span b{
    color:var(--red);
    font-weight:800;
}

.quote-form input:not([type="checkbox"]),
.quote-form textarea{
    width:100%;
    outline:0;
    border:1px solid #273238;
    border-radius:0;
    background:#091014;
    color:#f1f3f4;
    transition:.2s ease;
}

.quote-form input:not([type="checkbox"]){
    height:55px;
    padding:0 16px;
}

.quote-form textarea{
    min-height:175px;
    padding:16px;
    resize:vertical;
    line-height:1.6;
}

.quote-form input::placeholder,
.quote-form textarea::placeholder{
    color:#59656b;
}

.quote-form input:focus,
.quote-form textarea:focus{
    border-color:var(--red);
    background:#0b1317;
    box-shadow:0 0 0 1px rgba(237,28,36,.10);
}

.trap{
    position:absolute!important;
    left:-99999px!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    pointer-events:none!important;
}

.consent{
    position:relative;
    margin-top:6px;
    padding:16px 0;
    display:flex!important;
    align-items:flex-start;
    gap:12px;
    cursor:pointer;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}

.consent input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.custom-check{
    width:22px;
    height:22px;
    margin:0!important;
    flex:0 0 22px;
    display:grid!important;
    place-items:center;
    border:1px solid #3a464d;
    color:transparent!important;
    font-size:11px!important;
    transition:.2s ease;
}

.consent input:checked + .custom-check{
    border-color:var(--red);
    background:var(--red);
    color:#fff!important;
}

.consent-text{
    margin:0!important;
    color:#8f999e!important;
    font-size:9px!important;
    line-height:1.6;
    letter-spacing:0!important;
}

.form-submit-row{
    margin-top:27px;
    display:flex;
    justify-content:space-between;
    gap:25px;
    align-items:center;
}

.form-required{
    color:#707b80;
    font-size:8px;
    letter-spacing:.07em;
}

.form-required span{
    color:var(--red);
}

.submit-button{
    min-width:280px;
    border:0;
}


/* SUCCESS */
.quote-success{
    width:100%;
    max-width:700px;
    margin:auto;
    padding:90px 0;
}

.success-icon{
    width:72px;
    height:72px;
    margin-bottom:33px;
    display:grid;
    place-items:center;
    border:2px solid var(--red);
    border-radius:50%;
    color:var(--red);
    font-size:31px;
}

.quote-success h2{
    margin:0;
    font-size:clamp(42px,5vw,70px);
    line-height:.94;
    font-weight:700;
    letter-spacing:-.055em;
}

.quote-success > p:not(.eyebrow){
    max-width:510px;
    margin:27px 0 33px;
    color:#aab2b7;
    font-size:14px;
    line-height:1.8;
}

.success-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}


/* TABLET */
@media (max-width:1050px){

    .quote-grid{
        grid-template-columns:.9fr 1.1fr;
    }

    .quote-intro{
        padding-right:40px;
    }

    .quote-form-area{
        padding-left:45px;
    }

    .quote-contact-box{
        grid-template-columns:1fr;
    }

    .quote-contact-box a{
        border-right:0;
        border-bottom:1px solid var(--line);
    }

    .quote-contact-box a:last-child{
        border-bottom:0;
    }

}


/* MOBILE */
@media (max-width:800px){

    .quote-grid{
        display:block;
    }

    .quote-intro{
        min-height:auto;
        padding:55px 0 48px;
        border-right:0;
        border-bottom:1px solid var(--line);
    }

    .quote-intro-inner{
        max-width:100%;
    }

    .quote-intro h1{
        font-size:clamp(42px,12vw,65px);
    }

    .quote-steps{
        max-width:620px;
    }

    .quote-contact-box{
        max-width:620px;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .quote-contact-box a{
        border-right:1px solid var(--line);
        border-bottom:0;
    }

    .quote-contact-box a:last-child{
        border-right:0;
    }

    .quote-decor{
        right:-235px;
        bottom:-230px;
    }

    .quote-form-area{
        padding:48px 0 58px;
    }

    .quote-form{
        max-width:100%;
    }

}


/* SMALL MOBILE */
@media (max-width:540px){

    .quote-back{
        font-size:0;
    }

    .quote-back span{
        font-size:22px;
    }

    .quote-intro{
        padding-top:43px;
    }

    .quote-lead{
        font-size:13px;
    }

    .quote-step{
        grid-template-columns:44px 1fr;
        gap:12px;
    }

    .quote-contact-box{
        grid-template-columns:1fr;
    }

    .quote-contact-box a{
        border-right:0;
        border-bottom:1px solid var(--line);
    }

    .quote-contact-box a:last-child{
        border-bottom:0;
    }

    .form-pair{
        grid-template-columns:1fr;
        gap:0;
    }

    .form-heading h2{
        font-size:29px;
    }

    .form-number{
        font-size:53px;
    }

    .form-submit-row{
        align-items:stretch;
        flex-direction:column;
    }

    .submit-button{
        width:100%;
        min-width:0;
    }

    .form-required{
        order:2;
    }

    .quote-success{
        padding:55px 0;
    }

    .success-actions{
        display:grid;
        grid-template-columns:1fr;
    }

}
