/* The open passport: a navy cover page beside a white data page. */

.ap-passport { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); margin: 0; overflow: hidden; border: 1px solid rgba(214, 178, 94, 0.4); border-radius: 14px; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.9); }
.ap-cover { display: grid; align-content: center; justify-items: center; gap: 8px; padding: 24px 18px; background: radial-gradient(circle at 50% 30%, #1B3563, #0A1A33 70%); color: #E7C977; text-align: center; }
.ap-cover-kicker { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; }
.ap-emblem { display: grid; place-items: center; width: 84px; height: 84px; border: 2px solid #D6B25E; border-radius: 50%; }
.ap-emblem .mk-ic { width: 50px; height: 50px; stroke-width: 1.2; }
.ap-ref { margin: 6px 0 0; color: #FFFFFF; font-weight: 800; letter-spacing: 0.14em; }
.ap-name { margin: 0; color: #FFFFFF; font-size: 18px; font-weight: 700; }
.ap-motto { margin: 4px 0 0; padding-top: 10px; border-top: 1px solid rgba(214, 178, 94, 0.5); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; }
.ap-badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.ap-data { padding: 18px 20px; background: #FBFCFF; color: var(--mk-ink); }
.ap-data header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--mk-line); }
.ap-data header p { margin: 0; }
.ap-data header strong { display: block; color: var(--mk-body); font-size: 12px; letter-spacing: 0.1em; }
.ap-data header span { font-weight: 700; }
.ap-data .mk-pill { color: var(--tone); }
.ap-data dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 14px; margin: 12px 0; font-size: 13px; }
.ap-data dt { color: var(--mk-body); }
.ap-data dd { margin: 0; font-weight: 600; }
.ap-links-title { margin: 0 0 6px; color: var(--mk-body); font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.ap-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; margin: 0; padding: 0; color: var(--mk-blue); font-size: 13px; list-style: none; }
.ap-links li { display: flex; align-items: center; gap: 6px; }
.ap-links .mk-ic { width: 16px; height: 16px; }
.ap-passport figcaption { grid-column: 1 / -1; padding: 8px 14px; background: rgba(8, 21, 42, 0.92); color: var(--mk-on-dark-muted); }

.ap-journey { display: flex; margin: 0; padding: 0 0 4px; overflow-x: auto; list-style: none; }
.ap-journey li { position: relative; display: grid; flex: 1 0 96px; justify-items: center; gap: 10px; color: var(--mk-on-dark); font-size: 13px; font-weight: 600; }
.ap-journey li::after { content: ""; position: absolute; top: 24px; left: calc(50% + 30px); width: calc(100% - 60px); height: 2px; background: linear-gradient(90deg, var(--mk-blue-bright), #1E9E5A); }
.ap-journey li:last-child::after { display: none; }
.ap-journey .mk-tile { width: 48px; height: 48px; border-radius: 50%; }
.ap-journey-caption { margin: 20px 0 0; color: var(--mk-on-dark-muted); font-size: 12px; letter-spacing: 0.14em; text-align: center; text-transform: uppercase; }

.ap-close { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: clamp(24px, 4vw, 56px); align-items: center; margin-top: clamp(32px, 5vw, 56px); padding-top: clamp(28px, 4vw, 44px); border-top: 1px solid var(--mk-line); }
.ap-close .mk-lede { margin-top: 0; }

@media (max-width: 760px) {
  .ap-passport, .ap-close { grid-template-columns: minmax(0, 1fr); }
  .ap-links { grid-template-columns: minmax(0, 1fr); }
}
