.flights-page{--flight-ink:var(--ink,#173f35);--flight-paper:#fffefa;--flight-line:#d6ddce;color:var(--flight-ink);padding-bottom:44px}.flights-page *{box-sizing:border-box;min-width:0}.flights-page [hidden]{display:none!important}
.flights-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:end;padding:70px 0 42px}.flights-eyebrow{font-size:10px;letter-spacing:.14em;font-weight:700;margin:0 0 20px;line-height:1.8}.flights-hero h1{font-size:clamp(44px,5.6vw,80px);line-height:1.05;letter-spacing:-.055em;margin:0}.flights-hero h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em;color:#b46e45}.flights-hero>div>p:not(.flights-eyebrow){font-size:17px;line-height:1.8;margin:0 0 18px;max-width:490px}.flights-hero small{font-size:12px;line-height:1.8;display:block;color:#52685c;max-width:490px}
.flights-connection{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--flight-line);padding:18px 0}.flights-connection>p{font-size:12px;line-height:1.7;margin:0}.flights-search{padding:30px;background:#f0f4e6;border:1px solid var(--flight-line);border-radius:10px}.flights-route-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.flights-city{position:relative}.flights-city>label,.flights-date-fields>label{display:flex;flex-direction:column;gap:10px;font-size:12px;font-weight:600}.flights-city>label{margin-bottom:10px}.flights-city>input,.flights-date-fields input,.flights-date-fields select{width:100%;min-height:50px;padding:13px;border:1px solid #b7c5ad;border-radius:5px;background:var(--flight-paper);font:inherit;font-size:15px;color:var(--flight-ink)}.flights-city>input::placeholder{color:#637267;opacity:1}.flights-city>small{display:block;font-size:10px;line-height:1.7;margin-top:8px;color:#52685c}.flights-city-status{display:block;font-size:10px;line-height:1.7;color:#52685c;min-height:0}.flights-city-status:empty{display:none}
.flights-city-list{position:absolute;top:80px;left:0;right:0;z-index:30;max-height:320px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #a5b49a;border-radius:5px;background:var(--flight-paper);box-shadow:0 12px 28px #173f351a}.flights-city-list [role=option]{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 15px;border-bottom:1px solid #e8ecdf;cursor:pointer;line-height:1.6}.flights-city-list [role=option]:last-child{border-bottom:0}.flights-city-list [role=option]:hover,.flights-city-list [aria-selected=true]{background:#dfedaf}.flights-city-list strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.flights-city-list span{font-size:11px;white-space:nowrap;color:#52685c}
.flights-date-fields{display:grid;grid-template-columns:1fr 1fr .65fr;gap:24px;margin-top:26px}.flights-date-fields input:disabled{background:#e7ebdf;color:#697565;opacity:.65}.flights-date-hint,.flights-privacy{font-size:11px;line-height:1.8;color:#52685c;margin:12px 0 0}.flights-search-bottom{display:flex;gap:24px;justify-content:space-between;align-items:center;margin-top:24px;padding-top:22px;border-top:1px solid #d4ddc8}.flights-toggles{display:flex;flex-wrap:wrap;gap:16px 26px}.flights-toggles label{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:12px;line-height:1.6;cursor:pointer}.flights-toggles input{width:17px;height:17px;accent-color:var(--flight-ink)}.flights-privacy{max-width:850px;margin-top:18px}
.flights-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 19px;border:1px solid transparent;border-radius:5px;font:inherit;font-size:12px;font-weight:600;line-height:1.6;text-align:center;text-decoration:none;cursor:pointer;max-width:100%;color:var(--flight-ink);background:transparent}.flights-button-dark{background:var(--flight-ink);color:#fffefa}.flights-button-dark:hover{background:#285347}.flights-button-outline{border-color:#aaba9f}.flights-button-outline:hover{background:#e9efda}.flights-button-text{font-weight:400;text-decoration:underline;text-underline-offset:4px;padding:8px 0}.flights-button:disabled{opacity:.55;cursor:default}.flights-page input:focus-visible,.flights-page select:focus-visible,.flights-page button:focus-visible,.flights-page a:focus-visible{outline:2px solid #638345;outline-offset:3px}
.flights-results{padding-top:42px}.flights-results-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.flights-results h2{font-size:28px;letter-spacing:-.04em;margin:0}.flights-status{font-size:12px;line-height:1.8;min-height:1.8em;margin:16px 0}.flights-state{padding:35px 40px;min-height:280px;background:var(--flight-paper);border:1px solid var(--flight-line);border-radius:8px}.flights-state-mark{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;font-size:24px;background:#dfedaf;margin-bottom:22px}.flights-state h3{font-size:25px;line-height:1.3;letter-spacing:-.025em;margin:0 0 12px}.flights-state p{max-width:680px;font-size:14px;line-height:1.8;color:#52685c;margin:0}.flights-next{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:26px}.flights-next a{color:var(--flight-ink);font-size:12px;text-underline-offset:5px;line-height:1.8}
.flights-timing{display:grid;grid-template-columns:1fr 1fr;gap:14px 26px;padding:20px 24px;margin-bottom:24px;border-left:3px solid #8b9b68;background:#edf1e2}.flights-timing>div{display:flex;flex-direction:column;gap:6px}.flights-timing span{font-size:10px;color:#52685c}.flights-timing strong{font-size:12px;line-height:1.6;font-weight:500}.flights-timing p{grid-column:1/-1;font-size:11px;line-height:1.8;color:#52685c;margin:0}
.flights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.flights-card{border:1px solid var(--flight-line);border-radius:9px;background:var(--flight-paper);overflow:hidden;overflow-wrap:anywhere}.flights-card-top{padding:25px 26px;background:var(--flight-ink);color:#fffefa}.flights-source{font-size:10px;letter-spacing:.045em;line-height:1.7;margin:0 0 18px;color:#e1e9ce}.flights-card h3{font-size:26px;font-weight:500;letter-spacing:.01em;margin:0 0 16px;line-height:1.3}.flights-card h3 span{font-weight:400;color:#c9d999;padding:0 10px}.flights-price{display:block;font-size:clamp(30px,3.2vw,44px);line-height:1.2;font-weight:500;letter-spacing:-.035em}.flights-facts{margin:0;padding:10px 26px 0}.flights-facts>div{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px;padding:13px 0;border-bottom:1px solid #e3e9da;font-size:11px;line-height:1.7}.flights-facts dt{color:#52685c}.flights-facts dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.flights-extras{font-size:11px;line-height:1.8;color:#52685c;padding:0 26px;margin:20px 0 0}.flights-card-bottom{padding:22px 26px 26px;display:flex;align-items:start;flex-direction:column;gap:12px}.flights-card-bottom small{font-size:10px;line-height:1.8;color:#52685c;max-width:360px}.flights-more{font-size:12px;color:#52685c;line-height:1.8;margin:22px 0 0}
@media(min-width:1500px){.flights-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.flights-hero{gap:5%}.flights-search{padding:24px}.flights-date-fields,.flights-route-fields{gap:18px}.flights-card-top,.flights-facts,.flights-card-bottom{padding-left:20px;padding-right:20px}.flights-extras{padding:0 20px}.flights-search-bottom{align-items:start}.flights-toggles{flex-direction:column;gap:0}}
@media(max-width:650px){.flights-hero{grid-template-columns:1fr;gap:26px;padding:42px 0 30px}.flights-hero h1{font-size:46px}.flights-hero>div>p:not(.flights-eyebrow){font-size:15px;margin-bottom:14px}.flights-connection{align-items:start;gap:12px;flex-direction:column}.flights-search{padding:20px}.flights-route-fields,.flights-date-fields,.flights-grid{grid-template-columns:1fr}.flights-city>input,.flights-date-fields input,.flights-date-fields select{font-size:16px}.flights-date-fields{margin-top:22px}.flights-city-list{top:81px;max-height:270px}.flights-search-bottom{flex-direction:column;gap:16px}.flights-search-bottom>.flights-button{width:100%}.flights-toggles{flex-direction:row;gap:8px 18px}.flights-results{padding-top:30px}.flights-results h2{font-size:24px}.flights-state{padding:26px}.flights-state h3{font-size:23px}.flights-next{flex-direction:column;gap:12px}.flights-timing{grid-template-columns:1fr;padding:18px}.flights-timing p{grid-column:auto}.flights-facts>div{grid-template-columns:.8fr 1.2fr;gap:12px}.flights-price{font-size:38px}.flights-card-bottom .flights-button{width:100%}}
@media(prefers-reduced-motion:reduce){.flights-page *{scroll-behavior:auto}}
@media print{.flights-connection,.flights-search,.flights-results-head button,.flights-card-bottom{display:none}.flights-hero{padding:20px 0}.flights-grid{grid-template-columns:1fr}.flights-card{break-inside:avoid}.flights-card-top{background:transparent;color:#173f35}.flights-source{color:#173f35}}

/* Partner activity frames: isolated documents, sized by configuration. */
.experiences-block { margin: 3rem 0; }
.experiences-block h2 { margin: 0 0 .5rem; }
.experiences-block > p { margin: 0 0 1rem; max-width: 60ch; }
.experiences-frame { display: block; width: 100%; border: 1px solid rgba(23, 63, 53, .18); border-radius: 12px; background: #fff; }
.experiences-disclosure { display: block; margin-top: .6rem; opacity: .75; }
.experiences-samples { margin: 0 0 1rem; max-width: 70ch; }
.experiences-samples span { display: block; margin-top: .35rem; font-size: .82rem; opacity: .7; }
.city-map { margin: 2rem 0 0; padding: 0; }
.city-map svg { display: block; width: 100%; height: auto; background: var(--white); border: 1px solid rgba(23, 63, 53, .18); border-radius: 12px; }
.city-map circle { fill: var(--ink); stroke: rgba(24, 62, 53, .18); stroke-width: 2; transition: fill .15s ease, stroke .15s ease, stroke-width .15s ease; }
.city-map circle.city-hit { fill: transparent; stroke: none; pointer-events: all; }
.city-map a:hover circle:not(.city-hit), .city-map a:focus circle:not(.city-hit) { fill: #e18c43; stroke: rgba(225, 140, 67, .35); stroke-width: 9; }
.city-map a[aria-current="page"] circle:not(.city-hit) { fill: #e18c43; stroke: rgba(225, 140, 67, .4); stroke-width: 7; }
.city-map a:focus { outline: none; }
.city-map figcaption { margin-top: .55rem; font-size: .82rem; opacity: .7; }
/* The map is the only way to a city page, so it has to work on a phone too. */
.city-map { position: relative; }
.city-map svg { touch-action: none; cursor: grab; }
.city-map svg:active { cursor: grabbing; }
.city-map svg[data-zoomed="true"] { cursor: grab; }
.city-map-controls { position: absolute; top: .6rem; right: .6rem; display: flex; flex-direction: column; gap: .3rem; }
.city-map-controls button { width: 2rem; height: 2rem; display: grid; place-items: center; font-size: 1rem; line-height: 1; color: var(--ink); background: rgba(255, 255, 255, .92); border: 1px solid rgba(23, 63, 53, .2); border-radius: 8px; cursor: pointer; }
.city-map-controls button:hover { background: #fff; border-color: rgba(23, 63, 53, .45); }
@media (max-width: 640px) { .city-map svg { min-height: 46vh; } }
