/* One travel language: codes, fine route rules, spacious typography and restrained motion. */
[hidden]{display:none!important}
body{background:#fff}
.pill:hover{transform:none}.pill:hover>span:last-child{transform:translateX(7px)}
.header nav a[aria-current]:after{transform:scaleX(1)}
.search-shell:before{background:none}
.command-bar.search-form{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1.2fr) minmax(0,1fr) auto;gap:14px;background:transparent;border:0;border-top:1px solid #ffffff55;border-bottom:1px solid #ffffff55;border-radius:0;padding:20px 0;align-items:center}
.command-field{position:relative;display:flex;align-items:flex-start;flex-direction:column;gap:7px;min-width:0;padding:16px 26px 16px 12px;background:none;color:#fff;border:0;border-radius:0;text-align:left;transition:color .25s}
.command-field strong{display:block;font-weight:700;font-size:clamp(23px,2.1vw,30px);line-height:1.3;letter-spacing:-.6px;overflow-wrap:anywhere}
.command-label,.command-meta{color:#c0c5cd;font-size:18px;line-height:29px}
.command-label{margin-bottom:6px}.field-arrow{position:absolute;right:7px;top:17px;opacity:0;transform:translate(-4px,4px);transition:opacity .25s,transform .3s}
.command-field:hover .field-arrow,.command-field:focus-visible .field-arrow{opacity:1;transform:none}
.command-field:after{content:'';position:absolute;bottom:4px;left:12px;right:20px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.command-field:hover:after,.command-field:focus-visible:after{transform:scaleX(1)}
.command-field:focus-visible{outline:1px solid #fff;outline-offset:0;border-radius:4px}
.command-bar .swap{background:transparent;border-color:#ffffff40;align-self:center}.command-bar .swap:hover{transform:none;background:#ffffff0a}
.swap span{display:block}.swap .is-swapping{animation:swap-turn .55s cubic-bezier(.22,.7,.25,1) both}
@keyframes swap-turn{to{transform:rotate(180deg)}}
.value-changed strong{animation:code-in .28s ease-out}@keyframes code-in{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}
.command-bar .search-button{gap:18px;min-height:66px;padding:18px 25px}.command-bar .search-button-label{transform:none!important}
.search-shell .quick-routes button{background:transparent}.search-shell .form-note{max-width:850px}
.picker-dialog{width:min(620px,calc(100% - 32px));border:1px solid #bfc5cd;border-radius:0;padding:40px;font-family:'Fly Sans',Arial,sans-serif;animation:picker-in .24s ease-out}
.picker-dialog::backdrop,#offer-dialog::backdrop,.navigation-dialog::backdrop{backdrop-filter:none;background:#000d1099}
@keyframes picker-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.picker-close{float:right;background:transparent;color:var(--ink);width:48px;height:48px;border:1px solid #bfc5cd;border-radius:1000px;font-size:30px}
.picker-dialog h2{font-size:38px;line-height:1.15;font-weight:700;letter-spacing:-.8px;clear:both}
.picker-dialog input{width:100%;padding:16px 0;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:white;color:var(--ink);font-size:23px;line-height:29px;min-height:58px}
.location-search-label,.month-native-label{display:block;margin:24px 0 6px;color:var(--muted)}
.picker-current{color:var(--muted);margin:22px 0}.location-list{display:flex;flex-direction:column;gap:0;max-height:38svh;overflow-y:auto;padding:4px}
.location-option{display:grid;grid-template-columns:1fr 30px;gap:4px 18px;padding:18px 10px;border:0;border-bottom:1px solid #d5d3d4;background:white;color:var(--ink);text-align:left;border-radius:0;transition:background .25s}
.location-option strong{font-size:23px;line-height:1.3;letter-spacing:-.45px}.location-option>span:not(.option-arrow){color:var(--muted);font-size:18px;line-height:29px;grid-column:1}
.location-option .option-arrow{grid-column:2;grid-row:1/3;align-self:center;transition:transform .25s}.location-option:hover{background:#f6f7f8}.location-option:hover .option-arrow{transform:translateX(4px)}
#use-location{width:100%;text-align:left;border:1px solid var(--ink);border-radius:1000px;background:white;color:var(--ink);padding:14px 18px;margin-top:20px;overflow-wrap:anywhere}
#month-dialog .pill{width:100%;margin-top:12px}#month-error:empty{display:none}
.discovery{padding:92px 0 80px}.discovery .section-label{margin-bottom:40px;color:var(--muted)}
.discovery-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}
.discovery h2,.flight-route-section h2{font-size:clamp(60px,5.5vw,84px);font-weight:700;line-height:1.06;letter-spacing:-2.1px;margin:0}
.discovery-heading p{max-width:360px;color:var(--muted);margin:0;font-size:18px;line-height:29px}
.destination-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.destination-choice{border:0;border-radius:0;padding:0;background:none;color:var(--ink);text-align:left;min-width:0;display:block}
.destination-art{position:relative;display:block;height:280px;background:#e7e7e2;overflow:hidden}
.art-vienna{background:#efeeea}.art-paris{background:#d5d3d4}.art-barcelona{background:#e9e6df}
.destination-code{position:absolute;left:18px;top:16px;font-weight:700;font-size:60px;letter-spacing:-1.26px;line-height:1;opacity:.18;transition:opacity .4s,transform .6s}
.destination-art svg{position:absolute;left:0;bottom:20px;width:100%;height:auto;fill:none;stroke:#000d10;stroke-width:1.4;transition:transform .65s cubic-bezier(.2,.7,.2,1);transform-origin:center bottom}
.destination-airport{position:absolute;bottom:15px;left:18px;font-size:18px;line-height:29px;transform:translateY(40px);transition:transform .45s}
.destination-caption{display:grid;grid-template-columns:1fr 24px;gap:4px 10px;padding:22px 0 16px;border-bottom:1px solid #bfc5cd}
.destination-caption strong{font-weight:700;font-size:23px;line-height:1.3;letter-spacing:-.46px;transition:transform .4s}
.destination-price{font-size:18px;line-height:29px;grid-column:1;color:var(--muted);font-variant-numeric:tabular-nums;transition:transform .4s}
.destination-arrow{grid-column:2;grid-row:1/3;align-self:center;transition:transform .4s}
.destination-choice:is(:hover,:focus-visible) svg{transform:scale(1.035) translateY(-8px)}
.destination-choice:is(:hover,:focus-visible) .destination-code{opacity:.35;transform:translateX(4px)}
.destination-choice:is(:hover,:focus-visible) .destination-airport{transform:none}
.destination-choice:is(:hover,:focus-visible) .destination-caption strong{transform:translateX(4px)}
.destination-choice:is(:hover,:focus-visible) .destination-arrow{transform:translate(4px,-4px)}
.discovery-note{color:var(--muted);margin:24px 0 0;font-size:18px;line-height:29px}
.results{padding:50px 0 90px;border-top:1px solid #d5d3d4}.results-heading{margin-bottom:36px}.results h2{font-size:clamp(40px,4.3vw,60px);overflow-wrap:anywhere}
.price-calendar{border-top:1px solid #bfc5cd;border-bottom:1px solid #bfc5cd;margin:38px 0 46px;padding:32px 0}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.calendar-heading .eyebrow{color:var(--muted);margin:0 0 12px}
.calendar-heading h3{margin:0;font-size:30px;line-height:1.3;letter-spacing:-.6px;font-weight:700}.calendar-controls{display:flex;gap:12px}
.calendar-controls button{background:transparent;border:1px solid #bfc5cd;border-radius:1000px;width:48px;height:48px;color:var(--ink);transition:background .25s}
.calendar-controls button:hover{background:#f0f1f2}.calendar-controls button:disabled,#all-dates:disabled{opacity:.4;cursor:default}
#calendar-context{color:var(--muted);margin:18px 0 28px}.calendar-week,.price-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.calendar-week{color:var(--muted);padding:0 12px;margin-bottom:14px;text-align:center;font-size:18px}
.price-day{min-width:0;border:1px solid transparent;border-top-color:#d5d3d4;background:transparent;border-radius:0;color:var(--ink);padding:16px 8px 12px;display:flex;flex-direction:column;align-items:center;gap:5px;min-height:112px;transition:background .2s,border-color .2s}
.price-day .day-number{font-size:18px;line-height:29px;color:var(--muted)}.price-day strong{font-size:23px;line-height:1.25;font-weight:700;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.day-best{font-size:18px;line-height:29px;min-height:29px}
.price-day:hover{background:#f6f7f8;border-color:#bfc5cd}.price-day.best-date{background:#e9ecee;border-top:2px solid #000d10}.price-day[aria-pressed=true]{background:#000d10;border-color:#000d10;color:white}.price-day[aria-pressed=true] .day-number{color:white}.price-day:disabled{opacity:.35;cursor:default;background:transparent;border-color:#d5d3d4 transparent transparent}
.calendar-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.calendar-foot p{margin:0;color:var(--muted)}
#all-dates{border:1px solid #bfc5cd;border-radius:1000px;background:transparent;color:var(--ink);padding:10px 20px}
.offer.ticket{grid-template-columns:minmax(0,1fr) 210px;grid-template-areas:'top price' 'route price' 'footer footer';gap:28px 40px;border-radius:0;background:#f5f6f7;color:var(--ink);border:1px solid #d9dde0;padding:32px;transition:border-color .3s,background .3s;transform:none}
.offer.ticket:before{display:none}.offer.ticket:hover{transform:none;background:#eff1f3;border-color:#87919a}
.offer.ticket.featured{background:var(--clay);border-color:var(--clay);color:var(--ink);border-radius:0}.offer.ticket.featured:hover{background:var(--clay);border-color:var(--ink)}
.ticket .offer-top{font-size:18px;line-height:29px}.ticket .offer-badge{border-color:#000d1045}.ticket .offer-top>span:last-child{letter-spacing:0}
.ticket-route{grid-area:route;display:grid;grid-template-columns:105px minmax(110px,1fr) 105px;gap:30px;min-width:0;align-items:center}
.ticket-endpoint{display:flex;flex-direction:column;gap:6px;min-width:0}.ticket-endpoint:last-child{text-align:right}
.ticket-endpoint strong{font-size:48px;font-weight:700;letter-spacing:-1.1px;line-height:1.1}.ticket-time{font-size:30px;line-height:1.3;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.6px;white-space:nowrap}
.ticket-city{font-size:18px;line-height:29px;color:var(--muted);overflow-wrap:anywhere}.featured .ticket-city{color:var(--ink)}
.ticket-journey{text-align:center;color:var(--muted);font-size:18px;line-height:29px;min-width:0}.featured .ticket-journey{color:var(--ink)}
.ticket-line{display:block;position:relative;height:1px;width:100%;background:#000d1060;margin:24px 0 22px}.ticket-line:before,.ticket-line:after{content:'';position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--ink)}.ticket-line:before{left:0}.ticket-line:after{right:0}
.ticket-plane{position:absolute;left:48%;top:-15px;font-size:23px;line-height:29px;background:#f5f6f7;padding:0 10px;color:var(--ink);transition:transform .4s,background .3s}.ticket:hover .ticket-plane{transform:translateX(7px);background:#eff1f3}.featured .ticket-plane,.featured:hover .ticket-plane{background:var(--clay)}
.ticket-price-block{grid-area:price;align-self:center;text-align:right;border-left:1px solid #000d1025;padding-left:24px;min-width:0}
.ticket .offer-price{font-size:60px;line-height:1.05;letter-spacing:-1.5px}.ticket .offer-price small{font-size:23px}.ticket .offer-sub{color:var(--muted);margin-top:14px;max-width:none}.featured .offer-sub{color:var(--ink)}
.price-insight{font-size:18px;line-height:29px;margin:8px 0 0;color:var(--muted)}.featured .price-insight{color:var(--ink)}
.ticket-footer{grid-area:footer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;border-top:1px solid #000d1025;font-size:18px;line-height:29px;color:var(--muted)}.featured .ticket-footer{color:var(--ink)}
.ticket-footer button{width:auto;min-width:180px;border-color:#000d1045;color:var(--ink);gap:25px;padding:10px 20px}.ticket-footer button:hover{background:var(--ink);color:white;border-color:var(--ink)}.ticket-footer button span:last-child{transition:transform .3s}.ticket-footer button:hover span:last-child{transform:translateX(7px)}
.more-offers{margin:32px auto 0;display:flex}.empty-results{padding:30px 0}
.flight-loading{padding:30px 0 26px;border-top:1px solid #d5d3d4;border-bottom:1px solid #d5d3d4}.loading-endpoints{display:flex;justify-content:space-between;font-size:30px;line-height:1.3;letter-spacing:-.6px}.loading-track{position:relative;margin:24px 0;height:1px;background:#d5d3d4}.loading-line{position:absolute;inset:0;background:var(--ink);transform-origin:left;transform:scaleX(0)}.loading-marker{position:absolute;inset:0;transform:translateX(0)}.loading-plane{position:absolute;left:0;top:-15px;background:white;padding:0 10px;line-height:29px;color:var(--ink)}
.is-loading .loading-line{animation:loading-route .65s cubic-bezier(.25,.5,.5,1) both}.is-loading .loading-marker{animation:loading-flight .65s cubic-bezier(.25,.5,.5,1) both}
@keyframes loading-route{to{transform:scaleX(1)}}@keyframes loading-flight{to{transform:translateX(calc(100% - 40px))}}
.flight-loading p{margin:0;color:var(--muted)}.offer-grid[aria-busy=true]{opacity:.3;pointer-events:none;transition:opacity .2s}
.flight-route-section{padding:80px 0 100px;--route-progress:0;--route-marker:0%;--route-end-opacity:.3}.flight-route-section .section-label{color:var(--muted);margin-bottom:56px}.flight-route-section h2{max-width:900px}
.route-endpoints{display:flex;justify-content:space-between;gap:24px;margin-top:75px}.route-endpoints>div{display:flex;flex-direction:column;gap:16px}.route-endpoints>div:last-child{text-align:right}.route-endpoints strong{font-weight:700;font-size:clamp(76px,11vw,150px);letter-spacing:-3px;line-height:1}.route-endpoints>div:last-child strong{opacity:var(--route-end-opacity)}.route-endpoints span{font-size:18px;line-height:29px;color:var(--muted)}
.story-track{height:1px;position:relative;background:#d5d3d4;margin:46px 0}.story-track:before,.story-track:after{content:'';position:absolute;width:7px;height:7px;top:-3px;border-radius:50%;background:var(--ink)}.story-track:before{left:0}.story-track:after{right:0}.story-line{position:absolute;inset:0;transform:scaleX(var(--route-progress));transform-origin:left;background:var(--ink)}.story-marker{position:absolute;inset:0;transform:translateX(var(--route-marker))}.story-plane{position:absolute;left:0;top:-15px;transform:translateX(-50%);padding:0 12px;background:white;font-size:23px;line-height:29px;color:var(--ink)}
.story-meta{display:flex;gap:32px;flex-wrap:wrap;color:var(--muted);opacity:calc(.25 + var(--route-progress)*.75);transform:translateY(calc(8px - var(--route-progress)*8px))}.story-meta p{margin:0}.story-meta>span{margin-left:auto}
.editorial-band{background:#000d10;color:white;padding:96px 0 90px}.editorial-band .eyebrow{color:#c0c5cd;margin-bottom:36px}.editorial-band h2{font-size:clamp(60px,7.5vw,112px);font-weight:700;line-height:1.08;letter-spacing:-2.8px;margin:0}.editorial-band h2 span{color:#a8aeb8}.editorial-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;border-top:1px solid #ffffff30;margin-top:62px;padding-top:32px}.editorial-bottom p{color:#dce0e6;margin:0}.editorial-band .pill{border-color:#ffffff70;background:transparent;color:white}.editorial-band .pill:hover{background:white;color:var(--ink)}
.how{background:white;color:var(--ink);padding:90px 0}.how .section-label{color:var(--muted);border-color:#bfc5cd}.how h2 span{color:var(--muted)}.steps article{border-color:#d5d3d4}.steps article:hover{padding-left:0}.steps article>span{border-color:#bfc5cd;color:var(--muted)}.steps p{color:var(--muted)}
.closing{border-top:1px solid #d5d3d4}.navigation-dialog,#offer-dialog{border-radius:0}.navigation-dialog nav a{transition:padding-left .3s}.navigation-dialog nav a:hover{padding-left:7px}.footer-links a{transition:border-color .3s,color .3s}.footer-links a:hover{border-color:white}
@media(max-width:1150px){.command-bar.search-form{grid-template-columns:minmax(0,1fr) 48px minmax(0,1.1fr) minmax(0,1fr);gap:12px}.command-bar .search-button{grid-column:1/-1;justify-self:stretch;justify-content:space-between}.ticket-route{gap:20px}.offer.ticket{gap:24px;grid-template-columns:minmax(0,1fr) 190px}.destination-grid{gap:16px}.destination-art{height:240px}}
@media(max-width:850px){.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.destination-art{height:300px}.ticket-route{grid-template-columns:90px minmax(80px,1fr) 90px;gap:14px}.offer.ticket{grid-template-columns:minmax(0,1fr) 155px;padding:26px;gap:24px}.ticket-price-block{padding-left:18px}.ticket .offer-price{font-size:48px}.ticket-endpoint strong{font-size:38px}.ticket-time{font-size:23px}}
@media(max-width:700px){.search-intro h2{font-size:60px}.search-section{padding-bottom:48px}.command-bar.search-form{grid-template-columns:minmax(0,1fr) 48px;gap:0;padding:8px 0 20px}.command-field{padding:18px 12px;grid-column:1/-1;border-bottom:1px solid #ffffff26}.command-field[data-picker=origin]{grid-column:1;grid-row:1}.command-bar .swap{grid-column:2;grid-row:1}.command-field[data-picker=destination]{grid-row:2}.command-field[data-picker=month]{grid-row:3}.command-field strong{font-size:30px}.command-label{margin-bottom:0}.field-arrow{opacity:.6;top:22px}.command-bar .search-button{grid-column:1/-1;grid-row:4;margin-top:24px;width:100%}.quick-routes{gap:10px}.search-shell .quick-routes>span{width:100%}.discovery{padding:60px 0}.discovery .section-label{margin-bottom:30px}.discovery-heading{display:block;margin-bottom:32px}.discovery-heading p{margin-top:24px}.discovery h2,.flight-route-section h2{font-size:60px;letter-spacing:-1.26px;overflow-wrap:anywhere}.destination-art{height:225px}.destination-code{font-size:48px;left:12px}.destination-airport{position:static;display:block;transform:none;font-size:18px;line-height:29px;padding:8px 12px;background:#ffffff50;position:absolute;bottom:0;left:0;right:0}.destination-caption strong{font-size:23px}.destination-caption{padding:18px 0 12px}.destination-art svg{bottom:30px}.destination-price{font-size:18px;line-height:29px}.results{padding:50px 0 60px}.results h2{font-size:40px;letter-spacing:-.9px}.sort-label{width:100%}.calendar-heading{align-items:end}.calendar-heading h3{font-size:30px}.price-calendar{padding:26px 0;margin:32px 0}.calendar-week,.calendar-spacer{display:none}.price-days{display:flex;gap:8px;overflow-x:auto;max-width:100%;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:4px 4px 12px}.price-day{flex:0 0 104px;min-height:112px;padding:12px 8px;scroll-snap-align:start}.price-day strong{font-size:23px}.calendar-foot{align-items:flex-start;flex-direction:column}.calendar-heading .eyebrow{max-width:170px}.offer.ticket{grid-template-columns:minmax(0,1fr);grid-template-areas:'top' 'route' 'price' 'footer';gap:28px;padding:24px}.ticket .offer-top{gap:12px}.ticket-route{grid-template-columns:80px minmax(0,1fr) 80px;gap:12px}.ticket-endpoint strong{font-size:38px}.ticket-time{font-size:23px}.ticket-city{font-size:18px;line-height:29px}.ticket-journey{font-size:18px;line-height:29px}.ticket-line{margin:20px 0}.ticket-duration,.ticket-stops{display:block}.ticket-price-block{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;text-align:left;border-left:0;border-top:1px solid #000d1025;padding:22px 0 0}.ticket .offer-price{grid-row:1/3;font-size:60px;align-self:center;text-align:left}.ticket .offer-sub{margin:0}.price-insight{margin:0}.ticket-footer{align-items:flex-start;flex-direction:column}.ticket-footer button{width:100%;justify-content:space-between}.flight-route-section{padding:50px 0 65px}.flight-route-section .section-label{margin-bottom:35px}.route-endpoints{margin-top:50px}.route-endpoints strong{font-size:76px;letter-spacing:-1.6px}.story-track{margin:36px 0}.story-meta{gap:14px}.story-meta>span{margin-left:0;width:100%}.editorial-band{padding:60px 0}.editorial-band h2{font-size:60px;letter-spacing:-1.26px;overflow-wrap:anywhere}.editorial-bottom{flex-direction:column;align-items:flex-start;gap:28px;margin-top:40px}.how{padding:60px 0}.picker-dialog{padding:26px}.picker-dialog h2{font-size:30px;letter-spacing:-.6px}.location-list{max-height:42svh}.picker-dialog input{font-size:23px}}
@media(max-width:380px){.destination-grid{grid-template-columns:1fr}.destination-art{height:260px}.ticket-route{grid-template-columns:70px minmax(0,1fr) 70px;gap:8px}.ticket-endpoint strong{font-size:30px}.ticket-time{font-size:23px}.ticket-price-block{grid-template-columns:1fr}.ticket .offer-price{grid-row:auto}.route-endpoints strong{font-size:60px}}
@media(hover:none){.destination-airport{transform:none}.destination-caption strong,.destination-code{transform:none!important}.destination-choice:active svg{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.story-line{transform:scaleX(1)}.story-marker{transform:translateX(100%)}.route-endpoints>div:last-child strong,.story-meta{opacity:1}.story-meta{transform:none}.is-loading .loading-line{transform:scaleX(1)}.loading-marker{transform:translateX(50%)}.destination-choice svg{transform:none!important}.destination-airport{transform:none}.value-changed strong{animation:none}.navigation-dialog nav a:hover{padding-left:0}}
