/* Jakobi Event Slider 1.0.2 – designed for the live Jakobi start page. */
.jbes {
  --jbes-navy:#092f4f;
  --jbes-blue:#078fe2;
  --jbes-blue-hover:#077cc4;
  --jbes-muted:#456079;
  --jbes-line:#d9e6ee;
  --jbes-width:1320px;
  display:block;
  position:relative;
  min-width:0;
  width:100%;
  max-width:var(--jbes-width);
  margin-inline:auto;
  font-family:inherit;
  color:var(--jbes-navy);
  box-sizing:border-box;
}
.jbes *, .jbes *::before, .jbes *::after { box-sizing:border-box; }
.jbes-surface {
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--jbes-line);
  border-radius:24px;
  box-shadow:0 9px 35px rgba(8,47,80,.045);
}
.jbes-viewport {
  position:relative;
  overflow:hidden;
  min-width:0;
  width:100%;
  touch-action:pan-y;
  outline:none;
  transition:height .25s ease;
}
.jbes-viewport:focus-visible { outline:2px solid var(--jbes-blue); outline-offset:-3px; }
.jbes-track {
  display:flex;
  align-items:flex-start;
  width:100%;
  min-width:0;
  transition:transform .46s cubic-bezier(.25,.8,.25,1);
}
.jbes-slide {
  display:grid;
  grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);
  align-items:center;
  gap:clamp(30px,4.4vw,70px);
  flex:0 0 100%;
  width:100%;
  min-width:0;
  padding:clamp(28px,3.1vw,44px) clamp(25px,2.1vw,32px) 10px;
}
.jbes-content {
  min-width:0;
  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.jbes-copy { min-width:0; width:100%; }
.jbes .jbes-eyebrow {
  display:flex!important; align-items:center!important; gap:12px!important;
  margin:0 0 15px!important; padding:0!important;
  color:var(--jbes-blue)!important;
  font-family:inherit!important;
  font-size:13px!important; font-weight:800!important;
  line-height:1.3!important; letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
.jbes-eyebrow-line { display:block; flex:0 0 29px; height:3px; border-radius:9px; background:var(--jbes-blue); }
.jbes .jbes-title {
  margin:0!important; padding:0!important;
  color:var(--jbes-navy)!important;
  font-family:inherit!important;
  font-size:clamp(32px,3.2vw,49px)!important;
  font-weight:800!important;
  line-height:1.11!important; letter-spacing:-.038em!important;
  text-transform:none!important; overflow-wrap:break-word;
}
.jbes .jbes-date {
  margin:14px 0 0!important; padding:0!important;
  display:flex!important; align-items:center!important; gap:8px!important;
  font-size:13px!important; line-height:1.5!important; font-weight:700!important;
  color:var(--jbes-blue)!important;
}
.jbes .jbes-text {
  max-width:630px;
  margin:16px 0 0!important;
  color:var(--jbes-muted)!important;
  font-family:inherit!important;
  font-size:clamp(15px,1.2vw,17px)!important;
  font-weight:400!important;
  line-height:1.65!important;
  overflow-wrap:break-word;
}
.jbes .jbes-text p { color:inherit!important; margin:0 0 9px!important; padding:0!important; font:inherit!important; line-height:inherit!important; }
.jbes .jbes-text p:last-child { margin-bottom:0!important; }
.jbes-actions { margin-top:22px; padding:0; min-width:0; }
.jbes .jbes-button,
.jbes .jbes-button:visited {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:19px!important;
  max-width:100%;
  min-height:50px;
  padding:13px 20px!important;
  border:0!important; border-radius:10px!important;
  background:var(--jbes-blue)!important;
  box-shadow:0 10px 21px rgba(7,143,226,.14);
  color:#fff!important;
  text-decoration:none!important; text-transform:none!important;
  font-family:inherit!important; font-size:14px!important;
  font-weight:800!important; line-height:1.2!important;
  transition:background .2s,transform .2s,box-shadow .2s;
}
.jbes .jbes-button:hover, .jbes .jbes-button:focus-visible {
  background:var(--jbes-blue-hover)!important;
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 13px 25px rgba(7,143,226,.18);
}
.jbes-button svg { display:block; width:17px; height:17px; flex:0 0 17px; stroke:currentColor; transition:transform .2s; }
.jbes-button:hover svg { transform:translateX(3px); }

/* Just ONE organic image silhouette, without ornamental rings and blobs. */
.jbes-visual {
  min-width:0;
  width:100%;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 8px 12px;
}
.jbes-visual::before { display:none!important; content:none!important; }
.jbes-blob {
  position:relative;
  overflow:hidden;
  width:min(100%,470px);
  aspect-ratio:1.38;
  min-width:0;
  border-radius:44% 56% 48% 52% / 50% 43% 57% 50%;
  background:#e8f4fb;
  box-shadow:0 13px 28px rgba(7,58,92,.085);
}
.jbes .jbes-image {
  display:block!important;
  width:100%!important; height:100%!important;
  max-width:none!important; max-height:none!important;
  margin:0!important; padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important; border-radius:0!important;
}
.jbes-image-placeholder {
  display:flex; width:100%; height:100%; flex-direction:column;
  align-items:center; justify-content:center; gap:10px;
  color:#fff;
  background:linear-gradient(135deg,#078fe2,#092f4f);
}
.jbes-image-placeholder svg { width:86px; height:86px; color:#b0def7; }
.jbes-image-placeholder span { color:#fff; font-size:11px; font-weight:800; letter-spacing:.1em; }

/* Small, centrally aligned controls: two unobtrusive arrows, dots, optional pause. */
.jbes-toolbar {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin:0 auto;
  min-height:57px;
  padding:0 18px 17px;
}
.jbes .jbes-navbtn, .jbes .jbes-dot, .jbes .jbes-toggle {
  appearance:none!important; -webkit-appearance:none!important;
  cursor:pointer;
  border:0!important; box-shadow:none!important;
  text-decoration:none!important; font-family:inherit!important;
  font-size:inherit!important; line-height:1!important;
}
.jbes .jbes-navbtn {
  display:grid!important; place-items:center!important;
  width:38px!important; height:38px!important; flex:0 0 38px;
  padding:0!important;
  border:1px solid #d9e6ee!important;
  border-radius:50%!important;
  background:#fff!important; color:var(--jbes-navy)!important;
  transition:color .2s,background .2s,border-color .2s;
}
.jbes-navbtn svg { width:17px; height:17px; display:block; }
.jbes .jbes-navbtn:hover, .jbes .jbes-navbtn:focus-visible {
  color:var(--jbes-blue)!important;
  border-color:#b3d9ee!important;
  background:#eff8fd!important;
}
.jbes-dots { display:flex; align-items:center; justify-content:center; gap:3px; }
.jbes .jbes-dot {
  display:grid!important; place-items:center!important;
  width:27px!important; height:38px!important;
  min-width:27px!important; padding:0!important;
  background:transparent!important;
  border-radius:99px!important;
}
.jbes-dot span { display:block; width:7px; height:7px; border-radius:30px; background:#c6d9e7; transition:background .2s,width .2s; }
.jbes-dot.is-active span { width:21px; background:var(--jbes-blue); }
.jbes-dot:hover span, .jbes-dot:focus-visible span { background:#63addb; }
.jbes .jbes-toggle {
  display:grid!important; place-items:center!important;
  padding:0!important;
  margin-left:4px!important;
  width:34px!important; height:34px!important;
  background:transparent!important; color:#90aabd!important;
  border-radius:50%!important;
  transition:background .2s,color .2s;
}
.jbes-toggle svg { display:block; width:13px; height:13px; stroke:currentColor; }
.jbes-toggle .jbes-play-icon { display:none; }
.jbes-toggle.is-paused .jbes-play-icon { display:block; }
.jbes-toggle.is-paused .jbes-pause-icon { display:none; }
.jbes .jbes-toggle:hover, .jbes .jbes-toggle:focus-visible { background:#eef7fc!important; color:var(--jbes-blue)!important; }
.jbes-toggle-text { display:none!important; }
.jbes-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.jbes-empty { padding:18px; border:1px dashed #cde2ef; border-radius:12px; color:#35556d; }
.jbes-empty a { color:#087fc5; }

@media (max-width:980px) {
  .jbes-slide { gap:23px; padding:29px 24px 8px; }
  .jbes .jbes-title { font-size:clamp(29px,3.8vw,43px)!important; }
  .jbes-visual { padding:7px 3px 10px; }
  .jbes-blob { width:min(100%,420px); aspect-ratio:1.28; }
}
@media (max-width:740px) {
  .jbes-surface { border-radius:18px; }
  .jbes-slide { grid-template-columns:minmax(0,1fr); align-items:start; gap:14px; padding:25px 22px 0; }
  .jbes .jbes-title { font-size:clamp(29px,6.8vw,41px)!important; }
  .jbes-actions { margin-top:21px; }
  .jbes-visual { padding:15px 4px 17px; }
  .jbes-blob { width:min(100%,435px); aspect-ratio:1.34; }
  .jbes-toolbar { padding:1px 10px 17px; min-height:55px; }
}
@media (max-width:440px) {
  .jbes-slide { padding:22px 18px 0; gap:12px; }
  .jbes .jbes-eyebrow { font-size:11px!important; margin-bottom:10px!important; }
  .jbes-eyebrow-line { flex-basis:23px; }
  .jbes .jbes-title { font-size:clamp(28px,8.4vw,38px)!important; }
  .jbes .jbes-text { font-size:14px!important; line-height:1.6!important; margin-top:12px!important; }
  .jbes .jbes-date { font-size:12px!important; margin-top:10px!important; }
  .jbes .jbes-button { min-height:47px; padding:12px 17px!important; font-size:13px!important; }
  .jbes-visual { padding:10px 2px 13px; }
  .jbes-blob { aspect-ratio:1.31; }
  .jbes-toolbar { gap:7px; padding-bottom:13px; }
  .jbes .jbes-navbtn { width:35px!important; height:35px!important; flex-basis:35px; }
  .jbes .jbes-toggle { width:30px!important; height:30px!important; margin-left:0!important; }
}
@media (prefers-reduced-motion:reduce) {
  .jbes-track, .jbes-viewport, .jbes *, .jbes *::before, .jbes *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}
