@import "https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;700&display=swap";

:root {
    --color-sand: #e5d5b7;
    --color-cream: #faf6ee;
    --color-teal: #1e3b38;
    --color-gold: #b8912f;
    --color-terracotta: #b5673e;
    --color-emerald: #3c5c4a;
    --color-ink: #2b2620;
    --color-off-white: #f5f0e6;
    --font-display: "Cormorant Garamond", serif;
    --font-body: "Jost", sans-serif;
    --transition-smooth: all .4s cubic-bezier(.25, .8, .25, 1);
    --transition-fast: all .2s ease
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

body {
    font-family: var(--font-body);
    color: var(--color-ink);
    background-color: var(--color-cream);
    -webkit-font-smoothing: antialiased;
    font-size: 18px;
    line-height: 1.6;
    overflow-x: hidden
}

h1,
.h1 {
    font-family: var(--font-display);
    color: var(--color-ink);
    font-size: clamp(30px, 5vw, 56px);
    font-weight: 500;
    line-height: 1.2
}

h2,
.h2 {
    font-family: var(--font-display);
    color: var(--color-ink);
    font-size: clamp(24px, 4vw, 38px);
    font-weight: 500;
    line-height: 1.3
}

h3,
.h3 {
    font-family: var(--font-display);
    color: var(--color-ink);
    font-size: clamp(20px, 3vw, 26px);
    font-weight: 500;
    line-height: 1.3
}

p {
    margin-bottom: 1.5rem;
    font-size: clamp(16px, 2vw, 18px)
}

a {
    color: var(--color-teal);
    transition: var(--transition-fast);
    text-decoration: none
}

a:hover {
    color: var(--color-terracotta)
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px
}

.nav-link,
.btn-action,
.small-label {
    font-family: var(--font-body);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 14px;
    font-weight: 500
}

.btn-primary {
    background-color: var(--color-teal);
    color: var(--color-off-white);
    border: 1px solid var(--color-teal);
    font-family: var(--font-body);
    text-transform: uppercase;
    letter-spacing: 2px;
    cursor: pointer;
    transition: var(--transition-smooth);
    padding: 12px 30px;
    font-size: 14px;
    font-weight: 500;
    display: inline-block
}

.btn-primary:hover {
    color: var(--color-teal);
    border-color: var(--color-teal);
    background-color: #0000
}

.btn-secondary {
    color: var(--color-teal);
    border: 1px solid var(--color-teal);
    font-family: var(--font-body);
    text-transform: uppercase;
    letter-spacing: 2px;
    cursor: pointer;
    transition: var(--transition-smooth);
    background-color: #0000;
    padding: 12px 30px;
    font-size: 14px;
    font-weight: 500;
    display: inline-block
}

.btn-secondary:hover {
    background-color: var(--color-teal);
    color: var(--color-off-white)
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    word-wrap: normal;
    border: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden
}

.global-header {
    z-index: 1100;
    -webkit-backdrop-filter: blur(14px);
    background-color: #e6dac4b8;
    border-bottom: 1px solid #b8912f2e;
    align-items: center;
    width: 100%;
    height: 70px;
    transition: background-color .4s, -webkit-backdrop-filter .4s, backdrop-filter .4s, border-color .4s, box-shadow .4s;
    display: flex;
    position: fixed;
    top: 0;
    left: 0
}

.global-header.scrolled {
    -webkit-backdrop-filter: blur(20px);
    background-color: #faf6eeeb;
    border-bottom: 1px solid #b8912f40;
    box-shadow: 0 2px 24px #2b262012
}

.header-container {
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 40px;
    display: flex
}

.header-left,
.header-right {
    flex: 1;
    align-items: center;
    display: flex
}

.header-right {
    justify-content: flex-end
}

.header-center {
    text-align: center;
    flex: 2
}

.brand-logo {
    font-family: var(--font-display);
    letter-spacing: 4px;
    color: var(--color-ink);
    text-transform: uppercase;
    font-size: clamp(18px, 3vw, 24px);
    font-weight: 500;
    text-decoration: none
}

.header-date {
    color: #2b262099;
    letter-spacing: 2px;
    font-size: 11px
}

.hamburger-btn {
    cursor: pointer;
    width: 32px;
    height: 32px;
    color: var(--color-ink);
    background: 0 0;
    border: none;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 6px;
    padding: 0;
    display: flex;
    position: relative
}

.hamburger-btn span {
    width: 24px;
    height: 1.5px;
    transition: var(--transition-smooth);
    background-color: currentColor;
    display: block
}

.hamburger-btn span:nth-child(2) {
    width: 16px
}

.hamburger-btn:hover span:nth-child(2) {
    width: 24px
}

.hamburger-menu {
    background-color: var(--color-cream);
    width: min(320px, 80vw);
    height: 100%;
    color: var(--color-ink);
    z-index: 10000;
    text-align: center;
    border-right: 1px solid #8b703826;
    flex-direction: column;
    align-items: center;
    padding: 64px 32px;
    transition: left .45s cubic-bezier(.25, .8, .25, 1);
    display: flex;
    position: fixed;
    top: 0;
    left: -320px;
    box-shadow: 15px 0 40px #00000026
}

.hamburger-menu.active {
    left: 0
}

.close-menu-btn {
    color: var(--color-gold);
    cursor: pointer;
    transition: var(--transition-fast);
    z-index: 10;
    background: 0 0;
    border: none;
    padding: 5px;
    font-size: 18px;
    position: absolute;
    top: 18px;
    right: 18px
}

.close-menu-btn:hover {
    transform: scale(1.1)
}

.menu-logo {
    text-align: center;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px;
    display: flex
}

.menu-nav {
    flex-direction: column;
    align-items: center;
    width: 100%;
    display: flex
}

.menu-nav-link {
    width: 100%;
    font-family: var(--font-body);
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--color-ink);
    text-align: center;
    border-bottom: 1px solid #8b70381a;
    padding: 16px 0;
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
    transition: color .3s, letter-spacing .3s, transform .3s;
    display: block
}

.menu-nav-link:hover {
    color: var(--color-gold);
    letter-spacing: 3.5px;
    transform: scale(1.03)
}

.menu-footer {
    margin-top: auto
}

.menu-footer p {
    font-family: var(--font-body);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #2b26204d;
    text-align: center;
    margin-bottom: 0;
    margin-left: 2px;
    font-size: 10px
}

.menu-backdrop {
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    background-color: #1e3b3859;
    width: 100vw;
    height: 100vh;
    transition: opacity .4s;
    position: fixed;
    top: 0;
    left: 0
}

.menu-backdrop.active {
    opacity: 1;
    pointer-events: auto
}

.global-footer {
    background-color: var(--color-teal);
    color: var(--color-off-white);
    border-top: 1px solid var(--color-gold);
    text-align: center;
    padding: 80px 0 60px;
    position: relative
}

.global-footer:before {
    content: "";
    pointer-events: none;
    border: 1px solid #b8912f26;
    position: absolute;
    inset: 20px
}

.footer-brand {
    font-family: var(--font-display);
    letter-spacing: 6px;
    color: var(--color-gold);
    text-transform: uppercase;
    z-index: 2;
    margin-bottom: 12px;
    font-size: 26px;
    font-weight: 500;
    position: relative
}

.footer-ornament {
    color: var(--color-gold);
    opacity: .85;
    z-index: 2;
    margin-bottom: 20px;
    position: relative
}

.footer-tagline {
    font-family: var(--font-display);
    letter-spacing: 1px;
    color: #f5f0e6bf;
    z-index: 2;
    margin-bottom: 30px;
    font-size: 16px;
    font-style: italic;
    position: relative
}

.footer-contact-list li {
    color: #f5f0e6cc;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    font-size: 17px;
    display: flex
}

.footer-icon {
    width: 18px;
    height: 18px;
    color: var(--color-gold);
    vertical-align: middle;
    flex-shrink: 0;
    display: inline-block
}

.footer-copyright-text {
    color: #f5f0e673;
    margin-top: auto;
    font-size: 15px
}

.footer-column-title {
    font-family: var(--font-display);
    color: var(--color-cream);
    text-transform: capitalize;
    margin-bottom: 24px;
    font-size: 24px;
    font-weight: 500;
    position: relative
}

.footer-column-title:after {
    content: "";
    background-color: var(--color-gold);
    width: 30px;
    height: 1px;
    margin-top: 8px;
    display: block
}

.footer-links-list {
    margin: 0;
    padding: 0;
    list-style: none
}

.footer-links-list li {
    margin-bottom: 12px
}

.footer-links-list a {
    color: #f5f0e6a6;
    transition: var(--transition-fast);
    font-size: 17px;
    text-decoration: none
}

.footer-links-list a:hover {
    color: var(--color-gold);
    padding-left: 4px
}

.footer-totop-btn {
    z-index: 5;
    color: var(--color-gold);
    border: 1px solid var(--color-gold);
    cursor: pointer;
    background-color: #0000;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    transition: all .3s;
    display: flex;
    position: absolute;
    bottom: 40px;
    right: 40px;
    box-shadow: 0 4px 12px #0000000d
}

.footer-totop-btn:hover {
    background-color: var(--color-gold);
    color: #fff;
    transform: translateY(-4px);
    box-shadow: 0 8px 16px #b8912f33
}

.hub-btn-primary,
.sp-back-btn,
.btn-submit-intake {
    color: #1e3b38 !important;
    background-color: #0000 !important;
    background-image: url(./button-sand-bg-CypnCCDg.png) !important;
    background-position: 50% !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    border: 1px solid #b8912f66 !important
}

.hub-btn-primary:hover,
.sp-back-btn:hover,
.btn-submit-intake:hover {
    color: #1e3b38 !important;
    filter: brightness(1.06) !important;
    border-color: #b8912f !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 14px #2b26201f !important
}

.hub-btn-primary {
    letter-spacing: 2px !important;
    padding: 12px 30px 16px !important;
    font-size: 14px !important;
    font-weight: 700 !important
}

.inner-back-btn:hover {
    transform: translate(-2px);
    color: var(--color-ink) !important
}

.inner-guest-form-btn:hover {
    background-color: var(--color-gold) !important;
    color: var(--color-cream) !important;
    border-color: var(--color-gold) !important
}

.eg-site-footer {
    color: #f5f0e6b3;
    font-family: var(--font-body);
    background-color: #132a27;
    padding: 80px 0 40px;
    position: relative;
    overflow: hidden
}

.footer-columns-container {
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px 20px;
    display: grid
}

@media (width<=991px) {
    .footer-columns-container {
        grid-template-columns: 1fr 1fr;
        gap: 30px
    }
}

@media (width<=575px) {
    .footer-columns-container {
        grid-template-columns: 1fr
    }
}

.footer-column {
    flex-direction: column;
    display: flex
}

.footer-desc {
    color: #f5f0e68c;
    margin-bottom: 24px;
    font-size: 17px;
    line-height: 1.6
}

.footer-contact-list {
    margin: 0 0 24px;
    padding: 0;
    list-style: none
}

.footer-copy {
    font-family: var(--font-body);
    font-size: 12px
}

@media (width>=768px) {
    .responsive-flex-row {
        flex-direction: row;
        gap: 40px
    }
}

:root {
    --gold: #8b7038;
    --goldf: #b8912f;
    --ink: #2b2620;
    --ink2: #2b2620b3;
    --ink3: #2b262073;
    --cream: #faf5ec;
    --teal: #1e3b38;
    --ff-d: "Jost", "Cormorant Garamond", serif;
    --ff-b: "Jost", sans-serif
}

*,
:before,
:after {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

html,
body.eg-body {
    height: 100%;
    overflow: hidden
}

body.eg-body {
    font-family: var(--ff-b);
    color: var(--ink);
    -webkit-font-smoothing: antialiased;
    background: #e5d5a8
}

a {
    color: inherit;
    text-decoration: none
}

p,
li {
    margin: 0
}

body.eg-body #wpadminbar,
body.eg-body .global-header,
body.eg-body .inner-global-header {
    display: none !important
}

body.eg-body.admin-bar,
html.wp-toolbar body.eg-body {
    margin-top: 0 !important;
    padding-top: 0 !important
}

.eg-scroll {
    width: 100vw;
    height: 100vh;
    position: relative;
    overflow: hidden
}

.eg-scroll-wrapper {
    will-change: transform;
    z-index: 2;
    width: 100%;
    height: 100%;
    transition: transform 1.4s cubic-bezier(.16, 1, .3, 1);
    position: relative
}

.eg-page {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    display: flex;
    position: relative;
    overflow: hidden
}

.eg-sand {
    z-index: 0;
    background-position: 50%;
    background-size: cover;
    position: absolute;
    inset: 0
}

.eg-page .eg-sand {
    display: none !important
}

#dust {
    z-index: 3;
    pointer-events: none;
    opacity: 1;
    width: 100%;
    height: 100%;
    transition: opacity .8s;
    position: fixed;
    inset: 0
}

.eg-header {
    z-index: 1000;
    pointer-events: none;
    background: 0 0;
    justify-content: space-between;
    align-items: center;
    height: 80px;
    padding: 0 40px;
    transition: opacity .4s;
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    right: 0
}

.eg-header-title-h1 {
    pointer-events: none;
    margin: 0;
    line-height: 1
}

.eg-burger {
    cursor: pointer;
    z-index: 1005;
    pointer-events: auto;
    background: 0 0;
    border: none;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    margin-left: -16px;
    padding: 8px 16px;
    transition: transform .15s ease-out;
    display: flex
}

.eg-burger-lines {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    width: 32px;
    display: flex
}

.eg-burger-lines span {
    background-color: var(--gold);
    height: 2px;
    transition: all .15s ease-out;
    display: block
}

.eg-burger-lines span:first-child {
    width: 100%
}

.eg-burger-lines span:nth-child(2) {
    width: 60%
}

.eg-burger:hover .eg-burger-lines span:nth-child(2) {
    width: 100%
}

.eg-burger-label {
    font-family: var(--font-body);
    letter-spacing: .25em;
    text-transform: uppercase;
    color: var(--gold);
    font-size: 13px;
    font-weight: 500;
    transition: color .15s ease-out
}

.eg-burger:hover .eg-burger-lines span {
    background-color: var(--ink)
}

.eg-burger:hover .eg-burger-label {
    color: var(--ink)
}

.eg-header-logo {
    font-family: var(--ff-d);
    letter-spacing: .36em;
    text-transform: uppercase;
    color: var(--gold);
    pointer-events: auto;
    margin-left: .36em;
    font-size: clamp(28px, 4vw, 36px);
    font-weight: 500;
    text-decoration: none;
    transition: color .3s, transform .3s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.eg-header-logo:hover {
    color: var(--ink);
    transform: translate(-50%, -50%)scale(1.02)
}

.eg-header-rsvp {
    font-family: var(--ff-b);
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #a37f2c;
    pointer-events: auto;
    background: #b8912f05;
    border: 1.5px solid #a37f2c73;
    padding: 12px 34px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: all .4s cubic-bezier(.25, .8, .25, 1)
}

.eg-header-rsvp:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px #a37f2c1f;
    color: #8b7038 !important;
    background: #a37f2c14 !important;
    border-color: #a37f2cf2 !important
}

@media (width<=600px) {
    .eg-header {
        height: 64px;
        padding: 0 20px
    }

    .eg-burger-label,
    .eg-header-rsvp {
        display: none
    }
}

.eg-drawer {
    background: var(--cream);
    z-index: 1100;
    text-align: center;
    border-right: 1px solid #8b703826;
    flex-direction: column;
    align-items: center;
    width: min(320px, 80vw);
    height: 100%;
    padding: 64px 32px;
    transition: transform .45s cubic-bezier(.77, 0, .175, 1);
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    transform: translate(-100%)
}

.eg-drawer.open {
    transform: translate(0)
}

.eg-drawer-close {
    color: var(--gold);
    cursor: pointer;
    background: 0 0;
    border: none;
    font-size: 18px;
    position: absolute;
    top: 18px;
    right: 18px
}

.eg-drawer-logo {
    font-family: var(--ff-d);
    letter-spacing: 8px;
    color: var(--ink);
    text-align: center;
    margin-bottom: 40px;
    margin-left: 8px;
    font-size: 19px
}

.eg-drawer-links {
    flex-direction: column;
    align-items: center;
    width: 100%;
    list-style: none;
    display: flex
}

.eg-drawer-links li {
    width: 100%
}

.eg-drawer-links li a {
    font-family: var(--ff-b);
    letter-spacing: 2.5px;
    text-transform: capitalize;
    color: var(--ink);
    text-align: center;
    border-bottom: 1px solid #8b70381a;
    padding: 16px 0;
    font-size: 14px;
    font-weight: 500;
    transition: color .3s, letter-spacing .3s, transform .3s;
    display: block
}

.eg-drawer-links li a:hover {
    color: var(--gold);
    letter-spacing: 3.5px;
    transform: scale(1.03)
}

.eg-drawer-foot {
    font-family: var(--ff-b);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #2b26204d;
    text-align: center;
    margin-top: auto;
    margin-left: 2px;
    font-size: 12px
}

.eg-overlay {
    z-index: 1000;
    background: #2b26204d;
    display: none;
    position: fixed;
    inset: 0
}

.eg-overlay.on {
    display: block
}

#phase1Copy {
    opacity: 1;
    z-index: 5;
    pointer-events: none;
    position: absolute;
    inset: 0
}

#phase1Eyebrow {
    color: #71542a;
    text-transform: uppercase;
    letter-spacing: .22em;
    text-align: center;
    white-space: pre-wrap;
    opacity: 0;
    font-family: Jost, sans-serif;
    font-weight: 500;
    line-height: 1;
    transition: opacity .8s;
    position: absolute;
    left: 0;
    right: 0
}

#phase1Name {
    color: #71542a;
    text-align: center;
    opacity: 0;
    font-family: Cormorant Garamond, serif;
    font-weight: 500;
    line-height: 1;
    transition: opacity .8s;
    position: absolute;
    left: 0;
    right: 0
}

.eg-copy-overlay {
    opacity: 0;
    text-align: center;
    z-index: 4;
    pointer-events: none;
    transition: none;
    position: absolute;
    inset: 0
}

#heroTextContainer {
    pointer-events: none;
    height: 0;
    position: absolute;
    top: 47%;
    left: 0;
    right: 0;
    transform: translateY(-50%)
}

#heroEyebrow {
    color: #71542a;
    text-transform: uppercase;
    letter-spacing: .22em;
    text-align: center;
    white-space: pre-wrap;
    opacity: 0;
    font-family: Jost, sans-serif;
    font-weight: 500;
    line-height: 1;
    transition: opacity .8s;
    position: absolute;
    left: 0;
    right: 0
}

#heroName {
    color: #71542a;
    text-align: center;
    opacity: 0;
    font-family: Cormorant Garamond, serif;
    font-weight: 500;
    line-height: 1;
    transition: opacity .8s;
    position: absolute;
    left: 0;
    right: 0
}

#heroTagline1,
#heroTagline2 {
    color: #71542a;
    text-align: center;
    opacity: 0;
    font-family: EB Garamond, serif;
    font-style: italic;
    line-height: 1;
    transition: opacity .8s;
    position: absolute;
    left: 0;
    right: 0
}

#heroCTA {
    pointer-events: auto;
    opacity: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: opacity 1s;
    display: flex;
    position: absolute;
    bottom: 20%;
    left: 0;
    right: 0
}

.h-scroll-cta {
    font-family: var(--ff-b);
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #a37f2c;
    background: #b8912f05;
    border: 1.5px solid #a37f2c73;
    padding: 12px 34px;
    font-size: 13px;
    font-weight: 500;
    transition: all .4s cubic-bezier(.25, .8, .25, 1);
    display: inline-block
}

.h-scroll-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px #a37f2c1f;
    color: #8b7038 !important;
    background: #a37f2c14 !important;
    border-color: #a37f2cf2 !important
}

.eg-card-page {
    gap: 0;
    position: relative
}

.eg-card {
    z-index: 2;
    scrollbar-width: none;
    opacity: 0;
    background: #fff;
    border: 1px solid #b8912f33;
    border-radius: 16px;
    width: min(660px, 88vw);
    max-height: 88vh;
    transition: opacity .9s ease-in-out, transform .9s ease-in-out;
    position: relative;
    overflow-y: auto;
    transform: translateY(18px);
    box-shadow: 0 32px 80px #2b26200f, 0 8px 20px #2b262008
}

.eg-page.active .eg-card {
    opacity: 1;
    transform: translateY(0)
}

.eg-card::-webkit-scrollbar {
    width: 6px;
    display: block !important
}

.eg-card::-webkit-scrollbar-track {
    background: #b8912f0d;
    border-radius: 4px
}

.eg-card::-webkit-scrollbar-thumb {
    background: #b8912f66;
    border-radius: 4px
}

.eg-card::-webkit-scrollbar-thumb:hover {
    background: #b8912fb3
}

.ec-body::-webkit-scrollbar {
    width: 6px;
    display: block !important
}

.ec-body::-webkit-scrollbar-track {
    background: #b8912f0d
}

.ec-body::-webkit-scrollbar-thumb {
    background: #b8912f66
}

.eg-card--wide {
    width: min(1080px, 96vw);
    max-height: calc(100vh - 220px)
}

.eg-card--narrow {
    width: min(600px, 88vw)
}

.ec-frame {
    pointer-events: none;
    z-index: 1;
    display: block;
    position: absolute;
    inset: 0
}

.ec-corner {
    border: 1.5px solid var(--goldf);
    opacity: .65;
    width: 20px;
    height: 20px;
    transition: opacity .3s;
    position: absolute
}

.ec-corner:before {
    content: "";
    border: 1px solid var(--goldf);
    width: 6px;
    height: 6px;
    position: absolute
}

.ec-corner--tl {
    border-bottom: none;
    border-right: none;
    top: 14px;
    left: 14px
}

.ec-corner--tl:before {
    border-bottom: none;
    border-right: none;
    top: 3px;
    left: 3px
}

.ec-corner--tr {
    border-bottom: none;
    border-left: none;
    top: 14px;
    right: 14px
}

.ec-corner--tr:before {
    border-bottom: none;
    border-left: none;
    top: 3px;
    right: 3px
}

.ec-corner--bl {
    border-top: none;
    border-right: none;
    bottom: 14px;
    left: 14px
}

.ec-corner--bl:before {
    border-top: none;
    border-right: none;
    bottom: 3px;
    left: 3px
}

.ec-corner--br {
    border-top: none;
    border-left: none;
    bottom: 14px;
    right: 14px
}

.ec-corner--br:before {
    border-top: none;
    border-left: none;
    bottom: 3px;
    right: 3px
}

.ec-body {
    padding: 52px 64px
}

.ec-body--center {
    text-align: center;
    flex-direction: column;
    align-items: center;
    display: flex
}

.ec-body--two-col {
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    padding: 48px 64px;
    display: grid
}

.ec-body--timeline {
    padding: 16px 28px 24px
}

.ec-timeline-header {
    border-bottom: 1px solid #8b703838;
    grid-template-columns: 90px .7fr 1.4fr;
    gap: 20px;
    margin-bottom: 1px;
    padding-bottom: 4px;
    display: grid
}

.ec-timeline-row {
    border-bottom: 1px solid #8b703814;
    grid-template-columns: 90px .7fr 1.4fr;
    align-items: start;
    gap: 20px;
    padding: 3px 0;
    display: grid
}

.ec-timeline-row:nth-last-child(2) {
    border-bottom: none
}

.ec-timeline-left {
    align-items: baseline;
    gap: 16px;
    display: flex
}

.ec-timeline-right {
    flex-direction: column;
    display: flex
}

.ec-timeline-footer {
    text-align: left;
    width: 100%;
    margin-top: 10px;
    padding-bottom: 12px;
    display: block
}

.ec-header-left {
    grid-column: span 2
}

.ec-cartouche {
    filter: drop-shadow(0 3px 6px #b8912f26);
    margin-bottom: 24px;
    transition: transform .4s
}

.ec-cartouche:hover {
    transform: scale(1.05)
}

.ec-eyebrow {
    font-family: var(--ff-b);
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 8px;
    font-size: 13.5px;
    font-weight: 600
}

.ec-title {
    font-family: var(--ff-d);
    letter-spacing: 1.5px;
    color: var(--ink);
    margin-bottom: 12px;
    font-size: clamp(32px, 4vw, 46px);
    font-weight: 400;
    line-height: 1.2
}

.ec-title em {
    color: var(--gold);
    font-style: italic;
    font-weight: 300
}

.ec-rule {
    background: linear-gradient(to right, var(--gold), #b8912f1a);
    width: 54px;
    height: 1px;
    margin-bottom: 16px
}

.ec-rule--left {
    margin-left: 0
}

.ec-rule--centered {
    margin: 0 auto 16px
}

.ec-body-text {
    font-family: var(--ff-b);
    color: var(--ink2);
    max-width: 480px;
    font-size: 19px;
    line-height: 1.8
}

.ec-guide-nav {
    flex-direction: column;
    display: flex
}

.ec-guide-link {
    align-items: center;
    gap: 0;
    padding: 18px 0;
    transition: transform .3s cubic-bezier(.25, .8, .25, 1);
    display: flex;
    position: relative
}

.ec-guide-link:hover {
    transform: translate(8px)
}

.ec-gicon {
    border: 1px solid #8b703840;
    border-radius: 50%;
    flex-shrink: 0;
    order: 0;
    justify-content: center;
    align-items: center;
    width: 28px;
    height: 28px;
    margin-right: 14px;
    transition: border-color .3s, background .3s;
    display: flex
}

.ec-gicon svg {
    display: block
}

.ec-guide-link:hover .ec-gicon {
    background: #b8912f0f;
    border-color: #b8912fb3
}

.ec-gicon svg path,
.ec-gicon svg line,
.ec-gicon svg circle,
.ec-gicon svg polyline,
.ec-gicon svg rect {
    transition: stroke .3s
}

.ec-guide-link:hover .ec-gicon svg * {
    stroke: #b8912f
}

.ec-glabel {
    font-family: var(--ff-b);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--ink);
    order: 1;
    font-size: 16.5px;
    font-weight: 500;
    transition: color .3s
}

.ec-guide-link:hover .ec-glabel {
    color: var(--goldf)
}

.ec-guide-link:after {
    content: "";
    border-bottom: 1px dotted #8b703833;
    flex-grow: 1;
    order: 2;
    margin: 0 16px;
    transition: border-color .3s
}

.ec-guide-link:hover:after {
    border-color: #b8912f99
}

.ec-gnum {
    font-family: var(--ff-d);
    color: #b8912f80;
    flex-shrink: 0;
    order: 3;
    font-size: 18px;
    font-style: italic;
    font-weight: 400;
    transition: color .3s
}

.ec-guide-link:hover .ec-gnum {
    color: var(--goldf)
}

.ec-legs {
    flex-direction: column;
    gap: 12px;
    display: flex
}

.ec-leg {
    border-bottom: 1px solid #8b703814;
    grid-template-columns: 1fr 1.1fr auto;
    align-items: center;
    gap: 28px;
    padding: 22px 0;
    transition: all .3s;
    display: grid
}

.ec-leg:last-child {
    border-bottom: none
}

.ec-leg--core {
    border: 1px solid #b8912f33;
    border-left: 3px solid var(--gold);
    background: #b8912f09;
    margin: 12px -24px;
    padding: 24px;
    box-shadow: 0 8px 24px #b8912f08, inset 0 0 12px #fffc
}

.ec-leg-tag {
    font-family: var(--ff-b);
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 6px;
    font-size: 12.5px;
    font-weight: 700;
    display: block
}

.ec-leg--core .ec-leg-tag {
    color: var(--teal);
    font-weight: 800
}

.ec-leg h3 {
    font-family: var(--ff-d);
    color: var(--ink);
    margin-bottom: 4px;
    font-size: 25px;
    font-weight: 500
}

.ec-leg-dates {
    font-family: var(--ff-b);
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: var(--ink3);
    font-size: 15px;
    font-weight: 600
}

.ec-leg-desc {
    font-family: var(--ff-b);
    color: var(--ink2);
    font-size: 17.5px;
    line-height: 1.7
}

.ec-iti-list {
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex
}

.ec-iti-list li {
    border-bottom: 1px solid #8b703814;
    align-items: baseline;
    gap: 16px;
    padding: 14px 0;
    display: flex
}

.ec-iti-list li:last-child {
    border-bottom: none
}

.ec-iti-day {
    font-family: var(--ff-b);
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--gold);
    flex-shrink: 0;
    font-size: 15.5px;
    font-weight: 700
}

.ec-iti-evt {
    font-family: var(--ff-d);
    color: var(--ink);
    font-size: 20.5px;
    font-weight: 400
}

.ec-highlights {
    flex-direction: column;
    gap: 4px;
    display: flex
}

.ec-hl {
    border-bottom: none;
    padding: 0
}

.ec-hl h4 {
    font-family: var(--ff-d);
    color: var(--ink);
    margin-bottom: 1px;
    font-size: 19px;
    font-weight: 500
}

.ec-hl p {
    font-family: var(--ff-b);
    color: var(--ink2);
    font-size: 15.5px;
    line-height: 1.4
}

.ec-hotel {
    z-index: 1;
    background: #fcf9f3;
    border: 1px solid #b8912f24;
    gap: 16px;
    height: 220px;
    padding: 22px 20px;
    transition: all .4s cubic-bezier(.16, 1, .3, 1);
    display: flex;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px 8px #2b262008
}

.ec-hotel-bg {
    z-index: 1;
    opacity: 0;
    background-position: 50%;
    background-size: cover;
    transition: opacity .5s cubic-bezier(.16, 1, .3, 1), transform .5s cubic-bezier(.16, 1, .3, 1);
    position: absolute;
    inset: 0;
    transform: scale(1.06)
}

.ec-hotel-bg:after {
    content: "";
    background: linear-gradient(#0f0f0c66 0%, #0a0a08e0 100%);
    position: absolute;
    inset: 0
}

.ec-hotel-num {
    font-family: var(--ff-d);
    color: var(--gold);
    opacity: .3;
    z-index: 2;
    flex-shrink: 0;
    font-size: 28px;
    font-weight: 300;
    line-height: 1;
    transition: color .4s, opacity .4s;
    position: relative
}

.ec-hotel-body {
    z-index: 2;
    flex-direction: column;
    width: 100%;
    height: 100%;
    display: flex;
    position: relative
}

.ec-hotel-body h3 {
    font-family: var(--ff-d);
    color: var(--ink);
    margin-bottom: 3px;
    font-size: 22px;
    font-weight: 500;
    transition: color .4s
}

.ec-hotel-city {
    font-family: var(--ff-b);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 600;
    transition: color .4s;
    display: block
}

.ec-hotel-desc {
    font-family: var(--ff-b);
    color: var(--ink2);
    opacity: 1;
    visibility: visible;
    font-size: 15px;
    line-height: 1.6;
    transition: opacity .35s, transform .35s, visibility .35s;
    transform: translateY(0)
}

.ec-hotel-btn {
    font-family: var(--ff-b);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #a37f2c;
    background: #ffffff73;
    border: 1.2px solid #a37f2c59;
    align-self: flex-start;
    margin-top: auto;
    padding: 8px 20px;
    font-size: 11.5px;
    font-weight: 600;
    text-decoration: none;
    transition: all .4s cubic-bezier(.16, 1, .3, 1);
    display: inline-block;
    position: relative
}

.ec-btn-lbl-normal {
    display: inline
}

.ec-btn-lbl-hover {
    display: none
}

.ec-hotel:hover {
    border-color: #b8912f66;
    box-shadow: 0 12px 32px #2b262026
}

.ec-hotel:hover .ec-hotel-bg {
    opacity: 1;
    transform: scale(1)
}

.ec-hotel:hover .ec-hotel-num {
    color: var(--goldf);
    opacity: .85
}

.ec-hotel:hover .ec-hotel-body h3 {
    color: #faf5ec
}

.ec-hotel:hover .ec-hotel-city {
    color: var(--goldf)
}

.ec-hotel:hover .ec-hotel-desc {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px)
}

.ec-hotel:hover .ec-hotel-btn {
    color: #faf5ec;
    background: #ffffff1f;
    border-color: #faf5ec99
}

.ec-hotel:hover .ec-btn-lbl-normal {
    display: none
}

.ec-hotel:hover .ec-btn-lbl-hover {
    display: inline
}

.ec-hotel:hover .ec-hotel-btn:hover {
    background: #ffffff38;
    border-color: #faf5ecf2;
    box-shadow: 0 4px 12px #ffffff1a
}

.ec-info-rows {
    flex-direction: column;
    display: flex
}

.ec-info-row {
    border-bottom: 1px solid #8b703814;
    grid-template-columns: 190px 1fr auto;
    align-items: center;
    gap: 32px;
    padding: 26px 0;
    transition: background-color .3s;
    display: grid
}

.ec-info-row:last-child {
    border-bottom: none
}

.ec-info-label h3 {
    font-family: var(--ff-d);
    color: var(--ink);
    margin-bottom: 4px;
    font-size: 23px;
    font-weight: 500
}

.ec-info-label span {
    font-family: var(--ff-b);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold);
    font-size: 13px;
    font-weight: 600
}

.ec-info-row p {
    font-family: var(--ff-b);
    color: var(--ink2);
    font-size: 16px;
    line-height: 1.7
}

.ec-tlink {
    font-family: var(--ff-b);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #a37f2c;
    white-space: nowrap;
    background: #fff6;
    border: 1.2px solid #a37f2c59;
    padding: 8px 20px;
    font-size: 16px;
    font-weight: 500;
    transition: all .3s cubic-bezier(.25, .8, .25, 1);
    display: inline-block
}

.ec-tlink:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 8px #a37f2c0f;
    color: #8b7038 !important;
    background: #a37f2c0d !important;
    border-color: #a37f2cd9 !important
}

.ec-tlink--checklist {
    margin-top: 28px;
    display: inline-block
}

.ec-btn-primary {
    font-family: var(--ff-b);
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #faf5ec;
    background: var(--teal);
    border: 1px solid var(--teal);
    padding: 16px 42px;
    font-size: 12.5px;
    font-weight: 700;
    transition: all .4s cubic-bezier(.16, 1, .3, 1);
    display: inline-block;
    box-shadow: 0 4px 15px #1e3b3826
}

.ec-btn-primary:hover {
    background: var(--gold);
    color: var(--ink);
    border-color: var(--gold);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px #8b70384d
}

.ec-btn-primary--intake {
    margin-top: 36px;
    display: inline-block
}

.ec-sub-note {
    font-family: var(--ff-b);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #2b262052;
    margin-top: 18px;
    font-size: 11px
}

.eg-card-below-cta {
    display: none !important
}

@media (width<=700px) {
    .ec-body {
        padding: 36px 32px
    }

    .ec-body--two-col {
        grid-template-columns: 1fr;
        gap: 36px;
        padding: 32px 30px
    }

    .ec-hotels {
        grid-template-columns: 1fr
    }

    .ec-info-row {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 20px 0
    }

    .ec-leg {
        grid-template-columns: 1fr;
        gap: 12px
    }

    .ec-leg--core {
        margin: 12px 0
    }

    .h-name {
        font-size: clamp(42px, 12vw, 80px)
    }
}

@media (height<=640px) {
    .ec-body {
        padding: 28px 40px
    }

    .eg-card {
        max-height: 90vh
    }
}

.eg-footer-page {
    background: #0f2b28;
    justify-content: flex-start;
    align-items: stretch;
    position: relative;
    overflow: hidden
}

.egf-wrap {
    z-index: 2;
    flex: 1;
    width: 100%;
    padding: 60px 80px 0;
    position: relative
}

.egf-inner {
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    gap: 48px;
    max-width: 1200px;
    margin: 0 auto;
    display: grid
}

.egf-desc {
    font-family: var(--ff-b);
    color: #f5f0e4a6;
    max-width: 340px;
    margin-bottom: 28px;
    font-size: 15.5px;
    line-height: 1.75
}

.egf-contact {
    flex-direction: column;
    gap: 12px;
    margin-bottom: 28px;
    list-style: none;
    display: flex
}

.egf-contact li {
    font-family: var(--ff-b);
    color: #f5f0e4b3;
    align-items: flex-start;
    gap: 10px;
    font-size: 15px;
    line-height: 1.4;
    display: flex
}

.egf-contact li svg {
    stroke: var(--goldf);
    opacity: .85;
    flex-shrink: 0;
    margin-top: 1px
}

.egf-contact a {
    color: #f5f0e4b3;
    text-decoration: none;
    transition: color .25s
}

.egf-contact a:hover {
    color: var(--goldf)
}

.egf-copy {
    font-family: var(--ff-b);
    letter-spacing: .04em;
    color: #f5f0e459;
    margin-top: 4px;
    font-size: 13px
}

.egf-col-title {
    font-family: var(--ff-d);
    color: #f5f0e4;
    letter-spacing: .04em;
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1
}

.egf-links {
    flex-direction: column;
    gap: 0;
    list-style: none;
    display: flex
}

.egf-links li a {
    font-family: var(--ff-b);
    color: #f5f0e499;
    border-bottom: 1px solid #ffffff0d;
    padding: 7px 0;
    font-size: 15px;
    text-decoration: none;
    transition: color .25s, padding-left .25s;
    display: block
}

.egf-links li:last-child a {
    border-bottom: none
}

.egf-links li a:hover {
    color: var(--goldf);
    padding-left: 6px
}

.egf-dunes {
    z-index: 1;
    pointer-events: none;
    line-height: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.egf-dunes svg {
    width: 100%;
    height: auto;
    min-height: 140px;
    max-height: 220px;
    display: block
}

.egf-totop {
    z-index: 10;
    width: 40px;
    height: 40px;
    color: var(--goldf);
    cursor: pointer;
    background: #b8912f26;
    border: 1.5px solid #b8912f80;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    transition: background .3s, border-color .3s, transform .3s;
    display: flex;
    position: absolute;
    bottom: 32px;
    right: 32px
}

.egf-totop:hover {
    border-color: var(--goldf);
    background: #b8912f4d;
    transform: translateY(-3px)
}

.egf-totop svg {
    display: block
}

@media (width<=960px) {
    .egf-inner {
        grid-template-columns: 1fr 1fr;
        gap: 36px
    }

    .egf-col--brand {
        grid-column: span 2
    }

    .egf-wrap {
        padding: 48px 40px 0
    }
}

@media (width<=600px) {
    .egf-inner {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .egf-col--brand {
        grid-column: span 1
    }

    .egf-wrap {
        padding: 40px 24px 0
    }

    .egf-desc {
        max-width: 100%
    }

    .egf-dunes svg {
        min-height: 90px
    }

    .egf-totop {
        bottom: 20px;
        right: 20px
    }
}

.ec-body--subpage {
    padding: 40px 64px 52px
}

.ec-back-link {
    font-family: var(--ff-b);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold);
    cursor: pointer;
    align-items: center;
    gap: 6px;
    margin-bottom: 28px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: color .25s, gap .25s;
    display: inline-flex
}

.ec-back-link svg {
    stroke: var(--gold);
    flex-shrink: 0;
    transition: stroke .25s, transform .25s
}

.ec-back-link:hover {
    color: var(--ink);
    gap: 10px
}

.ec-back-link:hover svg {
    stroke: var(--ink);
    transform: translate(-3px)
}

.ec-sub-intro {
    font-family: var(--ff-b);
    color: var(--ink2);
    max-width: 680px;
    margin-bottom: 28px;
    font-size: 15px;
    line-height: 1.75
}

.ec-subpage-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
    margin-top: 8px;
    display: grid
}

.ec-subpage-grid--3col {
    grid-template-columns: repeat(3, 1fr)
}

.ec-sub-card {
    background: #faf5ec99;
    border: 1px solid #b8912f33;
    flex-direction: column;
    padding: 28px 26px 26px;
    transition: border-color .3s, box-shadow .3s, transform .3s;
    display: flex
}

.ec-sub-card:hover {
    border-color: #b8912f99;
    transform: translateY(-2px);
    box-shadow: 0 8px 28px #b8912f14
}

.ec-sub-card--pending {
    background: #b8912f05;
    border-style: dashed
}

.ec-sub-card--pending:hover {
    box-shadow: none;
    transform: none
}

.ec-sub-card-icon {
    width: 32px;
    height: 32px;
    color: var(--goldf);
    flex-shrink: 0;
    margin-bottom: 16px
}

.ec-sub-card-icon svg {
    width: 100%;
    height: 100%;
    display: block
}

.ec-sub-card-title {
    font-family: var(--ff-d);
    color: var(--ink);
    margin-bottom: 8px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2
}

.ec-sub-card-theme {
    font-family: var(--ff-d);
    color: var(--teal);
    margin-bottom: 12px;
    font-size: 17px;
    font-style: italic
}

.ec-sub-card-desc {
    font-family: var(--ff-b);
    color: var(--ink2);
    flex-grow: 1;
    margin-bottom: 0;
    font-size: 16px;
    line-height: 1.65
}

.ec-sub-list {
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex
}

.ec-sub-list li {
    font-family: var(--ff-b);
    color: var(--ink2);
    padding-left: 16px;
    font-size: 15.5px;
    line-height: 1.55;
    position: relative
}

.ec-sub-list li:before {
    content: "-";
    color: var(--goldf);
    font-weight: 700;
    position: absolute;
    left: 0
}

.ec-sub-list strong {
    color: var(--ink);
    font-weight: 600
}

.ec-sub-pending-badge {
    font-family: var(--ff-b);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--goldf);
    border-top: 1px solid #b8912f33;
    margin-top: 18px;
    padding-top: 12px;
    font-size: 12px;
    font-weight: 600
}

.ec-weather-table-wrap {
    -webkit-overflow-scrolling: touch;
    margin-bottom: 28px;
    overflow-x: auto
}

.ec-weather-table {
    border-collapse: collapse;
    width: 100%;
    font-family: var(--ff-b);
    min-width: 520px;
    font-size: 16px
}

.ec-weather-table thead tr {
    border-bottom: 2px solid #b8912f80
}

.ec-weather-table th {
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--goldf);
    text-align: left;
    padding: 10px 16px;
    font-size: 12.5px;
    font-weight: 700
}

.ec-weather-table tbody tr {
    border-bottom: 1px solid #b8912f1f;
    transition: background .2s
}

.ec-weather-table tbody tr:last-child {
    border-bottom: none
}

.ec-weather-table tbody tr:hover {
    background: #b8912f0a
}

.ec-weather-table td {
    color: var(--ink2);
    vertical-align: top;
    padding: 14px 16px;
    line-height: 1.5
}

.ec-wt-city {
    align-items: center;
    gap: 9px;
    font-weight: 600;
    display: flex;
    color: var(--ink) !important
}

.ec-city-dot {
    border-radius: 50%;
    flex-shrink: 0;
    width: 9px;
    height: 9px;
    display: inline-block
}

.ec-city-dot--cairo {
    background: var(--teal)
}

.ec-city-dot--luxor {
    background: var(--goldf)
}

.ec-city-dot--aswan {
    background: #b5673e
}

.ec-media-rows {
    flex-direction: column;
    gap: 0;
    display: flex
}

.ec-media-row {
    border-bottom: 1px solid #b8912f1a;
    padding: 22px 0
}

.ec-media-row:last-child {
    border-bottom: none
}

.ec-media-row-header {
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    display: flex
}

.ec-media-row-icon {
    width: 22px;
    height: 22px;
    color: var(--goldf);
    flex-shrink: 0
}

.ec-media-row-icon svg {
    width: 100%;
    height: 100%;
    display: block
}

.ec-media-row-title {
    font-family: var(--ff-d);
    color: var(--teal);
    font-size: 20px;
    font-weight: 500;
    line-height: 1
}

.ec-media-row--pending .ec-media-row-title {
    color: #1e3b3873
}

.ec-media-book-card {
    background: #faf5ecb3;
    border: 1px solid #b8912f2e;
    gap: 22px;
    max-width: 540px;
    padding: 22px;
    transition: border-color .3s, box-shadow .3s;
    display: flex
}

.ec-media-book-card:hover {
    border-color: #b8912f8c;
    box-shadow: 0 6px 20px #b8912f12
}

.ec-book-spine {
    background: linear-gradient(135deg, var(--teal), #1e3b38bf);
    width: 58px;
    height: 82px;
    font-family: var(--ff-d);
    color: #ffffff4d;
    letter-spacing: 2px;
    border-radius: 2px;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    font-size: 28px;
    font-weight: 700;
    display: flex
}

.ec-book-info {
    flex: 1
}

.ec-book-title {
    font-family: var(--ff-d);
    color: var(--ink);
    margin-bottom: 3px;
    font-size: 20px;
    font-weight: 500
}

.ec-book-author {
    font-family: var(--ff-b);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--goldf);
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 600
}

.ec-book-desc {
    font-family: var(--ff-b);
    color: var(--ink2);
    margin: 0;
    font-size: 15.5px;
    line-height: 1.6
}

.ec-media-pending {
    background: #b8912f06;
    border: 1px dashed #b8912f47;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
    padding: 18px 22px;
    display: flex
}

.ec-media-pending p {
    font-family: var(--ff-b);
    color: var(--ink2);
    flex: 1;
    margin: 0;
    font-size: 16px;
    line-height: 1.5
}

.ec-media-pending-badge {
    font-family: var(--ff-b);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--goldf);
    white-space: nowrap;
    border: 1px solid #b8912f61;
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 700
}

@media (width<=700px) {
    .ec-body--subpage {
        padding: 32px 28px 40px
    }

    .ec-subpage-grid--3col,
    .ec-subpage-grid {
        grid-template-columns: 1fr
    }

    .ec-weather-table-wrap {
        margin-bottom: 20px
    }

    .ec-media-book-card {
        flex-direction: column
    }

    .ec-book-spine {
        width: 100%;
        height: 56px
    }
}

@media (height<=640px) {
    .ec-body--subpage {
        padding: 24px 40px 32px
    }
}

button.ec-tlink,
button.ec-back-link {
    appearance: none;
    font-family: var(--ff-b);
    cursor: pointer;
    background: #fff6;
    border: 1.2px solid #a37f2c59;
    line-height: 1
}

button.ec-tlink:focus-visible,
button.ec-back-link:focus-visible {
    outline: 2px solid var(--goldf);
    outline-offset: 2px
}

.guide-grid-item {
    background: #8b703804;
    border: 1px solid #8b70380f;
    border-radius: 4px;
    padding: 16px;
    transition: transform .4s cubic-bezier(.25, .8, .25, 1), box-shadow .4s, background .3s, border-color .3s
}

.guide-grid-item:hover {
    transform: translateY(-4px)scale(1.02);
    box-shadow: 0 12px 30px #8b70380f;
    background: #8b70380b !important;
    border-color: #8b70384d !important
}

.guide-grid-item h4,
.guide-grid-item p {
    transition: color .3s
}

.guide-grid-item:hover h4 {
    color: var(--gold) !important
}

.guide-grid-item:hover p {
    color: #8b7038d9 !important
}

.guide-grid-item svg {
    transition: transform .4s cubic-bezier(.175, .885, .32, 1.275)
}

.guide-grid-item:hover svg {
    transform: scale(1.15)rotate(5deg)
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(24px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.active .guide-grid-item {
    opacity: 0;
    animation: .7s cubic-bezier(.25, .8, .25, 1) forwards fadeInUp
}

.active .guide-grid-item:first-child {
    animation-delay: .1s
}

.active .guide-grid-item:nth-child(2) {
    animation-delay: .2s
}

.active .guide-grid-item:nth-child(3) {
    animation-delay: .3s
}

.active .guide-grid-item:nth-child(4) {
    animation-delay: .4s
}

.active .guide-grid-item:nth-child(5) {
    animation-delay: .5s
}

.guide-card-image-zoom {
    will-change: transform;
    animation: 20s ease-in-out infinite alternate slowZoom
}

@keyframes slowZoom {
    0% {
        transform: scale(1)
    }

    to {
        transform: scale(1.08)translate(-1%, -.5%)
    }
}

@media (width<=600px) {
    .ec-hotels {
        grid-template-columns: 1fr
    }
}

.ec-hotel-card-new {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    border: 1.2px solid #b8912f26;
    border-radius: 6px;
    flex-direction: column;
    justify-content: flex-end;
    height: 260px;
    transition: transform .4s cubic-bezier(.25, .8, .25, 1), box-shadow .4s, border-color .4s, border-top-right-radius .3s, clip-path .3s cubic-bezier(.25, .8, .25, 1);
    display: flex;
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 24px #0000000d
}

.ec-hotel-card-new:before {
    content: "";
    z-index: 4;
    pointer-events: none;
    background: linear-gradient(225deg, #0000 50%, #b8912f 50%, #8b7038 75%, #5c4a24 100%);
    border-bottom-left-radius: 4px;
    width: 0;
    height: 0;
    transition: width .3s cubic-bezier(.25, .8, .25, 1), height .3s cubic-bezier(.25, .8, .25, 1);
    position: absolute;
    top: 0;
    right: 0;
    box-shadow: -3px 3px 8px #00000059
}

.ec-hotel-card-new:hover {
    clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
    border-color: #b8912f59;
    border-top-right-radius: 20px;
    transform: translateY(-6px);
    box-shadow: 0 16px 36px #8b70381f
}

.ec-hotel-card-new:hover:before {
    width: 20px;
    height: 20px
}

.ec-hotel-bg-new {
    z-index: 1;
    background-position: 50%;
    background-size: cover;
    transition: transform .6s cubic-bezier(.25, .8, .25, 1);
    position: absolute;
    inset: 0
}

.ec-hotel-card-new:hover .ec-hotel-bg-new {
    transform: scale(1.06)
}

.ec-hotel-overlay-new {
    z-index: 2;
    background: linear-gradient(#1e1a161a 0%, #1e1a1673 45%, #1e1a16e6 100%);
    transition: background .4s;
    position: absolute;
    inset: 0
}

.ec-hotel-card-new:hover .ec-hotel-overlay-new {
    background: linear-gradient(#1e1a1633 0%, #1e1a16a6 35%, #1e1a16f2 100%)
}

.ec-hotel-content-new {
    z-index: 3;
    color: #fff;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding: 20px 24px;
    display: flex;
    position: relative
}

.ec-hotel-city-new {
    font-family: var(--ff-b);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #b8912f;
    margin-bottom: 2px;
    font-size: 14px;
    font-weight: 600
}

.ec-hotel-title-new {
    font-family: var(--ff-d);
    color: #fff;
    margin-bottom: 6px;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.2
}

.ec-hotel-desc-new {
    font-family: var(--ff-b);
    color: #ffffffbf;
    opacity: 0;
    max-height: 0;
    margin-bottom: 0;
    font-size: 15px;
    line-height: 1.5;
    transition: max-height .4s cubic-bezier(.25, .8, .25, 1), opacity .4s, margin-bottom .4s;
    overflow: hidden
}

.ec-hotel-card-new:hover .ec-hotel-desc-new {
    opacity: 1;
    max-height: 100px;
    margin-bottom: 12px
}

.ec-hotel-btn-new {
    font-family: var(--ff-b);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #fff;
    background: #ffffff14;
    border: 1px solid #ffffff59;
    border-radius: 2px;
    padding: 8px 18px;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
    transition: all .3s
}

.ec-hotel-btn-new:hover {
    color: var(--ink) !important;
    background: #fff !important;
    border-color: #fff !important
}

#pg-luxor .eg-card--wide {
    width: min(1300px, 96vw) !important
}

.ec-body--timeline-new {
    box-sizing: border-box;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100%;
    display: flex;
    padding: 40px !important
}

.ec-iti-head-new {
    text-align: center;
    margin-bottom: 24px
}

.ec-iti-eyebrow-new {
    font-family: var(--ff-b);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #b8912f;
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 600;
    display: block
}

.ec-iti-title-new {
    font-family: var(--ff-d);
    color: #1e3b38;
    margin: 0;
    font-size: clamp(30px, 4vw, 42px);
    font-weight: 500
}

.ec-timeline-tabs-wrap {
    width: 100%;
    max-width: 600px;
    margin: 0 auto 32px;
    padding: 10px 0;
    position: relative
}

.ec-timeline-line {
    z-index: 1;
    background-color: #e2dfd8;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%)
}

.ec-timeline-tabs {
    z-index: 2;
    justify-content: space-around;
    width: 100%;
    display: flex;
    position: relative
}

.ec-timeline-tab-btn {
    cursor: pointer;
    background: 0 0;
    border: none;
    outline: none;
    flex-direction: column;
    align-items: center;
    padding: 0;
    display: flex;
    position: relative
}

.ec-timeline-dot {
    background-color: #cfcbc0;
    border: 3px solid #fff;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    margin-bottom: 10px;
    transition: all .3s cubic-bezier(.25, .8, .25, 1);
    box-shadow: 0 2px 6px #0000001a
}

.ec-timeline-label {
    font-family: var(--ff-b);
    color: #2b2620a6;
    white-space: nowrap;
    border-radius: 20px;
    padding: 6px 18px;
    font-size: 18px;
    font-weight: 500;
    transition: all .3s
}

.ec-timeline-tab-btn.active .ec-timeline-dot {
    background-color: #aec877;
    transform: scale(1.3);
    box-shadow: 0 4px 10px #aec87766
}

.ec-timeline-tab-btn.active .ec-timeline-label {
    color: #1e3b38;
    background-color: #aec87740;
    font-weight: 600
}

.ec-iti-cards-grid {
    flex-wrap: wrap;
    flex-grow: 1;
    justify-content: center;
    gap: 32px;
    margin-bottom: 24px;
    display: flex
}

@keyframes itiCardFadeIn {
    0% {
        opacity: 0;
        transform: translateY(12px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.ec-iti-card-new {
    border-radius: 8px;
    flex: 380px;
    max-width: 480px;
    height: 500px;
    transition: transform .4s cubic-bezier(.25, .8, .25, 1), box-shadow .4s;
    animation: .7s cubic-bezier(.25, .8, .25, 1) both itiCardFadeIn;
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 24px #2b262014
}

.ec-iti-card-new:first-child {
    animation-delay: .1s
}

.ec-iti-card-new:nth-child(2) {
    animation-delay: .2s
}

.ec-iti-card-new:nth-child(3) {
    animation-delay: .3s
}

.ec-iti-card-new:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 36px #2b262026
}

.ec-iti-card-img {
    background-position: 50%;
    background-size: cover;
    transition: transform .8s cubic-bezier(.25, .8, .25, 1);
    position: absolute;
    inset: 0
}

.ec-iti-card-new:hover .ec-iti-card-img {
    transform: scale(1.08)
}

.ec-iti-card-overlay {
    z-index: 1;
    background: linear-gradient(#131f1d00 0%, #131f1d66 40%, #131f1dd9 100%);
    position: absolute;
    inset: 0
}

.ec-iti-card-content {
    z-index: 2;
    color: #fff;
    background-color: #00000080;
    padding: 30px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.ec-iti-card-subtitle {
    font-family: var(--ff-b);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #b8912f;
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 600;
    display: block
}

.ec-iti-card-content h4 {
    font-family: var(--ff-d);
    letter-spacing: .5px;
    color: #fff;
    margin: 0;
    font-size: 30px;
    font-weight: 500
}

.ec-iti-card-content p {
    font-family: var(--ff-b);
    color: #fffffff2;
    opacity: 0;
    max-height: 0;
    margin: 0;
    font-size: 17px;
    line-height: 1.5;
    transition: max-height .4s cubic-bezier(.25, .8, .25, 1), opacity .4s, margin-top .4s;
    overflow: hidden
}

.ec-iti-card-new:hover .ec-iti-card-content p {
    opacity: 1;
    max-height: 150px;
    margin-top: 14px
}

.ec-timeline-footer-new {
    z-index: 2
}

.ec-hotel-btn,
.ec-tlink,
.ec-btn-primary,
.ec-hotel-btn-new,
button.ec-tlink,
.ec-timeline-footer-new a,
.ec-timeline-footer a,
.explore-btn,
.book-btn {
    cursor: pointer;
    color: #1e3b38 !important;
    text-shadow: 0 1px 1px #ffffff80 !important;
    background-image: url(./button-sand-bg-CypnCCDg.png) !important;
    background-position: 50% !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    border: 1.2px solid #b8912f !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    transition: all .3s cubic-bezier(.25, .8, .25, 1) !important;
    box-shadow: 0 2px 6px #00000014 !important
}

.ec-hotel-btn:hover,
.ec-tlink:hover,
.ec-btn-primary:hover,
.ec-hotel-btn-new:hover,
button.ec-tlink:hover,
.ec-timeline-footer-new a:hover,
.ec-timeline-footer a:hover,
.explore-btn:hover,
.book-btn:hover,
.ec-hotel:hover .ec-hotel-btn {
    color: #1e3b38 !important;
    filter: brightness(1.06) !important;
    border-color: #b8912f !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 14px #2b26201f !important
}

@media (width<=768px) {

    .eg-card--wide,
    .eg-card--narrow,
    .eg-card {
        width: 95vw !important;
        max-height: calc(100vh - 100px) !important;
        margin-top: 10px !important
    }

    .ec-body--timeline-new,
    .ec-body,
    .ec-body--subpage {
        padding: 24px 20px !important
    }

    .ec-frame {
        inset: 8px !important
    }

    .ec-title,
    .eg-pg-title,
    h1 {
        font-size: clamp(28px, 6vw, 42px) !important;
        line-height: 1.2 !important
    }

    h2 {
        font-size: clamp(24px, 5vw, 36px) !important
    }

    h3,
    .ec-leg-animated-title,
    .ec-info-card-title {
        font-size: clamp(20px, 4vw, 26px) !important
    }

    p,
    .ec-leg-animated-desc,
    .ec-info-card-desc {
        font-size: 15px !important;
        line-height: 1.5 !important
    }

    .ec-info-grid-new,
    .ec-hotels,
    .ec-subpage-grid--3col,
    .ec-legs-animated {
        grid-template-columns: 1fr !important;
        gap: 20px !important
    }

    .ec-leg-animated {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        padding: 20px !important
    }

    .ec-leg-animated:before,
    .ec-legs-animated:before {
        display: none !important
    }

    .hub-btn-primary {
        text-align: center !important;
        width: 100% !important;
        padding: 12px 20px !important;
        font-size: 14px !important
    }

    .ec-timeline-label {
        padding: 8px !important;
        font-size: 13px !important
    }

    .eg-header-logo {
        letter-spacing: 10px !important;
        font-size: 24px !important;
        top: 20px !important
    }

    .back-to-top-btn {
        padding: 10px 16px !important;
        font-size: 11px !important;
        bottom: 20px !important;
        right: 20px !important
    }
}

#root {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0
}

:root {
    font-family: Jost, system-ui, sans-serif;
    font-weight: 400;
    line-height: 1.5
}

.eg-body {
    background-color: #faf6ee;
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden
}

.eg-scroll {
    z-index: 1;
    position: fixed;
    inset: 0;
    overflow: hidden
}

.eg-scroll.scroll-locked {
    overflow: hidden !important
}

.eg-scroll-wrapper {
    will-change: transform;
    width: 100%
}

.eg-sand-fixed {
    z-index: 0;
    pointer-events: none;
    background-position: 50%;
    background-size: cover;
    position: fixed;
    inset: 0
}

.eg-page {
    z-index: 2;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    display: flex;
    position: relative;
    overflow: hidden
}

.eg-card-page {
    justify-content: center;
    align-items: center
}

.eg-card,
.eg-card--wide,
.eg-card--narrow {
    box-shadow: none;
    scrollbar-width: none;
    -ms-overflow-style: none;
    z-index: 5;
    background-color: #0000;
    background-image: url(data:image/webp;base64,UklGRggJAABXRUJQVlA4IPwIAABQOwCdASomAXgBPjEYikQiIYgcrhwQAYJaW7PdCUneQ7KT+3or895BLOn61zL7V3qF/4W8G577zxums9Z3+T9OB6aOTSe9vVJ7LJkC1gAG7Xq9NnXZX7PJNChbjKpyw+cmm5Aw/68trahVnkvqj4YBd42hmQcrHq+CnBf7jtSX4WEMBQ+vZoToC0dnc8if/zCnXwpvCvMYhcUOBVA1iM08s5h/b5T6RZEDrhk2Bu1EDwz0bJYNpLg+0tJZ3U5ljFldxKK/qGEFBA66lx3tcTHXQWmNedwmO+J+PIktTTA2Ur/GQ8dQzj5ipkpAVhEZdMZrVYX09+cbAtzrDKJ0b/lwpVGCz0imIiB1qi99pvI8ttk/XPTdvM4JwdASoONaTF708DJgWfrRq9I82iP8eFH7+5FrW+gwm0+RdGo3UOwzBWhS9bYmPDeSBWGCxVbPznUf5ga8bRJEvrQZvcSlKHM+QJPbgdg5EuR2FwzwD1wJ0+3rtN+7FEDr1YDoGytW6ZC+0Vh2RxxYxSpLwUq1Yr0lTbUBMZyv0R7D/HhR/EmpxJ54hNipRkJx1X3PAjrqP7e9D7ZnVXSEqB4UzUUXnFyh11Jm+Gvp2IfnPrc/D2ToH25trl6fcmWjUQdX3Wnr5EwcgQAA/v2syXIW24VPH+B3yD/FIdf/q13i8cYbyXxh2TFZLuFiTD/+bFMHga8pSg5CKzyFKDArXJtfTCCju9NdetgBNPSCrrYBt1gTLkgBGEw85E+bWco35U4ywWL9sjDkQAxfserypMspHSak/xHX2i40T5wDkwlfRw7PmDL361NgQlJaMksTKj2BXXAt9++lLexwV8oN9fJ0nBdfXmT9PO8GtDwko55IYtDe3IiOlaev8WnoJZ2I0HJqIg/KlyRNEsdi1rkAN/Wux1dbXS/2cvKPhvIf/mQ0sdJPrw4GfSmWvqQU3vLMjHgnD1G0uPBSYkAUAb8NiTZhoYA3Ut6/Sjy8P4SkI+rxxkt+fsOs4LtODc6kiFWEDeVo7J/p02KLKG6d9daBVnq4YpK+PkdRPta3Ps3HO0SFKEkRq9yl/YPkYz4r9F1X/UXQndTYCgjR4M+0C4EXukA8b6K6iIzpCfX0hFBQJ0Zx4snAD+xhmi80Zid3v9kFGctL3ZKCptCOd/NRXu3gZ6DvdC8XYNDF+fYAip3rT2tRFT9jyoEiNi5/5OC1b1ETF0NvmDBS3k7I2+hatm123+smd8qyODjWOYhQtIjt9nC13AZaYdKpYU3nbPoU75ct9GDajo80nsu2OL4wXdUcOeQpJqWaAsaumtD23RzPyoQrRSx4rBhqcqJNrbcyQIh2PrXHjkGH/ZJ5s3KHKWi9dYxp8jv4415BFTcLMuqXtT/pRLTmrdPvuZrF6gqAiZPRoJOSY8rQi1ra3G2zwJvl/UgQy2jQXITAY8uLxQgyDzBJtWrfXdGX8oOLW5kp0vMDsCGOKfizGCKIG/InLhFxtwG9Pzk2uK/6Nv9nfp1bLY6TrQKJ5pv8iDRFCYTFG22SFFy6gdmbrK6EGZJcurp49gCESJ+cHIFf6KZ+m4aTgXZrCKYaDyHzgQ2AChuMUM0uZJHyzsLVObfU3h0c/g/rHweRjoZiW2eX0tDLy92LMSjtdPKlYkJItY5Szf+oBKPLE18YzO3yPPjiwbVym30lIO/CccDnWFqd+VXp/4/CSg5aPHbFdGFVCx3JZUyO7UTbvJFIp4eSH+IGEebzgDUXD66Ntz3ylRzOLy4hONev0jLGofNVEZs5tdGBZjmY+hiJQKPH/nxTF3T3hQP3QyibMl4dNFunEh9FwjBK1RY8I1Eajh9tnAcOJC/ujDwf3qlqV1Pt7FeSce2862CqmrJcbXcL+ytwXFgE32IF2JZSbZX5SLsk9PZqo7+nEadYjFzqOfytb0c9Wi+C4Rdmf3Lb4bxMzBTm+23kmXGi3QInTEDa1u7IBFF8E/eySladX6DUuSuUyEntQJr1oVgS/Q2gdd+/+my7tq/KxTZUQ5dVABjmlfGkP7vORh9bqszMkM2UXQFbOUFGGdH1QrWL7b8OhdLF94XMbEVXPCaaLG+jGqJ+s5HnVlg02xvodvO/aZhSZHg+FCpihgOtu4i7t2ZqVRWPnBgBKK19DmkYP5IMsap6eXtO/TKpuRsXe1lXFD+4jXm7gaN2w0Ne+wH99zOmn81zhg9sI95EnmdrAC6Bu9d2YQ1qFrMAuss+S0IqW9UExiJ7vuQ5kDU5RnvGgINmZ0bY9jpRoJ9waokNyLVCVcHyKcNnZBA96JZUWlbvvLdeQhETqp+9zsaAJ8XdI4AGB9lDqTWLNQedzDlcCIe3lRr8JTNPzFb9kGEZV2OYsnPEWko1jZmRzFQ8r5stylVCHtXiGYDJSQ88U5lFI3c6PmKo4+8Hw+DOUFVAH6G/mjNql0hkszdVZLvplYVN3GKpfiLW5nEafWsJYud3GwUGZ20p8GYGS8UTmEaD29Luooiz85p6tHcHSa1nPZaB1zUMg3ZYoG/snT5t7M8brKE90xH+4XZKXpjw9h/8lKNaG1zdsNz15bqEFf3G0oBGqe+N5e8Jz2kKVc/IW7E9R6fr/VNQm6WVW1K+PGS2GPwKPFta1fMLFbvrYzYwsvX/h6gwQGfL0iCiRIWXGJIyH9ztxN8/bgmAdMnqtDVjAZSKEIjmxmC0a9PENzRW2glivUaq5sZmzMyCeaEave3/RoHmhRBdVWeM8GonrHTJaf3LgMFby7ffM0TaePQM7+oCiFd5cjecB6C4PpBcff9vNKe00RPzaiXq+KjlGMx6AAAVRjajlvsAd3IR/0DnwiX3yfIp1bDgLD4/RyMu2SAPtOFC+lP68W3/0omAedRL75xdVQGeQ01O9Phm/DpmOO1eYoD+ly0AuCniiEd5Ne8kXzbFkKc2o35sBNQvWMBS6w2rTUv/vFCM67MI+V2Jf6Y8CjYoMfgmFowCiKC0XfbxwhNJpsrxMerYJXtjxowxNEOVzxhFJ7QrAFf95OQmfiXDeSdPnnxLTZYR/6ypIDlZp0RLSZd75locBowgFVN3veq+nG9ewgAAAA==);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    border: none;
    border-radius: 16px;
    max-height: calc(100vh - 140px);
    margin-top: 0;
    margin-bottom: 0;
    position: relative;
    overflow-y: auto
}

.eg-card::-webkit-scrollbar {
    display: none
}

.eg-card--wide::-webkit-scrollbar {
    display: none
}

.eg-card--narrow::-webkit-scrollbar {
    display: none
}

.eg-card--wide {
    width: min(94vw, 1180px);
    min-height: auto;
    margin: 0 auto
}

.eg-card--narrow {
    width: min(90vw, 540px);
    min-height: auto;
    margin: 0 auto
}

.ec-frame {
    display: none
}

.eg-card:before,
.eg-card--wide:before,
.eg-card--narrow:before {
    content: "";
    z-index: 10;
    pointer-events: none;
    background-image: url(./card-side-line-BQJBcZRH.webp);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    width: 6px;
    position: absolute;
    top: 16px;
    bottom: 16px;
    left: 14px
}

.eg-card:after,
.eg-card--wide:after,
.eg-card--narrow:after {
    content: "";
    z-index: 10;
    pointer-events: none;
    background-image: url(./card-side-line-BQJBcZRH.webp);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    width: 6px;
    position: absolute;
    top: 16px;
    bottom: 16px;
    right: 14px
}

.ec-body,
.ec-body--timeline-new,
.ec-body--subpage,
.ec-body--two-col {
    padding: 40px 48px;
    position: relative
}

.ec-guide-link {
    transition: all .3s cubic-bezier(.25, .8, .25, 1)
}

.ec-guide-link:hover {
    transform: translate(8px);
    color: #b8912f !important
}

.ec-guide-link svg {
    transition: transform .3s cubic-bezier(.25, .8, .25, 1)
}

.ec-guide-link:hover svg {
    transform: scale(1.15)
}

.eg-card-enter {
    animation: .7s cubic-bezier(.25, .8, .25, 1) both cardEnter
}

@keyframes cardEnter {
    0% {
        opacity: 0;
        transform: translateY(20px)scale(.98)
    }

    to {
        opacity: 1;
        transform: translateY(0)scale(1)
    }
}

@keyframes slideInRight {
    0% {
        opacity: 0;
        transform: translate(100px)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

@keyframes luxuryCardEntrance {
    0% {
        opacity: 0;
        transform: translate(min(100vw, 600px))scale(.95)rotate(-2.5deg)
    }

    20% {
        opacity: 1
    }

    to {
        opacity: 1;
        transform: translate(0, 0)scale(1)rotate(0)
    }
}

@keyframes contentFadeUp {
    0% {
        opacity: 0;
        transform: translateY(10px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.eg-scroll-container {
    justify-content: center;
    align-items: center;
    width: 100%;
    display: flex;
    position: relative
}

.eg-scroll-cap {
    flex-shrink: 0;
    width: 40px
}

.eg-scroll-body {
    flex-grow: 1;
    min-width: 0
}

.eg-header {
    z-index: 200;
    height: 72px;
    box-shadow: none;
    background-color: #0000;
    border-bottom: none;
    justify-content: space-between;
    align-items: center;
    padding: 0 32px;
    display: flex;
    position: fixed;
    top: 24px;
    left: 0;
    right: 0
}

.eg-header-title-h1 {
    font-size: inherit;
    font-weight: inherit;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    line-height: 1;
    display: flex;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.eg-header-logo {
    letter-spacing: 5px;
    color: #2b2620;
    text-transform: uppercase;
    text-align: center;
    font-family: Tempus Sans ITC, Cormorant Garamond, Jost, serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.25;
    text-decoration: none;
    transition: color .3s;
    display: block;
    z-index: 50 !important
}

.eg-header-logo:hover {
    color: #b8912f
}

.eg-header-rsvp {
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #2b2620;
    border: 1px solid #b8912f80;
    border-radius: 2px;
    margin-left: auto;
    padding: 10px 22px;
    font-family: Jost, sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all .3s
}

.eg-header-rsvp:hover {
    color: #faf6ee;
    background-color: #b8912f;
    border-color: #b8912f
}

.eg-burger {
    cursor: pointer;
    color: #2b2620;
    background: 0 0;
    border: none;
    flex-direction: column;
    flex-shrink: 0;
    align-items: flex-start;
    gap: 3px;
    padding: 8px;
    transition: opacity .3s;
    display: flex
}

.eg-burger:hover {
    opacity: .7
}

.eg-burger-lines {
    flex-direction: column;
    gap: 5px;
    display: flex
}

.eg-burger-lines span {
    background-color: currentColor;
    border-radius: 1px;
    height: 1.5px;
    transition: width .3s;
    display: block
}

.eg-burger-lines span:first-child {
    width: 22px
}

.eg-burger-lines span:last-child {
    width: 14px
}

.eg-burger:hover .eg-burger-lines span:last-child {
    width: 22px
}

.eg-burger-label {
    letter-spacing: 2px;
    text-transform: uppercase;
    color: currentColor;
    margin-top: 2px;
    font-family: Jost, sans-serif;
    font-size: 11px;
    font-weight: 600
}

.eg-drawer {
    z-index: 5000;
    text-align: center;
    background-color: #faf6ee;
    border-right: 1px solid #b8912f26;
    flex-direction: column;
    align-items: center;
    width: min(320px, 80vw);
    height: 100%;
    padding: 72px 32px 48px;
    transition: left .45s cubic-bezier(.25, .8, .25, 1);
    display: flex;
    position: fixed;
    top: 0;
    left: -340px;
    box-shadow: 15px 0 50px #2b26201f
}

.eg-drawer.open {
    left: 0
}

.eg-drawer-close {
    cursor: pointer;
    color: #8b7038;
    background: 0 0;
    border: none;
    justify-content: center;
    align-items: center;
    padding: 6px;
    transition: opacity .3s, transform .3s;
    display: flex;
    position: absolute;
    top: 20px;
    right: 20px
}

.eg-drawer-close:hover {
    opacity: .7;
    transform: rotate(90deg)
}

.eg-drawer-logo {
    letter-spacing: 6px;
    color: #2b2620;
    text-transform: uppercase;
    margin-top: 12px;
    margin-bottom: 48px;
    font-family: Tempus Sans ITC, Cormorant Garamond, serif;
    font-size: 14px;
    line-height: 1.4
}

.eg-drawer-links {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none
}

.eg-drawer-links li {
    border-bottom: 1px solid #b8912f1a
}

.eg-drawer-links li:first-child {
    border-top: 1px solid #b8912f1a
}

.eg-drawer-links a {
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #2b2620;
    padding: 18px 0;
    font-family: Jost, sans-serif;
    font-size: 11px;
    font-weight: 500;
    text-decoration: none;
    transition: color .3s, letter-spacing .3s;
    display: block
}

.eg-drawer-links a:hover {
    color: #b8912f;
    letter-spacing: 3.5px
}

.eg-drawer-foot {
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #2b26204d;
    margin-top: auto;
    padding-top: 32px;
    font-family: Jost, sans-serif;
    font-size: 10px
}

.eg-overlay {
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    z-index: 4999;
    opacity: 0;
    pointer-events: none;
    background-color: #1e3b384d;
    transition: opacity .4s;
    position: fixed;
    inset: 0
}

.eg-overlay.on {
    opacity: 1;
    pointer-events: auto
}

.h-scroll-cta {
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #b8912f;
    border: 1px solid #b8912f99;
    border-radius: 2px;
    margin-top: 32px;
    padding: 14px 32px;
    font-family: Jost, sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: all .4s;
    display: inline-block
}

.h-scroll-cta:hover {
    color: #faf6ee;
    background-color: #b8912f;
    border-color: #b8912f
}

.ec-title {
    color: #2b2620;
    letter-spacing: .5px;
    margin-bottom: 8px;
    font-family: Cormorant Garamond, serif;
    font-size: clamp(28px, 4vw, 46px);
    font-weight: 500;
    line-height: 1.2
}

.eg-pg-title {
    color: #2b2620;
    margin-bottom: 4px;
    font-family: Cormorant Garamond, serif;
    font-size: clamp(26px, 3.5vw, 40px);
    font-weight: 500
}

.ec-eyebrow {
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #b8912f;
    margin-bottom: 12px;
    font-family: Jost, sans-serif;
    font-size: 11px;
    font-weight: 600;
    display: block
}

.ec-rule {
    background-color: #8b703880;
    width: 40px;
    height: 1px;
    margin: 16px auto
}

.ec-btn-primary {
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #2b2620;
    cursor: pointer;
    background-color: #b8912f;
    border: 1px solid #b8912f;
    border-radius: 2px;
    padding: 13px 28px;
    font-family: Jost, sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: all .3s;
    display: inline-block
}

.ec-btn-primary:hover {
    color: #fff;
    background-color: #a05b48;
    border-color: #a05b48
}

.ec-hotels {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
    margin-top: 24px;
    display: grid
}

#pg-luxor .eg-card--wide {
    max-height: calc(100vh - 140px) !important
}

.ec-timeline-line {
    background-color: #b8912f4d !important;
    left: 18% !important;
    right: 18% !important
}

.ec-timeline-dot {
    transition: all .3s;
    background-color: #f5f3ed !important;
    border: 2px solid #b8912f !important;
    width: 16px !important;
    height: 16px !important
}

.ec-timeline-tab-btn.active .ec-timeline-dot {
    transform: scale(1.2);
    background-color: #b8912f !important
}

.ec-timeline-label {
    text-transform: uppercase;
    letter-spacing: 1.5px;
    transition: all .3s;
    color: #2b2620 !important;
    background: 0 0 !important;
    margin-top: 8px !important;
    font-family: Jost, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important
}

.ec-timeline-tab-btn.active .ec-timeline-label {
    color: #b8912f !important;
    font-weight: 600 !important
}

.ec-iti-card-new {
    height: 380px !important
}

.eg-header-logo {
    z-index: 50 !important
}

#pg-do .eg-card--wide {
    max-height: calc(100vh - 140px) !important
}

#pg-do .ec-body {
    overflow-y: auto;
    height: auto !important
}

.ec-legs-animated {
    flex-direction: column;
    margin-top: 12px;
    display: flex;
    position: relative
}

.ec-legs-animated:before {
    content: "";
    z-index: 1;
    background: #b8912f40;
    width: 1.5px;
    position: absolute;
    top: 32px;
    bottom: 32px;
    left: 24px
}

.ec-leg-animated {
    color: inherit;
    background-color: #0000;
    border-bottom: 1px solid #0000;
    border-radius: 16px;
    grid-template-columns: 240px 1fr auto;
    align-items: flex-start;
    gap: 56px;
    padding: 40px 24px 40px 72px;
    text-decoration: none;
    transition: all .4s cubic-bezier(.25, .8, .25, 1);
    animation: .6s backwards itiCardFadeIn;
    display: grid;
    position: relative
}

.ec-leg-animated:before {
    content: "";
    z-index: 2;
    background-color: #fdfcf9;
    border: 1.5px solid #b8912f;
    border-radius: 50%;
    width: 9px;
    height: 9px;
    transition: all .4s;
    position: absolute;
    top: 48px;
    left: 20px;
    transform: translateY(-50%)
}

.ec-leg-animated:hover {
    background-color: #fdfcf9d9;
    border-bottom-color: #8b703814;
    transform: translate(4px);
    box-shadow: 0 12px 30px #8b70380d
}

.ec-leg-animated:hover:before {
    background-color: #b8912f;
    transform: translateY(-50%)scale(1.4);
    box-shadow: 0 0 8px #b8912f66
}

.ec-leg-animated-meta {
    flex-direction: column;
    gap: 8px;
    display: flex
}

.ec-leg-animated-tag {
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #b8912f;
    font-family: Jost, sans-serif;
    font-size: 12px;
    font-weight: 600
}

.ec-leg-animated-title {
    color: #2b2620;
    margin: 0;
    font-family: Playfair Display, serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.2
}

.ec-leg-animated-dates {
    letter-spacing: 1.5px;
    color: #2b26208c;
    text-transform: uppercase;
    font-family: Jost, sans-serif;
    font-size: 15px;
    font-weight: 500
}

.ec-leg-animated-desc {
    color: #2b2620bf;
    margin: 0;
    padding-top: 2px;
    font-family: Jost, sans-serif;
    font-size: 19px;
    line-height: 1.8
}

.ec-tlink {
    align-self: center;
    transition: all .3s
}

.ec-tlink:hover {
    color: #f0ebe1 !important;
    background-color: #b8912f !important
}

.ec-before-card,
.ec-discovery-card {
    outline-offset: -8px;
    text-align: center;
    background-color: #fdfcf9;
    border: 1px solid #8b703840;
    border-radius: 16px;
    outline: 1px solid #8b703826;
    max-width: 680px;
    margin: 0 auto;
    padding: 64px 48px;
    transition: transform .6s cubic-bezier(.25, .8, .25, 1), box-shadow .6s;
    position: relative;
    box-shadow: 0 12px 30px #2b26200a
}

.ec-before-card:hover,
.ec-discovery-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 50px #2b262014
}

@media (width<=900px) {
    .ec-leg-animated {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 16px
    }
}

.ec-info-grid-new {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin-top: 32px;
    display: grid
}

.ec-info-card-new {
    color: inherit;
    background-color: #fdfcf9;
    border: 1px solid #8b70381a;
    border-radius: 16px;
    flex-direction: column;
    padding: 32px 24px;
    text-decoration: none;
    transition: transform .4s cubic-bezier(.25, .8, .25, 1), box-shadow .4s, border-color .4s;
    animation: .6s backwards itiCardFadeIn;
    display: flex
}

.ec-info-card-new:hover {
    border-color: #b8912f66;
    transform: translateY(-8px);
    box-shadow: 0 16px 32px #b8912f14
}

.ec-info-card-icon {
    color: #b8912f;
    background-color: #b8912f0d;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 56px;
    height: 56px;
    margin-bottom: 20px;
    transition: transform .4s, background-color .4s;
    display: flex
}

.ec-info-card-new:hover .ec-info-card-icon {
    background-color: #b8912f1a;
    transform: scale(1.1)
}

.ec-info-card-content {
    flex-direction: column;
    flex-grow: 1;
    display: flex
}

.ec-info-card-eyebrow {
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #b8912f;
    margin-bottom: 8px;
    font-family: Jost, sans-serif;
    font-size: 13px;
    font-weight: 600
}

.ec-info-card-title {
    color: #2b2620;
    margin: 0 0 12px;
    font-family: Playfair Display, serif;
    font-size: 22px;
    font-weight: 500
}

.ec-info-card-desc {
    color: #2b2620bf;
    flex-grow: 1;
    margin: 0 0 24px;
    font-family: Jost, sans-serif;
    font-size: 16.5px;
    line-height: 1.6
}

.ec-info-card-btn {
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #a37f2c;
    align-items: center;
    gap: 8px;
    font-family: Jost, sans-serif;
    font-size: 14px;
    font-weight: 600;
    transition: gap .3s;
    display: flex
}

.ec-frame {
    z-index: 10 !important
}

.hub-btn-primary {
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #2b2620;
    background-color: #b8912f;
    background-image: url(./button-sand-bg-CypnCCDg.png);
    background-position: 50%;
    background-size: cover;
    border: 1px solid #b8912f;
    border-radius: 4px;
    justify-content: center;
    align-items: center;
    padding: 14px 30px;
    font-family: Jost, sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    transition: all .3s;
    display: inline-flex
}

.hub-btn-primary:hover {
    color: #fff;
    background-color: #a05b48;
    border-color: #a05b48;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px #b8912f33
}

.ec-help-card {
    background: #fff;
    border-radius: 8px;
    padding: 30px;
    transition: all .4s cubic-bezier(.165, .84, .44, 1);
    transform: translateY(0);
    box-shadow: 0 4px 15px #00000008
}

.ec-help-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px #b8912f14
}

.ec-help-card-icon {
    stroke: #b8912f;
    margin-bottom: 20px;
    transition: transform .4s
}

.ec-help-card:hover .ec-help-card-icon {
    transform: scale(1.1)rotate(5deg)
}

.ec-help-card-dashed {
    text-align: center;
    background: #fdfbf7;
    border: 1px dashed #ebe9e1;
    border-radius: 8px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px;
    transition: all .4s;
    display: flex
}

.ec-help-card-dashed:hover {
    background: #fff;
    border-color: #b8912f;
    transform: translateY(-4px);
    box-shadow: 0 10px 25px #b8912f14
}

.back-to-top-btn {
    z-index: 9999;
    color: #2b2620;
    text-transform: uppercase;
    letter-spacing: 2px;
    cursor: pointer;
    background-color: #b8912f;
    background-image: url(./button-sand-bg-CypnCCDg.png);
    background-position: 50%;
    background-size: cover;
    border: 1px solid #b8912f;
    border-radius: 4px;
    padding: 12px 24px;
    font-family: Jost, sans-serif;
    font-size: 13px;
    font-weight: 700;
    transition: all .4s;
    position: fixed;
    bottom: 40px;
    right: 40px;
    box-shadow: 0 4px 15px #0000001a
}

.back-to-top-btn:hover {
    color: #fff;
    background-color: #a05b48;
    border-color: #a05b48;
    transform: translateY(-4px);
    box-shadow: 0 8px 25px #b8912f33
}

@media (width<=768px) {

    .eg-card--wide,
    .eg-card--narrow,
    .eg-card {
        width: 95vw !important;
        max-height: calc(100vh - 100px) !important;
        margin-top: 10px !important
    }

    .ec-body--timeline-new,
    .ec-body,
    .ec-body--subpage {
        padding: 24px 20px !important
    }

    .ec-frame {
        inset: 8px !important
    }

    .ec-title,
    .eg-pg-title,
    h1 {
        font-size: clamp(28px, 6vw, 42px) !important;
        line-height: 1.2 !important
    }

    h2 {
        font-size: clamp(24px, 5vw, 36px) !important
    }

    h3,
    .ec-leg-animated-title,
    .ec-info-card-title {
        font-size: clamp(20px, 4vw, 26px) !important
    }

    p,
    .ec-leg-animated-desc,
    .ec-info-card-desc {
        font-size: 14px
    }
}

.eg-page:not(.active) .ec-leg-animated,
.eg-page:not(.active) .ec-info-card-new,
.eg-page:not(.active) .ec-title,
.eg-page:not(.active) .ec-rule,
.eg-page:not(.active) .ec-hotel-card-new,
.eg-page:not(.active) .ec-intro-img,
.eg-page:not(.active) .ec-subpage-wrap {
    opacity: 0;
    transform: translateY(20px);
    animation: none !important
}

.eg-page.active .ec-title {
    animation: .8s cubic-bezier(.2, 1, .3, 1) .3s both contentFadeUp !important
}

.eg-page.active .ec-rule {
    animation: .8s cubic-bezier(.2, 1, .3, 1) .4s both contentFadeUp !important
}

.eg-page.active .ec-intro-img {
    animation: 1.2s cubic-bezier(.2, 1, .3, 1) .4s both contentFadeUp !important
}

.eg-page.active .ec-leg-animated:first-child,
.eg-page.active .ec-hotel-card-new:first-child,
.eg-page.active .ec-info-card-new:first-child {
    animation: .8s cubic-bezier(.2, 1, .3, 1) .5s both contentFadeUp !important
}

.eg-page.active .ec-leg-animated:nth-child(2),
.eg-page.active .ec-hotel-card-new:nth-child(2),
.eg-page.active .ec-info-card-new:nth-child(2) {
    animation: .8s cubic-bezier(.2, 1, .3, 1) .65s both contentFadeUp !important
}

.eg-page.active .ec-leg-animated:nth-child(3),
.eg-page.active .ec-hotel-card-new:nth-child(3),
.eg-page.active .ec-info-card-new:nth-child(3) {
    animation: .8s cubic-bezier(.2, 1, .3, 1) .8s both contentFadeUp !important
}

.eg-page.active .ec-leg-animated:nth-child(4),
.eg-page.active .ec-hotel-card-new:nth-child(4),
.eg-page.active .ec-info-card-new:nth-child(4) {
    animation: .8s cubic-bezier(.2, 1, .3, 1) .95s both contentFadeUp !important
}

.onboarding-card-visible .ec-title,
.onboarding-card-visible .ec-rule {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important
}

@media (width<=768px) {

    .ec-info-grid-new,
    .ec-hotels,
    .ec-subpage-grid--3col,
    .ec-legs-animated {
        grid-template-columns: 1fr !important;
        gap: 20px !important
    }

    .ec-leg-animated {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        padding: 20px !important
    }

    .ec-leg-animated:before,
    .ec-legs-animated:before {
        display: none !important
    }

    .hub-btn-primary {
        text-align: center !important;
        width: 100% !important;
        padding: 12px 20px !important;
        font-size: 14px !important
    }

    .ec-timeline-label {
        padding: 8px !important;
        font-size: 13px !important
    }

    .eg-header-logo {
        letter-spacing: 10px !important;
        font-size: 24px !important;
        top: 20px !important
    }

    .back-to-top-btn {
        padding: 10px 16px !important;
        font-size: 11px !important;
        bottom: 20px !important;
        right: 20px !important
    }
}

.eg-page {
    box-sizing: border-box !important;
    padding-top: 50px !important;
    padding-bottom: 40px !important
}

.eg-card--wide {
    max-height: calc(100vh - 200px) !important;
    margin-top: 0 !important
}

.eg-page {
    box-sizing: border-box !important;
    padding-top: 100px !important;
    padding-bottom: 20px !important;
    overflow: hidden !important
}

.eg-card,
.eg-card--wide,
.eg-card--narrow {
    scrollbar-width: none;
    -ms-overflow-style: none;
    max-height: calc(100vh - 140px) !important;
    margin-bottom: 0 !important;
    overflow-y: auto !important
}

.eg-card::-webkit-scrollbar {
    display: none
}

.ec-subpage {
    max-height: 90vh !important;
    overflow-y: auto !important
}

.ec-subpage-wrap {
    overflow-y: hidden !important
}

.eg-detail-modal {
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    box-sizing: border-box;
    background-color: #faf5ec;
    background-image: url(/wp-content/themes/vancleefarpels/assets/images/sand-bg.png);
    background-position: 50%;
    background-size: cover;
    background-attachment: fixed;
    width: 100vw;
    height: 100vh;
    transition: all .6s cubic-bezier(.165, .84, .44, 1);
    position: fixed;
    top: 0;
    left: 0;
    overflow-y: auto;
    transform: translateY(20px)
}

.eg-detail-modal.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.eg-modal-content {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: #ffffffd9;
    max-width: 1000px;
    min-height: 100vh;
    margin: 0 auto;
    padding: 80px 20px;
    position: relative;
    box-shadow: 0 0 40px #0000000d
}

.eg-modal-close {
    color: #b8912f;
    cursor: pointer;
    z-index: 100;
    background: 0 0;
    border: 1px solid #b8912f;
    border-radius: 4px;
    align-items: center;
    margin-bottom: 40px;
    padding: 8px 16px;
    font-family: Jost, sans-serif;
    font-size: 14px;
    font-weight: 600;
    transition: all .3s;
    display: inline-flex;
    position: sticky;
    top: 20px
}

.eg-modal-close:hover {
    color: #fff;
    background: #b8912f
}

.leg-page-header {
    text-align: center;
    margin-bottom: 30px
}

.leg-tagline {
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #8b7038;
    margin-bottom: 12px;
    font-family: Jost, sans-serif;
    font-size: 14px;
    display: block
}

.leg-title {
    color: #2b2620;
    margin: 0 0 16px;
    font-family: Cormorant Garamond, serif;
    font-size: clamp(32px, 5vw, 48px);
    line-height: 1.1
}

.leg-dates {
    color: #666;
    font-family: Jost, sans-serif;
    font-size: 14px
}

.leg-ornament {
    margin-top: 24px
}

.leg-detail-grid {
    grid-template-columns: 1fr;
    gap: 60px;
    display: grid
}

@media (width>=768px) {
    .leg-detail-grid {
        grid-template-columns: 1fr 1fr
    }
}

.section-title {
    color: #2b2620;
    border-bottom: 1px solid #b8912f4d;
    margin-bottom: 30px;
    padding-bottom: 16px;
    font-family: Cormorant Garamond, serif;
    font-size: 28px
}

.timeline-item {
    border-left: 2px solid #b8912f33;
    margin-bottom: 30px;
    padding-left: 20px;
    position: relative
}

.timeline-day {
    color: #b8912f;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 8px;
    font-family: Jost, sans-serif;
    font-size: 13px;
    font-weight: 600;
    display: block
}

.timeline-title {
    color: #2b2620;
    margin: 0 0 10px;
    font-family: Cormorant Garamond, serif;
    font-size: 22px
}

.timeline-desc {
    color: #555;
    margin: 0;
    font-size: 15px;
    line-height: 1.6
}

.highlight-item-card {
    background: #fff;
    border: 1px solid #b8912f26;
    border-radius: 4px;
    margin-bottom: 20px;
    padding: 24px;
    box-shadow: 0 4px 15px #00000005
}

.highlight-title {
    color: #2b2620;
    margin: 0 0 12px;
    font-family: Cormorant Garamond, serif;
    font-size: 20px
}

.highlight-desc {
    color: #666;
    margin: 0;
    font-size: 15px;
    line-height: 1.6
}

.ec-hotel-card-new.hover-card {
    cursor: pointer;
    border-radius: 8px 8px 8px 60px;
    flex-direction: column;
    height: 350px;
    display: flex;
    position: relative;
    overflow: hidden
}

.ec-hotel-card-img {
    object-fit: cover;
    z-index: 1;
    width: 100%;
    height: 100%;
    transition: transform .6s cubic-bezier(.25, .8, .25, 1);
    position: absolute;
    top: 0;
    left: 0
}

.ec-hotel-card-new.hover-card:hover .ec-hotel-card-hover-details {
    color: #fff;
    margin: 0;
    font-weight: 400
}

.static-page-wrapper .eg-page {
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    position: relative !important
}

.static-page-wrapper .eg-card {
    padding-bottom: 60px;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important
}

.ec-hotel-card-new.hover-card {
    cursor: pointer;
    border-radius: 8px;
    flex-direction: column;
    height: 280px;
    transition: border-radius .4s;
    display: flex;
    position: relative;
    overflow: hidden
}

.ec-hotel-card-new.hover-card:hover {
    border-radius: 8px 8px 8px 60px
}

.ec-hotel-card-img {
    object-fit: cover;
    object-position: top center;
    z-index: 1;
    width: 100%;
    height: 100%;
    transition: transform .6s cubic-bezier(.25, .8, .25, 1);
    position: absolute;
    top: 0;
    left: 0
}

.ec-hotel-card-new.hover-card:hover .ec-hotel-card-img {
    transform: scale(1.05)
}

.ec-hotel-card-overlay {
    z-index: 2;
    background: linear-gradient(#0000001a 0%, #0006 50%, #000000d9 100%);
    transition: background .4s;
    position: absolute;
    inset: 0
}

.ec-hotel-card-new.hover-card:hover .ec-hotel-card-overlay {
    background: linear-gradient(#0003 0%, #0009 40%, #000000f2 100%)
}

.ec-hotel-content-new {
    z-index: 3;
    color: #fff;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    padding: 30px;
    display: flex;
    position: absolute;
    bottom: 0;
    left: 0
}

.ec-hotel-city-new {
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #d1b585;
    margin-bottom: 5px;
    font-family: Jost, sans-serif;
    font-size: 11px;
    font-weight: 600
}

.ec-hotel-title-new {
    color: #fff;
    margin: 0;
    font-family: Cormorant Garamond, serif;
    font-size: 28px;
    font-weight: 400
}

.ec-hotel-card-hover-details {
    grid-template-rows: 0fr;
    transition: grid-template-rows .4s cubic-bezier(.25, .8, .25, 1);
    display: grid
}

.ec-hotel-card-new.hover-card:hover .ec-hotel-card-hover-details {
    grid-template-rows: 1fr
}

.ec-hotel-card-hover-inner {
    overflow: hidden
}

.ec-hotel-desc-new {
    color: #ffffffe6;
    margin: 10px 0 0;
    font-family: Jost, sans-serif;
    font-size: 14px;
    line-height: 1.5
}

.ec-help-card-wysiwyg ul {
    margin: 10px 0;
    padding-left: 20px
}

.ec-help-card-wysiwyg li {
    margin-bottom: 8px
}

.ec-help-card-wysiwyg strong {
    color: #2b2620;
    font-weight: 600
}

.ec-help-card-wysiwyg p {
    margin-bottom: 10px
}

textarea {
    resize: none !important
}

.responsive-grid-2 {
    grid-template-columns: 1fr;
    gap: 20px;
    display: grid
}

@media (width>=768px) {
    .responsive-grid-2 {
        grid-template-columns: repeat(2, 1fr)
    }
}

.responsive-grid-auto-fill {
    grid-template-columns: 1fr;
    gap: 16px;
    display: grid
}

@media (width>=768px) {
    .responsive-grid-auto-fill {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr))
    }
}

.responsive-flex-row {
    flex-direction: column;
    gap: 20px;
    display: flex
}

@media (width>=768px) {
    .responsive-flex-row {
        flex-direction: row;
        gap: 40px
    }
}

.ec-help-tabs-header.extracted-style-15 {
    flex-direction: column;
    display: flex
}

@media (width>=768px) {
    .ec-help-tabs-header.extracted-style-15 {
        flex-direction: row
    }
}

@media (max-width: 768px) {
    body .eg-header-title-h1 .eg-header-logo img.extracted-style-1 {
        max-height: 48px !important;
        max-width: 110px !important;
        margin-top: 0 !important;
        width: auto !important;
        height: auto !important;
        display: block !important;
    }

    body .eg-header-title-h1 .eg-header-logo {
        top: 20px !important;
        transform: translate(-50%, -50%) !important;
    }

    .ec-hero-menu-wrap {
        padding-top: 120px !important
    }

    .ec-nav-title {
        font-size: 20px !important;
        line-height: 1.2 !important
    }

    .ec-nav-list a {
        font-size: 18px !important
    }
}

.extracted-style-1 {
    object-fit: contain;
    width: auto;
    max-height: 89px;
    margin-top: 35px;
    display: block
}

.extracted-style-2 {
    justify-content: center;
    padding: 26px 0;
    display: flex
}

.extracted-style-3 {
    object-fit: contain;
    max-width: 130px;
    height: auto
}

.extracted-style-4 {
    outline: none
}

.extracted-style-5 {
    position: relative
}

.extracted-style-6 {
    pointer-events: none;
    justify-content: center;
    display: flex;
    position: absolute;
    top: 35%;
    left: 0;
    right: 0
}

.extracted-style-7 {
    position: absolute;
    inset: 0
}

.extracted-style-8 {
    opacity: 1px;
    pointer-events: none;
    justify-content: center;
    display: flex;
    position: absolute;
    top: 35%;
    left: 0;
    right: 0
}

.extracted-style-9 {
    text-align: center
}

.extracted-style-10 {
    width: 40px;
    opacity: .5px;
    border-top: 1px solid #8b7038;
    margin: 20px auto
}

.extracted-style-11 {
    text-align: center
}

.extracted-style-12 {
    text-transform: uppercase
}

.extracted-style-13 {
    text-align: center;
    color: #1e3b38;
    grid-column: 1/-1
}

.extracted-style-14 {
    letter-spacing: 1.5px;
    align-self: flex-start;
    margin-top: 10px;
    padding: 10px 24px;
    font-size: 12px
}

.extracted-style-15 {
    border-bottom: 2px solid #ebe9e1;
    margin-top: 30px;
    margin-bottom: 40px;
    display: flex
}

.extracted-style-16 {
    border-top: 10px solid #b8912f;
    border-left: 10px solid #0000;
    border-right: 10px solid #0000;
    width: 0;
    height: 0;
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translate(-50%)
}

.extracted-style-17 {
    min-height: 400px
}

.extracted-style-18 {
    font-family: var(--ff-d);
    color: #2b2620;
    margin-bottom: 8px;
    font-size: 22px
}

.extracted-style-19 {
    font-family: var(--ff-b);
    color: #b8912f;
    margin-bottom: 16px;
    font-size: 15px;
    font-style: italic
}

.extracted-style-20 {
    font-family: var(--ff-d);
    color: #3a5a57;
    margin-bottom: 20px;
    font-size: 24px
}

.extracted-style-21 {
    margin-bottom: 40px;
    overflow-x: auto
}

.extracted-style-22 {
    border-collapse: collapse;
    text-align: left;
    width: 100%;
    font-family: var(--ff-b);
    font-size: 15px
}

.extracted-style-23 {
    border-bottom: 1px solid #ebe9e1
}

.extracted-style-24,
.extracted-style-25,
.extracted-style-26,
.extracted-style-27 {
    color: #b8912f;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 12px;
    font-size: 12px;
    font-weight: 700
}

.extracted-style-28 {
    border-bottom: 1px solid #ebe9e1
}

.extracted-style-29 {
    color: #2b2620;
    padding: 16px 12px;
    font-weight: 700
}

.extracted-style-30 {
    flex-grow: 0px;
    width: 100%;
    max-width: 860px;
    margin: 0 auto
}

.extracted-style-31 {
    padding-top: 60px;
    padding-bottom: 60px
}

.extracted-style-32 {
    text-align: center
}

.extracted-style-33 {
    width: 40px;
    opacity: .5px;
    border-top: 1px solid #8b7038;
    margin: 20px auto
}

.extracted-style-34 {
    max-width: 900px;
    margin: 0 auto
}

.extracted-style-35 {
    align-items: center;
    gap: 12px;
    margin-top: 32px;
    margin-bottom: 28px;
    display: flex
}

.extracted-style-36 {
    font-family: var(--ff-d);
    color: #2b2620;
    margin: 0;
    font-size: 28px
}

.extracted-style-37 {
    margin-bottom: 32px;
    position: relative
}

.extracted-style-38 {
    font-family: var(--ff-b);
    color: #2b2620;
    text-align: center
}

.extracted-style-39 {
    flex-shrink: 0px;
    color: #fff;
    width: 32px;
    height: 40px;
    font-family: var(--ff-d);
    font-size: 14px;
    font-weight: 700px;
    background: #3a5a57;
    border-radius: 3px;
    justify-content: center;
    align-items: center;
    display: flex
}

.extracted-style-40 {
    flex: 1px;
    min-width: 0
}

.extracted-style-41 {
    font-family: var(--ff-d);
    color: #2b2620;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin-bottom: 2px;
    font-size: 17px;
    overflow: hidden
}

.extracted-style-42 {
    text-align: center;
    width: 75px;
    font-family: var(--ff-b);
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #b8912f;
    flex-shrink: 0px;
    font-size: 12px;
    display: inline-block
}

.extracted-style-43 {
    pointer-events: none;
    justify-content: space-between;
    display: flex;
    position: absolute;
    top: 50%;
    left: -40px;
    right: -40px;
    transform: translateY(-50%)
}

.extracted-style-44 {
    margin-bottom: 16px;
    position: relative
}

.extracted-style-45 {
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    display: flex
}

.extracted-style-46 {
    font-family: var(--ff-d);
    color: #2b2620;
    margin: 0;
    font-size: 22px
}

.extracted-style-47 {
    margin-bottom: 8px
}

.extracted-style-48 {
    pointer-events: none;
    justify-content: space-between;
    display: flex;
    position: absolute;
    top: 50%;
    left: -40px;
    right: -40px;
    transform: translateY(-50%)
}

.extracted-style-49 {
    text-align: center;
    margin-top: 16px
}

.extracted-style-50 {
    cursor: pointer;
    border-radius: 4px;
    padding: 12px 36px;
    font-size: 15px
}

.extracted-style-51 {
    flex-grow: 0;
    width: fit-content;
    max-width: min(90vw, 540px);
    margin: 0 auto
}

.extracted-style-52 {
    display: none
}

.extracted-style-53 {
    margin-bottom: 24px
}

.extracted-style-54 {
    text-align: center;
    grid-column: 1/-1
}

.extracted-style-55 {
    position: relative
}

.extracted-style-56,
.extracted-style-57,
.extracted-style-58 {
    z-index: 1px;
    position: relative
}

.extracted-style-59 {
    text-align: center;
    grid-column: 1/-1
}

.extracted-style-60 {
    text-align: center
}

.extracted-style-61 {
    text-align: center;
    font-family: var(--ff-b)
}

.extracted-style-62 {
    font-family: var(--ff-d);
    color: var(--goldf);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 16px;
    margin-bottom: 12px;
    font-size: 16px
}

.extracted-style-63 {
    margin-right: 12px;
    font-size: 24px
}

.extracted-style-64 {
    font-size: 15px
}

.extracted-style-65 {
    margin-top: 32px;
    margin-bottom: 32px
}

.extracted-style-66 {
    margin-right: 12px;
    font-size: 24px
}

.extracted-style-67 {
    font-size: 15px
}

.extracted-style-68 {
    margin-right: 12px;
    font-size: 24px
}

.extracted-style-69 {
    font-size: 15px
}

.extracted-style-70 {
    margin-right: 12px;
    font-size: 24px
}

.extracted-style-71 {
    font-size: 15px
}

.extracted-style-72 {
    font-family: var(--ff-b);
    color: var(--goldf);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 4px 0 0;
    font-size: 11px
}

.extracted-style-73 {
    text-align: center;
    margin-bottom: 32px
}

.extracted-style-74 {
    font-family: var(--ff-b);
    text-transform: uppercase;
    letter-spacing: 2.5px;
    color: #b8912f;
    margin-bottom: 6px;
    font-size: 10px;
    display: block
}

.extracted-style-75 {
    font-family: var(--ff-d);
    color: #1e3b38;
    text-transform: none;
    margin-bottom: 12px;
    font-size: 42px
}

.extracted-style-76 {
    grid-template-columns: 1.2fr 1fr;
    gap: 28px;
    margin-bottom: 32px;
    display: grid
}

.extracted-style-77 {
    grid-template-columns: 1fr 1.2fr;
    gap: 40px;
    display: grid
}

.extracted-style-78,
.extracted-style-79 {
    font-family: var(--ff-d);
    color: #8b7038;
    margin-bottom: 10px;
    font-size: 20px
}

.extracted-style-80 {
    text-align: center;
    margin-bottom: 32px
}

.extracted-style-81 {
    font-family: var(--ff-b);
    text-transform: uppercase;
    letter-spacing: 2.5px;
    color: #b8912f;
    margin-bottom: 6px;
    font-size: 10px;
    display: block
}

.extracted-style-82 {
    font-family: var(--ff-d);
    color: #1e3b38;
    text-transform: none;
    margin-bottom: 12px;
    font-size: 42px
}

.extracted-style-83 {
    grid-template-columns: 1.2fr 1fr;
    gap: 28px;
    margin-bottom: 32px;
    display: grid
}

.extracted-style-84 {
    grid-template-columns: 1fr 1.2fr;
    gap: 40px;
    display: grid
}

.extracted-style-85,
.extracted-style-86 {
    font-family: var(--ff-d);
    color: #8b7038;
    margin-bottom: 10px;
    font-size: 20px
}

.extracted-style-87 {
    text-align: center;
    margin-bottom: 32px
}

.extracted-style-88 {
    font-family: var(--ff-b);
    text-transform: uppercase;
    letter-spacing: 2.5px;
    color: #b8912f;
    margin-bottom: 6px;
    font-size: 10px;
    display: block
}

.extracted-style-89 {
    font-family: var(--ff-d);
    color: #1e3b38;
    text-transform: none;
    margin-bottom: 12px;
    font-size: 42px
}

.extracted-style-90 {
    grid-template-columns: 1.2fr 1fr;
    gap: 28px;
    margin-bottom: 32px;
    display: grid
}

.extracted-style-91 {
    grid-template-columns: 1fr 1.2fr;
    gap: 40px;
    display: grid
}

.extracted-style-92,
.extracted-style-93 {
    font-family: var(--ff-d);
    color: #8b7038;
    margin-bottom: 10px;
    font-size: 20px
}

.extracted-style-94 {
    text-align: center;
    margin-bottom: 32px
}

.extracted-style-95 {
    font-family: var(--ff-b);
    text-transform: uppercase;
    letter-spacing: 2.5px;
    color: #b8912f;
    margin-bottom: 6px;
    font-size: 10px;
    display: block
}

.extracted-style-96 {
    font-family: var(--ff-d);
    color: #1e3b38;
    text-transform: none;
    margin-bottom: 12px;
    font-size: 42px
}

.extracted-style-97 {
    grid-template-columns: 1.2fr 1fr;
    gap: 28px;
    margin-bottom: 32px;
    display: grid
}

.extracted-style-98 {
    grid-template-columns: 1fr 1.2fr;
    gap: 40px;
    display: grid
}

.extracted-style-99,
.extracted-style-100 {
    font-family: var(--ff-d);
    color: #8b7038;
    margin-bottom: 10px;
    font-size: 20px
}

.extracted-style-101 {
    margin-top: -2px
}@media (max-width: 768px) {
    body .eg-header { height: 56px !important; }
    body .eg-header-title-h1 { top: 50% !important; transform: translate(-50%, -50%) !important; }
    body .eg-header-title-h1 .eg-header-logo { top: 20px !important; transform: translate(-50%, -50%) !important; }
    body .eg-header-title-h1 .eg-header-logo img.extracted-style-1 {
        max-height: 48px !important;
        max-width: 110px !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        width: auto !important;
        height: auto !important;
        display: block !important;
    }
}

@media (max-width: 600px) {
  #vca-sec-do .vca-btn-details{
    font-size: 11px !important;
    padding: 5px 15px !important;
  }
  .header-left{
    margin-bottom: 36px !important;
  }

}