[hidden]{display:none!important}
.airport-section-links{display:flex;flex-wrap:wrap;gap:9px;width:min(1180px,calc(100% - 36px));margin:20px auto 0}
.airport-section-links a{padding:8px 13px;border:1px solid #ded6e9;border-radius:22px;background:#fff9ee;color:#24134f;font-size:13px;font-weight:700}
.official-source-links{background:#f7f5fc;border-left:4px solid #ef8425;padding:15px 18px;margin:15px 0 25px;font-size:14px}
.official-source-links a{display:inline-block;margin:4px 12px 4px 0;text-decoration:underline}
.directory-result-note{font-size:14px;color:#514663;margin:12px 0 18px}
.skip-link{position:fixed;top:-100px;left:15px;z-index:1000;background:#fff;color:#15045d;padding:12px 20px;border:3px solid #ef8425;border-radius:8px}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #6b38a5;outline-offset:3px}
.prose h2[id]{scroll-margin-top:110px}
.travel-context{background:#fff2d9;border-left:5px solid #ef8425;border-radius:8px;padding:18px;margin-bottom:22px;font-size:16px}
.parking-card .parking-photo.illustration{object-fit:contain}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:400px){.trip-mobile{max-width:100%;overflow-x:auto}.trip-mobile iframe{max-width:100%}}
/* Keep long airport and hotel names inside narrow screens. */
.content-grid>*{min-width:0}
.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero h1,.info-box,.facts,.source-block,.site-footer{overflow-wrap:anywhere}
#main-content>.box{width:100%;max-width:680px;box-sizing:border-box;overflow-wrap:anywhere}
@media(max-width:680px){.info-grid{grid-template-columns:1fr}.content-grid{grid-template-columns:minmax(0,1fr)}}
