.airport-teaser { width: var(--content); margin: 32px auto 56px; padding: clamp(24px,4vw,48px); border: 1px solid var(--gold); border-radius: 20px; display: flex; align-items: center; justify-content: space-between; gap: 28px; background: var(--navy-850); color: var(--ivory); }
.airport-teaser h2 { font: 600 clamp(1.8rem,3vw,2.7rem)/1.1 var(--display); margin: 0 0 14px; }
.airport-teaser p { max-width: 620px; }
.airport-teaser .button { flex-shrink: 0; }
.airport-tool { width: min(850px,calc(100% - 40px)); margin: 40px auto 80px; }
.airport-tool label { display: block; font-weight: 650; margin-bottom: 12px; }
.airport-input-row { display: flex; gap: 12px; }
.airport-input-row input { min-width: 0; width: 100%; border: 1px solid var(--gold); border-radius: 10px; background: var(--ivory); color: var(--ink); padding: 18px; font: inherit; font-size: 1.1rem; }
.airport-tool :focus-visible { outline: 3px solid var(--sky); outline-offset: 4px; }
.airport-tool #airport-hint { font-size: .9rem; }
.airport-examples { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-block: 24px; }
.airport-examples button { border: 1px solid var(--gold); color: inherit; background: transparent; padding: 8px 16px; border-radius: 30px; font: inherit; cursor: pointer; }
.airport-results { padding: 0; list-style: none; }
.airport-results li { display: flex; gap: 24px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--gold); }
.airport-results li:last-child { border-bottom: 0; }
.airport-code { font: 700 clamp(1.7rem,5vw,2.4rem)/1 var(--sans); letter-spacing: .05em; min-width: 90px; }
.airport-results h3 { font-size: 1.15rem; margin: 0 0 6px; }
.airport-results p { margin: 0 0 4px; }
.airport-notes { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--gold); font-size: .95rem; }
@media(max-width:700px) { .airport-teaser { align-items: flex-start; flex-direction: column; } .airport-results li { gap: 16px; } .airport-code { min-width: 75px; } }
.airport-tool [hidden] { display: none !important; }
.airport-input-row .button { width: auto; flex: 0 0 auto; }

.airport-match-group { margin-top: 32px; }
.airport-match-group + .airport-match-group { border-top: 1px solid var(--gold); padding-top: 28px; }
.airport-match-group > h2 { font-size: 1.25rem; margin: 0 0 8px; }
.airport-group-description { margin: 0 0 8px; font-size: .95rem; }
.airport-results .airport-match-reason { font-size: .85rem; margin-top: 10px; overflow-wrap: anywhere; }
