.airport-search-input{position:relative;z-index:2}.airport-search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #dee2e6;border-radius:.375rem;box-shadow:0 .5rem 1rem #00000026;margin-top:.25rem;max-height:300px;overflow-y:auto;z-index:1000}.airport-item{display:flex;align-items:center;padding:.75rem 1rem;cursor:pointer;transition:background-color .15s ease-in-out}.airport-item:hover{background-color:#f8f9fa}.airport-code{font-size:1.25rem;font-weight:600;color:#0d6efd;margin-right:1rem;min-width:60px}.airport-info{flex:1}.airport-name{font-weight:500;color:#212529;margin-bottom:.25rem}.airport-location{font-size:.875rem;color:#6c757d}.airport-loading{position:absolute;right:1rem;top:50%;transform:translateY(-50%);z-index:3}.airport-no-results,.airport-error{padding:1rem;text-align:center;color:#6c757d}.airport-error{color:#dc3545}.reveal{opacity:0;transform:translateY(12px)}.reveal.visible{opacity:1;transform:translateY(0);transition:opacity .48s cubic-bezier(.2,.9,.3,1),transform .48s cubic-bezier(.2,.9,.3,1)}.reveal.delay-1{transition-delay:80ms}.reveal.delay-2{transition-delay:.16s}.reveal.delay-3{transition-delay:.24s}.reveal.delay-4{transition-delay:.32s}.footer-link{text-decoration:none}.footer-link:hover{color:#fff!important;text-decoration:underline}footer .text-muted,footer small{color:#ffffff80}:root{--primary-600: #0b72d9;--primary-500: #1a8cff;--primary-400: #53b7ff;--muted: #6c757d;--surface: #ffffff;--glass: rgba(255,255,255,.6);--glass-strong: rgba(255,255,255,.55);--neumo-shadow: 0 10px 30px rgba(16,50,110,.06);--success-color: #34a853;--danger-color: #ea4335}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;color:#212529;background:linear-gradient(180deg,#f6f9ff,#fff)}.hero{min-height:72vh;position:relative;overflow:hidden;display:flex;align-items:center}.hero-image{z-index:0;filter:saturate(1.05) contrast(1.02)}.form-control:focus{border-color:var(--primary-600);box-shadow:0 6px 18px #0b72d91f}.btn-primary{background:linear-gradient(135deg,var(--primary-600),var(--primary-500));border:none;color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0b72d92e}.flight-card{transition:transform .28s cubic-bezier(.2,.9,.3,1),box-shadow .28s;border-radius:14px}.flight-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px #10326e14}.timeline-nodes{position:relative}.timeline-nodes:before{content:"";position:absolute;height:100%;width:2px;background:var(--primary-500);left:50%;transform:translate(-50%);z-index:-1}.timeline-icons{position:relative}.timeline-icons:before{content:"";width:50px;height:50px;background:#fff;border-radius:50%;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:2px solid var(--primary-500)}.card{border:none;transition:transform .28s,box-shadow .28s;border-radius:14px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 8px 20px #10326e0a}.card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #10326e0f!important}.glass-effect{background:linear-gradient(180deg,#fff9,#ffffff6b);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.45);box-shadow:var(--neumo-shadow)}.neumo-soft{border-radius:16px;background:#f7fbff;box-shadow:8px 8px 20px #0c28500f,-8px -8px 20px #fffc}.accent-ring{box-shadow:0 12px 30px #0b72d91f}.btn{border-radius:999px;padding:.65rem 1.15rem;font-weight:600;transition:transform .18s ease,box-shadow .18s ease}.flight-duration{position:relative;padding:0 18px}.flight-duration:before,.flight-duration:after{content:"";position:absolute;top:50%;width:8px;height:8px;background:var(--primary-500);border-radius:50%;margin-top:-4px}.flight-duration:before{left:0}.flight-duration:after{right:0}.sticky-top{top:20px}.muted-small{color:var(--muted);font-size:.9rem}@media (max-width: 768px){h1{font-size:1.8rem}.lead{font-size:.97rem}.hero{min-height:62vh}}.range-slider .form-range::-webkit-slider-thumb{background:var(--primary-500)}.range-slider .form-range::-moz-range-thumb{background:var(--primary-500)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .5s ease forwards}.text-primary{color:var(--primary-600)!important}
