:root{--paper:#faf6f0;--raised:#fffdf9;--ink:#1c1917;--body:#46423e;--muted:#625c55;--line:#ded6cb;--accent:#7c3aed;--tint:#eee6fc;--serif:'Fraunces',Georgia,serif;--sans:'Instrument Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--paper);color:var(--body);font:1rem/1.65 var(--sans)}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}main{max-width:1120px;margin:auto;padding:0 28px}.intro{padding:88px 0 26px;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600;color:var(--muted);margin:0 0 12px}h1,h2{font-family:var(--serif);font-weight:450;letter-spacing:-.045em;line-height:1.12;color:var(--ink)}h1{font-size:clamp(2rem,5vw,2.75rem);margin:0 0 12px}.intro h1 span{font-style:italic;font-weight:480;color:var(--accent)}.lead{font-size:1.25rem;margin:0 0 8px;color:var(--ink)}.intro-copy{max-width:none;margin:0;color:var(--muted);font-size:1.05rem}.intro-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;margin-top:24px;font-size:.875rem}.intro-meta span:first-child{font-weight:600;color:var(--ink)}.controls{background:var(--raised);border:1px solid var(--line);border-radius:10px;padding:20px 22px}.control-grid{display:grid;grid-template-columns:1.5fr 1.2fr 1fr 1fr;gap:20px}.control-grid label,.income-label{display:flex;flex-direction:column;font-size:.875rem;font-weight:600;gap:7px}.income-field{display:flex}.income-field select{width:auto;flex:none;border-radius:5px 0 0 5px;border-right:0;padding:9px 8px}.income-field input{min-height:46px;width:100%;min-width:0;border:1px solid #c9c0b5;border-radius:0 5px 5px 0;background:var(--raised);color:var(--ink);padding:9px 12px;font-size:1rem;font-weight:400}.income-field input:focus{outline:none;border-color:var(--ink)}.income-note{margin:14px 0 0;font-size:.875rem;color:var(--muted)}input[type=search],select{min-height:46px;width:100%;border:1px solid #c9c0b5;border-radius:5px;background:var(--raised);color:var(--ink);padding:9px 12px;font-size:1rem;font-weight:400}input[type=search]:focus,select:focus,input[type=search]:focus-visible,select:focus-visible{outline:none;border-color:var(--ink)}input::placeholder{color:var(--muted)}.control-bottom{display:flex;align-items:center;gap:16px 28px;flex-wrap:wrap;margin-top:17px;font-size:.875rem}.checkbox{display:flex;align-items:center;gap:9px;cursor:pointer}.checkbox input{width:17px;height:17px;accent-color:var(--accent);margin:0}.reset{margin-left:auto;color:var(--accent);background:none;border:0;cursor:pointer;padding:4px}.results{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:24px;font-size:.875rem}.results p{margin:0;font-weight:600;color:var(--ink)}.results div{display:flex;gap:18px}.column-head,.country summary{display:grid;grid-template-columns:1.35fr 1.25fr 1fr 24px;gap:24px;align-items:center}.column-head{margin-top:20px;font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;padding:0 20px 12px;color:var(--muted)}.country{border-top:1px solid var(--line);scroll-margin-top:5rem}.country:last-child{border-bottom:1px solid var(--line)}.country summary{padding:23px 20px;list-style:none;cursor:pointer;border-radius:5px;transition:background .15s}.country summary::-webkit-details-marker{display:none}.country summary:hover{background:#f2ece3}.place{display:flex;gap:14px;align-items:center;min-width:0}.flag{font-size:1.7rem;width:34px;flex-shrink:0}.country-name{font-size:1.45rem;font-family:var(--serif);color:var(--ink);letter-spacing:-.025em;line-height:1.2}.sub{display:block;font-size:.875rem;line-height:1.45;color:var(--muted);margin-top:5px}.fact strong{font-size:1rem;font-weight:500;line-height:1.4;display:block;color:var(--ink)}.expand{font-size:1.6rem;color:var(--accent);font-weight:400;transition:transform .15s}.country details[open]>.country-detail{animation:appear .2s ease}.country details[open] summary{background:#f1eafa}.country details[open] .expand{transform:rotate(45deg)}.country-detail{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;padding:28px 30px 30px 68px;background:var(--raised);border-top:1px solid var(--line)}.country-detail ul{padding-left:18px;margin:0 0 18px}.checked{margin:18px 0 0;font-size:.875rem;color:var(--muted)}.country-detail li{margin-bottom:9px}.country-detail aside{border-left:1px solid var(--line);padding-left:28px}.sources{margin:0;padding:0;list-style:none}.sources a{font-weight:500}.sources li{margin:0 0 12px}.sources li:last-child{margin-bottom:0}.source-warning{padding:12px 16px;border-left:3px solid #90631a;background:#fff7e9;font-size:.9375rem}.mobile-label{display:none}.reading{max-width:760px;margin:70px auto 0}.reading h2{font-size:2rem;margin:0 0 24px}.reading p{margin:0 0 18px}.empty{text-align:center;padding:50px 20px;border-block:1px solid var(--line)}.empty h2{font-size:2rem}.empty button{background:var(--accent);color:white;border:0;border-radius:5px;padding:10px 18px;cursor:pointer}.notice{padding:16px;background:var(--tint)}::selection{background:#c4b5fd;color:var(--ink)}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip:focus{display:block;padding:12px;background:white}.country:target{border-left:3px solid var(--accent)}@keyframes appear{from{opacity:0}to{opacity:1}}@media(max-width:760px){main{padding:0 20px}.intro{padding:34px 0 26px}.intro-meta{gap:8px 16px}.controls{padding:16px}.control-grid{grid-template-columns:1fr 1fr;gap:14px}.search-label,.income-label{grid-column:1/-1}.control-bottom{align-items:flex-start;gap:14px}.reset{margin-left:0}.column-head{display:none}.country summary{grid-template-columns:1fr 1fr 20px;gap:18px 14px;padding:22px 10px}.place{grid-column:1/3}.expand{grid-column:3;grid-row:1;text-align:center}.fact{grid-row:2;align-self:start}.mobile-label{display:block;font-size:.75rem;color:var(--muted);margin-bottom:5px}.country-name{font-size:1.45rem}.country-detail{grid-template-columns:1fr;gap:20px;padding:24px 18px}.country-detail aside{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.reading{margin-top:44px}.results{align-items:flex-start}.results div{gap:12px;flex-wrap:wrap;justify-content:flex-end}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}@media print{.controls,#navbar,.results,footer,.directory-foot,.expand{display:none!important}.country-detail{display:grid!important}.country details::details-content{display:block!important;content-visibility:visible!important}.country{break-inside:avoid}.reading{display:block}body{background:white;font-size:11pt}h1{font-size:32pt}}
.draft-banner{background:var(--accent);color:white;text-align:center;font-size:.8125rem;padding:7px 16px}.route-kind{display:inline-block;margin-top:8px;font-size:.75rem;border:1px solid var(--line);padding:1px 8px;border-radius:4px}
.intro{padding-top:88px;padding-bottom:26px}.intro-meta{margin-top:18px}.controls{padding-top:16px;padding-bottom:16px}.country-name{font-weight:450}
main section{padding:0}
main a{text-decoration:underline}
.empty p{margin:10px 0 18px}
.directory-foot{display:flex;justify-content:center;padding:18px 20px 0;font-size:1rem}
/* Fixed height so the nav can be offset by exactly the banner's height. */
.draft-banner{position:fixed;top:0;left:0;right:0;z-index:200;height:34px;display:flex;align-items:center;justify-content:center;font-weight:600;padding:0 16px}
body:has(.draft-banner) #navbar{top:34px}
body:has(.draft-banner) .intro{padding-top:122px}
/* nomadvisas.org header: the site name, plus a credit linking back to dariov.com */
.nav-byline{font-size:.9rem;font-weight:500;color:var(--body);text-decoration:none;transition:color .25s}.nav-byline:hover{color:var(--accent)}
.nav-logo:has(.nav-mark){display:flex;align-items:center;gap:10px}.nav-mark{height:32px;width:auto;display:block}
