:root{--bg:#f4f1ea;--card:#fff;--ink:#1c2330;--ink-soft:#5a6478;--muted:#8b94a6;--line:#e2dfd6;--line-soft:#ececec;--accent:#1e4a7a;--accent-soft:#e6edf5;--accent-ink:#143356;--warm:#b07d3b;--warm-soft:#f7efe1;--ok:#3f7a3a;--ok-soft:#e8f1e6;--danger:#b03434;--content-max:1040px;--radius:12px}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:"Source Sans 3",system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.55}h1,h2,h3{color:var(--accent-ink);letter-spacing:-.01em;font-family:Lora,Georgia,serif;font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar{border-bottom:1px solid var(--line);z-index:30;background:#fff;justify-content:space-between;align-items:center;padding:12px 28px;display:flex;position:sticky;top:0;box-shadow:0 1px #141e3205}.brand{align-items:center;gap:12px;font-size:18px;font-weight:700;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;font-size:22px;display:inline-flex;box-shadow:0 2px 8px #1e4a7a2e}.brand-name{color:var(--accent-ink);font-family:Lora,Georgia,serif;font-size:20px;font-weight:700}.topnav{gap:2px;display:flex}.topnav a{color:var(--ink-soft);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.topnav a:hover{background:var(--accent-soft);color:var(--accent-ink)}.stage{max-width:var(--content-max);margin:0 auto;padding:28px 28px 56px}.screen{display:none}.screen.active{animation:.25s fade;display:block}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.hero{text-align:center;border-radius:var(--radius);background:var(--accent);color:#fff;margin:6px 0 24px;padding:40px 24px;box-shadow:0 8px 24px #141e3214}.hero h1{color:#fff;margin:0 0 8px;font-size:34px}.hero-sub{color:#ffffffd9;margin:0;font-size:16px}.search-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px 30px;box-shadow:0 1px #00000005,0 8px 24px #141e320a}.search-grid{grid-template-columns:1fr 1fr 1fr 1fr;align-items:end;gap:14px;display:grid}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--ink);letter-spacing:.01em;font-size:12.5px;font-weight:600}.field input,.field select{height:40px;color:var(--ink);appearance:none;background:#fff;border:1px solid #d6d2c5;border-radius:6px;padding:0 11px;font-family:inherit;font-size:14.5px;transition:border-color .15s,box-shadow .15s}.field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%235a6478' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right 11px center;background-repeat:no-repeat;padding-right:28px}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.triptype{gap:10px;margin-bottom:18px;display:flex}.chip{position:relative}.chip input{opacity:0;cursor:pointer;position:absolute;inset:0}.chip span{color:var(--ink-soft);cursor:pointer;border:1px solid #d6d2c5;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-block}.chip input:checked+span{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.check-inline{color:var(--ink-soft);cursor:pointer;align-items:center;gap:9px;margin:18px 0 0;font-size:14px;font-weight:500;display:flex}.check-inline input{width:17px;height:17px;accent-color:var(--accent)}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:11px 20px;font-family:inherit;font-size:14.5px;font-weight:600;transition:background .15s,border-color .15s,transform 50ms}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.btn-search{width:100%;height:46px;margin-top:20px;font-size:15.5px}.link-back{color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-bottom:14px;padding:0;font-size:14px;font-weight:600;text-decoration:underline}.link-back:hover{color:var(--accent-ink)}.results-head{margin-bottom:18px}.results-head h2{margin:0 0 4px;font-size:26px}.results-meta{color:var(--ink-soft);margin:0;font-size:14.5px}.results-list{flex-direction:column;gap:14px;display:flex}.flight-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;grid-template-columns:auto 1fr auto auto;align-items:center;gap:22px;padding:20px 24px;transition:border-color .15s,box-shadow .15s,transform .12s;display:grid;box-shadow:0 1px #00000005,0 6px 18px #141e320a}.flight-card:hover{border-color:#cfc9ba;transform:translateY(-1px);box-shadow:0 10px 26px #141e3214}.flight-card[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft), 0 6px 18px #141e320f}.flight-logo{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-ink);border-radius:10px;flex:none;justify-content:center;align-items:center;font-family:Lora,Georgia,serif;font-size:20px;font-weight:700;display:flex}.flight-airline{color:var(--accent-ink);margin-bottom:5px;font-weight:600}.flight-time{font-size:18px;font-weight:700}.flight-route{color:var(--ink-soft);font-size:13.5px}.flight-dur{color:var(--muted);margin-top:3px;font-size:12.5px}.tag-direct{color:var(--ok);background:var(--ok-soft);vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.flight-price{text-align:right}.flight-price .amount{color:var(--accent-ink);font-size:24px;font-weight:700}.flight-price .per{color:var(--muted);font-size:12px;display:block}.results-actions{justify-content:flex-end;margin-top:20px;display:flex}.btn-continue{min-width:140px;height:46px;font-size:15.5px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{background:var(--accent);border-color:var(--accent)}.checkout-grid{grid-template-columns:1fr 320px;gap:30px;display:grid}.checkout-main h2{margin:0 0 18px;font-size:26px}.ck-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:0 0 18px;padding:22px;box-shadow:0 1px #00000005}.ck-section legend{color:var(--accent-ink);padding:0 8px;font-family:Lora,Georgia,serif;font-size:15px;font-weight:600}.row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.ck-section .field{margin-bottom:14px}.ck-section .field:last-child{margin-bottom:0}.btn-pay{width:100%;height:46px;margin-top:4px;font-size:15.5px}.addon{border-bottom:1px solid var(--line-soft);cursor:pointer;align-items:center;gap:12px;padding:13px 0;display:flex}.addon:last-child{border-bottom:none}.addon input{width:18px;height:18px;accent-color:var(--accent)}.addon-text{flex-direction:column;flex:1;display:flex}.addon-text strong{font-size:14.5px}.addon-text span{color:var(--ink-soft);font-size:13px}.addon-price{color:var(--warm);font-weight:700}.checkout-summary h3{margin:0 0 12px;font-size:16px}.summary-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;position:sticky;top:84px;overflow:hidden;box-shadow:0 1px #00000005,0 6px 18px #141e320a}.summary-card:before{content:"";background:var(--accent);height:4px;margin:-22px -22px 18px;display:block}.summary-card .s-airline{color:var(--accent-ink);margin-bottom:10px;font-size:15.5px;font-weight:600}.summary-card .s-row{color:var(--ink-soft);justify-content:space-between;margin-bottom:7px;font-size:14px;display:flex}.summary-card .s-total{color:var(--ink);border-top:1px dashed var(--line);justify-content:space-between;margin-top:12px;padding-top:12px;font-size:18px;font-weight:700;display:flex}.done-card{text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);max-width:460px;margin:36px auto;padding:44px;box-shadow:0 1px #00000005,0 8px 24px #141e320d}.done-check{background:var(--ok-soft);width:64px;height:64px;color:var(--ok);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 18px;font-size:34px;display:flex}.done-card h2{margin:0 0 10px;font-size:22px}.done-card p{color:var(--ink-soft);margin:0 0 22px;font-size:14px}@media (width<=720px){.stage{padding:22px 18px 40px}.search-grid{grid-template-columns:1fr 1fr}.checkout-grid{grid-template-columns:1fr}.flight-card{grid-template-columns:auto 1fr auto}.flight-card .flight-price{text-align:left;grid-column:2/-1}.topnav{display:none}.hero h1{font-size:28px}}
