/* Supporting pages use the live Customer Pages design's inline values.
   These rules add responsive layout and real interactive form/FAQ states. */
:root{color-scheme:light}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:#F4F2EC;color:#1D1D1D;font-family:Geist,system-ui,sans-serif}
a{color:#046E82}a:hover{color:#1D1D1D}
button,input,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.45}
:focus-visible{outline:2px solid #046E82;outline-offset:3px}
.cp-screen{min-height:100vh;display:flex;flex-direction:column}
.cp-main{flex:1;min-width:0}
.cp-footer{line-height:1.5!important;flex-wrap:wrap}
.cp-airport-notice{background:#EBE8E0;border:1px solid #DDDDDD;border-radius:12px;padding:14px 16px;font:400 13px/1.55 Geist,sans-serif;margin-top:20px;max-width:1100px;text-wrap:pretty}
.cp-airport-notice strong{font-weight:700}
.cp-airport-notice a{display:inline;white-space:normal}
/* Match the terminal photo column below; bound the whole airport layout so the
   photo stays fluid without growing indefinitely or leaving an oversized card. */
.cp-airport-pickup .cp-main{width:100%;max-width:1680px;margin-inline:auto}
.cp-airport-pickup #pickup-map>div:nth-child(2){grid-template-columns:calc(50% - 28px) minmax(180px,1fr) minmax(0,420px)!important;align-items:start!important}
.cp-airport-pickup #pickup-map>div:nth-child(2)>div:first-child{min-width:0}
.cp-airport-pickup #pickup-map>div:nth-child(2)>div:first-child>div:first-child{flex:none!important;max-width:100%}
.cp-how-step-cards>li{min-width:0}
.cp-how-step-photo{width:100%;aspect-ratio:16/10;overflow:hidden;border-radius:10px;background:#EBE8E0}
.cp-how-step-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.cp-how-pickup-photo{max-width:100%;justify-self:end}
.cp-how-pickup-photo img{display:block;width:100%;height:100%;object-fit:cover}
.cp-loading{padding:34px 40px;font:400 16px/1.5 Geist,sans-serif}
.cp-faq-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cp-eyebrow{font:600 11px/1 Geist,sans-serif;letter-spacing:.12em;color:#555}
.cp-title{margin:10px 0 0;font:700 40px/1.08 Geist,sans-serif;letter-spacing:-.025em;text-wrap:pretty}
.cp-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #DDDDDD;border-radius:12px;padding:6px 6px 6px 14px;width:420px;max-width:100%}
.cp-search input{flex:1;min-width:0;font:400 14px/1 Geist,sans-serif;color:#1D1D1D;background:transparent;border:0;padding:10px 0;outline-offset:0}
.cp-search-count{font:400 12px/1 Geist,sans-serif;color:#555;white-space:nowrap;padding-right:8px}
.cp-pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}
.cp-pill{font:600 12px/1 Geist,sans-serif;padding:10px 12px;border-radius:10px;border:1px solid #DDDDDD;background:#fff;color:#1D1D1D;min-height:38px}
.cp-pill[aria-pressed=true]{border-color:#1D1D1D;background:#1D1D1D;color:#fff}
.cp-pill:hover{border-color:#1D1D1D}
.cp-faq-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;margin-top:18px;align-items:start}
.cp-faq-list{display:flex;flex-direction:column;gap:8px;min-width:0}
.cp-faq-item{background:#fff;border:1px solid #DDDDDD;border-radius:14px;overflow:hidden}
.cp-faq-item.open{border-color:#1D1D1D}
.cp-faq-question{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:none;border:0;padding:16px 18px;color:#1D1D1D}
.cp-faq-group{font:600 11px/1 Geist,sans-serif;letter-spacing:.08em;color:#555;text-transform:uppercase;width:92px;flex:none}
.cp-faq-label{flex:1;font:600 15px/1.3 Geist,sans-serif;text-wrap:pretty}
.cp-chevron{color:#555;display:flex;flex:none;transition:transform .2s ease}
.cp-faq-question[aria-expanded=true] .cp-chevron{transform:rotate(180deg)}
.cp-faq-answer{padding:0 18px 18px 124px;font:400 14px/1.6 Geist,sans-serif;text-wrap:pretty}
.cp-faq-answer a{display:inline-block;margin-top:8px;font:600 13px/1 Geist,sans-serif;text-decoration:none}
.cp-faq-empty{background:#fff;border:1px dashed #DDDDDD;border-radius:14px;padding:22px;text-align:center;font:400 14px/1.5 Geist,sans-serif;color:#555}
.cp-aside{display:flex;flex-direction:column;gap:12px}
.cp-aside-card{background:#fff;border:1px solid #1D1D1D;border-radius:14px;padding:18px 20px}
.cp-aside-title{font:700 15px/1.2 Geist,sans-serif}
.cp-small-copy{font:400 13px/1.5 Geist,sans-serif;color:#555;text-wrap:pretty}
.cp-aside-buttons{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.cp-btn{display:inline-flex;align-items:center;justify-content:center;font:600 13px/1 Geist,sans-serif;color:#1D1D1D;border:1px solid #1D1D1D;border-radius:10px;padding:12px;text-decoration:none;background:transparent;min-height:42px}
.cp-btn.primary{background:#1D1D1D;color:#fff}
.cp-btn.primary:hover{background:#000;color:#fff}
.cp-btn:not(.primary):hover{background:#1D1D1D;color:#fff}
.cp-aside-note{background:#EBE8E0;border-radius:14px;padding:16px 18px;font:400 13px/1.5 Geist,sans-serif;color:#555;text-wrap:pretty}
.cp-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) 620px;gap:40px;align-items:start}
.cp-contact-lead{font:400 16px/1.55 Geist,sans-serif;color:#555;margin-top:14px;max-width:520px;text-wrap:pretty}
.cp-contact-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.cp-contact-tile{background:#fff;border:1px solid #DDDDDD;border-radius:14px;padding:16px;min-width:0}
.cp-tile-label{font:600 11px/1 Geist,sans-serif;letter-spacing:.08em;color:#555}
.cp-tile-value{font:700 18px/1.2 Geist,sans-serif;margin-top:8px;overflow-wrap:anywhere}
.cp-tile-value a{color:#1D1D1D;text-decoration:none}
.cp-contact-keybox{margin-top:12px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:center;background:#fff;border:1px solid #DDDDDD;border-radius:14px;padding:12px}
.cp-keybox-art{width:220px;height:150px;border-radius:12px;background:#EBE8E0;display:flex;align-items:center;justify-content:center;padding:12px}
.cp-contact-form{background:#fff;border:1px solid #DDDDDD;border-radius:14px;padding:22px 24px;min-width:0}
.cp-form-heading{font:700 20px/1.15 Geist,sans-serif;letter-spacing:-.02em}
.cp-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.cp-field{display:flex;flex-direction:column;gap:6px;font:600 11px/1.3 Geist,sans-serif;letter-spacing:.08em;color:#555;min-width:0}
.cp-field input,.cp-field textarea{font:400 15px/1.5 Geist,sans-serif;color:#1D1D1D;background:#fff;border:1px solid #DDDDDD;border-radius:10px;padding:11px 14px;letter-spacing:0;min-width:0;width:100%}
.cp-field textarea{resize:vertical}
.cp-form-actions{display:flex;align-items:center;gap:14px;margin-top:14px}
.cp-form-status{font:400 12px/1.5 Geist,sans-serif;color:#555;margin:0}
@media(max-width:1279px){
 .cp-main{padding:30px 24px 40px!important}
 .cp-footer{padding:14px 24px!important}
 .cp-how-it-works .cp-main>div:first-child{grid-template-columns:minmax(0,1fr) 42%!important;gap:24px!important}
 .cp-how-it-works section[aria-label="Pickup places"]>div{grid-template-columns:1fr!important}
 .cp-how-it-works ol{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .cp-airport-pickup #pickup-map>div:nth-child(2){grid-template-columns:calc(50% - 28px) minmax(0,1fr)!important}
 .cp-airport-pickup #pickup-map>div:nth-child(2)>div:last-child{grid-column:1 / -1;max-width:520px;width:100%;margin:auto}
 .cp-airport-pickup .cp-main>div[style*="grid-template-columns:1fr 1fr"]>section>div:first-child{flex-wrap:wrap}
 .cp-airport-pickup section[aria-label="Terminals 1 to 3 photo"]>div[style*="font:400"],.cp-airport-pickup section[aria-label="Terminal 4"]>div[style*="font:400"]{flex:0!important}
 .cp-faq-grid{grid-template-columns:minmax(0,1fr) 300px;gap:22px}
 .cp-contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
 .cp-contact-keybox{grid-template-columns:160px minmax(0,1fr)}
 .cp-keybox-art{width:160px}
}
@media(max-width:899px){
 .cp-main{padding:28px 20px 36px!important}
 .cp-footer{padding:14px 20px!important;font-size:11px!important;gap:10px!important}
 .cp-main h1,.cp-title{font-size:32px!important;line-height:1.12!important}
 .cp-how-it-works .cp-main>div:first-child{grid-template-columns:1fr!important}
 .cp-how-it-works .cp-main>div:first-child>div:last-child{height:280px!important;max-width:560px;width:100%;margin:auto}
 .cp-how-it-works ol{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .cp-how-it-works section[aria-label="Pickup places"]{grid-template-columns:1fr!important;gap:12px!important}
 .cp-how-it-works section[aria-label="Pickup places"]>div{border:1px solid #DDDDDD!important;border-radius:14px!important;grid-template-columns:minmax(0,1fr) 180px!important}
 .cp-how-it-works section[aria-label="Pickup places"] [role=img],.cp-how-it-works .cp-how-pickup-photo{width:180px!important}
 .cp-main div[style*="grid-template-columns:repeat(4,minmax(0,1fr))"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .cp-airport-pickup #pickup-map>div:nth-child(2){grid-template-columns:1fr!important;gap:18px!important}
 .cp-airport-pickup #pickup-map>div:nth-child(2)>div:first-child>div:first-child{flex:none!important}
 .cp-airport-pickup #pickup-map>div:nth-child(2)>div:nth-child(2){flex-direction:row!important;padding-top:0!important;gap:18px!important}
 .cp-airport-pickup #pickup-map>div:nth-child(2)>div:nth-child(2)>div[style*="height:1px"]{width:1px;height:auto!important;flex:none}
 .cp-airport-pickup #pickup-map>div:nth-child(2)>div:nth-child(2)>div:not([style*="height:1px"]){flex:1;min-width:0}
 .cp-airport-pickup .cp-main>div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important;gap:12px!important}
 .cp-airport-pickup .cp-main>div[style*="grid-template-columns:1fr 1fr"]>section{border:1px solid #DDDDDD!important;border-radius:14px!important;padding:20px!important}
 .cp-airport-pickup section [style*="flex:1;aspect-ratio:960/420"]{flex:none!important}
 .cp-airport-pickup section [style*="position:absolute"]>span:first-child{font-size:10px!important;white-space:normal!important;max-width:210px;padding:7px 8px!important}
 .cp-faq-grid{grid-template-columns:1fr;gap:20px}
 .cp-faq-heading>div:first-child{max-width:100%!important}
 .cp-search{width:100%}
 .cp-contact-grid{grid-template-columns:1fr;gap:24px}
 .cp-contact-keybox{grid-template-columns:180px minmax(0,1fr)}
 .cp-keybox-art{width:180px}
}
@media(max-width:520px){
 .cp-airport-pickup .cp-main>div:last-child{flex-direction:column;align-items:flex-start!important;padding:20px!important}
 .cp-airport-pickup .cp-main>div:last-child>a{white-space:normal!important;line-height:1.4!important;max-width:100%}
 .cp-main{padding:26px 16px 32px!important}
 .cp-footer{padding:14px 16px!important}
 .cp-main h1,.cp-title{font-size:28px!important}
 .cp-how-it-works ol{grid-template-columns:1fr!important;margin-top:24px!important}
 .cp-how-it-works .cp-main>div:first-child>div:last-child{height:220px!important}
 .cp-how-it-works section[aria-label="Pickup places"]>div{grid-template-columns:1fr!important;padding:20px!important}
 .cp-how-it-works section[aria-label="Pickup places"] [role=img]{width:100%!important;height:140px!important}
 .cp-how-it-works .cp-how-pickup-photo{width:100%!important;height:auto!important;aspect-ratio:220/150}
 .cp-how-it-works section[aria-label="What's included"]>div:first-child{align-items:flex-start!important;flex-direction:column}
 .cp-how-it-works section[aria-label="What's included"]>div:first-child>span{font-size:8px!important;white-space:normal;line-height:1.5!important}
 .cp-airport-pickup #pickup-map{padding:20px!important}
 .cp-airport-pickup #pickup-map>div:nth-child(2)>div:nth-child(2){flex-direction:column!important;gap:14px!important}
 .cp-airport-pickup #pickup-map>div:nth-child(2)>div:nth-child(2)>div[style*="height:1px"]{width:100%;height:1px!important}
 .cp-airport-pickup section>div:first-child>span{white-space:normal!important;line-height:1.4!important}
 .cp-main div[style*="grid-template-columns:repeat(4,minmax(0,1fr))"]{grid-template-columns:1fr!important}
 .cp-faq-question{padding:14px;gap:8px;flex-wrap:wrap}
 .cp-faq-group{width:100%;font-size:10px}
 .cp-faq-label{font-size:14px}
 .cp-faq-answer{padding:0 14px 16px;font-size:13px}
 .cp-contact-tiles{grid-template-columns:1fr}
 .cp-contact-keybox{grid-template-columns:1fr}
 .cp-keybox-art{width:100%}
 .cp-contact-form{padding:20px}
 .cp-fields{grid-template-columns:1fr}
 .cp-form-actions{align-items:flex-start;flex-direction:column;gap:10px}
}
@media(prefers-reduced-motion:reduce){.cp-chevron{transition:none}}
