/* Gridbox Stories - all selectors are scoped; does not alter Gridbox menu or header. */
.gbs-root,.gbs-root *, .gbs-tooltip,.gbs-tooltip * { box-sizing: border-box; }
.gbs-root {
  --gbs-final-size: var(--gbs-size-desktop,46px);
  display: flex; align-items: center; justify-content: flex-start;
  width: max-content; max-width: 100%; min-width: 0;
  position: relative; isolation: isolate;
  font-family: inherit; line-height: normal;
}
.gbs-root.gbs-align-center { justify-content: center; margin-inline: auto; }
.gbs-root.gbs-align-end { justify-content: flex-end; margin-inline-start: auto; }
.gbs-list { display: flex !important; gap: var(--gbs-gap,9px) !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center; width: max-content; max-width: 100%; min-width: 0; margin: 0; padding: 0; }
.gbs-story { flex: 0 0 auto; margin: 0 !important; padding: 0 !important; position: relative; min-width: 0; }
.gbs-story__link {
  display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
  gap: 4px; text-decoration: none !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; background: none !important; box-shadow: none !important;
  line-height: 1.2 !important; border-radius: 999px; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.gbs-story__link:hover, .gbs-story__link:focus { text-decoration: none !important; }
.gbs-story__link:focus-visible { outline: 2px solid var(--gbs-ring-a); outline-offset: 5px; }
.gbs-circle {
  display: flex !important; align-items: center; justify-content: center; position: relative;
  flex: 0 0 var(--gbs-final-size); width: var(--gbs-final-size); height: var(--gbs-final-size);
  border-radius: 50%; padding: calc(var(--gbs-ring,3px) + 2px); overflow: hidden;
  transition: transform .25s ease; background: transparent;
}
.gbs-circle::before {
  content: ""; position: absolute; inset: 0; border-radius: 50%;
  background: conic-gradient(from 0deg, var(--gbs-ring-a) 0%, var(--gbs-ring-b) 25%, #fff1b8 45%, var(--gbs-ring-a) 70%, var(--gbs-ring-b) 100%);
  animation: gbs-rotate var(--gbs-spin,4s) linear infinite; will-change: transform;
}
.gbs-circle::after {
  content: ""; position: absolute; inset: var(--gbs-ring,3px); border-radius: 50%;
  background: var(--gbs-bg, #fff); pointer-events: none;
}
.gbs-picture {
  display: flex !important; align-items: center; justify-content: center; position: relative;
  z-index: 2; overflow: hidden; border-radius: 50%;
  width: 100%; height: 100%; background: linear-gradient(145deg,#f0f7fa,#dceaf3);
  color: #6589a0; box-shadow: 0 0 0 1px rgba(50,75,85,.07);
}
.gbs-picture img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50%; }
.gbs-fallback { width: 46%; height: 46%; display:block; }
.gbs-story__link:hover .gbs-circle { transform: scale(1.06); }
.gbs-story.is-seen .gbs-circle::before { animation: none !important; opacity: 0; }
.gbs-story.is-seen .gbs-circle::after { background: transparent; }
.gbs-story.is-seen .gbs-picture { box-shadow: 0 0 0 1px rgba(100,130,145,.16); }
.gbs-caption { display: block; max-width: calc(var(--gbs-final-size) + 16px); font-weight: 500; font-size: 10px; line-height: 1.25; color: inherit; text-align: center; overflow:hidden; text-overflow: ellipsis; white-space: nowrap; }
@keyframes gbs-rotate { to { transform: rotate(360deg); } }
@media (max-width:1024px) { .gbs-root { --gbs-final-size: var(--gbs-size-tablet,42px); } }
@media (max-width:767px) { .gbs-root { --gbs-final-size: var(--gbs-size-mobile,38px); } }
@media (prefers-reduced-motion: reduce) { .gbs-circle::before { animation: none !important; will-change: auto; } .gbs-circle { transition: none; } }
/* Tooltip is moved to document.body so Gridbox header overflow cannot crop it. */
.gbs-tooltip {
  --gbs-arrow-x: 50%;
  display: block; position: fixed; inset: auto; z-index: 2147483000;
  width: max-content; max-width: min(var(--gbs-tooltip-width,244px), calc(100vw - 16px));
  min-width: 156px; padding: 12px 15px; pointer-events: none;
  border-radius: 13px; background: var(--gbs-tooltip-bg,#172330) !important; color: var(--gbs-tooltip-fg,#fff) !important;
  box-shadow: 0 10px 35px rgba(7,18,35,.18), 0 3px 8px rgba(7,18,35,.1);
  text-align: left; line-height: 1.3; font-family: inherit;
  opacity: 0; transform: translateY(5px); transition: opacity .23s ease, transform .23s ease;
}
.gbs-tooltip[hidden] { display: none !important; }
.gbs-tooltip.is-visible { opacity: 1; transform: translateY(0); }
.gbs-tooltip::after {
  content: ""; position: absolute; bottom: -6px; left: var(--gbs-arrow-x,50%);
  width: 13px; height: 13px; background: inherit; border-radius: 2px;
  transform: translateX(-50%) rotate(45deg);
}
.gbs-tooltip.gbs-tooltip--below::after { top: -6px; bottom: auto; }
.gbs-tooltip__heading { font-size: 13px; line-height: 1.4; font-weight: 650; display: block; color: inherit !important; white-space: normal; }
.gbs-tooltip__subtitle { font-size: 11px; font-weight: 400; line-height: 1.4; opacity: .81; display: block; margin-top: 3px; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: inherit !important; }
@media (prefers-reduced-motion: reduce) { .gbs-tooltip { transition: none; } }

/* 1.8.1 — Instagram-like preview slides, rendered in browser top layer via native dialog.
   The stylesheet intentionally includes NO copy of PhotoSwipe or another vendor library. */
.gbs-preview-stage, .gbs-preview-stage *, .gbs-viewer, .gbs-viewer * { box-sizing: border-box; }
.gbs-preview-stage {
  --gbs-preview-timer: 10s;
  width: 100%; height: 100%; min-height: 0;
  display: flex; align-items: center; justify-content: center;
  pointer-events: none; color: #fff; font-family: inherit;
  padding: clamp(10px,2.5vh,24px) 42px;
}
.gbs-preview {
  position: relative; isolation: isolate; overflow: hidden;
  width: min(430px,100%); height: min(760px,calc(100dvh - 48px));
  min-height: 340px; border-radius: 20px; background: #121b28;
  color: #fff; pointer-events: auto;
  box-shadow: 0 28px 90px rgba(0,0,0,.42), 0 4px 18px rgba(0,0,0,.25);
  display: flex; flex-direction: column; justify-content: flex-end;
}
.gbs-preview__picture, .gbs-preview__gradient {
  position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none;
}
/* 1.7.1 — the photo is a real <img class="gbs-preview__img"> created by viewer.js from a list of
   candidate URLs. The gradient below is only a PLACEHOLDER: visible while the photo is loading
   (.is-pending) or when every candidate failed (.is-empty). Once loaded (.is-loaded) it is gone. */
.gbs-preview__picture {
  z-index:0; overflow:hidden;
  background:linear-gradient(145deg,#1c2b3f,#506c77);
}
.gbs-preview__picture.is-loaded { background:#0f1824; }
.gbs-preview__picture .gbs-preview__img {
  position:absolute !important; inset:0 !important; z-index:1 !important;
  display:block !important; width:100% !important; height:100% !important;
  max-width:none !important; max-height:none !important; margin:0 !important; padding:0 !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important;
  object-fit:var(--gbs-image-fit,cover) !important; object-position:center !important;
  opacity:1 !important; visibility:visible !important; filter:none !important; transform:none !important;
  animation:none !important; transition:none !important;
}
.gbs-preview__no-image { font-size: 8rem; opacity: .4; width:100%;height:100%;display:grid;place-items:center; }
/* Independent overlay: can be disabled without interfering with photo rendering. */
.gbs-preview__gradient {
  z-index:2;
  background:linear-gradient(180deg,rgba(5,11,22,.25) 0%,transparent 24%,transparent 43%,rgba(5,11,22,.58) 74%,rgba(5,11,22,.86) 100%);
}
.gbs-preview-stage[data-gbs-overlay="strong"] .gbs-preview__gradient {
  background:linear-gradient(180deg,rgba(5,11,22,.48) 0%,transparent 24%,rgba(5,11,22,.1) 43%,rgba(5,11,22,.78) 74%,rgba(5,11,22,.96) 100%);
}
.gbs-preview-stage[data-gbs-overlay="none"] .gbs-preview__gradient { background:none !important; }
.gbs-preview__top { position:absolute; z-index:3; inset: 33px auto auto 22px; display:flex; align-items:center; gap:9px; font-size:12px; letter-spacing:.045em; text-transform:uppercase; font-weight:700; text-shadow:0 1px 6px #0005; }
.gbs-preview__dot { width:9px; height:9px; flex:0 0 9px; border-radius:50%; background:#a6d4e7; box-shadow: 0 0 0 4px #84acc247; }
.gbs-preview__text { position:relative; z-index:4; padding: 24px clamp(20px,5vw,30px) 32px; min-width:0; max-height: min(65%,520px); overflow: auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#ffffff68 transparent; }
.gbs-preview__heading { color:#fff !important; font-family:inherit; font-size:clamp(22px,3vw,30px) !important; font-weight:750 !important; letter-spacing:-.025em; line-height:1.17 !important; margin:0 0 14px !important; padding:0 !important; text-wrap:balance; text-shadow:0 1px 7px #0005; }
.gbs-preview__excerpt { color:rgba(255,255,255,.9) !important; font-family:inherit; font-size:14px !important; font-weight:400; line-height:1.55 !important; margin:0 0 22px !important; padding:0 !important; white-space:normal; overflow-wrap:anywhere; }
.gbs-preview__button {
  display:flex !important; align-items:center; justify-content:center; gap:11px;
  color:#112332 !important; background:#fff !important; border:1px solid #fff !important;
  padding:13px 17px !important; border-radius:999px !important;
  font-size:13px !important; line-height:1.4 !important; font-family:inherit; font-weight:700;
  text-align:center; text-decoration:none !important; cursor:pointer;
  transition:transform .2s ease,background .2s ease;
  box-shadow: 0 8px 20px rgba(0,0,0,.2);
}
.gbs-preview__button:hover { background:#d8edf7 !important; color:#112332 !important; transform:translateY(-1px); }
.gbs-preview__button:focus-visible { outline:3px solid #84acc2 !important;outline-offset:3px; }
.gbs-preview__button span { font-size:18px; line-height:1; }
.gbs-preview__progress { position:absolute; z-index:6; top:13px;left:15px;right:15px; display:flex; gap:5px; pointer-events:none; }
.gbs-preview__bar { position:relative; display:block; height:3px; flex:1; background:rgba(255,255,255,.37); border-radius:3px; overflow:hidden; }
.gbs-preview__bar::before { content:"";display:block;width:100%;height:100%;background:#fff;transform:scaleX(0);transform-origin:left center; }
.gbs-preview__bar.is-complete::before { transform:scaleX(1); }
.gbs-preview__bar.is-current::before { transform:scaleX(.12); }
.gbs-preview-stage.is-playing .gbs-preview__bar.is-current::before { animation:gbs-preview-progress var(--gbs-preview-timer,10s) linear both; }
@keyframes gbs-preview-progress { from {transform:scaleX(0)} to {transform:scaleX(1)} }

/* Highest browser top layer: modern native modal dialog appended to <body>.
   Not clipped by overflow:hidden / transforms on the Gridbox menu or header. */
.gbs-viewer {
  position:fixed !important; inset:0 !important; width:100vw !important;
  width:100dvw !important; height:100vh !important; height:100dvh !important;
  max-width:none !important;max-height:none !important;
  margin:0 !important; padding:0 !important; border:0 !important;
  background:var(--gbs-viewer-backdrop-color,rgba(5,10,18,.94)) !important;
  -webkit-backdrop-filter:blur(var(--gbs-viewer-backdrop-blur,7px)) !important;
  backdrop-filter:blur(var(--gbs-viewer-backdrop-blur,7px)) !important;
  color:#fff !important; overflow:hidden !important;
  z-index:2147483002 !important; font-family:inherit; isolation:isolate;
}
.gbs-viewer:not([open]) { display:none !important; }
/* The full-viewport dialog is the per-instance adjustable scrim. Its genuine
   ::backdrop stays clear so it cannot fight the theme or double-darken the page. */
.gbs-viewer::backdrop { background:transparent !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
.gbs-viewer__shell { position:relative; width:100%;height:100%; display:flex; align-items:center;justify-content:center; }
/* Separate absolute slide layers let the old and new story crossfade/slide without jumps. */
.gbs-viewer__frame { position:relative; width:100%;height:100%; min-height:0; overflow:hidden; }
.gbs-viewer__frame > .gbs-preview-stage { position:absolute; inset:0; }
.gbs-viewer__frame > .gbs-preview-stage:not([data-gbs-active-stage]) .gbs-preview {pointer-events:none !important;}
.gbs-viewer__frame > .gbs-preview-stage.gbs-slide-enter-next {animation:gbs-v181-enter-next var(--gbs-slide-duration,360ms) cubic-bezier(.22,.74,.22,1) both !important;}
.gbs-viewer__frame > .gbs-preview-stage.gbs-slide-enter-prev {animation:gbs-v181-enter-prev var(--gbs-slide-duration,360ms) cubic-bezier(.22,.74,.22,1) both !important;}
.gbs-viewer__frame > .gbs-preview-stage.gbs-slide-leave-next {animation:gbs-v181-leave-next var(--gbs-slide-duration,360ms) cubic-bezier(.22,.74,.22,1) both !important;}
.gbs-viewer__frame > .gbs-preview-stage.gbs-slide-leave-prev {animation:gbs-v181-leave-prev var(--gbs-slide-duration,360ms) cubic-bezier(.22,.74,.22,1) both !important;}
.gbs-viewer__frame > .gbs-preview-stage.gbs-fade-enter {animation:gbs-v181-fade-enter var(--gbs-slide-duration,360ms) ease both !important;}
.gbs-viewer__frame > .gbs-preview-stage.gbs-fade-leave {animation:gbs-v181-fade-leave var(--gbs-slide-duration,360ms) ease both !important;}
@keyframes gbs-v181-enter-next {from {opacity:0;transform:translate3d(28px,0,0) scale(.985);} to {opacity:1;transform:translate3d(0,0,0) scale(1);}}
@keyframes gbs-v181-enter-prev {from {opacity:0;transform:translate3d(-28px,0,0) scale(.985);} to {opacity:1;transform:translate3d(0,0,0) scale(1);}}
@keyframes gbs-v181-leave-next {from {opacity:1;transform:translate3d(0,0,0);} to {opacity:0;transform:translate3d(-22px,0,0) scale(.985);}}
@keyframes gbs-v181-leave-prev {from {opacity:1;transform:translate3d(0,0,0);} to {opacity:0;transform:translate3d(22px,0,0) scale(.985);}}
@keyframes gbs-v181-fade-enter {from {opacity:0;} to {opacity:1;}}
@keyframes gbs-v181-fade-leave {from {opacity:1;} to {opacity:0;}}
/* Icon geometry is independent of the site's font, line-height and button defaults. */
.gbs-viewer button.gbs-viewer__close, .gbs-viewer button.gbs-viewer__nav {
  position:absolute !important; z-index:10 !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  flex-direction:row !important; box-sizing:border-box !important;
  width:44px !important;height:44px !important; min-width:44px !important; min-height:44px !important;
  padding:0 !important; margin:0 !important;
  appearance:none !important;-webkit-appearance:none !important;
  background:rgba(255,255,255,.13) !important;
  border:1px solid rgba(255,255,255,.19) !important; border-radius:50% !important;
  color:#fff !important; font-size:0 !important; line-height:0 !important;
  letter-spacing:0 !important;text-indent:0 !important;
  cursor:pointer; -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:none !important;text-decoration:none !important;
}
.gbs-viewer button.gbs-viewer__close svg, .gbs-viewer button.gbs-viewer__nav svg {
  display:block !important; position:static !important; flex:none !important;
  width:20px !important;height:20px !important; min-width:20px !important;min-height:20px !important;
  margin:0 !important;padding:0 !important;transform:none !important;
  fill:none !important; stroke:currentColor !important;stroke-width:2.4 !important;
  stroke-linecap:round !important;stroke-linejoin:round !important;
  pointer-events:none !important;
}
.gbs-viewer button.gbs-viewer__close svg {width:19px !important;height:19px !important;min-width:19px !important;min-height:19px !important;}
.gbs-viewer__close:hover, .gbs-viewer__nav:hover { background:rgba(255,255,255,.27) !important; }
.gbs-viewer__close:focus-visible, .gbs-viewer__nav:focus-visible { outline:2px solid #fff;outline-offset:3px; }
.gbs-viewer__close { top: max(16px,env(safe-area-inset-top)); right:max(16px,env(safe-area-inset-right)); }
.gbs-viewer__nav { top:50%;transform:translateY(-50%); }
.gbs-viewer__nav--prev { left: max(12px,calc((100vw - 540px)/2 - 20px)); }
.gbs-viewer__nav--next { right:max(12px,calc((100vw - 540px)/2 - 20px)); }
.gbs-viewer__nav:disabled { opacity:.22;pointer-events:none; }
.gbs-viewer__nav[hidden] { display:none !important; }
.gbs-viewer__counter { position:absolute;bottom:7px;left:0;right:0;text-align:center;color:#c8d1dc;font:500 11px/1.3 system-ui,sans-serif;pointer-events:none; }
@media(max-width:600px) {
  .gbs-preview-stage { padding:0; }
  .gbs-preview { width:100%;height:100%;max-width:none;max-height:none;border-radius:0; }
  .gbs-preview__text { padding:22px 24px max(40px,env(safe-area-inset-bottom));max-height:63%; }
  .gbs-preview__heading {font-size:clamp(24px,7vw,30px) !important;}
  .gbs-preview__progress {top:max(12px,env(safe-area-inset-top));}
  .gbs-preview__top {top:max(34px,calc(env(safe-area-inset-top) + 24px));}
  .gbs-viewer__close {top:34px;right:15px;background:rgba(0,0,0,.37) !important;}
  .gbs-viewer button.gbs-viewer__nav {width:36px !important;height:36px !important;min-width:36px !important;min-height:36px !important;background:rgba(0,0,0,.35) !important;}
  .gbs-viewer__nav--prev {left:6px;}
  .gbs-viewer__nav--next {right:6px;}
  .gbs-viewer__counter {bottom:7px;}
}
@media(prefers-reduced-motion:reduce) {
 .gbs-preview__button {transition:none;}
 .gbs-preview-stage.is-playing .gbs-preview__bar.is-current::before {animation:none;}
 .gbs-viewer__frame > .gbs-preview-stage.gbs-slide-enter-next,
 .gbs-viewer__frame > .gbs-preview-stage.gbs-slide-enter-prev,
 .gbs-viewer__frame > .gbs-preview-stage.gbs-slide-leave-next,
 .gbs-viewer__frame > .gbs-preview-stage.gbs-slide-leave-prev,
 .gbs-viewer__frame > .gbs-preview-stage.gbs-fade-enter,
 .gbs-viewer__frame > .gbs-preview-stage.gbs-fade-leave {animation:none !important;}
}

/* 1.5.0: optional VISIBLE editorial link section for internal linking.
   Compact header mode remains unchanged. Do not hide this section from users
   while showing its content to crawlers. No JavaScript is required. */
.gbs-navigation { display:block; width: max-content; max-width:100%; }
.gbs-root.gbs-with-seo { width:min(100%,560px); flex-direction:column; align-items:stretch; gap:18px; }
.gbs-root.gbs-with-seo .gbs-navigation { width:100%; }
.gbs-root.gbs-with-seo .gbs-list { width:100%; }
.gbs-root.gbs-with-seo.gbs-align-center .gbs-list { justify-content:center !important; }
.gbs-root.gbs-with-seo.gbs-align-end .gbs-list { justify-content:flex-end !important; }
.gbs-root .gbs-seo { width:100%; min-width:0; max-width:100%; font-family:inherit; text-align:left; }
.gbs-root .gbs-seo__heading { margin:0 0 13px !important; padding:0 !important; color:inherit !important; font-size:clamp(17px,1.45vw,21px) !important; line-height:1.3 !important; font-weight:700 !important; text-transform:none; letter-spacing:normal; }
.gbs-root .gbs-seo__items { margin:0 !important; padding:0 !important; list-style:none !important; display:grid; gap:14px; }
.gbs-root .gbs-seo__item { list-style:none !important; margin:0 !important; padding:0 0 12px !important; border-bottom:1px solid rgba(126,139,152,.18); }
.gbs-root .gbs-seo__link { display:inline !important; text-decoration:underline !important; text-decoration-thickness:1px !important; text-underline-offset:.18em; color:inherit !important; font-size:14px !important; line-height:1.5 !important; font-weight:650 !important; overflow-wrap:anywhere; }
.gbs-root .gbs-seo__link:hover { text-decoration-thickness:2px !important; }
.gbs-root .gbs-seo__link:focus-visible, .gbs-root .gbs-seo__archive:focus-visible { outline:2px solid var(--gbs-ring-a);outline-offset:3px; }
.gbs-root .gbs-seo__excerpt { padding:0 !important; margin:6px 0 0 !important; color:inherit !important; opacity:.78; font-size:13px !important; line-height:1.55 !important; font-weight:400; overflow-wrap:anywhere; }
.gbs-root .gbs-seo__date { display:block; margin-top:6px; opacity:.60; font-size:11px;line-height:1.4; }
.gbs-root .gbs-seo__archive { display:inline-flex !important; gap:8px; margin-top:13px; font-size:12px !important; font-weight:650; line-height:1.5; color:inherit !important; text-decoration:underline !important; text-underline-offset:3px; }

/* 1.7.1: optional on-page image diagnostics in lightbox (candidate list + disk check). */
.gbs-preview__debug { position:absolute;z-index:9;left:14px;right:14px;top:68px;
 padding:8px 10px;border-radius:8px;background:rgba(8,39,27,.9);font:500 11px/1.45 monospace;
 color:#e2ffec;overflow-wrap:anywhere;white-space:pre-wrap;max-height:34vh;overflow:auto; }
.gbs-preview__debug.is-error { background:rgba(90,17,21,.93);color:#fff5f5; }
.gbs-preview__debug[hidden] {display:none !important;}


/* ========================================================================
   1.8.3 — INDEPENDENT SYSTEM TYPOGRAPHY
   Scope is limited to module root, body-portaled tooltip and native modal.
   Values are per instance; the JS portal copies only that instance's vars.
   Do NOT use external webfonts, html/body selectors or a global CSS reset.
   ======================================================================== */
.gbs-root,
.gbs-tooltip,
.gbs-viewer {
  --gbs-type-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-family: var(--gbs-type-family) !important;
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  font-kerning: normal;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
/* Prevent Gridbox and Joomla global styles from changing fonts INSIDE our UI. */
.gbs-root *,
.gbs-tooltip *,
.gbs-viewer * {
  font-family: var(--gbs-type-family) !important;
  font-style: normal !important;
}
.gbs-root :is(p,li,ul,ol,span,small,time),
.gbs-tooltip :is(span,small),
.gbs-viewer :is(p,li,ul,ol,small,time) {
  text-indent: 0 !important;
  word-spacing: normal !important;
}

/* Circle caption and hover tooltip. */
.gbs-root .gbs-story__link {
  font-size: var(--gbs-type-circle-caption,10px) !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.gbs-root .gbs-caption {
  font-size: var(--gbs-type-circle-caption,10px) !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.gbs-tooltip { line-height: 1.35 !important; letter-spacing: normal !important; text-transform: none !important; }
.gbs-tooltip .gbs-tooltip__heading {
  font-size: var(--gbs-type-tip-heading,13px) !important;
  line-height: 1.4 !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.gbs-tooltip .gbs-tooltip__subtitle {
  font-size: var(--gbs-type-tip-subtitle,11px) !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 3px 0 0 !important;
  padding: 0 !important;
}

/* Stories: consistent text-scale independent of element tag.
   Paragraphs and list items intentionally share the same size and leading. */
.gbs-viewer .gbs-preview-stage,
.gbs-viewer .gbs-preview,
.gbs-viewer .gbs-preview__text {
  font-size: var(--gbs-type-story-body,14px) !important;
  line-height: var(--gbs-type-story-line,1.55) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.gbs-viewer .gbs-preview .gbs-preview__heading,
.gbs-viewer .gbs-preview__text :is(h1,h2,h3,h4,h5,h6) {
  color: #fff !important;
  font-size: var(--gbs-type-story-heading,28px) !important;
  line-height: var(--gbs-type-story-heading-line,1.2) !important;
  font-weight: 750 !important;
  letter-spacing: -.02em !important;
  text-transform: none !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}
.gbs-viewer .gbs-preview .gbs-preview__excerpt,
.gbs-viewer .gbs-preview__text :is(p,ul,ol,li,blockquote,div:not(.gbs-preview__button)) {
  font-size: var(--gbs-type-story-body,14px) !important;
  line-height: var(--gbs-type-story-line,1.55) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-align: left;
}
.gbs-viewer .gbs-preview__text > :is(p,ul,ol,blockquote) { margin: 0 0 16px !important; padding: 0 !important; }
.gbs-viewer .gbs-preview__text .gbs-preview__excerpt { margin: 0 0 22px !important; padding: 0 !important; }
.gbs-viewer .gbs-preview__text :is(ul,ol) {
  display: block !important;
  list-style-position: outside !important;
  padding-left: 1.45em !important;
  padding-inline-start: 1.45em !important;
  margin: 0 0 14px !important;
}
.gbs-viewer .gbs-preview__text ul {list-style-type: disc !important;}
.gbs-viewer .gbs-preview__text ol {list-style-type: decimal !important;}
.gbs-viewer .gbs-preview__text li {
  display: list-item !important;
  list-style: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
}
.gbs-viewer .gbs-preview__text li + li {margin-top: .35em !important;}
.gbs-viewer .gbs-preview__text :is(strong,b) {font-weight: 700 !important;}
.gbs-viewer .gbs-preview__text :is(em,i) {font-style: italic !important;}
.gbs-viewer .gbs-preview .gbs-preview__top {
  font-size: var(--gbs-type-story-label,12px) !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.gbs-viewer .gbs-preview .gbs-preview__button {
  font-size: var(--gbs-type-story-button,13px) !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.gbs-viewer .gbs-preview__button span[aria-hidden] {
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
}
.gbs-viewer .gbs-viewer__counter {font-size: 11px !important;line-height: 1.3 !important;font-weight: 500 !important;letter-spacing: .02em !important;}
/* Buttons with SVG remain independent from font metrics. */
.gbs-viewer button.gbs-viewer__close,
.gbs-viewer button.gbs-viewer__nav {font-size: 0 !important;line-height: 0 !important;}
.gbs-viewer .gbs-preview__debug {font-family: ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace !important;font-size: 11px !important;line-height: 1.45 !important;}
.gbs-viewer .gbs-preview__no-image {font-size: 8rem !important;line-height: 1 !important;}

/* Visible SEO section: heading / links / excerpts / dates under module control. */
.gbs-root .gbs-seo,
.gbs-root .gbs-seo__items,
.gbs-root .gbs-seo__item {
  font-size: var(--gbs-type-seo-excerpt,13px) !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
  font-weight: 400 !important;
  text-transform: none !important;
}
.gbs-root .gbs-seo__heading {
  font-size: var(--gbs-type-seo-heading,20px) !important;
  line-height: 1.3 !important;
  letter-spacing: -.01em !important;
  font-weight: 700 !important;
  text-transform: none !important;
}
.gbs-root .gbs-seo__link {
  font-size: var(--gbs-type-seo-link,14px) !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
  font-weight: 650 !important;
  text-transform: none !important;
}
.gbs-root .gbs-seo__excerpt,
.gbs-root .gbs-seo__item p,
.gbs-root .gbs-seo__item li {
  font-size: var(--gbs-type-seo-excerpt,13px) !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
  font-weight: 400 !important;
  text-transform: none !important;
}
.gbs-root .gbs-seo__date {
  font-size: 11px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}
.gbs-root .gbs-seo__archive {
  font-size: var(--gbs-type-seo-excerpt,13px) !important;
  line-height: 1.5 !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
@media(max-width:600px) {
  .gbs-viewer .gbs-preview__heading {font-size: clamp(22px, 6.4vw, var(--gbs-type-story-heading,28px)) !important;}
}


/* 1.8.4 — softer reveal + desktop Stories carousel, isolated to the owning dialog.
   The browser top layer and independently configured backdrop stay unchanged. */
.gbs-viewer.is-opening[open] {
  animation:gbs-v184-viewer-open var(--gbs-open-duration,480ms) cubic-bezier(.22,.7,.28,1) both !important;
}
@keyframes gbs-v184-viewer-open {
  from { opacity:0; }
  to { opacity:1; }
}
.gbs-viewer.is-opening .gbs-preview-stage[data-gbs-active-stage] .gbs-preview {
  animation:gbs-v184-card-reveal var(--gbs-open-duration,480ms) cubic-bezier(.16,.86,.22,1) both;
}
@keyframes gbs-v184-card-reveal {
  from {opacity:.65;transform:translate3d(0,14px,0) scale(.965);}
  to {opacity:1;transform:translate3d(0,0,0) scale(1);}
}
@media (min-width:960px) and (min-height:600px) {
  .gbs-viewer[data-gbs-carousel="1"] {
    --gbs-carousel-width:min(410px,35vw,calc((100dvh - 70px) * .58));
    --gbs-carousel-height:min(720px,calc(100dvh - 70px));
    --gbs-carousel-step:calc(var(--gbs-carousel-width) * .92 + 28px);
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-viewer__frame {overflow:hidden !important;}
  .gbs-viewer[data-gbs-carousel="1"] .gbs-viewer__frame > .gbs-preview-stage {
    position:absolute !important; inset:auto !important;
    left:50% !important;top:50% !important;
    width:var(--gbs-carousel-width) !important;
    height:var(--gbs-carousel-height) !important;
    min-height:0 !important; padding:0 !important;
    display:block !important;
    transform:translate3d(calc(-50% + var(--gbs-carousel-offset,0px)),-50%,0) scale(var(--gbs-carousel-scale,1)) !important;
    opacity:var(--gbs-carousel-opacity,1) !important;
    filter:brightness(var(--gbs-carousel-brightness,1)) !important;
    transition:
      transform var(--gbs-carousel-duration,580ms) cubic-bezier(.19,.8,.22,1),
      opacity var(--gbs-carousel-duration,580ms) ease,
      filter var(--gbs-carousel-duration,580ms) ease !important;
    pointer-events:auto !important;
    will-change:transform,opacity;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-viewer__frame > .gbs-preview-stage .gbs-preview {
    width:100% !important;height:100% !important;min-height:0 !important;
    max-height:none !important;max-width:none !important;
    border-radius:18px !important;
    pointer-events:auto !important;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview-stage[data-gbs-slot="0"] {
    --gbs-carousel-offset:0px;--gbs-carousel-scale:1;
    --gbs-carousel-opacity:1;--gbs-carousel-brightness:1;
    z-index:5 !important;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview-stage[data-gbs-slot="-1"] {
    --gbs-carousel-offset:calc(-1 * var(--gbs-carousel-step));--gbs-carousel-scale:.79;
    --gbs-carousel-opacity:.93;--gbs-carousel-brightness:.90;z-index:4 !important;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview-stage[data-gbs-slot="1"] {
    --gbs-carousel-offset:var(--gbs-carousel-step);--gbs-carousel-scale:.79;
    --gbs-carousel-opacity:.93;--gbs-carousel-brightness:.90;z-index:4 !important;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview-stage[data-gbs-slot="-2"] {
    --gbs-carousel-offset:calc(-2 * var(--gbs-carousel-step));--gbs-carousel-scale:.70;
    --gbs-carousel-opacity:0;--gbs-carousel-brightness:.65;z-index:2 !important;
    pointer-events:none !important;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview-stage[data-gbs-slot="2"] {
    --gbs-carousel-offset:calc(2 * var(--gbs-carousel-step));--gbs-carousel-scale:.70;
    --gbs-carousel-opacity:0;--gbs-carousel-brightness:.65;z-index:2 !important;
    pointer-events:none !important;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview-stage:not([data-gbs-slot="0"]) .gbs-preview {
    cursor:pointer !important;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview-stage:not([data-gbs-slot="0"]) :is(.gbs-preview__text,.gbs-preview__progress,.gbs-preview__top,.gbs-preview__debug) {
    opacity:0 !important;pointer-events:none !important;
    transition:opacity .2s ease !important;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview-stage[data-gbs-slot="0"] :is(.gbs-preview__text,.gbs-preview__progress,.gbs-preview__top) {
    opacity:1;transition:opacity .22s ease .1s !important;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-viewer__frame.gbs-carousel-instant > .gbs-preview-stage {
    transition:none !important;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-viewer__nav--prev {
    left:max(12px,calc(50% - var(--gbs-carousel-width) / 2 - 59px)) !important;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-viewer__nav--next {
    right:max(12px,calc(50% - var(--gbs-carousel-width) / 2 - 59px)) !important;
  }
}
@media(prefers-reduced-motion:reduce) {
  .gbs-viewer.is-opening[open],.gbs-viewer.is-opening .gbs-preview {animation:none !important;}
  .gbs-viewer[data-gbs-carousel="1"] .gbs-viewer__frame > .gbs-preview-stage {transition:none !important;}
}


/* 1.8.5 — readable neighboring cards: Instagram-style round cover + title.
   The teaser follows the original moving card, without a second overlay dialog. */
.gbs-preview__side-teaser { display:none; }
@media (min-width:960px) and (min-height:600px) {
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview-stage .gbs-preview__side-teaser {
    position:absolute !important;
    z-index:8 !important;
    left:0 !important; right:0 !important; bottom:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:12px !important;
    padding:60px 20px 38px !important;
    background:linear-gradient(180deg,transparent 0%,rgba(4,10,18,.08) 9%,rgba(4,10,18,.77) 75%,rgba(4,10,18,.9) 100%) !important;
    color:#fff !important;
    text-shadow:0 2px 9px rgba(0,0,0,.32);
    text-align:center !important;
    pointer-events:none !important;
    opacity:1 !important;
    transform:translateY(0) !important;
    transition:opacity .22s ease,transform .28s ease !important;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview-stage[data-gbs-slot="0"] .gbs-preview__side-teaser,
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview-stage:is([data-gbs-slot="-2"],[data-gbs-slot="2"]) .gbs-preview__side-teaser {
    opacity:0 !important;
    transform:translateY(12px) !important;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview__side-thumb {
    width:64px !important;height:64px !important;
    flex:0 0 64px !important;
    overflow:hidden !important;
    display:grid !important;place-items:center !important;
    border-radius:50% !important;
    border:3px solid rgba(255,255,255,.95) !important;
    box-shadow:0 5px 22px rgba(0,0,0,.45) !important;
    background:linear-gradient(145deg,#2e5365,#0c1d32) !important;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview__side-thumb::after {
    content:'✦';font-size:21px;opacity:.65;
    grid-area:1/1;display:none;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview__side-thumb.is-fallback::after{display:block;}
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview__side-thumb img {
    display:block !important;
    width:100% !important;height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
    margin:0 !important;padding:0 !important;
    border-radius:50% !important;
  }
  .gbs-viewer[data-gbs-carousel="1"] .gbs-preview__side-title {
    display:-webkit-box !important;
    -webkit-line-clamp:3 !important;-webkit-box-orient:vertical !important;
    overflow:hidden !important;
    max-width:260px !important;
    font-family:var(--gbs-type-family,system-ui,Arial,sans-serif) !important;
    font-size:clamp(15px,1.35vw,18px) !important;
    font-weight:700 !important;
    line-height:1.35 !important;
    letter-spacing:-.01em !important;
    text-transform:none !important;
    overflow-wrap:anywhere !important;
    color:#fff !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  .gbs-viewer .gbs-preview__side-teaser { transition:none !important; }
}
