.rq-container {
    width: min(calc(100% - 40px), 1160px);
    margin-inline: auto
}

.rq-hero,
.ap-hero {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 83% 0, rgba(189, 128, 184, .24), transparent 31%), linear-gradient(125deg, #130d21, #493762);
    color: #fff;
    padding: 62px 0 115px
}

.rq-hero-shape {
    position: absolute;
    width: 500px;
    height: 500px;
    border: 1px solid rgba(201, 169, 110, .2);
    border-radius: 50%;
    right: -110px;
    top: -330px
}

.rq-back {
    display: inline-flex;
    color: #d7d0de;
    font-size: .77rem;
    font-weight: 800;
    margin-bottom: 30px
}

.rq-hero h1,
.ap-hero h1 {
    font-size: clamp(2.8rem, 5vw, 4.4rem);
    max-width: 850px;
    margin: 14px 0
}

.rq-hero p,
.ap-hero p {
    color: #d2cad9;
    max-width: 650px
}

.rq-main,
.ap-main {
    background: #f7f4ef;
    padding-bottom: 100px
}

.rq-layout {
    position: relative;
    z-index: 2;
    margin-top: 0px;
    padding-top: 20px;
    display: grid;
    grid-template-columns: 570px 1fr;
    gap: 70px;
    align-items: center
}

.rq-form-wrap .simulator-card {
    width: 100%;
    box-shadow: 0 30px 85px rgba(32, 22, 48, .18)
}

.rq-aside h2 {
    font-size: 2.2rem;
    margin: 13px 0 30px
}

.rq-aside>ul {
    list-style: none;
    padding: 0;
    margin: 0
}

.rq-aside>ul li {
    display: flex;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid #ded7e2
}

.rq-aside>ul li>span {
    font: 800 .7rem Manrope;
    color: #bd80b8
}

.rq-aside strong {
    font-size: .9rem
}

.rq-aside p {
    font-size: .76rem;
    color: #746b7d;
    margin: 3px 0
}

.rq-security {
    display: flex;
    gap: 13px;
    margin-top: 27px;
    padding: 18px;
    border-radius: 15px;
    background: #eee9f2
}

.rq-security svg {
    width: 25px;
    fill: none;
    stroke: #bd83b8;
    stroke-width: 1.8;
    flex: 0 0 auto
}

.ap-hero {
    padding-bottom: 100px
}

.ap-layout {
    position: relative;
    z-index: 2;
    margin-top: -58px;
    display: grid;
    grid-template-columns: 295px minmax(0, 1fr);
    gap: 22px;
    align-items: start
}

.ap-summary {
    position: sticky;
    top: 95px;
    background: #000000;
    color: #fff;
    border-radius: 20px;
    padding: 25px;
    box-shadow: 0 22px 60px rgba(32, 22, 48, .2)
}

.ap-summary h2 {
    font-size: 2rem;
    margin: 15px 0 25px
}

.ap-summary h2 small {
    font-size: .38em
}

.ap-summary dl {
    margin: 0
}

.ap-summary dl div {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .1)
}

.ap-summary dt {
    color: #bcb2c7;
    font-size: .72rem
}

.ap-summary dd {
    margin: 0;
    font-size: .76rem;
    font-weight: 800
}

.ap-summary>a {
    display: inline-flex;
    margin-top: 22px;
    color: #d8d3ff;
    font-size: .72rem;
    font-weight: 800
}

.ap-card {
    background: #fff;
    border: 1px solid #e5dfe8;
    border-radius: 23px;
    box-shadow: 0 24px 70px rgba(32, 22, 48, .1);
    overflow: hidden
}

.ap-progress {
    padding: 24px 30px;
    background: #faf8fb;
    border-bottom: 1px solid #e9e4eb
}

.ap-progress-head {
    display: flex;
    justify-content: space-between;
    font-size: .7rem;
    color: #786e80
}

.ap-progress-track {
    height: 5px;
    background: #e4dfe7;
    border-radius: 99px;
    margin: 10px 0 14px;
    overflow: hidden
}

.ap-progress-track span {
    display: block;
    width: 33.333%;
    height: 100%;
    background: linear-gradient(90deg, #bd83b8, #bd80b8);
    transition: .35s
}

.ap-progress ol {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    list-style: none;
    padding: 0;
    margin: 0;
    color: #9a919f;
    font-size: .65rem;
    font-weight: 800
}

.ap-progress li.active {
    color: #bd83b8
}

.ap-card form {
    padding: 34px
}

.ap-step-kicker {
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: #a25f9c;
    font-weight: 900
}

.ap-step h2 {
    font-size: 2rem;
    margin: 8px 0
}

.ap-step>p {
    color: #766d7d;
    font-size: .82rem;
    margin-bottom: 28px
}

.ap-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px
}

.apply-field.full {
    grid-column: 1/-1
}

.apply-field label {
    display: block;
    font-size: .75rem;
    font-weight: 800;
    margin-bottom: 7px
}

.apply-field label b {
    color: #bd2548
}

.apply-field input:not([type=file]) {
    width: 100%;
    height: 52px;
    border: 1px solid #ded7e2;
    border-radius: 11px;
    background: #fbfafc;
    padding: 0 14px;
    color: #241a34
}

.apply-field input:focus {
    outline: 0;
    border-color: #8e74d4;
    box-shadow: 0 0 0 4px rgba(103, 86, 216, .1)
}

.apply-field.has-error input,
.ap-consent.has-error {
    border-color: #d84969;
    background: #fff8fa
}

.apply-error {
    display: block;
    min-height: 17px;
    color: #bd2548;
    font-size: .66rem;
    font-weight: 700;
    margin-top: 5px
}

.ap-sensitive,
.ap-final-note {
    display: flex;
    gap: 12px;
    padding: 15px;
    background: #f2eef5;
    border-radius: 13px;
    margin-top: 20px
}

.ap-sensitive>span {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #bd83b8;
    color: #fff;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    font-weight: 800
}

.ap-sensitive p,
.ap-final-note p {
    font-size: .72rem;
    color: #6f6577;
    margin: 0
}

.ap-upload {
    min-height: 170px;
    border: 2px dashed #d8cfdf;
    border-radius: 17px;
    background: #faf8fb;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
    transition: .25s
}

.ap-upload:hover {
    border-color: #8e74d4;
    background: #f5f1fa
}

.ap-upload-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #ece7ff;
    color: #bd83b8;
    display: grid;
    place-items: center;
    font-size: 1.5rem;
    margin-bottom: 9px
}

.ap-upload small,
.ap-upload em {
    display: block;
    color: #807687;
    font-size: .65rem;
    font-style: normal
}

.ap-upload em {
    color: #bd83b8;
    margin-top: 6px;
    font-weight: 800
}

.ap-file-input,
.ap-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none
}

.ap-consent {
    display: flex;
    gap: 12px;
    border: 1px solid #ded7e2;
    border-radius: 13px;
    padding: 15px;
    margin-top: 20px
}

.ap-consent input {
    width: 18px;
    height: 18px;
    accent-color: #bd83b8
}

.ap-consent span {
    display: grid
}

.ap-consent strong {
    font-size: .72rem
}

.ap-consent small {
    font-size: .64rem;
    color: #7b7182
}

.ap-nav {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    border-top: 1px solid #ece7ee;
    margin-top: 28px;
    padding-top: 22px
}

.ap-nav [hidden] {
    display: none
}

.ap-server-error {
    padding: 13px;
    background: #fff1f4;
    color: #a71f3f;
    border-radius: 10px;
    margin-top: 18px;
    font-size: .75rem
}

@media(max-width:900px) {

    .rq-layout,
    .ap-layout {
        grid-template-columns: 1fr
    }

    .rq-layout {
        gap: 45px
    }

    .rq-form-wrap {
        max-width: 620px;
        margin: auto
    }

    .ap-summary {
        position: static;
        display: none
    }
}

@media(max-width:600px) {
    .rq-container {
        width: min(calc(100% - 28px), 1160px)
    }

    .rq-hero,
    .ap-hero {
        padding: 45px 0 90px
    }

    .rq-hero h1,
    .ap-hero h1 {
        font-size: 2.45rem
    }

    .ap-card form,
    .ap-progress {
        padding: 23px 20px
    }

    .ap-fields {
        grid-template-columns: 1fr
    }

    .apply-field.full {
        grid-column: auto
    }

    .ap-progress ol {
        font-size: .55rem
    }

    .ap-nav {
        display: grid;
        grid-template-columns: 1fr
    }

    .ap-nav .button {
        width: 100%
    }
}

/* Apply v2 — three-step premium form */
.ap-summary{overflow:hidden;padding:0!important}
.ap-summary:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-140px;top:-120px;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 42px rgba(255,255,255,.025)}
.ap-summary-top{position:relative;display:flex;align-items:center;justify-content:space-between;padding:24px 24px 19px;border-bottom:1px solid rgba(255,255,255,.1)}
.ap-summary-kicker{font-size:.61rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#d9cfe0}
.ap-summary-badge{padding:5px 9px;border-radius:99px;background:rgba(189,131,184,.2);border:1px solid rgba(255,255,255,.12);font-size:.55rem;font-weight:800;color:#f0ddea}
.ap-summary-payment{position:relative;padding:25px 24px 21px}.ap-summary-payment>small{display:block;color:#bcb2c7;font-size:.63rem}.ap-summary-payment h2{display:inline-block;font-size:2.35rem!important;margin:6px 3px 0!important;letter-spacing:-.05em}.ap-summary-payment h2 em{font-size:.45em;font-style:normal;color:#dcb7d8}.ap-summary-payment>span{color:#bcb2c7;font-size:.65rem}
.ap-summary dl{padding:0 24px}.ap-summary dl div{padding:11px 0}.ap-summary dt{color:#bcb2c7}.ap-summary dd{color:#fff}
.ap-summary-note{display:flex;gap:10px;margin:20px 24px 0;padding:13px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09)}.ap-summary-note>i{width:25px;height:25px;border-radius:8px;background:#bd83b8;color:#fff;display:grid;place-items:center;font-style:normal;font-size:.7rem}.ap-summary-note strong,.ap-summary-note small{display:block}.ap-summary-note strong{font-size:.66rem}.ap-summary-note small{font-size:.57rem;color:#bcb2c7;margin-top:2px}.ap-summary>a{margin:18px 24px 24px;color:#e1bfdb}
.ap-progress{padding:27px 34px;background:linear-gradient(145deg,#fffdf9,#faf5fa)}.ap-progress-head strong{color:#000000}.ap-progress-track{height:6px;margin:12px 0 18px}.ap-progress-track span{background:linear-gradient(90deg,#bd83b8,#000)}
.ap-progress ol{gap:8px}.ap-progress li{display:flex;align-items:center;gap:7px;color:#9a919f}.ap-progress li i{width:25px;height:25px;border-radius:8px;background:#eee8ef;display:grid;place-items:center;font-style:normal;font-size:.55rem}.ap-progress li.active{color:#000}.ap-progress li.active i{background:#000000;color:#fff}.ap-progress li span{font-size:.62rem}
.ap-card form{padding:40px}.ap-step h2{font-size:2.25rem;margin:9px 0}.ap-step>p{max-width:650px;line-height:1.7}
.ap-fields{gap:19px}.apply-field label{font-size:.72rem;letter-spacing:.01em}.apply-field input:not([type=file]){height:58px;border-radius:14px;background:#fffdf9;border-color:#ded7e2;padding:0 17px;transition:border-color .2s,box-shadow .2s,background .2s}.apply-field input:not([type=file])::placeholder{color:#aaa0af;font-size:.75rem;font-weight:500}.apply-field input:not([type=file]):hover{border-color:#cbbdcd;background:#fff}.apply-field input:not([type=file]):focus{background:#fff;border-color:#bd83b8;box-shadow:0 0 0 4px rgba(189,131,184,.13)}
.ap-step-tip{display:flex;align-items:flex-start;gap:10px;margin-top:20px;padding:14px 16px;border-radius:13px;background:#bd83b81f;border:1px solid #e5d7e4}.ap-step-tip>span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#000000;color:#fff;font:800 .65rem Manrope}.ap-step-tip p{margin:1px 0 0;color:#716677;font-size:.69rem}
.ap-sensitive{padding:17px;background:#f2ebf2;border:1px solid #e3d7e4}.ap-sensitive>span{background:#000000}.ap-sensitive strong{display:block;font-size:.72rem;margin-bottom:3px}
.ap-document-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.ap-document-field{padding:16px;border:1px solid #e3dce5;border-radius:18px;background:#fcfafc}.ap-document-field.optional{background:#faf8fa}.ap-document-heading{display:flex;align-items:center;gap:10px;margin-bottom:13px}.ap-document-heading>span{width:31px;height:31px;border-radius:10px;background:#000000;color:#fff;display:grid;place-items:center;font-size:.56rem;font-weight:900}.ap-document-heading strong,.ap-document-heading small{display:block}.ap-document-heading strong{font-size:.74rem}.ap-document-heading small{color:#a25f9c;font-size:.57rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.ap-document-field.optional .ap-document-heading>span{background:#bd83b8}.ap-document-field.optional .ap-document-heading small{color:#847989}
.ap-upload{min-height:205px;border-color:#d6c9d8;background:#fff;border-radius:15px}.ap-upload:hover,.ap-upload.has-file{border-color:#bd83b8;background:#bd83b812}.ap-upload.has-file .ap-upload-icon{background:#000000;color:#fff}.ap-upload-icon{width:48px;height:48px;border-radius:15px;background:#bd83b83b;color:#8e5c8a}.ap-upload>strong{font-size:.75rem;margin-bottom:3px}.ap-upload em{max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-document-quality{display:flex;align-items:center;gap:10px;padding:13px 15px;margin-top:17px;border-radius:12px;background:#f7f4ef}.ap-document-quality span{width:25px;height:25px;border-radius:8px;background:#bd83b8;color:#fff;display:grid;place-items:center;font-size:.65rem}.ap-document-quality p{font-size:.67rem;color:#746b7d;margin:0}.ap-consent{background:#fffdf9;border-radius:15px;padding:17px}.ap-nav{margin-top:32px;padding-top:25px}.ap-nav .button{min-width:145px}
@media(max-width:760px){.ap-progress li span{display:none}.ap-progress li{justify-content:center}.ap-document-grid{grid-template-columns:1fr}.ap-card form{padding:27px 22px}.ap-step h2{font-size:1.8rem}}

/* Request aside — premium guided journey */
.page-request .rq-layout{align-items:start;padding-top:60px;padding-bottom:35px}.page-request .rq-aside{position:relative;overflow:hidden;background:linear-gradient(150deg,#fffdf9,#f7eff6);border:1px solid #e5dce6;border-radius:24px;padding:30px;box-shadow:0 28px 75px rgba(44,33,68,.11)}.page-request .rq-aside:before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-145px;top:-135px;border:1px solid rgba(189,131,184,.2);box-shadow:0 0 0 38px rgba(189,131,184,.035)}
.rq-aside-head{position:relative;display:grid;grid-template-columns:50px 1fr;gap:14px;align-items:start}.rq-aside-index{width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#000,#2c2144);color:#fff;display:grid;place-items:center;font:800 .65rem Manrope;box-shadow:0 12px 28px rgba(44,33,68,.2)}.rq-aside-head small{display:block;color:#9e6399;font-size:.58rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.rq-aside-head h2{font-size:1.65rem;margin:5px 0 0;line-height:1.18}.rq-aside-lead{position:relative;color:#746b7d;font-size:.75rem;line-height:1.7;margin:19px 0 22px}
.rq-path{list-style:none;margin:0;padding:0;border:1px solid #e6dfe8;border-radius:17px;background:#fffdf9;overflow:hidden}.rq-path li{display:grid;grid-template-columns:30px 1fr 28px;gap:10px;align-items:center;padding:17px;border-bottom:1px solid #ebe5ec;transition:.22s}.rq-path li:last-child{border:0}.rq-path li:hover{background:#bd83b814;padding-left:21px}.rq-path li>span{color:#9e6399;font-size:.55rem;font-weight:900}.rq-path strong{display:block;font-size:.76rem}.rq-path p{font-size:.64rem!important;line-height:1.5;margin:3px 0 0!important}.rq-path i{width:27px;height:27px;border-radius:9px;background:#bd83b83b;color:#2c2144;display:grid;place-items:center;font-style:normal;font-size:.72rem;font-weight:900}
.rq-outcome{display:grid;grid-template-columns:46px 1fr;gap:13px;margin-top:18px;padding:17px;border-radius:16px;background:linear-gradient(145deg,#000,#2c2144);color:#fff}.rq-outcome-icon{width:43px;height:43px;border-radius:13px;background:rgba(189,131,184,.19);display:grid;place-items:center}.rq-outcome svg{width:23px;fill:none;stroke:#d5afd1;stroke-width:1.8}.rq-outcome span,.rq-outcome strong{display:block}.rq-outcome span{color:#c49cc0;font-size:.54rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.rq-outcome strong{font-size:.75rem;margin:4px 0}.rq-outcome p{font-size:.61rem!important;color:#c6beca!important;margin:0!important}.rq-aside-foot{display:flex;gap:16px;margin-top:16px;color:#746b7d;font-size:.58rem;font-weight:800}
@media(max-width:900px){.page-request .rq-layout{padding-top:30px}.page-request .rq-aside{max-width:620px;margin:auto}}
@media(max-width:600px){.page-request .rq-aside{padding:22px}.rq-aside-head{grid-template-columns:42px 1fr}.rq-aside-index{width:41px;height:41px}.rq-aside-head h2{font-size:1.38rem}.rq-aside-foot{flex-direction:column;gap:6px}}
