@layer results, reset, base, layout, components, responsive;
@import url("/kayak/assets/style.css?v=seo1") layer(results);

    @layer reset, base, layout, components, responsive;
    @layer reset {
      *, *::before, *::after { box-sizing: border-box; }
      html { scroll-behavior: smooth; }
      body, h1, h2, h3, p, ul { margin: 0; }
      button, input, select { font: inherit; }
      button { cursor: pointer; }
      a { color: inherit; }
    }
    @layer base {
      :root { --ink:#12233f; --muted:#52637b; --blue:#0755b7; --blue-deep:#073572; --sky:#eaf3ff; --line:#dbe5ef; --bg:#f4f7fb; --white:#fff; --green:#11674d; --orange:#f28b29; --radius:17px; }
      body { background:var(--bg); color:var(--ink); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.5; }
      :focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
      .shell { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
      .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
      .muted { color:var(--muted); }
    }
    @layer layout {
      .preview-bar { background:#183657; color:white; font-size:.83rem; font-weight:650; text-align:center; padding:9px 16px; }
      .site-header { background:white; border-bottom:1px solid var(--line); }
      .header-inner { display:flex; align-items:center; justify-content:space-between; min-height:72px; gap:20px; }
      .nav-links { display:flex; gap:26px; align-items:center; font-size:.95rem; font-weight:700; }
      .nav-links a { text-decoration:none; }
      .nav-links a:hover { color:var(--blue); }
      .crumbs { display:flex; flex-wrap:wrap; gap:8px; align-items:center; color:var(--muted); font-size:.85rem; padding:28px 0 16px; }
      .crumbs a { text-decoration:none; }
      .crumbs a:hover { text-decoration:underline; }
      .hero { padding-bottom:28px; }
      .hero-copy { max-width:790px; margin-bottom:23px; }
      .hero h1 { font-size:clamp(2rem,3.5vw,3.3rem); line-height:1.12; letter-spacing:-.045em; }
      .hero-copy p { color:var(--muted); font-size:1.05rem; margin-top:10px; }
      .search-card { background:white; border:1px solid var(--line); border-radius:20px; box-shadow:0 12px 28px #1836570d; padding:22px; }
      .search-top { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; }
      .search-fields { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr); gap:10px; }
      .search-bottom { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-top:14px; }
      .intro-strip { background:white; border-block:1px solid var(--line); }
      .intro-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:23px 0; }
      .content { padding:44px 0 80px; }
      .section { margin-top:52px; }
      .section:first-child { margin-top:0; }
      .section-head { display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:19px; }
      .section-head h2 { font-size:clamp(1.5rem,2.3vw,2rem); letter-spacing:-.035em; line-height:1.2; }
      .section-head p { color:var(--muted); max-width:620px; font-size:.94rem; margin-top:7px; }
      .price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
      .fact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
      .overview-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr); gap:20px; }
      .month-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; }
      .insight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
      .info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
      .bottom-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:26px; }
      footer { background:#fff; border-top:1px solid var(--line); padding:26px 0; color:var(--muted); font-size:.86rem; }
    }
    @layer components {
      .brand { display:inline-flex; align-items:center; gap:9px; color:var(--blue-deep); font-size:1.52rem; font-weight:850; letter-spacing:-.055em; text-decoration:none; white-space:nowrap; }
      .brand-mark { display:grid; place-items:center; width:35px; height:35px; border-radius:10px; background:var(--blue); color:white; font-size:1.8rem; line-height:1; }
      .brand-light { color:var(--blue); }
      .segment { display:inline-flex; border:1px solid var(--line); border-radius:11px; background:var(--bg); padding:3px; gap:3px; }
      .segment button { border:0; background:transparent; color:var(--muted); border-radius:8px; padding:8px 15px; font-size:.9rem; font-weight:700; }
      .segment button[aria-pressed=true] { background:var(--blue); color:white; box-shadow:0 2px 6px #0755b724; }
      .quick-note { color:var(--muted); font-size:.83rem; }
      .field { display:block; min-width:0; }
      .field span { display:block; font-size:.77rem; color:var(--muted); font-weight:700; margin:0 0 6px 2px; }
      .field input, .field select { width:100%; height:51px; border:1px solid #c7d5e3; border-radius:9px; background:white; color:var(--ink); padding:0 12px; font-size:.97rem; min-width:0; }
      .field input:focus, .field select:focus { border-color:var(--blue); }
      .field input:disabled { background:#f1f4f7; color:#788597; }
      .swap { display:inline-flex; align-items:center; gap:7px; border:0; background:transparent; color:var(--blue); font-size:.88rem; font-weight:750; padding:10px 0; }
      .swap svg, .button svg { width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
      .button { display:inline-flex; align-items:center; justify-content:center; gap:10px; border:0; border-radius:10px; background:var(--blue); color:white; min-height:48px; padding:10px 19px; font-weight:750; text-decoration:none; white-space:nowrap; }
      .button:hover { background:var(--blue-deep); }
      .route-line { display:flex; align-items:center; gap:16px; font-weight:750; white-space:nowrap; }
      .route-line .code { font-size:1.25rem; letter-spacing:-.035em; }
      .route-line .line { height:1px; width:95px; background:#9bb6d6; position:relative; }
      .route-line .line::after { content:""; position:absolute; right:0; top:-4px; width:8px; height:8px; border-top:1px solid #9bb6d6; border-right:1px solid #9bb6d6; transform:rotate(45deg); }
      .route-line small { display:block; color:var(--muted); font-size:.73rem; font-weight:600; letter-spacing:0; }
      .intro-inner > p { color:var(--muted); font-size:.9rem; max-width:455px; }
      .price-card, .surface { background:white; border:1px solid var(--line); border-radius:var(--radius); }
      .price-card { padding:23px 25px; min-height:190px; }
      .price-card .kind { font-weight:800; font-size:1rem; }
      .price-card .amount { color:var(--blue-deep); display:flex; align-items:baseline; gap:7px; margin:9px 0 3px; }
      .price-card .amount span { font-size:.95rem; font-weight:700; }
      .price-card .amount strong { font-size:clamp(2.1rem,3vw,2.8rem); letter-spacing:-.06em; line-height:1; }
      .price-card .meta { color:var(--muted); font-size:.84rem; }
      .price-card .foot { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--line); margin-top:20px; padding-top:14px; }
      .price-card .foot span { color:var(--green); font-size:.82rem; font-weight:750; }
      .text-button { border:0; background:transparent; color:var(--blue); font-weight:750; padding:4px 0; }
      .text-button:hover { text-decoration:underline; }
      .soft-note { font-size:.84rem; color:var(--muted); margin-top:12px; }
      .fact { padding:18px 20px; }
      .fact dt { font-size:.82rem; color:var(--muted); font-weight:700; }
      .fact dd { margin:5px 0 0; font-size:1.1rem; font-weight:800; }
      .fact small { display:block; color:var(--muted); font-size:.78rem; font-weight:500; margin-top:3px; }
      .airport-card { padding:24px; }
      .airport-card h3 { font-size:1.1rem; margin-bottom:14px; }
      .airport-card ul { list-style:none; padding:0; }
      .airport-card li { display:flex; justify-content:space-between; gap:15px; padding:10px 0; border-top:1px solid var(--line); font-size:.91rem; }
      .airport-card li strong { color:var(--blue-deep); }
      .notice-card { padding:24px; background:var(--sky); border-color:#c9dff7; }
      .notice-card h3 { font-size:1.1rem; margin-bottom:8px; }
      .notice-card p { font-size:.91rem; color:#3f5672; }
      .notice-card .button { margin-top:20px; }
      .month { border:1px solid var(--line); border-radius:13px; background:white; min-height:111px; padding:14px 12px; text-align:left; color:var(--ink); }
      .month[aria-pressed=true] { border:2px solid var(--blue); padding:13px 11px; background:#f4f9ff; }
      .month span { display:block; color:var(--muted); font-size:.81rem; font-weight:650; }
      .month strong { display:block; font-size:1rem; margin-top:0; letter-spacing:-.035em; overflow-wrap:anywhere; }
      .month span { margin-top:10px; white-space:normal; }
      .month:hover { border-color:var(--blue); }
      .detail-note { color:var(--muted); font-size:.89rem; margin-top:14px; }
      .insight { padding:22px; display:flex; flex-direction:column; align-items:start; min-height:190px; }
      .insight h3 { font-size:.9rem; color:var(--muted); font-weight:750; }
      .insight strong { display:block; font-size:1.35rem; line-height:1.2; letter-spacing:-.03em; margin:13px 0 8px; }
      .insight p { color:var(--muted); font-size:.86rem; margin-bottom:16px; }
      .insight .text-button { margin-top:auto; }
      .info { padding:24px; }
      .info h3 { font-size:1.09rem; margin-bottom:8px; }
      .info p { font-size:.91rem; color:var(--muted); }
      .faq { border-top:1px solid var(--line); }
      .faq details { border-bottom:1px solid var(--line); padding:16px 0; }
      .faq summary { font-weight:750; cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:12px; }
      .faq summary::-webkit-details-marker { display:none; }
      .faq summary::after { content:"+"; font-size:1.25rem; color:var(--blue); font-weight:400; line-height:1; }
      .faq details[open] summary::after { content:"−"; }
      .faq p { color:var(--muted); font-size:.91rem; margin-top:10px; max-width:760px; }
      .related { padding:24px; }
      .related h3 { font-size:1.1rem; margin-bottom:12px; }
      .related ul { padding-left:19px; color:var(--muted); font-size:.9rem; }
      .related li + li { margin-top:9px; }
    }
    @layer responsive {
      @media (max-width: 960px) {
        .search-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
        .month-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
        .fact-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
      }
      @media (max-width: 680px) {
        .shell { width:min(100% - 28px,1160px); }
        .header-inner { min-height:61px; }
        .brand { font-size:1.35rem; }
        .brand-mark { width:31px; height:31px; font-size:1.6rem; }
        .nav-links { gap:13px; font-size:.85rem; }
        .crumbs { padding-top:18px; }
        .hero { padding-bottom:22px; }
        .hero h1 { font-size:2rem; }
        .search-card { padding:17px; border-radius:16px; }
        .search-top { align-items:start; flex-direction:column; gap:8px; }
        .search-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
        .search-fields .field:first-child, .search-fields .field:nth-child(2) { grid-column:span 1; }
        .search-bottom { align-items:stretch; flex-direction:column; gap:7px; }
        .search-bottom .button { width:100%; }
        .intro-inner { align-items:start; flex-direction:column; gap:12px; }
        .intro-inner > p { max-width:none; }
        .content { padding-top:32px; }
        .section { margin-top:41px; }
        .section-head { align-items:start; flex-direction:column; gap:6px; }
        .price-grid, .overview-grid, .info-grid, .bottom-grid { grid-template-columns:1fr; }
        .insight-grid { grid-template-columns:1fr; }
        .fact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
        .month-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
      }
      @media (max-width: 420px) {
        .nav-links { flex-wrap:wrap; }
        .segment { width:100%; }
        .segment button { flex:1; padding-inline:7px; }
        .search-fields { grid-template-columns:1fr; }
        .search-fields .field:first-child, .search-fields .field:nth-child(2) { grid-column:auto; }
        .fact-grid { grid-template-columns:1fr; }
        .route-line { width:100%; }
        .route-line .line { flex:1; min-width:20px; }
      }
    }

@layer components {
  [hidden] { display:none !important; }
  .skip-link { position:absolute; left:12px; top:-80px; padding:12px; background:white; z-index:20; }
  .skip-link:focus { top:12px; }
  .search-extras { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:12px; }
  .child-ages { display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
  .child-ages:empty { display:none; }
  .child-ages .field { width:140px; }
  .field input,.field select { font-size:16px; }
  .form-error { margin-top:12px; color:#9b2637; }
  .price-basis { margin-top:10px; }
  .price-basis summary { cursor:pointer; color:var(--blue); font-weight:700; padding-block:8px; }
  .price-basis p { margin-top:6px; max-width:880px; }
  .airport-choice { display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; background:none; border:0; color:var(--ink); text-align:left; min-height:44px; }
  .airport-choice:hover { color:var(--blue); }
  .offer-toolbar { display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-bottom:14px; font-size:.88rem; }
  .offer-toolbar label { display:flex; gap:9px; align-items:center; min-height:44px; }
  .offer-toolbar select { max-width:100%; padding:10px; background:white; color:var(--ink); border:1px solid var(--line); border-radius:8px; }
  .offer-toolbar input { width:19px; height:19px; accent-color:var(--blue); }
  #offer-count { color:var(--muted); margin-left:auto; }
  .offers { display:grid; gap:12px; }
  .offer { background:white; border:1px solid var(--line); border-radius:var(--radius); padding:22px; }
  .offer-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; padding-bottom:16px; }
  .offer-header h3 { font-size:1.05rem; }
  .example-label { color:var(--muted); font-size:.78rem; }
  .offer-body { display:grid; grid-template-columns:minmax(0,1fr) 185px; gap:24px; }
  .flight-legs { display:grid; gap:14px; }
  .flight-leg { display:grid; grid-template-columns:92px minmax(0,1fr) auto; gap:16px; align-items:center; }
  .leg-date { color:var(--muted); font-size:.82rem; }
  .leg-date strong { display:block; color:var(--ink); }
  .leg-route { font-weight:750; }
  .leg-route small { display:block; color:var(--muted); font-weight:400; font-size:.81rem; }
  .leg-duration { text-align:right; font-size:.87rem; }
  .leg-duration small { display:block; color:var(--muted); }
  .offer-price { border-left:1px solid var(--line); padding-left:22px; text-align:right; display:flex; flex-direction:column; align-items:end; justify-content:center; }
  .offer-price strong { font-size:1.75rem; letter-spacing:-.04em; }
  .offer-price small { display:block; color:var(--muted); font-size:.78rem; }
  .offer-price button { margin-top:12px; font-size:.86rem; width:100%; min-height:44px; padding-inline:10px; }
  .offer details { margin-top:16px; border-top:1px solid var(--line); padding-top:10px; font-size:.85rem; }
  .offer summary { cursor:pointer; padding-block:7px; color:var(--blue); font-weight:650; }
  .offer dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:12px 0 0; }
  .offer dt { color:var(--muted); font-size:.78rem; }
  .offer dd { margin:3px 0 0; }
  .empty-offers { padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:white; }
  .empty-offers p { color:var(--muted); margin:8px 0 12px; }
  .route-links { display:grid; gap:8px; margin-top:14px; }
  .route-links a,.route-links button { min-height:44px; display:flex; align-items:center; text-align:left; }
  .route-links a { color:var(--blue); text-decoration:none; font-weight:700; font-size:.89rem; }
  .route-links a:hover { text-decoration:underline; }
  dialog { width:min(540px,calc(100% - 28px)); border:1px solid var(--line); border-radius:20px; padding:26px; color:var(--ink); box-shadow:0 18px 90px #12233f44; }
  dialog::backdrop { background:#12233f88; }
  .dialog-top { display:flex; gap:16px; justify-content:space-between; align-items:center; margin-bottom:18px; }
  .dialog-top h2 { font-size:1.5rem; }
  .close-dialog { background:var(--bg); border:0; border-radius:8px; min-width:44px; height:44px; font-size:1.6rem; color:var(--ink); }
  dialog dl { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px 20px; font-size:.92rem; }
  dialog dt { color:var(--muted); }
  dialog dd { margin:0; overflow-wrap:anywhere; }
  dialog form { margin-top:22px; }
}
@layer responsive {
  @media(max-width:680px) {
    .search-extras { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .offer { padding:16px; }
    .offer-body { grid-template-columns:1fr; gap:16px; }
    .offer-price { padding:14px 0 0; border-left:0; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr auto; gap:0 12px; text-align:left; align-items:center; }
    .offer-price button { grid-column:2; grid-row:1/4; margin:0; }
    .flight-leg { grid-template-columns:72px minmax(0,1fr); gap:10px; }
    .leg-duration { grid-column:2; text-align:left; display:flex; gap:9px; margin-top:-9px; }
    .offer dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
    #offer-count { margin-left:0; }
    .offer-toolbar { gap:5px 12px; }
    .section-head p { max-width:100%; }
    dialog { padding:20px; }
  }
  @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
}

@layer components {
 .segment{border:0;padding:5px;display:flex;gap:4px}.segment label{position:relative;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:.88rem;font-weight:700}.segment label:has(input:checked){background:white;box-shadow:0 2px 6px #12233f12}.segment input{accent-color:var(--blue)}
 .directory-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.directory-grid a{display:grid;gap:5px;text-decoration:none;padding:18px;background:white;border:1px solid var(--line);border-radius:var(--radius);height:100%}.directory-grid span{color:var(--muted);font-size:.85rem}.directory-grid a:hover{border-color:var(--blue)}
 .pagination{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-top:24px}.source-note{margin-top:32px;font-size:.8rem;color:var(--muted)}.route-links{display:grid;gap:10px}.route-links a{color:var(--blue);text-decoration:none;padding-block:8px}.route-links small{display:block;color:var(--muted)}
 .country-links{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0}.country-links a{display:block;padding:8px 0;color:var(--blue)}.price-card .amount{font-size:1.3rem;font-weight:750;line-height:1.4;margin-block:14px}.empty-connections{padding:24px}.empty-connections .button{margin-top:16px}.catalog-error{padding:14px;background:#fff1f2;border:1px solid #a1283d;border-radius:10px;color:#841c2c;margin-top:14px}.child-ages details{width:100%}.child-ages summary{cursor:pointer}.age-fields{display:flex;gap:10px;flex-wrap:wrap}.field input[readonly]{background:var(--sky)}
 #results-region:empty{display:none}#results-region{scroll-margin-top:20px}.search-card .field input,.search-card .field select{font-size:16px;min-width:0;width:100%}.search-card .form-message{min-height:1.4em;margin-top:8px}.button:disabled{cursor:wait;opacity:.6}
 .airport-card a{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;min-height:44px}.airport-card a:hover{color:var(--blue)}.footer-links{display:flex;gap:16px;flex-wrap:wrap}
}
@layer responsive {@media(max-width:760px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-inner{align-items:start;flex-direction:column}.search-top{align-items:stretch}.segment{flex-wrap:wrap}}@media(max-width:420px){.directory-grid{grid-template-columns:1fr}.segment label{padding:10px 6px;font-size:.78rem}.search-card{padding:16px}.search-extras{grid-template-columns:repeat(2,minmax(0,1fr))}.search-bottom{align-items:stretch;flex-direction:column}.nav-links{gap:12px;font-size:.8rem}}}
@layer responsive { @media (max-width: 480px) { .month-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } } }

@layer components { .month-grid .month-price{color:var(--blue-deep);font-weight:750;font-size:1.05rem}.weekday-prices{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:18px}.weekday-prices>div{border:1px solid var(--line);border-radius:10px;padding:10px;background:white}.weekday-prices span,.weekday-prices strong{display:block}.weekday-prices span{color:var(--muted);font-size:.8rem}.weekday-prices strong{font-size:.9rem;margin-top:5px}.price-card .amount strong{overflow-wrap:anywhere} }
@layer responsive { @media(max-width:620px){.weekday-prices{grid-template-columns:repeat(4,minmax(0,1fr))}} @media(max-width:380px){.weekday-prices{grid-template-columns:repeat(3,minmax(0,1fr))}} }

@layer components {
 .price-status-dot{display:inline-block;flex:none;width:.65rem;height:.65rem;border-radius:50%;background:#16803c;margin-inline-end:.5rem;vertical-align:middle}
 .price-available,.imported-price{color:#166534!important;font-weight:700}
 .directory-grid .imported-price{font-size:1.1rem}
 .has-imported-price{border-color:#8cc9a0!important}
 .nav-links{flex-wrap:wrap}.nav-links [aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
 .price-grid:has(>.price-card:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
}
@layer responsive {@media(max-width:760px){.price-grid:has(>.price-card:nth-child(3)){grid-template-columns:1fr}.header-inner{flex-wrap:wrap;gap:12px}.nav-links{gap:12px}}}

@layer components {.hero.price-directory-hero{grid-template-columns:1fr;padding-bottom:0}}

@layer components {.price-origin-filter{display:flex;flex-wrap:wrap;gap:16px;align-items:end;padding:20px;margin-bottom:28px}.price-origin-filter .field{flex:1 1 280px;min-width:0}.price-origin-filter select{width:100%;max-width:100%;min-height:44px;font-size:16px}.price-origin-filter>a{padding:12px 0}}
