.airport-guide-page { background:var(--paper); }
.airport-guide-page .site-header { background:rgba(250,249,245,.96); }
.airport-guide-hero,.airport-directory-hero { max-width:1170px; margin:auto; padding:82px 24px 72px; display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:70px; align-items:end; }
.airport-guide-hero h1,.airport-directory-hero h1 { max-width:800px; margin:10px 0 18px; color:var(--ink); font-family:var(--sans); font-size:clamp(46px,6vw,76px); font-weight:600; line-height:1.03; letter-spacing:-.045em; }
.airport-guide-hero>div>p:not(.eyebrow),.airport-directory-hero>p:not(.eyebrow) { max-width:680px; margin:0; color:var(--muted); font-size:19px; line-height:1.6; }
.airport-guide-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:30px; }
.airport-facts { display:grid; gap:10px; padding:25px; border:1px solid #a9cdb5; border-radius:8px; background:#e8f4eb; }
.airport-facts span,.airport-facts small { color:#386557; font:600 12px/1.35 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.airport-facts strong { color:var(--ink); font-size:21px; line-height:1.25; }
.airport-conditions,.airport-flight-lookup,.airport-pickup-guide,.airport-quick-guide { max-width:1170px; padding:70px 24px; margin:auto; border-top:1px solid var(--line); }
.airport-map-locations { max-width:1170px; padding:64px 24px; margin:auto; border-top:1px solid var(--line); }
.airport-section-heading { max-width:700px; }
.airport-section-heading h2 { margin:8px 0 12px; color:var(--ink); font-family:var(--sans); font-size:42px; font-weight:600; line-height:1.08; letter-spacing:-.035em; }
.airport-section-heading>p:not(.eyebrow) { margin:0; color:var(--muted); font-size:17px; line-height:1.55; }
.condition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:30px; }
.condition-grid article { display:grid; gap:8px; min-height:138px; padding:23px; border:1px solid #bbd7c4; border-radius:8px; background:#fff; }
.condition-grid span,.conditions-updated { color:#386557; font:600 11px/1.35 var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.condition-grid strong { color:var(--ink); font-size:20px; line-height:1.35; }
.condition-grid small { color:var(--muted); font-size:14px; line-height:1.4; }
.conditions-updated { margin:16px 0 0; }
.airport-map-location-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:30px; }
.airport-map-location { display:flex; flex-direction:column; align-items:flex-start; padding:23px; border:1px solid #b9d1c2; border-radius:9px; background:#f6fbf8; }
.airport-map-location h3 { margin:8px 0 10px; color:var(--ink); font-size:22px; line-height:1.2; letter-spacing:-.025em; }
.airport-map-location>p:not(.eyebrow) { margin:0; color:var(--muted); line-height:1.55; }
.airport-map-location .map-link { margin-top:20px; }
.airport-lookup-form { display:grid; grid-template-columns:1fr 1fr auto; gap:14px; align-items:end; margin-top:30px; padding:22px; border:1px solid #b8d8c4; border-radius:8px; background:#f1f8f3; }
.airport-lookup-form label { display:grid; gap:7px; color:var(--ink); font-weight:700; }
.airport-lookup-form input { min-width:0; min-height:48px; padding:10px 12px; border:1px solid #9baea2; border-radius:5px; background:#fff; color:var(--ink); font:inherit; }
.airport-lookup-form .button { min-height:48px; white-space:nowrap; }
.airport-lookup-message { margin:16px 0 0; padding:13px 15px; border-left:4px solid #d28a28; background:#fff8e9; color:#614c18; font-weight:700; line-height:1.45; }
.airport-lookup-message.is-error { border-color:#b95436; background:#fff4f0; color:#7d301d; }
.airport-flight-result { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-top:18px; border:1px solid #a9cdb5; border-radius:8px; overflow:hidden; background:#a9cdb5; }
.airport-flight-result div { display:grid; gap:5px; padding:18px; background:#fff; }
.airport-flight-result span { color:#526b61; font:600 11px/1.3 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.airport-flight-result strong { color:var(--ink); font-size:18px; overflow-wrap:anywhere; }
.airport-lookup-note { margin:16px 0 0; color:var(--muted); font-size:15px; line-height:1.45; }
.airport-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:30px; }
.airport-guide-grid article { padding:26px; border:1px solid #d3ded7; border-radius:8px; background:#fff; }
.airport-guide-grid h3 { margin:0 0 10px; color:var(--ink); font-size:21px; }
.airport-guide-grid p { margin:0; color:var(--muted); line-height:1.55; }
.airport-guide-grid a { display:inline-block; margin-top:17px; color:#126249; font-weight:700; }
.airport-brief-grid article { border-color:#afc8bc; background:#f6fbf8; }
.airport-brief-grid a { font-size:14px; }
.airport-directory-hero { display:block; max-width:900px; padding-bottom:44px; text-align:center; }
.airport-directory-hero>p:not(.eyebrow) { margin-right:auto; margin-left:auto; }
.airport-directory-search { max-width:620px; margin:30px auto 0; text-align:left; }
.airport-directory-search label { display:block; margin-bottom:8px; color:var(--ink); font-weight:700; }
.airport-directory-search input { width:100%; min-height:52px; padding:12px 15px; border:1px solid #9baea2; border-radius:6px; background:#fff; color:var(--ink); font:inherit; }
.airport-directory-search input:focus { outline:3px solid rgba(23,100,80,.2); outline-offset:2px; border-color:#176450; }
.airport-directory-search p { margin:9px 0 0; color:var(--muted); font:600 12px/1.4 var(--mono); letter-spacing:.04em; text-transform:uppercase; }
.airport-directory-grid { max-width:1170px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:20px 24px 88px; margin:auto; }
.airport-directory-empty { max-width:1170px; margin:-58px auto 88px; padding:24px; text-align:center; color:var(--muted); }
.airport-directory-card { display:grid; gap:6px; min-height:165px; padding:22px; border:1px solid #ccd9d0; border-radius:8px; background:#fff; color:var(--ink); text-decoration:none; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.airport-directory-card:hover { border-color:#5d9a76; box-shadow:0 10px 25px rgba(30,70,54,.1); transform:translateY(-2px); text-decoration:none; }
.airport-directory-card span { color:#176450; font:600 12px var(--mono); letter-spacing:.06em; }
.airport-directory-card strong { font-size:18px; line-height:1.25; }
.airport-directory-card small { color:var(--muted); }
.airport-directory-card em { align-self:end; color:#176450; font-size:14px; font-style:normal; font-weight:700; }
.airport-editorial-guide { max-width:860px; margin:0 auto; padding:78px 24px 22px; }
.airport-pickup-locations { max-width:1170px; margin:0 auto; padding:76px 24px 66px; }
.airport-editorial-intro { max-width:730px; padding-bottom:35px; border-bottom:1px solid var(--line); }
.airport-editorial-intro h2,.airport-editorial-section h2 { margin:8px 0 15px; color:var(--ink); font-size:clamp(34px,4vw,51px); font-weight:600; line-height:1.08; letter-spacing:-.04em; }
.airport-editorial-intro>p:not(.eyebrow),.airport-editorial-section>p:not(.eyebrow) { color:var(--muted); font-size:18px; line-height:1.68; }
.airport-editorial-section { padding:48px 0; border-bottom:1px solid var(--line); }
.airport-editorial-section h2 { max-width:720px; font-size:clamp(30px,3.3vw,42px); }
.airport-editorial-section p { max-width:760px; }
.airport-official-link { color:#126249; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.airport-pickup-scenarios { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:30px; }
.airport-pickup-scenario { padding:25px; border:1px solid #b9d1c2; border-radius:9px; background:#f6fbf8; }
.airport-pickup-scenario h3,.airport-operational-note h3 { margin:8px 0 18px; color:var(--ink); font-size:24px; letter-spacing:-.025em; }
.airport-pickup-scenario dl { display:grid; gap:5px; margin:0; }
.airport-pickup-scenario dt { margin-top:8px; color:#386557; font:600 11px/1.35 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.airport-pickup-scenario dd { margin:0; color:var(--ink); line-height:1.5; }
.airport-operational-notes { max-width:1170px; margin:0 auto; padding:65px 24px; border-top:1px solid var(--line); }
.airport-operational-notes>div:last-child { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:28px; }
.airport-operational-note { padding:23px; border:1px solid #d2ded7; border-radius:8px; background:#fff; }
.airport-operational-note h3 { font-size:20px; }
.airport-operational-note>p { margin:0; color:var(--muted); line-height:1.55; }
@media (max-width:800px) { .airport-guide-hero { grid-template-columns:1fr; gap:28px; padding-top:60px; }.airport-facts { max-width:410px; }.airport-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.airport-lookup-form { grid-template-columns:1fr 1fr; }.airport-lookup-form .button { grid-column:1/-1; justify-content:center; }.airport-conditions,.airport-map-locations,.airport-flight-lookup,.airport-pickup-guide,.airport-quick-guide { padding-top:55px; padding-bottom:55px; }.airport-map-location-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .airport-guide-hero,.airport-directory-hero { padding:46px 20px 48px; }.airport-guide-hero h1,.airport-directory-hero h1 { font-size:46px; }.airport-section-heading h2 { font-size:36px; }.airport-conditions,.airport-map-locations,.airport-flight-lookup,.airport-pickup-guide,.airport-quick-guide,.airport-pickup-locations,.airport-operational-notes { padding:46px 20px; }.condition-grid,.airport-map-location-grid,.airport-guide-grid,.airport-directory-grid,.airport-pickup-scenarios,.airport-operational-notes>div:last-child { grid-template-columns:1fr; }.airport-lookup-form { grid-template-columns:1fr; padding:18px; }.airport-lookup-form .button { grid-column:auto; width:100%; justify-content:center; }.airport-flight-result { grid-template-columns:1fr; }.airport-directory-grid { padding:10px 20px 60px; }.airport-guide-actions { align-items:flex-start; flex-direction:column; gap:17px; }.airport-editorial-guide { padding:55px 20px 12px; }.airport-editorial-section { padding:39px 0; }.airport-editorial-intro>p:not(.eyebrow),.airport-editorial-section>p:not(.eyebrow) { font-size:17px; } }

.airport-sources,.airport-methodology { max-width:1170px; margin:auto; padding:54px 24px; border-top:1px solid var(--line); line-height:1.65; overflow-wrap:anywhere; }
.airport-sources ul { padding-left:22px; }.airport-sources li { margin:24px 0; }.airport-sources li p { margin:6px 0; color:var(--muted); }.airport-sources small { color:var(--muted); }.airport-methodology { max-width:850px; }
