/* MVN inline registration section */

html{
    scroll-behavior:smooth;
}

.mvn-inline-registration-section{
    position:relative;
    z-index:2;
    padding:110px 30px;
    scroll-margin-top:95px;
    background:
        radial-gradient(
            circle at 8% 8%,
            rgba(143,208,79,.10),
            transparent 27%
        ),
        linear-gradient(
            135deg,
            #f0f7f4,
            #fbfcfc
        );
    border-top:1px solid #d8e7e1;
}

.mvn-inline-registration-shell{
    width:min(1380px,100%);
    margin:auto;
    display:grid;
    grid-template-columns:minmax(290px,.7fr) minmax(0,1.3fr);
    gap:32px;
    align-items:start;
}

.mvn-inline-registration-intro{
    position:sticky;
    top:110px;
    padding:38px;
    overflow:hidden;
    color:#fff;
    border-radius:25px;
    background:
        radial-gradient(
            circle at 90% 5%,
            rgba(143,208,79,.18),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #062e29,
            #0a584a
        );
    box-shadow:0 25px 60px rgba(6,46,41,.18);
}

.mvn-inline-registration-intro:after{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    right:-140px;
    bottom:-145px;
    border:1px solid rgba(217,242,170,.13);
    border-radius:50%;
}

.mvn-inline-registration-label{
    position:relative;
    z-index:1;
    color:#d9f2aa;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:1.7px;
}

.mvn-inline-registration-intro h2{
    position:relative;
    z-index:1;
    margin:12px 0 15px;
    color:#fff;
    font-size:clamp(32px,3.5vw,48px);
    line-height:1.05;
    letter-spacing:-1.5px;
}

.mvn-inline-registration-intro > p{
    position:relative;
    z-index:1;
    margin:0;
    color:#c3dad4;
    font-size:15px;
    line-height:1.75;
}

.mvn-inline-registration-points{
    position:relative;
    z-index:1;
    margin-top:30px;
    display:flex;
    flex-direction:column;
    gap:14px;
}

.mvn-inline-registration-points > div{
    padding:15px;
    display:flex;
    align-items:flex-start;
    gap:13px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    background:rgba(255,255,255,.06);
}

.mvn-inline-registration-points > div > span{
    min-width:35px;
    height:35px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#062e29;
    background:#d9f2aa;
    font-size:10px;
    font-weight:950;
}

.mvn-inline-registration-points strong,
.mvn-inline-registration-points small{
    display:block;
}

.mvn-inline-registration-points strong{
    color:#fff;
    font-size:13px;
}

.mvn-inline-registration-points small{
    margin-top:5px;
    color:#aecbc4;
    font-size:11px;
    line-height:1.5;
}

.mvn-inline-registration-note{
    position:relative;
    z-index:1;
    margin-top:24px;
    padding:14px 15px;
    border-radius:12px;
    color:#c4dad5;
    background:rgba(0,0,0,.13);
    font-size:11px;
    line-height:1.6;
}

.mvn-inline-registration-form-card{
    min-width:0;
    padding:34px;
    border:1px solid #d7e5df;
    border-radius:25px;
    background:#fff;
    box-shadow:0 22px 60px rgba(6,46,41,.10);
}

/*
 * Restore normal page flow.
 * The registration form must not become its own scroll container.
 */
.mvn-inline-registration-form-card .mvn-portal-registration-form{
    position:static!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    touch-action:auto!important;
    padding:0!important;
}

.mvn-inline-registration-form-card .mvn-register-section{
    margin-bottom:26px;
    padding:25px;
    border:1px solid #dde9e4;
    border-radius:18px;
    background:#fbfdfc;
}

.mvn-inline-registration-form-card .mvn-register-section:last-of-type{
    margin-bottom:20px;
}

.mvn-inline-registration-form-card .mvn-register-section-heading{
    margin-bottom:21px;
    display:flex;
    align-items:flex-start;
    gap:13px;
}

.mvn-inline-registration-form-card
.mvn-register-section-heading > span{
    min-width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#d9f2aa;
    background:#062e29;
    font-size:10px;
    font-weight:950;
}

.mvn-inline-registration-form-card
.mvn-register-section-heading h3{
    margin:0;
    color:#062e29;
    font-size:19px;
}

.mvn-inline-registration-form-card
.mvn-register-section-heading p{
    margin:6px 0 0;
    color:#6a7e78;
    font-size:12px;
    line-height:1.55;
}

.mvn-inline-registration-form-card .mvn-register-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.mvn-inline-registration-form-card .mvn-register-field{
    min-width:0;
}

.mvn-inline-registration-form-card .mvn-register-field-full{
    grid-column:1 / -1;
}

.mvn-inline-registration-form-card label{
    display:block;
    margin-bottom:7px;
    color:#173b34;
    font-size:12px;
    font-weight:800;
}

.mvn-inline-registration-form-card input,
.mvn-inline-registration-form-card select,
.mvn-inline-registration-form-card textarea{
    width:100%;
    min-height:46px;
    padding:11px 13px;
    border:1px solid #cfddd8;
    border-radius:10px;
    color:#17332e;
    background:#fff;
    font:inherit;
    transition:border-color .2s ease,box-shadow .2s ease;
}

.mvn-inline-registration-form-card textarea{
    min-height:110px;
    resize:vertical;
}

.mvn-inline-registration-form-card input:focus,
.mvn-inline-registration-form-card select:focus,
.mvn-inline-registration-form-card textarea:focus{
    outline:none;
    border-color:#438d79;
    box-shadow:0 0 0 4px rgba(67,141,121,.10);
}

.mvn-inline-registration-form-card
.mvn-register-field small{
    display:block;
    margin-top:6px;
    color:#788a85;
    font-size:11px;
    line-height:1.45;
}

.mvn-inline-registration-form-card .mvn-register-skill-grid{
    margin-top:11px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.mvn-inline-registration-form-card .mvn-register-consent{
    padding:17px;
    display:flex;
    align-items:flex-start;
    gap:11px;
    border:1px solid #d6e5df;
    border-radius:13px;
    background:#f1f7f4;
}

.mvn-inline-registration-form-card
.mvn-register-consent input{
    width:18px;
    height:18px;
    min-height:18px;
    margin-top:2px;
}

.mvn-inline-registration-form-card
.mvn-register-consent span{
    color:#4c625c;
    font-size:12px;
    line-height:1.6;
}

.mvn-inline-registration-form-card .mvn-register-submit{
    width:100%;
    min-height:51px;
    margin-top:19px;
    padding:13px 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    border:0;
    border-radius:11px;
    color:#062e29;
    background:linear-gradient(135deg,#d9f2aa,#8fd04f);
    font-size:13px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 15px 30px rgba(6,46,41,.13);
    transition:transform .2s ease,box-shadow .2s ease;
}

.mvn-inline-registration-form-card .mvn-register-submit:hover{
    transform:translateY(-2px);
    box-shadow:0 20px 38px rgba(6,46,41,.18);
}

.mvn-inline-registration-form-card .mvn-register-errors{
    margin-bottom:22px;
    padding:16px 18px;
    border:1px solid #e8b8b8;
    border-radius:12px;
    color:#8a2525;
    background:#fff3f3;
}

.mvn-inline-registration-form-card .mvn-register-errors ul{
    margin:9px 0 0;
    padding-left:19px;
}

.mvn-inline-registration-section:target{
    animation:mvnRegistrationHighlight 1.4s ease;
}

@keyframes mvnRegistrationHighlight{
    0%{
        background-color:rgba(143,208,79,.20);
    }

    100%{
        background-color:transparent;
    }
}

@media(max-width:1050px){
    .mvn-inline-registration-shell{
        grid-template-columns:1fr;
    }

    .mvn-inline-registration-intro{
        position:relative;
        top:auto;
    }
}

@media(max-width:720px){
    .mvn-inline-registration-section{
        padding:75px 18px;
        scroll-margin-top:80px;
    }

    .mvn-inline-registration-intro,
    .mvn-inline-registration-form-card{
        padding:25px;
        border-radius:20px;
    }

    .mvn-inline-registration-form-card .mvn-register-grid{
        grid-template-columns:1fr;
    }

    .mvn-inline-registration-form-card
    .mvn-register-field-full{
        grid-column:auto;
    }

    .mvn-inline-registration-form-card
    .mvn-register-skill-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:480px){
    .mvn-inline-registration-intro,
    .mvn-inline-registration-form-card{
        padding:20px;
    }

    .mvn-inline-registration-form-card
    .mvn-register-section{
        padding:19px;
    }
}
