:root {
  --visa-ink: #14213d;
  --visa-muted: #667085;
  --visa-navy: #101b34;
  --visa-blue: #2f6fed;
  --visa-sky: #7dd3fc;
  --visa-gold: #d9ad55;
  --visa-cream: #fff9ed;
  --visa-line: rgba(18, 33, 61, .1);
  --visa-white: #fff;
  --visa-shadow: 0 22px 70px rgba(31, 54, 94, .12);
  --visa-radius: 26px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--visa-ink); background: #f8faff; font-family: "DM Sans", Arial, sans-serif; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
img { max-width: 100%; }
.visa-site-header { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px clamp(20px, 5vw, 72px); background: rgba(255,255,255,.88); backdrop-filter: blur(18px); position: relative; z-index: 20; border-bottom: 1px solid var(--visa-line); }
.visa-site-header nav { display: flex; align-items: center; gap: 26px; }
.visa-site-header nav a { text-decoration: none; font-weight: 600; color: #38445d; }
.visa-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.visa-brand-mark { width: 46px; height: 46px; border-radius: 15px; display: grid; place-items: center; color: var(--visa-navy); font-weight: 800; background: linear-gradient(135deg,#f8df9b,#c8912d); box-shadow: 0 9px 25px rgba(207,156,61,.24); }
.visa-brand strong,.visa-brand small { display:block; }
.visa-brand strong { font-size: 17px; }
.visa-brand small { color: var(--visa-muted); margin-top: 1px; }
.visa-nav-cta { color: #fff!important; background: var(--visa-navy); padding: 11px 17px; border-radius: 13px; }
.visa-site-footer { padding: 32px clamp(20px,5vw,72px); color: rgba(255,255,255,.75); background: var(--visa-navy); display:flex; gap:40px; justify-content:space-between; line-height:1.7; }
.visa-site-footer strong,.visa-site-footer a { color:#fff; }

.visa-page-shell { overflow:hidden; }
.visa-landing-page { background:#f6f8fc; }
.visa-container { width:min(1180px,calc(100% - 36px)); margin-inline:auto; }
.visa-hero { position:relative; min-height:430px; display:flex; align-items:center; color:#fff; background:#0d1830; padding:52px 0 76px; isolation:isolate; overflow:hidden; }
.visa-hero-media,.visa-hero-shade { position:absolute; inset:0; overflow:hidden; }
.visa-hero-media { z-index:-3; }
.visa-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center 48%; transform:scale(1.01); }
.visa-hero-shade { z-index:-2; background:linear-gradient(90deg,rgba(6,16,34,.96) 0%,rgba(11,29,57,.86) 48%,rgba(9,24,47,.38) 100%),linear-gradient(0deg,rgba(8,19,39,.62),transparent 60%); }
.visa-hero::after { content:""; position:absolute; inset:auto -5% -54px -5%; height:88px; background:#f6f8fc; border-radius:50% 50% 0 0; }
.visa-orb { position:absolute; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.visa-orb.one { width:210px; height:210px; right:7%; top:22px; }
.visa-orb.two { width:126px; height:126px; right:20%; top:160px; }
.visa-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.18fr) minmax(300px,.72fr); align-items:center; gap:52px; }
.visa-eyebrow { display:inline-flex; align-items:center; gap:9px; font-size:13px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#f2d590; }
.visa-eyebrow::before { content:""; width:28px; height:1px; background:currentColor; }
.visa-hero h1,.visa-detail-hero h1 { font-family:"Playfair Display", Georgia, serif; font-size:clamp(38px,5vw,58px); line-height:1.04; margin:14px 0 16px; letter-spacing:-.035em; }
.visa-hero-copy { max-width:700px; margin:0; font-size:16px; line-height:1.68; color:rgba(255,255,255,.78); }
.visa-hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:23px; }
.visa-btn { min-height:50px; border:0; border-radius:14px; padding:13px 20px; display:inline-flex; align-items:center; justify-content:center; gap:9px; text-decoration:none; font-weight:700; cursor:pointer; transition:.2s ease; }
.visa-btn:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(16,27,52,.16); }
.visa-btn-gold { color:#17213a; background:linear-gradient(135deg,#f4d98f,#d4a13f); }
.visa-btn-light { color:#fff; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(12px); }
.visa-btn-dark { color:#fff; background:var(--visa-navy); }
.visa-btn-blue { color:#fff; background:linear-gradient(135deg,#2f6fed,#1e52bd); }
.visa-btn-outline { background:#fff; color:var(--visa-ink); border:1px solid var(--visa-line); }
.visa-hero-card,.visa-glass { background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.07)); border:1px solid rgba(255,255,255,.23); -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px); box-shadow:0 24px 70px rgba(0,0,0,.2); border-radius:26px; }
.visa-hero-card { padding:14px; }
.visa-hero-card > div { background:rgba(255,255,255,.94); color:var(--visa-ink); border:1px solid rgba(255,255,255,.66); border-radius:19px; padding:22px; box-shadow:inset 0 1px rgba(255,255,255,.8); }
.visa-passport-top { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.visa-passport-icon { width:52px; height:52px; border-radius:17px; background:linear-gradient(145deg,#eef4ff,#fff8e6); display:grid; place-items:center; font-size:27px; }
.visa-mini-label { color:var(--visa-muted); font-size:12px; text-transform:uppercase; letter-spacing:.09em; }
.visa-passport-card .visa-mini-label { display:block; margin-top:18px; }
.visa-passport-card h2 { font-size:22px; line-height:1.2; margin:6px 0 8px; }
.visa-passport-card p { color:#5c687e; line-height:1.55; font-size:13px; margin:0; }
.visa-mini-status { color:#157347; background:#eaf8ef; padding:7px 10px; border-radius:99px; font-size:12px; font-weight:700; }
.visa-passport-stats { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:17px; }
.visa-passport-stats span { display:flex; flex-direction:column; padding:11px 12px; border:1px solid #e1e8f2; border-radius:12px; color:#738096; font-size:11px; background:rgba(248,250,255,.88); }
.visa-passport-stats strong { color:var(--visa-ink); font-size:17px; line-height:1.1; margin-bottom:3px; }
.visa-trust-row { position:relative; z-index:3; margin-top:-30px; display:grid; grid-template-columns:repeat(4,1fr); background:rgba(255,255,255,.78); border:1px solid rgba(255,255,255,.8); border-radius:22px; box-shadow:0 20px 55px rgba(31,54,94,.12); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
.visa-trust-item { display:flex; align-items:center; gap:13px; padding:20px; border-right:1px solid var(--visa-line); }
.visa-trust-item:last-child { border:0; }
.visa-trust-icon { width:44px; height:44px; flex:0 0 auto; border-radius:14px; background:#eef4ff; display:grid; place-items:center; font-size:20px; }
.visa-trust-item strong,.visa-trust-item small { display:block; }
.visa-trust-item small { color:var(--visa-muted); margin-top:4px; }

.visa-section { padding:90px 0; position:relative; }
.visa-landing-page .visa-section { padding:78px 0; }
#visa-countries { background:radial-gradient(circle at 8% 8%,rgba(47,111,237,.1),transparent 25%),radial-gradient(circle at 92% 42%,rgba(217,173,85,.12),transparent 24%),linear-gradient(180deg,#f6f8fc,#eef3fa 55%,#f6f8fc); }
.visa-section-soft { background:#f1f5fb; }
.visa-section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:34px; }
.visa-section-heading h2,.visa-content-card h2 { font-family:"Playfair Display",Georgia,serif; font-size:clamp(31px,4vw,48px); line-height:1.15; margin:8px 0 0; }
.visa-section-heading p { color:var(--visa-muted); max-width:590px; line-height:1.7; }
.visa-search-panel { background:rgba(255,255,255,.64); border:1px solid rgba(255,255,255,.86); box-shadow:0 18px 50px rgba(31,54,94,.1); -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px); border-radius:22px; padding:14px; display:grid; grid-template-columns:minmax(0,1fr) 230px auto; align-items:center; gap:12px; margin-bottom:28px; }
.visa-input-wrap { position:relative; }
.visa-input-icon { position:absolute; left:17px; top:50%; transform:translateY(-50%); color:var(--visa-muted); }
.visa-input,.visa-select,.visa-textarea { width:100%; color:var(--visa-ink); background:#fff; border:1px solid #dce2ec; border-radius:13px; padding:14px 15px; outline:none; transition:.2s; }
.visa-input-wrap .visa-input { padding-left:46px; }
.visa-input:focus,.visa-select:focus,.visa-textarea:focus { border-color:#5a8cf2; box-shadow:0 0 0 4px rgba(47,111,237,.1); }
.visa-textarea { min-height:110px; resize:vertical; }
.visa-result-count { color:#69758a; font-size:12px; font-weight:700; white-space:nowrap; padding:0 7px; }
.visa-country-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.visa-country-card { position:relative; background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,255,255,.56)); border:1px solid rgba(255,255,255,.9); border-radius:24px; padding:0; overflow:hidden; box-shadow:0 14px 36px rgba(31,54,94,.09),inset 0 1px rgba(255,255,255,.85); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; min-width:0; }
.visa-country-card:hover { transform:translateY(-7px); box-shadow:0 24px 55px rgba(31,54,94,.16),inset 0 1px rgba(255,255,255,.9); border-color:rgba(92,139,232,.42); }
.visa-country-card-link { height:100%; display:flex; flex-direction:column; color:inherit; text-decoration:none; outline:none; }
.visa-country-card-link:focus-visible { box-shadow:inset 0 0 0 4px rgba(47,111,237,.72); border-radius:24px; }
.visa-country-image { position:relative; display:block; height:178px; overflow:hidden; background:#dbe4f0; }
.visa-country-image img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.visa-country-card:hover .visa-country-image>img { transform:scale(1.06); }
.visa-country-image-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(9,20,39,.02),rgba(9,20,39,.52)); }
.visa-country-flag { position:absolute; left:16px; bottom:14px; width:60px; height:46px; padding:4px; display:grid; place-items:center; border-radius:13px; background:rgba(255,255,255,.9); border:1px solid rgba(255,255,255,.84); box-shadow:0 9px 25px rgba(5,15,30,.25); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); overflow:hidden; }
.visa-country-flag img { width:100%; height:100%; border-radius:8px; object-fit:cover; }
.visa-country-image .visa-tag { position:absolute; right:14px; top:14px; color:#fff; background:rgba(10,24,49,.64); border:1px solid rgba(255,255,255,.24); backdrop-filter:blur(12px); }
.visa-country-card-body { display:flex; flex:1; flex-direction:column; padding:19px 20px 20px; }
.visa-flag { width:54px; height:54px; border-radius:17px; display:grid; place-items:center; background:#f1f5fb; font-size:29px; }
.visa-tag { border-radius:99px; padding:7px 10px; font-size:11px; font-weight:700; background:#edf3ff; color:#2d5ebf; }
.visa-country-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.visa-country-card h3 { font-size:22px; line-height:1.2; margin:0; }
.visa-country-title-row small { color:#7a879b; font-size:11px; line-height:1.3; text-align:right; padding-top:4px; }
.visa-country-description { color:var(--visa-muted); line-height:1.52; margin:8px 0 15px; font-size:13px; }
.visa-country-details { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:auto; }
.visa-country-details>span { min-width:0; padding:10px 11px; background:rgba(239,244,252,.82); border:1px solid rgba(210,220,236,.72); border-radius:12px; }
.visa-country-details small,.visa-country-details strong { display:block; }
.visa-country-details small { color:#7a879b; font-size:10px; margin-bottom:3px; }
.visa-country-details strong { color:#37445c; font-size:12px; line-height:1.3; overflow-wrap:anywhere; }
.visa-country-meta { margin-top:auto; display:flex; justify-content:space-between; align-items:end; gap:15px; padding-top:16px; border-top:1px solid var(--visa-line); }
.visa-country-meta small { display:block; color:var(--visa-muted); margin-bottom:3px; }
.visa-country-meta strong { font-size:18px; }
.visa-country-details+.visa-country-meta { margin-top:14px; }
.visa-arrow-link { width:40px; height:40px; flex:0 0 40px; border-radius:13px; background:var(--visa-navy); color:#fff; display:grid; place-items:center; transition:transform .2s ease,background .2s ease; }
.visa-country-card:hover .visa-arrow-link { transform:translateX(3px); background:var(--visa-blue); }
.visa-empty { grid-column:1/-1; text-align:center; padding:50px 20px; color:var(--visa-muted); background:#fff; border-radius:20px; border:1px dashed #cfd7e4; }
.visa-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; counter-reset:steps; }
.visa-step { position:relative; background:#fff; border:1px solid var(--visa-line); border-radius:20px; padding:25px; }
.visa-step::before { counter-increment:steps; content:"0" counter(steps); color:var(--visa-gold); font-size:12px; font-weight:800; letter-spacing:.08em; }
.visa-step h3 { margin:13px 0 8px; }
.visa-step p { color:var(--visa-muted); line-height:1.6; margin:0; font-size:14px; }
.visa-track-card { display:grid; grid-template-columns:.8fr 1.2fr; overflow:hidden; border-radius:28px; background:var(--visa-navy); box-shadow:var(--visa-shadow); }
.visa-track-copy { color:#fff; padding:45px; background:radial-gradient(circle at 0 100%,rgba(217,173,85,.24),transparent 45%); }
.visa-track-copy h2 { font-family:"Playfair Display",Georgia,serif; font-size:40px; margin:12px 0; }
.visa-track-copy p { color:rgba(255,255,255,.7); line-height:1.7; }
.visa-track-form { background:#fff; margin:12px; border-radius:20px; padding:34px; align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.visa-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.visa-form-group { display:flex; flex-direction:column; gap:8px; }
.visa-form-group.full { grid-column:1/-1; }
.visa-form-group label { font-size:14px; font-weight:700; }
.visa-required { color:#dc3545; }
.visa-help { color:var(--visa-muted); font-size:12px; line-height:1.5; }
.visa-alert { padding:14px 16px; border-radius:13px; margin-bottom:18px; line-height:1.55; }
.visa-alert-error { color:#992b35; background:#fff0f2; border:1px solid #ffd4d9; }
.visa-alert-success { color:#166534; background:#ecfdf3; border:1px solid #bbf7d0; }

.visa-detail-page { background:radial-gradient(circle at 5% 18%,rgba(47,111,237,.08),transparent 24%),linear-gradient(180deg,#f7f9fd,#eef3f9 52%,#f8faff); }
.visa-detail-hero { position:relative; isolation:isolate; overflow:hidden; min-height:470px; display:flex; align-items:center; color:#fff; padding:38px 0 82px; background:#0d1830; }
.visa-detail-hero-media,.visa-detail-hero-shade { position:absolute; inset:0; }
.visa-detail-hero-media { z-index:-3; }
.visa-detail-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center 50%; transform:scale(1.015); }
.visa-detail-hero-shade { z-index:-2; background:linear-gradient(90deg,rgba(5,15,33,.97),rgba(10,28,55,.84) 55%,rgba(8,22,44,.48)),linear-gradient(0deg,rgba(6,17,35,.72),transparent 64%); }
.visa-detail-hero::after { content:""; position:absolute; z-index:-1; width:330px; height:330px; right:7%; top:9%; border:1px solid rgba(255,255,255,.11); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.025); }
.visa-detail-hero>.visa-container { position:relative; z-index:1; }
.visa-breadcrumbs { display:flex; gap:9px; align-items:center; flex-wrap:wrap; color:rgba(255,255,255,.6); font-size:13px; }
.visa-breadcrumbs a { color:rgba(255,255,255,.82); text-decoration:none; }
.visa-breadcrumbs a:hover { color:#fff; text-decoration:underline; }
.visa-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:48px; align-items:center; margin-top:28px; }
.visa-detail-hero-copy { min-width:0; }
.visa-detail-title-row { display:flex; gap:20px; align-items:center; }
.visa-detail-flag { width:86px; height:66px; flex:0 0 86px; padding:5px; border-radius:17px; display:grid; place-items:center; background:rgba(255,255,255,.9); border:1px solid rgba(255,255,255,.7); box-shadow:0 14px 35px rgba(0,0,0,.24); overflow:hidden; }
.visa-detail-flag img { width:100%; height:100%; object-fit:cover; border-radius:11px; }
.visa-detail-hero h1 { font-size:clamp(40px,5vw,62px); margin:5px 0 0; }
.visa-detail-lead { color:rgba(255,255,255,.78); font-size:16px; line-height:1.7; margin:19px 0 0; max-width:720px; }
.visa-detail-chips { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 0; padding:0; list-style:none; }
.visa-detail-chips li { padding:8px 11px; border:1px solid rgba(255,255,255,.17); border-radius:99px; color:rgba(255,255,255,.82); background:rgba(255,255,255,.08); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); font-size:11px; font-weight:700; }
.visa-price-card { padding:24px; }
.visa-price-card .visa-mini-label { color:rgba(255,255,255,.6); }
.visa-price-card-top { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.visa-price-status { padding:6px 9px; border-radius:99px; color:#b8f7cf; background:rgba(29,158,86,.18); border:1px solid rgba(103,224,151,.22); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.visa-big-price { font-family:"Playfair Display",Georgia,serif; font-size:40px; color:#fff; margin:8px 0 10px; }
.visa-price-summary { display:grid; gap:7px; padding:12px 0; border-top:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); }
.visa-price-summary span { color:rgba(255,255,255,.76); font-size:12px; }
.visa-price-summary span::before { content:"✓"; color:#f0cf7c; margin-right:7px; }
.visa-price-card p { color:rgba(255,255,255,.65); font-size:13px; line-height:1.55; }
.visa-price-card .visa-btn { width:100%; margin-top:12px; }
.visa-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:-38px; margin-bottom:0; padding:0; position:relative; z-index:3; list-style:none; }
.visa-fact { display:flex; align-items:center; gap:12px; min-width:0; background:rgba(255,255,255,.82); border:1px solid rgba(255,255,255,.94); border-radius:18px; padding:17px; box-shadow:0 15px 38px rgba(31,54,94,.1); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
.visa-fact-icon { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:12px; color:#2f6fed; background:#eaf1ff; font-size:18px; }
.visa-fact small,.visa-fact strong { display:block; }
.visa-fact small { color:var(--visa-muted); margin-bottom:6px; }
.visa-fact strong { font-size:14px; line-height:1.35; overflow-wrap:anywhere; }
.visa-content-layout { display:grid; grid-template-columns:1fr 340px; gap:28px; align-items:start; }
.visa-content-stack { display:grid; gap:22px; }
.visa-content-card { background:rgba(255,255,255,.78); border:1px solid rgba(255,255,255,.94); border-radius:24px; padding:30px; box-shadow:0 15px 42px rgba(31,54,94,.075); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
.visa-content-card h2 { font-size:30px; margin:0 0 17px; }
.visa-content-card p { color:#536079; line-height:1.75; }
.visa-content-kicker { display:block; color:#b47b16; font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; margin-bottom:8px; }
.visa-overview-card { position:relative; overflow:hidden; }
.visa-overview-card::after { content:""; position:absolute; right:-52px; top:-60px; width:160px; height:160px; border-radius:50%; background:radial-gradient(circle,rgba(47,111,237,.1),transparent 68%); pointer-events:none; }
.visa-check-list { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.visa-check-list li { display:flex; gap:11px; color:#46526a; line-height:1.55; padding:12px 13px; border:1px solid #e5ebf4; border-radius:14px; background:rgba(250,252,255,.8); }
.visa-check-list li::before { content:"✓"; width:24px; height:24px; flex:0 0 24px; display:grid; place-items:center; border-radius:8px; background:#eaf8ef; color:#16814a; font-weight:800; }
.visa-detail-process { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.visa-detail-process>div { padding:17px; border:1px solid #e2e9f3; border-radius:16px; background:linear-gradient(145deg,rgba(247,250,255,.96),rgba(255,255,255,.8)); }
.visa-detail-process>div>span { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:11px; color:#2f6fed; background:#eaf1ff; font-size:11px; font-weight:800; }
.visa-detail-process h3 { font-size:16px; line-height:1.3; margin:13px 0 7px; }
.visa-detail-process p { margin:0; font-size:12px; line-height:1.55; }
.visa-side-card { position:sticky; top:22px; overflow:hidden; background:rgba(255,255,255,.84); border:1px solid rgba(255,255,255,.96); border-radius:24px; padding:22px; box-shadow:0 20px 55px rgba(31,54,94,.12); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
.visa-side-image { position:relative; height:150px; margin:-22px -22px 22px; overflow:hidden; background:#dbe4f0; }
.visa-side-image>img { width:100%; height:100%; object-fit:cover; }
.visa-side-image>span { position:absolute; left:17px; bottom:14px; width:58px; height:44px; padding:4px; border-radius:12px; background:rgba(255,255,255,.9); box-shadow:0 9px 24px rgba(0,0,0,.22); }
.visa-side-image>span img { width:100%; height:100%; object-fit:cover; border-radius:7px; }
.visa-side-card h3 { margin-top:0; font-size:22px; }
.visa-side-card .visa-btn { width:100%; margin-top:14px; }
.visa-info-list { display:grid; gap:13px; }
.visa-info-row { display:flex; justify-content:space-between; gap:18px; padding-bottom:12px; border-bottom:1px solid var(--visa-line); }
.visa-info-row span:first-child { color:var(--visa-muted); }
.visa-info-row strong { text-align:right; }
.visa-side-trust { list-style:none; padding:0; margin:17px 0 0; display:grid; gap:8px; }
.visa-side-trust li { color:#536079; font-size:12px; }
.visa-side-trust li::before { content:"✓"; display:inline-grid; place-items:center; width:19px; height:19px; margin-right:7px; border-radius:6px; color:#16814a; background:#eaf8ef; font-weight:800; }
.visa-source { padding:15px; border-radius:14px; background:#f4f7fc; font-size:12px; line-height:1.55; color:var(--visa-muted); margin-top:18px; }
.visa-source a { color:var(--visa-blue); font-weight:700; }
.visa-faq details { border:1px solid #e2e8f1; border-radius:14px; padding:15px 16px; margin-top:10px; background:rgba(250,252,255,.82); }
.visa-faq details:first-of-type { margin-top:0; }
.visa-faq summary { font-weight:700; cursor:pointer; list-style-position:outside; }
.visa-faq details p { margin-bottom:0; }
.visa-related-section { padding-top:15px; background:linear-gradient(180deg,transparent,rgba(231,238,248,.72)); }
.visa-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.visa-related-card { overflow:hidden; display:flex; flex-direction:column; color:inherit; text-decoration:none; border:1px solid rgba(255,255,255,.94); border-radius:21px; background:rgba(255,255,255,.78); box-shadow:0 14px 38px rgba(31,54,94,.09); transition:transform .22s ease,box-shadow .22s ease; }
.visa-related-card:hover { transform:translateY(-5px); box-shadow:0 22px 48px rgba(31,54,94,.14); }
.visa-related-image { height:150px; overflow:hidden; background:#dbe4f0; }
.visa-related-image img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.visa-related-card:hover .visa-related-image img { transform:scale(1.055); }
.visa-related-body { display:flex; flex-direction:column; flex:1; padding:17px; }
.visa-related-title { display:flex; align-items:center; gap:10px; }
.visa-related-title img { width:38px; height:29px; object-fit:cover; border-radius:6px; box-shadow:0 3px 10px rgba(31,54,94,.15); }
.visa-related-title strong { font-size:18px; }
.visa-related-body>small { color:var(--visa-muted); margin:10px 0 14px; }
.visa-related-price { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:auto; padding-top:13px; border-top:1px solid var(--visa-line); font-weight:800; }
.visa-related-price b { width:32px; height:32px; display:grid; place-items:center; border-radius:10px; color:#fff; background:var(--visa-navy); }
.visa-related-action { display:flex; justify-content:center; margin-top:24px; }

.visa-form-page { min-height:100vh; padding:34px 0 90px; background:radial-gradient(circle at 7% 10%,rgba(47,111,237,.1),transparent 23%),radial-gradient(circle at 92% 32%,rgba(222,170,55,.11),transparent 22%),linear-gradient(180deg,#f7f9fd,#eef3f9 55%,#f8faff); }
.visa-form-banner { min-height:260px; position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.72); border-radius:27px; margin-bottom:24px; box-shadow:0 22px 55px rgba(14,35,70,.16); display:flex; align-items:flex-end; color:#fff; isolation:isolate; }
.visa-form-banner>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.visa-form-banner-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,18,39,.94),rgba(9,33,67,.72) 54%,rgba(7,18,38,.22)),linear-gradient(0deg,rgba(7,18,38,.48),transparent 62%); }
.visa-form-banner-copy { position:relative; z-index:1; max-width:780px; padding:34px 38px; }
.visa-form-banner-copy h1 { font-family:"Playfair Display",Georgia,serif; font-size:clamp(34px,4.2vw,50px); line-height:1.08; margin:11px 0; }
.visa-form-banner-copy p { color:rgba(255,255,255,.84); font-size:16px; line-height:1.6; margin:0; }
.visa-form-header { text-align:center; max-width:730px; margin:0 auto 28px; }
.visa-form-header h1 { font-family:"Playfair Display",Georgia,serif; font-size:clamp(35px,5vw,54px); margin:12px 0; }
.visa-form-header p { color:var(--visa-muted); line-height:1.7; }
.visa-application-shell { display:grid; grid-template-columns:1fr 300px; gap:24px; align-items:start; }
.visa-application-card { background:rgba(255,255,255,.82); border:1px solid rgba(255,255,255,.94); box-shadow:0 20px 55px rgba(31,54,94,.11); border-radius:26px; padding:32px; -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
.visa-form-section { margin-bottom:30px; }
.visa-form-section:last-child { margin-bottom:0; }
.visa-form-section-title { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.visa-form-section-title>div p { color:var(--visa-muted); margin:5px 0 0; font-size:13px; }
.visa-form-number { width:34px; height:34px; border-radius:11px; display:grid; place-items:center; background:#eaf1ff; color:#2f6fed; font-weight:800; }
.visa-form-section-title h2 { margin:0; font-size:20px; }
.visa-file-box { min-width:0; position:relative; display:grid; grid-template-columns:44px minmax(0,1fr); gap:11px 12px; align-items:center; border:1px dashed #b7c6dc; border-radius:17px; padding:15px; background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(242,247,255,.92)); cursor:pointer; transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease; }
.visa-file-box:hover,.visa-file-box:focus-within,.visa-file-box.is-dragging { border-color:#2f6fed; background:#f3f7ff; transform:translateY(-2px); box-shadow:0 12px 28px rgba(47,111,237,.12); }
.visa-file-box.has-file { border-style:solid; border-color:#69b98b; background:#f0fbf5; }
.visa-file-box.has-error { border-style:solid; border-color:#dc7b84; background:#fff2f3; }
.visa-file-input { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.visa-file-icon { width:44px; height:44px; grid-row:1 / span 2; display:grid; place-items:center; border-radius:14px; color:#245fc8; background:#e7efff; font-size:22px; font-weight:900; }
.visa-file-box.has-file .visa-file-icon { color:#177044; background:#dcf6e8; }
.visa-file-box.has-error .visa-file-icon { color:#a12835; background:#ffe0e3; }
.visa-file-copy { min-width:0; }
.visa-file-copy strong,.visa-file-copy small { display:block; }
.visa-file-copy strong { color:#172640; font-size:13px; }
.visa-file-copy small { margin-top:4px; color:var(--visa-muted); font-size:10px; line-height:1.4; }
.visa-file-action { grid-column:1 / -1; overflow:hidden; padding:9px 11px; border-radius:10px; color:#2358b6; background:#eaf1ff; font-size:11px; font-weight:800; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.visa-file-box.has-file .visa-file-action { color:#17663f; background:#dff5e9; }
.visa-file-box.has-error .visa-file-action { color:#9d2632; background:#ffe0e3; }
.visa-checkbox { display:flex; align-items:flex-start; gap:10px; color:#4e5c73; line-height:1.55; font-size:13px; }
.visa-checkbox input { margin-top:3px; }
.visa-application-aside { position:sticky; top:108px; display:grid; gap:16px; }
.visa-compact-card { background:rgba(255,255,255,.84); border:1px solid rgba(255,255,255,.94); border-radius:20px; padding:21px; box-shadow:0 14px 36px rgba(31,54,94,.08); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); }
.visa-compact-card h3 { margin-top:0; }
.visa-compact-card p,.visa-compact-card li { color:var(--visa-muted); font-size:13px; line-height:1.55; }
.visa-compact-card ul { padding-left:19px; }
.visa-compact-image { padding:0; overflow:hidden; }
.visa-compact-image>img { width:100%; height:150px; object-fit:cover; display:block; }
.visa-compact-image>div { padding:20px; }
.visa-compact-image .visa-flag { margin-top:-48px; position:relative; border:4px solid #fff; }
.visa-form-submit { width:100%; margin-top:20px; }
.visa-honeypot { position:absolute!important; left:-9999px!important; opacity:0!important; height:0!important; }

.visa-traveller-section-title { align-items:center; }
.visa-btn-add { min-height:44px; color:#1f56b8; background:#edf3ff; border:1px solid #cfe0ff; white-space:nowrap; }
.visa-btn-add:disabled { opacity:.55; cursor:not-allowed; transform:none; box-shadow:none; }
.visa-traveller-list { display:grid; gap:18px; }
.visa-traveller-card { border:1px solid #dce5f3; border-radius:21px; padding:23px; background:linear-gradient(145deg,#fff,#f8fbff); box-shadow:0 10px 30px rgba(31,54,94,.06); }
.visa-traveller-head { display:flex; align-items:start; justify-content:space-between; gap:18px; margin-bottom:20px; }
.visa-traveller-kicker { display:block; color:#2f6fed; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:4px; }
.visa-traveller-head h3 { margin:0; font-size:21px; }
.visa-remove-traveller { border:0; border-radius:10px; padding:9px 12px; color:#a12835; background:#fff0f2; font-size:12px; font-weight:800; cursor:pointer; }
.visa-traveller-documents { border-top:1px solid var(--visa-line); margin-top:22px; padding-top:20px; }
.visa-upload-heading { display:flex; align-items:center; gap:11px; margin-bottom:14px; }
.visa-upload-heading-icon { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:12px; color:#245fc8; background:#eaf1ff; font-size:19px; font-weight:900; }
.visa-upload-heading strong,.visa-upload-heading span { display:block; }
.visa-upload-heading>div>span { margin-top:3px; color:var(--visa-muted); font-size:11px; line-height:1.45; }
.visa-document-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.visa-add-traveller-row { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:17px 19px; border:1px dashed #b9c9e2; border-radius:17px; background:linear-gradient(135deg,#f7faff,#eef4ff); }
.visa-add-traveller-row>div { min-width:0; }
.visa-add-traveller-row>div>strong,.visa-add-traveller-row>div>span { display:block; }
.visa-add-traveller-row>div>span { margin-top:4px; color:var(--visa-muted); font-size:12px; line-height:1.45; }
.visa-add-traveller-row .visa-btn-add { flex:0 0 auto; }
.visa-traveller-limit { margin-top:14px; padding:12px 14px; border-radius:12px; background:#fff5db; color:#8a5a08; font-size:13px; }

.visa-success-wrap { min-height:75vh; display:grid; place-items:center; padding:50px 18px; background:linear-gradient(rgba(246,249,253,.88),rgba(246,249,253,.95)),url('../images/visa-hero.webp') center/cover no-repeat; }
.visa-success-card { width:min(690px,100%); text-align:center; background:#fff; border:1px solid var(--visa-line); border-radius:28px; padding:45px; box-shadow:var(--visa-shadow); }
.visa-success-icon { width:76px; height:76px; border-radius:24px; display:grid; place-items:center; margin:0 auto 20px; background:#eaf8ef; color:#15803d; font-size:36px; }
.visa-success-card h1 { font-family:"Playfair Display",Georgia,serif; font-size:40px; margin:0 0 12px; }
.visa-success-card p { color:var(--visa-muted); line-height:1.7; }
.visa-reference { display:inline-block; padding:15px 22px; border-radius:14px; background:#f2f5fa; font-weight:800; letter-spacing:.04em; margin:10px 0 18px; }
.visa-status-panel { background:#fff; border:1px solid var(--visa-line); border-radius:22px; padding:28px; margin-top:24px; }
.visa-status-head { display:flex; justify-content:space-between; gap:20px; align-items:start; }
.visa-status-badge { display:inline-flex; align-items:center; border-radius:99px; padding:8px 12px; font-size:12px; font-weight:800; }
.visa-status-badge.blue { color:#2457b8;background:#eaf1ff; }
.visa-status-badge.violet { color:#6d3fc0;background:#f2ebff; }
.visa-status-badge.amber { color:#9a5e05;background:#fff5db; }
.visa-status-badge.green { color:#167446;background:#e8f8ef; }
.visa-status-badge.red { color:#aa2b36;background:#ffedef; }
.visa-status-badge.gray { color:#596376;background:#eef0f4; }
.visa-progress { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:26px 0 10px; }
.visa-progress span { height:7px; border-radius:99px; background:#e5e9f0; }
.visa-progress span.active { background:linear-gradient(90deg,#2f6fed,#6f9cff); }

@media (max-width: 980px) {
  .visa-detail-grid,.visa-content-layout,.visa-track-card,.visa-application-shell { grid-template-columns:1fr; }
  .visa-hero-grid { grid-template-columns:minmax(0,1fr) 300px; gap:28px; }
  .visa-hero-card { max-width:360px; }
  .visa-trust-row,.visa-facts { grid-template-columns:repeat(2,1fr); }
  .visa-trust-item:nth-child(2) { border-right:0; }
  .visa-country-grid { grid-template-columns:repeat(2,1fr); }
  .visa-steps { grid-template-columns:repeat(2,1fr); }
  .visa-related-grid { grid-template-columns:repeat(2,1fr); }
  .visa-side-card { position:static; }
  .visa-detail-grid { gap:24px; }
  .visa-price-card { max-width:420px; }
}

@media (max-width: 800px) {
  .visa-hero-grid { grid-template-columns:1fr; }
  .visa-hero-card { display:none; }
  .visa-search-panel { grid-template-columns:minmax(0,1fr) 210px; }
  .visa-result-count { grid-column:1/-1; padding:0 4px 2px; }
}

@media (max-width: 680px) {
  .visa-site-header { min-height:68px; padding:12px 18px; }
  .visa-site-header nav a:not(.visa-nav-cta) { display:none; }
  .visa-brand small { display:none; }
  .visa-site-footer { flex-direction:column; }
  .visa-hero { min-height:380px; padding:44px 0 66px; }
  .visa-hero h1 { font-size:clamp(36px,11vw,46px); }
  .visa-hero-copy { font-size:15px; line-height:1.6; }
  .visa-hero-actions { margin-top:20px; }
  .visa-hero-actions .visa-btn { flex:1 1 180px; }
  .visa-hero-card { display:none; }
  .visa-trust-row { grid-template-columns:1fr 1fr; }
  .visa-trust-item { padding:17px; align-items:flex-start; flex-direction:column; border-bottom:1px solid var(--visa-line); }
  .visa-trust-item:nth-child(3) { border-bottom:0; }
  .visa-section { padding:65px 0; }
  .visa-landing-page .visa-section { padding:60px 0; }
  .visa-section-heading { align-items:start; flex-direction:column; }
  .visa-search-panel,.visa-country-grid,.visa-steps,.visa-form-grid,.visa-facts { grid-template-columns:1fr; }
  .visa-result-count { grid-column:auto; }
  .visa-country-image { height:185px; }
  .visa-country-card-body { padding:18px; }
  .visa-track-copy,.visa-track-form { padding:26px; }
  .visa-detail-title-row { align-items:flex-start; }
  .visa-detail-hero { min-height:auto; padding:28px 0 72px; }
  .visa-detail-flag { width:66px;height:51px;flex:0 0 66px;border-radius:13px; }
  .visa-detail-title-row { gap:13px; }
  .visa-detail-hero h1 { font-size:clamp(34px,10vw,46px); }
  .visa-detail-chips { gap:6px; }
  .visa-detail-chips li { width:100%; }
  .visa-detail-process,.visa-related-grid { grid-template-columns:1fr; }
  .visa-fact { padding:16px; }
  .visa-content-card,.visa-application-card { padding:22px; }
  .visa-form-banner { min-height:245px; border-radius:22px; }
  .visa-form-banner-copy { padding:28px 22px; }
  .visa-traveller-section-title { align-items:flex-start; flex-wrap:wrap; }
  .visa-traveller-card { padding:18px; }
  .visa-add-traveller-row { align-items:flex-start; flex-direction:column; }
  .visa-add-traveller-row .visa-btn-add { width:100%; }
  .visa-document-grid { grid-template-columns:1fr; }
  .visa-form-page { padding-top:35px; }
  .visa-success-card { padding:30px 22px; }
  .visa-status-head { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .visa-btn,.visa-country-card,.visa-country-image img,.visa-arrow-link { transition:none!important; }
  .visa-btn:hover,.visa-country-card:hover { transform:none; }
}
