.gu-blog-carousel,.gu-blog-carousel *{box-sizing:border-box}.gu-blog-carousel{--gu-blog-columns:3;--gu-blog-gap:28px;--gu-blog-top-bg:#e9e3da;--gu-blog-bottom-bg:#fff;--gu-blog-split:55%;width:100%;padding:56px 24px 48px;overflow:hidden;background:linear-gradient(to bottom,var(--gu-blog-top-bg) 0,var(--gu-blog-top-bg) var(--gu-blog-split),var(--gu-blog-bottom-bg) var(--gu-blog-split),var(--gu-blog-bottom-bg) 100%);font-family:"Plus Jakarta Sans",sans-serif}.gu-blog-carousel__inner{width:100%;max-width:1080px;margin:0 auto}.gu-blog-carousel__header{margin:0 0 56px;text-align:center}.gu-blog-carousel__header h2{margin:0;color:#111;font-family:"Outfit","Plus Jakarta Sans",sans-serif;font-size:36px;font-weight:600;line-height:1.15;letter-spacing:-.025em}.gu-blog-carousel__header span{display:block;width:120px;height:1px;margin:24px auto 0;background:#5c5c5c}.gu-blog-carousel__viewport{width:100%;overflow:hidden}.gu-blog-carousel__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--gu-blog-gap) * (var(--gu-blog-columns) - 1))) / var(--gu-blog-columns));align-items:stretch;gap:var(--gu-blog-gap);padding:0 0 8px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-overflow-scrolling:touch}.gu-blog-carousel__track::-webkit-scrollbar{display:none}.gu-blog-carousel__track.is-pointer-down,.gu-blog-carousel__track.is-dragging{cursor:grabbing}.gu-blog-carousel__track.is-dragging{scroll-behavior:auto!important;scroll-snap-type:none!important}.gu-blog-card{display:flex;min-width:0;height:100%;flex-direction:column;overflow:hidden;background:#fff;scroll-snap-align:start}.gu-blog-card__image{position:relative;display:block;width:100%;aspect-ratio:1.95/1;overflow:hidden;background:#dfe6e4;text-decoration:none}.gu-blog-card__image img{display:block!important;width:100%!important;min-width:100%!important;max-width:none!important;height:100%!important;min-height:100%!important;max-height:none!important;margin:0!important;object-fit:cover!important;object-position:center!important;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;transition:transform .24s ease}.gu-blog-card__image:hover img{transform:scale(1.025)}.gu-blog-card__placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,rgba(194,237,122,.4),transparent 34%),linear-gradient(145deg,#056983,#003f4c)}.gu-blog-card__placeholder span{color:#fff;font-family:"Outfit",sans-serif;font-size:26px;font-weight:800}.gu-blog-card__body{display:flex;min-height:148px;padding:24px 40px 0;flex:1 1 auto;flex-direction:column;align-items:flex-start;background:#fff}.gu-blog-card__meta{display:-webkit-box;margin:0 0 8px;overflow:hidden;color:#5f5f5f;font-size:12px;font-weight:400;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.gu-blog-card h3{width:100%;margin:0 0 20px;font-family:"Plus Jakarta Sans",sans-serif;font-size:17px;font-weight:700;line-height:1.35}.gu-blog-card h3 a{display:-webkit-box;overflow:hidden;color:#111;text-decoration:none;-webkit-box-orient:vertical;-webkit-line-clamp:1}.gu-blog-card__button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;margin-top:auto;padding:8px 15px;border-radius:4px;background:#efefef;color:#222;font-size:12px;font-weight:500;line-height:1;text-decoration:none;transition:background-color .18s ease,color .18s ease}.gu-blog-card__button:hover{background:#056983;color:#fff}.gu-blog-carousel__empty{padding:28px;border:1px dashed #c7d3d3;background:#fff;color:#60767b;text-align:center}@media(max-width:1024px){.gu-blog-carousel{--gu-blog-columns:2;--gu-blog-gap:22px}.gu-blog-card__body{padding-right:22px;padding-left:22px}}@media(max-width:767px){.gu-blog-carousel{--gu-blog-columns:1;--gu-blog-gap:16px;--gu-blog-split:57%;padding:42px 29px}.gu-blog-carousel__header{margin-bottom:39px}.gu-blog-carousel__header h2{font-size:27px}.gu-blog-carousel__header span{width:116px;margin-top:21px}.gu-blog-carousel__track{grid-auto-columns:100%}.gu-blog-card__image{aspect-ratio:1.92/1}.gu-blog-card__body{min-height:150px;padding:17px 29px 0}.gu-blog-card__meta{margin-bottom:5px;font-size:10px;line-height:1.3}.gu-blog-card h3{margin-bottom:17px;font-size:13px}.gu-blog-card__button{min-height:31px;padding:7px 12px;font-size:10px}}


/* v1.0.1 — Green Upshot header alignment and colour update */
.gu-blog-carousel {
  --gu-blog-top-bg: #F9F8F4 !important;
}

.gu-blog-carousel__header {
  max-width: none;
  margin: 0 0 48px;
  text-align: left !important;
}

.gu-blog-carousel__header h2 {
  margin: 0;
  color: #003F4C !important;
  font-family: "Outfit", "Plus Jakarta Sans", sans-serif !important;
  font-size: 42px;
  font-weight: 800 !important;
  line-height: 1.12;
  letter-spacing: -0.035em;
  text-align: left !important;
}

.gu-blog-carousel__header span {
  width: 74px;
  height: 2px;
  margin: 17px 0 0;
  background: #056983 !important;
}

@media (max-width: 767px) {
  .gu-blog-carousel__header {
    margin-bottom: 34px;
    text-align: left !important;
  }

  .gu-blog-carousel__header h2 {
    font-size: 32px;
    line-height: 1.12;
    text-align: left !important;
  }

  .gu-blog-carousel__header span {
    width: 64px;
    margin: 14px 0 0;
  }
}

/* v1.0.2 — dynamic excerpt, tighter spacing and responsive dots */
.gu-blog-card__body{
  min-height:218px;
  padding:22px 28px 24px;
}

.gu-blog-card__meta{
  margin-bottom:7px;
}

.gu-blog-card h3{
  margin-bottom:10px;
  font-size:17px;
  line-height:1.38;
}

.gu-blog-card h3 a{
  -webkit-line-clamp:2;
}

.gu-blog-card__excerpt{
  display:-webkit-box;
  width:100%;
  margin:0 0 19px;
  overflow:hidden;
  color:#66797D;
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:13px;
  font-weight:400;
  line-height:1.58;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.gu-blog-card__button{
  margin-top:auto;
}

.gu-blog-carousel__dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:9px;
  margin:20px 0 0;
}

.gu-blog-carousel__dots[hidden]{
  display:none!important;
}

.gu-blog-carousel__dot{
  display:block;
  width:7px;
  height:7px;
  min-width:7px;
  margin:0;
  padding:0;
  border:0;
  border-radius:999px;
  background:#C9D7D8;
  box-shadow:none;
  cursor:pointer;
  transition:width .2s ease,background-color .2s ease,transform .2s ease;
}

.gu-blog-carousel__dot:hover,
.gu-blog-carousel__dot:focus-visible{
  background:#7FA4AA;
  outline:none;
  transform:scale(1.08);
}

.gu-blog-carousel__dot.is-active{
  width:20px;
  background:#056983;
}

@media(max-width:1024px){
  .gu-blog-card__body{
    min-height:210px;
    padding:20px 22px 22px;
  }
}

@media(max-width:767px){
  .gu-blog-carousel{
    padding-bottom:38px;
  }

  .gu-blog-card__body{
    min-height:190px;
    padding:14px 20px 20px;
  }

  .gu-blog-card__meta{
    margin-bottom:5px;
    font-size:10px;
  }

  .gu-blog-card h3{
    margin-bottom:8px;
    font-size:13px;
    line-height:1.42;
  }

  .gu-blog-card__excerpt{
    margin-bottom:15px;
    font-size:11px;
    line-height:1.55;
  }

  .gu-blog-card__button{
    min-height:32px;
    padding:8px 13px;
    font-size:10px;
  }

  .gu-blog-carousel__dots{
    margin-top:16px;
  }
}

/* =========================================================
   V1.0.4 — SMOOTH NATIVE MOBILE SWIPING
   ========================================================= */

.gu-blog-carousel__track {
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
}

.gu-blog-carousel__track::-webkit-scrollbar {
  display: none;
}

@media (max-width: 767px) {
  .gu-blog-carousel__track {
    /*
     * Native browser scrolling provides momentum and avoids the sticky feel
     * caused by custom pointer capture.
     */
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    cursor: grab;
  }

  .gu-blog-card {
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }

  .gu-blog-carousel__track.is-pointer-down,
  .gu-blog-carousel__track.is-dragging {
    cursor: grabbing;
  }
}
