/* Compact, image-led travel homepage. Original navigation is unchanged. */
.vr-section,.vr-highlights,.vr-journey { width:min(1260px,100%); margin-left:auto; margin-right:auto; }
.vr-section { padding:38px 0; scroll-margin-top:100px; }
.vr-highlights { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; padding:24px; background:#f2f6f5; border-radius:16px; margin-top:28px; margin-bottom:8px; }
.vr-highlights > div { display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; }
.vr-highlight-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; color:#103c34; background:#f9dfaa; font-size:24px; margin-bottom:5px; }
.vr-highlights > div:nth-child(3) .vr-highlight-icon { background:#d5e5f5; }
.vr-highlights > div:nth-child(5) .vr-highlight-icon { background:#d2ead9; }
.vr-highlights strong { color:#202c27; font-size:14px; font-weight:700; }
.vr-highlights small { color:#526258; font-size:11px; }
.vr-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:22px; }
.vr-heading > div > span { font-size:9px; letter-spacing:.18em; font-weight:700; color:#64776c; display:block; margin-bottom:8px; }
body.ve-homepage .vr-heading h2 { font-family:Urbanist,"Poppins",sans-serif; font-size:clamp(26px,2.6vw,36px); line-height:1.15; letter-spacing:-.035em; color:#1c2e26; font-weight:600; margin:0; }
.vr-heading p { font-size:13px; line-height:1.7; color:#56685e; margin:8px 0 0; }
.vr-heading > a { display:inline-flex; gap:12px; align-items:center; flex-shrink:0; color:#103c34; font-size:12px; font-weight:600; padding:8px 0; }
.vr-places { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.vr-place { position:relative; isolation:isolate; min-height:250px; display:flex; align-items:flex-end; border-radius:12px; overflow:hidden; background:#103c34; }
.vr-place::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,#052b22f0,transparent 70%); }
.vr-place > img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.vr-place:hover img { transform:scale(1.045); }
.vr-place > div { padding:18px 14px; }
.vr-place h3 { font-size:17px; line-height:1.3; color:#fff; font-weight:600; margin:0 0 7px; }
.vr-place h3 i { font-size:12px; margin-inline-end:3px; }
.vr-place span { color:#f0f3ee; font-size:11px; }
.vr-journey { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:1.3fr 1fr; gap:50px; align-items:center; padding:40px; border-radius:16px; margin-top:12px; margin-bottom:12px; background:#103c34; }
.vr-journey > img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; }
.vr-journey::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#052b22ee,#052b2260); }
.vr-journey > div > span { color:#fff; font-size:10px; letter-spacing:.16em; }
body.ve-homepage .vr-journey h2 { color:#fff; font-size:32px; font-weight:600; line-height:1.15; margin:14px 0; letter-spacing:-.035em; }
.vr-journey p { color:#e4efe5; font-size:13px; line-height:1.7; }
.vr-journey a { display:inline-flex; gap:18px; align-items:center; background:#fff; color:#103c34; padding:12px 20px; border-radius:30px; font-size:12px; font-weight:600; margin-top:8px; }
.vr-journey ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 18px; list-style:none; padding:30px; margin:0; border:1px solid #ffffff50; border-radius:14px; background:#fffffff0; color:#103c34; }
.vr-journey li { display:flex; align-items:center; gap:12px; font-size:12px; font-weight:600; }
.vr-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.vr-services article { border:1px solid #e2e8e4; border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 8px 24px #103c3408; }
.vr-services article > a { display:block; }
.vr-services img { width:100%; aspect-ratio:2; object-fit:cover; }
.vr-services article > div { padding:20px; }
.vr-services h3 { font-size:21px; margin:0 0 6px; color:#20332a; font-weight:600; }
.vr-services p { font-size:12px; color:#63776a; margin-bottom:16px; }
.vr-services article > div > a { display:inline-flex; gap:20px; align-items:center; padding:10px 18px; background:#103c34; color:#fff; border-radius:30px; font-size:11px; font-weight:600; }
.vr-publications { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.vr-publications > a { display:flex; gap:20px; padding:14px; border:1px solid #dfe7e2; border-radius:12px; background:#fbfcfb; }
.vr-publications img { width:90px; height:130px; object-fit:cover; border-radius:6px; }
.vr-publications > a > div { display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:8px 0; }
.vr-publications strong { color:#20332a; font-size:15px; line-height:1.5; }
.vr-publications small { color:#69796e; font-size:11px; }
.vr-publications span { margin-top:auto; color:#103c34; font-size:11px; font-weight:600; }
body.ve-homepage .vd-booking,body.ve-homepage .vd-events,body.ve-homepage .vd-journal,body.ve-homepage .vd-heritage { padding-top:40px; padding-bottom:40px; }
body.ve-homepage :is(.vd-booking-heading,.vd-collection-head) h2 { font-size:34px; }
body.ve-homepage .vd-booking-heading h2 em { display:inline; font-family:inherit; font-style:normal; color:inherit; }
body.ve-homepage .vd-cms .ve-space-list__grid { gap:20px; }
body.ve-homepage .vd-cms .bravo-testimonial { background:#f2f6f4; border-color:#e1e8e3; }
body.ve-homepage .vd-cms .bravo-testimonial .card { border-radius:14px; border-color:#e1e8e3; box-shadow:0 10px 24px #103c3408; }
body.ve-homepage .vd-cms .bravo-testimonial .item { margin-top:20px!important; margin-bottom:25px!important; }
body.ve-homepage .vd-reference-home .vd-cinema .vd-hero-content { padding-top:80px; }
body.ve-homepage .vd-reference-home .vd-cinema::after { background:linear-gradient(90deg,#05241cbf,transparent 80%),linear-gradient(0deg,#05241c99,transparent 45%); }
.vr-section a:focus-visible,.vr-journey a:focus-visible { outline:3px solid #ba9a4b; outline-offset:4px; }
@media(max-width:991px) { .vr-places { grid-template-columns:repeat(3,minmax(0,1fr)); } .vr-journey { gap:24px; padding:28px; } .vr-journey ul { grid-template-columns:1fr; gap:18px; padding:24px; } }
@media(max-width:767px) { .vr-highlights { grid-template-columns:repeat(3,minmax(0,1fr)); padding:20px 12px; } .vr-services { grid-template-columns:1fr; gap:18px; } .vr-services img { aspect-ratio:2.3; } .vr-journey { grid-template-columns:1fr; } .vr-journey ul { grid-template-columns:repeat(2,minmax(0,1fr)); } .vr-publications { grid-template-columns:1fr; } .vr-heading { align-items:flex-start; flex-direction:column; gap:12px; } }
@media(max-width:575px) { .vr-section { padding:28px 4px; } .vr-places { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .vr-place { min-height:215px; } .vr-places > a:last-child { grid-column:1/-1; min-height:200px; } .vr-journey { padding:24px; } .vr-journey ul { grid-template-columns:1fr; padding:22px; } .vr-highlights strong { font-size:12px; } .vr-highlights small { font-size:10px; } .vr-highlight-icon { width:44px; height:44px; font-size:20px; } .vd-cinema-dots button { width:30px; } body.ve-homepage .vd-reference-home .vd-cinema-controls { gap:3px; } }
@media(prefers-reduced-motion:reduce) { .vr-place img { transition:none; } .vr-place:hover img { transform:none; } }
/* Touch, keyboard and button-controlled travel tips. */
.vd-journal .vd-tips-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 48px)/3); grid-template-columns:none; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 2px 20px; overscroll-behavior-inline:contain; scrollbar-width:thin; scrollbar-color:#aac0b4 transparent; }
.vd-tips-track > article { scroll-snap-align:start; height:100%; }
.vd-tips-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.vd-tips-toolbar[hidden] { display:none; }
.vd-tips-toolbar > span { font-size:12px; color:#63796c; }
.vd-tips-toolbar > div { display:flex; gap:8px; }
.vd-tips-toolbar button { width:42px; height:42px; border:1px solid #d4e0d8; border-radius:50%; color:#103c34; background:#fff; }
.vd-tips-toolbar button:hover:not(:disabled) { background:#103c34; color:#fff; }
.vd-tips-toolbar button:disabled { opacity:.35; cursor:default; }
.vd-tips-track:focus-visible,.vd-tips-toolbar button:focus-visible { outline:3px solid #9bb7a4; outline-offset:3px; }
.vr-publication-card { display:flex; gap:20px; padding:20px; background:#fff; border:1px solid #dfe7e2; border-radius:16px; box-shadow:0 8px 24px #103c3406; }
.vr-publication-cover { flex:0 0 100px; }
.vr-publications .vr-publication-cover img,.vr-publication-placeholder { display:grid; place-items:center; width:100px; height:145px; object-fit:cover; border-radius:8px; background:#edf3ee; color:#103c34; font-size:30px; }
.vr-publication-card > div { display:flex; flex-direction:column; min-width:0; flex:1; gap:8px; }
.vr-publication-card h3 { font-size:18px; font-weight:600; line-height:1.35; margin:0; }
.vr-publication-card h3 a { color:#203a2e; }
.vr-publication-card p { color:#62766a; font-size:12px; line-height:1.65; margin:0 0 8px; }
.vr-publication-card small { color:#6b7c71; font-size:10px; }
.vr-publication-actions { margin-top:auto; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; border-top:1px solid #e1e8e3; padding-top:12px; }
.vr-publication-actions a { color:#103c34; font-size:11px; font-weight:600; display:flex; align-items:center; gap:8px; }
.vr-publication-empty { grid-column:1/-1; padding:30px; border:1px dashed #b7cbbf; border-radius:14px; color:#5c7165; }
@media(max-width:991px) { .vd-journal .vd-tips-track { grid-auto-columns:calc((100% - 24px)/2); } }
@media(max-width:575px) { .vd-journal .vd-tips-track { grid-auto-columns:90%; gap:16px; } .vr-publication-card { padding:16px; gap:14px; } .vr-publication-cover { flex-basis:75px; } .vr-publications .vr-publication-cover img,.vr-publication-placeholder { width:75px; height:110px; } .vd-tips-toolbar > span { max-width:200px; } }
