/* =====================================================
   VR BALANCE – DELIVERABLE PAGE (RESPONSIVE FIX)
   ===================================================== */
.vbd-container {
  all: unset !important;
  display: block !important;
  font-family: 'Outfit', sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  isolation: isolate !important;
  overflow-x: clip !important;
  --vbd-ease: cubic-bezier(0.16, 1, 0.3, 1);
}
.vbd-container *, .vbd-container *::before, .vbd-container *::after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; }
.vbd-container img { max-width: 100% !important; display: block !important; border: none !important; }
.vbd-container a { color: inherit !important; text-decoration: none !important; }

/* ========================================
   HERO – con espacio para menú flotante
   ======================================== */
.vbd-hero {
  position: relative !important;
  width: 100% !important;
  min-height: 420px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: clamp(120px, 15vw, 180px) clamp(20px, 5vw, 60px) clamp(60px, 10vw, 120px) !important;
  background: linear-gradient(135deg, #fff 0%, #fff 25%, #f4bab0 42%, #f7c99b 54%, #f7f7bb 66%, #c7eabb 78%, #b5e8f2 89%, #e5bdef 100%) !important;
  overflow: hidden !important;
}
.vbd-hero::before { content:'' !important; position: absolute !important; inset: 0 !important; background: radial-gradient(ellipse 80% 60% at 50% 50%, rgba(255,255,255,.55) 0%, transparent 70%) !important; pointer-events: none !important; }
.vbd-hero-inner { position: relative !important; z-index: 2 !important; max-width: 860px !important; width: 100% !important; }
.vbd-tag { display: inline-block !important; font-family:'Outfit',sans-serif !important; font-size: clamp(12px, 1.8vw, 16px) !important; font-weight: 600 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: #fff !important; background: #4daaff !important; padding: 6px 20px !important; border-radius: 100px !important; margin-bottom: 28px !important; box-shadow: 0 4px 16px rgba(77,170,255,.35) !important; }
.vbd-title { font-family:'Outfit',sans-serif !important; font-size: clamp(28px, 5.5vw, 56px) !important; font-weight: 800 !important; line-height: 1.2 !important; color: #0e0e0e !important; margin: 0 0 20px !important; }
.vbd-title-accent { display: inline !important; font-weight: 700 !important; color: #333 !important; }
.vbd-subtitle { font-family:'Outfit',sans-serif !important; font-size: clamp(15px, 2.5vw, 22px) !important; font-weight: 400 !important; color: #444 !important; line-height: 1.6 !important; margin: 0 0 28px !important; }
.vbd-divider { width: 80px !important; height: 4px !important; background: linear-gradient(90deg, #4daaff, #e5bdef) !important; border-radius: 100px !important; margin: 0 auto !important; }

/* ========================================
   SHARED
   ======================================== */
.vbd-wrap { max-width: min(1400px, 94vw) !important; margin-left: auto !important; margin-right: auto !important; padding: 0 clamp(16px, 3vw, 36px) !important; }
.vbd-center { text-align: center !important; }
.vbd-section-label { display: inline-block !important; font-family:'Outfit',sans-serif !important; font-size: clamp(12px, 1.6vw, 14px) !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: #4daaff !important; margin-bottom: 10px !important; }
.vbd-section-title { font-family:'Outfit',sans-serif !important; font-size: clamp(26px, 4.5vw, 44px) !important; font-weight: 800 !important; color: #0e0e0e !important; line-height: 1.2 !important; margin: 0 0 20px !important; }
.vbd-section-text { font-family:'Outfit',sans-serif !important; font-size: clamp(16px, 2.4vw, 22px) !important; font-weight: 400 !important; color: #444 !important; line-height: 1.75 !important; max-width: 780px !important; margin: 0 0 48px !important; }
.vbd-section-text strong { font-weight: 700 !important; color: #0e0e0e !important; }

/* ========================================
   OVERVIEW
   ======================================== */
.vbd-overview { background: #fff !important; padding: clamp(48px, 8vw, 96px) 0 !important; width: 100% !important; }

/* ========================================
   CARDS – 3 → 2 → 1 columnas
   ======================================== */
.vbd-cards-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: clamp(16px, 2.5vw, 28px) !important; }
.vbd-card { background: #fff !important; border-radius: 18px !important; padding: clamp(20px, 3vw, 36px) !important; box-shadow: 0 8px 30px rgba(0,0,0,.07) !important; border: 1px solid rgba(0,0,0,.06) !important; border-top: 4px solid var(--card-accent, #4daaff) !important; transition: transform .4s var(--vbd-ease), box-shadow .4s ease !important; display: flex !important; flex-direction: column !important; gap: 12px !important; }
.vbd-card:hover { transform: translateY(-8px) !important; box-shadow: 0 20px 48px rgba(0,0,0,.12) !important; }
.vbd-card-icon { font-size: 32px !important; line-height: 1 !important; margin-bottom: 4px !important; }
.vbd-card-title { font-family:'Outfit',sans-serif !important; font-size: clamp(18px, 2.8vw, 24px) !important; font-weight: 700 !important; color: #0e0e0e !important; line-height: 1.3 !important; margin: 0 !important; }
.vbd-card-text { font-family:'Outfit',sans-serif !important; font-size: clamp(15px, 2.3vw, 19px) !important; font-weight: 400 !important; color: #555 !important; line-height: 1.7 !important; margin: 0 !important; }
.vbd-card-text strong { font-weight: 600 !important; color: #222 !important; }

/* ========================================
   EVENTS
   ======================================== */
.vbd-events { background: linear-gradient(180deg, #fff 0%, #f8fafb 100%) !important; padding: clamp(48px, 8vw, 96px) 0 clamp(32px, 6vw, 72px) !important; width: 100% !important; }
.vbd-events-header { text-align: center !important; margin-bottom: clamp(32px, 5vw, 56px) !important; }

/* ========================================
   TIMELINE
   ======================================== */
.vbd-timeline { position: relative !important; display: flex !important; flex-direction: column !important; gap: clamp(32px, 6vw, 72px) !important; padding-left: 48px !important; }
.vbd-timeline::before { content:'' !important; position: absolute !important; left: 18px !important; top: 0 !important; bottom: 0 !important; width: 3px !important; background: linear-gradient(180deg, #f4bab0, #b5e8f2, #c7eabb, #f7c99b, #e5bdef, #f4bab0, #b5e8f2, #c7eabb, #f7c99b) !important; border-radius: 100px !important; }
.vbd-tl-item { position: relative !important; width: 100% !important; }
.vbd-tl-dot { position: absolute !important; left: -39px !important; top: 28px !important; width: 18px !important; height: 18px !important; background: var(--dot-color, #4daaff) !important; border: 4px solid #fff !important; border-radius: 50% !important; z-index: 3 !important; box-shadow: 0 2px 10px rgba(0,0,0,.12) !important; transition: transform .3s var(--vbd-ease), box-shadow .3s ease !important; }
.vbd-tl-item:hover .vbd-tl-dot { transform: scale(1.3) !important; box-shadow: 0 4px 20px rgba(0,0,0,.2) !important; }
.vbd-tl-date { display: inline-block !important; font-family:'Outfit',sans-serif !important; font-size: clamp(12px, 1.4vw, 14px) !important; font-weight: 700 !important; color: #fff !important; background: #0e0e0e !important; padding: 4px 14px !important; border-radius: 100px !important; white-space: nowrap !important; letter-spacing: .04em !important; margin-bottom: 14px !important; }
.vbd-tl-content { width: 100% !important; border-radius: 24px !important; padding: clamp(20px, 3vw, 36px) !important; position: relative !important; }
.vbd-tl-pastel-pink   { background: linear-gradient(135deg, #fef2f0 0%, #fff5f3 100%) !important; border: 1px solid rgba(244,186,176,.25) !important; }
.vbd-tl-pastel-blue   { background: linear-gradient(135deg, #f0f8fb 0%, #f5fbfd 100%) !important; border: 1px solid rgba(181,232,242,.3) !important; }
.vbd-tl-pastel-green  { background: linear-gradient(135deg, #f2f8ef 0%, #f6faf4 100%) !important; border: 1px solid rgba(199,234,187,.3) !important; }
.vbd-tl-pastel-orange { background: linear-gradient(135deg, #fef6f0 0%, #fff9f4 100%) !important; border: 1px solid rgba(247,201,155,.3) !important; }
.vbd-tl-pastel-purple { background: linear-gradient(135deg, #f8f2fb 0%, #faf5fd 100%) !important; border: 1px solid rgba(229,189,239,.3) !important; }
.vbd-tl-body { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: clamp(16px, 2.5vw, 28px) !important; align-items: start !important; }
.vbd-event-media { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.vbd-event-info { background: transparent !important; border-radius: 0 !important; padding: 0 !important; border: none !important; box-shadow: none !important; }
.vbd-event-bar { width: 48px !important; height: 4px !important; background: linear-gradient(90deg, #4daaff, #e5bdef) !important; border-radius: 100px !important; margin-bottom: 16px !important; }
.vbd-event-title { font-family:'Outfit',sans-serif !important; font-size: clamp(20px, 3vw, 30px) !important; font-weight: 700 !important; color: #0e0e0e !important; line-height: 1.25 !important; margin: 0 0 14px !important; }
.vbd-event-meta { margin-bottom: 14px !important; }
.vbd-event-meta p { font-family:'Outfit',sans-serif !important; font-size: clamp(14px, 1.9vw, 17px) !important; color: #64748b !important; line-height: 1.6 !important; margin: 0 0 4px !important; }
.vbd-event-meta strong { font-weight: 700 !important; color: #222 !important; }
.vbd-event-desc { font-family:'Outfit',sans-serif !important; font-size: clamp(15px, 2vw, 18px) !important; font-weight: 400 !important; color: #475569 !important; line-height: 1.75 !important; margin: 0 0 18px !important; }
.vbd-event-desc strong { font-weight: 700 !important; color: #222 !important; }
.vbd-event-links { padding-top: 14px !important; border-top: 1px solid rgba(0,0,0,.06) !important; }
.vbd-event-links-label { font-family:'Outfit',sans-serif !important; font-size: clamp(14px, 1.9vw, 17px) !important; color: #334155 !important; margin: 0 0 6px !important; }
.vbd-event-links-label strong { font-weight: 700 !important; }
.vbd-event-links-list { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-direction: column !important; gap: 5px !important; }
.vbd-event-links-list li { display: block !important; }
.vbd-event-links-list a { font-family:'Outfit',sans-serif !important; font-size: clamp(14px, 1.9vw, 17px) !important; font-weight: 500 !important; color: #4daaff !important; transition: color .2s ease !important; }
.vbd-event-links-list a:hover { color: #e5bdef !important; text-decoration: underline !important; }

/* ========================================
   IMAGE FRAMES
   ======================================== */
.vbd-event-img-frame { background: #fff !important; padding: clamp(4px, .8vw, 10px) !important; border-radius: 16px !important; border: 1px solid rgba(0,0,0,.07) !important; box-shadow: 0 6px 20px rgba(0,0,0,.07) !important; overflow: hidden !important; transition: transform .4s var(--vbd-ease), box-shadow .4s ease !important; cursor: zoom-in !important; }
.vbd-event-img-frame:hover { transform: translateY(-4px) !important; box-shadow: 0 14px 36px rgba(0,0,0,.12) !important; }
.vbd-event-img-frame img { width: 100% !important; height: auto !important; border-radius: 10px !important; display: block !important; object-fit: contain !important; }
.vbd-event-caption { font-family:'Outfit',sans-serif !important; font-size: clamp(12px, 1.6vw, 15px) !important; color: #94a3b8 !important; text-align: center !important; margin: 6px 0 0 !important; line-height: 1.5 !important; }

/* ========================================
   GALLERIES
   ======================================== */
.vbd-event-gallery { display: grid !important; gap: clamp(12px, 2vw, 18px) !important; }
.vbd-gallery-2col { grid-template-columns: repeat(2, 1fr) !important; }
.vbd-gallery-3col { grid-template-columns: repeat(3, 1fr) !important; }
.vbd-gallery-1col { grid-template-columns: 1fr !important; max-width: 480px !important; margin-left: auto !important; margin-right: auto !important; }
.vbd-event-figure { margin: 0 !important; display: flex !important; flex-direction: column !important; gap: 6px !important; }
.vbd-gallery-masonry { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: clamp(12px, 2vw, 18px) !important; align-items: start !important; }
.vbd-masonry-col { display: flex !important; flex-direction: column !important; gap: clamp(12px, 2vw, 18px) !important; }
.vbd-recap-label { font-family:'Outfit',sans-serif !important; font-size: clamp(14px, 1.9vw, 17px) !important; color: #334155 !important; margin: 28px 0 12px !important; padding-top: 20px !important; border-top: 1px solid rgba(0,0,0,.06) !important; }
.vbd-gallery-recap { grid-template-columns: repeat(5, 1fr) !important; }

/* Team image */
.vbd-closing-team-img { max-width: 500px !important; margin: 0 auto 28px !important; cursor: zoom-in !important; }

/* ========================================
   BUTTONS
   ======================================== */
.vbd-btn { display: inline-block !important; font-family:'Outfit',sans-serif !important; font-weight: 700 !important; font-size: clamp(14px, 1.8vw, 17px) !important; padding: 14px 28px !important; border-radius: 10px !important; background: #4daaff !important; color: #fff !important; cursor: pointer !important; transition: all .4s var(--vbd-ease) !important; box-shadow: 0 4px 15px rgba(77,170,255,.35) !important; }
.vbd-btn:hover { transform: translateY(-3px) scale(1.02) !important; box-shadow: 0 10px 28px rgba(77,170,255,.5) !important; }
.vbd-btn.vbd-pill { border-radius: 100px !important; }
.vbd-container a.vbd-btn, .vbd-container .vbd-btn { color: #fff !important; }

/* ========================================
   PROMOTIONAL MATERIALS
   ======================================== */
.vbd-promo { background: #fff !important; padding: clamp(48px, 8vw, 96px) 0 clamp(32px, 5vw, 64px) !important; width: 100% !important; }
.vbd-pdf-row { display: flex !important; flex-direction: column !important; gap: clamp(14px, 2vw, 20px) !important; }
.vbd-pdf-btn {
  display: flex !important;
  align-items: center !important;
  gap: clamp(12px, 2.5vw, 24px) !important;
  background: #f8fafc !important;
  border: 1px solid rgba(77,170,255,.2) !important;
  border-left: 5px solid #4daaff !important;
  border-radius: 16px !important;
  padding: clamp(16px, 2.5vw, 26px) clamp(16px, 3vw, 32px) !important;
  text-decoration: none !important;
  color: #0e0e0e !important;
  cursor: pointer !important;
  transition: transform .3s var(--vbd-ease), box-shadow .3s ease, background .2s ease !important;
}
.vbd-pdf-btn:hover { transform: translateX(6px) !important; box-shadow: 0 8px 28px rgba(77,170,255,.15) !important; background: #f0f8ff !important; color: #0e0e0e !important; }
.vbd-pdf-btn-cert { border-left-color: #f7c99b !important; border-color: rgba(247,201,155,.3) !important; background: linear-gradient(135deg, #fef9f3, #fff) !important; }
.vbd-pdf-btn-cert:hover { box-shadow: 0 8px 28px rgba(247,201,155,.25) !important; background: #fef6ee !important; }
.vbd-pdf-btn-icon { font-size: clamp(24px, 3vw, 32px) !important; flex-shrink: 0 !important; line-height: 1 !important; }
.vbd-pdf-btn-text { display: flex !important; flex-direction: column !important; gap: 3px !important; flex-grow: 1 !important; min-width: 0 !important; }
.vbd-pdf-btn-text strong { font-family:'Outfit',sans-serif !important; font-size: clamp(15px, 2.3vw, 20px) !important; font-weight: 700 !important; color: #0e0e0e !important; }
.vbd-pdf-btn-text span { font-family:'Outfit',sans-serif !important; font-size: clamp(13px, 1.8vw, 16px) !important; font-weight: 400 !important; color: #64748b !important; }
.vbd-pdf-btn-arrow { font-size: 22px !important; color: #94a3b8 !important; flex-shrink: 0 !important; transition: transform .3s ease, color .2s ease !important; }
.vbd-pdf-btn:hover .vbd-pdf-btn-arrow { transform: translate(3px, -3px) !important; color: #4daaff !important; }
.vbd-pdf-btn-cert:hover .vbd-pdf-btn-arrow { color: #f7c99b !important; }

/* ========================================
   CLOSING
   ======================================== */
.vbd-closing { background: #fff !important; padding: clamp(48px, 8vw, 96px) 0 !important; width: 100% !important; }
.vbd-closing-inner { max-width: 600px !important; margin: 0 auto !important; }
.vbd-closing-text { font-family:'Outfit',sans-serif !important; font-size: clamp(15px, 2.3vw, 20px) !important; color: #555 !important; line-height: 1.7 !important; margin: 0 0 28px !important; }
.vbd-closing-text strong { font-weight: 700 !important; color: #0e0e0e !important; }
.vbd-closing-logos { display: flex !important; align-items: center !important; justify-content: center !important; gap: clamp(20px, 4vw, 48px) !important; margin-bottom: 32px !important; flex-wrap: wrap !important; }
.vbd-closing-logos img { height: clamp(40px, 6vw, 80px) !important; width: auto !important; object-fit: contain !important; }

/* ========================================
   FINAL CONFERENCE (upcoming)
   ======================================== */
.vbd-conference { background: linear-gradient(180deg, #ffffff 0%, #f7f4fb 55%, #fbf2f6 100%) !important; padding: clamp(48px, 8vw, 96px) 0 !important; width: 100% !important; }

.vbd-tag-accent { background: linear-gradient(135deg, #b993e5, #e58fb0) !important; box-shadow: 0 4px 16px rgba(185,147,229,.35) !important; }

/* Banner */
.vbd-conf-banner { text-align: center !important; max-width: 860px !important; margin: 0 auto clamp(32px, 5vw, 56px) !important; background: linear-gradient(135deg, #eef4ff 0%, #f6eefc 50%, #fdeef0 100%) !important; border: 1px solid rgba(255,255,255,.7) !important; border-radius: 28px !important; padding: clamp(28px, 5vw, 56px) clamp(20px, 4vw, 48px) !important; box-shadow: 0 20px 60px rgba(120,90,170,.12) !important; }
.vbd-conf-title { font-family:'Outfit',sans-serif !important; font-size: clamp(28px, 5vw, 50px) !important; font-weight: 800 !important; color: #0e0e0e !important; line-height: 1.18 !important; margin: 18px 0 14px !important; }
.vbd-conf-tagline { font-family:'Outfit',sans-serif !important; font-size: clamp(16px, 2.4vw, 21px) !important; font-weight: 400 !important; color: #44475a !important; line-height: 1.65 !important; max-width: 620px !important; margin: 0 auto 24px !important; }
.vbd-conf-quick { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 10px !important; margin-bottom: 28px !important; }
.vbd-conf-chip { font-family:'Outfit',sans-serif !important; font-size: clamp(13px, 1.8vw, 16px) !important; font-weight: 600 !important; color: #2b2d3a !important; background: rgba(255,255,255,.75) !important; border: 1px solid rgba(0,0,0,.06) !important; padding: 8px 18px !important; border-radius: 100px !important; box-shadow: 0 4px 14px rgba(0,0,0,.05) !important; }
.vbd-conf-cta { background: linear-gradient(135deg, #b993e5, #e58fb0) !important; box-shadow: 0 6px 20px rgba(185,147,229,.4) !important; }
.vbd-conf-cta:hover { box-shadow: 0 12px 32px rgba(185,147,229,.55) !important; }

/* Info cards */
.vbd-conf-info { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: clamp(14px, 2vw, 22px) !important; margin-bottom: clamp(36px, 5vw, 60px) !important; }
.vbd-conf-card { background: #fff !important; border-radius: 18px !important; padding: clamp(20px, 2.6vw, 28px) !important; box-shadow: 0 8px 28px rgba(0,0,0,.06) !important; border: 1px solid rgba(0,0,0,.05) !important; border-top: 4px solid var(--card-accent, #4daaff) !important; }
.vbd-conf-card-icon { font-size: 28px !important; line-height: 1 !important; display: block !important; margin-bottom: 10px !important; }
.vbd-conf-card-title { font-family:'Outfit',sans-serif !important; font-size: clamp(15px, 2vw, 18px) !important; font-weight: 700 !important; letter-spacing: .04em !important; text-transform: uppercase !important; color: #6b7280 !important; margin: 0 0 8px !important; }
.vbd-conf-card-text { font-family:'Outfit',sans-serif !important; font-size: clamp(15px, 2vw, 18px) !important; font-weight: 400 !important; color: #2f3340 !important; line-height: 1.6 !important; margin: 0 !important; }
.vbd-conf-card-text strong { font-weight: 700 !important; color: #0e0e0e !important; }
.vbd-conf-card-note { display: inline-block !important; margin-top: 6px !important; font-size: clamp(13px, 1.7vw, 15px) !important; color: #7a7f8c !important; }

/* Programme */
.vbd-conf-programme { background: #fff !important; border-radius: 24px !important; padding: clamp(24px, 4vw, 48px) !important; box-shadow: 0 12px 40px rgba(0,0,0,.07) !important; border: 1px solid rgba(0,0,0,.05) !important; max-width: 920px !important; margin: 0 auto !important; }
.vbd-conf-prog-head { display: flex !important; align-items: baseline !important; justify-content: space-between !important; flex-wrap: wrap !important; gap: 8px !important; margin-bottom: clamp(20px, 3vw, 30px) !important; padding-bottom: 16px !important; border-bottom: 2px solid rgba(0,0,0,.06) !important; }
.vbd-conf-prog-title { font-family:'Outfit',sans-serif !important; font-size: clamp(20px, 3vw, 30px) !important; font-weight: 800 !important; color: #0e0e0e !important; margin: 0 !important; }
.vbd-conf-prog-note { font-family:'Outfit',sans-serif !important; font-size: clamp(12px, 1.6vw, 14px) !important; font-weight: 600 !important; color: #94a3b8 !important; font-style: italic !important; }
.vbd-conf-block-label { font-family:'Outfit',sans-serif !important; font-size: clamp(14px, 1.9vw, 17px) !important; font-weight: 700 !important; letter-spacing: .04em !important; text-transform: uppercase !important; color: #4daaff !important; margin: clamp(24px, 3.5vw, 34px) 0 14px !important; }
.vbd-conf-block-text { font-family:'Outfit',sans-serif !important; font-size: clamp(15px, 2vw, 18px) !important; color: #475569 !important; line-height: 1.7 !important; margin: 0 0 18px !important; }
.vbd-conf-agenda { display: flex !important; flex-direction: column !important; gap: 4px !important; }
.vbd-conf-slot { display: grid !important; grid-template-columns: 130px 1fr !important; gap: clamp(14px, 2.5vw, 28px) !important; align-items: start !important; padding: 14px 12px !important; border-radius: 12px !important; transition: background .25s ease !important; }
.vbd-conf-slot:hover { background: #f7f9fc !important; }
.vbd-conf-slot-break { background: #f8fafc !important; }
.vbd-conf-time { font-family:'Outfit',sans-serif !important; font-size: clamp(13px, 1.7vw, 16px) !important; font-weight: 700 !important; color: #4daaff !important; white-space: nowrap !important; padding-top: 2px !important; }
.vbd-conf-slot-body strong { font-family:'Outfit',sans-serif !important; font-size: clamp(15px, 2vw, 19px) !important; font-weight: 700 !important; color: #0e0e0e !important; display: block !important; }
.vbd-conf-slot-body p { font-family:'Outfit',sans-serif !important; font-size: clamp(14px, 1.8vw, 16px) !important; color: #64748b !important; line-height: 1.55 !important; margin: 4px 0 0 !important; }

/* Workshops */
.vbd-conf-workshops { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: clamp(14px, 2vw, 20px) !important; margin-bottom: 6px !important; }
.vbd-conf-ws { background: color-mix(in srgb, var(--ws-accent, #b5e8f2) 18%, #fff) !important; border: 1px solid color-mix(in srgb, var(--ws-accent, #b5e8f2) 40%, #fff) !important; border-radius: 16px !important; padding: clamp(16px, 2.4vw, 24px) !important; }
.vbd-conf-ws-step { display: inline-block !important; font-family:'Outfit',sans-serif !important; font-size: clamp(11px, 1.5vw, 13px) !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: #0e0e0e !important; background: rgba(255,255,255,.7) !important; padding: 4px 12px !important; border-radius: 100px !important; margin-bottom: 12px !important; }
.vbd-conf-ws-title { font-family:'Outfit',sans-serif !important; font-size: clamp(16px, 2.2vw, 21px) !important; font-weight: 700 !important; color: #0e0e0e !important; line-height: 1.3 !important; margin: 0 0 8px !important; }
.vbd-conf-ws p { font-family:'Outfit',sans-serif !important; font-size: clamp(14px, 1.8vw, 16px) !important; color: #44475a !important; line-height: 1.6 !important; margin: 0 !important; }

/* Programme footer */
.vbd-conf-foot { text-align: center !important; margin-top: clamp(28px, 4vw, 40px) !important; padding-top: 24px !important; border-top: 2px solid rgba(0,0,0,.06) !important; }
.vbd-conf-foot p { font-family:'Outfit',sans-serif !important; font-size: clamp(15px, 2vw, 19px) !important; font-weight: 600 !important; color: #0e0e0e !important; margin: 0 0 16px !important; }

@media (max-width: 980px) {
  .vbd-conf-info { grid-template-columns: repeat(2, 1fr) !important; }
  .vbd-conf-workshops { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
  .vbd-conf-info { grid-template-columns: 1fr !important; max-width: 480px !important; margin-left: auto !important; margin-right: auto !important; }
  .vbd-conf-slot { grid-template-columns: 1fr !important; gap: 2px !important; }
  .vbd-conf-time { padding-top: 0 !important; }
}

/* ========================================
   SCROLL REVEAL
   ======================================== */
.vbd-sr { opacity: 0; transform: translateY(40px); transition: opacity .8s var(--vbd-ease), transform .8s var(--vbd-ease) !important; transition-delay: var(--sr-delay, 0s) !important; }
.vbd-sr.vbd-visible { opacity: 1 !important; transform: translateY(0) !important; }
.vbd-sr-left, .vbd-sr-right { opacity: 0; transform: translateY(50px); transition: opacity .9s var(--vbd-ease), transform .9s var(--vbd-ease) !important; }
.vbd-sr-left.vbd-visible, .vbd-sr-right.vbd-visible { opacity: 1 !important; transform: translateY(0) !important; }

/* ========================================
   LIGHTBOX
   ======================================== */
.vbd-lb { display: none; position: fixed; inset: 0; z-index: 999999; align-items: center; justify-content: center; }
.vbd-lb.vbd-lb-open { display: flex; }
.vbd-lb-backdrop { position: absolute; inset: 0; background: rgba(10,10,14,.92); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); cursor: zoom-out; }
.vbd-lb-stage { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 14px; max-width: min(92vw, 1100px); max-height: 92vh; animation: vbdLbIn .3s cubic-bezier(.16,1,.3,1) both; }
@keyframes vbdLbIn { from { opacity:0; transform:scale(.92); } to { opacity:1; transform:scale(1); } }
.vbd-lb-img { max-width: 100%; max-height: 80vh; width: auto; height: auto; border-radius: 14px; box-shadow: 0 32px 80px rgba(0,0,0,.6); display: block; object-fit: contain; transition: opacity .15s ease; }
.vbd-lb-caption { color: rgba(255,255,255,.65); font-family:'Outfit',sans-serif; font-size: 14px; text-align: center; margin: 0; line-height: 1.5; }
.vbd-lb-close, .vbd-lb-prev, .vbd-lb-next { position: fixed; background: rgba(255,255,255,.12); border: none; color: #fff; cursor: pointer; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: background .2s ease, transform .2s ease; z-index: 3; line-height: 1; padding: 0; font-family: sans-serif; }
.vbd-lb-close { top: 18px; right: 18px; width: 44px; height: 44px; font-size: 20px; }
.vbd-lb-prev, .vbd-lb-next { top: 50%; transform: translateY(-50%); width: 52px; height: 52px; font-size: 36px; }
.vbd-lb-prev { left: 18px; }
.vbd-lb-next { right: 18px; }
.vbd-lb-close:hover { background: rgba(255,255,255,.28); }
.vbd-lb-prev:hover { background: rgba(255,255,255,.28); transform: translateY(-50%) scale(1.08); }
.vbd-lb-next:hover { background: rgba(255,255,255,.28); transform: translateY(-50%) scale(1.08); }

/* ========================================
   RESPONSIVE – TABLET (980px)
   ======================================== */
@media (max-width: 980px) {
  .vbd-cards-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .vbd-tl-body { grid-template-columns: 1fr !important; }
  .vbd-gallery-3col { grid-template-columns: repeat(2, 1fr) !important; }
  .vbd-gallery-masonry { grid-template-columns: repeat(2, 1fr) !important; }
  .vbd-gallery-recap { grid-template-columns: repeat(3, 1fr) !important; }
}

/* ========================================
   RESPONSIVE – MOBILE LARGE (768px)
   ======================================== */
@media (max-width: 768px) {
  .vbd-cards-grid { grid-template-columns: 1fr !important; max-width: 520px !important; margin: 0 auto !important; }
  .vbd-gallery-recap { grid-template-columns: repeat(2, 1fr) !important; }
  .vbd-closing-team-img { max-width: 100% !important; }
}

/* ========================================
   RESPONSIVE – MOBILE (640px)
   ======================================== */
@media (max-width: 640px) {
  .vbd-hero {
    min-height: auto !important;
    padding: clamp(100px, 14vw, 140px) 16px clamp(40px, 8vw, 60px) !important;
  }
  .vbd-tag { padding: 5px 16px !important; margin-bottom: 20px !important; }
  .vbd-timeline { padding-left: 28px !important; gap: clamp(28px, 5vw, 48px) !important; }
  .vbd-timeline::before { left: 8px !important; }
  .vbd-tl-dot { left: -24px !important; width: 14px !important; height: 14px !important; border-width: 3px !important; top: 24px !important; }
  .vbd-tl-content { padding: clamp(16px, 4vw, 24px) !important; border-radius: 18px !important; }
  .vbd-gallery-3col, .vbd-gallery-2col, .vbd-gallery-masonry { grid-template-columns: 1fr !important; }
  .vbd-gallery-recap { grid-template-columns: repeat(2, 1fr) !important; }
  .vbd-event-img-frame { border-radius: 12px !important; }
  .vbd-event-img-frame img { border-radius: 8px !important; }
  .vbd-overview { padding: clamp(32px, 6vw, 64px) 0 !important; }
  .vbd-events { padding: clamp(32px, 6vw, 64px) 0 clamp(24px, 5vw, 48px) !important; }
  .vbd-promo { padding: clamp(32px, 6vw, 64px) 0 clamp(24px, 4vw, 48px) !important; }
  .vbd-closing { padding: clamp(32px, 6vw, 64px) 0 !important; }

  .vbd-lb-prev, .vbd-lb-next { width: 40px; height: 40px; font-size: 28px; }
  .vbd-lb-prev { left: 8px; }
  .vbd-lb-next { right: 8px; }
  .vbd-lb-close { width: 38px; height: 38px; font-size: 18px; top: 12px; right: 12px; }
}

/* ========================================
   RESPONSIVE – MOBILE SMALL (480px)
   ======================================== */
@media (max-width: 480px) {
  .vbd-hero {
    padding: clamp(90px, 12vw, 120px) 14px clamp(32px, 6vw, 48px) !important;
  }
  .vbd-timeline { padding-left: 22px !important; }
  .vbd-timeline::before { left: 5px !important; width: 2px !important; }
  .vbd-tl-dot { left: -20px !important; width: 12px !important; height: 12px !important; border-width: 2px !important; }
  .vbd-tl-content { padding: 14px !important; }
  .vbd-gallery-recap { grid-template-columns: 1fr !important; }
  .vbd-wrap { padding: 0 12px !important; }
  .vbd-btn { padding: 12px 22px !important; }
  .vbd-pdf-btn { padding: 14px !important; gap: 10px !important; border-radius: 12px !important; }
}

/* ========================================
   REDUCED MOTION
   ======================================== */
@media (prefers-reduced-motion: reduce) {
  .vbd-container *, .vbd-container *::before, .vbd-container *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .vbd-sr, .vbd-sr-left, .vbd-sr-right { opacity: 1 !important; transform: none !important; }
}
