.cs-products,
.cs-products * { box-sizing: border-box; }
.cs-products { font-family: "Montserrat", sans-serif; -webkit-font-smoothing: antialiased; color:#16243D; }
.cs-products button,
.cs-products input,
.cs-products select { font-family: inherit; }
.cs-products-section { background:#fff; padding:76px 24px 84px; }
.cs-products-container { max-width:1200px; margin:0 auto; }
.cs-products-intro { max-width:640px; margin-bottom:44px; }
.cs-products-eyebrow { display:inline-block; font:600 12px/1 "Montserrat",sans-serif; letter-spacing:.12em; color:#2E3192; background:#F2F5F9; border-radius:100px; padding:9px 16px; margin-bottom:20px; }
.cs-products-intro h2 { font:700 40px/1.2 "Montserrat",sans-serif; color:#16243D; margin:0 0 16px; text-wrap:pretty; }
.cs-products-intro h2 span { color:#2E3192; }
.cs-products-intro p { font:400 17px/1.7 "Montserrat",sans-serif; color:#696E77; margin:0; text-wrap:pretty; }
.cs-products-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:26px; }
.cs-product-card { display:flex; flex-direction:column; border:1px solid #E6EBF3; border-radius:8px; padding:38px; transition:box-shadow .3s,transform .3s; background:#fff; }
.cs-product-card--vida { border-top:4px solid #29A9E0; }
.cs-product-card--rc { border-top:4px solid #2E3192; }
.cs-product-card:hover { box-shadow:0 18px 40px rgba(22,36,61,.10); transform:translateY(-4px); }
.cs-product-icon { width:52px; height:52px; border-radius:6px; background:#F2F5F9; display:flex; align-items:center; justify-content:center; margin-bottom:24px; }
.cs-product-card h3 { font:600 24px/1.3 "Montserrat",sans-serif; color:#16243D; margin:0 0 12px; }
.cs-product-card > p { font:400 15px/1.7 "Montserrat",sans-serif; color:#696E77; margin:0 0 24px; }
.cs-product-features { display:flex; flex-direction:column; gap:11px; margin-bottom:30px; }
.cs-product-features > div { display:flex; align-items:center; gap:11px; }
.cs-product-features svg { flex:none; }
.cs-product-features span { font:500 14px/1.4 "Montserrat",sans-serif; color:#16243D; }
.cs-products-btn { border-radius:4px; cursor:pointer; transition:background .3s,border-color .2s,color .2s; text-decoration:none; }
.cs-products-btn--primary { font:500 15px/1 "Montserrat",sans-serif; color:#fff; background:#2E3192; border:none; padding:17px 32px; }
.cs-product-card .cs-products-btn--primary { margin-top:auto; align-self:flex-start; }
.cs-products-btn--primary:hover { background:#16243D; color:#fff; }
.cs-products-btn--secondary { font:500 15px/1 "Montserrat",sans-serif; color:#2E3192; background:#fff; border:1px solid #D8E2EF; padding:16px 28px; }
.cs-products-btn--secondary:hover { border-color:#2E3192; }

.cs-products-modal { position:fixed; inset:0; z-index:99999; background:rgba(22,36,61,.62); display:none; align-items:flex-start; justify-content:center; padding:32px 20px; overflow-y:auto; }
.cs-products-modal.is-open { display:flex; }
.cs-products-modal-dialog { width:100%; max-width:760px; background:#fff; border-radius:8px; box-shadow:0 30px 70px rgba(22,36,61,.28); animation:csProductsFadeUp .28s ease both; margin:auto 0; }
.cs-products-modal-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:32px 38px; border-bottom:1px solid #EDF1F7; background:#16243D; border-radius:8px 8px 0 0; }
.cs-products-modal-header span { display:block; font:600 11px/1 "Montserrat",sans-serif; letter-spacing:.14em; color:#29A9E0; margin-bottom:10px; }
.cs-products-modal-header h3 { font:600 24px/1.3 "Montserrat",sans-serif; color:#fff; margin:0; }
.cs-products-close { flex:none; width:38px; height:38px; border-radius:4px; border:1px solid #33445F; background:transparent; color:#fff; font:400 20px/1 "Montserrat",sans-serif; cursor:pointer; transition:background .2s; }
.cs-products-close:hover { background:#2E3192; }
.cs-products-form { padding:34px 38px 38px; display:flex; flex-direction:column; gap:26px; }
.cs-products-block-label { font:500 11px/1 "Montserrat",sans-serif; letter-spacing:.12em; color:#8E96A3; margin:0 0 16px; }
.cs-products-block--divided { padding-top:24px; border-top:1px solid #EDF1F7; }
.cs-products-radio-group { display:flex; flex-direction:column; gap:9px; margin-bottom:20px; }
.cs-products-radio-group > span { font:600 13px/1.3 "Montserrat",sans-serif; color:#16243D; }
.cs-products-radio-group b,
.cs-products-field label b { color:#2E3192; }
.cs-products-radio-group > div { display:flex; gap:12px; flex-wrap:wrap; }
.cs-products-radio-group label { display:flex; align-items:center; gap:9px; border:1px solid #D9E1EC; border-radius:4px; padding:13px 20px; cursor:pointer; font:500 14px/1 "Montserrat",sans-serif; color:#16243D; background:#fff; }
.cs-products-radio-group label:hover { border-color:#2E3192; }
.cs-products-radio-group input,
.cs-products-question input { accent-color:#2E3192; cursor:pointer; }
.cs-products-radio-group input { width:17px; height:17px; }
.cs-products-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; }
.cs-products-field { display:flex; flex-direction:column; gap:9px; }
.cs-products-field label { font:600 13px/1.3 "Montserrat",sans-serif; color:#16243D; }
.cs-products-field input,
.cs-products-field select { font:400 15px/1.4 "Montserrat",sans-serif; color:#16243D; background:#fff; border:1px solid #D9E1EC; border-radius:4px; padding:13px 14px; width:100%; outline:none; transition:border-color .2s,box-shadow .2s; min-height:49px; }
.cs-products-field select { cursor:pointer; }
.cs-products-field input::placeholder { color:#A8B2C1; }
.cs-products-field input:focus,
.cs-products-field select:focus { border-color:#2E3192; box-shadow:0 0 0 3px rgba(46,49,146,.12); }
.cs-products-questions-label { margin:28px 0 16px; padding-top:24px; border-top:1px solid #EDF1F7; }
.cs-products-questions { display:flex; flex-direction:column; gap:14px; }
.cs-products-question { background:#F8FAFD; border:1px solid #E6EBF3; border-radius:6px; padding:22px; }
.cs-products-question p { font:400 14px/1.65 "Montserrat",sans-serif; color:#16243D; margin:0 0 14px; }
.cs-products-question > div { display:flex; gap:10px; }
.cs-products-question label { display:flex; align-items:center; gap:8px; background:#fff; border:1px solid #D9E1EC; border-radius:4px; padding:10px 20px; cursor:pointer; font:500 14px/1 "Montserrat",sans-serif; color:#16243D; }
.cs-products-question label:hover { border-color:#2E3192; }
.cs-products-question input { width:16px; height:16px; }
.cs-products-form-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding-top:26px; border-top:1px solid #EDF1F7; }
.cs-products-form-actions > span { font:400 13px/1.6 "Montserrat",sans-serif; color:#8E96A3; }
.cs-products-alert { border:1px solid #F2B8B5; background:#FFF5F4; color:#8A1F17; border-radius:6px; padding:13px 15px; font:500 13px/1.5 "Montserrat",sans-serif; }
.cs-products-success { padding:52px 38px; }
.cs-products-success-icon { display:block; margin-bottom:20px; }
.cs-products-success h4 { font:700 26px/1.3 "Montserrat",sans-serif; color:#16243D; margin:0 0 12px; }
.cs-products-success p { font:400 16px/1.7 "Montserrat",sans-serif; color:#696E77; margin:0 0 28px; max-width:52ch; }
.cs-products-hp { position:absolute!important; left:-99999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
body.cs-products-modal-open { overflow:hidden!important; }
@keyframes csProductsFadeUp { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }

@media (max-width: 700px) {
    .cs-products-section { padding:52px 18px 58px; }
    .cs-products-intro { margin-bottom:30px; }
    .cs-products-intro h2 { font-size:32px; }
    .cs-products-intro p { font-size:16px; }
    .cs-products-grid { grid-template-columns:1fr; gap:20px; }
    .cs-product-card { padding:28px 24px; }
    .cs-product-card h3 { font-size:21px; }
    .cs-products-modal { padding:16px 10px; }
    .cs-products-modal-header { padding:24px 20px; }
    .cs-products-modal-header h3 { font-size:20px; }
    .cs-products-form { padding:26px 20px 24px; gap:22px; }
    .cs-products-success { padding:38px 22px; }
    .cs-products-fields { grid-template-columns:1fr; }
    .cs-products-form-actions { align-items:stretch; }
    .cs-products-form-actions .cs-products-btn { width:100%; }
    .cs-products-form-actions > span { width:100%; text-align:center; }
}
