*{box-sizing:border-box}body{color:#172033;background:#f4f7fb;min-width:320px;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.hero{color:#fff;clip-path:polygon(0 0,100% 0,100% 80%,85% 88%,65% 92%,40% 95%,20% 92%,0 85%);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;padding:48px 24px 140px;position:relative}.hero:after{content:"";background:linear-gradient(#0000,#02020207);width:100%;height:120px;position:absolute;bottom:-1px;left:0}.hero-overlay{z-index:0;background:linear-gradient(#040c1e09 0%,#040c1e10 60%,#040c1eb8 100%);position:absolute;inset:0}.hero-content{z-index:1;width:min(100%,900px);margin:0 auto;position:relative}.hero>.hero-content>p{color:#dceeff;margin:0;font-size:1rem}.search-card-wrap{z-index:2;width:min(100% - 28px,1180px);margin:-95px auto 48px;position:relative}.brand-logo{filter:drop-shadow(0 4px 12px #00000040);width:120px;height:auto;margin-bottom:36px;display:block}.hero h1{margin:0;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1}.hero p:last-child{color:#dceeff;margin:18px 0 0;font-size:1.1rem;line-height:1.7}.search-card{background:#fff;border-radius:14px;width:100%;padding:22px;box-shadow:0 20px 60px #0000004d}.search-form{flex-direction:column;gap:20px;display:flex}.trip-toggle{background:#eef4fb;border-radius:999px;width:fit-content;padding:4px;display:inline-flex}.trip-toggle button{color:#42526b;background:0 0;border:0;border-radius:999px;padding:10px 18px;font-weight:700}.trip-toggle button.active{color:#fff;background:#0d6efd;box-shadow:0 8px 20px #0d6efd40}.flight-search-row{background:#fff;border:1px solid #d8e0ea;border-radius:14px;align-items:stretch;gap:0;display:grid;box-shadow:0 12px 32px #0f172a14}.flight-search-row.one-way{grid-template-columns:minmax(0,1.05fr) 64px minmax(0,1.05fr) minmax(0,1.05fr) minmax(0,1.25fr) 118px}.flight-search-row.round-trip{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr) minmax(0,1.15fr) minmax(0,1.15fr) minmax(0,1.25fr) 128px}.flight-search-row>.form-field,.flight-search-row>.form-actions{border-right:1px solid #d8e0ea}.flight-search-row>.form-actions{border-right:0}.search-cell{min-width:0;padding:10px 14px}.search-cell.has-error{background:#fff}.search-cell.has-error label{color:#7a271a}.search-cell.has-error .autocomplete-wrap input,.search-cell.has-error .dp-trigger{border-color:#f97066;box-shadow:0 0 0 3px #f0443814}.route-swap-cell{z-index:3;justify-content:center;align-items:center;padding:0;display:flex;position:relative;border-right:0!important}.route-swap-cell:before{content:"";z-index:0;background:#d8e0ea;width:1px;position:absolute;top:16%;bottom:16%;left:50%;transform:translate(-50%)}.route-swap-button{z-index:1;color:#fff;background:#0d6efd;border:1px solid #bcd1f8;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;font-weight:800;line-height:1;transition:color .2s,transform .15s,background .2s;display:inline-flex;position:relative}.route-swap-button svg{width:16px;height:16px}.route-swap-button:hover{color:#0d6efd;background:#fff;border-color:#0d6efd;transform:translateY(-1px)rotate(-10deg)}.route-field.route-from{padding-right:16px;border-right:0!important}.route-field.route-to{padding-left:16px}.form-secondary-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-secondary-row .form-field input,.form-secondary-row .form-field select{border:1px solid #d8e0ea;border-radius:10px;padding:12px 14px}.form-secondary-row .form-field input:focus,.form-secondary-row .form-field select:focus{border-color:#0d6efd;box-shadow:0 0 0 3px #0d6efd1f}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{color:#42526b;font-size:.78rem;font-weight:700}.form-field input,.form-field select{color:#172033;background:#fff;border:0;border-radius:8px;outline:none;width:100%;min-width:0;padding:8px 0;transition:border-color .2s,box-shadow .2s}.form-field input:focus,.form-field select:focus{box-shadow:none}.form-field input.input-error,.autocomplete-wrap input.input-error{border-color:#f97066}.form-field input.input-error:focus,.autocomplete-wrap input.input-error:focus{border-color:#f97066;box-shadow:0 0 0 3px #f0443814}.field-error{color:#b54708;margin:2px 0 0;font-size:.76rem;font-weight:500;line-height:1.3}.autocomplete-wrap{position:relative}.autocomplete-wrap input{color:#172033;width:100%;font:inherit;background:#fff;border:1px solid #d8e0ea;border-radius:10px;outline:none;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.autocomplete-wrap input:focus{border-color:#0d6efd;box-shadow:0 0 0 3px #0d6efd1f}.autocomplete-dropdown{z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:max-content;min-width:320px;max-width:480px;max-height:260px;margin:0;padding:6px 0;list-style:none;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden auto;box-shadow:0 12px 32px #0f172a24}.autocomplete-item{cursor:pointer;flex-direction:column;gap:2px;padding:10px 14px;transition:background .15s;display:flex}.autocomplete-item:hover{background:#f0f6ff}.autocomplete-airport-name{color:#172033;white-space:nowrap;font-size:.9rem;font-weight:600}.autocomplete-airport-meta{color:#667085;font-size:.78rem}.preferred-airline-wrap{position:relative}.preferred-airline-wrap input{color:#172033;background:#fff;border:1px solid #d8e0ea;border-radius:10px;outline:none;width:100%;padding:12px 42px 12px 14px;transition:border-color .2s,box-shadow .2s}.preferred-airline-wrap input:focus{border-color:#0d6efd;box-shadow:0 0 0 3px #0d6efd1f}.preferred-airline-clear{color:#51627e;background:#eef4fb;border:0;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:1rem;line-height:1;display:inline-flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.preferred-airline-clear:hover{color:#0d6efd;background:#dce9ff}.preferred-airline-dropdown{z-index:125;background:#fff;border:1px solid #d8e0ea;border-radius:12px;max-height:250px;margin:0;padding:6px 0;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 30px #0f172a24}.preferred-airline-item{color:#172033;cursor:pointer;padding:10px 12px;font-size:.9rem;transition:background .15s,color .15s}.preferred-airline-item:hover,.preferred-airline-item--active{color:#0d6efd;background:#f0f6ff}.preferred-airline-item--empty{cursor:default;color:#667085}.form-error{color:#b42318;background:#b423180f;border:1px solid #b423182e;border-radius:10px;margin:0;padding:10px 12px;font-size:.9rem;font-weight:700}.form-actions{justify-content:flex-end;align-items:stretch;min-width:0;display:flex}.search-button{color:#fff;letter-spacing:.02em;white-space:nowrap;background:#0d6efd;border:0;border-radius:0 13px 13px 0;justify-content:center;align-items:center;gap:8px;width:100%;min-height:74px;padding:0 18px;font-size:1rem;font-weight:800;transition:background .2s,box-shadow .2s;display:inline-flex;box-shadow:0 8px 20px #0d6efd4d}.search-button svg{flex-shrink:0}.travelers-field{position:relative}.travelers-trigger{color:#172033;width:100%;min-width:0;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:8px 0;overflow:hidden}.travelers-popover{z-index:120;background:#fff;border:1px solid #e2e8f0;border-radius:14px;gap:18px;width:330px;padding:20px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 48px #0f172a2e}.travelers-popover h3{margin:0 0 10px;font-size:.95rem}.travelers-popover select{border:1px solid #d8e0ea;border-radius:10px;width:100%;padding:10px 12px}.traveler-counter{justify-content:space-between;align-items:center;gap:16px;display:flex}.traveler-counter div:first-child{gap:2px;display:grid}.traveler-counter strong{color:#172033}.traveler-counter span{color:#667085;font-size:.85rem}.counter-controls{align-items:center;gap:12px;display:inline-flex}.counter-controls button{color:#0d6efd;background:#eef4fb;border:0;border-radius:10px;width:32px;height:32px;font-size:1.1rem;font-weight:800}.counter-controls button:disabled{cursor:not-allowed;opacity:.45}.counter-controls span{color:#172033;text-align:center;min-width:16px;font-weight:800}.travelers-apply{color:#fff;background:#0d6efd;border:0;border-radius:10px;padding:12px;font-weight:800}.search-button:hover{background:#0b5ed7;box-shadow:0 10px 22px #0d6efd57}.search-button:active{background:#0a58ca;box-shadow:0 6px 16px #0d6efd47}.search-button:disabled{cursor:wait;opacity:.9}.search-button:disabled svg{display:none}.results-section{width:min(100% - 32px,1180px);margin:48px auto 64px}.results-section h2{margin:0;font-size:1.6rem}.results-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.results-heading p{color:#667085;margin:0;font-size:.95rem;font-weight:700}.results-summary{color:#667085;margin:-8px 0 18px;font-size:.92rem;font-weight:700}.empty-results{color:#667085;text-align:center;background:#fff;border:1px solid #e6edf5;border-radius:18px;justify-items:center;gap:8px;margin:0 auto;padding:44px 24px;display:grid;box-shadow:0 10px 28px #0f172a0f}.empty-results h2,.empty-results p{margin:0}.empty-results p{font-weight:600}.results-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.flight-card{background:#fff;border:1px solid #e6edf5;border-radius:20px;flex-direction:column;justify-content:space-between;gap:18px;min-height:100%;padding:20px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;box-shadow:0 14px 34px #0f172a12}.flight-card:hover{border-color:#0d6efd47;transform:translateY(-4px);box-shadow:0 22px 48px #0f172a1f}.flight-details{flex:1;gap:16px;min-width:0;display:grid}.flight-segment{gap:10px;display:grid}.flight-segment-divider{background:#e6edf5;width:100%;height:1px}.flight-segment-topline{justify-content:space-between;align-items:center;gap:10px;display:flex}.flight-label{color:#0d6efd;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.flight-airline{color:#42526b;letter-spacing:.01em;background:#f3f7fc;border-radius:999px;width:fit-content;margin:0;padding:5px 10px;font-size:.78rem;font-weight:800}.flight-route,.flight-times,.flight-duration,.flight-airline,.flight-price,.flight-total-duration{margin:0}.flight-route{color:#101828;letter-spacing:-.04em;font-size:clamp(1.45rem,3vw,1.85rem);font-weight:900}.flight-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.flight-times div{background:#f7faff;border-radius:12px;gap:3px;padding:10px 12px;display:grid}.flight-times span{color:#667085;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.flight-times strong{color:#172033;font-size:1.05rem}.flight-duration{color:#98a2b3;font-size:.85rem;font-weight:700}.flight-card-footer{border-top:1px solid #e6edf5;gap:12px;padding-top:18px;display:grid}.flight-total-duration{color:#667085;font-size:.86rem;font-weight:800}.flight-price{color:#0d6efd;white-space:nowrap;gap:4px;font-size:1.85rem;font-weight:900;display:grid}.flight-price span{color:#667085;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.flight-select-button{color:#fff;background:#0d6efd;border:0;border-radius:12px;width:100%;padding:12px 16px;font-weight:800;transition:background .18s,box-shadow .18s,transform .18s}.flight-select-button:hover{background:#0b5ed7;transform:translateY(-1px);box-shadow:0 12px 28px #0d6efd40}.pagination-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:28px;display:flex}.pagination-controls button{color:#172033;background:#fff;border:1px solid #d8e0ea;border-radius:999px;min-width:42px;padding:10px 18px;font-weight:800;transition:border-color .18s,background .18s,color .18s,box-shadow .18s}.pagination-controls button:not(:disabled):hover{color:#0d6efd;border-color:#0d6efd;box-shadow:0 8px 18px #0d6efd1f}.pagination-controls button.active{color:#fff;background:#0d6efd;border-color:#0d6efd;box-shadow:0 10px 22px #0d6efd38}.pagination-controls button:disabled{cursor:not-allowed;opacity:.55}.pagination-controls button.active:disabled{opacity:1}.pagination-ellipsis{color:#667085;text-align:center;min-width:28px;font-weight:800}@media (width<=1100px){.hero{padding-inline:20px}.search-card-wrap{width:min(100% - 28px,1040px)}.search-card{padding:20px}.flight-search-row.one-way,.flight-search-row.round-trip{box-shadow:none;border:0;border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.flight-search-row>.form-field,.flight-search-row>.form-actions{border-right:0}.search-cell{border:1px solid #d8e0ea;border-radius:12px;min-height:76px;padding:12px 14px}.route-swap-cell{display:none}.travelers-field,.flight-search-row>.form-actions{grid-column:span 2}.search-button{border-radius:12px;min-height:54px}.form-secondary-row,.results-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1280px){.search-card-wrap{width:min(100% - 24px,1120px)}.flight-search-row.one-way{grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr) 108px}.flight-search-row.round-trip{grid-template-columns:minmax(0,.95fr) 54px minmax(0,.95fr) minmax(0,1.05fr) minmax(0,1.05fr) minmax(0,1.15fr) 118px}}@media (width<=720px){.hero{padding:40px 16px 112px}.hero-content{width:100%}.brand-logo{width:96px;margin-bottom:24px}.hero h1{font-size:clamp(2rem,12vw,3.25rem)}.search-card-wrap{width:calc(100% - 24px);margin-top:-72px}.search-card{border-radius:16px;padding:16px}.trip-toggle,.trip-toggle button,.search-button{width:100%}.flight-search-row.one-way,.flight-search-row.round-trip,.form-secondary-row{grid-template-columns:1fr}.travelers-field,.flight-search-row>.form-actions{grid-column:auto}.route-swap-cell{display:none}.travelers-popover{width:100%;left:0;right:auto}.autocomplete-dropdown,.preferred-airline-dropdown{width:100%;min-width:0;max-width:100%;left:0;right:0}.form-actions{justify-content:stretch}.results-section{width:calc(100% - 24px)}.results-heading{flex-direction:column;align-items:flex-start}.results-list{grid-template-columns:1fr}}@media (width<=420px){.search-card-wrap,.results-section{width:calc(100% - 16px)}.search-card{padding:12px}.trip-toggle{width:100%}.trip-toggle button{flex:1}.flight-times{grid-template-columns:1fr}}.dp-wrap{width:100%;position:relative}.dp-trigger{color:#172033;text-align:left;white-space:nowrap;background:#fff;border:1.5px solid #c9d6ea;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:52px;padding:12px 16px;font-size:1rem;transition:border-color .15s,box-shadow .15s;display:flex}.dp-trigger svg{color:#0d6efd;opacity:.88}.dp-trigger:hover,.dp-trigger:focus{border-color:#0d6efd;outline:none;box-shadow:0 0 0 3px #0d6efd1a}.dp-trigger--empty span{color:#9aa3b2}.dp-popover{z-index:500;background:#fff;border-radius:18px;width:min(860px,100vw - 32px);max-height:calc(100vh - 32px);padding:22px 18px 20px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 4px 6px #0000000d,0 12px 40px #0d6efd1f,0 0 0 1px #0000000f}.dp-popover-inner{align-items:flex-start;gap:10px;display:flex}.dp-nav{color:#555;background:0 0;border:1.5px solid #d1d9e6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-top:30px;font-size:1.35rem;line-height:1;transition:border-color .15s,background .15s,color .15s;display:flex}.dp-nav:hover{color:#0d6efd;background:#f0f6ff;border-color:#0d6efd}.dp-months{flex:1;gap:30px;display:flex}.dp-month{flex:1;min-width:0}.dp-month-title{color:#172033;text-align:center;letter-spacing:.01em;margin:0 0 14px;font-size:1.03rem;font-weight:700}.dp-week-row{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.dp-week-row span{color:#9aa3b2;text-align:center;text-transform:uppercase;letter-spacing:.04em;padding:4px 0;font-size:.76rem;font-weight:600}.dp-day-grid{grid-template-columns:repeat(7,1fr);display:grid}.dp-day-cell{justify-content:center;align-items:center;display:flex}.dp-day-cell--in-range{background:#dbeafe}.dp-day-cell--range-start{background:linear-gradient(90deg,#0000 50%,#dbeafe 50%)}.dp-day-cell--range-end{background:linear-gradient(270deg,#0000 50%,#dbeafe 50%)}.dp-day{z-index:1;aspect-ratio:1;color:#172033;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:42px;padding:0;font-size:.95rem;transition:background .1s,color .1s;display:flex;position:relative}.dp-day:not(.dp-day--disabled):not(.dp-day--selected):hover{color:#1d4ed8;background:#bfdbfe}.dp-day--selected{color:#fff;background:#0d6efd;font-weight:700;box-shadow:0 2px 8px #0d6efd66}.dp-day--today:not(.dp-day--selected){color:#0d6efd;border:2px solid #0d6efd;font-weight:600}.dp-day--disabled{color:#d1d9e6;cursor:not-allowed}.dp-footer{border-top:1px solid #eef2f7;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:16px;display:flex}.dp-clear{color:#111827;background:#fff;border:1px solid #d1d9e6;border-radius:999px;padding:10px 18px;font-size:.92rem;font-weight:700;line-height:1;transition:border-color .15s,background .15s}.dp-clear:hover{background:#f8fafc;border-color:#111827}.dp-apply{color:#fff;background:#0d6efd;border:1px solid #0d6efd;border-radius:999px;padding:10px 20px;font-size:.92rem;font-weight:700;line-height:1;transition:background .15s,border-color .15s,box-shadow .15s}.dp-apply:hover{background:#0b5ed7;border-color:#0b5ed7;box-shadow:0 8px 20px #0d6efd47}@media (width<=700px){.dp-popover{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:18px 14px}.dp-months{flex-direction:column;gap:16px}.dp-day{width:34px}.dp-footer{background:#fff;position:sticky;bottom:0}}
