/* Homepage palette sampled from the supplied reference: RGB(16, 60, 52). */
.vd-home { --home-green:#103c34; --home-green-hover:#1d5549; --home-ink:#173c34; --home-muted:#65776e; --home-line:#dce6de; --home-paper:#f6f8f4; --vd-ink:var(--home-ink); --vd-paper:var(--home-paper); background:var(--home-paper); color:var(--home-ink); }
:is(.vd-home, body.ve-homepage) .vd-cms { background:#f6f8f4; background-image:none; }
:is(.vd-home, body.ve-homepage) .vd-cms > section { background-image:none; }
:is(.vd-home, body.ve-homepage) .vd-booking,:is(.vd-home, body.ve-homepage) .vd-heritage { background:#f6f8f4; }
:is(.vd-home, body.ve-homepage) .vd-travel-values { background:#eaf1eb; border-color:#dce6de; }
:is(.vd-home, body.ve-homepage) .vd-booking-heading h2 em,:is(.vd-home, body.ve-homepage) .vd-story h2 em { color:#547267; }
:is(.vd-home, body.ve-homepage) .vd-booking .vd-booking-tabs .nav-link.active,
:is(.vd-home, body.ve-homepage) .vd-booking .ve56-card__cta,
:is(.vd-home, body.ve-homepage) .vd-heritage .bg-pink a { background:#103c34; border-color:#103c34; color:#fff!important; }
:is(.vd-home, body.ve-homepage) .vd-booking .ve56-card__cta:hover { background:#1d5549; }
:is(.vd-home, body.ve-homepage) .vd-booking-more a { color:#103c34; border-color:#b7cbc1; }
:is(.vd-home, body.ve-homepage) .vd-travel-bar > a { background:#eef4ee; color:#103c34; }
:is(.vd-home, body.ve-homepage) .vd-travel-bar > a:hover { background:#dceade; }
:is(.vd-home, body.ve-homepage) .vd-travel-intro strong,:is(.vd-home, body.ve-homepage) .vd-booking .ve56-card__title,:is(.vd-home, body.ve-homepage) .vd-booking .ve56-price strong { color:#103c34; }
:is(.vd-home, body.ve-homepage) .vd-travel-bar,:is(.vd-home, body.ve-homepage) .vd-booking .ve56-card { border-color:#dce6de; }
:is(.vd-home, body.ve-homepage) .vd-cinema::after { background:linear-gradient(90deg,#103c34e6,#103c3473 55%,#103c341a),linear-gradient(0deg,#082c26eb,transparent 45%); }
:is(.vd-home, body.ve-homepage) .ve-space-list a.ve-space-list__action { background:#103c34!important; }
:is(.vd-home, body.ve-homepage) .vd-heritage .bg-pink { background:#e8f0e9!important; }
:is(.vd-events, .vd-journal) .vd-collection-head { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin-bottom:30px; }
:is(.vd-events, .vd-journal) .vd-collection-kicker { display:block; color:#557468; font-size:10px; font-weight:700; letter-spacing:.17em; margin-bottom:15px; }
:is(.vd-events, .vd-journal) .vd-collection-head h2 { font:500 clamp(30px,3.2vw,46px)/1.14 Urbanist,"Poppins",sans-serif; letter-spacing:-.045em; color:#103c34; margin:0; }
:is(.vd-events, .vd-journal) .vd-collection-head p { color:#65776e; font-size:14px; line-height:1.8; margin:14px 0 0; }
:is(.vd-events, .vd-journal) a.vd-collection-link { display:inline-flex; align-items:center; justify-content:center; gap:22px; padding:14px 22px; min-height:46px; background:#103c34; color:#fff!important; border-radius:30px; font-size:12px; font-weight:600; flex-shrink:0; }
:is(.vd-events, .vd-journal) a.vd-collection-link:hover { background:#1d5549; }
.vd-events { padding:64px 0; background:#eef3ee; border-top:1px solid #dce6de; border-bottom:1px solid #dce6de; }
.vd-events > .container,.vd-journal > .container { max-width:1320px; }
.vd-events-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.vd-events .ve56-card { display:grid; grid-template-columns:42% minmax(0,1fr); border-radius:20px; border:1px solid #dce6de; background:#fff; height:auto; min-height:280px; box-shadow:0 6px 24px #103c3405; }
.vd-events .ve56-card:hover { box-shadow:0 14px 36px #103c3412; transform:translateY(-3px); }
.vd-events .ve56-card__media { aspect-ratio:auto; margin:8px 0 8px 8px; border-radius:13px; min-height:250px; }
.vd-events .ve56-card__media > a { position:absolute; inset:0; }
.vd-events .ve56-card__media img { width:100%; height:100%; object-fit:cover; }
.vd-events .ve56-card__body { padding:24px 22px; }
.vd-events .ve56-card__meta { color:#6c7e73; font-size:11px; margin-bottom:10px; }
.vd-events .ve56-card__title { color:#103c34; font-size:21px; font-weight:600; line-height:1.3; letter-spacing:-.025em; margin-bottom:16px; }
.vd-events .ve56-spec { color:#64796c; font-size:11px; }
.vd-events .ve56-specs { margin-bottom:22px; }
.vd-events .ve56-card__footer { gap:10px; border-color:#e7ede5; padding-top:15px; }
.vd-events .ve56-price strong { font-size:23px; font-weight:600; color:#103c34; }
.vd-events .ve56-card__cta { padding:10px 13px; border-radius:30px; background:#103c34; color:#fff!important; font-size:11px; gap:10px; }
.vd-events .ve56-card__cta:hover { background:#1d5549; }
.vd-event-date { position:absolute; top:14px; left:14px; min-width:54px; border-radius:12px; padding:8px 12px; display:grid; gap:3px; text-align:center; background:#ffffffed; color:#103c34; box-shadow:0 5px 20px #103c3417; }
.vd-event-date strong { font-size:24px; font-weight:600; line-height:1; }
.vd-event-date span { font-size:10px; text-transform:uppercase; font-weight:600; letter-spacing:.1em; }
.vd-events .ve56-badges { inset:auto 12px 12px; }
.vd-journal { padding:64px 0 72px; background:#f6f8f4; }
.vd-journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.vd-journal-card { padding:28px; display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid #dce6de; border-radius:18px; }
.vd-journal-card-top { display:flex; align-items:center; justify-content:space-between; color:#6e897b; margin-bottom:24px; }
.vd-journal-card-top > span { font-size:11px; letter-spacing:.12em; }
.vd-journal-card-top i { width:38px; height:38px; display:grid; place-items:center; background:#eaf2eb; border-radius:12px; color:#103c34; font-size:18px; }
.vd-journal-card h3 { font-size:21px; font-weight:600; line-height:1.35; margin:0 0 12px; letter-spacing:-.025em; }
.vd-journal-card h3 a { color:#103c34!important; }
.vd-journal-card p { font-size:13px; color:#65776e; line-height:1.8; margin-bottom:24px; }
.vd-journal a.vd-journal-read { margin-top:auto; padding-top:18px; border-top:1px solid #e7ede5; display:flex; align-items:center; justify-content:space-between; color:#103c34; font-size:12px; font-weight:600; }
.vd-journal a.vd-journal-read:hover { color:#28775d; }
:is(.vd-events, .vd-journal) .vd-collection-empty { padding:32px; grid-column:1/-1; }
.vd-journal a:focus-visible,.vd-events a:focus-visible { outline:3px solid #a2bd75; outline-offset:4px; }
/* Keep footer refinements local to pages that contain the discovery homepage. */
body.ve-homepage .ve-site-footer { background:#103c34!important; background-image:none!important; }
body.ve-homepage .ve-site-footer::before,body.ve-homepage .ve-site-footer::after { display:none; }
body.ve-homepage .ve-site-footer .ve-footer-card,body.ve-homepage .ve-site-footer .ve-footer-subscribe-card { background:#ffffff08; border:1px solid #ffffff20; box-shadow:none; backdrop-filter:none; border-radius:20px; }
body.ve-homepage .ve-site-footer h2,body.ve-homepage .ve-site-footer h3,body.ve-homepage .ve-site-footer h4,body.ve-homepage .ve-site-footer a { color:#f3f8ef!important; }
body.ve-homepage .ve-site-footer p,body.ve-homepage .ve-site-footer .ve-footer-cms-label { color:#c0d5c9!important; }
body.ve-homepage .ve-site-footer .ve-weather-temp,body.ve-homepage .ve-site-footer .ve-weather-city { color:#fff!important; }
body.ve-homepage .ve-site-footer .ve-footer-cms-card,body.ve-homepage .ve-site-footer .ve-weather-slide { background:#ffffff08; border:1px solid #ffffff1f; box-shadow:none; }
@media(max-width:1100px) { .vd-events .ve56-card { grid-template-columns:1fr; } .vd-events .ve56-card__media { min-height:0; aspect-ratio:1.8; margin:8px 8px 0; } }
@media(max-width:767px) { :is(.vd-events, .vd-journal) .vd-collection-head { flex-direction:column; align-items:flex-start; gap:20px; } .vd-journal-grid { grid-template-columns:1fr; gap:16px; } .vd-journal,.vd-events { padding:44px 0; } }
@media(max-width:575px) { .vd-events-grid { grid-template-columns:1fr; gap:20px; } .vd-journal-card { padding:24px; } .vd-events .ve56-card__body { padding:22px; } }
@media(prefers-reduced-motion:reduce) { .vd-events .ve56-card:hover { transform:none; } }

/* Page-level identity survives legacy CMS wrappers. */
body.ve-homepage { --home-green:#103c34; --home-ink:#173c34; --home-paper:#f6f8f4; --home-muted:#65776e; background:#f6f8f4!important; background-image:none!important; color:#173c34; }
body.ve-homepage .bravo_wrap,body.ve-homepage .site_wrapper { background:#f6f8f4!important; }
body.ve-homepage .vd-travel-bar { box-shadow:0 12px 34px #103c3408; border-radius:18px; }
body.ve-homepage .vd-story { background:#103c34; border:0; border-radius:22px; padding:42px 34px; margin-bottom:56px; }
body.ve-homepage .vd-story h2,body.ve-homepage .vd-story h2 em { color:#fff!important; }
body.ve-homepage .vd-story p,body.ve-homepage .vd-story .vd-kicker { color:#c7dcd1!important; }
body.ve-homepage .vd-story .vd-text-link { color:#fff!important; border-color:#6e9888; }
body.ve-homepage .vd-story-mark { color:#d8c69b; }
body.ve-homepage .vd-experience { border-radius:18px; }
body.ve-homepage .vd-booking .ve56-card { box-shadow:none; }
body.ve-homepage .vd-booking .ve56-card:hover { box-shadow:0 14px 32px #103c3410; }
body.ve-homepage .vd-booking .ve56-card__title { font-size:22px; }
body.ve-homepage .vd-booking .ve56-card__sub { color:#5d7066; font-size:13px; }
body.ve-homepage .vd-cms .ve-space-list { padding-top:56px; padding-bottom:56px; }
.vd-heritage-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:26px; align-items:stretch; }
.vd-heritage-feature { background:#103c34; border-radius:20px; overflow:hidden; display:flex; flex-direction:column; }
.vd-heritage-feature > img { width:100%; aspect-ratio:1.65; object-fit:cover; }
.vd-heritage-feature > div { padding:28px; }
.vd-heritage-label { display:block; color:#c3d5bd; font-size:9px; font-weight:600; letter-spacing:.16em; margin-bottom:16px; }
.vd-heritage-feature p { font-size:15px; line-height:1.8; color:#e5eee5!important; margin-bottom:24px; }
.vd-heritage-feature a { display:inline-flex; align-items:center; gap:24px; padding:12px 22px; border:1px solid #ffffff55; border-radius:28px; color:#fff!important; font-size:12px; font-weight:600; }
.vd-heritage-feature a:hover { background:#ffffff12; }
.vd-heritage-places { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.vd-heritage-place { position:relative; isolation:isolate; display:flex; align-items:flex-end; min-height:165px; padding:20px; border-radius:16px; overflow:hidden; background:#103c34; gap:12px; }
.vd-heritage-place::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,#082b24f2,transparent 85%); }
.vd-heritage-place img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.vd-heritage-place:hover img { transform:scale(1.04); }
.vd-heritage-place span { color:#fff!important; font-size:14px; line-height:1.4; font-weight:600; }
.vd-heritage-place i { color:#fff; font-size:12px; margin-inline-start:auto; }
.vd-heritage-collection a:focus-visible { outline:3px solid #b79d64; outline-offset:4px; }
/* A bounded media size prevents natural image dimensions from expanding cards. */
.vd-events-grid > .ve56-card { width:100%; min-width:0; overflow:hidden; }
.vd-events .ve56-card__media { max-height:350px; }
.vd-events .ve56-card__body { min-width:0; }
@media(max-width:991px) { .vd-heritage-layout { grid-template-columns:1fr; } .vd-heritage-place { min-height:210px; } }
@media(max-width:575px) { body.ve-homepage .vd-story { padding:28px 22px; border-radius:18px; } .vd-heritage-places { grid-template-columns:1fr; } .vd-heritage-feature > div { padding:24px; } .vd-events .ve56-card__media { max-height:260px; } }
@media(prefers-reduced-motion:reduce) { .vd-heritage-place img { transition:none; } .vd-heritage-place:hover img { transform:none; } }
