/* A quieter visual rhythm across the existing storefront. */
:root { --vv-cream:#f8f9f8; --vv-gold-ink:#806943; --vv-gold:#bda06d; }
body { background:var(--vv-cream); }
.vv-utility { background:#fff !important; color:var(--vv-text) !important; border-bottom-color:#e5e9e8 !important; box-shadow:none !important; }
.vv-utility .vv-view-buttons { background:#f4f6f5 !important; border-color:#e2e8e5 !important; }
.vv-utility .vv-view-buttons button, .vv-utility .vv-language a { color:#405362 !important; }
.vv-utility .vv-view-buttons button[aria-pressed=true], .vv-utility .vv-language a[aria-current], .vv-utility .vv-language a:hover { color:var(--vv-navy-deep) !important; background:#e9eee9 !important; box-shadow:none !important; }
.vv-utility .vv-language a[aria-current] { box-shadow:inset 0 -2px var(--vv-gold) !important; }
.block-header, .home-header { background:#fff !important; border-bottom-color:#e9eceb !important; }
.block-header > .background { background:#fff !important; --background-color:#fff !important; }
.block-header .block-header-layout-desktop { padding:13px 16px !important; }
.block-header .block-header-logo, .block-header-logo__image { width:76px !important; height:76px !important; }
.home-header .logo img { width:68px !important; height:68px !important; }
.home-header > .wrap { min-height:88px; }
.vv-festival-picker-panel { border-color:#e4e9e7; box-shadow:0 12px 28px #102c3821; }
.vv-festival-picker-panel a:hover, .vv-festival-picker-panel a[aria-current] { background:#f0f4f2; }

/* Homepage: an event directory first, then a restrained package highlight. */
body[data-vv-home-clean] > div[style*="background:#fff4d9"] { display:none !important; }
body[data-vv-home-clean] .vv-event-hero { padding:39px max(22px,calc((100vw - 1140px)/2)) 40px; background:#f8f9f8; }
body[data-vv-home-clean] .vv-event-hero h1 { font-size:clamp(28px,3vw,38px); line-height:1.22; margin:6px 0 9px; letter-spacing:-.025em; }
body[data-vv-home-clean] .vv-event-subtitle { font-size:15px; line-height:1.6; color:#61717a; }
body[data-vv-home-clean] .vv-event-eyebrow { font-size:11px; letter-spacing:.11em; color:var(--vv-gold-ink) !important; }
body[data-vv-home-clean] .vv-featured-events { gap:20px; margin-top:25px; }
body[data-vv-home-clean] .vv-event-card { border:1px solid #e3e9e6; border-radius:12px; box-shadow:0 3px 16px #102c3808; }
body[data-vv-home-clean] .vv-event-card > img { aspect-ratio:2.35; height:auto; }
body[data-vv-home-clean] .vv-event-card-body { padding:18px 20px 20px; }
body[data-vv-home-clean] .vv-event-card h2 { font-size:clamp(21px,2.2vw,26px); margin:0 0 4px; }
body[data-vv-home-clean] .vv-event-card p { margin:6px 0; color:#596a73; font-size:14px; line-height:1.45; }
body[data-vv-home-clean] .vv-event-card .vv-event-eyebrow { margin:0 0 6px; }
body[data-vv-home-clean] .vv-event-card .vv-event-button { margin-top:11px; padding:9px 15px; border-radius:6px; font-size:13px; }
body[data-vv-home-clean] .vv-featured { padding:41px 32px 30px; }
body[data-vv-home-clean] .vx-section-head { margin-bottom:19px; }
body[data-vv-home-clean] .vx-section-head h2 { font-size:clamp(24px,2.5vw,30px) !important; margin-bottom:4px !important; color:var(--vv-navy-deep); }
body[data-vv-home-clean] .vx-section-head p { font-size:14px; color:#64737b; }
body[data-vv-home-clean] .vx-feature-grid { gap:20px; }
body[data-vv-home-clean] .vx-feature-card { border-color:#e3e9e6; border-radius:12px; box-shadow:0 3px 16px #102c3808; }
body[data-vv-home-clean] .vx-image { aspect-ratio:2.35; }
body[data-vv-home-clean] .vx-card-body { padding:18px 21px 19px; }
body[data-vv-home-clean] .vx-card-body h3 { font-size:20px !important; margin:4px 0 6px !important; color:var(--vv-navy-deep); }
body[data-vv-home-clean] .vx-card-body p { margin:0 0 14px !important; color:#61717a; }
body[data-vv-home-clean] .vx-card-price { padding-top:12px; }
body[data-vv-home-clean] .vx-card-price strong { font-size:22px; }
body[data-vv-home-clean] .vx-card-price > span { color:var(--vv-navy-soft) !important; }
body[data-vv-home-clean] .vx-journey { margin:38px 0 25px; padding-top:25px; }
body[data-vv-home-clean] .vx-journey h2 { font-size:23px !important; }
body[data-vv-home-clean] .vx-journey ol { gap:19px; margin-top:16px; }
body[data-vv-home-clean] .vx-journey li b { margin-bottom:7px; color:var(--vv-gold-ink); }
body[data-vv-home-clean] .vx-journey li p { margin:4px 0 0; line-height:1.55; }
body[data-vv-home-clean] .vx-social { padding:20px 24px; border:1px solid #e3e9e6; background:#f5f7f6; border-radius:9px; }
body[data-vv-home-clean] .vx-social h2 { font-size:19px !important; margin:0 0 4px !important; }
body[data-vv-home-clean] .vv-event-planning { padding:28px max(22px,calc((100vw - 1140px)/2)) 36px; background:#f4f6f5; border-top:1px solid #e8ecea; }
body[data-vv-home-clean] .vv-event-planning h2 { font-size:23px; margin:5px 0 14px; }
body[data-vv-home-clean] .vv-upcoming-events { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:0; }
body[data-vv-home-clean] .vv-upcoming-card { padding:15px; border-color:#e2e8e5; border-radius:8px; min-height:130px; }
body[data-vv-home-clean] .vv-upcoming-card h3 { font-size:17px; line-height:1.35; margin:11px 0 4px; }
body[data-vv-home-clean] .vv-upcoming-card p { font-size:12px; line-height:1.5; color:#687780; margin:0; }
body[data-vv-home-clean] .vv-upcoming-card small { display:none; }
body[data-vv-home-clean] .vv-event-state { background:#eef2ef; color:#60716b; }
body[data-vv-home-clean] .vc-contact, body[data-vv-home-clean] .vv-faq { display:none !important; }
.vv-home-support { padding:32px 24px; background:#fff; border-top:1px solid #e8ecea; }
.vv-home-support-inner { width:min(1140px,100%); margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px 36px; }
.vv-home-support span { color:var(--vv-gold-ink); font-size:11px; font-weight:700; letter-spacing:.08em; }
.vv-home-support h2 { color:var(--vv-navy-deep); font-size:22px; line-height:1.3; margin:5px 0 4px; }
.vv-home-support p { color:#63747d; font-size:14px; margin:0; }
.vv-home-support nav { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.vv-home-support a { display:inline-flex; align-items:center; min-height:40px; padding:8px 12px; color:var(--vv-navy-soft); background:#f5f7f6; border:1px solid #e2e8e5; border-radius:6px; font-size:13px; font-weight:600; text-decoration:none; white-space:nowrap; }
.vv-home-support a:hover { background:#eaf0ed; border-color:#bfcfca; }

/* Festival pages use the same light surfaces as the homepage. */
.vvip-home .edition-head { background:#f2f5f4 !important; color:var(--vv-navy-deep) !important; border:1px solid #e3e9e6; box-shadow:none; }
.vvip-home .edition-head h1 { color:var(--vv-navy-deep) !important; }
.vvip-home .edition-head p { color:var(--vv-gold-ink) !important; }
.vvip-home .edition-intro { color:#5e707a !important; }
.vvip-home .edition-head .project-action { color:var(--vv-navy-soft) !important; }
.vvip-home .project-selector { border-color:#e2e8e5; box-shadow:none; }
.vvip-home .section-links a, .vvip-home .service-links a { background:#f4f7f5; border-color:#dfe8e3; color:var(--vv-navy-soft); }
.vvip-home .section-links a:hover, .vvip-home .service-links a:hover { background:#e8efec; }
.vvip-home .package-grid .listing { border-color:#e2e8e5; box-shadow:0 3px 12px #102c3808; }
.vvip-home .package-grid .listing:hover { border-color:#b7c9c2; box-shadow:0 7px 20px #102c3818; }
.vvip-home .home-contact { background:#f4f6f5 !important; color:var(--vv-navy-deep) !important; padding:35px 0 !important; border-top:1px solid #e2e8e5; }
.vvip-home .home-contact::before { display:none !important; }
.vvip-home .home-contact > .wrap > p { color:#60717b !important; }
.vvip-home .contact-list :is(a,button) { background:#fff !important; color:var(--vv-navy-soft) !important; border-color:#dfe7e3 !important; min-height:62px; }
.vvip-home .contact-list :is(a,button):hover { background:#edf3f0 !important; border-color:#b7c9c2 !important; }
.vvip-home .contact-list small { color:#677881 !important; }
.vv-site-footer { border-top:1px solid #233d4f; }
.vv-footer-inner { padding-top:30px; padding-bottom:25px; }
@media(max-width:900px){
  body[data-vv-home-clean] .vv-upcoming-events { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vv-home-support-inner { align-items:flex-start; flex-direction:column; }
}
@media(max-width:600px){
  .block-header .block-header-logo, .block-header-logo__image { width:56px !important; height:56px !important; }
  .home-header .logo img { width:54px !important; height:54px !important; }
  body[data-vv-home-clean] .vv-event-hero { padding:25px 20px 28px; }
  body[data-vv-home-clean] .vv-event-hero h1 { font-size:29px; }
  body[data-vv-home-clean] .vv-featured-events { gap:14px; margin-top:19px; }
  body[data-vv-home-clean] .vv-event-card > img { aspect-ratio:2.15; }
  body[data-vv-home-clean] .vv-event-card-body { padding:14px 16px 16px; }
  body[data-vv-home-clean] .vv-featured { padding:30px 20px 24px; }
  body[data-vv-home-clean] .vx-image { aspect-ratio:2.15; }
  body[data-vv-home-clean] .vx-card-body { padding:15px 17px; }
  body[data-vv-home-clean] .vx-journey ol { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; }
  body[data-vv-home-clean] .vx-social { padding:17px; }
  body[data-vv-home-clean] .vv-event-planning { padding:25px 20px 30px; }
  body[data-vv-home-clean] .vv-upcoming-events { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  body[data-vv-home-clean] .vv-upcoming-card { padding:12px; min-height:130px; }
  body[data-vv-home-clean] .vv-upcoming-card h3 { font-size:15px; }
  .vv-home-support { padding:27px 18px; }
  .vv-home-support h2 { font-size:20px; }
  .vv-home-support nav { width:100%; }
  .vv-home-support a { flex:1 1 auto; justify-content:center; }
}

/* Approved transparent VVIPEVENT mark: preserve its original proportions. */
.block-header .block-header-logo,.block-header-logo__image{width:100px!important;height:100px!important;object-fit:contain!important}
.home-header .logo img{width:92px!important;height:92px!important;object-fit:contain!important}
.vv-footer-brand>a{display:inline-flex;background:#fffefa;border-radius:8px;padding:4px;line-height:0}
.vv-footer-brand img{width:88px;height:88px;margin:0;object-fit:contain}
@media(max-width:800px){.block-header .block-header-logo,.block-header-logo__image{width:74px!important;height:74px!important}.home-header .logo img{width:72px!important;height:72px!important}.vv-footer-brand img{width:76px;height:76px}}
