.travel-landing {
    --travel-navy: #071f3d; --travel-blue: #0b376b; --travel-gold: #f8b600;
    --travel-gold-dark: #8a6300; --travel-ink: #1c2e42; --travel-copy: #526277;
    --travel-soft: #f4f7fb; --travel-border: #dce5ef;
    color: var(--travel-copy); font-size: 16px; line-height: 1.75;
}
.travel-landing *, .travel-landing *::before, .travel-landing *::after { box-sizing: border-box; }
.travel-landing section[id] { scroll-margin-top: 120px; }
.travel-landing h1, .travel-landing h2, .travel-landing h3 { color: var(--travel-ink); font-family: Arial, Helvetica, sans-serif; }
.travel-landing h2 { font-size: clamp(29px, 3.2vw, 43px); font-weight: 750; letter-spacing: -.5px; line-height: 1.18; margin: 0 0 18px; }
.travel-landing h3 { font-size: 20px; font-weight: 700; line-height: 1.35; margin: 0 0 12px; }
.travel-landing p { margin: 0 0 18px; }
.travel-landing a:focus-visible, .travel-landing summary:focus-visible { outline: 3px solid var(--travel-gold); outline-offset: 4px; }
.travel-eyebrow { color: var(--travel-gold-dark) !important; font-size: 12px !important; font-weight: 800; letter-spacing: 1.7px; line-height: 1.4 !important; margin: 0 0 11px !important; text-transform: uppercase; }

.travel-hero { background: var(--travel-navy); min-height: 610px; overflow: hidden; padding: 175px 0 78px; position: relative; }
.travel-hero-image { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.travel-hero::after { background: linear-gradient(90deg, rgba(5,22,42,.97), rgba(5,25,48,.83) 53%, rgba(5,25,48,.28)); content: ''; inset: 0; position: absolute; }
.travel-hero-content { position: relative; z-index: 1; }
.travel-breadcrumb { color: rgba(255,255,255,.82); display: flex; flex-wrap: wrap; font-size: 13px; gap: 10px; margin-bottom: 45px; }
.travel-breadcrumb a { color: #fff; text-decoration: underline; }
.travel-hero .travel-eyebrow { color: #ffd568 !important; }
.travel-hero h1 { color: #fff !important; -webkit-text-fill-color: #fff; font-size: clamp(40px, 5vw, 62px); font-weight: 800; letter-spacing: -1.5px; line-height: 1.05; margin: 0 0 25px; max-width: 790px; }
.travel-hero-intro { color: #edf3f8; font-size: 18px; line-height: 1.75; max-width: 760px; }
.travel-hero-note { color: #d9e3ed; font-size: 13px; }
.travel-actions { display: flex; flex-wrap: wrap; gap: 13px; margin: 29px 0 18px; }
.travel-button { background: var(--travel-gold); border: 1px solid var(--travel-gold); border-radius: 6px; color: var(--travel-navy); display: inline-block; font-size: 15px; font-weight: 750; line-height: 1.4; padding: 14px 23px; text-align: center; transition: background .2s, border-color .2s, transform .2s; }
.travel-button:hover { background: #ffca35; border-color: #ffca35; color: var(--travel-navy); transform: translateY(-2px); }
.travel-button-outline { background: transparent; border-color: rgba(255,255,255,.8); color: #fff; }
.travel-button-outline:hover { background: #fff; border-color: #fff; }

.travel-section-nav { background: #fff; border-bottom: 1px solid var(--travel-border); box-shadow: 0 7px 24px rgba(7,31,61,.05); }
.travel-section-nav .container { display: flex; flex-wrap: wrap; gap: 12px 32px; padding-bottom: 18px; padding-top: 18px; }
.travel-section-nav a { color: #27496c; font-size: 14px; font-weight: 700; }
.travel-section-nav a:hover { color: var(--travel-gold-dark); text-decoration: underline; }
.travel-section { padding: 82px 0; }
.travel-section-soft { background: var(--travel-soft); }
.travel-lead { color: #42566d; font-size: 18px; line-height: 1.8; max-width: 820px; }
.travel-section-header { margin-bottom: 43px; max-width: 790px; }
.travel-section-header.text-center { margin-left: auto; margin-right: auto; text-align: center; }
.travel-section-header > p:last-child { color: #65768a; font-size: 17px; }

.travel-contact-card { background: linear-gradient(145deg, var(--travel-navy), var(--travel-blue)); border-radius: 20px; box-shadow: 0 20px 48px rgba(7,31,61,.18); color: #dce7f1; margin-left: 30px; overflow: hidden; padding: 34px; position: relative; }
.travel-contact-card::after { background: rgba(255,255,255,.04); border-radius: 50%; content: ''; height: 180px; position: absolute; right: -75px; top: -85px; width: 180px; }
.travel-contact-card h3 { color: #fff; font-size: 24px; position: relative; z-index: 1; }
.travel-contact-card p { font-size: 14px; }
.travel-contact-mark { color: var(--travel-gold); display: block; font-size: 13px; font-weight: 800; letter-spacing: 1px; margin-bottom: 19px; }
.travel-contact-card .travel-button { display: block; margin-top: 23px; }
.travel-phone { color: #fff; display: block; font-size: 14px; font-weight: 700; margin-top: 17px; text-align: center; text-decoration: underline; }

.travel-card-grid > div, .travel-guidance-grid > div, .travel-process-list > li { display: flex; }
.travel-service-card { background: #fff; border: 1px solid var(--travel-border); border-radius: 18px; box-shadow: 0 10px 30px rgba(7,31,61,.06); min-height: 300px; overflow: hidden; padding: 31px 29px; position: relative; transition: border-color .25s, box-shadow .25s, transform .25s; width: 100%; }
.travel-service-card::before { background: var(--travel-gold); content: ''; height: 4px; left: 0; opacity: 0; position: absolute; top: 0; transition: opacity .25s; width: 100%; }
.travel-service-card:hover { border-color: #cbd8e5; box-shadow: 0 18px 42px rgba(7,31,61,.12); transform: translateY(-5px); }
.travel-service-card:hover::before { opacity: 1; }
.travel-card-number { align-items: center; background: #fff4ce; border-radius: 13px; color: #755400; display: flex; font-size: 13px; font-weight: 800; height: 52px; justify-content: center; margin-bottom: 22px; width: 52px; }
.travel-service-card h3 { font-size: 21px; }
.travel-service-card p { color: #65768a; font-size: 15px; margin-bottom: 0; }

.travel-preparation { background: linear-gradient(135deg, var(--travel-navy), var(--travel-blue)); border-radius: 24px; box-shadow: 0 22px 50px rgba(7,31,61,.18); color: #dbe6ef; overflow: hidden; padding: 48px; position: relative; }
.travel-preparation::after { background: rgba(255,255,255,.035); border-radius: 50%; content: ''; height: 330px; position: absolute; right: -140px; top: -170px; width: 330px; }
.travel-preparation h2 { color: #fff; }
.travel-preparation .travel-eyebrow { color: #ffd568 !important; }
.travel-text-link { color: #ffd568; font-size: 14px; font-weight: 750; text-decoration: underline; }
.travel-checklist { display: grid; gap: 12px; list-style: none; margin: 0 0 0 45px; padding: 0; position: relative; z-index: 1; }
.travel-checklist li { background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.12); border-radius: 10px; color: #f2f6f9; font-size: 14px; padding: 14px 18px 14px 49px; position: relative; }
.travel-checklist li::before { align-items: center; background: var(--travel-gold); border-radius: 50%; color: var(--travel-navy); content: '\2713'; display: flex; font-size: 11px; font-weight: 900; height: 21px; justify-content: center; left: 17px; position: absolute; top: 15px; width: 21px; }

.travel-guidance { padding-top: 10px; }
.travel-guidance-card { border: 1px solid var(--travel-border); border-radius: 17px; height: 100%; padding: 31px; width: 100%; }
.travel-guidance-card h3 { font-size: 22px; padding-top: 5px; }
.travel-guidance-card p { color: #65768a; font-size: 15px; margin: 0; }
.travel-guidance-line { background: var(--travel-gold); border-radius: 4px; display: block; height: 4px; margin-bottom: 22px; width: 42px; }

.travel-process-list { list-style: none; margin-bottom: 0; padding: 0; }
.travel-process-card { background: #fff; border: 1px solid var(--travel-border); border-radius: 17px; box-shadow: 0 8px 24px rgba(7,31,61,.05); min-height: 270px; padding: 29px 25px; width: 100%; }
.travel-process-card > span { align-items: center; background: var(--travel-blue); border-radius: 12px; color: #fff; display: flex; font-size: 13px; font-weight: 800; height: 48px; justify-content: center; margin-bottom: 23px; width: 48px; }
.travel-process-card h3 { font-size: 18px; }
.travel-process-card p { color: #68798c; font-size: 14px; margin: 0; }
.travel-process-list li:last-child .travel-process-card { background: linear-gradient(145deg, var(--travel-navy), var(--travel-blue)); border-color: transparent; }
.travel-process-list li:last-child .travel-process-card > span { background: var(--travel-gold); color: var(--travel-navy); }
.travel-process-list li:last-child h3 { color: #fff; }
.travel-process-list li:last-child p { color: #dbe6ef; }

.travel-faq-wrap { max-width: 990px; }
.travel-faqs details { background: #fff; border: 1px solid var(--travel-border); border-radius: 12px; box-shadow: 0 6px 18px rgba(7,31,61,.04); margin-bottom: 13px; overflow: hidden; }
.travel-faqs summary { color: var(--travel-ink); cursor: pointer; font-size: 16px; font-weight: 750; list-style: none; padding: 20px 60px 20px 22px; position: relative; }
.travel-faqs summary::-webkit-details-marker { display: none; }
.travel-faqs summary::after { align-items: center; background: var(--travel-soft); border-radius: 50%; color: var(--travel-blue); content: '+'; display: flex; font-size: 20px; height: 30px; justify-content: center; position: absolute; right: 20px; top: 16px; width: 30px; }
.travel-faqs details[open] summary::after { background: var(--travel-blue); color: #fff; content: '\2212'; }
.travel-faqs details p { color: #65768a; font-size: 15px; margin: 0; max-width: 880px; padding: 0 60px 22px 22px; }

.travel-sources { background: #edf3f8; border-top: 1px solid var(--travel-border); padding: 22px 0; }
.travel-sources .container { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.travel-sources strong { color: var(--travel-ink); }
.travel-sources a { color: #28567f; font-size: 14px; text-decoration: underline; }
.travel-final-cta { background: linear-gradient(135deg, var(--travel-navy), var(--travel-blue)); color: #dbe6ef; overflow: hidden; position: relative; text-align: center; }
.travel-final-cta::before, .travel-final-cta::after { background: rgba(255,255,255,.035); border-radius: 50%; content: ''; position: absolute; }
.travel-final-cta::before { height: 390px; left: -170px; top: -200px; width: 390px; }
.travel-final-cta::after { bottom: -210px; height: 420px; right: -160px; width: 420px; }
.travel-final-inner { margin: auto; max-width: 820px; position: relative; z-index: 1; }
.travel-final-cta h2 { color: #fff; }
.travel-final-cta .travel-eyebrow { color: #ffd568 !important; }
.travel-final-cta .travel-actions { justify-content: center; }
.travel-final-phone { font-size: 14px; }
.travel-final-phone a { color: #fff; font-weight: 700; text-decoration: underline; }

@media (max-width: 991.98px) {
    .travel-contact-card { margin: 35px 0 0; }
    .travel-checklist { margin: 32px 0 0; }
    .travel-service-card { min-height: 0; }
}
@media (max-width: 767.98px) {
    .travel-hero { min-height: 0; padding: 155px 0 52px; }
    .travel-hero::after { background: rgba(5,22,42,.84); }
    .travel-hero h1 { font-size: 39px; letter-spacing: -.7px; }
    .travel-hero-intro { font-size: 16px; }
    .travel-breadcrumb { margin-bottom: 30px; }
    .travel-actions { flex-direction: column; }
    .travel-section-nav .container { gap: 9px 20px; }
    .travel-section { padding: 55px 0; }
    .travel-landing h2 { font-size: 28px; }
    .travel-section-header { margin-bottom: 32px; }
    .travel-contact-card, .travel-preparation { border-radius: 16px; padding: 27px 23px; }
    .travel-service-card, .travel-guidance-card, .travel-process-card { padding: 24px; }
    .travel-process-card { min-height: 0; }
    .travel-guidance { padding-top: 5px; }
}
@media (max-width: 479.98px) {
    .travel-hero h1 { font-size: 34px; }
    .travel-section-nav .container { display: grid; grid-template-columns: 1fr 1fr; }
    .travel-checklist li { padding-right: 13px; }
    .travel-faqs summary { font-size: 14px; padding-left: 17px; }
    .travel-faqs details p { font-size: 14px; padding-left: 17px; padding-right: 17px; }
}
@media (prefers-reduced-motion: reduce) {
    .travel-button, .travel-service-card { transition: none; }
    .travel-button:hover, .travel-service-card:hover { transform: none; }
}
