.passport-shell{max-width:1240px;margin:auto;padding:38px 32px 110px}.passport-shell .breadcrumb{margin-bottom:36px}.passport-shell h1,.passport-shell h2,.passport-shell h3{font-family:Marbley,Georgia,serif;font-weight:400;line-height:1.08}.passport-shell h1{font-size:clamp(56px,6.6vw,104px);color:#2d1743;margin:12px 0 24px}.passport-shell h2{font-size:clamp(39px,4.2vw,66px);color:#a752e4;margin:12px 0 30px}.passport-shell h3{font-size:30px;color:#2d1743;margin:10px 0}.passport-shell p{line-height:1.65}.passport-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:52px;align-items:center}.passport-hero-copy>p:not(.eyebrow):not(.passport-note){font-size:clamp(19px,2vw,24px);color:#53475e}.passport-hero figure{margin:0;position:relative;overflow:hidden;border-radius:32px;aspect-ratio:4/5}.passport-hero img{height:100%;width:100%;object-fit:cover;object-position:32% center}.passport-hero figcaption{position:absolute;left:22px;bottom:22px;background:#e7f9ac;color:#36243b;border-radius:99px;padding:11px 18px;font-weight:700}.passport-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:30px}.passport-primary{display:inline-flex;background:#d9f99d;color:#241331;font-weight:800;border-radius:100px;padding:15px 24px}.passport-secondary,.passport-decoder a{font-weight:750;color:#5c267f;text-decoration:underline;text-underline-offset:5px}.passport-note{font-size:13px;color:#766d80;margin-top:22px}.passport-intro,.passport-cities,.passport-decoder,.passport-reading,.passport-final{margin-top:120px}.passport-intro>h2{max-width:900px}.passport-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid #dbcfdf;padding-top:34px}.passport-steps>div+div{border-left:1px solid #dbcfdf;padding-left:32px}.passport-steps span,.passport-city-grid span{font-size:12px;color:#772baf;font-weight:800;letter-spacing:.12em}.passport-steps p{color:#5d5364}.passport-city-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.passport-city-grid>a{color:#31243a}.passport-city-grid img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:24px;display:block;margin-bottom:22px}.passport-city-grid h3{font-size:38px}.passport-city-grid p{color:#60586a}.passport-city-grid b{color:#642c8d;text-decoration:underline;text-underline-offset:4px}.passport-decoder{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;background:#f2e5fa;border-radius:36px;padding:58px}.passport-decoder h2{color:#35184f}.passport-decoder ul{list-style:none;margin:0;padding:0}.passport-decoder li{padding:18px 0;border-bottom:1px solid #d7c5e2;display:grid;gap:5px}.passport-decoder li strong{font-size:18px}.passport-decoder li span{color:#62566b;line-height:1.55}.passport-links{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.passport-links a{padding:22px 0;border-top:1px solid #d9cddb;color:#482269;font-weight:750}.passport-final{text-align:center;background:#dff9a5;border-radius:34px;padding:64px 24px}.passport-final h2{color:#28153d;margin-bottom:12px}.passport-final p:not(.eyebrow){max-width:650px;margin:0 auto 25px}.passport-final .passport-primary{background:#30143e;color:#fff}@media(max-width:760px){.passport-shell{padding:20px 18px 70px}.passport-hero,.passport-decoder{grid-template-columns:1fr;gap:30px}.passport-hero figure{aspect-ratio:4/3}.passport-intro,.passport-cities,.passport-decoder,.passport-reading,.passport-final{margin-top:76px}.passport-steps,.passport-city-grid,.passport-links{grid-template-columns:1fr}.passport-steps>div+div{border-left:0;border-top:1px solid #dbcfdf;padding:24px 0 0}.passport-steps{gap:24px}.passport-decoder{padding:30px 22px}.passport-city-grid{gap:50px}}
.passport-sources{font-size:13px;color:#6d6375;margin:26px 0 0;text-align:center}.passport-sources a{color:#613084;text-decoration:underline;text-underline-offset:3px}
/* Keep destination photography editorial and compact, with consistent card heights. */
.passport-city-grid img{aspect-ratio:auto;height:clamp(260px,28vw,360px);object-position:center}
@media(max-width:760px){.passport-city-grid img{height:250px}}
