
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: #182334; background: #f7f3e9; font-family: Arial,Helvetica,sans-serif; font-size: 17px; line-height: 1.5; letter-spacing: 0; }
img { display: block; max-width: 100%; }
a { color: inherit; }
main { width: 100%; overflow: hidden; }
.tt-flightline { min-height: 35px; padding: 8px max(20px,calc((100vw - 1440px)/2)); display: flex; gap: 26px; color: #fff; background: #13253f; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.tt-flightline span { margin-right: auto; }
.tt-flightline a { text-decoration: none; }
.tt-header { padding: 15px max(18px,calc((100vw - 1440px)/2)) 0; background: #fff; border-bottom: 5px solid #13253f; }
.tt-wordmark { width: 395px; display: block; }
.tt-wordmark svg { width: 100%; height: auto; display: block; }
.tt-nav { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); margin-top: 8px; border: 1px solid #13253f; border-bottom: 0; }
.tt-nav a { min-width: 0; padding: 11px 7px; border-right: 1px solid #13253f; text-align: center; text-decoration: none; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.tt-nav a:last-child { border-right: 0; }
.tt-nav a:nth-child(2), .tt-nav a:nth-child(6) { background: #d9eef3; }
.tt-nav a:nth-child(4) { background: #ffe7a3; }
.tt-nav a:hover { color: #fff; background: #ed5a36; }
.tt-kicker { margin: 0 0 10px; color: #ed5a36; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.tt-read { display: inline-block; width: fit-content; margin-top: 10px; padding-bottom: 2px; border-bottom: 4px solid #ed5a36; font-weight: 900; text-decoration: none; }
.tt-read.light { color: #fff; }
.tt-hero { position: relative; min-height: 690px; color: #fff; background: #13253f; overflow: hidden; }
.tt-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tt-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(11,25,43,.9) 0%,rgba(11,25,43,.65) 47%,rgba(11,25,43,.1) 80%); }
.tt-hero-copy { position: relative; z-index: 1; max-width: 1440px; min-height: 690px; margin: 0 auto; padding: 105px 46% 92px 20px; display: flex; flex-direction: column; justify-content: center; }
.tt-hero-copy h1 { margin: 0; max-width: 760px; font-family: Georgia,serif; font-size: 75px; line-height: .94; }
.tt-hero-copy > p:not(.tt-kicker) { max-width: 710px; font-size: 20px; }
.tt-hero-ticket { position: absolute; z-index: 2; right: max(20px,calc((100vw - 1400px)/2)); bottom: 0; width: 405px; padding: 27px 32px; color: #13253f; background: #f3c948; border: 5px solid #13253f; border-bottom: 0; }
.tt-hero-ticket:before { content: ''; position: absolute; top: -17px; right: 38px; width: 30px; height: 30px; background: #f7f3e9; border: 5px solid #13253f; border-radius: 50%; }
.tt-hero-ticket span, .tt-hero-ticket small { display: block; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.tt-hero-ticket strong { display: block; margin: 9px 0; font-family: Georgia,serif; font-size: 28px; line-height: 1.05; }
.tt-routes { padding: 78px max(20px,calc((100vw - 1440px)/2)); }
.tt-routes > header { max-width: 100%; margin-bottom: 30px; display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,.5fr); gap: 40px; align-items: end; }
.tt-routes > header .tt-kicker, .tt-routes > header h2 { grid-column: 1; }
.tt-routes > header > p:last-child { grid-column: 2; grid-row: 1/3; margin: 0; color: #52606c; }
.tt-routes h2, .tt-departure h2, .tt-packing h2, .tt-gear h2, .tt-itinerary h2, .tt-related h2 { margin: 0; font-family: Georgia,serif; font-size: 50px; line-height: 1; }
.tt-routes > div { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); border: 2px solid #13253f; }
.tt-route { min-width: 0; min-height: 345px; display: flex; flex-direction: column; border-right: 2px solid #13253f; text-decoration: none; background: #fff; }
.tt-route:last-child { border-right: 0; }
.tt-route img { width: 100%; height: 150px; object-fit: cover; }
.tt-route span { padding: 16px 17px 0; color: #ed5a36; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.tt-route strong { padding: 10px 17px 20px; font-size: 15px; line-height: 1.35; }
.tt-route-2, .tt-route-6 { background: #d9eef3; }
.tt-route-4 { background: #ffe7a3; }
.tt-departure { padding: 72px max(20px,calc((100vw - 1440px)/2)); color: #fff; background: #13253f; }
.tt-departure > header { max-width: 980px; margin-bottom: 30px; }
.tt-departure > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.tt-card { min-width: 0; color: #182334; background: #fff; border: 1px solid #83909d; }
.tt-card-image { height: 250px; display: block; overflow: hidden; background: #dce5e9; }
.tt-card-image img { width: 100%; height: 100%; object-fit: cover; }
.tt-card > div { padding: 22px; }
.tt-card h3 { margin: 0; font-family: Georgia,serif; font-size: 27px; line-height: 1.04; overflow-wrap: anywhere; }
.tt-card h3 a { text-decoration: none; }
.tt-card > div > p:not(.tt-kicker) { color: #53606c; }
.tt-departure-card { min-height: 590px; }
.tt-departure-card:nth-child(2), .tt-departure-card:nth-child(4) { background: #d9eef3; }
.tt-packing { padding: 82px max(20px,calc((100vw - 1440px)/2)); background: #fff; }
.tt-packing > header { margin-bottom: 30px; display: grid; grid-template-columns: minmax(0,1.45fr) minmax(280px,.55fr); gap: 45px; align-items: end; }
.tt-packing > header > p { margin: 0; color: #53606c; }
.tt-packing > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.tt-packing-card { min-height: 315px; display: grid; grid-template-columns: minmax(180px,.85fr) minmax(0,1.15fr); }
.tt-packing-card .tt-card-image { height: 100%; }
.tt-gear { padding: 72px max(20px,calc((100vw - 1440px)/2)) 85px; background: #f3c948; }
.tt-gear > header { max-width: 900px; margin-bottom: 30px; }
.tt-gear > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.tt-gear-card { min-height: 560px; }
.tt-category-head { display: grid; grid-template-columns: minmax(400px,.82fr) minmax(0,1.18fr); color: #fff; background: #13253f; }
.tt-category-head > div { padding: 80px max(34px,calc((100vw - 1440px)/2)) 80px max(34px,calc((100vw - 1440px)/2)); padding-right: 70px; display: flex; flex-direction: column; justify-content: center; }
.tt-category-head h1 { margin: 0; font-family: Georgia,serif; font-size: 68px; line-height: .95; }
.tt-category-head > div > p:not(.tt-kicker) { max-width: 600px; font-size: 19px; }
.tt-category-head figure { min-height: 570px; margin: 0; overflow: hidden; }
.tt-category-head figure img { width: 100%; height: 100%; object-fit: cover; }
.tt-category-brief { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-bottom: 4px solid #13253f; }
.tt-category-brief > div { min-height: 160px; padding: 27px max(22px,calc((100vw - 1440px)/6)); border-right: 1px solid #13253f; }
.tt-category-brief > div:nth-child(2) { background: #d9eef3; }
.tt-category-brief > div:nth-child(3) { background: #ffe7a3; }
.tt-category-brief span, .tt-article-brief span, .tt-article-head aside span { display: block; margin-bottom: 8px; color: #ed5a36; font-size: 10px; font-weight: 900; }
.tt-category-brief strong { font-size: 16px; line-height: 1.35; }
.tt-itinerary { max-width: 1440px; margin: 0 auto; padding: 75px 20px 90px; }
.tt-itinerary > header { max-width: 980px; margin-bottom: 30px; }
.tt-itinerary > div { border-top: 4px solid #13253f; }
.tt-stop { min-height: 190px; display: grid; grid-template-columns: 110px minmax(0,1fr) 70px; align-items: center; border-bottom: 1px solid #8b949d; }
.tt-stop > span { color: #ed5a36; font-family: Georgia,serif; font-size: 50px; font-weight: 700; }
.tt-stop > div { padding: 25px 28px; border-left: 1px solid #8b949d; }
.tt-stop h2 { margin: 0; font-family: Georgia,serif; font-size: 34px; line-height: 1.05; }
.tt-stop h2 a, .tt-stop-arrow { text-decoration: none; }
.tt-stop p:last-child { margin-bottom: 0; color: #58636d; }
.tt-stop-arrow { font-size: 52px; text-align: center; }
.tt-nearby { padding: 60px max(20px,calc((100vw - 1440px)/2)); color: #fff; background: #13253f; }
.tt-nearby > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.5); border-left: 1px solid rgba(255,255,255,.5); }
.tt-nearby a { min-height: 125px; padding: 22px; display: flex; flex-direction: column; gap: 10px; border-right: 1px solid rgba(255,255,255,.5); border-bottom: 1px solid rgba(255,255,255,.5); text-decoration: none; }
.tt-nearby a span { color: #f3c948; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.tt-article-head { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(260px,.5fr); color: #fff; background: #13253f; border-bottom: 7px solid #ed5a36; }
.tt-article-head > div { padding: 74px 50px 70px max(20px,calc((100vw - 1360px)/2)); }
.tt-article-head h1 { margin: 0; max-width: 990px; font-family: Georgia,serif; font-size: 70px; line-height: .96; overflow-wrap: anywhere; }
.tt-article-head > div > p:last-child { max-width: 820px; font-size: 19px; }
.tt-article-head aside { padding: 50px max(20px,calc((100vw - 1360px)/2)) 50px 35px; display: flex; flex-direction: column; justify-content: center; color: #13253f; background: #f3c948; }
.tt-article-head aside strong { display: block; margin-bottom: 25px; font-size: 18px; line-height: 1.25; }
.tt-article-photo { width: 100%; height: 620px; margin: 0; overflow: hidden; }
.tt-article-photo img { width: 100%; height: 100%; object-fit: cover; }
.tt-article-brief { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-bottom: 4px solid #13253f; }
.tt-article-brief > div { min-height: 170px; padding: 24px; border-right: 1px solid #13253f; background: #fff; }
.tt-article-brief > div:nth-child(2) { background: #d9eef3; }
.tt-article-brief > div:nth-child(3) { background: #e3efe8; }
.tt-article-brief > div:nth-child(4) { background: #ffe7a3; }
.tt-article-brief strong { font-size: 14px; line-height: 1.35; }
.tt-article-copy { max-width: 900px; margin: 0 auto; padding: 75px 20px 45px; }
.tt-answer { margin: 0 0 50px; padding: 28px 32px; font-family: Georgia,serif; font-size: 25px; line-height: 1.45; background: #d9eef3; border-left: 9px solid #3f9fc4; }
.tt-article-copy section { margin: 0 0 55px; }
.tt-article-copy h2 { margin: 0 0 18px; font-family: Georgia,serif; font-size: 37px; line-height: 1.08; }
.tt-article-copy p, .tt-article-copy li { color: #43505b; font-size: 18px; line-height: 1.75; }
.tt-cabin-note { margin: 0 0 55px; padding: 31px 34px; color: #fff; background: #3b8066; border: 5px solid #13253f; }
.tt-cabin-note span { font-size: 10px; font-weight: 900; }
.tt-cabin-note strong { display: block; margin: 8px 0; font-family: Georgia,serif; font-size: 31px; line-height: 1.12; }
.tt-cabin-note p { margin: 0; color: #fff; }
.tt-official { padding: 58px max(20px,calc((100vw - 1100px)/2)); display: grid; grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr); gap: 55px; color: #fff; background: #13253f; }
.tt-official h2 { margin: 0; font-family: Georgia,serif; font-size: 40px; line-height: 1; }
.tt-official > p { margin: 0; }
.tt-related { padding: 72px max(20px,calc((100vw - 1440px)/2)) 90px; }
.tt-related > header { max-width: 960px; margin-bottom: 30px; }
.tt-related > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.tt-related-card { min-height: 570px; }
.tt-policy { max-width: 980px; margin: 0 auto; padding: 85px 20px 100px; }
.tt-policy h1 { margin: 0 0 25px; font-family: Georgia,serif; font-size: 65px; line-height: .98; }
.tt-policy h2 { margin: 50px 0 15px; font-family: Georgia,serif; font-size: 34px; }
.tt-policy p, .tt-policy li { color: #465460; font-size: 18px; line-height: 1.7; }
.tt-policy-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid #13253f; }
.tt-policy-links a { padding: 22px; border-right: 1px solid #13253f; border-bottom: 1px solid #13253f; font-weight: 900; text-decoration: none; }
.tt-footer { padding: 60px max(20px,calc((100vw - 1440px)/2)); display: grid; grid-template-columns: minmax(0,1.6fr) minmax(220px,.7fr) minmax(220px,.7fr); gap: 60px; color: #fff; background: #13253f; }
.tt-footer-brand svg { width: 350px; max-width: 100%; height: auto; padding: 7px; background: #fff; }
.tt-footer-brand p { max-width: 650px; color: #d4dce4; font-size: 14px; }
.tt-footer-links { display: flex; flex-direction: column; gap: 8px; }
.tt-footer-links h2 { margin: 0 0 12px; color: #f3c948; font-family: Georgia,serif; font-size: 23px; }
.tt-footer-links a { text-decoration: none; font-size: 14px; }
@media (max-width: 950px) {
  .tt-flightline { padding: 8px 14px; }
  .tt-flightline span { margin-right: 0; }
  .tt-flightline a { display: none; }
  .tt-header { padding: 12px 14px 0; }
  .tt-wordmark { width: 310px; max-width: 100%; }
  .tt-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tt-nav a { border-bottom: 1px solid #13253f; }
  .tt-nav a:nth-child(even) { border-right: 0; }
  .tt-nav a:last-child { grid-column: 1/-1; }
  .tt-hero { min-height: 620px; }
  .tt-hero-shade { background: linear-gradient(0deg,rgba(11,25,43,.93),rgba(11,25,43,.15)); }
  .tt-hero-copy { min-height: 620px; padding: 210px 16px 115px; justify-content: flex-end; }
  .tt-hero-copy h1 { font-size: 47px; }
  .tt-hero-copy > p:not(.tt-kicker) { font-size: 17px; }
  .tt-hero-ticket { right: 15px; left: 15px; width: auto; padding: 18px 22px; }
  .tt-hero-ticket strong { font-size: 21px; }
  .tt-routes { padding: 54px 15px; }
  .tt-routes > header, .tt-packing > header { grid-template-columns: 1fr; gap: 17px; }
  .tt-routes > header .tt-kicker, .tt-routes > header h2, .tt-routes > header > p:last-child { grid-column: 1; grid-row: auto; }
  .tt-routes h2, .tt-departure h2, .tt-packing h2, .tt-gear h2, .tt-itinerary h2, .tt-related h2 { font-size: 36px; }
  .tt-routes > div { grid-template-columns: 1fr; }
  .tt-route { min-height: 150px; display: grid; grid-template-columns: 125px minmax(0,1fr); border-right: 0; border-bottom: 2px solid #13253f; }
  .tt-route:last-child { border-bottom: 0; }
  .tt-route img { grid-row: 1/3; width: 125px; height: 150px; }
  .tt-route span { padding: 17px 17px 0; }
  .tt-route strong { padding-top: 6px; }
  .tt-departure { padding: 50px 15px 60px; }
  .tt-departure > div, .tt-gear > div, .tt-related > div { grid-template-columns: 1fr; }
  .tt-departure-card, .tt-gear-card, .tt-related-card { min-height: 205px; display: grid; grid-template-columns: 125px minmax(0,1fr); }
  .tt-departure-card .tt-card-image, .tt-gear-card .tt-card-image, .tt-related-card .tt-card-image { width: 125px; height: 100%; }
  .tt-card > div { padding: 18px; }
  .tt-card h3 { font-size: 23px; }
  .tt-card > div > p:not(.tt-kicker), .tt-card .tt-read { display: none; }
  .tt-packing { padding: 55px 15px 65px; }
  .tt-packing > div { grid-template-columns: 1fr; }
  .tt-packing-card { min-height: 205px; grid-template-columns: 125px minmax(0,1fr); }
  .tt-packing-card .tt-card-image { width: 125px; height: 205px; }
  .tt-gear { padding: 52px 15px 65px; }
  .tt-category-head { grid-template-columns: 1fr; }
  .tt-category-head > div { padding: 52px 16px 42px; }
  .tt-category-head h1 { font-size: 51px; }
  .tt-category-head figure { min-height: 360px; }
  .tt-category-brief, .tt-article-brief { grid-template-columns: 1fr; }
  .tt-category-brief > div, .tt-article-brief > div { min-height: 0; padding: 22px 16px; border-right: 0; border-bottom: 1px solid #13253f; }
  .tt-itinerary { padding: 52px 15px 65px; }
  .tt-stop { min-height: 150px; grid-template-columns: 55px minmax(0,1fr) 35px; }
  .tt-stop > span { font-size: 27px; }
  .tt-stop > div { padding: 20px 14px; }
  .tt-stop h2 { font-size: 25px; }
  .tt-stop p:last-child { display: none; }
  .tt-stop-arrow { font-size: 33px; }
  .tt-nearby { padding: 46px 15px; }
  .tt-nearby > div { grid-template-columns: 1fr; }
  .tt-nearby a { min-height: 105px; }
  .tt-article-head { grid-template-columns: 1fr; }
  .tt-article-head > div { padding: 36px 16px 27px; }
  .tt-article-head h1 { font-size: 37px; line-height: 1; }
  .tt-article-head > div > p:last-child { margin: 14px 0 0; font-size: 16px; line-height: 1.48; }
  .tt-article-head aside { padding: 17px 16px; display: grid; grid-template-columns: 52px minmax(0,1fr) 52px minmax(0,1fr); align-items: start; gap: 6px 10px; }
  .tt-article-head aside span { margin: 2px 0 0; }
  .tt-article-head aside strong { margin: 0; font-size: 14px; line-height: 1.3; }
  .tt-article-photo { height: 430px; }
  .tt-article-copy { padding: 52px 16px 32px; }
  .tt-answer { padding: 24px 20px; font-size: 22px; }
  .tt-article-copy h2 { font-size: 31px; }
  .tt-official { padding: 46px 16px; grid-template-columns: 1fr; gap: 20px; }
  .tt-official h2 { font-size: 31px; }
  .tt-related { padding: 52px 15px 65px; }
  .tt-policy { padding: 55px 16px 70px; }
  .tt-policy h1 { font-size: 46px; }
  .tt-policy-links { grid-template-columns: 1fr; }
  .tt-footer { padding: 50px 16px; grid-template-columns: 1fr; gap: 35px; }
}
