@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

@media(max-width:760px) {
    .hero .hero-content .hero-note {
        bottom: 66px
    }
}

@media(max-width:760px) {
    .hero {
        min-height: 0
    }

    .hero-content {
        min-height: 0;
        align-items: flex-start
    }

    .hero-copy {
        padding: 34px 0 108px
    }

    h1 {
        font-size: clamp(38px, 10vw, 44px);
        line-height: 1.04;
        margin: 16px 0
    }

    .hero-lead {
        max-width: 350px;
        font-size: 14px;
        line-height: 1.55;
        margin-bottom: 16px
    }

    .hero-actions {
        gap: 12px
    }

    .hero-actions .btn {
        padding: 12px 15px;
        gap: 12px
    }

    .hero-trust {
        margin-top: 20px
    }

    .hero-note {
        right: 0;
        left: auto;
        bottom: 56px;
        max-width: 235px;
        padding: 9px 12px;
        gap: 9px
    }

    .note-icon {
        font-size: 20px
    }

    .hero-carousel-controls {
        bottom: 12px
    }

    .hero-stats {
        padding: 8px 0
    }

    .hero-stats>div {
        gap: 8px;
        padding: 4px 8px
    }

    .hero-stats strong {
        font-size: 18px
    }

    .hero-stats .stat-tag {
        display: none
    }
}

@media(max-width:390px) {
    .hero-copy {
        padding-top: 30px;
        padding-bottom: 106px
    }

    .hero-lead {
        font-size: 13px
    }

    .hero-note {
        max-width: 218px
    }

    .hero-stats>div {
        padding-inline: 4px
    }
}

.hero-photo {
    transition: opacity .25s ease
}

.hero-photo.is-changing {
    opacity: .35
}

.hero-carousel-controls {
    position: absolute;
    right: 0;
    bottom: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: 2
}

.hero-carousel-arrow {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border: 1px solid #ffffff80;
    border-radius: 50%;
    background: #0828579c;
    color: #fff;
    cursor: pointer;
    transition: background .2s, color .2s
}

.hero-carousel-arrow:hover {
    background: var(--gold);
    color: var(--navy)
}

.hero-carousel-dots {
    display: flex;
    align-items: center;
    gap: 6px
}

.hero-carousel-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: #ffffff90;
    cursor: pointer;
    transition: width .2s, background .2s
}

.hero-carousel-dots button.active {
    width: 20px;
    background: var(--gold2)
}

.destination-card[hidden] {
    display: none !important
}

main p,
.pre-footer p,
.site-footer p {
    font-size: 16px !important
}

main p span,
.consent span,
.footer-bottom span {
    font-size: 16px !important
}

main a:not(.btn):not(.nav-cta),
.site-footer a {
    font-size: 16px !important
}

@media(max-width:760px) {
    .hero-carousel-controls {
        bottom: 12px
    }

    .hero-note {
        bottom: 66px
    }
}

@media(prefers-reduced-motion:reduce) {
    .hero-photo {
        transition: none
    }

    .hero-carousel-arrow,
    .hero-carousel-dots button {
        transition: none
    }
}

:root {
    --navy: #082857;
    --navy2: #0b3a72;
    --blue: #145b9b;
    --gold: #d9a62e;
    --gold2: #f4c75f;
    --ink: #10233f;
    --muted: #63738a;
    --paper: #f8fafc;
    --line: #e5eaf1;
    --white: #fff;
    --shadow: 0 22px 65px rgba(8, 40, 87, .12);
    --radius: 24px
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px
}

body {
    margin: 0;
    color: var(--ink);
    background: #fff;
    font-family: 'DM Sans', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    overflow-x: hidden
}

img {
    max-width: 100%;
    display: block
}

a {
    color: inherit;
    text-decoration: none
}

button,
input,
textarea,
select {
    font: inherit
}

.wrap {
    width: min(1180px, calc(100% - 44px));
    margin-inline: auto
}

.page-progress {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: var(--gold)
}

.topbar {
    background: #061c3c;
    color: #dbe8f7;
    font-size: 11px;
    letter-spacing: .02em
}

.topbar-in {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px
}

.topbar a {
    color: #fff
}

.topbar-in>div {
    display: flex;
    gap: 13px;
    align-items: center
}

.topbar-sep {
    opacity: .4
}

.site-header {
    position: sticky;
    z-index: 100;
    top: 0;
    background: rgba(255, 255, 255, .94);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(8, 40, 87, .08)
}

.nav-wrap {
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px
}

.brand img {
    width: 218px;
    height: 75px;
    object-fit: contain;
    object-position: left center
}

.main-nav {
    display: flex;
    align-items: center;
    gap: 31px
}

.main-nav>a:not(.nav-cta) {
    font-size: 15px;
    font-weight: 700;
    color: #263a56;
    position: relative;
    padding: 10px 0
}

.main-nav>a:not(.nav-cta):after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 0;
    height: 2px;
    background: var(--gold);
    transition: width .3s
}

.main-nav>a:hover:after,
.main-nav>a.active:after {
    width: 100%
}

.main-nav>a.active {
    color: var(--navy)
}

.nav-cta {
    display: flex;
    gap: 14px;
    align-items: center;
    background: var(--navy);
    color: #fff;
    padding: 13px 18px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 8px 20px #08285720;
    transition: transform .25s, background .25s
}

.nav-cta span {
    color: var(--gold2);
    font-size: 17px
}

.nav-cta:hover {
    background: #104b8a;
    transform: translateY(-2px)
}

.menu-toggle {
    display: none;
    background: var(--navy);
    color: #fff;
    border: 0;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 22px
}

.hero {
    position: relative;
    min-height: 690px;
    color: #fff;
    background: #0a3265;
    isolation: isolate;
    overflow: hidden
}

.hero-photo,
.hero-shade {
    position: absolute;
    inset: 0;
    z-index: -2
}

.hero-photo {
    background-image: url('assets/hero-airplane.png');
    background-size: cover;
    background-position: center 56%;
    transform: scale(1.015);
    animation: heroDrift 22s ease-in-out infinite alternate
}

.hero-shade {
    z-index: -1;
    background: linear-gradient(90deg, rgba(4, 22, 50, .92) 0%, rgba(6, 31, 67, .8) 32%, rgba(6, 31, 67, .22) 66%, rgba(5, 23, 48, .06) 100%), linear-gradient(0deg, rgba(3, 22, 47, .45), transparent 36%)
}

.hero-content {
    min-height: 575px;
    display: flex;
    align-items: center;
    position: relative
}

.hero-copy {
    width: min(570px, 56%);
    padding: 70px 0 60px
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: 11px;
    color: #9b6c07;
    font-size: 10px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: .19em;
    text-transform: uppercase
}

.eyebrow.light {
    color: #f2c55a
}

.eyebrow-line {
    display: inline-block;
    width: 28px;
    height: 2px;
    background: var(--gold)
}

h1,
h2,
h3,
p {
    margin-top: 0
}

h1,
h2,
h3 {
    font-family: Manrope, 'DM Sans', sans-serif;
    letter-spacing: -.045em
}

h1 {
    font-size: clamp(46px, 6vw, 78px);
    line-height: 1.02;
    font-weight: 800;
    margin: 24px 0 24px;
    max-width: 670px
}

h1 em,
h2 em {
    font-style: normal;
    color: var(--gold2)
}

.hero-lead {
    font-size: 16px;
    line-height: 1.85;
    color: #edf4fc;
    max-width: 490px;
    margin-bottom: 28px
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: 26px;
    flex-wrap: wrap
}

.btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    border: 0;
    padding: 15px 21px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .01em;
    border-radius: 5px;
    transition: transform .25s, box-shadow .25s, background .25s;
    cursor: pointer
}

.btn span {
    font-size: 17px
}

.btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 25px #061d3c25
}

.btn-gold {
    color: #172d4c;
    background: linear-gradient(110deg, #f7d36f, #d9a62e)
}

.btn-outline {
    border: 1px solid #cbd7e4;
    background: #fff;
    color: var(--navy)
}

.btn-outline:hover {
    background: var(--navy);
    color: #fff
}

.text-play {
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: 12px;
    font-weight: 700;
    color: #fff
}

.play-circle {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #ffffff90;
    border-radius: 50%;
    font-size: 10px;
    transition: background .2s
}

.text-play:hover .play-circle {
    background: var(--gold);
    color: var(--navy)
}

.hero-trust {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 46px
}

.trust-avatars {
    display: flex
}

.trust-avatars span {
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    margin-right: -6px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--gold);
    color: var(--navy);
    font-size: 9px;
    font-weight: 800
}

.trust-avatars span:nth-child(2) {
    background: #dce8f7
}

.trust-avatars span:nth-child(3) {
    background: #0e4b85;
    color: #fff
}

.hero-trust strong,
.hero-trust small {
    display: block
}

.hero-trust strong {
    font-size: 14px
}

.hero-trust small {
    font-size: 10px;
    color: #c6d6e9
}

.hero-note {
    position: absolute;
    right: 0;
    bottom: 80px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 16px 18px;
    background: rgba(7, 36, 75, .72);
    border: 1px solid #ffffff45;
    backdrop-filter: blur(12px);
    border-radius: 10px;
    max-width: 295px;
    box-shadow: 0 15px 40px #001a3d40
}

.note-icon {
    font-size: 24px;
    color: var(--gold2)
}

.hero-note strong,
.hero-note small {
    display: block
}

.hero-note strong {
    font-size: 9px;
    letter-spacing: .12em
}

.hero-note small {
    font-size: 11px;
    color: #d7e4f4
}

.note-arrow {
    margin-left: auto;
    color: var(--gold2)
}

.hero-bottom {
    background: rgba(5, 27, 58, .85);
    border-top: 1px solid #ffffff2e
}

.hero-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    min-height: 88px;
    align-items: center
}

.hero-stats>div {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 0 20px;
    border-right: 1px solid #ffffff26
}

.hero-stats>div:first-child {
    padding-left: 0
}

.hero-stats strong {
    font-family: Manrope;
    font-size: 25px;
    color: var(--gold2)
}

.hero-stats span {
    font-size: 11px;
    color: #e4edf8
}

.hero-stats .stat-tag {
    border: 0;
    justify-content: flex-end;
    font-size: 9px;
    letter-spacing: .17em;
    font-weight: 800;
    color: #f4cf6a
}

.ticker {
    overflow: hidden;
    background: var(--gold);
    color: var(--navy);
    white-space: nowrap
}

.ticker-track {
    width: max-content;
    display: flex;
    align-items: center;
    gap: 29px;
    padding: 12px 0;
    animation: ticker 30s linear infinite;
    font-size: 10px;
    letter-spacing: .14em;
    font-weight: 800
}

.ticker b {
    font-size: 14px
}

.section {
    padding: 105px 0
}

.intro-grid {
    display: grid;
    grid-template-columns: .94fr 1.06fr;
    gap: 95px;
    align-items: center
}

.intro-visual {
    position: relative;
    min-height: 490px;
    padding: 0 25px 25px 0
}

.intro-image {
    height: 435px;
    border-radius: 9px;
    overflow: hidden;
    position: relative;
    box-shadow: var(--shadow)
}

.intro-image:after {
    content: '';
    position: absolute;
    inset: 35% 0 0;
    background: linear-gradient(0deg, rgba(5, 24, 51, .75), transparent)
}

.intro-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s
}

.intro-visual:hover .intro-image img {
    transform: scale(1.05)
}

.image-label {
    position: absolute;
    z-index: 1;
    bottom: 26px;
    left: 27px;
    color: #fff
}

.image-label span,
.image-label strong {
    display: block
}

.image-label span {
    font-size: 9px;
    letter-spacing: .15em;
    color: var(--gold2);
    font-weight: 800
}

.image-label strong {
    font-family: Manrope;
    font-size: 23px;
    margin-top: 4px
}

.round-stamp {
    position: absolute;
    top: 10px;
    right: -20px;
    width: 116px;
    height: 116px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    border: 1px solid #fff;
    border-radius: 50%;
    background: var(--gold);
    color: var(--navy);
    box-shadow: 0 8px 24px #08285724;
    transform: rotate(12deg);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .12em
}

.round-stamp b {
    font-size: 24px
}

.intro-small-card {
    position: absolute;
    bottom: 0;
    right: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 10px 40px #08285720
}

.mini-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    background: #edf3fa;
    border-radius: 50%;
    color: var(--navy);
    font-size: 21px
}

.intro-small-card b,
.intro-small-card small {
    display: block
}

.intro-small-card b {
    font-size: 11px
}

.intro-small-card small {
    font-size: 10px;
    color: var(--muted)
}

h2 {
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.13;
    font-weight: 800;
    margin: 17px 0 21px;
    color: var(--navy)
}

h2 em {
    color: #bd8616
}

.intro-copy>p,
.why-copy>p,
.process-intro>p,
.faq-intro>p {
    font-size: 14px;
    line-height: 1.95;
    color: var(--muted)
}

.under-link {
    display: inline-flex;
    align-items: center;
    gap: 22px;
    margin-top: 11px;
    padding-bottom: 7px;
    border-bottom: 1px solid #d7b35e;
    color: var(--navy);
    font-size: 12px;
    font-weight: 800
}

.under-link span {
    color: #b78010;
    font-size: 18px;
    transition: transform .2s
}

.under-link:hover span {
    transform: translate(3px, -3px)
}

.mini-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 33px;
    padding-top: 24px;
    border-top: 1px solid var(--line)
}

.mini-points>div {
    display: flex;
    flex-direction: column;
    gap: 7px
}

.mini-points b {
    font-size: 11px;
    color: #b78010
}

.mini-points span {
    font-size: 10px;
    font-weight: 700;
    color: #34445b
}

.services-section {
    background: var(--paper)
}

.section-head {
    max-width: 660px;
    margin-bottom: 45px
}

.section-head.centered {
    text-align: center;
    margin-left: auto;
    margin-right: auto
}

.section-head.centered .eyebrow {
    justify-content: center
}

.section-head h2 {
    margin-bottom: 15px
}

.section-head p {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.9;
    margin-bottom: 0
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 23px
}

.service-card {
    background: #fff;
    border: 1px solid #e9edf3;
    border-radius: 9px;
    overflow: hidden;
    transition: transform .35s, box-shadow .35s
}

.service-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow)
}

.service-img {
    height: 235px;
    position: relative;
    overflow: hidden
}

.service-img:after {
    content: '';
    position: absolute;
    inset: 40% 0 0;
    background: linear-gradient(0deg, rgba(6, 26, 55, .5), transparent)
}

.service-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s
}

.service-card:hover .service-img img {
    transform: scale(1.08)
}

.service-num {
    position: absolute;
    z-index: 1;
    right: 15px;
    top: 15px;
    width: 40px;
    height: 40px;
    border: 1px solid #fff9;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    background: #08285755
}

.service-content {
    padding: 27px 26px 25px
}

.card-kicker {
    font-size: 9px;
    letter-spacing: .15em;
    color: #b68010;
    font-weight: 800
}

.service-content h3 {
    font-size: 23px;
    line-height: 1.25;
    margin: 11px 0
}

.service-content p {
    font-size: 12px;
    line-height: 1.9;
    color: var(--muted);
    min-height: 70px
}

.card-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--line);
    padding-top: 16px;
    margin-top: 16px;
    font-size: 11px;
    font-weight: 800;
    color: var(--navy)
}

.card-link b {
    font-size: 17px;
    color: #b78010
}

.section-bottom {
    margin-top: 38px
}

.centered {
    text-align: center
}

.destinations-section {
    background: #fff
}

.split-head {
    max-width: none;
    display: grid;
    grid-template-columns: 1fr .8fr;
    align-items: end;
    gap: 70px
}

.split-head p {
    max-width: 430px;
    margin-bottom: 28px
}

.filter-tabs {
    display: flex;
    gap: 9px;
    justify-content: center;
    margin: 0 0 30px
}

.filter-tab {
    border: 1px solid #dce4ed;
    background: #fff;
    color: #52637a;
    border-radius: 30px;
    padding: 10px 22px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    transition: all .2s
}

.filter-tab:hover,
.filter-tab.active {
    background: var(--navy);
    border-color: var(--navy);
    color: #fff;
    box-shadow: 0 7px 18px #08285720
}

.destination-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px
}

.destination-card {
    height: 370px;
    position: relative;
    border-radius: 9px;
    overflow: hidden;
    background: #dce5ee;
    isolation: isolate;
    transition: transform .3s
}

.destination-card[hidden] {
    display: none
}

.destination-card>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
    transition: transform .7s
}

.destination-card:after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(0deg, rgba(3, 22, 48, .94), rgba(4, 29, 62, .03) 78%)
}

.destination-card:hover {
    transform: translateY(-5px)
}

.destination-card:hover>img {
    transform: scale(1.07)
}

.destination-overlay {
    position: absolute;
    left: 23px;
    right: 22px;
    bottom: 22px;
    color: #fff
}

.country-tag {
    font-size: 9px;
    letter-spacing: .15em;
    font-weight: 800;
    color: var(--gold2)
}

.destination-overlay h3 {
    font-size: 28px;
    margin: 7px 0
}

.destination-overlay p {
    font-size: 11px;
    color: #d7e4f4;
    max-width: 240px;
    margin-bottom: 15px
}

.destination-overlay a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #ffffff50;
    padding-top: 13px;
    font-size: 10px;
    font-weight: 800
}

.destination-overlay a b {
    font-size: 17px;
    color: var(--gold2)
}

.destination-note {
    margin-top: 19px;
    color: #8592a4;
    font-size: 10px;
    text-align: center
}

.process-section {
    background: #f5f8fb;
    position: relative;
    overflow: hidden
}

.process-wrap {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 95px
}

.process-intro {
    position: relative
}

.process-plane {
    font-size: 120px;
    line-height: 1;
    color: #e5edf5;
    transform: rotate(-16deg);
    margin-top: 30px
}

.process-steps {
    border-top: 1px solid #dce4ed
}

.process-step {
    display: grid;
    grid-template-columns: 56px 1fr 25px;
    gap: 18px;
    align-items: start;
    padding: 25px 0;
    border-bottom: 1px solid #dce4ed;
    transition: padding .3s
}

.process-step:hover {
    padding-left: 9px
}

.step-number {
    font-family: Manrope;
    font-size: 18px;
    font-weight: 800;
    color: #bc8819
}

.process-step h3 {
    font-size: 18px;
    margin: 0 0 7px
}

.process-step p {
    font-size: 12px;
    color: var(--muted);
    line-height: 1.8;
    margin: 0
}

.step-mark {
    color: #b78010;
    font-size: 19px
}

.why-grid {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 88px;
    align-items: center
}

.why-photo {
    position: relative;
    height: 540px;
    border-radius: 10px;
    overflow: hidden
}

.why-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s
}

.why-photo:hover img {
    transform: scale(1.05)
}

.why-photo:after {
    content: '';
    position: absolute;
    inset: 40% 0 0;
    background: linear-gradient(0deg, #051b3ce0, transparent)
}

.why-photo-caption {
    position: absolute;
    bottom: 28px;
    left: 28px;
    right: 25px;
    color: #fff;
    z-index: 1
}

.why-photo-caption span,
.why-photo-caption b {
    display: block
}

.why-photo-caption span {
    font-size: 9px;
    letter-spacing: .17em;
    color: var(--gold2);
    font-weight: 800
}

.why-photo-caption b {
    font: 800 26px Manrope;
    line-height: 1.25;
    margin-top: 7px;
    max-width: 330px
}

.benefit-list {
    margin-top: 27px
}

.benefit-list>div {
    display: flex;
    gap: 15px;
    padding: 16px 0;
    border-bottom: 1px solid var(--line)
}

.benefit-list>div>span {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f9f1df;
    color: #a8750b;
    display: grid;
    place-items: center;
    font-size: 17px
}

.benefit-list h3 {
    font-size: 16px;
    margin: 0 0 4px
}

.benefit-list p {
    font-size: 11px;
    color: var(--muted);
    margin: 0;
    line-height: 1.8
}

.testimonial-section {
    background: var(--paper)
}

.testimonial-shell {
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    gap: 18px;
    align-items: center
}

.slider-arrow {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid #dbe3ed;
    background: #fff;
    color: var(--navy);
    font-size: 20px;
    cursor: pointer;
    transition: all .2s
}

.slider-arrow:hover {
    background: var(--navy);
    color: #fff
}

.testimonial-track {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px
}

.testimonial {
    background: #fff;
    border: 1px solid #e4eaf2;
    border-radius: 10px;
    padding: 27px;
    position: relative;
    transition: transform .3s, box-shadow .3s
}

.testimonial.active {
    box-shadow: 0 15px 35px #0828570d
}

.quote-mark {
    font-family: Georgia;
    font-size: 45px;
    color: #e5bd5a;
    line-height: .9
}

.stars {
    font-size: 12px;
    letter-spacing: 3px;
    color: #d9a62e;
    margin: 15px 0
}

.testimonial blockquote {
    font-size: 16px;
    line-height: 1.9;
    color: #4c5b70;
    margin: 0;
    min-height: 110px
}

.reviewer {
    display: flex;
    align-items: center;
    gap: 11px;
    border-top: 1px solid var(--line);
    padding-top: 18px;
    margin-top: 18px
}

.review-avatar {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eaf0f7;
    color: var(--navy);
    font-weight: 800
}

.reviewer strong,
.reviewer small {
    display: block
}

.reviewer strong {
    font-size: 11px
}

.reviewer small {
    font-size: 14px;
    color: var(--muted)
}

.slider-dots {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 24px
}

.slider-dots button {
    width: 7px;
    height: 7px;
    border: 0;
    border-radius: 50%;
    background: #cbd5e1;
    padding: 0;
    cursor: pointer
}

.slider-dots button.active {
    width: 22px;
    border-radius: 10px;
    background: var(--gold)
}

.review-disclaimer {
    text-align: center;
    color: #8b96a6;
    font-size: 10px;
    margin: 17px 0 0
}

.faq-grid {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 95px
}

.faq-list details {
    border-bottom: 1px solid var(--line)
}

.faq-list details:first-child {
    border-top: 1px solid var(--line)
}

.faq-list summary {
    list-style: none;
    cursor: pointer;
    padding: 21px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    font-family: Manrope;
    font-weight: 800;
    font-size: 14px;
    color: var(--navy)
}

.faq-list summary::-webkit-details-marker {
    display: none
}

.faq-list summary span {
    font-size: 21px;
    color: #b78010;
    transition: transform .2s
}

.faq-list details[open] summary span {
    transform: rotate(45deg)
}

.faq-list details p {
    font-size: 12px;
    line-height: 1.9;
    color: var(--muted);
    padding: 0 30px 19px 0;
    margin: 0;
    max-width: 700px
}

.contact-strip {
    background: var(--navy);
    padding: 54px 0;
    position: relative;
    overflow: hidden
}

.contact-strip:after {
    content: '✈';
    position: absolute;
    right: 7%;
    top: -35px;
    font-size: 150px;
    color: #ffffff08;
    transform: rotate(-15deg)
}

.contact-strip-in {
    display: flex;
    align-items: center;
    gap: 25px;
    position: relative;
    z-index: 1
}

.contact-strip-icon {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border: 1px solid #ffffff45;
    border-radius: 50%;
    font-size: 27px;
    color: var(--gold2);
    flex: 0 0 64px
}

.contact-strip h2 {
    font-size: 29px;
    color: #fff;
    margin: 8px 0 0;
    max-width: 660px
}

.contact-strip h2 em {
    color: var(--gold2)
}

.contact-strip .btn {
    margin-left: auto;
    white-space: nowrap
}

.pre-footer {
    position: relative;
    overflow: hidden;
    background: linear-gradient(110deg, #0d4a87, #082857);
    color: #fff;
    padding: 60px 0
}

.pre-footer-in {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    position: relative;
    z-index: 1
}

.pre-footer h2 {
    color: #fff;
    font-size: 34px;
    margin: 12px 0
}

.pre-footer h2 em {
    color: var(--gold2)
}

.pre-footer p {
    font-size: 12px;
    color: #d4e2f2;
    margin: 0
}

.plane-doodle {
    position: absolute;
    right: 20%;
    top: -28px;
    font-size: 120px;
    color: #ffffff0b;
    transform: rotate(-15deg)
}

.site-footer {
    background: #061b38;
    color: #d4dfed;
    padding-top: 62px
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr .7fr 1fr 1.1fr;
    gap: 55px;
    padding-bottom: 48px
}

.footer-brand img {
    width: 130px;
    height: 70px;
    object-fit: contain;
    object-position: left center;
    background: #fff;
    border-radius: 5px;
    padding: 5px
}

.footer-brand p,
.footer-grid>div>p {
    font-size: 11px;
    line-height: 1.9;
    color: #9fb2cb;
    margin: 19px 0;
    max-width: 280px
}

.footer-grid h3 {
    font-size: 13px;
    color: #fff;
    letter-spacing: 0;
    margin: 7px 0 20px
}

.footer-grid>div>a:not(.footer-brand a) {
    display: block;
    font-size: 11px;
    color: #aebed2;
    margin: 11px 0;
    transition: color .2s
}

.footer-grid>div>a:hover {
    color: var(--gold2)
}

.socials {
    display: flex;
    gap: 9px
}

.socials a {
    width: 30px;
    height: 30px;
    border: 1px solid #ffffff35;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 11px;
    color: var(--gold2)
}

.footer-bottom {
    border-top: 1px solid #ffffff1b
}

.footer-bottom .wrap {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    font-size: 10px;
    color: #8397b0
}

.floating-whatsapp {
    position: fixed;
    z-index: 90;
    right: 20px;
    bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 17px;
    border-radius: 30px;
    background: #0b7c56;
    color: #fff;
    box-shadow: 0 10px 30px #001a3d38;
    font-size: 11px;
    font-weight: 800;
    transition: transform .2s
}

.floating-whatsapp:hover {
    transform: translateY(-3px)
}

/* Inner pages */
.inner-hero {
    position: relative;
    min-height: 435px;
    display: flex;
    align-items: center;
    color: #fff;
    background: #0a3265;
    isolation: isolate;
    overflow: hidden
}

.inner-hero-image {
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: url('assets/hero-airplane.png');
    background-size: cover;
    background-position: center 48%
}

.inner-hero:after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, #061b3cee 0%, #092e5fce 42%, #08285742 100%)
}

.inner-hero-content {
    padding: 72px 0 60px
}

.inner-hero h1 {
    font-size: clamp(44px, 5.6vw, 68px);
    margin: 17px 0
}

.inner-hero h1 em {
    color: var(--gold2)
}

.inner-hero p {
    max-width: 550px;
    font-size: 14px;
    color: #dce8f7;
    line-height: 1.9
}

.breadcrumbs {
    font-size: 10px;
    color: #d7e4f4;
    margin-top: 30px
}

.breadcrumbs a {
    color: var(--gold2)
}

.about-intro {
    padding-top: 10px
}

.intro-image.tall {
    height: 500px
}

.values-section {
    background: var(--paper)
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px
}

.value-card {
    background: #fff;
    border: 1px solid #e6ebf2;
    border-radius: 8px;
    padding: 28px 23px;
    transition: transform .3s, box-shadow .3s
}

.value-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow)
}

.value-icon {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #f9f0db;
    color: #a8750b;
    font-size: 22px
}

.value-index {
    display: block;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .14em;
    color: #a8750b;
    margin: 25px 0 9px
}

.value-card h3 {
    font-size: 19px;
    line-height: 1.3;
    margin-bottom: 10px
}

.value-card p {
    font-size: 11px;
    line-height: 1.9;
    color: var(--muted);
    margin: 0
}

.about-destination {
    background: #f4f7fa
}

.about-destination-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 75px;
    align-items: center
}

.about-destination-grid>img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: var(--shadow)
}

.about-destination-grid p {
    font-size: 13px;
    line-height: 1.9;
    color: var(--muted)
}

.services-hero .inner-hero-image {
    background-position: center 60%
}

.service-detail-grid {
    display: flex;
    flex-direction: column;
    gap: 30px
}

.service-detail {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    border: 1px solid #e5eaf1;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    scroll-margin-top: 110px;
    transition: box-shadow .3s
}

.service-detail:hover {
    box-shadow: var(--shadow)
}

.service-detail.reverse {
    grid-template-columns: 1.15fr .85fr
}

.service-detail.reverse .detail-image {
    order: 2
}

.service-detail.reverse .detail-body {
    order: 1
}

.detail-image {
    position: relative;
    min-height: 350px;
    overflow: hidden
}

.detail-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s
}

.service-detail:hover .detail-image img {
    transform: scale(1.05)
}

.detail-image span {
    position: absolute;
    top: 20px;
    left: 20px;
    display: grid;
    place-items: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: var(--gold);
    color: var(--navy);
    font-size: 12px;
    font-weight: 800
}

.detail-body {
    padding: 38px 42px
}

.detail-body h2 {
    font-size: 31px;
    margin: 10px 0 13px
}

.detail-body>p {
    font-size: 12px;
    line-height: 1.9;
    color: var(--muted)
}

.detail-body ul {
    padding-left: 18px;
    margin: 18px 0;
    color: #42536b;
    font-size: 15px;
    line-height: 2.1
}

.detail-body li::marker {
    color: #b78010
}

.detail-body .under-link {
    font-size: 11px
}

.service-process-band {
    background: var(--navy);
    color: #fff
}

.service-process-band h2 {
    color: #fff
}

.compact-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px
}

.compact-steps>div {
    border-top: 1px solid #ffffff38;
    padding: 20px 0
}

.compact-steps b {
    font-family: Manrope;
    font-size: 24px;
    color: var(--gold2)
}

.compact-steps h3 {
    font-size: 18px;
    margin: 10px 0 5px
}

.compact-steps p {
    font-size: 11px;
    color: #c5d4e7;
    line-height: 1.8
}

.service-disclaimer {
    display: flex;
    gap: 17px;
    padding: 25px 28px;
    border: 1px solid #eadbb6;
    border-radius: 8px;
    background: #fffcf4
}

.service-disclaimer>span {
    font-size: 27px;
    color: #a8750b
}

.service-disclaimer h3 {
    font-size: 16px;
    margin: 0 0 7px
}

.service-disclaimer p {
    font-size: 11px;
    color: #67768a;
    line-height: 1.9;
    margin: 0
}

.contact-hero .inner-hero-image {
    background-position: center 42%
}

.contact-page-section {
    background: var(--paper)
}

.contact-page-grid {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 65px;
    align-items: start
}

.contact-details h2 {
    font-size: 38px
}

.contact-details>p {
    font-size: 12px;
    color: var(--muted);
    line-height: 1.95
}

.contact-info-card {
    display: flex;
    gap: 15px;
    padding: 18px 0;
    border-bottom: 1px solid #e1e7ef
}

.contact-info-icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    flex: 0 0 40px;
    border-radius: 50%;
    background: #fff1d2;
    color: #a8750b;
    font-size: 18px
}

.contact-info-card small {
    display: block;
    color: #a8750b;
    font-size: 9px;
    letter-spacing: .15em;
    font-weight: 800
}

.contact-info-card strong {
    font-size: 12px;
    color: var(--navy)
}

.contact-info-card p {
    font-size: 11px;
    color: var(--muted);
    line-height: 1.8;
    margin: 5px 0 0
}

.contact-side-image {
    margin-top: 24px;
    height: 180px;
    border-radius: 8px;
    overflow: hidden;
    position: relative
}

.contact-side-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right 45%
}

.contact-side-image:after {
    content: '';
    position: absolute;
    inset: 25% 0 0;
    background: linear-gradient(0deg, #061b3ce0, transparent)
}

.contact-side-image>div {
    position: absolute;
    z-index: 1;
    left: 18px;
    bottom: 15px;
    color: #fff
}

.contact-side-image b,
.contact-side-image span {
    display: block
}

.contact-side-image b {
    font: 800 17px Manrope
}

.contact-side-image span {
    font-size: 10px;
    color: #e1eaf5
}

.contact-form-wrap {
    padding: 36px;
    background: #fff;
    border: 1px solid #e4eaf2;
    border-radius: 10px;
    box-shadow: 0 16px 45px #0828570a
}

.form-top {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    padding-bottom: 23px;
    border-bottom: 1px solid var(--line);
    margin-bottom: 24px
}

.form-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 50%;
    background: var(--navy);
    color: var(--gold2);
    font-size: 22px
}

.form-top small {
    font-size: 9px;
    letter-spacing: .15em;
    color: #a8750b;
    font-weight: 800
}

.form-top h2 {
    font-size: 25px;
    margin: 5px 0
}

.form-top p {
    font-size: 11px;
    color: var(--muted);
    margin: 0
}

.contact-form-wrap form label {
    display: block;
    font-size: 10px;
    font-weight: 800;
    color: #35475e;
    margin-bottom: 17px
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.contact-form-wrap input:not([type=checkbox]),
.contact-form-wrap select,
.contact-form-wrap textarea {
    width: 100%;
    display: block;
    margin-top: 7px;
    border: 1px solid #dfe6ee;
    border-radius: 5px;
    background: #fbfcfe;
    padding: 12px 13px;
    color: var(--ink);
    font-size: 11px;
    outline: none;
    transition: border .2s, box-shadow .2s
}

.contact-form-wrap input:focus,
.contact-form-wrap select:focus,
.contact-form-wrap textarea:focus {
    border-color: #8fa9c8;
    box-shadow: 0 0 0 3px #dce8f5
}

.contact-form-wrap textarea {
    resize: vertical
}

.contact-form-wrap input::placeholder,
.contact-form-wrap textarea::placeholder {
    color: #9ba7b5
}

.consent {
    display: flex !important;
    align-items: flex-start;
    gap: 9px;
    font-weight: 500 !important;
    color: #66758a !important;
    line-height: 1.7
}

.consent input {
    margin-top: 3px;
    accent-color: var(--navy)
}

.form-submit {
    width: 100%;
    justify-content: space-between
}

.form-note {
    font-size: 10px;
    line-height: 1.7;
    color: #8793a2;
    margin: 13px 0 0
}

.form-status {
    font-size: 11px;
    color: #0a6b4d;
    margin-top: 9px
}

.map-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 27px
}

.map-heading h2 {
    margin-bottom: 0
}

.map-heading p {
    font-size: 12px;
    color: var(--muted);
    line-height: 1.8;
    margin: 0
}

.map-placeholder {
    height: 320px;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    background-color: #e9f0f3;
    background-image: linear-gradient(28deg, transparent 47%, #c8d8d8 48%, #c8d8d8 50%, transparent 51%), linear-gradient(110deg, transparent 47%, #d4e1dc 48%, #d4e1dc 50%, transparent 51%), linear-gradient(0deg, transparent 49%, #fff 49%, #fff 51%, transparent 51%);
    background-size: 190px 140px, 220px 180px, 100% 95px
}

.map-lines {
    position: absolute;
    inset: -30px;
    background: repeating-linear-gradient(32deg, transparent 0 65px, #ffffffaa 66px 71px, transparent 72px 145px);
    opacity: .8
}

.map-pin {
    position: absolute;
    left: 50%;
    top: 43%;
    transform: translate(-50%, -50%);
    width: 55px;
    height: 55px;
    border-radius: 50% 50% 50% 0;
    transform: translate(-50%, -50%) rotate(-45deg);
    display: grid;
    place-items: center;
    background: var(--navy);
    color: var(--gold2);
    font-size: 25px;
    box-shadow: 0 9px 22px #08285738
}

.map-card {
    position: absolute;
    left: calc(50% + 42px);
    top: 36%;
    display: flex;
    gap: 12px;
    align-items: center;
    background: #fff;
    padding: 17px 20px;
    border-radius: 8px;
    box-shadow: var(--shadow);
    min-width: 265px
}

.map-card-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f9f0db;
    color: #a8750b
}

.map-card strong,
.map-card small,
.map-card a {
    display: block
}

.map-card strong {
    font-size: 11px
}

.map-card small {
    font-size: 10px;
    color: var(--muted);
    margin: 3px 0
}

.map-card a {
    font-size: 10px;
    font-weight: 800;
    color: #a8750b
}

.contact-faq {
    background: var(--paper)
}

/* motion & responsive */
.reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .7s ease, transform .7s cubic-bezier(.2, .75, .2, 1)
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0)
}

@keyframes ticker {
    to {
        transform: translateX(-50%)
    }
}

@keyframes heroDrift {
    to {
        transform: scale(1.07) translateX(-1.2%)
    }
}

@media(prefers-reduced-motion:reduce) {

    *,
    *:before,
    *:after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important
    }

    .reveal {
        opacity: 1;
        transform: none
    }
}

@media(max-width:1000px) {
    .main-nav {
        gap: 19px
    }

    .nav-cta {
        padding: 12px 14px
    }

    .brand img {
        width: 190px
    }

    .hero {
        min-height: 640px
    }

    .hero-content {
        min-height: 540px
    }

    .hero-copy {
        width: 60%
    }

    .hero-note {
        right: 0;
        bottom: 55px
    }

    .intro-grid,
    .why-grid {
        gap: 55px
    }

    .process-wrap,
    .faq-grid {
        gap: 55px
    }

    .footer-grid {
        gap: 30px
    }

    .contact-page-grid {
        gap: 35px
    }

    .destination-card {
        height: 340px
    }

    .service-content {
        padding: 22px
    }

    .contact-form-wrap {
        padding: 28px
    }
}

@media(max-width:760px) {
    .wrap {
        width: min(100% - 32px, 560px)
    }

    .topbar-in {
        justify-content: center;
        min-height: 33px
    }

    .topbar-in>span {
        display: none
    }

    .topbar-in>div {
        gap: 8px;
        font-size: 9px
    }

    .topbar-in>div>span:last-child {
        display: none
    }

    .nav-wrap {
        min-height: 72px
    }

    .brand img {
        width: 185px;
        height: 59px
    }

    .menu-toggle {
        display: block
    }

    .main-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        padding: 14px 20px 22px;
        background: #fff;
        border-bottom: 1px solid var(--line);
        box-shadow: 0 15px 25px #08285710;
        align-items: stretch;
        gap: 4px
    }

    .main-nav.open {
        display: flex;
        flex-direction: column
    }

    .main-nav>a:not(.nav-cta) {
        padding: 12px 4px
    }

    .main-nav .nav-cta {
        justify-content: space-between;
        margin-top: 8px
    }

    .hero {
        min-height: 720px
    }

    .hero-photo {
        background-position: 62% center
    }

    .hero-shade {
        background: linear-gradient(90deg, rgba(4, 22, 50, .88), rgba(6, 31, 67, .52)), linear-gradient(0deg, rgba(3, 22, 47, .5), transparent 65%)
    }

    .hero-content {
        min-height: 600px;
        align-items: flex-start
    }

    .hero-copy {
        width: 100%;
        padding: 78px 0 130px
    }

    .hero h1 {
        font-size: clamp(48px, 12vw, 68px);
        max-width: 450px
    }

    .hero-lead {
        max-width: 420px;
        font-size: 14px
    }

    .hero-note {
        bottom: 24px;
        left: 0;
        right: auto;
        max-width: 290px;
        padding: 12px 15px
    }

    .hero-trust {
        margin-top: 33px
    }

    .hero-stats {
        grid-template-columns: 1fr 1fr;
        padding: 15px 0
    }

    .hero-stats>div {
        padding: 12px 8px;
        border-right: 0
    }

    .hero-stats>div:first-child {
        padding-left: 8px
    }

    .hero-stats .stat-tag {
        justify-content: flex-start;
        font-size: 8px
    }

    .hero-stats strong {
        font-size: 21px
    }

    .hero-stats span {
        font-size: 10px
    }

    .section {
        padding: 72px 0
    }

    .intro-grid,
    .why-grid,
    .process-wrap,
    .faq-grid,
    .about-destination-grid,
    .contact-page-grid {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .intro-visual {
        min-height: 430px;
        max-width: 480px;
        width: 100%;
        margin: auto
    }

    .intro-image {
        height: 390px
    }

    .intro-image.tall {
        height: 430px
    }

    .round-stamp {
        width: 96px;
        height: 96px;
        right: -3px;
        font-size: 7px
    }

    .intro-small-card {
        right: 0
    }

    .intro-copy {
        max-width: 560px
    }

    .mini-points {
        gap: 8px
    }

    .mini-points span {
        font-size: 9px
    }

    .section-head {
        margin-bottom: 32px
    }

    .section-head h2,
    .intro-copy h2,
    .why-copy h2,
    .process-intro h2,
    .faq-intro h2 {
        font-size: 34px
    }

    .service-grid {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .service-img {
        height: 250px
    }

    .service-content p {
        min-height: 0
    }

    .split-head {
        grid-template-columns: 1fr;
        gap: 5px
    }

    .split-head p {
        margin: 0 0 25px
    }

    .filter-tabs {
        gap: 6px;
        flex-wrap: wrap
    }

    .filter-tab {
        padding: 9px 14px;
        font-size: 10px
    }

    .destination-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px
    }

    .destination-card {
        height: 300px
    }

    .destination-overlay {
        left: 15px;
        right: 15px;
        bottom: 16px
    }

    .destination-overlay h3 {
        font-size: 22px
    }

    .destination-overlay p {
        font-size: 10px
    }

    .destination-overlay a {
        font-size: 9px
    }

    .process-plane {
        font-size: 75px;
        margin-top: 10px
    }

    .process-step {
        grid-template-columns: 42px 1fr 20px;
        gap: 12px;
        padding: 21px 0
    }

    .process-step h3 {
        font-size: 16px
    }

    .why-photo {
        height: 410px
    }

    .testimonial-shell {
        grid-template-columns: 32px 1fr 32px;
        gap: 6px
    }

    .slider-arrow {
        width: 31px;
        height: 31px;
        font-size: 16px
    }

    .testimonial-track {
        display: block
    }

    .testimonial {
        display: none;
        padding: 25px
    }

    .testimonial.active {
        display: block
    }

    .testimonial blockquote {
        min-height: 0
    }

    .contact-strip-in {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 15px
    }

    .contact-strip-icon {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
        font-size: 21px
    }

    .contact-strip-in>div:nth-child(2) {
        flex: 1;
        min-width: 210px
    }

    .contact-strip h2 {
        font-size: 25px
    }

    .contact-strip .btn {
        margin-left: 63px
    }

    .pre-footer {
        padding: 45px 0
    }

    .pre-footer-in {
        align-items: flex-start;
        flex-direction: column
    }

    .pre-footer h2 {
        font-size: 28px
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px 22px
    }

    .footer-brand {
        grid-column: 1/-1
    }

    .footer-grid>div:last-child {
        grid-column: 1/-1
    }

    .footer-bottom .wrap {
        padding: 15px 0;
        align-items: flex-start;
        flex-direction: column;
        gap: 4px
    }

    .floating-whatsapp {
        right: 12px;
        bottom: 12px;
        padding: 10px 13px
    }

    .inner-hero {
        min-height: 400px
    }

    .inner-hero-content {
        padding: 65px 0 40px
    }

    .inner-hero h1 {
        font-size: clamp(42px, 10vw, 60px)
    }

    .values-grid {
        grid-template-columns: 1fr 1fr
    }

    .value-card {
        padding: 22px 17px
    }

    .value-card h3 {
        font-size: 17px
    }

    .about-destination-grid {
        gap: 25px
    }

    .about-destination-grid>img {
        height: 270px
    }

    .service-detail,
    .service-detail.reverse {
        grid-template-columns: 1fr
    }

    .service-detail.reverse .detail-image,
    .service-detail.reverse .detail-body {
        order: initial
    }

    .detail-image {
        min-height: 250px
    }

    .detail-body {
        padding: 27px 24px
    }

    .detail-body h2 {
        font-size: 27px
    }

    .compact-steps {
        grid-template-columns: 1fr 1fr;
        gap: 10px 22px
    }

    .map-heading {
        align-items: flex-start;
        flex-direction: column
    }

    .map-placeholder {
        height: 270px
    }

    .map-card {
        left: calc(50% - 90px);
        top: 55%;
        min-width: 230px;
        padding: 13px
    }

    .map-pin {
        left: 50%;
        top: 38%
    }

    .contact-form-wrap {
        padding: 23px 18px
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0
    }

    .form-top h2 {
        font-size: 22px
    }

    .contact-details h2 {
        font-size: 34px
    }

    .contact-side-image {
        height: 150px
    }
}

@media(max-width:390px) {
    .wrap {
        width: calc(100% - 26px)
    }

    .brand img {
        width: 165px
    }

    .hero-actions {
        gap: 16px
    }

    .hero-actions .btn {
        padding: 13px 15px;
        gap: 12px
    }

    .hero {
        min-height: 745px
    }

    .hero-copy {
        padding-top: 64px
    }

    .hero-stats>div {
        gap: 8px
    }

    .hero-stats strong {
        font-size: 18px
    }

    .destination-card {
        height: 265px
    }

    .destination-overlay h3 {
        font-size: 19px
    }

    .destination-overlay p {
        font-size: 9px
    }

    .country-tag {
        font-size: 8px
    }

    .values-grid {
        gap: 10px
    }

    .value-card {
        padding: 17px 14px
    }

    .value-icon {
        width: 42px;
        height: 42px
    }

    .value-card h3 {
        font-size: 15px
    }

    .testimonial-shell {
        grid-template-columns: 26px 1fr 26px
    }

    .slider-arrow {
        width: 26px;
        height: 26px
    }

    .footer-grid {
        gap: 25px 15px
    }
}