/* Visa & arrival only: Eagle ivory, forest, bronze and open editorial rows. */
body.page-visa-requirements { --visa-header-height:88px; background:#fffdf8; color:#45564b; }
body.page-visa-requirements main { overflow:clip; }
body.page-visa-requirements main *,body.page-visa-requirements main *::before,body.page-visa-requirements main *::after { box-sizing:border-box; }
body.page-visa-requirements main :is(h1,h2,h3,p,figure) { margin:0; }
body.page-visa-requirements main section { padding:0; }
body.page-visa-requirements main section::before,body.page-visa-requirements main section::after { display:none; }
body.page-visa-requirements main [hidden] { display:none!important; }
body.page-visa-requirements .travel-wrap { width:min(1160px,calc(100% - 80px)); margin-inline:auto; }
body.page-visa-requirements .travel-skip { position:fixed; top:-100px; left:16px; z-index:2000; padding:12px 18px; background:#173b32; color:#fffdf8; }
body.page-visa-requirements .travel-skip:focus { top:12px; }
body.page-visa-requirements main :is(a,button,summary,input):focus-visible { outline:3px solid #9c793d; outline-offset:4px; }
/* The shared html styles already supply 110px of scroll-padding. */
body.page-visa-requirements main :is(section[id],#travel-content) { scroll-margin-top:max(0px,calc(var(--visa-header-height) + 76px - 110px)); }
body.page-visa-requirements .travel-kicker { margin-bottom:14px; color:#82632f; font:600 9px/1.7 var(--font-sans); letter-spacing:.16em; text-transform:uppercase; }
body.page-visa-requirements main h2 { color:#173b32; font:500 clamp(30px,3.1vw,43px)/1.15 var(--font-serif); letter-spacing:-.035em; text-wrap:balance; }
body.page-visa-requirements main h3 { color:#173b32; font:500 28px/1.2 var(--font-serif); letter-spacing:-.02em; text-wrap:balance; }
body.page-visa-requirements .travel-btn { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:46px; padding:13px 21px; border:1px solid #173b32; border-radius:999px; color:#fffdf8; background:#173b32; font:500 11px/1.7 var(--font-sans); text-decoration:none; }
body.page-visa-requirements .travel-btn:hover { background:#285446; }
body.page-visa-requirements .travel-btn.gold { color:#173b32; border-color:#c4a56a; background:#c4a56a; }
body.page-visa-requirements .travel-btn.gold:hover { background:#d8be86; }
body.page-visa-requirements .travel-link { display:inline-flex; align-items:center; gap:16px; min-height:44px; color:#82632f; font:500 11px/1.7 var(--font-sans); text-decoration:none; }
body.page-visa-requirements .travel-link:hover { text-decoration:underline; text-underline-offset:5px; }
body.page-visa-requirements .travel-hero { position:relative; min-height:calc(100svh - 88px); display:flex; align-items:center; padding:48px clamp(24px,5vw,80px); overflow:hidden; background:#f7f3e8; isolation:isolate; }
body.page-visa-requirements .travel-hero-visual { position:absolute; inset:0; z-index:-2; }
body.page-visa-requirements .travel-hero-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:64% center; }
body.page-visa-requirements .travel-hero-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#f7f3e8 0%,#f7f3e8f5 28%,#f7f3e8ce 43%,#f7f3e818 75%,#173b321c); }
body.page-visa-requirements .travel-hero-inner { max-width:660px; padding:20px 0; }
body.page-visa-requirements .travel-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 11px; margin-bottom:34px; color:#68725f; font-size:9px; line-height:1.8; }
body.page-visa-requirements .travel-breadcrumb a { color:inherit; text-decoration:none; }
body.page-visa-requirements .travel-breadcrumb a:hover { text-decoration:underline; }
body.page-visa-requirements .travel-hero h1 { color:#173b32; font:600 clamp(45px,4.9vw,72px)/1.05 var(--font-serif); letter-spacing:-.045em; text-wrap:balance; }
body.page-visa-requirements .travel-hero h1 em { color:#896930; font-weight:500; }
body.page-visa-requirements .travel-hero-lead { max-width:490px; margin-top:23px; color:#526150; font-size:13px; line-height:1.9; }
body.page-visa-requirements .travel-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px 22px; margin-top:26px; }
body.page-visa-requirements .travel-reviewed { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:24px; color:#69715f; font-size:9px; }
body.page-visa-requirements .travel-reviewed i { color:#94733b; }
body.page-visa-requirements .travel-hero-caption { position:absolute; right:clamp(24px,5vw,80px); bottom:28px; display:flex; align-items:center; gap:9px; padding:10px 15px; border:1px solid #ffffff66; border-radius:999px; background:#173b32bd; color:#fffdf8; font-size:10px; }
body.page-visa-requirements .visa-nav { position:sticky; top:var(--visa-header-height); z-index:35; border-bottom:1px solid #ddd4bf; background:#fffdf8ed; backdrop-filter:blur(12px); }
body.page-visa-requirements .visa-nav > div { display:flex; align-items:center; gap:26px; overflow-x:auto; scrollbar-width:thin; }
body.page-visa-requirements .visa-nav a { display:inline-flex; flex:none; align-items:center; min-height:56px; padding-block:15px; border-bottom:2px solid transparent; color:#65715d; font-size:10px; text-decoration:none; }
body.page-visa-requirements .visa-nav a:is(:hover,[aria-current]) { color:#173b32; border-bottom-color:#b69a63; }
body.page-visa-requirements .travel-content { padding-block:58px 65px; }
body.page-visa-requirements .visa-print-heading { display:none; }
body.page-visa-requirements .travel-intro { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; }
body.page-visa-requirements .travel-intro > div > p:not(.travel-kicker) { font-size:13px; line-height:1.9; }
body.page-visa-requirements .travel-intro > div > p + p { margin-top:16px; }
body.page-visa-requirements .travel-note { display:flex; gap:12px; padding:15px 0 15px 16px; border-left:2px solid #b79a62; color:#69715f; font-size:11px!important; }
body.page-visa-requirements .travel-note i { flex:none; color:#92703b; }
body.page-visa-requirements .travel-section { margin-top:62px; padding:43px 0 0; border-top:1px solid #ddd4bf; }
body.page-visa-requirements .travel-heading { max-width:740px; margin-bottom:28px; }
body.page-visa-requirements .travel-heading > p:not(.travel-kicker) { max-width:610px; margin-top:16px; font-size:13px; line-height:1.85; }
body.page-visa-requirements .travel-heading.split { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:end; max-width:none; }
body.page-visa-requirements .travel-heading.split > p { margin:0; }
body.page-visa-requirements .visa-source { display:inline-flex; align-items:center; gap:9px; min-height:36px; color:#82632f; font-size:10px; line-height:1.65; text-decoration:underline; text-underline-offset:4px; }
body.page-visa-requirements .visa-source i { flex:none; }
body.page-visa-requirements .visa-source:hover { color:#173b32; }
body.page-visa-requirements .visa-essentials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:36px; padding:24px 0; border-block:1px solid #ddd4bf; }
body.page-visa-requirements .visa-essentials article { display:flex; align-items:start; gap:15px; }
body.page-visa-requirements .visa-essentials article > i { flex:none; color:#92703b; font-size:25px; }
body.page-visa-requirements .visa-essentials strong { color:#173b32; font-size:12px; font-weight:600; }
body.page-visa-requirements .visa-essentials p { margin-top:8px; font-size:11px; line-height:1.8; }
body.page-visa-requirements .visa-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
body.page-visa-requirements .visa-paths article { position:relative; padding:22px 0; border-top:1px solid #d7cfbc; }
body.page-visa-requirements .visa-paths article > span { display:block; margin-bottom:22px; color:#94733b; font-size:10px; }
body.page-visa-requirements .visa-paths article > i { position:absolute; right:0; top:19px; color:#94733b; font-size:24px; }
body.page-visa-requirements .visa-paths p { margin-top:15px; font-size:12px; line-height:1.85; }
body.page-visa-requirements .visa-paths .visa-source { margin-top:13px; }
body.page-visa-requirements .visa-fee-table { margin-top:13px; overflow-x:auto; }
body.page-visa-requirements .visa-fee-table table { width:100%; min-width:580px; border-collapse:collapse; color:#45564b; font-size:12px; line-height:1.8; }
body.page-visa-requirements .visa-fee-table caption { padding-bottom:14px; color:#82632f; font-size:10px; text-align:left; }
body.page-visa-requirements .visa-fee-table :is(th,td) { padding:15px 17px; border:0; border-bottom:1px solid #ded6c1; text-align:left; vertical-align:top; }
body.page-visa-requirements .visa-fee-table thead th { background:#eef1e7; color:#173b32; font-size:10px; font-weight:600; }
body.page-visa-requirements .visa-fee-table tbody th { min-width:190px; color:#173b32; font-weight:500; }
body.page-visa-requirements .visa-fee-table td:nth-child(2) { min-width:135px; color:#82632f; font-weight:500; }
body.page-visa-requirements .travel-follow { margin-top:17px; font-size:11px; line-height:1.8; }
body.page-visa-requirements .travel-follow .visa-source + .visa-source { margin-left:15px; }
body.page-visa-requirements .visa-application { display:grid; grid-template-columns:1.2fr .8fr; gap:65px; align-items:start; }
body.page-visa-requirements .visa-steps { margin:26px 0 0; padding:0; list-style:none; }
body.page-visa-requirements .visa-steps li { display:grid; grid-template-columns:30px 1fr; gap:15px; padding:18px 0; border-top:1px solid #ddd4bf; }
body.page-visa-requirements .visa-steps span { padding-top:6px; color:#94733b; font-size:10px; }
body.page-visa-requirements .visa-steps h3 { font-size:24px; }
body.page-visa-requirements .visa-steps p { margin-top:9px; font-size:12px; line-height:1.85; }
body.page-visa-requirements .visa-official-panel { padding:30px; border:1px solid #173b32; border-radius:5px 38px 5px 5px; background:#173b32; color:#e3e6d9; }
body.page-visa-requirements .visa-official-panel h3 { color:#fffdf8; font-size:36px; }
body.page-visa-requirements .visa-official-panel .travel-kicker { color:#d0b679; }
body.page-visa-requirements .visa-domain { margin-top:12px; color:#d0b679; font-size:12px; overflow-wrap:anywhere; }
body.page-visa-requirements .visa-official-panel dl { margin:23px 0 0; }
body.page-visa-requirements .visa-official-panel dl > div { padding:17px 0; border-top:1px solid #ffffff26; }
body.page-visa-requirements .visa-official-panel dt { color:#d0b679; font-size:10px; }
body.page-visa-requirements .visa-official-panel dd { margin:8px 0 0; font-size:13px; line-height:1.65; }
body.page-visa-requirements .visa-panel-note { margin-top:17px; font-size:10px; line-height:1.8; }
body.page-visa-requirements .visa-official-panel .travel-btn { margin-top:22px; }
body.page-visa-requirements .visa-official-panel .travel-link { display:flex; width:fit-content; margin-top:8px; color:#d0b679; }
body.page-visa-requirements .visa-insurance-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
body.page-visa-requirements .visa-insurance-grid article { padding:28px 30px; border:1px solid #d5dccb; border-radius:5px 35px 5px 5px; background:#eef1e7; }
body.page-visa-requirements .visa-insurance-grid article:nth-child(2) { border-color:#ded4bd; border-radius:35px 5px 5px 5px; background:#f6f0e3; }
body.page-visa-requirements .visa-insurance-grid > article > p:not(.travel-kicker) { margin-top:17px; font-size:12px; line-height:1.85; }
body.page-visa-requirements .visa-insurance-grid dl { display:grid; grid-template-columns:1fr 1fr; gap:25px; margin:22px 0 0; padding-top:19px; border-top:1px solid #cdd5c0; }
body.page-visa-requirements .visa-insurance-grid dt { color:#82632f; font-size:9px; font-weight:600; }
body.page-visa-requirements .visa-insurance-grid dd { margin:8px 0 0; font-size:11px; line-height:1.8; }
body.page-visa-requirements .visa-insurance-grid .travel-btn { margin-top:22px; }
body.page-visa-requirements .visa-insurance-grid .travel-link { display:flex; width:fit-content; margin-top:8px; }
body.page-visa-requirements .visa-policy-notes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:27px; }
body.page-visa-requirements .visa-policy-notes article { padding-top:22px; border-top:1px solid #ddd4bf; }
body.page-visa-requirements .visa-policy-notes article > i { color:#94733b; font-size:24px; }
body.page-visa-requirements .visa-policy-notes h3 { margin-top:16px; font-size:25px; }
body.page-visa-requirements .visa-policy-notes p { margin-top:13px; font-size:12px; line-height:1.85; }
body.page-visa-requirements .visa-policy-notes .visa-source { margin-top:8px; }
body.page-visa-requirements .visa-arrival-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:start; }
body.page-visa-requirements .visa-checklist { min-width:0; margin:0; padding:0; border:0; }
body.page-visa-requirements .visa-checklist legend { margin-bottom:17px; color:#82632f; font-size:10px; }
body.page-visa-requirements .visa-checklist label { display:flex; align-items:start; gap:16px; min-height:76px; padding:18px 0; border-top:1px solid #ddd4bf; cursor:pointer; }
body.page-visa-requirements .visa-checklist input { flex:none; width:19px; height:19px; margin:3px 0 0; accent-color:#173b32; cursor:pointer; }
body.page-visa-requirements .visa-checklist strong { display:block; color:#173b32; font-size:13px; font-weight:500; }
body.page-visa-requirements .visa-checklist small { display:block; margin-top:8px; font-size:11px; line-height:1.85; }
body.page-visa-requirements .visa-check-progress { margin-top:15px; color:#173b32; font-size:11px; font-weight:500; }
body.page-visa-requirements .visa-print { margin-top:10px; padding:0; border:0; border-radius:0; background:transparent; cursor:pointer; }
body.page-visa-requirements .visa-small-note { margin-top:13px; color:#69715f; font-size:10px; line-height:1.85; }
body.page-visa-requirements .visa-health { padding:28px; border:1px solid #dcd2bb; border-radius:35px 5px 5px 5px; background:#f6f2e8; }
body.page-visa-requirements .visa-health > p:not(.travel-kicker) { margin-top:16px; font-size:12px; line-height:1.85; }
body.page-visa-requirements .visa-health .visa-source { display:flex; width:fit-content; margin-top:10px; }
body.page-visa-requirements .visa-local-note { margin-top:22px; padding-top:20px; border-top:1px solid #ddd4bf; }
body.page-visa-requirements .visa-local-note h3 { font-size:23px; }
body.page-visa-requirements .visa-local-note p { margin-top:12px; font-size:11px; line-height:1.85; }
body.page-visa-requirements .visa-local-note .travel-link { margin-top:7px; }
body.page-visa-requirements .travel-faq { display:grid; grid-template-columns:.75fr 1.25fr; gap:65px; }
body.page-visa-requirements .travel-faq-list details { border:0; border-bottom:1px solid #d5cbb5; border-radius:0; padding:0; background:transparent; box-shadow:none; }
body.page-visa-requirements .travel-faq-list details:first-child { border-top:1px solid #d5cbb5; }
body.page-visa-requirements .travel-faq-list summary { display:flex; justify-content:space-between; align-items:start; gap:18px; min-height:54px; padding:19px 0; color:#173b32; font-size:13px; font-weight:500; line-height:1.7; list-style:none; cursor:pointer; }
body.page-visa-requirements .travel-faq-list summary::-webkit-details-marker { display:none; }
body.page-visa-requirements .travel-faq-list summary i { flex:none; color:#94733b; font-size:19px; }
body.page-visa-requirements .travel-faq-list details[open] summary i { transform:rotate(45deg); }
body.page-visa-requirements .travel-faq-list details p { padding:0 27px 20px 0; font-size:12px; line-height:1.85; }
body.page-visa-requirements .travel-sources { display:grid; grid-template-columns:.85fr 1.15fr; gap:65px; }
body.page-visa-requirements .travel-sources > div > p:not(.travel-kicker) { margin-top:18px; font-size:12px; line-height:1.85; }
body.page-visa-requirements .source-links { border-top:1px solid #d5cbb5; }
body.page-visa-requirements .source-links a { display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:65px; padding:17px 0; border-bottom:1px solid #d5cbb5; color:#173b32; font:500 21px/1.3 var(--font-serif); text-decoration:none; }
body.page-visa-requirements .source-links i { flex:none; color:#94733b; font-size:15px; }
body.page-visa-requirements .source-links a:hover { text-decoration:underline; text-underline-offset:4px; }
body.page-visa-requirements .travel-next { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:30px; margin-top:55px; padding:28px 32px; border:1px solid #d9cfb7; border-radius:5px 32px 5px 5px; background:#f5f0e4; }
body.page-visa-requirements .travel-next h2 { font-size:32px; }
body.page-visa-requirements .travel-next .travel-actions { margin:0; justify-content:flex-end; }
@media(max-width:1080px) { body.page-visa-requirements .travel-hero { min-height:calc(100svh - 76px); } }
@media(max-width:900px) {
 body.page-visa-requirements .travel-wrap { width:calc(100% - 48px); }
 body.page-visa-requirements .travel-hero { padding:32px 24px 180px; align-items:start; }
 body.page-visa-requirements .travel-hero-visual img { object-position:63% bottom; }
 body.page-visa-requirements .travel-hero-visual::after { background:linear-gradient(180deg,#f7f3e8 0%,#f7f3e8fa 38%,#f7f3e8d1 57%,#f7f3e828 82%,#173b321c); }
 body.page-visa-requirements .travel-intro,body.page-visa-requirements .travel-heading.split,body.page-visa-requirements .visa-application,body.page-visa-requirements .visa-arrival-layout,body.page-visa-requirements .travel-faq,body.page-visa-requirements .travel-sources { gap:35px; }
 body.page-visa-requirements .visa-paths,body.page-visa-requirements .visa-policy-notes,body.page-visa-requirements .visa-essentials { gap:23px; }
 body.page-visa-requirements .visa-insurance-grid article,body.page-visa-requirements .visa-official-panel { padding:24px; }
 body.page-visa-requirements .visa-insurance-grid dl { grid-template-columns:1fr; gap:15px; }
 body.page-visa-requirements .visa-essentials article { gap:9px; }
 body.page-visa-requirements .visa-official-panel .travel-btn { font-size:10px; padding-inline:15px; gap:10px; }
}
@media(max-width:700px) {
 body.page-visa-requirements .travel-wrap { width:calc(100% - 36px); }
 body.page-visa-requirements .travel-hero { padding:22px 20px 190px; }
 body.page-visa-requirements .travel-hero-inner { padding-top:0; }
 body.page-visa-requirements .travel-breadcrumb { margin-bottom:25px; font-size:8px; }
 body.page-visa-requirements .travel-hero h1 { font-size:clamp(36px,9.2vw,51px); }
 body.page-visa-requirements .travel-hero-lead { font-size:12px; margin-top:19px; line-height:1.8; }
 body.page-visa-requirements .travel-actions { gap:7px 17px; margin-top:21px; }
 body.page-visa-requirements .travel-btn { padding:12px 18px; font-size:10px; gap:15px; }
 body.page-visa-requirements .travel-reviewed { margin-top:18px; font-size:8px; }
 body.page-visa-requirements .travel-hero-caption { right:20px; bottom:20px; font-size:9px; }
 body.page-visa-requirements .visa-nav > div { gap:20px; }
 body.page-visa-requirements .visa-nav a { min-height:50px; font-size:9px; }
 body.page-visa-requirements .travel-content { padding-block:40px 45px; }
 body.page-visa-requirements .travel-intro,body.page-visa-requirements .travel-heading.split,body.page-visa-requirements .visa-application,body.page-visa-requirements .visa-insurance-grid,body.page-visa-requirements .visa-arrival-layout,body.page-visa-requirements .travel-faq,body.page-visa-requirements .travel-sources,body.page-visa-requirements .travel-next { grid-template-columns:1fr; gap:24px; }
 body.page-visa-requirements main h2 { font-size:31px; }
 body.page-visa-requirements .travel-intro > div > p:not(.travel-kicker),body.page-visa-requirements .travel-heading > p:not(.travel-kicker) { font-size:12px; }
 body.page-visa-requirements .travel-section { margin-top:42px; padding-top:31px; }
 body.page-visa-requirements .travel-heading { margin-bottom:24px; }
 body.page-visa-requirements .visa-essentials,body.page-visa-requirements .visa-paths,body.page-visa-requirements .visa-policy-notes { grid-template-columns:1fr; gap:20px; }
 body.page-visa-requirements .visa-essentials { margin-top:25px; padding-block:20px; }
 body.page-visa-requirements .visa-essentials article { gap:15px; }
 body.page-visa-requirements .visa-paths article { padding-bottom:0; }
 body.page-visa-requirements .visa-paths article > span { margin-bottom:17px; }
 body.page-visa-requirements main h3 { font-size:26px; }
 body.page-visa-requirements .visa-official-panel h3 { font-size:32px; }
 body.page-visa-requirements .visa-insurance-grid article { padding:24px; }
 body.page-visa-requirements .visa-insurance-grid dl { grid-template-columns:1fr 1fr; }
 body.page-visa-requirements .visa-insurance-grid .travel-link { min-height:44px; }
 body.page-visa-requirements .visa-health { padding:24px; }
 body.page-visa-requirements .source-links a { min-height:65px; font-size:20px; }
 body.page-visa-requirements .travel-next { padding:26px 23px; }
 body.page-visa-requirements .travel-next h2 { font-size:30px; }
 body.page-visa-requirements .travel-next .travel-actions { justify-content:flex-start; }
}
@media(max-width:360px) {
 body.page-visa-requirements .travel-hero h1 { font-size:35px; }
 body.page-visa-requirements .visa-insurance-grid dl { grid-template-columns:1fr; }
 body.page-visa-requirements .travel-follow .visa-source + .visa-source { margin-left:0; }
}
@media(prefers-reduced-motion:reduce) { html:has(body.page-visa-requirements) { scroll-behavior:auto; } body.page-visa-requirements main *,body.page-visa-requirements main *::before,body.page-visa-requirements main *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print {
 body.page-visa-requirements { padding:0; color:#222; background:#fff; }
 body.page-visa-requirements :is(header[data-include],header.eo-navbar,.visa-nav,.travel-hero,footer,.travel-next,.visa-print,.eo-mobile-drawer,.eo-mobile-backdrop,.eo-search-dialog) { display:none!important; }
 body.page-visa-requirements > div[role=note] { display:none!important; }
 body.page-visa-requirements .visa-print-heading { display:block; margin-bottom:25px; }
 body.page-visa-requirements .visa-print-heading p { font:500 30px/1.2 var(--font-serif); }
 body.page-visa-requirements .visa-print-heading small { display:block; margin-top:10px; font-size:10px; }
 body.page-visa-requirements .travel-wrap { width:100%; }
 body.page-visa-requirements .travel-content { padding:0; }
 body.page-visa-requirements .travel-intro,body.page-visa-requirements .travel-heading.split,body.page-visa-requirements .visa-application,body.page-visa-requirements .visa-arrival-layout,body.page-visa-requirements .travel-faq,body.page-visa-requirements .travel-sources { display:block; }
 body.page-visa-requirements .travel-section { margin-top:26px; padding-top:20px; }
 body.page-visa-requirements :is(.visa-official-panel,.visa-insurance-grid article,.visa-health) { color:#222; border-color:#aaa; background:#fff; }
 body.page-visa-requirements .visa-official-panel :is(h3,p,dt,dd,.travel-kicker,.travel-link),body.page-visa-requirements .travel-btn { color:#222; }
 body.page-visa-requirements .travel-btn { border-color:#aaa; background:#fff; }
 body.page-visa-requirements :is(.visa-paths article,.visa-essentials article,.visa-policy-notes article,.visa-checklist label,.visa-insurance-grid article) { break-inside:avoid; }
 body.page-visa-requirements .visa-fee-table { overflow:visible; }
 body.page-visa-requirements .visa-fee-table table { min-width:0; }
 body.page-visa-requirements .visa-source { overflow-wrap:anywhere; }
 body.page-visa-requirements .visa-source::after { content:' (' attr(href) ')'; font:9px/1.5 sans-serif; }
}

/* Stage one: preparation and visa comparison only. */
@media screen {
 body.page-visa-requirements #visa-start { display:block; }
 body.page-visa-requirements #visa-start header { max-width:760px; }
 body.page-visa-requirements #visa-start h2,body.page-visa-requirements #visa-options h2 { font-size:clamp(29px,3vw,39px); }
 body.page-visa-requirements #visa-start .visa-preflight-lead { max-width:660px; margin-top:15px; font-size:14px; line-height:1.8; }
 body.page-visa-requirements #visa-start .visa-essentials { margin-top:26px; padding:24px 0; gap:32px; border-top:1px solid #d9cfb8; border-bottom:0; }
 body.page-visa-requirements #visa-start .visa-essentials article { gap:15px; }
 body.page-visa-requirements #visa-start .visa-essentials strong { font-size:14px; }
 body.page-visa-requirements #visa-start .visa-essentials p { font-size:12px; line-height:1.8; }
 body.page-visa-requirements #visa-start .visa-preflight-note { padding-top:16px; border-top:1px solid #ddd4bf; color:#5b685b; font-size:11px; line-height:1.9; }
 body.page-visa-requirements #visa-options { margin-top:44px; padding-top:30px; }
 body.page-visa-requirements #visa-options .travel-heading { display:block; max-width:800px; margin-bottom:27px; }
 body.page-visa-requirements #visa-options .travel-heading > p { margin-top:14px; max-width:740px; }
 body.page-visa-requirements #visa-options .visa-paths { gap:0; padding-block:22px; border-block:1px solid #ddd4bf; }
 body.page-visa-requirements #visa-options .visa-paths article { display:flex; flex-direction:column; padding:0 26px; border:0; border-right:1px solid #ddd4bf; }
 body.page-visa-requirements #visa-options .visa-paths article:first-child { padding-left:0; }
 body.page-visa-requirements #visa-options .visa-paths article:last-child { border-right:0; padding-right:0; }
 body.page-visa-requirements #visa-options .visa-paths article > span { margin-bottom:17px; font-size:11px; }
 body.page-visa-requirements #visa-options .visa-paths article > i { top:0; right:26px; font-size:22px; }
 body.page-visa-requirements #visa-options .visa-paths article:last-child > i { right:0; }
 body.page-visa-requirements #visa-options .visa-paths h3 { font-size:27px; }
 body.page-visa-requirements #visa-options .visa-paths p { flex:1; margin-top:12px; font-size:13px; line-height:1.8; }
 body.page-visa-requirements #visa-options .visa-paths a { min-height:44px; margin-top:17px; font-size:11px; }
 body.page-visa-requirements #visa-options .visa-fee-table { margin-top:28px; }
 body.page-visa-requirements #visa-options .visa-fee-table caption { font-size:11px; padding-bottom:16px; }
 body.page-visa-requirements #visa-options .visa-fee-table thead th { background:transparent; border-top:1px solid #ddd4bf; }
 body.page-visa-requirements #visa-options .visa-fee-table tbody th { font-size:14px; font-weight:600; }
 body.page-visa-requirements #visa-options .visa-fee-table td:nth-child(2) { font:500 25px/1.4 var(--font-serif); white-space:nowrap; }
 body.page-visa-requirements #visa-options .visa-fee-table :is(th,td) { padding:16px 12px; }
 body.page-visa-requirements #visa-options .visa-fee-table :is(th,td):first-child { padding-left:0; }
}
@media screen and (max-width:700px) {
 body.page-visa-requirements #visa-start .visa-essentials { gap:20px; }
 body.page-visa-requirements #visa-options .visa-paths { padding:0; border:0; }
 body.page-visa-requirements #visa-options .visa-paths article,body.page-visa-requirements #visa-options .visa-paths article:first-child,body.page-visa-requirements #visa-options .visa-paths article:last-child { padding:20px 0; border:0; border-top:1px solid #ddd4bf; }
 body.page-visa-requirements #visa-options .visa-paths article > i { top:20px; right:0; }
 body.page-visa-requirements #visa-options .visa-paths a { margin-top:8px; }
}

/* Finishing pass: navigation, readable comparison, and source attribution. */
@media screen {
 body.page-visa-requirements .visa-nav > div { justify-content:space-between; gap:22px; }
 body.page-visa-requirements .visa-nav a { gap:8px; font-size:11px; font-weight:500; }
 body.page-visa-requirements .visa-nav a > i { color:#82632f; font-size:14px; }
 body.page-visa-requirements .visa-nav a[aria-current] { border-bottom-width:3px; font-weight:600; }
 body.page-visa-requirements #visa-start .visa-preflight-note { max-width:100%; font-size:12px; }
 body.page-visa-requirements #visa-start .visa-essentials .visa-source { min-height:44px; font-size:11px; }
 body.page-visa-requirements #visa-options .visa-fee-table table { table-layout:fixed; min-width:0; font-size:13px; }
 body.page-visa-requirements #visa-options .visa-fee-table thead th:first-child { width:26%; }
 body.page-visa-requirements #visa-options .visa-fee-table thead th:nth-child(2) { width:19%; }
 body.page-visa-requirements #visa-options .visa-fee-table tbody th,body.page-visa-requirements #visa-options .visa-fee-table td:nth-child(2) { min-width:0; }
 body.page-visa-requirements #visa-options .visa-fee-table td:last-child { line-height:1.9; }
 body.page-visa-requirements #visa-options .travel-follow { font-size:12px; }
 body.page-visa-requirements #visa-sources { gap:45px; align-items:start; }
 body.page-visa-requirements #visa-sources .source-links a { font-family:var(--font-sans); font-size:13px; padding:17px 0; min-height:74px; text-decoration:none; }
 body.page-visa-requirements #visa-sources .source-links strong { display:block; color:#173b32; font-size:13px; font-weight:600; line-height:1.6; }
 body.page-visa-requirements #visa-sources .source-links small { display:block; margin-top:4px; color:#5b685b; font-size:12px; line-height:1.65; }
 body.page-visa-requirements #visa-sources .source-links a:hover strong { text-decoration:underline; text-underline-offset:5px; }
 body.page-visa-requirements #visa-sources .source-links a > i { width:30px; height:30px; display:grid; place-items:center; border-bottom:1px solid #b79a62; }
}
@media screen and (max-width:700px) {
 body.page-visa-requirements .visa-nav > div { justify-content:flex-start; gap:22px; }
 body.page-visa-requirements .visa-nav a { font-size:10px; }
 body.page-visa-requirements #visa-options .visa-fee-table table { font-size:11px; }
 body.page-visa-requirements #visa-options .visa-fee-table thead th:first-child { width:28%; }
 body.page-visa-requirements #visa-options .visa-fee-table thead th:nth-child(2) { width:25%; }
 body.page-visa-requirements #visa-options .visa-fee-table :is(th,td) { padding:13px 6px; overflow-wrap:anywhere; }
 body.page-visa-requirements #visa-options .visa-fee-table tbody th { font-size:12px; }
 body.page-visa-requirements #visa-options .visa-fee-table td:nth-child(2) { font-size:19px; white-space:normal; }
 body.page-visa-requirements #visa-sources { gap:24px; }
}

/* Paraiso-inspired comparison hierarchy, retaining Eagle typography and palette. */
@media screen {
 body.page-visa-requirements #visa-options .travel-heading { max-width:850px; margin-bottom:32px; }
 body.page-visa-requirements #visa-options .visa-paths { padding-block:28px; }
 body.page-visa-requirements #visa-options .visa-paths article { padding-inline:28px; }
 body.page-visa-requirements #visa-options .visa-paths article:first-child { padding-left:0; }
 body.page-visa-requirements #visa-options .visa-paths article:last-child { padding-right:0; }
 body.page-visa-requirements #visa-options .visa-paths article > span { margin-bottom:25px; }
 body.page-visa-requirements #visa-options .visa-path-label { display:block; margin-bottom:10px; color:#526150; font-size:9px; font-weight:600; line-height:1.6; letter-spacing:.08em; text-transform:uppercase; }
 body.page-visa-requirements #visa-options .visa-paths h3 { font-size:clamp(27px,2.4vw,33px); }
 body.page-visa-requirements #visa-options .visa-paths p { margin-top:15px; }
 body.page-visa-requirements #visa-options .visa-paths .visa-source { margin-top:18px; }
 body.page-visa-requirements #visa-fees { margin-top:38px; scroll-margin-top:max(0px,calc(var(--visa-header-height) + 76px - 110px)); }
 body.page-visa-requirements #visa-fees caption strong { display:block; color:#173b32; font:500 28px/1.3 var(--font-serif); letter-spacing:-.02em; }
 body.page-visa-requirements #visa-fees caption span { display:block; margin-top:8px; color:#69715f; font-size:10px; }
 body.page-visa-requirements #visa-fees caption { padding-bottom:20px; }
 body.page-visa-requirements .visa-fee-number { display:inline-block; margin-right:15px; color:#82632f; font:500 10px/1.5 var(--font-sans); vertical-align:middle; }
}
@media screen and (max-width:700px) {
 body.page-visa-requirements #visa-options .visa-paths { padding:0; }
 body.page-visa-requirements #visa-options .visa-paths article { padding:22px 0; }
 body.page-visa-requirements #visa-options .visa-paths article > span { margin-bottom:16px; }
 body.page-visa-requirements .visa-fee-number { display:block; margin:0 0 5px; }
 body.page-visa-requirements #visa-fees caption strong { font-size:25px; }
}

/* Accommodation-style photographic hero, scoped to the visa hero. */
@media screen {
 body.page-visa-requirements main .travel-hero { width:100%; min-height:650px; height:min(760px,calc(100svh - 86px)); display:flex; align-items:center; padding:64px max(32px,calc((100vw - 1280px)/2)); margin:0; background:#173b32; }
 body.page-visa-requirements .travel-hero-visual { inset:0; }
 body.page-visa-requirements .travel-hero-visual img { object-position:70% center; }
 body.page-visa-requirements .travel-hero-visual::after { background:linear-gradient(90deg,rgba(10,32,24,.88),rgba(10,32,24,.68) 38%,rgba(10,32,24,.08) 80%),linear-gradient(0deg,rgba(10,32,24,.38),transparent 50%); }
 body.page-visa-requirements .travel-hero-inner { max-width:750px; padding:0; color:#fffdf3; }
 body.page-visa-requirements .travel-hero .travel-breadcrumb { color:#e7e7d8; margin-bottom:48px; font-size:10px; }
 body.page-visa-requirements .travel-hero .travel-breadcrumb a { color:#fffdf3; }
 body.page-visa-requirements .travel-hero .travel-kicker { color:#dfc796; font-size:10px; letter-spacing:.2em; margin-bottom:20px; }
 body.page-visa-requirements .travel-hero h1 { font-size:clamp(48px,5.1vw,76px); line-height:1.06; letter-spacing:-.025em; color:#fffdf3; font-weight:500; }
 body.page-visa-requirements .travel-hero h1 em { color:#e9d6af; }
 body.page-visa-requirements .travel-hero-lead { max-width:445px; margin-top:26px; color:#eeeee1; font-size:13px; line-height:1.9; }
 body.page-visa-requirements .travel-hero .travel-actions { gap:16px 26px; margin-top:22px; }
 body.page-visa-requirements .travel-hero .travel-btn { padding:17px 24px; background:#f6efdf; border-color:#f6efdf; color:#173b32; font-size:12px; font-weight:600; }
 body.page-visa-requirements .travel-hero .travel-btn:hover { background:#e8d3a7; border-color:#e8d3a7; }
 body.page-visa-requirements .travel-hero .travel-link { color:#fffdf3; border-bottom:1px solid #b6bba2; padding:9px 0; font-size:11px; }
 body.page-visa-requirements .travel-hero .travel-reviewed { margin-top:38px; padding-top:22px; border-top:1px solid rgba(235,230,206,.3); color:#e6e7d8; font-size:9px; }
 body.page-visa-requirements .travel-hero .travel-reviewed i { color:#dfc796; font-size:13px; }
 body.page-visa-requirements .travel-hero-caption { right:35px; bottom:25px; padding:0; border:0; border-radius:0; background:none; color:#fffdf3; font-size:10px; }
 body.page-visa-requirements .travel-hero-caption i { color:#dfc796; }
}
@media screen and (max-width:1000px) {
 body.page-visa-requirements main .travel-hero { padding:55px 36px; }
 body.page-visa-requirements .travel-hero-inner { max-width:610px; }
 body.page-visa-requirements .travel-hero h1 { font-size:60px; }
}
@media screen and (max-width:650px) {
 body.page-visa-requirements main .travel-hero { height:auto; min-height:650px; padding:42px 24px 65px; }
 body.page-visa-requirements .travel-hero-inner { width:100%; }
 body.page-visa-requirements .travel-hero .travel-breadcrumb { margin-bottom:42px; }
 body.page-visa-requirements .travel-hero h1 { font-size:clamp(42px,9vw,56px); }
 body.page-visa-requirements .travel-hero-visual::after { background:linear-gradient(90deg,rgba(10,32,24,.83),rgba(10,32,24,.47)),linear-gradient(0deg,rgba(10,32,24,.45),transparent); }
 body.page-visa-requirements .travel-hero-lead { font-size:12px; }
 body.page-visa-requirements .travel-hero .travel-reviewed { margin-top:28px; }
 body.page-visa-requirements .travel-hero-caption { right:24px; bottom:19px; font-size:9px; }
}
