
.passport-rank-page { color: #142c50; }.passport-rank-page :where(section) { padding-block: 0; }.passport-rank-page [hidden] { display: none; }.passport-rank-page h2 { font-size: clamp(1.4rem,2.4vw,2rem); }.passport-rank-page :is(a,button,input,select,summary):focus-visible { outline: 3px solid #286acc; outline-offset: 3px; }.passport-rank-page label { display: grid; gap: .4rem; font-weight: 500; font-size: .9rem; min-width: 0; }.passport-rank-page input,.passport-rank-page select { min-width: 0; width: 100%; min-height: 48px; border: 1px solid #bbcadf; background: #fff; color: #142c50; padding: .7rem; border-radius: 8px; font: inherit; }.passport-dataset-note,.passport-confidence { color: #536580; font-size: .85rem; }.passport-top { margin: 2rem 0; }.passport-top-list { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1rem; }.passport-top-list a { color: inherit; text-decoration: none; display: grid; gap: .25rem; align-content: start; border-top: 3px solid #3479d1; padding: .8rem .3rem; }.passport-top-list a:hover { background: #f4f8fd; }.passport-top-list span { font-size: .8rem; color: #536580; }.passport-top-list img { width: 32px; height: 22px; object-fit: contain; margin: .2rem 0; }.passport-top-list strong { min-height: 2.7em; line-height: 1.3; overflow-wrap: anywhere; }.passport-top-list b { font-size: 1.9rem; }.passport-top-list small { color: #536580; }.passport-compare-tool { background: #f0f6ff; padding: 1.5rem; border-radius: 12px; margin: 2rem 0; scroll-margin-top: 6rem; }.passport-compare-tool h2 { margin: .25rem 0; }.passport-compare-tool p { color: #536580; }.passport-compare-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin: 1rem 0; }.passport-compare-tool button { min-height: 48px; }.passport-feedback { min-height: 1.3rem; margin-bottom: 0; }.passport-comparison { margin-top: 1.5rem; animation: passport-reveal 350ms ease-out; }.passport-comparison-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 1.2rem; }.passport-comparison-grid article { background: #fff; border-radius: 8px; padding: 1rem; min-width: 0; }.passport-comparison-grid h4 { display: flex; align-items: center; gap: .5rem; font-size: 1rem; margin: 0 0 .6rem; overflow-wrap: anywhere; }.passport-comparison-grid h4 img { width: 24px; height: 17px; object-fit: contain; }.passport-compare-score { font-size: 2.3rem; line-height: 1; }.passport-comparison-grid dl { display: grid; gap: .3rem; }.passport-comparison-grid dl div { display: flex; justify-content: space-between; gap: .5rem; }.passport-comparison-grid dd { margin: 0; font-weight: 500; }.passport-rank-page details { padding: .6rem 0; }.passport-rank-page summary { cursor: pointer; padding: .55rem 0; min-height: 44px; font-weight: 500; }.passport-destination-links { columns: 3; }.passport-destination-links li { break-inside: avoid; margin-bottom: .3rem; }.passport-selected { margin: 2rem 0; scroll-margin-top: 6rem; }.passport-selected:focus { outline: 2px solid #286acc; outline-offset: 3px; }.passport-profile { background: #f5f8fc; border-radius: 12px; padding: 1.5rem; }.passport-profile-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }.passport-profile-heading h2 { margin: 0; display: flex; gap: .6rem; align-items: center; overflow-wrap: anywhere; }.passport-profile-heading h2 img { width: 34px; height: 24px; object-fit: contain; flex-shrink: 0; }.passport-score { display: grid; text-align: right; flex-shrink: 0; }.passport-score strong { font-size: 3rem; line-height: 1; }.passport-score span { color: #536580; font-size: .8rem; margin-top: .4rem; }.passport-distribution { height: 14px; display: flex; border-radius: 7px; overflow: hidden; background: #e4eaf2; margin: 1.4rem 0; }.passport-distribution span { height: 100%; }.passport-counts { display: flex; flex-wrap: wrap; gap: 1rem 1.6rem; }.passport-counts dt { font-size: .8rem; display: flex; align-items: center; gap: .35rem; color: #536580; }.passport-counts dd { margin: .2rem 0 0; font-weight: 500; font-size: 1.4rem; }.passport-counts i { width: 8px; height: 8px; border-radius: 50%; }.passport-actions { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; align-items: center; }.passport-actions a { display: inline-flex; align-items: center; min-height: 44px; }.passport-toolbar { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 1rem; }.passport-count { color: #536580; font-size: .85rem; }.passport-table-wrap { max-height: 680px; overflow: auto; border-bottom: 1px solid #dce5f0; scrollbar-gutter: stable; }.passport-table { width: 100%; border-collapse: collapse; font-size: .88rem; }.passport-table caption { text-align: left; color: #536580; font-size: .8rem; padding: .4rem; }.passport-table :is(td,th) { padding: .75rem .5rem; border-bottom: 1px solid #e2e9f1; text-align: left; }.passport-table thead th { position: sticky; top: 0; background: #f2f6fc; z-index: 1; }.passport-table button { border: 0; background: none; padding: .15rem; min-height: 44px; color: inherit; font: inherit; font-weight: 500; cursor: pointer; }.passport-table tbody th { max-width: 220px; font-weight: 500; }.passport-table tbody a { display: inline-flex; align-items: center; gap: .5rem; color: inherit; min-height: 44px; overflow-wrap: anywhere; }.passport-table img { width: 24px; height: 17px; object-fit: contain; flex-shrink: 0; }.passport-table tr:hover,.passport-table tr.is-selected { background: #f3f8ff; }.passport-method { max-width: 870px; margin: 2.5rem 0; }.passport-method p { color: #536580; }@keyframes passport-reveal { from { opacity: .5; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }@media (max-width: 1024px) { .passport-table { font-size: .8rem; }.passport-table :is(td,th) { padding: .6rem .35rem; }.passport-toolbar { grid-template-columns: 1fr 1fr; }.passport-toolbar label:first-child { grid-column: 1/-1; } }@media (max-width: 700px) {
 .passport-top-list { grid-template-columns: repeat(3,minmax(0,1fr)); }.passport-top-list strong { min-height: 0; }.passport-top-list a:nth-child(n/**/+4) { display: none; }
 .passport-profile-heading { align-items: flex-start; flex-direction: column; }.passport-score { text-align: left; }.passport-destination-links { columns: 2; }
 .passport-table-wrap { max-height: 900px; }.passport-table { display: block; }.passport-table thead { display: none; }.passport-table tbody { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }.passport-table tbody tr { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem .8rem; border-bottom: 1px solid #dce5f0; padding: 1rem .2rem; }.passport-table tbody :is(td,th) { border: none; padding: 0; max-width: none; }.passport-table tbody th { grid-column: 1/-1; grid-row: 1; margin-bottom: .4rem; }.passport-table td { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem; }.passport-table td:before { content: attr(data-label); color: #536580; font-size: .76rem; }
}@media (max-width: 480px) { .passport-compare-tool,.passport-profile { padding: 1rem; }.passport-compare-fields,.passport-toolbar,.passport-table tbody { grid-template-columns: 1fr; }.passport-table tbody tr { padding: 1rem .4rem; }.passport-destination-links { columns: 1; }.passport-top-list { gap: .6rem; }.passport-top-list strong { font-size: .8rem; }.passport-top-list b { font-size: 1.6rem; } }@media (prefers-reduced-motion: reduce) { .passport-rank-page * { animation: none; transition: none; scroll-behavior: auto; } }.passport-rank-page { width: min(1140px, calc(100% - 2rem)); margin: 0 auto; }.passport-rank-page .mtt-page-hero { width: 100%; }@media (max-width: 700px) { .passport-table caption { display: block; }.passport-top-list a:nth-child(n/**/+4) { display: grid; } }