/* Russia e-Visa Express, adapted from the approved UK Visa Express visual system. */
:root{--rve-ink:#141a2e;--rve-blue:#00247d;--rve-paper:#eef2f7;--rve-line:#c8d2e2;--rve-muted:#435274;--rve-red:#c8102e}
html{scroll-behavior:smooth}body.rve-application{font-family:'Source Sans 3',system-ui,sans-serif;background:linear-gradient(135deg,#f5f7fb,#eaf0f8);color:var(--rve-ink)}
body.rve-application nav{background:#f5f7fb;border-bottom:1px solid var(--rve-line);box-shadow:none}
body.rve-application .form-card{background-color:#f8faff;background-image:repeating-radial-gradient(ellipse at 100% 0%,rgba(0,36,125,.045) 0 1px,transparent 1px 13px);border:1px solid var(--rve-line);border-radius:10px;box-shadow:0 18px 45px #001e5309}
body.rve-application .section-title{font-family:'Source Serif 4',Georgia,serif;font-size:1.65rem;font-weight:700;letter-spacing:-.025em;color:var(--rve-ink);border-bottom-color:var(--rve-line)}
body.rve-application .label-text{color:var(--rve-muted);font-family:'Source Sans 3',system-ui,sans-serif}
body.rve-application .input-field{background:#fff;border-color:#b8c8df;color:var(--rve-ink)}
body.rve-application .input-field:focus{border-color:var(--rve-blue);box-shadow:0 0 0 3px #00247d22}
body.rve-application .progress-bar-fill{background:var(--rve-blue)}
body.rve-application .toggle-btn-group input[type=radio]:checked+.toggle-label{background:var(--rve-blue);border-color:var(--rve-blue)}
.rve-pricing{background:#f8faff;border:1px solid var(--rve-line);border-radius:12px;padding:22px;margin-top:32px}
.rve-pricing h3{font-family:'Source Serif 4',Georgia,serif;font-size:1.5rem;line-height:1.2;font-weight:700;margin:0 0 8px;color:var(--rve-ink)}
.rve-pricing p{color:var(--rve-muted);line-height:1.45;margin:0 0 17px;font-size:14px}
.rve-options{display:grid;gap:9px}.rve-plan{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:12px;align-items:center;position:relative;background:#fff;border:1.5px solid #b8c8df;border-radius:10px;min-height:73px;padding:16px;cursor:pointer;transition:background .18s,border-color .18s}
.rve-plan:hover{border-color:var(--rve-blue);background:#f5f8fd}.rve-plan:has(input:checked){background:#e8eef7;border-color:var(--rve-blue);box-shadow:inset 4px 0 var(--rve-blue)}
.rve-plan:has(input:focus-visible),.rve-addon:has(input:focus-visible){outline:3px solid var(--rve-blue);outline-offset:2px}
.rve-plan input,.rve-addon input{width:19px;height:19px;margin:0;accent-color:var(--rve-blue)}
.rve-plan-title{font-weight:800;font-size:16px;color:var(--rve-ink)}.rve-plan-time{display:block;font-size:13px;color:var(--rve-muted);line-height:1.25;margin-top:3px}.rve-plan-price{font-size:20px;line-height:1;font-weight:800;color:var(--rve-ink);white-space:nowrap}
.rve-plan-badge{position:absolute;right:12px;top:-10px;background:var(--rve-red);color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:99px}
.rve-addon-heading{font-weight:800;font-size:15px;margin:24px 0 10px;padding-top:20px;border-top:1px solid var(--rve-line);color:var(--rve-ink)}
.rve-addon{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid var(--rve-line);border-radius:10px;padding:13px 14px;margin-top:8px;cursor:pointer;color:var(--rve-ink)}.rve-addon:has(input:checked){background:#e8eef7;border-color:var(--rve-blue)}.rve-addon-copy{flex:1;font-size:14px;line-height:1.3}.rve-addon-copy strong{display:block;font-weight:800}.rve-addon-copy small{display:block;font-size:12px;color:var(--rve-muted);margin-top:3px}.rve-addon-price{font-weight:800;white-space:nowrap;font-size:14px}
.rve-total{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#e6ecf5;border-radius:8px;padding:14px 16px;margin-top:19px;color:var(--rve-ink)}.rve-total strong{font-size:20px;font-weight:800}.rve-total span{font-size:14px}
.rve-guidance{font-size:12px!important;margin:14px 0 0!important}.rve-guidance a{color:var(--rve-blue);text-decoration:underline;text-underline-offset:2px}
body.rve-application #nextBtn,body.rve-application #submitBtn{background:var(--rve-blue);border-radius:8px}body.rve-application #nextBtn:hover,body.rve-application #submitBtn:hover{background:#001a5b}
body.rve-application #progressOverlay{border-radius:10px}body.rve-application #uploadBar{background:var(--rve-blue)}
@media(max-width:560px){.rve-pricing{padding:16px 12px}.rve-plan{grid-template-columns:18px minmax(0,1fr) auto;padding:15px 10px;gap:8px}.rve-plan-title{font-size:14px}.rve-plan-time{font-size:12px}.rve-plan-price{font-size:17px}.rve-plan-badge{right:8px}}
@media(prefers-reduced-motion:reduce){.rve-plan{transition:none}html{scroll-behavior:auto}}
body.rve-return{margin:0;min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f7fb,#eaf0f8);color:var(--rve-ink);font:400 17px/1.5 'Source Sans 3',system-ui,sans-serif}
.rve-return-header{border-bottom:1px solid var(--rve-line);background:#f5f7fb;padding:21px max(20px,calc((100vw - 1200px)/2))}.rve-return-brand{font-weight:800;letter-spacing:-.06em;font-size:22px;text-decoration:none;color:var(--rve-ink)}.rve-return-brand b{color:var(--rve-red)}
.rve-return-main{flex:1;display:grid;place-items:center;padding:70px 18px}.rve-return-card{width:min(100%,680px);background:#f8faff;border:1px solid var(--rve-line);border-radius:12px;box-shadow:0 18px 45px #001e5309;padding:clamp(24px,5vw,52px)}
.rve-return-eyebrow{color:var(--rve-blue);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin:0 0 14px}.rve-return-card h1{font:700 clamp(32px,5vw,46px)/1.12 'Source Serif 4',Georgia,serif;letter-spacing:-.035em;margin:0 0 20px}.rve-return-card p{margin:0 0 17px;color:var(--rve-muted)}
.rve-return-details{border-top:1px solid var(--rve-line);border-bottom:1px solid var(--rve-line);margin:27px 0;padding:7px 0}.rve-return-details div{display:flex;justify-content:space-between;gap:18px;padding:10px 0}.rve-return-details dt{color:var(--rve-muted)}.rve-return-details dd{margin:0;text-align:right;font-weight:700;overflow-wrap:anywhere}
.rve-return-note{background:#e6ecf5;border-left:4px solid var(--rve-blue);padding:17px 19px;border-radius:6px;color:var(--rve-ink)!important}.rve-return-link{display:inline-block;background:var(--rve-blue);color:#fff;text-decoration:none;font-weight:700;padding:12px 19px;border-radius:7px;margin-top:8px}.rve-return-link:hover{background:#001a5b}.rve-return-footer{text-align:center;padding:24px;color:var(--rve-muted);font-size:13px}
@media(max-width:560px){.rve-return-header{padding:18px}.rve-return-brand{font-size:18px}.rve-return-main{padding:40px 14px}.rve-return-details div{display:block}.rve-return-details dd{text-align:left}}
body.rve-home{font-family:'Source Sans 3',system-ui,sans-serif;background:#eef2f7;color:var(--rve-ink)}
body.rve-home.light-mode{--text-main:#141a2e;--text-muted:#435274;--text-faint:#6c7892;--glass-bg:#f8faff;--glass-border:#c8d2e2;--glass-shadow:0 18px 45px #001e5309;--input-bg:#fff;--input-border:#b8c8df;--input-text:#141a2e;--nav-bg:#f5f7fb;--mobile-menu-bg:#f5f7fb;--mobile-border:#c8d2e2;--hero-overlay-start:#f5f7fb;--hero-overlay-mid:#eaf0f8}
body.rve-home .bg-russia-hero{background-image:none!important;background:linear-gradient(135deg,#f5f7fb,#eaf0f8)!important}
body.rve-home .bg-russia-hero-overlay{background:none!important}
body.rve-home nav{border-bottom:1px solid var(--rve-line)!important;box-shadow:none!important}
body.rve-home h1{font-family:'Source Serif 4',Georgia,serif;font-weight:700!important;letter-spacing:-.055em!important;line-height:1.06!important;text-transform:none!important;filter:none!important}
body.rve-home h1 span{background:none!important;color:var(--rve-blue)!important;-webkit-text-fill-color:var(--rve-blue)}
body.rve-home .glass-panel,body.rve-home .glass-btn{background:#f8faff;border:1px solid var(--rve-line);box-shadow:0 18px 45px #001e5309;backdrop-filter:none}
body.rve-home .glass-panel{border-radius:12px!important;background-image:repeating-radial-gradient(ellipse at 100% 0%,rgba(0,36,125,.045) 0 1px,transparent 1px 13px)}
body.rve-home .glass-btn{border-radius:10px!important}
body.rve-home .glass-btn:hover{border-color:var(--rve-blue);box-shadow:0 18px 45px #001e5314}
body.rve-home main button[type=submit]{background:var(--rve-blue)!important;border-radius:8px!important;box-shadow:none!important}
body.rve-home main button[type=submit]:hover{background:#001a5b!important}
.rve-home-pricing{background:#f5f7fb;border-top:1px solid var(--rve-line);padding:72px 18px 82px;color:var(--rve-ink)}
.rve-home-pricing-inner{max-width:1240px;margin:auto}.rve-home-eyebrow{font-weight:800;font-size:12px;letter-spacing:.15em;color:var(--rve-blue);text-transform:uppercase}.rve-home-pricing h2{font:700 clamp(34px,4vw,54px)/1.12 'Source Serif 4',Georgia,serif;letter-spacing:-.04em;margin:12px 0 12px}.rve-home-pricing p{color:var(--rve-muted);max-width:750px;margin:0 0 28px;line-height:1.5}
.rve-home-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.rve-home-card{background:#fff;border:1.5px solid var(--rve-line);border-radius:10px;padding:22px 18px;display:flex;flex-direction:column;min-height:235px;position:relative}.rve-home-card.is-recommended{background:#e8eef7;border-color:var(--rve-blue);box-shadow:inset 4px 0 var(--rve-blue)}.rve-home-card strong{font-size:17px;font-weight:800}.rve-home-card .rve-home-time{color:var(--rve-muted);font-size:13px;margin:7px 0 auto}.rve-home-card .rve-home-price{font-size:30px;font-weight:800;margin:20px 0 13px}.rve-home-card a{display:block;background:var(--rve-blue);color:#fff;text-align:center;text-decoration:none;font-weight:700;padding:10px;border-radius:7px}.rve-home-card a:hover{background:#001a5b}.rve-home-card .rve-plan-badge{right:12px}
.rve-home-foot{margin-top:19px!important;font-size:13px!important}.rve-home-foot a{color:var(--rve-blue);text-decoration:underline}
@media(max-width:1050px){.rve-home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.rve-home-pricing{padding:50px 16px}.rve-home-grid{grid-template-columns:1fr}.rve-home-card{min-height:0}.rve-home-card .rve-home-time{margin-bottom:0}.rve-home-card .rve-home-price{margin-top:15px}}

body.rve-application textarea.resize-none{resize:none;min-height:84px}
.rve-submit-error{margin:18px 0 0;padding:12px 14px;border:1px solid #b42336;border-radius:8px;background:#fff3f4;color:#801529;font-weight:700}
body.rve-home .rve-lang-open>div{opacity:1!important;visibility:visible!important;transform:none!important}
