/**
* Project: EU Cookie Law Add-On
*
* @copyright 2017 Fabian Bitter
* @author Fabian Bitter (fabian@bitter.de)
* @version 1.0
*/
.cookie-disclosure {
  position: fixed;
  bottom: 0px;
  left: 0px;
  right: 0px;
  background: red;
  padding: 25px;
  z-index: 9999;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  /* RTL support */
}
.cookie-disclosure.top {
  top: 0px;
  bottom: initial;
}
.cookie-disclosure .info-container {
  display: block;
  float: left;
  width: 100%;
  margin-bottom: 25px;
}
.cookie-disclosure .info-container .message {
  font-weight: 400;
  font-size: 15px;
  text-align: center;
  margin: 0;
}
.cookie-disclosure .info-container .message .privacy-link {
  font-weight: 400;
  font-size: 15px;
  margin-left: 10px;
  text-decoration: underline;
}
.cookie-disclosure .buttons-container {
  display: block;
  float: left;
  width: 100%;
  clear: both;
}
.cookie-disclosure .buttons-container.single-button .btn {
  width: 100%;
  margin: 0%;
}
.cookie-disclosure .buttons-container .btn {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  -webkit-box-shadow: inset 0 0 0 transparent;
  box-shadow: inset 0 0 0 transparent;
  display: block;
  float: left;
  text-align: center;
  height: 35px;
  line-height: 35px;
  border: 1px solid transparent;
  width: 47.5%;
  font-size: 15px;
  font-weight: 400;
  text-decoration: none;
  opacity: 0.90;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding: 0;
  cursor: pointer;
}
.cookie-disclosure .buttons-container .btn:hover {
  text-decoration: none;
  opacity: 1;
}
.cookie-disclosure .buttons-container .btn:first-child {
  margin-right: 2.5%;
}
.cookie-disclosure .buttons-container .btn:last-child {
  margin-left: 2.5%;
}
@media screen and (max-width: 450px) {
  .cookie-disclosure .buttons-container .btn {
    width: 100%;
  }
  .cookie-disclosure .buttons-container .btn:first-child {
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 2.5%;
  }
  .cookie-disclosure .buttons-container .btn:last-child {
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (min-width: 1300px) {
  .cookie-disclosure {
    /* RTL support */
  }
  .cookie-disclosure .info-container {
    width: auto;
    margin-bottom: 0;
  }
  .cookie-disclosure .info-container .message {
    height: 35px;
    line-height: 35px;
  }
  .cookie-disclosure .buttons-container {
    width: 340px;
    float: right;
    clear: none;
  }
  .cookie-disclosure .buttons-container .btn {
    width: 160px;
    float: left;
  }
  .cookie-disclosure .buttons-container .btn:first-child {
    margin-right: 10px;
  }
  .cookie-disclosure .buttons-container .btn:last-child {
    margin-left: 10px;
  }
  .cookie-disclosure.rtl .info-container {
    direction: rtl;
  }
  .cookie-disclosure.rtl .buttons-container .btn:first-child {
    margin-right: 0px;
    margin-left: 10px;
  }
  .cookie-disclosure.rtl .buttons-container .btn:last-child {
    margin-left: 0px;
    margin-right: 10px;
  }
}
.cookie-disclosure.rtl .info-container {
  float: right;
}
.cookie-disclosure.rtl .buttons-container {
  float: left;
}
.cookie-disclosure.rtl .buttons-container .btn {
  float: right;
}
.cookie-disclosure.rtl .buttons-container .btn:first-child {
  margin-right: 0px;
  margin-left: 2.5%;
}
.cookie-disclosure.rtl .buttons-container .btn:last-child {
  margin-left: 0px;
  margin-right: 2.5%;
}
@media screen and (max-width: 450px) {
  .cookie-disclosure.rtl .buttons-container .btn {
    width: 100%;
  }
  .cookie-disclosure.rtl .buttons-container .btn:first-child {
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 2.5%;
  }
  .cookie-disclosure.rtl .buttons-container .btn:last-child {
    margin-right: 0;
    margin-left: 0;
  }
}
/*# sourceMappingURL=cookie-disclosure.css.map */

.mfp-zoom-in .mfp-with-anim{opacity:0;transform:scale(.8);transition:all .2s ease-in-out}.mfp-zoom-in.mfp-bg{opacity:0;transition:all .3s ease-out}.mfp-zoom-in.mfp-ready .mfp-with-anim{opacity:1;transform:scale(1)}.mfp-zoom-in.mfp-ready.mfp-bg{opacity:.8}.mfp-zoom-in.mfp-removing .mfp-with-anim{opacity:0;transform:scale(.8)}.mfp-zoom-in.mfp-removing.mfp-bg{opacity:0}.mfp-fade.mfp-bg{opacity:0;transition:all .15s ease-out}.mfp-fade.mfp-bg.mfp-ready{opacity:.8}.mfp-fade.mfp-bg.mfp-removing{opacity:0}.mfp-fade.mfp-wrap .mfp-content{opacity:0;transition:all .15s ease-out}.mfp-fade.mfp-wrap.mfp-ready .mfp-content{opacity:1}.mfp-fade.mfp-wrap.mfp-removing .mfp-content{opacity:0}.mfp-bg{background:#0b0b0b;filter:alpha(opacity=80);opacity:.8;overflow:hidden;z-index:2100}.mfp-bg,.mfp-wrap{height:100%;left:0;position:fixed;top:0;width:100%}.mfp-wrap{-webkit-backface-visibility:hidden;outline:none!important;z-index:2200}.mfp-container{box-sizing:border-box;height:100%;left:0;padding:0 8px;position:absolute;text-align:center;top:0;width:100%}.mfp-container:before{content:"";display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{display:inline-block;margin:0 auto;position:relative;text-align:left;vertical-align:middle;z-index:2400}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{cursor:auto;width:100%}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;left:8px;margin-top:-.8em;position:absolute;right:8px;text-align:center;top:50%;width:auto;z-index:2300}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-error .mfp-content,.mfp-s-ready .mfp-preloader{display:none}button.mfp-arrow,button.mfp-close{-webkit-appearance:none;background:transparent;border:0;box-shadow:none;cursor:pointer;display:block;outline:none;overflow:visible;padding:0;touch-action:manipulation;z-index:2400}button::-moz-focus-inner{border:0;padding:0}.mfp-close{color:#fff;font-family:Arial,Baskerville,monospace;font-size:28px;font-style:normal;height:44px;line-height:44px;opacity:.65;padding:0 0 18px 10px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:44px}.mfp-close:focus,.mfp-close:hover{opacity:1}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;padding-right:6px;right:-6px;text-align:right;width:100%}.mfp-counter{color:#ccc;font-size:12px;line-height:18px;position:absolute;right:0;top:0;white-space:nowrap}.mfp-arrow{-webkit-tap-highlight-color:rgba(0,0,0,0);height:110px;margin:-55px 0 0;opacity:.65;padding:0;position:absolute;top:50%;width:90px}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1}.mfp-arrow:after,.mfp-arrow:before{border:inset transparent;content:"";display:block;height:0;left:0;margin-left:35px;margin-top:35px;position:absolute;top:0;width:0}.mfp-arrow:after{border-bottom-width:13px;border-top-width:13px;top:8px}.mfp-arrow:before{border-bottom-width:21px;border-top-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left:before{border-right:27px solid #3f3f3f;margin-left:25px}.mfp-arrow-right{right:0}.mfp-arrow-right:after{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-bottom:40px;padding-top:40px}.mfp-iframe-holder .mfp-content{line-height:0;max-width:900px;width:100%}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{height:0;overflow:hidden;padding-top:56.25%;width:100%}.mfp-iframe-scaler iframe{background:#000;box-shadow:0 0 8px rgba(0,0,0,.6);display:block;height:100%;left:0;position:absolute;top:0;width:100%}img.mfp-img{box-sizing:border-box;display:block;height:auto;margin:0 auto;max-width:100%;padding:40px 0;width:auto}.mfp-figure,img.mfp-img{line-height:0}.mfp-figure:after{background:#444;bottom:40px;box-shadow:0 0 8px rgba(0,0,0,.6);content:"";display:block;height:auto;left:0;position:absolute;right:0;top:40px;width:auto;z-index:-1}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{cursor:auto;left:0;margin-top:-36px;position:absolute;top:100%;width:100%}.mfp-title{word-wrap:break-word;color:#f3f3f3;line-height:18px;padding-right:36px;text-align:left}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-height:300px),screen and (max-width:800px)and (orientation:landscape){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{bottom:0;top:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;box-sizing:border-box;margin:0;padding:3px 5px;position:fixed;top:auto}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{background:rgba(0,0,0,.6);height:35px;line-height:35px;padding:0;position:fixed;right:0;text-align:center;top:0;width:35px}}@media (max-width:900px){.mfp-arrow{transform:scale(.75)}.mfp-arrow-left{transform-origin:0}.mfp-arrow-right{transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}div.ccm-lightbox-popup-white{background-color:#fff;border-radius:10px;margin:0 auto;max-width:600px;padding:20px 60px 20px 20px;position:relative}.ccm-block-gallery a{position:relative}.ccm-block-gallery .ccm-block-gallery-image-overlay,.ccm-block-gallery .ccm-block-gallery-image-overlay-color,.ccm-block-gallery .ccm-block-gallery-image-overlay-text{height:100%;left:0;position:absolute;top:0;width:100%}.ccm-block-gallery .ccm-block-gallery-image-overlay{opacity:0;transition:opacity .3s}.ccm-block-gallery .ccm-block-gallery-image-overlay-color{background-color:rgba(13,110,253,.8)}.ccm-block-gallery .ccm-block-gallery-image-overlay-text{align-items:center;color:#fff;display:flex;flex-direction:column;font-weight:700;justify-content:center}.ccm-block-gallery .ccm-block-gallery-image{cursor:pointer;overflow:hidden;padding-top:calc(3.125rem + 22.5vw);position:relative;width:100%}@media(min-width:1200px){.ccm-block-gallery .ccm-block-gallery-image{padding-top:20rem}}.ccm-block-gallery img{bottom:-9999px;height:100%;left:-9999px;margin:auto;-o-object-fit:cover;object-fit:cover;position:absolute;right:-9999px;top:-9999px;width:100%}.ccm-block-gallery a:hover .ccm-block-gallery-image-overlay{opacity:1}/*! http://responsiveslides.com v1.55 by @viljamis */.rslides{list-style:none;margin:0;overflow:hidden;padding:0;position:relative;width:100%}.rslides>li{backface-visibility:hidden;display:none;left:0;margin-bottom:0!important;position:absolute;top:0;width:100%}.rslides>li:first-child{display:block;float:left;position:relative}.rslides img{border:0;display:block;float:left;height:auto;width:100%}.rslides_nav{-webkit-tap-highlight-color:rgba(0,0,0,0);background:transparent url("data:image/gif;base64,R0lGODlhTAA9AMQAABAQEDAwMO/v78/Pz7+/v39/f6+vr1BQUCAgIGBgYJ+fn0BAQN/f33BwcI+Pj////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAABMAD0AAAXkICSOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Fog4NsiAYTHY8ALPwiAImAgFi90gfY4PVTIyTuzWDEsyAUIPAACcgVBCXIPbz1xcgk/AYRthj8Nf1yCkmIGQnZtAnQ6eg8MoT9rcgQ7jW2YQqxirjeDcg5Efp+mNweJj0G8cgc9uGICsjyRhT+eYqU+qG2cp2zRPsxzQbSTPJafga+aD984CImLQ4itOuVtvkULBgTCOwcGBvNZ+fr7/P3+/wADChxIsKDBgwgTKlzIsKFDKSEAADs=") no-repeat 0 0;height:61px;left:0;margin-top:-45px;opacity:.7;overflow:hidden;position:absolute;text-decoration:none;top:50%;width:38px;z-index:99}.rslides_tabs{padding-bottom:10px;padding-left:0;padding-top:0}.rslides_tabs li{display:inline-block;list-style-type:none;margin-right:5px}.rslides_tabs li.rslides_here a{background:#333}.rslides_tabs li a{background:#ccccc9;border-radius:30px;display:inline-block;height:15px;margin-right:10px;overflow:hidden;text-indent:-9999px;width:15px}.rslides_nav.next{background-position:100% 0;left:auto;right:0}/*! http://responsiveslides.com v1.54 by @viljamis */.ccm-image-slider{position:relative}.ccm-image-slider-text{clear:both;padding-top:1rem}.ccm-image-slider-title{margin-bottom:1rem}.rslides{margin:0 auto}a.mega-link-overlay{height:100%;left:0;position:absolute;width:100%;z-index:20}div.ccm-block-hero-image{min-height:50vh;position:relative}div.ccm-block-hero-image div.ccm-block-hero-image-cover,div.ccm-block-hero-image div.ccm-block-hero-image-text{height:50vh;left:0;position:absolute;top:0;width:100%}div.ccm-block-hero-image div.ccm-block-hero-image-text{align-items:center;display:flex;flex-direction:column;justify-content:center}div.ccm-block-hero-image div.ccm-block-hero-image-cover{z-index:2}div.ccm-block-hero-image div.ccm-block-hero-image-text{z-index:3}div.ccm-block-hero-image div.ccm-block-hero-image-image{background-position:50%;background-size:cover;height:50vh;z-index:1}


/* ═══════════════════════════════════════════════════════════════
   IMAGE GROUP — LAYOUT TEMPLATES (igx)
   Templates: grid, feature_left, feature_right, feature_center,
              feature_top, staggered, strip
   Uses site tokens from main.css with fallbacks.
   Mobile first: < 768px is a 2-column flow; >= 768px is a 12-column grid.
   ═══════════════════════════════════════════════════════════════ */

.igx {
  --igx-gap: clamp(1rem, 2.4vw, 2rem);
  --igx-radius: var(--radius-lg, 1.5rem);
  --igx-pad: var(--space-md, 1.5rem);
  --igx-offset: clamp(2rem, 7vw, 7rem);
  --igx-strip-h: 62vw;
  margin: clamp(3rem, 8vw, var(--space-2xl, 10rem)) 0;
}

.igx--gap-tight { --igx-gap: 0.5rem; --igx-radius: var(--radius-md, 0.75rem); }
.igx--gap-none  { --igx-gap: 0px;    --igx-radius: 0px; }

/* —— Width: break out of the text column (same idea as .case-image-breakout) —— */
.igx--w-wide { --igx-w: min(1250px, calc(100vw - 2 * var(--igx-pad))); }
.igx--w-full { --igx-w: 100vw; --igx-radius: 0px; }

/* Doubled class for specificity over theme/Bootstrap rules (.row > *, .ccm-page div…).
   min-width + flex-shrink stop a flex parent (Concrete edit wrappers, Bootstrap .row)
   from squeezing the group back down to the column. */
.igx.igx--w-wide,
.igx.igx--w-full {
  position: relative;
  box-sizing: border-box;
  width: var(--igx-w);
  min-width: var(--igx-w);
  max-width: none;
  flex: 0 0 auto;
  align-self: flex-start;
  margin-left: calc(50% - var(--igx-w) / 2);
  margin-right: 0;
}

/* —— Items —— */
.igx-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--igx-gap);
}

.igx-item {
  margin: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.igx-media {
  position: relative;
  overflow: hidden;
  border-radius: var(--igx-radius);
  background: var(--color-bg-secondary, #E8E6DC);
}

.igx-media img {
  display: block;
  width: 100%;
  height: auto;
}

/* Fixed shape: crop to --igx-r */
.igx--fixed .igx-media { aspect-ratio: var(--igx-r); }
.igx--fixed .igx-media img {
  position: absolute;
  inset: 0;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Natural shape: no crop, tops align */
.igx--natural .igx-inner { align-items: start; }

.igx figcaption {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--color-text-muted, #3B3E46);
  font-style: italic;
  text-align: center;
}
.igx--w-full figcaption { padding: 0 var(--igx-pad); }

/* Feature image shape when it can't borrow height from neighbours (mobile, Feature Top) */
.igx--fixed .igx-item--feature .igx-media { aspect-ratio: var(--igx-fr, var(--igx-r)); }

/* Reveal (AOS opt-in) — respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .igx-item[data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   MOBILE  (< 768px)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {

  /* Single image always full width */
  .igx[data-count="1"] .igx-item { grid-column: 1 / -1; }

  /* Grid: odd counts lead with one full-width image */
  .igx--grid[data-count="3"] .igx-item:first-child,
  .igx--grid[data-count="5"] .igx-item:first-child { grid-column: 1 / -1; }

  /* Feature layouts: feature on top, the rest in pairs, a leftover single goes full */
  .igx-item--feature { grid-column: 1 / -1; }
  .igx--feature-left[data-count="2"] .igx-item:last-child,
  .igx--feature-left[data-count="4"] .igx-item:last-child,
  .igx--feature-right[data-count="2"] .igx-item:last-child,
  .igx--feature-right[data-count="4"] .igx-item:last-child,
  .igx--feature-center[data-count="2"] .igx-item:last-child,
  .igx--feature-center[data-count="4"] .igx-item:last-child,
  .igx--feature-top[data-count="2"] .igx-item:last-child,
  .igx--feature-top[data-count="4"] .igx-item:last-child { grid-column: 1 / -1; }

  /* Staggered: one column, alternating inset */
  .igx--staggered .igx-inner { grid-template-columns: minmax(0, 1fr); }
  .igx--staggered .igx-item:nth-child(odd)  { margin-right: 12%; }
  .igx--staggered .igx-item:nth-child(even) { margin-left: 12%; }
  .igx--staggered[data-count="1"] .igx-item { margin: 0; }

  /* Strip: horizontal swipe, bleeds to the screen edge */
  .igx--strip .igx-inner {
    display: flex;
    align-items: flex-start;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 0.25rem;
  }
  .igx--strip .igx-inner::-webkit-scrollbar { display: none; }
  .igx--strip:not(.igx--w-full) .igx-inner {
    margin: 0 calc(-1 * var(--igx-pad));
    padding-left: var(--igx-pad);
    padding-right: var(--igx-pad);
    scroll-padding: 0 var(--igx-pad);
  }
  .igx--strip .igx-item {
    flex: 0 0 auto;
    width: calc(var(--igx-strip-h) * var(--igx-ar));
    max-width: 85%;
    scroll-snap-align: start;
  }
  .igx--strip[data-count="1"] .igx-item { width: 100%; max-width: none; }
}

/* Strip shape source (natural ratios, or the chosen fixed shape) */
.igx--strip.igx--natural .igx-item { --igx-ar: var(--ar); }
.igx--strip.igx--fixed .igx-item   { --igx-ar: var(--igx-r); }


/* ═══════════════════════════════════════════════════════════════
   DESKTOP  (>= 768px) — 12-column grid
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 768px) {

  .igx-inner { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .igx-item  { grid-column: span 12; }

  /* —— GRID: even tiles, count-aware ——————————————————————————
     2 → halves · 3 → thirds · 4 → 2×2 (4-up when wide/full)
     5 → 3 over 2 · 6+ → thirds                                    */
  .igx--grid .igx-item                                   { grid-column: span 4; }
  .igx--grid[data-count="1"] .igx-item                   { grid-column: span 12; }
  .igx--grid[data-count="2"] .igx-item,
  .igx--grid[data-count="4"] .igx-item                   { grid-column: span 6; }
  .igx--grid[data-count="5"] .igx-item:nth-child(n+4)    { grid-column: span 6; }

  /* —— FEATURE LEFT / RIGHT ——————————————————————————————————
     The feature takes no shape of its own: it stretches to the
     height of the tiles beside it, so rows always square up.      */
  .igx--feature-left .igx-inner,
  .igx--feature-right .igx-inner,
  .igx--feature-center .igx-inner { grid-auto-flow: row dense; }

  .igx--feature-left .igx-item--feature .igx-media,
  .igx--feature-right .igx-item--feature .igx-media,
  .igx--feature-center .igx-item--feature .igx-media {
    aspect-ratio: auto;
    flex: 1 1 auto;
    min-height: 8rem;
  }

  .igx--feature-left .igx-item,
  .igx--feature-right .igx-item                          { grid-column: span 3; }

  /* 2 images: 7 + 5 */
  .igx--feature-left[data-count="2"] .igx-item--feature  { grid-column: 1 / span 7; }
  .igx--feature-right[data-count="2"] .igx-item--feature { grid-column: span 7 / -1; }
  .igx--feature-left[data-count="2"] .igx-item:not(.igx-item--feature),
  .igx--feature-right[data-count="2"] .igx-item:not(.igx-item--feature) { grid-column: span 5; }

  /* 3 images: feature 8 wide over two stacked tiles */
  .igx--feature-left[data-count="3"] .igx-item--feature  { grid-column: 1 / span 8; grid-row: 1 / span 2; }
  .igx--feature-right[data-count="3"] .igx-item--feature { grid-column: span 8 / -1; grid-row: 1 / span 2; }
  .igx--feature-left[data-count="3"] .igx-item:not(.igx-item--feature),
  .igx--feature-right[data-count="3"] .igx-item:not(.igx-item--feature) { grid-column: span 4; }

  /* 4, 5, 6+ images: feature is half, tiles make a 2×2 beside it */
  .igx--feature-left[data-count="4"] .igx-item--feature,
  .igx--feature-left[data-count="5"] .igx-item--feature,
  .igx--feature-left[data-count="many"] .igx-item--feature  { grid-column: 1 / span 6; grid-row: 1 / span 2; }
  .igx--feature-right[data-count="4"] .igx-item--feature,
  .igx--feature-right[data-count="5"] .igx-item--feature,
  .igx--feature-right[data-count="many"] .igx-item--feature { grid-column: span 6 / -1; grid-row: 1 / span 2; }

  /* 4 images: the third tile runs the full half, at double width so rows match */
  .igx--feature-left[data-count="4"] .igx-item:last-child,
  .igx--feature-right[data-count="4"] .igx-item:last-child { grid-column: span 6; }
  .igx--feature-left[data-count="4"] .igx-item:last-child .igx-media,
  .igx--feature-right[data-count="4"] .igx-item:last-child .igx-media { aspect-ratio: calc(var(--igx-r) * 2); }

  /* —— FEATURE CENTER ————————————————————————————————————————
     Feature in the middle six columns, tiles flank both sides.    */
  .igx--feature-center .igx-item { grid-column: span 3; }

  .igx--feature-center[data-count="2"] .igx-item--feature { grid-column: 1 / span 7; }
  .igx--feature-center[data-count="2"] .igx-item:last-child { grid-column: span 5; }

  .igx--feature-center[data-count="3"] .igx-item--feature,
  .igx--feature-center[data-count="4"] .igx-item--feature,
  .igx--feature-center[data-count="5"] .igx-item--feature,
  .igx--feature-center[data-count="many"] .igx-item--feature { grid-column: 4 / span 6; grid-row: 1; }

  /* 3: tall tiles either side */
  .igx--feature-center[data-count="3"] .igx-item:nth-child(2) { grid-column: 1 / span 3; grid-row: 1; }
  .igx--feature-center[data-count="3"] .igx-item:nth-child(3) { grid-column: 10 / span 3; grid-row: 1; }
  .igx--feature-center[data-count="3"] .igx-item:not(.igx-item--feature) .igx-media { aspect-ratio: calc(var(--igx-r) / 2); }

  /* 4, 5, 6+: stacked pairs (4 has a single tall tile on the right) */
  .igx--feature-center[data-count="4"] .igx-item--feature,
  .igx--feature-center[data-count="5"] .igx-item--feature,
  .igx--feature-center[data-count="many"] .igx-item--feature { grid-row: 1 / span 2; }

  .igx--feature-center[data-count="4"] .igx-item:nth-child(2),
  .igx--feature-center[data-count="5"] .igx-item:nth-child(2),
  .igx--feature-center[data-count="many"] .igx-item:nth-child(2) { grid-column: 1 / span 3; grid-row: 1; }
  .igx--feature-center[data-count="4"] .igx-item:nth-child(3),
  .igx--feature-center[data-count="5"] .igx-item:nth-child(3),
  .igx--feature-center[data-count="many"] .igx-item:nth-child(3) { grid-column: 1 / span 3; grid-row: 2; }
  .igx--feature-center[data-count="5"] .igx-item:nth-child(4),
  .igx--feature-center[data-count="many"] .igx-item:nth-child(4) { grid-column: 10 / span 3; grid-row: 1; }
  .igx--feature-center[data-count="5"] .igx-item:nth-child(5),
  .igx--feature-center[data-count="many"] .igx-item:nth-child(5) { grid-column: 10 / span 3; grid-row: 2; }

  .igx--feature-center[data-count="4"] .igx-item:nth-child(4) { grid-column: 10 / span 3; grid-row: 1 / span 2; }
  .igx--feature-center[data-count="4"] .igx-item:nth-child(4) .igx-media { aspect-ratio: auto; flex: 1 1 auto; }

  /* —— FEATURE TOP ———————————————————————————————————————————
     Feature full width, the rest share one row beneath.           */
  .igx--feature-top .igx-item                               { grid-column: span 3; }
  .igx--feature-top .igx-item--feature                      { grid-column: 1 / -1; }
  .igx--feature-top[data-count="2"] .igx-item:last-child    { grid-column: 5 / -1; }
  .igx--feature-top[data-count="3"] .igx-item:not(.igx-item--feature) { grid-column: span 6; }
  .igx--feature-top[data-count="4"] .igx-item:not(.igx-item--feature) { grid-column: span 4; }

  /* —— STAGGERED —————————————————————————————————————————————
     Editorial pairs, 7/5 then 5/7, the smaller one dropped.
     A lone last image centres on 8 columns.                       */
  .igx--staggered .igx-inner { align-items: start; }
  .igx--staggered .igx-item:nth-child(4n+1) { grid-column: 1 / span 7; }
  .igx--staggered .igx-item:nth-child(4n+2) { grid-column: 8 / span 5; margin-top: var(--igx-offset); }
  .igx--staggered .igx-item:nth-child(4n+3) { grid-column: 1 / span 5; margin-top: var(--igx-offset); }
  .igx--staggered .igx-item:nth-child(4n+4) { grid-column: 6 / span 7; }
  .igx--staggered[data-count="1"] .igx-item,
  .igx--staggered[data-count="3"] .igx-item:last-child,
  .igx--staggered[data-count="5"] .igx-item:last-child { grid-column: 3 / span 8; margin-top: 0; }

  /* —— STRIP —————————————————————————————————————————————————
     One row; widths follow each image's shape so heights match.   */
  .igx--strip .igx-inner {
    display: flex;
    align-items: flex-start;
  }
  .igx--strip .igx-item {
    flex: var(--igx-ar) 1 0%;
  }
}

/* Wide / full: 4 images go 4-up in Grid */
@media (min-width: 992px) {
  .igx--grid.igx--w-wide[data-count="4"] .igx-item,
  .igx--grid.igx--w-full[data-count="4"] .igx-item { grid-column: span 3; }
}


