@font-face{font-family:Jakarta;src:url('./fonts/jakarta-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Jakarta;src:url('./fonts/jakarta-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Jakarta;src:url('./fonts/jakarta-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}

:root{font-family:Jakarta,Arial,sans-serif;color:#102c40;background:#f7f8f8;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:3px solid #395f90;outline-offset:5px}
.passport-page{min-height:100vh;min-height:100svh}
.passport-gallery{display:flex;align-items:center;justify-content:center;padding:clamp(24px,3.8vw,64px) clamp(16px,5vw,80px);background:radial-gradient(ellipse at 50% 25%,#214055,#0a1d2d 78%)}
.passport-cover{display:block;width:100%;height:auto;max-width:1050px;object-fit:contain;filter:drop-shadow(0 18px 26px rgba(0,8,19,.28))}
.passport-details{padding:44px clamp(24px,5vw,80px) 56px;background:#f7f8f8}
.passport-details-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:center;gap:clamp(28px,6vw,88px);width:100%;max-width:1050px;margin:0 auto}
.application-eyebrow{margin:0 0 12px;font-size:11px;font-weight:700;letter-spacing:.16em;color:#647685}
h1{margin:0;font-size:clamp(28px,3.2vw,43px);font-weight:700;line-height:1.16;letter-spacing:-.035em}
.passport-divider{width:44px;height:3px;margin:22px 0;background:#e2b947;border-radius:2px}
.application-reference{margin:0;font-size:clamp(22px,2.14vw,29px);font-weight:600;line-height:1.4;letter-spacing:-.025em;overflow-wrap:anywhere}
.application-reference span{font-variant-numeric:tabular-nums}
.application-review{margin:16px 0 0;color:#60738c;font-size:12px;font-weight:400;line-height:1.7;max-width:450px}
.passport-actions{display:grid;gap:12px}
.passport-button{display:flex;align-items:center;justify-content:center;gap:14px;min-height:58px;padding:14px 20px;border:1px solid transparent;border-radius:9px;font-size:17px;font-weight:600;line-height:1.4;letter-spacing:-.02em;transition:background-color .15s,border-color .15s}
.passport-button img{flex:none;width:24px;height:24px}
.passport-download{background:#f6d25b}
.passport-download:hover{background:#efc649}
.passport-share{border-color:#a8bad0;background:#fff}
.passport-share:hover{background:#edf3f7;border-color:#728ca9}
.passport-explore{display:flex;align-items:center;justify-content:center;gap:14px;min-height:44px;margin-top:14px;font-size:15px;font-weight:600;letter-spacing:-.025em}
.passport-explore img{width:22px;height:22px}
.passport-explore:hover span{text-decoration:underline;text-underline-offset:5px}

@media(max-width:700px){
    .passport-gallery{padding:30px 12px}
    .passport-cover{max-width:600px;filter:drop-shadow(0 10px 16px rgba(0,8,19,.24))}
    .passport-details{padding:32px 24px 36px}
    .passport-details-inner{grid-template-columns:minmax(0,1fr);gap:28px;max-width:520px}
    h1{font-size:clamp(28px,6.5vw,38px)}
    .passport-divider{margin:20px 0}
    .application-reference{font-size:23px}
    .application-review{margin-top:14px;font-size:12px}
    .passport-button{min-height:56px;padding:14px 16px}
}
@media(max-width:360px){
    .passport-gallery{padding:24px 8px}
    .passport-details{padding:28px 20px 32px}
    h1{font-size:27px}
    .application-reference{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.passport-button{transition:none}}
