:root{--bg:#f4f6fb;--card:#ffffff;--text:#14213d;--muted:#64708a;--line:#e2e6ef;--brand:#0b6bcb;--brand-dark:#0a4f96;--accent:#ff7a00;--green:#12805c;--green-bg:#e3f6ee;--radius:14px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}button,input,select{font:inherit}.hero{background:linear-gradient(135deg,#0b6bcb,#073b78);color:white;padding:28px 16px 40px}.hero>*{max-width:1080px;margin-left:auto;margin-right:auto}.brand img{display:block;height:100px;width:auto}.hero h1{font-size:clamp(28px,5vw,44px);margin:28px auto 6px}.hero p{margin-top:0;opacity:.85}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px;margin-bottom:14px}.icon{flex:none;vertical-align:-3px}.tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-size:14px;background:rgba(255,255,255,.12);color:white;border:0}button.tab{cursor:pointer}button.tab:hover:not(.on){background:rgba(255,255,255,.22)}.tab.on{background:white;color:var(--brand-dark);font-weight:600}.tab.soon{opacity:.75}.tab em{font-style:normal;font-size:11px;margin-left:6px;background:var(--accent);padding:1px 6px;border-radius:6px}.search{background:var(--card);color:var(--text);border-radius:var(--radius);padding:14px;display:grid;grid-template-columns:1.3fr auto 1.3fr 1fr 1fr 1.3fr 1.1fr;grid-gap:10px;gap:10px;align-items:end;box-shadow:0 10px 30px rgba(0,0,0,.18)}.search.stay{grid-template-columns:2fr 1fr 1fr .6fr .6fr 1.2fr}.search.extra{grid-template-columns:2fr 1fr 1fr 1.2fr}.field{display:flex;flex-direction:column;gap:4px;position:relative;min-width:0}.field span{font-size:12px;color:var(--muted);font-weight:600}.field input,.field select{border:1px solid var(--line);border-radius:10px;padding:11px 12px;width:100%;background:white;color:var(--text)}.field input:focus,.field select:focus{outline:2px solid var(--brand);border-color:transparent}.field input:disabled{background:#f1f3f7}.swap{border:1px solid var(--line);background:white;border-radius:50%;width:38px;height:38px;margin-bottom:3px;color:var(--brand)}.go,.swap{cursor:pointer}.go{background:var(--accent);color:white;border:0;border-radius:10px;padding:12px 16px;font-weight:700}.go:disabled{opacity:.7;cursor:wait}.check{font-size:14px;display:flex;align-items:center;gap:6px;cursor:pointer}.search .check{grid-column:1/-1}.travelers{position:relative}.travelers .pick{border:1px solid var(--line);border-radius:10px;padding:11px 12px;width:100%;background:white;color:var(--text);text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.travelers .pick:focus{outline:2px solid var(--brand);border-color:transparent}.pax-panel{position:absolute;top:100%;right:0;z-index:20;margin-top:6px;width:min(320px,90vw);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px rgba(0,0,0,.18);padding:14px;display:grid;grid-gap:12px;gap:12px}.pax-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.pax-row b{display:block;font-size:15px}.pax-row small{color:var(--muted);font-size:12px}.stepper{display:flex;align-items:center;gap:10px}.stepper button{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:white;color:var(--brand);font-size:18px;cursor:pointer}.stepper button:disabled{color:var(--line);cursor:default}.stepper output{min-width:16px;text-align:center;font-weight:600}.cabins{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.cabins button{border:1px solid var(--line);background:white;color:var(--text);border-radius:10px;padding:8px;font-size:13px;cursor:pointer}.cabins button.on{border-color:var(--brand)}.cabins button.on,.pax-panel .done{background:var(--brand);color:white}.pax-panel .done{border:0;border-radius:10px;padding:9px;font-weight:600;cursor:pointer}.suggest{position:absolute;top:100%;left:0;min-width:min(340px,90vw);z-index:10;list-style:none;margin:4px 0 0;padding:4px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12)}.suggest li{padding:8px 10px;border-radius:8px;cursor:pointer;display:flex;gap:8px;align-items:center}.suggest li.active,.suggest li:hover{background:#eef4fc}.suggest .place{flex:1 1;min-width:0;display:flex;flex-direction:column}.suggest small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggest code{color:var(--muted);font-size:12px}.results{max-width:1080px;margin:0 auto;padding:24px 16px 60px}.error{background:#fdecec;color:#a32020;padding:12px 14px}.demo,.error{border-radius:10px;margin-bottom:16px}.demo{background:#fff6e5;color:#7a4b00;padding:10px 14px;font-size:14px}.empty{padding:30px;text-align:center;color:var(--muted)}.toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:14px}.toolbar h2{margin:0;font-size:22px}.toolbar h2 small{font-size:14px;color:var(--muted);font-weight:400;margin-left:10px}.sorts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.sorts button{border:1px solid var(--line);background:white;border-radius:999px;padding:7px 14px;cursor:pointer;font-size:14px}.sorts button.on{background:var(--brand);border-color:var(--brand);color:white}.flights{list-style:none;padding:0;margin:0;display:grid;grid-gap:12px;gap:12px}.flight{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:grid;grid-template-columns:180px 1fr 170px;grid-gap:16px;gap:16px;align-items:center;position:relative}.flight.best{border:2px solid var(--green)}.badges{position:absolute;top:-10px;left:14px;display:flex;gap:6px}.badge{font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px}.badge.cheap{background:var(--green);color:white}.badge.fast{background:var(--brand);color:white}.airline{display:flex;gap:10px;align-items:center}.airline img{border-radius:8px;background:#f1f3f7}.airline div{display:flex;flex-direction:column}.airline small{color:var(--muted)}.legs{display:grid;grid-gap:10px;gap:10px}.leg{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.leg small{color:var(--muted);width:58px}.leg .time{font-size:20px;font-weight:700}.leg .route{font-weight:600}.leg .meta{color:var(--muted);font-size:14px}.price{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.price strong{font-size:24px}.price small{color:var(--muted)}.price a{margin-top:4px;background:var(--brand);color:white;text-decoration:none;padding:9px 18px;border-radius:10px;font-weight:600;white-space:nowrap}.price a:hover{background:var(--brand-dark)}.price .sellers{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 10px;font-size:13px;max-width:320px}.price .sellers a{margin:0;padding:0;background:none;color:var(--brand);font-weight:500;text-decoration:underline}.price .sellers a:hover{background:none;color:var(--brand-dark)}.next{color:var(--muted);margin-top:28px;font-size:15px;display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}.next button{border:1px solid var(--brand);background:white;color:var(--brand);border-radius:999px;padding:7px 14px;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:6px}.next button:hover{background:var(--brand);color:white}.hint{color:var(--muted);margin:0 0 14px;font-size:14px}.stay-map{display:block;width:100%;height:620px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-bottom:18px}.dc-widget{margin-top:20px}.essentials{margin-top:32px}.essentials h3{font-size:16px;margin:20px 0 10px}.stays{list-style:none;padding:0;margin:0;display:grid;grid-gap:12px;gap:12px}.stay-offer{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px}.stay-offer div{display:flex;flex-direction:column;gap:2px}.stay-offer b{font-size:18px}.stay-offer small{color:var(--muted)}.stay-offer a{background:var(--brand);color:white;text-decoration:none;padding:10px 18px;border-radius:10px;font-weight:600;white-space:nowrap}.stay-offer a:hover{background:var(--brand-dark)}.intro{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-top:10px}.intro div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.intro b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--green-bg);color:var(--green);margin-right:8px}.hero.landing{padding-bottom:32px}.hero.landing .brand img{height:64px}.crumbs{font-size:13px;opacity:.85;margin-top:18px}.crumbs a{color:white}.hero.landing h1{margin-top:10px}.cta{display:block;width:-moz-fit-content;width:fit-content;background:var(--accent);color:white;text-decoration:none;padding:12px 22px;border-radius:10px;font-weight:700}.cta:hover{filter:brightness(.95)}.landing-body h2{font-size:22px;margin:32px 0 12px}.landing-body h2:first-child{margin-top:0}.deals{list-style:none;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px}.deal{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px}.deal.best{border:2px solid var(--green)}.deal div:first-child{display:flex;flex-direction:column;gap:2px}.deal small{color:var(--muted)}.deal-price{display:flex;align-items:center;gap:14px}.deal-price strong{font-size:22px}.deal-price a{background:var(--brand);color:white;text-decoration:none;padding:9px 16px;border-radius:10px;font-weight:600;white-space:nowrap}.deal-price a:hover{background:var(--brand-dark)}.facts{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:10px;gap:10px}.facts li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;display:flex;flex-direction:column;gap:2px}.facts small{color:var(--muted)}.guide-links{display:flex;flex-wrap:wrap;gap:10px}.guide-links a{border:1px solid var(--brand);background:white;color:var(--brand);border-radius:999px;padding:8px 16px;font-weight:600;text-decoration:none}.guide-links a:hover{background:var(--brand);color:white}.faq{margin:0;display:grid;grid-gap:10px;gap:10px}.faq div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px}.faq dt{font-weight:700;margin-bottom:6px}.faq dd{margin:0;color:#3a4660;line-height:1.5}.link-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:8px 16px;gap:8px 16px}.link-grid a,.site-footer a{color:var(--brand);text-decoration:none}.link-grid a:hover,.site-footer a:hover{text-decoration:underline}.dest-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px}.dest-grid li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:flex;flex-wrap:wrap;gap:4px 12px}.dest-grid b,.dest-grid small{flex-basis:100%}.dest-grid small{color:var(--muted);margin-bottom:6px}.dest-grid a{color:var(--brand);font-size:14px}.site-footer{border-top:1px solid var(--line);background:var(--card);padding:32px 16px;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;font-size:14px}.site-footer>div{min-width:0}.site-footer h3{font-size:15px;margin:0 0 10px}.site-footer ul{list-style:none;padding:0;margin:0 0 10px;display:grid;grid-gap:6px;gap:6px}.site-footer p{color:var(--muted);margin:0 0 10px;line-height:1.5}@media (min-width:1112px){.site-footer{padding-left:calc((100% - 1080px) / 2);padding-right:calc((100% - 1080px) / 2)}}.ai{display:flex;gap:8px;margin-top:18px;background:rgba(255,255,255,.12);border-radius:var(--radius);padding:8px}.ai input{flex:1 1;min-width:0;border:0;border-radius:10px;padding:12px 14px;background:white;color:var(--text)}.ai input:focus{outline:2px solid var(--accent)}.ai button{background:white;color:var(--brand-dark);border:0;border-radius:10px;padding:0 16px;font-weight:700;cursor:pointer;white-space:nowrap}.ai button:disabled{opacity:.7;cursor:wait}.ai-hint{font-size:13px;opacity:.8;margin:6px auto 0}.trip{background:var(--card);border:2px solid var(--brand);border-radius:var(--radius);padding:16px 18px;margin-bottom:18px}.trip h3{margin:0 0 10px;font-size:18px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.trip h3 small{color:var(--muted);font-weight:400;font-size:14px}.trip ul{list-style:none;padding:0;margin:0}.trip li{display:grid;grid-template-columns:170px 1fr auto;grid-gap:4px 12px;gap:4px 12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.trip li small{color:var(--muted);font-size:13px}.trip li b{font-size:17px;text-align:right}.trip li.off b{color:var(--muted);font-weight:500;font-size:14px}.trip li.sum{border-bottom:0}.trip li.sum b{font-size:24px;color:var(--green)}.trip li.sum.over b{color:#a32020}.trip li button{border:0;background:none;color:var(--brand);padding:0;cursor:pointer;text-decoration:underline;font-size:13px}.trip li small a{color:var(--brand);font-weight:600}.trip em{font-style:normal;font-size:11px;font-weight:700;padding:1px 7px;border-radius:6px;margin-left:4px}.trip em.live{background:var(--green-bg);color:var(--green)}.trip em.est{background:#fff1e0;color:#8a4b00}.trip .budget{margin:8px 0 0;padding:10px 12px;border-radius:10px;font-size:14px}.trip .budget.ok{background:var(--green-bg);color:var(--green)}.trip .budget.over{background:#fdecec;color:#a32020}.trip .note{margin:10px 0 0;color:var(--muted);font-size:12px}.page-text{max-width:760px;margin:0 auto;padding:32px 16px 60px;line-height:1.6}.page-text a{color:var(--brand)}.post-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:14px;gap:14px}.post-grid a{display:flex;flex-direction:column;gap:8px;height:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;color:var(--text);text-decoration:none}.post-grid a:hover{border-color:var(--brand)}.post-grid b{font-size:18px;line-height:1.3}.post-grid span{color:#3a4660;font-size:15px;line-height:1.5}.post-grid small{color:var(--muted);font-size:13px}.post-grid small:first-child{color:var(--brand);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.post{max-width:760px;margin:0 auto;padding:28px 16px 60px;font-size:17px;line-height:1.7}.post h2{font-size:26px;line-height:1.3;margin:40px 0 12px;scroll-margin-top:16px}.post h3{font-size:20px;margin:28px 0 8px}.post a:not(.cta){color:var(--brand)}.post li{margin-bottom:6px}.post .cta{margin:8px 0}.post .post-grid{font-size:15px}.post .post-grid a{color:var(--text)}.disclosure{font-size:13px;color:var(--muted);margin-top:0}.toc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;margin:20px 0;font-size:15px}.toc ol{margin:8px 0 0;padding-left:20px}.toc li{margin-bottom:2px}.tip{background:#eaf3fd;border-left:4px solid var(--brand);border-radius:8px;padding:14px 18px;margin:20px 0}@media (max-width:900px){.search{grid-template-columns:1fr auto 1fr}.search .field:not(.city){grid-column:span 1}.go{grid-column:1/-1}.search.stay{grid-template-columns:1fr 1fr}.search.stay .city{grid-column:1/-1}.search.extra{grid-template-columns:1fr 1fr}.search.extra .city{grid-column:1/-1}}@media (max-width:640px){.search{grid-template-columns:1fr}.swap{justify-self:center;transform:rotate(90deg);margin:0}.flight{grid-template-columns:1fr}.price{align-items:stretch;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}.price .sellers{flex-basis:100%;max-width:none;justify-content:flex-start}.intro,.search.extra,.search.stay{grid-template-columns:1fr}.brand img{height:72px}.stay-offer{flex-direction:column;align-items:stretch}.stay-offer a{text-align:center}.stay-map{height:520px}.deal{flex-direction:column;align-items:stretch}.deal-price{justify-content:space-between}.site-footer{grid-template-columns:1fr}.trip li{grid-template-columns:1fr auto}.trip li small{grid-column:1/-1;grid-row:2}}.live-search{min-height:420px;margin-bottom:24px}.live-search #tpwl-tickets,.other-sellers{margin-top:16px}.other-sellers{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;border-radius:12px;background:#eef5fc;color:#0d1b2a;font-size:15px}.other-sellers a{font-weight:700;color:var(--brand-dark)}.showcase{max-width:1080px;margin:0 auto;padding:0 16px 60px}.showcase h2{font-size:24px;margin:0 0 8px}.brands-row ul{list-style:none;padding:0;margin:16px 0 40px;display:grid;grid-template-columns:repeat(5,1fr);grid-gap:12px;gap:12px}.brands-row li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 8px;text-align:center;font-weight:800;font-size:18px;letter-spacing:-.3px}.places>p{color:var(--muted);margin:0 0 16px}.city-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px;scrollbar-width:none}.city-tabs button{flex:none;border:1px solid var(--line);background:white;color:var(--text);border-radius:10px;padding:9px 18px;font-size:15px;cursor:pointer}.city-tabs button.on{background:var(--text);border-color:var(--text);color:white}.stay-cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.stay-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(20,33,61,.06)}.stay-card .photo{display:block;aspect-ratio:4/3;background:linear-gradient(135deg,var(--brand),var(--brand-dark))}.stay-card .photo img{width:100%;height:100%;object-fit:cover;display:block}.stay-card .body{padding:14px 16px 10px;flex:1 1}.stay-card h3{font-size:17px;margin:0 0 2px}.stay-card small{color:var(--muted);font-size:13px}.stay-card p{margin:8px 0;font-size:14px}.stay-card .credit{display:block;color:var(--muted);font-size:10px;line-height:1.3;text-decoration:none}.stay-card .foot{border-top:1px solid var(--line);padding:12px 16px;display:flex;flex-direction:column;gap:8px}.stay-card .go{background:var(--accent);color:white;text-align:center;border-radius:10px;padding:9px;font-weight:600;text-decoration:none}.stay-card .also{display:flex;gap:12px;font-size:13px}.places .more,.stay-card .also a{color:var(--brand-dark);font-weight:600}.places .more{display:inline-block;margin-top:16px}@media (max-width:900px){.stay-cards{grid-template-columns:repeat(2,1fr)}.brands-row ul{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.stay-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:0 16px 8px}.stay-card{flex:0 0 78%;scroll-snap-align:start}.brands-row ul{grid-template-columns:repeat(3,1fr);gap:8px}.brands-row li{font-size:13px;padding:12px 4px}.city-tabs{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}}