@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 900;
    font-display: block;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-solid-900.woff2") format("woff2");
}
@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-regular-400.woff2") format("woff2");
}
@font-face {
    font-family: "Font Awesome 6 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-brands-400.woff2") format("woff2");
}
html,
body.jie-site {
    background: #FAF8F4;
}
body.jie-site {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
body.jie-site > main {
    flex: 1 0 auto;
}
.jie-whatsapp {
    position: fixed;
    right: 22px;
    bottom: 22px;
    width: 58px;
    height: 58px;
    padding: 0;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    z-index: 1040;
    box-shadow: 0 10px 24px rgba(37, 211, 102, 0.35);
    text-decoration: none;
    overflow: visible;
    line-height: 1;
}
.jie-whatsapp i {
    width: auto;
    text-align: center;
    flex-shrink: 0;
    line-height: 1;
}
.jie-whatsapp-label { display: none; }
.jie-whatsapp:hover { color: #fff; transform: translateY(-2px); }
.jie-tour-meta { font-size: 13px; color: #667; }
.jie-offer-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 0;
    border-radius: 28px;
    box-shadow: 0 16px 40px rgba(6, 38, 92, .08);
    overflow: hidden;
}
.jie-offer-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 48px rgba(6, 38, 92, .14);
}
.jie-offer-media {
    position: relative;
    margin: 14px 14px 0;
    height: 210px;
    border-radius: 22px;
    overflow: hidden;
    background: #082A58;
}
.jie-offer-media a,
.jie-offer-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.jie-offer-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    background: #FF6B00;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    border-radius: 999px;
    padding: 7px 12px;
    box-shadow: 0 8px 18px rgba(255, 107, 0, .35);
}
.jie-offer-badge--soon {
    background: #06265C;
    box-shadow: 0 8px 18px rgba(6, 38, 92, .35);
}
.jie-offer-duration {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(8, 20, 51, .82);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    border-radius: 999px;
    padding: 7px 12px;
    backdrop-filter: blur(8px);
}
.jie-offer-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 18px 18px 16px;
}
.jie-offer-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}
.jie-offer-chip {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    border-radius: 999px;
    padding: 6px 10px;
}
.jie-offer-chip--type {
    color: #FF6B00;
    border: 1.5px solid #FF6B00;
    background: #fff;
}
.jie-offer-chip--popular {
    color: #fff;
    background: #3d3470;
}
.jie-offer-title {
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 8px;
}
.jie-offer-title a {
    color: #06265C;
    text-decoration: none;
}
.jie-offer-title a:hover {
    color: #FF6B00;
}
.jie-offer-place {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 0 14px;
    color: #6b7280;
    font-size: 14px;
    font-weight: 600;
}
.jie-offer-place i {
    color: #FF6B00;
    margin-top: 3px;
}
.jie-offer-points {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 12px;
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
}
.jie-offer-points li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: #334155;
    font-size: 13px;
    line-height: 1.35;
}
.jie-offer-points i {
    color: #16a34a;
    margin-top: 2px;
    flex-shrink: 0;
}
.jie-offer-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 4px;
}
.jie-offer-price span {
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #94a3b8;
}
.jie-offer-price strong {
    color: #06265C;
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1;
}
.jie-offer-price em {
    color: #64748b;
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
}
.jie-offer-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.jie-offer-wa {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: #25d366;
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    text-decoration: none;
    box-shadow: 0 8px 16px rgba(37, 211, 102, .28);
}
.jie-offer-wa:hover {
    color: #fff !important;
    background: #1ebe5d;
    transform: translateY(-1px);
}
.jie-offer-wa--block {
    width: 100%;
    height: 48px;
    gap: 8px;
    font-size: 16px;
    font-weight: 800;
}
.jie-inquiry-form .iti {
    width: 100%;
    display: block;
}
.jie-inquiry-form .iti__flag-container {
    z-index: 3;
}
.jie-inquiry-form .iti__country-list {
    z-index: 30;
    max-height: 220px;
}
.jie-inquiry-form .iti--separate-dial-code .iti__selected-flag {
    background: #f8f3ea;
    border-radius: 12px 0 0 12px;
}
.jie-inquiry-form .jie-phone-input {
    width: 100%;
}
.dest-sidebar-card .jie-inquiry-form .form-control,
.dest-sidebar-card .jie-inquiry-form .form-select {
    min-height: 46px;
}
.dest-sidebar-card {
    overflow: visible;
}
.jie-form-submit--block {
    width: 100% !important;
    min-height: 48px;
    height: 48px;
    border: 0;
    border-radius: 14px !important;
    background: #06265C !important;
    color: #fff !important;
    font-size: 16px;
    font-weight: 800;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: none !important;
    padding: 0 16px !important;
}
.jie-form-submit--block:hover,
.jie-form-submit--block:focus {
    background: #FF6B00;
    color: #fff;
}
.jie-offer-itinerary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 16px;
    border-radius: 14px;
    background: #06265C;
    color: #fff !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}
.jie-offer-itinerary:hover {
    background: #FF6B00;
    color: #fff !important;
}
@media (max-width: 575px) {
    .jie-offer-points { grid-template-columns: 1fr; }
    .jie-offer-foot {
        flex-direction: column;
        align-items: stretch;
    }
    .jie-offer-actions { width: 100%; }
    .jie-offer-itinerary { flex: 1; }
}
.jie-price { color: var(--accent, #ff6b00); font-weight: 700; }
.alert-success { border-radius: 16px; }
.jie-table { width: 100%; }
.jie-table th, .jie-table td { padding: 10px 12px; border-bottom: 1px solid #eee; }
.footer-list { list-style: none; padding: 0; }
.footer-list li { margin-bottom: 8px; }
.copyright { color: rgba(255,255,255,.7); }
.jie-filter-bar { background: #fff; border-radius: 20px; padding: 18px; box-shadow: 0 10px 30px rgba(0,0,0,.05); }
.jie-license-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #c9a227;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.jie-license-chip i { font-size: 14px; }
.jie-hero-seal {
    width: 118px;
    height: 118px;
    border-radius: 50%;
    border: 2px solid rgba(201, 162, 39, .85);
    background: radial-gradient(circle at 30% 25%, rgba(255,255,255,.18), rgba(11,77,74,.55));
    color: #f7f1e3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 30px rgba(0,0,0,.18);
}
.jie-hero-seal-year {
    font-family: "Space Grotesk", sans-serif;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
    color: #c9a227;
}
.jie-hero-seal-text {
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-top: 4px;
    text-align: center;
    max-width: 90px;
}
.jie-heritage-band {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 28px;
    align-items: center;
    background: linear-gradient(120deg, #0b4d4a 0%, #123c4a 55%, #c9a227 160%);
    color: #f7f1e3;
    border-radius: 28px;
    padding: 28px 32px;
    box-shadow: 0 18px 40px rgba(11, 77, 74, .22);
}
.jie-heritage-band--compact {
    grid-template-columns: auto 1fr;
    padding: 18px 20px;
    gap: 16px;
}
.jie-heritage-year {
    font-family: "Space Grotesk", sans-serif;
    font-size: 48px;
    font-weight: 800;
    color: #c9a227;
    line-height: 1;
}
.jie-heritage-kicker {
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 11px;
    color: #c9a227;
    font-weight: 700;
}
.jie-heritage-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: #fff;
}
.jie-heritage-stats {
    display: flex;
    gap: 22px;
    text-align: center;
}
.jie-heritage-stats strong {
    display: block;
    font-size: 28px;
    color: #c9a227;
}
.jie-heritage-stats span {
    font-size: 12px;
    opacity: .85;
}
.jie-license-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #c9a227;
    font-size: 13px;
    font-weight: 600;
}
.jie-license-footer .jie-license-year {
    font-family: "Space Grotesk", sans-serif;
    font-size: 22px;
    font-weight: 800;
}
.brand-logo {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    max-width: none;
    text-decoration: none;
}
.jie-logo-img {
    display: block;
    height: 52px;
    width: auto;
    max-width: 240px;
    object-fit: contain;
    background: transparent;
}
.offcanvas-header .jie-logo-img {
    height: 44px;
    max-width: 200px;
}
.footer-logo,
.footer-area .footer-logo,
.footer-widget-box.about-us .footer-logo {
    filter: none !important;
    display: inline-flex;
    align-items: center;
    max-height: none;
    background: transparent !important;
    padding: 0;
    box-shadow: none;
    mix-blend-mode: normal;
}
.footer-logo .jie-logo-img,
.footer-logo .jie-logo-img--light,
.footer-area .footer-logo img {
    height: 64px;
    max-width: 260px;
    width: auto;
    background: transparent !important;
    padding: 0;
    box-shadow: none;
    filter: none !important;
}
.preloader .jie-preloader-stage {
    position: relative;
    width: min(270px, 72vw);
    height: min(270px, 72vw);
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
}
.preloader .jie-preloader-track {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1.5px solid rgba(8, 42, 88, 0.16);
    box-shadow: inset 0 0 0 1px rgba(255, 107, 0, 0.10);
    pointer-events: none;
    background: transparent;
}
.preloader .jie-preloader-track::before {
    content: '';
    position: absolute;
    inset: 14px;
    border-radius: 50%;
    background: conic-gradient(
        from 0deg,
        transparent 0deg 292deg,
        #009ea9 328deg,
        transparent 360deg
    );
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1.5px));
            mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1.5px));
    animation: jiePreloaderSpin 2.2s linear infinite reverse;
}
.preloader .jie-preloader-spin {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(
        from 0deg,
        transparent 0deg 228deg,
        #001853 278deg,
        #FF6B00 318deg,
        #FF8A00 348deg,
        transparent 360deg
    );
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
            mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
    animation: jiePreloaderSpin 1.35s linear infinite;
    pointer-events: none;
}
.preloader .jie-preloader-logo {
    position: relative;
    z-index: 2;
    width: 68%;
    max-width: 180px;
    height: auto;
    object-fit: contain;
    display: block;
    background: transparent;
    animation: none;
    transform: none;
}
@keyframes jiePreloaderSpin {
    to { transform: rotate(360deg); }
}
.preloader .preloader-inner {
    position: relative !important;
    width: min(270px, 72vw) !important;
    height: min(270px, 72vw) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.preloader .spinner-ring,
.preloader .spinner-ring::before,
.preloader .jie-spinner-ring-inner,
.preloader .jie-spinner-ring-inner::before {
    display: none !important;
    animation: none !important;
    border: 0 !important;
    width: 0 !important;
    height: 0 !important;
    inset: auto !important;
    background: none !important;
    content: none !important;
}
.preloader .preloader-logo {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    transform: none !important;
    animation: none !important;
    background: transparent !important;
}
.preloader .preloader-logo img {
    animation: none !important;
    transform: none !important;
    background: transparent !important;
}
@keyframes pulseLogo {
    0%, 50%, 100% { transform: none; opacity: 1; }
}
@keyframes jiePulseLogo {
    0%, 50%, 100% { transform: none; opacity: 1; }
}
.main-header,
.main-header.header-glass,
.main-header .navbar,
.main-header .navbar > .container,
.main-header .navbar-collapse,
.main-header .navbar-nav,
.navbar-nav .nav-item,
.navbar-nav .dropdown {
    overflow: visible !important;
}
.jie-nav-item {
    display: flex;
    align-items: center;
    position: relative;
    flex: 0 0 auto;
}
.jie-nav-item > .nav-link {
    padding-right: .2rem !important;
}
.jie-nav-caret {
    border: 0;
    background: transparent;
    color: inherit;
    padding: .35rem .45rem;
    line-height: 1;
    font-size: 11px;
}
.jie-nav-item:hover .jie-nav-caret i,
.jie-nav-item.show .jie-nav-caret i {
    transform: rotate(180deg);
}
.jie-nav-caret i {
    display: inline-block;
    transition: transform .2s ease;
}
.jie-nav-caret:focus {
    outline: none;
}
.jie-nav-license {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    margin: 0 10px 0 4px;
    padding: 3px 12px 3px 3px;
    text-decoration: none;
    color: #06265C;
    border: 1px dashed rgba(201, 162, 39, .75);
    border-radius: 999px;
    background:
        repeating-linear-gradient(90deg, rgba(201, 162, 39, .14) 0 8px, transparent 8px 16px),
        #fff8ee;
    box-shadow: 0 8px 18px rgba(6, 38, 92, .1);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.jie-nav-license:hover {
    color: #06265C;
    transform: translateY(-1px) rotate(-.4deg);
    border-color: #c9a227;
    box-shadow: 0 12px 24px rgba(201, 162, 39, .28);
}
.jie-nav-license-seal {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 28%, #1a3d7a, #071433 72%);
    border: 3px solid #c9a227;
    box-shadow:
        inset 0 0 0 2px #7d6414,
        0 6px 12px rgba(0, 0, 0, .18);
    color: #f3e2a0;
    font-family: "Caveat", cursive;
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
    transform: rotate(-8deg);
}
.jie-nav-license-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.12;
    padding-right: 4px;
}
.jie-nav-license-kicker {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #c9a227;
}
.jie-nav-license-year {
    font-size: 13px;
    font-weight: 800;
    color: #06265C;
    letter-spacing: .01em;
}
@media (min-width: 992px) {
    .main-header .navbar > .container {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 10px;
    }
    .main-header .navbar-collapse {
        flex: 1 1 auto;
        min-width: 0;
        justify-content: center !important;
    }
    .main-header .navbar-nav {
        flex-wrap: nowrap;
        justify-content: center;
        width: 100%;
        column-gap: 0;
    }
    .main-header .navbar-nav .nav-item {
        margin: 0;
        flex: 0 1 auto;
    }
    .main-header .navbar-nav .nav-link {
        white-space: nowrap;
        padding: 1.28rem .78rem !important;
        font-size: 16.5px;
        letter-spacing: 0;
        font-weight: 600;
    }
    .jie-nav-cta {
        flex: 0 0 auto;
        white-space: nowrap;
        min-height: 46px;
        padding: 10px 18px;
        font-size: 14px;
        font-weight: 700;
    }
    .jie-logo-img { height: 50px; max-width: 220px; }
    html[lang="es"] .main-header .navbar-nav .nav-link,
    html[lang="fr"] .main-header .navbar-nav .nav-link {
        padding: 1.28rem .62rem !important;
        font-size: 15.5px;
    }
    html[lang="es"] .jie-nav-cta,
    html[lang="fr"] .jie-nav-cta {
        padding: 10px 16px;
        font-size: 13.5px;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .main-header .navbar-nav .nav-link,
    html[lang="es"] .main-header .navbar-nav .nav-link,
    html[lang="fr"] .main-header .navbar-nav .nav-link {
        padding: 1.2rem .55rem !important;
        font-size: 15px;
    }
    .jie-logo-img { max-width: 188px; height: 46px; }
    .jie-nav-license { margin-left: 6px; padding-right: 3px; }
    .jie-nav-license-copy { display: none; }
    .jie-nav-license-seal { width: 38px; height: 38px; font-size: 14px; }
}
.jie-search-row {
    position: relative;
    z-index: 20;
}
.hero-section .hero-booking-bar {
    overflow: visible;
}
.jie-search-panel {
    overflow: visible;
}
.jie-filter-bar .jie-search-panel {
    background: transparent;
    box-shadow: none;
    margin: 0;
    padding: 0;
    border-radius: 0;
}
.jie-filter-bar .booking-title {
    color: var(--primary, #001853);
    text-shadow: none;
}
.jie-custom-select .select-options {
    max-height: 280px;
    overflow-y: auto;
}
.jie-map-stage {
    position: relative;
    border-radius: 32px;
    overflow: hidden;
    min-height: 420px;
    box-shadow: 0 24px 50px rgba(0, 24, 83, .18);
}
.jie-map-frame iframe {
    width: 100%;
    height: 460px;
    border: 0;
    display: block;
    filter: saturate(1.08) contrast(1.04);
}
.jie-map-card {
    position: absolute;
    left: 28px;
    bottom: 28px;
    max-width: 360px;
    background: linear-gradient(160deg, rgba(0, 24, 83, .94), rgba(0, 158, 169, .88));
    color: #fff;
    padding: 28px;
    border-radius: 24px;
    border: 1px solid rgba(255, 107, 0, .5);
    box-shadow: 0 16px 40px rgba(0, 24, 83, .28);
}
.jie-map-kicker {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 11px;
    color: #ff6b00;
    font-weight: 700;
    margin-bottom: 8px;
}
.jie-map-card h2 {
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 10px;
}
.jie-map-card p {
    opacity: .9;
    margin-bottom: 8px;
}
.jie-map-card a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.jie-map-card a:hover { color: #FF6B00; }
.jie-map-meta {
    font-size: 13px;
    color: #ffb27a;
}
@media (min-width: 992px) {
    .jie-nav-item > .dropdown-menu {
        position: absolute !important;
        inset: unset !important;
        top: 100% !important;
        right: auto !important;
        bottom: auto !important;
        left: 0 !important;
        transform: none !important;
        translate: 0 0 !important;
        margin: 0 !important;
        margin-top: 0 !important;
        display: none;
        min-width: 240px;
        z-index: 1090;
        animation: none !important;
        float: none;
    }
    .jie-nav-item > .dropdown-menu::before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        top: -18px;
        height: 18px;
    }
    .jie-nav-item:hover > .dropdown-menu,
    .jie-nav-item:focus-within > .dropdown-menu,
    .jie-nav-item.show > .dropdown-menu,
    .jie-nav-item > .dropdown-menu.show {
        display: block !important;
    }
}
@media (max-width: 991px) {
    .jie-heritage-band {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .jie-heritage-stats { justify-content: center; }
    .jie-whatsapp { width: 54px; height: 54px; font-size: 26px; }
    .jie-map-card {
        position: relative;
        left: auto;
        bottom: auto;
        max-width: none;
        margin: 0;
        border-radius: 0 0 32px 32px;
    }
    .jie-map-frame iframe { height: 280px; }
    .jie-search-submit { padding-top: 12px; }
    .jie-logo-img { height: 44px; }
}
.jie-dual-cta-panel {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 380px;
    border-radius: 28px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    text-decoration: none;
    color: #fff;
    box-shadow: 0 22px 50px rgba(0, 24, 83, .22);
}
.jie-dual-cta-panel:hover { color: #fff; }
.jie-dual-cta-panel:hover .jie-dual-cta-overlay {
    background: linear-gradient(180deg, rgba(0, 24, 83, .15) 0%, rgba(0, 24, 83, .82) 100%);
}
.jie-dual-cta-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 24, 83, .08) 0%, rgba(0, 24, 83, .78) 100%);
    transition: background .35s ease;
}
.jie-dual-cta-body {
    position: relative;
    z-index: 2;
    padding: 32px;
}
.jie-dual-cta-kicker {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 12px;
    font-weight: 700;
    color: #ff8a00;
    margin-bottom: 8px;
}
.jie-dual-cta-body h2 {
    font-size: clamp(1.6rem, 2.4vw, 2.1rem);
    font-weight: 800;
    margin-bottom: 10px;
    color: #fff;
}
.jie-dual-cta-body p {
    opacity: .92;
    margin-bottom: 18px;
    max-width: 420px;
}
.jie-testimonial-initials {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #001853, #009ea9);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    flex-shrink: 0;
}
.jie-footer-mail-link {
    text-decoration: none;
    color: #1e293b;
}
.jie-footer-mail-text {
    flex-grow: 1;
    font-size: 14.5px;
    font-weight: 600;
    color: #1e293b;
}
.scroll-to-top {
    right: auto !important;
    left: 22px !important;
    bottom: 22px !important;
    z-index: 1030 !important;
}

/* Hero badges sit beside the title, not the viewport corners */
.hero-section .hero-floating-badge.hero-badge-left,
.hero-section .container .hero-floating-badge.hero-badge-left {
    top: 118px;
    left: clamp(48px, 8%, 140px);
    right: auto;
}
.hero-section .hero-floating-badge.hero-badge-right,
.hero-section .container .hero-floating-badge.hero-badge-right {
    top: 156px;
    right: clamp(48px, 8%, 140px);
    left: auto;
}
@media (min-width: 1400px) {
    .hero-section .hero-floating-badge.hero-badge-left,
    .hero-section .container .hero-floating-badge.hero-badge-left {
        left: clamp(72px, 10%, 160px);
    }
    .hero-section .hero-floating-badge.hero-badge-right,
    .hero-section .container .hero-floating-badge.hero-badge-right {
        right: clamp(72px, 10%, 160px);
    }
}
@media (min-width: 1700px) {
    .hero-section .hero-floating-badge.hero-badge-left,
    .hero-section .container .hero-floating-badge.hero-badge-left {
        left: 14%;
    }
    .hero-section .hero-floating-badge.hero-badge-right,
    .hero-section .container .hero-floating-badge.hero-badge-right {
        right: 14%;
    }
}

.jie-section-lead {
    max-width: 560px;
    font-size: 15px;
    line-height: 1.7;
}
.ref-tour-from {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 3px;
}

/* Egypt Packages — warm band + real tour cards */
.jie-packages-section {
    background: linear-gradient(180deg, #fbf6ee 0%, #f4ebe0 100%);
}
.jie-packages-band {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 8px;
    background: linear-gradient(180deg, #c9a227, #FF6B00);
}
.jie-package-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.jie-package-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #fff;
    color: #001853;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid rgba(201, 162, 39, .35);
    box-shadow: 0 6px 16px rgba(0, 24, 83, .05);
}
.jie-package-chip i { color: #c9a227; font-size: 12px; }
.jie-package-chip:hover {
    color: #001853;
    border-color: #FF6B00;
}

/* Shore — cool band + 2-col tour cards */
.jie-shore-section {
    background: linear-gradient(180deg, #eef6f7 0%, #e4eef2 100%);
}
.jie-shore-section .section-script-tag { color: #009ea9; }
.jie-shore-track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.jie-shore-slide { min-width: 0; }
.jie-shore-section .ref-tour-img-wrap {
    width: 230px;
    min-height: 214px;
}
.jie-shore-section .ref-tour-badge { background: #0b4d4a; }

/* Featured map / polaroid / destination tour carousels */
.jie-tours-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 10px;
    color: #FF7200;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .26em;
    text-transform: uppercase;
}
.jie-tours-kicker::before,
.jie-tours-kicker::after {
    content: "";
    width: 28px;
    height: 1.5px;
    background: currentColor;
}
.jie-tours-kicker--light { color: #FF7200; }
.jie-tours-script {
    font-family: "Caveat", cursive;
    font-weight: 700;
    line-height: 1.15;
    margin: 0;
    pointer-events: none;
}
.jie-map-go {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #FF6B00;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    flex-shrink: 0;
}
.jie-map-go:hover { color: #fff; background: #e05e00; }

.jie-signature {
    position: relative;
    background: #FAF8F4;
    padding: 72px 0 80px;
    overflow: hidden;
}
.jie-signature::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -80px;
    top: -120px;
    border-radius: 50%;
    border: 1px dashed rgba(255, 114, 0, .22);
    pointer-events: none;
}
.jie-signature-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
    position: relative;
    z-index: 1;
}
.jie-signature-heading {
    font-family: "Space Grotesk", "Outfit", sans-serif;
    font-size: clamp(2.2rem, 4.2vw, 3.4rem);
    font-weight: 800;
    color: #06265C;
    letter-spacing: -.03em;
    line-height: 1.05;
    margin: 0 0 12px;
}
.jie-signature-heading em {
    font-family: "Caveat", cursive;
    font-style: normal;
    color: #FF7200;
    font-weight: 700;
    font-size: .78em;
    margin-left: 8px;
}
.jie-signature-intro {
    margin: 0;
    max-width: 520px;
    color: #5c6b80;
    font-size: 16px;
    line-height: 1.65;
}
.jie-home-offers {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 22px;
    position: relative;
    z-index: 2;
}
.jie-polaroid-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}
.jie-signature-all,
.jie-polaroid-all,
.jie-dest-all {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    border-radius: 999px;
    background: #FF7200;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    font-size: 14.5px;
    flex-shrink: 0;
}
.jie-signature-all:hover,
.jie-polaroid-all:hover { color: #fff; background: #e56700; }
.jie-signature-spine {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 0;
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
    position: relative;
    z-index: 1;
}
.jie-signature-spine li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #06265C;
}
.jie-signature-spine li span {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #06265C;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0;
    font-size: 11px;
}
.jie-signature-spine li:not(:last-child)::after {
    content: "";
    width: 36px;
    height: 2px;
    margin: 0 12px 0 4px;
    background: linear-gradient(90deg, #FF7200, rgba(255, 114, 0, .15));
}
.jie-signature-board {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 16px;
    min-height: 580px;
    position: relative;
    z-index: 1;
}
.jie-signature-stack {
    display: grid;
    grid-template-rows: 1fr 1fr 1fr;
    gap: 16px;
    min-height: 0;
}
.jie-sig-card {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 24px;
    text-decoration: none;
    color: #fff;
    isolation: isolate;
    min-height: 0;
}
.jie-sig-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}
.jie-sig-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 38, 92, .08) 20%, rgba(6, 38, 92, .78) 100%);
    z-index: 1;
    transition: background .35s ease;
}
.jie-sig-card--hero { min-height: 580px; }
.jie-sig-num {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 2;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .45);
    background: rgba(6, 38, 92, .35);
    backdrop-filter: blur(8px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 13px;
    letter-spacing: .06em;
}
.jie-sig-copy {
    position: absolute;
    left: 22px;
    right: 72px;
    bottom: 22px;
    z-index: 2;
}
.jie-sig-place {
    display: block;
    font-family: "Caveat", cursive;
    font-size: 22px;
    color: #FF7200;
    line-height: 1;
    margin-bottom: 6px;
}
.jie-sig-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-family: "Space Grotesk", "Outfit", sans-serif;
    font-size: clamp(1.2rem, 2vw, 1.85rem);
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 10px;
}
.jie-sig-card--strip .jie-sig-title { font-size: 1.05rem; -webkit-line-clamp: 1; }
.jie-sig-card--strip .jie-sig-place { font-size: 18px; }
.jie-sig-card--strip .jie-sig-num { width: 34px; height: 34px; font-size: 11px; top: 14px; left: 14px; }
.jie-sig-card--strip .jie-sig-copy { left: 16px; bottom: 14px; right: 58px; }
.jie-sig-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    font-size: 13px;
    font-weight: 700;
    color: rgba(255, 255, 255, .9);
}
.jie-sig-meta i { color: #FF7200; margin-right: 4px; }
.jie-sig-go {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 2;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #FF7200;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .35s ease;
}
.jie-sig-card--strip .jie-sig-go { width: 36px; height: 36px; right: 14px; bottom: 14px; font-size: 13px; }
.jie-sig-card:hover img { transform: scale(1.06); }
.jie-sig-card:hover .jie-sig-go { transform: translateX(4px); }
.jie-sig-card:hover .jie-sig-shade {
    background: linear-gradient(180deg, rgba(6, 38, 92, .16) 10%, rgba(6, 38, 92, .86) 100%);
}
.jie-polaroid-all,
.jie-dest-all {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    border-radius: 999px;
    background: #FF7200;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    font-size: 14.5px;
}
.jie-nile-card-meta i,
.jie-postcard-meta i,
.jie-latest-datepill i,
.jie-latest-read i,
.jie-latest-card-top time i,
.footer-list li a i,
.jie-sig-meta i {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-style: normal;
    line-height: 1;
}

.jie-tours-polaroid {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-color: #06265C;
    color: #fff;
    padding: 72px 0 64px;
    min-height: 0;
}
.jie-section-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.jie-section-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 38%;
}
.jie-section-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(6, 38, 92, .72) 0%, rgba(0, 24, 83, .78) 48%, rgba(6, 38, 92, .86) 100%),
        linear-gradient(90deg, rgba(0, 24, 83, .28) 0%, transparent 22%, transparent 78%, rgba(0, 24, 83, .28) 100%);
}
.jie-tours-polaroid > .jie-section-bg img {
    object-position: center 28%;
    filter: saturate(.92);
}
.jie-tours-polaroid > .jie-section-bg::after {
    background:
        linear-gradient(180deg, rgba(6, 38, 92, .7) 0%, rgba(8, 42, 88, .76) 42%, rgba(0, 24, 83, .84) 100%),
        linear-gradient(90deg, rgba(255, 114, 0, .08) 0%, transparent 40%);
}
.jie-tours-destinations > .jie-section-bg img {
    object-position: center 42%;
}
.jie-polaroid-texture,
.jie-tours-polaroid::before {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}
.jie-tours-polaroid::before {
    content: "";
    background:
        radial-gradient(ellipse at 70% 45%, rgba(215, 186, 138, .1), transparent 46%),
        repeating-linear-gradient(90deg, rgba(247, 240, 229, .035) 0 1px, transparent 1px 9px),
        repeating-linear-gradient(0deg, rgba(247, 240, 229, .03) 0 1px, transparent 1px 11px);
}
.jie-polaroid-texture {
    background:
        radial-gradient(circle at 82% 22%, rgba(215, 186, 138, .1), transparent 36%),
        radial-gradient(circle at 12% 88%, rgba(0, 0, 0, .22), transparent 42%);
}
.jie-polaroid-atlas,
.jie-polaroid-camera,
.jie-polaroid-passport,
.jie-polaroid-wax,
.jie-polaroid-wish {
    display: none !important;
}
.jie-tours-polaroid .container { position: relative; z-index: 2; }
.jie-polaroid-heading {
    font-family: "Space Grotesk", "Outfit", sans-serif;
    font-size: clamp(2rem, 3.5vw, 3rem);
    font-weight: 800;
    margin: 0 0 10px;
    letter-spacing: -.03em;
    color: #fff;
}
.jie-polaroid-heading em {
    display: block;
    font-family: "Caveat", cursive;
    font-style: italic;
    font-weight: 700;
    color: #FF7200;
    font-size: 1.08em;
    letter-spacing: 0;
}
.jie-polaroid-intro {
    margin: 0 0 18px;
    max-width: 360px;
    color: rgba(255, 255, 255, .78);
    font-size: 16px;
    line-height: 1.55;
}
.jie-tours-script--moments {
    margin-top: 28px;
    font-size: 28px;
    color: rgba(247, 240, 229, .62);
    transform: rotate(-8deg);
    max-width: 160px;
}
.jie-postcards {
    display: none;
}
.jie-postcard {
    position: absolute;
    width: 208px;
    background: #F7F0E5;
    color: #06265C;
    text-decoration: none;
    padding: 11px 11px 13px;
    border-radius: 6px;
    box-shadow: 0 16px 32px rgba(0, 0, 0, .32);
    transition: transform .45s ease, box-shadow .45s ease, z-index 0s .15s;
}
.jie-postcard--1 { left: 0; top: 58px; transform: rotate(-8.5deg); z-index: 2; }
.jie-postcard--2 { left: 17%; top: 4px; transform: rotate(5.5deg); z-index: 3; }
.jie-postcard--3 { left: 36%; top: 68px; transform: rotate(-4.2deg); z-index: 4; }
.jie-postcard--4 { left: 56%; top: 16px; transform: rotate(7.8deg); z-index: 5; }
.jie-postcard:hover {
    z-index: 12;
    transform: translateY(-18px) rotate(0deg);
    box-shadow: 0 28px 48px rgba(0, 0, 0, .42);
}
.jie-postcard-photo {
    display: block;
    height: 168px;
    overflow: hidden;
    background: #d7ba8a;
    border-radius: 3px;
}
.jie-postcard-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.jie-postcard:hover .jie-postcard-photo img { transform: scale(1.07); }
.jie-postcard-stamp {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1.5px dashed rgba(6, 38, 92, .28);
    z-index: 2;
    pointer-events: none;
}
.jie-postcard-city {
    display: block;
    margin: 10px 2px 0;
    font-family: "Caveat", cursive;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    color: #06265C;
}
.jie-postcard-sub {
    display: block;
    margin: 2px 2px 10px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #7b8794;
}
.jie-postcard-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin: 0 2px 10px;
    font-size: 11.5px;
    font-weight: 700;
    color: #5c6b80;
}
.jie-postcard-meta i { color: #FF7200; margin-right: 4px; }
.jie-postcard-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 0 2px;
    font-size: 13px;
    font-weight: 800;
    color: #06265C;
}
.jie-postcard-go {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #06265C;
    color: #FF7200;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .3s ease, color .3s ease;
}
.jie-postcard:hover .jie-postcard-go { background: #FF7200; color: #fff; }
.jie-postcard-note {
    position: absolute;
    left: 14px;
    bottom: -18px;
    font-family: "Caveat", cursive;
    font-size: 16px;
    color: #D7BA8A;
    transform: rotate(-6deg);
    pointer-events: none;
}

.jie-tours-destinations {
    position: relative;
    isolation: isolate;
    padding: 0 0 56px;
    background-color: #06265C;
    overflow: hidden;
}
.jie-iconic-stage { position: relative; z-index: 1; }
.jie-iconic-stage::before { display: none; }
.jie-iconic-head {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding-top: 36px;
    padding-bottom: 24px;
}
.jie-dest-heading {
    font-family: "Playfair Display", "Space Grotesk", serif;
    font-size: clamp(1.9rem, 3.2vw, 2.7rem);
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px;
}
.jie-dest-intro {
    margin: 0;
    color: rgba(255, 255, 255, .86);
    max-width: 420px;
}
.jie-dest-all {
    background: transparent;
    border: 1.5px solid rgba(255, 255, 255, .8);
    color: #fff;
    white-space: nowrap;
    align-self: flex-start;
}
.jie-dest-all:hover { background: #fff; color: #06265C; }
.jie-iconic-panels {
    display: flex;
    min-height: 560px;
}
.jie-iconic-panel {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    min-height: 560px;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
    display: block;
    transition: flex .55s ease;
}
.jie-iconic-panel img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s ease;
}
.jie-iconic-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 38, 92, .12) 10%, rgba(6, 38, 92, .22) 42%, rgba(6, 38, 92, .82) 100%);
}
.jie-iconic-glyph {
    position: absolute;
    left: 18px;
    right: 18px;
    top: 38%;
    height: 1px;
    background: repeating-linear-gradient(90deg, rgba(217, 180, 122, .0), rgba(217, 180, 122, .45) 8px, transparent 8px, transparent 16px);
    opacity: .35;
    pointer-events: none;
}
.jie-iconic-copy {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: 28px 22px 26px;
    display: flex;
    flex-direction: column;
    min-height: 46%;
    justify-content: flex-end;
}
.jie-iconic-num {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #D9B47A;
    margin-bottom: 6px;
}
.jie-iconic-name {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(1.7rem, 2.6vw, 2.45rem);
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #fff;
    line-height: 1;
}
.jie-iconic-line {
    margin: 8px 0 0;
    color: rgba(255, 255, 255, .88);
    font-size: 14.5px;
}
.jie-iconic-extra {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}
.jie-iconic-chips {
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #D9B47A;
}
.jie-iconic-excerpt {
    font-size: 13.5px;
    color: rgba(255, 255, 255, .86);
    max-width: 280px;
}
.jie-iconic-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #FF7200;
    font-weight: 800;
    font-size: 13.5px;
}
.jie-iconic-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
    font-weight: 800;
}
.jie-iconic-foot span:first-child {
    padding-bottom: 4px;
    border-bottom: 1px solid #FF7200;
}
.jie-iconic-go {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #FF7200;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .3s ease, background .3s ease;
}
@media (hover: hover) and (min-width: 1200px) {
    .jie-iconic-panel:hover { flex: 1.65 1 0; }
    .jie-iconic-panel:hover img { transform: scale(1.08); }
    .jie-iconic-panel:hover .jie-iconic-go { transform: scale(1.08); }
    .jie-iconic-extra {
        opacity: 0;
        transform: translateY(10px);
        transition: opacity .4s ease, transform .4s ease;
    }
    .jie-iconic-panel:hover .jie-iconic-extra {
        opacity: 1;
        transform: none;
    }
}
@media (max-width: 1199px) and (min-width: 768px) {
    .jie-iconic-head { position: relative; padding: 28px 12px 18px; background: transparent; }
    .jie-iconic-stage::before { display: none; }
    .jie-iconic-panels { flex-wrap: wrap; min-height: 0; }
    .jie-iconic-panel { flex: 1 1 50%; min-height: 380px; }
}
@media (max-width: 991px) {
    .jie-postcards {
        display: flex;
        justify-content: flex-start;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        min-height: 0;
        height: auto;
        gap: 16px;
        padding-bottom: 36px;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    .jie-postcards::-webkit-scrollbar { display: none; }
    .jie-postcard,
    .jie-postcard--1,
    .jie-postcard--2,
    .jie-postcard--3,
    .jie-postcard--4 {
        position: relative;
        left: auto;
        top: auto;
        flex: 0 0 min(78vw, 260px);
        width: min(78vw, 260px);
        margin-left: 0;
        scroll-snap-align: center;
        transform: none;
    }
    .jie-tours-polaroid { padding-bottom: 72px; min-height: 0; overflow: hidden; background-color: #06265C; }
    .jie-polaroid-atlas { display: none; }
}
@media (max-width: 767px) {
    .jie-signature-head,
    .jie-polaroid-head { flex-direction: column; align-items: flex-start; }
    .jie-home-offers { grid-template-columns: 1fr; }
    .jie-signature-board { grid-template-columns: 1fr; min-height: 0; }
    .jie-sig-card--hero { min-height: 420px; }
    .jie-signature-stack { grid-template-rows: none; }
    .jie-sig-card--strip { min-height: 200px; }
    .jie-iconic-head {
        position: relative;
        flex-direction: column;
        padding: 24px 16px 16px;
        background: #06265C;
    }
    .jie-iconic-stage::before { display: none; }
    .jie-iconic-panels {
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        min-height: 0;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    .jie-iconic-panels::-webkit-scrollbar { display: none; }
    .jie-iconic-panel {
        flex: 0 0 85vw;
        min-height: 72vh;
        scroll-snap-align: start;
    }
    .jie-iconic-extra { opacity: 1; transform: none; }
}


/* C) Flagship CTA seal */
.jie-cta-seal {
    width: 110px;
    height: 110px;
    top: 36px;
    right: 36px;
    background: radial-gradient(circle at 30% 25%, #fff8e6, #c9a227);
    border: 3px solid rgba(255, 255, 255, .55);
    color: #001853;
}
.jie-cta-seal-year {
    font-family: "Space Grotesk", sans-serif;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
}
.jie-cta-seal-caption {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-top: 4px;
}
.jie-cta-since {
    color: #c9a227;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-size: 12px;
}

/* Homepage traveler reviews showcase */
.jie-reviews-showcase {
    position: relative;
    overflow: hidden;
    background: #f6efe4;
    padding: 88px 0 0;
    color: #001853;
}
.jie-reviews-deco {
    position: absolute;
    top: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 0;
}
.jie-reviews-deco img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.jie-reviews-deco--karnak {
    left: 0;
    width: min(34%, 420px);
}
.jie-reviews-deco--karnak img {
    object-position: 18% center;
    opacity: .58;
}
.jie-reviews-deco--karnak::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(246, 239, 228, .12) 0%, rgba(246, 239, 228, .55) 62%, #f6efe4 100%),
        linear-gradient(180deg, #f6efe4 0%, transparent 18%, transparent 78%, #f6efe4 100%);
}
.jie-reviews-deco--pyramid {
    right: 0;
    width: min(36%, 460px);
}
.jie-reviews-deco--pyramid img {
    object-position: 70% 42%;
    opacity: .38;
}
.jie-reviews-deco--pyramid::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(270deg, rgba(246, 239, 228, .2) 0%, rgba(246, 239, 228, .7) 58%, #f6efe4 100%),
        linear-gradient(180deg, #f6efe4 0%, transparent 22%, transparent 72%, #f6efe4 100%);
}
.jie-reviews-flight {
    position: absolute;
    left: 2%;
    top: 42px;
    width: min(42%, 520px);
    height: 180px;
    z-index: 2;
    pointer-events: none;
}
.jie-reviews-flight-path {
    animation: jieReviewsDash 28s linear infinite;
    filter: drop-shadow(0 0 5px rgba(255, 107, 0, .35));
}
@keyframes jieReviewsDash {
    to { stroke-dashoffset: -420; }
}
.jie-reviews-aside {
    position: absolute;
    z-index: 2;
    margin: 0;
    font-family: "Caveat", cursive;
    font-weight: 700;
    color: #082A58;
    line-height: 1.1;
    pointer-events: none;
}
.jie-reviews-aside--discover {
    left: 5.5%;
    top: 168px;
    font-size: 30px;
    transform: rotate(-8deg);
    color: #3d5a80;
}
.jie-reviews-aside--more {
    right: 7%;
    top: 54px;
    font-size: 32px;
    transform: rotate(8deg);
    color: #5b6b88;
}
.jie-reviews-aside--story {
    right: 8%;
    bottom: 118px;
    font-size: 30px;
    transform: rotate(7deg);
    color: #082A58;
}
.jie-reviews-palms {
    position: absolute;
    right: 1%;
    bottom: 36px;
    width: min(28vw, 280px);
    height: auto;
    z-index: 2;
    pointer-events: none;
    opacity: .92;
}
.jie-reviews-inner {
    position: relative;
    z-index: 3;
    padding-bottom: 48px;
}
.jie-reviews-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 42px;
}
.jie-reviews-kicker {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 0 0 12px;
    color: #c9a227;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .32em;
    text-transform: uppercase;
}
.jie-reviews-kicker span {
    display: block;
    width: 42px;
    height: 1.5px;
    background: #c9a227;
}
.jie-reviews-heading {
    font-family: "Space Grotesk", "Outfit", sans-serif;
    font-size: clamp(2rem, 4.2vw, 3.15rem);
    font-weight: 800;
    color: #001853;
    letter-spacing: -.03em;
    line-height: 1.12;
    margin: 0 0 12px;
}
.jie-reviews-heading em {
    font-family: "Caveat", cursive;
    font-style: italic;
    font-weight: 700;
    color: #FF6B00;
    font-size: 1.18em;
    letter-spacing: 0;
    margin-left: .08em;
}
.jie-reviews-subtitle {
    margin: 0 auto;
    max-width: 520px;
    color: #64748b;
    font-size: 16px;
    line-height: 1.6;
}
.jie-reviews-stage {
    position: relative;
    padding: 0 56px;
}
.jie-reviews-swiper {
    overflow: hidden;
}
.jie-reviews-swiper .swiper-slide {
    height: auto;
}
.jie-review-card {
    height: 100%;
    background: #fff;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(0, 24, 83, .1);
    display: flex;
    flex-direction: column;
}
.jie-review-cover {
    position: relative;
    height: 168px;
    overflow: visible;
}
.jie-review-cover img:not(.jie-review-avatar) {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.jie-review-avatar {
    position: absolute;
    left: 22px;
    bottom: -34px;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #fff;
    box-shadow: 0 8px 18px rgba(0, 24, 83, .16);
    z-index: 2;
    background: #fff;
}
.jie-review-avatar--initial {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #001853, #082A58);
    color: #fff;
    font-family: "Space Grotesk", sans-serif;
    font-weight: 800;
    font-size: 22px;
}
.jie-review-body {
    position: relative;
    padding: 18px 22px 26px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.jie-review-meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding-left: 78px;
    min-height: 46px;
    margin-bottom: 14px;
}
.jie-review-who {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.jie-review-who strong {
    font-size: 16px;
    font-weight: 800;
    color: #001853;
    line-height: 1.2;
}
.jie-review-who span {
    font-size: 12.5px;
    color: #7b8794;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.jie-review-flag {
    margin-right: 4px;
}
.jie-review-stars {
    flex-shrink: 0;
    color: #c9a227;
    font-size: 12px;
    letter-spacing: 1px;
    padding-top: 3px;
}
.jie-review-star-empty { color: #e4d7a8; }
.jie-review-quote {
    position: relative;
    margin: 0;
    color: #5b6775;
    font-size: 14.5px;
    line-height: 1.65;
    z-index: 1;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.jie-review-quote::before {
    content: "\201C";
    position: absolute;
    left: -6px;
    top: -18px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 72px;
    line-height: 1;
    color: #001853;
    opacity: .08;
    pointer-events: none;
    z-index: 0;
}
.jie-reviews-nav {
    position: absolute;
    top: 46%;
    transform: translateY(-50%);
    z-index: 4;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #001853;
    box-shadow: 0 10px 24px rgba(0, 24, 83, .12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, color .2s ease;
}
.jie-reviews-nav:hover {
    color: #FF6B00;
    transform: translateY(-50%) scale(1.06);
    box-shadow: 0 12px 28px rgba(0, 24, 83, .16);
}
.jie-reviews-prev { left: 0; }
.jie-reviews-next { right: 0; }
.jie-reviews-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 28px 0 22px;
    position: relative;
}
.jie-reviews-pagination .swiper-pagination-bullet {
    width: 9px;
    height: 9px;
    margin: 0 !important;
    background: #001853;
    opacity: 1;
    border-radius: 999px;
    transition: width .25s ease, background .25s ease;
}
.jie-reviews-pagination .swiper-pagination-bullet-active {
    width: 22px;
    background: #FF6B00;
}
.jie-reviews-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 auto 36px;
    padding: 12px 28px;
    border-radius: 999px;
    border: 1.5px solid #001853;
    background: #fff;
    color: #001853;
    font-weight: 700;
    font-size: 14.5px;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(0, 24, 83, .06);
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.jie-reviews-showcase .jie-reviews-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.jie-reviews-more {
    align-self: center;
}
.jie-reviews-more:hover {
    background: #001853;
    color: #fff;
    border-color: #001853;
}
.jie-reviews-wave {
    position: relative;
    z-index: 2;
    margin-top: -8px;
    line-height: 0;
}
.jie-reviews-wave svg {
    display: block;
    width: 100%;
    height: 168px;
}
.jie-reviews-wave-text {
    position: absolute;
    left: 4.5%;
    bottom: 28px;
    margin: 0;
    font-family: "Space Grotesk", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: #c9a227;
    line-height: 1;
}

/* Dual homepage CTAs */
.jie-cta-section {
    background: #f7f1e8;
    padding: 28px 0 8px;
}
.jie-cta-section--after-reviews {
    background: #fff;
    padding: 36px 0 12px;
}
.jie-cta-light,
.jie-cta-dark {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    border-radius: 28px;
    overflow: hidden;
    min-height: 430px;
    box-shadow: 0 22px 48px rgba(0, 24, 83, .1);
}
.jie-cta-light {
    background: #fffaf3;
    position: relative;
}
.jie-cta-light-copy,
.jie-cta-dark-copy {
    position: relative;
    z-index: 1;
    padding: 42px 44px 40px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.jie-cta-glyphs {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 54px;
    background:
        repeating-linear-gradient(180deg, rgba(0, 24, 83, .06) 0 10px, transparent 10px 22px),
        linear-gradient(90deg, rgba(201, 162, 39, .12), transparent 80%);
    opacity: .55;
    pointer-events: none;
}
.jie-cta-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 10px;
    color: #c9a227;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
}
.jie-cta-kicker::after {
    content: "";
    width: 42px;
    height: 1.5px;
    background: currentColor;
}
.jie-cta-kicker--light { color: #c9a227; }
.jie-cta-light-heading,
.jie-cta-dark-heading {
    font-family: "Space Grotesk", "Outfit", sans-serif;
    font-size: clamp(1.85rem, 3.2vw, 2.55rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.03em;
    margin: 0 0 12px;
    color: #001853;
}
.jie-cta-light-heading em,
.jie-cta-dark-heading em {
    font-style: normal;
    color: #FF6B00;
}
.jie-cta-light-text {
    margin: 0 0 22px;
    max-width: 520px;
    color: #64748b;
    font-size: 15.5px;
    line-height: 1.65;
}
.jie-cta-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 18px;
    list-style: none;
    padding: 0;
    margin: 0 0 26px;
}
.jie-cta-stats li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    font-weight: 700;
    color: #334155;
}
.jie-cta-stats i {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #fff4ea;
    color: #FF6B00;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    flex-shrink: 0;
}
.jie-cta-light-actions,
.jie-cta-dark-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 22px;
}
.jie-cta-light-btn,
.jie-cta-dark-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 26px;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
    font-size: 14.5px;
}
.jie-cta-light-btn {
    background: #FF6B00;
    color: #fff;
    box-shadow: 0 10px 22px rgba(255, 107, 0, .28);
}
.jie-cta-light-btn:hover { color: #fff; background: #e05e00; }
.jie-cta-proof {
    display: flex;
    align-items: center;
    gap: 12px;
}
.jie-cta-faces {
    display: flex;
}
.jie-cta-faces img,
.jie-cta-faces span {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 2px solid #fff;
    margin-left: -8px;
    object-fit: cover;
    background: #001853;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.jie-cta-faces img:first-child,
.jie-cta-faces span:first-child { margin-left: 0; }
.jie-cta-proof-copy {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: #001853;
}
.jie-cta-proof-stars {
    color: #c9a227;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.jie-cta-proof-stars span {
    color: #64748b;
    font-weight: 700;
    font-size: 12px;
}
.jie-cta-light-media,
.jie-cta-dark-media {
    position: relative;
    min-height: 360px;
    overflow: hidden;
}
.jie-cta-light-media > img:first-child,
.jie-cta-dark-media > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
}
.jie-cta-column {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 18%;
    object-fit: cover;
    opacity: .92;
    z-index: 1;
    pointer-events: none;
}
.jie-cta-column--left {
    left: 0;
    object-position: 8% center;
    mask-image: linear-gradient(90deg, #000 40%, transparent);
}
.jie-cta-column--right {
    right: 0;
    object-position: 88% center;
    mask-image: linear-gradient(270deg, #000 40%, transparent);
}
.jie-cta-script {
    position: absolute;
    z-index: 2;
    margin: 0;
    font-family: "Caveat", cursive;
    font-weight: 700;
    pointer-events: none;
}
.jie-cta-script--light {
    top: 28px;
    right: 18%;
    color: #fff;
    font-size: 32px;
    transform: rotate(8deg);
    text-shadow: 0 6px 16px rgba(0, 24, 83, .35);
}
.jie-cta-media-tag {
    position: absolute;
    z-index: 2;
    left: 18%;
    right: 18%;
    bottom: 22px;
    margin: 0;
    text-align: center;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .28em;
    text-transform: uppercase;
}
.jie-cta-dark {
    background: #001853;
    color: #fff;
}
.jie-cta-dark-copy { padding-left: 44px; }
.jie-cta-dark-lines {
    position: absolute;
    left: 8%;
    top: 18px;
    width: 70%;
    height: 140px;
    pointer-events: none;
    opacity: .9;
}
.jie-cta-dark-heading { color: #fff; }
.jie-cta-dark-text {
    margin: 0 0 22px;
    max-width: 520px;
    color: rgba(255, 255, 255, .78);
    font-size: 15.5px;
    line-height: 1.65;
}
.jie-cta-stats--dark li { color: #fff; }
.jie-cta-stats--dark i {
    background: rgba(255, 255, 255, .08);
    color: #FF6B00;
}
.jie-cta-dark-btn {
    background: #fff;
    color: #001853;
}
.jie-cta-dark-btn:hover { color: #001853; background: #f3f6fb; }
.jie-cta-watch {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    font-size: 14.5px;
}
.jie-cta-watch:hover { color: #FF6B00; }
.jie-cta-watch-play {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, .45);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.jie-cta-watch-play i { font-size: 12px; margin-left: 2px; }
.jie-cta-quote {
    position: absolute;
    top: 36px;
    right: 28px;
    z-index: 2;
    max-width: 230px;
    margin: 0;
    color: #fff;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 500;
}
.jie-cta-quote span {
    display: block;
    font-size: 36px;
    line-height: .6;
    color: rgba(255, 255, 255, .7);
    margin-bottom: 8px;
}
.jie-cta-script--dark {
    right: 36px;
    bottom: 58px;
    color: #fff;
    font-size: 34px;
    transform: rotate(8deg);
}
.jie-cta-brand {
    position: absolute;
    right: 28px;
    bottom: 18px;
    z-index: 2;
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .28em;
    text-transform: uppercase;
}

/* Latest Posts / Travel Blog */
section.jie-latest-posts {
    background: #FAF8F4;
    padding: 84px 0 72px;
    color: #06265C;
    overflow: hidden;
}
section.jie-latest-posts .jie-latest-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 20px 28px;
    align-items: start;
    margin-bottom: 30px;
}
section.jie-latest-posts .jie-latest-script {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 4px;
    font-family: "Caveat", cursive;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    color: #FF7200;
}
section.jie-latest-posts .jie-latest-script span {
    width: 52px;
    height: 1.5px;
    background: #FF7200;
    display: inline-block;
    opacity: .7;
}
section.jie-latest-posts .jie-latest-heading {
    font-family: "Space Grotesk", "Outfit", sans-serif;
    font-size: clamp(2.15rem, 4vw, 3rem);
    font-weight: 800;
    color: #06265C;
    margin: 0 0 10px;
    letter-spacing: -.035em;
    line-height: 1.05;
}
section.jie-latest-posts .jie-latest-subtitle {
    margin: 0;
    max-width: 540px;
    color: #6B7C9E;
    font-family: "Outfit", sans-serif;
    font-size: 16px;
    line-height: 1.55;
}
section.jie-latest-posts .jie-latest-head-deco {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 6px;
    pointer-events: none;
}
section.jie-latest-posts .jie-latest-stamp svg {
    width: 86px;
    height: 86px;
    display: block;
    opacity: .42;
}
section.jie-latest-posts .jie-latest-stories {
    margin: 0;
    font-family: "Caveat", cursive;
    font-size: 26px;
    line-height: 1.15;
    color: #9AA8BC;
    transform: rotate(8deg);
    max-width: 130px;
    opacity: .85;
}
section.jie-latest-posts .jie-latest-all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 22px;
    border-radius: 999px;
    border: 1.5px solid #FF7200;
    color: #FF7200;
    font-family: "Outfit", sans-serif;
    font-weight: 700;
    font-size: 14.5px;
    text-decoration: none;
    white-space: nowrap;
    background: #FFFFFF;
    transition: background .35s ease, color .35s ease, transform .35s ease;
}
section.jie-latest-posts .jie-latest-all--desk {
    align-self: start;
    margin-top: 10px;
}
section.jie-latest-posts .jie-latest-all--mobile { display: none; }
section.jie-latest-posts .jie-latest-all:hover {
    background: #FF7200;
    color: #FFFFFF;
}
section.jie-latest-posts .jie-latest-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    align-items: stretch;
}
section.jie-latest-posts .jie-latest-featured {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: 18px;
    overflow: hidden;
    background: #06265C;
    box-shadow: 0 10px 28px rgba(6, 38, 92, .08);
}
section.jie-latest-posts .jie-latest-featured-link {
    position: absolute;
    inset: 0;
    display: block;
    color: #FFFFFF;
    text-decoration: none;
}
section.jie-latest-posts .jie-latest-featured-link img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    transition: transform .4s ease;
}
section.jie-latest-posts .jie-latest-featured-shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(6, 38, 92, 0) 48%, rgba(6, 38, 92, .55) 74%, rgba(6, 22, 52, .9) 100%);
    pointer-events: none;
    transition: background .35s ease;
}
section.jie-latest-posts .jie-latest-featured-link:hover img { transform: scale(1.04); }
section.jie-latest-posts .jie-latest-featured-link:hover .jie-latest-featured-shade {
    background: linear-gradient(180deg, rgba(6, 38, 92, 0) 40%, rgba(6, 38, 92, .68) 72%, rgba(4, 16, 40, .94) 100%);
}
section.jie-latest-posts .jie-latest-pill {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 3;
    background: #FF7200;
    color: #FFFFFF;
    border-radius: 999px;
    padding: 7px 14px;
    font-family: "Outfit", sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1;
}
section.jie-latest-posts .jie-latest-datepill {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 13px;
    border-radius: 999px;
    background: rgba(6, 38, 92, .42);
    color: #FFFFFF;
    font-family: "Outfit", sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
section.jie-latest-posts .jie-latest-featured-copy {
    position: absolute;
    left: 26px;
    right: 88px;
    bottom: 24px;
    z-index: 3;
}
section.jie-latest-posts .jie-latest-featured-copy h3 {
    font-family: "Space Grotesk", "Outfit", sans-serif;
    font-size: clamp(1.45rem, 2.3vw, 2.05rem);
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 10px;
    color: #FFFFFF;
}
section.jie-latest-posts .jie-latest-featured-copy p {
    margin: 0 0 16px;
    color: rgba(255, 255, 255, .9);
    font-family: "Outfit", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    max-width: 440px;
}
section.jie-latest-posts .jie-latest-featured-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px 18px;
    color: rgba(255, 255, 255, .92);
    font-family: "Outfit", sans-serif;
    font-size: 13.5px;
}
section.jie-latest-posts .jie-latest-author {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
section.jie-latest-posts .jie-latest-read {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
section.jie-latest-posts .jie-latest-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #FF7200;
    color: #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Outfit", sans-serif;
    font-weight: 800;
    font-size: 13px;
    flex-shrink: 0;
}
section.jie-latest-posts .jie-latest-avatar--sm {
    width: 26px;
    height: 26px;
    font-size: 11px;
}
section.jie-latest-posts .jie-latest-featured .jie-latest-go {
    position: absolute;
    right: 22px;
    bottom: 22px;
    z-index: 3;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #FF7200;
    color: #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: transform .35s ease;
}
section.jie-latest-posts .jie-latest-featured-link:hover .jie-latest-go {
    transform: translateX(4px);
}
section.jie-latest-posts .jie-latest-stack {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 0;
}
section.jie-latest-posts .jie-latest-card {
    flex: 0 0 auto;
    min-height: 0;
    background: #FFFFFF;
    border: 1px solid rgba(6, 38, 92, .07);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(6, 38, 92, .05);
    transition: transform .35s ease, box-shadow .35s ease;
}
section.jie-latest-posts .jie-latest-stack:has(> :nth-child(3)) .jie-latest-card {
    flex: 1 1 0;
}
section.jie-latest-posts .jie-latest-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px rgba(6, 38, 92, .1);
}
section.jie-latest-posts .jie-latest-card-link {
    display: grid;
    grid-template-columns: 34% minmax(0, 1fr) auto;
    align-items: stretch;
    min-height: 148px;
    height: 100%;
    color: inherit;
    text-decoration: none;
}
section.jie-latest-posts .jie-latest-thumb {
    display: block;
    position: relative;
    overflow: hidden;
    min-height: 100%;
    background: #F3E8D8;
}
section.jie-latest-posts .jie-latest-thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    transition: transform .4s ease;
}
section.jie-latest-posts .jie-latest-card:hover .jie-latest-thumb img { transform: scale(1.05); }
section.jie-latest-posts .jie-latest-card-body {
    padding: 14px 10px 14px 16px;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
section.jie-latest-posts .jie-latest-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
section.jie-latest-posts .jie-latest-cat {
    color: #FF7200;
    font-family: "Outfit", sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
section.jie-latest-posts .jie-latest-card-top time {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #6B7C9E;
    font-family: "Outfit", sans-serif;
    font-size: 12px;
    white-space: nowrap;
}
section.jie-latest-posts .jie-latest-card-body h3 {
    font-family: "Space Grotesk", "Outfit", sans-serif;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.3;
    margin: 0 0 6px;
    color: #06265C;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
section.jie-latest-posts .jie-latest-card-body p {
    margin: 0 0 10px;
    color: #6B7C9E;
    font-family: "Outfit", sans-serif;
    font-size: 13.5px;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
section.jie-latest-posts .jie-latest-card-meta {
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    color: #6B7C9E;
    font-family: "Outfit", sans-serif;
    font-size: 12.5px;
}
section.jie-latest-posts .jie-latest-card .jie-latest-go {
    align-self: center;
    margin: 0 16px 0 4px;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1.5px solid #E8DFD2;
    background: #FFFFFF;
    color: #FF7200;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: background .35s ease, color .35s ease, border-color .35s ease;
}
section.jie-latest-posts .jie-latest-card:hover .jie-latest-go {
    background: #FF7200;
    border-color: #FF7200;
    color: #FFFFFF;
}
section.jie-latest-posts .jie-latest-strip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-top: 28px;
    flex-wrap: wrap;
}
section.jie-latest-posts .jie-latest-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
section.jie-latest-posts .jie-latest-chips a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
    color: #06265C;
    text-decoration: none;
    font-family: "Outfit", sans-serif;
    font-weight: 700;
    font-size: 13.5px;
    line-height: 1.2;
    border-left: 1px solid #E2D8C8;
    transition: color .3s ease;
}
section.jie-latest-posts .jie-latest-chips a:first-child {
    padding-left: 0;
    border-left: 0;
}
section.jie-latest-posts .jie-latest-chips a i {
    color: #FF7200;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-style: normal;
    font-size: 14px;
    width: 1.1em;
    text-align: center;
    line-height: 1;
    display: inline-block;
}
section.jie-latest-posts .jie-latest-chips a:hover { color: #FF7200; }
section.jie-latest-posts .jie-latest-strip > p {
    margin: 0;
    color: #9AA8BC;
    font-family: "Outfit", sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
}
@media (max-width: 1199.98px) {
    section.jie-latest-posts .jie-latest-head {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    section.jie-latest-posts .jie-latest-head-deco { display: none; }
    section.jie-latest-posts .jie-latest-grid { grid-template-columns: 1fr; }
    section.jie-latest-posts .jie-latest-featured { aspect-ratio: 16 / 10; }
    section.jie-latest-posts .jie-latest-stack {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
    }
    section.jie-latest-posts .jie-latest-stack:has(> :nth-child(2)) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    section.jie-latest-posts .jie-latest-card,
    section.jie-latest-posts .jie-latest-stack:has(> :nth-child(3)) .jie-latest-card {
        flex: none;
    }
}
@media (max-width: 767.98px) {
    section.jie-latest-posts { padding: 64px 0 56px; }
    section.jie-latest-posts .jie-latest-head { grid-template-columns: 1fr; margin-bottom: 22px; }
    section.jie-latest-posts .jie-latest-all--desk { display: none; }
    section.jie-latest-posts .jie-latest-all--mobile {
        display: inline-flex;
        align-self: center;
        margin: 22px auto 0;
    }
    section.jie-latest-posts .container {
        display: flex;
        flex-direction: column;
    }
    section.jie-latest-posts .jie-latest-featured { aspect-ratio: 4 / 3; }
    section.jie-latest-posts .jie-latest-featured-copy { left: 18px; right: 72px; bottom: 18px; }
    section.jie-latest-posts .jie-latest-pill,
    section.jie-latest-posts .jie-latest-datepill { top: 14px; }
    section.jie-latest-posts .jie-latest-pill { left: 14px; }
    section.jie-latest-posts .jie-latest-datepill { right: 14px; }
    section.jie-latest-posts .jie-latest-featured .jie-latest-go {
        right: 14px;
        bottom: 14px;
        width: 42px;
        height: 42px;
    }
    section.jie-latest-posts .jie-latest-stack { grid-template-columns: 1fr; }
    section.jie-latest-posts .jie-latest-card-link {
        grid-template-columns: 1fr;
        min-height: 0;
        position: relative;
    }
    section.jie-latest-posts .jie-latest-thumb {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }
    section.jie-latest-posts .jie-latest-card-body { padding: 16px 56px 16px 16px; }
    section.jie-latest-posts .jie-latest-card .jie-latest-go {
        position: absolute;
        right: 16px;
        bottom: 18px;
        margin: 0;
    }
    section.jie-latest-posts .jie-latest-strip { margin-top: 22px; }
    section.jie-latest-posts .jie-latest-strip > p { display: none; }
    section.jie-latest-posts .jie-latest-chips a {
        padding: 8px 12px;
        border-left: 0;
    }
}

/* E + F + H footer */
.footer-area.ft-bg {
    overflow: visible;
    background-color: #001853 !important;
    background-image:
        linear-gradient(180deg, rgba(0, 24, 83, 0.96) 0%, rgba(8, 42, 88, 0.92) 48%, rgba(0, 24, 83, 0.88) 100%),
        url('../images/egypt/nile-felucca.jpg') !important;
    background-position: center top, center 72% !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100%, cover !important;
}
.footer-shape-top {
    overflow: visible;
}
.footer-shape-top svg {
    display: block;
    width: 100%;
    height: 48px;
}
.footer-shape-top img {
    display: none;
}
.jie-footer-egypt-art {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    pointer-events: none;
    line-height: 0;
    opacity: .62;
}
.jie-footer-egypt-art svg {
    width: 100%;
    height: 160px;
    display: block;
}
.footer-area .footer-widget,
.footer-area .copyright {
    position: relative;
    z-index: 2;
}
.footer-area .copyright {
    padding-bottom: 28px;
}
.footer-contact-wrap.jie-footer-pills {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
    justify-content: stretch;
}
.footer-contact-wrap.jie-footer-pills .footer-contact-item {
    width: 100%;
    min-width: 0;
    min-height: 88px;
    align-items: flex-start;
    border-radius: 22px;
    padding: 14px 16px 14px 12px;
    box-sizing: border-box;
}
.footer-contact-wrap.jie-footer-pills .footer-contact-item .content {
    min-width: 0;
    flex: 1;
}
.footer-contact-wrap.jie-footer-pills .footer-contact-item .content a,
.footer-contact-wrap.jie-footer-pills .footer-contact-item .content p {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-size: 14px;
    line-height: 1.4;
}
.jie-license-medallion-wrap {
    margin-top: 22px;
    width: 96px;
    height: 96px;
    background: transparent;
}
.jie-license-medallion {
    display: block;
    width: 96px;
    height: 96px;
    overflow: visible;
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .28));
}
.jie-license-medallion .jie-seal-ring {
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 2.4px;
    font-family: "Space Grotesk", sans-serif;
}
.jie-license-medallion .jie-seal-year {
    font-family: "Space Grotesk", sans-serif;
    font-size: 16px;
    font-weight: 800;
    fill: #f3e2a0;
}

@media (max-width: 991px) {
    .footer-area.ft-bg {
        background-size: 100% 100%, cover !important;
        background-position: center top, center 70% !important;
    }
    .jie-shore-track {
        display: flex;
        overflow-x: auto;
        gap: 16px;
        scroll-snap-type: x mandatory;
        padding-bottom: 8px;
        margin: 0 -12px;
        padding-inline: 12px;
    }
    .jie-shore-slide {
        flex: 0 0 min(86%, 420px);
        scroll-snap-align: start;
    }
    .jie-iconic-head,
    .jie-polaroid-heading {
        display: block;
    }
    .jie-cta-light-media,
    .jie-cta-dark-media { min-height: 280px; }
    .jie-reviews-stage { padding: 0 42px; }
    .jie-reviews-deco--karnak,
    .jie-reviews-deco--pyramid { width: 42%; }
    .jie-reviews-wave svg { height: 132px; }
    .footer-contact-wrap.jie-footer-pills { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
    .scroll-to-top {
        left: 16px !important;
        right: auto !important;
        bottom: 22px !important;
        width: 42px !important;
        height: 42px !important;
    }
    .jie-whatsapp {
        right: 16px;
        bottom: 22px;
        width: 54px;
        height: 54px;
    }
    .jie-reviews-stage { padding: 0 8px 0 8px; }
    .jie-reviews-nav { width: 40px; height: 40px; }
    .jie-polaroid { transform: none; }
    .jie-signature-all,
    .jie-polaroid-all,
    .jie-dest-all { align-self: start; }
    .jie-shore-section .ref-tour-img-wrap {
        width: 100%;
        min-height: 180px;
    }
}

/* ============================================================
   Traveler reviews, FAQ, price packages
   ============================================================ */
.jie-proof {
    position: relative;
    overflow: hidden;
    padding: 72px 0 80px;
    color: #082A58;
}
.jie-proof--tour { padding: 56px 0 64px; }
.jie-proof-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.jie-proof-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 35%;
    filter: saturate(.85);
}
.jie-proof-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(250, 248, 244, .88) 0%, rgba(250, 248, 244, .94) 42%, rgba(250, 248, 244, .98) 100%),
        linear-gradient(90deg, rgba(250, 248, 244, .55) 0%, transparent 22%, transparent 78%, rgba(250, 248, 244, .55) 100%);
}
.jie-proof-inner { position: relative; z-index: 2; }
.jie-proof-header {
    text-align: center;
    margin: 0 0 28px;
}
.jie-proof-heading {
    margin: 0;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
    color: #082A58;
    letter-spacing: -.02em;
}
.jie-score-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    max-width: 980px;
    margin: 0 auto 28px;
}
.jie-score-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 128px;
    padding: 22px 26px;
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 14px 36px rgba(8, 42, 88, .08);
    text-decoration: none;
    color: inherit;
    border: 1px solid rgba(8, 42, 88, .06);
}
.jie-score-card--google { border-top: 4px solid #4285F4; }
.jie-score-card--ta { border-top: 4px solid #00aa6c; }
.jie-score-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 8px;
    font-weight: 800;
    font-size: 15px;
    color: #082A58;
}
.jie-brand-mark {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 800;
    flex-shrink: 0;
}
.jie-brand-mark--g {
    background: #fff;
    color: #4285F4;
    border: 2px solid #e8eaed;
    font-family: "Outfit", sans-serif;
}
.jie-brand-mark--ta {
    background: #00aa6c;
    color: #fff;
    font-size: 11px;
    letter-spacing: -.04em;
}
.jie-score-value {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-family: "Space Grotesk", sans-serif;
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
    color: #082A58;
}
.jie-score-stars { color: #fbbc04; font-size: 14px; letter-spacing: 1px; }
.jie-score-dots { color: #00aa6c; font-size: 11px; letter-spacing: 3px; }
.jie-score-count,
.jie-score-fallback {
    margin: 8px 0 0;
    color: #7b8794;
    font-size: 13px;
}
.jie-score-aside {
    max-width: 150px;
    text-align: center;
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
}
.jie-score-aside p { margin: 8px 0 0; }
.jie-score-trophy {
    display: inline-flex;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: #f8f3ea;
    color: #c9a227;
    font-size: 18px;
}
.jie-proof-recent {
    text-align: center;
    margin: 0 0 22px;
    color: #7b8794;
    font-size: 14px;
}
.jie-proof-stage {
    position: relative;
    padding: 0 52px;
}
.jie-proof .jie-reviews-swiper { overflow: hidden; }
.jie-proof .jie-reviews-swiper .swiper-slide { height: auto; }
.jie-quote-card {
    height: 100%;
    background: #fff;
    border-radius: 20px;
    padding: 22px 22px 18px;
    box-shadow: 0 16px 34px rgba(8, 42, 88, .08);
    border: 1px solid rgba(8, 42, 88, .05);
    display: flex;
    flex-direction: column;
    min-height: 250px;
}
.jie-quote-head {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
    margin-bottom: 12px;
}
.jie-quote-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, #001853, #0a6b8a);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 16px;
}
.jie-quote-who strong {
    display: block;
    font-size: 14.5px;
    font-weight: 800;
    color: #082A58;
    line-height: 1.25;
}
.jie-quote-who span {
    display: block;
    margin-top: 3px;
    font-size: 12px;
    color: #7b8794;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.jie-quote-rating {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}
.jie-quote-rating b {
    font-family: "Space Grotesk", sans-serif;
    font-size: 18px;
    color: #082A58;
    line-height: 1;
}
.jie-quote-stars { color: #e8a317; font-size: 11px; letter-spacing: .5px; }
.jie-quote-source {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    font-weight: 800;
    margin-bottom: 2px;
}
.jie-quote-source--google { background: #fff; color: #4285F4; border: 1.5px solid #e8eaed; }
.jie-quote-source--tripadvisor { background: #00aa6c; color: #fff; }
.jie-quote-source--direct { background: #082A58; color: #fff; }
.jie-quote-text {
    margin: 0;
    color: #5b6775;
    font-size: 14.5px;
    line-height: 1.65;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.jie-quote-foot {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid #eef1f4;
    color: #94a3b8;
    font-size: 12px;
}
.jie-proof .jie-reviews-nav {
    background: #082A58;
    color: #fff;
    box-shadow: 0 10px 24px rgba(8, 42, 88, .22);
}
.jie-proof .jie-reviews-nav:hover {
    background: #001853;
    color: #fff;
}
.jie-trust {
    margin-top: 42px;
    padding: 42px 36px 36px;
    border-radius: 28px;
    background: linear-gradient(160deg, #06265C 0%, #001853 58%, #082A58 100%);
    color: #fff;
    text-align: center;
    box-shadow: 0 24px 50px rgba(0, 24, 83, .22);
}
.jie-trust-kicker {
    margin: 0 0 8px;
    letter-spacing: .28em;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 700;
    color: rgba(255, 255, 255, .72);
}
.jie-trust-heading {
    margin: 0;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(1.6rem, 3vw, 2.15rem);
    font-weight: 700;
}
.jie-trust-rule {
    display: block;
    width: 64px;
    height: 3px;
    margin: 14px auto 28px;
    border-radius: 99px;
    background: linear-gradient(90deg, #c9a227, #FF7200);
}
.jie-trust-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    text-align: left;
}
.jie-trust-card {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 18px 18px 16px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .1);
}
.jie-trust-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(201, 162, 39, .16);
    color: #e8c56b;
    flex-shrink: 0;
}
.jie-trust-card h4 {
    margin: 0 0 4px;
    font-size: 15px;
    font-weight: 800;
    color: #fff;
}
.jie-trust-card p {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .72);
}

.jie-faq-board {
    background: #FAF8F4;
    padding: 72px 0 80px;
}
.jie-faq-board--tour { padding: 48px 0 64px; }
.jie-faq-header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 32px;
}
.jie-faq-kicker {
    margin: 0 0 8px;
    letter-spacing: .28em;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 700;
    color: #c9a227;
}
.jie-faq-heading {
    margin: 0 0 10px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(1.7rem, 3.2vw, 2.4rem);
    font-weight: 700;
    color: #082A58;
}
.jie-faq-intro {
    margin: 0;
    color: #64748b;
    font-size: 15.5px;
    line-height: 1.6;
}
.jie-faq-accordion {
    max-width: 860px;
    margin: 0 auto;
    --bs-accordion-border-color: transparent;
    --bs-accordion-bg: transparent;
    --bs-accordion-btn-bg: #fff;
}
.jie-faq-item {
    margin-bottom: 12px;
    border: 0 !important;
    border-radius: 16px !important;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 24px rgba(8, 42, 88, .06);
}
.jie-faq-btn {
    font-weight: 800;
    font-size: 16px;
    color: #082A58 !important;
    box-shadow: none !important;
    padding: 18px 22px;
    gap: 12px;
    align-items: center;
}
.jie-faq-btn:not(.collapsed) { color: #001853 !important; }
.jie-faq-index {
    display: inline-flex;
    min-width: 36px;
    height: 36px;
    border-radius: 10px;
    align-items: center;
    justify-content: center;
    background: #F8F3EA;
    color: #FF7200;
    font-family: "Space Grotesk", sans-serif;
    font-size: 13px;
    font-weight: 800;
}
.jie-faq-body {
    color: #5b6775;
    font-size: 15px;
    line-height: 1.7;
    padding: 0 22px 20px 70px;
}

.jie-packages {
    background: #fff;
    border-radius: 24px;
    padding: 28px 24px 24px;
    box-shadow: 0 14px 34px rgba(8, 42, 88, .07);
}
.jie-packages-header { margin-bottom: 22px; }
.jie-packages-kicker {
    margin: 0 0 6px;
    letter-spacing: .22em;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 700;
    color: #c9a227;
}
.jie-packages-heading {
    margin: 0 0 8px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.7rem;
    font-weight: 700;
    color: #082A58;
}
.jie-packages-intro {
    margin: 0;
    color: #64748b;
    font-size: 14.5px;
    line-height: 1.55;
}
.jie-packages-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.jie-packages-stage {
    position: relative;
    padding: 0 48px;
}
.jie-packages-swiper { overflow: hidden; }
.jie-packages-swiper .swiper-slide {
    height: auto;
    display: flex;
}
.jie-packages-swiper .jie-package-card {
    width: 100%;
    min-height: 100%;
}
.jie-packages-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 18px 0 0;
}
.jie-packages-pagination .swiper-pagination-bullet {
    width: 9px;
    height: 9px;
    margin: 0 !important;
    background: #001853;
    opacity: 1;
    border-radius: 999px;
}
.jie-packages-pagination .swiper-pagination-bullet-active {
    width: 22px;
    background: #FF6B00;
}
.jie-packages-stage .jie-reviews-nav {
    background: #082A58;
    color: #fff;
}
.jie-packages-prev { left: 0; }
.jie-packages-next { right: 0; }
.jie-package-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 22px 20px 18px;
    border-radius: 18px;
    background: #FAF8F4;
    border: 1px solid rgba(8, 42, 88, .08);
}
.jie-package-card--featured {
    background: linear-gradient(180deg, #06265C 0%, #001853 100%);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 16px 32px rgba(0, 24, 83, .22);
    transform: translateY(-4px);
}
.jie-package-ribbon {
    position: absolute;
    top: 14px;
    right: 14px;
    margin: 0;
    padding: 4px 10px;
    border-radius: 99px;
    background: #FF7200;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.jie-package-label {
    margin: 0 0 4px;
    font-weight: 800;
    font-size: 15px;
    color: inherit;
    padding-right: 84px;
}
.jie-package-card:not(.jie-package-card--featured) .jie-package-label { color: #082A58; }
.jie-package-pax {
    margin: 0 0 12px;
    font-size: 13px;
    color: #7b8794;
}
.jie-package-card--featured .jie-package-pax { color: rgba(255, 255, 255, .7); }
.jie-package-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 16px;
}
.jie-package-amount {
    font-family: "Space Grotesk", sans-serif;
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
    color: #FF7200;
}
.jie-package-card--featured .jie-package-amount { color: #ffb36a; }
.jie-package-unit {
    font-size: 12.5px;
    color: #7b8794;
}
.jie-package-card--featured .jie-package-unit { color: rgba(255, 255, 255, .65); }
.jie-package-details {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    flex: 1;
}
.jie-package-details li {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-bottom: 8px;
    font-size: 13.5px;
    line-height: 1.45;
}
.jie-package-details i {
    color: #009ea9;
    margin-top: 3px;
    font-size: 12px;
}
.jie-package-card--featured .jie-package-details i { color: #e8c56b; }
.jie-package-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 44px;
    border-radius: 12px;
    background: #25D366;
    color: #fff !important;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
}
.jie-package-cta:hover { color: #fff; filter: brightness(1.05); }
.jie-package-card--featured .jie-package-cta {
    background: #fff;
    color: #082A58 !important;
}
.jie-packages-notes {
    margin: 18px 0 0;
    color: #7b8794;
    font-size: 13px;
}

@media (max-width: 991px) {
    .jie-score-grid,
    .jie-trust-grid { grid-template-columns: 1fr; }
    .jie-proof-stage { padding: 0 42px; }
    .jie-faq-body { padding-left: 22px; }
    .jie-packages-stage { padding: 0 42px; }
}
@media (max-width: 575px) {
    .jie-proof-stage { padding: 0 8px; }
    .jie-quote-head { grid-template-columns: 42px minmax(0, 1fr); }
    .jie-quote-rating { grid-column: 2; flex-direction: row; align-items: center; gap: 6px; }
    .jie-trust { padding: 28px 18px; border-radius: 22px; }
    .jie-packages { padding: 22px 16px; }
    .jie-packages-stage { padding: 0 8px; }
}

/* Tour sidebar — Why Choose Us */
.jie-why-aside {
    margin-top: 20px;
    margin-bottom: 24px;
}
.jie-why-aside-ticket {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    background: linear-gradient(165deg, #06265C 0%, #001853 58%, #082A58 100%);
    color: #fff;
    padding: 22px 20px 18px;
    box-shadow: 0 18px 40px rgba(0, 24, 83, .18);
}
.jie-why-aside-ticket::after {
    content: "";
    position: absolute;
    right: -12px;
    bottom: 36px;
    width: 0;
    height: 0;
    border-left: 78px solid transparent;
    border-right: 78px solid transparent;
    border-bottom: 96px solid rgba(255, 255, 255, .05);
    pointer-events: none;
}
.jie-why-aside-ticket::before {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    top: 118px;
    height: 1px;
    background: repeating-linear-gradient(90deg, rgba(232, 197, 107, .55) 0 8px, transparent 8px 14px);
    pointer-events: none;
}
.jie-why-aside-top {
    position: relative;
    padding-right: 86px;
    padding-bottom: 18px;
    margin-bottom: 8px;
}
.jie-why-aside-seal {
    position: absolute;
    top: 0;
    right: 0;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 35% 30%, #f3e2a0, #c9a227 62%, #8a6a12);
    color: #3a2a04;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .22), inset 0 0 0 3px rgba(255, 255, 255, .28);
    transform: rotate(8deg);
    text-align: center;
    line-height: 1.05;
}
.jie-why-aside-seal span {
    font-family: "Playfair Display", Georgia, serif;
    font-size: 20px;
    font-weight: 700;
}
.jie-why-aside-seal small {
    display: block;
    margin-top: 2px;
    max-width: 62px;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.jie-why-aside-kicker {
    margin: 0 0 6px;
    letter-spacing: .22em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 700;
    color: rgba(255, 255, 255, .68);
}
.jie-why-aside-heading {
    margin: 0 0 10px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.45rem;
    font-weight: 700;
    color: #fff;
}
.jie-why-aside-years {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0;
    color: #e8c56b;
}
.jie-why-aside-years b {
    font-family: "Space Grotesk", sans-serif;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
}
.jie-why-aside-years span {
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-weight: 700;
}
.jie-why-rail {
    list-style: none;
    margin: 18px 0 0;
    padding: 4px 0 0;
    position: relative;
}
.jie-why-rail::before {
    content: "";
    position: absolute;
    left: 19px;
    top: 14px;
    bottom: 22px;
    width: 2px;
    background: linear-gradient(180deg, #c9a227, rgba(201, 162, 39, .15));
}
.jie-why-rail li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    position: relative;
    margin-bottom: 14px;
}
.jie-why-rail li:last-child { margin-bottom: 0; }
.jie-why-rail-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    flex-shrink: 0;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: #0b3a78;
    color: #e8c56b;
    border: 1.5px solid rgba(232, 197, 107, .55);
    box-shadow: 0 0 0 4px rgba(6, 38, 92, .95);
    z-index: 1;
}
.jie-why-rail-icon i {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    font-size: 15px;
    line-height: 1;
    width: auto;
    height: auto;
    color: #e8c56b !important;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
}
.jie-why-rail-copy {
    min-width: 0;
    padding-top: 2px;
}
.jie-why-rail-copy strong {
    display: block;
    font-size: 13.5px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 2px;
}
.jie-why-rail-copy p {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.45;
    color: rgba(255, 255, 255, .72);
}
.jie-why-aside-foot {
    margin: 16px 0 0;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, .1);
    font-size: 11.5px;
    line-height: 1.45;
    color: rgba(255, 255, 255, .62);
}

/* Tour photo gallery: main stage + thumbnail slider */
.jie-gallery {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.jie-stage {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background: #001853;
    box-shadow: 0 22px 48px rgba(6, 38, 92, .16);
}
.jie-stage-frame {
    position: relative;
    display: block;
    width: 100%;
    min-height: 460px;
    padding: 0;
    border: 0;
    background: #001853;
    cursor: zoom-in;
}
.jie-stage-image {
    width: 100%;
    height: 460px;
    object-fit: cover;
    display: block;
    transition: transform .7s cubic-bezier(.25, 1, .35, 1), opacity .35s ease;
}
.jie-stage-frame:hover .jie-stage-image,
.jie-stage-frame:focus-visible .jie-stage-image { transform: scale(1.04); }
.jie-stage-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 24, 83, .08) 0%, transparent 38%, rgba(0, 24, 83, .58) 100%);
    pointer-events: none;
}
.jie-stage-meta {
    position: absolute;
    left: 20px;
    bottom: 18px;
    z-index: 2;
    color: #fff;
    text-align: left;
}
.jie-stage-kicker {
    display: block;
    font-family: "Caveat", cursive;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 8px;
}
.jie-stage-count {
    display: inline-flex;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .16);
    backdrop-filter: blur(8px);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.jie-stage-zoom {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .94);
    color: #082A58;
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity .25s ease, transform .25s ease;
}
.jie-stage-frame:hover .jie-stage-zoom,
.jie-stage-frame:focus-visible .jie-stage-zoom {
    opacity: 1;
    transform: none;
}
.jie-stage-arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, .92);
    color: #06265C;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(0, 24, 83, .18);
}
.jie-stage-arrow:hover { background: #FF7200; color: #fff; }
.jie-stage-arrow--prev { left: 16px; }
.jie-stage-arrow--next { right: 16px; }
.jie-stage-dots {
    position: absolute;
    right: 20px;
    bottom: 18px;
    z-index: 3;
    display: flex;
    gap: 7px;
    pointer-events: auto;
}
.jie-stage-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .45);
    cursor: pointer;
    transition: width .25s ease, background .25s ease;
}
.jie-stage-dot.is-active {
    width: 22px;
    background: #FF7200;
}
.jie-thumbs {
    position: relative;
    padding: 0;
}
.jie-film,
.jie-thumbs.jie-film {
    position: relative;
    padding: 12px 16px 16px;
    border-radius: 20px;
    background: linear-gradient(180deg, #FFF8EE 0%, #F3E6CF 100%) !important;
    border: 1px dashed rgba(201, 162, 39, .4);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 12px 28px rgba(6, 38, 92, .1);
}
.jie-film::before,
.jie-film::after,
.jie-thumbs::before,
.jie-thumbs::after {
    content: none !important;
    display: none !important;
    background: none !important;
}
.jie-film-label {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #06265C;
    opacity: .62;
    text-align: center;
}
.jie-thumbs-swiper { overflow: hidden; padding: 8px 0 6px; }
.jie-thumbs .swiper-slide { width: auto; }
.jie-thumb {
    position: relative;
    display: block;
    width: 118px;
    height: 82px;
    padding: 0;
    border: 3px solid #fff;
    border-radius: 14px;
    overflow: hidden;
    background: #082A58;
    cursor: pointer;
    opacity: .7;
    box-shadow: 0 8px 18px rgba(6, 38, 92, .14);
    transition: border-color .2s ease, opacity .2s ease, transform .25s ease, box-shadow .25s ease;
}
.jie-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.jie-thumb-index {
    position: absolute;
    left: 6px;
    bottom: 6px;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(0, 24, 83, .72);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
}
.jie-thumb:hover,
.jie-thumb:focus-visible {
    opacity: 1;
    transform: translateY(-4px);
}
.jie-thumb.is-active {
    opacity: 1;
    border-color: #FF7200;
    transform: translateY(-6px) scale(1.06);
    box-shadow: 0 14px 28px rgba(255, 114, 0, .28);
}
.jie-thumbs-arrow,
.jie-thumbs .swiper-button-prev,
.jie-thumbs .swiper-button-next,
.jie-film .swiper-button-prev,
.jie-film .swiper-button-next {
    display: none !important;
}
.jie-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1080;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0, 14, 48, .92);
    padding: 24px;
}
.jie-lightbox.is-open { display: flex; }
.jie-lightbox img {
    max-width: min(1080px, 92vw);
    max-height: 84vh;
    object-fit: contain;
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
}
.jie-lightbox-count {
    position: absolute;
    bottom: 22px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    color: rgba(255, 255, 255, .8);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
}
.jie-lightbox-btn {
    position: absolute;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.jie-lightbox-btn:hover { background: #FF7200; }
.jie-lightbox-close { top: 18px; right: 18px; }
.jie-lightbox-prev { left: 18px; top: 50%; transform: translateY(-50%); }
.jie-lightbox-next { right: 18px; top: 50%; transform: translateY(-50%); }
@media (max-width: 991px) {
    .jie-stage-frame,
    .jie-stage-image { min-height: 280px; height: 280px; }
    .jie-stage-arrow { width: 38px; height: 38px; }
    .jie-stage-arrow--prev { left: 10px; }
    .jie-stage-arrow--next { right: 10px; }
    .jie-thumbs { padding: 0; }
    .jie-film { padding: 10px 12px 14px; }
    .jie-thumb { width: 96px; height: 70px; }
    .jie-lightbox-prev { left: 8px; }
    .jie-lightbox-next { right: 8px; }
}
@media (max-width: 575px) {
    .jie-stage-frame,
    .jie-stage-image { min-height: 220px; height: 220px; }
    .jie-stage { border-radius: 16px; }
    .jie-stage-dots { right: 12px; bottom: 12px; }
    .jie-film { padding: 8px 10px 12px; border-radius: 16px; }
    .jie-thumb { width: 82px; height: 60px; border-radius: 10px; }
    .jie-thumb.is-active { transform: translateY(-3px) scale(1.04); }
}

/* Skip link — visible on keyboard focus only */
.jie-skip {
    position: absolute;
    left: 12px;
    top: -48px;
    z-index: 2000;
    padding: 10px 16px;
    border-radius: 999px;
    background: #FF7200;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}
.jie-skip:focus,
.jie-skip:focus-visible {
    top: 12px;
}

/* Footer license pill + Get in Touch + trust bar */
.jie-operated {
    display: inline-flex;
    align-items: flex-start;
    gap: 10px;
    margin: 18px 0 0;
    padding: 12px 16px;
    max-width: 340px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(201, 162, 39, .35);
    color: #f3e2a0;
    font-size: 13px;
    line-height: 1.45;
}
.jie-operated i {
    margin-top: 2px;
    color: #c9a227;
}
.jie-footer-ctas {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 16px;
}
.jie-footer-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 10px 18px;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .2s ease, background .2s ease;
}
.jie-footer-cta:hover { transform: translateY(-1px); color: #fff; }
.jie-footer-cta--mail {
    background: #FF7200;
    color: #fff;
}
.jie-footer-cta--wa {
    background: #25d366;
    color: #fff;
}
.jie-trustbar {
    position: relative;
    z-index: 2;
    margin-top: 8px;
    padding: 18px 0 8px;
    border-top: 1px solid rgba(255, 255, 255, .08);
}
.jie-trustbar-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.jie-trustbar-copy {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    color: #d7e0ef;
    max-width: 640px;
}
.jie-trustbar-icon {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 114, 0, .16);
    color: #FF7200;
}
.jie-trustbar-title {
    margin: 0;
    font-weight: 800;
    color: #fff;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-size: 13px;
}
.jie-trustbar-text {
    margin: 4px 0 0;
    font-size: 13px;
    line-height: 1.5;
    opacity: .86;
}
.jie-trustbar-pay {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.jie-trustbar-accept {
    margin: 0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .55);
}
.jie-trustbar-pay ul {
    display: flex;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.jie-trustbar-pay li {
    min-width: 54px;
    height: 34px;
    padding: 0 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .92);
    color: #06265C;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

/* Homepage planning steps */
.jie-steps {
    padding: 72px 0 40px;
    background:
        radial-gradient(circle at 12% 20%, rgba(255, 114, 0, .08), transparent 28%),
        linear-gradient(180deg, #FAF8F4 0%, #F8F3EA 100%);
}
.jie-steps-head { text-align: center; margin-bottom: 42px; }
.jie-steps-kicker {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #FF7200;
}
.jie-steps-heading {
    margin: 0;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(32px, 4vw, 48px);
    color: #06265C;
}
.jie-steps-heading em {
    font-style: italic;
    color: #FF7200;
}
.jie-steps-track {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    position: relative;
}
.jie-steps-track::before {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    top: 38px;
    height: 0;
    border-top: 2px dashed rgba(6, 38, 92, .18);
}
.jie-step {
    position: relative;
    z-index: 1;
    background: #fff;
    border-radius: 24px;
    padding: 28px 22px 24px;
    box-shadow: 0 18px 40px rgba(6, 38, 92, .08);
    text-align: center;
}
.jie-step-num {
    display: inline-flex;
    width: 42px;
    height: 42px;
    margin-bottom: 12px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: #06265C;
    color: #fff;
    font-weight: 800;
}
.jie-step:nth-child(2) .jie-step-num { background: #009ea9; }
.jie-step:nth-child(3) .jie-step-num { background: #001853; }
.jie-step:nth-child(4) .jie-step-num { background: #25a244; }
.jie-step-icon {
    display: flex;
    justify-content: center;
    color: #FF7200;
    font-size: 22px;
    margin-bottom: 12px;
}
.jie-step h3 {
    font-size: 18px;
    font-weight: 800;
    color: #06265C;
    margin-bottom: 8px;
}
.jie-step p {
    margin: 0;
    color: #5b6b82;
    font-size: 14px;
    line-height: 1.55;
}

/* Numbers */
.jie-stats {
    padding: 28px 0 72px;
    background: #F8F3EA;
}
.jie-stats--light { background: #FAF8F4; padding-top: 56px; }
.jie-stats-head { text-align: center; margin-bottom: 28px; }
.jie-stats-kicker {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #009ea9;
}
.jie-stats-heading {
    margin: 0;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(28px, 3vw, 40px);
    color: #06265C;
}
.jie-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.jie-stat {
    background: #fff;
    border-radius: 22px;
    padding: 28px 20px;
    text-align: center;
    box-shadow: 0 14px 32px rgba(6, 38, 92, .07);
}
.jie-stat-value {
    margin: 0;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(32px, 4vw, 44px);
    font-weight: 800;
    color: #06265C;
    line-height: 1;
}
.jie-stat-value span { color: #FF7200; }
.jie-stat-label {
    margin: 10px 0 0;
    color: #5b6b82;
    font-size: 14px;
    font-weight: 600;
}

/* Global band CTA */
.jie-band-wrap {
    padding: 12px 0 56px;
    background: #FAF8F4;
}
.jie-band {
    position: relative;
    overflow: hidden;
    border-radius: 32px;
    padding: 56px 40px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 18%, rgba(255, 114, 0, .28), transparent 26%),
        linear-gradient(135deg, #001853 0%, #06265C 48%, #082A58 100%);
    box-shadow: 0 24px 50px rgba(6, 38, 92, .2);
}
.jie-band-kicker {
    margin: 0 0 10px;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 800;
    color: #FF7200;
}
.jie-band-heading {
    margin: 0 auto 14px;
    max-width: 760px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(32px, 5vw, 52px);
    line-height: 1.15;
}
.jie-band-heading em { font-style: italic; color: #FF7200; }
.jie-band-text {
    margin: 0 auto 28px;
    max-width: 640px;
    color: rgba(255, 255, 255, .82);
    font-size: 16px;
    line-height: 1.65;
}
.jie-band-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}
.jie-band-btn,
.jie-band-wa {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 52px;
    padding: 12px 26px;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
}
.jie-band-btn { background: #FF7200; color: #fff; }
.jie-band-btn:hover { color: #fff; background: #e56600; }
.jie-band-wa { background: #25d366; color: #fff; }
.jie-band-wa:hover { color: #fff; background: #1ebe5d; }
.jie-band-scene {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}
.jie-band-photo {
    width: 100%;
    height: 118%;
    object-fit: cover;
    object-position: center 42%;
    transform-origin: 58% 40%;
    animation: jie-band-ken 22s ease-in-out infinite alternate;
}
.jie-band-wash {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 88% 18%, rgba(255, 114, 0, .22), transparent 28%),
        linear-gradient(135deg, rgba(0, 24, 83, .84) 0%, rgba(6, 38, 92, .78) 48%, rgba(8, 42, 88, .74) 100%);
}
.jie-band-trail {
    position: absolute;
    left: 0;
    right: 0;
    top: 12%;
    width: 100%;
    height: 220px;
    opacity: .85;
}
.jie-band-trail path {
    animation: jie-band-dash 16s linear infinite;
}
.jie-band > *:not(.jie-band-scene) { position: relative; z-index: 1; }
@keyframes jie-band-ken {
    from { transform: scale(1.04) translate(0, 0); }
    to { transform: scale(1.16) translate(-2.4%, -1.8%); }
}
@keyframes jie-band-dash {
    to { stroke-dashoffset: -220; }
}
@media (prefers-reduced-motion: reduce) {
    .jie-band-photo,
    .jie-band-trail path { animation: none; }
}

/* Homepage Why Journey — Egypt photo, not generic doodles */
.why-choose-us {
    background-image: url('../images/egypt/sphinx.jpg') !important;
    background-size: cover !important;
    background-position: center 28% !important;
}
.why-choose-us::before {
    background:
        linear-gradient(90deg, rgba(250, 248, 244, .96) 0%, rgba(250, 248, 244, .9) 38%, rgba(248, 243, 234, .62) 68%, rgba(6, 38, 92, .28) 100%) !important;
}

/* Pagination — branded tickets, not Tailwind default */
.jie-pagination-wrap {
    display: flex;
    justify-content: center;
}
.jie-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.jie-page-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.jie-page-btn,
.jie-page-num,
.jie-page-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
    padding: 0 16px;
    border-radius: 999px;
    background: #fff;
    color: #06265C;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    box-shadow: 0 10px 22px rgba(6, 38, 92, .08);
    border: 1px solid rgba(6, 38, 92, .08);
}
.jie-page-btn { gap: 8px; }
.jie-page-num:hover,
.jie-page-btn:hover {
    color: #fff;
    background: #06265C;
    border-color: #06265C;
}
.jie-page-num.is-current {
    background: #FF7200;
    border-color: #FF7200;
    color: #fff;
    box-shadow: 0 10px 22px rgba(255, 114, 0, .28);
}
.jie-page-btn.is-disabled {
    opacity: .38;
    pointer-events: none;
    box-shadow: none;
}
.jie-page-ellipsis {
    min-width: 36px;
    padding: 0 8px;
    background: transparent;
    box-shadow: none;
    border: 0;
    color: #8a97ab;
}

/* Footer license plaque */
.jie-license-plaque {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 22px;
    padding: 12px 16px 12px 10px;
    max-width: 390px;
    background:
        radial-gradient(circle at 10px 10px, rgba(201, 162, 39, .18) 0 7px, transparent 8px),
        linear-gradient(165deg, rgba(16, 38, 82, .94), rgba(6, 18, 48, .82));
    border: 1px dashed rgba(201, 162, 39, .58);
    border-radius: 10px;
    box-shadow:
        inset 0 0 0 5px rgba(8, 18, 42, .45),
        0 14px 28px rgba(0, 0, 0, .22);
}
.jie-license-plaque-seal { flex-shrink: 0; }
.jie-license-plaque .jie-license-medallion {
    width: 84px;
    height: 84px;
}
.jie-license-plaque-kicker {
    margin: 0;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 800;
    color: #c9a227;
}
.jie-license-plaque-name {
    margin: 3px 0 6px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 18px;
    line-height: 1.15;
    color: #fff;
}
.jie-license-plaque-line {
    margin: 0;
    font-size: 12px;
    line-height: 1.45;
    color: rgba(255, 255, 255, .74);
}
.jie-license-plaque-since {
    margin: 8px 0 0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    color: #FF7200;
}

/* About: letter from the Cairo desk */
.jie-letter {
    padding: 8px 0 28px;
    background: #FAF8F4;
}
.jie-letter-card {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 0;
    overflow: hidden;
    border-radius: 32px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.5), transparent 40%),
        repeating-linear-gradient(0deg, transparent 0 27px, rgba(6, 38, 92, .035) 28px),
        #fff;
    box-shadow: 0 24px 50px rgba(6, 38, 92, .12);
    border: 1px solid rgba(201, 162, 39, .28);
}
.jie-letter-rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    padding: 32px 22px;
    background:
        radial-gradient(circle at 50% 12%, rgba(255, 114, 0, .16), transparent 46%),
        linear-gradient(180deg, #06265C 0%, #001853 100%);
    color: #F8F3EA;
    text-align: center;
}
.jie-letter-wax {
    width: 92px;
    height: 92px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #1a3d7a, #071433 72%);
    border: 6px solid #c9a227;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .28), inset 0 0 0 3px #7d6414;
    color: #f3e2a0;
    font-family: "Caveat", cursive;
    font-size: 28px;
    line-height: 1;
    transform: rotate(-8deg);
}
.jie-letter-stamp {
    width: 148px;
    margin: 0;
    padding: 8px 8px 28px;
    background: #F7F0E5;
    border-radius: 4px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, .22);
    transform: rotate(3deg);
}
.jie-letter-stamp img {
    width: 100%;
    height: 118px;
    object-fit: cover;
    display: block;
}
.jie-letter-stamp figcaption {
    margin-top: 6px;
    font-family: "Caveat", cursive;
    font-size: 18px;
    color: #06265C;
}
.jie-letter-license {
    margin: 0;
    max-width: 160px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #c9a227;
    line-height: 1.45;
}
.jie-letter-copy {
    padding: 40px 48px 36px;
}
.jie-letter-from {
    margin: 0 0 18px;
    font-family: "Caveat", cursive;
    font-size: 26px;
    color: #FF7200;
    line-height: 1.2;
}
.jie-letter-prose p {
    font-size: 17px;
    line-height: 1.8;
    color: #3d4d63;
}
.jie-letter-prose p:first-child::first-letter {
    float: left;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 52px;
    line-height: .82;
    padding: 6px 10px 0 0;
    color: #06265C;
}
.jie-letter-route {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 22px 0 12px;
    padding: 0;
    list-style: none;
}
.jie-letter-route li {
    padding: 6px 12px;
    border-radius: 999px;
    background: #F8F3EA;
    border: 1px dashed rgba(201, 162, 39, .55);
    color: #06265C;
    font-size: 13px;
    font-weight: 700;
}
.jie-letter-langs {
    margin: 0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #009ea9;
}

/* About: polaroid journal, ticket reasons, open notebook */
.jie-journal {
    position: relative;
    padding: 12px 0 72px;
    background:
        radial-gradient(ellipse at 12% 18%, rgba(255, 114, 0, .08), transparent 34%),
        radial-gradient(ellipse at 90% 80%, rgba(0, 158, 169, .08), transparent 32%),
        #FAF8F4;
    overflow: hidden;
}
.jie-journal::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        repeating-linear-gradient(90deg, rgba(6, 38, 92, .025) 0 1px, transparent 1px 18px),
        repeating-linear-gradient(0deg, rgba(6, 38, 92, .02) 0 1px, transparent 1px 22px);
}
.jie-journal .container { position: relative; z-index: 1; }
.jie-journal-head {
    max-width: 640px;
    margin: 0 auto 42px;
    text-align: center;
}
.jie-journal-kicker {
    margin: 0 0 8px;
    font-family: "Caveat", cursive;
    font-size: 28px;
    color: #FF7200;
}
.jie-journal-head h2 {
    margin: 0;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(30px, 4vw, 44px);
    color: #06265C;
    line-height: 1.2;
}
.jie-journal-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    padding-top: 12px;
}
.jie-journal-track::before {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    top: 168px;
    height: 0;
    border-top: 2px dashed rgba(201, 162, 39, .55);
    z-index: 0;
}
.jie-journal-card {
    position: relative;
    z-index: 1;
    transition: transform .35s ease;
}
.jie-journal-card:hover { z-index: 2; }
.jie-journal-card:nth-child(1) { transform: rotate(-2.6deg); margin-top: 28px; }
.jie-journal-card:nth-child(2) { transform: rotate(1.8deg); }
.jie-journal-card:nth-child(3) { transform: rotate(-1.4deg); margin-top: 36px; }
@media (min-width: 992px) {
    .jie-journal-card:nth-child(1):hover { transform: rotate(-2.6deg) translateY(-10px); }
    .jie-journal-card:nth-child(2):hover { transform: rotate(1.8deg) translateY(-10px); }
    .jie-journal-card:nth-child(3):hover { transform: rotate(-1.4deg) translateY(-10px); }
}
.jie-journal-photo {
    position: relative;
    background: #F7F0E5;
    padding: 12px 12px 46px;
    border-radius: 6px;
    box-shadow: 0 22px 40px rgba(6, 38, 92, .16);
}
.jie-journal-photo img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    border-radius: 2px;
}
.jie-journal-num {
    position: absolute;
    left: 4px;
    top: -8px;
    font-family: "Caveat", cursive;
    font-size: 58px;
    line-height: 1;
    color: #FF7200;
    text-shadow: 0 8px 16px rgba(255, 114, 0, .22);
}
.jie-journal-place {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 12px;
    font-family: "Caveat", cursive;
    font-size: 22px;
    color: #06265C;
    letter-spacing: .02em;
}
.jie-journal-copy {
    padding: 22px 8px 0;
}
.jie-journal-chip {
    display: inline-block;
    margin: 0 0 8px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(0, 158, 169, .1);
    color: #009ea9;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.jie-journal-copy h3 {
    margin: 0 0 10px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(22px, 2vw, 28px);
    color: #06265C;
    line-height: 1.25;
}
.jie-journal-copy p {
    margin: 0;
    color: #5b6b82;
    font-size: 15px;
    line-height: 1.7;
}

.jie-reasons {
    padding: 20px 0 72px;
    background: #FAF8F4;
}
.jie-reasons-layout {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    align-items: stretch;
    overflow: hidden;
    border-radius: 32px;
    background: #fff;
    box-shadow: 0 24px 50px rgba(6, 38, 92, .1);
}
.jie-reasons-photo {
    position: relative;
    min-height: 100%;
}
.jie-reasons-photo img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    display: block;
}
.jie-reasons-photo p {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    margin: 0;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(247, 240, 229, .92);
    color: #06265C;
    font-family: "Caveat", cursive;
    font-size: 20px;
    text-align: center;
}
.jie-reasons-copy {
    padding: 40px 40px 32px;
    background:
        linear-gradient(180deg, #fff 0%, #F8F3EA 100%);
}
.jie-reasons-kicker {
    margin: 0 0 8px;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 800;
    color: #FF7200;
}
.jie-reasons-copy h2 {
    margin: 0 0 24px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(28px, 3vw, 40px);
    color: #06265C;
    line-height: 1.2;
}
.jie-reasons-list {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: reason;
}
.jie-reasons-list li {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 16px;
    align-items: start;
    padding: 14px 0 14px 8px;
    border-bottom: 1px dashed rgba(201, 162, 39, .45);
    background:
        repeating-linear-gradient(90deg, transparent 0 10px, rgba(6, 38, 92, .04) 10px 12px) 0 0 / 12px 100% no-repeat;
}
.jie-reasons-list li:last-child { border-bottom: 0; }
.jie-reasons-list li > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #06265C;
    color: #F3E2A0;
    font-family: "Caveat", cursive;
    font-size: 22px;
    line-height: 1;
    box-shadow: 0 0 0 4px #F8F3EA, 0 0 0 5px rgba(201, 162, 39, .55);
}
.jie-reasons-list h3 {
    margin: 0 0 4px;
    font-size: 17px;
    color: #06265C;
}
.jie-reasons-list p {
    margin: 0;
    color: #5b6b82;
    font-size: 14px;
    line-height: 1.55;
}

.jie-spread {
    padding: 8px 0 72px;
    background: #FAF8F4;
}
.jie-spread-book {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-radius: 28px;
    overflow: visible;
    box-shadow: 0 28px 60px rgba(6, 38, 92, .18);
}
.jie-spread-page {
    position: relative;
    min-height: 460px;
    overflow: hidden;
}
.jie-spread-page img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.jie-spread-page--mission { border-radius: 28px 0 0 28px; }
.jie-spread-page--vision { border-radius: 0 28px 28px 0; }
.jie-spread-page-copy {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 460px;
    padding: 40px 44px 44px;
    color: #fff;
}
.jie-spread-page--mission .jie-spread-page-copy {
    background: linear-gradient(180deg, rgba(0, 24, 83, .18) 0%, rgba(0, 24, 83, .86) 72%);
    padding-right: 56px;
}
.jie-spread-page--vision .jie-spread-page-copy {
    background: linear-gradient(180deg, rgba(8, 42, 88, .12) 0%, rgba(8, 42, 88, .88) 70%);
    padding-left: 56px;
}
.jie-spread-page-copy > p:first-child {
    margin: 0 0 8px;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 800;
    color: #FF7200;
}
.jie-spread-page-copy h2 {
    margin: 0 0 14px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.2;
}
.jie-spread-page-copy p:last-child {
    margin: 0;
    color: rgba(255, 255, 255, .86);
    font-size: 16px;
    line-height: 1.7;
    max-width: 440px;
}
.jie-spread-wax {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 3;
    width: 92px;
    height: 92px;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -50%) rotate(-8deg);
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 30%, #1a3d7a, #071433 72%);
    border: 6px solid #c9a227;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .28), inset 0 0 0 3px #7d6414;
    color: #f3e2a0;
    font-family: "Caveat", cursive;
    font-size: 28px;
    line-height: 1;
}

.jie-chapters,
.jie-about-why,
.jie-mission { display: none; }

/* Article */
.jie-article-page h2 { scroll-margin-top: 110px; }
.jie-article-cover {
    margin: 0 0 24px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(6, 38, 92, .12);
}
.jie-article-cover img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
}
.jie-article-card {
    background: #fff;
    border-radius: 24px;
    padding: 32px 32px 12px;
    box-shadow: 0 14px 36px rgba(6, 38, 92, .06);
}
.jie-article-aside {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.jie-toc {
    background: #fff;
    border-radius: 22px;
    padding: 22px;
    box-shadow: 0 14px 36px rgba(6, 38, 92, .06);
}
.jie-toc-title {
    margin: 0 0 12px;
    font-weight: 800;
    color: #06265C;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-size: 12px;
}
.jie-toc ol {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: toc;
}
.jie-toc li { counter-increment: toc; }
.jie-toc a {
    display: flex;
    gap: 10px;
    padding: 8px 0;
    color: #334155;
    text-decoration: none;
    border-bottom: 1px solid #eef2f7;
    font-weight: 600;
    font-size: 14px;
}
.jie-toc a::before {
    content: counter(toc, decimal-leading-zero);
    color: #FF7200;
    font-weight: 800;
}
.jie-toc a:hover { color: #06265C; }
.jie-article-aside-cta,
.jie-article-cta {
    background: linear-gradient(160deg, #06265C, #001853);
    color: #fff;
    border-radius: 22px;
    padding: 22px;
}
.jie-article-cta { margin: 28px 0; }
.jie-article-cta-kicker {
    margin: 0 0 6px;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: 11px;
    color: #FF7200;
    font-weight: 800;
}
.jie-article-cta-heading {
    margin: 0 0 8px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 22px;
}
.jie-article-cta-text { margin: 0 0 14px; color: rgba(255,255,255,.8); font-size: 14px; }
.jie-article-cta-actions,
.jie-article-aside-cta {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.jie-article-cta-btn,
.jie-article-cta-wa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
}
.jie-article-cta-btn { background: #FF7200; color: #fff; }
.jie-article-cta-btn:hover { color: #fff; }
.jie-article-cta-wa { background: #25d366; color: #fff; }
.jie-article-cta-wa:hover { color: #fff; }
.jie-article-form {
    margin-top: 28px;
    background: #fff;
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 14px 36px rgba(6, 38, 92, .06);
}
.jie-prose {
    color: #3d4d63;
    font-size: 17px;
    line-height: 1.8;
}
.jie-prose h2 {
    margin: 32px 0 14px;
    color: #06265C;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 28px;
}
.jie-prose h3 {
    margin: 24px 0 10px;
    color: #082A58;
    font-size: 20px;
    font-weight: 800;
}
.jie-prose p { margin-bottom: 16px; }
.jie-prose a { color: #FF7200; font-weight: 700; }
.jie-prose-figure {
    margin: 24px 0;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 16px 32px rgba(6, 38, 92, .1);
}
.jie-prose-figure img,
.jie-prose img {
    width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: cover;
    display: block;
}
.jie-prose ul,
.jie-prose ol,
.jie-prose-ul,
.jie-prose-ol {
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
}
.jie-prose ul li,
.jie-prose-ul li {
    position: relative;
    padding: 8px 8px 8px 32px;
    margin-bottom: 6px;
    background: #F8F3EA;
    border-radius: 12px;
}
.jie-prose ul li::before,
.jie-prose-ul li::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 16px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #FF7200;
}
.jie-prose ol,
.jie-prose-ol { counter-reset: prose; }
.jie-prose ol li,
.jie-prose-ol li {
    position: relative;
    padding: 8px 8px 8px 42px;
    margin-bottom: 6px;
    background: #eef4fb;
    border-radius: 12px;
    counter-increment: prose;
}
.jie-prose ol li::before,
.jie-prose-ol li::before {
    content: counter(prose);
    position: absolute;
    left: 10px;
    top: 8px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #06265C;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.jie-prose table,
.jie-prose-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 20px 0 28px;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(6, 38, 92, .08);
    display: table;
}
.jie-prose thead th {
    background: #06265C;
    color: #fff;
    padding: 12px 14px;
    font-size: 13px;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.jie-prose td {
    padding: 12px 14px;
    border-bottom: 1px solid #e8eef6;
    background: #fff;
}
.jie-prose tbody tr:nth-child(even) td { background: #F8F3EA; }
.jie-related-post {
    display: block;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(6, 38, 92, .08);
    color: #06265C;
    font-weight: 800;
}
.jie-related-post img {
    width: 100%;
    height: 160px;
    object-fit: cover;
}
.jie-related-post span { display: block; padding: 14px 16px; }

@media (max-width: 991px) {
    .jie-steps-track,
    .jie-stats-grid { grid-template-columns: 1fr; }
    .jie-steps-track::before { display: none; }
    .jie-journal-track {
        grid-template-columns: 1fr;
        max-width: 460px;
        margin: 0 auto;
    }
    .jie-journal-track::before { display: none; }
    .jie-journal-card:nth-child(1),
    .jie-journal-card:nth-child(2),
    .jie-journal-card:nth-child(3) {
        transform: none;
        margin-top: 0;
    }
    .jie-reasons-layout,
    .jie-spread-book { grid-template-columns: 1fr; }
    .jie-reasons-photo img { min-height: 280px; height: 280px; }
    .jie-spread-page,
    .jie-spread-page--mission,
    .jie-spread-page--vision { border-radius: 24px; min-height: 360px; }
    .jie-spread-page--vision { margin-top: 18px; }
    .jie-spread-book { box-shadow: none; }
    .jie-spread-page-copy,
    .jie-spread-page--mission .jie-spread-page-copy,
    .jie-spread-page--vision .jie-spread-page-copy {
        min-height: 360px;
        padding: 28px;
    }
    .jie-spread-wax { display: none; }
    .jie-reasons-copy { padding: 28px 22px; }
    .jie-article-cover img { height: 260px; }
    .jie-band { padding: 36px 22px; border-radius: 24px; }
    .jie-trustbar-row { flex-direction: column; align-items: flex-start; }
    .jie-footer-ctas { max-width: 320px; }
    .jie-letter-card { grid-template-columns: 1fr; }
    .jie-letter-rail {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        padding: 22px 18px;
    }
    .jie-letter-copy { padding: 28px 22px; }
    .jie-letter-prose p:first-child::first-letter { font-size: 40px; }
}

.jie-overview {
    position: relative;
    overflow: hidden;
    padding: 28px 32px 32px;
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.65), transparent 42%),
        repeating-linear-gradient(0deg, transparent 0 27px, rgba(6, 38, 92, .04) 28px),
        #fff;
    border: 1px solid rgba(201, 162, 39, .28);
    box-shadow: 0 18px 40px rgba(6, 38, 92, .08);
}
.jie-overview-head {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
    padding-right: 64px;
}
.jie-overview-kicker {
    margin: 0 0 4px;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 800;
    color: #c9a227;
}
.jie-overview-head h2 {
    margin: 0;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.85rem;
    color: #06265C;
}
.jie-overview-wax {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #1a3d7a, #071433 72%);
    border: 3px solid #c9a227;
    color: #f3e2a0;
    font-family: "Caveat", cursive;
    font-size: 16px;
    font-weight: 700;
    transform: rotate(-8deg);
}
.jie-overview-lead {
    margin: 0 0 16px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.22rem;
    line-height: 1.55;
    color: #06265C;
}
.jie-overview-prose p {
    margin: 0 0 12px;
    color: #3c4a63;
    line-height: 1.7;
}
.jie-overview-sites {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px dashed rgba(201, 162, 39, .45);
}
.jie-overview-sites-kicker {
    margin: 0 0 10px;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 800;
    color: #FF7200;
}
.jie-overview-sites ol {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.jie-overview-sites li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #06265C;
    font-weight: 700;
    font-size: 14px;
}
.jie-overview-sites li span {
    flex: 0 0 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #06265C;
    color: #f3e2a0;
    font-size: 11px;
    font-weight: 800;
}

.jie-route {
    padding: 8px 4px 4px;
}
.jie-route-head { margin-bottom: 18px; }
.jie-route-kicker {
    margin: 0 0 4px;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 800;
    color: #c9a227;
}
.jie-route-head h2 {
    margin: 0;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.85rem;
    color: #06265C;
}
.jie-route-list {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}
.jie-route-list::before {
    content: "";
    position: absolute;
    left: 21px;
    top: 12px;
    bottom: 12px;
    width: 2px;
    background: repeating-linear-gradient(180deg, #c9a227 0 8px, transparent 8px 14px);
}
.jie-route-item {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 16px;
    align-items: start;
    margin-bottom: 16px;
}
.jie-route-seal {
    position: relative;
    z-index: 1;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #1a3d7a, #071433 72%);
    border: 3px solid #c9a227;
    color: #f3e2a0;
    font-family: "Caveat", cursive;
    font-size: 20px;
    font-weight: 700;
}
.jie-route-card {
    padding: 0;
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(6, 38, 92, .08);
    box-shadow: 0 12px 28px rgba(6, 38, 92, .06);
    overflow: hidden;
}
.jie-route-toggle {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
}
.jie-route-toggle .jie-route-index {
    display: block;
    margin: 0 0 2px;
}
.jie-route-title {
    display: block;
    font-size: 1.12rem;
    font-weight: 700;
    color: #06265C;
    line-height: 1.3;
}
.jie-route-toggle i {
    flex-shrink: 0;
    color: #c9a227;
    font-size: 12px;
    transition: transform .2s ease;
}
.jie-route-toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
}
.jie-route-index {
    margin: 0 0 2px;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 800;
    color: #FF7200;
}
.jie-route-copy {
    padding: 0 18px 16px;
}
.jie-route-copy p {
    margin: 0 0 8px;
    color: #3c4a63;
    line-height: 1.65;
}
.jie-route-copy p:last-child { margin-bottom: 0; }

.jie-kids {
    display: grid;
    grid-template-columns: 88px 1fr;
    overflow: hidden;
    border-radius: 28px;
    background: #fff;
    border: 1px dashed rgba(201, 162, 39, .55);
    box-shadow: 0 18px 40px rgba(6, 38, 92, .08);
}
.jie-kids-rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 18px 8px;
    background: linear-gradient(180deg, #06265C, #001853);
    color: #f3e2a0;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    letter-spacing: .18em;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 800;
}
.jie-kids-rail b {
    font-family: "Caveat", cursive;
    font-size: 22px;
    letter-spacing: 0;
    font-weight: 700;
}
.jie-kids-copy { padding: 24px 24px 26px; }
.jie-kids-kicker {
    margin: 0 0 4px;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 800;
    color: #c9a227;
}
.jie-kids-copy h2 {
    margin: 0 0 8px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.7rem;
    color: #06265C;
}
.jie-kids-intro {
    margin: 0 0 18px;
    color: #3c4a63;
    line-height: 1.6;
}
.jie-kids-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
.jie-kids-ticket {
    position: relative;
    padding: 16px 14px 14px;
    border-radius: 16px;
    background:
        radial-gradient(circle at 0 28px, transparent 7px, #fff8ee 8px),
        radial-gradient(circle at 100% 28px, transparent 7px, #fff8ee 8px);
    border: 1px dashed rgba(201, 162, 39, .55);
    text-align: center;
}
.jie-kids-ticket i {
    color: #FF7200;
    font-size: 18px;
    margin-bottom: 6px;
}
.jie-kids-ages {
    margin: 0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #c9a227;
}
.jie-kids-pay {
    margin: 4px 0 6px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.45rem;
    font-weight: 700;
    color: #06265C;
    line-height: 1;
}
.jie-kids-note {
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
    color: #5a6780;
}
.jie-kids--aside {
    grid-template-columns: 1fr;
}
.jie-kids--aside .jie-kids-rail {
    writing-mode: horizontal-tb;
    transform: none;
    flex-direction: row;
    justify-content: space-between;
    padding: 10px 16px;
}
.jie-kids--aside .jie-kids-copy {
    padding: 18px 16px 16px;
}
.jie-kids--aside .jie-kids-copy h2 {
    font-size: 1.35rem;
}
.jie-kids--aside .jie-kids-intro {
    font-size: 13px;
    margin-bottom: 12px;
}
.jie-kids--aside .jie-kids-grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.jie-kids--aside .jie-kids-ticket {
    padding: 12px 10px 10px;
}
.jie-kids--aside .jie-kids-pay {
    font-size: 1.2rem;
}
.jie-kids--aside .jie-kids-note {
    font-size: 11px;
}
@media (max-width: 991px) {
    .jie-overview-sites ol,
    .jie-kids-grid { grid-template-columns: 1fr 1fr; }
    .jie-kids { grid-template-columns: 1fr; }
    .jie-kids-rail {
        writing-mode: horizontal-tb;
        transform: none;
        flex-direction: row;
        padding: 12px;
    }
}
@media (max-width: 575px) {
    .jie-overview-sites ol,
    .jie-kids-grid { grid-template-columns: 1fr; }
    .jie-route-item { grid-template-columns: 36px 1fr; gap: 10px; }
    .jie-route-seal { width: 36px; height: 36px; font-size: 16px; }
    .jie-route-list::before { left: 17px; }
}

