:root {
    --travel-ink: #172b28;
    --travel-muted: #60746b;
    --travel-teal: #1d5c4d;
    --travel-coral: #c8755a;
    --travel-yellow: #e8c66a;
    --travel-sky: #e2efe8;
    --travel-paper: #f5f8f3;
    --travel-line: #d6e2d8;
}

.travel-page { overflow: hidden; color: var(--travel-ink); background: var(--travel-paper); }
.travel-page .container { max-width: 1190px; }
.travel-hero { position: relative; padding: 96px 0 78px; background: var(--travel-paper); }
.travel-hero::before { content: ""; position: absolute; left: -160px; top: 30px; width: 330px; height: 330px; border: 1px solid #d7e7d9; border-radius: 50%; }
.travel-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: center; }
.travel-kicker, .travel-eyebrow { color: var(--travel-teal); font-size: .7rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.travel-kicker { display: block; margin-bottom: 21px; }
.travel-hero h1 { max-width: 560px; margin-bottom: 22px; color: var(--travel-ink); font-size: clamp(2.8rem, 5vw, 5.1rem); line-height: .94; letter-spacing: -.06em; }
.travel-hero h1 em { color: var(--travel-coral); font-style: normal; }
.travel-lead { max-width: 540px; color: var(--travel-muted); font-size: 1.04rem; line-height: 1.75; }
.travel-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.travel-button { display: inline-flex; align-items: center; gap: 11px; padding: 14px 19px; border-radius: 4px; font-size: .83rem; font-weight: 750; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.travel-button:hover { transform: translateY(-2px); }
.travel-button-primary { color: #fff; background: var(--travel-teal); box-shadow: 0 10px 22px rgba(23, 106, 104, .18); }
.travel-button-primary:hover { background: #0e5351; }
.travel-button-secondary { color: var(--travel-teal); border: 1px solid #bed7d4; background: rgba(255, 255, 255, .6); }
.travel-button-secondary:hover { box-shadow: 0 8px 18px rgba(23, 106, 104, .1); }

.travel-canvas { position: relative; min-height: 430px; padding: 28px; border-radius: 4px; background: var(--travel-sky); box-shadow: 16px 18px 0 #c8ddcf; }
.travel-canvas::before { content: ""; position: absolute; right: 25px; top: 23px; width: 78px; height: 78px; border-radius: 50%; background: var(--travel-yellow); }
.travel-canvas-label { position: relative; z-index: 1; display: inline-block; padding: 7px 10px; color: #fff; background: var(--travel-coral); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.travel-map { position: absolute; inset: 78px 28px 31px; }
.travel-route { position: absolute; left: 17%; top: 40%; width: 65%; height: 24%; border-top: 2px dashed var(--travel-teal); border-radius: 50%; transform: rotate(-12deg); }
.travel-stop { position: absolute; display: flex; align-items: center; gap: 7px; color: var(--travel-ink); font-size: .7rem; font-weight: 750; }
.travel-stop::before { content: ""; display: block; width: 13px; height: 13px; border: 3px solid var(--travel-paper); border-radius: 50%; background: var(--travel-coral); box-shadow: 0 0 0 2px var(--travel-teal); }
.travel-stop-one { left: 7%; top: 31%; }
.travel-stop-two { left: 47%; top: 57%; }
.travel-stop-three { right: 2%; top: 19%; }
.travel-ticket { position: absolute; left: 19px; bottom: 20px; width: 180px; padding: 13px; border: 1px solid rgba(23, 106, 104, .2); background: rgba(255, 250, 241, .88); transform: rotate(-4deg); }
.travel-ticket small { display: block; margin-bottom: 7px; color: var(--travel-coral); font-size: .6rem; font-weight: 800; letter-spacing: .1em; }
.travel-ticket strong { display: block; font-size: .84rem; }
.travel-ticket span { color: var(--travel-muted); font-size: .67rem; }

.travel-proof { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--travel-line); border-bottom: 1px solid var(--travel-line); background: #fff; }
.travel-proof-item { padding: 24px 18px; border-right: 1px solid var(--travel-line); text-align: center; }
.travel-proof-item:last-child { border-right: 0; }
.travel-proof strong { display: block; margin-bottom: 5px; color: var(--travel-coral); font-size: 1.25rem; }
.travel-proof span { color: var(--travel-muted); font-size: .71rem; }

.travel-section { padding: 92px 0; background: #fff; }
.travel-section-tint { background: #eef5f2; }
.travel-section-head { max-width: 660px; margin-bottom: 42px; }
.travel-section-head h2 { margin-top: 13px; font-size: clamp(2rem, 3.7vw, 3.4rem); line-height: 1.02; letter-spacing: -.05em; }
.travel-section-head p { margin-top: 17px; color: var(--travel-muted); line-height: 1.72; }
.travel-journey { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--travel-line); border-bottom: 1px solid var(--travel-line); }
.travel-journey-item { min-height: 205px; padding: 23px 20px; border-right: 1px solid var(--travel-line); }
.travel-journey-item:last-child { border-right: 0; }
.travel-journey-number { display: block; margin-bottom: 42px; color: var(--travel-coral); font-size: .68rem; font-weight: 800; }
.travel-journey-item h3 { margin-bottom: 9px; color: var(--travel-teal); font-size: 1rem; }
.travel-journey-item p { color: var(--travel-muted); font-size: .83rem; line-height: 1.65; }

.travel-solutions { background: #e7f0eb; }
.travel-solution { padding: 94px 0; border-top: 1px solid #cbded4; scroll-margin-top: 28px; }
.travel-solution:first-child { border-top: 0; }
.travel-solution:target { background: rgba(255, 255, 255, .25); }
.travel-solution-intro { display: grid; grid-template-columns: 80px minmax(0, 720px); gap: 34px; margin-bottom: 48px; }
.travel-solution-number { padding-top: 4px; color: var(--travel-coral); font-size: 2.8rem; font-weight: 800; line-height: 1; }
.travel-solution-intro h2 { margin: 13px 0 15px; font-size: clamp(2rem, 3.5vw, 3.2rem); line-height: 1.05; letter-spacing: -.05em; }
.travel-solution-intro p { max-width: 670px; color: var(--travel-muted); line-height: 1.75; }
.travel-solution-layout { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: 18px; align-items: stretch; }
.travel-solution-reverse .travel-solution-layout { grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); }
.travel-solution-reverse .travel-solution-visual { order: 2; }
.travel-solution-visual { min-height: 320px; padding: 27px; border-radius: 8px; background: var(--travel-teal); color: #fff; box-shadow: 14px 14px 0 #c8ddcf; }
.travel-visual-label { display: block; margin-bottom: 48px; color: var(--travel-yellow); font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.travel-solution-visual > strong { display: block; max-width: 340px; font-size: 1.4rem; line-height: 1.2; }
.travel-visual-route { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 38px; padding: 15px 0; border-top: 1px dashed rgba(255, 255, 255, .45); border-bottom: 1px dashed rgba(255, 255, 255, .45); color: #fff1dc; font-size: .74rem; }
.travel-visual-route b { color: var(--travel-yellow); font-size: .92rem; }
.travel-visual-meta { display: flex; justify-content: space-between; gap: 15px; margin-top: 27px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .2); color: #bdd8ce; font-size: .66rem; }
.travel-visual-meta b { display: block; margin-top: 5px; color: #fff; font-size: .8rem; }
.travel-solution-features { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; overflow: hidden; border: 1px solid #cbded4; border-radius: 8px; background: #cbded4; }
.travel-solution-features article { min-height: 159px; padding: 23px; background: #fff; }
.travel-solution-features b { display: block; margin-bottom: 22px; color: var(--travel-coral); font-size: .65rem; letter-spacing: .08em; }
.travel-solution-features h3 { margin-bottom: 7px; color: var(--travel-teal); font-size: 1rem; }
.travel-solution-features p { color: var(--travel-muted); font-size: .78rem; line-height: 1.55; }
.travel-booking-lines, .travel-search-metrics { display: grid; gap: 10px; margin-top: 29px; }
.travel-booking-lines span, .travel-search-metrics span { display: flex; justify-content: space-between; gap: 10px; padding: 11px 12px; border: 1px solid rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .06); color: #cfe2d9; font-size: .72rem; }
.travel-booking-lines i { width: 7px; height: 7px; margin: 4px 8px 0 0; border-radius: 50%; background: var(--travel-coral); }
.travel-booking-lines b, .travel-search-metrics b { color: #fff; }
.travel-booking-lines span { justify-content: flex-start; }
.travel-booking-lines b { margin-left: auto; }
.travel-search-metrics { grid-template-columns: repeat(3, 1fr); }
.travel-search-metrics span { display: block; padding: 13px; }
.travel-search-metrics b { display: block; margin-bottom: 5px; color: var(--travel-yellow); font-size: 1.15rem; }

.travel-service-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 16px; }
.travel-service { padding: 29px; border: 1px solid #d4e4df; border-radius: 7px; background: #fff; }
.travel-service-large { grid-row: span 2; background: var(--travel-teal); color: #fff; }
.travel-service h3 { margin-bottom: 10px; color: var(--travel-teal); font-size: 1.2rem; }
.travel-service-large h3 { color: var(--travel-yellow); font-size: 1.55rem; }
.travel-service p { color: var(--travel-muted); font-size: .87rem; line-height: 1.7; }
.travel-service-large p { color: #d0e3dc; }
.travel-service-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 26px; padding: 0; list-style: none; }
.travel-service-list li { padding: 11px 0; border-bottom: 1px solid rgba(255, 255, 255, .2); color: #f2f8f0; font-size: .78rem; }

.travel-cta { padding: 88px 0; background: var(--travel-coral); color: #fff; text-align: center; }
.travel-cta h2 { max-width: 730px; margin: 13px auto 17px; font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1; letter-spacing: -.055em; }
.travel-cta p { max-width: 590px; margin: auto; color: #ffe9df; line-height: 1.7; }
.travel-cta .travel-eyebrow { color: #fff5c9; }
.travel-cta .travel-button-primary { color: var(--travel-ink); background: var(--travel-yellow); box-shadow: none; }
.travel-cta .travel-button-primary:hover { background: #ffda83; }
.travel-cta .travel-button-secondary { color: #fff; border-color: rgba(255, 255, 255, .58); background: transparent; }
.travel-cta .travel-button-secondary:hover { background: rgba(255, 255, 255, .1); }

@media (max-width: 900px) { .travel-hero-grid { grid-template-columns: 1fr; gap: 54px; } .travel-canvas { max-width: 650px; margin: auto; } .travel-journey { grid-template-columns: repeat(2, 1fr); } .travel-journey-item:nth-child(2) { border-right: 0; } .travel-journey-item:nth-child(-n+2) { border-bottom: 1px solid var(--travel-line); } .travel-solution-layout, .travel-solution-reverse .travel-solution-layout { grid-template-columns: 1fr; } .travel-solution-reverse .travel-solution-visual { order: 0; } }
@media (max-width: 620px) { .travel-hero, .travel-section { padding: 64px 0; } .travel-hero h1 { font-size: 2.8rem; } .travel-canvas { min-height: 350px; padding: 20px; } .travel-map { inset: 72px 20px 20px; } .travel-proof { grid-template-columns: 1fr 1fr; } .travel-proof-item:nth-child(2) { border-right: 0; } .travel-proof-item:nth-child(-n+2) { border-bottom: 1px solid var(--travel-line); } .travel-journey, .travel-service-grid { grid-template-columns: 1fr; } .travel-journey-item, .travel-journey-item:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--travel-line); } .travel-journey-item:last-child { border-bottom: 0; } .travel-service-large { grid-row: auto; } .travel-service-list { grid-template-columns: 1fr; } .travel-solution { padding: 64px 0; } .travel-solution-intro { grid-template-columns: 1fr; gap: 16px; margin-bottom: 34px; } .travel-solution-number { font-size: 2.2rem; } .travel-solution-features { grid-template-columns: 1fr; } .travel-solution-features article { min-height: 0; } .travel-search-metrics { grid-template-columns: 1fr; } }
