/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties {
    @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
        *, :before, :after, ::backdrop {
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-outline-style: solid;
            --tw-blur: initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial
        }
    }
}

@layer theme {
    :root, :host {
        --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --spacing: .25rem;
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono)
    }
}

@layer base {
    *, :after, :before, ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html, :host {
        -webkit-text-size-adjust: 100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

    abbr:where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted
    }

    h1, h2, h3, h4, h5, h6 {
        font-size: inherit;
        font-weight: inherit
    }

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

    b, strong {
        font-weight: bolder
    }

    code, kbd, samp, pre {
        font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings, normal);
        font-variation-settings: var(--default-mono-font-variation-settings, normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

    sub, sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative
    }

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol, ul, menu {
        list-style: none
    }

    img, svg, video, canvas, audio, iframe, embed, object {
        vertical-align: middle;
        display: block
    }

    img, video {
        max-width: 100%;
        height: auto
    }

    button, input, select, optgroup, textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select:is([multiple],[size])) optgroup {
        font-weight: bolder
    }

    :where(select:is([multiple],[size])) optgroup option {
        padding-inline-start: 20px
    }

    ::file-selector-button {
        margin-inline-end: 4px
    }

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color: currentColor
        }

        @supports (color:color-mix(in lab, red, red)) {
            ::placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }textarea {
         resize: vertical
     }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block: 0
    }

    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-day-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-hour-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    button, input:where([type=button],[type=reset],[type=submit]) {
        appearance: button
    }

    ::file-selector-button {
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]:where(:not([hidden=until-found])) {
        display: none !important
    }
}

@layer components;

@layer utilities {
    .visible {
        visibility: visible
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .start {
        inset-inline-start: var(--spacing)
    }

    .end {
        inset-inline-end: var(--spacing)
    }

    .contents {
        display: contents
    }

    .grid {
        display: grid
    }

    .table {
        display: table
    }

    .transform {
        transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)
    }

    .antialiased {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale
    }

    .outline {
        outline-style: var(--tw-outline-style);
        outline-width: 1px
    }

    .blur {
        --tw-blur: blur(8px);
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)
    }

    .filter {
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)
    }
}

:root {
    --navy: #071d41;
    --deep: #020f25;
    --gold: #d29a3a;
    --gold-light: #edbd67;
    --cream: #f7f3eb;
    --ink: #10233f;
    --body: #4f6077;
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    color: var(--ink);
    font-family: var(--font-sans), Arial, sans-serif;
    letter-spacing: -.008em;
    text-rendering: optimizelegibility;
    background: #fff;
    margin: 0;
    font-size: 15.5px;
    font-weight: 450;
    line-height: 1.68
}

h1 {
    font-family: var(--font-display), Georgia, serif
}

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

.nav {
    background: var(--deep);
    color: #fff;
    z-index: 5;
    border-bottom: 1px solid #ffffff10;
    align-items: center;
    gap: 34px;
    height: 82px;
    padding: 0 4vw;
    display: flex;
    position: relative
}

.brand {
    letter-spacing: .025em;
    white-space: nowrap;
    align-items: center;
    gap: 11px;
    font-size: 22px;
    font-weight: 600;
    display: flex
}

.brand small {
    color: var(--gold);
    font: 600 9px/1.3 var(--font-sans), Arial, sans-serif;
    letter-spacing: .13em;
    margin-top: 2px;
    display: block
}

.logoCrop {
    background: #fff;
    border: 1px solid #ffffff38;
    border-radius: 50%;
    flex: none;
    width: 50px;
    height: 50px;
    display: block;
    position: relative;
    overflow: hidden;
    box-shadow: 0 0 0 1px #c99a4333
}

.logoCrop img {
    width: 176px;
    max-width: none;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -46.4%)
}

.nav nav {
    letter-spacing: .035em;
    align-items: center;
    gap: 23px;
    margin-left: auto;
    font-size: 11px;
    font-weight: 700;
    display: flex
}

.nav nav > a, .navDropdown {
    white-space: nowrap;
    flex: none
}

.navStandalone {
    align-items: center;
    height: 82px;
    line-height: 1;
    display: flex
}

.nav nav a:hover {
    color: var(--gold)
}

.navDropdown {
    align-items: center;
    height: 82px;
    display: flex;
    position: relative
}

.navDropdownTrigger {
    align-items: center;
    gap: 5px;
    height: 100%;
    display: flex
}

.navDropdownTrigger span {
    color: var(--gold-light);
    font-size: 13px;
    transform: translateY(-1px)
}

.navDropdownMenu {
    border: 1px solid #ffffff1c;
    border-top: 3px solid var(--gold);
    opacity: 0;
    visibility: hidden;
    z-index: 30;
    background: #03142f;
    width: 292px;
    padding: 11px 0;
    transition: opacity .2s, transform .2s, visibility .2s;
    position: absolute;
    top: 68px;
    left: -18px;
    transform: translateY(8px);
    box-shadow: 0 18px 42px #0009
}

.navDropdownMenu:before {
    content: "";
    height: 17px;
    position: absolute;
    top: -17px;
    left: 0;
    right: 0
}

.navDropdownMenu a {
    letter-spacing: .02em;
    border-left: 2px solid #0000;
    padding: 9px 18px;
    font-size: 10.5px;
    font-weight: 650;
    line-height: 1.25;
    display: block;
    color: #dce4ee !important
}

.navDropdownMenu a:hover, .navDropdownMenu a:focus {
    border-left-color: var(--gold);
    background: #ffffff0b;
    color: var(--gold-light) !important
}

.navDropdown:hover .navDropdownMenu, .navDropdown:focus-within .navDropdownMenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.quoteBtn, .goldBtn {
    color: #fff;
    letter-spacing: .04em;
    background: linear-gradient(135deg, #d9a449, #bd7920);
    border-radius: 3px;
    padding: 15px 22px;
    font-size: 11.5px;
    font-weight: 800;
    transition: all .25s;
    box-shadow: 0 7px 18px #0000001f
}

.quoteBtn:hover, .goldBtn:hover {
    filter: brightness(1.08);
    transform: translateY(-1px)
}

@media (width <= 1300px) and (width >= 1121px) {
    .nav {
        gap: 20px;
        padding-left: 3vw;
        padding-right: 3vw
    }

    .nav .brand {
        font-size: 19px
    }

    .nav nav {
        gap: 14px;
        font-size: 10px
    }

    .nav .quoteBtn {
        padding: 14px 16px;
        font-size: 10px
    }
}

.hero {
    color: #fff;
    background-position: 50%;
    background-size: cover;
    height: 620px;
    transition: background-image .8s;
    position: relative
}

.heroCopy {
    width: 590px;
    position: absolute;
    top: 120px;
    left: 6vw
}

.eyebrow, .sectionHead > span, .sectionHead div > span, .network > span, .opsCopy > span, .process > div > span, .cta span {
    letter-spacing: .16em;
    color: var(--gold);
    font-size: 13.5px;
    font-weight: 800;
    line-height: 1.25
}

.hero h1 {
    letter-spacing: -.025em;
    margin: 20px 0 22px;
    font-size: 62px;
    font-weight: 600;
    line-height: .98
}

.hero h1 em {
    color: #e1a94e;
    font-style: normal;
    display: block
}

.hero p {
    color: #f2f5f9;
    letter-spacing: 0;
    text-shadow: 0 2px 16px #0007;
    max-width: 570px;
    font-size: 17px;
    line-height: 1.7
}

.heroActions {
    gap: 15px;
    margin-top: 30px;
    display: flex
}

.ghostBtn {
    letter-spacing: .035em;
    border: 1px solid #ffffffb3;
    border-radius: 3px;
    padding: 14px 20px;
    font-size: 11px;
    font-weight: 800
}

.slideNav {
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    background: #0311275c;
    border: 1px solid #ffffff30;
    border-radius: 3px;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    display: flex;
    position: absolute;
    bottom: 54px;
    right: 5vw
}

.slideNav button {
    cursor: pointer;
    background: #ffffff38;
    border: 0;
    border-radius: 1px;
    width: 38px;
    height: 8px;
    padding: 0;
    overflow: hidden
}

.slideNav button i {
    background: var(--gold-light);
    width: 0;
    height: 100%;
    display: block
}

.slideNav button.active {
    background: #fff5
}

.slideNav button.active i {
    width: 100%;
    animation: 6s linear slideIndicator
}

@keyframes slideIndicator {
    0% {
        width: 0
    }
    to {
        width: 100%
    }
}

.progress {
    background: #ffffff30;
    height: 4px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.progress i {
    background: var(--gold);
    height: 100%;
    animation: 6s linear progress;
    display: block
}

@keyframes progress {
    0% {
        width: 0
    }
    to {
        width: 100%
    }
}

.trustPanel {
    z-index: 3;
    color: #fff;
    background: linear-gradient(115deg, #03142f, #061f43);
    border: 1px solid #ffffff12;
    grid-template-columns:repeat(4, 1fr) 2.35fr;
    align-items: center;
    width: 90%;
    min-height: 132px;
    margin: -30px auto 76px;
    padding: 25px 30px;
    display: grid;
    position: relative;
    box-shadow: 0 18px 42px #00112d3d
}

.trustPanel .stat {
    border-right: 1px solid #fff2;
    grid-template-rows:34px 44px;
    grid-template-columns:38px minmax(0, 1fr);
    align-items: start;
    column-gap: 10px;
    min-height: 78px;
    padding: 2px 16px;
    display: grid
}

.stat i {
    color: var(--gold-light);
    grid-area: 1/1/3;
    align-self: center;
    display: flex
}

.stat strong {
    font-family: var(--font-sans), Arial, sans-serif;
    letter-spacing: -.045em;
    color: #fff;
    grid-area: 1/2;
    align-self: start;
    font-size: 31px;
    font-weight: 800;
    line-height: 1
}

.stat span {
    letter-spacing: .055em;
    color: #cbd5e4;
    grid-area: 2/2;
    align-self: start;
    margin-top: 5px;
    font-size: 9.5px;
    font-weight: 750;
    line-height: 1.35
}

.platformBlock {
    padding-left: 28px
}

.platformBlock > small {
    letter-spacing: .12em;
    color: #b9c6d8;
    margin-bottom: 13px;
    font-size: 9px;
    font-weight: 750;
    display: block
}

.platformLogos {
    color: #fff;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    display: flex
}

.platformLogos b {
    white-space: nowrap;
    line-height: 1;
    display: block
}

.tripadvisor {
    letter-spacing: -.04em;
    font-size: 14px;
    font-weight: 800
}

.viator {
    letter-spacing: -.055em;
    font-size: 18px;
    font-weight: 800
}

.gyg {
    letter-spacing: -.04em;
    font-size: 8px;
    font-weight: 900;
    line-height: .78 !important
}

.klook {
    letter-spacing: -.045em;
    font-size: 17px;
    font-weight: 800
}

.kkday {
    letter-spacing: -.04em;
    font-size: 16px;
    font-weight: 750
}

.section {
    max-width: 1210px;
    margin: 0 auto;
    padding: 92px 24px
}

.sectionHead {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 52px
}

.sectionHead h2, .network h2, .opsCopy h2 {
    letter-spacing: -.022em;
    color: var(--navy);
    margin: 15px 0 20px;
    font-size: 50px;
    font-weight: 650;
    line-height: 1.01
}

.sectionHead p, .opsCopy p {
    color: var(--body);
    letter-spacing: 0;
    font-size: 15px;
    line-height: 1.78
}

.sectionHead.split {
    text-align: left;
    justify-content: space-between;
    align-items: end;
    max-width: none;
    display: flex
}

.sectionHead.split p {
    max-width: 440px
}

.serviceMosaic {
    grid-template-rows:260px 210px 210px;
    grid-template-columns:1.5fr 1fr 1fr;
    gap: 14px;
    display: grid
}

.serviceCard {
    color: #fff;
    background: var(--deep);
    min-height: 190px;
    transition: all .35s;
    position: relative;
    overflow: hidden
}

.serviceCard img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: transform .7s;
    position: absolute;
    inset: 0
}

.serviceCard:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 35px #09214a26
}

.serviceCard:hover img {
    transform: scale(1.045)
}

.serviceShade {
    background: linear-gradient(#03112708 10%, #03112755 50%, #020c1df3 100%);
    position: absolute;
    inset: 0
}

.serviceContent {
    z-index: 2;
    position: absolute;
    bottom: 22px;
    left: 25px;
    right: 22px
}

.serviceCard h3 {
    letter-spacing: -.016em;
    color: #fff;
    text-shadow: 0 2px 14px #0008;
    margin: 5px 0;
    font-size: 27px;
    font-weight: 650;
    line-height: 1.05
}

.serviceCard p {
    color: #f1f4f8;
    letter-spacing: 0;
    max-width: 480px;
    margin: 8px 0 14px;
    font-size: 12.5px;
    line-height: 1.58
}

.serviceCard b {
    color: #e7b15a;
    letter-spacing: .09em;
    font-size: 10px;
    font-weight: 800
}

.s0 {
    grid-row: 1/3
}

.s3 {
    grid-column: 2/4
}

.s6 {
    grid-column: 1/2
}

.s7 {
    grid-column: 2/4
}

.destinationsSection {
    padding-top: 110px
}

.destinationGrid {
    grid-template-rows:1fr 1fr;
    grid-template-columns:1.15fr .85fr .85fr;
    gap: 14px;
    height: 660px;
    display: grid
}

.destination {
    color: #fff;
    position: relative;
    overflow: hidden
}

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

.destination:after, .programRail > a:after {
    content: "";
    background: linear-gradient(#0000, #020d20f0);
    position: absolute;
    inset: 30% 0 0
}

.destination:hover img {
    transform: scale(1.04)
}

.destination div {
    z-index: 2;
    position: absolute;
    bottom: 24px;
    left: 26px
}

.destination h3 {
    letter-spacing: -.015em;
    margin: 7px 0;
    font-size: 38px;
    font-weight: 600;
    line-height: 1
}

.destination p {
    letter-spacing: 0;
    font-size: 12px;
    line-height: 1.5
}

.destination small {
    color: #e8b760;
    letter-spacing: .15em;
    font-size: 10px;
    font-weight: 800
}

.japan {
    grid-row: 1/3
}

.china {
    grid-column: 2/4
}

.why {
    background: var(--deep);
    color: #fff;
    grid-template-columns:.85fr 1.4fr;
    gap: 80px;
    padding: 90px max(5vw, 40px);
    display: grid
}

.network h2 {
    color: #fff
}

.route {
    color: #e6b159;
    align-items: center;
    gap: 12px;
    margin-top: 60px;
    font-size: 10px;
    display: flex
}

.route i {
    background: linear-gradient(90deg, var(--gold), transparent);
    flex: 1;
    height: 1px
}

.reasons {
    grid-template-columns:1fr 1fr;
    gap: 28px 40px;
    display: grid
}

.reasons div {
    border-top: 1px solid #fff2;
    padding-top: 17px
}

.reasons h3 {
    margin: 0 0 10px;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.15
}

.reasons p {
    color: #c8d2e0;
    letter-spacing: 0;
    font-size: 13px;
    line-height: 1.62
}

.operations {
    grid-template-columns:1.35fr .65fr;
    align-items: center;
    gap: 70px;
    display: grid
}

.opsPhotos {
    grid-template-columns:1fr 1fr;
    gap: 12px;
    display: grid
}

.opsPhotos img {
    object-fit: cover;
    width: 100%;
    height: 220px
}

.opsPhotos .opsBig {
    grid-column: 1/3;
    height: 360px
}

.opsCopy ul {
    color: #334761;
    padding: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 2.15;
    list-style: none
}

.opsCopy li:before {
    content: "✓";
    color: var(--gold);
    margin-right: 9px
}

.opsCopy a {
    color: #b87518;
    letter-spacing: .09em;
    border-bottom: 1px solid #d39b46;
    margin-top: 22px;
    padding-bottom: 4px;
    font-size: 11.5px;
    font-weight: 850;
    display: inline-block
}

.programs {
    background: var(--cream);
    max-width: none;
    padding-left: 6vw;
    padding-right: 0;
    overflow: hidden
}

.programs .sectionHead {
    padding-right: 6vw
}

.programRail {
    gap: 14px;
    padding-bottom: 20px;
    display: flex;
    overflow-x: auto
}

.programRail > a {
    background: var(--deep);
    color: #fff;
    min-width: 290px;
    height: 390px;
    position: relative;
    overflow: hidden
}

.programRail img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0
}

.programInfo {
    z-index: 2;
    grid-template-rows:26px 58px auto;
    align-content: end;
    min-height: 132px;
    display: grid;
    position: absolute;
    bottom: 20px;
    left: 22px;
    right: 22px
}

.programRail small, .programRail h3, .programRail p {
    z-index: 2;
    position: relative
}

.programRail small {
    background: var(--gold);
    letter-spacing: .05em;
    place-self: start;
    padding: 7px 9px;
    font-size: 10px;
    font-weight: 800
}

.programRail h3 {
    letter-spacing: -.012em;
    margin: 11px 0 5px;
    font-size: 26px;
    font-weight: 600;
    line-height: 1.05
}

.programRail p {
    color: #e2e7ee;
    letter-spacing: 0;
    font-size: 12.5px;
    line-height: 1.55
}

.process {
    color: #fff;
    background: #071b3b;
    grid-template-columns:1.2fr repeat(4, 1fr);
    align-items: center;
    gap: 25px;
    padding: 75px 6vw;
    display: grid
}

.process h2 {
    letter-spacing: -.015em;
    margin: 11px 0;
    font-size: 39px;
    font-weight: 600;
    line-height: 1.05
}

.process article {
    border-left: 1px solid #ffffff25;
    min-height: 120px;
    padding-left: 20px
}

.process article b {
    width: 48px;
    height: 38px;
    font-family: var(--font-sans), Arial, sans-serif;
    letter-spacing: .08em;
    color: #e8bb67;
    font-variant-numeric: tabular-nums;
    background: linear-gradient(135deg, #d29d3d29, #ffffff09);
    border: 1px solid #d29d3db8;
    border-radius: 9px;
    place-items: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    display: grid;
    box-shadow: inset 0 1px #ffffff14
}

.process article h3 {
    letter-spacing: -.01em;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25
}

.cta {
    color: #fff;
    background: linear-gradient(100deg, #9e6117, #d9a74e);
    justify-content: space-between;
    align-items: center;
    padding: 44px 6vw;
    display: flex
}

.cta h2 {
    letter-spacing: -.012em;
    margin: 8px 0;
    font-size: 35px;
    font-weight: 600;
    line-height: 1.05
}

.cta span {
    color: #fff
}

.cta a {
    border: 1px solid #fff;
    padding: 16px 22px;
    font-size: 11px;
    font-weight: 700
}

footer {
    color: #d0d8e3;
    background: #020b1b;
    grid-template-columns:1.55fr repeat(4, 1fr);
    gap: 42px 38px;
    padding: 64px 6vw 25px;
    font-size: 12.5px;
    line-height: 1.7;
    display: grid
}

footer .brand {
    color: #fff;
    margin-bottom: 20px
}

.footerIntro p {
    color: #9fadbf;
    max-width: 285px;
    margin: 0 0 15px
}

.footerIntro > a {
    color: var(--gold-light);
    font-weight: 700
}

.footerCol {
    flex-direction: column;
    gap: 8px;
    display: flex
}

.footerCol h3 {
    font-family: var(--font-sans), Arial, sans-serif;
    letter-spacing: .12em;
    color: var(--gold-light);
    margin: 5px 0 10px;
    font-size: 10px
}

.footerCol a {
    color: #c7d0dc;
    transition: all .2s
}

.footerCol a:hover {
    color: #fff
}

.footerBottom {
    color: #7f8da1;
    letter-spacing: .02em;
    border-top: 1px solid #ffffff17;
    grid-column: 1/-1;
    justify-content: space-between;
    margin-top: 24px;
    padding-top: 22px;
    font-size: 10.5px;
    display: flex
}

.destinationPage {
    background: #fff
}

.destinationNav {
    z-index: 10;
    background: linear-gradient(#020f25fa, #020f25db);
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

.destinationHero {
    color: #fff;
    background-position: 50%;
    background-size: cover;
    height: 610px;
    position: relative
}

.destinationHeroCopy {
    width: min(720px, 70vw);
    position: absolute;
    top: 125px;
    left: 6vw
}

.breadcrumb {
    color: #dce3ec;
    align-items: center;
    gap: 10px;
    margin-bottom: 35px;
    font-size: 12px;
    display: flex
}

.breadcrumb a {
    color: var(--gold-light)
}

.breadcrumb b {
    font-weight: 600
}

.destinationHero h1 {
    letter-spacing: -.025em;
    margin: 15px 0 18px;
    font-size: 58px;
    font-weight: 600;
    line-height: .98
}

.destinationHero p {
    color: #f0f3f7;
    max-width: 610px;
    margin: 0;
    font-size: 17px;
    line-height: 1.6
}

.destinationStats {
    max-width: 720px;
    margin-top: 42px;
    display: flex
}

.destinationStats > div {
    border-right: 1px solid #ffffff30;
    grid-template-rows:auto auto;
    grid-template-columns:44px 1fr;
    align-items: center;
    column-gap: 10px;
    min-width: 150px;
    margin-right: 24px;
    padding-right: 24px;
    display: grid
}

.destinationStats > div:last-child {
    border: 0
}

.destinationStats i {
    border: 1px solid var(--gold);
    width: 42px;
    height: 42px;
    color: var(--gold-light);
    background: #041a38b3;
    border-radius: 50%;
    grid-row: 1/3;
    place-items: center;
    font-style: normal;
    display: grid;
    box-shadow: inset 0 0 0 3px #d9a44912
}

.destinationStats i svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55px;
    stroke-linecap: round;
    stroke-linejoin: round;
    width: 23px;
    height: 23px
}

.destinationStats strong {
    font-size: 18px;
    line-height: 1.15
}

.destinationStats span {
    color: #d7deea;
    font-size: 11px;
    line-height: 1.3
}

.destinationIntro {
    border-bottom: 1px solid #e8e9ec;
    grid-template-columns:.8fr 1.45fr;
    align-items: center;
    gap: 80px;
    padding-top: 62px;
    padding-bottom: 55px;
    display: grid
}

.destinationIntro h2 {
    margin: 10px 0 0;
    font-size: 42px;
    line-height: 1.05
}

.destinationIntro p {
    color: var(--body);
    margin: 0;
    font-size: 16px;
    line-height: 1.75
}

.coverage {
    padding-top: 50px;
    padding-bottom: 65px
}

.sectionTitle {
    text-align: center;
    margin-bottom: 30px
}

.sectionTitle span {
    letter-spacing: .16em;
    color: var(--gold);
    font-size: 12px;
    font-weight: 800
}

.sectionTitle h2 {
    margin: 6px 0 0;
    font-size: 40px
}

.regionGrid {
    grid-template-columns:repeat(4, 1fr);
    align-items: stretch;
    gap: 20px;
    display: grid
}

.regionGrid article {
    background: #fff;
    border: 1px solid #e0e4e9;
    border-radius: 8px;
    flex-direction: column;
    height: 100%;
    transition: all .25s;
    display: flex;
    overflow: hidden;
    box-shadow: 0 8px 24px #0e213c0e
}

.regionGrid article:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px #0e213c1a
}

.regionGrid article img {
    aspect-ratio: 16/10;
    object-fit: cover;
    flex: none;
    width: 100%;
    height: 190px;
    display: block
}

.regionGrid article > div {
    flex-direction: column;
    flex: 1;
    min-height: 142px;
    padding: 16px 17px 18px;
    display: flex
}

.regionGrid h3 {
    align-items: flex-start;
    gap: 8px;
    min-height: 46px;
    margin: 0 0 9px;
    font-size: 19px;
    line-height: 1.2;
    display: flex
}

.regionGrid h3 i {
    font-family: var(--font-sans), Arial, sans-serif;
    color: var(--gold);
    flex: none;
    font-size: 20px;
    font-style: normal;
    line-height: 1
}

.regionGrid p {
    color: var(--body);
    margin: 0;
    font-size: 12.5px;
    line-height: 1.55
}

.coverageNote {
    background: linear-gradient(100deg, #faf7f2, #fff);
    border: 1px solid #e5dfd4;
    border-radius: 8px;
    align-items: center;
    gap: 24px;
    margin-top: 28px;
    padding: 20px 34px;
    display: flex
}

.coverageNote > span {
    color: var(--gold);
    font-size: 49px;
    line-height: 1
}

.coverageNote h3 {
    margin: 0 0 4px;
    font-size: 22px
}

.coverageNote p {
    color: var(--body);
    margin: 0;
    font-size: 12px;
    line-height: 1.5
}

.destinationCta {
    text-align: center;
    color: #fff;
    background: #041a3b;
    padding: 55px 20px 62px;
    position: relative;
    overflow: hidden
}

.destinationCta:before, .destinationCta:after {
    content: "";
    border: 1px solid #d29a3a22;
    border-radius: 50%;
    width: 260px;
    height: 110px;
    position: absolute;
    bottom: -65px
}

.destinationCta:before {
    left: -80px
}

.destinationCta:after {
    right: -80px
}

.destinationCta > span {
    letter-spacing: .18em;
    color: var(--gold-light);
    font-size: 11px;
    font-weight: 800
}

.destinationCta h2 {
    margin: 8px 0 12px;
    font-size: 40px;
    line-height: 1.05
}

.destinationCta p {
    color: #d5deea;
    margin: 0 0 25px;
    font-size: 13px;
    line-height: 1.55
}

.destinationCta > div {
    justify-content: center;
    gap: 14px;
    display: flex
}

.destinationCta .ghostBtn {
    display: inline-block
}

@media (width <= 900px) {
    .nav nav {
        display: none
    }

    .nav {
        padding: 0 18px
    }

    .quoteBtn {
        margin-left: auto;
        padding: 12px
    }

    .hero {
        height: 640px
    }

    .heroCopy {
        width: auto;
        top: 100px;
        left: 25px;
        right: 25px
    }

    .hero h1 {
        font-size: 42px
    }

    .trustPanel {
        grid-template-columns:1fr 1fr;
        width: 92%;
        margin-bottom: 30px
    }

    .platformBlock {
        grid-column: 1/3;
        padding: 20px 12px 4px
    }

    .platformLogos {
        justify-content: flex-start;
        gap: 28px
    }

    .serviceMosaic {
        grid-template-rows:auto;
        grid-template-columns:1fr;
        display: grid
    }

    .serviceCard, .s0, .s3, .s6, .s7 {
        grid-area: auto;
        min-height: 170px
    }

    .sectionHead.split {
        display: block
    }

    .destinationGrid {
        grid-template-rows:330px 250px 250px;
        grid-template-columns:1fr 1fr;
        height: auto
    }

    .japan {
        grid-area: auto / 1 /auto/ 3
    }

    .china {
        grid-column: 1/3
    }

    .why, .operations, .reasons {
        grid-template-columns:1fr
    }

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

    .process > div {
        grid-column: 1/3
    }

    footer {
        grid-template-columns:1.4fr 1fr 1fr
    }

    .footerIntro, .footerBottom {
        grid-column: 1/-1
    }

    .opsPhotos .opsBig {
        height: 270px
    }
}

@media (width <= 560px) {
    .hero h1 {
        font-size: 37px
    }

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

    .slideNav {
        right: 20px
    }

    .trustPanel {
        padding: 18px 8px
    }

    .trustPanel > div {
        padding: 8px
    }

    .stat strong {
        font-size: 25px
    }

    .stat i svg {
        width: 28px;
        height: 28px
    }

    .platformLogos {
        flex-wrap: wrap;
        gap: 18px
    }

    .section {
        padding: 60px 18px
    }

    .sectionHead h2, .network h2, .opsCopy h2 {
        font-size: 34px
    }

    .destinationGrid {
        flex-direction: column;
        display: flex
    }

    .destination {
        height: 280px
    }

    .why {
        padding: 65px 22px
    }

    .route {
        display: none
    }

    .opsPhotos {
        display: block
    }

    .opsPhotos img, .opsPhotos .opsBig {
        height: 230px;
        margin-bottom: 10px
    }

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

    .process > div {
        grid-column: auto
    }

    .cta {
        display: block
    }

    .cta a {
        margin-top: 15px;
        display: inline-block
    }

    footer {
        grid-template-columns:1fr;
        gap: 26px
    }

    .footerIntro, .footerBottom {
        grid-column: auto
    }

    .footerBottom {
        display: block
    }

    .footerBottom span {
        margin-top: 5px;
        display: block
    }
}

@media (width <= 1050px) {
    .destinationNav nav {
        display: none
    }

    .destinationStats > div {
        min-width: 130px;
        margin-right: 15px;
        padding-right: 15px
    }

    .regionGrid {
        grid-template-columns:repeat(2, 1fr)
    }
}

@media (width <= 700px) {
    .destinationHero {
        height: 690px
    }

    .destinationHeroCopy {
        width: 86vw;
        top: 110px;
        left: 7vw
    }

    .destinationHero h1 {
        font-size: 42px
    }

    .destinationHero p {
        font-size: 15px
    }

    .destinationStats {
        grid-template-columns:1fr 1fr;
        gap: 15px;
        margin-top: 30px;
        display: grid
    }

    .destinationStats > div {
        border: 0;
        min-width: 0;
        margin: 0;
        padding: 0
    }

    .destinationIntro {
        grid-template-columns:1fr;
        gap: 25px
    }

    .destinationIntro h2 {
        font-size: 34px
    }

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

    .regionGrid article img {
        height: 220px
    }

    .coverageNote {
        align-items: flex-start;
        padding: 20px
    }

    .destinationCta h2 {
        font-size: 32px
    }

    .destinationCta > div {
        flex-direction: column;
        align-items: center
    }
}

.innerHero {
    color: #fff;
    background-position: 50%;
    background-size: cover;
    height: 570px;
    position: relative
}

.innerHeroCopy {
    width: min(700px, 78vw);
    position: absolute;
    top: 124px;
    left: 6vw
}

.innerHero h1 {
    letter-spacing: -.026em;
    margin: 18px 0 20px;
    font-size: 58px;
    font-weight: 600;
    line-height: .98
}

.innerHero h1 em {
    color: #e1a94e;
    font-style: normal;
    display: block
}

.innerHero p {
    color: #eef2f7;
    text-shadow: 0 2px 16px #0007;
    max-width: 660px;
    margin: 0 0 29px;
    font-size: 17px;
    line-height: 1.7
}

.innerHero .goldBtn {
    display: inline-block
}

.innerIntro {
    border-bottom: 1px solid #e1e6eb;
    grid-template-columns:.7fr .85fr 1.25fr;
    align-items: start;
    gap: 36px;
    padding-top: 70px;
    padding-bottom: 55px;
    display: grid
}

.innerIntro > span, .aboutLead span, .officeSection .sectionTitle span, .contactAside > span {
    letter-spacing: .16em;
    color: var(--gold);
    font-size: 12px;
    font-weight: 800
}

.innerIntro h2, .aboutLead h2, .contactAside h2 {
    color: var(--navy);
    margin: 0;
    font-size: 42px;
    line-height: 1.02
}

.innerIntro p, .aboutLead p {
    color: var(--body);
    margin: 0;
    font-size: 15px;
    line-height: 1.82
}

.featureGrid {
    grid-template-columns:1fr 1fr;
    gap: 16px;
    padding-top: 55px;
    display: grid
}

.imageFeature {
    background: var(--deep);
    color: #fff;
    height: 310px;
    position: relative;
    overflow: hidden
}

.imageFeature img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: all .65s;
    position: absolute;
    inset: 0
}

.imageFeature:after {
    content: "";
    background: linear-gradient(#020d1f0d 20%, #020d1fb8 70%, #020d1ff2);
    position: absolute;
    inset: 0
}

.imageFeature > div {
    z-index: 2;
    position: absolute;
    bottom: 23px;
    left: 28px;
    right: 28px
}

.imageFeature h2 {
    color: #fff;
    margin: 0 0 8px;
    font-size: 28px;
    line-height: 1.05
}

.imageFeature p {
    color: #e6ebf2;
    max-width: 500px;
    margin: 0;
    font-size: 13px;
    line-height: 1.58
}

.imageFeature b {
    color: #eab75f;
    letter-spacing: .1em;
    margin-top: 12px;
    font-size: 9.5px;
    display: inline-block
}

.imageFeature:hover img {
    transform: scale(1.035)
}

.darkBand {
    background: var(--deep);
    color: #fff;
    grid-template-columns:1.1fr 2fr;
    align-items: center;
    gap: 50px;
    padding: 76px 6vw;
    display: grid
}

.darkBand > div > span, .combinationBand > span, .whatsappBand span, .fleetNotice span {
    letter-spacing: .16em;
    color: var(--gold-light);
    font-size: 11px;
    font-weight: 800
}

.darkBand h2, .combinationBand h2, .whatsappBand h2, .fleetNotice h2 {
    color: #fff;
    margin: 10px 0;
    font-size: 39px;
    line-height: 1.05
}

.darkBand ol {
    grid-template-columns:repeat(4, 1fr);
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}

.darkBand li {
    border-left: 1px solid #ffffff29;
    padding-left: 17px
}

.darkBand li b {
    color: var(--gold-light);
    letter-spacing: .1em;
    margin-bottom: 18px;
    font-size: 13px;
    display: block
}

.darkBand li strong {
    font-family: var(--font-display), Georgia, serif;
    font-size: 18px;
    line-height: 1.2;
    display: block
}

.darkBand li p {
    color: #bfcbd9;
    font-size: 11.5px;
    line-height: 1.5
}

.pageCta {
    margin-top: 0
}

.destinationIndexGrid {
    grid-template-rows:320px 280px;
    grid-template-columns:1.3fr 1fr 1fr;
    gap: 14px;
    padding-top: 56px;
    display: grid
}

.destinationIndexCard {
    color: #fff;
    background: var(--deep);
    position: relative;
    overflow: hidden
}

.destinationIndexCard.d0 {
    grid-row: 1/3
}

.destinationIndexCard.d1 {
    grid-column: 2/4
}

.destinationIndexCard img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: all .65s;
    position: absolute;
    inset: 0
}

.destinationIndexCard:after {
    content: "";
    background: linear-gradient(#0000, #020d20f2);
    position: absolute;
    inset: 20% 0 0
}

.destinationIndexCard > div {
    z-index: 2;
    position: absolute;
    bottom: 22px;
    left: 25px;
    right: 25px
}

.destinationIndexCard small {
    letter-spacing: .14em;
    color: var(--gold-light);
    font-size: 9px;
    font-weight: 800
}

.destinationIndexCard h2 {
    margin: 7px 0;
    font-size: 36px;
    line-height: 1
}

.destinationIndexCard p {
    color: #e7edf4;
    margin: 0 0 13px;
    font-size: 12px;
    line-height: 1.55
}

.destinationIndexCard b {
    letter-spacing: .09em;
    color: #eab75f;
    font-size: 9.5px
}

.destinationIndexCard:hover img {
    transform: scale(1.035)
}

.destinationIndexCard.d4 {
    grid-column: 1/4;
    height: 250px
}

.combinationBand {
    text-align: center;
    color: #fff;
    background: linear-gradient(115deg, #071d41, #020f25);
    margin-top: 10px;
    padding: 66px 8vw
}

.combinationBand h2 {
    font-size: 43px
}

.combinationBand p {
    color: #c9d3e0;
    max-width: 760px;
    margin: 0 auto;
    line-height: 1.7
}

.programGroups {
    padding-top: 45px
}

.programGroup {
    border-bottom: 1px solid #dfe4e9;
    grid-template-columns:220px 1fr;
    gap: 35px;
    padding: 42px 0;
    scroll-margin-top: 95px;
    display: grid
}

.programGroupTitle span {
    letter-spacing: .16em;
    color: var(--gold);
    font-size: 9px;
    font-weight: 800
}

.programGroupTitle h2 {
    margin: 8px 0;
    font-size: 35px;
    line-height: 1.05
}

.programGroupTitle p {
    color: #738196;
    margin: 0;
    font-size: 11px;
    line-height: 1.5
}

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

.programCardGrid > a {
    background: #fff;
    border: 1px solid #dfe4e9;
    flex-direction: column;
    min-height: 335px;
    transition: all .25s;
    display: flex;
    overflow: hidden;
    box-shadow: 0 8px 22px #09214a0b
}

.programCardGrid > a:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px #09214a18
}

.programCardGrid img {
    object-fit: cover;
    width: 100%;
    height: 165px;
    display: block
}

.programCardGrid > a > div {
    flex-direction: column;
    flex: 1;
    padding: 18px 20px 20px;
    display: flex
}

.programCardGrid small {
    background: var(--gold);
    color: #fff;
    letter-spacing: .06em;
    align-self: flex-start;
    padding: 5px 8px;
    font-size: 9px;
    font-weight: 800;
    display: inline-block
}

.programCardGrid h3 {
    margin: 12px 0 6px;
    font-size: 22px;
    line-height: 1.15
}

.programCardGrid p {
    color: var(--body);
    margin: 0 0 12px;
    font-size: 12px;
    line-height: 1.55
}

.programCardGrid b {
    font-family: var(--font-sans), Arial, sans-serif;
    letter-spacing: .1em;
    color: #a76b17;
    margin-top: auto;
    font-size: 9px
}

.programLibraryFacts {
    margin-top: -30px
}

.sampleFaq {
    grid-template-columns:.72fr 1.28fr;
    gap: 70px;
    padding-top: 55px;
    display: grid
}

.sampleFaq > div:first-child > span {
    letter-spacing: .16em;
    color: #a66c1c;
    font-size: 10px;
    font-weight: 800
}

.sampleFaq > div:first-child h2 {
    margin: 10px 0;
    font-size: 39px;
    line-height: 1.06
}

.sampleFaq article {
    border-top: 1px solid #dfe4e9;
    padding: 19px 0
}

.sampleFaq article h3 {
    margin: 0 0 7px;
    font-size: 21px
}

.sampleFaq article p {
    color: var(--body);
    margin: 0;
    font-size: 12.5px;
    line-height: 1.65
}

.vehicleGrid {
    grid-template-columns:repeat(3, 1fr);
    gap: 16px;
    padding-top: 50px;
    display: grid
}

.vehicleGrid > a {
    background: linear-gradient(145deg, #fff, #f6f8fa);
    border: 1px solid #dce3e9;
    transition: all .25s;
    overflow: hidden;
    box-shadow: 0 10px 28px #09214a0b
}

.vehicleGrid > a:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px #09214a18
}

.vehicleGrid > a > img {
    object-fit: cover;
    background: #edf1f4;
    width: 100%;
    height: 210px;
    display: block
}

.vehicleCardBody {
    padding: 23px 25px 25px
}

.vehicleGrid small {
    letter-spacing: .06em;
    color: #708097;
    font-size: 10px;
    display: block
}

.vehicleGrid h2 {
    margin: 6px 0 20px;
    font-size: 28px
}

.vehicleGrid dl {
    margin: 0
}

.vehicleGrid dl > div {
    border-top: 1px solid #e1e6eb;
    padding: 10px 0
}

.vehicleGrid dt {
    letter-spacing: .12em;
    color: #a66c1c;
    font-size: 8.5px;
    font-weight: 800
}

.vehicleGrid dd {
    color: var(--body);
    margin: 3px 0 0;
    font-size: 12.5px;
    line-height: 1.5
}

.vehicleGrid a b {
    color: #a66c1c;
    letter-spacing: .1em;
    margin-top: 16px;
    font-size: 9px;
    display: inline-block
}

.fleetNotice {
    color: #fff;
    background: #071d41;
    grid-template-columns:1fr 1fr;
    align-items: center;
    gap: 60px;
    padding: 60px 8vw;
    display: grid
}

.fleetNotice p {
    color: #cbd5e2;
    margin: 0;
    line-height: 1.8
}

.regionalFleet {
    padding-top: 36px
}

.regionalFleetGrid {
    grid-template-columns:repeat(3, 1fr);
    gap: 17px;
    margin-top: 38px;
    display: grid
}

.regionalFleetGrid > article {
    background: #fff;
    border: 1px solid #dce3e9;
    overflow: hidden;
    box-shadow: 0 11px 30px #09214a0d
}

.regionalFleetGrid > article > img {
    object-fit: cover;
    width: 100%;
    height: 210px;
    display: block
}

.regionalFleetBody {
    padding: 25px
}

.regionalFleetBody > span {
    letter-spacing: .13em;
    color: #a66c1c;
    font-size: 8.5px;
    font-weight: 850
}

.regionalFleetBody > h2 {
    margin: 7px 0 10px;
    font-size: 29px
}

.regionalFleetBody > p {
    color: var(--body);
    min-height: 58px;
    font-size: 12px;
    line-height: 1.6
}

.regionalFleetBody > div {
    margin-top: 18px
}

.regionalFleetBody section {
    border-top: 1px solid #e1e6eb;
    padding: 12px 0
}

.regionalFleetBody section h3 {
    margin: 0 0 3px;
    font-size: 17px
}

.regionalFleetBody section small {
    color: #a66c1c;
    font-size: 9px
}

.regionalFleetBody section p {
    color: #64758a;
    margin: 4px 0 0;
    font-size: 10.5px;
    line-height: 1.45
}

.regionalFleetDisclaimer {
    color: #748296;
    border-left: 3px solid var(--gold);
    margin: 20px 0 0;
    padding-left: 17px;
    font-size: 10.5px;
    line-height: 1.65
}

.fleetPage, .vehicleDetailPage {
    font-family: var(--font-sans), Arial, sans-serif
}

.fleetPage h1, .fleetPage h2, .fleetPage h3, .vehicleDetailPage h1, .vehicleDetailPage h2, .vehicleDetailPage h3 {
    font-family: var(--font-display), Georgia, serif
}

.fleetPage small, .fleetPage dt, .fleetPage dd, .fleetPage b, .fleetPage p, .vehicleDetailPage small, .vehicleDetailPage strong, .vehicleDetailPage li, .vehicleDetailPage p, .vehicleDetailPage figcaption {
    font-family: var(--font-sans), Arial, sans-serif
}

.fleetPage .vehicleGrid h2 {
    font-family: var(--font-sans), Arial, sans-serif;
    letter-spacing: -.035em;
    margin-top: 8px;
    font-size: 24px;
    font-weight: 750;
    line-height: 1.18
}

.vehicleDetailPage .innerHero h1 {
    font-family: var(--font-sans), Arial, sans-serif;
    letter-spacing: -.04em;
    max-width: 720px;
    font-size: 52px;
    font-weight: 750;
    line-height: 1.04
}

.vehicleDetailPage .innerHero h1 em {
    font-family: var(--font-sans), Arial, sans-serif;
    letter-spacing: .005em;
    color: #edbd67;
    max-width: 650px;
    margin-top: 15px;
    font-size: .39em;
    font-weight: 600;
    line-height: 1.35
}

.vehicleDetailPage .detailFacts small {
    font-family: var(--font-sans), Arial, sans-serif;
    letter-spacing: .13em;
    font-size: 9px;
    font-weight: 800
}

.vehicleDetailPage .detailFacts strong {
    font-family: var(--font-sans), Arial, sans-serif;
    letter-spacing: -.01em;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.38
}

.vehicleDetailPage .detailListCard h2, .vehicleDetailPage .vehicleShowcase h2, .vehicleDetailPage .customizeBand h2 {
    letter-spacing: -.015em;
    font-weight: 600
}

.vehicleDetailPage .detailListCard li, .vehicleDetailPage .customizeBand li {
    letter-spacing: 0;
    font-size: 13px;
    font-weight: 500
}

.vehicleShowcase {
    border-bottom: 1px solid #dfe5ea;
    grid-template-columns:1.1fr .9fr;
    align-items: center;
    gap: 62px;
    padding-top: 76px;
    padding-bottom: 66px;
    display: grid
}

.vehicleShowcase figure {
    background: #f4f6f8;
    border: 1px solid #dce3e9;
    margin: 0;
    box-shadow: 0 12px 32px #09214a12
}

.vehicleShowcase img {
    object-fit: cover;
    width: 100%;
    height: 360px;
    display: block
}

.vehicleShowcase figcaption {
    color: #6b7a8d;
    letter-spacing: .075em;
    background: #fff;
    padding: 11px 15px;
    font-size: 9px;
    font-weight: 750;
    line-height: 1.45
}

.vehicleShowcase > div > span {
    letter-spacing: .16em;
    color: #a66c1c;
    font-size: 10px;
    font-weight: 800
}

.vehicleShowcase h2 {
    margin: 10px 0 20px;
    font-size: 41px;
    line-height: 1.06
}

.vehicleShowcase p {
    color: var(--body);
    margin: 0;
    font-size: 14px;
    line-height: 1.82
}

.agentFacts {
    margin-top: -30px
}

.agentBenefits {
    padding-top: 64px;
    padding-bottom: 25px
}

.agentBenefits > .sectionTitle p {
    margin-left: auto;
    margin-right: auto
}

.agentBenefits > div:last-child {
    grid-template-columns:repeat(4, 1fr);
    gap: 15px;
    display: grid
}

.agentBenefits article {
    border-top: 3px solid var(--gold);
    background: #f6f8fa;
    padding: 25px
}

.agentBenefits article b {
    font-family: var(--font-sans), Arial, sans-serif;
    letter-spacing: .12em;
    color: #a66c1c;
    font-size: 10px
}

.agentBenefits article h3 {
    margin: 13px 0 9px;
    font-size: 22px;
    line-height: 1.1
}

.agentBenefits article p {
    color: var(--body);
    margin: 0;
    font-size: 12px;
    line-height: 1.62
}

.agentMarketGrid {
    grid-template-columns:repeat(3, 1fr);
    gap: 15px;
    padding-top: 35px;
    display: grid
}

.agentMarketGrid article {
    background: #fff;
    border: 1px solid #dfe4e9;
    padding: 28px 26px
}

.agentMarketGrid article > span {
    border: 1px solid var(--gold);
    width: 46px;
    height: 46px;
    color: var(--gold);
    border-radius: 50%;
    place-items: center;
    display: grid
}

.agentMarketGrid article > span svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55px;
    stroke-linecap: round;
    stroke-linejoin: round;
    width: 24px;
    height: 24px
}

.agentMarketGrid h2 {
    margin: 18px 0 8px;
    font-size: 25px;
    line-height: 1.1
}

.agentMarketGrid p {
    color: var(--body);
    margin: 0;
    font-size: 12.5px;
    line-height: 1.62
}

.whatsappBand {
    background: var(--cream);
    grid-template-columns:1.25fr .75fr;
    align-items: center;
    gap: 70px;
    padding: 66px 9vw;
    scroll-margin-top: 90px;
    display: grid
}

.whatsappBand h2 {
    color: var(--navy);
    font-size: 41px
}

.whatsappBand p {
    color: var(--body);
    line-height: 1.75
}

.whatsappBand ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.whatsappBand li {
    color: #30445f;
    border-bottom: 1px solid #d9d2c5;
    padding: 12px 0;
    font-weight: 700
}

.whatsappBand li:before {
    content: "✓";
    color: var(--gold);
    margin-right: 10px
}

.agentProcess {
    scroll-margin-top: 90px
}

.agentBrief {
    grid-template-columns:.8fr 1.2fr;
    align-items: start;
    gap: 75px;
    scroll-margin-top: 90px;
    display: grid
}

.agentBrief > div > span {
    letter-spacing: .16em;
    color: #a66c1c;
    font-size: 10px;
    font-weight: 800
}

.agentBrief h2 {
    margin: 10px 0 18px;
    font-size: 39px;
    line-height: 1.06
}

.agentBrief p {
    color: var(--body);
    font-size: 13px;
    line-height: 1.7
}

.agentBrief ul {
    grid-template-columns:1fr 1fr;
    gap: 0 24px;
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}

.agentBrief li {
    color: #42566d;
    border-top: 1px solid #dfe4e9;
    padding: 13px 0 13px 24px;
    font-size: 12.5px;
    line-height: 1.5;
    position: relative
}

.agentBrief li:before {
    content: "✓";
    color: var(--gold);
    font-weight: 900;
    position: absolute;
    left: 1px
}

.aboutLead {
    grid-template-columns:.72fr 1.28fr;
    gap: 70px;
    padding-top: 74px;
    padding-bottom: 70px;
    display: grid
}

.aboutLead h2 {
    margin-top: 12px
}

.aboutLead p + p {
    margin-top: 15px
}

.officeSection {
    background: var(--cream);
    padding: 72px max(6vw, 40px)
}

.officeGrid {
    grid-template-columns:repeat(3, 1fr);
    gap: 14px;
    max-width: 1162px;
    margin: 34px auto 0;
    display: grid
}

.officeGrid article {
    border-top: 4px solid var(--gold);
    background: #fff;
    padding: 28px;
    box-shadow: 0 8px 25px #09214a0b
}

.officeGrid small {
    letter-spacing: .14em;
    color: #a76b18;
    font-size: 9px;
    font-weight: 800
}

.officeGrid h2 {
    margin: 8px 0;
    font-size: 32px
}

.officeGrid p {
    color: var(--body);
    font-size: 12.5px;
    line-height: 1.65
}

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

.valueGrid article {
    border-top: 1px solid #dce2e7;
    padding-top: 20px
}

.valueGrid b {
    color: var(--gold);
    letter-spacing: .1em;
    font-size: 12px
}

.valueGrid h3 {
    margin: 15px 0 9px;
    font-size: 21px;
    line-height: 1.15
}

.valueGrid p {
    color: var(--body);
    font-size: 12.5px;
    line-height: 1.6
}

.contactLayout {
    grid-template-columns:.7fr 1.3fr;
    gap: 70px;
    padding-top: 75px;
    display: grid
}

.contactAside h2 {
    margin: 12px 0 18px
}

.contactAside > p {
    color: var(--body);
    line-height: 1.7
}

.contactAside dl > div {
    border-top: 1px solid #dce2e7;
    padding: 15px 0
}

.contactAside dt {
    letter-spacing: .12em;
    color: #a76b18;
    font-size: 9px;
    font-weight: 800
}

.contactAside dd {
    color: #3e536d;
    margin: 5px 0 0;
    font-size: 13px;
    line-height: 1.55
}

.contactAside dd a, .formNote a {
    color: #a66c1c;
    font-weight: 800
}

.inquiryForm {
    background: #f5f7f9;
    border: 1px solid #dce2e7;
    padding: 30px;
    scroll-margin-top: 90px
}

.formRow {
    grid-template-columns:1fr 1fr;
    gap: 15px;
    display: grid
}

.inquiryForm label {
    letter-spacing: .06em;
    color: #3e526b;
    margin-bottom: 15px;
    font-size: 10px;
    font-weight: 800;
    display: block
}

.inquiryForm input, .inquiryForm select, .inquiryForm textarea {
    width: 100%;
    color: var(--ink);
    font: 500 13px/1.4 var(--font-sans), Arial, sans-serif;
    background: #fff;
    border: 1px solid #cfd8e0;
    border-radius: 2px;
    margin-top: 6px;
    padding: 12px;
    display: block
}

.inquiryForm textarea {
    resize: vertical
}

.inquiryForm .consent {
    letter-spacing: 0;
    align-items: flex-start;
    gap: 9px;
    font-weight: 500;
    line-height: 1.5;
    display: flex
}

.inquiryForm .consent input {
    width: auto;
    margin: 3px 0 0
}

.inquiryForm .goldBtn {
    cursor: pointer;
    border: 0
}

.formNote {
    color: #748296;
    margin-top: 15px;
    font-size: 10.5px;
    line-height: 1.5
}

.legalContent {
    max-width: 900px;
    padding-top: 70px
}

.legalContent h2 {
    margin: 32px 0 8px;
    font-size: 26px
}

.legalContent p {
    color: var(--body);
    line-height: 1.8
}

.legalContent ul {
    margin: 12px 0 20px;
    padding: 0;
    list-style: none
}

.legalContent li {
    color: #4a5d73;
    border-top: 1px solid #e1e6ea;
    padding: 9px 0 9px 23px;
    line-height: 1.65;
    position: relative
}

.legalContent li:before {
    content: "";
    background: var(--gold);
    border-radius: 50%;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 18px;
    left: 2px
}

.legalContent a {
    color: #9b6217;
    text-underline-offset: 3px;
    font-weight: 800;
    text-decoration: underline
}

.legalNotice {
    background: var(--gold-light);
    border-left: 4px solid #9e6117;
    padding: 18px 22px;
    color: #2b251c !important
}

.detailFacts {
    z-index: 2;
    background: var(--deep);
    color: #fff;
    grid-template-columns:repeat(4, 1fr);
    width: min(1162px, 88vw);
    margin: -30px auto 0;
    display: grid;
    position: relative;
    box-shadow: 0 16px 40px #04152d30
}

.detailFacts > div {
    border-right: 1px solid #ffffff1f;
    flex-direction: column;
    justify-content: center;
    min-height: 100px;
    padding: 24px;
    display: flex
}

.detailFacts > div:last-child {
    border: 0
}

.detailFacts small {
    letter-spacing: .15em;
    color: var(--gold-light);
    margin-bottom: 8px;
    font-size: 8.5px;
    font-weight: 800
}

.detailFacts strong {
    font-family: var(--font-display), Georgia, serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25
}

.detailLead {
    border-bottom: 1px solid #dfe5ea;
    grid-template-columns:.95fr 1.25fr;
    align-items: center;
    gap: 80px;
    padding-top: 78px;
    padding-bottom: 55px;
    display: grid
}

.detailLead span, .detailListCard > span, .detailFlow > div > span, .operatingNotes > span, .customizeBand span {
    letter-spacing: .16em;
    color: #a66c1c;
    font-size: 10px;
    font-weight: 800
}

.detailLead h2 {
    margin: 10px 0 0;
    font-size: 41px;
    line-height: 1.06
}

.detailLead p {
    color: var(--body);
    margin: 0;
    font-size: 15px;
    line-height: 1.82
}

.programLead h2 {
    font-size: 32px;
    line-height: 1.22
}

.detailColumns {
    grid-template-columns:1fr 1fr;
    gap: 18px;
    padding-top: 52px;
    padding-bottom: 68px;
    display: grid
}

.detailListCard {
    background: linear-gradient(145deg, #fff, #f7f8f9);
    border: 1px solid #dfe4e9;
    padding: 36px
}

.detailListCard h2 {
    margin: 9px 0 21px;
    font-size: 29px
}

.detailListCard ul, .operatingNotes ul, .customizeBand ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.detailListCard li, .operatingNotes li, .customizeBand li {
    color: #42566d;
    border-top: 1px solid #e0e5e9;
    padding: 11px 0 11px 25px;
    font-size: 13px;
    line-height: 1.5;
    position: relative
}

.detailListCard li:before, .operatingNotes li:before, .customizeBand li:before {
    content: "✓";
    color: var(--gold);
    font-weight: 900;
    position: absolute;
    left: 1px
}

.detailFlow {
    background: var(--deep);
    color: #fff;
    grid-template-columns:.85fr 2.15fr;
    align-items: center;
    gap: 55px;
    padding: 68px 6vw;
    display: grid
}

.detailFlow h2 {
    margin: 10px 0;
    font-size: 38px;
    line-height: 1.05
}

.detailFlow ol {
    grid-template-columns:repeat(4, 1fr);
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}

.detailFlow li {
    border-left: 1px solid #ffffff25;
    padding-left: 18px
}

.detailFlow li b {
    letter-spacing: .12em;
    color: var(--gold-light);
    font-size: 11px
}

.detailFlow li h3 {
    color: #fff;
    margin: 15px 0 7px;
    font-size: 18px;
    line-height: 1.2
}

.detailFlow li p {
    color: #bdc9d7;
    margin: 0;
    font-size: 11.5px;
    line-height: 1.55
}

.operatingNotes {
    max-width: 900px;
    padding-top: 62px;
    padding-bottom: 70px
}

.operatingNotes h2 {
    margin: 10px 0 20px;
    font-size: 35px
}

.sampleFlow {
    padding-top: 55px;
    padding-bottom: 70px
}

.sampleFlow ol {
    grid-template-columns:1fr 1fr;
    gap: 14px;
    max-width: 980px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    display: grid
}

.sampleFlow li {
    background: #fff;
    border: 1px solid #dce3e9;
    grid-template-columns:62px 1fr;
    gap: 17px;
    padding: 24px;
    display: grid;
    box-shadow: 0 8px 24px #09214a0b
}

.sampleFlow li > b {
    border: 1px solid var(--gold);
    width: 54px;
    height: 54px;
    color: var(--gold);
    place-items: center;
    font-size: 17px;
    display: grid
}

.sampleFlow small {
    letter-spacing: .13em;
    color: #a76b18;
    font-size: 8.5px;
    font-weight: 800
}

.sampleFlow h3 {
    margin: 6px 0;
    font-size: 20px;
    line-height: 1.2
}

.sampleFlow p {
    color: var(--body);
    margin: 0;
    font-size: 11.5px;
    line-height: 1.55
}

.customizeBand {
    background: var(--cream);
    grid-template-columns:1fr 1.25fr;
    align-items: center;
    gap: 70px;
    padding: 62px 9vw;
    display: grid
}

.customizeBand h2 {
    margin: 10px 0;
    font-size: 39px
}

.customizeBand p {
    color: var(--body);
    line-height: 1.7
}

.customizeBand ul {
    grid-template-columns:1fr 1fr;
    gap: 0 25px;
    display: grid
}

.vehicleQuoteBand {
    background: linear-gradient(120deg, #faf7f1, #edf2f6)
}

@media (width <= 1120px) {
    .nav nav {
        display: none
    }
}

@media (width <= 900px) {
    .innerHero h1 {
        font-size: 44px
    }

    .innerIntro, .sampleFaq, .agentBrief {
        grid-template-columns:1fr;
        gap: 24px
    }

    .featureGrid, .fleetNotice, .whatsappBand, .aboutLead, .contactLayout, .detailLead, .detailFlow, .customizeBand, .vehicleShowcase {
        grid-template-columns:1fr
    }

    .vehicleShowcase {
        gap: 28px
    }

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

    .darkBand ol {
        grid-template-columns:1fr 1fr
    }

    .destinationIndexGrid {
        grid-template-rows:340px 260px 260px;
        grid-template-columns:1fr 1fr
    }

    .destinationIndexCard.d0 {
        grid-area: auto / 1 /auto/ 3
    }

    .destinationIndexCard.d1 {
        grid-column: 1/3
    }

    .vehicleGrid, .agentMarketGrid, .agentBenefits > div:last-child {
        grid-template-columns:1fr 1fr
    }

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

    .regionalFleetGrid > article {
        grid-template-columns:.9fr 1.1fr;
        display: grid
    }

    .regionalFleetGrid > article > img {
        height: 100%
    }

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

    .valueGrid, .detailFacts {
        grid-template-columns:1fr 1fr
    }

    .detailFacts > div:nth-child(2) {
        border-right: 0
    }

    .detailFlow ol {
        grid-template-columns:1fr 1fr
    }
}

@media (width <= 620px) {
    .innerHero {
        height: 610px
    }

    .innerHeroCopy {
        width: calc(100vw - 44px);
        top: 105px;
        left: 22px
    }

    .innerHero h1 {
        font-size: 37px
    }

    .vehicleDetailPage .innerHero h1 {
        letter-spacing: -.035em;
        font-size: 38px
    }

    .vehicleDetailPage .innerHero h1 em {
        font-size: .46em;
        line-height: 1.42
    }

    .innerHero p {
        font-size: 14px
    }

    .featureGrid, .programCardGrid, .vehicleGrid, .agentMarketGrid, .valueGrid, .detailColumns, .sampleFlow ol, .customizeBand ul, .agentBenefits > div:last-child, .agentBrief ul {
        grid-template-columns:1fr
    }

    .regionalFleetGrid > article {
        display: block
    }

    .regionalFleetGrid > article > img {
        height: 205px
    }

    .vehicleShowcase img {
        height: 240px
    }

    .vehicleShowcase h2 {
        font-size: 34px
    }

    .imageFeature {
        height: 270px
    }

    .darkBand ol, .detailFlow ol {
        grid-template-columns:1fr
    }

    .destinationIndexGrid {
        flex-direction: column;
        height: auto;
        display: flex
    }

    .destinationIndexCard {
        height: 300px
    }

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

    .programCardGrid img {
        height: 190px
    }

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

    .inquiryForm {
        padding: 20px
    }

    .fleetNotice, .whatsappBand, .customizeBand, .detailFlow {
        padding: 55px 22px
    }

    .aboutLead {
        gap: 25px
    }

    .officeSection {
        padding: 55px 20px
    }

    .detailFacts {
        width: calc(100vw - 36px)
    }

    .detailFacts > div {
        min-height: 88px;
        padding: 17px
    }

    .detailFacts strong {
        font-size: 15px
    }

    .detailLead {
        gap: 22px
    }

    .sampleFlow li {
        grid-template-columns:48px 1fr;
        padding: 18px
    }

    .sampleFlow li > b {
        width: 42px;
        height: 42px
    }
}

.transportationFleet {
    padding-top: 58px;
    padding-bottom: 72px
}

.sectionTitle > p {
    color: var(--body);
    max-width: 650px;
    margin: 9px auto 0;
    font-size: 13px
}

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

.transportVehicleGrid article {
    background: linear-gradient(145deg, #fff, #f6f8fa);
    border: 1px solid #dce3e9;
    padding: 24px;
    box-shadow: 0 9px 25px #09214a0b
}

.vehicleTypeBadge {
    background: var(--deep);
    border-bottom: 3px solid var(--gold);
    color: #fff;
    letter-spacing: .12em;
    place-items: center;
    width: 56px;
    height: 38px;
    margin-bottom: 16px;
    font-size: 9px;
    font-weight: 900;
    display: grid
}

.transportVehicleGrid article > small {
    color: #7a8796;
    letter-spacing: .09em;
    text-transform: uppercase;
    font-size: 9px
}

.transportVehicleGrid h3 {
    margin: 5px 0 18px;
    font-size: 26px;
    line-height: 1.08
}

.transportVehicleGrid dl {
    margin: 0
}

.transportVehicleGrid dl > div {
    border-top: 1px solid #e0e5e9;
    grid-template-columns:94px 1fr;
    gap: 10px;
    padding: 10px 0;
    display: grid
}

.transportVehicleGrid dt {
    letter-spacing: .1em;
    color: #a66c1c;
    font-size: 8px;
    font-weight: 850
}

.transportVehicleGrid dd {
    color: var(--body);
    margin: 0;
    font-size: 11.5px;
    line-height: 1.45
}

.capacityDisclaimer {
    color: #748296;
    margin: 18px 0 0;
    font-size: 10.5px;
    line-height: 1.6
}

.transportServiceBand {
    background: var(--deep);
    color: #fff;
    grid-template-columns:.8fr 2.2fr;
    gap: 55px;
    padding: 70px 6vw;
    display: grid
}

.transportServiceBand > div:first-child > span, .transportNotes > div > span {
    letter-spacing: .16em;
    color: var(--gold-light);
    font-size: 10px;
    font-weight: 850
}

.transportServiceBand > div:first-child h2 {
    margin: 10px 0;
    font-size: 39px;
    line-height: 1.06
}

.transportServiceBand > div:first-child p {
    color: #c4cfdb;
    font-size: 12.5px;
    line-height: 1.65
}

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

.transportTypeGrid article {
    border-left: 1px solid #ffffff29;
    padding-left: 17px
}

.transportTypeGrid b {
    color: var(--gold-light);
    letter-spacing: .12em;
    font-size: 10px
}

.transportTypeGrid h3 {
    color: #fff;
    margin: 12px 0 7px;
    font-size: 18px;
    line-height: 1.2
}

.transportTypeGrid p {
    color: #bdc9d7;
    margin: 0;
    font-size: 11px;
    line-height: 1.55
}

.transportNotes {
    padding-top: 66px;
    padding-bottom: 72px
}

.transportNotes > div:first-child {
    grid-template-columns:.55fr 1fr;
    align-items: end;
    gap: 40px;
    margin-bottom: 28px;
    display: grid
}

.transportNotes h2 {
    margin: 0;
    font-size: 38px;
    line-height: 1.06
}

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

.transportNoteGrid article {
    border-top: 3px solid var(--gold);
    background: #f6f8fa;
    padding: 25px
}

.transportNoteGrid h3 {
    margin: 0 0 10px;
    font-size: 21px
}

.transportNoteGrid p {
    color: var(--body);
    margin: 0;
    font-size: 12px;
    line-height: 1.65
}

.privateTourIdeas {
    padding-top: 56px;
    padding-bottom: 72px
}

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

.tourIdeaGrid article {
    background: #fff;
    border: 1px solid #dce3e9;
    overflow: hidden;
    box-shadow: 0 9px 24px #09214a0b
}

.tourIdeaGrid img {
    object-fit: cover;
    width: 100%;
    height: 190px;
    display: block
}

.tourIdeaGrid article > div {
    padding: 21px
}

.tourIdeaGrid small {
    letter-spacing: .06em;
    color: #a66c1c;
    font-size: 8.5px;
    font-weight: 800
}

.tourIdeaGrid h3 {
    margin: 8px 0;
    font-size: 24px;
    line-height: 1.08
}

.tourIdeaGrid p {
    color: var(--body);
    min-height: 58px;
    font-size: 12px;
    line-height: 1.6
}

.tourIdeaGrid a {
    color: #a66c1c;
    letter-spacing: .1em;
    margin-top: 10px;
    font-size: 9px;
    font-weight: 850;
    display: inline-block
}

.privateCustomize {
    background: linear-gradient(120deg, #faf6ef, #eef2f6)
}

@media (width <= 900px) {
    .transportServiceBand {
        grid-template-columns:1fr
    }

    .transportVehicleGrid, .tourIdeaGrid, .transportTypeGrid {
        grid-template-columns:1fr 1fr
    }

    .transportNotes > div:first-child, .transportNoteGrid {
        grid-template-columns:1fr
    }
}

@media (width <= 620px) {
    .transportVehicleGrid, .tourIdeaGrid, .transportTypeGrid {
        grid-template-columns:1fr
    }

    .transportServiceBand {
        padding: 55px 22px
    }

    .tourIdeaGrid img {
        height: 210px
    }
}

.transportVehicleGrid article {
    padding: 0 0 24px;
    overflow: hidden
}

.vehiclePhoto {
    object-fit: cover;
    width: 100%;
    height: 180px;
    margin-bottom: 19px;
    display: block
}

.transportVehicleGrid article > small, .transportVehicleGrid article > h3, .transportVehicleGrid article > dl, .transportVehicleGrid article > a {
    margin-left: 24px;
    margin-right: 24px
}

.transportVehicleGrid article > small {
    display: block
}

.transportVehicleGrid h3 {
    margin-top: 5px;
    margin-bottom: 18px
}

.transportVehicleGrid article > a {
    color: #a66c1c;
    letter-spacing: .09em;
    margin-top: 15px;
    font-size: 8.5px;
    font-weight: 850;
    display: inline-block
}

.serviceExamples {
    padding-top: 20px;
    padding-bottom: 70px
}

.serviceExampleGrid {
    grid-template-columns:repeat(4, 1fr);
    gap: 14px;
    margin-top: 28px;
    display: grid
}

.serviceExampleGrid article {
    background: #fff;
    border: 1px solid #dce3e9;
    overflow: hidden;
    box-shadow: 0 9px 24px #09214a0b
}

.serviceExampleGrid img {
    object-fit: cover;
    width: 100%;
    height: 155px;
    display: block
}

.serviceExampleGrid article > div {
    padding: 19px
}

.serviceExampleGrid small {
    letter-spacing: .1em;
    color: #a66c1c;
    font-size: 8.5px;
    font-weight: 850
}

.serviceExampleGrid h3 {
    margin: 8px 0;
    font-size: 21px;
    line-height: 1.1
}

.serviceExampleGrid p {
    color: var(--body);
    min-height: 72px;
    margin: 0;
    font-size: 11.5px;
    line-height: 1.55
}

.serviceExampleGrid a {
    color: #a66c1c;
    letter-spacing: .08em;
    margin-top: 13px;
    font-size: 8.5px;
    font-weight: 850;
    display: inline-block
}

@media (width <= 900px) {
    .serviceExampleGrid {
        grid-template-columns:1fr 1fr
    }
}

@media (width <= 620px) {
    .serviceExampleGrid {
        grid-template-columns:1fr
    }

    .serviceExampleGrid img {
        height: 210px
    }

    .serviceExampleGrid p {
        min-height: 0
    }
}

.programCardGrid > article {
    background: #fff;
    border: 1px solid #dfe4e9;
    flex-direction: column;
    min-height: 335px;
    display: flex;
    overflow: hidden;
    box-shadow: 0 8px 22px #09214a0b
}

.programCardGrid > article > div {
    flex-direction: column;
    flex: 1;
    padding: 18px 20px 20px;
    display: flex
}

.programCardGrid small {
    min-height: 28px;
    font-family: var(--font-sans), Arial, sans-serif;
    letter-spacing: .07em;
    text-transform: uppercase;
    font-variant-numeric: tabular-nums;
    align-items: center;
    padding: 5px 10px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    display: inline-flex
}

.sampleProgramDetail .innerHero h1 em {
    font-family: var(--font-sans), Arial, sans-serif;
    letter-spacing: .035em;
    text-transform: uppercase;
    font-size: .42em;
    font-style: normal;
    font-weight: 750;
    line-height: 1.35
}

.sampleFlow ol {
    gap: 16px;
    max-width: 1080px
}

.sampleFlow li {
    padding: 0;
    display: block;
    overflow: hidden
}

.sampleFlow li > img {
    object-fit: cover;
    width: 100%;
    height: 180px;
    display: block
}

.sampleFlow li > div {
    padding: 20px 22px 22px
}

.sampleFlow small {
    background: var(--deep);
    min-height: 27px;
    color: var(--gold-light);
    font-family: var(--font-sans), Arial, sans-serif;
    letter-spacing: .12em;
    align-items: center;
    padding: 5px 10px;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
    display: inline-flex
}

.sampleFlow h3 {
    margin-top: 11px
}

.sampleFlow .sectionTitle {
    max-width: 780px;
    margin-left: auto;
    margin-right: auto
}

.sampleFlow .sectionTitle p {
    max-width: 720px;
    color: var(--body);
    margin: 14px auto 0;
    font-size: 13px;
    line-height: 1.7
}

.sampleFlow ol {
    flex-direction: column;
    gap: 22px;
    max-width: 1160px;
    display: flex
}

.sampleFlow li {
    grid-template-columns:minmax(300px, .82fr) 1.55fr;
    min-height: 390px;
    display: grid
}

.sampleFlow li > img {
    height: 100%;
    min-height: 390px
}

.sampleFlow li:nth-child(2n) {
    grid-template-columns:1.55fr minmax(300px, .82fr)
}

.sampleFlow li:nth-child(2n) > img {
    grid-area: 1/2
}

.sampleFlow li:nth-child(2n) > .dayPlanContent {
    grid-area: 1/1
}

.dayPlanContent {
    flex-direction: column;
    display: flex;
    padding: 30px 34px 28px !important
}

.dayPlanHeading {
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    display: flex
}

.dayPlanHeading > span {
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #8e6a32;
    text-align: right;
    font-size: 10px;
    font-weight: 800
}

.sampleFlow .dayPlanContent h3 {
    margin: 15px 0 18px;
    font-size: 29px
}

.daySchedule {
    border-top: 1px solid #e0e6eb;
    border-bottom: 1px solid #e0e6eb;
    grid-template-columns:repeat(3, 1fr);
    gap: 0;
    display: grid
}

.daySchedule > div {
    padding: 18px 18px 18px 0
}

.daySchedule > div + div {
    border-left: 1px solid #e0e6eb;
    padding-left: 18px
}

.daySchedule b, .dayLogistics b {
    font-family: var(--font-sans), Arial, sans-serif;
    letter-spacing: .13em;
    color: #a66c1c;
    margin-bottom: 8px;
    font-size: 8.5px;
    display: block
}

.daySchedule p {
    color: var(--body);
    margin: 0;
    font-size: 11.5px;
    line-height: 1.62
}

.dayLogistics {
    grid-template-columns:1.4fr .8fr;
    gap: 25px;
    margin-top: auto;
    padding-top: 19px;
    display: grid
}

.dayLogistics span {
    color: #253e59;
    font-size: 11px;
    line-height: 1.45
}

.dayLogistics b {
    margin-bottom: 5px
}

.agencySupportSection {
    padding-top: 54px
}

.agencySupportGrid {
    grid-template-columns:repeat(3, 1fr);
    gap: 16px;
    margin-top: 34px;
    display: grid
}

.agencySupportGrid article {
    background: #fff;
    border: 1px solid #dce3e9;
    overflow: hidden;
    box-shadow: 0 9px 25px #09214a0c
}

.agencySupportGrid img {
    object-fit: cover;
    width: 100%;
    height: 170px;
    display: block
}

.agencySupportGrid article > div {
    padding: 22px 23px 24px
}

.agencySupportGrid h2 {
    margin: 0 0 9px;
    font-size: 23px;
    line-height: 1.12
}

.agencySupportGrid p {
    color: var(--body);
    margin: 0;
    font-size: 12px;
    line-height: 1.65
}

@media (width <= 900px) {
    .agencySupportGrid {
        grid-template-columns:1fr 1fr
    }
}

@media (width <= 820px) {
    .sampleFlow li, .sampleFlow li:nth-child(2n) {
        grid-template-columns:1fr
    }

    .sampleFlow li > img, .sampleFlow li:nth-child(2n) > img {
        grid-area: 1/1;
        height: 250px;
        min-height: 250px
    }

    .sampleFlow li > .dayPlanContent, .sampleFlow li:nth-child(2n) > .dayPlanContent {
        grid-area: 2/1
    }

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

    .daySchedule > div {
        padding: 15px 0
    }

    .daySchedule > div + div {
        border-top: 1px solid #e0e6eb;
        border-left: 0;
        padding-left: 0
    }

    .dayLogistics {
        margin-top: 16px
    }
}

@media (width <= 620px) {
    .sampleFlow li {
        padding: 0;
        display: grid
    }

    .sampleFlow li > img, .sampleFlow li:nth-child(2n) > img {
        height: 205px;
        min-height: 205px
    }

    .dayPlanContent {
        padding: 22px !important
    }

    .sampleFlow .dayPlanContent h3 {
        font-size: 25px
    }

    .dayPlanHeading {
        align-items: flex-start
    }

    .dayLogistics, .agencySupportGrid {
        grid-template-columns:1fr
    }

    .agencySupportGrid img {
        height: 205px
    }
}

.agentTrust {
    color: #fff;
    background: linear-gradient(115deg, #071d41, #020f25);
    grid-template-columns:.8fr 1.2fr;
    align-items: center;
    gap: 70px;
    padding: 68px 7vw;
    scroll-margin-top: 90px;
    display: grid
}

.agentTrust > div > span, .agentSupportStages .sectionTitle > span, .supportStageTitle > span {
    letter-spacing: .16em;
    color: var(--gold-light);
    font-size: 10px;
    font-weight: 800
}

.agentTrust h2 {
    color: #fff;
    margin: 11px 0 0;
    font-size: 40px;
    line-height: 1.06
}

.agentTrust ul {
    grid-template-columns:1fr 1fr;
    gap: 0 30px;
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}

.agentTrust li {
    color: #d8e0eb;
    border-top: 1px solid #ffffff24;
    padding: 14px 0 14px 25px;
    font-size: 12.5px;
    line-height: 1.45;
    position: relative
}

.agentTrust li:before {
    content: "✓";
    color: var(--gold-light);
    font-weight: 900;
    position: absolute;
    left: 2px
}

.agentSupportStages {
    padding-top: 74px
}

.supportStage {
    border-top: 1px solid #dfe4e9;
    grid-template-columns:285px 1fr;
    gap: 44px;
    padding: 43px 0;
    display: grid
}

.supportStageTitle h2 {
    margin: 9px 0 12px;
    font-size: 31px;
    line-height: 1.08
}

.supportStageTitle p {
    color: var(--body);
    margin: 0;
    font-size: 12px;
    line-height: 1.65
}

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

.supportStageCards article {
    background: linear-gradient(145deg, #fff, #f6f8fa);
    border: 1px solid #dce3e9;
    min-height: 225px;
    padding: 24px;
    position: relative;
    box-shadow: 0 8px 22px #09214a0a
}

.supportStageCards i {
    color: #f8fbff;
    background: linear-gradient(145deg, #0d2c54, #061a38);
    border: 1px solid #18375c;
    border-radius: 15px;
    place-items: center;
    width: 58px;
    height: 58px;
    font-style: normal;
    display: grid;
    position: relative;
    box-shadow: 0 9px 20px #071a3430, inset 0 1px #fff2
}

.supportStageCards i:after {
    content: "";
    background: var(--gold);
    border: 3px solid #fff;
    border-radius: 50%;
    width: 14px;
    height: 14px;
    position: absolute;
    bottom: -4px;
    right: -4px;
    box-shadow: 0 2px 7px #09214a2b
}

.supportStageCards svg {
    width: 31px;
    height: 31px
}

.supportStageCards svg .accent {
    stroke: var(--gold-light)
}

.supportStageCards h3 {
    margin: 18px 0 9px;
    font-size: 21px;
    line-height: 1.12
}

.supportStageCards p {
    color: var(--body);
    margin: 0;
    font-size: 11.5px;
    line-height: 1.62
}

@media (width <= 900px) {
    .agentTrust, .supportStage {
        grid-template-columns:1fr
    }

    .agentTrust {
        gap: 30px
    }

    .supportStage {
        gap: 25px
    }

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

    .supportStageCards article:last-child {
        grid-column: 1/3
    }
}

@media (width <= 620px) {
    .agentTrust {
        padding: 55px 22px
    }

    .agentTrust ul, .supportStageCards {
        grid-template-columns:1fr
    }

    .supportStageCards article:last-child {
        grid-column: auto
    }

    .supportStageCards article {
        min-height: 0
    }

    .supportStage {
        padding: 34px 0
    }
}

.inquiryForm .fileUpload {
    letter-spacing: 0;
    cursor: pointer;
    background: #fff;
    border: 1px dashed #9dafbf;
    grid-template-columns:50px 1fr;
    align-items: center;
    gap: 15px;
    margin: 3px 0 18px;
    padding: 18px;
    transition: border-color .2s, background .2s;
    display: grid
}

.inquiryForm .fileUpload:hover {
    border-color: var(--gold);
    background: #fffdf8
}

.fileUploadIcon {
    background: var(--deep);
    width: 50px;
    height: 50px;
    color: var(--gold-light);
    border-radius: 12px;
    place-items: center;
    display: grid
}

.fileUploadIcon svg {
    width: 27px;
    height: 27px
}

.fileUploadCopy strong {
    font-family: var(--font-display), Georgia, serif;
    color: var(--ink);
    font-size: 20px;
    line-height: 1.1;
    display: block
}

.fileUploadCopy small {
    color: #6f7f91;
    margin-top: 6px;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.45;
    display: block
}

.inquiryForm .fileUpload input[type=file] {
    cursor: pointer;
    background: #f4f7f9;
    grid-column: 1/3;
    margin: 2px 0 0;
    padding: 9px;
    font-size: 11px
}

.inquiryForm input[type=file]::file-selector-button {
    color: #fff;
    font: 800 9px/1 var(--font-sans), Arial, sans-serif;
    letter-spacing: .08em;
    cursor: pointer;
    background: #d9952f;
    border: 0;
    margin-right: 12px;
    padding: 9px 13px
}

.selectedFiles {
    flex-wrap: wrap;
    grid-column: 1/3;
    gap: 6px;
    display: flex
}

.selectedFiles span {
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #334b65;
    background: #edf2f6;
    border-radius: 20px;
    max-width: 100%;
    padding: 6px 10px;
    font-size: 9.5px;
    font-weight: 700;
    overflow: hidden
}

.fileUploadError {
    color: #a5362d;
    grid-column: 1/3;
    font-size: 10.5px;
    font-weight: 700
}

@media (width <= 620px) {
    .inquiryForm .fileUpload {
        grid-template-columns:42px 1fr;
        padding: 14px
    }

    .fileUploadIcon {
        width: 42px;
        height: 42px
    }

    .fileUploadCopy strong {
        font-size: 18px
    }
}

.aboutPageV2 .innerHero {
    background-position: 50% 46%
}

.aboutV2Intro {
    grid-template-columns:.8fr 1.2fr;
    gap: 78px;
    padding-top: 82px;
    padding-bottom: 80px;
    display: grid
}

.aboutV2IntroTitle > span, .aboutV2SectionTitle > span, .aboutV2DmcTitle > span, .aboutV2Trade > div:first-child > span {
    letter-spacing: .17em;
    color: #a66c1c;
    font-size: 10px;
    font-weight: 800
}

.aboutV2IntroTitle h2 {
    margin: 13px 0 0;
    font-size: 44px;
    line-height: 1.03
}

.aboutV2IntroCopy > p {
    color: var(--body);
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.82
}

.aboutV2Statement {
    border-left: 3px solid var(--gold);
    background: #f3f6f8;
    margin-top: 27px;
    padding: 23px 25px
}

.aboutV2Statement b {
    letter-spacing: .15em;
    color: #9d6519;
    font-size: 9px
}

.aboutV2Statement p {
    font-family: var(--font-display), Georgia, serif;
    color: var(--navy);
    margin: 8px 0 0;
    font-size: 21px;
    line-height: 1.35
}

.aboutV2Facts {
    background: var(--deep);
    color: #fff;
    grid-template-columns:repeat(4, 1fr);
    padding: 0 max(6vw, 40px);
    display: grid
}

.aboutV2Facts > div {
    border-right: 1px solid #ffffff1f;
    flex-direction: column;
    justify-content: center;
    min-height: 168px;
    padding: 34px 30px;
    display: flex
}

.aboutV2Facts > div:last-child {
    border-right: 0
}

.aboutV2Facts small {
    letter-spacing: .15em;
    color: var(--gold-light);
    font-size: 8.5px;
    font-weight: 800
}

.aboutV2Facts strong {
    /*font-family: var(--font-display), Georgia, serif;*/
    color: #fff;
    margin: 11px 0 8px;
    font-size: 33px;
    line-height: 1.05
}
.stat strong, .metric strong, .number, .acronym {
    font-family: "Manrope", Arial, sans-serif;
    font-size: 32px; font-weight: 700; line-height: 1.1;
    letter-spacing: -0.02em; font-variant-numeric: tabular-nums;
}
.aboutV2Facts p {
    color: #c9d3df;
    margin: 0;
    font-size: 10.5px;
    line-height: 1.5
}

.aboutV2Offices {
    background: var(--cream);
    padding: 82px max(6vw, 40px) 86px
}

.aboutV2SectionTitle {
    text-align: center;
    max-width: 810px;
    margin: 0 auto
}

.aboutV2SectionTitle h2 {
    margin: 13px 0 0;
    font-size: 43px;
    line-height: 1.05
}

.aboutV2SectionTitle p {
    max-width: 680px;
    color: var(--body);
    margin: 15px auto 0;
    font-size: 13px;
    line-height: 1.72
}

.aboutV2PresenceLayout {
    grid-template-columns:minmax(0, 1.65fr) minmax(320px, .85fr);
    align-items: stretch;
    gap: 18px;
    max-width: 1280px;
    margin: 42px auto 0;
    display: grid
}

.aboutV2MapColumn {
    flex-direction: column;
    min-width: 0;
    display: flex
}

.aboutV2Map {
    aspect-ratio: 1100/650;
    border: 1px solid #a9772d;
    position: relative;
    overflow: hidden;
    box-shadow: 0 18px 45px #071d4126, 0 0 0 1px #d6a34c18
}

.aboutV2Map > img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

.aboutV2Map > p {
    letter-spacing: .13em;
    text-transform: uppercase;
    color: #9eafbf;
    margin: 0;
    font-size: 8px;
    font-weight: 700;
    position: absolute;
    bottom: 16px;
    left: 20px
}

.aboutV2MapLegend {
    z-index: 2;
    pointer-events: none;
    justify-content: space-between;
    gap: 16px;
    display: flex;
    position: absolute;
    top: 18px;
    left: 18px;
    right: 18px
}

.aboutV2MapLegend span {
    color: #e2e8ef;
    letter-spacing: .14em;
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    background: #03152bd9;
    border: 1px solid #d8a64f52;
    align-items: center;
    gap: 7px;
    padding: 7px 9px;
    font-size: 7px;
    font-weight: 800;
    display: flex
}

.aboutV2MapLegend i {
    background: var(--gold);
    border: 2px solid #fff;
    border-radius: 50%;
    width: 7px;
    height: 7px;
    box-shadow: 0 0 0 3px #d9952f38
}

.aboutV2MapPin {
    z-index: 2;
    width: 0;
    height: 0;
    position: absolute
}

.pinChengdu {
    top: 58.6%;
    left: 28.77%
}

.pinHongKong {
    top: 78.18%;
    left: 41.44%
}

.pinOsaka {
    top: 48.22%;
    left: 68.18%
}

.aboutV2MapPin i {
    background: var(--gold);
    border: 4px solid #fff;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    position: absolute;
    top: -8px;
    left: -8px;
    box-shadow: 0 0 0 8px #d9952f35, 0 5px 18px #020f25
}

.aboutV2MapPin span {
    color: #fff;
    border: 1px solid #d8a64f61;
    border-left: 2px solid var(--gold-light);
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    background: #03152be8;
    width: max-content;
    min-width: 128px;
    padding: 9px 12px;
    position: absolute;
    top: -22px;
    left: 18px;
    box-shadow: 0 10px 27px #010b1c99
}

.aboutV2MapPin small {
    letter-spacing: .12em;
    color: var(--gold-light);
    font-size: 7px;
    font-weight: 800;
    display: block
}

.aboutV2MapPin strong {
    font-family: var(--font-display), Georgia, serif;
    color: #fff;
    margin-top: 2px;
    font-size: 19px;
    line-height: 1.1;
    display: block
}

.aboutV2Coverage {
    background: #fff;
    border: 1px solid #dbe2e8;
    border-top: 0;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    min-height: 76px;
    padding: 16px 21px;
    display: flex
}

.aboutV2Coverage > b {
    letter-spacing: .14em;
    color: #8e5a16;
    white-space: nowrap;
    font-size: 8px
}

.aboutV2Coverage > div {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 5px;
    display: flex
}

.aboutV2Coverage span {
    letter-spacing: .06em;
    color: #50667b;
    text-transform: uppercase;
    background: #eef2f5;
    padding: 5px 7px;
    font-size: 7.5px;
    font-weight: 800
}

.aboutV2OfficeGrid {
    grid-template-rows:repeat(3, 1fr);
    grid-template-columns:1fr;
    gap: 12px;
    min-width: 0;
    display: grid
}

.aboutV2OfficeGrid article {
    border: 1px solid #d9e1e8;
    border-left: 3px solid var(--gold);
    background: #fff;
    flex-direction: column;
    min-height: 0;
    padding: 20px 22px;
    display: flex;
    box-shadow: 0 8px 25px #09214a0a
}

.aboutV2OfficeHeading {
    align-items: center;
    gap: 13px;
    display: flex
}

.aboutV2OfficeIcon {
    color: #f7f9fc;
    background: linear-gradient(145deg, #0d2d50, #04172f);
    border: 1px solid #193b5d;
    border-radius: 12px;
    flex: 0 0 46px;
    place-items: center;
    width: 46px;
    height: 46px;
    display: grid;
    position: relative;
    box-shadow: 0 8px 18px #071a3426, inset 0 1px #ffffff1c
}

.aboutV2OfficeIcon:after {
    content: "";
    background: var(--gold);
    border: 3px solid #fff;
    border-radius: 50%;
    width: 12px;
    height: 12px;
    position: absolute;
    bottom: -4px;
    right: -4px;
    box-shadow: 0 3px 8px #09214a26
}

.aboutV2OfficeIcon svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.45px;
    stroke-linecap: round;
    stroke-linejoin: round;
    width: 27px;
    height: 27px
}

.aboutV2OfficeIcon svg .accent {
    stroke: var(--gold-light)
}

.aboutV2OfficeHeading small {
    letter-spacing: .15em;
    color: #a66c1c;
    font-size: 7.5px;
    font-weight: 800;
    display: block
}

.aboutV2OfficeGrid h2 {
    margin: 4px 0 0;
    font-size: 26px;
    line-height: 1
}

.aboutV2OfficeGrid b {
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #405970;
    margin-top: 10px;
    font-size: 8.5px;
    display: block
}

.aboutV2OfficeGrid p {
    color: var(--body);
    margin: 9px 0 10px;
    font-size: 10.5px;
    line-height: 1.55
}

.aboutV2OfficeGrid ul {
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex
}

.aboutV2OfficeGrid li {
    letter-spacing: .05em;
    color: #4e6478;
    text-transform: uppercase;
    background: #eef2f5;
    padding: 5px 7px;
    font-size: 7px;
    font-weight: 800
}

.aboutV2Dmc {
    grid-template-columns:.72fr 1.28fr;
    align-items: start;
    gap: 76px;
    padding-top: 88px;
    padding-bottom: 90px;
    display: grid
}

.aboutV2DmcTitle h2 {
    margin: 13px 0 16px;
    font-size: 42px;
    line-height: 1.06
}

.aboutV2DmcTitle p {
    color: var(--body);
    margin: 0;
    font-size: 13px;
    line-height: 1.72
}

.aboutV2Principles {
    grid-template-columns:1fr 1fr;
    gap: 15px;
    margin: 0;
    display: grid
}

.aboutV2Principles article {
    background: linear-gradient(145deg, #fff, #f6f8fa);
    border: 1px solid #dce3e9;
    min-height: 225px;
    padding: 27px;
    box-shadow: 0 8px 22px #09214a0a
}

.aboutV2PrincipleIcon {
    color: #f8fbff;
    background: linear-gradient(145deg, #0d2e55, #04172f);
    border: 1px solid #183a60;
    border-radius: 16px;
    place-items: center;
    width: 62px;
    height: 62px;
    display: grid;
    position: relative;
    box-shadow: 0 10px 22px #071a3429, inset 0 1px #ffffff20
}

.aboutV2PrincipleIcon:before {
    content: "";
    border: 1px solid #ffffff0c;
    border-radius: 11px;
    position: absolute;
    inset: 5px
}

.aboutV2PrincipleIcon svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.45px;
    stroke-linecap: round;
    stroke-linejoin: round;
    width: 35px;
    height: 35px
}

.aboutV2PrincipleIcon svg .accent {
    stroke: var(--gold-light)
}

.aboutV2PrincipleIcon small {
    background: var(--gold);
    color: #fff;
    letter-spacing: .03em;
    border: 3px solid #fff;
    border-radius: 50%;
    place-items: center;
    width: 24px;
    height: 24px;
    font-size: 6.5px;
    font-weight: 900;
    display: grid;
    position: absolute;
    bottom: -6px;
    right: -6px;
    box-shadow: 0 4px 10px #09214a30
}

.aboutV2Principles h3 {
    margin: 24px 0 10px;
    font-size: 22px;
    line-height: 1.14
}

.aboutV2Principles p {
    color: var(--body);
    margin: 0;
    font-size: 11.5px;
    line-height: 1.68
}

.aboutV2Trade {
    color: #fff;
    background: linear-gradient(115deg, #071d41, #020f25);
    grid-template-columns:.8fr 1.2fr;
    align-items: start;
    gap: 70px;
    padding: 76px 9vw;
    display: grid
}

.aboutV2Trade h2 {
    color: #fff;
    margin: 12px 0 15px;
    font-size: 40px;
    line-height: 1.06
}

.aboutV2Trade > div:first-child > p {
    color: #cdd7e2;
    margin: 0;
    font-size: 12.5px;
    line-height: 1.72
}

.aboutV2TradeColumns {
    grid-template-columns:1fr 1fr;
    gap: 30px;
    display: grid
}

.aboutV2TradeColumns b {
    letter-spacing: .15em;
    color: var(--gold-light);
    margin-bottom: 12px;
    font-size: 8px;
    display: block
}

.aboutV2Trade ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.aboutV2Trade li {
    color: #e0e7ee;
    border-top: 1px solid #fff2;
    padding: 15px 0 15px 25px;
    font-size: 11.5px;
    line-height: 1.45;
    position: relative
}

.aboutV2Trade li:before {
    content: "✓";
    color: var(--gold-light);
    font-weight: 900;
    position: absolute;
    left: 1px
}

@media (width <= 900px) {
    .aboutV2Intro, .aboutV2Dmc, .aboutV2Trade {
        grid-template-columns:1fr;
        gap: 32px
    }

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

    .aboutV2Facts > div:nth-child(2) {
        border-right: 0
    }

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

    .aboutV2OfficeGrid {
        grid-template-rows:auto;
        grid-template-columns:repeat(3, 1fr)
    }

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

    .aboutV2Principles article {
        min-height: 220px
    }
}

@media (width <= 620px) {
    .aboutV2Intro {
        gap: 24px;
        padding-top: 58px;
        padding-bottom: 58px
    }

    .aboutV2IntroTitle h2, .aboutV2SectionTitle h2, .aboutV2DmcTitle h2 {
        font-size: 34px
    }

    .aboutV2Facts {
        grid-template-columns:1fr;
        padding: 0 22px
    }

    .aboutV2Facts > div {
        border-bottom: 1px solid #ffffff1f;
        border-right: 0;
        min-height: 118px;
        padding: 24px 8px
    }

    .aboutV2Facts > div:last-child {
        border-bottom: 0
    }

    .aboutV2Offices {
        padding: 58px 18px 62px
    }

    .aboutV2PresenceLayout {
        margin-top: 30px
    }

    .aboutV2MapLegend {
        top: 9px;
        left: 9px;
        right: 9px
    }

    .aboutV2MapLegend span {
        padding: 5px 6px;
        font-size: 5.5px
    }

    .aboutV2MapPin i {
        border-width: 3px;
        width: 12px;
        height: 12px;
        top: -6px;
        left: -6px;
        box-shadow: 0 0 0 5px #d9952f35
    }

    .aboutV2MapPin span {
        min-width: 76px;
        padding: 5px 6px;
        top: -18px;
        left: 9px
    }

    .aboutV2MapPin small {
        letter-spacing: .07em;
        font-size: 5px
    }

    .aboutV2MapPin strong {
        font-size: 12px
    }

    .aboutV2Map > p {
        display: none
    }

    .aboutV2Coverage {
        min-height: 0;
        padding: 15px;
        display: block
    }

    .aboutV2Coverage > div {
        justify-content: flex-start;
        margin-top: 10px
    }

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

    .aboutV2OfficeGrid article {
        padding: 22px
    }

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

    .aboutV2Principles article {
        min-height: 0
    }

    .aboutV2PrincipleIcon {
        width: 56px;
        height: 56px
    }

    .aboutV2PrincipleIcon svg {
        width: 32px;
        height: 32px
    }

    .aboutV2Trade {
        padding: 58px 22px
    }

    .aboutV2TradeColumns {
        grid-template-columns:1fr;
        gap: 28px
    }
}

@property --tw-rotate-x {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-y {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-z {
    syntax: "*";
    inherits: false
}

@property --tw-skew-x {
    syntax: "*";
    inherits: false
}

@property --tw-skew-y {
    syntax: "*";
    inherits: false
}

@property --tw-outline-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-blur {
    syntax: "*";
    inherits: false
}

@property --tw-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-invert {
    syntax: "*";
    inherits: false
}

@property --tw-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-drop-shadow-size {
    syntax: "*";
    inherits: false
}
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Manrope:wght@400;500;600;700&display=swap");

html {
    font-synthesis: none;
    text-rendering: optimizeLegibility;
}

:root {
    --font-display: "Cormorant Garamond", Georgia, serif;
    --font-ui: "Manrope", Arial, sans-serif;

    --weight-body: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;
}

/* 品牌型大标题：只给明确的 display 类，不要直接覆盖所有 h1/h2 */
.hero-title,
.display-title,
.editorial-title,
.section-display-title {
    font-family: var(--font-display);
    font-weight: var(--weight-semibold);
    line-height: 1.05;
    letter-spacing: -0.015em;
    font-synthesis: none;
}

/* 正文、导航、按钮、表单 */
body,
button,
input,
select,
textarea,
nav,
.body-copy {
    font-family: var(--font-ui);
}

/* B2B、DMC、MICE、SIC、FIT、RFP、MPV 等 */
.business-value,
.acronym,
.business-term {
    font-family: var(--font-ui);
    font-weight: var(--weight-semibold);
    letter-spacing: -0.02em;
}

/* 大型统计数字、天数、座位与容量 */
.stat-number,
.metric-number,
.duration-number,
.seat-count,
.luggage-count {
    font-family: var(--font-ui);
    font-weight: var(--weight-semibold);
    line-height: 1;
    letter-spacing: -0.025em;
    font-variant-numeric: tabular-nums;
}

/* 小型流程编号 */
.step-number,
.day-number {
    font-family: var(--font-ui);
    font-weight: var(--weight-bold);
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

/* 车型、产品、技术类标题 */
.vehicle-title,
.product-title,
.technical-title,
.program-duration {
    font-family: var(--font-ui);
    font-weight: var(--weight-semibold);
    line-height: 1.25;
    letter-spacing: -0.015em;
}

.hero-title { font-size: clamp(46px, 5.6vw, 82px); }
.section-display-title { font-size: clamp(38px, 4vw, 62px); }
.business-value { font-size: clamp(46px, 5vw, 64px); }
.stat-number { font-size: clamp(48px, 4.5vw, 60px); }
.vehicle-title { font-size: clamp(22px, 2vw, 30px); }

@media (max-width: 767px) {
    .hero-title { line-height: 1.02; }
    .business-value { font-size: 50px; }
    .stat-number { font-size: 50px; }
    .section-display-title { font-size: 42px; }
}
