@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');

:root {
  --navy: #002a78;
  --blue: #0645b7;
  --blue-mid: #0753c8;
  --blue-bright: #0b62de;
  --ink: #001c5d;
  --lime: #efff37;
  --sky: #77b7ff;
  --white: #f8fbff;
  --muted: #b9d3ff;
  --line: rgba(219, 234, 255, .27);
  --line-strong: rgba(239, 255, 55, .65);
  --danger: #ff8181;
  --font-display: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
  --font-body: "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--white); background: var(--navy); font-family: var(--font-body); font-size: 16px; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
a:hover { color: inherit; }
img { max-width: 100%; }
button, input, select, textarea { font: inherit; }
::selection { background: var(--lime); color: var(--ink); }

.site-shell { overflow: hidden; position: relative; }
.container { max-width: 1190px; }
.section { padding: 92px 0; position: relative; }
.section-sm { padding: 62px 0; position: relative; }
.band-deep { background: var(--navy); }
.band-blue { background: var(--blue); }
.band-mid { background: var(--blue-mid); }
.band-bright { background: var(--blue-bright); }
.map-grid { background-image: linear-gradient(rgba(220, 238, 255, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(220, 238, 255, .07) 1px, transparent 1px); background-size: 42px 42px; }
.map-fine { background-image: radial-gradient(circle at 18% 20%, rgba(135, 201, 255, .18), transparent 21%), linear-gradient(115deg, transparent 44%, rgba(255,255,255,.07) 44.2%, transparent 44.6%), linear-gradient(20deg, transparent 67%, rgba(255,255,255,.06) 67.2%, transparent 67.6%); }
.rule-top { border-top: 1px solid var(--line); }
.rule-bottom { border-bottom: 1px solid var(--line); }
.eyebrow { color: var(--sky); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; margin: 0 0 12px; }
.eyebrow.lime { color: var(--lime); }
.display { font-family: var(--font-display); font-weight: 700; font-size: clamp(2.8rem, 6.1vw, 5.7rem); line-height: .87; letter-spacing: -.045em; margin: 0; }
.display-lg { font-size: clamp(3.6rem, 7.3vw, 7rem); }
.display-md { font-size: clamp(2.6rem, 4.5vw, 4.4rem); }
.section-title { font-family: var(--font-display); font-size: clamp(2.25rem, 3.8vw, 3.9rem); letter-spacing: -.035em; line-height: .94; margin: 0; max-width: 760px; }
.section-title.small { font-size: clamp(2rem, 3vw, 3.05rem); }
.lead-copy { font-size: 1.04rem; color: var(--muted); max-width: 570px; margin: 20px 0 0; }
.copy { color: var(--muted); }
.lime { color: var(--lime); }
.text-sky { color: var(--sky); }

.btn-pass { display: inline-flex; align-items: center; justify-content: center; gap: 19px; border: 1px solid var(--lime); background: var(--lime); color: var(--ink); min-height: 47px; padding: 0 20px; font-weight: 700; font-size: .84rem; transition: transform .2s, background .2s, color .2s; }
.btn-pass::after { content: "→"; font-size: 1.2rem; line-height: 1; }
.btn-pass:hover { transform: translateY(-2px); background: #fff; color: var(--ink); }
.btn-outline { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 47px; padding: 0 18px; border: 1px solid rgba(255,255,255,.48); color: #fff; font-weight: 600; font-size: .84rem; transition: background .2s, border .2s; }
.btn-outline::after { content: "↗"; }
.btn-outline:hover { border-color: var(--lime); background: rgba(239,255,55,.11); }
.btn-pass.w-100, .btn-outline.w-100 { width: 100%; }

/* Header */
.site-header { position: relative; z-index: 50; background: rgba(0, 42, 120, .97); border-bottom: 1px solid rgba(255,255,255,.14); }
.site-header .navbar { min-height: 76px; padding: 10px 0; }
.brand { display: inline-flex; align-items: center; }
.brand img { width: 159px; height: auto; }
.nav-link { color: #d9e7ff; font-size: .78rem; font-weight: 600; padding: .6rem .85rem !important; position: relative; }
.nav-link::after { content: ""; position: absolute; height: 2px; width: 0; left: .85rem; bottom: .26rem; background: var(--lime); transition: width .2s; }
.nav-link:hover, .nav-link.active { color: #fff !important; }
.nav-link:hover::after, .nav-link.active::after { width: calc(100% - 1.7rem); }
.header-cta { min-height: 38px; padding: 0 14px; font-size: .73rem; }
.navbar-toggler { border: 1px solid var(--line); padding: 7px 9px; border-radius: 0; box-shadow: none !important; }
.navbar-toggler-icon { background-image: none; width: 20px; height: 14px; border-top: 2px solid #fff; border-bottom: 2px solid #fff; position: relative; }
.navbar-toggler-icon::before { content: ""; position: absolute; width: 100%; border-top: 2px solid #fff; top: 5px; left: 0; }

/* Hero */
.hero { min-height: 675px; padding: 78px 0 68px; display: flex; align-items: center; position: relative; }
.hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 82% 30%, rgba(99,173,255,.35), transparent 27%), linear-gradient(110deg, rgba(7,91,207,.55), transparent 50%); pointer-events: none; }
.hero-copy { position: relative; z-index: 2; }
.hero-copy .display { max-width: 620px; }
.hero-copy .lead-copy { max-width: 506px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hero-note { color: #bcd7ff; font-size: .75rem; margin-top: 19px; }
.hero-note span { color: var(--lime); margin-right: 7px; }
.hero-stats { display: flex; gap: 0; margin-top: 38px; }
.hero-stat { min-width: 105px; padding-right: 25px; margin-right: 25px; border-right: 1px solid var(--line); }
.hero-stat:last-child { border-right: 0; margin-right: 0; }
.hero-stat strong { display: block; color: var(--lime); font-family: var(--font-display); font-size: 1.9rem; line-height: 1; }
.hero-stat span { display: block; color: var(--muted); font-size: .67rem; margin-top: 5px; line-height: 1.25; }
.hero-visual { min-height: 480px; position: relative; overflow: hidden; border: 1px solid rgba(202, 228, 255, .22); background: #02358f; }
.hero-scenery { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .7; filter: saturate(.82) contrast(1.06); }
.hero-visual::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,42,120,.82) 0%, rgba(0,42,120,.3) 48%, rgba(0,29,91,.16) 100%), linear-gradient(0deg, rgba(0,26,83,.48), transparent 42%); pointer-events: none; }
.route-line { position: absolute; right: 0; top: 25px; z-index: 4; width: 76%; height: 165px; border-top: 2px dashed var(--lime); border-radius: 60% 50% 0 0; transform: rotate(-7deg); opacity: .9; }
.route-line::before, .route-line::after { content: ""; width: 10px; height: 10px; position: absolute; background: var(--lime); border-radius: 50%; top: -6px; }
.route-line::before { left: 4%; } .route-line::after { right: 5%; }
.passport-art { position: absolute; left: 10%; top: 58px; width: 167px; height: 246px; background: #09285a; border: 2px solid #0f539e; box-shadow: 18px 18px 0 rgba(0,20,71,.25), -7px 5px 18px rgba(0,20,71,.32); transform: rotate(-9deg); padding: 24px 18px; z-index: 2; overflow: hidden; }
.passport-art::after { content: ""; position: absolute; width: 160px; height: 160px; left: 25px; top: 63px; border: 1px solid rgba(239,255,55,.34); border-radius: 50%; }
.passport-art .passport-top { font-size: .48rem; color: #dce7f4; text-align: center; letter-spacing: .08em; }
.passport-art .passport-emblem { width: 57px; height: 57px; border: 2px solid #c9c463; border-radius: 50%; margin: 28px auto 17px; position: relative; }
.passport-art .passport-emblem::before, .passport-art .passport-emblem::after { content: ""; position: absolute; inset: 9px; border: 1px solid #c9c463; transform: rotate(45deg); }
.passport-art .passport-emblem::after { transform: rotate(0deg); inset: 20px 5px; }
.passport-art .passport-word { color: #c9c463; font-family: var(--font-display); letter-spacing: .13em; font-size: 1.15rem; text-align: center; }
.dashboard-card { position: absolute; z-index: 3; right: 0; top: 112px; width: min(100%, 412px); border: 1px solid rgba(196,225,255,.55); background: rgba(0,41,120,.92); box-shadow: 0 17px 50px rgba(0,24,77,.25); }
.dash-top { min-height: 53px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); font-weight: 700; font-size: .78rem; }
.dash-top .route { letter-spacing: .04em; }
.dash-top a { font-size: .68rem; color: var(--sky); }
.dash-main { padding: 14px 16px; display: grid; grid-template-columns: 1fr 92px; gap: 10px; }
.dash-meta { padding: 7px 0; border-bottom: 1px solid var(--line); font-size: .67rem; color: var(--muted); }
.dash-meta strong { color: #fff; display: block; font-size: .72rem; }
.readiness-block { border-left: 1px solid var(--line); padding: 7px 0 5px 13px; }
.readiness-block strong { font-family: var(--font-display); color: var(--lime); font-size: 3.1rem; line-height: .82; display: block; }
.readiness-block span { color: var(--muted); font-weight: 700; font-size: .62rem; letter-spacing: .08em; }
.checklist { margin: 2px 0 0; padding: 0; list-style: none; grid-column: 1 / -1; }
.checklist li { display: flex; gap: 8px; align-items: center; padding: 4px 0; font-size: .68rem; color: #e9f2ff; }
.tick { width: 12px; height: 12px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 12px; background: var(--lime); color: var(--ink); font-size: .6rem; font-weight: 900; }
.tick.pending { border-radius: 50%; border: 1px solid var(--lime); background: transparent; color: transparent; }
.visa-stamp { position: absolute; right: 7%; bottom: 33px; z-index: 2; width: 151px; padding: 15px 9px 11px; border: 2px solid rgba(172,212,255,.7); color: rgba(208,231,255,.85); transform: rotate(8deg); text-align: center; font-family: var(--font-display); font-size: 1.25rem; letter-spacing: .07em; line-height: .9; }
.visa-stamp small { font-family: var(--font-body); display: block; font-size: .5rem; letter-spacing: .12em; margin-top: 7px; }

/* Search panel */
.search-section { background: var(--blue); padding: 50px 0 0; }
.search-panel { margin-top: 28px; border: 1px solid var(--line); background: rgba(0,39,117,.4); padding: 12px; }
.field-label { display: block; color: var(--sky); font-size: .6rem; line-height: 1; letter-spacing: .09em; text-transform: uppercase; margin-bottom: 7px; }
.select-like { height: 51px; border: 1px solid rgba(198,224,255,.35); background: rgba(0,34,105,.45); padding: 0 13px; display: flex; align-items: center; justify-content: space-between; font-size: .78rem; }
.select-like .flag { font-size: 1.05rem; margin-right: 7px; }
.select-like span:first-child { display: flex; align-items: center; }
.select-like .chevron { color: var(--sky); }
.search-panel .btn-pass { width: 100%; height: 51px; margin-top: 17px; }
.quick-result { margin-top: 14px; border: 1px solid var(--line); background: rgba(4,70,183,.5); display: grid; grid-template-columns: minmax(190px, 1.4fr) repeat(3, 1fr) 118px; }
.result-place, .result-cell { padding: 12px 14px; border-right: 1px solid var(--line); }
.result-cell:last-child { border: 0; }
.result-place { display: flex; align-items: center; gap: 10px; }
.result-place .place-thumb { height: 48px; width: 67px; flex: 0 0 67px; display: block; object-fit: cover; object-position: center; border: 1px solid rgba(255,255,255,.34); }
.result-place strong, .result-cell strong { display: block; font-size: .75rem; }
.result-place small, .result-cell small { display: block; color: var(--muted); font-size: .61rem; margin-top: 4px; }
.result-cell { font-size: .72rem; display: flex; align-items: center; }
.result-cell i { font-style: normal; color: var(--lime); display: block; font-weight: 700; }
.result-link { padding: 12px 14px; font-size: .67rem; font-weight: 700; display: flex; align-items: center; justify-content: center; color: #fff; }
.result-link::after { content: "→"; color: var(--lime); margin-left: 9px; font-size: 1rem; }

/* Detail / workflow */
.numbered-list { border-top: 1px solid var(--line); margin-top: 32px; }
.numbered-step { display: grid; grid-template-columns: 40px 1fr; gap: 13px; padding: 19px 6px; border-bottom: 1px solid var(--line); }
.numbered-step .step-no { color: var(--lime); font-family: var(--font-display); font-size: 1.5rem; line-height: 1; }
.numbered-step strong { font-size: .93rem; display: block; }
.numbered-step p { margin: 5px 0 0; color: var(--muted); font-size: .78rem; }
.data-plate { height: 100%; min-height: 415px; padding: 27px; border: 1px solid var(--line); position: relative; overflow: hidden; background: linear-gradient(135deg, rgba(15,100,225,.9), rgba(1,45,133,.98)); }
.data-plate::after { content: ""; position: absolute; width: 420px; height: 420px; border: 1px solid rgba(240,255,55,.28); border-radius: 50%; right: -235px; bottom: -250px; }
.plate-photo-frame { height: 168px; margin: -27px -27px 24px; overflow: hidden; position: relative; border-bottom: 1px solid var(--line); }
.plate-photo-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(1,45,133,.18), rgba(1,45,133,.52)), linear-gradient(0deg, rgba(1,45,133,.74), transparent 55%); }
.plate-photo-frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; filter: saturate(.8) contrast(1.05); }
.data-plate .mini-label { color: var(--lime); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.data-plate h3 { margin: 15px 0 23px; font-family: var(--font-display); font-size: 2.5rem; line-height: .91; max-width: 285px; }
.plate-route { position: relative; z-index: 1; border: 1px solid rgba(255,255,255,.25); background: rgba(0,33,102,.42); }
.plate-route .route-city { padding: 15px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); font-size: .74rem; font-weight: 700; }
.plate-route .route-city:last-child { border-bottom: 0; }
.plate-route .route-city span:last-child { color: var(--sky); font-size: .65rem; font-weight: 500; }
.plate-pill { position: absolute; right: 22px; bottom: 22px; z-index: 2; background: var(--lime); color: var(--ink); padding: 9px 12px; font-size: .66rem; font-weight: 700; }

.workflow-section { overflow: hidden; background: radial-gradient(circle at 87% 11%, rgba(119,183,255,.18), transparent 25%), var(--blue); }
.workflow-section::before { content: ""; position: absolute; width: 460px; height: 460px; right: -280px; bottom: -335px; border: 1px solid rgba(239,255,55,.2); border-radius: 50%; box-shadow: 0 0 0 48px rgba(255,255,255,.025), 0 0 0 96px rgba(255,255,255,.018); }
.workflow-header { display: grid; grid-template-columns: minmax(0, 1.45fr) 168px minmax(260px, .75fr); align-items: end; gap: 34px; position: relative; z-index: 1; }
.workflow-heading .section-title { max-width: 620px; }
.workflow-header .lead-copy { margin: 0; }
.workflow-summary { min-height: 76px; padding-left: 18px; border-left: 2px solid var(--lime); display: flex; align-items: center; gap: 13px; }
.workflow-summary strong { color: var(--lime); font-family: var(--font-display); font-size: 3rem; line-height: .8; }
.workflow-summary span { color: #dceaff; font-size: .68rem; line-height: 1.45; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.workflow-grid { margin-top: 52px; position: relative; z-index: 1; counter-reset: workflow; }
.workflow-grid::before { content: ""; position: absolute; z-index: 0; left: 12.5%; right: 12.5%; top: 14px; height: 1px; background: linear-gradient(90deg, var(--lime), rgba(239,255,55,.3) 78%, var(--lime)); }
.workflow-card-col { position: relative; padding-top: 34px; }
.workflow-card-col::before { content: ""; position: absolute; z-index: 2; width: 13px; height: 13px; top: 8px; left: 50%; transform: translateX(-50%); border: 3px solid var(--blue); border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 1px var(--lime), 0 0 0 7px rgba(239,255,55,.09); }
.workflow-step { height: 100%; min-height: 330px; padding: 24px 25px 22px; border: 1px solid rgba(219,234,255,.3); background: linear-gradient(145deg, rgba(0,35,108,.77), rgba(4,77,183,.6)); position: relative; overflow: hidden; display: flex; flex-direction: column; counter-increment: workflow; transition: transform .25s ease, border-color .25s ease, background .25s ease; }
.workflow-step::before { content: ""; position: absolute; top: 0; left: 0; width: 0; height: 3px; background: var(--lime); transition: width .35s ease; }
.workflow-step::after { content: counter(workflow, decimal-leading-zero); position: absolute; right: -7px; bottom: -29px; color: rgba(119,183,255,.08); font-family: var(--font-display); font-size: 8rem; font-weight: 700; line-height: 1; pointer-events: none; }
.workflow-step:hover { transform: translateY(-6px); border-color: rgba(239,255,55,.68); background: linear-gradient(145deg, rgba(0,38,117,.86), rgba(10,94,213,.68)); }
.workflow-step:hover::before { width: 100%; }
.workflow-step-top { min-height: 25px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); padding-bottom: 13px; }
.workflow-no { color: var(--lime); font-family: var(--font-display); font-size: 1.25rem; line-height: 1; }
.workflow-phase { color: var(--sky); font-size: .63rem; line-height: 1; letter-spacing: .11em; text-transform: uppercase; font-weight: 700; text-align: right; }
.workflow-icon { width: 62px; height: 62px; margin: 24px 0 20px; display: grid; place-items: center; border: 1px solid rgba(239,255,55,.68); background: rgba(239,255,55,.06); color: var(--lime); }
.workflow-icon svg { width: 35px; height: 35px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.workflow-step h3 { font-family: var(--font-display); font-size: 2.15rem; line-height: .92; margin: 0 0 10px; }
.workflow-step p { color: #c8dcff; font-size: .875rem; line-height: 1.55; margin: 0 0 23px; max-width: 235px; }
.workflow-meta { color: var(--sky); font-size: .66rem; line-height: 1.4; letter-spacing: .03em; border-top: 1px solid var(--line); padding-top: 13px; margin-top: auto; position: relative; z-index: 1; }

/* Readiness */
.readiness-layout { margin-top: 38px; border: 1px solid var(--line); display: grid; grid-template-columns: .9fr 1.5fr; }
.score-panel { padding: 38px 29px; border-right: 1px solid var(--line); background: rgba(0,39,111,.33); display: flex; flex-direction: column; justify-content: center; }
.score-ring { margin: 12px auto 22px; width: 184px; height: 184px; border-radius: 50%; background: conic-gradient(var(--lime) 0 76%, #3ca5ff 76% 84%, rgba(255,255,255,.15) 84%); padding: 12px; position: relative; }
.score-ring::before { content: ""; position: absolute; inset: 12px; background: var(--blue); border-radius: 50%; }
.score-ring > div { position: absolute; inset: 12px; z-index: 1; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.score-ring strong { font-family: var(--font-display); font-size: 3.5rem; line-height: .8; }
.score-ring span { color: var(--muted); font-size: .62rem; font-weight: 700; letter-spacing: .08em; }
.score-panel p { text-align: center; font-size: .73rem; color: var(--muted); margin: 0; }
.document-panel { padding: 23px 26px; }
.document-panel h3 { font-family: var(--font-display); font-size: 2rem; margin: 0 0 14px; line-height: 1; }
.document-row { display: grid; grid-template-columns: 20px 1fr auto; gap: 9px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line); font-size: .75rem; }
.document-row:first-of-type { border-top: 0; }
.doc-status { color: var(--lime); font-size: .65rem; font-weight: 700; }
.doc-status.review { color: #ffd653; }
.doc-status.missing { color: var(--danger); }
.document-note { margin-top: 17px; padding: 15px; border-left: 2px solid var(--lime); background: rgba(8,96,221,.22); color: var(--muted); font-size: .73rem; }

/* Table */
.comparison { margin-top: 34px; border: 1px solid var(--line); }
.comparison-head, .comparison-row { display: grid; grid-template-columns: 1.45fr 1.1fr .9fr .8fr .75fr; }
.comparison-head { color: var(--sky); font-size: .59rem; letter-spacing: .07em; text-transform: uppercase; background: rgba(0,32,99,.3); }
.comparison-head div, .comparison-row div { padding: 11px 14px; border-right: 1px solid var(--line); }
.comparison-head div:last-child, .comparison-row div:last-child { border-right: 0; }
.comparison-row { border-top: 1px solid var(--line); font-size: .71rem; align-items: center; }
.comparison-row.highlight { background: rgba(239,255,55,.09); box-shadow: inset 0 0 0 1px var(--lime); }
.destination { display: flex; gap: 9px; align-items: center; font-weight: 700; }
.flag-box { width: 28px; height: 20px; background: linear-gradient(#fff 0 33%, #e22e34 33% 66%, #fff 66%); display: inline-grid; place-items: center; font-size: .75rem; }
.comparison-row .visa { color: var(--lime); font-weight: 700; }
.comparison-row .score { color: #fff; font-weight: 700; }

/* Timeline */
.timeline-copy { min-height: 335px; display: flex; flex-direction: column; justify-content: center; }
.timeline-visual { min-height: 360px; padding: 31px 29px; position: relative; overflow: hidden; border: 1px solid var(--line); background: #002866; }
.timeline-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.82) contrast(1.05); }
.timeline-visual::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,35,105,.74), rgba(0,43,119,.12) 64%), linear-gradient(0deg, rgba(0,24,75,.72), transparent 52%); }
.timeline-visual::before { content: ""; position: absolute; z-index: 2; width: 500px; height: 1px; background: rgba(255,255,255,.4); top: 52%; left: -20px; transform: rotate(-10deg); }
.timeline-visual .airport-copy { position: absolute; right: 29px; top: 27px; z-index: 2; color: rgba(236,247,255,.9); font-family: var(--font-display); font-size: 2rem; line-height: .9; text-align: right; text-shadow: 0 2px 15px rgba(0,19,68,.7); }
.timeline-visual .airport-copy small { display: block; font-family: var(--font-body); letter-spacing: .1em; font-size: .58rem; margin-top: 7px; }
.timeline-track { position: absolute; left: 34px; right: 28px; bottom: 43px; z-index: 2; display: flex; justify-content: space-between; border-top: 2px solid rgba(255,255,255,.78); }
.timeline-dot { width: 13px; height: 13px; background: var(--lime); border-radius: 50%; margin-top: -7px; position: relative; }
.timeline-dot::after { content: attr(data-label); position: absolute; color: #fff; font-size: .6rem; width: 86px; line-height: 1.25; top: 17px; left: -3px; }
.timeline-dot:last-child::before { content: "→"; position: absolute; right: -29px; top: -16px; color: var(--lime); font-size: 2rem; }

/* Security / icon cards */
.security-intro { max-width: 320px; }
.security-cards { margin-top: 33px; }
.security-card { padding: 18px 18px 18px 0; min-height: 155px; border-right: 1px solid var(--line); }
.security-card:last-child { border-right: 0; }
.security-icon { color: var(--lime); font-size: 1.45rem; margin-bottom: 14px; height: 25px; }
.security-card h3 { font-family: var(--font-display); font-size: 1.38rem; line-height: .95; margin: 0 0 8px; }
.security-card p { color: var(--muted); font-size: .7rem; margin: 0; max-width: 175px; }

/* Testimonial / CTA */
.quote-section { padding: 72px 0; background: linear-gradient(100deg, #013285, #003a9f); }
.quote { border-left: 3px solid var(--lime); padding-left: 25px; }
.quote blockquote { font-family: var(--font-display); font-size: clamp(2rem, 3.2vw, 3.2rem); line-height: .92; max-width: 610px; margin: 0; }
.quote p { color: var(--muted); font-size: .76rem; margin: 16px 0 0; }
.quote-photo { min-height: 310px; position: relative; overflow: hidden; border: 1px solid var(--line); background: #002866; }
.quote-photo::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(0,25,79,.92) 0%, rgba(0,33,98,.08) 68%); pointer-events: none; }
.quote-photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 67% center; filter: saturate(.78) contrast(1.04); }
.quote-metrics { display: grid; grid-template-columns: repeat(3, 1fr); border-left: 1px solid var(--line); }
.quote-photo .quote-metrics { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; margin: 0; background: rgba(0,31,100,.7); backdrop-filter: blur(5px); }
.quote-metric { padding: 12px 16px; border-right: 1px solid var(--line); }
.quote-metric strong { display: block; font-family: var(--font-display); color: var(--lime); font-size: 2.2rem; line-height: 1; }
.quote-metric span { display: block; color: var(--muted); font-size: .62rem; line-height: 1.3; margin-top: 6px; }
.cta-section { padding: 70px 0; background: var(--blue-bright); position: relative; overflow: hidden; }
.cta-section::after { content: ""; position: absolute; width: 360px; height: 360px; border: 1px solid rgba(255,255,255,.25); right: -80px; top: -190px; border-radius: 50%; box-shadow: 0 0 0 30px rgba(255,255,255,.05), 0 0 0 60px rgba(255,255,255,.04); }
.cta-wrap { display: flex; align-items: center; justify-content: space-between; gap: 35px; position: relative; z-index: 1; }
.cta-wrap .section-title { max-width: 600px; }
.cta-wrap .btn-pass { flex: 0 0 auto; }

/* FAQ */
.faq-wrap { margin-top: 35px; max-width: 870px; }
.faq-item { border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-question { width: 100%; color: #fff; background: none; border: 0; text-align: left; padding: 17px 0; display: flex; align-items: center; justify-content: space-between; font-size: .83rem; font-weight: 600; }
.faq-question span:last-child { color: var(--lime); font-size: 1.3rem; font-weight: 400; transition: transform .2s; }
.faq-question[aria-expanded="true"] span:last-child { transform: rotate(45deg); }
.faq-answer { display: none; max-width: 700px; color: var(--muted); padding: 0 38px 18px 0; font-size: .78rem; }
.faq-answer.open { display: block; }

/* Page heroes */
.page-hero { padding: 74px 0 64px; position: relative; background: var(--blue); overflow: hidden; }
.page-hero::after { content: ""; position: absolute; width: 560px; height: 560px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; right: -260px; top: -315px; box-shadow: 0 0 0 50px rgba(255,255,255,.035), 0 0 0 100px rgba(255,255,255,.025); }
.page-hero .display { max-width: 800px; position: relative; z-index: 1; }
.page-hero .lead-copy { position: relative; z-index: 1; }
.crumb { font-size: .69rem; color: var(--sky); margin-bottom: 28px; }
.crumb a:hover { color: var(--lime); }
.crumb span { color: rgba(255,255,255,.55); margin: 0 7px; }
.page-hero-side { position: absolute; right: 5%; top: 40px; z-index: 1; color: rgba(232,245,255,.65); font-family: var(--font-display); font-size: 1.5rem; letter-spacing: .04em; text-align: right; transform: rotate(-6deg); border: 1px solid rgba(234,247,255,.45); padding: 13px; }
.page-hero-side small { display: block; font-family: var(--font-body); font-size: .55rem; letter-spacing: .12em; margin-top: 5px; }

/* Feature page */
.feature-index { margin-top: 35px; border-top: 1px solid var(--line); }
.feature-index a { display: flex; justify-content: space-between; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .78rem; }
.feature-index a span { color: var(--lime); font-size: 1rem; }
.feature-story { padding: 82px 0; border-top: 1px solid var(--line); }
.feature-story:first-of-type { border-top: 0; }
.feature-kicker { color: var(--lime); font-family: var(--font-display); font-size: 1.75rem; line-height: 1; }
.feature-story h2 { font-family: var(--font-display); font-size: clamp(2.5rem, 4.1vw, 4.2rem); line-height: .9; letter-spacing: -.04em; margin: 10px 0 20px; }
.feature-story p { color: var(--muted); font-size: .95rem; max-width: 450px; }
.feature-points { list-style: none; padding: 0; margin: 22px 0 0; }
.feature-points li { padding: 8px 0; border-top: 1px solid var(--line); color: #e8f1ff; font-size: .85rem; }
.feature-points li::before { content: "✓"; color: var(--lime); margin-right: 10px; }
.product-screen { min-height: 385px; border: 1px solid var(--line); background: rgba(5,81,196,.35); padding: 18px; position: relative; overflow: hidden; }
.screen-head { font-size: .64rem; color: var(--sky); display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.screen-head strong { color: #fff; }
.screen-route-cards { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.screen-route-card { border: 1px solid var(--line); background: rgba(0,33,100,.5); padding: 14px; min-height: 110px; }
.screen-route-card small { display: block; color: var(--sky); font-size: .58rem; }
.screen-route-card strong { display: block; font-family: var(--font-display); font-size: 1.5rem; line-height: 1; margin-top: 9px; }
.screen-route-card span { font-size: .65rem; color: var(--lime); display: block; margin-top: 8px; }
.screen-canvas { margin-top: 12px; border: 1px solid var(--line); padding: 15px; position: relative; min-height: 150px; }
.map-route { position: absolute; border-top: 2px dashed var(--lime); width: 72%; top: 62px; left: 13%; transform: rotate(-13deg); }
.map-point { position: absolute; height: 13px; width: 13px; background: var(--lime); border-radius: 50%; top: 55px; }
.map-point.a { left: 12%; } .map-point.b { right: 13%; }
.screen-canvas label { position: absolute; font-size: .56rem; color: var(--sky); }
.screen-canvas .la { left: 8px; top: 12px; } .screen-canvas .lb { right: 11px; bottom: 9px; }
.readiness-screen { display: grid; grid-template-columns: 150px 1fr; gap: 21px; align-items: center; min-height: 335px; }
.readiness-screen .score-ring { width: 144px; height: 144px; margin: 0; padding: 10px; }
.readiness-screen .score-ring::before { inset: 10px; }
.readiness-screen .score-ring > div { inset: 10px; }
.readiness-screen .score-ring strong { font-size: 2.7rem; }
.screen-list { border-top: 1px solid var(--line); }
.screen-list .document-row { grid-template-columns: 16px 1fr auto; font-size: .67rem; }
.timeline-screen { padding: 25px; min-height: 335px; }
.timeline-screen .timeline-track { left: 28px; right: 40px; bottom: 80px; }
.timeline-screen .timeline-dot::after { color: var(--muted); }
.feature-callout { margin-top: 47px; padding: 22px; background: rgba(239,255,55,.1); border: 1px solid rgba(239,255,55,.45); color: var(--muted); font-size: .78rem; }
.feature-callout strong { color: var(--lime); display: block; font-family: var(--font-display); font-size: 1.35rem; margin-bottom: 5px; }

/* Use cases */
.persona-tabs { display: flex; gap: 0; flex-wrap: wrap; border-bottom: 1px solid var(--line); margin: 34px 0 38px; }
.persona-tab { padding: 14px 18px; color: var(--muted); border: 1px solid transparent; border-bottom: 0; font-size: .75rem; background: transparent; }
.persona-tab.active { border-color: var(--line); background: rgba(0,36,105,.4); color: var(--lime); }
.persona-case { display: none; }
.persona-case.active { display: block; }
.case-sheet { padding: 35px 36px; border: 1px solid var(--line); background: rgba(0,38,112,.28); height: 100%; }
.case-sheet .case-tag { color: var(--lime); font-size: .68rem; text-transform: uppercase; letter-spacing: .13em; font-weight: 700; }
.case-sheet h3 { font-family: var(--font-display); font-size: clamp(2.55rem, 3.5vw, 3.35rem); line-height: .9; letter-spacing: -.025em; margin: 13px 0 18px; max-width: 560px; }
.case-sheet > p { color: var(--muted); font-size: .92rem; line-height: 1.64; max-width: 620px; margin: 0; }
.case-flow { margin-top: 31px; border-bottom: 1px solid var(--line); }
.case-step { display: grid; grid-template-columns: 38px minmax(0, 1fr); column-gap: 15px; padding: 15px 0 16px; border-top: 1px solid var(--line); }
.case-step__number { color: var(--lime); font-family: var(--font-display); font-size: 1.35rem; line-height: 1; padding-top: 2px; }
.case-step__content strong { color: #fff; display: block; font-size: .91rem; line-height: 1.2; }
.case-step__content p { color: var(--muted); font-size: .78rem; line-height: 1.48; margin: 4px 0 0; }
.case-result { padding: 35px 33px; height: 100%; background: var(--blue-bright); position: relative; overflow: hidden; }
.case-result::after { content: ""; width: 230px; height: 230px; border: 1px solid rgba(239,255,55,.4); position: absolute; bottom: -125px; right: -105px; border-radius: 50%; }
.case-result h3 { font-family: var(--font-display); font-size: clamp(2.6rem, 3.1vw, 3.2rem); line-height: .9; letter-spacing: -.025em; max-width: 310px; position: relative; z-index: 1; margin: 12px 0 0; }
.case-result ul { position: relative; z-index: 1; padding: 0; margin: 25px 0 0; list-style: none; }
.case-result li { padding: 12px 0 12px 21px; border-top: 1px solid var(--line); color: #e4efff; font-size: .83rem; line-height: 1.42; position: relative; }
.case-result li::before { content: "→"; position: absolute; left: 0; color: var(--lime); }
.solution-card { border-top: 1px solid var(--line); padding: 28px 20px 20px 0; min-height: 220px; }
.solution-card .solution-num { color: var(--lime); font-family: var(--font-display); font-size: 1.9rem; }
.solution-card h3 { font-family: var(--font-display); font-size: 1.7rem; line-height: .95; margin: 10px 0; }
.solution-card p { color: var(--muted); font-size: .75rem; margin: 0; max-width: 230px; }

/* Pricing */
.pricing-intro { max-width: 570px; }
.pricing-grid { margin-top: 42px; align-items: stretch; }
.pricing-card { height: 100%; border: 1px solid var(--line); padding: 27px; background: rgba(0,42,120,.32); display: flex; flex-direction: column; }
.pricing-card.featured { background: var(--blue-bright); border-color: var(--lime); position: relative; }
.pricing-card .plan-label { color: var(--sky); letter-spacing: .1em; font-size: .61rem; text-transform: uppercase; font-weight: 700; }
.pricing-card.featured .plan-label { color: var(--lime); }
.pricing-card h2 { font-family: var(--font-display); font-size: 2.5rem; line-height: .9; margin: 14px 0 10px; }
.pricing-card .plan-for { color: var(--muted); font-size: .76rem; min-height: 49px; margin: 0; }
.plan-price { border-top: 1px solid var(--line); padding-top: 18px; margin-top: 20px; min-height: 86px; }
.plan-price strong { font-family: var(--font-display); font-size: 2.5rem; line-height: .9; color: var(--lime); }
.plan-price span { color: var(--muted); font-size: .68rem; }
.plan-list { padding: 0; list-style: none; margin: 20px 0 28px; flex: 1; }
.plan-list li { padding: 8px 0; font-size: .72rem; color: #e6f1ff; border-top: 1px solid var(--line); }
.plan-list li::before { content: "✓"; color: var(--lime); margin-right: 8px; }
.pricing-note { margin-top: 19px; color: var(--muted); font-size: .7rem; }
.comparison-table { margin-top: 40px; border: 1px solid var(--line); overflow-x: auto; }
.comparison-table table { width: 100%; min-width: 680px; border-collapse: collapse; }
.comparison-table th, .comparison-table td { padding: 13px 17px; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); font-size: .72rem; text-align: center; }
.comparison-table th:first-child, .comparison-table td:first-child { text-align: left; }
.comparison-table th { color: var(--sky); font-weight: 600; background: rgba(0,29,94,.28); }
.comparison-table td { color: #e2efff; }
.comparison-table td.yes { color: var(--lime); font-size: .9rem; }

/* About / customers / resources */
.mission { max-width: 835px; }
.mission p { font-family: var(--font-display); font-size: clamp(2.1rem, 4vw, 4rem); line-height: .94; letter-spacing: -.025em; margin: 0; }
.mission p em { color: var(--lime); font-style: normal; }
.principle { border-top: 1px solid var(--line); padding: 22px 0; }
.principle-no { color: var(--lime); font-family: var(--font-display); font-size: 2.1rem; line-height: 1; }
.principle h3 { font-family: var(--font-display); font-size: 1.8rem; line-height: .95; margin: 7px 0 9px; }
.principle p { color: var(--muted); margin: 0; font-size: .75rem; max-width: 340px; }
.approach-card { padding: 30px; background: rgba(8,93,212,.35); border: 1px solid var(--line); min-height: 330px; }
.approach-card h3 { font-family: var(--font-display); font-size: 2.7rem; line-height: .9; margin: 0 0 20px; }
.approach-card p { color: var(--muted); font-size: .78rem; }
.source-list { margin-top: 26px; border-top: 1px solid var(--line); }
.source-list div { padding: 10px 0; border-bottom: 1px solid var(--line); font-size: .7rem; color: #e4efff; }
.source-list span { color: var(--lime); margin-right: 9px; }
.customer-story { border: 1px solid var(--line); background: rgba(0,40,118,.28); padding: 27px; height: 100%; }
.customer-story h3 { font-family: var(--font-display); font-size: 2.15rem; line-height: .91; margin: 11px 0 13px; }
.customer-story p { color: var(--muted); font-size: .76rem; }
.customer-story .outcome { color: var(--lime); font-family: var(--font-display); font-size: 1.45rem; line-height: .95; display: block; margin-top: 20px; }
.resource-card { padding: 24px 22px; border: 1px solid var(--line); height: 100%; background: rgba(0,40,119,.29); transition: background .2s, transform .2s; }
.resource-card:hover { transform: translateY(-4px); background: rgba(15,95,213,.45); }
.resource-card .resource-type { color: var(--lime); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }
.resource-card h3 { font-family: var(--font-display); font-size: 1.9rem; line-height: .92; margin: 14px 0 10px; }
.resource-card p { color: var(--muted); font-size: .73rem; margin: 0; }
.resource-card .read-more { color: #fff; font-size: .68rem; margin-top: 22px; display: inline-block; }
.resource-card .read-more::after { content: " →"; color: var(--lime); }

/* Editorial image galleries */
.editorial-gallery { padding: 34px 0; position: relative; }
.editorial-frame { min-height: 390px; height: 100%; margin: 0; position: relative; overflow: hidden; border: 1px solid rgba(219,234,255,.3); background: #002866; }
.editorial-frame::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,42,120,.03) 34%, rgba(0,25,79,.9) 100%), linear-gradient(90deg, rgba(0,42,120,.2), transparent 55%); pointer-events: none; }
.editorial-frame img { display: block; width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center; filter: saturate(.82) contrast(1.04); transition: transform .45s ease; }
.editorial-frame:hover img { transform: scale(1.025); }
.editorial-frame figcaption { position: absolute; left: 22px; right: 22px; bottom: 19px; z-index: 2; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; align-items: start; color: #fff; }
.editorial-frame figcaption span { color: var(--lime); font-family: var(--font-display); font-size: 1.45rem; line-height: 1; }
.editorial-frame figcaption p { max-width: 430px; margin: 0; font-size: .72rem; line-height: 1.45; font-weight: 600; text-shadow: 0 2px 13px rgba(0,18,64,.7); }
.editorial-frame--focus-left img { object-position: 38% center; }
.editorial-frame--focus-right img { object-position: 66% center; }

/* Demo form */
.demo-form-wrap { border: 1px solid var(--line); background: rgba(0,40,115,.34); padding: 31px; }
.demo-form-wrap h2 { font-family: var(--font-display); font-size: 2.6rem; line-height: .92; margin: 0 0 9px; }
.demo-form-wrap > p { color: var(--muted); font-size: .77rem; margin: 0 0 24px; }
.form-label { font-size: .67rem; color: #dfedff; font-weight: 600; margin-bottom: 7px; }
.form-control, .form-select { border-radius: 0; min-height: 47px; border: 1px solid rgba(215,235,255,.35); background-color: rgba(0,29,92,.45); color: #fff; font-size: .78rem; }
.form-control::placeholder { color: #8eb2e9; }
.form-control:focus, .form-select:focus { color: #fff; background-color: rgba(0,29,92,.7); border-color: var(--lime); box-shadow: 0 0 0 .15rem rgba(239,255,55,.15); }
.form-select option { color: #001c5d; background: #fff; }
textarea.form-control { min-height: 105px; resize: vertical; }
.form-check-label { font-size: .68rem; color: var(--muted); }
.form-check-input { border-radius: 0 !important; background-color: transparent; border-color: rgba(215,235,255,.7); }
.form-check-input:checked { background-color: var(--lime); border-color: var(--lime); }
.invalid-feedback { color: #ffb7b7; font-size: .67rem; }
.form-control.is-invalid, .form-select.is-invalid { border-color: var(--danger); background-image: none; }
.form-success { display: none; border: 1px solid var(--lime); background: rgba(239,255,55,.12); padding: 26px; text-align: center; }
.form-success.show { display: block; }
.form-success .success-mark { width: 38px; height: 38px; border: 1px solid var(--lime); display: inline-grid; place-items: center; color: var(--lime); font-size: 1.3rem; margin-bottom: 10px; }
.form-success h3 { font-family: var(--font-display); font-size: 2rem; line-height: .9; margin: 0 0 8px; }
.form-success p { color: var(--muted); font-size: .74rem; margin: 0; }
.demo-aside { padding: 4px 0 4px 35px; }
.demo-aside h2 { font-family: var(--font-display); font-size: 3rem; line-height: .88; margin: 0 0 20px; }
.demo-aside p { color: var(--muted); font-size: .82rem; }
.demo-point { padding: 15px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 31px 1fr; gap: 12px; }
.demo-point span { color: var(--lime); font-family: var(--font-display); font-size: 1.45rem; }
.demo-point strong { font-size: .78rem; display: block; }
.demo-point p { font-size: .7rem; margin: 4px 0 0; }
.contact-alternative { margin-top: 35px; padding: 19px; border-left: 2px solid var(--lime); background: rgba(255,255,255,.05); color: var(--muted); font-size: .75rem; }
.contact-alternative a { color: var(--lime); font-weight: 700; }

/* Legal */
.legal-doc { max-width: 810px; }
.legal-doc .updated { color: var(--sky); font-size: .7rem; margin: 19px 0 38px; }
.legal-doc h2 { font-family: var(--font-display); font-size: 2.05rem; line-height: 1; margin: 34px 0 11px; }
.legal-doc h3 { font-size: .93rem; margin: 21px 0 7px; }
.legal-doc p, .legal-doc li { color: var(--muted); font-size: .79rem; }
.legal-doc ul { padding-left: 19px; }
.legal-doc li { margin: 7px 0; }

/* Footer */
.site-footer { padding: 48px 0 25px; background: #001f66; border-top: 1px solid var(--line); }
.footer-grid { display: grid; grid-template-columns: 1.25fr .95fr .55fr; gap: 35px; align-items: start; }
.footer-brand img { width: 166px; }
.footer-brand p { color: var(--muted); max-width: 220px; font-size: .72rem; margin: 16px 0 9px; }
.footer-domain { color: var(--lime); font-weight: 700; font-size: .71rem; }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.footer-links a { font-size: .71rem; color: var(--muted); padding: 5px 0; }
.footer-links a:hover { color: var(--lime); }
.footer-side { border-left: 1px solid var(--line); padding-left: 25px; }
.footer-side p { color: var(--muted); font-size: .7rem; margin: 0; }
.footer-side strong { color: #fff; display: block; font-size: .76rem; margin-bottom: 9px; }
.footer-bottom { padding-top: 28px; margin-top: 31px; border-top: 1px solid var(--line); color: #8caee3; font-size: .62rem; display: flex; justify-content: space-between; gap: 14px; }

/* Responsive */
@media (max-width: 991.98px) {
  .site-header .navbar-collapse { border-top: 1px solid var(--line); margin-top: 9px; padding: 9px 0 14px; }
  .nav-link { padding: .65rem 0 !important; }
  .nav-link::after { left: 0; }
  .nav-link:hover::after, .nav-link.active::after { width: 34px; }
  .header-cta { margin-top: 10px; display: inline-flex; }
  .hero { padding-top: 64px; }
  .hero-visual { margin-top: 45px; max-width: 590px; }
  .result-place, .result-cell { padding: 10px; }
  .quick-result { grid-template-columns: 1.3fr 1fr 1fr; }
  .quick-result .result-cell:nth-of-type(4) { display: none; }
  .result-link { grid-column: auto; }
  .workflow-header { grid-template-columns: minmax(0, 1fr) 160px; }
  .workflow-header .lead-copy { grid-column: 1 / -1; max-width: 680px; }
  .workflow-grid::before { left: 25%; right: 25%; }
  .workflow-step { min-height: 312px; }
  .footer-grid { grid-template-columns: 1.25fr 1fr; }
  .footer-side { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); padding: 20px 0 0; }
  .demo-aside { padding: 43px 0 0; }
  .page-hero-side { display: none; }
}

@media (max-width: 767.98px) {
  .section { padding: 65px 0; }
  .section-sm { padding: 46px 0; }
  .display { font-size: clamp(3rem, 14vw, 4.3rem); }
  .display-lg { font-size: clamp(3.5rem, 16vw, 5rem); }
  .lead-copy { font-size: .94rem; }
  .hero { min-height: auto; padding: 56px 0 49px; }
  .hero-stats { margin-top: 30px; }
  .hero-stat { min-width: auto; flex: 1; margin-right: 12px; padding-right: 12px; }
  .hero-stat strong { font-size: 1.6rem; }
  .hero-visual { min-height: 396px; margin-top: 37px; }
  .passport-art { left: 3%; top: 41px; width: 137px; height: 203px; padding: 16px 12px; }
  .passport-art .passport-emblem { margin: 22px auto 13px; width: 48px; height: 48px; }
  .dashboard-card { top: 91px; width: 86%; }
  .dash-main { grid-template-columns: 1fr 74px; padding: 11px; }
  .readiness-block strong { font-size: 2.5rem; }
  .visa-stamp { bottom: 2px; right: 2%; width: 124px; font-size: 1.05rem; }
  .search-section { padding-top: 39px; }
  .quick-result { grid-template-columns: 1fr 1fr; }
  .quick-result .result-cell:nth-of-type(3), .quick-result .result-cell:nth-of-type(4) { display: none; }
  .result-link { padding: 8px; }
  .workflow-header { display: block; }
  .workflow-summary { margin-top: 25px; min-height: 58px; }
  .workflow-summary strong { font-size: 2.5rem; }
  .workflow-header .lead-copy { margin-top: 23px; }
  .workflow-grid { margin-top: 34px; }
  .workflow-grid::before { left: 19px; right: auto; top: 15px; bottom: 15px; width: 1px; height: auto; background: linear-gradient(180deg, var(--lime), rgba(239,255,55,.28) 80%, var(--lime)); }
  .workflow-card-col { padding-top: 0; padding-left: 48px; margin-bottom: 13px; }
  .workflow-card-col::before { width: 12px; height: 12px; top: 24px; left: 19px; }
  .workflow-step { min-height: 0; padding: 21px; }
  .workflow-icon { width: 54px; height: 54px; margin: 20px 0 17px; }
  .workflow-icon svg { width: 31px; height: 31px; }
  .workflow-step p { max-width: 330px; }
  .readiness-layout { grid-template-columns: 1fr; }
  .score-panel { border-right: 0; border-bottom: 1px solid var(--line); padding: 28px; }
  .document-panel { padding: 23px 17px; }
  .comparison { overflow-x: auto; }
  .comparison-head, .comparison-row { min-width: 620px; }
  .timeline-copy { min-height: auto; margin-bottom: 31px; }
  .timeline-visual { min-height: 327px; }
  .security-card { border-right: 0; border-top: 1px solid var(--line); padding: 20px 0; min-height: auto; }
  .security-cards .col-6:nth-child(-n+2) .security-card { border-top: 0; }
  .quote-metrics { margin-top: 33px; }
  .cta-wrap { display: block; }
  .cta-wrap .btn-pass { margin-top: 27px; }
  .faq-question { font-size: .76rem; gap: 15px; }
  .page-hero { padding: 56px 0 52px; }
  .feature-story { padding: 62px 0; }
  .product-screen { margin-top: 35px; }
  .readiness-screen { grid-template-columns: 115px 1fr; gap: 14px; }
  .readiness-screen .score-ring { width: 108px; height: 108px; }
  .readiness-screen .score-ring strong { font-size: 2rem; }
  .persona-tab { padding: 11px 12px; font-size: .68rem; }
  .case-sheet { padding: 27px 21px; }
  .case-sheet h3 { font-size: 2.45rem; }
  .case-sheet > p { font-size: .84rem; }
  .case-flow { margin-top: 25px; }
  .case-step { grid-template-columns: 32px minmax(0, 1fr); column-gap: 11px; padding: 13px 0; }
  .case-step__content strong { font-size: .83rem; }
  .case-step__content p { font-size: .73rem; }
  .case-result { margin-top: 15px; }
  .pricing-card { margin-bottom: 14px; }
  .editorial-gallery { padding: 18px 0; }
  .editorial-frame { min-height: 285px; }
  .editorial-frame figcaption { left: 17px; right: 17px; bottom: 15px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-side { grid-column: auto; }
  .footer-bottom { display: block; }
  .footer-bottom span + span { display: block; margin-top: 5px; }
  .demo-form-wrap { padding: 21px 17px; }
  .demo-aside h2 { font-size: 2.6rem; }
}

@media (max-width: 420px) {
  .brand img { width: 143px; }
  .header-cta { padding: 0 11px; gap: 9px; }
  .hero-actions { display: grid; }
  .hero-actions .btn-pass, .hero-actions .btn-outline { width: 100%; }
  .hero-stats { gap: 0; }
  .hero-stat { padding-right: 8px; margin-right: 8px; }
  .hero-stat span { font-size: .59rem; }
  .dashboard-card { width: 94%; }
  .dash-top { padding: 0 10px; }
  .visa-stamp { opacity: .8; }
  .quick-result { grid-template-columns: 1fr; }
  .result-link { min-height: 41px; }
  .security-cards .col-6 .security-card { border-top: 1px solid var(--line) !important; }
  .security-cards .col-6:first-child .security-card { border-top: 0 !important; }
  .quote-metric { padding: 10px; }
  .quote-metric strong { font-size: 1.8rem; }
  .footer-links { grid-template-columns: 1fr; }
  .screen-route-cards { grid-template-columns: 1fr; }
}
