@font-face{font-family:Nunito;font-style:normal;font-weight:300 800;font-display:swap;src:url('./nunito-latin.woff2') format('woff2')}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--purple:#552e92;--purple-d:#3d2070;--purple-l:#f0edf8;--purple-m:#c9bfe8;--green:#38a169;--green-l:#f0fff4;--amber-l:#fffbeb;--amber-b:#fbd38d;--bg:#f5f5f7;--border:#e2e8f0;--text:#1a1a2e;--muted:#4a5568}html{font-size:18px;overflow-x:clip;background:#f0f0f0}body{font-family:Nunito,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:1rem;font-weight:300;overflow-x:clip;background:#f0f0f0;color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}.app{max-width:1024px;margin:0 auto;background:#fff;min-height:100vh}header{line-height:0;background:var(--purple);padding-top:env(safe-area-inset-top)}.logo-home{display:block;width:100%;border:0;padding:0;background:var(--purple);line-height:0;cursor:pointer;text-align:left}.logo-home:focus-visible{outline:3px solid #fff;outline-offset:-3px}.header-logo{display:block;width:100%;height:72px;object-fit:contain;object-position:left center;background:var(--purple)}.container{max-width:620px;width:100%;margin:0 auto}.campaign-banner{display:block;line-height:0;width:100%;background:var(--purple-l)}.campaign-banner img{display:block;width:100%;height:auto;max-height:292px;object-fit:cover}.step{display:none;padding:24px 20px 120px}.step.active{display:block;animation:fade-up .18s ease}.landing-step{padding:0 0 120px}.landing-content{padding:24px 20px}.landing-title{font-size:28px;font-weight:800;line-height:1.2;text-align:center;margin-bottom:6px}.landing-copy{text-align:center;color:var(--muted);font-size:.95rem;margin-bottom:30px}.step-title{font-size:26px;font-weight:700;color:var(--text);line-height:1.2;margin-bottom:20px}.landing-content .step-title{font-size:22px}.step-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:20px}.step-title-row .step-title{margin-bottom:0}.ctx-bar{font-size:.875rem;font-weight:400;color:var(--muted);margin-bottom:1rem;line-height:1.4}.ctx-bar strong{color:var(--text);font-weight:700}.back-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--purple);background:none;border:0;padding:0;cursor:pointer;font-family:inherit;margin-bottom:1.25rem}.back-link:hover{color:var(--purple-d)}.search-row{display:flex;gap:.5rem;align-items:stretch;margin-bottom:.875rem}.text-input{flex:1;min-width:0;border:1.5px solid var(--border);border-radius:10px;padding:.875rem 1rem;font-size:1rem;font-family:inherit;color:var(--text);background:#fff;outline:0;transition:border-color .15s}.text-input:focus{border-color:var(--purple)}.text-input::placeholder{color:#aaa}.btn-inline,.btn-primary{font-family:inherit;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.btn-inline{border:0;border-radius:10px;background:var(--purple);color:#fff;padding:0 1rem;font-size:.95rem;min-width:96px}.btn-inline:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--purple-d)}.btn-inline:disabled,.btn-primary:disabled{opacity:.65;cursor:not-allowed}.status{color:var(--muted);font-size:.875rem;line-height:1.45;padding:.75rem 0}.results-box{border:1.5px solid var(--border);border-radius:10px;overflow:hidden;display:none}.results-box.visible{display:block}.airport-row,.flight-row,.recent-item{cursor:pointer;border-bottom:1px solid var(--border);transition:background .1s}.airport-row:last-child,.flight-row:last-child{border-bottom:0}.airport-row:hover,.flight-row:hover,.recent-item:hover,.airport-row:focus-visible,.flight-row:focus-visible{background:var(--purple-l);outline:0}.airport-row{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem}.iata-pill{width:3rem;flex-shrink:0;color:var(--purple);font-size:.78rem;font-weight:800}.row-main{flex:1;min-width:0}.row-title{font-size:.95rem;font-weight:700;color:var(--text);line-height:1.25}.row-sub{font-size:.8rem;color:var(--muted);margin-top:.15rem;line-height:1.35}.popular-section{margin-top:1.25rem;display:none}.popular-section.visible{display:block}.popular-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:.5rem}.popular-list{display:flex;flex-direction:column;gap:.375rem}.recent-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:10px;background:#fff}.recent-item+.recent-item{border-top:1px solid var(--border)}.recent-body{flex:1}.recent-remove{border:0;background:none;color:var(--muted);padding:.35rem;cursor:pointer}.cal-month{margin-bottom:1.5rem}.cal-month-name{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.625rem}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-dow{text-align:center;font-size:.7rem;font-weight:700;color:var(--muted);padding:.25rem 0;text-transform:uppercase;letter-spacing:.05em}.cal-day{text-align:center;padding:.55rem .25rem;border-radius:8px;font-size:.9rem}.cal-day.avail{cursor:pointer;font-weight:600;transition:background .1s,color .1s}.cal-day.avail:hover,.cal-day.avail:focus-visible{background:var(--purple-l);color:var(--purple);outline:0}.cal-day.is-today{color:var(--purple);font-weight:800}.cal-day.is-selected{background:var(--purple);color:#fff;font-weight:700}.cal-day.is-confirming{background:var(--green);color:#fff}.flight-search-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.875rem}.flight-search-row span{font-size:.78rem;color:var(--muted);white-space:nowrap}.flight-list{border:1.5px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:.875rem}.flight-row{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;width:100%;border-left:0;border-right:0;border-top:0;background:#fff;text-align:left;font:inherit}.flight-row.selected{background:var(--purple-l)}.fr-time{font-size:1.05rem;font-weight:800;color:var(--text);min-width:3rem}.fr-copy{flex:1}.fr-title{font-size:.9rem;font-weight:700}.fr-sub{font-size:.78rem;color:var(--muted);margin-top:.1rem}.fr-tail{height:28px;width:45px;object-fit:contain}.loading,.flight-no-results{padding:1.5rem 1rem;text-align:center;color:var(--muted);font-size:.86rem}.text-link-action{display:inline-flex;margin:.25rem 0 1rem;padding:0;border:0;background:transparent;color:var(--purple);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.manual-panel{padding:1rem;border:1.5px solid var(--border);border-radius:10px;margin-bottom:1rem}.manual-panel label{display:block;font-size:.85rem;font-weight:700;margin-bottom:.875rem}.manual-panel label span{font-weight:400;color:var(--muted)}.manual-panel .text-input{width:100%;margin-top:.35rem}.btn-primary{width:100%;border:0;border-radius:10px;padding:1rem 1.25rem;font-size:1rem;color:#fff;background:var(--purple)}.age-card{border:1.5px solid var(--border);border-radius:10px;padding:1rem;margin-bottom:.75rem}.age-card label{display:block;font-size:.95rem;font-weight:700;margin-bottom:.5rem}.age-card .text-input{width:160px}.field-note,.summary-note{font-size:.82rem;color:var(--muted);line-height:1.45;margin-bottom:1.25rem}.error-message{min-height:1.2rem;color:#b42318;font-size:.82rem;font-weight:700;margin:.4rem 0}.summary-card{border:1.5px solid var(--border);border-radius:10px;padding:1rem 1.125rem;margin-bottom:.875rem;position:relative;cursor:pointer}.summary-card:hover{border-color:var(--purple-m)}.summary-card.arrival{background:var(--purple-l);border-color:var(--purple-m)}.summary-card.departure{background:var(--amber-l);border-color:var(--amber-b)}.sc-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:.3rem}.sc-main{font-size:1.08rem;font-weight:700;color:var(--text);margin-bottom:.2rem}.sc-sub{font-size:.85rem;color:var(--muted);line-height:1.4}.sc-edit{position:absolute;right:1rem;top:1rem;color:var(--purple);font-size:.78rem;font-weight:700}.noscript{padding:1rem;text-align:center;background:#fff3cd}@keyframes fade-up{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){html{background:var(--purple)}body{background:#fff}.app{max-width:100%}}@media(max-width:639px){.header-logo{height:auto;width:100%;object-fit:contain}.campaign-banner img{min-height:180px;object-fit:cover}.landing-title{text-align:left;font-size:26px}.landing-copy{text-align:left}.search-row{align-items:stretch}.btn-inline{min-width:84px}.step{padding:20px 18px 100px}.landing-step{padding:0 0 100px}.landing-content{padding:24px 18px}.cal-day{padding:.5rem .1rem;font-size:.86rem}}@media(prefers-reduced-motion:reduce){.step.active{animation:none}}
